Author Topic: New configuration.xml for GAE  (Read 1135 times)

ZaggyDad

  • Guest
New configuration.xml for GAE
« on: 10 November 2009, 22:56:56 »
I made modification of configuration.xml to make configurator.exe modify the Glest Advanced settings a while ago, but never posted it, and then I totally forgot about it. But I redid it with the newer version of GAE, and it works, other than the fact that bools aren't really used by GAE, and it instead uses true/false settings. I'm planning on changing those to Enums with true/false as the settings, but I haven't done it yet and am to lazy to get it over with. Anyway, without further ado:

Edit: Here it is with the enums, and modified for the latest version of GAE, since some value names were changed. Err, I had to remove the original code, since the forum has a limit to less than 20000 characters. Rgh.

Code: [Select]
<?xml version="1.0" standalone="yes"?>
<configuration>
<title value="Glest Advanced"/>
<file-name value="glestadv.ini"/>
<icon value="true" path="robotics.ico"/>
<field-groups>
<field-group name="General">
<field type="Int">
<name value="Screen width"/>
<variable-name value="DisplayWidth"/>
<description value=""/>
<default value="1024"/>
</field>
<field type="Int">
<name value="Screen height"/>
<variable-name value="DisplayHeight"/>
<description value=""/>
<default value="768"/>
</field>
<field type="Int">
<name value="Refresh frequency"/>
<variable-name value="DisplayRefreshFrequency"/>
<description value=""/>
<default value="75"/>
</field>
<field type="Enum">
<name value="Color bits"/>
<variable-name value="RenderColorBits"/>
<description value=""/>
<default value="32"/>
<enums>
<enum value="16"/>
<enum value="24"/>
<enum value="32"/>
</enums>
</field>
<field type="Enum">
<name value="Windowed"/>
<variable-name value="DisplayWindowed"/>
<description value="Execute in a window"/>
<default value="false"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="First time"/>
<variable-name value="MiscFirstTime"/>
<description value=""/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="FloatRange">
<name value="Scroll speed"/>
<variable-name value="UiScrollSpeed"/>
<description value=""/>
<default value="1.50"/>
<min value="0.25"/>
<max value="5.00"/>
</field>
<field type="FloatRange">
<name value="Gameplay speed maximum"/>
<variable-name value="GsSpeedFastest"/>
<description value=""/>
<default value="2.00"/>
<min value="0"/>
<max value="20"/>
</field>
<field type="FloatRange">
<name value="Gameplay speed minimum"/>
<variable-name value="GsSpeedSlowest"/>
<description value=""/>
<default value="0.50"/>
<min value="0"/>
<max value="20"/>
</field>
<field type="Enum">
<name value="Random start locations enabled"/>
<variable-name value="GsRandStartLocs"/>
<description value=""/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Fog of war enabled"/>
<variable-name value="GsFogOfWarEnabled"/>
<description value=""/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Auto repair"/>
<variable-name value="GsAutoRepairEnabled"/>
<description value=""/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Auto return"/>
<variable-name value="GsAutoReturnEnabled"/>
<description value="If enabled, all units automatically doing

something will return to their previous positions after finishing."/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
</field-group>

<field-group name="Renderer">
<field type="Enum">
<name value="Renderer"/>
<variable-name value="RenderGraphicsFactory"/>
<description value=""/>
<default value="OpenGL"/>
<enums>
<enum value="OpenGL"/>
<enum value="OpenGL2"/>
</enums>
</field>
<field type="Enum">
<name value="Check OpenGL version on startup"/>
<variable-name value="RenderCheckGlCaps"/>
<description value=""/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Filter"/>
<variable-name value="RenderFilter"/>
<description value=""/>
<default value="Bilinear"/>
<enums>
<enum value="Bilinear"/>
<enum value="Trilinear"/>
</enums>
</field>
<field type="Enum">
<name value="Depth bits"/>
<variable-name value="RenderDepthBits"/>
<description value="Z buffer precision"/>
<default value="32"/>
<enums>
<enum value="16"/>
<enum value="24"/>
<enum value="32"/>
</enums>
</field>
<field type="Enum">
<name value="3D textures"/>
<variable-name value="RenderTextures3D"/>
<description value="If enabled, 3D textures are used for water

animation, disable on old cards"/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Shadows"/>
<variable-name value="RenderShadows"/>
<description value="Projected shadows are fast but only create

