diff --git a/TR5Main/Game/draw.h b/TR5Main/Game/draw.h index 72fd208d2..f27dfc3ee 100644 --- a/TR5Main/Game/draw.h +++ b/TR5Main/Game/draw.h @@ -36,6 +36,8 @@ #define phd_RotY_I ((void(__cdecl*)(short)) 0x0042BFC0) #define phd_RotX_I ((void(__cdecl*)(short)) 0x0042C030) #define phd_RotZ_I ((void(__cdecl*)(short)) 0x0042C0A0) +#define phd_SetTrans ((void (__cdecl*)(int, int, int)) 0x0048FA40) +#define phd_RotBoundingBoxNoPersp ((void (__cdecl*)(short*, short*)) 0x0042E240) #define phd_DxTranslateRel ((void(__cdecl*)(int, int, int)) 0x00490790) #define phd_DxTranslateAbs ((void(__cdecl*)(int, int, int)) 0x00490610) diff --git a/TR5Main/Game/inventory.cpp b/TR5Main/Game/inventory.cpp index 8b4733389..7a9fee080 100644 --- a/TR5Main/Game/inventory.cpp +++ b/TR5Main/Game/inventory.cpp @@ -1997,6 +1997,8 @@ int Inventory::DoPassport() } else if (DbInput & IN_LEFT || moveLeft) { + SoundEffect(SFX_TR3_MENU_PASSPORT, NULL, 0); + moveLeft = false; moveRight = false; closePassport = false; @@ -2015,6 +2017,8 @@ int Inventory::DoPassport() } else if (DbInput & IN_RIGHT || moveRight) { + SoundEffect(SFX_TR3_MENU_PASSPORT, NULL, 0); + moveLeft = false; moveRight = false; closePassport = false; diff --git a/TR5Main/Game/inventory.h b/TR5Main/Game/inventory.h index 2610150d6..4a01a108c 100644 --- a/TR5Main/Game/inventory.h +++ b/TR5Main/Game/inventory.h @@ -5,11 +5,6 @@ using namespace std; -// Legacy stuff -#define ObjectInInventory ((int (__cdecl*)(short)) 0x00464360) - -void Inject_Inventory(); - // New inventory #define NUM_INVENTORY_OBJECTS_PER_RING 120 #define NUM_INVENTORY_RINGS 5 diff --git a/TR5Main/Game/laramisc.cpp b/TR5Main/Game/laramisc.cpp index 1b723af81..cb3d1f810 100644 --- a/TR5Main/Game/laramisc.cpp +++ b/TR5Main/Game/laramisc.cpp @@ -751,16 +751,14 @@ void InitialiseLara(int restore) Lara.gunStatus = LG_NO_ARMS; Lara.skelebob = 0; - short gun; + short gun = WEAPON_NONE; - // TODO: we should script this behaviour if (Objects[ID_HK_ITEM].loaded) gun = WEAPON_HK; - else if (Objects[ID_PISTOLS_ITEM].loaded) + + if (Objects[ID_PISTOLS_ITEM].loaded) gun = WEAPON_PISTOLS; - else - gun = WEAPON_NONE; // avoid problem with empty gun level - + Lara.lastGunType = Lara.gunType = Lara.requestGunType = gun; LaraInitialiseMeshes(); diff --git a/TR5Main/Game/laramisc.h b/TR5Main/Game/laramisc.h index eae80ddf9..f0232c21a 100644 --- a/TR5Main/Game/laramisc.h +++ b/TR5Main/Game/laramisc.h @@ -3,9 +3,6 @@ extern COLL_INFO coll; -#define phd_SetTrans ((void (__cdecl*)(int, int, int)) 0x0048FA40) -#define phd_RotBoundingBoxNoPersp ((void (__cdecl*)(short*, short*)) 0x0042E240) - void GetLaraDeadlyBounds(); void DelAlignLaraToRope(ITEM_INFO* item); void InitialiseLaraAnims(ITEM_INFO* item); diff --git a/TR5Main/Game/sound.cpp b/TR5Main/Game/sound.cpp index 94424f58d..bc20edc99 100644 --- a/TR5Main/Game/sound.cpp +++ b/TR5Main/Game/sound.cpp @@ -16,6 +16,10 @@ const BASS_BFX_FREEVERB BASS_ReverbTypes[NUM_REVERB_TYPES] = // Reverb preset }; vector g_AudioTracks; +short SampleLUT[SOUND_NEW_SOUNDMAP_MAX_SIZE]; +short SoundMapSize; +int NumSamplesInfos; +SAMPLE_INFO* SampleInfo; bool Sound_LoadSample(char *pointer, int compSize, int uncompSize, int index) // Replaces DXCreateSampleADPCM() { @@ -98,7 +102,7 @@ bool Sound_LoadSample(char *pointer, int compSize, int uncompSize, int index) // long SoundEffect(int effectID, PHD_3DPOS* position, int env_flags) { - if (effectID >= SOUND_LEGACY_SOUNDMAP_SIZE) + if (effectID >= SoundMapSize) return 0; if (BASS_GetDevice() == -1) diff --git a/TR5Main/Game/sound.h b/TR5Main/Game/sound.h index 508eba29d..485ce0255 100644 --- a/TR5Main/Game/sound.h +++ b/TR5Main/Game/sound.h @@ -566,29 +566,1382 @@ typedef enum sound_effects SFX_GGOD_FIRE, SFX_GGOD_ATTACK, SFX_PORTAL_LOOP, - SFX_TR4_STARGATE_SWIRL_ID23, - SFX_TR4_METAL_SCRAPE_LOOP_1_ID12, - SFX_TR4_METAL_SCRAPE_LOOP_2_ID20, - SFX_TR4_MINE_EXPLOSION_OVERLAY_ID103, - SFX_TR4_AUTOGUNS_ID358, - SFX_TR4_GUIDE_SCARED_ID194, - SFX_TR4_HIT_ROCK_ID347, - SFX_TR4_POUR_ID97, - SFX_TR3_OIL_SMG_FIRE_ID72, - SFX_TR3_AMERCAN_HOY_ID300, - SFX_TR3_LARA_THUD_ID70, - SFX_TR2_SNOWMOBILE_IDLE_ID153, - SFX_TR2_SNOWMOBILE_MOVE_ID155, - SFX_TR2_SNOWMOBILE_HITF_ID201, - SFX_TR2_SNOWMOBILE_HITB_ID202, - SFX_TR2_SNOWMOBILE_FALL_ID203, - SFX_TR2_HIT_BY_KNIFE_ID317, - SFX_TR2_MONK_HIT_TARGET_ID245, - SFX_TR2_SWORD_GUARDIAN_FLYING_ID312, - SFX_TR2_SWORD_HITTARGET_ID318, - SFX_TR3_UPV_HARPOON_SHOT_ID23, - SFX_TR3_MINECART_HIT_ID202, - SFX_TR3_BOSS_EXPLODE_ID76, + SFX_INV_MENU_PASSPORT = 449, + + // TR1 sounds + SFX_TR1_LARA_FOOTSTEP = 450, + SFX_TR1_LARA_GRUNT = 451, + SFX_TR1_LARA_NO = 452, + SFX_TR1_LARA_SLIDING = 453, + SFX_TR1_LARA_LANDING_ON_FEET = 454, + SFX_TR1_LARA_HUT_STEPPING_UP = 455, + SFX_TR1_LARA_UNHOLSTERING_PISTOLS_MAGNUMS_UZIS = 456, + SFX_TR1_LARA_HOLSTERING_PISTOLS_MAGNUMS_UZIS = 457, + SFX_TR1_LARA_FIRING_PISTOLS = 458, + SFX_TR1_LARA_COCKING_SHOTGUN_PISTOL = 459, + SFX_TR1_BULLET_RICOCHET = 460, + SFX_TR1_BEAR_GROWL = 461, + SFX_TR1_HEAVY_THUMP = 462, + SFX_TR1_BEAR_SNARL = 463, + SFX_TR1_BEAR_SNARLS = 464, + SFX_TR1_SOUND_15 = 465, + SFX_TR1_WOLF_BEAR_SNARL = 466, + SFX_TR1_SOUND_17 = 467, + SFX_TR1_BEAR_HOWL_DYING = 468, + SFX_TR1_WOLF_GROWL = 469, + SFX_TR1_WOLF_HURT = 470, + SFX_TR1_SOUND_21 = 471, + SFX_TR1_WOLF_WHIMPER_DYING = 472, + SFX_TR1_SOUND_23 = 473, + SFX_TR1_WOLF_SNARLING_BITING = 474, + SFX_TR1_WOLF_BITING = 475, + SFX_TR1_LARA_GRUNT_PULLING_UP = 476, + SFX_TR1_LARA_OOF_HITTING_WALL = 477, + SFX_TR1_LARA_SHIMMY = 478, + SFX_TR1_LARA_HUT_JUMPING = 479, + SFX_TR1_LARA_SCREAM = 480, + SFX_TR1_LARA_GETTING_HURT = 481, + SFX_TR1_LARA_ROLL = 482, + SFX_TR1_SPLASH_LARA_INTO_WATER = 483, + SFX_TR1_SPLASH_LARA_SURFACING = 484, + SFX_TR1_SWIM_LARA_UNDERWATER = 485, + SFX_TR1_LARA_CATCHING_BREATH = 486, + SFX_TR1_UNDERWATER_GURGLE = 487, + SFX_TR1_LARA_PULLING_METAL_LEVER = 488, + SFX_TR1_LARA_INSERTING_KEY_CARD = 489, + SFX_TR1_LARA_INSERTING_CHIP_PRYR_WHL_SCROLL_GEM_ETC = 490, + SFX_TR1_LARA_DYING_1 = 491, + SFX_TR1_LARA_DYING_2 = 492, + SFX_TR1_LARA_FIRING_UZIS = 493, + SFX_TR1_COWBOY_FIRING_GUN = 494, + SFX_TR1_LARA_FIRING_SHOTGUN = 495, + SFX_TR1_LARA_GRUNT_STARTING_TO_PUSH_BLOCK = 496, + SFX_TR1_LARA_GRUNT_PUSHING_PULLING_BLOCK = 497, + SFX_TR1_CLICK = 498, + SFX_TR1_SOUND_49 = 499, + SFX_TR1_BULLET_HITTING_LARA = 500, + SFX_TR1_LARA_HEH_STARTING_TO_PULL_BLOCK = 501, + SFX_TR1_LARA_TREADING_WATER = 502, + SFX_TR1_LARA_S_BONES_BREAKING_DYING = 503, + SFX_TR1_LEDGE_GRAB_BY_LARA = 504, + SFX_TR1_LARA_OOMPH_HITTING_WALL_AFTER_GRABBING_LEDGE = 505, + SFX_TR1_FOOTSTEP_LEDGE_SHIMMY_BY_LARA = 506, + SFX_TR1_METAL_LEVER_RESET = 507, + SFX_TR1_BAT_CHIRP = 508, + SFX_TR1_BAT_WING_FLAP = 509, + SFX_TR1_UNDERWATER_AMBIENCE = 510, + SFX_TR1_UNDERWATER_LEVER_PULL = 511, + SFX_TR1_SOUND_62 = 512, + SFX_TR1_BLOCK_SLIDING = 513, + SFX_TR1_DOOR_OPENING_CLOSING_HEAVY_SOUNDING = 514, + SFX_TR1_SOMETHING_SWINGING = 515, + SFX_TR1_BRITTLE_GROUND = 516, + SFX_TR1_BRITTLE_GROUND_BREAKING_AWAY_FALLING = 517, + SFX_TR1_BRITTLE_GROUND_HITTING_SOLID_GROUND = 518, + SFX_TR1_T_REX_GROWL_SPITTING_OUT = 519, + SFX_TR1_T_REX_FOOTSTEP = 520, + SFX_TR1_T_REX_ROAR = 521, + SFX_TR1_T_REX_GROWL_BITING = 522, + SFX_TR1_RAPTOR_HOWL = 523, + SFX_TR1_RAPTOR_SNARL_BITING = 524, + SFX_TR1_RAPTOR_FOOTSTEP = 525, + SFX_TR1_MUMMY_MUTANT_LOW_GROAN = 526, + SFX_TR1_LARSON_FIRING_GUN = 527, + SFX_TR1_HIGH_PITCHED_FLYBY = 528, + SFX_TR1_WATER_FLOW_1 = 529, + SFX_TR1_WATER_FLOW_2 = 530, + SFX_TR1_WATER_FLOW_3 = 531, + SFX_TR1_ROLLING_DOOR_HIGH_PITCHED = 532, + SFX_TR1_THUMP = 533, + SFX_TR1_ROLLING_DOOR_LOW_PITCHED_COGS = 534, + SFX_TR1_LION_SNARL = 535, + SFX_TR1_LION_BITING = 536, + SFX_TR1_LION_SNARLING = 537, + SFX_TR1_LION_DYING = 538, + SFX_TR1_GORILLA_FOOTSTEPS = 539, + SFX_TR1_GORILLA_PANT_HOOTS = 540, + SFX_TR1_GORILLA_HOWL_DYING = 541, + SFX_TR1_CROCODILE_MOVING_ON_LAND = 542, + SFX_TR1_CROCODILE_BITING = 543, + SFX_TR1_RAT_RUNNING = 544, + SFX_TR1_RAT_CHIRP = 545, + SFX_TR1_RAT_CHIRP_BITING = 546, + SFX_TR1_RAT_CHIRP_DYING = 547, + SFX_TR1_CHATTER_SCRAPE = 548, + SFX_TR1_EXPLOSION = 549, + SFX_TR1_GORILLA_GRUNT_HOWL = 550, + SFX_TR1_GORILLA_GRUNTS = 551, + SFX_TR1_CROCODILE_DYING = 552, + SFX_TR1_TILE_CLATTER_SCRAPE = 553, + SFX_TR1_EXPLOSION1 = 554, + SFX_TR1_SOUND_105 = 555, + SFX_TR1_SOUND_106 = 556, + SFX_TR1_SOUND_107 = 557, + SFX_TR1_MENU_OPTION_MOVEMENT = 558, + SFX_TR1_MENU_OPTION_LARA_S_HOME = 559, + SFX_TR1_LOW_TONE_SOME_UNUSED_MENU_SOUND = 560, + SFX_TR1_MENU_MENU_OPTION_POPUP = 561, + SFX_TR1_MENU_OPTION_ESCAPE = 562, + SFX_TR1_MENU_OPTION_SELECT = 563, + SFX_TR1_MENU_OPTION_SELECT1 = 564, + SFX_TR1_MENU_GAME_PAGE_TURN = 565, + SFX_TR1_LARA_SIGH_THE_E_ERE_FROM_RECHARGE = 566, + SFX_TR1_GLASSY_FLOW = 567, + SFX_TR1_FLOWING_AIR_SOUND_SAND = 568, + SFX_TR1_CLANK = 569, + SFX_TR1_MUTANT_FOOTSTEP = 570, + SFX_TR1_MUMMY_MUTANT_ATTACK_1 = 571, + SFX_TR1_MUMMY_MUTANT_ATTACK_2 = 572, + SFX_TR1_MUTANT_SHOOTING_BULLET = 573, + SFX_TR1_MUTANT_SHOOTING_FIREBALL = 574, + SFX_TR1_MUTANT_WING_FLAP = 575, + SFX_TR1_WINGED_MUMMY_MUTANT_FOOTSTEP = 576, + SFX_TR1_SLAMMING_DOOR_CLANK = 577, + SFX_TR1_SLAMMING_DOOR_SCRAPE = 578, + SFX_TR1_SKATEBOARD_ROLL = 579, + SFX_TR1_SKATEBOARD_SCRAPE = 580, + SFX_TR1_SKATEBOARD_KID_FIRING_GUNS = 581, + SFX_TR1_UH_ONE_OF_NATLA_S_GOONS = 582, + SFX_TR1_SKATEBOARD_START = 583, + SFX_TR1_HELLLLP_SKATEBOARD_KID = 584, + SFX_TR1_BODY_FALL = 585, + SFX_TR1_MUFFLED_BIG_THUMP_GIANT_MUTANT_DROP = 586, + SFX_TR1_WEIRD_GROWL_WAIL_1_GIANT_MUTANT_ATTACKS = 587, + SFX_TR1_WEIRD_GROWL_WAIL_2_GIANT_MUTANT_ATTACKS = 588, + SFX_TR1_WEIRD_GROWL_WAIL_3_GIANT_MUTANT_JUST_FELL_DYING = 589, + SFX_TR1_GIANT_MUTANT_ARM_SWING = 590, + SFX_TR1_LOW_PITCHED_SCRAPE_GIANT_MUTANT_PULLING_SELF = 591, + SFX_TR1_REN_NA_GIANT_MUTANT = 592, + SFX_TR1_CENTAUR_MUTANT_HOOFSTEPS = 593, + SFX_TR1_CENTAUR_MUTANT_NEIGH = 594, + SFX_TR1_LARA_OI_AH_KILLED_BY_SPIKES = 595, + SFX_TR1_LARA_GROAN_KILLED_BY_FLAMES_LAVA = 596, + SFX_TR1_BOULDER_S_OILDRUM_S_SNOWBALLS_ETC_ROLLING = 597, + SFX_TR1_UNDERWATER_BUBBLING = 598, + SFX_TR1_CHOPPY_WATER_AIRFLOW = 599, + SFX_TR1_BURNING = 600, + SFX_TR1_WALL_MOUNTED_DARTGUN = 601, + SFX_TR1_METALLIC_DOOR_SLAM_THOR_S_HAMMER_GOLDEN_LARA_FALLING_DOWN = 602, + SFX_TR1_METALLIC_DOOR_MOVE_THOR_S_HAMMER_MOVING_A_LITTLE_BIT = 603, + SFX_TR1_SCION_MACHINE = 604, + SFX_TR1_LOW_HUM = 605, + SFX_TR1_UHH_AHH_COWBOY_DYING = 606, + SFX_TR1_SCUMPSUCKER_MR_T = 607, + SFX_TR1_COUGH_DAMN_LARSON = 608, + SFX_TR1_U_AHH = 609, + SFX_TR1_UH_AH_UH = 610, + SFX_TR1_HEAVY_DOOR_SLAM = 611, + SFX_TR1_HEAVY_DOOR_MOVE = 612, + SFX_TR1_BUBBLING_MUTANT_EGG_INCUBATING = 613, + SFX_TR1_GLASSY_SMASH_MUTANT_EGG_HATCHING = 614, + SFX_TR1_DRILL_ENGINE_START = 615, + SFX_TR1_DRILL_ENGINE_RUNNING = 616, + SFX_TR1_CONVEYOR_BELT = 617, + SFX_TR1_SCRAPE_CLANK_SHACK_GETTING_LOWERED = 618, + SFX_TR1_CRASH_SHACK_HITTING_GROUND = 619, + SFX_TR1_LOW_PITCHED_SETTLING_SOUND = 620, + SFX_TR1_MUMMY_MUTANT = 621, + SFX_TR1_RATTLING_DOOR = 622, + SFX_TR1_FOUND_A_SECRET = 623, + SFX_TR1_WELCOME_TO_MY_HOME = 624, + SFX_TR1_USE_THE_DIRECTION_KEYS = 625, + SFX_TR1_OK_LET_S_DO_SOME_TUMBLING = 626, + SFX_TR1_NOW_PRESS_IT_AGAIN = 627, + SFX_TR1_AH_THE_MAIN_HALL = 628, + SFX_TR1_RUN_UP_TO_A_CRATE = 629, + SFX_TR1_THIS_USED_TO_BE_THE_BALLROOM = 630, + SFX_TR1_I_DON_T_ACTUALLY_RUN_EVERYWHERE = 631, + SFX_TR1_WITH_THE_WALK_BUTTON_DOWN = 632, + SFX_TR1_IF_YOU_WANT_TO_LOOK_AROUND = 633, + SFX_TR1_IF_A_JUMP_IS_TOO_FAR_FOR_ME = 634, + SFX_TR1_PRESS_FORWARD_AND_I_LL_CLIMB_UP = 635, + SFX_TR1_IF_I_DO_A_RUNNING_JUMP = 636, + SFX_TR1_WALK_TO_THE_EDGE_WITH_THE_WHITE_LINE = 637, + SFX_TR1_RIGHT_THIS_IS_A_REALLY_BIG_ONE = 638, + SFX_TR1_NICE = 639, + SFX_TR1_TRY_TO_VAULT_UP_HERE = 640, + SFX_TR1_I_CAN_T_CLIMB_UP = 641, + SFX_TR1_GREAT_IF_THERE_IS_A_LONG_DROP = 642, + SFX_TR1_TAP_BACKWARDS_AND_I_LL_JUMP_OFF_BACKWARDS = 643, + SFX_TR1_THEN_LET_GO = 644, + SFX_TR1_LET_S_GO_FOR_A_SWIM = 645, + SFX_TR1_THE_JUMP_BUTTON_AND_THE_DIRECTIONS = 646, + SFX_TR1_WUUH_OHH_AIR = 647, + SFX_TR1_RIGHT_NOW_I_BETTER_TAKE_OFF_THESE_WET_CLOTHES = 648, + SFX_TR1_SAY_CHEESE_MR_T_LOOKALIKE = 649, + SFX_TR1_AIN_T_NOTHIN_PERSONAL_THE_COWBOY = 650, + SFX_TR1_I_STILL_GOT_A_PAIN_IN_MY_BRAIN_FROM_YOU_LARSON = 651, + SFX_TR1_YOU_CAN_T_BUMP_OFF_ME_AND_MY_BROOD_SO_EASY_LARA_NATLA = 652, + SFX_TR1_A_LITTLE_LATE_FOR_THE_PRIZE_GIVING_PIERRE = 653, + SFX_TR1_YOU_FIRIN_AT_ME_YOU_FIRIN_AT_ME_THE_SKATEBOARD_KID = 654, + SFX_TR1_RIGHT_LET_S_GO_ADVENTURING = 655, + SFX_TR1_SOUND_206 = 656, + SFX_TR1_SOUND_207 = 657, + SFX_TR1_SOUND_208 = 658, + SFX_TR1_SOUND_209 = 659, + SFX_TR1_SOUND_210 = 660, + SFX_TR1_SOUND_211 = 661, + SFX_TR1_SOUND_212 = 662, + SFX_TR1_SOUND_213 = 663, + SFX_TR1_SOUND_214 = 664, + SFX_TR1_SOUND_215 = 665, + SFX_TR1_SOUND_216 = 666, + SFX_TR1_SOUND_217 = 667, + SFX_TR1_SOUND_218 = 668, + SFX_TR1_SOUND_219 = 669, + SFX_TR1_SOUND_220 = 670, + SFX_TR1_SOUND_221 = 671, + SFX_TR1_SOUND_222 = 672, + SFX_TR1_SOUND_223 = 673, + SFX_TR1_SOUND_224 = 674, + SFX_TR1_SOUND_225 = 675, + SFX_TR1_SOUND_226 = 676, + SFX_TR1_SOUND_227 = 677, + SFX_TR1_SOUND_228 = 678, + SFX_TR1_SOUND_229 = 679, + SFX_TR1_SOUND_230 = 680, + SFX_TR1_SOUND_231 = 681, + SFX_TR1_SOUND_232 = 682, + SFX_TR1_SOUND_233 = 683, + SFX_TR1_SOUND_234 = 684, + SFX_TR1_SOUND_235 = 685, + SFX_TR1_SOUND_236 = 686, + SFX_TR1_SOUND_237 = 687, + SFX_TR1_SOUND_238 = 688, + SFX_TR1_SOUND_239 = 689, + SFX_TR1_SOUND_240 = 690, + SFX_TR1_SOUND_241 = 691, + SFX_TR1_SOUND_242 = 692, + SFX_TR1_SOUND_243 = 693, + SFX_TR1_SOUND_244 = 694, + SFX_TR1_SOUND_245 = 695, + SFX_TR1_SOUND_246 = 696, + SFX_TR1_SOUND_247 = 697, + SFX_TR1_SOUND_248 = 698, + SFX_TR1_SOUND_249 = 699, + SFX_TR1_SOUND_250 = 700, + SFX_TR1_SOUND_251 = 701, + SFX_TR1_SOUND_252 = 702, + SFX_TR1_SOUND_253 = 703, + SFX_TR1_SOUND_254 = 704, + SFX_TR1_NOT_USED_ID_255 = 705, + + // TR2 sounds + SFX_TR2_LARA_FOOTSTEP = 706, + SFX_TR2_LARA_GRUNT = 707, + SFX_TR2_LARA_NO = 708, + SFX_TR2_LARA_SLIDING = 709, + SFX_TR2_LARA_LANDING_ON_FEET = 710, + SFX_TR2_LARA_HUT_STEPPING_UP = 711, + SFX_TR2_LARA_UNHOLSTERING_PISTOLS_MAGNUMS_UZIS = 712, + SFX_TR2_LARA_HOLSTERING_PISTOLS_MAGNUMS_UZIS = 713, + SFX_TR2_LARA_FIRING_PISTOLS = 714, + SFX_TR2_LARA_COCKING_SHOTGUN_PISTOL = 715, + SFX_TR2_BULLET_RICOCHET = 716, + SFX_TR2_LARA_LIGHTING_FLARE = 717, + SFX_TR2_FLARE_BURNING = 718, + SFX_TR2_SOUND_13 = 719, + SFX_TR2_SOUND_14 = 720, + SFX_TR2_HARPOON_FIRING = 721, + SFX_TR2_HARPOON_RELOAD = 722, + SFX_TR2_LARA_FOOTSTEP_IN_SHALLOW_WATER = 723, + SFX_TR2_LARA_WADING_IN_SHALLOW_WATER = 724, + SFX_TR2_SOUND_19 = 725, + SFX_TR2_LARA_TREADING_WATER = 726, + SFX_TR2_LARA_FIRING_MAGNUMS = 727, + SFX_TR2_HARPOON_RELOAD_UNDERWATER = 728, + SFX_TR2_HARPOON_FIRING_UNDERWATER = 729, + SFX_TR2_MASSIVE_CRASH = 730, + SFX_TR2_LARA_PRESSING_BUTTON = 731, + SFX_TR2_LARA_UHHH_PULLING_UP = 732, + SFX_TR2_LARA_OOF_HITTING_WALL = 733, + SFX_TR2_LARA_SHIMMY = 734, + SFX_TR2_LARA_HUT_JUMPING = 735, + SFX_TR2_LARA_SCREAM_FALLING = 736, + SFX_TR2_LARA_GETTING_HURT = 737, + SFX_TR2_LARA_ROLL = 738, + SFX_TR2_SPLASH_LARA_INTO_WATER = 739, + SFX_TR2_SPLASH_LARA_SURFACING = 740, + SFX_TR2_SWIM_LARA_UNDERWATER = 741, + SFX_TR2_LARA_CATCHING_BREATH = 742, + SFX_TR2_UNDERWATER_GURGLE = 743, + SFX_TR2_LARA_PULLING_METAL_LEVER = 744, + SFX_TR2_LARA_INSERTING_KEY_CARD = 745, + SFX_TR2_LARA_INSERTING_CHIP_PRYR_WHL_SCROLL_GEM_ETC = 746, + SFX_TR2_LARA_DYING_1 = 747, + SFX_TR2_LARA_DYING_2 = 748, + SFX_TR2_LARA_FIRING_UZIS = 749, + SFX_TR2_GUNSHOT_ECHO = 750, + SFX_TR2_LARA_FIRING_SHOTGUN = 751, + SFX_TR2_LARA_GRUNT_STARTING_TO_PUSH_BLOCK = 752, + SFX_TR2_LARA_GRUNT_PUSHING_BLOCK = 753, + SFX_TR2_CLICK = 754, + SFX_TR2_SOMETHING_HITTING_LARA = 755, + SFX_TR2_BULLET_HITTING_LARA = 756, + SFX_TR2_LARA_HEH_PULLING_UP = 757, + SFX_TR2_LARA_TREADING_WATER1 = 758, + SFX_TR2_LARA_S_BONES_BREAKING_DYING = 759, + SFX_TR2_LEDGE_GRAB_BY_LARA = 760, + SFX_TR2_LARA_OOMPH_HITTING_WALL_AFTER_GRABBING_LEDGE = 761, + SFX_TR2_FOOTSTEP_LEDGE_SHIMMY_BY_LARA = 762, + SFX_TR2_METAL_LEVER_RESET = 763, + SFX_TR2_GLASS_BREAKING = 764, + SFX_TR2_WATERFALL_AND_GURGLE = 765, + SFX_TR2_UNDERWATER_AMBIENCE = 766, + SFX_TR2_UNDERWATER_LEVER_PULL = 767, + SFX_TR2_LARA_AHA_PICKED_UP_SOMETHING = 768, + SFX_TR2_BLOCK_SLIDING = 769, + SFX_TR2_DOOR_OPENING = 770, + SFX_TR2_SOMETHING_SWINGING = 771, + SFX_TR2_BRITTLE_GROUND = 772, + SFX_TR2_BRITTLE_GROUND_BREAKING_AWAY_FALLING = 773, + SFX_TR2_BRITTLE_GROUND_HITTING_SOLID_GROUND = 774, + SFX_TR2_ENEMY_FOOTSTEP = 775, + SFX_TR2_ENEMY_HOO_UH = 776, + SFX_TR2_ENEMY_HITTING_LARA_1 = 777, + SFX_TR2_ENEMY_HITTING_LARA_2 = 778, + SFX_TR2_ENEMY_WUOH_UOH_DYING = 779, + SFX_TR2_ENEMY_HOO_EH_JUMPING_UP = 780, + SFX_TR2_ENEMY_GRUNT_CLIMBING_UP = 781, + SFX_TR2_ENEMY_GRUNT_CLIMBING_DOWN = 782, + SFX_TR2_WEAPON_CLATTER = 783, + SFX_TR2_LARA_FIRING_M_16 = 784, + SFX_TR2_WATERFALL = 785, + SFX_TR2_SWORD_STATUE_DROP = 786, + SFX_TR2_SWORD_STATUE_LIFT = 787, + SFX_TR2_METAL_GATE_OPEN = 788, + SFX_TR2_METAL_GATE_CLOSE = 789, + SFX_TR2_DOG_FOOTSTEP = 790, + SFX_TR2_ENEMY_BODY_HITTING_GROUND_DYING = 791, + SFX_TR2_DOG_BARK_1 = 792, + SFX_TR2_DOG_FOOTSTEP1 = 793, + SFX_TR2_DOG_BARK_2 = 794, + SFX_TR2_DOG_YELP_DYING = 795, + SFX_TR2_DOG_PANT = 796, + SFX_TR2_LEOPARD_TIGER_FOOTSTEP = 797, + SFX_TR2_LEOPARD_GROWL_1 = 798, + SFX_TR2_LEOPARD_SNARL = 799, + SFX_TR2_LEOPARD_GROWL_2 = 800, + SFX_TR2_LEOPARD_GROWL_TWITCH_DYING = 801, + SFX_TR2_LEOPARD_GROWL_3 = 802, + SFX_TR2_RAT_SQUEAK = 803, + SFX_TR2_RAT_SQUEAL_DYING = 804, + SFX_TR2_TIGER_GROWL_1 = 805, + SFX_TR2_TIGER_GROWL_2 = 806, + SFX_TR2_TIGER_GROWL_3 = 807, + SFX_TR2_TIGER_DYING = 808, + SFX_TR2_TIGER_GROWL_4 = 809, + SFX_TR2_ECHO = 810, + SFX_TR2_EXPLOSION = 811, + SFX_TR2_GROWL = 812, + SFX_TR2_SPIDER_JUMP = 813, + SFX_TR2_MENU_OPTION_MOVEMENT = 814, + SFX_TR2_MENU_OPTION_LARA_S_HOME = 815, + SFX_TR2_SOUND_110 = 816, + SFX_TR2_MENU_MENU_OPTION_POPUP = 817, + SFX_TR2_MENU_OPTION_ESCAPE = 818, + SFX_TR2_MENU_OPTION_SELECT = 819, + SFX_TR2_MENU_OPTION_SELECT1 = 820, + SFX_TR2_MENU_GAME_PAGE_TURN = 821, + SFX_TR2_LARA_SIGH_THE_E_ERE_FROM_RECHARGE = 822, + SFX_TR2_ENEMY_FOOTSTEP_CLICKING = 823, + SFX_TR2_ENEMY_FIRING_GUN_WITH_SILENCER = 824, + SFX_TR2_ENEMY_AH_DYING = 825, + SFX_TR2_ENEMY_OO_DYING = 826, + SFX_TR2_ENEMY_THUMP = 827, + SFX_TR2_SPIDER_MOVING = 828, + SFX_TR2_GRENADE_LAUNCHER_LOAD_GRENADE_ENTERING = 829, + SFX_TR2_GRENADE_LAUNCHER_LOAD_GRENADE_SETTLING = 830, + SFX_TR2_FIRE_GRENADE_LAUNCHER = 831, + SFX_TR2_SPIDER_BITING_LARA = 832, + SFX_TR2_SLAMMING_DOOR_SLIDE = 833, + SFX_TR2_SLAMMING_DOOR_CLOSE = 834, + SFX_TR2_EAGLE_SQUAWK = 835, + SFX_TR2_EAGLE_WING_FLAP = 836, + SFX_TR2_EAGLE_DYING_SQUAWK = 837, + SFX_TR2_CROW_GROK = 838, + SFX_TR2_CROW_WING_FLAP = 839, + SFX_TR2_CROW_GRAK_DYING = 840, + SFX_TR2_CRUNCH = 841, + SFX_TR2_ENEMY_GUN_COCKING = 842, + SFX_TR2_ENEMY_GUNSHOT = 843, + SFX_TR2_ENEMY_GUN_TWIRLING = 844, + SFX_TR2_ENEMY_HOLSTERING_UNHOLSTERING_GUNS = 845, + SFX_TR2_ENEMY_HEAVY_BREATHING = 846, + SFX_TR2_ENEMY_CHUCKLING_AFTER_KILLING_LARA = 847, + SFX_TR2_MONK_POY_YAW = 848, + SFX_TR2_MONK_AWU_DYING = 849, + SFX_TR2_SOUND_144 = 850, + SFX_TR2_LARA_OI_AH_KILLED_BY_SPIKES = 851, + SFX_TR2_LARA_GROAN_KILLED_BY_FLAMES_LAVA = 852, + SFX_TR2_BOULDER_S_OILDRUM_S_SNOWBALLS_ETC_ROLLING = 853, + SFX_TR2_SANDBAG_SNAPPING = 854, + SFX_TR2_SANDBAG_HITTING_GROUND = 855, + SFX_TR2_BURNING = 856, + SFX_TR2_SOUND_151 = 857, + SFX_TR2_SNOWMOBILE_START = 858, + SFX_TR2_SNOWMOBILE_IDLE = 859, + SFX_TR2_SNOWMOBILE_ACCELERATE = 860, + SFX_TR2_SNOWMOBILE_HIGH_ENGINE_RPM = 861, + SFX_TR2_SNOWMOBILE_SHUT_OFF = 862, + SFX_TR2_ENEMY_GUNSHOT1 = 863, + SFX_TR2_ENEMY_OO_AH_DYING = 864, + SFX_TR2_ENEMY_HEAVY_BREATHING1 = 865, + SFX_TR2_STICK_TAPPING = 866, + SFX_TR2_FLOOR_TRAPDOOR_OPEN = 867, + SFX_TR2_FLOOR_TRAPDOOR_CLOSE = 868, + SFX_TR2_YETI_GROWL = 869, + SFX_TR2_YETI_CHEST_BEAT = 870, + SFX_TR2_YETI_THUMP = 871, + SFX_TR2_YETI_GRUNT_AND_CHEST_BEAT = 872, + SFX_TR2_YETI_SCREAM = 873, + SFX_TR2_YETI_SCREAM_DYING = 874, + SFX_TR2_YETI_GROWL_1 = 875, + SFX_TR2_YETI_GROWL_2 = 876, + SFX_TR2_YETI_GRUNT = 877, + SFX_TR2_YETI_GROWL_3_ALSO_BIRD_MONSTER = 878, + SFX_TR2_YETI_FOOTSTEP = 879, + SFX_TR2_ENEMY_HEAVY_BREATHING2 = 880, + SFX_TR2_ENEMY_FLAMETHROWER_FLAME = 881, + SFX_TR2_ENEMY_FLAMETHROWER_SCRAPE = 882, + SFX_TR2_ENEMY_FLAMETHROWER_CLICK = 883, + SFX_TR2_ENEMY_FSHOO_AH_OO_WE_DYING = 884, + SFX_TR2_ENEMY_FLAMETHROWER_PACK_HITTING_GROUND_DYING = 885, + SFX_TR2_ENEMY_BELT_JINGLE = 886, + SFX_TR2_WRENCH_CHING_ENEMY = 887, + SFX_TR2_FOOTSTEP = 888, + SFX_TR2_FOOTSTEP_LARA_HIT = 889, + SFX_TR2_ENEMY_COCKING_SHOTGUN = 890, + SFX_TR2_SOUND_185 = 891, + SFX_TR2_UNDERWATER_BUBBLES = 892, + SFX_TR2_SOUND_187 = 893, + SFX_TR2_SCUBA_DIVER_AIRFLOW = 894, + SFX_TR2_SOUND_189 = 895, + SFX_TR2_PULLEY_CRANE_BLOCK_MOVEMENT = 896, + SFX_TR2_CURTAIN_OPEN_CLOSE = 897, + SFX_TR2_SCUBA_DIVER_DYING = 898, + SFX_TR2_UNDERWATER_GURGLE1 = 899, + SFX_TR2_BOAT_START = 900, + SFX_TR2_BOAT_IDLE = 901, + SFX_TR2_BOAT_ACCELERATE = 902, + SFX_TR2_BOAT_HIGH_ENGINE_RPM = 903, + SFX_TR2_BOAT_SHUT_OFF = 904, + SFX_TR2_BOAT_ENGINE_HIT = 905, + SFX_TR2_BOAT_BODY_HIT = 906, + SFX_TR2_CLATTER_1 = 907, + SFX_TR2_CLATTER_2 = 908, + SFX_TR2_CLATTER_3 = 909, + SFX_TR2_DOOR_SLIDE = 910, + SFX_TR2_LARA_FLESH_WOUND = 911, + SFX_TR2_SAW_HIGH_RPM = 912, + SFX_TR2_SAW_SWITCHED_OFF = 913, + SFX_TR2_BELL_CHIME = 914, + SFX_TR2_CHAIN_CREAKING_SOMETHING_SNAPPING = 915, + SFX_TR2_SWINGING = 916, + SFX_TR2_BREAKING = 917, + SFX_TR2_PULLEY_MOVEMENT = 918, + SFX_TR2_AIRPLANE_ENGINE_IDLE = 919, + SFX_TR2_SOUND_214 = 920, + SFX_TR2_UNDERWATER_FAN = 921, + SFX_TR2_SOUND_216 = 922, + SFX_TR2_VENT_FAN = 923, + SFX_TR2_SWINGING_BOX_SANDBAG_SPIKY_BALL = 924, + SFX_TR2_JUMP_PAD_UPWARD = 925, + SFX_TR2_JUMP_PAD_DOWNWARD = 926, + SFX_TR2_SOMETHING_BREAKING = 927, + SFX_TR2_BALL_ROCK_SNOWBALLS_ETC_ROLLING = 928, + SFX_TR2_BALL_ROCK_SNOWBALLS_ETC_SETTLING = 929, + SFX_TR2_ROLLING = 930, + SFX_TR2_CRASH = 931, + SFX_TR2_CRASH1 = 932, + SFX_TR2_SOMETHING_ROLLING = 933, + SFX_TR2_SOMETHING_HITTING_WALL_SETTLING = 934, + SFX_TR2_BLADE_SLICE_HIT = 935, + SFX_TR2_BLADE_CHING = 936, + SFX_TR2_ROLLING_SPIKE_WHEEL = 937, + SFX_TR2_ICICLE_DETACHING = 938, + SFX_TR2_ICICLE_HITTING_GROUND = 939, + SFX_TR2_ROTATING_HANDLE_LOOSEN = 940, + SFX_TR2_ROTATING_HANDLE_TURN = 941, + SFX_TR2_ROTATING_HANDLE_DOOR_LATCH_OPEN = 942, + SFX_TR2_ROTATING_HANDLE_DOOR_CREAK_AND_LATCH = 943, + SFX_TR2_MONK_FOOTSTEP = 944, + SFX_TR2_MONK_SWORD_SWING_SINGLE = 945, + SFX_TR2_MONK_SWORD_SWING_MULTI = 946, + SFX_TR2_MONK_SHOUT_1 = 947, + SFX_TR2_MONK_SHOUT_2 = 948, + SFX_TR2_MONK_SHOUT_3 = 949, + SFX_TR2_MONK_SHOUT_4 = 950, + SFX_TR2_CRUNCH1 = 951, + SFX_TR2_ENEMY_MONK_HEAVY_BREATHING = 952, + SFX_TR2_SPLASH_SURFACING = 953, + SFX_TR2_WATERFALL1 = 954, + SFX_TR2_ENEMY_FOOTSTEP_IN_SNOW = 955, + SFX_TR2_ENEMY_GUNSHOT2 = 956, + SFX_TR2_ENEMY_SEMIAUTO_GUNSHOT = 957, + SFX_TR2_ENEMY_AHAGA_HOOG_UH_DYING = 958, + SFX_TR2_ENEMY_EUUUH_DYING = 959, + SFX_TR2_SHOOTING_CIRCLE_BLADE = 960, + SFX_TR2_KNIFETHROWER_FOOTSTEP = 961, + SFX_TR2_MONK_OYE = 962, + SFX_TR2_MONK_AWEH = 963, + SFX_TR2_SHOOTING_CIRCLE_BLADE_HIT = 964, + SFX_TR2_KNIFETHROWER_WARRIOR_FOOTSTEP = 965, + SFX_TR2_WARRIOR_BLADE_SWING = 966, + SFX_TR2_WARRIOR_BLADE_SWING1 = 967, + SFX_TR2_WARRIOR_GROWL = 968, + SFX_TR2_KNIFETHROWER_HICCUP_THROWING_A_KNIFE = 969, + SFX_TR2_WARRIOR_BURP_WUUHH = 970, + SFX_TR2_WARRIOR_GROWL_BURP = 971, + SFX_TR2_SOUND_266 = 972, + SFX_TR2_WARRIOR_AWAKEN = 973, + SFX_TR2_WARRIOR_GROWL_BURP1 = 974, + SFX_TR2_LEVER_PULL = 975, + SFX_TR2_SOUND_270 = 976, + SFX_TR2_SOUND_271 = 977, + SFX_TR2_SOUND_272 = 978, + SFX_TR2_SOUND_273 = 979, + SFX_TR2_SOUND_274 = 980, + SFX_TR2_SOUND_275 = 981, + SFX_TR2_SOUND_276 = 982, + SFX_TR2_SOUND_277 = 983, + SFX_TR2_CHAIN_PULLEY = 984, + SFX_TR2_LARA_ZIPLINE_HANDLE_GRAB = 985, + SFX_TR2_LARA_ZIPLINE_SLIDE = 986, + SFX_TR2_LARA_ZIPLINE_HANDLE_HIT = 987, + SFX_TR2_BODY_SLUMP = 988, + SFX_TR2_BIG_BOWL_TIPPING = 989, + SFX_TR2_POURING_FROM_BIG_BOWL = 990, + SFX_TR2_WATERFALL2 = 991, + SFX_TR2_ELEVATOR_DOOR_OPEN = 992, + SFX_TR2_ELEVATOR_DOOR_CLOSE = 993, + SFX_TR2_MINISUB_CLATTER_1 = 994, + SFX_TR2_MINISUB_CLATTER_2 = 995, + SFX_TR2_MINISUB_CLATTER_3 = 996, + SFX_TR2_BIRD_MONSTER_SCREAM = 997, + SFX_TR2_BIRD_MONSTER_GASP_GROWL = 998, + SFX_TR2_BIRD_MONSTER_HOARSE_BREATHING = 999, + SFX_TR2_BIRD_MONSTER_FOOTSTEP = 1000, + SFX_TR2_BIRD_MONSTER_SCREAM_DYING = 1001, + SFX_TR2_GIANT_SPIDER_SCRAPE = 1002, + SFX_TR2_HELICOPTER = 1003, + SFX_TR2_DRAGON_FOOTSTEP = 1004, + SFX_TR2_DRAGON_GROWL_1 = 1005, + SFX_TR2_DRAGON_GROWL_2 = 1006, + SFX_TR2_DRAGON_BODY_FALL = 1007, + SFX_TR2_DRAGON_DYING_BREATH = 1008, + SFX_TR2_DRAGON_GROWL_3 = 1009, + SFX_TR2_DRAGON_GRUNT = 1010, + SFX_TR2_DRAGON_FIRE_BREATHING = 1011, + SFX_TR2_DRAGON_LEG_LIFT = 1012, + SFX_TR2_DRAGON_LEG_HIT = 1013, + SFX_TR2_WARRIOR_BLADE_SWING2 = 1014, + SFX_TR2_WARRIOR_BLADE_SWING_FAST = 1015, + SFX_TR2_SOUND_310 = 1016, + SFX_TR2_WARRIOR_BREATH_ACTIVATION = 1017, + SFX_TR2_WARRIOR_HOVER = 1018, + SFX_TR2_WARRIOR_LANDING = 1019, + SFX_TR2_WARRIOR_SWORD_CLANK_STICKING_IT_DOWNWARD = 1020, + SFX_TR2_WARRIOR_BLADE_SLICE = 1021, + SFX_TR2_BIRDS_CHIRPING = 1022, + SFX_TR2_CRUNCH2 = 1023, + SFX_TR2_CRUNCH3 = 1024, + SFX_TR2_DOOR_CREAK_AND_CLOSE = 1025, + SFX_TR2_BREAKING1 = 1026, + SFX_TR2_GIANT_SPIDER_SNARL = 1027, + SFX_TR2_GIANT_SPIDER_FOOTSTEP = 1028, + SFX_TR2_GIANT_SPIDER_SNARL_DYING = 1029, + SFX_TR2_DRAGON_T_REX_GROWL_1 = 1030, + SFX_TR2_DRAGON_T_REX_FOOTSTEP_ALSO_FROM_BIRD_MONSTER = 1031, + SFX_TR2_DRAGON_T_REX_GROWL_2 = 1032, + SFX_TR2_DRAGON_T_REX_GROWL_3_DYING = 1033, + SFX_TR2_SOUND_328 = 1034, + SFX_TR2_WATER_DRIP = 1035, + SFX_TR2_STAGE_BACKDROP_MOVE = 1036, + SFX_TR2_STONE_DOOR_SLIDE = 1037, + SFX_TR2_PLATFORM_ALARM_STAR_TREK_LIKE = 1038, + SFX_TR2_LARA_S_GRANDFATHER_CLOCK_TICK = 1039, + SFX_TR2_LARA_S_HOUSE_FRONT_DOOR_CHIME = 1040, + SFX_TR2_LARA_S_HOUSE_ALARM = 1041, + SFX_TR2_BOAT_ENGINE = 1042, + SFX_TR2_BOAT_INTO_WATER = 1043, + SFX_TR2_UNKNOWN = 1044, + SFX_TR2_UNKNOWN1 = 1045, + SFX_TR2_UNKNOWN2 = 1046, + SFX_TR2_UNKNOWN3 = 1047, + SFX_TR2_BUTLER_SHUFFLE = 1048, + SFX_TR2_BUTLER_FOOTSTEP = 1049, + SFX_TR2_BUTLER_SOUNDS_1 = 1050, + SFX_TR2_BUTLER_SOUNDS_2 = 1051, + SFX_TR2_BUTLER_SOUNDS_3 = 1052, + SFX_TR2_BUTLER_CUP_CLATTER = 1053, + SFX_TR2_BRITTLE_GROUND_BREAKING = 1054, + SFX_TR2_SPIDER_EXPLODE_DYING_LARA_BULLET_HIT = 1055, + SFX_TR2_SHARK_BITE_ALSO_BLACK_MORAY = 1056, + SFX_TR2_LAVA_BUBBLING = 1057, + SFX_TR2_EXPLOSION1 = 1058, + SFX_TR2_UNWELCOME_GUESTS_AT_LARA_S_HOME = 1059, + SFX_TR2_ZIPPER = 1060, + SFX_TR2_SOUND_355 = 1061, + SFX_TR2_SOUND_356 = 1062, + SFX_TR2_SOUND_357 = 1063, + SFX_TR2_SOUND_358 = 1064, + SFX_TR2_SOUND_359 = 1065, + SFX_TR2_SOUND_360 = 1066, + SFX_TR2_SOUND_361 = 1067, + SFX_TR2_SOUND_362 = 1068, + SFX_TR2_SOUND_363 = 1069, + SFX_TR2_SOUND_364 = 1070, + SFX_TR2_SOUND_365 = 1071, + SFX_TR2_SOUND_366 = 1072, + SFX_TR2_SOUND_367 = 1073, + SFX_TR2_SOUND_368 = 1074, + SFX_TR2_SOUND_369 = 1075, + + // TR3 sounds + SFX_TR3_LARA_FEET = 1076, + SFX_TR3_LARA_CLIMB2 = 1077, + SFX_TR3_LARA_NO = 1078, + SFX_TR3_LARA_SLIPPING = 1079, + SFX_TR3_LARA_LAND = 1080, + SFX_TR3_LARA_CLIMB1 = 1081, + SFX_TR3_LARA_DRAW = 1082, + SFX_TR3_LARA_HOLSTER = 1083, + SFX_TR3_LARA_FIRE = 1084, + SFX_TR3_LARA_RELOAD = 1085, + SFX_TR3_LARA_RICOCHET = 1086, + SFX_TR3_LARA_FLARE_IGNITE = 1087, + SFX_TR3_LARA_FLARE_BURN = 1088, + SFX_TR3_LARA_FLARE_IGNITE_W = 1089, + SFX_TR3_LARA_FLARE_BURN_W = 1090, + SFX_TR3_LARA_HARPOON_FIRE = 1091, + SFX_TR3_LARA_HARPOON_LOAD = 1092, + SFX_TR3_LARA_WET_FEET = 1093, + SFX_TR3_LARA_WADE = 1094, + SFX_TR3_RUMBLE_LOOP = 1095, + SFX_TR3_ICKET_BARRIER = 1096, + SFX_TR3_CRICKET_LOOP = 1097, + SFX_TR3_LARA_HARPOON_LOAD_WATER = 1098, + SFX_TR3_LARA_HARPOON_FIRE_WATER = 1099, + SFX_TR3_LARA_KNEES_SHUFFLE = 1100, + SFX_TR3_PUSH_SWITCH = 1101, + SFX_TR3_LARA_CLIMB3 = 1102, + SFX_TR3_LARA_BODYSL = 1103, + SFX_TR3_LARA_SHIMMY = 1104, + SFX_TR3_LARA_JUMP = 1105, + SFX_TR3_LARA_FALL = 1106, + SFX_TR3_LARA_INJURY = 1107, + SFX_TR3_LARA_ROLL = 1108, + SFX_TR3_LARA_SPLASH = 1109, + SFX_TR3_LARA_GETOUT = 1110, + SFX_TR3_LARA_SWIM = 1111, + SFX_TR3_LARA_BREATH = 1112, + SFX_TR3_LARA_BUBBLES = 1113, + SFX_TR3_LARA_SWITCH = 1114, + SFX_TR3_LARA_KEY = 1115, + SFX_TR3_LARA_OBJECT = 1116, + SFX_TR3_LARA_GENERAL_DEATH = 1117, + SFX_TR3_LARA_KNEES_DEATH = 1118, + SFX_TR3_LARA_UZI_FIRE = 1119, + SFX_TR3_LARA_UZI_STOP = 1120, + SFX_TR3_LARA_SHOTGUN = 1121, + SFX_TR3_LARA_BLOCK_PUSH1 = 1122, + SFX_TR3_LARA_BLOCK_PUSH2 = 1123, + SFX_TR3_LARA_EMPTY = 1124, + SFX_TR3_LARA_SHOTGUN_SHELL = 1125, + SFX_TR3_LARA_BULLETHIT = 1126, + SFX_TR3_LARA_BLKPULL = 1127, + SFX_TR3_LARA_FLOATING = 1128, + SFX_TR3_LARA_FALLDETH = 1129, + SFX_TR3_LARA_GRABHAND = 1130, + SFX_TR3_LARA_GRABBODY = 1131, + SFX_TR3_LARA_GRABFEET = 1132, + SFX_TR3_LARA_SWITCHUP = 1133, + SFX_TR3_METEOR = 1134, + SFX_TR3_WATER_LOOP = 1135, + SFX_TR3_UNDERWATER = 1136, + SFX_TR3_UNDERWATER_SWITCH = 1137, + SFX_TR3_LARA_PICKUP = 1138, + SFX_TR3_BLOCK_SOUND = 1139, + SFX_TR3_DOOR = 1140, + SFX_TR3_HELICOPTER_LOOP = 1141, + SFX_TR3_ROCK_FALL_CRUMBLE = 1142, + SFX_TR3_ROCK_FALL_LAND = 1143, + SFX_TR3_JET_FLY_BY = 1144, + SFX_TR3_STALEGTITE = 1145, + SFX_TR3_LARA_THUD = 1146, + SFX_TR3_GENERIC_SWOOSH = 1147, + SFX_TR3_OIL_SMG_FIRE = 1148, + SFX_TR3_CITY_PORTCULLIS = 1149, + SFX_TR3_SWINGING_FLAMES = 1150, + SFX_TR3_SPINING_HOOKS = 1151, + SFX_TR3_BLAST_CIRCLE = 1152, + SFX_TR3_BAZOOKA_FIRE = 1153, + SFX_TR3_HECKLER_AND_KOCH_FIRE = 1154, + SFX_TR3_WATERFALL_LOOP = 1155, + SFX_TR3_CROC_ATTACK = 1156, + SFX_TR3_CROC_DEATH = 1157, + SFX_TR3_PORTCULLIS_UP = 1158, + SFX_TR3_PORTCULLIS_DOWN = 1159, + SFX_TR3_T_REX_ATTACK = 1160, + SFX_TR3_BODY_SLAM = 1161, + SFX_TR3_POWER_HUM_LOOP = 1162, + SFX_TR3_T_REX_ROAR = 1163, + SFX_TR3_T_REX_FOOTSTOMP = 1164, + SFX_TR3_T_REX_SNIFF = 1165, + SFX_TR3_EMPTY1166 = 1166, + SFX_TR3_ARMY_SMG_FIRE = 1167, + SFX_TR3_ARMY_SMG_DEATH = 1168, + SFX_TR3_ARMY_SMG_FOOTSTEPS = 1169, + SFX_TR3_WING_MUTE_ATTACK = 1170, + SFX_TR3_WING_MUTE_DEATH = 1171, + SFX_TR3_WING_MUTE_FLYING = 1172, + SFX_TR3_RAT_ATTACK = 1173, + SFX_TR3_RAT_DEATH = 1174, + SFX_TR3_TIGER_ROAR = 1175, + SFX_TR3_TIGER_BITE = 1176, + SFX_TR3_TIGER_STRIKE = 1177, + SFX_TR3_TIGER_DEATH = 1178, + SFX_TR3_TIGER_GROWL = 1179, + SFX_TR3_HECKLER_AND_KOCH_STOP = 1180, + SFX_TR3_EXPLOSION1 = 1181, + SFX_TR3_EXPLOSION2 = 1182, + SFX_TR3_EARTHQUAKE_LOOP = 1183, + SFX_TR3_MENU_ROTATE = 1184, + SFX_TR3_MENU_CHOOSE = 1185, + SFX_TR3_MENU_GAMEBOY = 1186, + SFX_TR3_MENU_SPININ = 1187, + SFX_TR3_MENU_SPINOUT = 1188, + SFX_TR3_MENU_STOPWATCH = 1189, + SFX_TR3_MENU_GUNS = 1190, + SFX_TR3_MENU_PASSPORT = 1191, + SFX_TR3_MENU_MEDI = 1192, + SFX_TR3_LARA_CLIMB_WALLS_NOISE = 1193, + SFX_TR3_VERY_LIGHT_WATER = 1194, + SFX_TR3_TARGET_HITS = 1195, + SFX_TR3_TARGET_SMASH = 1196, + SFX_TR3_DESSERT_EAGLE_FIRE = 1197, + SFX_TR3_VAULT_DOORS = 1198, + SFX_TR3_LARA_MINI_LOAD = 1199, + SFX_TR3_LARA_MINI_LOCK = 1200, + SFX_TR3_LARA_MINI_FIRE = 1201, + SFX_TR3_GATE_OPENING = 1202, + SFX_TR3_LARA_ELECTRIC_LOOP = 1203, + SFX_TR3_LARA_ELECTRIC_CRACKLES = 1204, + SFX_TR3_COMMANDER = 1205, + SFX_TR3_SWITCH_COVER = 1206, + SFX_TR3_CLEANER_FUSEBOX = 1207, + SFX_TR3_CROW_CAW = 1208, + SFX_TR3_CROW_WING_FLAP = 1209, + SFX_TR3_CROW_DEATH = 1210, + SFX_TR3_CROW_ATTACK = 1211, + SFX_TR3_SOFT_WIND_LOOP = 1212, + SFX_TR3_SWAT_SMG_FIRE = 1213, + SFX_TR3_LIZARD_MAN_ATTACK_1 = 1214, + SFX_TR3_LIZARD_MAN_ATTACK_2 = 1215, + SFX_TR3_LIZARD_MAN_DEATH = 1216, + SFX_TR3_LIZARD_MAN_CLIMB = 1217, + SFX_TR3_LIZARD_MAN_FIRE = 1218, + SFX_TR3_GENERIC_BODY_SLAM = 1219, + SFX_TR3_HECKER_AND_KOCH_OVERLAY = 1220, + SFX_TR3_LARA_SPIKE_DEATH = 1221, + SFX_TR3_LARA_DEATH3 = 1222, + SFX_TR3_ROLLING_BALL = 1223, + SFX_TR3_TUBE_LOOP = 1224, + SFX_TR3_RUMBLE_NEXTDOOR = 1225, + SFX_TR3_LOOP_FOR_SMALL_FIRES = 1226, + SFX_TR3_DART_GUN = 1227, + SFX_TR3_QUAD_START = 1228, + SFX_TR3_QUAD_IDLE = 1229, + SFX_TR3_QUAD_ACCELERATE = 1230, + SFX_TR3_QUAD_MOVE = 1231, + SFX_TR3_QUAD_STOP = 1232, + SFX_TR3_BATS_1 = 1233, + SFX_TR3_LOOP_FOR_GAS_HISS = 1234, + SFX_TR3_LAUNCHER_1 = 1235, + SFX_TR3_LAUNCHER_2 = 1236, + SFX_TR3_TRAPDOOR_OPEN = 1237, + SFX_TR3_TRAPDOOR_CLOSE = 1238, + SFX_TR3_RESERVOIR_FLUSH = 1239, + SFX_TR3_MACAQUE_SATND_WAIT = 1240, + SFX_TR3_MACAQUE_ATTACK_LOW = 1241, + SFX_TR3_MACAQUE_ATTACK_JUMP = 1242, + SFX_TR3_MACAQUE_JUMP = 1243, + SFX_TR3_MACAQUE_DEATH = 1244, + SFX_TR3_SEAL_MUTE_FIRE = 1245, + SFX_TR3_SEAL_MUTE_BREATH_IN = 1246, + SFX_TR3_SEAL_MUTE_FIRE_2 = 1247, + SFX_TR3_SEAL_MUTE_FOOT = 1248, + SFX_TR3_SEAL_MUTE_DEATH = 1249, + SFX_TR3_SEAL_MUTE_BRUSH_TAIL = 1250, + SFX_TR3_SEAL_MUTE_HIT_FLR = 1251, + SFX_TR3_DOG_ATTACK_1 = 1252, + SFX_TR3_DOG_AWARE = 1253, + SFX_TR3_DOG_FOOT_1 = 1254, + SFX_TR3_DOG_JUMP = 1255, + SFX_TR3_DOG_GROWL = 1256, + SFX_TR3_DOG_DEATH = 1257, + SFX_TR3_VULTURE_WING_FLAP = 1258, + SFX_TR3_VULTURE_ATTACK = 1259, + SFX_TR3_VULTURE_DIE = 1260, + SFX_TR3_VULTURE_GLIDE = 1261, + SFX_TR3_SCUBA_DIVER_FLIPPER = 1262, + SFX_TR3_SCUBA_DIVER_ARM = 1263, + SFX_TR3_SCUBA_DIVER_BREATH_W = 1264, + SFX_TR3_SCUBA_DIVER_BREATH_S = 1265, + SFX_TR3_LONDON_MERCENARY_DEATH = 1266, + SFX_TR3_CLEANER_LOOP = 1267, + SFX_TR3_SCUBA_DIVER_DEATH = 1268, + SFX_TR3_SCUBA_DIVER_DIVING = 1269, + SFX_TR3_BOAT_START = 1270, + SFX_TR3_BOAT_IDLE = 1271, + SFX_TR3_BOAT_ACCELERATE = 1272, + SFX_TR3_BOAT_MOVING = 1273, + SFX_TR3_BOAT_STOP = 1274, + SFX_TR3_BOAT_SLOW_DOWN = 1275, + SFX_TR3_JET_ROOFS = 1276, + SFX_TR3_QUAD_SIDE_IMPACT = 1277, + SFX_TR3_QUAD_FRONT_IMPACT = 1278, + SFX_TR3_QUAD_LAND = 1279, + SFX_TR3_FLAME_THROWER_LOOP = 1280, + SFX_TR3_RUMMBLE = 1281, + SFX_TR3_DRILL_BIT_1 = 1282, + SFX_TR3_VERY_SMALL_WINCH = 1283, + SFX_TR3_ALARM_1 = 1284, + SFX_TR3_MINE_CART_TRACK_LOOP = 1285, + SFX_TR3_MINE_CART_PULLY_LOOP = 1286, + SFX_TR3_MINE_CART_CLUNK_START = 1287, + SFX_TR3_SAVE_CRYSTAL = 1288, + SFX_TR3_WOOD_GATE = 1289, + SFX_TR3_METAL_SHUTTERS_SMASH = 1290, + SFX_TR3_UNDERWATER_FAN_ON = 1291, + SFX_TR3_UNDERWATER_FAN_STOP = 1292, + SFX_TR3_SMALL_FAN_ON = 1293, + SFX_TR3_SWINGING_BOX_BAG = 1294, + SFX_TR3_MINE_CART_SREECH_BRAKE = 1295, + SFX_TR3_SPANNER = 1296, + SFX_TR3_SMALL_METAL_SHUTTERS = 1297, + SFX_TR3_AREA51_SWINGER_START = 1298, + SFX_TR3_AREA51_SWINGER_STOP = 1299, + SFX_TR3_AREA51_SWINGER_LOOP = 1300, + SFX_TR3_SLIDE_DOOR_CLOSE_1 = 1301, + SFX_TR3_SLIDE_DOOR_CLOSE_2 = 1302, + SFX_TR3_OILDRUM_ROLL = 1303, + SFX_TR3_OILDRUM_HIT = 1304, + SFX_TR3_SIDE_BLADE_SWING = 1305, + SFX_TR3_SIDE_BLADE_BACK = 1306, + SFX_TR3_SKEL_TRAP_PART_1 = 1307, + SFX_TR3_SKEL_TRAP_PART_2 = 1308, + SFX_TR3_SMALL_FAN = 1309, + SFX_TR3_TONY_BOSS_STONE_DEATH = 1310, + SFX_TR3_TONY_BOSS_NORMAL_DEATH = 1311, + SFX_TR3_TONY_BOSS_LAUGH = 1312, + SFX_TR3_LONDON_BOSS_SHOOTER = 1313, + SFX_TR3_HARD_WIND_LOOP = 1314, + SFX_TR3_COMPY_ATTACK = 1315, + SFX_TR3_COMPY_JUMP = 1316, + SFX_TR3_COMPY_WAIT = 1317, + SFX_TR3_COMPY_DIE = 1318, + SFX_TR3_COMPY_RUN_WALK = 1319, + SFX_TR3_BLOWPIPE_NATIVE_FEET = 1320, + SFX_TR3_BLOWPIPE_NATIVE_ATTACK = 1321, + SFX_TR3_BLOWPIPE_NATIVE_DEATH = 1322, + SFX_TR3_BLOWPIPE_NATIVE_BLOW = 1323, + SFX_TR3_BLOWPIPE_NATIVE_SWOOSH = 1324, + SFX_TR3_SHIVA_WALK_MURMA = 1325, + SFX_TR3_RAPTOR_FEET = 1326, + SFX_TR3_RAPTOR_ATTACK_1 = 1327, + SFX_TR3_RAPTOR_ATTACK_2 = 1328, + SFX_TR3_RAPTOR_ATTACK_3 = 1329, + SFX_TR3_RAPTOR_ROAR = 1330, + SFX_TR3_RAPTOR_DIE_1 = 1331, + SFX_TR3_RAPTOR_DIE_2 = 1332, + SFX_TR3_HUGE_ROCKET_LOOP = 1333, + SFX_TR3_SHIVA_SWORD_1 = 1334, + SFX_TR3_SHIVA_SWORD_2 = 1335, + SFX_TR3_SHIVA_DEATH = 1336, + SFX_TR3_SHIVA_FOOTSTEP = 1337, + SFX_TR3_SHIVA_LAUGH = 1338, + SFX_TR3_SHIVA_HIT_GROUND = 1339, + SFX_TR3_HYBRID_FOOT = 1340, + SFX_TR3_HYBRID_HOOF = 1341, + SFX_TR3_HYBRID_ATTACK = 1342, + SFX_TR3_HYBRID_DEATH = 1343, + SFX_TR3_HYBRID_SWOOSH = 1344, + SFX_TR3_SMALL_SWITCH = 1345, + SFX_TR3_CLAW_MUTE_FOOTSTEPS = 1346, + SFX_TR3_CLAW_MUTE_ATTACK = 1347, + SFX_TR3_CLAW_MUTE_DEATH = 1348, + SFX_TR3_CLAW_MUTE_BODY_THUD = 1349, + SFX_TR3_CLAW_MUTE_LAZER = 1350, + SFX_TR3_CLAW_MUTE_SWOOSH = 1351, + SFX_TR3_CLAW_MUTE_CLAW = 1352, + SFX_TR3_HYBRID_BODY_SLAM = 1353, + SFX_TR3_SMALL_DOOR_SUBWAY = 1354, + SFX_TR3_DEATH_SLIDE_GRAB = 1355, + SFX_TR3_DEATH_SLIDE_GO = 1356, + SFX_TR3_DEATH_SLIDE_STOP = 1357, + SFX_TR3_RADAR_BLIP = 1358, + SFX_TR3_BOB_FEET = 1359, + SFX_TR3_BOB_ATTACK = 1360, + SFX_TR3_BOB_DEATH = 1361, + SFX_TR3_BOB_CLIMB = 1362, + SFX_TR3_BOB_GET_DOWN = 1363, + SFX_TR3_FOOTSTEPS_MUD = 1364, + SFX_TR3_FOOTSTEPS_ICE = 1365, + SFX_TR3_FOOTSTEPS_GRAVEL = 1366, + SFX_TR3_FOOTSTEPS_SAND__AND__GRASS = 1367, + SFX_TR3_FOOTSTEPS_WOOD = 1368, + SFX_TR3_FOOTSTEPS_SNOW = 1369, + SFX_TR3_FOOTSTEPS_METAL = 1370, + SFX_TR3_LOOP_FOR_LONDON = 1371, + SFX_TR3_1ST_LOOP_FOR_BIG_DRILL = 1372, + SFX_TR3_SMALL_DOOR_SUBWAY_CLOSE = 1373, + SFX_TR3_2ND_LOOP_FOR_BIG_DRILL = 1374, + SFX_TR3_ENGLISH_HOY = 1375, + SFX_TR3_AMERCAN_HOY = 1376, + SFX_TR3_OIL_RED_SMG_DEATH = 1377, + SFX_TR3_RADIO_LOOP = 1378, + SFX_TR3_PUNK_ATTACK = 1379, + SFX_TR3_PUNK_DEATH = 1380, + SFX_TR3_SECURITY_GUARD_FIRE = 1381, + SFX_TR3_SECURITY_GUARD_DEATH = 1382, + SFX_TR3_LAZER_LOOP = 1383, + SFX_TR3_WINSTON_BRUSH_OFF = 1384, + SFX_TR3_WINSTON_CUPS = 1385, + SFX_TR3_WINSTON_HU = 1386, + SFX_TR3_WINSTON_BULLET_TRAY = 1387, + SFX_TR3_WINSTON_FOOTSTEPS = 1388, + SFX_TR3_WINSTON_TAKE_HIT = 1389, + SFX_TR3_WINSTON_GET_UP = 1390, + SFX_TR3_WINSTON_FART = 1391, + SFX_TR3_WALL_BLADES = 1392, + SFX_TR3_MACAQUE_CHATTER = 1393, + SFX_TR3_MACAQUE_ROLL = 1394, + SFX_TR3_WHALE_CALL = 1395, + SFX_TR3_GENERATOR_LOOP = 1396, + SFX_TR3_GENERATOR_SHITTING = 1397, + SFX_TR3_GASMETER = 1398, + SFX_TR3_LARA_TURN_WHEEL = 1399, + SFX_TR3_COBRA_HISS = 1400, + SFX_TR3_DART_SPITT = 1401, + SFX_TR3_RATTLE_SNAKE = 1402, + SFX_TR3_SWING_PUMP = 1403, + SFX_TR3_SQEEK = 1404, + SFX_TR3_DRIPS_REVERB = 1405, + SFX_TR3_TONK = 1406, + SFX_TR3_BOO_MUTE = 1407, + SFX_TR3_VENDING_MACHINE_LOOP = 1408, + SFX_TR3_VENDING_SPIT = 1409, + SFX_TR3_DOORBELL = 1410, + SFX_TR3_BURGLAR_ALARM = 1411, + SFX_TR3_BOAT_SCRAPE = 1412, + SFX_TR3_TICK_TOCK = 1413, + SFX_TR3_WILARD_FOOT_STEPS = 1414, + SFX_TR3_WILARD_ATTACK = 1415, + SFX_TR3_WILARD_TAKE_HIT = 1416, + SFX_TR3_WILARD_LEGS_SHUFFLE = 1417, + SFX_TR3_WILARD_FIRE_CHARGE = 1418, + SFX_TR3_WILARD_FIRE_SHOOT = 1419, + SFX_TR3_WILARD_ODD_NOISE = 1420, + SFX_TR3_WILARD_STAB = 1421, + SFX_TR3_LITTLE_SUB_LOOP = 1422, + SFX_TR3_LITTLE_SUB_START = 1423, + SFX_TR3_LITTLE_SUB_STOP = 1424, + SFX_TR3_LONDON_BOSS_DIE_PART_1 = 1425, + SFX_TR3_LONDON_BOSS_DIE_PART_2 = 1426, + SFX_TR3_LONDON_BOSS_FIRE = 1427, + SFX_TR3_LONDON_BOSS_SUMMON = 1428, + SFX_TR3_LONDON_BOSS_TAKE_HIT = 1429, + SFX_TR3_LONDON_BOSS_VAULT = 1430, + SFX_TR3_LONDON_BOSS_SUMMON_NOT = 1431, + SFX_TR3_LONDON_BOSS_LAUGH = 1432, + SFX_TR3_WATER_MILL = 1433, + SFX_TR3_PLUG_WINCH = 1434, + SFX_TR3_GIANT_METAL_WHEELS = 1435, + SFX_TR3_TRIBOSS_ATTACK = 1436, + SFX_TR3_TRIBOSS_TAKE_HIT = 1437, + SFX_TR3_TRIBOSS_TURN_CHAIR = 1438, + SFX_TR3_TRIBOSS_SHOOT = 1439, + SFX_TR3_TRIBOSS_DEATH_VOCAL = 1440, + SFX_TR3_TRIBOSS_CHAIR_2 = 1441, + SFX_TR3_TONY_BOSS_SHOOT_1 = 1442, + SFX_TR3_TONY_BOSS_SHOOT_2 = 1443, + SFX_TR3_TONY_BOSS_SHOOT_3 = 1444, + SFX_TR3_TONY_BOSS_ATTACK = 1445, + + // TR4 sounds + SFX_TR4_LARA_FEET = 1446, + SFX_TR4_LARA_CLIMB2 = 1447, + SFX_TR4_LARA_NO = 1448, + SFX_TR4_LARA_SLIPPING = 1449, + SFX_TR4_LARA_LAND = 1450, + SFX_TR4_LARA_CLIMB1 = 1451, + SFX_TR4_LARA_DRAW = 1452, + SFX_TR4_LARA_HOLSTER = 1453, + SFX_TR4_LARA_FIRE = 1454, + SFX_TR4_LARA_RELOAD = 1455, + SFX_TR4_LARA_RICOCHET = 1456, + SFX_TR4_PUSH_BLOCK_END = 1457, + SFX_TR4_METAL_SCRAPE_LOOP = 1458, + SFX_TR4_SMALL_SCARAB_FEET = 1459, + SFX_TR4_BIG_SCARAB_ATTACK = 1460, + SFX_TR4_BIG_SCARAB_DEATH = 1461, + SFX_TR4_BIG_SCARAB_FLYING = 1462, + SFX_TR4_LARA_WET_FEET = 1463, + SFX_TR4_LARA_WADE = 1464, + SFX_TR4_RUMBLE_LOOP = 1465, + SFX_TR4_METAL_SCRAPE_LOOP1 = 1466, + SFX_TR4_CRICKET_LOOP = 1467, + SFX_TR4_WOOD_BRIDGE_FALL = 1468, + SFX_TR4_STARGATE_SWIRL = 1469, + SFX_TR4_LARA_KNEES_SHUFFLE = 1470, + SFX_TR4_PUSH_SPX_SWITCH = 1471, + SFX_TR4_LARA_CLIMB3 = 1472, + SFX_TR4_DON_T_USE_THIS_SPACE = 1473, + SFX_TR4_LARA_SHIMMY2 = 1474, + SFX_TR4_LARA_JUMP = 1475, + SFX_TR4_LARA_FALL = 1476, + SFX_TR4_LARA_INJURY = 1477, + SFX_TR4_LARA_ROLL = 1478, + SFX_TR4_LARA_SPLASH = 1479, + SFX_TR4_LARA_GETOUT = 1480, + SFX_TR4_LARA_SWIM = 1481, + SFX_TR4_LARA_BREATH = 1482, + SFX_TR4_LARA_BUBBLES = 1483, + SFX_TR4_SPINNING_PUZZLE = 1484, + SFX_TR4_LARA_KEY = 1485, + SFX_TR4_COG_RESAW_LIBRARY = 1486, + SFX_TR4_LARA_GENERAL_DEATH = 1487, + SFX_TR4_LARA_KNEES_DEATH = 1488, + SFX_TR4_LARA_UZI_FIRE = 1489, + SFX_TR4_LARA_UZI_STOP = 1490, + SFX_TR4_LARA_SHOTGUN = 1491, + SFX_TR4_LARA_BLOCK_PUSH1 = 1492, + SFX_TR4_LARA_BLOCK_PUSH2 = 1493, + SFX_TR4_SARLID_PALACES = 1494, + SFX_TR4_LARA_SHOTGUN_SHELL = 1495, + SFX_TR4_UNDERWATER_DOOR = 1496, + SFX_TR4_LARA_BLKPULL = 1497, + SFX_TR4_LARA_FLOATING = 1498, + SFX_TR4_LARA_FALLDETH = 1499, + SFX_TR4_LARA_GRABHAND = 1500, + SFX_TR4_LARA_GRABBODY = 1501, + SFX_TR4_LARA_GRABFEET = 1502, + SFX_TR4_RATCHET_3SHOT = 1503, + SFX_TR4_RATCHET_1SHOT = 1504, + SFX_TR4_WATER_LOOP_NOTINUSE = 1505, + SFX_TR4_UNDERWATER = 1506, + SFX_TR4_UNDERWATER_SWITCH = 1507, + SFX_TR4_LARA_PICKUP = 1508, + SFX_TR4_PUSHABLE_SOUND = 1509, + SFX_TR4_DOOR_GENERAL = 1510, + SFX_TR4_HELICOPTER_LOOP = 1511, + SFX_TR4_ROCK_FALL_CRUMBLE = 1512, + SFX_TR4_ROCK_FALL_LAND = 1513, + SFX_TR4_PENDULUM_BLADES = 1514, + SFX_TR4_STALEGTITE = 1515, + SFX_TR4_LARA_THUD = 1516, + SFX_TR4_GENERIC_SWOOSH = 1517, + SFX_TR4_GENERIC_HEAVY_THUD = 1518, + SFX_TR4_CROC_FEET = 1519, + SFX_TR4_SWINGING_FLAMES = 1520, + SFX_TR4_STONE_SCRAPE = 1521, + SFX_TR4_BLAST_CIRCLE = 1522, + SFX_TR4_BAZOOKA_FIRE = 1523, + SFX_TR4_HECKLER_AND_KOCH_FIRE = 1524, + SFX_TR4_WATERFALL_LOOP = 1525, + SFX_TR4_CROC_ATTACK = 1526, + SFX_TR4_CROC_DEATH = 1527, + SFX_TR4_PORTCULLIS_UP = 1528, + SFX_TR4_PORTCULLIS_DOWN = 1529, + SFX_TR4_DOUBLE_DOORS_BANG = 1530, + SFX_TR4_DOUBLE_DOORS_CREAK = 1531, + SFX_TR4_PETES_PYRA_STONE = 1532, + SFX_TR4_PETES_PYRA_PNEU = 1533, + SFX_TR4_AHMET_DIE = 1534, + SFX_TR4_AHMET_ATTACK = 1535, + SFX_TR4_AHMET_HANDS = 1536, + SFX_TR4_AHMET_FEET = 1537, + SFX_TR4_AHMET_SWIPE = 1538, + SFX_TR4_AHMET_WAIT = 1539, + SFX_TR4_GUIDE_JUMP = 1540, + SFX_TR4_GENERAL_FOOTSTEPS1 = 1541, + SFX_TR4_GUIDE_LAND_USENOT = 1542, + SFX_TR4_POUR = 1543, + SFX_TR4_SCALE1 = 1544, + SFX_TR4_SCALE2 = 1545, + SFX_TR4_BEETLARA_WINDUP = 1546, + SFX_TR4_BEETLE_CLK_WHIRR = 1547, + SFX_TR4_BEETLE_CLK_EXP = 1548, + SFX_TR4_MINE_EXP_OVERLAY = 1549, + SFX_TR4_HECKLER_AND_KOCH_STOP = 1550, + SFX_TR4_EXPLOSION1 = 1551, + SFX_TR4_EXPLOSION2_VOLWAS80 = 1552, + SFX_TR4_EARTHQUAKE_LOOP = 1553, + SFX_TR4_MENU_ROTATE = 1554, + SFX_TR4_MENU_SELECT = 1555, + SFX_TR4_MENU_EMPTY = 1556, + SFX_TR4_MENU_CHOOSE = 1557, + SFX_TR4_TICK_TOCK = 1558, + SFX_TR4_MENU_EMPTY1 = 1559, + SFX_TR4_MENU_COMBINE = 1560, + SFX_TR4_MENU_EMPTY2 = 1561, + SFX_TR4_MENU_MEDI = 1562, + SFX_TR4_LARA_CLIMB_WALLS_NOISE = 1563, + SFX_TR4_WATER_LOOP = 1564, + SFX_TR4_VONCROY_JUMP = 1565, + SFX_TR4_LOCUSTS_LOOP = 1566, + SFX_TR4_DESSERT_EAGLE_FIRE = 1567, + SFX_TR4_BOULDER_FALL = 1568, + SFX_TR4_LARA_MINI_LOAD = 1569, + SFX_TR4_LARA_MINI_LOCK = 1570, + SFX_TR4_LARA_MINI_FIRE = 1571, + SFX_TR4_GATE_OPENING = 1572, + SFX_TR4_LARA_ELECTRIC_LOOP = 1573, + SFX_TR4_LARA_ELECTRIC_CRACKLES = 1574, + SFX_TR4_BLOOD_LOOP = 1575, + SFX_TR4_BIKE_START = 1576, + SFX_TR4_BIKE_IDLE = 1577, + SFX_TR4_BIKE_ACCELERATE = 1578, + SFX_TR4_BIKE_MOVING = 1579, + SFX_TR4_BIKE_SIDE_IMPACT = 1580, + SFX_TR4_BIKE_FRONT_IMPACT = 1581, + SFX_TR4_SOFT_WIND_LOOP = 1582, + SFX_TR4_BIKE_LAND = 1583, + SFX_TR4_CROCGOD_ROAR = 1584, + SFX_TR4_CROCGOD_WINGS = 1585, + SFX_TR4_CROCGOD_LAND = 1586, + SFX_TR4_CROCGOD_FIRE_ROAR = 1587, + SFX_TR4_BIKE_STOP = 1588, + SFX_TR4_GENERIC_BODY_SLAM = 1589, + SFX_TR4_HECKER_AND_KOCH_OVERLAY = 1590, + SFX_TR4_LARA_SPIKE_DEATH = 1591, + SFX_TR4_LARA_DEATH3 = 1592, + SFX_TR4_ROLLING_BALL = 1593, + SFX_TR4_BLK_PLAT_RAISE_AND_LOW = 1594, + SFX_TR4_RUMBLE_NEXTDOOR = 1595, + SFX_TR4_LOOP_FOR_SMALL_FIRES = 1596, + SFX_TR4_CHAINS_LIBRARY = 1597, + SFX_TR4_JEEP_START = 1598, + SFX_TR4_JEEP_IDLE = 1599, + SFX_TR4_JEEP_ACCELERATE = 1600, + SFX_TR4_JEEP_MOVE = 1601, + SFX_TR4_JEEP_STOP = 1602, + SFX_TR4_BATS_1 = 1603, + SFX_TR4_ROLLING_DOOR = 1604, + SFX_TR4_LAUNCHER_1 = 1605, + SFX_TR4_LAUNCHER_2 = 1606, + SFX_TR4_TRAPDOOR_OPEN = 1607, + SFX_TR4_TRAPDOOR_CLOSE = 1608, + SFX_TR4_EMPTY1609 = 1609, + SFX_TR4_BABOON_STAND_WAIT = 1610, + SFX_TR4_BABOON_ATTACK_LOW = 1611, + SFX_TR4_BABOON_ATTACK_JUMP = 1612, + SFX_TR4_BABOON_JUMP = 1613, + SFX_TR4_BABOON_DEATH = 1614, + SFX_TR4_BAT_SQUEAL_FULL = 1615, + SFX_TR4_BAT_SQK = 1616, + SFX_TR4_BAT_FLAP = 1617, + SFX_TR4_SPHINX_NOSE_RASP = 1618, + SFX_TR4_SPHINX_WALK = 1619, + SFX_TR4_SPHINX_NOISE = 1620, + SFX_TR4_DOG_HOWL = 1621, + SFX_TR4_DOG_HIT_GROUND = 1622, + SFX_TR4_FOUNTAIN_LOOP = 1623, + SFX_TR4_DOG_FOOT_1 = 1624, + SFX_TR4_DOG_JUMP = 1625, + SFX_TR4_DOG_BITE = 1626, + SFX_TR4_DOG_DEATH = 1627, + SFX_TR4_THUNDER_RUMBLE = 1628, + SFX_TR4_THUNDER_CRACK = 1629, + SFX_TR4_WRAITH_WHISPERS = 1630, + SFX_TR4_EMPTY1631 = 1631, + SFX_TR4_EMPTY1632 = 1632, + SFX_TR4_SKEL_FOOTSTEPS = 1633, + SFX_TR4_SKEL_ATTACK = 1634, + SFX_TR4_GENERIC_SWORD_SWOOSH = 1635, + SFX_TR4_SKEL_SWORD_CLANG = 1636, + SFX_TR4_SKEL_STICK_GROUND = 1637, + SFX_TR4_GEN_PULL_SWORD = 1638, + SFX_TR4_SKEL_LAND_HEAVY = 1639, + SFX_TR4_GUIDE_SCARE = 1640, + SFX_TR4_JEEP_DOOR_OPEN = 1641, + SFX_TR4_JEEP_DOOR_CLOSE = 1642, + SFX_TR4_ELEC_ARCING_LOOP = 1643, + SFX_TR4_ELEC_ONE_SHOT = 1644, + SFX_TR4_EMPTY1645 = 1645, + SFX_TR4_LIBRARY_COG_LOOP = 1646, + SFX_TR4_JEEP_SIDE_IMPACT = 1647, + SFX_TR4_JEEP_FRONT_IMPACT = 1648, + SFX_TR4_JEEP_LAND = 1649, + SFX_TR4_SPINNING_GEM_SLOTS = 1650, + SFX_TR4_RUMMBLE = 1651, + SFX_TR4_WARTHOG_HEADBUTT = 1652, + SFX_TR4_WARTHOG_DEATH = 1653, + SFX_TR4_SET_SPIKE_TIMER = 1654, + SFX_TR4_WARTHOG_SQUEAL = 1655, + SFX_TR4_WARTHOG_FEET = 1656, + SFX_TR4_WARTHOG_GRUNT = 1657, + SFX_TR4_SAVE_CRYSTAL = 1658, + SFX_TR4_HORSE_RICOCHETS = 1659, + SFX_TR4_METAL_SHUTTERS_SMASH = 1660, + SFX_TR4_GEM_DROP_ON_FLOOR = 1661, + SFX_TR4_SCORPION_SCREAM = 1662, + SFX_TR4_SCORPION_FEET = 1663, + SFX_TR4_SCORPION_CLAWS = 1664, + SFX_TR4_SCORPION_TAIL_WHIP = 1665, + SFX_TR4_SCORPION_SMALL_FEET = 1666, + SFX_TR4_METAL_GATE_OPEN = 1667, + SFX_TR4_HORSE_TROTTING = 1668, + SFX_TR4_KN_TEMPLAR_WALK = 1669, + SFX_TR4_KN_TEMPLAR_GURGLES = 1670, + SFX_TR4_KN_SWORD_SCRAPE = 1671, + SFX_TR4_KN_TEMPLAR_ATTACK = 1672, + SFX_TR4_KN_SWORD_CLANG = 1673, + SFX_TR4_KN_SWORD_SWOOSH = 1674, + SFX_TR4_MUMMY_ATTACK = 1675, + SFX_TR4_MUMMY_WALK = 1676, + SFX_TR4_MUMMY_GURGLES = 1677, + SFX_TR4_MUMMY_TAKE_HIT = 1678, + SFX_TR4_SMALL_FAN = 1679, + SFX_TR4_LARGE_FAN = 1680, + SFX_TR4_LARA_CROSSBOW = 1681, + SFX_TR4_SMALL_CREATURE_FEET = 1682, + SFX_TR4_SAS_GADGIE_DIE = 1683, + SFX_TR4_WATER_FLUSHES = 1684, + SFX_TR4_GUID_ZIPPO = 1685, + SFX_TR4_LEAP_SWITCH = 1686, + SFX_TR4_OLD_SWITCH = 1687, + SFX_TR4_DEMIGODS_FEET = 1688, + SFX_TR4_DEMIGODS_BULL_SNORT = 1689, + SFX_TR4_DEMIGODS_BULL_HAMMER = 1690, + SFX_TR4_DEMIGODS_S_WAVE_RUMB = 1691, + SFX_TR4_DEMIGOD_WEAP_SWOOSH = 1692, + SFX_TR4_DEMIGOD_FALCON_SQUEAL = 1693, + SFX_TR4_DEMIGOD_FALCON_PLAS = 1694, + SFX_TR4_DEMIGOD_RISE = 1695, + SFX_TR4_DEMI_TUT_PLASMA_SPRAY = 1696, + SFX_TR4_DEMI_SIREN_SWAVE = 1697, + SFX_TR4_DEMIGODS_TUT_GROWL = 1698, + SFX_TR4_JOBY_ELECTRIC_INSERT = 1699, + SFX_TR4_BAD_LAND = 1700, + SFX_TR4_DOOR_GEN_THUD = 1701, + SFX_TR4_BAD_GRUNTS = 1702, + SFX_TR4_BAD_DIE = 1703, + SFX_TR4_BAD_JUMP = 1704, + SFX_TR4_BAD_TROOP_STUN = 1705, + SFX_TR4_BAD_SWORDAWAY = 1706, + SFX_TR4_BAD_TROOP_UZI = 1707, + SFX_TR4_BAD_SWORD_RICO = 1708, + SFX_TR4_BAD_TROOP_UZI_END = 1709, + SFX_TR4_TROOP_SCORP_CRIES = 1710, + SFX_TR4_SAS_TROOP_FEET = 1711, + SFX_TR4_GENERIC_NRG_CHARGE = 1712, + SFX_TR4_SAS_MG_FIRE = 1713, + SFX_TR4_HAMMER_HEAD_WADE = 1714, + SFX_TR4_SMALL_SWITCH = 1715, + SFX_TR4_EMPTY1716 = 1716, + SFX_TR4_SIREN_WING_FLAP = 1717, + SFX_TR4_SIREN_NOIZES = 1718, + SFX_TR4_SIREN_ATTACK = 1719, + SFX_TR4_SIREN_DEATH = 1720, + SFX_TR4_SIREN_GEN_NOISES = 1721, + SFX_TR4_SETT_SIREN_PLASMA = 1722, + SFX_TR4_HAMMER_HEAD_ATK = 1723, + SFX_TR4_SMALL_DOOR_SUBWAY = 1724, + SFX_TR4_TRAIN_DOOR_OPEN = 1725, + SFX_TR4_TRAIN_DOOR_CLOSE = 1726, + SFX_TR4_VONCROY_KNIFE_SWISH = 1727, + SFX_TR4_TRAIN_UNLINK_BREAK = 1728, + SFX_TR4_OBJ_BOX_HIT = 1729, + SFX_TR4_OBJ_BOX_HIT_CHANCE = 1730, + SFX_TR4_OBJ_GEM_SMASH = 1731, + SFX_TR4_CATBLADES_DRAW = 1732, + SFX_TR4_SWIRLY_LONG_MOVE_SFX = 1733, + SFX_TR4_FOOTSTEPS_MUD = 1734, + SFX_TR4_HORSEMAN_HORSE_NEIGH = 1735, + SFX_TR4_FOOTSTEPS_GRAVEL = 1736, + SFX_TR4_FOOTSTEPS_SAND__AND__GRASS = 1737, + SFX_TR4_FOOTSTEPS_WOOD = 1738, + SFX_TR4_FOOTSTEPS_MARBLE = 1739, + SFX_TR4_FOOTSTEPS_METAL = 1740, + SFX_TR4_GEN_SPHINX_DOORTHD = 1741, + SFX_TR4_SETT_PLASMA_1 = 1742, + SFX_TR4_SETT_BOLT_1 = 1743, + SFX_TR4_SETT_FEET = 1744, + SFX_TR4_SETT_NRG_CHARGE = 1745, + SFX_TR4_SETT_NRG_CHARGE2 = 1746, + SFX_TR4_HORSEMAN_TAKEHIT = 1747, + SFX_TR4_HORSEMAN_WALK = 1748, + SFX_TR4_HORSEMAN_GRUNT = 1749, + SFX_TR4_HORSEMAN_FALL = 1750, + SFX_TR4_HORSEMAN_DIE = 1751, + SFX_TR4_MAPPER_SWITCH_ON = 1752, + SFX_TR4_MAPPER_OPEN = 1753, + SFX_TR4_MAPPER_LAZER = 1754, + SFX_TR4_MAPPER_MOVE = 1755, + SFX_TR4_MAPPER_CLUNK = 1756, + SFX_TR4_BLADES_DRAW = 1757, + SFX_TR4_BLADES_CLASH_LOUD = 1758, + SFX_TR4_BLADES_CLASH_QUIET = 1759, + SFX_TR4_HAMMER_TRAP_BANG = 1760, + SFX_TR4_DOOR_BIG_STONE = 1761, + SFX_TR4_SETT_BIG_ROAR = 1762, + SFX_TR4_BABOON_CHATTER = 1763, + SFX_TR4_BABOON_ROLL = 1764, + SFX_TR4_SWOOSH_SWIRLY_DOUBLE = 1765, + SFX_TR4_DOOR_SETTDOOR_SQK = 1766, + SFX_TR4_DOOR_SETTDOOR_CLANK = 1767, + SFX_TR4_SETT_JUMP_ATTACK = 1768, + SFX_TR4_JOBY_BLOCK = 1769, + SFX_TR4_SETT_TAKE_HIT = 1770, + SFX_TR4_DART_SPITT = 1771, + SFX_TR4_LARA_CROWBAR_GEM = 1772, + SFX_TR4_CROWBAR_DOOR_OPEN = 1773, + SFX_TR4_LARA_LEVER_GEN_SQKS = 1774, + SFX_TR4_HORSEMAN_GETUP = 1775, + SFX_TR4_EXH_BASKET_OPEN = 1776, + SFX_TR4_EXH_MUMCOFF_OPE1 = 1777, + SFX_TR4_EXH_MUMCOFF_OPE2 = 1778, + SFX_TR4_EXH_MUM_JOLT = 1779, + SFX_TR4_EXH_MUMHEAD_SPIN = 1780, + SFX_TR4_EXH_MUMMY_RAHHH = 1781, + SFX_TR4_EXH_ROLLER_BLINDS = 1782, + SFX_TR4_LARA_LEVER_PART1 = 1783, + SFX_TR4_LARA_LEVER_PART2 = 1784, + SFX_TR4_LARA_POLE_CLIMB = 1785, + SFX_TR4_LARA_POLE_LOOP = 1786, + SFX_TR4_TRAP_SPIKEBALL_SPK = 1787, + SFX_TR4_LARA_PULLEY = 1788, + SFX_TR4_TEETH_SPIKES = 1789, + SFX_TR4_SAND_LOOP = 1790, + SFX_TR4_LARA_USE_OBJECT = 1791, + SFX_TR4_LIBRARY_COG_SQKS = 1792, + SFX_TR4_HIT_ROCK = 1793, + SFX_TR4_LARA_NO_FRENCH = 1794, + SFX_TR4_LARA_NO_JAPAN = 1795, + SFX_TR4_LARA_CROW_WRENCH = 1796, + SFX_TR4_LARA_ROPE_CREAK = 1797, + SFX_TR4_BOWLANIM = 1798, + SFX_TR4_SPHINX_DOOR_WOODCRACK = 1799, + SFX_TR4_BEETLE_CLK_WHIRR1 = 1800, + SFX_TR4_MAPPER_PYRAMID_OPEN = 1801, + SFX_TR4_LIGHT_BEAM_JOBY = 1802, + SFX_TR4_GUIDE_FIRE_LIGHT = 1803, + SFX_TR4_AUTOGUNS = 1804, + SFX_TR4_PULLEY_ANDY = 1805, + SFX_TR4_STEAM = 1806, + SFX_TR4_JOBY_GARAGE_DOOR = 1807, + SFX_TR4_JOBY_WIND = 1808, + SFX_TR4_SANDHAM_IN_THE_HOUSE = 1809, + SFX_TR4_SANDHAM_CONVEYS = 1810, + SFX_TR4_CRANKY_GRAPE_CRUSH = 1811, + SFX_TR4_BIKE_HIT_OBJECTS = 1812, + SFX_TR4_BIKE_HIT_ENEMIES = 1813, + SFX_TR4_FLAME_EMITTER = 1814, + SFX_TR4_LARA_CLICK_SWITCH = 1815, + NUM_SFX }; @@ -598,9 +1951,10 @@ typedef enum sound_effects #define SOUND_BASS_UNITS 1.0f / 1024.0f // TR->BASS distance unit coefficient #define SOUND_MAXVOL_RADIUS 1024.0f // Max. volume hearing distance #define SOUND_OMNIPRESENT_ORIGIN Vector3(1.17549e-038f, 1.17549e-038f, 1.17549e-038f) -#define SOUND_MAX_SAMPLES 3072 // Original was 1024, reallocate original 3-dword DX handle struct to just 1-dword memory pointer +#define SOUND_MAX_SAMPLES 8192 // Original was 1024, reallocate original 3-dword DX handle struct to just 1-dword memory pointer #define SOUND_MAX_CHANNELS 32 // Original was 24, reallocate original 36-byte struct with 24-byte SoundEffectSlot struct #define SOUND_LEGACY_SOUNDMAP_SIZE 450 +#define SOUND_NEW_SOUNDMAP_MAX_SIZE 4096 #define SOUND_LEGACY_TRACKTABLE_SIZE 136 #define SOUND_FLAG_NO_PAN (1<<12) // Unused flag #define SOUND_FLAG_RND_PITCH (1<<13) @@ -683,6 +2037,10 @@ struct AudioTrack using namespace std; extern vector g_AudioTracks; +extern short SampleLUT[SOUND_NEW_SOUNDMAP_MAX_SIZE]; +extern short SoundMapSize; +extern int NumSamplesInfos; +extern SAMPLE_INFO* SampleInfo; #define SayNo ((void (__cdecl*)()) 0x004790E0) diff --git a/TR5Main/Global/vars.h b/TR5Main/Global/vars.h index 3d0c26e81..96588dbb0 100644 --- a/TR5Main/Global/vars.h +++ b/TR5Main/Global/vars.h @@ -78,8 +78,8 @@ #define W2VMatrix ARRAY_(0x0055D26C, int, [16]) #define Unk_876C48 VAR_U_(0x00876C48, int) #define Unk_007E7FE8 VAR_U_(0x007E7FE8, int) -#define SampleLUT VAR_U_(0x00E528A4, short*) -#define SampleInfo VAR_U_(0x00E528A8, SAMPLE_INFO*) +//#define SampleLUT VAR_U_(0x00E528A4, short*) +//#define SampleInfo VAR_U_(0x00E528A8, SAMPLE_INFO*) #define SamplePointer ARRAY_(0x0086BEF0, HSAMPLE, [SOUND_MAX_SAMPLES]) #define SoundSlot ARRAY_(0x00E52430, SoundEffectSlot, [SOUND_MAX_CHANNELS]) #define TrackNamePrefix VAR_U_(0x00511828, char) diff --git a/TR5Main/Objects/TR2/tr2_knifethrower.cpp b/TR5Main/Objects/TR2/tr2_knifethrower.cpp index 840f4b823..edf35e557 100644 --- a/TR5Main/Objects/TR2/tr2_knifethrower.cpp +++ b/TR5Main/Objects/TR2/tr2_knifethrower.cpp @@ -63,7 +63,7 @@ void KnifeControl(short fxNum) fx->speed = LaraItem->speed; fx->frameNumber = fx->counter = 0; - SoundEffect(SFX_TR2_HIT_BY_KNIFE_ID317, &fx->pos, 0); // knife hit lara sound + SoundEffect(SFX_TR2_CRUNCH2, &fx->pos, 0); // knife hit lara sound DoBloodSplat(fx->pos.xPos, fx->pos.yPos, fx->pos.zPos, 80, fx->pos.yRot, fx->roomNumber); KillEffect(fxNum); } diff --git a/TR5Main/Objects/TR2/tr2_monk.cpp b/TR5Main/Objects/TR2/tr2_monk.cpp index eb6650586..bcaf59608 100644 --- a/TR5Main/Objects/TR2/tr2_monk.cpp +++ b/TR5Main/Objects/TR2/tr2_monk.cpp @@ -208,7 +208,7 @@ void MonkControl(short itemNum) LaraItem->hitStatus = true; monk->flags |= 0x1000; - SoundEffect(SFX_TR2_MONK_HIT_TARGET_ID245, &item->pos, 0); + SoundEffect(SFX_TR2_CRUNCH1, &item->pos, 0); CreatureEffect(item, &monkBite, DoBloodSplat); } } @@ -224,7 +224,7 @@ void MonkControl(short itemNum) enemy->hitStatus = true; monk->flags |= 0x1000; - SoundEffect(SFX_TR2_MONK_HIT_TARGET_ID245, &item->pos, 0); + SoundEffect(SFX_TR2_CRUNCH1, &item->pos, 0); } } } diff --git a/TR5Main/Objects/TR2/tr2_spear_guardian.cpp b/TR5Main/Objects/TR2/tr2_spear_guardian.cpp index 2c1e47c07..6f3383bde 100644 --- a/TR5Main/Objects/TR2/tr2_spear_guardian.cpp +++ b/TR5Main/Objects/TR2/tr2_spear_guardian.cpp @@ -14,7 +14,7 @@ void XianDamage(ITEM_INFO* item, CREATURE_INFO* xian, int damage) LaraItem->hitStatus = true; CreatureEffect(item, &spearRightBite, DoBloodSplat); xian->flags |= 1; - SoundEffect(SFX_TR2_SWORD_HITTARGET_ID318, &item->pos, 0); + SoundEffect(SFX_TR2_CRUNCH3, &item->pos, 0); } if (!(xian->flags & 2) && (item->touchBits & 0x800)) @@ -23,7 +23,7 @@ void XianDamage(ITEM_INFO* item, CREATURE_INFO* xian, int damage) LaraItem->hitStatus = true; CreatureEffect(item, &spearLeftBite, DoBloodSplat); xian->flags |= 2; - SoundEffect(SFX_TR2_SWORD_HITTARGET_ID318, &item->pos, 0); + SoundEffect(SFX_TR2_CRUNCH3, &item->pos, 0); } } diff --git a/TR5Main/Objects/TR2/tr2_sword_guardian.cpp b/TR5Main/Objects/TR2/tr2_sword_guardian.cpp index a88f8dd8f..3cfd2bff1 100644 --- a/TR5Main/Objects/TR2/tr2_sword_guardian.cpp +++ b/TR5Main/Objects/TR2/tr2_sword_guardian.cpp @@ -30,7 +30,7 @@ void SwordGuardianFly(ITEM_INFO* item) pos.z = (GetRandomControl() << 8 >> 15) + item->pos.zPos - 128; TriggerGunSmoke(pos.x, pos.y, pos.z, 1, 1, 1, 1, WEAPON_GRENADE_LAUNCHER, 32); - SoundEffect(SFX_TR2_SWORD_GUARDIAN_FLYING_ID312, &item->pos, 0); + SoundEffect(SFX_TR2_WARRIOR_HOVER, &item->pos, 0); } void SwordGuardianControl(short itemNum) diff --git a/TR5Main/Objects/TR3/tr3_mpgun.cpp b/TR5Main/Objects/TR3/tr3_mpgun.cpp index ff895f332..bd58d7df6 100644 --- a/TR5Main/Objects/TR3/tr3_mpgun.cpp +++ b/TR5Main/Objects/TR3/tr3_mpgun.cpp @@ -90,7 +90,7 @@ void MPGunControl(short itemNumber) torsoY = info.angle; head = info.angle; ShotLara(item, &info, &mpgunBite, torsoY, 32); - SoundEffect(SFX_TR3_OIL_SMG_FIRE_ID72, &item->pos, 3 << 13); + SoundEffect(SFX_TR3_OIL_SMG_FIRE, &item->pos, 3 << 13); } } @@ -162,7 +162,7 @@ void MPGunControl(short itemNumber) if (laraInfo.distance < SQUARE(1024) || item->hitStatus || TargetVisible(item, &laraInfo)) { if (!creature->alerted) - SoundEffect(SFX_TR3_AMERCAN_HOY_ID300, &item->pos, 0); + SoundEffect(SFX_TR3_AMERCAN_HOY, &item->pos, 0); AlertAllGuards(itemNumber); } creature->enemy = enemy; diff --git a/TR5Main/Objects/TR3/tr3_mpstick.cpp b/TR5Main/Objects/TR3/tr3_mpstick.cpp index e74d7d09b..558df0532 100644 --- a/TR5Main/Objects/TR3/tr3_mpstick.cpp +++ b/TR5Main/Objects/TR3/tr3_mpstick.cpp @@ -140,7 +140,7 @@ void MPStickControl(short itemNumber) if (item->hitStatus || ((laraInfo.distance < SQUARE(1024) || TargetVisible(item, &laraInfo)) && (abs(LaraItem->pos.yPos - item->pos.yPos) < 1024))) // TS- TODO: take this back out after demo!! { if (!creature->alerted) - SoundEffect(SFX_TR3_AMERCAN_HOY_ID300, &item->pos, 0); + SoundEffect(SFX_TR3_AMERCAN_HOY, &item->pos, 0); AlertAllGuards(itemNumber); } creature->enemy = enemy; diff --git a/TR5Main/Objects/TR3/tr3_shiva.cpp b/TR5Main/Objects/TR3/tr3_shiva.cpp index e9c9c920b..bb02bf045 100644 --- a/TR5Main/Objects/TR3/tr3_shiva.cpp +++ b/TR5Main/Objects/TR3/tr3_shiva.cpp @@ -105,7 +105,7 @@ void ShivaDamage(ITEM_INFO* item, CREATURE_INFO* shiva, int damage) LaraItem->hitStatus = true; CreatureEffect(item, &shivaRightBite, DoBloodSplat); shiva->flags = 1; - SoundEffect(SFX_TR2_SWORD_HITTARGET_ID318, &item->pos, 0); + SoundEffect(SFX_TR2_CRUNCH3, &item->pos, 0); } if (!(shiva->flags) && (item->touchBits & 0x2400)) @@ -114,7 +114,7 @@ void ShivaDamage(ITEM_INFO* item, CREATURE_INFO* shiva, int damage) LaraItem->hitStatus = true; CreatureEffect(item, &shivaLeftBite, DoBloodSplat); shiva->flags = 1; - SoundEffect(SFX_TR2_SWORD_HITTARGET_ID318, &item->pos, 0); + SoundEffect(SFX_TR2_CRUNCH3, &item->pos, 0); } } diff --git a/TR5Main/Objects/TR3/tr3_sophia.cpp b/TR5Main/Objects/TR3/tr3_sophia.cpp index 77c820c79..46d2ebc1e 100644 --- a/TR5Main/Objects/TR3/tr3_sophia.cpp +++ b/TR5Main/Objects/TR3/tr3_sophia.cpp @@ -355,7 +355,7 @@ static void ExplodeLondonBoss(ITEM_INFO* item) for (lp = 0; lp < 2; lp++) TriggerExplosionSparks(x, y, z, 3, -1, 2, 0); - SoundEffect(SFX_TR3_BOSS_EXPLODE_ID76, &item->pos, PITCH_SHIFT | 0x800000); + SoundEffect(SFX_TR3_BLAST_CIRCLE, &item->pos, PITCH_SHIFT | 0x800000); } // Adjust shield coordinates. diff --git a/TR5Main/Objects/TR4/tr4_guide.cpp b/TR5Main/Objects/TR4/tr4_guide.cpp index 0f2883159..9485fd3cb 100644 --- a/TR5Main/Objects/TR4/tr4_guide.cpp +++ b/TR5Main/Objects/TR4/tr4_guide.cpp @@ -729,7 +729,7 @@ void GuideControl(short itemNum) { item->requiredAnimState = 3; item->swapMeshFlags |= 0x200000; - SoundEffect(SFX_TR4_GUIDE_SCARED_ID194, &item->pos, 0); + SoundEffect(SFX_TR4_GUIDE_SCARE, &item->pos, 0); } } else if (enemy->pos.yRot - item->pos.yRot <= ANGLE(2)) diff --git a/TR5Main/Objects/TR4/tr4_knighttemplar.cpp b/TR5Main/Objects/TR4/tr4_knighttemplar.cpp index f820025bb..9f6c9578a 100644 --- a/TR5Main/Objects/TR4/tr4_knighttemplar.cpp +++ b/TR5Main/Objects/TR4/tr4_knighttemplar.cpp @@ -175,7 +175,7 @@ void KnightTemplarControl(short itemNum) mesh->staticNumber >= 50) { ShatterObject(NULL, mesh, -64, LaraItem->roomNumber, 0); - SoundEffect(SFX_TR4_HIT_ROCK_ID347, &item->pos, 0); + SoundEffect(SFX_TR4_HIT_ROCK, &item->pos, 0); mesh->Flags &= ~1; currentFloor->stopper = false; diff --git a/TR5Main/Objects/TR4/tr4_skeleton.cpp b/TR5Main/Objects/TR4/tr4_skeleton.cpp index cea4f0167..53bdd7332 100644 --- a/TR5Main/Objects/TR4/tr4_skeleton.cpp +++ b/TR5Main/Objects/TR4/tr4_skeleton.cpp @@ -573,7 +573,7 @@ void SkeletonControl(short itemNum) if (abs(pos.x - staticMesh->x) < 1024 && abs(pos.z - staticMesh->z) < 1024 && staticMesh->staticNumber >= 50) { ShatterObject(0, staticMesh, -128, LaraItem->roomNumber, 0); - SoundEffect(SFX_TR4_HIT_ROCK_ID347, &item->pos, 0); + SoundEffect(SFX_TR4_HIT_ROCK, &item->pos, 0); staticMesh->Flags &= ~1; floor->stopper = 0; GetFloorHeight(floor, item->pos.xPos, item->pos.yPos, item->pos.zPos); diff --git a/TR5Main/Objects/TR4/tr4_sphinx.cpp b/TR5Main/Objects/TR4/tr4_sphinx.cpp index e518f95c8..78ee33598 100644 --- a/TR5Main/Objects/TR4/tr4_sphinx.cpp +++ b/TR5Main/Objects/TR4/tr4_sphinx.cpp @@ -46,7 +46,7 @@ void SphinxControl(short itemNum) if (mesh->z >> 10 == z >> 10 && mesh->x >> 10 == x >> 10 && mesh->staticNumber >= 50) { ShatterObject(NULL, mesh, -64, item->roomNumber, 0); - SoundEffect(SFX_TR4_HIT_ROCK_ID347, &item->pos, 0); + SoundEffect(SFX_TR4_HIT_ROCK, &item->pos, 0); mesh->Flags &= ~0x100; floor->stopper = false; diff --git a/TR5Main/Objects/Vehicles/minecart.cpp b/TR5Main/Objects/Vehicles/minecart.cpp index 6f265da04..ba749a412 100644 --- a/TR5Main/Objects/Vehicles/minecart.cpp +++ b/TR5Main/Objects/Vehicles/minecart.cpp @@ -703,7 +703,7 @@ static void DoUserInput(ITEM_INFO* v, ITEM_INFO* l, CART_INFO* cart) if ((fh > -STEP_SIZE) && (fh < STEP_SIZE)) { if ((Wibble & 7) == 0) - SoundEffect(SFX_TR3_MINECART_HIT_ID202, &v->pos, 2); + SoundEffect(SFX_TR3_QUAD_FRONT_IMPACT, &v->pos, 2); v->pos.xPos += (TURN_DEATH_VEL * SIN(v->pos.yRot)) >> W2V_SHIFT; v->pos.zPos += (TURN_DEATH_VEL * COS(v->pos.yRot)) >> W2V_SHIFT; diff --git a/TR5Main/Objects/Vehicles/snowmobile.cpp b/TR5Main/Objects/Vehicles/snowmobile.cpp index 6ef3fa712..2e364f8c7 100644 --- a/TR5Main/Objects/Vehicles/snowmobile.cpp +++ b/TR5Main/Objects/Vehicles/snowmobile.cpp @@ -354,9 +354,9 @@ void SkidooAnimation(ITEM_INFO* skidoo, int collide, int dead) if (LaraItem->currentAnimState != SKID_HIT) { if (collide == SKIDOO_HIT_FRONT) - SoundEffect(SFX_TR2_SNOWMOBILE_HITF_ID201, &skidoo->pos, 0); + SoundEffect(SFX_TR2_CLATTER_1, &skidoo->pos, 0); else - SoundEffect(SFX_TR2_SNOWMOBILE_HITB_ID202, &skidoo->pos, 0); + SoundEffect(SFX_TR2_CLATTER_2, &skidoo->pos, 0); LaraItem->animNumber = (short)(Objects[ID_SNOWMOBILE_LARA_ANIMS].animIndex + collide); LaraItem->frameNumber = Anims[LaraItem->animNumber].frameBase; LaraItem->currentAnimState = LaraItem->goalAnimState = SKID_HIT; @@ -429,7 +429,7 @@ void SkidooAnimation(ITEM_INFO* skidoo, int collide, int dead) case SKID_FALL: if (skidoo->fallspeed <= 0 || skinfo->left_fallspeed <= 0 || skinfo->right_fallspeed <= 0) { - SoundEffect(SFX_TR2_SNOWMOBILE_FALL_ID203, &skidoo->pos, 0); + SoundEffect(SFX_TR2_CLATTER_3, &skidoo->pos, 0); LaraItem->goalAnimState = SKID_SIT; } else if (skidoo->fallspeed > DAMAGE_START + DAMAGE_LENGTH) // when Lara let's go, it's terminal @@ -1029,13 +1029,13 @@ int SkidooControl() /* Do engine noise */ skinfo->pitch += (pitch - skinfo->pitch) >> 2; - SoundEffect(SFX_TR2_SNOWMOBILE_MOVE_ID155, &skidoo->pos, 4 + ((0x10000 - (SKIDOO_MAX_SPEED - skinfo->pitch) * 100) << 8)); + SoundEffect(SFX_TR2_SNOWMOBILE_HIGH_ENGINE_RPM, &skidoo->pos, 4 + ((0x10000 - (SKIDOO_MAX_SPEED - skinfo->pitch) * 100) << 8)); } else { skinfo->track_mesh = 0; if (!drive) - SoundEffect(SFX_TR2_SNOWMOBILE_IDLE_ID153, &skidoo->pos, 0); + SoundEffect(SFX_TR2_SNOWMOBILE_IDLE, &skidoo->pos, 0); skinfo->pitch = 0; } skidoo->floor = height; diff --git a/TR5Main/Objects/Vehicles/upv.cpp b/TR5Main/Objects/Vehicles/upv.cpp index 3772628e4..771e3295a 100644 --- a/TR5Main/Objects/Vehicles/upv.cpp +++ b/TR5Main/Objects/Vehicles/upv.cpp @@ -120,7 +120,7 @@ static void FireSubHarpoon(ITEM_INFO* v) AddActiveItem(itemNum); - SoundEffect(SFX_TR3_UPV_HARPOON_SHOT_ID23, &LaraItem->pos, 2); + SoundEffect(SFX_TR3_LARA_HARPOON_FIRE_WATER, &LaraItem->pos, 2); // if lara have ammo, reduce it. if (g_LaraExtra.Weapons[WEAPON_HARPOON_GUN].Ammo[0]) diff --git a/TR5Main/Objects/puzzles.cpp b/TR5Main/Objects/puzzles.cpp index 63f2397e6..e2c1fe106 100644 --- a/TR5Main/Objects/puzzles.cpp +++ b/TR5Main/Objects/puzzles.cpp @@ -131,7 +131,7 @@ void ScalesCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll) } else if (l->frameNumber == Anims[402].frameBase + 51) { - SoundEffect(SFX_TR4_POUR_ID97, &l->pos, 0); + SoundEffect(SFX_TR4_POUR, &l->pos, 0); item->pos.yRot = rotY; } else if (l->frameNumber == Anims[402].frameBase + 74) @@ -238,7 +238,7 @@ void LaraDoubleControl(short itemNum) { ITEM_INFO* item = &Items[itemNum]; - SoundEffect(SFX_TR4_METAL_SCRAPE_LOOP_1_ID12, &item->pos, 0); + SoundEffect(SFX_TR4_METAL_SCRAPE_LOOP, &item->pos, 0); if (CreatureActive(itemNum)) { diff --git a/TR5Main/Objects/trap.cpp b/TR5Main/Objects/trap.cpp index 3ac4957f7..85b2d87f3 100644 --- a/TR5Main/Objects/trap.cpp +++ b/TR5Main/Objects/trap.cpp @@ -300,7 +300,7 @@ void StargateControl(short itemNum) if (TriggerActive(item)) { - SoundEffect(SFX_TR4_STARGATE_SWIRL_ID23, &item->pos, 0); + SoundEffect(SFX_TR4_STARGATE_SWIRL, &item->pos, 0); item->itemFlags[0] = 57521664; AnimateItem(item); } @@ -563,8 +563,8 @@ void SlicerDicerControl(short itemNum) { ITEM_INFO* item = &Items[itemNum]; - SoundEffect(SFX_TR4_METAL_SCRAPE_LOOP_2_ID20, &item->pos, 0); - SoundEffect(SFX_TR4_METAL_SCRAPE_LOOP_1_ID12, &item->pos, 0); + SoundEffect(SFX_TR4_METAL_SCRAPE_LOOP1, &item->pos, 0); + SoundEffect(SFX_TR4_METAL_SCRAPE_LOOP, &item->pos, 0); int factor = (9 * COS(item->triggerFlags) << 9 >> W2V_SHIFT) * COS(item->pos.yRot) >> W2V_SHIFT; @@ -735,7 +735,7 @@ void MineCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll) l->currentAnimState = 8; l->speed = 0; - SoundEffect(SFX_TR4_MINE_EXPLOSION_OVERLAY_ID103, &item->pos, 0); + SoundEffect(SFX_TR4_MINE_EXP_OVERLAY, &item->pos, 0); } } else @@ -772,7 +772,7 @@ void MineCollision(short itemNum, ITEM_INFO* l, COLL_INFO* coll) KillItem(i); if (!(GetRandomControl() & 3)) - SoundEffect(SFX_TR4_MINE_EXPLOSION_OVERLAY_ID103, ¤tItem->pos, 0); + SoundEffect(SFX_TR4_MINE_EXP_OVERLAY, ¤tItem->pos, 0); currentItem->status = ITEM_INVISIBLE; } @@ -846,7 +846,7 @@ void SentryGunControl(short itemNum) { if (info.distance < SQUARE(9 * WALL_SIZE)) { - if (!ObjectInInventory(ID_PUZZLE_ITEM5) && + if (!g_Inventory->IsObjectPresentInInventory(ID_PUZZLE_ITEM5) && !item->itemFlags[0]) { if (info.distance <= SQUARE(2048)) @@ -862,7 +862,7 @@ void SentryGunControl(short itemNum) item->itemFlags[0] = 2; ShotLara(item, &info, &sentryGunBite, creature->jointRotation[0], 5); - SoundEffect(SFX_TR4_AUTOGUNS_ID358, &item->pos, 0); + SoundEffect(SFX_TR4_AUTOGUNS, &item->pos, 0); item->itemFlags[2] += 256; if (item->itemFlags[2] > 6144) diff --git a/TR5Main/Renderer/Render11Helper.cpp b/TR5Main/Renderer/Render11Helper.cpp index cbdbfafe2..6dc44521f 100644 --- a/TR5Main/Renderer/Render11Helper.cpp +++ b/TR5Main/Renderer/Render11Helper.cpp @@ -519,8 +519,6 @@ RendererMesh* Renderer11::getRendererMeshFromTrMesh(RendererObject* obj, short* vertex.UV.y = (texture->vertices[v].y * 256.0f + 0.5f + GET_ATLAS_PAGE_Y(tile)) / (float)TEXTURE_ATLAS_SIZE; vertex.Bone = boneIndex; - if (isJoints && boneIndex != 0 && m_laraSkinJointRemap[boneIndex][indices[v]] != -1) - vertex.Bone = m_laraSkinJointRemap[boneIndex][indices[v]]; if (isHairs) vertex.Bone = indices[v]; @@ -616,8 +614,6 @@ RendererMesh* Renderer11::getRendererMeshFromTrMesh(RendererObject* obj, short* vertex.UV.y = (texture->vertices[v].y * 256.0f + 0.5f + GET_ATLAS_PAGE_Y(tile)) / (float)TEXTURE_ATLAS_SIZE; vertex.Bone = boneIndex; - if (isJoints && boneIndex != 0 && m_laraSkinJointRemap[boneIndex][indices[v]] != -1) - vertex.Bone = m_laraSkinJointRemap[boneIndex][indices[v]]; if (isHairs) vertex.Bone = indices[v]; diff --git a/TR5Main/Renderer/Renderer11.h b/TR5Main/Renderer/Renderer11.h index c736159f4..c301e034a 100644 --- a/TR5Main/Renderer/Renderer11.h +++ b/TR5Main/Renderer/Renderer11.h @@ -764,9 +764,6 @@ private: IndexBuffer* m_staticsIndexBuffer; vector m_rooms; Matrix m_hairsMatrices[12]; - short m_normalLaraSkinJointRemap[15][32]; - short m_youngLaraSkinJointRemap[15][32]; - short m_laraSkinJointRemap[15][32]; short m_numHairVertices; short m_numHairIndices; vector m_hairVertices; diff --git a/TR5Main/Renderer/Renderer11Compatibility.cpp b/TR5Main/Renderer/Renderer11Compatibility.cpp index c3fb7ffe0..028a91f53 100644 --- a/TR5Main/Renderer/Renderer11Compatibility.cpp +++ b/TR5Main/Renderer/Renderer11Compatibility.cpp @@ -64,15 +64,6 @@ bool Renderer11::PrepareDataForTheRenderer() int blockX = 0; int blockY = 0; - if (g_GameFlow->GetLevel(CurrentLevel)->LaraType == LARA_YOUNG) - { - memcpy(m_laraSkinJointRemap, m_youngLaraSkinJointRemap, 15 * 32 * 2); - } - else - { - memcpy(m_laraSkinJointRemap, m_normalLaraSkinJointRemap, 15 * 32 * 2); - } - for (int p = 0; p < NumTexturePages; p++) { for (int y = 0; y < 256; y++) @@ -594,6 +585,8 @@ bool Renderer11::PrepareDataForTheRenderer() // Fix Lara skin joints and hairs if (MoveablesIds[i] == ID_LARA_SKIN_JOINTS) { + int bonesToCheck[2] = { 0,0 }; + RendererObject* objSkin = m_moveableObjects[ID_LARA_SKIN]; for (int j = 1; j < obj->nmeshes; j++) @@ -601,17 +594,24 @@ bool Renderer11::PrepareDataForTheRenderer() RendererMesh* jointMesh = moveable->ObjectMeshes[j]; RendererBone* jointBone = moveable->LinearizedBones[j]; + bonesToCheck[0] = jointBone->Parent->Index; + bonesToCheck[1] = j; + for (int b1 = 0; b1 < NUM_BUCKETS; b1++) { RendererBucket* jointBucket = &jointMesh->Buckets[b1]; + for (int v1 = 0; v1 < jointBucket->Vertices.size(); v1++) { RendererVertex* jointVertex = &jointBucket->Vertices[v1]; - if (jointVertex->Bone != j) - { - RendererMesh* skinMesh = objSkin->ObjectMeshes[jointVertex->Bone]; - RendererBone* skinBone = objSkin->LinearizedBones[jointVertex->Bone]; + bool done = false; + + for (int k = 0; k < 2; k++) + { + RendererMesh* skinMesh = objSkin->ObjectMeshes[bonesToCheck[k]]; + RendererBone* skinBone = objSkin->LinearizedBones[bonesToCheck[k]]; + for (int b2 = 0; b2 < NUM_BUCKETS; b2++) { RendererBucket* skinBucket = &skinMesh->Buckets[b2]; @@ -629,12 +629,21 @@ bool Renderer11::PrepareDataForTheRenderer() if (abs(x1 - x2) < 2 && abs(y1 - y2) < 2 && abs(z1 - z2) < 2) { + jointVertex->Bone = bonesToCheck[k]; jointVertex->Position.x = skinVertex->Position.x; jointVertex->Position.y = skinVertex->Position.y; jointVertex->Position.z = skinVertex->Position.z; + done = true; + break; } } + + if (done) + break; } + + if (done) + break; } } } diff --git a/TR5Main/Renderer/Renderer11Init.cpp b/TR5Main/Renderer/Renderer11Init.cpp index 9eb02d92a..27511a8f2 100644 --- a/TR5Main/Renderer/Renderer11Init.cpp +++ b/TR5Main/Renderer/Renderer11Init.cpp @@ -444,184 +444,5 @@ bool Renderer11::Create() void Renderer11::initialiseHairRemaps() { - memset(m_normalLaraSkinJointRemap, -1, 15 * 32 * 2); - memset(m_youngLaraSkinJointRemap, -1, 15 * 32 * 2); - - // Normal Lara - m_normalLaraSkinJointRemap[1][0] = 0; - m_normalLaraSkinJointRemap[1][1] = 0; - m_normalLaraSkinJointRemap[1][2] = 0; - m_normalLaraSkinJointRemap[1][3] = 0; - m_normalLaraSkinJointRemap[1][4] = 0; - m_normalLaraSkinJointRemap[1][5] = 0; - - m_normalLaraSkinJointRemap[2][0] = 1; - m_normalLaraSkinJointRemap[2][1] = 1; - m_normalLaraSkinJointRemap[2][2] = 1; - m_normalLaraSkinJointRemap[2][3] = 1; - m_normalLaraSkinJointRemap[2][4] = 1; - - m_normalLaraSkinJointRemap[3][4] = 2; - m_normalLaraSkinJointRemap[3][5] = 2; - m_normalLaraSkinJointRemap[3][6] = 2; - m_normalLaraSkinJointRemap[3][7] = 2; - - m_normalLaraSkinJointRemap[4][0] = 0; - m_normalLaraSkinJointRemap[4][1] = 0; - m_normalLaraSkinJointRemap[4][2] = 0; - m_normalLaraSkinJointRemap[4][3] = 0; - m_normalLaraSkinJointRemap[4][4] = 0; - m_normalLaraSkinJointRemap[4][5] = 0; - - m_normalLaraSkinJointRemap[5][0] = 4; - m_normalLaraSkinJointRemap[5][1] = 4; - m_normalLaraSkinJointRemap[5][2] = 4; - m_normalLaraSkinJointRemap[5][3] = 4; - m_normalLaraSkinJointRemap[5][4] = 4; - - m_normalLaraSkinJointRemap[6][4] = 5; - m_normalLaraSkinJointRemap[6][5] = 5; - m_normalLaraSkinJointRemap[6][6] = 5; - m_normalLaraSkinJointRemap[6][7] = 5; - - m_normalLaraSkinJointRemap[7][0] = 0; - m_normalLaraSkinJointRemap[7][1] = 0; - m_normalLaraSkinJointRemap[7][2] = 0; - m_normalLaraSkinJointRemap[7][3] = 0; - m_normalLaraSkinJointRemap[7][4] = 0; - m_normalLaraSkinJointRemap[7][5] = 0; - - m_normalLaraSkinJointRemap[8][6] = 7; - m_normalLaraSkinJointRemap[8][7] = 7; - m_normalLaraSkinJointRemap[8][8] = 7; - m_normalLaraSkinJointRemap[8][9] = 7; - m_normalLaraSkinJointRemap[8][10] = 7; - m_normalLaraSkinJointRemap[8][11] = 7; - - m_normalLaraSkinJointRemap[9][5] = 8; - m_normalLaraSkinJointRemap[9][6] = 8; - m_normalLaraSkinJointRemap[9][7] = 8; - m_normalLaraSkinJointRemap[9][8] = 8; - m_normalLaraSkinJointRemap[9][9] = 8; - - m_normalLaraSkinJointRemap[10][0] = 9; - m_normalLaraSkinJointRemap[10][1] = 9; - m_normalLaraSkinJointRemap[10][2] = 9; - m_normalLaraSkinJointRemap[10][3] = 9; - m_normalLaraSkinJointRemap[10][4] = 9; - - m_normalLaraSkinJointRemap[11][6] = 7; - m_normalLaraSkinJointRemap[11][7] = 7; - m_normalLaraSkinJointRemap[11][8] = 7; - m_normalLaraSkinJointRemap[11][9] = 7; - m_normalLaraSkinJointRemap[11][10] = 7; - m_normalLaraSkinJointRemap[11][11] = 7; - - m_normalLaraSkinJointRemap[12][5] = 11; - m_normalLaraSkinJointRemap[12][6] = 11; - m_normalLaraSkinJointRemap[12][7] = 11; - m_normalLaraSkinJointRemap[12][8] = 11; - m_normalLaraSkinJointRemap[12][9] = 11; - - m_normalLaraSkinJointRemap[13][0] = 12; - m_normalLaraSkinJointRemap[13][1] = 12; - m_normalLaraSkinJointRemap[13][2] = 12; - m_normalLaraSkinJointRemap[13][3] = 12; - m_normalLaraSkinJointRemap[13][4] = 12; - - m_normalLaraSkinJointRemap[14][6] = 7; - m_normalLaraSkinJointRemap[14][7] = 7; - m_normalLaraSkinJointRemap[14][8] = 7; - m_normalLaraSkinJointRemap[14][9] = 7; - m_normalLaraSkinJointRemap[14][10] = 7; - m_normalLaraSkinJointRemap[14][11] = 7; - - // Young Lara - m_youngLaraSkinJointRemap[1][0] = 0; // Left up leg - m_youngLaraSkinJointRemap[1][1] = 0; - m_youngLaraSkinJointRemap[1][2] = 0; - m_youngLaraSkinJointRemap[1][3] = 0; - m_youngLaraSkinJointRemap[1][4] = 0; - m_youngLaraSkinJointRemap[1][5] = 0; - - m_youngLaraSkinJointRemap[2][0] = 1; // Bottom left leg - m_youngLaraSkinJointRemap[2][1] = 1; - m_youngLaraSkinJointRemap[2][2] = 1; - m_youngLaraSkinJointRemap[2][3] = 1; - m_youngLaraSkinJointRemap[2][4] = 1; - - m_youngLaraSkinJointRemap[3][0] = 2; // Left foot - m_youngLaraSkinJointRemap[3][1] = 2; - m_youngLaraSkinJointRemap[3][2] = 2; - m_youngLaraSkinJointRemap[3][3] = 2; - - m_youngLaraSkinJointRemap[4][6] = 0; // Right upper leg - m_youngLaraSkinJointRemap[4][7] = 0; - m_youngLaraSkinJointRemap[4][8] = 0; - m_youngLaraSkinJointRemap[4][9] = 0; - m_youngLaraSkinJointRemap[4][10] = 0; - m_youngLaraSkinJointRemap[4][11] = 0; - - m_youngLaraSkinJointRemap[5][0] = 4; // Right bottom leg - m_youngLaraSkinJointRemap[5][1] = 4; - m_youngLaraSkinJointRemap[5][2] = 4; - m_youngLaraSkinJointRemap[5][3] = 4; - m_youngLaraSkinJointRemap[5][4] = 4; - - m_youngLaraSkinJointRemap[6][0] = 5; // Right foot - m_youngLaraSkinJointRemap[6][1] = 5; - m_youngLaraSkinJointRemap[6][2] = 5; - m_youngLaraSkinJointRemap[6][3] = 5; - - m_youngLaraSkinJointRemap[7][0] = 0; // Torso - m_youngLaraSkinJointRemap[7][1] = 0; - m_youngLaraSkinJointRemap[7][2] = 0; - m_youngLaraSkinJointRemap[7][3] = 0; - m_youngLaraSkinJointRemap[7][4] = 0; - m_youngLaraSkinJointRemap[7][5] = 0; - - m_youngLaraSkinJointRemap[8][0] = 7; // Left upper arm - m_youngLaraSkinJointRemap[8][1] = 7; - m_youngLaraSkinJointRemap[8][2] = 7; - m_youngLaraSkinJointRemap[8][3] = 7; - m_youngLaraSkinJointRemap[8][4] = 7; - m_youngLaraSkinJointRemap[8][5] = 7; - - m_youngLaraSkinJointRemap[9][5] = 8; // Left bottom arm - m_youngLaraSkinJointRemap[9][6] = 8; - m_youngLaraSkinJointRemap[9][7] = 8; - m_youngLaraSkinJointRemap[9][8] = 8; - m_youngLaraSkinJointRemap[9][9] = 8; - - m_youngLaraSkinJointRemap[10][0] = 9; // Left hand - m_youngLaraSkinJointRemap[10][1] = 9; - m_youngLaraSkinJointRemap[10][2] = 9; - m_youngLaraSkinJointRemap[10][3] = 9; - m_youngLaraSkinJointRemap[10][4] = 9; - - m_youngLaraSkinJointRemap[11][0] = 7; // Right upper arm - m_youngLaraSkinJointRemap[11][1] = 7; - m_youngLaraSkinJointRemap[11][2] = 7; - m_youngLaraSkinJointRemap[11][3] = 7; - m_youngLaraSkinJointRemap[11][4] = 7; - m_youngLaraSkinJointRemap[11][5] = 7; - - m_youngLaraSkinJointRemap[12][5] = 11; // Right low arm - m_youngLaraSkinJointRemap[12][6] = 11; - m_youngLaraSkinJointRemap[12][7] = 11; - m_youngLaraSkinJointRemap[12][8] = 11; - m_youngLaraSkinJointRemap[12][9] = 11; - - m_youngLaraSkinJointRemap[13][0] = 12; // Right arm - m_youngLaraSkinJointRemap[13][1] = 12; - m_youngLaraSkinJointRemap[13][2] = 12; - m_youngLaraSkinJointRemap[13][3] = 12; - m_youngLaraSkinJointRemap[13][4] = 12; - - m_youngLaraSkinJointRemap[14][0] = 7; // Head - m_youngLaraSkinJointRemap[14][1] = 7; - m_youngLaraSkinJointRemap[14][2] = 7; - m_youngLaraSkinJointRemap[14][3] = 7; - m_youngLaraSkinJointRemap[14][4] = 7; - m_youngLaraSkinJointRemap[14][5] = 7; + } diff --git a/TR5Main/Scripting/GameFlowScript.cpp b/TR5Main/Scripting/GameFlowScript.cpp index 09e6a1ceb..033911576 100644 --- a/TR5Main/Scripting/GameFlowScript.cpp +++ b/TR5Main/Scripting/GameFlowScript.cpp @@ -443,7 +443,7 @@ bool GameFlow::DoGameflow() { // First we need to fill some legacy variables in PCTomb5.exe GameScriptLevel* level = Levels[CurrentLevel]; - + //level->LaraType = LARA_YOUNG; CurrentAtmosphere = level->Soundtrack; if (level->Horizon) diff --git a/TR5Main/Specific/roomload.cpp b/TR5Main/Specific/roomload.cpp index 11922bc52..3297e8dcc 100644 --- a/TR5Main/Specific/roomload.cpp +++ b/TR5Main/Specific/roomload.cpp @@ -480,7 +480,7 @@ unsigned __stdcall LoadLevel(void* data) char* filename = (char*)data; LevelDataPtr = NULL; - LevelFilePtr = 0; + LevelFilePtr = NULL; g_Renderer->UpdateProgress(0); @@ -536,7 +536,7 @@ unsigned __stdcall LoadLevel(void* data) LoadItems(); LoadAIObjects(); - LoadDemoData(); + //LoadDemoData(); LoadSamples(); g_Renderer->UpdateProgress(80); @@ -587,6 +587,55 @@ unsigned __stdcall LoadLevel(void* data) return true; } +void LoadSamples() +{ + // Legacy soundmap size was 450, for now let's store new soundmap size into NumDemoData field + SoundMapSize = ReadInt16(); + + if (SoundMapSize == 0) + SoundMapSize = SOUND_LEGACY_SOUNDMAP_SIZE; + + for (int i = 0; i < SoundMapSize; i++) + SampleLUT[i] = ReadInt16(); + + NumSamplesInfos = ReadInt32(); + if (NumSamplesInfos) + { + SampleInfo = (SAMPLE_INFO*)GameMalloc(NumSamplesInfos * sizeof(SAMPLE_INFO)); + ReadBytes(SampleInfo, NumSamplesInfos * sizeof(SAMPLE_INFO)); + + int numSampleIndices = ReadInt32(); + if (numSampleIndices) + { + int numSamples = 0; + ReadFileEx(&numSamples, 1, 4, LevelFilePtr); + //if (feof(LevelFilePtr)) + // return; + + if (numSamples <= 0) + return; + + int uncompressedSize; + int compressedSize; + char* buffer = (char*)malloc(1048576); + + for (int i = 0; i < numSamples; i++) + { + ReadFileEx(&uncompressedSize, 4, 1, LevelFilePtr); + ReadFileEx(&compressedSize, 4, 1, LevelFilePtr); + ReadFileEx(buffer, 1, compressedSize, LevelFilePtr); + Sound_LoadSample(buffer, compressedSize, uncompressedSize, i); + } + + free(buffer); + } + } + else + { + //Log(1, aNoSampleInfos); + } +} + void LoadBoxes() { // Read boxes diff --git a/TR5Main/Specific/roomload.h b/TR5Main/Specific/roomload.h index 90c8144cc..14ab11444 100644 --- a/TR5Main/Specific/roomload.h +++ b/TR5Main/Specific/roomload.h @@ -15,8 +15,8 @@ struct LEB128; #define DoSomethingWithRooms ((void (__cdecl*)()) 0x004774D0) #define FreeItemsStuff ((void (__cdecl*)(int)) 0x00440590) //#define InitialiseClosedDoors ((void (__cdecl*)()) 0x00473600) -#define CreateSkinningData ((void (__cdecl*)()) 0x00456AE0) -#define ProcessMeshData ((void (__cdecl*)(int)) 0x0049A3D0) +//#define CreateSkinningData ((void (__cdecl*)()) 0x00456AE0) +//#define ProcessMeshData ((void (__cdecl*)(int)) 0x0049A3D0) #define ReadFileEx ((int (__cdecl*)(void*, int, int, FILE*)) 0x004E1D20) #define Decompress ((int (__cdecl*)(byte*, byte*, int, int)) 0x004A3EF0) #define ReadRoomOriginal ((int (__cdecl*)(ROOM_INFO*, ROOM_INFO*)) 0x004917D0) @@ -29,7 +29,7 @@ struct LEB128; #define LoadTextureInfos ((void (__cdecl*)()) 0x004A60E0) #define LoadAIObjects ((void (__cdecl*)()) 0x004A67F0) #define LoadDemoData ((void (__cdecl*)()) 0x004A67D0) -#define LoadSamples ((void (__cdecl*)()) 0x004A6880) +//#define LoadSamples ((void (__cdecl*)()) 0x004A6880) #define InitialiseLaraLoad ((void (__cdecl*)(short)) 0x004568C0) #define LoadRooms ((void (__cdecl*)()) 0x004A4DA0) #define InitialiseGameStuff ((void (__cdecl*)()) 0x004778F0) @@ -73,6 +73,7 @@ void LoadSprites(); void GetCarriedItems(); void GetAIPickups(); void LoadBoxes(); +void LoadSamples(); unsigned __stdcall LoadLevel(void* data);