Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
INI Class Reference

#include <INI.h>

Public Member Functions

 INI ()
 
 ~INI ()
 
void loadDirectory (AsciiString dirName, Bool subdirs, INILoadType loadType, Xfer *pXfer)
 load directory of INI files
 
void load (AsciiString filename, INILoadType loadType, Xfer *pXfer)
 load INI file
 
AsciiString getFilename (void) const
 
INILoadType getLoadType (void) const
 
UnsignedInt getLineNum (void) const
 
const char * getSeps (void) const
 
const char * getSepsPercent (void) const
 
const char * getSepsColon (void) const
 
const char * getSepsQuote (void)
 
Bool isEOF (void) const
 
void initFromINI (void *what, const FieldParse *parseTable)
 
void initFromINIMulti (void *what, const MultiIniFieldParse &parseTableList)
 
void initFromINIMultiProc (void *what, BuildMultiIniFieldProc proc)
 
const char * getNextToken (const char *seps=NULL)
 
const char * getNextTokenOrNull (const char *seps=NULL)
 
const char * getNextSubToken (const char *expected)
 
AsciiString getNextAsciiString ()
 
AsciiString getNextQuotedAsciiString ()
 

Static Public Member Functions

static Bool isDeclarationOfType (AsciiString blockType, AsciiString blockName, char *bufferToCheck)
 
static Bool isEndOfBlock (char *bufferToCheck)
 
static void parseObjectDefinition (INI *ini)
 
static void parseObjectReskinDefinition (INI *ini)
 
static void parseWeaponTemplateDefinition (INI *ini)
 
static void parseScienceDefinition (INI *ini)
 
static void parseRankDefinition (INI *ini)
 
static void parseCrateTemplateDefinition (INI *ini)
 
static void parseLocomotorTemplateDefinition (INI *ini)
 
static void parseLanguageDefinition (INI *ini)
 
static void parsePlayerTemplateDefinition (INI *ini)
 
static void parseGameDataDefinition (INI *ini)
 
static void parseMapDataDefinition (INI *ini)
 
static void parseAnim2DDefinition (INI *ini)
 
static void parseAudioEventDefinition (INI *ini)
 
static void parseDialogDefinition (INI *ini)
 
static void parseMusicTrackDefinition (INI *ini)
 
static void parseWebpageURLDefinition (INI *ini)
 
static void parseHeaderTemplateDefinition (INI *ini)
 
static void parseParticleSystemDefinition (INI *ini)
 
static void parseWaterSettingDefinition (INI *ini)
 
static void parseWaterTransparencyDefinition (INI *ini)
 
static void parseWeatherDefinition (INI *ini)
 
static void parseMappedImageDefinition (INI *ini)
 
static void parseArmorDefinition (INI *ini)
 
static void parseDamageFXDefinition (INI *ini)
 
static void parseDrawGroupNumberDefinition (INI *ini)
 
static void parseTerrainDefinition (INI *ini)
 
static void parseTerrainRoadDefinition (INI *ini)
 
static void parseTerrainBridgeDefinition (INI *ini)
 
static void parseMetaMapDefinition (INI *ini)
 
static void parseFXListDefinition (INI *ini)
 
static void parseObjectCreationListDefinition (INI *ini)
 
static void parseMultiplayerSettingsDefinition (INI *ini)
 
static void parseMultiplayerColorDefinition (INI *ini)
 
static void parseMultiplayerStartingMoneyChoiceDefinition (INI *ini)
 
static void parseOnlineChatColorDefinition (INI *ini)
 
static void parseMapCacheDefinition (INI *ini)
 
static void parseVideoDefinition (INI *ini)
 
static void parseCommandButtonDefinition (INI *ini)
 
static void parseCommandSetDefinition (INI *ini)
 
static void parseUpgradeDefinition (INI *ini)
 
static void parseMouseDefinition (INI *ini)
 
static void parseMouseCursorDefinition (INI *ini)
 
static void parseAIDataDefinition (INI *ini)
 
static void parseSpecialPowerDefinition (INI *ini)
 
static void parseInGameUIDefinition (INI *ini)
 
static void parseControlBarSchemeDefinition (INI *ini)
 
static void parseControlBarResizerDefinition (INI *ini)
 
static void parseShellMenuSchemeDefinition (INI *ini)
 
static void parseCampaignDefinition (INI *ini)
 
static void parseAudioSettingsDefinition (INI *ini)
 
static void parseMiscAudio (INI *ini)
 
static void parseStaticGameLODDefinition (INI *ini)
 
static void parseDynamicGameLODDefinition (INI *ini)
 
static void parseStaticGameLODLevel (INI *ini, void *, void *store, const void *)
 
static void parseDynamicGameLODLevel (INI *ini, void *, void *store, const void *)
 
static void parseLODPreset (INI *ini)
 
static void parseBenchProfile (INI *ini)
 
static void parseEvaEvent (INI *ini)
 
static void parseCredits (INI *ini)
 
static void parseWindowTransitions (INI *ini)
 
static void parseChallengeModeDefinition (INI *ini)
 
