raze/wadsrc/static/zscript/games/sw/swgame.zs
2022-10-09 23:56:15 +02:00

948 lines
24 KiB
Text

//-------------------------------------------------------------------------
/*
Copyright (C) 1997, 2005 - 3D Realms Entertainment
Copyright (C) 2019-2021 Christoph Oelckers
This file is part of Raze
Shadow Warrior is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Original Source: 1997 - Frank Maddin and Jim Norwood
Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
*/
//-------------------------------------------------------------------------
struct SW native
{
const MAX_INVENTORY = 7;
const MAX_WEAPONS = 14;
enum ESWSoundFlag
{
v3df_none = 0, // Default, take no action, use all defaults
v3df_follow = 1, // 1 = Do coordinate updates on sound
// Use this only if the sprite won't be deleted soon
v3df_kill = 2, // 1 = Sound is to be deleted
v3df_doppler = 4, // 1 = Don't use doppler pitch variance
v3df_dontpan = 8, // 1 = Don't do panning of sound
v3df_ambient = 16, // 1 = Sound is ambient, use ambient struct info.
v3df_intermit = 32, // 1 = Intermittant sound
v3df_init = 64, // 1 = First pass of sound, don't play it.
// This is mainly used for intermittent sounds
v3df_nolookup = 128, // don't use ambient table lookup
}
enum EWeaponAndDamage
{
WPN_FIST,
WPN_STAR,
WPN_SHOTGUN,
WPN_UZI,
WPN_MICRO,
WPN_GRENADE,
WPN_MINE,
WPN_RAIL,
WPN_HOTHEAD,
WPN_HEART,
WPN_NAPALM,
WPN_RING,
WPN_ROCKET,
WPN_SWORD,
// extra weapons connected to other
// spell
DMG_NAPALM,
DMG_MIRV_METEOR,
DMG_SERP_METEOR,
// radius damage
DMG_ELECTRO_SHARD,
DMG_SECTOR_EXP,
DMG_BOLT_EXP,
DMG_TANK_SHELL_EXP,
DMG_FIREBALL_EXP,
DMG_NAPALM_EXP,
DMG_SKULL_EXP,
DMG_BASIC_EXP,
DMG_GRENADE_EXP,
DMG_MINE_EXP,
DMG_MINE_SHRAP,
DMG_MICRO_EXP,
DMG_NUCLEAR_EXP,
DMG_RADIATION_CLOUD,
DMG_FLASHBOMB,
DMG_FIREBALL_FLAMES,
// actor
DMG_RIPPER_SLASH,
DMG_SKEL_SLASH,
DMG_COOLG_BASH,
DMG_COOLG_FIRE,
DMG_GORO_CHOP,
DMG_GORO_FIREBALL,
DMG_SERP_SLASH,
DMG_LAVA_BOULDER,
DMG_LAVA_SHARD,
DMG_HORNET_STING,
DMG_EEL_ELECTRO,
// misc
DMG_SPEAR_TRAP,
DMG_VOMIT,
// inanimate objects
DMG_BLADE,
}
enum EInvFlags
{
INVF_AUTO_USE = 1,
INVF_TIMED = 2,
INVF_COUNT = 4
}
native static void PlaySound(int sound, int flags, int channel = CHAN_AUTO, int cflags = 0);
native static void StopSound();
native static bool IsSoundPlaying(int channel); // soundEngine.IsSourcePlayingSomething(SOURCE_None, nullptr, CHAN_VOICE))
native static void PlaySong(int trackid);
native static int WeaponMaxAmmo(int weap);
native static int InventoryFlags(int inv);
native static SWPlayer GetViewPlayer();
native static int RealWeapon(int wp);
//---------------------------------------------------------------------------
//
//
//
//---------------------------------------------------------------------------
static void DrawString(int x, int y, String text, int shade, int pal, int align = -1)
{
if (align != -1) x -= SmallFont.StringWidth(text) * (align == 0 ? 0.5 : 1);
Screen.DrawText(SmallFont, Font.CR_NATIVEPAL, x, y, text, DTA_FullscreenScale, FSMode_Fit320x200,
DTA_Color, Raze.shadeToLight(shade), DTA_TranslationIndex, Translation.MakeID(Translation_Remap, pal));
}
}
struct SWPlayer native
{
// variable that fit in the sprite or user structure
/*
union
{
struct { int32_t posx, posy, posz; };
vec3_t pos;
};
*/
// holds last valid move position
//int16 lv_sectnum;
//int lv_x,lv_y,lv_z;
// can't do the pointers yet.
/*
SPRITEp remote_sprite;
REMOTE_CONTROL remote;
SECTOR_OBJECTp sop_remote;
SECTOR_OBJECTp sop; // will either be sop_remote or sop_control
SECTORp hi_sectp, lo_sectp;
SPRITEp hi_sp, lo_sp;
SPRITEp last_camera_sp;
PlayerHorizon horizon;
PlayerAngle angle;
double RevolveAng;
// under vars are for wading and swimming
//int16 PlayerSprite, PlayerUnderSprite;
SPRITEp SpriteP, UnderSpriteP;
PLAYER_ACTION_FUNCp DoPlayerAction;
ESyncBits KeyPressBits;
SECTOR_OBJECTp sop_control; // sector object pointer
SECTOR_OBJECTp sop_riding; // sector object pointer
struct
{
PANEL_SPRITEp Next, Prev;
} PanelSpriteList;
PANEL_SPRITEp CurWpn;
PANEL_SPRITEp Wpn[SW.MAX_WEAPONS];
PANEL_SPRITEp Chops;
*/
native voidptr sop_remote; // the status bar needs to check this - remove once the underlying type can be supported.
native int jump_count, jump_speed; // jumping
native int16 down_speed, up_speed; // diving
native int z_speed; // used for diving and flying instead of down_speed, up_speed
native int climb_ndx;
native double hiz,loz;
native int p_ceiling_dist,p_floor_dist;
native int circle_camera_dist;
native int16 siang;
native int friction;
native int16 slide_ang;
native int slide_dec;
native float drive_avel;
native double circle_camera_ang;
native int16 camera_check_time_delay;
//native int /*cursectnum,*/lastcursectnum;
// variables that do not fit into sprite structure
native int hvel,tilt,tilt_dest;
native int16 recoil_amt;
native int16 recoil_speed;
native int16 recoil_ndx;
native int recoil_horizoff;
native double RevolveDeltaAng;
native int16 pnum; // carry along the player number
//native int16 LadderSector;
native int16 JumpDuration;
native int16 WadeDepth;
//native double bob_amt;
native int16 bob_ndx;
native int16 bcnt; // bob count
native int bob_z, obob_z;
// must start out as 0
native int playerreadyflag;
native int Flags, Flags2;
// Key stuff
native uint8 HasKey[8];
// Weapon stuff
native int16 SwordAng;
native int WpnGotOnceFlags; // for no respawn mode where weapons are allowed grabbed only once
native int WpnFlags;
native int16 WpnAmmo[SW.MAX_WEAPONS];
native int16 WpnNum;
native uint8 WpnRocketType; // rocket type
native uint8 WpnRocketHeat; // 5 to 0 range
native uint8 WpnRocketNuke; // 1, you have it, or you don't
native uint8 WpnFlameType; // Guardian weapons fire
native uint8 WpnFirstType; // First weapon type - Sword/Shuriken
native uint8 WeaponType; // for weapons with secondary functions
native int16 FirePause; // for sector objects - limits rapid firing
//
// Inventory Vars
//
native int16 InventoryNum;
native int16 InventoryBarTics;
native int16 InventoryTics[SW.MAX_INVENTORY];
native int16 InventoryPercent[SW.MAX_INVENTORY];
native int8 InventoryAmount[SW.MAX_INVENTORY];
native bool InventoryActive[SW.MAX_INVENTORY];
native int16 DiveTics;
native int16 DiveDamageTics;
// Death stuff
native uint16 DeathType;
native int16 Kills;
//native int16 Killer; //who killed me
//native int16 KilledPlayer[MAX_SW_PLAYERS_REG];
native int16 SecretsFound;
// Health
native int16 Armor;
native int16 MaxHealth;
//char RocketBarrel;
native uint8 UziShellLeftAlt;
native uint8 UziShellRightAlt;
native uint8 TeamColor; // used in team play and also used in regular mulit-play for show
// palette fading up and down for player hit and get items
native int16 FadeTics; // Tics between each fade cycle
native int16 FadeAmt; // Current intensity of fade
native bool NightVision; // Is player's night vision active?
native uint8 StartColor; // Darkest color in color range being used
//native int16 electro[64];
native bool IsAI; // Is this and AI character?
native int16 fta,ftq; // First time active and first time quote, for talking in multiplayer games
native int16 NumFootPrints; // Number of foot prints left to lay down
native uint8 WpnUziType; // Toggle between single or double uzi's if you own 2.
native uint8 WpnShotgunType; // Shotgun has normal or fully automatic fire
native uint8 WpnShotgunAuto; // 50-0 automatic shotgun rounds
native uint8 WpnShotgunLastShell; // Number of last shell fired
native uint8 WpnRailType; // Normal Rail Gun or EMP Burst Mode
native bool Bloody; // Is player gooey from the slaughter?
native bool InitingNuke;
native bool TestNukeInit;
native bool NukeInitialized; // Nuke already has counted down
native int16 FistAng; // KungFu attack angle
native uint8 WpnKungFuMove; // KungFu special moves
//native int16 HitBy; // SpriteNum of whatever player was last hit by
native int16 Reverb; // Player's current reverb setting
native int16 Heads; // Number of Accursed Heads orbiting player
native int PlayerVersion;
native uint8 WpnReloadState;
native int WeaponNum();
native int GetBuildAngle();
native int Health();
native int MaxUserHealth();
}
struct SWSnd native
{
enum ESounds
{
DIGI_NULL= 0,
DIGI_SWORDSWOOSH= 1,
DIGI_STAR= 2,
DIGI_STARCLINK= 3,
DIGI_STARWIZ= 4,
DIGI_UZIFIRE= 5,
DIGI_RICHOCHET1= 6,
DIGI_RICHOCHET2= 7,
DIGI_REMOVECLIP= 8,
DIGI_REPLACECLIP= 9,
DIGI_SHELL= 10,
DIGI_RIOTFIRE= 11,
DIGI_RIOTFIRE2= 12,
DIGI_RIOTRELOAD= 13,
DIGI_BOLTEXPLODE= 14,
DIGI_BOLTWIZ= 15,
DIGI_30MMFIRE= 16,
DIGI_30MMRELOAD= 17,
DIGI_30MMEXPLODE= 18,
DIGI_30MMWIZ= 19,
DIGI_HEADFIRE= 20,
DIGI_HEADSHOTWIZ= 21,
DIGI_HEADSHOTHIT= 22,
DIGI_MINETHROW= 23,
DIGI_MINEBOUNCE= 24,
DIGI_MINEBLOW= 25,
DIGI_MINEBEEP= 26,
DIGI_HEARTBEAT= 27,
DIGI_HEARTFIRE= 28,
DIGI_HEARTWIZ= 29,
DIGI_MISSLFIRE= 30,
DIGI_MISSLEXP= 31,
DIGI_RFWIZ= 32,
DIGI_NAPFIRE= 33,
DIGI_NAPWIZ= 34,
DIGI_NAPPUFF= 35,
DIGI_MIRVFIRE= 36,
DIGI_MIRVWIZ= 37,
DIGI_SPIRALFIRE= 38,
DIGI_SPIRALWIZ= 39,
DIGI_MAGIC1= 40,
DIGI_MAGIC2= 41,
DIGI_MAGIC3= 42,
DIGI_MAGIC4= 43,
DIGI_MAGIC5= 44,
DIGI_MAGIC6= 45,
DIGI_MAGIC7= 46,
DIGI_SWCLOAKUNCLOAK= 47,
DIGI_DHVOMIT= 48,
DIGI_DHCLUNK= 49,
DIGI_DHSQUISH= 50,
DIGI_NULL_DHSQUISH= 50,
DIGI_PROJECTILELAVAHIT=51,
DIGI_PROJECTILEWATERHIT=52,
DIGI_KEY= 53,
DIGI_ITEM= 54,
DIGI_BIGITEM= 55,
DIGI_BODYFALL1= 56,
DIGI_HITGROUND= 57,
DIGI_BODYSQUISH1= 58,
DIGI_BODYBURN= 59,
DIGI_BODYBURNSCREAM= 60,
DIGI_BODYCRUSHED1= 61,
DIGI_BODYHACKED1= 62,
DIGI_BODYSINGED= 63,
DIGI_DROWN= 64,
DIGI_SCREAM1= 65,
DIGI_SCREAM2= 66,
DIGI_SCREAM3= 67,
DIGI_HIT1= 68,
DIGI_ELECTRICUTE1= 69,
DIGI_REMOVEME= 70,
DIGI_IMPALED= 71,
DIGI_OOF1= 72,
DIGI_ACTORBODYFALL1= 73,
IGI_ACTORHITGROUND= 74,
DIGI_COOLIEEXPLODE= 75,
DIGI_COOLIESCREAM= 76,
DIGI_COOLIEALERT= 77,
DIGI_COOLIEAMBIENT= 78,
DIGI_COOLIEPAIN= 79,
DIGI_CGMATERIALIZE= 80,
DIGI_CGALERT= 81,
DIGI_CGTHIGHBONE= 82,
DIGI_CGAMBIENT= 83,
DIGI_CGPAIN= 84,
DIGI_CGMAGIC= 85,
DIGI_CGMAGICHIT= 86,
DIGI_CGSCREAM= 87,
DIGI_NINJAAMBIENT= 88,
DIGI_NINJASTAR= 89,
DIGI_NINJAPAIN= 90,
DIGI_NINJASCREAM= 91,
DIGI_NINJAALERT= 92,
DIGI_NINJAUZIATTACK= 93,
DIGI_NINJARIOTATTACK= 94,
DIGI_RIPPERAMBIENT= 95,
DIGI_RIPPERALERT= 96,
DIGI_RIPPERATTACK= 97,
DIGI_RIPPERPAIN= 98,
DIGI_RIPPERSCREAM= 99,
DIGI_RIPPERHEARTOUT= 100,
DIGI_GRDAMBIENT= 101,
DIGI_GRDALERT= 102,
DIGI_GRDPAIN= 103,
DIGI_GRDSCREAM= 104,
DIGI_GRDFIREBALL= 105,
DIGI_GRDSWINGAXE= 106,
DIGI_GRDAXEHIT= 107,
DIGI_SPAMBIENT= 108,
DIGI_SPALERT= 109,
DIGI_SPPAIN= 110,
DIGI_SPSCREAM= 111,
DIGI_SPBLADE= 112,
DIGI_SPELEC= 113,
DIGI_SPTELEPORT= 114,
DIGI_AHAMBIENT= 115,
DIGI_AHSCREAM= 116,
DIGI_AHEXPLODE= 117,
DIGI_AHSWOOSH= 118,
DIGI_HORNETBUZZ= 119,
DIGI_HORNETSTING= 120,
DIGI_HORNETPAIN= 121,
DIGI_HORNETDEATH= 122,
DIGI_SERPAMBIENT= 123,
DIGI_SERPALERT= 124,
DIGI_SERPPAIN= 125,
DIGI_SERPSCREAM= 126,
DIGI_SERPDEATHEXPLODE=127,
DIGI_SERPSWORDATTACK= 128,
DIGI_SERPMAGICLAUNCH= 129,
DIGI_SERPSUMMONHEADS= 130,
DIGI_SERPTAUNTYOU= 131,
DIGI_LAVABOSSAMBIENT= 132,
DIGI_LAVABOSSSWIM= 133,
DIGI_LAVABOSSRISE= 134,
DIGI_LAVABOSSALERT= 135,
DIGI_LAVABOSSFLAME= 136,
DIGI_LAVABOSSMETEOR= 137,
DIGI_LAVABOSSMETEXP= 138,
DIGI_LAVABOSSPAIN= 139,
DIGI_LAVABOSSSIZZLE= 140,
DIGI_LAVABOSSEXPLODE= 141,
DIGI_BOATSTART= 142,
DIGI_BOATRUN= 143,
DIGI_BOATSTOP= 144,
DIGI_BOATFIRE= 145,
DIGI_TANKSTART= 146,
DIGI_TANKRUN= 147,
DIGI_TANKSTOP= 148,
DIGI_TANKIDLE= 149,
DIGI_TANKFIRE= 150,
DIGI_TRUKRUN= 151,
DIGI_TRUKIDLE= 152,
DIGI_SUBRUN= 153,
DIGI_SUBIDLE= 154,
DIGI_SUBDOOR= 155,
DIGI_BOMBRFLYING= 156,
DIGI_BOMBRDROPBOMB= 157,
DIGI_BUBBLES= 158,
DIGI_CHAIN= 159,
DIGI_CHAINDOOR= 160,
DIGI_CRICKETS= 161,
DIGI_WOODDOOROPEN= 162,
DIGI_WOODDOORCLOSE= 163,
DIGI_METALDOOROPEN= 164,
DIGI_METALDOORCLOSE= 165,
DIGI_SLIDEDOOROPEN= 166,
DIGI_SLIDEDOORCLOSE= 167,
DIGI_STONEDOOROPEN= 168,
DIGI_STONEDOORCLOSE= 169,
DIGI_SQUEAKYDOOROPEN= 170,
DIGI_SQUEAKYDOORCLOSE=171,
DIGI_DRILL= 172,
DIGI_CAVEDRIP1= 173,
DIGI_CAVEDRIP2= 174,
DIGI_DRIP= 175,
DIGI_WATERFALL1= 176,
DIGI_WATERFALL2= 177,
DIGI_WATERFLOW1= 178,
DIGI_WATERFLOW2= 179,
DIGI_ELEVATOR= 180,
DIGI_SMALLEXP= 181,
DIGI_MEDIUMEXP= 182,
DIGI_LARGEEXP= 183,
DIGI_HUGEEXP= 184,
DIGI_NULL_HUGEEXP= 184,
DIGI_FIRE1= 185,
DIGI_FIRE2= 186,
DIGI_FIREBALL1= 187,
DIGI_FIREBALL2= 188,
DIGI_GEAR1= 189,
DIGI_GONG= 190,
DIGI_LAVAFLOW1= 191,
DIGI_MACHINE1= 192,
DIGI_MUBBUBBLES1= 193,
DIGI_EARTHQUAKE= 194,
DIGI_SEWERFLOW1= 195,
DIGI_SPLASH1= 196,
DIGI_STEAM1= 197,
DIGI_VOLCANOSTEAM1= 198,
DIGI_STOMPER= 199,
DIGI_SWAMP= 200,
DIGI_REGULARSWITCH= 201,
DIGI_BIGSWITCH= 202,
DIGI_STONESWITCH= 203,
DIGI_GLASSSWITCH= 204,
DIGI_HUGESWITCH= 205,
DIGI_THUNDER= 206,
DIGI_TELEPORT= 207,
DIGI_UNDERWATER= 208,
DIGI_UNLOCK= 209,
DIGI_SQUEAKYVALVE= 210,
DIGI_VOID1= 211,
DIGI_VOID2= 212,
DIGI_VOID3= 213,
DIGI_VOID4= 214,
DIGI_VOID5= 215,
DIGI_ERUPTION= 216,
DIGI_VOLCANOPROJECTILE= 217,
DIGI_LIGHTWIND= 218,
DIGI_STRONGWIND= 219,
DIGI_BREAKINGWOOD= 220,
DIGI_BREAKSTONES= 221,
DIGI_ENGROOM1= 222,
DIGI_ENGROOM2= 223,
DIGI_ENGROOM3= 224,
DIGI_ENGROOM4= 225,
DIGI_ENGROOM5= 226,
DIGI_BREAKGLASS= 227,
DIGI_MUSSTING= 228,
DIGI_HELI= 229,
DIGI_BIGHART= 230,
DIGI_WIND4= 231,
DIGI_SPOOKY1= 232,
DIGI_DRILL1= 233,
DIGI_JET= 234,
DIGI_DRUMCHANT= 235,
DIGI_BUZZZ= 236,
DIGI_CHOP_CLICK= 237,
DIGI_SWORD_UP= 238,
DIGI_UZI_UP= 239,
DIGI_SHOTGUN_UP= 240,
DIGI_ROCKET_UP= 241,
DIGI_GRENADE_UP= 242,
DIGI_RAIL_UP= 243,
DIGI_MINE_UP= 244,
DIGI_TAUNTAI1= 246,
DIGI_TAUNTAI2= 247,
DIGI_TAUNTAI3= 248,
DIGI_TAUNTAI4= 249,
DIGI_TAUNTAI5= 250,
DIGI_TAUNTAI6= 251,
DIGI_TAUNTAI7= 252,
DIGI_TAUNTAI8= 253,
DIGI_TAUNTAI9= 254,
DIGI_TAUNTAI10= 255,
DIGI_PLAYERPAIN1= 256,
DIGI_PLAYERPAIN2= 257,
DIGI_PLAYERPAIN3= 258,
DIGI_PLAYERPAIN4= 259,
DIGI_PLAYERPAIN5= 260,
DIGI_PLAYERYELL1= 261,
DIGI_PLAYERYELL2= 262,
DIGI_PLAYERYELL3= 263,
DIGI_SEARCHWALL= 264,
DIGI_NOURINAL= 265,
DIGI_FALLSCREAM= 266,
DIGI_GOTITEM1= 267,
DIGI_LASTPLAYERVOICE= 268,
DIGI_RAILFIRE= 269,
DIGI_NULL_RAILFIRE= 269,
DIGI_RAILREADY= 270,
DIGI_RAILPWRUP= 271,
DIGI_NUCLEAREXP= 272,
DIGI_NUKESTDBY= 273,
DIGI_NUKECDOWN= 274,
DIGI_NUKEREADY= 275,
DIGI_CHEMGAS= 276,
DIGI_CHEMBOUNCE= 277,
DIGI_THROW= 278,
DIGI_PULL= 279,
DIGI_MINEARM= 280,
DIGI_HEARTDOWN= 281,
DIGI_TOOLBOX= 282,
DIGI_NULL_TOOLBOX= 282,
DIGI_GASPOP= 283,
DIGI_40MMBNCE= 284,
DIGI_BURGLARALARM= 285,
DIGI_CARALARM= 286,
DIGI_CARALARMOFF= 287,
DIGI_CALTROPS= 288,
DIGI_NIGHTON= 289,
DIGI_NIGHTOFF= 290,
DIGI_SHOTSHELLSPENT= 291,
DIGI_BUSSKID= 292,
DIGI_BUSCRASH= 293,
DIGI_BUSENGINE= 294,
DIGI_ARMORHIT= 295,
DIGI_ASIREN1= 296,
DIGI_FIRETRK1= 297,
DIGI_TRAFFIC1= 298,
DIGI_TRAFFIC2= 299,
DIGI_TRAFFIC3= 300,
DIGI_TRAFFIC4= 301,
DIGI_TRAFFIC5= 302,
DIGI_TRAFFIC6= 303,
DIGI_HELI1= 304,
DIGI_JET1= 305,
DIGI_MOTO1= 306,
DIGI_MOTO2= 307,
DIGI_NEON1= 308,
DIGI_SUBWAY= 309,
DIGI_TRAIN1= 310,
DIGI_COINS= 311,
DIGI_SWORDCLANK= 312,
DIGI_RIPPER2AMBIENT= 313,
DIGI_RIPPER2ALERT= 314,
DIGI_RIPPER2ATTACK= 315,
DIGI_RIPPER2PAIN= 316,
DIGI_RIPPER2SCREAM= 317,
DIGI_RIPPER2HEARTOUT=318,
DIGI_M60= 319,
DIGI_SUMOSCREAM= 320,
DIGI_SUMOALERT= 321,
DIGI_SUMOAMBIENT= 322,
DIGI_SUMOPAIN= 323,
DIGI_RAMUNLOCK= 324,
DIGI_CARDUNLOCK= 325,
DIGI_ANCIENTSECRET= 326,
DIGI_AMERICANDRIVER= 327,
DIGI_DRIVELIKEBABOON= 328,
DIGI_BURNBABY= 329,
DIGI_LIKEBIGWEAPONS= 330,
DIGI_COWABUNGA= 331,
DIGI_NOCHARADE= 332,
DIGI_TIMETODIE= 333,
DIGI_EATTHIS= 334,
DIGI_FIRECRACKERUPASS=335,
DIGI_HOLYCOW= 336,
DIGI_HOLYPEICESOFCOW= 337,
DIGI_HOLYSHIT= 338,
DIGI_HOLYPEICESOFSHIT=339,
DIGI_PAYINGATTENTION= 340,
DIGI_EVERYBODYDEAD= 341,
DIGI_KUNGFU= 342,
DIGI_HOWYOULIKEMOVE= 343,
DIGI_NOMESSWITHWANG= 344,
DIGI_RAWREVENGE= 345,
DIGI_YOULOOKSTUPID= 346,
DIGI_TINYDICK= 347,
DIGI_NOTOURNAMENT= 348,
DIGI_WHOWANTSWANG= 349,
DIGI_MOVELIKEYAK= 350,
DIGI_ALLINREFLEXES= 351,
DIGI_EVADEFOREVER= 352,
DIGI_MRFLY= 353,
DIGI_SHISEISI= 354,
DIGI_LIKEFIREWORKS= 355,
DIGI_LIKEHIROSHIMA= 356,
DIGI_LIKENAGASAKI= 357,
DIGI_LIKEPEARL= 358,
DIGI_IAMSHADOW= 359,
DIGI_ILIKENUKES= 360,
DIGI_ILIKESWORD= 361,
DIGI_ILIKESHURIKEN= 362,
DIGI_BADLUCK= 363,
DIGI_NOMOVIEMRCHAN= 364,
DIGI_REALLIFEMRCHAN= 365,
DIGI_NOLIKEMUSIC= 366,
DIGI_NODIFFERENCE= 367,
DIGI_NOFEAR= 368,
DIGI_NOPAIN= 369,
DIGI_NOREPAIRMAN= 370,
DIGI_SONOFABITCH= 371,
DIGI_PAINFORWEAK= 372,
DIGI_GOSPEEDY= 373,
DIGI_GETTINGSTIFF= 374,
DIGI_TOMBRAIDER= 375,
DIGI_STICKYGOTU1= 376,
DIGI_STICKYGOTU2= 377,
DIGI_STICKYGOTU3= 378,
DIGI_STICKYGOTU4= 379,
DIGI_SWORDGOTU1= 380,
DIGI_SWORDGOTU2= 381,
DIGI_SWORDGOTU3= 382,
DIGI_HURTBAD1= 383,
DIGI_HURTBAD2= 384,
DIGI_HURTBAD3= 385,
DIGI_HURTBAD4= 386,
DIGI_HURTBAD5= 387,
DIGI_TOILETGIRLSCREAM= 388,
DIGI_TOILETGIRLALERT= 389,
DIGI_TOILETGIRLAMBIENT=390,
DIGI_TOILETGIRLPAIN= 391,
DIGI_TOILETGIRLTAUNT1= 392,
DIGI_TOILETGIRLTAUNT2= 393,
DIGI_SUMOFART= 394,
DIGI_GIBS1= 395,
DIGI_GIBS2= 396,
DIGI_BIRDS1= 397,
DIGI_BIRDS2= 398,
DIGI_TOILET= 399,
DIGI_FORKLIFTIDLE= 400,
DIGI_FORKLIFTRUN= 401,
DIGI_TOYCAR= 402,
DIGI_UZIMATIC= 403,
DIGI_COMPUTERPOWER= 404,
DIGI_GENERATORON= 405,
DIGI_GENERATORRUN= 406,
DIGI_BIGDRILL= 407,
DIGI_FLUORLIGHT= 408,
DIGI_AMOEBA= 409,
DIGI_BODYFALL2= 410,
DIGI_GIBS3= 411,
DIGI_NINJACHOKE= 412,
DIGI_TRAIN3= 413,
DIGI_TRAINR02= 414,
DIGI_TRAIN8= 415,
DIGI_TRASHLID= 416,
DIGI_GETMEDKIT= 417,
DIGI_AHH= 418,
DIGI_PALARM= 419,
DIGI_PFLIP= 420,
DIGI_PROLL1= 421,
DIGI_PROLL2= 422,
DIGI_PROLL3= 423,
DIGI_BUNNYATTACK= 424,
DIGI_BUNNYDIE1= 425,
DIGI_BUNNYDIE2= 426,
DIGI_BUNNYDIE3= 427,
DIGI_BUNNYAMBIENT= 428,
DIGI_STONESLIDE= 429,
DIGI_NINJAINHALF= 430,
DIGI_RIPPER2CHEST= 431,
DIGI_WHIPME= 432,
DIGI_ENDLEV= 433,
DIGI_MDALARM= 434,
DIGI_BREAKMETAL= 435,
DIGI_BREAKDEBRIS= 436,
DIGI_BREAKMARBELS= 437,
DIGI_BANZAI= 438,
DIGI_HAHA1= 439,
DIGI_HAHA2= 440,
DIGI_HAHA3= 441,
DIGI_ITEM_SPAWN= 442,
DIGI_NOREPAIRMAN2= 443,
DIGI_NOPOWER= 444,
DIGI_DOUBLEUZI= 445,
DIGI_NOTORDBUNNY= 446,
DIGI_CANBEONLYONE= 447,
DIGI_MIRROR1= 448,
DIGI_MIRROR2= 449,
DIGI_HITTINGWALLS= 450,
DIGI_GOTRAILGUN= 451,
DIGI_RABBITHUMP1= 452,
DIGI_RABBITHUMP2= 453,
DIGI_RABBITHUMP3= 454,
DIGI_RABBITHUMP4= 455,
DIGI_FAGRABBIT1= 456,
DIGI_FAGRABBIT2= 457,
DIGI_FAGRABBIT3= 458,
DIGI_STINKLIKEBABBOON= 459,
DIGI_WHATYOUEATBABY= 460,
DIGI_WHATDIEDUPTHERE= 461,
DIGI_YOUGOPOOPOO= 462,
DIGI_PULLMYFINGER= 463,
DIGI_SOAPYOUGOOD= 464,
DIGI_WASHWANG= 465,
DIGI_DROPSOAP= 466,
DIGI_REALTITS= 467,
DIGI_MSTRLEEP= 468,
DIGI_SEEKLEEPADVICE= 469,
DIGI_AVENGELEEPDEATH= 470,
DIGI_LEEPGHOST= 471,
DIGI_DOOR1= 472,
DIGI_DOOR2= 473,
DIGI_DOOR3= 474,
DIGI_FLAGWAVE= 475,
DIGI_SURFACE= 476,
DIGI_GASHURT= 477,
DIGI_BONUS_GRAB= 478,
DIGI_ANIMECRY= 479,
DIGI_ANIMESING1= 480,
DIGI_ANIMEMAD1= 481,
DIGI_ANIMESING2= 482,
DIGI_ANIMEMAD2= 483,
DIGI_PLAYER_TELEPORT= 484,
DIGI_INTRO_SLASH= 485,
DIGI_WARNING= 486,
DIGI_INTRO_WHIRL= 487,
DIGI_TOILETGIRLFART1= 488,
DIGI_TOILETGIRLFART2= 489,
DIGI_TOILETGIRLFART3= 490,
DIGI_WINDCHIMES= 491,
DIGI_MADATCARPET= 492,
DIGI_JUMPONCARPET= 493,
DIGI_USEBROKENVEHICLE= 494,
DIGI_STEPONCALTROPS= 495,
DIGI_WANGSEESERP= 496,
DIGI_SERPTAUNTWANG= 497,
DIGI_WANGTAUNTSERP1= 498,
DIGI_WANGTAUNTSERP2= 499,
DIGI_WANGORDER1= 500,
DIGI_WANGORDER2= 501,
DIGI_WANGDROWNING= 502,
DIGI_ZILLAREGARDS= 503,
DIGI_PMESSAGE= 504,
DIGI_SHAREND_UGLY1= 505,
DIGI_SHAREND_UGLY2= 506,
DIGI_SHAREND_TELEPORT= 507,
DIGI_HOTHEADSWITCH= 508,
DIGI_BOATCREAK= 509,
DIGI_BOATRUN2= 510,
DIGI_BOATIDLE= 511,
DIGI_SHIPBELL= 512,
DIGI_FOGHORN= 513,
DIGI_CANNON= 514,
DIGI_JG41001= 515,
DIGI_JG41012= 516,
DIGI_JG41018= 517,
DIGI_JG41028= 518,
DIGI_JG41048= 519,
DIGI_JG41052= 520,
DIGI_JG41058= 521,
DIGI_JG41060= 522,
DIGI_JG41075= 523,
DIGI_JG42004= 524,
DIGI_JG42019= 525,
DIGI_JG42021= 526,
DIGI_JG42028= 527,
DIGI_JG42033= 528,
DIGI_JG42034= 529,
DIGI_JG42050= 530,
DIGI_JG42056= 531,
DIGI_JG42061= 532,
DIGI_JG43004= 533,
DIGI_JG43015= 534,
DIGI_JG43019= 535,
DIGI_JG43021= 536,
DIGI_JG44011= 537,
DIGI_JG44014= 538,
DIGI_JG44027= 539,
DIGI_JG44038= 540,
DIGI_JG44039= 541,
DIGI_JG44048= 542,
DIGI_JG44052= 543,
DIGI_JG45014= 544,
DIGI_JG44068= 545,
DIGI_JG45010= 546,
DIGI_JG45018= 547,
DIGI_JG45030= 548,
DIGI_JG45033= 549,
DIGI_JG45043= 550,
DIGI_JG45053= 551,
DIGI_JG45067= 552,
DIGI_JG46005= 553,
DIGI_JG46010= 554,
DIGI_LANI049= 555,
DIGI_LANI051= 556,
DIGI_LANI052= 557,
DIGI_LANI054= 558,
DIGI_LANI060= 559,
DIGI_LANI063= 560,
DIGI_LANI065= 561,
DIGI_LANI066= 562,
DIGI_LANI073= 563,
DIGI_LANI075= 564,
DIGI_LANI077= 565,
DIGI_LANI079= 566,
DIGI_LANI089= 567,
DIGI_LANI091= 568,
DIGI_LANI093= 569,
DIGI_LANI095= 570,
DIGI_VENTWALK= 571,
DIGI_CARWALK= 572,
DIGI_JETSOAR= 573,
DIGI_VACUUM= 574,
DIGI_GIRLNINJAALERTT= 575,
DIGI_GIRLNINJASCREAM= 576,
DIGI_GIRLNINJAALERT= 577,
DIGI_PRUNECACKLE= 578,
DIGI_PRUNECACKLE2= 579,
DIGI_PRUNECACKLE3= 580,
DIGI_SUMOSTOMP= 581,
DIGI_VATOR= 582,
DIGI_JG9009= 583,
DIGI_Z16004= 584,
DIGI_Z16012= 585,
DIGI_Z16022= 586,
DIGI_Z16027= 587,
DIGI_JG93030= 588,
DIGI_JG94002= 589,
DIGI_Z17010= 590,
DIGI_Z17052= 591,
DIGI_Z17025= 592,
DIGI_ML25014= 593,
DIGI_ML250101= 594,
DIGI_JG9022= 595,
DIGI_JG9032= 596,
DIGI_JG9038= 597,
DIGI_JG9055= 598,
DIGI_JG9060= 599,
DIGI_JG92055= 600,
DIGI_ML25032= 601,
DIGI_JG92036= 602,
DIGI_JG92042= 603,
DIGI_ML26001= 604,
DIGI_JG93000= 605,
DIGI_JG93011= 606,
DIGI_JG93018= 607,
DIGI_JG93023= 608,
DIGI_ML26008= 609,
DIGI_ML26011= 610,
DIGI_JG94007= 611,
DIGI_JG94024= 612,
DIGI_JG94039= 613,
DIGI_JG95012= 614,
DIGI_ZILLASTOMP= 615,
DIGI_ZC1= 616,
DIGI_ZC2= 617,
DIGI_ZC3= 618,
DIGI_ZC4= 619,
DIGI_ZC5= 620,
DIGI_ZC6= 621,
DIGI_ZC7= 622,
DIGI_ZC8= 623,
DIGI_ZC9= 624,
DIGI_Z16043= 625,
}
}