[addon] Erweiterungsmenü

Bug #370082 reported by Spike
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Return To The Roots
Status tracked in S25client
S25client
Fix Released
Wishlist
FloSoft

Bug Description

Menü um die Erweiterungen zu überblicken und zu organisieren.

Könnte mir das so ungefähr vorstellen: http://www1.picfront.org/picture/3fsGvjOaQpv/img/Addons.png

Tags: all-rev
Revision history for this message
Demophobie (demophobie) wrote :

Hm, ich wär eher für sowas mit Checkboxen. Ne Liste und nebendran immer Checkboxen - und/oder einfache Haken.

Revision history for this message
Spike (fvv1) wrote :

Das ist wohl bei weitem übersichtlicher hab ich mir auch gedacht, aber wie willst du es dann zb regeln wenn man das kata limit variabel machen will? Wenn man den maximalen Aufwertungsgrad einstellen will? Weil dann denke ich, ist eine Liste in dem Format besser.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Das ist mein Vorschlag bisher:
http://people.physik.hu-berlin.de/~kriwanek/v0.7-4837.png

Dieses Fenster wird dynamisch generiert und bekommt später mal ein Scrollfeld und/oder Gruppierungen spendiert. Längere Beschreibungen und Defaultwerte kommen in den Tooltip. Für die Zahleneinstellungen kommt son Klick-Pfeil-Regler, damit man nicht tippen muss. Er kann bis jetzt boolsche, Auswahl- und Integer-Einstellungen

Nachteil dabei ist mE, dass man so keinen Überblick hat, wo _nicht_ die Standardeinstellung ausgewählt ist bzw. dass man nicht das Gefühl hat, Erweiterungen "hinzuzufügen". Daher würde ich evtl später eine solche Liste, wie von Spike vorgeschlagen, in die Game-Hosting-Ansicht einbauen. Die müsste dann ein drittes Feld bekommen, in dem für jede Auswahl auch noch ein Wert eingestellt werden kann.

Im Moment beschäftige ich mich damit die Einstellung in Savegames und im Netzwerkprotokoll unterzubringen, das ist relativ komplex.

Einverstanden? Vorschläge?

Revision history for this message
Demophobie (demophobie) wrote :

Hm man könnte doch zb ne Liste mit Erweiterungen machen + Tooltip dann und neben jeder Erweiterung nen Haken anbieten "Original?".
Bei nicht Haken, geht dann so nen Menü auf unter dem Punkt, wo man was einstellen kann mit Checkboxen etc. So sieht man genau wo Änderungen zum Original durchgeführt wurden.

Mitspielenden Leuten sollte sowas auch sichtbar gemacht werden.

Ich finde diesen Entwurf schon richtig gut. Das geht in die richtige Richtung.

Revision history for this message
Spike (fvv1) wrote :

Zu dem wie Demo gesagt hat, dass man das sieht, darum finde ich ja diese "Zwei-Seiten" Version Praktisch, da eine leere rechte Seite z.B. zeigen würde, dass das Spiel absolut original läuft, wenn man jetzt aber rechts etwas sieht, z.B. wie von Divan als Beispiel gewählt das mit den Wasserwegen, dann könnte man zum einen sehen, was verändert wurde und evtl. über ein weiter draufklicken inwiefern das ganze verändert wurde.

So z.B.

Erweiterung:Wasserweglänge
Original: Vier Felder
Server: Sechs Felder
Information: Begrenzt die maximale Länger der von Siedlern in Booten zurücklegbaren Weglängen auf dem Wasser.

Um zu dieser Liste zu gelangen, könnte man nebenbei einen weiteren Button unten, im Bereich Spielstarten einfügen, der z.B.
"Serverkonfiguration" heißt, wo man dann direkt zu dieser Liste gelangen würde.

Des weiteren wäre eventuell eine "Vote" Funktion Sinnvoll

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