static void parseUnsignedByte (INI *ini, void *instance, void *store, const void *userData)
 
static void parseShort (INI *ini, void *instance, void *store, const void *userData)
 
static void parseUnsignedShort (INI *ini, void *instance, void *store, const void *userData)
 
static void parseInt (INI *ini, void *instance, void *store, const void *userData)
 
static void parseUnsignedInt (INI *ini, void *instance, void *store, const void *userData)
 
static void parseReal (INI *ini, void *instance, void *store, const void *userData)
 
static void parsePositiveNonZeroReal (INI *ini, void *instance, void *store, const void *userData)
 
static void parseBool (INI *ini, void *instance, void *store, const void *userData)
 
static void parseBitInInt32 (INI *ini, void *instance, void *store, const void *userData)
 
static void parseAsciiString (INI *ini, void *instance, void *store, const void *userData)
 
static void parseQuotedAsciiString (INI *ini, void *instance, void *store, const void *userData)
 
static void parseAsciiStringVector (INI *ini, void *instance, void *store, const void *userData)
 
static void parseAsciiStringVectorAppend (INI *ini, void *instance, void *store, const void *userData)
 
static void parseAndTranslateLabel (INI *ini, void *instance, void *store, const void *userData)
 
static void parseMappedImage (INI *ini, void *instance, void *store, const void *userData)
 
static void parseAnim2DTemplate (INI *ini, void *instance, void *store, const void *userData)
 
static void parsePercentToReal (INI *ini, void *instance, void *store, const void *userData)
 
static void parseRGBColor (INI *ini, void *instance, void *store, const void *userData)
 
static void parseRGBAColorInt (INI *ini, void *instance, void *store, const void *userData)
 
static void parseColorInt (INI *ini, void *instance, void *store, const void *userData)
 
static void parseCoord3D (INI *ini, void *instance, void *store, const void *userData)
 
static void parseCoord2D (INI *ini, void *instance, void *store, const void *userData)
 
static void parseICoord2D (INI *ini, void *instance, void *store, const void *userData)
 
static void parseDynamicAudioEventRTS (INI *ini, void *instance, void *store, const void *userData)
 
static void parseAudioEventRTS (INI *ini, void *instance, void *store, const void *userData)
 
static void parseFXList (INI *ini, void *instance, void *store, const void *userData)
 
static void parseParticleSystemTemplate (INI *ini, void *instance, void *store, const void *userData)
 
static void parseObjectCreationList (INI *ini, void *instance, void *store, const void *userData)
 
static void parseSpecialPowerTemplate (INI *ini, void *instance, void *store, const void *userData)
 
static void parseUpgradeTemplate (INI *ini, void *instance, void *store, const void *userData)
 
static void parseScience (INI *ini, void *instance, void *store, const void *userData)
 
static void parseScienceVector (INI *ini, void *instance, void *store, const void *userData)
 
static void parseGameClientRandomVariable (INI *ini, void *instance, void *store, const void *userData)
 
static void parseBitString8 (INI *ini, void *instance, void *store, const void *userData)
 
static void parseBitString32 (INI *ini, void *instance, void *store, const void *userData)
 
static void parseByteSizedIndexList (INI *ini, void *instance, void *store, const void *userData)
 
static void parseIndexList (INI *ini, void *instance, void *store, const void *userData)
 
static void parseLookupList (INI *ini, void *instance, void *store, const void *userData)
 
static void parseThingTemplate (INI *ini, void *instance, void *store, const void *userData)
 
static void parseArmorTemplate (INI *ini, void *instance, void *store, const void *userData)
 
static void parseDamageFX (INI *ini, void *instance, void *store, const void *userData)
 
static void parseWeaponTemplate (INI *ini, void *instance, void *store, const void *userData)
 
static void parseDurationReal (INI *ini, void *instance, void *store, const void *userData)
 
static void parseDurationUnsignedInt (INI *ini, void *instance, void *store, const void *userData)
 
static void parseDurationUnsignedShort (INI *ini, void *instance, void *store, const void *userData)
 
static void parseVelocityReal (INI *ini, void *instance, void *store, const void *userData)
 
static void parseAccelerationReal (INI *ini, void *instance, void *store, const void *userData)
 
static void parseAngleReal (INI *ini, void *instance, void *store, const void *userData)
 
static void parseAngularVelocityReal (INI *ini, void *instance, void *store, const void *userData)
 
static void parseDamageTypeFlags (INI *ini, void *instance, void *store, const void *userData)
 
static void parseDeathTypeFlags (INI *ini, void *instance, void *store, const void *userData)
 
static void parseVeterancyLevelFlags (INI *ini, void *instance, void *store, const void *userData)
 
static void parseSoundsList (INI *ini, void *instance, void *store, const void *)
 
static ScienceType scanScience (const char *token)
 
static Int scanInt (const char *token)
 
static UnsignedInt scanUnsignedInt (const char *token)
 
static Real scanReal (const char *token)
 
static Real scanPercentToReal (const char *token)
 
static Int scanIndexList (const char *token, ConstCharPtrArray nameList)
 
static Int scanLookupList (const char *token, ConstLookupListRecArray lookupList)
 
