author | nemo |
Mon, 03 Dec 2018 12:43:49 -0500 | |
branch | 0.9.23 |
changeset 14383 | bdf5840863c6 |
parent 12701 | 79e13080b9db |
child 12855 | 1b2b84315d27 |
child 12898 | 8a40ce061d94 |
permissions | -rw-r--r-- |
4976 | 1 |
(* |
2 |
* Hedgewars, a free turn based strategy game |
|
11046 | 3 |
* Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com> |
4976 | 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 |
|
10108
c68cf030eded
update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents:
10040
diff
changeset
|
16 |
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
4976 | 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 |
7180 | 42 |
TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax, gmtRecord); |
4357
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 |
12106
9bc19f722169
Bug #108 - Phyfs/Pathz: Fix binds not being loaded
sheepluva
parents:
12072
diff
changeset
|
45 |
TPathType = (ptNone, ptData, ptGraphics, ptThemes, ptCurrTheme, ptConfig, ptTeams, ptMaps, |
9244 | 46 |
ptMapCurrent, ptDemos, ptSounds, ptGraves, ptFonts, ptForts, ptLocale, |
47 |
ptAmmoMenu, ptHedgehog, ptVoices, ptHats, ptFlags, ptMissionMaps, |
|
48 |
ptSuddenDeath, ptButtons, ptShaders); |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
49 |
|
5125 | 50 |
// Available sprites for displaying stuff |
11912
d3a852554aa7
Turn timer digits green when it's still the ready timer
Wuzzy <almikes@aol.com>
parents:
11911
diff
changeset
|
51 |
TSprite = (sprWater, sprCloud, sprBomb, sprBigDigit, sprBigDigitGray, sprBigDigitGreen, |
d3a852554aa7
Turn timer digits green when it's still the ready timer
Wuzzy <almikes@aol.com>
parents:
11911
diff
changeset
|
52 |
sprBigDigitRed, sprFrame, sprLag, sprArrow, sprBazookaShell, sprTargetP, sprBee, |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
53 |
sprSmokeTrace, sprRopeHook, sprExplosion50, sprMineOff, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
54 |
sprMineOn, sprMineDead, sprCase, sprFAid, sprDynamite, sprPower, |
6609 | 55 |
sprClusterBomb, sprClusterParticle, sprFlame, |
56 |
sprHorizont, sprHorizontL, sprHorizontR, sprSky, sprSkyL, sprSkyR, |
|
6627 | 57 |
sprAMSlot, sprAMAmmos, sprAMAmmosBW, sprAMSlotKeys, sprAMCorners, |
6609 | 58 |
sprFinger, sprAirBomb, sprAirplane, sprAmAirplane, sprAmGirder, |
59 |
sprHHTelepMask, sprSwitch, sprParachute, sprTarget, sprRopeNode, |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
60 |
sprQuestion, sprPowerBar, sprWindBar, sprWindL, sprWindR, |
6676
21cf35a570a7
add keywords for landscape ammomenu and touch interface
koda
parents:
6637
diff
changeset
|
61 |
{$IFDEF USE_TOUCH_INTERFACE} |
6685
ef706fccfb0a
moved other widgets under the USE_TOUCH_INTERFACE, added pause button (at least, graphically...)
koda
parents:
6683
diff
changeset
|
62 |
sprFireButton, sprArrowUp, sprArrowDown, sprArrowLeft, sprArrowRight, |
6957 | 63 |
sprJumpWidget, sprAMWidget, sprPauseButton, sprTimerButton, sprTargetButton, |
11210
22f2e072d31e
- Target button added to mobile touch controls
antonc27 <antonc27@mail.ru>
parents:
11046
diff
changeset
|
64 |
sprSwitchButton, |
6637
b4a3310f2974
show buttons on the screen, similar to the iOS overlay
Xeli
parents:
6627
diff
changeset
|
65 |
{$ENDIF} |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
66 |
sprFlake, sprHandRope, sprHandBazooka, sprHandShotgun, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
67 |
sprHandDEagle, sprHandAirAttack, sprHandBaseball, sprPHammer, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
68 |
sprHandBlowTorch, sprBlowTorch, sprTeleport, sprHHDeath, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
69 |
sprShotgun, sprDEagle, sprHHIdle, sprMortar, sprTurnsLeft, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
70 |
sprKamikaze, sprWhip, sprKowtow, sprSad, sprWave, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
71 |
sprHurrah, sprLemonade, sprShrug, sprJuggle, sprExplPart, sprExplPart2, |
6609 | 72 |
sprCakeWalk, sprCakeDown, sprWatermelon, |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
73 |
sprEvilTrace, sprHellishBomb, sprSeduction, sprDress, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
74 |
sprCensored, sprDrill, sprHandDrill, sprHandBallgun, sprBalls, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
75 |
sprPlane, sprHandPlane, sprUtility, sprInvulnerable, sprVampiric, sprGirder, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
76 |
sprSpeechCorner, sprSpeechEdge, sprSpeechTail, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
77 |
sprThoughtCorner, sprThoughtEdge, sprThoughtTail, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
78 |
sprShoutCorner, sprShoutEdge, sprShoutTail, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
79 |
sprSniperRifle, sprBubbles, sprJetpack, sprHealth, sprHandMolotov, sprMolotov, |
5065 | 80 |
sprSmoke, sprSmokeWhite, sprShell, sprDust, sprSnowDust, sprExplosives, sprExplosivesRoll, |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
81 |
sprAmTeleport, sprSplash, sprDroplet, sprBirdy, sprHandCake, sprHandConstruction, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
82 |
sprHandGrenade, sprHandMelon, sprHandMortar, sprHandSkip, sprHandCluster, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
83 |
sprHandDynamite, sprHandHellish, sprHandMine, sprHandSeduction, sprHandVamp, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
84 |
sprBigExplosion, sprSmokeRing, sprBeeTrace, sprEgg, sprTargetBee, sprHandBee, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
85 |
sprFeather, sprPiano, sprHandSineGun, sprPortalGun, sprPortal, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
86 |
sprCheese, sprHandCheese, sprHandFlamethrower, sprChunk, sprNote, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
87 |
sprSMineOff, sprSMineOn, sprHandSMine, sprHammer, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
88 |
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
|
89 |
sprBulletHit, sprSnowball, sprHandSnowball, sprSnow, |
6025
cac1d5601d7c
reviewed the build system and parts of the previous merge, performed some code cleanup
koda
parents:
6023
diff
changeset
|
90 |
sprSDFlake, sprSDWater, sprSDCloud, sprSDSplash, sprSDDroplet, sprTardis, |
10792
f6df7d6e18e5
Toss in scaled down underwater SD mine as "air mine" pending, er, cybernetic butterflies or whatever
nemo
parents:
10789
diff
changeset
|
91 |
sprSlider, sprBotlevels, sprHandKnife, sprKnife, sprStar, sprIceTexture, sprIceGun, |
12668
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12464
diff
changeset
|
92 |
sprFrozenHog, sprAmRubber, sprBoing, sprCustom1, sprCustom2, sprCustom3, sprCustom4, |
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12464
diff
changeset
|
93 |
sprCustom5, sprCustom6, sprCustom7, sprCustom8, sprAirMine, sprHandAirMine, |
12193
71c47122fbc0
Add ammotype amDuck for rubber duck
Wuzzy <almikes@aol.com>
parents:
12192
diff
changeset
|
94 |
sprFlakeL, sprSDFlakeL, sprCloudL, sprSDCloudL, sprDuck, sprHandDuck |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
95 |
); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
96 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
97 |
// Gears that interact with other Gears and/or Land |
10829 | 98 |
// first row of gears (<gtExplosives) should be avoided when searching a spawn place |
99 |
TGearType = (gtFlame, gtHedgehog, gtMine, gtCase, gtAirMine, gtExplosives, |
|
100 |
gtGrenade, gtShell, gtGrave, gtBee, // 9 |
|
101 |
gtShotgunShot, gtPickHammer, gtRope, // 12 |
|
102 |
gtDEagleShot, gtDynamite, gtClusterBomb, gtCluster, gtShover, // 17 |
|
103 |
gtFirePunch, gtATStartGame, // 19 |
|
104 |
gtATFinishGame, gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, // 24 |
|
105 |
gtGirder, gtTeleport, gtSwitcher, gtTarget, gtMortar, // 29 |
|
106 |
gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 35 |
|
107 |
gtHellishBomb, gtWaterUp, gtDrill, gtBallGun, gtBall, gtRCPlane, // 41 |
|
108 |
gtSniperRifleShot, gtJetpack, gtMolotov, gtBirdy, // 45 |
|
109 |
gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 51 |
|
110 |
gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector, // 56 |
|
8161 | 111 |
gtNapalmBomb, gtSnowball, gtFlake, {gtStructure,} gtLandGun, gtTardis, // 61 |
12192 | 112 |
gtIceGun, gtAddAmmo, gtGenericFaller, gtKnife, gtDuck); // 66 |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
113 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
114 |
// 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
|
115 |
TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
116 |
vgtSmallDamageTag, vgtTeamHealthSorter, vgtSpeechBubble, vgtBubble, |
5563 | 117 |
vgtSteam, vgtAmmo, vgtSmoke, vgtSmokeWhite, vgtShell, |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
118 |
vgtDust, vgtSplash, vgtDroplet, vgtSmokeRing, vgtBeeTrace, vgtEgg, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
119 |
vgtFeather, vgtHealthTag, vgtSmokeTrace, vgtEvilTrace, vgtExplosion, |
5357
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
120 |
vgtBigExplosion, vgtChunk, vgtNote, vgtLineTrail, vgtBulletHit, vgtCircle, |
10251
a3b42e81803c
collision indicator on failed girder placement (especially useful with rubberband I guess). still needs some tweaks but I am going to bed now :P
sheepluva
parents:
10162
diff
changeset
|
121 |
vgtSmoothWindBar, vgtStraightShot, vgtNoPlaceWarn); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
122 |
|
5125 | 123 |
// Damage can be caused by different sources |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
124 |
TDamageSource = (dsUnknown, dsFall, dsBullet, dsExplosion, dsShove, dsPoison); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
125 |
|
5125 | 126 |
// Available sounds |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
127 |
TSound = (sndNone, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
128 |
sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
129 |
sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact, |
5493 | 130 |
sndMineImpact, sndMineTick, sndMudballImpact, |
131 |
sndPickhammer, sndGun, sndBee, sndJump1, sndJump2, |
|
7980
7f8df51553a7
Remove duplicate files from voices (add a fallback check in uSound). Add JustYouWait as an alternate to IllGetYou. Note that IllGetYou being called every turn seems awkward. IMO they probably should be reserved for significant enemy action. Maybe played by team of heavily damaged or killed hog.
nemo
parents:
7754
diff
changeset
|
132 |
sndJump3, sndYesSir, sndLaugh, sndIllGetYou, sndJustYouWait, sndIncoming, |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
133 |
sndMissed, sndStupid, sndFirstBlood, sndBoring, sndByeBye, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
134 |
sndSameTeam, sndNutter, sndReinforce, sndTraitor, sndRegret, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
135 |
sndEnemyDown, sndCoward, sndHurry, sndWatchIt, sndKamikaze, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
136 |
sndCake, sndOw1, sndOw2, sndOw3, sndOw4, sndFirePunch1, sndFirePunch2, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
137 |
sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
138 |
sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
139 |
sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
140 |
sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
141 |
sndHomerun, sndMolotov, sndCover, sndUhOh, sndOops, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
142 |
sndNooo, sndHello, sndRopeShot, sndRopeAttach, sndRopeRelease, |
4978 | 143 |
sndSwitchHog, sndVictory, sndFlawless, sndSniperReload, sndSteps, sndLowGravity, |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
144 |
sndHellishImpact1, sndHellishImpact2, sndHellishImpact3, sndHellishImpact4, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
145 |
sndMelonImpact, sndDroplet1, sndDroplet2, sndDroplet3, sndEggBreak, sndDrillRocket, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
146 |
sndPoisonCough, sndPoisonMoan, sndBirdyLay, sndWhistle, sndBeeWater, |
9244 | 147 |
sndPiano0, sndPiano1, sndPiano2, sndPiano3, sndPiano4, sndPiano5, sndPiano6, sndPiano7, |
148 |
sndPiano8, sndSkip, sndSineGun, sndOoff1, sndOoff2, sndOoff3, sndWhack, |
|
149 |
sndComeonthen, sndParachute, sndBump, sndResurrector, sndPlane, sndTardis, sndFrozenHogImpact, |
|
11911
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11878
diff
changeset
|
150 |
sndIceBeam, sndHogFreeze, sndAirMineImpact, sndKnifeImpact, sndExtraTime, sndLaserSight, |
6145efcff302
Add sounds for blowtorch, invuln., f. saucer, lasersight, portal gun
Wuzzy <almikes@aol.com>
parents:
11878
diff
changeset
|
151 |
sndInvulnerable, sndJetpackLaunch, sndJetpackBoost, sndPortalShot, sndPortalSwitch, |
12194
ac9cf0cf40ee
Add sounds for rubberduck drop, destruction and water collision
Wuzzy <almikes@aol.com>
parents:
12193
diff
changeset
|
152 |
sndPortalOpen, sndBlowTorch, sndCountdown1, sndCountdown2, sndCountdown3, sndCountdown4, |
12668
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12464
diff
changeset
|
153 |
sndDuckDrop, sndDuckWater, sndDuckDie, sndCustom1, sndCustom2, sndCustom3, sndCustom4, |
308846e05154
extend overridable graphics/sounds to 8 of each, for lua scripters who really like having their own sprites/sounds. these should not be used in the engine.
nemo
parents:
12464
diff
changeset
|
154 |
sndCustom5, sndCustom6, sndCustom7, sndCustom8); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
155 |
|
5125 | 156 |
// 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
|
157 |
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
|
158 |
amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip, // 13 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
159 |
amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch, // 18 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
160 |
amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake, // 24 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
161 |
amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, // 30 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
162 |
amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
163 |
amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42 |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
164 |
amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48 |
10789
acbf69e2e5cf
experiment with air mines. thought they could make shoppa... interesting. ToDo: Allow mines to give up, tweak distances, real graphics, toggle for whether they can acquire a new target while they haven't given up.
nemo
parents:
10785
diff
changeset
|
165 |
amResurrector, amDrillStrike, amSnowball, amTardis, {amStructure,} amLandGun, // 53 |
12193
71c47122fbc0
Add ammotype amDuck for rubber duck
Wuzzy <almikes@aol.com>
parents:
12192
diff
changeset
|
166 |
amIceGun, amKnife, amRubber, amAirMine, amDuck); // 58 |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
167 |
|
5125 | 168 |
// 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
|
169 |
TCrateType = (HealthCrate, AmmoCrate, UtilityCrate); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
170 |
|
5639 | 171 |
THWFont = (fnt16, fntBig, fntSmall {$IFNDEF MOBILE}, CJKfnt16, CJKfntBig, CJKfntSmall{$ENDIF}); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
172 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
173 |
TCapGroup = (capgrpGameState, capgrpAmmoinfo, capgrpVolume, |
5118 | 174 |
capgrpMessage, capgrpMessage2, capgrpAmmostate); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
175 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
176 |
TStatInfoType = (siGameResult, siMaxStepDamage, siMaxStepKills, siKilledHHs, |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
177 |
siClanHealth, siTeamStats, siPlayerKills, siMaxTeamDamage, |
9178
c0902317c823
created a new sendstat type for changing the kills label
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9175
diff
changeset
|
178 |
siMaxTeamKills, siMaxTurnSkips, siCustomAchievement, siGraphTitle, |
c0902317c823
created a new sendstat type for changing the kills label
Periklis Ntanasis <pntanasis@gmail.com>
parents:
9175
diff
changeset
|
179 |
siPointType); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
180 |
|
9244 | 181 |
// Various 'emote' animations a hedgehog can do |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
182 |
TWave = (waveRollup, waveSad, waveWave, waveHurrah, waveLemonade, waveShrug, waveJuggle); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
183 |
|
4812
f924be23ffb4
merge with HEAD after 0.9.15 release, move consts and vars in their proper files
koda
parents:
4807
diff
changeset
|
184 |
TRenderMode = (rmDefault, rmLeftEye, rmRightEye); |
8359
9a7024b2a4d3
Removed wiggle 3D mode, reorder the list of 3D modes.
martin_bede
parents:
8204
diff
changeset
|
185 |
TStereoMode = (smNone, smRedCyan, smCyanRed, smRedBlue, smBlueRed, smRedGreen, smGreenRed, smHorizontal, smVertical); |
9473
a51a69094c24
partial implementation of non-infinite world (edge wrap/warp/bounce)
nemo
parents:
9377
diff
changeset
|
186 |
TWorldEdge = (weNone, weWrap, weBounce, weSea, weSky); |
9693 | 187 |
TUIDisplay = (uiAll, uiNoTeams, uiNone); |
11744
ac58a063d26a
Added "Forts" to map type selection. This makes the mode easier selectable/discoverable. Also the slider can be used to adjust the distance between forts.
sheepluva
parents:
11734
diff
changeset
|
188 |
TMapGen = (mgRandom, mgMaze, mgPerlin, mgDrawn, mgForts); |
10603
bda5c7caf396
switch mapgen to enum. should still try and make sure the values are backwards compatible if possible.
nemo
parents:
10466
diff
changeset
|
189 |
|
9473
a51a69094c24
partial implementation of non-infinite world (edge wrap/warp/bounce)
nemo
parents:
9377
diff
changeset
|
190 |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
191 |
THHFont = record |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
192 |
Handle: PTTF_Font; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
193 |
Height: LongInt; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
194 |
style: LongInt; |
6889 | 195 |
Name: string[31]; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
196 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
197 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
198 |
PAmmo = ^TAmmo; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
199 |
TAmmo = record |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
200 |
Propz: LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
201 |
Count: LongWord; |
9244 | 202 |
// Using for place hedgehogs mode, but for any other situation where the initial count would be needed I guess. |
203 |
// For example, say, a mode where the weaponset is reset each turn, or on sudden death |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
204 |
NumPerTurn: LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
205 |
Timer: LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
206 |
Pos: LongWord; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
207 |
AmmoType: TAmmoType; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
208 |
AttackVoice: TSound; |
5319
51d8e4747876
bounce. tweak of values, remove friction modifier, move to weapon, to match timer behaviour
nemo
parents:
5316
diff
changeset
|
209 |
Bounciness: LongWord; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
210 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
211 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
212 |
TVertex2f = record |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6426
diff
changeset
|
213 |
X, Y: GLfloat; |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6426
diff
changeset
|
214 |
end; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
215 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
216 |
TVertex2i = record |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6426
diff
changeset
|
217 |
X, Y: GLint; |
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6426
diff
changeset
|
218 |
end; |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
219 |
|
8026
4a4f21070479
merge xymeng's gsoc engine with a few updates (and further checks on symbol definitions)
koda
parents:
7996
diff
changeset
|
220 |
TMatrix4x4f = array[0..3, 0..3] of GLfloat; |
4a4f21070479
merge xymeng's gsoc engine with a few updates (and further checks on symbol definitions)
koda
parents:
7996
diff
changeset
|
221 |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
222 |
PTexture = ^TTexture; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
223 |
TTexture = record |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
224 |
id: GLuint; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
225 |
w, h, scale: LongInt; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
226 |
rx, ry: GLfloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
227 |
priority: GLfloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
228 |
vb, tb: array [0..3] of TVertex2f; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
229 |
PrevTexture, NextTexture: PTexture; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
230 |
end; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
231 |
|
7010
10a0a31804f3
Switch effects to longint for convenience of tracking ice states. I could add a new Hedgehog value, but since we have this effects list being all useless as booleans anyway...
nemo
parents:
7007
diff
changeset
|
232 |
THogEffect = (heInvulnerable, heResurrectable, hePoisoned, heResurrected, heFrozen); |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
233 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
234 |
TScreenFade = (sfNone, sfInit, sfToBlack, sfFromBlack, sfToWhite, sfFromWhite); |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
235 |
|
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
236 |
PGear = ^TGear; |
4361 | 237 |
PHedgehog = ^THedgehog; |
238 |
PTeam = ^TTeam; |
|
239 |
PClan = ^TClan; |
|
240 |
||
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
241 |
TGearStepProcedure = procedure (Gear: PGear); |
9244 | 242 |
// So, you are here looking for variables you can (ab)use to store some gear state? |
8774
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
243 |
// Not all members of this structure are created equal. Comments below are my take on what can be used for what in the gear structure. |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
244 |
TGear = record |
9244 | 245 |
// Do *not* ever override these. |
8774
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
246 |
NextGear, PrevGear: PGear; // Linked list |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
247 |
Z: Longword; // Z index. For rendering. Sets order in list |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
248 |
Active: Boolean; // Is gear Active (running step code) |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
249 |
Kind: TGearType; |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
250 |
doStep: TGearStepProcedure; // Code the gear is running |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
251 |
AmmoType : TAmmoType; // Ammo type associated with this kind of gear |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
252 |
RenderTimer: Boolean; // Will visually display Timer if true |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
253 |
Target : TPoint; // Gear target. Will render in uGearsRender unless a special case is added |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
254 |
AIHints: LongWord; // hints for ai. |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
255 |
LastDamage: PHedgehog; // Used to track damage source for stats |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
256 |
CollisionIndex: LongInt; // Position in collision array |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
257 |
Message: LongWord; // Game messages are stored here. See gm bitmasks in uConsts |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
258 |
uid: Longword; // Lua use this to reference gears |
10809
bb2e4e9944f7
Add generic getter/setter for a bunch of more obscure gear structure values
nemo
parents:
10792
diff
changeset
|
259 |
Hedgehog: PHedgehog; // set to CurrentHedgehog on gear creation. uStats damage code appears to assume it will never be nil and never be changed. If you override it, make sure it is set to a non-nil PHedgehog before dealing damage. |
8774
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
260 |
// Strongly recommended not to override these. Will mess up generic operations like portaling |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
261 |
X : hwFloat; // X/Y/dX/dY are position/velocity. People count on these having semi-normal values |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
262 |
Y : hwFloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
263 |
dX: hwFloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
264 |
dY: hwFloat; |
8774
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
265 |
State : Longword; // See gst bitmask values in uConsts |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
266 |
PortalCounter: LongWord; // Necessary to interrupt portal loops. Not possible to avoid infinite loops without it. |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
267 |
// Don't use these if you're using generic movement like doStepFallingGear and explosion shoves. Generally recommended not to use. |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
268 |
Radius: LongInt; // Radius. If not using uCollisions, is usually used to indicate area of effect |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
269 |
CollisionMask: Word; // Masking off Land impact FF7F for example ignores current hog and crates |
9248 | 270 |
AdvBounce: Longword; // Triggers 45 bounces. Is a counter to avoid edge cases |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
271 |
Elasticity: hwFloat; |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
272 |
Friction : hwFloat; |
8774
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
273 |
Density : hwFloat; // Density is kind of a mix of size and density. Impacts distance thrown, wind. |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
274 |
ImpactSound: TSound; // first sound, others have to be after it in the sounds def. |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
275 |
nImpactSounds: Word; // count of ImpactSounds. |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
276 |
// Don't use these if you want to take damage normally, otherwise health/damage are commonly used for other purposes |
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
277 |
Health, Damage, Karma: LongInt; |
9244 | 278 |
// DirAngle is a 'real' - if you do not need it for rotation of sprite in uGearsRender, you can use it for any visual-only value |
8774
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
279 |
DirAngle: real; |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
280 |
// These are frequently overridden to serve some other purpose |
12159 | 281 |
Boom: Longword; // amount of damage caused by the gear |
8774
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
282 |
Pos: Longword; // Commonly overridden. Example use is posCase values in uConsts. |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
283 |
Angle, Power : Longword; // Used for hog aiming/firing. Angle is rarely used as an Angle otherwise. |
9969 | 284 |
Timer, WDTimer : LongWord; // Typically used for some sort of gear timer. Time to explosion, remaining fuel... |
8774
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
285 |
Tag: LongInt; // Quite generic. Variety of uses. |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
286 |
FlightTime: Longword; // Initially added for batting of hogs to determine homerun. Used for some firing delays |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
287 |
MsgParam: LongWord; // Initially stored a set of messages. So usually gm values like Message. Frequently overriden |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
288 |
// These are not used generically, but should probably be used for purpose intended. Definitely shouldn't override pointer type |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
289 |
Tex: PTexture; // A texture created by the gear. Shouldn't use for anything but textures |
10032
db65298717da
This adds idle hog tinting. Active hog tinting still needed.
nemo
parents:
9998
diff
changeset
|
290 |
Tint: LongWord; // Used to colour a texture |
8774
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
291 |
LinkedGear: PGear; // Used to track a related gear. Portal pairs for example. |
39754516eee6
Try to document TGear a bit, so people know what is commonly overridden, and what stuff is used for. Remove gtIceGun-specific values from TGear and abuse a couple of commonly abused members instead.
nemo
parents:
8557
diff
changeset
|
292 |
SoundChannel: LongInt; // Used to track a sound the gear started |
10874
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
293 |
Data: Pointer; // pointer to gear type specific data structure (if any) |
6580
6155187bf599
A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents:
6426
diff
changeset
|
294 |
end; |
6426 | 295 |
TPGearArray = array of PGear; |
7335 | 296 |
PGearArrayS = record |
297 |
size: LongWord; |
|
298 |
ar: ^TPGearArray; |
|
299 |
end; |
|
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
300 |
|
4361 | 301 |
PVisualGear = ^TVisualGear; |
302 |
TVGearStepProcedure = procedure (Gear: PVisualGear; Steps: Longword); |
|
303 |
TVisualGear = record |
|
304 |
NextGear, PrevGear: PVisualGear; |
|
305 |
Frame, |
|
306 |
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
|
307 |
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
|
308 |
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
|
309 |
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
|
310 |
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
|
311 |
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
|
312 |
tdY: real; |
4361 | 313 |
State : Longword; |
314 |
Timer: Longword; |
|
315 |
Angle, dAngle: real; |
|
316 |
Kind: TVisualGearType; |
|
317 |
doStep: TVGearStepProcedure; |
|
318 |
Tex: PTexture; |
|
319 |
alpha, scale: GLfloat; |
|
4365 | 320 |
Hedgehog: PHedgehog; |
5357
ec36f3d53f3c
Tiny optimization: convert smooth wind indicator change gear into visual gear
unc0rr
parents:
5319
diff
changeset
|
321 |
Tag: LongInt; |
4361 | 322 |
Text: shortstring; |
323 |
Tint: Longword; |
|
4422 | 324 |
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
|
325 |
Layer: byte; |
4361 | 326 |
end; |
327 |
||
328 |
TStatistics = record |
|
329 |
DamageRecv, |
|
330 |
DamageGiven: Longword; |
|
331 |
StepDamageRecv, |
|
332 |
StepDamageGiven, |
|
333 |
StepKills: Longword; |
|
12292
93434ab299a0
Take sacrifices into account for the “Stupid” taunt
Wuzzy <almikes@aol.com>
parents:
12290
diff
changeset
|
334 |
StepPoisoned, |
12343
6ff01dc1ffe2
Fix Traitor taunt being played when hog w/ heResurrectable drowns w/o damage
Wuzzy <almikes@aol.com>
parents:
12293
diff
changeset
|
335 |
StepDied, |
12292
93434ab299a0
Take sacrifices into account for the “Stupid” taunt
Wuzzy <almikes@aol.com>
parents:
12290
diff
changeset
|
336 |
Sacrificed: boolean; |
4361 | 337 |
MaxStepDamageRecv, |
338 |
MaxStepDamageGiven, |
|
339 |
MaxStepKills: Longword; |
|
340 |
FinishedTurns: Longword; |
|
341 |
end; |
|
342 |
||
343 |
TTeamStats = record |
|
344 |
Kills : Longword; |
|
5202 | 345 |
Suicides: Longword; |
4361 | 346 |
AIKills : Longword; |
347 |
TeamKills : Longword; |
|
348 |
TurnSkips : Longword; |
|
349 |
TeamDamage : Longword; |
|
350 |
end; |
|
351 |
||
7191
9419294e5f33
first attempt at implementing support for keys with modifiers
Xeli
parents:
7034
diff
changeset
|
352 |
TBinds = array[0..cKbdMaxIndex] of shortstring; |
4361 | 353 |
TKeyboardState = array[0..cKeyMaxIndex] of Byte; |
354 |
||
355 |
PVoicepack = ^TVoicepack; |
|
356 |
TVoicepack = record |
|
357 |
name: shortstring; |
|
358 |
chunks: array [TSound] of PMixChunk; |
|
359 |
end; |
|
360 |
||
5638
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
361 |
TVoice = record |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
362 |
snd: TSound; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
363 |
voicepack: PVoicePack; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
364 |
end; |
e35ba2a400d8
Try to avoid overlapping voices for major statements (not things like byebye or oof)
nemo
parents:
5612
diff
changeset
|
365 |
|
7034
e3639ce1d4f8
(PointerTo (SimpleType _)) could be a pointer to a non-struct type
unc0rr
parents:
7016
diff
changeset
|
366 |
THHAmmo = array[0..cMaxSlotIndex, 0..cMaxSlotAmmoIndex] of TAmmo; |
4361 | 367 |
PHHAmmo = ^THHAmmo; |
368 |
||
369 |
THedgehog = record |
|
7016 | 370 |
Name: shortstring; |
4361 | 371 |
Gear: PGear; |
4881
35e6269227b6
still in developement take on adding structures, working hiding of hogs and ejecting them later.
Henek
parents:
4812
diff
changeset
|
372 |
GearHidden: PGear; |
4361 | 373 |
SpeechGear: PVisualGear; |
374 |
NameTagTex, |
|
375 |
HealthTagTex, |
|
376 |
HatTex: PTexture; |
|
377 |
Ammo: PHHAmmo; |
|
378 |
CurAmmoType: TAmmoType; |
|
7389
15c3fb4882df
Sorry about the slight delay in pickup. You can blame a few lame cheaters. This is to make their cheating a bit harder.
nemo
parents:
7335
diff
changeset
|
379 |
PickUpType: LongWord; |
15c3fb4882df
Sorry about the slight delay in pickup. You can blame a few lame cheaters. This is to make their cheating a bit harder.
nemo
parents:
7335
diff
changeset
|
380 |
PickUpDelay: LongInt; |
4361 | 381 |
AmmoStore: Longword; |
382 |
Team: PTeam; |
|
383 |
MultiShootAttacks: Longword; |
|
384 |
visStepPos: LongWord; |
|
385 |
BotLevel : Byte; // 0 - Human player |
|
386 |
HatVisibility: GLfloat; |
|
387 |
stats: TStatistics; |
|
388 |
Hat: shortstring; |
|
389 |
InitialHealth: LongInt; // used for gfResetHealth |
|
390 |
King: boolean; // Flag for a bunch of hedgehog attributes |
|
391 |
Unplaced: boolean; // Flag for hog placing mode |
|
392 |
Timer: Longword; |
|
9720
453a1c29b7e4
Animate hedgehogs healths inside team health bar. Proper animation for the case when max team health grows is lost though.
unc0rr
parents:
9693
diff
changeset
|
393 |
HealthBarHealth: LongInt; |
7010
10a0a31804f3
Switch effects to longint for convenience of tracking ice states. I could add a new Hedgehog value, but since we have this effects list being all useless as booleans anyway...
nemo
parents:
7007
diff
changeset
|
394 |
Effects: array[THogEffect] of LongInt; |
4361 | 395 |
end; |
396 |
||
397 |
TTeam = record |
|
398 |
Clan: PClan; |
|
7016 | 399 |
TeamName: shortstring; |
4361 | 400 |
ExtDriven: boolean; |
401 |
Binds: TBinds; |
|
402 |
Hedgehogs: array[0..cMaxHHIndex] of THedgehog; |
|
403 |
CurrHedgehog: LongWord; |
|
9790 | 404 |
NameTagTex, |
10634
35d059bd0932
Use FreeAndNil across the board. Even if we are immediately assigning after, probably avoids accidental mistakes. Also free neglected owner tex on shutdown, and delete hog gears using the normal deletion procedure if for any reason they still exist (EndGame call?).
nemo
parents:
10603
diff
changeset
|
405 |
OwnerTex, |
4361 | 406 |
GraveTex, |
407 |
AIKillsTex, |
|
408 |
FlagTex: PTexture; |
|
409 |
Flag: shortstring; |
|
410 |
GraveName: shortstring; |
|
411 |
FortName: shortstring; |
|
9790 | 412 |
Owner: shortstring; |
4361 | 413 |
TeamHealth: LongInt; |
9720
453a1c29b7e4
Animate hedgehogs healths inside team health bar. Proper animation for the case when max team health grows is lost though.
unc0rr
parents:
9693
diff
changeset
|
414 |
TeamHealthBarHealth: LongInt; |
4361 | 415 |
DrawHealthY: LongInt; |
416 |
AttackBar: LongWord; |
|
417 |
HedgehogsNumber: Longword; |
|
418 |
voicepack: PVoicepack; |
|
419 |
PlayerHash: shortstring; // md5 hash of player name. For temporary enabling of hats as thank you. Hashed for privacy of players |
|
420 |
stats: TTeamStats; |
|
10343
fe9853dea6c4
Finish implementation of ability to take control over your team after being disconnected. Completely untested.
unc0rr
parents:
10339
diff
changeset
|
421 |
hasGone: boolean; |
10345 | 422 |
skippedTurns: Longword; |
10397 | 423 |
isGoneFlagPendingToBeSet, isGoneFlagPendingToBeUnset: boolean; |
4361 | 424 |
end; |
425 |
||
426 |
TClan = record |
|
427 |
Color: Longword; |
|
428 |
Teams: array[0..Pred(cMaxTeams)] of PTeam; |
|
9656 | 429 |
HealthTex: PTexture; |
4361 | 430 |
TeamsNumber: Longword; |
5016
9347d82a26cc
added game mode Tag Team, mostly untested, please test :)
Henek
parents:
4978
diff
changeset
|
431 |
TagTeamIndex: Longword; |
4361 | 432 |
CurrTeam: LongWord; |
433 |
ClanHealth: LongInt; |
|
434 |
ClanIndex: LongInt; |
|
435 |
TurnNumber: LongWord; |
|
4978 | 436 |
Flawless: boolean; |
4361 | 437 |
end; |
438 |
||
8204 | 439 |
cdeclPtr = procedure; cdecl; |
440 |
cdeclIntPtr = procedure(num: LongInt); cdecl; |
|
8332
9333216f2054
fix hwc install and pas2c preprocessing (but not total conversion)
koda
parents:
8330
diff
changeset
|
441 |
funcDoublePtr = function: Double; |
8204 | 442 |
|
443 |
TMobileRecord = record |
|
444 |
PerformRumble: cdeclIntPtr; |
|
445 |
GameLoading: cdeclPtr; |
|
446 |
GameLoaded: cdeclPtr; |
|
447 |
SaveLoadingEnded: cdeclPtr; |
|
448 |
end; |
|
449 |
||
4807
180dbfb13903
display caption for ammotype amNothing when switched to so that players know what just happened
sheepluva
parents:
4782
diff
changeset
|
450 |
TAmmoStrId = (sidGrenade, sidClusterBomb, sidBazooka, sidBee, sidShotgun, |
4361 | 451 |
sidPickHammer, sidSkip, sidRope, sidMine, sidDEagle, |
452 |
sidDynamite, sidBaseballBat, sidFirePunch, sidSeconds, |
|
453 |
sidParachute, sidAirAttack, sidMineStrike, sidBlowTorch, |
|
454 |
sidGirder, sidTeleport, sidSwitch, sidMortar, sidWhip, |
|
455 |
sidKamikaze, sidCake, sidSeduction, sidWatermelon, |
|
456 |
sidHellishBomb, sidDrill, sidBallgun, sidNapalm, sidRCPlane, |
|
457 |
sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime, |
|
458 |
sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack, |
|
7404 | 459 |
sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb, |
460 |
sidSineGun, sidFlamethrower,sidSMine, sidHammer, sidResurrector, |
|
461 |
sidDrillStrike, sidSnowball, sidNothing, sidTardis, |
|
12192 | 462 |
{sidStructure,} sidLandGun, sidIceGun, sidKnife, sidRubber, sidAirMine, |
463 |
sidDuck); |
|
4361 | 464 |
|
12186
322aaad4a93d
Load screen: Move “LOADING” from image into text box
Wuzzy <almikes@aol.com>
parents:
12175
diff
changeset
|
465 |
TMsgStrId = (sidLoading, sidDraw, sidWinner, sidVolume, sidPaused, |
4361 | 466 |
sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync, |
8795
b5b79a8f9354
merge correction, also what's with all those trailing whitespaces?
koda
parents:
8774
diff
changeset
|
467 |
sidNoEndTurn, sidNotYetAvailable, sidRoundSD, sidRoundsSD, sidReady, |
7403 | 468 |
sidBounce1, sidBounce2, sidBounce3, sidBounce4, sidBounce5, sidBounce, |
12175
9237bfb198c7
Fix time box tooltip saying it is not *yet* available in SD
Wuzzy <almikes@aol.com>
parents:
12174
diff
changeset
|
469 |
sidMute, sidAFK, sidAutoCameraOff, sidAutoCameraOn, sidPressTarget, |
12464
39d780f9bf35
Show “Empty!” when collecting ammo crate with amNothing or 0 ammo
Wuzzy <almikes@aol.com>
parents:
12343
diff
changeset
|
470 |
sidNotAvailableInSD, sidHealthGain, sidEmptyCrate); |
4361 | 471 |
|
5125 | 472 |
// Events that are important for the course of the game or at least interesting for other reasons |
4361 | 473 |
TEventId = (eidDied, eidDrowned, eidRoundStart, eidRoundWin, eidRoundDraw, |
7404 | 474 |
eidNewHealthPack, eidNewAmmoPack, eidNewUtilityPack, eidTurnSkipped, |
12169
869cf5f34700
More ticker messages: Sick, king died, resurrect, time box return, timeout, kamikaze
Wuzzy <almikes@aol.com>
parents:
12159
diff
changeset
|
475 |
eidHurtSelf, eidHomerun, eidGone, eidPoisoned, eidResurrected, |
869cf5f34700
More ticker messages: Sick, king died, resurrect, time box return, timeout, kamikaze
Wuzzy <almikes@aol.com>
parents:
12159
diff
changeset
|
476 |
eidKamikaze, eidTimeTravelEnd, eidTimeout, eidKingDied); |
4361 | 477 |
|
12072
10aad1cafc10
Game mode messages: New messages for PlaceHog+King; All messages get a colon to get highlighted; Reorder messages more logically
Wuzzy <almikes@aol.com>
parents:
11914
diff
changeset
|
478 |
TGoalStrId = (gidCaption, gidSubCaption, gidPlaceKing, gidLowGravity, gidInvulnerable, |
4361 | 479 |
gidVampiric, gidKarma, gidKing, gidPlaceHog, gidArtillery, |
8795
b5b79a8f9354
merge correction, also what's with all those trailing whitespaces?
koda
parents:
8774
diff
changeset
|
480 |
gidSolidLand, gidSharedAmmo, gidMineTimer, gidNoMineTimer, |
b5b79a8f9354
merge correction, also what's with all those trailing whitespaces?
koda
parents:
8774
diff
changeset
|
481 |
gidRandomMineTimer, gidDamageModifier, gidResetHealth, gidAISurvival, |
11878
74e838b7eecc
Show “More Wind” modifier in mission panel
Wuzzy <almikes@aol.com>
parents:
11766
diff
changeset
|
482 |
gidInfAttack, gidResetWeps, gidPerHogAmmo, gidTagTeam, gidMoreWind); |
4361 | 483 |
|
8026
4a4f21070479
merge xymeng's gsoc engine with a few updates (and further checks on symbol definitions)
koda
parents:
7996
diff
changeset
|
484 |
|
4367 | 485 |
TLandArray = packed array of array of LongWord; |
486 |
TCollisionArray = packed array of array of Word; |
|
8026
4a4f21070479
merge xymeng's gsoc engine with a few updates (and further checks on symbol definitions)
koda
parents:
7996
diff
changeset
|
487 |
TDirtyTag = packed array of array of byte; |
8330 | 488 |
|
4367 | 489 |
TPreview = packed array[0..127, 0..31] of byte; |
10162 | 490 |
TPreviewAlpha = packed array[0..127, 0..255] of byte; |
4367 | 491 |
|
6688 | 492 |
PWidgetMovement = ^TWidgetMovement; |
493 |
TWidgetMovement = record |
|
6701
58a43c2064ad
the onScreenwidgets are multitouch now, frequently (alternating) tapping left and right still causes it to bug though, but you have to try hard to duplicate it, works ok for now
Xeli
parents:
6700
diff
changeset
|
494 |
animate : Boolean; |
58a43c2064ad
the onScreenwidgets are multitouch now, frequently (alternating) tapping left and right still causes it to bug though, but you have to try hard to duplicate it, works ok for now
Xeli
parents:
6700
diff
changeset
|
495 |
source : TPoint; |
58a43c2064ad
the onScreenwidgets are multitouch now, frequently (alternating) tapping left and right still causes it to bug though, but you have to try hard to duplicate it, works ok for now
Xeli
parents:
6700
diff
changeset
|
496 |
target : TPoint; |
58a43c2064ad
the onScreenwidgets are multitouch now, frequently (alternating) tapping left and right still causes it to bug though, but you have to try hard to duplicate it, works ok for now
Xeli
parents:
6700
diff
changeset
|
497 |
startTime : Longword; |
6688 | 498 |
end; |
499 |
||
500 |
POnScreenWidget = ^TOnScreenWidget; |
|
501 |
TOnScreenWidget = record |
|
9317
a04c30940d2d
use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents:
9178
diff
changeset
|
502 |
show : boolean; // if false widget will not be drawn |
a04c30940d2d
use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents:
9178
diff
changeset
|
503 |
sprite : TSprite; // a convenience type |
a04c30940d2d
use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents:
9178
diff
changeset
|
504 |
frame : TSDL_Rect; // graphical coordinates |
a04c30940d2d
use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents:
9178
diff
changeset
|
505 |
active : TSDL_Rect; // active touch region |
a04c30940d2d
use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents:
9178
diff
changeset
|
506 |
fadeAnimStart : Longword; // time the fade started |
a04c30940d2d
use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents:
9178
diff
changeset
|
507 |
// (0 means do not fade) |
a04c30940d2d
use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents:
9178
diff
changeset
|
508 |
moveAnim : TWidgetMovement; // animation associated to widget |
6685
ef706fccfb0a
moved other widgets under the USE_TOUCH_INTERFACE, added pause button (at least, graphically...)
koda
parents:
6683
diff
changeset
|
509 |
end; |
4367 | 510 |
|
6693 | 511 |
PTouch_Data = ^TTouch_Data; |
512 |
TTouch_Data = record |
|
513 |
id : TSDL_FingerId; |
|
514 |
x,y : LongInt; |
|
515 |
dx,dy : LongInt; |
|
516 |
historicalX, historicalY : LongInt; |
|
517 |
timeSinceDown : Longword; |
|
6701
58a43c2064ad
the onScreenwidgets are multitouch now, frequently (alternating) tapping left and right still causes it to bug though, but you have to try hard to duplicate it, works ok for now
Xeli
parents:
6700
diff
changeset
|
518 |
pressedWidget : POnScreenWidget; |
6693 | 519 |
end; |
520 |
||
10361 | 521 |
PSpriteData = ^TSpriteData; |
522 |
TSpriteData = record |
|
523 |
FileName: string[15]; |
|
524 |
Path, AltPath: TPathType; |
|
525 |
Texture: PTexture; |
|
526 |
Surface: PSDL_Surface; |
|
527 |
Width, Height, imageWidth, imageHeight: LongInt; |
|
528 |
saveSurf: boolean; |
|
12701
79e13080b9db
mark up sprites for uStore loading. critical is for ones needed for proper gameplay, checksum is for ones where the game will desync if they don't match. will add checksumming next...
nemo
parents:
12668
diff
changeset
|
529 |
critical: boolean; |
79e13080b9db
mark up sprites for uStore loading. critical is for ones needed for proper gameplay, checksum is for ones where the game will desync if they don't match. will add checksumming next...
nemo
parents:
12668
diff
changeset
|
530 |
checkSum: boolean; // use for images where if they are missing a desync can occur. |
10361 | 531 |
priority: GLfloat; |
532 |
getDimensions, getImageDimensions: boolean; |
|
533 |
end; |
|
534 |
||
10874
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
535 |
// gear data types |
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
536 |
|
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
537 |
const cakeh = 27; |
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
538 |
|
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
539 |
type TCakeData = record |
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
540 |
CakeI: integer; |
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
541 |
CakePoints: array[0..Pred(cakeh)] of record |
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
542 |
x, y: hwFloat; |
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
543 |
end; |
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
544 |
end; |
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
545 |
|
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
546 |
PCakeData = ^TCakeData; |
059a6492176e
allow gear specific data (with gear type specific type). applied to cake
sheepluva
parents:
10829
diff
changeset
|
547 |
|
11734 | 548 |
TClansArray = array[0..Pred(cMaxTeams)] of PClan; |
549 |
||
4357
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
550 |
implementation |
a1fcfc341a52
Introduce unit uTypes in order to remove some cyclic unit dependencies
unC0Rr
parents:
diff
changeset
|
551 |
|
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
|
552 |
end. |