--- a/hedgewars/uConsts.pas Sun Nov 29 16:37:12 2009 +0000
+++ b/hedgewars/uConsts.pas Sun Nov 29 16:56:04 2009 +0000
@@ -84,7 +84,8 @@
TGearsType = set of TGearType;
- TSound = (sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease,
+ TSound = (sndNone,
+ sndGrenadeImpact, sndExplosion, sndThrowPowerUp, sndThrowRelease,
sndSplash, sndShotgunReload, sndShotgunFire, sndGraveImpact,
sndMineTick, sndPickhammer, sndGun, sndUFO, sndJump1, sndJump2,
sndJump3, sndYesSir, sndLaugh, sndIllGetYou, sndIncoming,
@@ -96,7 +97,9 @@
sndMelon, sndHellish, sndYoohoo, sndRCPlane, sndWhipCrack,
sndRideOfTheValkyries, sndDenied, sndPlaced, sndBaseballBat,
sndVaporize, sndWarp, sndSuddenDeath, sndMortar, sndShutter,
- sndHomerun, sndMolotov);
+ sndHomerun, sndMolotov, sndWalking, sndCover, sndUhOh,
+ sndOops, sndNooo, sndHello, sndRopeShot, sndRopeAttach,
+ sndRopeRelease);
TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer,
amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip,
@@ -131,6 +134,7 @@
Timer: LongWord;
Pos: LongWord;
AmmoType: TAmmoType;
+ AttackVoice: TSound;
end;
TVertex2f = record
@@ -201,6 +205,7 @@
COLOR_LAND = $FFFF; // white
COLOR_INDESTRUCTIBLE = $88FF; // red
+ COLOR_OBJECT = $44FF; // no idea
// some opengl headers do not have these macros
GL_BGR = $80E0;
@@ -337,7 +342,7 @@
htHealth = $04;
htTransparent = $80;
- cTagsMasks : array[0..7] of byte = (
+ cTagsMasks : array[0..7] of byte = (
htTeamName or htName or htHealth,
htName or htHealth,
htHealth,
@@ -643,20 +648,23 @@
FramesCount: Longword;
Interval: Longword;
cmd: String[20];
+ Voice: TSound;
+ VoiceDelay: ShortInt;
end = (
- (Sprite: sprKowtow; FramesCount: 12; Interval: 125; cmd: '/rollup'),
- (Sprite: sprSad; FramesCount: 14; Interval: 125; cmd: '/sad'),
- (Sprite: sprWave; FramesCount: 16; Interval: 125; cmd: '/wave'),
- (Sprite: sprHurrah; FramesCount: 14; Interval: 125; cmd: '/hurrah'),
- (Sprite: sprLemonade; FramesCount: 24; Interval: 125; cmd: '/ilovelotsoflemonade'),
- (Sprite: sprShrug; FramesCount: 24; Interval: 125; cmd: '/shrug'),
- (Sprite: sprJuggle; FramesCount: 49; Interval: 38; cmd: '/juggle')
+ (Sprite: sprKowtow; FramesCount: 12; Interval: 125; cmd: '/rollup'; Voice: sndNone; VoiceDelay: 0),
+ (Sprite: sprSad; FramesCount: 14; Interval: 125; cmd: '/sad'; Voice: sndNone; VoiceDelay: 0),
+ (Sprite: sprWave; FramesCount: 16; Interval: 125; cmd: '/wave'; Voice: sndHello; VoiceDelay: 5),
+ (Sprite: sprHurrah; FramesCount: 14; Interval: 125; cmd: '/hurrah'; Voice: sndNone; VoiceDelay: 0),
+ (Sprite: sprLemonade; FramesCount: 24; Interval: 125; cmd: '/ilovelotsoflemonade'; Voice: sndNone; VoiceDelay: 0),
+ (Sprite: sprShrug; FramesCount: 24; Interval: 125; cmd: '/shrug'; Voice: sndNone; VoiceDelay: 0),
+ (Sprite: sprJuggle; FramesCount: 49; Interval: 38; cmd: '/juggle'; Voice: sndNone; VoiceDelay: 0)
);
Soundz: array[TSound] of record
FileName: String[25];
Path : TPathType;
end = (
+ (FileName: ''; Path: ptNone ),// sndNone
(FileName: 'grenadeimpact.ogg'; Path: ptSounds),// sndGrenadeImpact
(FileName: 'explosion.ogg'; Path: ptSounds),// sndExplosion
(FileName: 'throwpowerup.ogg'; Path: ptSounds),// sndThrowPowerUp
@@ -715,7 +723,16 @@
(FileName: 'mortar.ogg'; Path: ptSounds),// sndMortar
(FileName: 'shutterclick.ogg'; Path: ptSounds),// sndShutter
(FileName: 'homerun.ogg'; Path: ptSounds),// sndHomerun
- (FileName: 'molotov.ogg'; Path: ptSounds) // sndMolotov
+ (FileName: 'molotov.ogg'; Path: ptSounds),// sndMolotov
+ (FileName: 'walking.ogg'; Path: ptSounds),// sndWalking
+ (FileName: 'Takecover.ogg'; Path: ptVoices),// sndCover
+ (FileName: 'Uh-oh.ogg'; Path: ptVoices),// sndUhOh
+ (FileName: 'Oops.ogg'; Path: ptVoices),// sndOops
+ (FileName: 'Nooo.ogg'; Path: ptVoices),// sndNooo
+ (FileName: 'Hello.ogg'; Path: ptVoices),// sndHello
+ (FileName: ''; Path: ptSounds),// sndRopeShot
+ (FileName: ''; Path: ptSounds),// sndRopeAttach
+ (FileName: ''; Path: ptSounds) // sndRopeRelease
);
Ammoz: array [TAmmoType] of record
@@ -742,7 +759,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amNothing);
+ AmmoType: amNothing;
+ AttackVoice: sndNone);
Slot: 0;
TimeAfterTurn: 0;
minAngle: 0;
@@ -762,7 +780,8 @@
NumPerTurn: 0;
Timer: 3000;
Pos: 0;
- AmmoType: amGrenade);
+ AmmoType: amGrenade;
+ AttackVoice: sndCover);
Slot: 1;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -782,7 +801,8 @@
NumPerTurn: 0;
Timer: 3000;
Pos: 0;
- AmmoType: amClusterBomb);
+ AmmoType: amClusterBomb;
+ AttackVoice: sndCover);
Slot: 1;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -801,7 +821,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amBazooka);
+ AmmoType: amBazooka;
+ AttackVoice: sndNone);
Slot: 0;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -821,7 +842,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amUFO);
+ AmmoType: amUFO;
+ AttackVoice: sndNone);
Slot: 0;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -839,7 +861,8 @@
NumPerTurn: 1;
Timer: 0;
Pos: 0;
- AmmoType: amShotgun);
+ AmmoType: amShotgun;
+ AttackVoice: sndNone);
Slot: 2;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -860,7 +883,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amPickHammer);
+ AmmoType: amPickHammer;
+ AttackVoice: sndNone);
Slot: 6;
TimeAfterTurn: 0;
minAngle: 0;
@@ -879,7 +903,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amSkip);
+ AmmoType: amSkip;
+ AttackVoice: sndNone);
Slot: 8;
TimeAfterTurn: 0;
minAngle: 0;
@@ -899,7 +924,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amRope);
+ AmmoType: amRope;
+ AttackVoice: sndNone);
Slot: 7;
TimeAfterTurn: 0;
minAngle: 0;
@@ -920,7 +946,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amMine);
+ AmmoType: amMine;
+ AttackVoice: sndLaugh);
Slot: 4;
TimeAfterTurn: 5000;
minAngle: 0;
@@ -938,7 +965,8 @@
NumPerTurn: 3;
Timer: 0;
Pos: 0;
- AmmoType: amDEagle);
+ AmmoType: amDEagle;
+ AttackVoice: sndNone);
Slot: 2;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -959,7 +987,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amDynamite);
+ AmmoType: amDynamite;
+ AttackVoice: sndLaugh);
Slot: 4;
TimeAfterTurn: 5000;
minAngle: 0;
@@ -979,7 +1008,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amFirePunch);
+ AmmoType: amFirePunch;
+ AttackVoice: sndNone);
Slot: 3;
TimeAfterTurn: 3000;
MinAngle: 0;
@@ -997,7 +1027,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amWhip);
+ AmmoType: amWhip;
+ AttackVoice: sndNone);
Slot: 3;
TimeAfterTurn: 3000;
MinAngle: 0;
@@ -1015,7 +1046,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amBaseballBat);
+ AmmoType: amBaseballBat;
+ AttackVoice: sndNone);
Slot: 3;
TimeAfterTurn: 5000;
minAngle: 0;
@@ -1037,7 +1069,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amParachute);
+ AmmoType: amParachute;
+ AttackVoice: sndNone);
Slot: 7;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1059,7 +1092,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amAirAttack);
+ AmmoType: amAirAttack;
+ AttackVoice: sndIncoming);
Slot: 5;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1081,7 +1115,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amMineStrike);
+ AmmoType: amMineStrike;
+ AttackVoice: sndNone);
Slot: 5;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1099,7 +1134,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amBlowTorch);
+ AmmoType: amBlowTorch;
+ AttackVoice: sndNone);
Slot: 6;
TimeAfterTurn: 3000;
minAngle: 768;
@@ -1119,7 +1155,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amGirder);
+ AmmoType: amGirder;
+ AttackVoice: sndNone);
Slot: 6;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -1141,7 +1178,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amTeleport);
+ AmmoType: amTeleport;
+ AttackVoice: sndNone);
Slot: 7;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1161,7 +1199,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amSwitch);
+ AmmoType: amSwitch;
+ AttackVoice: sndNone);
Slot: 8;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1179,7 +1218,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amMortar);
+ AmmoType: amMortar;
+ AttackVoice: sndNone);
Slot: 1;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -1199,7 +1239,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amKamikaze);
+ AmmoType: amKamikaze;
+ AttackVoice: sndNone);
Slot: 3;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1219,7 +1260,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amCake);
+ AmmoType: amCake;
+ AttackVoice: sndLaugh);
Slot: 4;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1237,7 +1279,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amSeduction);
+ AmmoType: amSeduction;
+ AttackVoice: sndNone);
Slot: 2;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1257,7 +1300,8 @@
NumPerTurn: 0;
Timer: 3000;
Pos: 0;
- AmmoType: amWatermelon);
+ AmmoType: amWatermelon;
+ AttackVoice: sndMelon);
Slot: 1;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -1276,7 +1320,8 @@
NumPerTurn: 0;
Timer: 5000;
Pos: 0;
- AmmoType: amHellishBomb);
+ AmmoType: amHellishBomb;
+ AttackVoice: sndNone);
Slot: 4;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -1298,7 +1343,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amNapalm);
+ AmmoType: amNapalm;
+ AttackVoice: sndNone);
Slot: 5;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1317,7 +1363,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amDrill);
+ AmmoType: amDrill;
+ AttackVoice: sndNone);
Slot: 0;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -1336,7 +1383,8 @@
NumPerTurn: 0;
Timer: 5001;
Pos: 0;
- AmmoType: amBallgun);
+ AmmoType: amBallgun;
+ AttackVoice: sndNone);
Slot: 2;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1356,7 +1404,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amRCPlane);
+ AmmoType: amRCPlane;
+ AttackVoice: sndNone);
Slot: 6;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1377,7 +1426,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amLowGravity);
+ AmmoType: amLowGravity;
+ AttackVoice: sndNone);
Slot: 8;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1398,7 +1448,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amExtraDamage);
+ AmmoType: amExtraDamage;
+ AttackVoice: sndNone);
Slot: 8;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1419,7 +1470,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amInvulnerable);
+ AmmoType: amInvulnerable;
+ AttackVoice: sndNone);
Slot: 8;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1440,7 +1492,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amExtraTime);
+ AmmoType: amExtraTime;
+ AttackVoice: sndNone);
Slot: 7;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1461,7 +1514,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amLaserSight);
+ AmmoType: amLaserSight;
+ AttackVoice: sndNone);
Slot: 7;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1482,7 +1536,8 @@
NumPerTurn: 0;
Timer: 0;
Pos: 0;
- AmmoType: amVampiric);
+ AmmoType: amVampiric;
+ AttackVoice: sndNone);
Slot: 6;
TimeAfterTurn: 0;
minAngle: 0;
@@ -1500,7 +1555,8 @@
NumPerTurn: 1;
Timer: 0;
Pos: 0;
- AmmoType: amSniperRifle);
+ AmmoType: amSniperRifle;
+ AttackVoice: sndNone);
Slot: 2;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -1522,7 +1578,8 @@
NumPerTurn: 1;
Timer: 0;
Pos: 0;
- AmmoType: amJetpack);
+ AmmoType: amJetpack;
+ AttackVoice: sndNone);
Slot: 3;
TimeAfterTurn: 3000;
minAngle: 0;
@@ -1542,7 +1599,8 @@
NumPerTurn: 0;
Timer: 3000;
Pos: 0;
- AmmoType: amMolotov);
+ AmmoType: amMolotov;
+ AttackVoice: sndNone);
Slot: 1;
TimeAfterTurn: 3000;
minAngle: 0;