static Bool scanBool (const char *token)
 

Protected Types

enum  { INI_READ_BUFFER = 8192 }
 

Protected Member Functions

void prepFile (AsciiString filename, INILoadType loadType)
 
void unPrepFile ()
 
void readLine (void)
 

Static Protected Member Functions

static Bool isValidINIFilename (const char *filename)
 is this a valid .ini filename
 

Protected Attributes

Filem_file
 file pointer of file currently loading
 
char m_readBuffer [INI_READ_BUFFER]
 internal read buffer
 
unsigned m_readBufferNext
 next char in read buffer
 
unsigned m_readBufferUsed
 number of bytes in read buffer
 
AsciiString m_filename
 filename of file currently loading
 
INILoadType m_loadType
 load time for current file
 
UnsignedInt m_lineNum
 current line number that's been read
 
char m_buffer [INI_MAX_CHARS_PER_LINE+1]
 buffer to read file contents into
 
const char * m_seps
 for strtok parsing
 
const char * m_sepsPercent
 m_seps with percent delimiter as well
 
const char * m_sepsColon
 m_seps with colon delimiter as well
 
const char * m_sepsQuote
 token to represent a quoted ascii string
 
const char * m_blockEndToken
 token to represent end of data block
 
Bool m_endOfFile
 TRUE when we've hit EOF.
 

Detailed Description

INI Reader interface

Definition at line 168 of file INI.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
INI_READ_BUFFER 

size of internal read buffer

Definition at line 396 of file INI.h.

Constructor & Destructor Documentation

◆ INI()

INI::INI ( void )

< make sure you update m_sepsPercent/m_sepsColon as well

< stop at " = EOL

Definition at line 184 of file INI.cpp.

◆ ~INI()

INI::~INI ( void )

Definition at line 207 of file INI.cpp.

Member Function Documentation

◆ getFilename()

AsciiString INI::getFilename ( void ) const
inline

Definition at line 247 of file INI.h.

◆ getLineNum()

UnsignedInt INI::getLineNum ( void ) const
inline

Definition at line 249 of file INI.h.

◆ getLoadType()

INILoadType INI::getLoadType ( void ) const
inline

Definition at line 248 of file INI.h.

◆ getNextAsciiString()

AsciiString INI::getNextAsciiString ( )

return the next ascii string. this is usually the same the result of getNextToken(), except that it allows for quote-delimited strings (eg, "foo bar"), so you can get strings with spaces, and/or empty strings.

Definition at line 764 of file INI.cpp.

◆ getNextQuotedAsciiString()

AsciiString INI::getNextQuotedAsciiString ( )

Definition at line 715 of file INI.cpp.

◆ getNextSubToken()

const char * INI::getNextSubToken ( const char * expected)

This is called when the next thing you expect is something like:

Tag:value

pass "Tag" (without the colon) for 'expected', and you will have the 'value' token returned.

If "Tag" is not the next token, an error is thrown.

Definition at line 1672 of file INI.cpp.

◆ getNextToken()

const char * INI::getNextToken ( const char * seps = NULL)

return the next token. if seps is null (or omitted), the standard seps are used.

this will never return null; if there are no more tokens, an exception will be thrown.

Definition at line 1559 of file INI.cpp.

◆ getNextTokenOrNull()

const char * INI::getNextTokenOrNull ( const char * seps = NULL)

just like getNextToken(), except that null is returned if no more tokens are present (rather than throwing an exception). usually you should call getNextToken(), but for some cases this is handier (ie, parsing a variable-length number of tokens).

Definition at line 1569 of file INI.cpp.

◆ getSeps()

const char * INI::getSeps ( void ) const
inline

Definition at line 250 of file INI.h.

◆ getSepsColon()

const char * INI::getSepsColon ( void ) const
inline

Definition at line 252 of file INI.h.

◆ getSepsPercent()

const char * INI::getSepsPercent ( void ) const
inline

Definition at line 251 of file INI.h.

◆ getSepsQuote()

const char * INI::getSepsQuote ( void )
inline

Definition at line 253 of file INI.h.

◆ initFromINI()

void INI::initFromINI ( void * what,
const FieldParse * parseTable )

Definition at line 1459 of file INI.cpp.

◆ initFromINIMulti()

void INI::initFromINIMulti ( void * what,
const MultiIniFieldParse & parseTableList )

Definition at line 1475 of file INI.cpp.

◆ initFromINIMultiProc()

void INI::initFromINIMultiProc ( void * what,
BuildMultiIniFieldProc proc )

Definition at line 1467 of file INI.cpp.

◆ isDeclarationOfType()

Bool INI::isDeclarationOfType ( AsciiString blockType,
AsciiString blockName,
char * bufferToCheck )
static

Definition at line 1877 of file INI.cpp.

◆ isEndOfBlock()

Bool INI::isEndOfBlock ( char * bufferToCheck)
static

Definition at line 1939 of file INI.cpp.

◆ isEOF()

Bool INI::isEOF ( void ) const
inline

Definition at line 254 of file INI.h.

◆ isValidINIFilename()

