Full GUIs



This package is intended as a tool for anyone who wants to implement script controllable full screen guis in their doom3 modification, as for example in RPG type mods. The techniques are based on Deavile's techniques to incorporate full screen guis. This package includes two full screen guis: stats.gui and shop.gui. In addition to Deavile's techniques, code to save the gui states and code to manipulate and retrieve gui values is added to the SDK. The dll files for use in vanilla doom3 and ROE as well as the source code are included.



to start the demonstration:

1) double-click start.bat
2) bring down the console and type: map test
3) press TAB to activate stats gui and BACKSPACE to activate shop gui - both guis are completely empty except for an exit button.

contents of this package:

/src 			source files
fullguis-x.pk4		contains the dll file specific for vanilla doom or roe
DoomConfig.cfg		contains key bindings to toggle a cvar after pressing TAB or BACKSPACE 
autoexec.cfg		defines the cvars used to track TAB or BACKSPACE keys
/maps			contains simple test map and map script demonstration of two-way gui-mapscript data exchange
/script			contains definitions of custom script events used to control guis
/guis			contains minimal guis for demonstration
start.bat		starts doom3 with activated mod

Added script events:

1) Display control of fullscreen guis:

	void activateStats(float)

		activateStats(1) activates the stats gui; activateStats(0) deactivates the stats gui

	void activateShop(float)

		activateShop(1) activates the shop gui; activateShop(0) deactivates the shop gui

2) Setting parameters in fullscreen guis:

	void setStatsFloat(string guikey, float guivalue); 
	void setStatsString(string guikey, string guivalue);
	void setShopFloat(string guikey, float guivalue);
	void setShopString(string guikey, string guivalue);

		sets the guikey to value guivalue of the stats or shop guis. 
		These functions are analogous to the standard setGuiParm function.

	float getStatsFloat(float guinum, string guikey);
	string getStatsString(float guinum, string guikey);
	float getShopFloat(float guinum, string guikey);
	string getShopString(float guinum, string guikey);

		retrieves the guikey value from a specified guikey in the stats or shop guis. 
		These functions are analogous to the standard getGuiParm function in ROE. Note that float guinum
		does not have any functionality - this parameter has only been added to use the same format like the 
  		standard getGuiParm function.

These commands are very powerful and if used correctly, they can be used to control guis of very high complexity. For example, listdefs can be dynamically set and choices in listdefs or choicedefs can be monitored from the map script. A simple example is shown in the demonstration map script, in which pressing the exit button is monitored from the map script by using the getStatsFloat command.

Have fun using these commands in your own creations! Don't forget to give credit - especially to Deavile for sharing his fullscreen gui techniques on www.doom3world.org, which are the basis for this package. 


There are no comments yet. Be the first!