[HoI 3] .gui (Interface) richtig verändern

Modvorstellungen und weiteres

Moderator: Moderatoren

Benutzeravatar
Surtshellir
Miles Legiones
Miles Legiones
Beiträge: 21
Registriert: 8. September 2014 11:31

[HoI 3] .gui (Interface) richtig verändern

Beitragvon Surtshellir » 19. Juli 2015 22:29

Hallo.

Nach etwas längerer Zeit melde ich mich zurück. Was das Modding angeht bin ich etwas fortgeschrittener und zur Zeit bin ich dabei, die .gui's zu bearbeiten. Es fällt mir aber alles andere als leicht.

Ich möchte mein HoI3 einen komplett neuen Look verpassen, inbesondere in der Politik. Habe mit Photoshop ein komplett neues Fenster erstellt, wie man hier sieht:

Spoiler (Öffnen)
Bild


Nun muss man natürlich die Positionen der einzelnen Einträge ändern/verschieben um sie auch dort reinzubekommen wo man sie haben will (bei den Politikern habe ich zwei Kabinette hinzugefügt, 10 waren mir zu wenig, deswegen habe ich, um alles in einem Schirm zu bekommen, die einzelnen Kästchen für die Kabinette etwas verkleinert).


Meine Probleme sind folgende:

1. im originalen Politik Fenster sind die Politiker, bzw die Entrys, untereinander aufgelistet (in der .gui ja minister_types1 und 2). Wie kann ich es einstellen, dass er diese nun horizontal und nicht vertikal auflistet, sodass es dementsprechend in mein neues Fenster passt? Ist es überhaupt möglich?

2. Da ich diese Kästchen für die Kabinette ja kleiner gemacht habe, müssten die Entrys auch demensprechend kleiner gemacht werden, damit sie dort auch übersichtlich reinpassen. Wie stell ich das ein?

3. Die Position der Sachen werden in den Einträgen ja mit x und y koordiniert. Nun dachte ich, wenn da als Bsp. "position = x=23px y=44", x von links 23px vom Bildrand aus und y von oben 44px vom Bildrand aus, dass die so koordiniert werden. Tuen sie aber nicht, jedenfalls nicht genau. Ist es dort n Ratespiel oder lassen sich die optimalen Positionen in irgendeiner Weise anders herausfinden?


Wenn ihr euch mein Politik Fenster anseht denke ich, ihr wisst bzw könnt euch vorstellen wie es aussehen soll wenn es fertig ist. Ist es so umsetzbar? Ich hoffe schon, jedenfalls sehen die .gui's danach aus dass sie sich dementsprechend so formen lassen. Zur Zeit sieht es so aus:

Spoiler (Öffnen)
Bild



Also fürchterlich :D


Ich hoffe es kann mir dort geholfen werden, evtl haben von euch ja schon einige erfolgreich .gui's in der Art und Weise bearbeiten können.

Mfg, Timo
"Jeder Krieg, auch der siegreiche, ist immer ein großes Unglück für das Land, das ihn führt." - Otto von Bismarck

Benutzeravatar
Bildungskind
Medicus
Medicus
Beiträge: 220
Registriert: 22. September 2014 03:10

Re: [HoI 3] .gui (Interface) richtig verändern

Beitragvon Bildungskind » 21. Juli 2015 20:24

Ich habe zwar nicht wirklich viel Ahnung, wie man das Interface ändert, aber du kannst dir das mal von anderen Mods anschauen, wie sie das gelöst haben. Ich will jetzt aber nicht zum Klauen anstiften.
Macht mit bei Vox Populi, das kleine SZ-Parteienspiel.

Benutzeravatar
Surtshellir
Miles Legiones
Miles Legiones
Beiträge: 21
Registriert: 8. September 2014 11:31

Re: [HoI 3] .gui (Interface) richtig verändern

Beitragvon Surtshellir » 21. Juli 2015 22:54

Ich habe zwar nicht wirklich viel Ahnung, wie man das Interface ändert, aber du kannst dir das mal von anderen Mods anschauen, wie sie das gelöst haben. Ich will jetzt aber nicht zum Klauen anstiften.