Bool INI::isValidINIFilename ( const char * filename)
staticprotected

is this a valid .ini filename

Definition at line 156 of file INI.cpp.

◆ load()

void INI::load ( AsciiString filename,
INILoadType loadType,
Xfer * pXfer )

load INI file

Load and parse an INI file

Definition at line 351 of file INI.cpp.

◆ loadDirectory()

void INI::loadDirectory ( AsciiString dirName,
Bool subdirs,
INILoadType loadType,
Xfer * pXfer )

load directory of INI files

Load all INI files in the specified directory (and subdirectories if indicated). If we are to load subdirectories, we will load them after we load all the files in the current directory

Definition at line 217 of file INI.cpp.

◆ parseAccelerationReal()

void INI::parseAccelerationReal ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 1742 of file INI.cpp.

◆ parseAIDataDefinition()

void INI::parseAIDataDefinition ( INI * ini)
static

Parse GameData entry

Definition at line 47 of file INIAiData.cpp.

◆ parseAndTranslateLabel()

void INI::parseAndTranslateLabel ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a string label, get the translated actual text from the label and store into a UNICODE string.

Definition at line 809 of file INI.cpp.

◆ parseAngleReal()

void INI::parseAngleReal ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a degree value (0 to 360) and store the radian value of that degree in a Real

Definition at line 584 of file INI.cpp.

◆ parseAngularVelocityReal()

void INI::parseAngularVelocityReal ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an angular velocity in degrees-per-sec and store the rads-per-frame value of that degree in a Real

Definition at line 598 of file INI.cpp.

◆ parseAnim2DDefinition()

void INI::parseAnim2DDefinition ( INI * ini)
static

Parse animation entry

Definition at line 39 of file INIAnimation.cpp.

◆ parseAnim2DTemplate()

void INI::parseAnim2DTemplate ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a string label assumed as a Anim2D template name. Translate that name to an actual template pointer for storage

Definition at line 850 of file INI.cpp.

◆ parseArmorDefinition()

void INI::parseArmorDefinition ( INI * ini)
static

Definition at line 149 of file Armor.cpp.

◆ parseArmorTemplate()

void INI::parseArmorTemplate ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an ArmorTemplate and assign to the 'ArmorTemplate *' at store

Definition at line 1217 of file INI.cpp.

◆ parseAsciiString()

void INI::parseAsciiString ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an ASCII string from buffer and assign at location 'store'

Definition at line 653 of file INI.cpp.

◆ parseAsciiStringVector()

void INI::parseAsciiStringVector ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 673 of file INI.cpp.

◆ parseAsciiStringVectorAppend()

void INI::parseAsciiStringVectorAppend ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 685 of file INI.cpp.

◆ parseAudioEventDefinition()

void INI::parseAudioEventDefinition ( INI * ini)
static

Definition at line 71 of file INIAudioEventInfo.cpp.

◆ parseAudioEventRTS()

void INI::parseAudioEventRTS ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an audio event and assign to the 'AudioEventRTS*' at store

Definition at line 1170 of file INI.cpp.

◆ parseAudioSettingsDefinition()

void INI::parseAudioSettingsDefinition ( INI * ini)
static

Definition at line 1138 of file GameAudio.cpp.

◆ parseBenchProfile()

void INI::parseBenchProfile ( INI * ini)
static

Definition at line 165 of file GameLOD.cpp.

◆ parseBitInInt32()

void INI::parseBitInInt32 ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse Bool from buffer; if true, or in MASK, otherwise and out MASK. The buffer token must be in the form of a string "Yes" or "No" (case is ignored)

Definition at line 621 of file INI.cpp.

◆ parseBitString32()

void INI::parseBitString32 ( INI * ini,
void * instance,
void * store,
const void * userData )
static

'store' points to an 32 bit unsigned integer. We will zero that integer, parse each token in the buffer, if the token is in the userData table of strings, we will set the according bit flag for it

Definition at line 903 of file INI.cpp.

◆ parseBitString8()

void INI::parseBitString8 ( INI * ini,
void * instance,
void * store,
const void * userData )
static

'store' points to an 32 bit unsigned integer. We will zero that integer, parse each token in the buffer, if the token is in the userData table of strings, we will set the according bit flag for it

Definition at line 886 of file INI.cpp.

◆ parseBool()

void INI::parseBool ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse Bool from buffer and assign at location 'store'. The buffer token must be in the form of a string "Yes" or "No" (case is ignored)

Definition at line 612 of file INI.cpp.

◆ parseByteSizedIndexList()

void INI::parseByteSizedIndexList ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a single string token, check for that token in the index list of names provided and store the index into that list.

NOTE: Is is assumed that we are going to store the index into a 4 byte integer. This works well for INT and ENUM definitions

Definition at line 1412 of file INI.cpp.

◆ parseCampaignDefinition()

void INI::parseCampaignDefinition ( INI * ini)
static

Definition at line 95 of file CampaignManager.cpp.

◆ parseChallengeModeDefinition()

void INI::parseChallengeModeDefinition ( INI * ini)
static

Parse Gen Challenge entries

Definition at line 125 of file ChallengeGenerals.cpp.

