author | koda |
Fri, 26 Oct 2012 14:19:57 +0100 | |
branch | 0.9.17 |
changeset 6410 | fd08e4052360 |
parent 6277 | 627b5752733a |
child 6328 | d14adf1c7721 |
permissions | -rw-r--r-- |
4976 | 1 |
(* |
2 |
* Hedgewars, a free turn based strategy game |
|
3 |
* Copyright (c) 2004-2011 Andrey Korotaev <unC0Rr@gmail.com> |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or modify |
|
6 |
* it under the terms of the GNU General Public License as published by |
|
7 |
* the Free Software Foundation; version 2 of the License |
|
8 |
* |
|
9 |
* This program is distributed in the hope that it will be useful, |
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
13 |
* |
|
14 |
* You should have received a copy of the GNU General Public License |
|
15 |
* along with this program; if not, write to the Free Software |
|
16 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
|
17 |
*) |
|
18 |
||
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
19 |
{$INCLUDE "options.inc"} |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
20 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
21 |
unit uTypes; |
5125 | 22 |
(* |
23 |
* This unit defines various types and enumerations for usage in different |
|
24 |
* places in the engine code. |
|
25 |
*) |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
26 |
interface |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
27 |
|
4361 | 28 |
uses SDLh, uFloat, GLunit, uConsts, Math; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
29 |
|
4812
f924be23ffb4
merge with HEAD after 0.9.15 release, move consts and vars in their proper files
koda
parents:
4807
diff
changeset
|
30 |
// NOTE: typed const is a variable despite const qualifier |
f924be23ffb4
merge with HEAD after 0.9.15 release, move consts and vars in their proper files
koda
parents:
4807
diff
changeset
|
31 |
// in freepascal you may actually use var for the same purpose |
f924be23ffb4
merge with HEAD after 0.9.15 release, move consts and vars in their proper files
koda
parents:
4807
diff
changeset
|
32 |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
33 |
type |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
34 |
HwColor4f = record |
6277 | 35 |
r, g, b, a: byte; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
36 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
37 |
|
5125 | 38 |
// Possible states of the game |
5968
4e8bb227be9a
this reintroduces the gsSuspend state to fix multitasking on ios
koda
parents:
5728
diff
changeset
|
39 |
TGameState = (gsLandGen, gsStart, gsGame, gsChat, gsConfirm, gsExit, gsSuspend); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
40 |
|
5125 | 41 |
// Game types that help determining what the engine is actually supposed to do |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
42 |
TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
43 |
|
5125 | 44 |
// Different files are stored in different folders, this enumeration is used to tell which folder to use |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
45 |
TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptTeams, ptMaps, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
46 |
ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts, |
4748 | 47 |
ptLocale, ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags, ptMissionMaps, ptSuddenDeath); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
48 |
|
5125 | 49 |
// Available sprites for displaying stuff |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
50 |
TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprFrame, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
51 |
sprLag, sprArrow, sprBazookaShell, sprTargetP, sprBee, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
52 |
sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
53 |
sprMineOn, sprMineDead, sprCase, sprFAid, sprDynamite, sprPower, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
54 |
sprClusterBomb, sprClusterParticle, sprFlame, sprHorizont, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
55 |
sprHorizontL, sprHorizontR, sprSky, sprSkyL, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
56 |
sprSkyR, sprAMBorderHorizontal, sprAMBorderVertical, sprAMSlot, sprAMAmmos, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
57 |
sprAMSlotKeys, sprAMCorners, sprFinger, sprAirBomb, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
58 |
sprAirplane, sprAmAirplane, sprAmGirder, sprHHTelepMask, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
59 |
sprSwitch, sprParachute, sprTarget, sprRopeNode, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
60 |
sprQuestion, sprPowerBar, sprWindBar, sprWindL, sprWindR, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
61 |
sprFlake, sprHandRope, sprHandBazooka, sprHandShotgun, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
62 |
sprHandDEagle, sprHandAirAttack, sprHandBaseball, sprPHammer, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
63 |
sprHandBlowTorch, sprBlowTorch, sprTeleport, sprHHDeath, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
64 |
sprShotgun, sprDEagle, sprHHIdle, sprMortar, sprTurnsLeft, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
65 |
sprKamikaze, sprWhip, sprKowtow, sprSad, sprWave, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
66 |
sprHurrah, sprLemonade, sprShrug, sprJuggle, sprExplPart, sprExplPart2, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
67 |
sprCakeWalk, sprCakeDown, sprAMAmmosBW, sprWatermelon, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
68 |
sprEvilTrace, sprHellishBomb, sprSeduction, sprDress, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
69 |
sprCensored, sprDrill, sprHandDrill, sprHandBallgun, sprBalls, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
70 |
sprPlane, sprHandPlane, sprUtility, sprInvulnerable, sprVampiric, sprGirder, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
71 |
sprSpeechCorner, sprSpeechEdge, sprSpeechTail, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
72 |
sprThoughtCorner, sprThoughtEdge, sprThoughtTail, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
73 |
sprShoutCorner, sprShoutEdge, sprShoutTail, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
74 |
sprSniperRifle, sprBubbles, sprJetpack, sprHealth, sprHandMolotov, sprMolotov, |
5065 | 75 |
sprSmoke, sprSmokeWhite, sprShell, sprDust, sprSnowDust, sprExplosives, sprExplosivesRoll, |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
76 |
sprAmTeleport, sprSplash, sprDroplet, sprBirdy, sprHandCake, sprHandConstruction, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
77 |
sprHandGrenade, sprHandMelon, sprHandMortar, sprHandSkip, sprHandCluster, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
78 |
sprHandDynamite, sprHandHellish, sprHandMine, sprHandSeduction, sprHandVamp, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
79 |
sprBigExplosion, sprSmokeRing, sprBeeTrace, sprEgg, sprTargetBee, sprHandBee, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
80 |
sprFeather, sprPiano, sprHandSineGun, sprPortalGun, sprPortal, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
81 |
sprCheese, sprHandCheese, sprHandFlamethrower, sprChunk, sprNote, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
82 |
sprSMineOff, sprSMineOn, sprHandSMine, sprHammer, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
83 |
sprHandResurrector, sprCross, sprAirDrill, sprNapalmBomb, |
4782
603916ddf4b6
added also splash and droplets to sd and refactored theme.cfg, not all themes updated
Henek
parents:
4772
diff
changeset
|
84 |
sprBulletHit, sprSnowball, sprHandSnowball, sprSnow, |
5706 | 85 |
sprSDFlake, sprSDWater, sprSDCloud, sprSDSplash, sprSDDroplet, sprTardis |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
86 |
); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
87 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
88 |
// Gears that interact with other Gears and/or Land |
5137
b6140f35735f
rename gtBomb to gtGrenade, nerf grenade from 50 to 47 pending some flag to indicate pixels in Land[] belonging to current hog to avoid throwing grenades into hogs
nemo
parents:
5125
diff
changeset
|
89 |
TGearType = (gtGrenade, gtHedgehog, gtShell, gtGrave, gtBee, // 4 |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
90 |
gtShotgunShot, gtPickHammer, gtRope, gtMine, gtCase, // 9 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
91 |
gtDEagleShot, gtDynamite, gtClusterBomb, gtCluster, gtShover, // 14 |
5357
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
92 |
gtFlame, gtFirePunch, gtATStartGame, // 17 |
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
93 |
gtATFinishGame, gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, // 22 |
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
94 |
gtGirder, gtTeleport, gtSwitcher, gtTarget, gtMortar, // 27 |
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
95 |
gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 33 |
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
96 |
gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 39 |
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
97 |
gtSniperRifleShot, gtJetpack, gtMolotov, gtExplosives, gtBirdy, // 44 |
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
98 |
gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 50 |
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
99 |
gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector, // 55 |
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
100 |
gtNapalmBomb, gtSnowball, gtFlake, gtStructure, gtLandGun, gtTardis); // 61 |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
101 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
102 |
// Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.) |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
103 |
TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
104 |
vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, |
5563 | 105 |
vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtShell, |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
106 |
vgtDust, vgtSplash, vgtDroplet, vgtSmokeRing, vgtBeeTrace, vgtEgg, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
107 |
vgtFeather, vgtHealthTag, vgtSmokeTrace, vgtEvilTrace, vgtExplosion, |
5357
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
108 |
vgtBigExplosion, vgtChunk, vgtNote, vgtLineTrail, vgtBulletHit, vgtCircle, |
5562 | 109 |
vgtSmoothWindBar, vgtStraightShot); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
110 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
111 |
TGearsType = set of TGearType; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
112 |
|
5125 | 113 |
// Damage can be caused by different sources |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
114 |
TDamageSource = (dsUnknown, dsFall, dsBullet, dsExplosion, dsShove, dsPoison); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
115 |
|
5125 | 116 |
// Available sounds |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
117 |
TSound = (sndNone, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
118 |
sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
119 |
sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact, |
5493 | 120 |
sndMineImpact, sndMineTick, sndMudballImpact, |
121 |
sndPickhammer, sndGun, sndBee, sndJump1, sndJump2, |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
122 |
sndJump3, sndYesSir, sndLaugh, sndIllGetYou, sndIncoming, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
123 |
sndMissed, sndStupid, sndFirstBlood, sndBoring, sndByeBye, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
124 |
sndSameTeam, sndNutter, sndReinforce, sndTraitor, sndRegret, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
125 |
sndEnemyDown, sndCoward, sndHurry, sndWatchIt, sndKamikaze, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
126 |
sndCake, sndOw1, sndOw2, sndOw3, sndOw4, sndFirePunch1, sndFirePunch2, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
127 |
sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
128 |
sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
129 |
sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
130 |
sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
131 |
sndHomerun, sndMolotov, sndCover, sndUhOh, sndOops, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
132 |
sndNooo, sndHello, sndRopeShot, sndRopeAttach, sndRopeRelease, |
4978 | 133 |
sndSwitchHog, sndVictory, sndFlawless, sndSniperReload, sndSteps, sndLowGravity, |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
134 |
sndHellishImpact1, sndHellishImpact2, sndHellishImpact3, sndHellishImpact4, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
135 |
sndMelonImpact, sndDroplet1, sndDroplet2, sndDroplet3, sndEggBreak, sndDrillRocket, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
136 |
sndPoisonCough, sndPoisonMoan, sndBirdyLay, sndWhistle, sndBeeWater, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
137 |
sndPiano0, sndPiano1, sndPiano2, sndPiano3, sndPiano4, sndPiano5, sndPiano6, sndPiano7, sndPiano8, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
138 |
sndSkip, sndSineGun, sndOoff1, sndOoff2, sndOoff3, sndWhack, |
5728 | 139 |
sndComeonthen, sndParachute, sndBump, sndResurrector, sndPlane, sndTardis); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
140 |
|
5125 | 141 |
// Available ammo types to be used by hedgehogs |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
142 |
TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer, // 6 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
143 |
amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip, // 13 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
144 |
amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, // 18 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
145 |
amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, // 24 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
146 |
amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, // 30 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
147 |
amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
148 |
amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
149 |
amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48 |
5024 | 150 |
amResurrector, amDrillStrike, amSnowball, amTardis, amStructure, amLandGun); // 54 |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
151 |
|
5125 | 152 |
// Different kind of crates that e.g. hedgehogs can pick up |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
153 |
TCrateType = (HealthCrate, AmmoCrate, UtilityCrate); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
154 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
155 |
THWFont = (fnt16, fntBig, fntSmall {$IFNDEF IPHONEOS}, CJKfnt16, CJKfntBig, CJKfntSmall{$ENDIF}); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
156 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
157 |
TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume, |
5118 | 158 |
capgrpMessage, capgrpMessage2, capgrpAmmostate); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
159 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
160 |
TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
161 |
siClanHealth, siTeamStats, siPlayerKills, siMaxTeamDamage, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
162 |
siMaxTeamKills, siMaxTurnSkips ); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
163 |
|
5125 | 164 |
// Various "emote" animations a hedgehog can do |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
165 |
TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
166 |
|
4812
f924be23ffb4
merge with HEAD after 0.9.15 release, move consts and vars in their proper files
koda
parents:
4807
diff
changeset
|
167 |
TRenderMode = (rmDefault, rmLeftEye, rmRightEye); |
f924be23ffb4
merge with HEAD after 0.9.15 release, move consts and vars in their proper files
koda
parents:
4807
diff
changeset
|
168 |
TStereoMode = (smNone, smRedCyan, smCyanRed, smRedBlue, smBlueRed, smRedGreen, smGreenRed, smHorizontal, smVertical, smAFR); |
f924be23ffb4
merge with HEAD after 0.9.15 release, move consts and vars in their proper files
koda
parents:
4807
diff
changeset
|
169 |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
170 |
THHFont = record |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
171 |
Handle: PTTF_Font; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
172 |
Height: LongInt; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
173 |
style: LongInt; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
174 |
Name: string[21]; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
175 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
176 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
177 |
PAmmo = ^TAmmo; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
178 |
TAmmo = record |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
179 |
Propz: LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
180 |
Count: LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
181 |
(* Using for place hedgehogs mode, but for any other situation where the initial count would be needed I guess. |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
182 |
For example, say, a mode where the weaponset is reset each turn, or on sudden death *) |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
183 |
NumPerTurn: LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
184 |
Timer: LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
185 |
Pos: LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
186 |
AmmoType: TAmmoType; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
187 |
AttackVoice: TSound; |
5319
51d8e4747876
bounce. tweak of values, remove friction modifier, move to weapon, to match timer behaviour
nemo
parents:
5316
diff
changeset
|
188 |
Bounciness: LongWord; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
189 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
190 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
191 |
TVertex2f = record |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
192 |
X, Y: GLfloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
193 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
194 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
195 |
TVertex2i = record |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
196 |
X, Y: GLint; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
197 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
198 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
199 |
PTexture = ^TTexture; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
200 |
TTexture = record |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
201 |
id: GLuint; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
202 |
w, h, scale: LongInt; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
203 |
rx, ry: GLfloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
204 |
priority: GLfloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
205 |
vb, tb: array [0..3] of TVertex2f; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
206 |
PrevTexture, NextTexture: PTexture; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
207 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
208 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
209 |
THogEffect = (heInvulnerable, heResurrectable, hePoisoned, heResurrected); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
210 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
211 |
TScreenFade = (sfNone, sfInit, sfToBlack, sfFromBlack, sfToWhite, sfFromWhite); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
212 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
213 |
PGear = ^TGear; |
4361 | 214 |
PHedgehog = ^THedgehog; |
215 |
PTeam = ^TTeam; |
|
216 |
PClan = ^TClan; |
|
217 |
||
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
218 |
TGearStepProcedure = procedure (Gear: PGear); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
219 |
TGear = record |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
220 |
NextGear, PrevGear: PGear; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
221 |
Active: Boolean; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
222 |
AdvBounce: Longword; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
223 |
Invulnerable: Boolean; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
224 |
RenderTimer: Boolean; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
225 |
AmmoType : TAmmoType; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
226 |
State : Longword; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
227 |
X : hwFloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
228 |
Y : hwFloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
229 |
dX: hwFloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
230 |
dY: hwFloat; |
5612
2638dec1b323
This really should have been a TPoint for consistency
nemo
parents:
5585
diff
changeset
|
231 |
Target : TPoint; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
232 |
Kind: TGearType; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
233 |
Pos: Longword; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
234 |
doStep: TGearStepProcedure; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
235 |
Radius: LongInt; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
236 |
Angle, Power : Longword; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
237 |
DirAngle: real; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
238 |
Timer : LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
239 |
Elasticity: hwFloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
240 |
Friction : hwFloat; |
4602
ec84fb564bab
added density for gears used in gfMoreWind, needs alot of tweaking
Henek
parents:
4578
diff
changeset
|
241 |
Density : hwFloat; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
242 |
Message, MsgParam : Longword; |
4361 | 243 |
Hedgehog: PHedgehog; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
244 |
Health, Damage, Karma: LongInt; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
245 |
CollisionIndex: LongInt; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
246 |
Tag: LongInt; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
247 |
Tex: PTexture; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
248 |
Z: Longword; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
249 |
IntersectGear: PGear; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
250 |
FlightTime: Longword; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
251 |
uid: Longword; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
252 |
ImpactSound: TSound; // first sound, others have to be after it in the sounds def. |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
253 |
nImpactSounds: Word; // count of ImpactSounds |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
254 |
SoundChannel: LongInt; |
5062 | 255 |
PortalCounter: LongWord; // Hopefully temporary, but avoids infinite portal loops in a guaranteed fashion. |
256 |
LastDamage: PHedgehog; |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
257 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
258 |
TPGearArray = Array of PGear; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
259 |
|
4361 | 260 |
PVisualGear = ^TVisualGear; |
261 |
TVGearStepProcedure = procedure (Gear: PVisualGear; Steps: Longword); |
|
262 |
TVisualGear = record |
|
263 |
NextGear, PrevGear: PVisualGear; |
|
264 |
Frame, |
|
265 |
FrameTicks: Longword; |
|
4379
6cd6b77df8b8
No need for Extended data type just to draw some visual gears. It's a shame we have Math unit dependency
unC0Rr
parents:
4367
diff
changeset
|
266 |
X : real; |
6cd6b77df8b8
No need for Extended data type just to draw some visual gears. It's a shame we have Math unit dependency
unC0Rr
parents:
4367
diff
changeset
|
267 |
Y : real; |
6cd6b77df8b8
No need for Extended data type just to draw some visual gears. It's a shame we have Math unit dependency
unC0Rr
parents:
4367
diff
changeset
|
268 |
dX: real; |
6cd6b77df8b8
No need for Extended data type just to draw some visual gears. It's a shame we have Math unit dependency
unC0Rr
parents:
4367
diff
changeset
|
269 |
dY: real; |
6cd6b77df8b8
No need for Extended data type just to draw some visual gears. It's a shame we have Math unit dependency
unC0Rr
parents:
4367
diff
changeset
|
270 |
tdX: real; |
6cd6b77df8b8
No need for Extended data type just to draw some visual gears. It's a shame we have Math unit dependency
unC0Rr
parents:
4367
diff
changeset
|
271 |
tdY: real; |
4361 | 272 |
State : Longword; |
273 |
Timer: Longword; |
|
274 |
Angle, dAngle: real; |
|
275 |
Kind: TVisualGearType; |
|
276 |
doStep: TVGearStepProcedure; |
|
277 |
Tex: PTexture; |
|
278 |
alpha, scale: GLfloat; |
|
4365 | 279 |
Hedgehog: PHedgehog; |
5357
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
280 |
Tag: LongInt; |
4361 | 281 |
Text: shortstring; |
282 |
Tint: Longword; |
|
4422 | 283 |
uid: Longword; |
5585
c09f5b41644a
Break visual gears list up into 4, to avoid iterating over entire list to draw a single layer. Also fix error in tag zoom.
nemo
parents:
5563
diff
changeset
|
284 |
Layer: byte; |
4361 | 285 |
end; |
286 |
||
287 |
TStatistics = record |
|
288 |
DamageRecv, |
|
289 |
DamageGiven: Longword; |
|
290 |
StepDamageRecv, |
|
291 |
StepDamageGiven, |
|
292 |
StepKills: Longword; |
|
293 |
MaxStepDamageRecv, |
|
294 |
MaxStepDamageGiven, |
|
295 |
MaxStepKills: Longword; |
|
296 |
FinishedTurns: Longword; |
|
297 |
end; |
|
298 |
||
299 |
TTeamStats = record |
|
300 |
Kills : Longword; |
|
5202 | 301 |
Suicides: Longword; |
4361 | 302 |
AIKills : Longword; |
303 |
TeamKills : Longword; |
|
304 |
TurnSkips : Longword; |
|
305 |
TeamDamage : Longword; |
|
306 |
end; |
|
307 |
||
308 |
TBinds = array[0..cKeyMaxIndex] of shortstring; |
|
309 |
TKeyboardState = array[0..cKeyMaxIndex] of Byte; |
|
310 |
||
311 |
PVoicepack = ^TVoicepack; |
|
312 |
TVoicepack = record |
|
313 |
name: shortstring; |
|
314 |
chunks: array [TSound] of PMixChunk; |
|
315 |
end; |
|
316 |
||
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
317 |
TVoice = record |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
318 |
snd: TSound; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
319 |
voicepack: PVoicePack; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
320 |
end; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
321 |
|
4361 | 322 |
PHHAmmo = ^THHAmmo; |
323 |
THHAmmo = array[0..cMaxSlotIndex, 0..cMaxSlotAmmoIndex] of TAmmo; |
|
324 |
||
325 |
THedgehog = record |
|
326 |
Name: string[MAXNAMELEN]; |
|
327 |
Gear: PGear; |
|
4881
35e6269227b6
still in developement take on adding structures, working hiding of hogs and ejecting them later.
Henek
parents:
4812
diff
changeset
|
328 |
GearHidden: PGear; |
4361 | 329 |
SpeechGear: PVisualGear; |
330 |
NameTagTex, |
|
331 |
HealthTagTex, |
|
332 |
HatTex: PTexture; |
|
333 |
Ammo: PHHAmmo; |
|
334 |
CurAmmoType: TAmmoType; |
|
335 |
AmmoStore: Longword; |
|
336 |
Team: PTeam; |
|
337 |
MultiShootAttacks: Longword; |
|
338 |
visStepPos: LongWord; |
|
339 |
BotLevel : Byte; // 0 - Human player |
|
340 |
HatVisibility: GLfloat; |
|
341 |
stats: TStatistics; |
|
342 |
Hat: shortstring; |
|
343 |
InitialHealth: LongInt; // used for gfResetHealth |
|
344 |
King: boolean; // Flag for a bunch of hedgehog attributes |
|
345 |
Unplaced: boolean; // Flag for hog placing mode |
|
346 |
Timer: Longword; |
|
347 |
Effects: Array[THogEffect] of boolean; |
|
348 |
end; |
|
349 |
||
350 |
TTeam = record |
|
351 |
Clan: PClan; |
|
352 |
TeamName: string[MAXNAMELEN]; |
|
353 |
ExtDriven: boolean; |
|
354 |
Binds: TBinds; |
|
355 |
Hedgehogs: array[0..cMaxHHIndex] of THedgehog; |
|
356 |
CurrHedgehog: LongWord; |
|
357 |
NameTagTex: PTexture; |
|
358 |
CrosshairTex, |
|
359 |
GraveTex, |
|
360 |
HealthTex, |
|
361 |
AIKillsTex, |
|
362 |
FlagTex: PTexture; |
|
363 |
Flag: shortstring; |
|
364 |
GraveName: shortstring; |
|
365 |
FortName: shortstring; |
|
366 |
TeamHealth: LongInt; |
|
367 |
TeamHealthBarWidth, |
|
368 |
NewTeamHealthBarWidth: LongInt; |
|
369 |
DrawHealthY: LongInt; |
|
370 |
AttackBar: LongWord; |
|
371 |
HedgehogsNumber: Longword; |
|
372 |
hasGone: boolean; |
|
373 |
voicepack: PVoicepack; |
|
374 |
PlayerHash: shortstring; // md5 hash of player name. For temporary enabling of hats as thank you. Hashed for privacy of players |
|
375 |
stats: TTeamStats; |
|
376 |
end; |
|
377 |
||
378 |
TClan = record |
|
379 |
Color: Longword; |
|
380 |
Teams: array[0..Pred(cMaxTeams)] of PTeam; |
|
381 |
TeamsNumber: Longword; |
|
5016
9347d82a26cc
added game mode Tag Team, mostly untested, please test :)
Henek
parents:
4978
diff
changeset
|
382 |
TagTeamIndex: Longword; |
4361 | 383 |
CurrTeam: LongWord; |
384 |
ClanHealth: LongInt; |
|
385 |
ClanIndex: LongInt; |
|
386 |
TurnNumber: LongWord; |
|
4978 | 387 |
Flawless: boolean; |
4361 | 388 |
end; |
389 |
||
4807
180dbfb13903
display caption for ammotype amNothing when switched to so that players know what just happened
sheepluva
parents:
4782
diff
changeset
|
390 |
TAmmoStrId = (sidGrenade, sidClusterBomb, sidBazooka, sidBee, sidShotgun, |
4361 | 391 |
sidPickHammer, sidSkip, sidRope, sidMine, sidDEagle, |
392 |
sidDynamite, sidBaseballBat, sidFirePunch, sidSeconds, |
|
393 |
sidParachute, sidAirAttack, sidMineStrike, sidBlowTorch, |
|
394 |
sidGirder, sidTeleport, sidSwitch, sidMortar, sidWhip, |
|
395 |
sidKamikaze, sidCake, sidSeduction, sidWatermelon, |
|
396 |
sidHellishBomb, sidDrill, sidBallgun, sidNapalm, sidRCPlane, |
|
397 |
sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime, |
|
398 |
sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack, |
|
399 |
sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb, sidSineGun, sidFlamethrower, |
|
5024 | 400 |
sidSMine, sidHammer, sidResurrector, sidDrillStrike, sidSnowball, sidNothing, sidTardis, sidStructure, sidLandGun); |
4361 | 401 |
|
402 |
TMsgStrId = (sidStartFight, sidDraw, sidWinner, sidVolume, sidPaused, |
|
403 |
sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync, |
|
5316
191cd6c06203
Allow control of grenade bounce. Not sure if this is a good idea, but has been requested a lot, so...
nemo
parents:
5202
diff
changeset
|
404 |
sidNoEndTurn, sidNotYetAvailable, sidRoundSD, sidRoundsSD, sidReady, |
191cd6c06203
Allow control of grenade bounce. Not sure if this is a good idea, but has been requested a lot, so...
nemo
parents:
5202
diff
changeset
|
405 |
sidBounce1, sidBounce2, sidBounce3, sidBounce4, sidBounce5, sidBounce); |
4361 | 406 |
|
5125 | 407 |
// Events that are important for the course of the game or at least interesting for other reasons |
4361 | 408 |
TEventId = (eidDied, eidDrowned, eidRoundStart, eidRoundWin, eidRoundDraw, |
409 |
eidNewHealthPack, eidNewAmmoPack, eidNewUtilityPack, eidTurnSkipped, eidHurtSelf, |
|
410 |
eidHomerun, eidGone); |
|
411 |
||
412 |
TGoalStrId = (gidCaption, gidSubCaption, gidForts, gidLowGravity, gidInvulnerable, |
|
413 |
gidVampiric, gidKarma, gidKing, gidPlaceHog, gidArtillery, |
|
414 |
gidSolidLand, gidSharedAmmo, gidMineTimer, gidNoMineTimer, gidRandomMineTimer, |
|
5022
d2a2f6c9b236
some final work and buggfix for Tag Team, it is now playable
Henek
parents:
5016
diff
changeset
|
415 |
gidDamageModifier, gidResetHealth, gidAISurvival, gidInfAttack, gidResetWeps, gidPerHogAmmo, gidTagTeam); |
4361 | 416 |
|
4367 | 417 |
TLandArray = packed array of array of LongWord; |
418 |
TCollisionArray = packed array of array of Word; |
|
419 |
TPreview = packed array[0..127, 0..31] of byte; |
|
420 |
TDirtyTag = packed array of array of byte; |
|
421 |
||
422 |
||
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
423 |
implementation |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
424 |
|
4420
6be946bcd17a
Add a visual gear for drawing circles. Intent is to allow specifying areas on map for lua scripts (such as to indicate a location to go to). Could also be used to, say, circle a hog in CTF. Also add a "Critical" flag for visual gears so a gear flagges as such will always be created.
nemo
parents:
4379
diff
changeset
|
425 |
end. |