Auf diese Idee bin ich auch schon gekommen, es sind tatsächlich andere Einträge (jedenfalls bei manchen Abschnitten), jedoch helfen die mir nicht wirklich weiter. Im Grunde ist es für mich das gleiche Rätsel wie die normale .gui (bzw die von YAMDaM). Und keine Sorge: Ich will es schon nach meinem eigenen Muster aufbauen, wenn ich es kopiere ist es ja nicht mehr "mein Mod" ;)

lg
"Jeder Krieg, auch der siegreiche, ist immer ein großes Unglück für das Land, das ihn führt." - Otto von Bismarck

Benutzeravatar
Chromos
Centurio
Centurio
Beiträge: 848
Registriert: 7. Dezember 2010 22:06

Re: [HoI 3] .gui (Interface) richtig verändern

Beitragvon Chromos » 22. Juli 2015 13:21

1.
Das sind ja 2 Tabellen für jeweils linke Spalte Politiker und rechte Spalte.
Ich bin mir nicht sicher, aber es kann sein, dass man die Sortierung "von oben nach unten" in "von links nach rechts" ändern kann.

2.
Dazu musst du die entsprechenden Eintäge finden.
Da gibt es einmal Angaben zur Position und zur Größe(Schrift/Feldlänge)
Manchmal sind die genauern Angaben auch weiter unten in den .gui Dateien definiert.

3.
Das ist typisch "Paradox" gelöst. Die Position scheint sich nach einem mir unbekannten System zu berechnen. Bzw. der Bezugspunkt ist schwer zu erkennen.
Davon ausgehend kann man dann pixelweise weitergehen.
Aber da einige Bereiche im Minusbereich starten und einige Elemente dann auch noch invertiert sich in dieser Position verändern.. Schwierig.


Allgemein:
Die GUI zu modden ist eines der "blödesten" Moddingbereiche von HOI3.
Am schlimmsten ist der Statistikbereich.
Dahinterligende Logik scheint teilweise umgekehrt, also was vorher so funktioniert, funktioniert woanders genau andersherum!
Ein sehr hoher Frustfaktor ist möglich..

Ich habe die genauen Felder/Einträge nicht mehr im Kopf.
Eine gute Idee ist es nach den Bildernamen zu gucken.
In den gfx Dateien stehen die Namen die in den GUI Dateien benutzt werden.
Danach sucht man in den GUI Dateien und findet die entsprechenden Passagen in denen man die Position/Größe etc. ändern kann.
Dann kann man diesen Bereich mit denen aus anderen Mods gezielt vergleichen und hat eine ungefähre Ahnung wie sich alles verhält.
Ich habe seinerzeit einfach sehr sehr viel herumprobieren müssen.

Und man sieht ja in menem Mod auch, dass einiges möglich ist, aber eben auch nicht alles:
Ein interessantes Detail sind die kleinen icons die die Streitkräftezugehörigkeit des Generals anzeigen.
Unten rechts neben dem Bild des Generals gibt es jeweils ein anders Icon für Land/See/Luft-Zugehörigkeit.
Das ist eine Möglichkeit die in HoI3 standardmäßig nicht genutzt wird -ein Überbleibsel aus EUIII- die ich beim Modden entdeckt habe.
Bild
Bild
Bild

Oder eben die Möglichkeit im Politikbereich der jeweiligen Regierungsform extra. Boni/Mali zu vergeben und anzuzeigen -oben links-:
Bild


Aber z. B. die Entscheidungen aus der Diplomatie in den Politikbereich zu modden geht nicht.
Spiele von dem WK-I bis zum Kalten Krieg! Bald möglich mit dem "AHOI-Mod"!
Infos rund um Hearts of Iron 3 und den AHOI-Mod:

- blog -___-forum-___-facebook-___-twitter-
Die Widescreen-Mods(min. 1280*768) für Hearts of Iron 3 gibt es da auch!(Auch HPP/AS/RPM/BlackI.C.E)

Benutzeravatar
Surtshellir
Miles Legiones
Miles Legiones
Beiträge: 21
Registriert: 8. September 2014 11:31

Re: [HoI 3] .gui (Interface) richtig verändern