◆ parseColorInt()

void INI::parseColorInt ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a color in the form of

RGB_COLOR = R:100 G:114 B:245 [A:233] and store in "Color" structure pointed to by 'store'

Definition at line 1056 of file INI.cpp.

◆ parseCommandButtonDefinition()

void INI::parseCommandButtonDefinition ( INI * ini)
static

Parse a command button

Definition at line 41 of file INICommandButton.cpp.

◆ parseCommandSetDefinition()

void INI::parseCommandSetDefinition ( INI * ini)
static

Parse a command set

Definition at line 40 of file INICommandSet.cpp.

◆ parseControlBarResizerDefinition()

void INI::parseControlBarResizerDefinition ( INI * ini)
static

Definition at line 210 of file ControlBarResizer.cpp.

◆ parseControlBarSchemeDefinition()

void INI::parseControlBarSchemeDefinition ( INI * ini)
static

Parse a ControlBarScheme button

Definition at line 73 of file INIControlBarScheme.cpp.

◆ parseCoord2D()

void INI::parseCoord2D ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a 2D coordinate of reals in the form of: FIELD_NAME = X:400 Y:-214.3

Definition at line 1117 of file INI.cpp.

◆ parseCoord3D()

void INI::parseCoord3D ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a 3D coordinate of reals in the form of: FIELD_NAME = X:400 Y:-214.3 Z:8.6

Definition at line 1103 of file INI.cpp.

◆ parseCrateTemplateDefinition()

void INI::parseCrateTemplateDefinition ( INI * ini)
static

Parse Weapon entry

Definition at line 43 of file INICrate.cpp.

◆ parseCredits()

void INI::parseCredits ( INI * ini)
static

Definition at line 92 of file Credits.cpp.

◆ parseDamageFX()

void INI::parseDamageFX ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an DamageFX and assign to the 'DamageFX *' at store

Definition at line 1292 of file INI.cpp.

◆ parseDamageFXDefinition()

void INI::parseDamageFXDefinition ( INI * ini)
static

Definition at line 40 of file INIDamageFX.cpp.

◆ parseDamageTypeFlags()

void INI::parseDamageTypeFlags ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 1804 of file INI.cpp.

◆ parseDeathTypeFlags()

void INI::parseDeathTypeFlags ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 1841 of file INI.cpp.

◆ parseDialogDefinition()

void INI::parseDialogDefinition ( INI * ini)
static

Definition at line 98 of file INIAudioEventInfo.cpp.

◆ parseDrawGroupNumberDefinition()

void INI::parseDrawGroupNumberDefinition ( INI * ini)
static

Definition at line 83 of file INIDrawGroupInfo.cpp.

◆ parseDurationReal()

void INI::parseDurationReal ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 1709 of file INI.cpp.

◆ parseDurationUnsignedInt()

void INI::parseDurationUnsignedInt ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 1717 of file INI.cpp.

◆ parseDurationUnsignedShort()

void INI::parseDurationUnsignedShort ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 1725 of file INI.cpp.

◆ parseDynamicAudioEventRTS()

void INI::parseDynamicAudioEventRTS ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an audio event and assign to the 'AudioEventRTS*' at store

Definition at line 1142 of file INI.cpp.

◆ parseDynamicGameLODDefinition()

void INI::parseDynamicGameLODDefinition ( INI * ini)
static

Parse a description of all the LOD settings for a given detail level

Definition at line 595 of file GameLOD.cpp.

◆ parseDynamicGameLODLevel()

void INI::parseDynamicGameLODLevel ( INI * ini,
void * ,
void * store,
const void *  )
static

Parse an LOD level

Definition at line 618 of file GameLOD.cpp.

◆ parseEvaEvent()

void INI::parseEvaEvent ( INI * ini)
static

Definition at line 165 of file Eva.cpp.

◆ parseFXList()

void INI::parseFXList ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an FXList and assign to the 'FXList *' at store

Definition at line 1258 of file INI.cpp.

◆ parseFXListDefinition()

void INI::parseFXListDefinition ( INI * ini)
static

Definition at line 874 of file FXList.cpp.

◆ parseGameClientRandomVariable()

void INI::parseGameClientRandomVariable ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a "random variable". The format is "FIELD = low high [distribution]".

Definition at line 1685 of file INI.cpp.

◆ parseGameDataDefinition()

void INI::parseGameDataDefinition ( INI * ini)
static

Parse GameData entry

Definition at line 47 of file INIGameData.cpp.

◆ parseHeaderTemplateDefinition()

void INI::parseHeaderTemplateDefinition ( INI * ini)
static

Definition at line 83 of file HeaderTemplate.cpp.

◆ parseICoord2D()

void INI::parseICoord2D ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a 2D coordinate of Ints in the form of: FIELD_NAME = X:400 Y:-214

Definition at line 1130 of file INI.cpp.

◆ parseIndexList()

void INI::parseIndexList ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a single string token, check for that token in the index list of names provided and store the index into that list.

NOTE: Is is assumed that we are going to store the index into a 4 byte integer. This works well for INT and ENUM definitions