units and object shadows and in some cases are incorrect.  Shadow mapping creates everything

over everything shadows, but are slow and look aliased in some cards"/>
<default value="Projected"/>
<enums>
<enum value="Disabled"/>
<enum value="Projected"/>
<enum value="ShadowMapping"/>
</enums>
</field>
<field type="Enum">
<name value="Shadow texture size"/>
<variable-name value="RenderShadowTextureSize"/>
<description value="Size of the texture used for projected

shadows and shadow mapping, bigger sizes result in less pixelized shadows but are much slower"/>
<default value="512"/>
<enums>
<enum value="256"/>
<enum value="512"/>
</enums>
</field>
<field type="FloatRange">
<name value="Shadow alpha"/>
<variable-name value="RenderShadowAlpha"/>
<description value="Shadow transparency"/>
<default value="0.2"/>
<min value="0"/>
<max value="1"/>
</field>
<field type="IntRange">
<name value="Shadow frame skip"/>
<variable-name value="RenderShadowFrameSkip"/>
<description value=""/>
<default value="2"/>
<min value="0"/>
<max value="5"/>
</field>
<field type="FloatRange">
<name value="Day time"/>
<variable-name value="GsDayTime"/>
<description value="Day/Night cycle duration, in seconds"/>
<default value="1000.00"/>
<min value="100"/>
<max value="2000"/>
</field>
<field type="IntRange">
<name value="Maximum lights"/>
<variable-name value="RenderLightsMax"/>
<description value=""/>
<default value="1"/>
<min value="1"/>
<max value="8"/>
</field>
<field type="Enum">
<name value="Fog of war smoothing"/>
<variable-name value="RenderFogOfWarSmoothing"/>
<description value=""/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="IntRange">
<name value="Fog of war sm. frame skip"/>
<variable-name value="RenderFogOfWarSmoothingFrameSkip"/>
<description value=""/>
<default value="3"/>
<min value="0"/>
<max value="5"/>
</field>
</field-group>

<field-group name="Audio">
<field type="Enum">
<name value="Sound factory"/>
<variable-name value="SoundFactory"/>
<description value=""/>
<default value="DirectSound8"/>
<enums>
<enum value="DirectSound8"/>
</enums>
</field>
<field type="IntRange">
<name value="FX volume"/>
<variable-name value="SoundVolumeFx"/>
<description value=""/>
<default value="80"/>
<min value="0"/>
<max value="100"/>
</field>
<field type="IntRange">
<name value="Music volume"/>
<variable-name value="SoundVolumeMusic"/>
<description value=""/>
<default value="90"/>
<min value="0"/>
<max value="100"/>
</field>
<field type="IntRange">
<name value="Ambient volume"/>
<variable-name value="SoundVolumeAmbient"/>
<description value=""/>
<default value="80"/>
<min value="0"/>
<max value="100"/>
</field>
</field-group>

<field-group name="GUI">
<field type="String">
<name value="Menu font"/>
<variable-name value="RenderFontMenu"/>
<description value=""/>
<default value="Verdana"/>
</field>
<field type="String">
<name value="Console font"/>
<variable-name value="RenderFontConsole"/>
<description value=""/>
<default value="Verdana"/>
</field>
<field type="String">
<name value="Display font"/>
<variable-name value="RenderFontDisplay"/>
<description value=""/>
<default value="Verdana"/>
</field>
<field type="String">
<name value="Language"/>
<variable-name value="UiLocale"/>
<description value=""/>
<default value="en"/>
</field>
<field type="Enum">
<name value="Focus arrows"/>
<variable-name value="UiFocusArrows"/>
<description value="If enabled, arrows are displayed under units

when they are issued a command"/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Disable ingame UI"/>
<variable-name value="UiPhotoMode"/>
<description value=""/>
<default value="false"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Allow commands on minimap"/>
<variable-name value="UiEnableCommandMinimap"/>
<description value=""/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="IntRange">
<name value="Maximum console lines"/>
<variable-name value="UiConsoleMaxLines"/>
<description value=""/>
<default value="10"/>
<min value="0"/>
<max value="50"/>
</field>
<field type="IntRange">
<name value="Console text timeout"/>
<variable-name value="UiConsoleTimeout"/>
<description value=""/>
<default value="20"/>
<min value="1"/>
<max value="50"/>
</field>
</field-group>

<field-group name="Network">
<field type="String">
<name value="Player name"/>
<variable-name value="NetPlayerName"/>
<description value=""/>
<default value="Player"/>
</field>
<field type="String">
<name value="Server IP"/>
<variable-name value="NetServerIp"/>
<description value=""/>
<default value="192.168.1.1"/>
</field>
<field type="Int">
<name value="Server port"/>
<variable-name value="NetServerPort"/>
<description value=""/>
<default value="12345"/>
</field>
<field type="Enum">
<name value="Client data consistency checks"/>
<variable-name value="NetConsistencyChecks"/>
<description value=""/>
<default value="false"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Speed change allowed"/>
<variable-name value="NetChangeSpeedAllowed"/>
<description value=""/>
<default value="false"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Pause allowed"/>
<variable-name value="NetPauseAllowed"/>
<description value=""/>
<default value="false"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="IntRange">
<name value="Minimum full update interval"/>
<variable-name value="NetMinFullUpdateInterval"/>
<description value=""/>
<default value="60000"/>
<min value="10000"/>
<max value="60000"/>
</field>
<field type="IntRange">
<name value="Network FPS"/>
<variable-name value="NetFps"/>
<description value=""/>
<default value="4"/>
<min value="1"/>
<max value="60"/>
</field>
</field-group>

<field-group name="Advanced">
<field type="Enum">
<name value="Debug mode"/>
<variable-name value="MiscDebugMode"/>
<description value=""/>
<default value="false"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Debug textures"/>
<variable-name value="MiscDebugTextures"/>
<description value=""/>
<default value="false"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Catch exceptions"/>
<variable-name value="MiscCatchExceptions"/>
<description value=""/>
<default value="false"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="IntRange">
<name value="AI log"/>
<variable-name value="MiscAiLog"/>
<description value=""/>
<default value="0"/>
<min value="0"/>
<max value="4"/>
</field>
<field type="IntRange">
<name value="Maximum pathfinder nodes"/>
<variable-name value="PathFinderMaxNodes"/>
<description value=""/>
<default value="1024"/>
<min value="512"/>
<max value="4094"/>
</field>
<field type="Enum">
<name value="AI log console redirection"/>
<variable-name value="MiscAiRedir"/>
<description value=""/>
<default value="false"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="FloatRange">
<name value="Camera field of view"/>
<variable-name value="CameraFov"/>
<description value=""/>
<default value="45.00"/>
<min value="32"/>
<max value="256"/>
</field>
<field type="Enum">
<name value="Invert camera's X axis"/>
<variable-name value="CameraInvertXAxis"/>
<description value=""/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="Enum">
<name value="Invert camera's Y axis"/>
<variable-name value="CameraInvertYAxis"/>
<description value=""/>
<default value="true"/>
<enums>
<enum value="true"/>
<enum value="false"/>
</enums>
</field>
<field type="FloatRange">
<name value="Camera maximum altitude"/>
<variable-name value="CameraMaxDistance"/>
<description value=""/>
<default value="35.00"/>
<min value="0"/>
<max value="1024"/>
</field>
<field type="FloatRange">
<name value="Camera minimum altitude"/>
<variable-name value="CameraMinDistance"/>
<description value=""/>
<default value="8.00"/>
<min value="0"/>
<max value="1024"/>
</field>
<field type="FloatRange">
<name value="Camera maximum yaw"/>
<variable-name value="CameraMaxYaw"/>
<description value=""/>
<default value="77.50"/>
<min value="0"/>
<max value="90"/>
</field>
<field type="FloatRange">
<name value="Camera minimum yaw"/>
<variable-name value="CameraMinYaw"/>
<description value=""/>
<default value="20.00"/>
<min value="0"/>
<max value="90"/>
</field>
</field-group>
</field-groups>
</configuration>

Use this text to replace the text in configuration.xml after backing it up.

If anyone wants to modify the configurator code to have checkboxes with true/false values, go ahead. That would be really helpful.
« Last Edit: 11 November 2009, 01:14:12 by ZaggyDad »

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: New configuration.xml for GAE
« Reply #1 on: 12 November 2009, 04:39:32 »
Nice. I was considering a little while ago to remake a configuration program with Irrlicht (since making GUI controls with that is ultra easy and it's open source and cross platform), but realized I had no clue on how to read an INI. An XML, sure, but an INI? Hmm... How is that done?

Regardless, that is nice Zaggy. The current configuration for Glest is not for GAE so this is handy!
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert