37 |
37 |
38 // Possible states of the game |
38 // Possible states of the game |
39 TGameState = (gsLandGen, gsStart, gsGame, gsConfirm, gsExit, gsSuspend); |
39 TGameState = (gsLandGen, gsStart, gsGame, gsConfirm, gsExit, gsSuspend); |
40 |
40 |
41 // Game types that help determining what the engine is actually supposed to do |
41 // Game types that help determining what the engine is actually supposed to do |
42 TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax, gmtRecord); |
42 TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtBadSyntax, gmtRecord, gmtSyntaxHelp); |
43 |
43 |
44 // Different files are stored in different folders, this enumeration is used to tell which folder to use |
44 // Different files are stored in different folders, this enumeration is used to tell which folder to use |
45 TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptConfig, ptTeams, ptMaps, |
45 TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptConfig, ptTeams, ptMaps, |
46 ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts, ptLocale, |
46 ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts, ptLocale, |
47 ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags, ptMissionMaps, |
47 ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags, ptMissionMaps, |
48 ptSuddenDeath, ptButtons, ptShaders); |
48 ptSuddenDeath, ptButtons, ptShaders, ptDefaultVoice, ptMisc); |
49 |
49 |
50 // Available sprites for displaying stuff |
50 // Available sprites for displaying stuff |
51 TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprBigDigitGray, sprBigDigitGreen, |
51 TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprBigDigitGray, sprBigDigitGreen, |
52 sprBigDigitRed, sprFrame, sprLag, sprArrow, sprBazookaShell, sprTargetP, sprBee, |
52 sprBigDigitRed, sprFrame, sprLag, sprArrow, sprBazookaShell, sprTargetP, sprBee, |
53 sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff, |
53 sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff, |
59 sprHHTelepMask, sprSwitch, sprParachute, sprTarget, sprRopeNode, |
59 sprHHTelepMask, sprSwitch, sprParachute, sprTarget, sprRopeNode, |
60 sprQuestion, sprPowerBar, sprWindBar, sprWindL, sprWindR, |
60 sprQuestion, sprPowerBar, sprWindBar, sprWindL, sprWindR, |
61 {$IFDEF USE_TOUCH_INTERFACE} |
61 {$IFDEF USE_TOUCH_INTERFACE} |
62 sprFireButton, sprArrowUp, sprArrowDown, sprArrowLeft, sprArrowRight, |
62 sprFireButton, sprArrowUp, sprArrowDown, sprArrowLeft, sprArrowRight, |
63 sprJumpWidget, sprAMWidget, sprPauseButton, sprTimerButton, sprTargetButton, |
63 sprJumpWidget, sprAMWidget, sprPauseButton, sprTimerButton, sprTargetButton, |
64 sprSwitchButton, |
64 sprSwitchButton, sprBounceButton, |
65 {$ENDIF} |
65 {$ENDIF} |
66 sprFlake, sprHandRope, sprHandBazooka, sprHandShotgun, |
66 sprFlake, sprHandRope, sprHandBazooka, sprHandShotgun, |
67 sprHandDEagle, sprHandAirAttack, sprHandBaseball, sprPHammer, |
67 sprHandDEagle, sprHandAirAttack, sprHandBaseball, sprPHammer, |
68 sprHandBlowTorch, sprBlowTorch, sprTeleport, sprHHDeath, |
68 sprHandBlowTorch, sprBlowTorch, sprTeleport, sprHHDeath, |
69 sprShotgun, sprDEagle, sprHHIdle, sprMortar, sprTurnsLeft, |
69 sprShotgun, sprDEagle, sprHHIdle, sprMortar, sprTurnsLeft, |
88 sprHandResurrector, sprCross, sprAirDrill, sprNapalmBomb, |
88 sprHandResurrector, sprCross, sprAirDrill, sprNapalmBomb, |
89 sprBulletHit, sprSnowball, sprHandSnowball, sprSnow, |
89 sprBulletHit, sprSnowball, sprHandSnowball, sprSnow, |
90 sprSDFlake, sprSDWater, sprSDCloud, sprSDSplash, sprSDDroplet, sprTardis, |
90 sprSDFlake, sprSDWater, sprSDCloud, sprSDSplash, sprSDDroplet, sprTardis, |
91 sprSlider, sprBotlevels, sprHandKnife, sprKnife, sprStar, sprIceTexture, sprIceGun, |
91 sprSlider, sprBotlevels, sprHandKnife, sprKnife, sprStar, sprIceTexture, sprIceGun, |
92 sprFrozenHog, sprAmRubber, sprBoing, sprCustom1, sprCustom2, sprCustom3, sprCustom4, |
92 sprFrozenHog, sprAmRubber, sprBoing, sprCustom1, sprCustom2, sprCustom3, sprCustom4, |
93 sprCustom5, sprCustom6, sprCustom7, sprCustom8, sprAirMine, sprHandAirMine, |
93 sprCustom5, sprCustom6, sprCustom7, sprCustom8, sprFrozenAirMine, sprAirMine, sprHandAirMine, |
94 sprFlakeL, sprSDFlakeL, sprCloudL, sprSDCloudL, sprDuck, sprHandDuck, sprMinigun |
94 sprFlakeL, sprSDFlakeL, sprCloudL, sprSDCloudL, sprCreeper, sprHandCreeper, sprMinigun, |
|
95 sprSliderInverted, sprFingerBack, sprFingerBackInv, sprTargetPBack, sprTargetPBackInv, |
|
96 sprHealthHud, sprHealthPoisonHud, sprVampHud, sprKarmaHud, sprMedicHud, sprMedicPoisonHud, |
|
97 sprHaloHud, sprInvulnHUD, sprAmPiano, sprHandLandGun, sprFirePunch, sprThroughWrap |
95 ); |
98 ); |
96 |
99 |
97 // Gears that interact with other Gears and/or Land |
100 // Gears that interact with other Gears and/or Land |
98 // first row of gears (<gtExplosives) should be avoided when searching a spawn place |
101 // first row of gears (<gtExplosives) should be avoided when searching a spawn place |
99 TGearType = (gtFlame, gtHedgehog, gtMine, gtCase, gtAirMine, gtExplosives, |
102 TGearType = (gtFlame, gtHedgehog, gtMine, gtCase, gtAirMine, gtExplosives, |
106 gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 35 |
109 gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 35 |
107 gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 41 |
110 gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 41 |
108 gtSniperRifleShot, gtJetpack, gtMolotov, gtBirdy, // 45 |
111 gtSniperRifleShot, gtJetpack, gtMolotov, gtBirdy, // 45 |
109 gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 51 |
112 gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 51 |
110 gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector, // 56 |
113 gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector, // 56 |
111 gtNapalmBomb, gtSnowball, gtFlake, {gtStructure,} gtLandGun, gtTardis, // 61 |
114 gtNapalmBomb, gtSnowball, gtFlake, gtLandGun, gtTardis, // 61 |
112 gtIceGun, gtAddAmmo, gtGenericFaller, gtKnife, gtDuck, gtMinigun, gtMinigunBullet); // 68 |
115 gtIceGun, gtAddAmmo, gtGenericFaller, gtKnife, gtCreeper, gtMinigun, gtMinigunBullet); // 68 |
113 |
116 |
114 // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.) |
117 // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.) |
115 TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, |
118 TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, |
116 vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, |
119 vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, |
117 vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtShell, |
120 vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtShell, |
119 vgtFeather, vgtHealthTag, vgtSmokeTrace, vgtEvilTrace, vgtExplosion, |
122 vgtFeather, vgtHealthTag, vgtSmokeTrace, vgtEvilTrace, vgtExplosion, |
120 vgtBigExplosion, vgtChunk, vgtNote, vgtLineTrail, vgtBulletHit, vgtCircle, |
123 vgtBigExplosion, vgtChunk, vgtNote, vgtLineTrail, vgtBulletHit, vgtCircle, |
121 vgtSmoothWindBar, vgtStraightShot, vgtNoPlaceWarn); |
124 vgtSmoothWindBar, vgtStraightShot, vgtNoPlaceWarn); |
122 |
125 |
123 // Damage can be caused by different sources |
126 // Damage can be caused by different sources |
124 TDamageSource = (dsUnknown, dsFall, dsBullet, dsExplosion, dsShove, dsPoison); |
127 TDamageSource = (dsUnknown, dsFall, dsBullet, dsExplosion, dsShove, dsPoison, dsHammer); |
125 |
128 |
126 // Available sounds |
129 // Available sounds |
127 TSound = (sndNone, |
130 TSound = (sndNone, |
128 sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease, |
131 sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease, |
129 sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact, |
132 sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact, |
148 sndPiano8, sndSkip, sndSineGun, sndOoff1, sndOoff2, sndOoff3, sndWhack, |
151 sndPiano8, sndSkip, sndSineGun, sndOoff1, sndOoff2, sndOoff3, sndWhack, |
149 sndComeonthen, sndParachute, sndBump, sndResurrector, sndPlane, sndTardis, sndFrozenHogImpact, |
152 sndComeonthen, sndParachute, sndBump, sndResurrector, sndPlane, sndTardis, sndFrozenHogImpact, |
150 sndIceBeam, sndHogFreeze, sndAirMineImpact, sndKnifeImpact, sndExtraTime, sndLaserSight, |
153 sndIceBeam, sndHogFreeze, sndAirMineImpact, sndKnifeImpact, sndExtraTime, sndLaserSight, |
151 sndInvulnerable, sndJetpackLaunch, sndJetpackBoost, sndPortalShot, sndPortalSwitch, |
154 sndInvulnerable, sndJetpackLaunch, sndJetpackBoost, sndPortalShot, sndPortalSwitch, |
152 sndPortalOpen, sndBlowTorch, sndCountdown1, sndCountdown2, sndCountdown3, sndCountdown4, |
155 sndPortalOpen, sndBlowTorch, sndCountdown1, sndCountdown2, sndCountdown3, sndCountdown4, |
153 sndDuckDrop, sndDuckWater, sndDuckDie, sndCustom1, sndCustom2, sndCustom3, sndCustom4, |
156 sndCreeperDrop, sndCreeperWater, sndCreeperDie, sndCustom1, sndCustom2, sndCustom3, sndCustom4, |
154 sndCustom5, sndCustom6, sndCustom7, sndCustom8, sndMinigun); |
157 sndCustom5, sndCustom6, sndCustom7, sndCustom8, sndMinigun, sndFlamethrower, sndIceBeamIdle, |
|
158 sndLandGun, sndCaseImpact, sndExtraDamage, sndFirePunchHit, sndGrenade, sndThisOneIsMine, |
|
159 sndWhatThe, sndSoLong, sndOhDear, sndGonnaGetYou, sndDrat, sndBugger, sndAmazing, |
|
160 sndBrilliant, sndExcellent, sndFire, sndWatchThis, sndRunAway, sndRevenge, sndCutItOut, |
|
161 sndLeaveMeAlone, sndOuch, sndHmm, sndKiss, sndFlyAway, sndPlaneWater); |
155 |
162 |
156 // Available ammo types to be used by hedgehogs |
163 // Available ammo types to be used by hedgehogs |
157 TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer, // 6 |
164 TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer, // 6 |
158 amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip, // 13 |
165 amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip, // 13 |
159 amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, // 18 |
166 amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, // 18 |
160 amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, // 24 |
167 amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, // 24 |
161 amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, // 30 |
168 amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, // 30 |
162 amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35 |
169 amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35 |
163 amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42 |
170 amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42 |
164 amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48 |
171 amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48 |
165 amResurrector, amDrillStrike, amSnowball, amTardis, {amStructure,} amLandGun, // 53 |
172 amResurrector, amDrillStrike, amSnowball, amTardis, amLandGun, // 53 |
166 amIceGun, amKnife, amRubber, amAirMine, amDuck, amMinigun); // 59 |
173 amIceGun, amKnife, amRubber, amAirMine, amCreeper, amMinigun); // 59 |
|
174 // NOTE: If we ever reach 126 ammo types, make sure to skip ammo type number 126 because it's |
|
175 // reserved as synonym for amNothing. See also chSetWeapon. |
167 |
176 |
168 // Different kind of crates that e.g. hedgehogs can pick up |
177 // Different kind of crates that e.g. hedgehogs can pick up |
169 TCrateType = (HealthCrate, AmmoCrate, UtilityCrate); |
178 TCrateType = (HealthCrate, AmmoCrate, UtilityCrate); |
170 |
179 |
171 THWFont = (fnt16, fntBig, fntSmall, fntChat {$IFNDEF MOBILE}, CJKfnt16, CJKfntBig, CJKfntSmall, CJKfntChat{$ENDIF}); |
180 THWFont = (fnt16, fntBig, fntSmall, fntChat {$IFNDEF MOBILE}, CJKfnt16, CJKfntBig, CJKfntSmall, CJKfntChat{$ENDIF}); |
174 capgrpMessage, capgrpMessage2, capgrpAmmostate); |
183 capgrpMessage, capgrpMessage2, capgrpAmmostate); |
175 |
184 |
176 TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs, |
185 TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs, |
177 siClanHealth, siTeamStats, siPlayerKills, siMaxTeamDamage, |
186 siClanHealth, siTeamStats, siPlayerKills, siMaxTeamDamage, |
178 siMaxTeamKills, siMaxTurnSkips, siCustomAchievement, siGraphTitle, |
187 siMaxTeamKills, siMaxTurnSkips, siCustomAchievement, siGraphTitle, |
179 siPointType); |
188 siPointType, siTeamRank, siEverAfter); |
180 |
189 |
181 // Various 'emote' animations a hedgehog can do |
190 // Various 'emote' animations a hedgehog can do |
182 TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle); |
191 TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle); |
183 |
192 |
184 TRenderMode = (rmDefault, rmLeftEye, rmRightEye); |
193 TRenderMode = (rmDefault, rmLeftEye, rmRightEye); |
466 sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime, |
501 sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime, |
467 sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack, |
502 sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack, |
468 sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb, |
503 sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb, |
469 sidSineGun, sidFlamethrower,sidSMine, sidHammer, sidResurrector, |
504 sidSineGun, sidFlamethrower,sidSMine, sidHammer, sidResurrector, |
470 sidDrillStrike, sidSnowball, sidNothing, sidTardis, |
505 sidDrillStrike, sidSnowball, sidNothing, sidTardis, |
471 {sidStructure,} sidLandGun, sidIceGun, sidKnife, sidRubber, sidAirMine, |
506 sidLandGun, sidIceGun, sidKnife, sidRubber, sidAirMine, |
472 sidDuck, sidMinigun); |
507 sidCreeper, sidMinigun); |
473 |
508 |
474 TMsgStrId = (sidLoading, sidDraw, sidWinner, sidVolume, sidPaused, |
509 TMsgStrId = (sidLoading, sidDraw, sidWinner, sidVolume, sidPaused, |
475 sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync, |
510 sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync, |
476 sidNoEndTurn, sidNotYetAvailable, sidRoundSD, sidRoundsSD, sidReady, |
511 sidNoEndTurn, sidNotYetAvailable, sidRoundSD, sidRoundsSD, sidReady, |
477 sidBounce1, sidBounce2, sidBounce3, sidBounce4, sidBounce5, sidBounce, |
512 sidBounce1, sidBounce2, sidBounce3, sidBounce4, sidBounce5, sidBounce, |
478 sidMute, sidAFK, sidAutoCameraOff, sidAutoCameraOn, sidPressTarget, |
513 sidMute, sidAFK, sidAutoCameraOff, sidAutoCameraOn, sidPressTarget, |
479 sidNotAvailableInSD, sidHealthGain, sidEmptyCrate, sidUnknownKey, |
514 sidNotAvailableInSD, sidHealthGain, sidEmptyCrate, sidUnknownKey, |
480 sidWinner2, sidWinner3, sidWinner4, sidWinner5, sidWinner6, |
515 sidWinner2, sidWinner3, sidWinner4, sidWinner5, sidWinner6, |
481 sidWinner7, sidWinnerAll, sidTeamGone, sidTeamBack, sidAutoSkip, |
516 sidWinner7, sidWinnerAll, sidTeamGone, sidTeamBack, sidAutoSkip, |
482 sidFPS); |
517 sidFPS, sidLuaParsingOff, sidLuaParsingOn, sidLuaParsingDenied, |
|
518 sidAmmoCount, sidChat, sidChatTeam, sidChatHog, sidUnknownGearValue); |
|
519 |
|
520 TCmdHelpStrId = ( |
|
521 sidCmdHeaderBasic, sidCmdTogglechat, sidCmdTeam, sidCmdMe, |
|
522 sidCmdPause, sidCmdPauseNet, sidCmdFullscreen, sidCmdQuit, |
|
523 sidCmdHelp, sidCmdHelpTaunts, sidCmdHistory, sidLua, |
|
524 |
|
525 sidCmdHeaderTaunts, sidCmdSpeech, sidCmdThink, sidCmdYell, |
|
526 sidCmdSpeechNumberHint, sidCmdHsa, sidCmdHta, sidCmdHya, |
|
527 sidCmdHurrah, sidCmdIlovelotsoflemonade, sidCmdJuggle, |
|
528 sidCmdRollup, sidCmdShrug, sidCmdWave, sidCmdUnknown, |
|
529 sidCmdHelpRoom, sidCmdHelpRoomFail); |
483 |
530 |
484 // Events that are important for the course of the game or at least interesting for other reasons |
531 // Events that are important for the course of the game or at least interesting for other reasons |
485 TEventId = (eidDied, eidDrowned, eidRoundStart, eidRoundWin, eidRoundDraw, |
532 TEventId = (eidDied, eidDrowned, eidRoundStart, eidRoundWin, eidRoundDraw, |
486 eidNewHealthPack, eidNewAmmoPack, eidNewUtilityPack, eidTurnSkipped, |
533 eidNewHealthPack, eidNewAmmoPack, eidNewUtilityPack, eidTurnSkipped, |
487 eidHurtSelf, eidHomerun, eidGone, eidPoisoned, eidResurrected, |
534 eidHurtSelf, eidHomerun, eidGone, eidPoisoned, eidResurrected, |