Definition at line 1399 of file INI.cpp.

◆ parseInGameUIDefinition()

void INI::parseInGameUIDefinition ( INI * ini)
static

Parse MouseCursor entry

Definition at line 885 of file InGameUI.cpp.

◆ parseInt()

void INI::parseInt ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse integer from buffer and assign at location 'store'

Definition at line 538 of file INI.cpp.

◆ parseLanguageDefinition()

void INI::parseLanguageDefinition ( INI * ini)
static

Definition at line 99 of file GlobalLanguage.cpp.

◆ parseLocomotorTemplateDefinition()

void INI::parseLocomotorTemplateDefinition ( INI * ini)
static

Definition at line 641 of file Locomotor.cpp.

◆ parseLODPreset()

void INI::parseLODPreset ( INI * ini)
static

Parse a description of all the LOD settings for a given detail level

Definition at line 183 of file GameLOD.cpp.

◆ parseLookupList()

void INI::parseLookupList ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a single string token, check for that token in the index list of names provided and store the associated value into that list.

NOTE: Is is assumed that we are going to store the index into a 4 byte integer. This works well for INT and ENUM definitions

Definition at line 1431 of file INI.cpp.

◆ parseMapCacheDefinition()

void INI::parseMapCacheDefinition ( INI * ini)
static

Definition at line 122 of file INIMapCache.cpp.

◆ parseMapDataDefinition()

void INI::parseMapDataDefinition ( INI * ini)
static

Parse MapData entry

Definition at line 46 of file INIMapData.cpp.

◆ parseMappedImage()

void INI::parseMappedImage ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a string label assumed as an image as part of the image collection. Translate to an image pointer for storage

Definition at line 828 of file INI.cpp.

◆ parseMappedImageDefinition()

void INI::parseMappedImageDefinition ( INI * ini)
static

Parse mapped image entry

Definition at line 43 of file INIMappedImage.cpp.

◆ parseMetaMapDefinition()

void INI::parseMetaMapDefinition ( INI * ini)
static

Definition at line 722 of file MetaEvent.cpp.

◆ parseMiscAudio()

void INI::parseMiscAudio ( INI * ini)
static

Definition at line 75 of file INIMiscAudio.cpp.

◆ parseMouseCursorDefinition()

void INI::parseMouseCursorDefinition ( INI * ini)
static

Parse MouseCursor entry

Definition at line 1192 of file Mouse.cpp.

◆ parseMouseDefinition()

void INI::parseMouseDefinition ( INI * ini)
static

Parse MouseCursor entry

Definition at line 1220 of file Mouse.cpp.

◆ parseMultiplayerColorDefinition()

void INI::parseMultiplayerColorDefinition ( INI * ini)
static

Definition at line 59 of file INIMultiplayer.cpp.

◆ parseMultiplayerSettingsDefinition()

void INI::parseMultiplayerSettingsDefinition ( INI * ini)
static

Definition at line 36 of file INIMultiplayer.cpp.

◆ parseMultiplayerStartingMoneyChoiceDefinition()

void INI::parseMultiplayerStartingMoneyChoiceDefinition ( INI * ini)
static

Definition at line 98 of file INIMultiplayer.cpp.

◆ parseMusicTrackDefinition()

void INI::parseMusicTrackDefinition ( INI * ini)
static

Definition at line 43 of file INIAudioEventInfo.cpp.

◆ parseObjectCreationList()

void INI::parseObjectCreationList ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an ObjectCreationList and assign to the 'ObjectCreationList *' at store

Definition at line 1316 of file INI.cpp.

◆ parseObjectCreationListDefinition()

void INI::parseObjectCreationListDefinition ( INI * ini)
static

Definition at line 1632 of file ObjectCreationList.cpp.

◆ parseObjectDefinition()

void INI::parseObjectDefinition ( INI * ini)
static

Parse Object entry

Definition at line 45 of file INIObject.cpp.

◆ parseObjectReskinDefinition()

void INI::parseObjectReskinDefinition ( INI * ini)
static

Parse Object entry

Definition at line 54 of file INIObject.cpp.

◆ parseOnlineChatColorDefinition()

void INI::parseOnlineChatColorDefinition ( INI * ini)
static

Definition at line 82 of file Chat.cpp.

◆ parseParticleSystemDefinition()

void INI::parseParticleSystemDefinition ( INI * ini)
static

Parse entry

Definition at line 39 of file INIParticleSys.cpp.

◆ parseParticleSystemTemplate()

void INI::parseParticleSystemTemplate ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a particle system and assign to 'ParticleSystemTemplate *' at store

Definition at line 1275 of file INI.cpp.

◆ parsePercentToReal()

void INI::parsePercentToReal ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a percent in int or real form such as "23%" or "95.4%" and assign to location 'store' as a number from 0.0 to 1.0

Definition at line 873 of file INI.cpp.

◆ parsePlayerTemplateDefinition()

void INI::parsePlayerTemplateDefinition ( INI * ini)
static

Definition at line 414 of file PlayerTemplate.cpp.

◆ parsePositiveNonZeroReal()

