[TUT] Wie ich Flaggen-Buttons aus 0d1n3oo3Broads mono_XX.bmps mache
Das ist ein spezialles Tutorial zum buttonmachen aus meinen mono_XX.bmps für die Flaggen meiner Flaggenpacks. Es soll aufzeigen, wie man Buttons aus meinen mono_XX.bmps macht.
Was wir brauchen
- Ich möchte hier DXTBmp vorschlagen. Es Arbeitet sehr gut und macht keine Probleme
(- eventuell ein Malprogramm, das die Bildgröße variieren kann, aber MS Paint wird es auch tun.)
Fangen wir an:
Ich wähle dieses Bild zur Demonstration (mono_falkenkopf.bmp aus meinem Flaggenpack 4, größe 220x220 pixel)
Nehmen wir mal an, du willst die Flagge mit diesen Farben (Karthago) benutzen und einen gleichfarbign Button dazu:
In diesem Fall ist die Flagge selber (Hintergrund) in der primären Farbe und der Falkenkopf (Symbol) in der sekundären Farbe gehalten.
Öffne die mono_falkenkopf.bmp in einem Malprogramm. Ich werde hier MS Paint benutzen.
Der nächste Schritt wäre, die RGB-Werte der Farbe der Civ herauszufinden:
1. gehe nach ..\Assets\XML\Civilizations, öffne die CIV4CivilizationInfos.xml und suche nach der civ (in diesem Fall "Karthago"). Gehe zum (DefaultPlayerColor)-tag und schau welche Farbe Karthago benützt. Für Karthago wäre es PLAYERCOLOR_ORANGE
2. nun gehen wir nach ...\Assets\XML\Interface, öffnen die CIV4PlayerColorInfos.xml und suchen nach PLAYERCOLOR_ORANGE, so daß wir wissen, wie der Eintrag für die primäre und sekundäre Farbe lautet. Die primäre Farbe heißt COLOR_PLAYER_ORANGE und die sekundäre COLOR_PLAYER_WHITE.
3. nun öffnen wir die CIV4ColorVals.xml und suchen nach COLOR_PLAYER_ORANGE. In diesem Fall ist es die einzige Farbe, nach der wir suchen müßen, denn weiß (white) bleibt weiß. Die Werte für COLOR_PLAYER_ORANGE sind (fRed)0.99(/fRed), (fGreen)0.35(/fGreen), (fBlue)0.0(/fBlue). Um die korrekten RGB-Werte zu erhalten, müßen wir diese Zahlen mit 255 multiplizieren. Die RGB-Werte hier wären also RGB 252, 89, 0.
Nun da wir die RGB-Werte der Farbe wissen, können wir die mono_falkenkopf.bmp bemalen. Gehen wir wieder zurück zum Paint. Doppelklicke auf eine der unteren Farben (außer Rot und Weiß, die brauchen wir später noch). Jetzt sollte sich die Farbpalette öffnen. Klick auf "Farbe definieren".
Jetzt können wir die RGB-Werte eingeben: ROT: 252, GRÜN: 89, BLAU: 0
Du kannst entweder "OK" klicken, oder zuerst "Farbe hinzufügen" und dann OK. Jetzt können wir diese Farbe benutzen.
Malen wir die mono_falkenkopf.bmp in den richtigen Farben an.
Wie wir auf dem Screenshot gesehen haben, ist die Flagge, also der Hintergrund, die primäre Farbe. Das heißt, alles was jetzt weiß ist, muß in dem karthagischem Orange gemalt werden. Es sieht dann so aus:
Der Falkenkopf im Spiel ist weiß, also malen wir ihn auch hier weiß:
Nun sind wir soweit, das Bil auf Buttongröße zu verkleinern. Du kannst hier entweder speichern, es in einem anderem Programm öffnen, auf 64x64 verkleinern und wieder in Paint öffnen, oder es direkt in Paint machen. Die einzige Möglichkeit dies in Paint zu machen, ist über "Bild-->Strecken/Zerren" bzw. "STRG+k". Dies Arbeitet allerdings nicht mit Pixelgrößen, sondern prozentual.
Die Originalgröße ist 220x220. Um auf die Buttongröße von 64x64 zu kommen, müßen wir das Bild in horizontaler und vertikaler Richtung auf 29% verkleinern (64 / 220 = 0,291 ~ 29%).
Um sicherzugehen, daß wir die Größe von 64x64 haben, gehen wir nach "Bild-->Attribute.." bzw. drücken "STRG+e". Hier sollte die Höhe und Breite jeweils 64 auf 64 betragen.
Jetzt können wir den Rahmen hinzufügen.
Öffne die civ4bracket2rt.PNG in Paint. Drücke "STRG+a". Nun ist das Bild markiert. Drücke "STRG+c" um das Bild zu kopieren. Nun gehen zurück zur verkleinerten mono_falkenkopf.bmp und drücke "STRG+v" um den kopierten Rahmen einzufügen. Nun überdeckt das Rahmenbild die mono_falkenkopf.bmp. JETZT KEINESFLASS IRGENDWOANDERS KLICKEN als per rechtsklick auf die Rote Farbe in der unteren Palette, dann die option "zweite Farbe durchsichtig" auf der linken Seite unter der Werkzeugleiste anklicken. Nun wird das Rot in dem Bild durchsichtig und der Falkenkopf sollte erscheinen. Jetzt noch auf irgendein Werkzeug in der Werkzeugleiste klicken, um den Rahmen zu fixieren.
Nun zum letzten Teil. Öffne einen vorhandenen Button von ..\Art\Interface\Buttons\Civilizations oder öffne die btn_example.dds aus der zip meines Packs. Das Hauptbild ist Weiß und mit einem Rahmen umgeben und im Alphakanal befindet sich das Alphabild eines Buttons.
Doppelklicke auf das Hauptbild. MS Paint sollte sich öffnen (vorgegeben). Diese Datei heißt "norm.bmp". Gehen wir zur mono_falkenkopf.bmp. Drücke STRG+a um das gesamte Bild zu markieren und STRG+c um es zu kopieren. Gehe zurück zur norm.bmp und drücke STRG+v um das kopierte Bild einzufügen. Der Falkenkopf im Rahmen sollte nun erscheinen. Speichere es und gehe zurück zur btn_example.dds. Klick auf den "refresh after edit"-button und der Button sollte erscheinen. Nun nur noch nach "file-->save as-->dds texture" gehen und überprüfen das es als eine "dxt3 dds" gespeichert wird. Nun Browse zum ..\Art\Interface\Buttons\Civilizations-Verzeichnis deines CustomAssets- oder MOD-Ordners und speichere. Natürlich sollte der Button auch einen anderen Namen bekommen. Ich nenn ihn hier btn_falkenkopf.dds, so daß ich vom Namen her sehe, zu welcher Flagdecal er gehört.
Nun ist der Button soweit ins Spiel gebracht zu werden.
Gehe zum ..XML\Art-Ordner und öffne die CIV4ArtDefines_Civilization.xml. Hier suchst du nach der Civ, für die der Button ist. Hier Karthago. Der Code für den Originalbutton ist (Button),Art/Interface/Buttons/Civilizations/Spain.dds,Art/Interface/Buttons/Warlords_Atlas_2.dds,5,1(/Button), wir aber brauchen nur den ersten Teil (Art/Interface/Buttons/Civilizations/Spain.dds) und nennen ihn nach (Button)Art/Interface/Buttons/Civilizations/Btn_falkenkopf.dds(/Button) um.
Nun Speichere die XML in deinem CustomAssets- oder MOD-Ordner und Testen wir ihn im Spiel.
Starte Civ und gehe in die Civilopädie. Gehe zum Eintrag von Karthago und der Button müßte nun für Karthago da sein!
Fertig!
[bemerkungen: Ich weiß nicht, warum Firaxis den Buttonnamen bei ...\spain.dds belassen hat; "<, >" durch "(, )" ersetzt]