Beitragvon Surtshellir » 22. Juli 2015 21:29

Erst einmal vielen Dank für deine umfangreiche Antwort.

Nun:

1.
Das sind ja 2 Tabellen für jeweils linke Spalte Politiker und rechte Spalte.
Ich bin mir nicht sicher, aber es kann sein, dass man die Sortierung "von oben nach unten" in "von links nach rechts" ändern kann.


Genau das dachte ich mir sogar zuerst. Ich bin die "country_politics.gui" gründlich durchgegangen, und zu 90 % weiß ich, was zu was gehört. Nun sieht der Eintrag in der gui für die Minister Listen ja so aus:

listboxType = {
name = "minister_list1"
position = { x = 60 y = 410 }
backGround=""
size = { x=486 y = 179}
Orientation = "UPPER_LEFT"
spacing = 4
scrollbartype = "standardlistbox_slider"
borderSize = {x = 0 y = 0}
}

listboxType = {
name = "minister_list2"
position = { x = 302 y = 410 }
backGround=""
size = { x=486 y = 179}
Orientation = "UPPER_LEFT"
spacing = 4
scrollbartype = "standardlistbox_slider"
borderSize = {x = 0 y = 0}
}


Nun frage ich mich, wo man dort einstellen/eingeben kann das er nun von links nach rechts ordnet und nicht von oben nach unten. Ich habe auch schon an der size ein bisschen rumprobiert in der Hoffnung, er ordnet die dann automatisch von links nach rechts wenn ich x größer als y mache, dennoch Fehlanzeige. Das Resultat dieses Versuches ergab nur ein runterscrollen in einem schmalen Fenster...

Eigentlich stell ich mir da auch die Frage: Von irgendwoher muss das Spiel doch die Information bekommmen, ZWEI Minister Listen zu haben und diese Beiden dann so und so zu ordnen. Doch so ein Eintrag existiert nicht in der .gui. Ist es da schon ein Bestandteil der .exe? (Auch wenn ich es mir irgendwie schwer vorstellen kann...)


2.
Dazu musst du die entsprechenden Eintäge finden.
Da gibt es einmal Angaben zur Position und zur Größe(Schrift/Feldlänge)
Manchmal sind die genauern Angaben auch weiter unten in den .gui Dateien definiert.


Klar, diese Einträge habe ich gefunden. Die gesamte gui ist ja eingeteilt: 1. Das, was man sofort schon sieht, quasi im Politik Bereich. 2. Die Entrys, also wie der INHALT sich zu verhalten hat und 3. Die Fenster, die sich öffnen wenn man zB einen Minister ersetzt oder ein anderes Gesetz abwickeln will. So ist jedenfalls meine Einschätzung.
Bei diesem Problem denke ich das es um die Entrys geht, also 2. Da diese ja zu groß für meine Kabinettkästchen sind und um nur ca 10 % verkleinert werden müssten (Also Foto, Schrift, die Breite sowie Höhe). Der sieht ja in der gui so aus:

Minister Entry Code .GUI (Öffnen)
#################################################################################
# Minister Listing ENTRY
#################################################################################

windowType = {
name = "minister_entry"
backGround=""
position = { x=0 y=0 }
size = { x=200 y=80 }
moveable = 0
dontRender = ""
horizontalBorder= ""
verticalBorder= ""
fullScreen = no

iconType = {
name = "photo"
spriteType = "GFX_empty_position"
position = { x= 0 y = 0 }
Orientation = "UPPER_LEFT"
}

iconType = {
name = "legend_color"
spriteType = "GFX_legend_icon"
position = { x= -25 y = 12 }
Orientation = "UPPER_LEFT"
}

instantTextBoxType = {
name = "title"
position = { x = 40 y =0 }
format = left

textureFile = ""
font = "Arial12_headline"
borderSize = {x = 4 y = 0}
text = ""
maxWidth = 218
maxHeight = 32
Orientation = "UPPER_LEFT"
}

instantTextBoxType = {
name = "name"
position = { x = 40 y =14 }
format = left

textureFile = ""
font = "Arial12"
borderSize = {x = 4 y = 0}
text = ""
maxWidth = 218
maxHeight = 32
Orientation = "UPPER_LEFT"
}

instantTextBoxType = {
name = "personality"
position = { x = 40 y =28 }
format = left

textureFile = ""
font = "Arial12"
borderSize = {x = 4 y = 0}
text = ""
maxWidth = 218
maxHeight = 32
Orientation = "UPPER_LEFT"
}

instantTextBoxType = {
name = "ability"
position = { x = 40 y =42 }
format = left

textureFile = ""
font = "Arial12"
borderSize = {x = 4 y = 0}
text = ""
maxWidth = 218
maxHeight = 32
Orientation = "UPPER_LEFT"
}
guiButtonType = {
name = "replace_minister"
position = { x = 202 y = 7}
quadTextureSprite ="GFX_small_button"
tooltip = ""
tooltipText =""
delayedTooltipText = ""
buttonText = "Replace"
buttonFont = "Arial12_bold_black"
}
}


Ganz oben ist quasi das Gesamtbild, wie sich die Unterkategorien (Foto etc...) im Entry zu verhalten haben. Logischerweise dachte ich an size (Größe, wer hätte das gedaht?), doch viel geändert hat sich da nichts. Nun frag ich mich, wenn ich vom "Haupteintrag" ganz oben die Size veränder, ändert sich dann der Rest auch autimatisch? Eigtl ja, da "size" bei den einzelnen Einträgen nicht vorhanden ist, wie als bspl. "Photo".


Letztendlich stell ich mir sowieso die Frage, in wie weit sich das Interface überhaupt verändern lässt. Neue Buttons mit neuer Funktion etc, nein, will und brauch ich nicht. Hier ist es ja was rein optisches. Und wie gesagt, 10 Kabinette sind mir zu wenig, ich wollte 12, vllt sogar noch 14 haben. Ich mag es, wenn es umfangreicher ist.

lg
"Jeder Krieg, auch der siegreiche, ist immer ein großes Unglück für das Land, das ihn führt." - Otto von Bismarck

Benutzeravatar
Chromos
Centurio
Centurio
Beiträge: 848
Registriert: 7. Dezember 2010 22:06

Re: [HoI 3] .gui (Interface) richtig verändern

Beitragvon Chromos » 23. Juli 2015 13:51

Weiß nicht ob es da auch geht.
Aber in einigen Bereichen kann man die Sortierung umstellen wenn man in den späteren Angaben statt für nächstes Feld:
x = 10 y = 5 (10 nach rechts, 5 nach unten)
eben:
x = -10 y = -5 macht. (10 nach links, 5 nach oben)

Nochmal geguckt.
Bei:
windowType = {
name = "org_chart"
backGround=""
position = { x=-25 y=365 }
size = { x=300 y= 300 }
moveable = 0
dontRender = ""
horizontalBorder= ""
verticalBorder= ""
fullScreen = no
Orientation = "UPPER_LEFT"

iconType = {
name ="national_socialist_org"
spriteType = "org_bar"
position = { x= 0 y = 0 }
Orientation = "UPPER_LEFT"
}

iconType = {
name ="fascistic_org"
spriteType = "org_bar"
position = { x= 25 y = 0 }
Orientation = "UPPER_LEFT"
}
Kann man sehen, dass jede neue Partei um 25 weiter nach unten positioniert wird.
Das könnte man auch so ändern, dass es um 25 weiter nach rechts geht. In dem Fall bleibt y immer 0 und x wird um 25 größer..

Da geht aber eben nicht überall. Denn einige Dinge erledigt die exe anders. So wird das Listing der Minister eben nicht weiter in den gui-Dateien definiert sondern in der exe..
Warum sollte man auch bei einem System bleiben? :D

Die 2 Minister Listen sind einmal in der gui vorgegeben. Aber die eigentliche Benutzung liegt in der exe(minister_list1/minister_list2). Das ist ja auch ein weiterer Grund das Spiel als eine Anordnung von Chaos zu sehen. Es herrscht einfach keine einheitliche Regelung für alle Systeme. Immer wieder sind Dinge in der exe fest verdrahtet oder benötigt usw..
Ich hatte mal allen Einheiten neue Namen gegeben um alles sauber neu auszusetzen. Nur um feststellen zu müssen, dass einige Namen wie infantry_brigade zwingend von der exe abgefragt werden.. Also muss man diese Namen benutzen und ggf. durch localisation umbenennen.. Das waren Stunden der Arbeit die einfach so "in die Tonne" gingen..
Ähnlich ist es auch mit dem gui modding. ;)
Ein weiterer wichtiger Eintrag zu den Ministerlisten ist der in dem common Ordner.

Zu 2.
Du must alle Grafiken und die Größe der Felder anpassen um den Bereich kleiner zu haben. Alleine skaliert da nischt, nur für Grafiken gibt es auch einen resize Befehl. Ich glaube der wird auch bei den Generalbilder angezeigt oder bei den Einheiten im Producktionsmenue..
Aber Felder mit schriftlicher info musst du selber kleiner machen. Schrift ändern(font) und auch Feldlänge.

Neue Minister muss man in der Datei in common Ordner einfügen. Dann erstellt die exe automatisch einen Eintrag in den Listen.
Spiele von dem WK-I bis zum Kalten Krieg! Bald möglich mit dem "AHOI-Mod"!
Infos rund um Hearts of Iron 3 und den AHOI-Mod:

- blog -___-forum-___-facebook-___-twitter-
Die Widescreen-Mods(min. 1280*768) für Hearts of Iron 3 gibt es da auch!(Auch HPP/AS/RPM/BlackI.C.E)

Benutzeravatar
Surtshellir
Miles Legiones
Miles Legiones
Beiträge: 21
Registriert: 8. September 2014 11:31

Re: [HoI 3] .gui (Interface) richtig verändern

Beitragvon Surtshellir » 23. Juli 2015 20:31

Also um es noch einmal zusammenzufassen: Punkt 1 geht anscheinend nicht. Da die Positionsangaben von ORG Chart nicht bei den Minister Listen stehen und diese in der GUI nicht voneinander getrennt sind, stimmts? Schade, sehr schade, immerhin ist die Liste von den Ministern scrollbar, sonst hätte ich es komplett in die Tonne treten können... Muss ich anscheinend doch die Kabinette untereinnder in zwei Abschnittte ordnen. Das führt uns dann zu Punkt 2:
Hab ich jetzt nicht ganz verstanden. Ich muss also ALLE Einträge einzelnt verkleinern? Also Foto des Ministers, die Überschrift, die andere Schrift usw...? Mit Grafiken meinst du jetzt die allgemeine Fotogröße der Minister, Icons usw? Die muss ich extern wo anders verändern? (also nicht in der gui?) Aber Größe des Textes in der GUI?
"Jeder Krieg, auch der siegreiche, ist immer ein großes Unglück für das Land, das ihn führt." - Otto von Bismarck

Benutzeravatar
Chromos
Centurio
Centurio
Beiträge: 848
Registriert: 7. Dezember 2010 22:06

Re: [HoI 3] .gui (Interface) richtig verändern

Beitragvon Chromos » 24. Juli 2015 20:11

1. Sieht so aus ja,

2.
Ja alle die du anders haben willst. Sonst laufen die ja auch aus dem Bild. Ist die Schrift zu groß, must du halt eine kleinere wählen. Du kannst auch komplett neue Schriften einbinden und die dann benutzen..
Und ja, man kann die Bilder der Generäle anders skalieren lassen. Den Befehl dazu gibts irgendwo in den Dateien. Ich glaube halt das es beim OOB-Browser so gemacht wurde.
Ob das auch mit icons oder anderen Grafiken geht, habe ich nicht ausprobiert. Wäre aber interessant zu wissen. ;)
Spiele von dem WK-I bis zum Kalten Krieg! Bald möglich mit dem "AHOI-Mod"!
Infos rund um Hearts of Iron 3 und den AHOI-Mod:

- blog -___-forum-___-facebook-___-twitter-
Die Widescreen-Mods(min. 1280*768) für Hearts of Iron 3 gibt es da auch!(Auch HPP/AS/RPM/BlackI.C.E)