void INI::parsePositiveNonZeroReal ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse real from buffer and assign at location 'store'

Definition at line 568 of file INI.cpp.

◆ parseQuotedAsciiString()

void INI::parseQuotedAsciiString ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an ASCII string from buffer and assign at location 'store'. Has better support for quoted strings. We don't really need this function, but parseString() is broken and we want to leave it broken to maintain existing code.

Definition at line 665 of file INI.cpp.

◆ parseRankDefinition()

void INI::parseRankDefinition ( INI * ini)
static

Definition at line 179 of file RankInfo.cpp.

◆ parseReal()

void INI::parseReal ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse real from buffer and assign at location 'store'

Definition at line 558 of file INI.cpp.

◆ parseRGBAColorInt()

void INI::parseRGBAColorInt ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a color in the form of

RGB_COLOR = R:100 G:114 B:245 [A:233] and store in "RGBAColorInt" structure pointed to by 'store'

Definition at line 1004 of file INI.cpp.

◆ parseRGBColor()

void INI::parseRGBColor ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a color in the form of

RGB_COLOR = R:100 G:114 B:245 and store in "RGBColor" structure pointed to by 'store'

Definition at line 977 of file INI.cpp.

◆ parseScience()

void INI::parseScience ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a science string and store as science type

Definition at line 1378 of file INI.cpp.

◆ parseScienceDefinition()

void INI::parseScienceDefinition ( INI * ini)
static

Definition at line 379 of file Science.cpp.

◆ parseScienceVector()

void INI::parseScienceVector ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 698 of file INI.cpp.

◆ parseShellMenuSchemeDefinition()

void INI::parseShellMenuSchemeDefinition ( INI * ini)
static

Definition at line 75 of file ShellMenuScheme.cpp.

◆ parseShort()

void INI::parseShort ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse signed short from buffer and assign at location 'store'

Definition at line 508 of file INI.cpp.

◆ parseSoundsList()

void INI::parseSoundsList ( INI * ini,
void * instance,
void * store,
const void *  )
static

Definition at line 1788 of file INI.cpp.

◆ parseSpecialPowerDefinition()

void INI::parseSpecialPowerDefinition ( INI * ini)
static

Definition at line 38 of file INISpecialPower.cpp.

◆ parseSpecialPowerTemplate()

void INI::parseSpecialPowerTemplate ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a special power template string and store as template pointer

Definition at line 1354 of file INI.cpp.

◆ parseStaticGameLODDefinition()

void INI::parseStaticGameLODDefinition ( INI * ini)
static

Parse a description of all the LOD settings for a given detail level

Definition at line 402 of file GameLOD.cpp.

◆ parseStaticGameLODLevel()

void INI::parseStaticGameLODLevel ( INI * ini,
void * ,
void * store,
const void *  )
static

Parse an LOD level

Definition at line 425 of file GameLOD.cpp.

◆ parseTerrainBridgeDefinition()

void INI::parseTerrainBridgeDefinition ( INI * ini)
static

Parse Terrain Bridge entry

Definition at line 39 of file INITerrainBridge.cpp.

◆ parseTerrainDefinition()

void INI::parseTerrainDefinition ( INI * ini)
static

Parse Terrain type entry

Definition at line 39 of file INITerrain.cpp.

◆ parseTerrainRoadDefinition()

void INI::parseTerrainRoadDefinition ( INI * ini)
static

Parse Terrain Road entry

Definition at line 39 of file INITerrainRoad.cpp.

◆ parseThingTemplate()

void INI::parseThingTemplate ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an ThingTemplate and assign to the 'ThingTemplate *' at store

Definition at line 1187 of file INI.cpp.

◆ parseUnsignedByte()

void INI::parseUnsignedByte ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse UnsignedByte from buffer and assign at location 'store'

Definition at line 493 of file INI.cpp.

◆ parseUnsignedInt()

void INI::parseUnsignedInt ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse unsigned integer from buffer and assign at location 'store'

Definition at line 548 of file INI.cpp.

◆ parseUnsignedShort()

void INI::parseUnsignedShort ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse unsigned short from buffer and assign at location 'store'

Definition at line 523 of file INI.cpp.

◆ parseUpgradeDefinition()

void INI::parseUpgradeDefinition ( INI * ini)
static

Parse an upgrade definition

Definition at line 39 of file INIUpgrade.cpp.

◆ parseUpgradeTemplate()

void INI::parseUpgradeTemplate ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse a upgrade template string and store as template pointer

Definition at line 1333 of file INI.cpp.

◆ parseVelocityReal()

void INI::parseVelocityReal ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 1733 of file INI.cpp.

◆ parseVeterancyLevelFlags()

void INI::parseVeterancyLevelFlags ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Definition at line 1751 of file INI.cpp.

◆ parseVideoDefinition()

void INI::parseVideoDefinition ( INI * ini)
static

Parse Music entry

Definition at line 47 of file INIVideo.cpp.

◆ parseWaterSettingDefinition()

void INI::parseWaterSettingDefinition ( INI * ini)
static

Water setting, note that this does not support override situations. As the water system becomes more complex we may want to change this

