forked from 1dot13/source
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GameInitOptionsScreen.h
110 lines (96 loc) · 3.02 KB
/
GameInitOptionsScreen.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#ifndef _GAME_INIT_OPTIONS_SCREEN_H_
#define _GAME_INIT_OPTIONS_SCREEN_H_
UINT32 GameInitOptionsScreenInit( void );
UINT32 GameInitOptionsScreenHandle( void );
UINT32 GameInitOptionsScreenShutdown( void );
BOOLEAN SpIniExists();
// Flugente: moved enums
//Enums for the difficulty levels
enum
{
DIF_LEVEL_EASY = 1,
DIF_LEVEL_MEDIUM,
DIF_LEVEL_HARD,
DIF_LEVEL_INSANE,
MAX_DIF_LEVEL,
};
typedef struct
{
UINT16 uiIndex;
CHAR16 szDiffName[128];
CHAR16 szConfirmText[1024];
CHAR16 szPrefixXmlName[128];
INT32 iStartingCash;
INT8 iEnemyAPBonus;
UINT16 iNumKillsPerProgressPoint;
INT32 iInitialGarrisonPercentages;
UINT8 iMinEnemyGroupSize;
UINT8 iCounterAttackGroupSize;
BOOLEAN bUnlimitedPoolOfTroops;
INT32 iQueensInitialPoolOfTroops;
INT32 iQueenPoolMaxSizePerDifficultyLevel;
UINT16 iQueenPoolIncrementDaysPerDifficultyLevel;
INT32 iQueenPoolBaseIncrementSizePerDifficultyLevel;
UINT8 iQueenPoolRecruitPercentPerDifficultyLevel;
UINT32 iEnemyStartingAlertLevel;
UINT32 iEnemyAlertDecay;
UINT32 iNumAwareBattles;
UINT32 iBaseDelayInMinutesBetweenEvaluations;
UINT32 iEvaluationDelayVariance;
UINT32 iGracePeriodInHoursAfterSectorLiberation;
UINT32 iGracePeriodInDaysAfterPatrolDestroyed;
BOOLEAN bAggressiveQueenAi;
INT32 iMaxMercDeaths;
UINT8 usLootStatusModifier;
//Creatures Settings
UINT16 iCreatureSpreadTime;
UINT8 iQueenReproductionBase;
UINT8 iQueenReproductionBonus;
UINT8 iQueenInitBonusSpread;
INT8 iCreaturePopulationModifier;
INT8 iCreatureTownAggressiveness;
//sectors
UINT8 iJ9B1NumTroops;
UINT8 iJ9B2NumCreatures;
UINT8 iK4B1NumTroops;
UINT8 iK4B1NumElites;
UINT8 iO3B1NumTroops;
UINT8 iO3B1NumElites;
UINT8 iP3B1NumElites;
BOOLEAN bStrategicAiActionWakeQueen;
UINT16 iUpdateLastDayOfPlayerActivity;
INT32 iChanceOfEnemyAmbushes;
BOOLEAN bAllowReinforcements;
BOOLEAN bAllowReinforcementsOmerta;
INT32 iPercentElitesBonus;
BOOLEAN iDesiredPopulationL3;
BOOLEAN iDesiredPopulationL2;
UINT8 iWeaponCacheTroops1;
UINT8 iWeaponCacheTroops2;
UINT8 iWeaponCacheTroops3;
UINT8 iWeaponCacheTroops4;
UINT8 iWeaponCacheTroops5;
BOOLEAN bUpgradeAdminsToTroops;
BOOLEAN bUpgradeGarrisonsAdminsToTroops;
UINT8 usAlwaysUpGradeAdminsToTroopsProgress;
UINT8 usLevelModifierLowLimit;
UINT8 usLevelModifierHighLimit;
BOOLEAN bAllowUnrestrictedXPLevels;
BOOLEAN bQueenLosingControlOfSector;
BOOLEAN bBloodcatAmbush;
BOOLEAN bAirRaidLookForDive;
UINT32 iGetNumberOfTurnsPowerGenFanWillBeStoppedFor; //UB
BOOLEAN bRadioSightings;
BOOLEAN bRadioSightings2;
FLOAT fCTHSettingsBaseDifficultyEnemy;
FLOAT fCTHSettingsAimDifficultyEnemy;
FLOAT fCTHSettingsBaseDifficultyMilitia;
FLOAT fCTHSettingsAimDifficultyMilitia;
FLOAT fCTHSettingsBaseDifficultyPlayer;
FLOAT fCTHSettingsAimDifficultyPlayer;
BOOLEAN bEnemyMoraleWorried;
UINT8 usMaxMortarsPerTeam;
} DIFFICULTY_SETTINGS_VALUES;
extern UINT8 MaxDifficultySettingsValues;
extern DIFFICULTY_SETTINGS_VALUES zDiffSetting[MAX_DIF_LEVEL];
#endif