So, der Anfang ist vollbracht.

Jetzt kommt das endgültige Interface. Ich denke, das wird in irgendeiner Form so eine Liste wie vorgeschlagen.

Im Moment kann nur der Server die Sachen einstellen, wie das bei den anderen Einstellungen auch ist. Er soll das dann bei dafür geeigneten Einstellungen auch während des Spiels können - mit Log-Hinweis für die andern.
Ne Vote-Funktion werd ich kurzfristig nicht schreiben, weil ich denke dass bei maximal 7 leuten auch einfach darüber diskutieren kann, und auf dieses Netzwerknachrichten-Zeug habe ich gerade keine Lust mehr.
Zudem müsste man sowas ja theoretisch auch mit der zukünftigen KI absprechen...

Implementiert ist auch noch keine Erweiterung, die drei sind erstmal nur zur Schau ;) - Ich hoffe das ist ok zeitweise so was unfertiges in den Dailies zu haben.

PS: Bitte bitte schnell anschauen und mergen, sonst wird das wieder asynchron mit dem Serializer und so...

Revision history for this message
Demophobie (demophobie) wrote :

Ich hab noch was in der dskHostGame verändert nachdem du den Patch hochgeladen hast, hier noch der angepasste Patch für 4958.

Was auf jedenfall noch muss: Erstmal müssen im Hostmenü die Sachen mitgeloggt werden bei Änderung - in der Konsole.
Und dann muss jeder Spieler dieses Optionsmenü einsehen können.
Zudem brauchen wir es, dass nach jeder Änderung der Einstellung der Bereit-Haken entfernt wird, sodass jeder Spieler merkt dass etwas an den Einstellungen verändert wurde.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Bis auf das Mitloggen ist schon alles implementiert.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

http://people.physik.hu-berlin.de/~kriwanek/v0.7-4978.png

Das Interface komplett überarbeitet. Meinungen bitte!

Außerdem die beqrenzte Wasserweglänge (#366878) implementiert. Kann jemand mit Originalspiel bitte nachschauen, ob es wirklich bloß 4 Schritte sind dort? Das kommt mir zu kurz vor.

Mir ist auch folgendes aufgefallen: Es sind ja schon einige Dinge implementiert, die nicht dem Originalspiel entsprechen, aber mangels Abschaltbarkeit zur Gewohnheit geworden sind. Ich meine z.B. die einstellbare Baureihenfolge oder die Tatsache, dass Katapulte keine Verbündeten beschießen. Konsequenterweise würde ich persönlich diese Sachen abschaltbar machen wollen.
Bis jetzt dachte ich, ich wähle für die Erweiterungseinstellungen immer den Originalwert als Vorgabe, aber das würde ja hier bedeuten dass der Baureihenfolge-Dialog plötzlich weg wäre für den, der ihn nicht explizit anstellt.
Daher würde ich vorschlagen neben der "Default"-Vorgabe noch eine "Original"-Vorgabe zu machen, die dann halt abweicht.
Ist das nicht aber übertrieben?

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Da fehlen doch noch Features (Mitloggen, Ändern während des Spiels)

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Aktualisierter Patch für 4984.
Mitloggen der Änderungen im Hostmenü implementiert.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

So, jetzt ist alles da. Patch für rev 5011.
Wahlweise kann der Server Optionen nun auch im Spiel ändern, mit Benachrichtigung.
Inklusive "Anleitung" zum Hinzufügen neuer Optionen.
Im Patch fehlt noch das Hinzufügen von ctrlSpinbox.h und ctrlSpinbox.cpp zu den Windows-Abhängigkeitslisten.
Und "enhancements" heißen jetzt nicht mehr "enhancements" sondern "Game settings", das find ich schöner.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Auf ein neues.

#390351: Bootsweglänge standardmäßig auf 5 statt 4 korrigiert
@FloSoft: GameCommand.h "gesäubert", keine Abhängigkeit von GameClient.h und kein friend mehr

Revision history for this message
FloSoft (flosoft) wrote :

your patch does not fit anymore, please correct it again.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

So, der nächste Versuch. Alles etwas durchdachter und sauberer und kommentierter. Bei mir kompilierts und läufts. Konnte aber Mac (oder Win) leider nicht selber testen.
Für 5310.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Die Einstellungen werden jetzt im Klartext in die CONFIG.INI geschrieben.
Außerdem zwei Bugs und einen Denkfehler gefixt.
Für 5318.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Argh, vergessen den Bazaar-Mist und die .po's aus der Patchdatei zu entfernen. Also nochmal.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Noch vieles gefixt, außerdem folgende Optionen:
- Statistik-Sichtbarkeit: Jeder, Team oder nur man selbst (#367907)
- Spiel ohne Gold (Vorschlag im Forum). Dazu kann man das Gold entweder ganz von der Karte entfernen lassen oder in einen anderen Rohstoff umwandeln.
- Die Möglichkeit zur manuellen Baureihenfolge kann abgeschaltet werden (Das ist auf meinem Mist gewachsen. Wir wollen ja auch das Originalspiel verfügbar machen, oder?)

Die Wasserweglänge ist jetzt nicht mehr als Zahl einstellbar, sondern Vorgaben: 3, 5, 9, 13, 21, ∞. Das erhöht vielleicht die Chance dass die Einstellung auch wirklich benutzt wird ;)

Ich habe leider immer noch keine Möglichkeit, Mac oder Win zu testen.
Für Rev. 5329.

Revision history for this message
jh (janhenrikk) wrote :

Was ist aus diesen Patches geworden? Weiß das jemand?

Revision history for this message
Demophobie (demophobie) wrote :

Gute Frage. Hatte Flo das menü nicht mal rausgenommen wieder?

Revision history for this message
jh (janhenrikk) wrote :

Mag sein... Warum, wieso? Wann kommts wieder rein? Und überhaupt... Wer bin ich?

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Ich hatte vor Monaten das schon einmal programmiert, das kam dann erst rein und dann wieder raus. Etwas später hab ichs nochmal recht neu verfasst und hochgeladen. Da kam Flo dann wohl nie zum durchsehen, daher passiert nichts.

Revision history for this message
Spike (fvv1) wrote :

Wenns ging, warum tut mans dann nich wieder rein? is doch sinnvoll gewesen und die dinger die du schon hattest waren auch gut

Revision history for this message
FloSoft (flosoft) wrote : Re: [Bug 370082] Re:Erweiterungsmenü

Das Menü machte ordentlich Probleme, daher wurde es nochmals entfernt,
falls es in der Zwischenzeit einen (aktuellen) Patch gibt, würde ichs
nochmals versuchen

FloSoft (flosoft)
summary: - Erweiterungsmenü
+ [addon] Erweiterungsmenü
Revision history for this message
jh (janhenrikk) wrote :

Dvian? Gibts n aktuelleren Patch zur aktuellen Rev?

Revision history for this message
Demophobie (demophobie) wrote :

genau Divan, mach mal einen :)

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Ich muss zugeben, ich hätte mich schon früher mal melden können. Ich hatte in der Zwischenzeit aber keine wirkliche Lust und v.a. Zeit, und so wird das in der Zukunft wohl auch bleiben.

Was ich anbieten könnte wäre, meine letzten Patch bezüglich merge-conflicts zu bereinigen und nochmal hochzuladen. Es wär ja schade, wenn meine Arbeit von damals völlig umsonst gewesen wäre ;) . Ich kann aber nicht nocheinmal von vorn anfangen.

Es tut mir Leid, wenn mein Code regelmäßig etwas unsauber ist. Ich hab mir C++ damals extra für dieses Projekt hier angeeignet und seh bei den komplizierteren Konstruktionen à la Zeiger-auf-Referenz-auf-virtuelle-Funktion immer noch nicht durch.

Also, wenn jetzt mindestens einmal "ja, das wär sinnvoll" kommt, werd ich mich gerne nochmal hinsetzen. Und FloSoft müsste bereit sein, die auftretenden Probleme in langwierigem altmodischen Email-Austausch mit mir zu besprechen, denn zum regelmäßigen Chat o.ä. hab ich nicht mehr die Zeit. Naja, bald sind Ferien, da wirds etwas besser.

Revision history for this message
FloSoft (flosoft) wrote : Re: [Bug 370082] Re: [addon]Erweiterungsmenü

"ja, das wär sinnvoll"

Revision history for this message
jh (janhenrikk) wrote :

ich würds auch gut finden ;)

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Wow, ihr seid schnell ;).
Gab auch keine ernsthaften Probleme beim Anpassen, obwohl der Patch vom letzten Juli war ...
Er kompiliert und funktioniert augenscheinlich wie er soll. Dass die einzelnen "enhancements" funktionieren, hatte ich damals schon jeweils getestet, auch im Multiplayer. Auf geht's!

Revision history for this message
FloSoft (flosoft) wrote :

okay ich kümmer mich drum sobald ich daheim bin, also erst mitte februar

Revision history for this message
Spike (fvv1) wrote :

Na das hört sich doch schön an ;) hoffentlich kann ich dann jh auch dazu bewegen die eine besagte erweiterung einzubauen^^

Revision history for this message
FloSoft (flosoft) wrote :

welches addon meinst du spike?

Revision history for this message
FloSoft (flosoft) wrote :

implemented on base of the patch in rev5973

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Hab zwei kleine Kompilierfehler und zwei Grafikfehler behoben. (Mit letzterem könnte man sich auch das Rückwärts-Erstellen der Comboboxen im dskHostgame sparen.)
Außerdem fänd ich es schön, wenn im Addon-Fenster der Discard-Changes-Button rot und der andere grau wäre, weil rot ja ansonsten immer der keine-Aktion/Zurück-Button ist.

Revision history for this message
FloSoft (flosoft) wrote :

Hi, nur ne kleine anmerkung zu:

- unsigned int count = ser->PopUnsignedInt();
- assert(count == addons.size());
+ assert(ser->PopUnsignedInt() == addons.size());

dir ist klar das ein assert nur ausgeführt wird wenns mit assertions
kompiliert wird? sonst fliegt die komplette zeile raus, also auch das
pop, daher ist das so "umständlich" gemacht,

beim Rest haste Recht, da war ich zu faul zu suchen wo der Bug mit der
langen Zeile ist.

Wenn das Liste zuerst-zeichnen den Reihenfolge-Bug der Comboboxen behebt
wär natürlich klasse.

Was ich noch einbauen werde ist erstens Kategoriesierung, da war ich
jetzt grad noch zu faul und ein paar Buttons wie "Original S2" welches
dann die originalen S2-Einstellungen läd für die Erweiterungen.

Revision history for this message
Stefan Kriwanek (Divan) (dev-stefankriwanek) wrote :

Oh, du hast natürlich Recht, so geht das nicht. Das Problem ist, dass sich mein gcc 4.4.3 über unused variable count beschwert und nicht kompiliert, wenn count nur im assert benutzt wird. Also vielleicht so, obwohl das auch nicht ganz elegant ist:

- unsigned int count = ser->PopUnsignedInt();
- assert(count == addons.size());
+ if(ser->PopUnsignedInt() != addons.size()) { assert(false; }

Ansonsten sieht das sehr strukturiert aus was du draus gemacht hast. Bin gespannt auf den Rest :)

Revision history for this message
FloSoft (flosoft) wrote :

okay da hast du natürlich recht, hab das nun mal geändert, das war
eigentlich anders gedacht. (rev5981)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.