Definition at line 49 of file INIWater.cpp.

◆ parseWaterTransparencyDefinition()

void INI::parseWaterTransparencyDefinition ( INI * ini)
static

Definition at line 89 of file INIWater.cpp.

◆ parseWeaponTemplate()

void INI::parseWeaponTemplate ( INI * ini,
void * instance,
void * store,
const void * userData )
static

Parse an WeaponTemplate and assign to the 'WeaponTemplate *' at store

Definition at line 1241 of file INI.cpp.

◆ parseWeaponTemplateDefinition()

void INI::parseWeaponTemplateDefinition ( INI * ini)
static

Parse Weapon entry

Definition at line 43 of file INIWeapon.cpp.

◆ parseWeatherDefinition()

void INI::parseWeatherDefinition ( INI * ini)
static

Definition at line 126 of file Snow.cpp.

◆ parseWebpageURLDefinition()

void INI::parseWebpageURLDefinition ( INI * ini)
static

Parse Music entry

Definition at line 83 of file INIWebpageURL.cpp.

◆ parseWindowTransitions()

void INI::parseWindowTransitions ( INI * ini)
static

Definition at line 77 of file GameWindowTransitions.cpp.

◆ prepFile()

void INI::prepFile ( AsciiString filename,
INILoadType loadType )
protected

Definition at line 265 of file INI.cpp.

◆ readLine()

void INI::readLine ( void )
protected

Read a line from the already open file. Any comments will be remved and therefore ignored from any given line

Definition at line 421 of file INI.cpp.

◆ scanBool()

Bool INI::scanBool ( const char * token)
static

Definition at line 634 of file INI.cpp.

◆ scanIndexList()

Int INI::scanIndexList ( const char * token,
ConstCharPtrArray nameList )
static

Definition at line 1619 of file INI.cpp.

◆ scanInt()

Int INI::scanInt ( const char * token)
static

utility routine that does a sscanf() on the string to get the int, and throws an exception if not of the right form.

Definition at line 1583 of file INI.cpp.

◆ scanLookupList()

Int INI::scanLookupList ( const char * token,
ConstLookupListRecArray lookupList )
static

Definition at line 1645 of file INI.cpp.

◆ scanPercentToReal()

Real INI::scanPercentToReal ( const char * token)
static

Definition at line 1610 of file INI.cpp.

◆ scanReal()

Real INI::scanReal ( const char * token)
static

utility routine that does a sscanf() on the string to get the real, and throws an exception if not of the right form.

Definition at line 1601 of file INI.cpp.

◆ scanScience()

ScienceType INI::scanScience ( const char * token)
static

utility routine that does a sscanf() on the string to get the Science, and throws an exception if not of the right form.

Definition at line 1577 of file INI.cpp.

◆ scanUnsignedInt()

UnsignedInt INI::scanUnsignedInt ( const char * token)
static

utility routine that does a sscanf() on the string to get the unsigned int, and throws an exception if not of the right form.

Definition at line 1592 of file INI.cpp.

◆ unPrepFile()

void INI::unPrepFile ( )
protected

Definition at line 297 of file INI.cpp.

Member Data Documentation

◆ m_blockEndToken

const char* INI::m_blockEndToken
protected

token to represent end of data block

Definition at line 412 of file INI.h.

◆ m_buffer

char INI::m_buffer[INI_MAX_CHARS_PER_LINE+1]
protected

buffer to read file contents into

Definition at line 407 of file INI.h.

◆ m_endOfFile

Bool INI::m_endOfFile
protected

TRUE when we've hit EOF.

Definition at line 413 of file INI.h.

◆ m_file

File* INI::m_file
protected

file pointer of file currently loading

Definition at line 394 of file INI.h.

◆ m_filename

AsciiString INI::m_filename
protected

filename of file currently loading

Definition at line 404 of file INI.h.

◆ m_lineNum

UnsignedInt INI::m_lineNum
protected

current line number that's been read

Definition at line 406 of file INI.h.

◆ m_loadType

INILoadType INI::m_loadType
protected

load time for current file

Definition at line 405 of file INI.h.

◆ m_readBuffer

char INI::m_readBuffer[INI_READ_BUFFER]
protected

internal read buffer

Definition at line 400 of file INI.h.

◆ m_readBufferNext

unsigned INI::m_readBufferNext
protected

next char in read buffer

Definition at line 401 of file INI.h.

◆ m_readBufferUsed

unsigned INI::m_readBufferUsed
protected

number of bytes in read buffer

Definition at line 402 of file INI.h.

◆ m_seps

const char* INI::m_seps
protected

for strtok parsing

Definition at line 408 of file INI.h.

◆ m_sepsColon

const char* INI::m_sepsColon
protected

m_seps with colon delimiter as well

Definition at line 410 of file INI.h.

◆ m_sepsPercent

const char* INI::m_sepsPercent
protected

m_seps with percent delimiter as well

Definition at line 409 of file INI.h.

◆ m_sepsQuote

const char* INI::m_sepsQuote
protected

token to represent a quoted ascii string

Definition at line 411 of file INI.h.


The documentation for this class was generated from the following files: