Hard Light Productions Forums
Modding, Mission Design, and Coding => The Modding Workshop => Topic started by: Flaming_Sword on September 16, 2009, 06:12:12 am
-
Interface templates (named Contemplates for marketing purposes :P) are complete! (more or less :nervous:)
v2.1.1 - 7th of February, 2010 (sorry, forgot to update this page until now)
http://www.mediafire.com/?dntywziomn2
Features:
- Support for every interface screen except mainhalls (added medals screen)
- Used in a few mods already :nervous:
- Faster execution compared to previous versions
- Windows (exe included)/Linux/Cygwin support (Mac needs testing) - non-windows users need to install GraphicsMagick (http://www.graphicsmagick.org/) and compile
- Makefile included for compiling in Linux/Cygwin/MinGW
- Windows Eclipse/MinGW project files
- Simplified and commented configuration file for settings
- Image (eg. background) input in various formats for non-windows compiles (eg. JPEG if you have JPEG libs)
- Added support for conversion of output to different formats (e.g. PNG)
- User guide and source code documentation generated by Doxygen (http://www.doxygen.org/)
- Transparency control of interface boxes
- Material layer - multiplies with interface boxes to produce effects
- Separate logo layer (includes retail logos)
- Independent colour control for interface boxes
- Independent colour control for button highlights (3 different colours - general, accept, cancel buttons)
- Support for quick production of custom mission load screens
- EFF support for load bar animation (for the future)
- nvDXT included for generating DDS images
Sample configuration file:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; The lines below control the compositing of screens upon backgrounds. ;
; ;
; Change screen_base.tga to whatever background image you want ;
; for the particular screen ;
; ;
; Material may be changed to any material image, or NULL ;
; ;
; Images which exceed 1024x768 will be cropped ;
; ;
; NOTE: lines starting with a semicolon are considered comments and ;
; not processed ;
; ;
; The following files are treated by the sample mode: ;
; 2_DebriefAward.tga ;
; 2_Barracks.tga ;
; 2_PXOChat.tga ;
; 2_WeaponLoadoutMultib.tga ;
; ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; COLOUR SETTINGS - EDIT, BUT DO NOT MOVE/REMOVE
; SCREENS
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
240 100 100
;
; BOXES
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
120 100 100
;
; BUTTONS (GENERAL)
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
40 100 100
; BUTTONS (ACCEPT)
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
120 50 100
;
; BUTTONS (CANCEL)
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
0 50 100
;
; TRANSPARENCY
; 0.0-1.0
0.75
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; BUTTONS - DO NOT EDIT (EXCEPT FOR CUSTOM INTERFACES) ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; BUTTON SCREEN GENERAL ACCEPT CANCEL OUTPUT
BUTTON NULL ./buttons/2_BAB_130001.tga NULL ./buttons_cancel/2_BAB_130001.tga ./output/2_BAB_130001.tga
BUTTON NULL ./buttons/2_BAB_130002.tga NULL ./buttons_cancel/2_BAB_130002.tga ./output/2_BAB_130002.tga
BUTTON NULL ./buttons/2_BAB_160001.tga NULL ./buttons_cancel/2_BAB_160001.tga ./output/2_BAB_160001.tga
BUTTON NULL ./buttons/2_BAB_160002.tga NULL ./buttons_cancel/2_BAB_160002.tga ./output/2_BAB_160002.tga
BUTTON NULL ./buttons/2_CPB_010001.tga NULL ./buttons_cancel/2_CPB_010001.tga ./output/2_CPB_010001.tga
BUTTON NULL ./buttons/2_CPB_010002.tga NULL ./buttons_cancel/2_CPB_010002.tga ./output/2_CPB_010002.tga
BUTTON ./buttons_special/2_BRB_150000.tga NULL NULL ./buttons_cancel/2_BRB_150001.tga ./output/2_BRB_150001.tga
BUTTON ./buttons_special/2_BRB_150000.tga NULL NULL ./buttons_cancel/2_BRB_150002.tga ./output/2_BRB_150002.tga
BUTTON ./buttons_special/2_Slider0000.tga NULL NULL NULL ./output/2_Slider0001.tga
BUTTON ./buttons_special/2_Slider0000.tga NULL NULL NULL ./output/2_Slider0002.tga
BUTTON ./buttons_special/2_MS_020000.tga NULL NULL ./buttons_cancel/2_MS_020001.tga ./output/2_MS_020001.tga
BUTTON ./buttons_special/2_MS_020000.tga NULL NULL ./buttons_cancel/2_MS_020002.tga ./output/2_MS_020002.tga
BUTTON ./buttons_special/2_MS_030000.tga NULL NULL ./buttons_cancel/2_MS_030001.tga ./output/2_MS_030001.tga
BUTTON ./buttons_special/2_MS_030000.tga NULL NULL ./buttons_cancel/2_MS_030002.tga ./output/2_MS_030002.tga
BUTTON ./buttons_special/2_MS_040000.tga NULL ./buttons_accept/2_MS_040001.tga NULL ./output/2_MS_040001.tga
BUTTON ./buttons_special/2_MS_040000.tga NULL ./buttons_accept/2_MS_040002.tga NULL ./output/2_MS_040002.tga
BUTTON ./buttons_special/2_PXB_120001.tga NULL NULL ./buttons_cancel/2_PXB_120001.tga ./output/2_PXB_120001.tga
BUTTON ./buttons_special/2_TSB_340000.tga NULL NULL ./buttons_cancel/2_TSB_340001.tga ./output/2_TSB_340001.tga
BUTTON ./buttons_special/2_TSB_340000.tga NULL NULL ./buttons_cancel/2_TSB_340002.tga ./output/2_TSB_340002.tga
BUTTON ./loading/2_Loading0000.tga NULL NULL NULL ./output/2_Loading_0000.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0001.tga NULL NULL ./output/2_Loading_0001.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0002.tga NULL NULL ./output/2_Loading_0002.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0003.tga NULL NULL ./output/2_Loading_0003.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0004.tga NULL NULL ./output/2_Loading_0004.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0005.tga NULL NULL ./output/2_Loading_0005.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0006.tga NULL NULL ./output/2_Loading_0006.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0007.tga NULL NULL ./output/2_Loading_0007.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0008.tga NULL NULL ./output/2_Loading_0008.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0009.tga NULL NULL ./output/2_Loading_0009.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0010.tga NULL NULL ./output/2_Loading_0010.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0011.tga NULL NULL ./output/2_Loading_0011.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0012.tga NULL NULL ./output/2_Loading_0012.tga
BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0013.tga NULL NULL ./output/2_Loading_0013.tga
BUTTON ./loading/2_Loading0000.tga NULL NULL NULL ./output/2_Loading_0000.tga
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Uncomment the lines below to make pcx for loading bar ANI ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; BUTTON ./loading/2_Loading0000.tga NULL NULL NULL ./load_bar/2_Loading0000.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0001.tga NULL NULL ./load_bar/2_Loading0001.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0002.tga NULL NULL ./load_bar/2_Loading0002.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0003.tga NULL NULL ./load_bar/2_Loading0003.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0004.tga NULL NULL ./load_bar/2_Loading0004.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0005.tga NULL NULL ./load_bar/2_Loading0005.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0006.tga NULL NULL ./load_bar/2_Loading0006.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0007.tga NULL NULL ./load_bar/2_Loading0007.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0008.tga NULL NULL ./load_bar/2_Loading0008.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0009.tga NULL NULL ./load_bar/2_Loading0009.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0010.tga NULL NULL ./load_bar/2_Loading0010.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0011.tga NULL NULL ./load_bar/2_Loading0011.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0012.tga NULL NULL ./load_bar/2_Loading0012.tga
; BUTTON ./loading/2_Loading0000.tga ./loading/2_Loading0013.tga NULL NULL ./load_bar/2_Loading0013.tga
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 2_TSB_340000.tga is not a real interface file and ;
; may be removed from the output ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BUTTON ./buttons_special/2_TSB_340000.tga NULL NULL ./buttons_cancel/2_TSB_340002.tga ./output/2_TSB_340002.tga
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; POPUP WINDOWS - DO NOT USE BACKGROUND OR LOGO ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; NAME LOGO BOX(Y/N) TRANSPARENCY(Y/N) MATERIAL BACKGROUND
2_PleaseWait.tga NULL Y Y lines.tga NULL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 2_DebriefAward.tga is used in the sample setting ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2_DebriefAward.tga NULL Y Y spiro.tga NULL
2_InfoBox.tga NULL Y Y lines.tga NULL
2_PopDeath.tga NULL Y Y lines.tga NULL
2_BriefMulti.tga NULL Y Y spiro.tga NULL
2_briefpop.tga NULL Y Y spiro.tga NULL
2_ChatBox.tga NULL Y Y lines.tga NULL
2_Pop2.tga NULL Y N lines.tga NULL
2_PXOPop.tga NULL Y Y lines.tga NULL
2_Pop3.tga NULL Y N lines.tga NULL
2_BriefWin.tga NULL Y Y lines.tga NULL
2_ChatBoxBig.tga NULL Y Y lines.tga NULL
2_MPPause.tga NULL Y Y lines.tga NULL
2_Password.tga NULL Y Y lines.tga NULL
2_PilotInfo.tga NULL Y Y lines.tga NULL
2_PilotInfo2.tga NULL Y Y lines.tga NULL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SCREENS ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; NAME LOGO BOX(Y/N) TRANSPARENCY(Y/N) MATERIAL BACKGROUND
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 2_Barracks.tga is used in the sample setting ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2_Barracks.tga 2_Barracks.tga Y Y spiro.tga screen_base.tga
2_Brief.tga NULL N N NULL screen_base.tga
2_BriefMulti.tga NULL N N NULL screen_base2.tga
2_Campaign.tga 2_Campaign.tga Y Y lines.tga screen_base.tga
2_ChoosePilot.tga 2_ChoosePilot.tga Y Y lines.tga screen_base.tga
2_CommandBrief.tga 2_CommandBrief.tga Y Y spiro.tga screen_base.tga
2_CommandBriefb.tga 2_CommandBriefb.tga Y Y spiro.tga screen_base.tga
2_ControlConfig.tga NULL Y Y lines.tga screen_base.tga
2_Credits.tga 2_Credits.tga Y Y lines.tga screen_base.tga
2_DebriefMulti.tga NULL Y Y spiro.tga screen_base2.tga
2_DebriefSingle.tga NULL Y Y spiro.tga screen_base.tga
2_F1.tga 2_F1.tga Y Y lines.tga screen_base.tga
2_HotKeys.tga 2_HotKeys.tga Y Y lines.tga screen_base.tga
2_HUDConfig.tga NULL Y Y lines.tga screen_base.tga
2_KillMatrix.tga 2_KillMatrix.tga Y Y lines.tga screen_base.tga
2_LoadingBG.tga 2_LoadingBG.tga Y Y lines.tga screen_base.tga
2_LoadMission.tga 2_LoadMission.tga Y Y lines.tga screen_base.tga
2_LoopBrief.tga 2_LoopBrief.tga Y Y lines.tga screen_base.tga
2_MedalsDisplayEmpty.tga 2_MedalsDisplayEmpty.tga Y Y lines.tga screen_base.tga
2_MissionLog.tga 2_MissionLog.tga Y Y lines.tga screen_base.tga
2_MultiCreate.tga 2_MultiCreate.tga Y Y lines.tga screen_base2.tga
2_MultiHost.tga 2_MultiHost.tga Y Y lines.tga screen_base2.tga
2_MultiInGame.tga 2_MultiInGame.tga Y Y lines.tga screen_base2.tga
2_MultiJoin.tga NULL Y Y lines.tga screen_base2.tga
2_MultiJoinWait.tga 2_MultiJoinWait.tga Y Y lines.tga screen_base2.tga
2_MultiStartGame.tga 2_MultiStartGame.tga Y Y lines.tga screen_base2.tga
2_MultiSynch.tga 2_MultiSynch.tga Y Y lines.tga screen_base2.tga
2_OptionsDetail.tga 2_OptionsDetail.tga Y Y lines.tga screen_base.tga
2_OptionsMain.tga 2_OptionsMain.tga Y Y lines.tga screen_base.tga
2_OptionsMultiGen.tga 2_OptionsMultiGen.tga Y Y lines.tga screen_base.tga
2_OptionsMultiVox.tga 2_OptionsMultiVox.tga Y Y lines.tga screen_base.tga
2_PXHelp.tga 2_PXHelp.tga Y Y lines.tga screen_base.tga
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 2_PXOChat.tga is used in the sample setting ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2_PXOChat.tga 2_PXOChat.tga Y Y lines.tga screen_base2.tga
2_RedAlert.tga 2_RedAlert.tga Y Y spiro.tga screen_base.tga
2_ShipSelect.tga NULL Y Y lines.tga screen_base.tga
2_TeamSelect.tga 2_TeamSelect.tga Y Y spiro.tga screen_base.tga
2_TechData.tga 2_TechData.tga Y Y spiro.tga screen_base.tga
2_TechShipData.tga 2_TechShipData.tga Y Y spiro.tga screen_base.tga
2_ViewFootage.tga 2_ViewFootage.tga Y Y lines.tga screen_base.tga
2_WeaponLoadout.tga NULL Y Y lines.tga screen_base.tga
2_WeaponLoadoutb.tga NULL Y Y lines.tga screen_base.tga
2_WeaponLoadoutMulti.tga NULL Y Y lines.tga screen_base2.tga
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 2_WeaponLoadoutMultib.tga is used in the sample setting ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2_WeaponLoadoutMultib.tga NULL Y Y lines.tga screen_base2.tga
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; CUSTOM MISSION LOAD SCREENS ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; LOADSCREEN NAME BACKGROUND
LOADSCREEN LoadingBG_A.tga screen_base.tga
LOADSCREEN LoadingBG_B.tga screen_base.tga
LOADSCREEN LoadingBG_C.tga screen_base.tga
LOADSCREEN LoadingBG_D.tga screen_base2.tga
LOADSCREEN LoadingBG_E.tga screen_base2.tga
Please report any issues, especially errors in the resulting output in-game.
EDIT: New version: v2.0.1 - bugfixes and version string
EDIT: New version: v2.1.1 - added support for conversion to PNG among other formats
Eyecandy:
Images from me and other people go here.
(http://img190.imageshack.us/img190/2109/menu2y.png)
-
Very nice! Appreciate the work you put into this.
-
Very sexy.
Oh, the templates are awesome too. I was admiring the fighter in the shot. :D
-
/me loves!
-
Flaming_Sword, could you post some kind of colour chart with the hue values? It seems to use a strange system, with colours jumping from green at 179 to purple at 180 , and blueish colours are nowhere to be found.
Also, the prompt always says " No files found in ./load-bar/! " ; is that a problem?
-
Odd. Can you please post the colour values you were using to get these (or the first part of your config file)?
The documentation should have given you a link: http://en.wikipedia.org/wiki/List_of_colors
You can look up the HSV values next to the RGB values.
When done right, 180 should have given you cyan.
Was the load_bar message at the end? Were you using the -sample option when it happened? If so, it's not really a problem and probably something I forgot to clean up.
-
Here's the first part of the config file, using 180 hue - the output is attached. For clarification: It's supposed to have cyan boxes.
; COLOUR SETTINGS - EDIT, BUT DO NOT MOVE/REMOVE
; SCREENS
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
180 100 100
;
; BOXES
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
180 100 100
;
; BUTTONS (GENERAL)
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
180 100 100
; BUTTONS (ACCEPT)
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
180 100 100
;
; BUTTONS (CANCEL)
; HUE SATURATION VALUE
; degrees (0-360) 0-200 0-200
180 100 100
;
; TRANSPARENCY
; 0.0-1.0
0.75
The load_bar message was at the end indeed, between "Compositing..." and "Finished!". It happens both with and without using -sample (with -sample, it appears twice in a row). I am getting a loading bar output though.
[attachment deleted by admin]
-
I'll have to have a go at reproducing the colour issue. Were you using the windows executable, or compiling yourself? 32-bit or 64-bit? What OS?
-
Using the Windows exec provided, on Windows XP Professional SP3, 32-bit.
In case it helps: attached is the colour at hue 179.
[attachment deleted by admin]
-
That's pretty bad. :(
While I try to have a stab at building the native windows executable in another environment, maybe try compiling yourself in cygwin.
EDIT:
/me facepalms
The provided exe is dodgy. :(
I'll provide an updated version as soon as I can. In the meantime, can you give this a go?
http://www.mediafire.com/?mynlkmyddma
-
That's... FSO builds? What do I do with them?
-
Odd... mediafire gave the wrong link to copy/paste.
This should be the right one. New windows exe for the templates.
http://www.mediafire.com/?mnko2y1lfmw
-
Much better now, thanks :)
The load_bar thingy is gone as well.
-
/applause. Don't have time to check this out at the moment, but it looks awesome, and here's hoping any remaining kinks get worked out.
-
They'll only get fixed if people tell me about them so I can actually fix them. :P
-
Updated first post - v 2.0.1 - bugfixes, version string and windows executable now builds with Eclipse/MinGW.
-
Ahh, just when I found something: just a minor issue. When using the make_dds BAT, it does not change the filetype in 2_loading.eff to DDS; it still says TGA.
-
It was never supposed to. :P
I'll add a note about the EFF in the documentation for the next release.
-
Coming across these things as I test: the medals show up fine in the medalbox, but it seems that in the debriefing another image is used for them, with the original black-greenish background.
-
/me facepalms
Sorry, looked at those images and thought they were black background/transparent. Closer check in GIMP says you're right.
To fix this, I'll have to add the relevant 28 images to the static section of the templates.
Keep up the good work. :hopping:
-
:bump:
Try these:
http://www.mediafire.com/?tkqwegtyjlw