9208 lines
369 KiB
XML
Executable File
9208 lines
369 KiB
XML
Executable File
USING "arcade_cabinet_minigame_common.sch"
|
||
USING "arcade_games_help_text.sch"
|
||
USING "arcade_games_help_text_flow.sch"
|
||
USING "degenatron_games_movie.sch"
|
||
USING "net_arcade_cabinet.sch"
|
||
|
||
//-----------------------
|
||
// CONSTANTS
|
||
//-----------------------
|
||
|
||
// Overscan Constants
|
||
CONST_FLOAT cfGAME_OVERSCAN_MIN_X 300.0
|
||
CONST_FLOAT cfGAME_OVERSCAN_MAX_X 1620.0
|
||
CONST_FLOAT cfGAME_OVERSCAN_MIN_Y 50.0
|
||
CONST_FLOAT cfGAME_OVERSCAN_MAX_Y 1030.0
|
||
CONST_FLOAT cfGAME_OVERSCAN_WIDTH 1320.0
|
||
CONST_FLOAT cfGAME_OVERSCAN_HEIGHT 980.0
|
||
|
||
CONST_FLOAT cfGAME_HUD_MINIMAP_X 600.0
|
||
CONST_FLOAT cfGAME_HUD_MINIMAP_Y 780.0
|
||
CONST_FLOAT cfGAME_HUD_MINIMAP_WIDTH 320.0
|
||
CONST_FLOAT cfGAME_HUD_MINIMAP_HEIGHT 240.0
|
||
|
||
CONST_FLOAT cfGAME_SCREEN_WIDTH 1264.0
|
||
CONST_FLOAT cfGAME_SCREEN_HEIGHT 930.0
|
||
|
||
CONST_FLOAT cfLEFT_SCREEN_LIMIT 250.0
|
||
CONST_FLOAT cfRIGHT_SCREEN_LIMIT 1605.0
|
||
|
||
CONST_FLOAT cfCMHDZ_DEFAULT_ANIM_FRAME_TIME 33.0 //30 FPS
|
||
CONST_FLOAT cfCMHDZ_SLOW_ANIM_FRAME_TIME 165.0 //15 FPS
|
||
|
||
CONST_FLOAT cfCMHDZ_PSA_SCREEN_WIDTH 1260.0
|
||
CONST_FLOAT cfCMHDZ_PSA_SCREEN_HEIGHT 920.0
|
||
|
||
CONST_FLOAT cfCMHDZ_MIN_EDITOR_X_COORD -800.0
|
||
CONST_FLOAT cfCMHDZ_MAX_EDITOR_X_COORD 25000.0
|
||
CONST_FLOAT cfCMHDZ_MIN_EDITOR_Y_COORD -600.0
|
||
CONST_FLOAT cfCMHDZ_MAX_EDITOR_Y_COORD 2500.0
|
||
|
||
// Sprite Size Constants
|
||
CONST_FLOAT cfCMHDZ_ENEMY_SPRITE_WIDTH 164.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_SPRITE_HEIGHT 236.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_THROWING_SPRITE_WIDTH 164.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_THROWING_SPRITE_HEIGHT 236.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_DEAD_SPRITE_WIDTH 164.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_DEAD_SPRITE_HEIGHT 236.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_FOREGROUND_SPRITE_WIDTH 376.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_FOREGROUND_SPRITE_HEIGHT 536.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_FOREGROUND_DEAD_SPRITE_WIDTH 452.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_FOREGROUND_DEAD_SPRITE_HEIGHT 540.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_FOREGROUND_HERD_SPRITE_WIDTH 960.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_FOREGROUND_HERD_SPRITE_HEIGHT 720.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_CART_SPRITE_WIDTH 536.0
|
||
CONST_FLOAT cfCMHDZ_ENEMY_CART_SPRITE_HEIGHT 404.0
|
||
|
||
// BG Constants
|
||
CONST_FLOAT cfCMHDZ_BG_HORIZON_Y_COORD 370.0
|
||
|
||
CONST_FLOAT cfCMHDZ_BG_CITY_SKYLINE_SPRITE_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_BG_CITY_SKYLINE_SPRITE_HEIGHT 180.0
|
||
CONST_FLOAT cfCMHDZ_BG_CITY_TALL_BUILDING_SPRITE_WIDTH 196.0
|
||
CONST_FLOAT cfCMHDZ_BG_CITY_TALL_BUILDING_SPRITE_HEIGHT 280.0
|
||
CONST_FLOAT cfCMHDZ_BG_CITY_SMALL_BUILDING_SPRITE_WIDTH 328.0
|
||
CONST_FLOAT cfCMHDZ_BG_CITY_SMALL_BUILDING_SPRITE_HEIGHT 280.0
|
||
CONST_FLOAT cfCMHDZ_BG_CITY_FENCE_SPRITE_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_BG_CITY_FENCE_SPRITE_HEIGHT 92.0
|
||
CONST_FLOAT cfCMHDZ_BG_CITY_BUILDING_SPACING 340.0
|
||
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD_X 723.750
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD_Y 193.750
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD_GAP 100.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD1_WIDTH 188.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD1_HEIGHT 56.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD2_WIDTH 96.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD2_HEIGHT 32.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD3_WIDTH 112.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD3_HEIGHT 60.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD4_WIDTH 304.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD4_HEIGHT 60.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD5_WIDTH 252.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD5_HEIGHT 20.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD6_WIDTH 140.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD6_HEIGHT 44.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD7_WIDTH 128.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CLOUD7_HEIGHT 44.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_FENCE_SPRITE_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_FENCE_SPRITE_HEIGHT 112.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_ROCKS_SPRITE_WIDTH 40.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_ROCKS_SPRITE_HEIGHT 40.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_TREES_SPRITE_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_TREES_SPRITE_HEIGHT 156.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_TREES_Y 290.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_VAN_SPRITE_WIDTH 184.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_VAN_SPRITE_HEIGHT 144.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_VAN_SPACING 256.0
|
||
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CARS_SPRITE_WIDTH 424.0
|
||
CONST_FLOAT cfCMHDZ_BG_SCRAPYARD_CARS_SPRITE_HEIGHT 128.0
|
||
|
||
CONST_FLOAT cfCMHDZ_BG_THEMEPARK_SKYLINE_SPRITE_WIDTH 1232.0
|
||
CONST_FLOAT cfCMHDZ_BG_THEMEPARK_SKYLINE_SPRITE_HEIGHT 212.0
|
||
CONST_FLOAT cfCMHDZ_BG_THEMEPARK_TREES_SPRITE_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_BG_THEMEPARK_TREES_SPRITE_HEIGHT 156.0
|
||
CONST_FLOAT cfCMHDZ_BG_THEMEPARK_TREE_1_SPRITE_WIDTH 236.0
|
||
CONST_FLOAT cfCMHDZ_BG_THEMEPARK_TREE_1_SPRITE_HEIGHT 392.0
|
||
CONST_FLOAT cfCMHDZ_BG_THEMEPARK_TREE_2_SPRITE_WIDTH 200.0
|
||
CONST_FLOAT cfCMHDZ_BG_THEMEPARK_TREE_2_SPRITE_HEIGHT 238.0
|
||
|
||
CONST_FLOAT cfCMHDZ_MOUNTAIN_1_SPRITE_WIDTH 1300.0
|
||
CONST_FLOAT cfCMHDZ_MOUNTAIN_1_SPRITE_HEIGHT 112.0
|
||
|
||
CONST_FLOAT cfCMHDZ_MOUNTAIN_1_SPRITE_X 788.125
|
||
CONST_FLOAT cfCMHDZ_MOUNTAIN_1_SPRITE_Y 315.0
|
||
|
||
CONST_FLOAT cfCMHDZ_MOUNTAIN_2_SPRITE_WIDTH 272.0
|
||
CONST_FLOAT cfCMHDZ_MOUNTAIN_2_SPRITE_HEIGHT 112.0
|
||
|
||
// Asset Size
|
||
CONST_FLOAT cfCMHDZ_CITY_BUILDING_SPRITE_WIDTH 468.0
|
||
CONST_FLOAT cfCMHDZ_CITY_BUILDING_SPRITE_HEIGHT 444.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SCRAPYARD_MD_VAN_SPRITE_WIDTH 408.0
|
||
CONST_FLOAT cfCMHDZ_SCRAPYARD_MD_VAN_SPRITE_HEIGHT 320.0
|
||
CONST_FLOAT cfCMHDZ_SCRAPYARD_MD_CAR_SPRITE_WIDTH 500.0
|
||
CONST_FLOAT cfCMHDZ_SCRAPYARD_MD_CAR_SPRITE_HEIGHT 212.0
|
||
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_MD_BED_SPRITE_WIDTH 340.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_MD_BED_SPRITE_HEIGHT 164.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_MD_WHEELCHAIR_SPRITE_WIDTH 156.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_MD_WHEELCHAIR_SPRITE_HEIGHT 148.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_MD_MATTRESS_SPRITE_WIDTH 452.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_MD_MATTRESS_SPRITE_HEIGHT 220.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_LIGHT_SPRITE_WIDTH 236.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_LIGHT_SPRITE_HEIGHT 68.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_RADIATOR_SPRITE_WIDTH 160.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_RADIATOR_SPRITE_HEIGHT 92.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_DOOR_SPRITE_WIDTH 150.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_DOOR_SPRITE_HEIGHT 204.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_GRAF_1_SPRITE_WIDTH 100.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_GRAF_1_SPRITE_HEIGHT 112.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_GRAF_2_SPRITE_WIDTH 184.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_GRAF_2_SPRITE_HEIGHT 92.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_GRAF_3_SPRITE_WIDTH 148.0
|
||
CONST_FLOAT cfCMHDZ_ASYLUM_GRAF_3_SPRITE_HEIGHT 100.0
|
||
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_BUILDING_1_SPRITE_WIDTH 408.0
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_BUILDING_1_SPRITE_HEIGHT 400.0
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_BUILDING_3_SPRITE_WIDTH 596.0
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_BUILDING_3_SPRITE_HEIGHT 452.0
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_CLOWNBOARD_1_SPRITE_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_CLOWNBOARD_1_SPRITE_HEIGHT 344.0
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_CLOWNBOARD_2_SPRITE_WIDTH 436.0
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_CLOWNBOARD_2_SPRITE_HEIGHT 464.0
|
||
|
||
CONST_FLOAT cfCMHDZ_ROCK_TOP_SPRITE_WIDTH 284.0
|
||
CONST_FLOAT cfCMHDZ_ROCK_TOP_SPRITE_HEIGHT 100.0
|
||
CONST_FLOAT cfCMHDZ_WOODENSTRUCTURE_SPRITE_WIDTH 312.0
|
||
CONST_FLOAT cfCMHDZ_WOODENSTRUCTURE_SPRITE_HEIGHT 304.0
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_MINECART_TRACK_SPRITE_WIDTH 284.0
|
||
CONST_FLOAT cfCMHDZ_THEMEPARK_MINECART_TRACK_SPRITE_HEIGHT 36.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_DOOR_01_SPRITE_WIDTH 140.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_DOOR_01_SPRITE_HEIGHT 210.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_DOOR_02_SPRITE_WIDTH 140.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_DOOR_02_SPRITE_HEIGHT 210.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_WINDOW_SPRITE_WIDTH 200.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_WINDOW_SPRITE_HEIGHT 200.0
|
||
CONST_FLOAT cfCMHDZ_BACKGROUND_TOMBS_SPRITE_WIDTH 540.0
|
||
CONST_FLOAT cfCMHDZ_BACKGROUND_TOMBS_SPRITE_HEIGHT 84.0
|
||
|
||
CONST_FLOAT cfCMHDZ_CACTUS_1_SPRITE_WIDTH 168.0
|
||
CONST_FLOAT cfCMHDZ_CACTUS_1_SPRITE_HEIGHT 288.0
|
||
CONST_FLOAT cfCMHDZ_CACTUS_2_SPRITE_WIDTH 168.0
|
||
CONST_FLOAT cfCMHDZ_CACTUS_2_SPRITE_HEIGHT 408.0
|
||
CONST_FLOAT cfCMHDZ_CACTUS_3_SPRITE_WIDTH 120.0
|
||
CONST_FLOAT cfCMHDZ_CACTUS_3_SPRITE_HEIGHT 540.0
|
||
|
||
|
||
CONST_FLOAT cfCMHDZ_CACTUS_9_SPRITE_WIDTH 112.0
|
||
CONST_FLOAT cfCMHDZ_CACTUS_9_SPRITE_HEIGHT 236.0
|
||
CONST_FLOAT cfCMHDZ_SCRAPYARD_PROP_FENCE_SPRITE_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_SCRAPYARD_PROP_FENCE_SPRITE_HEIGHT 112.0
|
||
CONST_FLOAT cfCMHDZ_SCRAPYARD_BG_CARS_SPRITE_WIDTH 428.0
|
||
CONST_FLOAT cfCMHDZ_SCRAPYARD_BG_CARS_SPRITE_HEIGHT 128.0
|
||
|
||
CONST_FLOAT cfCMHDZ_BUILDING_1_SPRITE_WIDTH 564.0
|
||
CONST_FLOAT cfCMHDZ_BUILDING_1_SPRITE_HEIGHT 452.0
|
||
CONST_FLOAT cfCMHDZ_BUILDING_2_SPRITE_WIDTH 412.0
|
||
CONST_FLOAT cfCMHDZ_BUILDING_2_SPRITE_HEIGHT 400.0
|
||
CONST_FLOAT cfCMHDZ_FENCE_SPRITE_WIDTH 376.0
|
||
CONST_FLOAT cfCMHDZ_FENCE_SPRITE_HEIGHT 196.0
|
||
//CONST_FLOAT cfCMHDZ_FENCE_SMALL_SPRITE_WIDTH 92.0
|
||
//CONST_FLOAT cfCMHDZ_FENCE_SMALL_SPRITE_HEIGHT 24.0
|
||
CONST_FLOAT cfCMHDZ_ROCKS_SPRITE_WIDTH 36.0
|
||
CONST_FLOAT cfCMHDZ_ROCKS_SPRITE_HEIGHT 36.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_ROCKS_SPRITE_WIDTH 40.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_ROCKS_SPRITE_HEIGHT 40.0
|
||
|
||
CONST_FLOAT cfCMHDZ_FOREST_TREE_1_SPRITE_WIDTH 472.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_TREE_1_SPRITE_HEIGHT 784.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_TREE_2_SPRITE_WIDTH 400.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_TREE_2_SPRITE_HEIGHT 656.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_TREE_3_SPRITE_WIDTH 236.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_TREE_3_SPRITE_HEIGHT 392.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_TREE_4_SPRITE_WIDTH 200.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_TREE_4_SPRITE_HEIGHT 238.0
|
||
|
||
CONST_FLOAT cfCMHDZ_FOREST_GRASS_SPRITE_WIDTH 288.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_GRASS_SPRITE_HEIGHT 204.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_BUSH_SM_SPRITE_WIDTH 120.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_BUSH_SM_SPRITE_HEIGHT 80.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_BUSH_LG_SPRITE_WIDTH 212.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_BUSH_LG_SPRITE_HEIGHT 140.0
|
||
CONST_FLOAT cfCMHDZ_ROCK_SMALL_SPRITE_WIDTH 164.0
|
||
CONST_FLOAT cfCMHDZ_ROCK_SMALL_SPRITE_HEIGHT 92.0
|
||
CONST_FLOAT cfCMHDZ_ROCK_LARGE_SPRITE_WIDTH 288.0
|
||
CONST_FLOAT cfCMHDZ_ROCK_LARGE_SPRITE_HEIGHT 160.0
|
||
CONST_FLOAT cfCMHDZ_FOREGROUND_TRASH_SPRITE_WIDTH 680.0
|
||
CONST_FLOAT cfCMHDZ_FOREGROUND_TRASH_SPRITE_HEIGHT 240.0
|
||
CONST_FLOAT cfCMHDZ_BARRIER_SPRITE_WIDTH 336.0
|
||
CONST_FLOAT cfCMHDZ_BARRIER_SPRITE_HEIGHT 208.0
|
||
CONST_FLOAT cfCMHDZ_BARRELS_SPRITE_WIDTH 236.0
|
||
CONST_FLOAT cfCMHDZ_BARRELS_SPRITE_HEIGHT 184.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_HANGING_BODYBAG_1_SPRITE_WIDTH 208.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_HANGING_BODYBAG_1_SPRITE_HEIGHT 440.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_HANGING_BODYBAG_2_SPRITE_WIDTH 104.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_HANGING_BODYBAG_2_SPRITE_HEIGHT 504.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_HANGING_BODYBAG_3_SPRITE_WIDTH 200.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_HANGING_BODYBAG_3_SPRITE_HEIGHT 504.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_BODYBAG_1_SPRITE_WIDTH 328.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_BODYBAG_1_SPRITE_HEIGHT 144.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_BODYBAG_2_SPRITE_WIDTH 328.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_BODYBAG_2_SPRITE_HEIGHT 100.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_HANGING_BODYBAG_6_SPRITE_WIDTH 140.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_HANGING_BODYBAG_6_SPRITE_HEIGHT 140.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_MEATGRINDER_SPRITE_WIDTH 504.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PROP_MEATGRINDER_SPRITE_HEIGHT 476.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PIG_SPRITE_WIDTH 188.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_PIG_SPRITE_HEIGHT 456.0
|
||
CONST_FLOAT cfCMHDZ_WATER_TOWER_SPRITE_WIDTH 360.0
|
||
CONST_FLOAT cfCMHDZ_WATER_TOWER_SPRITE_HEIGHT 376.0
|
||
//CONST_FLOAT cfCMHDZ_TNT_CRATE_SPRITE_WIDTH 192.0
|
||
//CONST_FLOAT cfCMHDZ_TNT_CRATE_SPRITE_HEIGHT 124.0
|
||
CONST_FLOAT cfCMHDZ_TNT_BARREL_1_SPRITE_WIDTH 140.0
|
||
CONST_FLOAT cfCMHDZ_TNT_BARREL_1_SPRITE_HEIGHT 176.0
|
||
CONST_FLOAT cfCMHDZ_TNT_BARREL_2_SPRITE_WIDTH 176.0
|
||
CONST_FLOAT cfCMHDZ_TNT_BARREL_2_SPRITE_HEIGHT 140.0
|
||
|
||
CONST_FLOAT cfCMHDZ_COFFIN_ENEMY_SPRITE_WIDTH 200.0
|
||
CONST_FLOAT cfCMHDZ_COFFIN_ENEMY_SPRITE_HEIGHT 248.0
|
||
|
||
CONST_FLOAT cfCMHDZ_TRASHBAG_BIG_SPRITE_WIDTH 132.0
|
||
CONST_FLOAT cfCMHDZ_TRASHBAG_BIG_SPRITE_HEIGHT 140.0
|
||
CONST_FLOAT cfCMHDZ_TRASHBAG_SMALL_SPRITE_WIDTH 76.0
|
||
CONST_FLOAT cfCMHDZ_TRASHBAG_SMALL_SPRITE_HEIGHT 80.0
|
||
CONST_FLOAT cfCMHDZ_TRASHCAN_BIG_SPRITE_WIDTH 132.0
|
||
CONST_FLOAT cfCMHDZ_TRASHCAN_BIG_SPRITE_HEIGHT 168.0
|
||
CONST_FLOAT cfCMHDZ_TRASHCAN_SMALL_SPRITE_WIDTH 76.0
|
||
CONST_FLOAT cfCMHDZ_TRASHCAN_SMALL_SPRITE_HEIGHT 96.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_BULLET_1_WIDTH 30.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_BULLET_1_HEIGHT 8.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_IMPACT_WIDTH 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_IMPACT_HEIGHT 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_EXPLOSION_WIDTH 408.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_EXPLOSION_HEIGHT 268.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_GANG_SHOT_WIDTH 128.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_GANG_SHOT_HEIGHT 128.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_DAMAGE_WIDTH 504.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_DAMAGE_HEIGHT 460.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_BEAR_DAMAGE_WIDTH 392.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_BEAR_DAMAGE_HEIGHT 612.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_GANG_THROWN_EXPLOSION_SMALL_WIDTH 412.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_GANG_THROWN_EXPLOSION_SMALL_HEIGHT 344.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_GANG_THROWN_EXPLOSION_LARGE_WIDTH 572.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_GANG_THROWN_EXPLOSION_LARGE_HEIGHT 504.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_LOOT_CRATE_EXPLOSION_WIDTH 356.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_LOOT_CRATE_EXPLOSION_HEIGHT 228.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FEATHERS_WIDTH 204.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FEATHERS_HEIGHT 116.0
|
||
|
||
CONST_INT ciCMHDZ_DYNAMITE_SMALL_WIDTH 76
|
||
CONST_INT ciCMHDZ_DYNAMITE_SMALL_HEIGHT 76
|
||
CONST_INT ciCMHDZ_DYNAMITE_MEDIUM_WIDTH 128
|
||
CONST_INT ciCMHDZ_DYNAMITE_MEDIUM_HEIGHT 128
|
||
CONST_INT ciCMHDZ_DYNAMITE_LARGE_WIDTH 284
|
||
CONST_INT ciCMHDZ_DYNAMITE_LARGE_HEIGHT 276
|
||
|
||
CONST_INT ciCMHDZ_MOLOTOV_SMALL_WIDTH 100
|
||
CONST_INT ciCMHDZ_MOLOTOV_SMALL_HEIGHT 60
|
||
CONST_INT ciCMHDZ_MOLOTOV_MEDIUM_WIDTH 164
|
||
CONST_INT ciCMHDZ_MOLOTOV_MEDIUM_HEIGHT 96
|
||
CONST_INT ciCMHDZ_MOLOTOV_LARGE_WIDTH 364
|
||
CONST_INT ciCMHDZ_MOLOTOV_LARGE_HEIGHT 208
|
||
|
||
CONST_INT ciCMHDZ_BRICK_SMALL_WIDTH 88
|
||
CONST_INT ciCMHDZ_BRICK_SMALL_HEIGHT 92
|
||
CONST_INT ciCMHDZ_BRICK_MEDIUM_WIDTH 128
|
||
CONST_INT ciCMHDZ_BRICK_MEDIUM_HEIGHT 116
|
||
CONST_INT ciCMHDZ_BRICK_LARGE_WIDTH 280
|
||
CONST_INT ciCMHDZ_BRICK_LARGE_HEIGHT 296
|
||
|
||
CONST_INT ciCMHDZ_NAILBOMB_SMALL_WIDTH 84
|
||
CONST_INT ciCMHDZ_NAILBOMB_SMALL_HEIGHT 76
|
||
CONST_INT ciCMHDZ_NAILBOMB_MEDIUM_WIDTH 148
|
||
CONST_INT ciCMHDZ_NAILBOMB_MEDIUM_HEIGHT 156
|
||
CONST_INT ciCMHDZ_NAILBOMB_LARGE_WIDTH 272
|
||
CONST_INT ciCMHDZ_NAILBOMB_LARGE_HEIGHT 244
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_MARKER_WIDTH 104.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_MARKER_HEIGHT 104.0
|
||
|
||
//CONST_FLOAT cfCMHDZ_SPEECH_SPRITE_WIDTH 116.0
|
||
//CONST_FLOAT cfCMHDZ_SPEECH_SPRITE_HEIGHT 96.0
|
||
|
||
CONST_FLOAT cfCMHDZ_ITEM_HEALTH_WIDTH 56.0
|
||
CONST_FLOAT cfCMHDZ_ITEM_HEALTH_HEIGHT 80.0
|
||
|
||
CONST_FLOAT cfCMHDZ_ITEM_SHIELD_WIDTH 56.0
|
||
CONST_FLOAT cfCMHDZ_ITEM_SHIELD_HEIGHT 80.0
|
||
|
||
CONST_FLOAT cfCMHDZ_ITEM_BUFF_WIDTH 56.0
|
||
CONST_FLOAT cfCMHDZ_ITEM_BUFF_HEIGHT 80.0
|
||
|
||
CONST_FLOAT cfCMHDZ_PICKUP_THROWABLE_WIDTH 100.0
|
||
CONST_FLOAT cfCMHDZ_PICKUP_THROWABLE_HEIGHT 64.0
|
||
|
||
CONST_FLOAT cfCMHDZ_PICKUP_COFFIN_OFFSET_X 21.375
|
||
CONST_FLOAT cfCMHDZ_PICKUP_COFFIN_OFFSET_Y 104.0
|
||
|
||
CONST_FLOAT cfCMHDZ_BCAKGROUND_TILE_WIDTH 276.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL1_CLOUD_X 754.000
|
||
CONST_FLOAT cfCMHDZ_LEVEL1_CLOUD_Y 152.500
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD_X 723.750
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD_Y 193.750
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD_GAP 100.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD_X 723.750
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD_Y 193.750
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD_GAP 100.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL1_CLOUD_WIDTH 1232.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL1_CLOUD_HEIGHT 136.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD1_WIDTH 188.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD1_HEIGHT 56.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD2_WIDTH 96.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD2_HEIGHT 32.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD3_WIDTH 112.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD3_HEIGHT 60.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD4_WIDTH 304.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD4_HEIGHT 60.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD5_WIDTH 252.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD5_HEIGHT 20.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD6_WIDTH 140.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD6_HEIGHT 44.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD7_WIDTH 128.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL2_CLOUD7_HEIGHT 44.0
|
||
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD1_WIDTH 188.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD1_HEIGHT 56.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD2_WIDTH 96.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD2_HEIGHT 32.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD3_WIDTH 112.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD3_HEIGHT 60.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD4_WIDTH 304.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD4_HEIGHT 60.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD5_WIDTH 252.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD5_HEIGHT 20.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD6_WIDTH 140.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD6_HEIGHT 44.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD7_WIDTH 128.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_CLOUD7_HEIGHT 44.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_BACKGROUND_TREES_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_BACKGROUND_TREES_HEIGHT 156.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_BACKGROUND_TREES_X 276.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL3_BACKGROUND_TREES_Y 290.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL4_BACKGROUND_SURFACE_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL4_BACKGROUND_SURFACE_HEIGHT 100.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL4_BACKGROUND_SURFACE_X 276.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL4_BACKGROUND_SURFACE_Y 263.125
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL4_BACKGROUND_ROCKS_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL4_BACKGROUND_ROCKS_HEIGHT 120.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL4_BACKGROUND_ROCKS_X 276.000
|
||
CONST_FLOAT cfCMHDZ_LEVEL4_BACKGROUND_ROCKS_Y 306.375
|
||
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_LIGHTS_WIDTH 636.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_LIGHTS_HEIGHT 68.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_LIGHT_X 1604.0
|
||
CONST_FLOAT cfCMHDZ_SLAUGHTERHOUSE_LIGHT_Y 100.0
|
||
|
||
CONST_FLOAT cfCMHDZ_BG_ENEMY_1_X_OFFSET -20.0
|
||
CONST_FLOAT cfCMHDZ_BG_ENEMY_1_Y_OFFSET -30.0
|
||
CONST_FLOAT cfCMHDZ_FG_ENEMY_1_X_OFFSET 18.0
|
||
CONST_FLOAT cfCMHDZ_FG_ENEMY_1_Y_OFFSET 58.0
|
||
|
||
// Frontend Constants
|
||
CONST_FLOAT cfCMHDZ_HUD_MIN_X_POS 390.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_POSTER_MENU_WIDTH 276.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_POSTER_MENU_HEIGHT 376.0
|
||
//CONST_FLOAT cfCMHDZ_SPRITE_POSTER_SELECTION_WIDTH 500.0
|
||
//CONST_FLOAT cfCMHDZ_SPRITE_POSTER_SELECTION_HEIGHT 600.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_STAR_ICON_WIDTH 44.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_STAR_ICON_HEIGHT 48.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_HP_WIDTH 216.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_HP_HEIGHT 40.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_AMMO_WIDTH 64.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_AMMO_HEIGHT 64.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PISTOL_AMMO_SINGLE_WIDTH 24.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PISTOL_AMMO_SINGLE_HEIGHT 86.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RIFLE_AMMO_SINGLE_WIDTH 28.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RIFLE_AMMO_SINGLE_HEIGHT 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_SHOTGUN_AMMO_SINGLE_WIDTH 28.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_SHOTGUN_AMMO_SINGLE_HEIGHT 80.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PISTOL_AMMO_CLIP_WIDTH 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PISTOL_AMMO_CLIP_HEIGHT 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_SHOTGUN_AMMO_CLIP_WIDTH 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_SHOTGUN_AMMO_CLIP_HEIGHT 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RIFLE_AMMO_CLIP_WIDTH 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RIFLE_AMMO_CLIP_HEIGHT 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_NAILBOMB_AMMO_CLIP_WIDTH 52.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_NAILBOMB_AMMO_CLIP_HEIGHT 80.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_BRICK_AMMO_CLIP_WIDTH 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_BRICK_AMMO_CLIP_HEIGHT 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_MOLOTOV_AMMO_CLIP_WIDTH 64.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_MOLOTOV_AMMO_CLIP_HEIGHT 100.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_DYNAMITE_AMMO_CLIP_WIDTH 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_DYNAMITE_AMMO_CLIP_HEIGHT 96.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_AMMO_QTY_WIDTH 36.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_AMMO_QTY_HEIGHT 60.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_DOLLAR_WIDTH 32.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_DOLLAR_HEIGHT 36.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_MONEY_QTY_WIDTH 32.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_MONEY_QTY_HEIGHT 36.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_COWBOY_TITLE_WIDTH 412.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_COWBOY_TITLE_HEIGHT 640.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_COWBOY_DEAD_WIDTH 516.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_COWBOY_DEAD_HEIGHT 880.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_DEAD_SCREEN_TEXT_WIDTH 280.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_DEAD_SCREEN_TEXT_HEIGHT 228.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RESULT_TEXT_WIDTH 400.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RESULT_TEXT_HEIGHT 104.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_LOGO_WIDTH 536.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_LOGO_HEIGHT 276.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_START_WIDTH 252.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_START_HEIGHT 36.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_LEADERBOARDS_WIDTH 320.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_LEADERBOARDS_HEIGHT 36.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_REWIND_WIDTH 200.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_REWIND_HEIGHT 52.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_EJECT_WIDTH 200.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_EJECT_HEIGHT 52.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PIXTRO_LOGO_WIDTH 196.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PIXTRO_LOGO_HEIGHT 44.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RELOAD_PROMPT_X 948.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RELOAD_PROMPT_Y 540.375
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RELOAD_PROMPT_WIDTH 576.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_RELOAD_PROMPT_HEIGHT 204.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_NO_AMMO_PROMPT_X 960.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_NO_AMMO_PROMPT_Y 540.375
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_NO_AMMO_PROMPT_WIDTH 308.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_NO_AMMO_PROMPT_HEIGHT 296.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROGRESS_BAR_X 1538.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROGRESS_BAR_Y 610.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROGRESS_BAR_WIDTH 8.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROGRESS_BAR_HEIGHT 600.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROGRESS_MARKER_X 1538.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROGRESS_MARKER_Y 910.0 // this is the base position
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROGRESS_MARKER_WIDTH 32.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROGRESS_MARKER_HEIGHT 42.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROJECTILE_AMMO_X 424.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROJECTILE_AMMO_Y 300.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROJECTILE_AMMO_WIDTH 60.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_PROJECTILE_AMMO_HEIGHT 60.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FINAL_SCENE_POSTER_X 1212.000
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FINAL_SCENE_POSTER_Y 540.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FINAL_SCENE_POSTER_WIDTH 687.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FINAL_SCENE_POSTER_HEIGHT 698.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FINAL_SCENE_TEXT_X 652.000
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FINAL_SCENE_TEXT_Y 200.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FINAL_SCENE_TEXT_WIDTH 660.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_FINAL_SCENE_TEXT_HEIGHT 360.000
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_HP_INDICATOR_X 400.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_HP_INDICATOR_Y 100.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_HP_INDICATOR_W 96.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_HP_INDICATOR_H 96.0
|
||
|
||
CONST_FLOAT cfCMHDZ_HP_X_POS 500.0
|
||
CONST_FLOAT cfCMHDZ_HP_Y_POS 130.0
|
||
CONST_FLOAT cfCMHDZ_NAILGUN_TEMP_BORDER_X_POS 447.375
|
||
CONST_FLOAT cfCMHDZ_NAILGUN_TEMP_BORDER_Y_POS 174.750
|
||
CONST_FLOAT cfCMHDZ_NAILGUN_TEMP_BORDER_WIDTH 108.0
|
||
CONST_FLOAT cfCMHDZ_NAILGUN_TEMP_BORDER_HEIGHT 40.0
|
||
CONST_FLOAT cfCMHDZ_AMMO_X_POS 420.0
|
||
CONST_FLOAT cfCMHDZ_AMMO_Y_POS 180.0
|
||
CONST_FLOAT cfCMHDZ_AMMO_QTY_1_X_POS 560.0// 475.0
|
||
CONST_FLOAT cfCMHDZ_AMMO_QTY_1_Y_POS 218.0//180.0
|
||
CONST_FLOAT cfCMHDZ_AMMO_QTY_2_X_POS 584.625 //515.0
|
||
CONST_FLOAT cfCMHDZ_AMMO_QTY_2_Y_POS 174.875 // 180.0
|
||
|
||
CONST_FLOAT cfCMHDZ_PROJECTILE_AMMO_QTY_1_X_POS 484.0// 475.0
|
||
CONST_FLOAT cfCMHDZ_PROJECTILE_AMMO_QTY_1_Y_POS 302.875//180.0
|
||
CONST_FLOAT cfCMHDZ_PROJECTILE_AMMO_QTY_2_X_POS 508.625 //515.0
|
||
CONST_FLOAT cfCMHDZ_PROJECTILE_AMMO_QTY_2_Y_POS 302.875 // 180.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SINGLE_PISTOL_AMMO_0_X 535.0
|
||
CONST_FLOAT cfCMHDZ_SINGLE_PISTOL_AMMO_0_Y 216.0
|
||
CONST_FLOAT cfCMHDZ_SINGLE_PISTOL_AMMO_1_X 511.0
|
||
CONST_FLOAT cfCMHDZ_SINGLE_PISTOL_AMMO_2_X 487.0
|
||
CONST_FLOAT cfCMHDZ_SINGLE_PISTOL_AMMO_3_X 463.0
|
||
CONST_FLOAT cfCMHDZ_SINGLE_PISTOL_AMMO_4_X 439.0
|
||
CONST_FLOAT cfCMHDZ_SINGLE_PISTOL_AMMO_5_X 415.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_TIME_X 1550.0
|
||
CONST_FLOAT cfCMHDZ_SPRITE_HUD_TIME_Y 100.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SPRITE_HUD_TIME_TEXT_X 420.0
|
||
TWEAK_FLOAT cfCMHDZ_SPRITE_HUD_TIME_TEXT_Y 30.0
|
||
|
||
|
||
CONST_INT ciCMHDZ_WAIT_FOR_DEAD_TIME 1500
|
||
|
||
//-- In-Game scores
|
||
CONST_FLOAT cfCMHDZ_SCORE_GAP_DOLLAR_FIRST_DIGIT_X 105.5
|
||
CONST_FLOAT cfCMHDZ_SCORE_GAP_DOLLAR_TO_DOLLAR_X 282.5
|
||
|
||
CONST_FLOAT cfCMHDZ_MY_HISCORE_DOLLAR_X_SIZE 24.0
|
||
CONST_FLOAT cfCMHDZ_MY_HISCORE_DOLLAR_Y_SIZE 40.0
|
||
|
||
CONST_FLOAT cfCMHDZ_MY_HISCORE_X_DIGIT_SIZE 24.0
|
||
CONST_FLOAT cfCMHDZ_MY_HISCORE_Y_DIGIT_SIZE 40.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SCORE_WIN_X_SIZE 52.0
|
||
CONST_FLOAT cfCMHDZ_SCORE_WIN_Y_SIZE 32.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SCORE_WIN_RED_X_POS 864.0
|
||
CONST_FLOAT cfCMHDZ_SCORE_WIN_RED_Y_POS 130.0
|
||
|
||
CONST_FLOAT cfCMHDZ_SCORE_WIN_BLUE_X_POS 1430.0
|
||
CONST_FLOAT cfCMHDZ_SCORE_WIN_BLUE_Y_POS 130.0
|
||
|
||
CONST_FLOAT cfCMHDZ_MY_SCORE_DOLLAR_X_POS 634.5
|
||
CONST_FLOAT cfCMHDZ_MY_SCORE_DOLLAR_Y_POS 130.0
|
||
CONST_FLOAT cfCMHDZ_MY_SCORE_X_POS 740.0
|
||
CONST_FLOAT cfCMHDZ_MY_SCORE_Y_POS 130.0
|
||
|
||
CONST_FLOAT cfCMHDZ_RED_SCORE_DOLLAR_X_POS 634.5
|
||
CONST_FLOAT cfCMHDZ_RED_SCORE_DOLLAR_Y_POS 130.0
|
||
CONST_FLOAT cfCMHDZ_RED_SCORE_X_POS 740.0
|
||
CONST_FLOAT cfCMHDZ_RED_SCORE_Y_POS 130.0
|
||
|
||
CONST_FLOAT cfCMHDZ_MY_HISCORE_DOLLAR_X_POS 917.0
|
||
CONST_FLOAT cfCMHDZ_MY_HISCORE_DOLLAR_Y_POS 130.0
|
||
CONST_FLOAT cfCMHDZ_MY_HISCORE_X_POS 1022.5
|
||
CONST_FLOAT cfCMHDZ_MY_HISCORE_Y_POS 130.0
|
||
|
||
|
||
CONST_FLOAT cfCMHDZ_BLUE_SCORE_DOLLAR_X_POS 1199.5
|
||
CONST_FLOAT cfCMHDZ_BLUE_SCORE_DOLLAR_Y_POS 130.0
|
||
CONST_FLOAT cfCMHDZ_BLUE_SCORE_X_POS 1305.0
|
||
CONST_FLOAT cfCMHDZ_BLUE_SCORE_Y_POS 130.0
|
||
|
||
//-- Level select scores
|
||
CONST_FLOAT cfCMHDZ_LEVEL_SCORE_SCALE 0.75
|
||
|
||
//-- Solo play hi-scores on wanted poster positions
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_X_POS 562.0
|
||
CONST_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_Y_POS 560.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL2_SCORE_X_POS 946.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL3_SCORE_X_POS 1329.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL4_SCORE_X_POS 754.0
|
||
CONST_FLOAT cfCMHDZ_SOLO_LEVEL4_SCORE_Y_POS 964.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL5_SCORE_X_POS 1140.0
|
||
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL1_STAR_X_POS 486.0
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL1_STAR_Y_POS 552.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL2_STAR_X_POS 870.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL3_STAR_X_POS 1255.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL4_STAR_X_POS 679.0
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL4_STAR_Y_POS 962.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_LEVEL5_STAR_X_POS 1063.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_RESULTS_STAR_X_POS 890.0
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_RESULTS_STAR_Y_POS 700.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_GAME_RESULTS_STAR_X_POS 472.0
|
||
TWEAK_FLOAT cfCMHDZ_SOLO_GAME_RESULTS_STAR_Y_POS 956.0
|
||
|
||
///////////////////////////////////
|
||
/// Multiplayer constants ///
|
||
///////////////////////////////////
|
||
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_X_POS 462.875
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_Y_POS 551.250
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_X_POS 475.875
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_Y_POS 551.25
|
||
////CONST_FLOAT cfCMHDZ_RED_LEVEL1_WIN_X_POS 469.750
|
||
////CONST_FLOAT cfCMHDZ_RED_LEVEL1_WIN_Y_POS 533.250
|
||
//
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_X_POS 462.875
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_Y_POS 551.250
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_X_POS 675.75
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL1_SCORE_Y_POS 551.25
|
||
////CONST_FLOAT cfCMHDZ_BLUE_LEVEL1_WIN_X_POS 671.0
|
||
////CONST_FLOAT cfCMHDZ_BLUE_LEVEL1_WIN_Y_POS 533.250
|
||
//
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL2_SCORE_X_POS 846.625
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL2_SCORE_Y_POS 551.250
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL2_SCORE_X_POS 860.375
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL2_SCORE_Y_POS 551.25
|
||
////CONST_FLOAT cfCMHDZ_RED_LEVEL2_WIN_X_POS 854.125
|
||
//
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL2_SCORE_X_POS 1062.375
|
||
////CONST_FLOAT cfCMHDZ_BLUE_LEVEL2_WIN_X_POS 1057.75
|
||
//
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL3_SCORE_X_POS 1231.87
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL3_SCORE_Y_POS 551.250
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL3_SCORE_X_POS 1245.62
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL3_SCORE_Y_POS 551.25
|
||
////CONST_FLOAT cfCMHDZ_RED_LEVEL3_WIN_X_POS 1238.625
|
||
//
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL3_SCORE_X_POS 1446.875
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL3_SCORE_Y_POS 551.25
|
||
////CONST_FLOAT cfCMHDZ_BLUE_LEVEL3_WIN_X_POS 1442.0
|
||
//
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL4_SCORE_X_POS 655.25
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL4_SCORE_Y_POS 957.0
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL4_SCORE_X_POS 669.0
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL4_SCORE_Y_POS 957.0
|
||
////CONST_FLOAT cfCMHDZ_RED_LEVEL4_WIN_X_POS 663.625
|
||
////CONST_FLOAT cfCMHDZ_RED_LEVEL4_WIN_Y_POS 938.625
|
||
//
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL4_SCORE_X_POS 868.5
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL4_SCORE_Y_POS 957.0
|
||
////CONST_FLOAT cfCMHDZ_BLUE_LEVEL4_WIN_X_POS 863.625
|
||
//
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL5_SCORE_X_POS 1039.625
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL5_SCORE_Y_POS 957.0
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL5_SCORE_X_POS 1053.375
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL5_SCORE_Y_POS 957.0
|
||
////CONST_FLOAT cfCMHDZ_RED_LEVEL5_WIN_X_POS 1046.5
|
||
//
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL5_SCORE_X_POS 1252.625
|
||
//CONST_FLOAT cfCMHDZ_SOLO_LEVEL5_SCORE_Y_POS 957.0
|
||
//CONST_FLOAT cfCMHDZ_BLUE_LEVEL5_WIN_X_POS 1248.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL_RED_SCORE_DOLLAR_X_POS 486.375
|
||
CONST_FLOAT cfCMHDZ_LEVEL_RED_SCORE_DOLLAR_Y_POS 130.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL_RED_HI_SCORE_X_POS 592.125
|
||
CONST_FLOAT cfCMHDZ_LEVEL_RED_HI_SCORE_Y_POS 130.0
|
||
|
||
CONST_FLOAT cfCMHDZ_LEVEL_BLUE_SCORE_DOLLAR_X_POS 1247.625
|
||
CONST_FLOAT cfCMHDZ_LEVEL_BLUE_SCORE_DOLLAR_Y_POS 130.0
|
||
CONST_FLOAT cfCMHDZ_LEVEL_BLUE_HI_SCORE_X_POS 1353.625
|
||
CONST_FLOAT cfCMHDZ_LEVEL_BLUE_HI_SCORE_Y_POS 130.0
|
||
|
||
//CONST_FLOAT cfCMHDZ_LEVEL_SCORE_WIN_RED_X_POS 717.375
|
||
//CONST_FLOAT cfCMHDZ_LEVEL_SCORE_WIN_RED_Y_POS 130.0
|
||
|
||
//CONST_FLOAT cfCMHDZ_LEVEL_SCORE_WIN_BLUE_X_POS 1481.375
|
||
//CONST_FLOAT cfCMHDZ_LEVEL_SCORE_WIN_BLUE_Y_POS 130.0
|
||
|
||
|
||
//-- Results Screen - Level Complete
|
||
TWEAK_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_SCORE_POS_X 876.00
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_SCORE_POS_Y 577.125
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_SCORE_SIZE_X 172.0
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_SCORE_SIZE_Y 44.0
|
||
|
||
TWEAK_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_SCORE_VAL_POS_X 1156.0
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_SCORE_VAL_POS_Y 574.25
|
||
|
||
TWEAK_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_ACCURACY_POS_X 876.0
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_ACCURACY_POS_Y 637.125
|
||
TWEAK_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_ACCURACY_VAL_POS_X 1156.0
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_ACCURACY_VAL_POS_Y 636.625
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_ACCURACY_SIZE_X 256.0
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_ACCURACY_SIZE_Y 40.0
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_ACCURACY_PERCENT_SIZE_X 28.0
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_COMPLETE_ACCURACY_PERCENT_SIZE_Y 36.0
|
||
|
||
//-- Results Screen - Game Complete
|
||
TWEAK_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_SCORE_POS_X 458.25
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_SCORE_POS_Y 825.5
|
||
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_SCORE_DOLLAR_POS_X 719.625
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_SCORE_DOLLAR_POS_Y 624.75
|
||
|
||
TWEAK_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_SCORE_VAL_POS_X 673.25
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_SCORE_VAL_POS_Y 665.375
|
||
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_ACCURACY_POS_X 458.25
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_ACCURACY_POS_Y 890.375
|
||
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_ACCURACY_VAL_POS_X 672.000
|
||
CONST_FLOAT cfCMHDZ_RESULTS_SCREEN_GAME_COMPLETE_ACCURACY_VAL_POS_Y 896.000
|
||
|
||
CONST_FLOAT cfCMHDZ_HEADSHOT_BACKGROUND_MIN_Y 0.0
|
||
CONST_FLOAT cfCMHDZ_HEADSHOT_BACKGROUND_MAX_Y 53.0
|
||
|
||
CONST_FLOAT cfCMHDZ_HEADSHOT_MIDGROUND_MIN_Y 0.0
|
||
CONST_FLOAT cfCMHDZ_HEADSHOT_MIDGROUND_MAX_Y 74.0
|
||
|
||
CONST_FLOAT cfCMHDZ_HEADSHOT_FOREGROUND_MIN_Y 0.0
|
||
CONST_FLOAT cfCMHDZ_HEADSHOT_FOREGROUND_MAX_Y 148.0
|
||
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_1_X_POS 1200.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_1_Y_POS 900.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_2_X_POS 500.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_2_Y_POS 400.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_3_X_POS 900.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_3_Y_POS 600.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_4_X_POS 1400.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_4_Y_POS 500.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_5_X_POS 900.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_5_Y_POS 300.0
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_BEAR_X_POS 913.75
|
||
CONST_FLOAT cfCMHDZ_DAMAGE_BEAR_Y_POS 658.25
|
||
|
||
CONST_FLOAT cfCMHDZ_TOWN_LEVEL_RIGHTMOST_ENTITY_X 1343.0
|
||
CONST_FLOAT cfCMHDZ_FOREST_LEVEL_RIGHTMOST_ENTITY_X 1415.75
|
||
CONST_FLOAT cfCMHDZ_MINE_LEVEL_RIGHTMOST_ENTITY_X 1420.0
|
||
CONST_FLOAT cfCMHDZ_GRAVEYARD_LEVEL_RIGHTMOST_ENTITY_X 1535.250
|
||
|
||
CONST_FLOAT cfIAP_CONTROLLER_AXIS_THRESHOLD_MOD 1.0
|
||
|
||
CONST_INT ciCMHDZ_ENEMY_TIME_TO_SHOOT 2000
|
||
CONST_INT ciCMHDZ_PLAYER_CRITICAL_DAMAGE_NO_AMMO_TIME 1000
|
||
|
||
CONST_INT ciCMHDZ_ITEM_SHIELD_TIME 12000
|
||
CONST_INT ciCMHDZ_HIDE_RETICULE_TIME 10000
|
||
CONST_INT ciCMHDZ_ITEM_BUFF_TIME 10000
|
||
|
||
CONST_INT ciCMHDZ_ITEM_MOLOTOV_AMMO_COUNT 3
|
||
CONST_INT ciCMHDZ_ITEM_NAILBOMB_AMMO_COUNT 6
|
||
CONST_INT ciCMHDZ_ITEM_DYNAMITE_AMMO_COUNT 5
|
||
CONST_INT ciCMHDZ_ITEM_BRICK_AMMO_COUNT 100
|
||
|
||
CONST_INT ciCMHDZ_MAX_ANIM_FRAMES 2
|
||
CONST_INT ciCMHDZ_MAX_THROWING_FRAMES 4
|
||
CONST_INT ciCMHDZ_MAX_CART_ANIM_FRAMES 4
|
||
CONST_INT ciCMHDZ_EXPLOSION_MAX_ANIM_FRAMES 3
|
||
CONST_INT ciCMHDZ_ENEMY_SHOT_MAX_ANIM_FRAMES 6
|
||
CONST_INT ciCMHDZ_PLAYER_SHOT_MAX_ANIM_FRAMES 2
|
||
CONST_INT ciCMHDZ_MAX_ENEMY_THROWN_DYNAMITE_ANIM_FRAMES 6
|
||
CONST_INT ciCMHDZ_MAX_ENEMY_THROWN_EXPLOSION_ANIM_FRAMES 3
|
||
CONST_INT ciCMHDZ_MAX_LOOT_CRATE_FX_ANIM_FRAMES 3
|
||
|
||
CONST_INT ciCMHDZ_BLOOD_SPLAT_MAX_ANIM_FRAMES 8
|
||
CONST_INT ciCMHDZ_SCREEN_SLASH_MAX_ANIM_FRAMES 8
|
||
CONST_INT ciCMHDZ_BEARSY_CHAINSAW_BLOOD_MAX_ANIM_FRAMES 4
|
||
CONST_INT ciCMHDZ_BEARSY_BLEED_MAX_ANIM_FRAMES 5
|
||
CONST_INT ciCMHDZ_SPARKS_MAX_ANIM_FRAMES 5
|
||
|
||
CONST_INT ciCMHDZ_MAX_PROJECTILES 4
|
||
CONST_INT ciCMHDZ_MAX_PLAYER_THROWN_PROJECTILES 1
|
||
CONST_INT ciCMHDZ_MAX_ENEMY_PROJECTILES 1
|
||
CONST_INT ciCMHDZ_MAX_ENEMY_SHOT_AT_ONCE 8
|
||
CONST_INT ciCMHDZ_MAX_COVER 60
|
||
CONST_INT ciCMHDZ_MAX_SUITABLE_HIDE_BEHIND_COVER 16
|
||
CONST_INT ciCMHDZ_MAX_FX 6
|
||
CONST_INT ciCMHDZ_MAX_MENU_OPTIONS 9
|
||
CONST_INT ciCMHDZ_MAX_PLAYERS 1
|
||
CONST_INT ciCMHDZ_MAX_BACKGROUND_TILES 7
|
||
CONST_INT ciCMHDZ_MAX_BACKGROUND_ELEMS 50
|
||
CONST_INT ciCMHDZ_MAX_ENEMIES 60
|
||
CONST_INT ciCMHDZ_MAX_ITEMS 12
|
||
CONST_INT ciCMHDZ_MAX_SCREENS 11
|
||
CONST_FLOAT cfCMHDZ_SCREEN_LENGTH 927.5
|
||
|
||
CONST_INT MAX_PLAYER_HELD_WEAPONS 2
|
||
|
||
CONST_INT ciCMHDZ_PLAYER_START_AMMO 100
|
||
CONST_INT ciCMHDZ_PLAYER_WEAPON_REVOLVER 0
|
||
|
||
CONST_INT ciCMHDZ_MAX_SCORE_DIGITS 6
|
||
CONST_INT ciCMHDZ_LANE_BACKGROUND 0
|
||
CONST_INT ciCMHDZ_LANE_MIDDLE 1
|
||
CONST_INT ciCMHDZ_LANE_FOREGROUND 2
|
||
CONST_INT ciCMHDZ_LANE_POPUP_RHS 3
|
||
CONST_INT ciCMHDZ_LANE_POPUP_LHS 4
|
||
CONST_INT ciCMHDZ_MAX_LANES 5
|
||
|
||
CONST_FLOAT cfCMHDZ_DEFAULT_PIXEL_UPDATE 4.0
|
||
TWEAK_INT ciBASE_FPS 30
|
||
|
||
// Game States
|
||
CONST_INT CMHDZ_GAME_STATE_INIT 0
|
||
CONST_INT CMHDZ_GAME_STATE_RUNNING 1
|
||
CONST_INT CMHDZ_GAME_STATE_LEAVE 2
|
||
CONST_INT CMHDZ_GAME_STATE_END 3
|
||
|
||
CONST_FLOAT CMHDZ_PX_HUD_THIN_CHAR_WIDTH 16.0
|
||
CONST_FLOAT CMHDZ_PX_HUD_CHAR_WIDTH 24.0
|
||
CONST_FLOAT CMHDZ_PX_HUD_CHAR_HEIGHT 40.0
|
||
CONST_INT CMHDZ_HUD_MAX_NUM_LENGTH 16
|
||
|
||
CONST_INT ciCMHDZ_DIRECTOR_SOUND_COOLDOWN 3000
|
||
//CONST_INT ciCMHDZ_ENEMY_SOUND_COOLDOWN 2000
|
||
|
||
// Command Lines
|
||
#IF IS_DEBUG_BUILD
|
||
CONST_INT CMHDZ_CMDLINE_NO_INTRO 0
|
||
CONST_INT CMHDZ_CMDLINE_QUICK_LEVEL1 0
|
||
CONST_INT CMHDZ_CMDLINE_UNLOCK_ALL_LEVELS 0
|
||
CONST_INT CMHDZ_CMDLINE_NO_DEATH 0
|
||
CONST_INT CMHDZ_CMDLINE_RTN_TO_MENU_IN_GAME 0
|
||
CONST_INT CMHDZ_CMDLINE_FORCE_OUTRO 0
|
||
CONST_INT CMHDZ_CMDLINE_ON_SCREEN_DEBUG 0
|
||
|
||
CONST_INT CMHDZ_CMDLINE_EDITOR_NEW 0
|
||
CONST_INT CMHDZ_CMDLINE_BOOT_INTO_EDITOR 0
|
||
|
||
// Editor Constants
|
||
CONST_INT CMHDZ_EDITOR_MODE_MAX_TYPES 5
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM 0
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY 1
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER 2
|
||
CONST_INT CMHDZ_EDITOR_MODE_LEVEL 3
|
||
CONST_INT CMHDZ_EDITOR_MODE_BOSS 4
|
||
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_NEW_UNIT 1
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_INDEX 2
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_LEVEL 3
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_TYPE 4
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_LANE 5
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_SCREEN 6
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_INITIAL_X 7
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_INITIAL_Y 8
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_IS_FAR_BG 9
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_REMOVE_OFF_SCREEN 10
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_EXPORT 11
|
||
CONST_INT CMHDZ_EDITOR_MODE_COVER_EXPORT_ALL 12
|
||
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_NEW_UNIT 1
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_INDEX 2
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_LEVEL 3
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_TYPE 4
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_LANE 5
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_POSITION 6
|
||
//CONST_INT CMHDZ_EDITOR_MODE_ENEMY_SCREEN 7
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_INITIAL_X 7
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_INITIAL_Y 8
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_STOP_POS 9
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_WAITSCROLL 10
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_REVERSE 11
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_IS_POP_UP 12
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_EXPORT 13
|
||
CONST_INT CMHDZ_EDITOR_MODE_ENEMY_EXPORT_ALL 14
|
||
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_NEW_UNIT 1
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_INDEX 2
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_LEVEL 3
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_TYPE 4
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_LANE 5
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_SCREEN 6
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_INITIAL_X 7
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_INITIAL_Y 8
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_RENDERWARP 9
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_FORCESCALE 10
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_EXPORT 11
|
||
CONST_INT CMHDZ_EDITOR_MODE_ITEM_EXPORT_ALL 12
|
||
|
||
//CONST_INT CMHDZ_EDITOR_MODE_HOSTAGE_NEW_UNIT 1
|
||
//CONST_INT CMHDZ_EDITOR_MODE_HOSTAGE_INDEX 2
|
||
//CONST_INT CMHDZ_EDITOR_MODE_HOSTAGE_TYPE 3
|
||
//CONST_INT CMHDZ_EDITOR_MODE_HOSTAGE_LANE 4
|
||
//CONST_INT CMHDZ_EDITOR_MODE_HOSTAGE_INITIAL_X 5
|
||
//CONST_INT CMHDZ_EDITOR_MODE_HOSTAGE_INITIAL_Y 6
|
||
//CONST_INT CMHDZ_EDITOR_MODE_HOSTAGE_REVERSE 7
|
||
//CONST_INT CMHDZ_EDITOR_MODE_HOSTAGE_STOP_POS 8
|
||
|
||
CONST_INT CMHDZ_EDITOR_MODE_LEVEL_INDEX 1
|
||
CONST_INT CMHDZ_EDITOR_MODE_LEVEL_PROGRESS_SET 2
|
||
CONST_INT CMHDZ_EDITOR_MODE_LEVEL_SCREEN 3
|
||
//CONST_INT CMHDZ_EDITOR_MODE_LEVEL_STOP_PROP 4
|
||
CONST_INT CMHDZ_EDITOR_MODE_LEVEL_PLAY 4
|
||
CONST_INT CMHDZ_EDITOR_MODE_LEVEL_RESET 5
|
||
CONST_INT CMHDZ_EDITOR_MODE_EXPORT_LEVEL 6
|
||
|
||
CONST_INT CMHDZ_EDITOR_MODE_SCREEN_NUM 1
|
||
#ENDIF
|
||
|
||
//-----------------------
|
||
// ENUMS
|
||
//-----------------------
|
||
ENUM CMHDZ_ARCADE_CLIENT_STATE
|
||
CMHDZ_ARCADE_CLIENT_STATE_INIT = 0,
|
||
CMHDZ_ARCADE_CLIENT_STATE_REQUESTING_ASSETS,
|
||
CMHDZ_ARCADE_CLIENT_STATE_FIB,
|
||
CMHDZ_ARCADE_CLIENT_STATE_INTRO,
|
||
CMHDZ_ARCADE_CLIENT_STATE_TITLE_SCREEN,
|
||
CMHDZ_ARCADE_CLIENT_STATE_TITLE_FADEOUT,
|
||
CMHDZ_ARCADE_CLIENT_STATE_LEVEL_SELECTION_MENU,
|
||
CMHDZ_ARCADE_CLIENT_STATE_INIT_LEVEL,
|
||
CMHDZ_ARCADE_CLIENT_STATE_PLAYING,
|
||
CMHDZ_ARCADE_CLIENT_STATE_EDITOR_ACTIVE,
|
||
CMHDZ_ARCADE_CLIENT_STATE_RESULT_SCREEN,
|
||
CMHDZ_ARCADE_CLIENT_STATE_GAME_OVER,
|
||
CMHDZ_ARCADE_CLIENT_STATE_OUTRO_MOVIE,
|
||
CMHDZ_ARCADE_CLIENT_STATE_VIEW_LEADERBOARD,
|
||
CMHDZ_ARCADE_CLIENT_STATE_EDIT_LEADERBOARD,
|
||
CMHDZ_ARCADE_CLIENT_STATE_CLEANUP,
|
||
NUM_CMHDZ_ARCADE_CLIENT_STATE
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_ARCADE_CLIENT_SUBSTATE
|
||
CMHDZ_ARCADE_CLIENT_SUBSTATE_INIT,
|
||
CMHDZ_ARCADE_CLIENT_SUBSTATE_ACTIVE,
|
||
CMHDZ_ARCADE_CLIENT_SUBSTATE_CLEANUP,
|
||
NUM_CMHDZ_ARCADE_CLIENT_SUBSTATE
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_ASSET_TYPES
|
||
CMHDZ_ASSET_INVALID = -1,
|
||
CMHDZ_ASSET_CACTUS_1 = 0,
|
||
CMHDZ_ASSET_CACTUS_2,
|
||
CMHDZ_ASSET_CACTUS_3,
|
||
CMHDZ_ASSET_BARRIER,
|
||
CMHDZ_ASSET_TRASHBAG_BIG,
|
||
CMHDZ_ASSET_TRASHBAG_SMALL,
|
||
CMHDZ_ASSET_TRASHCAN_BIG_1,
|
||
CMHDZ_ASSET_TRASHCAN_BIG_2,
|
||
CMHDZ_ASSET_TRASHCAN_SMALL_1,
|
||
CMHDZ_ASSET_TRASHCAN_SMALL_2,
|
||
CMHDZ_ASSET_BUSH_1,
|
||
CMHDZ_ASSET_BUSH_2,
|
||
CMHDZ_ASSET_ROCK_SMALL,
|
||
CMHDZ_ASSET_ROCK_LARGE,
|
||
CMHDZ_ASSET_GRASS,
|
||
CMHDZ_ASSET_CITY_BUILDING_1,
|
||
CMHDZ_ASSET_CITY_BUILDING_2,
|
||
CMHDZ_ASSET_CITY_BUILDING_3,
|
||
CMHDZ_ASSET_SCRAPYARD_MD_VAN_1,
|
||
CMHDZ_ASSET_SCRAPYARD_MD_VAN_2,
|
||
CMHDZ_ASSET_SCRAPYARD_MD_VAN_3,
|
||
CMHDZ_ASSET_SCRAPYARD_MD_VAN_4,
|
||
CMHDZ_ASSET_SCRAPYARD_MD_CAR_1,
|
||
CMHDZ_ASSET_SCRAPYARD_MD_CAR_2,
|
||
CMHDZ_ASSET_SCRAPYARD_MD_CAR_3,
|
||
CMHDZ_ASSET_SCRAPYARD_MD_CAR_4,
|
||
CMHDZ_ASSET_THEMEPARK_BUILDING_1,
|
||
CMHDZ_ASSET_THEMEPARK_BUILDING_2,
|
||
CMHDZ_ASSET_THEMEPARK_BUILDING_3,
|
||
CMHDZ_ASSET_THEMEPARK_BUILDING_4,
|
||
CMHDZ_ASSET_THEMEPARK_CLOWNBOARD_1,
|
||
CMHDZ_ASSET_THEMEPARK_CLOWNBOARD_2,
|
||
CMHDZ_ASSET_THEMEPARK_TREE_1,
|
||
CMHDZ_ASSET_THEMEPARK_TREE_2,
|
||
CMHDZ_ASSET_THEMEPARK_TREE_3,
|
||
CMHDZ_ASSET_THEMEPARK_TREE_4,
|
||
CMHDZ_ASSET_ASYLUM_BG_DOOR,
|
||
CMHDZ_ASSET_ASYLUM_BG_RADIATOR,
|
||
CMHDZ_ASSET_ASYLUM_GRAFFITI_1,
|
||
CMHDZ_ASSET_ASYLUM_GRAFFITI_2,
|
||
CMHDZ_ASSET_ASYLUM_GRAFFITI_3,
|
||
CMHDZ_ASSET_ASYLUM_MD_BED,
|
||
CMHDZ_ASSET_ASYLUM_MD_WHEELCHAIR,
|
||
CMHDZ_ASSET_ASYLUM_MD_MATTRESS,
|
||
CMHDZ_ASSET_ASYLUM_LIGHT_1,
|
||
CMHDZ_ASSET_ASYLUM_LIGHT_2,
|
||
CMHDZ_ASSET_FENCE,
|
||
CMHDZ_ASSET_CACTUS_9,
|
||
CMHDZ_ASSET_SCRAPYARD_PROP_FENCE,
|
||
CMHDZ_ASSET_FOREGROUND_TRASH,
|
||
CMHDZ_ASSET_BARRELS,
|
||
CMHDZ_ASSET_MEATGRINDER_1,
|
||
CMHDZ_ASSET_MEATGRINDER_2,
|
||
CMHDZ_ASSET_BODYBAG_1,
|
||
CMHDZ_ASSET_BODYBAG_2,
|
||
CMHDZ_ASSET_BODYBAG_3,
|
||
CMHDZ_ASSET_BODYBAG_FLOOR_1,
|
||
CMHDZ_ASSET_BODYBAG_FLOOR_2,
|
||
CMHDZ_ASSET_BODYBAG_FLOOR_3,
|
||
CMHDZ_ASSET_BODYBAG_FLOOR_4,
|
||
CMHDZ_ASSET_PIG,
|
||
CMHDZ_ASSET_PIG_BATCH,
|
||
CMHDZ_ASSET_MEATHOOK,
|
||
CMHDZ_ASSET_DOOR_1,
|
||
CMHDZ_ASSET_DOOR_2,
|
||
CMHDZ_ASSET_WINDOW,
|
||
CMHDZ_ASSET_OVERHEAD_LIGHT,
|
||
|
||
CMHDZ_ASSET_WATER_TOWER,
|
||
// CMHDZ_ASSET_SPECIAL_TNT_CRATE,
|
||
CMHDZ_ASSET_SPECIAL_TNT_BARREL_1,
|
||
CMHDZ_ASSET_SPECIAL_TNT_BARREL_2,
|
||
|
||
NUM_CMHDZ_ASSET_TYPES
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_AUDIO_EFFECT
|
||
CMHDZ_AUDIO_EFFECT_GET_READY,
|
||
CMHDZ_AUDIO_EFFECT_DRAW,
|
||
CMHDZ_AUDIO_EFFECT_SELECT_STAGE,
|
||
CMHDZ_AUDIO_EFFECT_SCREEN_LOCKED,
|
||
CMHDZ_AUDIO_EFFECT_MENU_BACK,
|
||
CMHDZ_AUDIO_EFFECT_MENU_CONTINUE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_Shoot_Option,
|
||
CMHDZ_AUDIO_EFFECT_Logo_Appear,
|
||
|
||
CMHDZ_AUDIO_EFFECT_Score_Letter_Change,
|
||
CMHDZ_AUDIO_EFFECT_Score_Letter_Select,
|
||
CMHDZ_AUDIO_EFFECT_Score_Entered,
|
||
|
||
CMHDZ_AUDIO_EFFECT_MUSIC_TRANSITION,
|
||
CMHDZ_AUDIO_EFFECT_LEVEL_BACKGROUND_LOOP,
|
||
|
||
CMHDZ_AUDIO_EFFECT_SWAP_WEAPON,
|
||
CMHDZ_AUDIO_EFFECT_RELOAD,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_BODY,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_PLAYER,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_METAL,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_BUSHES,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_ROCK,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_MISS,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_OPTION,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_START,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_GENERIC,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_HEADSHOT,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_BEARSY,
|
||
CMHDZ_AUDIO_EFFECT_BULLET_HIT_BEARSY_DEFLECT,
|
||
|
||
CMHDZ_AUDIO_EFFECT_REVOLVER_FIRE,
|
||
CMHDZ_AUDIO_EFFECT_REVOLVER_EMPTY,
|
||
CMHDZ_AUDIO_EFFECT_RIFLE_FIRE,
|
||
CMHDZ_AUDIO_EFFECT_RIFLE_EMPTY,
|
||
CMHDZ_AUDIO_EFFECT_SHOTGUN_FIRE,
|
||
CMHDZ_AUDIO_EFFECT_SHOTGUN_EMPTY,
|
||
CMHDZ_AUDIO_EFFECT_NAILGUN_FIRE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_Melee_Bat_Metal_Hit,
|
||
CMHDZ_AUDIO_EFFECT_Melee_Bat_Metal_Swing,
|
||
CMHDZ_AUDIO_EFFECT_Melee_Bat_Wood_Hit,
|
||
CMHDZ_AUDIO_EFFECT_Melee_Bat_Wood_Swing,
|
||
CMHDZ_AUDIO_EFFECT_Melee_Crowbar_Hit,
|
||
CMHDZ_AUDIO_EFFECT_Melee_Crowbar_Swing,
|
||
CMHDZ_AUDIO_EFFECT_Melee_Machete_Hit,
|
||
CMHDZ_AUDIO_EFFECT_Melee_Machete_Swing,
|
||
|
||
CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_FIRST,
|
||
CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_SINGLE,
|
||
CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_LAST,
|
||
|
||
CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD_SINGLE,
|
||
CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD_LAST,
|
||
CMHDZ_AUDIO_EFFECT_SHOTGUN_RELOAD_SINGLE,
|
||
CMHDZ_AUDIO_EFFECT_NAILGUN_RELOAD_SINGLE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_DEAD,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_VERY_LOW,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_LOW,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_MEDIUM,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_HIGH,
|
||
|
||
// Figurative sfx for Enemy filtering.
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_DEAD,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_INJURED,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_GLOAT,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_ATTACK,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_PAIN,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_ON_FIRE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_A_DEAD,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_A_INJURED,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_A_GLOAT,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_A_ATTACK,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_A_PAIN,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_A_ON_FIRE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_B_DEAD,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_B_INJURED,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_B_GLOAT,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_B_ATTACK,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_B_PAIN,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_B_ON_FIRE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_C_DEAD,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_C_INJURED,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_C_GLOAT,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_C_ATTACK,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_C_PAIN,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_C_ON_FIRE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_D_DEAD,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_D_INJURED,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_D_GLOAT,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_D_ATTACK,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_D_PAIN,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_D_ON_FIRE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_E_DEAD,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_E_GLOAT,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_E_ATTACK,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_E_PAIN,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_E_INJURED,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_E_ON_FIRE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_AIM,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_FIRE,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_SHOTGUN_AIM,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_SHOTGUN_FIRE,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_REVOLVER_AIM,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_REVOLVER_FIRE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_CRIT_WARNING,
|
||
CMHDZ_AUDIO_EFFECT_ENEMY_THROW_DYNAMITE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_RESULTS_SCORE_UPDATE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_EXP_GENERIC,
|
||
CMHDZ_AUDIO_EFFECT_EXP_DYNAMITE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_BRICK_THROW,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_BRICK_HIT,
|
||
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_NAILBOMB_THROW,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_NAILBOMB_HIT,
|
||
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_MOLOTOV_THROW,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_MOLOTOV_HIT,
|
||
|
||
CMHDZ_AUDIO_EFFECT_BUNNYGIRL_APPEAR,
|
||
CMHDZ_AUDIO_EFFECT_BUNNYGIRL_PAIN,
|
||
CMHDZ_AUDIO_EFFECT_BUNNYGIRL_DEATH,
|
||
CMHDZ_AUDIO_EFFECT_BUNNYGIRL_MISSED,
|
||
|
||
CMHDZ_AUDIO_EFFECT_MONKEY_APPEAR,
|
||
CMHDZ_AUDIO_EFFECT_MONKEY_PAIN,
|
||
CMHDZ_AUDIO_EFFECT_MONKEY_DEATH,
|
||
CMHDZ_AUDIO_EFFECT_MONKEY_MISSED,
|
||
|
||
CMHDZ_AUDIO_EFFECT_RAT_APPEAR,
|
||
CMHDZ_AUDIO_EFFECT_RAT_DEATH,
|
||
CMHDZ_AUDIO_EFFECT_RAT_IDLE_LOOP,
|
||
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_APPEAR,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_ATTACK,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_PAIN,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_HIDE,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_REVEAL,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_DIE,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_IDLE_LOOP,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_CHAINSAW_LOOP,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_CHAINSAW_ATTACK,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_MEAT_THROW,
|
||
CMHDZ_AUDIO_EFFECT_BEARSY_MEAT_IMPACT,
|
||
|
||
CMHDZ_AUDIO_EFFECT_PICKUP_HEALTH,
|
||
CMHDZ_AUDIO_EFFECT_PICKUP_BUFF,
|
||
CMHDZ_AUDIO_EFFECT_PICKUP_SHIELD,
|
||
CMHDZ_AUDIO_EFFECT_PICKUP_CASH,
|
||
CMHDZ_AUDIO_EFFECT_PICKUP_TAPE,
|
||
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_RELOAD,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_SHOOT_HEADSHOT,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_SHOOT_ANIMAL,
|
||
// CMHDZ_AUDIO_EFFECT_PLAYER_AWARD_STV,
|
||
// CMHDZ_AUDIO_EFFECT_PLAYER_AWARD_TTK,
|
||
// CMHDZ_AUDIO_EFFECT_PLAYER_AWARD_FOD,
|
||
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_BAD,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_AVERAGE,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_GOOD,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_AMAZING,
|
||
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_COMPLETE_LEVEL,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_DEATH,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_RESULTS_DEAD,
|
||
CMHDZ_AUDIO_EFFECT_PLAYER_FINISH_GAME,
|
||
|
||
CMHDZ_AUDIO_EFFECT_REWIND_START,
|
||
CMHDZ_AUDIO_EFFECT_REWIND_LOOP,
|
||
CMHDZ_AUDIO_EFFECT_REWIND_STOP,
|
||
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Asylum,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Junkyard,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Slaughterhouse,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Slums,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Theme_Park,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Get_Ready,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Start,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Complete_Level,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Quit,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Restart_Level,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_First_Enemy_Appear,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill_Headshot,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill_Nailgun,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Long,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Extreme,
|
||
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Damage,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Near_Death,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Death,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Inactive,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Reload,
|
||
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_AR,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_MV,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_NB,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_SG,
|
||
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_Rnd,
|
||
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Cash,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Damage,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Health,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Invulnerable,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Rnd_Neg,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Rnd_Pos,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Run_Out,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Tape,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_FOD,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_STV,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_MSMD,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TTK,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TD,
|
||
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Score_Ok,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Score_Good,
|
||
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Monkey_Kill,
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Bunny_Kill,
|
||
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Critter_Kill,
|
||
|
||
CMHDZ_AUDIO_EFFECT_DIRECTOR_Props_Destroyed,
|
||
|
||
|
||
CMHDZ_AUDIO_EFFECT_MAX
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_AUDIO_SCENE
|
||
CMHDZ_AUDIO_SCENE_MENUS,
|
||
CMHDZ_AUDIO_SCENE_GAMEPLAY,
|
||
CMHDZ_AUDIO_SCENE_POWERUP_ACTIVE
|
||
#IF IS_DEBUG_BUILD
|
||
,CMHDZ_AUDIO_SCENE_FORCE_MACHINE
|
||
#ENDIF
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_CHALLENGES
|
||
CMHDZ_CHALLENGE_FACES_OF_DEATH_PLATINUM = 0,
|
||
CMHDZ_CHALLENGE_TRAINED_TO_KILL,
|
||
CMHDZ_CHALLENGE_STRAIGHT_TO_VIDEO,
|
||
CMHDZ_CHALLENGE_FACES_OF_DEATH_BRONZE,
|
||
CMHDZ_CHALLENGE_FACES_OF_DEATH_SILVER,
|
||
CMHDZ_CHALLENGE_FACES_OF_DEATH_GOLD,
|
||
CMHDZ_CHALLENGE_MONKEY_C_MONKEY_DIE,
|
||
CMHDZ_CHALLENGE_THE_DIRECTOR
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_COVER_DATA_BITS
|
||
CMHDZ_COVER_DATA_BITS_NONE = 0,
|
||
CMHDZ_COVER_DATA_BITS_SPAWNED_PICKUP = BIT0,
|
||
CMHDZ_COVER_DATA_BITS_IS_SPECIAL_COVER = BIT1,
|
||
CMHDZ_COVER_DATA_BITS_IS_ANIMATED = BIT2,
|
||
CMHDZ_COVER_DATA_BITS_IS_FAR_BG = BIT3,
|
||
CMHDZ_COVER_DATA_BITS_REMOVE_OFF_SCREEN = BIT4
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_DAMAGE_PLAYER_TYPES
|
||
CMHDZ_DAMAGE_PLAYER_TYPE_BULLET,
|
||
CMHDZ_DAMAGE_PLAYER_TYPE_DYNAMITE,
|
||
CMHDZ_DAMAGE_PLAYER_TYPE_SLASH
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_ENEMY_DATA_BITS
|
||
CMHDZ_ENEMY_DATA_BITS_NONE = 0,
|
||
CMHDZ_ENEMY_DATA_BITS_REVERSE = BIT0,
|
||
CMHDZ_ENEMY_DATA_BITS_IS_POPUP = BIT1,
|
||
CMHDZ_ENEMY_DATA_BITS_PLAYED_AIM_AUDIO = BIT2,
|
||
CMHDZ_ENEMY_DATA_BITS_PLAYED_WARN_AUDIO = BIT3,
|
||
CMHDZ_ENEMY_DATA_BITS_WAIT_UNTIL_LEVEL_STATIONARY = BIT4,
|
||
CMHDZ_ENEMY_DATA_BITS_SHOT_AT_LEAST_ONCE = BIT5,
|
||
CMHDZ_ENEMY_DATA_BITS_THROWN_PROJECTILE = BIT6,
|
||
CMHDZ_ENEMY_DATA_BITS_APPEARED_ON_SCREEN = BIT7,
|
||
CMHDZ_ENEMY_DATA_BITS_WILL_INFLICT_MELEE_DAMAGE = BIT8,
|
||
CMHDZ_ENEMY_DATA_BITS_IS_BONUS = BIT9
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_ENEMY_STATE
|
||
CMHDZ_ENEMY_STATE_WAITING = 0,
|
||
CMHDZ_ENEMY_STATE_ACTIVE,
|
||
CMHDZ_ENEMY_STATE_ATTACKING,
|
||
CMHDZ_ENEMY_STATE_STUNNED,
|
||
CMHDZ_ENEMY_STATE_DYING,
|
||
CMHDZ_ENEMY_STATE_DYING_HEADSHOT,
|
||
CMHDZ_ENEMY_STATE_DYING_BURNING,
|
||
CMHDZ_ENEMY_STATE_INACTIVE
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_ENEMY_TYPES
|
||
CMHDZ_ENEMY_INVALID = -1,
|
||
CMHDZ_ENEMY_1 = 0,
|
||
CMHDZ_ENEMY_2,
|
||
CMHDZ_ENEMY_3,
|
||
CMHDZ_ENEMY_4,
|
||
CMHDZ_ENEMY_5,
|
||
CMHDZ_FOREGROUND_ENEMY_T1_1,
|
||
CMHDZ_FOREGROUND_ENEMY_T1_2,
|
||
CMHDZ_FOREGROUND_ENEMY_T2_1,
|
||
CMHDZ_FOREGROUND_ENEMY_T2_2,
|
||
CMHDZ_FOREGROUND_ENEMY_T3_1,
|
||
CMHDZ_FOREGROUND_ENEMY_T3_2,
|
||
CMHDZ_FOREGROUND_ENEMY_T4_1,
|
||
CMHDZ_FOREGROUND_ENEMY_T4_2,
|
||
CMHDZ_FOREGROUND_ENEMY_T5_1,
|
||
CMHDZ_FOREGROUND_ENEMY_T5_2,
|
||
CMHDZ_THROWING_ENEMY_1,
|
||
CMHDZ_THROWING_ENEMY_2,
|
||
CMHDZ_THROWING_ENEMY_3,
|
||
CMHDZ_THROWING_ENEMY_4,
|
||
CMHDZ_THROWING_ENEMY_5,
|
||
CMHDZ_RARE_ENEMY_MONKEY,
|
||
CMHDZ_RARE_ENEMY_BUNNY,
|
||
CMHDZ_RARE_ENEMY_RAT,
|
||
NUM_CMHDZ_ENEMY_TYPES
|
||
ENDENUM
|
||
|
||
//ENUM CMHDZ_BOSS_DATA_BITS
|
||
//ENDENUM
|
||
|
||
ENUM CMHDZ_BOSS_STATE
|
||
CMHDZ_BOSS_STATE_INACTIVE = 0,
|
||
CMHDZ_BOSS_STATE_WAITING,
|
||
CMHDZ_BOSS_STATE_WALKING,
|
||
CMHDZ_BOSS_STATE_WALKING_INV,
|
||
CMHDZ_BOSS_STATE_THROWING,
|
||
CMHDZ_BOSS_STATE_BACKUP,
|
||
CMHDZ_BOSS_STATE_FOREGROUND_POP_UP,
|
||
CMHDZ_BOSS_STATE_FOREGROUND_POP_DOWN,
|
||
CMHDZ_BOSS_STATE_FOREGROUND_PAIN,
|
||
CMHDZ_BOSS_STATE_FOREGROUND_IDLE,
|
||
CMHDZ_BOSS_STATE_BLOCKING,
|
||
CMHDZ_BOSS_STATE_ATTACK_READY,
|
||
CMHDZ_BOSS_STATE_ATTACKING,
|
||
CMHDZ_BOSS_STATE_ATTACKING_COUNTER,
|
||
CMHDZ_BOSS_STATE_STUNNED_BACKGROUND,
|
||
CMHDZ_BOSS_STATE_STUNNED_FOREGROUND,
|
||
CMHDZ_BOSS_STATE_PAIN,
|
||
CMHDZ_BOSS_STATE_DYING,
|
||
CMHDZ_BOSS_STATE_FINAL,
|
||
CMHDZ_BOSS_STATE_SPAWN_HELPERS_1,
|
||
CMHDZ_BOSS_STATE_SPAWN_HELPERS_2,
|
||
CMHDZ_BOSS_STATE_WAIT_FOR_ALL_ENEMIES_DEAD
|
||
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_BOSS_DATA_BITS
|
||
CMHDZ_BOSS_DATA_BITS_NONE = 0,
|
||
CMHDZ_BOSS_DATA_BITS_SPAWNED_ENEMIES_1 = BIT0,
|
||
CMHDZ_BOSS_DATA_BITS_SPAWNED_ENEMIES_2 = BIT1,
|
||
CMHDZ_BOSS_DATA_BITS_REVERSE = BIT2,
|
||
CMHDZ_BOSS_DATA_BITS_ANIM_FINISHED_ONCE = BIT3,
|
||
CMHDZ_BOSS_DATA_BITS_TAKING_DAMAGE = BIT4
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_FX_TYPE
|
||
CMHDZ_FX_EXPLOSION,
|
||
CMHDZ_FX_ENEMY_SHOT,
|
||
CMHDZ_FX_IMPACT,
|
||
CMHDZ_FX_ENEMY_TNT_EXP,
|
||
CMHDZ_FX_BLOOD_SPLAT,
|
||
|
||
CMHDZ_FX_BEARSY_FOREGROUND_ATTACKING_BLOOD,
|
||
CMHDZ_FX_BEARSY_FOREGROUND_PAIN_BLOOD,
|
||
CMHDZ_FX_BEARSY_FOREGROUND_SPARKS,
|
||
CMHDZ_FX_SLASH_EFFECT,
|
||
CMHDZ_FX_OUCH,
|
||
|
||
CMHDZ_FX_LOOT_CRATE
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_HELP_TEXT_BITS
|
||
CMHDZ_HELP_TEXT_BIT_SHOOT_AIM = 0,
|
||
CMHDZ_HELP_TEXT_BIT_RELOAD,
|
||
CMHDZ_HELP_TEXT_BIT_HEADSHOT,
|
||
CMHDZ_HELP_TEXT_BIT_THROW,
|
||
CMHDZ_HELP_TEXT_BIT_MICROAIM,
|
||
|
||
CMHDZ_HELP_TEXT_BIT_PAINKILLERS,
|
||
|
||
CMHDZ_HELP_TEXT_BIT_BUFF,
|
||
CMHDZ_HELP_TEXT_BIT_PILLS,
|
||
|
||
CMHDZ_HELP_TEXT_BIT_CASH,
|
||
CMHDZ_HELP_TEXT_BIT_VIDEO,
|
||
|
||
CMHDZ_HELP_TEXT_BIT_AT_LEAST_ONE_HEADSHOT,
|
||
|
||
CMHDZ_HELP_TEXT_BIT_FOD_GOLD,
|
||
CMHDZ_HELP_TEXT_BIT_FOD_SILVER,
|
||
CMHDZ_HELP_TEXT_BIT_FOD_BRONZE,
|
||
CMHDZ_HELP_TEXT_BIT_TRAINED_TO_KILL,
|
||
CMHDZ_HELP_TEXT_BIT_DIRECTOR,
|
||
CMHDZ_HELP_TEXT_BIT_STRAIGHT_TO_VIDEO,
|
||
CMHDZ_HELP_TEXT_BIT_MONKEY,
|
||
|
||
CMHDZ_HELP_TEXT_BIT_RIFLE,
|
||
CMHDZ_HELP_TEXT_BIT_SHOTGUN,
|
||
CMHDZ_HELP_TEXT_BIT_NAIL,
|
||
|
||
CMHDZ_HELP_TEXT_BIT_MOLOTOV,
|
||
CMHDZ_HELP_TEXT_BIT_NAILBOMB,
|
||
|
||
CMHDZ_HELP_TEXT_BIT_BEARSY,
|
||
CMHDZ_HELP_TEXT_BIT_DYNAMITE
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_HUD_CHAR
|
||
CMHDZ_HUD_CHAR_INVALID = 0,
|
||
CMHDZ_HUD_CHAR_SPACE = 1,
|
||
CMHDZ_HUD_CHAR_0 = 2,
|
||
CMHDZ_HUD_CHAR_1 = 3,
|
||
CMHDZ_HUD_CHAR_2 = 4,
|
||
CMHDZ_HUD_CHAR_3 = 5,
|
||
CMHDZ_HUD_CHAR_4 = 6,
|
||
CMHDZ_HUD_CHAR_5 = 7,
|
||
CMHDZ_HUD_CHAR_6 = 8,
|
||
CMHDZ_HUD_CHAR_7 = 9,
|
||
CMHDZ_HUD_CHAR_8 = 10,
|
||
CMHDZ_HUD_CHAR_9 = 11,
|
||
CMHDZ_HUD_CHAR_A = 12,
|
||
CMHDZ_HUD_CHAR_B = 13,
|
||
CMHDZ_HUD_CHAR_C = 14,
|
||
CMHDZ_HUD_CHAR_D = 15,
|
||
CMHDZ_HUD_CHAR_E = 16,
|
||
CMHDZ_HUD_CHAR_F = 17,
|
||
CMHDZ_HUD_CHAR_G = 18,
|
||
CMHDZ_HUD_CHAR_H = 19,
|
||
CMHDZ_HUD_CHAR_I = 20,
|
||
CMHDZ_HUD_CHAR_J = 21,
|
||
CMHDZ_HUD_CHAR_K = 22,
|
||
CMHDZ_HUD_CHAR_L = 23,
|
||
CMHDZ_HUD_CHAR_M = 24,
|
||
CMHDZ_HUD_CHAR_N = 25,
|
||
CMHDZ_HUD_CHAR_O = 26,
|
||
CMHDZ_HUD_CHAR_P = 27,
|
||
CMHDZ_HUD_CHAR_Q = 28,
|
||
CMHDZ_HUD_CHAR_R = 29,
|
||
CMHDZ_HUD_CHAR_S = 30,
|
||
CMHDZ_HUD_CHAR_T = 31,
|
||
CMHDZ_HUD_CHAR_U = 32,
|
||
CMHDZ_HUD_CHAR_V = 33,
|
||
CMHDZ_HUD_CHAR_W = 34,
|
||
CMHDZ_HUD_CHAR_X = 35,
|
||
CMHDZ_HUD_CHAR_Y = 36,
|
||
CMHDZ_HUD_CHAR_Z = 37,
|
||
CMHDZ_HUD_CHAR_APOSTROPHE = 38,
|
||
CMHDZ_HUD_CHAR_BACKSLASH = 39,
|
||
CMHDZ_HUD_CHAR_CLOSEBRACKET = 40,
|
||
CMHDZ_HUD_CHAR_COLON = 41,
|
||
CMHDZ_HUD_CHAR_COMMA = 42,
|
||
CMHDZ_HUD_CHAR_DOLLAR = 43,
|
||
CMHDZ_HUD_CHAR_EXCLAMATION = 44,
|
||
CMHDZ_HUD_CHAR_FULL_STOP = 45,
|
||
CMHDZ_HUD_CHAR_MINUS = 46,
|
||
CMHDZ_HUD_CHAR_OPEN_BRACKET = 47,
|
||
CMHDZ_HUD_CHAR_PLUS = 48,
|
||
CMHDZ_HUD_CHAR_QUESTION = 49,
|
||
CMHDZ_HUD_CHAR_SEMI_COLON = 50,
|
||
CMHDZ_HUD_CHAR_SPEECH = 51,
|
||
CMHDZ_HUD_CHAR_STAR = 52,
|
||
CMHDZ_HUD_CHAR_PERCENT = 53,
|
||
NUM_CMHDZ_HUD_CHAR
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_HUD_TEXTPIVOT
|
||
CMHDZ_HUD_TEXTPIVOT_LEFT,
|
||
CMHDZ_HUD_TEXTPIVOT_CENTER,
|
||
CMHDZ_HUD_TEXTPIVOT_RIGHT,
|
||
CMHDZ_HUD_TEXTPIVOT_USE_STORED
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_ITEM_DATA_BITS
|
||
CMHDZ_ITEM_DATA_BITS_NONE = 0,
|
||
CMHDZ_ITEM_DATA_BITS_SPAWNED = BIT0,
|
||
CMHDZ_ITEM_DATA_BITS_RENDERING = BIT1,
|
||
CMHDZ_ITEM_DATA_BITS_SHOT = BIT2
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_ITEM_TYPES
|
||
CMHDZ_ITEM_NONE = -1,
|
||
CMHDZ_ITEM_HEALTH = 0,
|
||
CMHDZ_ITEM_SHIELD,
|
||
CMHDZ_ITEM_BUFF,
|
||
CMHDZ_ITEM_VIDEOTAPE,
|
||
CMHDZ_ITEM_NAIL_GUN_AMMO,
|
||
CMHDZ_ITEM_RIFLE_AMMO,
|
||
CMHDZ_ITEM_SHOTGUN_AMMO,
|
||
CMHDZ_ITEM_MOLOTOV,
|
||
CMHDZ_ITEM_NAILBOMB,
|
||
CMHDZ_ITEM_BRICK,
|
||
CMHDZ_ITEM_DYNAMITE,
|
||
CMHDZ_ITEM_CASH,
|
||
NUM_CMHDZ_ITEM_TYPES
|
||
ENDENUM
|
||
|
||
// Bits for one shot Director dialogue
|
||
ENUM CMHDZ_DIRECTOR_BITS
|
||
CMHDZ_DIRECTOR_BITS_Level_Start_TRIGGER,
|
||
CMHDZ_DIRECTOR_BITS_Level_Start_PLAYED,
|
||
CMHDZ_DIRECTOR_BITS_First_Enemy_Appear_PLAYED,
|
||
CMHDZ_DIRECTOR_BITS_Enemy_Kill_PLAYED,
|
||
// CMHDZ_DIRECTOR_BITS_Enemy_Kill_Headshot_PLAYED,
|
||
CMHDZ_DIRECTOR_BITS_Enemy_Kill_Nailgun_PLAYED,
|
||
CMHDZ_DIRECTOR_BITS_Kill_Streak_PLAYED,
|
||
CMHDZ_DIRECTOR_BITS_Kill_Streak_Long_PLAYED,
|
||
CMHDZ_DIRECTOR_BITS_Kill_Streak_Extreme_PLAYED,
|
||
|
||
CMHDZ_DIRECTOR_BITS_Player_Damage_Played,
|
||
CMHDZ_DIRECTOR_BITS_Player_Near_Death_Played,
|
||
|
||
CMHDZ_DIRECTOR_BITS_Props_Destroyed_Played
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_LEVEL_SCREEN
|
||
CMHDZ_FADING_IN = 0,
|
||
CMHDZ_PLAY,
|
||
CMHDZ_WAIT_FOR_DEAD,
|
||
CMHDZ_FADING_OUT
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_LEVELS
|
||
CMHDZ_LEVEL_CITY = 0,
|
||
CMHDZ_LEVEL_SCRAPYARD,
|
||
CMHDZ_LEVEL_ASYLUM,
|
||
CMHDZ_LEVEL_PARK,
|
||
CMHDZ_LEVEL_SLAUGHTERHOUSE,
|
||
CMHDZ_MAX_LEVELS
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_LEVELS_BITSET
|
||
CMHDZ_LEVELS_BIT_STOPPED = 0,
|
||
CMHDZ_LEVELS_BIT_TOWN_LARGE_BUILDING_PASSED_BY1,
|
||
CMHDZ_LEVELS_BIT_REPLAYING_LEVEL,
|
||
CMHDZ_LEVELS_BIT_USED_SPECIAL_WEAPON,
|
||
CMHDZ_LEVELS_BIT_DONE_RESULTS_SCREEN_AUDIO,
|
||
CMHDZ_LEVELS_BIT_ADDED_ON_ACCURACY_BONUS,
|
||
CMHDZ_LEVELS_BIT_PLAYED_DEATH_SCREEN_AUDIO,
|
||
CMHDZ_LEVELS_BIT_PLAYED_RESULTS_SCORE_AUDIO,
|
||
CMHDZ_LEVELS_BIT_PLAYED_ACCURACY_SCORE_AUDIO,
|
||
CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_MONKEY_KILL,
|
||
CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_BUNNY_KILL
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_MENU_OPTIONS
|
||
CMHDZ_START = 0,
|
||
CMHDZ_SCORES,
|
||
CMHDZ_WANTED_1,
|
||
CMHDZ_WANTED_2,
|
||
CMHDZ_WANTED_3,
|
||
CMHDZ_WANTED_4,
|
||
CMHDZ_WANTED_5,
|
||
CMHDZ_REWIND,
|
||
CMHDZ_EJECT
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_MUSIC_BITS
|
||
CMHDZ_MUSIC_BIT_STARTED_INTRO,
|
||
CMHDZ_MUSIC_BIT_STARTED_TITLE,
|
||
//CMHDZ_MUSIC_BIT_STARTED_LEVEL,
|
||
CMHDZ_MUSIC_BIT_STOPPED,
|
||
CMHDZ_MUSIC_BIT_DEATH
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_MUSIC_EVENTS
|
||
CMHDZ_MUSIC_EVENT_INVALID = -1,
|
||
CMHDZ_MUSIC_EVENT_INTRO,
|
||
CMHDZ_MUSIC_EVENT_TITLE,
|
||
CMHDZ_MUSIC_EVENT_GOSPEL,
|
||
CMHDZ_MUSIC_EVENT_BUCKLE,
|
||
CMHDZ_MUSIC_EVENT_HILLBILLY,
|
||
CMHDZ_MUSIC_EVENT_RUCKUS,
|
||
CMHDZ_MUSIC_EVENT_BARREL,
|
||
CMHDZ_MUSIC_EVENT_DEATH,
|
||
CMHDZ_MUSIC_EVENT_HIT,
|
||
CMHDZ_MUSIC_EVENT_HIT_ALT,
|
||
CMHDZ_MUSIC_EVENT_STOP,
|
||
CMHDZ_MUSIC_EVENT_FINAL_BOSS,
|
||
CMHDZ_MUSIC_EVENT_FINAL_BOSS_DEFEATED
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_PLAYER_BITSET
|
||
CMHDZ_PLAYER_BIT_INVULNERABILE,
|
||
CMHDZ_PLAYER_BIT_HIDE_RETICULE,
|
||
CMHDZ_PLAYER_BIT_INIT_NEW_CHAIN,
|
||
// CMHDZ_PLAYER_BIT_NAILGUN_OVERHEAT,
|
||
// CMHDZ_PLAYER_BIT_NAILGUN_STOPPED_SHOOTING,
|
||
CMHDZ_PLAYER_BIT_RELOADED_FIRST_BULLET,
|
||
CMHDZ_PLAYER_BIT_QUAD_DAMAGE,
|
||
CMHDZ_PLAYER_BIT_DYING
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_PLAYER_PED_ANIM_STATE
|
||
CMHDZ_PLAYER_PED_ANIM_IDLE,
|
||
CMHDZ_PLAYER_PED_ANIM_IDLE_TO_AIM,
|
||
CMHDZ_PLAYER_PED_ANIM_AIM_IDLE,
|
||
CMHDZ_PLAYER_PED_ANIM_PLAY_IDLE,
|
||
CMHDZ_PLAYER_PED_ANIM_AIM_IDLE_TO_LOSE_LIFE,
|
||
CMHDZ_PLAYER_PED_ANIM_AIM_IDLE_TO_COMPLETE_SCREEN,
|
||
CMHDZ_PLAYER_PED_ANIM_AIM_IDLE_TO_COMPLETE_GAME
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_PLAYER_WEAPON
|
||
CMHDZ_PLAYER_WEAPON_NONE = -1,
|
||
CMHDZ_PLAYER_WEAPON_REVOLVER = 0,
|
||
//CMHDZ_PLAYER_WEAPON_REVOLVER,
|
||
CMHDZ_PLAYER_WEAPON_RIFLE,
|
||
CMHDZ_PLAYER_WEAPON_SHOTGUN,
|
||
CMHDZ_PLAYER_WEAPON_NAILGUN,
|
||
CMHDZ_PLAYER_WEAPON_MAX
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_PLAYER_WEAPON_TYPE
|
||
CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT = 0,
|
||
CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL,
|
||
CMHDZ_PLAYER_WEAPON_TYPE_MAX
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_PROJECTILE_TYPES
|
||
CMHDZ_PROJECTILE_NONE,
|
||
CMHDZ_PROJECTILE_DYNAMITE,
|
||
CMHDZ_PROJECTILE_MOLOTOV,
|
||
CMHDZ_PROJECTILE_BRICK,
|
||
CMHDZ_PROJECTILE_NAILBOMB,
|
||
|
||
// Bearsy projectiles
|
||
CMHDZ_PROJECTILE_BONE,
|
||
CMHDZ_PROJECTILE_JOWL,
|
||
CMHDZ_PROJECTILE_LEG,
|
||
CMHDZ_PROJECTILE_TROTTER,
|
||
|
||
NUM_CMHDZ_PROJECTILE_TYPES
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_PROJECTILE_STATE
|
||
CMHDZ_PROJECTILE_STATE_INACTIVE,
|
||
CMHDZ_PROJECTILE_STATE_AIRBORNE,
|
||
CMHDZ_PROJECTILE_STATE_IMPACT
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_REPLAY_BITS
|
||
CMHDZ_REPLAY_BITS_NONE = 0,
|
||
CMHDZ_REPLAY_BITS_WAS_PLAYBACK_ON = BIT0,
|
||
CMHDZ_REPLAY_BITS_WAS_RECORDING_ON = BIT1,
|
||
CMHDZ_REPLAY_BITS_IS_NEW_FRAME = BIT2,
|
||
CMHDZ_REPLAY_BITS_IS_RECORD_FRAME = BIT3,
|
||
CMHDZ_REPLAY_BITS_IS_PLAYBACK = BIT4,
|
||
CMHDZ_REPLAY_BITS_IS_RECORDING = BIT5
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_RESULT_SCREEN_STATE
|
||
CMHDZ_RESULT_SCREEN_STATE_INIT,
|
||
CMHDZ_RESULT_SCREEN_STATE_DEAD_SCREEN,
|
||
CMHDZ_RESULT_SCREEN_STATE_START_REWIND,
|
||
CMHDZ_RESULT_SCREEN_STATE_REWIND,
|
||
CMHDZ_RESULT_SCREEN_STATE_COMPLETE,
|
||
CMHDZ_RESULT_SCREEN_STATE_GOTO_LEADERBOARD,
|
||
NUM_CMHDZ_RESULT_SCREEN_STATE
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_RETICLE_BITS
|
||
CMHDZ_RETICLE_BITS_NONE = 0,
|
||
CMHDZ_RETICLE_BITS_IS_SHOOTING = BIT0,
|
||
CMHDZ_RETICLE_BITS_HIT_TARGET = BIT1,
|
||
CMHDZ_RETICLE_BITS_DESTROYED_TARGET = BIT2,
|
||
CMHDZ_RETICLE_BITS_NO_AMMO = BIT3
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_SCORE_TYPE
|
||
CMHDZ_SCORE_TYPE_ENEMY,
|
||
CMHDZ_SCORE_TYPE_ENEMY_HEADSHOT,
|
||
CMHDZ_SCORE_TYPE_SCENERY,
|
||
CMHDZ_SCORE_TYPE_ENEMY_EXPLOSION,
|
||
CMHDZ_SCORE_TYPE_ANIMAL,
|
||
CMHDZ_SCORE_TYPE_TAPE,
|
||
CMHDZ_SCORE_TYPE_CASH,
|
||
CMHDZ_SCORE_TYPE_BEARSY,
|
||
CMHDZ_SCORE_TYPE_BEARSY_KILL
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_SCORE_INTEGER_TYPE
|
||
CMHDZ_SCORE_INTEGER_TYPE_HI_SCORE,
|
||
CMHDZ_SCORE_INTEGER_TYPE_MY_SCORE,
|
||
CMHDZ_SCORE_INTEGER_TYPE_RED_SCORE,
|
||
CMHDZ_SCORE_INTEGER_TYPE_BLUE_SCORE
|
||
ENDENUM
|
||
|
||
// The order of this enum is important:
|
||
// The 1st 255 entries are enemy sprites and other things which will be shown by the replay system
|
||
ENUM CMHDZ_SPRITE
|
||
CMHDZ_SPRITE_NONE,
|
||
CMHDZ_SPRITE_GANG_01_ATTACKING,
|
||
CMHDZ_SPRITE_GANG_01_DEAD,
|
||
CMHDZ_SPRITE_GANG_01_RUNNING_01,
|
||
CMHDZ_SPRITE_GANG_01_RUNNING_02,
|
||
CMHDZ_SPRITE_GANG_01_THROWING_01,
|
||
CMHDZ_SPRITE_GANG_01_THROWING_02,
|
||
CMHDZ_SPRITE_GANG_01_THROWING_03,
|
||
CMHDZ_SPRITE_GANG_01_THROWING_04,
|
||
CMHDZ_SPRITE_GANG_01_THROWING_05,
|
||
CMHDZ_SPRITE_GANG_01_HEADSHOT_01,
|
||
CMHDZ_SPRITE_GANG_01_HEADSHOT_02,
|
||
CMHDZ_SPRITE_GANG_01_HEADSHOT_03,
|
||
CMHDZ_SPRITE_GANG_01_HEADSHOT_04,
|
||
CMHDZ_SPRITE_GANG_01_HEADSHOT_05,
|
||
CMHDZ_SPRITE_GANG_01_HEADSHOT_06,
|
||
CMHDZ_SPRITE_GANG_01_HEADSHOT_07,
|
||
CMHDZ_SPRITE_GANG_01_HEADSHOT_08,
|
||
CMHDZ_SPRITE_GANG_01_HEADSHOT_09,
|
||
CMHDZ_SPRITE_GANG_02_ATTACKING,
|
||
CMHDZ_SPRITE_GANG_02_DEAD,
|
||
CMHDZ_SPRITE_GANG_02_RUNNING_01,
|
||
CMHDZ_SPRITE_GANG_02_RUNNING_02,
|
||
CMHDZ_SPRITE_GANG_02_THROWING_01,
|
||
CMHDZ_SPRITE_GANG_02_THROWING_02,
|
||
CMHDZ_SPRITE_GANG_02_THROWING_03,
|
||
CMHDZ_SPRITE_GANG_02_THROWING_04,
|
||
CMHDZ_SPRITE_GANG_02_THROWING_05,
|
||
CMHDZ_SPRITE_GANG_02_THROWING_07,
|
||
CMHDZ_SPRITE_GANG_02_THROWING_08,
|
||
CMHDZ_SPRITE_GANG_02_THROWING_09,
|
||
CMHDZ_SPRITE_GANG_02_HEADSHOT_01,
|
||
CMHDZ_SPRITE_GANG_02_HEADSHOT_02,
|
||
CMHDZ_SPRITE_GANG_02_HEADSHOT_03,
|
||
CMHDZ_SPRITE_GANG_02_HEADSHOT_04,
|
||
CMHDZ_SPRITE_GANG_02_HEADSHOT_05,
|
||
CMHDZ_SPRITE_GANG_02_HEADSHOT_06,
|
||
CMHDZ_SPRITE_GANG_02_HEADSHOT_07,
|
||
CMHDZ_SPRITE_GANG_02_HEADSHOT_08,
|
||
CMHDZ_SPRITE_GANG_02_HEADSHOT_09,
|
||
CMHDZ_SPRITE_GANG_03_ATTACKING,
|
||
CMHDZ_SPRITE_GANG_03_DEAD,
|
||
CMHDZ_SPRITE_GANG_03_RUNNING_01,
|
||
CMHDZ_SPRITE_GANG_03_RUNNING_02,
|
||
CMHDZ_SPRITE_GANG_03_THROWING_01,
|
||
CMHDZ_SPRITE_GANG_03_THROWING_02,
|
||
CMHDZ_SPRITE_GANG_03_THROWING_03,
|
||
CMHDZ_SPRITE_GANG_03_THROWING_04,
|
||
CMHDZ_SPRITE_GANG_03_THROWING_05,
|
||
CMHDZ_SPRITE_GANG_03_HEADSHOT_01,
|
||
CMHDZ_SPRITE_GANG_03_HEADSHOT_02,
|
||
CMHDZ_SPRITE_GANG_03_HEADSHOT_03,
|
||
CMHDZ_SPRITE_GANG_03_HEADSHOT_04,
|
||
CMHDZ_SPRITE_GANG_03_HEADSHOT_05,
|
||
CMHDZ_SPRITE_GANG_03_HEADSHOT_06,
|
||
CMHDZ_SPRITE_GANG_03_HEADSHOT_07,
|
||
CMHDZ_SPRITE_GANG_03_HEADSHOT_08,
|
||
CMHDZ_SPRITE_GANG_03_HEADSHOT_09,
|
||
CMHDZ_SPRITE_GANG_04_ATTACKING,
|
||
CMHDZ_SPRITE_GANG_04_DEAD,
|
||
CMHDZ_SPRITE_GANG_04_RUNNING_01,
|
||
CMHDZ_SPRITE_GANG_04_RUNNING_02,
|
||
CMHDZ_SPRITE_GANG_04_THROWING_01,
|
||
CMHDZ_SPRITE_GANG_04_THROWING_02,
|
||
CMHDZ_SPRITE_GANG_04_THROWING_03,
|
||
CMHDZ_SPRITE_GANG_04_THROWING_04,
|
||
CMHDZ_SPRITE_GANG_04_THROWING_05,
|
||
CMHDZ_SPRITE_GANG_04_HEADSHOT_01,
|
||
CMHDZ_SPRITE_GANG_04_HEADSHOT_02,
|
||
CMHDZ_SPRITE_GANG_04_HEADSHOT_03,
|
||
CMHDZ_SPRITE_GANG_04_HEADSHOT_04,
|
||
CMHDZ_SPRITE_GANG_04_HEADSHOT_05,
|
||
CMHDZ_SPRITE_GANG_04_HEADSHOT_06,
|
||
CMHDZ_SPRITE_GANG_04_HEADSHOT_07,
|
||
CMHDZ_SPRITE_GANG_04_HEADSHOT_08,
|
||
CMHDZ_SPRITE_GANG_04_HEADSHOT_09,
|
||
CMHDZ_SPRITE_GANG_05_ATTACKING,
|
||
CMHDZ_SPRITE_GANG_05_DEAD,
|
||
CMHDZ_SPRITE_GANG_05_RUNNING_01,
|
||
CMHDZ_SPRITE_GANG_05_RUNNING_02,
|
||
CMHDZ_SPRITE_GANG_05_THROWING_01,
|
||
CMHDZ_SPRITE_GANG_05_THROWING_02,
|
||
CMHDZ_SPRITE_GANG_05_THROWING_03,
|
||
CMHDZ_SPRITE_GANG_05_THROWING_04,
|
||
CMHDZ_SPRITE_GANG_05_THROWING_05,
|
||
CMHDZ_SPRITE_GANG_05_HEADSHOT_01,
|
||
CMHDZ_SPRITE_GANG_05_HEADSHOT_02,
|
||
CMHDZ_SPRITE_GANG_05_HEADSHOT_03,
|
||
CMHDZ_SPRITE_GANG_05_HEADSHOT_04,
|
||
CMHDZ_SPRITE_GANG_05_HEADSHOT_05,
|
||
CMHDZ_SPRITE_GANG_05_HEADSHOT_06,
|
||
CMHDZ_SPRITE_GANG_05_HEADSHOT_07,
|
||
CMHDZ_SPRITE_GANG_05_HEADSHOT_08,
|
||
CMHDZ_SPRITE_GANG_05_HEADSHOT_09,
|
||
CMHDZ_SPRITE_GANG_RARE_BUNNY_RUNNING_01,
|
||
CMHDZ_SPRITE_GANG_RARE_BUNNY_RUNNING_02,
|
||
CMHDZ_SPRITE_GANG_RARE_BUNNY_DEAD,
|
||
CMHDZ_SPRITE_GANG_RARE_MONKEY_RUNNING_01,
|
||
CMHDZ_SPRITE_GANG_RARE_MONKEY_RUNNING_02,
|
||
CMHDZ_SPRITE_GANG_RARE_MONKEY_DEAD,
|
||
CMHDZ_SPRITE_GANG_RARE_RAT_RUNNING_01,
|
||
CMHDZ_SPRITE_GANG_RARE_RAT_RUNNING_02,
|
||
CMHDZ_SPRITE_GANG_BURNING_01,
|
||
CMHDZ_SPRITE_GANG_BURNING_02,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_01_A,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_01_A_ATTACK,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_01_B,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_01_DEAD,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_01_HEADSHOT,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_02_A,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_02_A_ATTACK,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_02_B,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_02_DEAD,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_02_HEADSHOT,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_03_A,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_03_B,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_03_DEAD,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_03_HEADSHOT,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A_ATTACK,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_04_B,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A_DEAD,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_04_B_DEAD,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A_HEADSHOT,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_04_B_HEADSHOT,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_05_A,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B_ATTACK,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_05_A_DEAD,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B_DEAD,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_05_A_HEADSHOT,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B_HEADSHOT,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_BURNING_01,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_BURNING_02,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_BURNING_03,
|
||
CMHDZ_SPRITE_FOREGROUND_ENEMY_BURNING_04,
|
||
CMHDZ_SPRITE_FG_ENEMY_GUNFIRE,
|
||
CMHDZ_SPRITE_THROWING_DYNAMITE_LARGE_01,
|
||
CMHDZ_SPRITE_THROWING_DYNAMITE_LARGE_02,
|
||
CMHDZ_SPRITE_THROWING_DYNAMITE_MEDIUM_01,
|
||
CMHDZ_SPRITE_THROWING_DYNAMITE_MEDIUM_02,
|
||
CMHDZ_SPRITE_THROWING_DYNAMITE_SMALL_01,
|
||
CMHDZ_SPRITE_THROWING_DYNAMITE_SMALL_02,
|
||
CMHDZ_SPRITE_THROWING_MOLOTOV_LARGE,
|
||
CMHDZ_SPRITE_THROWING_MOLOTOV_MEDIUM,
|
||
CMHDZ_SPRITE_THROWING_MOLOTOV_SMALL,
|
||
CMHDZ_SPRITE_THROWING_NAILBOMB_LARGE,
|
||
CMHDZ_SPRITE_THROWING_NAILBOMB_MEDIUM,
|
||
CMHDZ_SPRITE_THROWING_NAILBOMB_SMALL,
|
||
CMHDZ_SPRITE_THROWING_BRICK_LARGE,
|
||
CMHDZ_SPRITE_THROWING_BRICK_MEDIUM,
|
||
CMHDZ_SPRITE_THROWING_BRICK_SMALL,
|
||
CMHDZ_SPRITE_BEARSY_BONE_HIT_01,
|
||
CMHDZ_SPRITE_BEARSY_BONE_HIT_02,
|
||
CMHDZ_SPRITE_BEARSY_BONE_LARGE_01,
|
||
CMHDZ_SPRITE_BEARSY_BONE_LARGE_02,
|
||
CMHDZ_SPRITE_BEARSY_BONE_MED_01,
|
||
CMHDZ_SPRITE_BEARSY_BONE_MED_02,
|
||
CMHDZ_SPRITE_BEARSY_BONE_SMALL_01,
|
||
CMHDZ_SPRITE_BEARSY_BONE_SMALL_02,
|
||
CMHDZ_SPRITE_BEARSY_JOWL_HIT_01,
|
||
CMHDZ_SPRITE_BEARSY_JOWL_HIT_02,
|
||
CMHDZ_SPRITE_BEARSY_JOWL_LARGE_01,
|
||
CMHDZ_SPRITE_BEARSY_JOWL_LARGE_02,
|
||
CMHDZ_SPRITE_BEARSY_JOWL_MED_01,
|
||
CMHDZ_SPRITE_BEARSY_JOWL_MED_02,
|
||
CMHDZ_SPRITE_BEARSY_JOWL_SMALL_01,
|
||
CMHDZ_SPRITE_BEARSY_JOWL_SMALL_02,
|
||
CMHDZ_SPRITE_BEARSY_LEG_HIT_01,
|
||
CMHDZ_SPRITE_BEARSY_LEG_HIT_02,
|
||
CMHDZ_SPRITE_BEARSY_LEG_LARGE_01,
|
||
CMHDZ_SPRITE_BEARSY_LEG_LARGE_02,
|
||
CMHDZ_SPRITE_BEARSY_LEG_MED_01,
|
||
CMHDZ_SPRITE_BEARSY_LEG_MED_02,
|
||
CMHDZ_SPRITE_BEARSY_LEG_SMALL_01,
|
||
CMHDZ_SPRITE_BEARSY_LEG_SMALL_02,
|
||
CMHDZ_SPRITE_BEARSY_TROTTER_HIT_01,
|
||
CMHDZ_SPRITE_BEARSY_TROTTER_HIT_02,
|
||
CMHDZ_SPRITE_BEARSY_TROTTER_LARGE_01,
|
||
CMHDZ_SPRITE_BEARSY_TROTTER_LARGE_02,
|
||
CMHDZ_SPRITE_BEARSY_TROTTER_MED_01,
|
||
CMHDZ_SPRITE_BEARSY_TROTTER_MED_02,
|
||
CMHDZ_SPRITE_BEARSY_TROTTER_SMALL_01,
|
||
CMHDZ_SPRITE_BEARSY_TROTTER_SMALL_02,
|
||
CMHDZ_SPRITE_THROWN_WEAPON_EXP_01,
|
||
CMHDZ_SPRITE_THROWN_WEAPON_EXP_02,
|
||
CMHDZ_SPRITE_TRASHBAG_BIG,
|
||
CMHDZ_SPRITE_TRASHBAG_SMALL,
|
||
CMHDZ_SPRITE_TRASHCAN_BIG_01,
|
||
CMHDZ_SPRITE_TRASHCAN_BIG_02,
|
||
CMHDZ_SPRITE_TRASHCAN_SMALL_01,
|
||
CMHDZ_SPRITE_TRASHCAN_SMALL_02,
|
||
CMHDZ_SPRITE_OUCH1,
|
||
CMHDZ_SPRITE_FENCE,
|
||
CMHDZ_SPRITE_CITY_BUILDING_06,
|
||
CMHDZ_SPRITE_CITY_BUILDING_07,
|
||
CMHDZ_SPRITE_CITY_BUILDING_08,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_01,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_02,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_03,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_04,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_01,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_02,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_03,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_04,
|
||
CMHDZ_SPRITE_THEMEPARK_BUILDING_1,
|
||
CMHDZ_SPRITE_THEMEPARK_BUILDING_2,
|
||
CMHDZ_SPRITE_THEMEPARK_BUILDING_3,
|
||
CMHDZ_SPRITE_THEMEPARK_BUILDING_4,
|
||
CMHDZ_SPRITE_THEMEPARK_CLOWNBOARD_1,
|
||
CMHDZ_SPRITE_THEMEPARK_CLOWNBOARD_2,
|
||
CMHDZ_SPRITE_ASYLUM_PROP_MD_BED,
|
||
CMHDZ_SPRITE_ASYLUM_PROP_MD_WHEELCHAIR,
|
||
CMHDZ_SPRITE_ASYLUM_PROP_MD_MATTRESS,
|
||
CMHDZ_SPRITE_ASYLUM_PROP_LIGHT_STATE_1,
|
||
CMHDZ_SPRITE_ASYLUM_PROP_LIGHT_STATE_2,
|
||
CMHDZ_SPRITE_ASYLUM_RADIATOR_PROP,
|
||
CMHDZ_SPRITE_ASYLUM_RADIATOR_DOOR,
|
||
CMHDZ_SPRITE_ASYLUM_GRAFFITI_1,
|
||
CMHDZ_SPRITE_ASYLUM_GRAFFITI_2,
|
||
CMHDZ_SPRITE_ASYLUM_GRAFFITI_3,
|
||
CMHDZ_SPRITE_ROCKS,
|
||
CMHDZ_SPRITE_WATER_TANK,
|
||
CMHDZ_SPRITE_FLOOR_GRASS,
|
||
CMHDZ_SPRITE_LEVEL_03_FOREST_ROCKS,
|
||
CMHDZ_SPRITE_TREE_01,
|
||
CMHDZ_SPRITE_TREE_02,
|
||
CMHDZ_SPRITE_BARREL_HORIZONTAL,
|
||
CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_ASSETS_10,
|
||
CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_CAVE_TILE,
|
||
CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_CAVE_TILE_02,
|
||
CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_MINECART,
|
||
CMHDZ_SPRITE_THEMEPARK_MINECART_WHEEL_01,
|
||
CMHDZ_SPRITE_THEMEPARK_MINECART_WHEEL_02,
|
||
CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_ROCK,
|
||
CMHDZ_SPRITE_PROP_BARRELS,
|
||
CMHDZ_SPRITE_PROP_FOREGROUND_TRASH,
|
||
CMHDZ_SPRITE_PROP_BARRIER,
|
||
CMHDZ_SPRITE_WOODENSTRUCTURE,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_DOOR_01,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_DOOR_02,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_WINDOW,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_MEATGRINDER_01,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_MEATGRINDER_02,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_PIG_01,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_PIG_02,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_01,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_02,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_03,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_01,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_02,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_03,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_04,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_PIG_BATCH,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_MEATHOOK,
|
||
CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_LIGHT,
|
||
CMHDZ_SPRITE_CACTUS_1,
|
||
CMHDZ_SPRITE_CACTUS_2,
|
||
CMHDZ_SPRITE_CACTUS_3,
|
||
CMHDZ_SPRITE_PROP_BUSH_LARGE,
|
||
CMHDZ_SPRITE_PROP_BUSH_SMALL,
|
||
CMHDZ_SPRITE_PROP_CACTUS_07,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_FENCE,
|
||
CMHDZ_SPRITE_SCRAPYARD_PROP_BG_CARS,
|
||
CMHDZ_SPRITE_PROP_ROCK_LARGE,
|
||
CMHDZ_SPRITE_PROP_ROCK_SMALL,
|
||
CMHDZ_SPRITE_ITEM_HEALTH,
|
||
CMHDZ_SPRITE_ITEM_SHIELD,
|
||
CMHDZ_SPRITE_ITEM_BUFF,
|
||
CMHDZ_SPRITE_ITEM_ALCOHOL,
|
||
CMHDZ_SPRITE_ITEM_GOLD_BARS,
|
||
CMHDZ_SPRITE_ITEM_QUAD_DAMAGE,
|
||
CMHDZ_SPRITE_ITEM_VIDEOTAPE,
|
||
//CMHDZ_SPRITE_ITEM_REVOLVER_AMMO,
|
||
CMHDZ_SPRITE_ITEM_MACHINE_GUN_AMMO,
|
||
CMHDZ_SPRITE_ITEM_RIFLE_AMMO,
|
||
CMHDZ_SPRITE_ITEM_SHOTGUN_AMMO,
|
||
CMHDZ_SPRITE_ITEM_MOLOTOV_AMMO,
|
||
CMHDZ_SPRITE_ITEM_NAILBOMB_AMMO,
|
||
CMHDZ_SPRITE_ITEM_CASH,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_1,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_2,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_3,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_4,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_5,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_6,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_7,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_8,
|
||
//CMHDZ_SPRITE_GORE_BACKGROUND_9,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_10,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_11,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_12,
|
||
CMHDZ_SPRITE_GORE_BACKGROUND_13,
|
||
CMHDZ_SPRITE_BEARSY_WALK_FRAME_01,
|
||
CMHDZ_SPRITE_BEARSY_WALK_FRAME_02,
|
||
CMHDZ_SPRITE_BEARSY_WALK_FRAME_03,
|
||
CMHDZ_SPRITE_BEARSY_WALK_FRAME_04,
|
||
CMHDZ_SPRITE_BEARSY_WALK_FRAME_05,
|
||
CMHDZ_SPRITE_BEARSY_WALK_FRAME_IDLE,
|
||
CMHDZ_SPRITE_BEARSY_THROWING_01,
|
||
CMHDZ_SPRITE_BEARSY_THROWING_02,
|
||
CMHDZ_SPRITE_BEARSY_THROWING_03,
|
||
CMHDZ_SPRITE_BEARSY_BACK_PAIN,
|
||
CMHDZ_SPRITE_BEARSY_FORE_PAIN_1,
|
||
CMHDZ_SPRITE_BEARSY_FORE_PAIN_2,
|
||
CMHDZ_SPRITE_BEARSY_FORE_PAIN_3,
|
||
CMHDZ_SPRITE_BEARSY_FORE_PAIN_4,
|
||
CMHDZ_SPRITE_BEARSY_FORE_PAIN_5,
|
||
CMHDZ_SPRITE_BEARSY_FORE_PAIN_6,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_01,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_02,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_03,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_04,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_05,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_01,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_02,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_03,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_04,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_05,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_01,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_02,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_03,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_04,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_01,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_02,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_03,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_04,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_05,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_01,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_02,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_03,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_04,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_05,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_06,
|
||
CMHDZ_SPRITE_SCREEN_DAMAGE_RIP,
|
||
CMHDZ_SPRITE_SCREEN_DAMAGE_BLOOD_SPLATTER,
|
||
CMHDZ_SPRITE_BEARSY_BACKGROUND_STAGGERED,
|
||
CMHDZ_SPRITE_BEARSY_FOREGROUND_STAGGERED,
|
||
CMHDZ_SPRITE_BEARSY_DEATH_01,
|
||
CMHDZ_SPRITE_BEARSY_DEATH_02,
|
||
CMHDZ_SPRITE_BEARSY_DEATH_PAIN_01,
|
||
CMHDZ_SPRITE_BEARSY_DEATH_PAIN_02,
|
||
CMHDZ_SPRITE_BEARSY_DEATH_PAIN_03,
|
||
CMHDZ_SPRITE_BEARSY_DEATH_PAIN_04,
|
||
CMHDZ_SPRITE_BEARSY_DEATH_PAIN_05,
|
||
CMHDZ_SPRITE_POWER_UP_LINE_01,
|
||
CMHDZ_SPRITE_POWER_UP_LINE_02,
|
||
CMHDZ_SPRITE_POWER_UP_LINE_03,
|
||
CMHDZ_SPRITE_POWER_UP_LINE_04,
|
||
CMHDZ_SPRITE_POWER_UP_LINE_05,
|
||
|
||
NUM_CMHDZ_SPRITE
|
||
ENDENUM
|
||
|
||
ENUM CMHDZ_TEXDICT
|
||
CMHDZ_TEXDICT_INVALID = -1,
|
||
CMHDZ_TEXDICT_BASE,
|
||
CMHDZ_TEXDICT_TITLE,
|
||
CMHDZ_TEXDICT_HUD,
|
||
CMHDZ_TEXDICT_FACADE,
|
||
CMHDZ_TEXDICT_LVLSELECT,
|
||
CMHDZ_TEXDICT_LVLCOMP,
|
||
CMHDZ_TEXDICT_LVL1,
|
||
CMHDZ_TEXDICT_LVL2,
|
||
CMHDZ_TEXDICT_LVL3,
|
||
CMHDZ_TEXDICT_LVL4,
|
||
CMHDZ_TEXDICT_LVL5,
|
||
CMHDZ_TEXDICT_FG_ENEMY_A,
|
||
CMHDZ_TEXDICT_FG_ENEMY_B,
|
||
CMHDZ_TEXDICT_FG_ENEMY_C,
|
||
CMHDZ_TEXDICT_FG_ENEMY_D,
|
||
//CMHDZ_TEXDICT_FG_ENEMY_D,
|
||
CMHDZ_TEXDICT_FG_ENEMY_E,
|
||
CMHDZ_TEXDICT_FG_ENEMY_E_2,
|
||
CMHDZ_TEXDICT_ENEMY_BURNING,
|
||
CMHDZ_TEXDICT_COMMON_PROPS,
|
||
CMHDZ_TEXDICT_RESULTS,
|
||
CMHDZ_TEXDICT_DEAD,
|
||
CMHDZ_TEXDICT_CH_GANG_A,
|
||
CMHDZ_TEXDICT_CH_GANG_B,
|
||
CMHDZ_TEXDICT_CH_GANG_C,
|
||
CMHDZ_TEXDICT_CH_GANG_D,
|
||
CMHDZ_TEXDICT_CH_GANG_E,
|
||
CMHDZ_TEXDICT_CH_GANG_RARE,
|
||
CMHDZ_TEXDICT_CH_CITY,
|
||
CMHDZ_TEXDICT_CH_SCRAPYARD,
|
||
CMHDZ_TEXDICT_CH_ASYLUM,
|
||
CMHDZ_TEXDICT_CH_THEMEPARK,
|
||
CMHDZ_TEXDICT_CH_SLAUGHTERHOUSE,
|
||
CMHDZ_TEXDICT_CH_VHSFONT,
|
||
CMHDZ_TEXDICT_CH_TITLES,
|
||
CMHDZ_TEXDICT_CH_DAMAGE,
|
||
CMHDZ_TEXDICT_CH_RESULTS,
|
||
|
||
CMHDZ_TEXDICT_BACKGROUND_GORE,
|
||
|
||
CMHDZ_TEXDICT_BEARSY,
|
||
CMHDZ_TEXDICT_BEARSY_THROWING,
|
||
CMHDZ_TEXDICT_BEARSY_FOREGROUND,
|
||
CMHDZ_TEXDICT_BEARSY_FOREGROUND_ATTACK,
|
||
CMHDZ_TEXDICT_BEARSY_BONE,
|
||
CMHDZ_TEXDICT_BEARSY_JOWL,
|
||
CMHDZ_TEXDICT_BEARSY_LEG,
|
||
CMHDZ_TEXDICT_BEARSY_TROTTER,
|
||
CMHDZ_TEXDICT_BEARSY_EFFECTS,
|
||
CMHDZ_TEXDICT_BEARSY_DEATH,
|
||
|
||
CMHDZ_TEXDICT_RETICLE_TYPES,
|
||
|
||
NUM_CMHDZ_TEXTDICT
|
||
ENDENUM
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
|
||
//----------------------------------
|
||
// NOT GENERATED ENUM FUNCTIONS
|
||
//----------------------------------
|
||
FUNC STRING CMHDZ_EDITOR_MODE_TO_STRING(INT iType)
|
||
SWITCH (iType)
|
||
CASE CMHDZ_EDITOR_MODE_ENEMY
|
||
RETURN "Enemy"
|
||
BREAK
|
||
CASE CMHDZ_EDITOR_MODE_COVER
|
||
RETURN "Cover"
|
||
BREAK
|
||
// CASE CMHDZ_EDITOR_MODE_HOSTAGE
|
||
// RETURN "Hostage"
|
||
// BREAK
|
||
CASE CMHDZ_EDITOR_MODE_ITEM
|
||
RETURN "Item"
|
||
BREAK
|
||
CASE CMHDZ_EDITOR_MODE_LEVEL
|
||
RETURN "Level"
|
||
BREAK
|
||
CASE CMHDZ_EDITOR_MODE_BOSS
|
||
RETURN "Boss"
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
RETURN "NONE"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_LANE_TO_STRING(INT iLane)
|
||
SWITCH (iLane)
|
||
CASE ciCMHDZ_LANE_BACKGROUND RETURN "ciCMHDZ_LANE_BACKGROUND"
|
||
CASE ciCMHDZ_LANE_FOREGROUND RETURN "ciCMHDZ_LANE_FOREGROUND"
|
||
CASE ciCMHDZ_LANE_MIDDLE RETURN "ciCMHDZ_LANE_MIDDLE"
|
||
CASE ciCMHDZ_LANE_POPUP_LHS RETURN "ciCMHDZ_LANE_POPUP_LHS"
|
||
CASE ciCMHDZ_LANE_POPUP_RHS RETURN "ciCMHDZ_LANE_POPUP_RHS"
|
||
ENDSWITCH
|
||
|
||
RETURN "ciCMHDZ_LANE_MIDDLE"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_GET_SERVER_STATE_AS_STRING(INT iState)
|
||
SWITCH iState
|
||
CASE CMHDZ_GAME_STATE_INIT RETURN "GAME_STATE_INIT"
|
||
CASE CMHDZ_GAME_STATE_RUNNING RETURN "GAME_STATE_RUNNING"
|
||
CASE CMHDZ_GAME_STATE_LEAVE RETURN "GAME_STATE_LEAVE"
|
||
CASE CMHDZ_GAME_STATE_END RETURN "GAME_STATE_END"
|
||
|
||
ENDSWITCH
|
||
|
||
RETURN "UNKNOWN"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_SCREEN_TO_STRING(INT iLane)
|
||
SWITCH (iLane)
|
||
CASE 0
|
||
CASE 1 RETURN "1"
|
||
CASE 2 RETURN "2"
|
||
CASE 3 RETURN "3"
|
||
CASE 4 RETURN "4"
|
||
CASE 5 RETURN "5"
|
||
CASE 6 RETURN "6"
|
||
CASE 7 RETURN "7"
|
||
CASE 8 RETURN "8"
|
||
CASE 9 RETURN "9"
|
||
CASE 10 RETURN "10"
|
||
CASE 11 RETURN "11"
|
||
CASE 12 RETURN "12"
|
||
CASE 13 RETURN "13"
|
||
CASE 14 RETURN "14"
|
||
CASE 15 RETURN "15"
|
||
CASE 16 RETURN "16"
|
||
CASE 17 RETURN "17"
|
||
ENDSWITCH
|
||
|
||
RETURN "UNKNOWN"
|
||
ENDFUNC
|
||
|
||
//----------------------------------
|
||
// AUTOGENERATED ENUM FUNCTIONS
|
||
//----------------------------------
|
||
FUNC STRING CMHDZ_ARCADE_CLIENT_STATE_TO_STRING(CMHDZ_ARCADE_CLIENT_STATE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_INIT RETURN "CMHDZ_ARCADE_CLIENT_STATE_INIT"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_REQUESTING_ASSETS RETURN "CMHDZ_ARCADE_CLIENT_STATE_REQUESTING_ASSETS"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_FIB RETURN "CMHDZ_ARCADE_CLIENT_STATE_FIB"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_INTRO RETURN "CMHDZ_ARCADE_CLIENT_STATE_INTRO"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_TITLE_SCREEN RETURN "CMHDZ_ARCADE_CLIENT_STATE_TITLE_SCREEN"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_LEVEL_SELECTION_MENU RETURN "CMHDZ_ARCADE_CLIENT_STATE_LEVEL_SELECTION_MENU"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_INIT_LEVEL RETURN "CMHDZ_ARCADE_CLIENT_STATE_INIT_LEVEL"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_PLAYING RETURN "CMHDZ_ARCADE_CLIENT_STATE_PLAYING"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_EDITOR_ACTIVE RETURN "CMHDZ_ARCADE_CLIENT_STATE_EDITOR_ACTIVE"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_RESULT_SCREEN RETURN "CMHDZ_ARCADE_CLIENT_STATE_RESULT_SCREEN"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_GAME_OVER RETURN "CMHDZ_ARCADE_CLIENT_STATE_GAME_OVER"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_OUTRO_MOVIE RETURN "CMHDZ_ARCADE_CLIENT_STATE_OUTRO_MOVIE"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_VIEW_LEADERBOARD RETURN "CMHDZ_ARCADE_CLIENT_STATE_VIEW_LEADERBOARD"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_EDIT_LEADERBOARD RETURN "CMHDZ_ARCADE_CLIENT_STATE_EDIT_LEADERBOARD"
|
||
CASE CMHDZ_ARCADE_CLIENT_STATE_CLEANUP RETURN "CMHDZ_ARCADE_CLIENT_STATE_CLEANUP"
|
||
CASE NUM_CMHDZ_ARCADE_CLIENT_STATE RETURN "NUM_CMHDZ_ARCADE_CLIENT_STATE"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_ARCADE_CLIENT_STATE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_ARCADE_CLIENT_SUBSTATE_TO_STRING(CMHDZ_ARCADE_CLIENT_SUBSTATE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ARCADE_CLIENT_SUBSTATE_INIT RETURN "CMHDZ_ARCADE_CLIENT_SUBSTATE_INIT"
|
||
CASE CMHDZ_ARCADE_CLIENT_SUBSTATE_ACTIVE RETURN "CMHDZ_ARCADE_CLIENT_SUBSTATE_ACTIVE"
|
||
CASE CMHDZ_ARCADE_CLIENT_SUBSTATE_CLEANUP RETURN "CMHDZ_ARCADE_CLIENT_SUBSTATE_CLEANUP"
|
||
CASE NUM_CMHDZ_ARCADE_CLIENT_SUBSTATE RETURN "NUM_CMHDZ_ARCADE_CLIENT_SUBSTATE"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_ARCADE_CLIENT_SUBSTATE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_ASSET_TYPES_TO_STRING(CMHDZ_ASSET_TYPES eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ASSET_INVALID RETURN "CMHDZ_ASSET_CMHDZ_ASSET_INVALID"
|
||
CASE CMHDZ_ASSET_CACTUS_1 RETURN "CMHDZ_ASSET_CACTUS_1"
|
||
CASE CMHDZ_ASSET_CACTUS_2 RETURN "CMHDZ_ASSET_CACTUS_2"
|
||
CASE CMHDZ_ASSET_CACTUS_3 RETURN "CMHDZ_ASSET_CACTUS_3"
|
||
CASE CMHDZ_ASSET_TRASHBAG_BIG RETURN "CMHDZ_ASSET_TRASHBAG_BIG"
|
||
CASE CMHDZ_ASSET_TRASHBAG_SMALL RETURN "CMHDZ_ASSET_TRASHBAG_SMALL"
|
||
CASE CMHDZ_ASSET_TRASHCAN_BIG_1 RETURN "CMHDZ_ASSET_TRASHCAN_BIG_1"
|
||
CASE CMHDZ_ASSET_TRASHCAN_BIG_2 RETURN "CMHDZ_ASSET_TRASHCAN_BIG_2"
|
||
CASE CMHDZ_ASSET_TRASHCAN_SMALL_1 RETURN "CMHDZ_ASSET_TRASHCAN_SMALL_1"
|
||
CASE CMHDZ_ASSET_TRASHCAN_SMALL_2 RETURN "CMHDZ_ASSET_TRASHCAN_SMALL_2"
|
||
CASE CMHDZ_ASSET_BUSH_1 RETURN "CMHDZ_ASSET_BUSH_1"
|
||
CASE CMHDZ_ASSET_BUSH_2 RETURN "CMHDZ_ASSET_BUSH_2"
|
||
CASE CMHDZ_ASSET_ROCK_SMALL RETURN "CMHDZ_ASSET_ROCK_SMALL"
|
||
CASE CMHDZ_ASSET_ROCK_LARGE RETURN "CMHDZ_ASSET_ROCK_LARGE"
|
||
CASE CMHDZ_ASSET_GRASS RETURN "CMHDZ_ASSET_GRASS"
|
||
CASE CMHDZ_ASSET_CITY_BUILDING_1 RETURN "CMHDZ_ASSET_CITY_BUILDING_1"
|
||
CASE CMHDZ_ASSET_CITY_BUILDING_2 RETURN "CMHDZ_ASSET_CITY_BUILDING_2"
|
||
CASE CMHDZ_ASSET_CITY_BUILDING_3 RETURN "CMHDZ_ASSET_CITY_BUILDING_3"
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_1 RETURN "CMHDZ_ASSET_SCRAPYARD_MD_VAN_1"
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_2 RETURN "CMHDZ_ASSET_SCRAPYARD_MD_VAN_2"
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_3 RETURN "CMHDZ_ASSET_SCRAPYARD_MD_VAN_3"
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_4 RETURN "CMHDZ_ASSET_SCRAPYARD_MD_VAN_4"
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_CAR_1 RETURN "CMHDZ_ASSET_SCRAPYARD_MD_CAR_1"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_CAR_2 RETURN "CMHDZ_ASSET_SCRAPYARD_MD_CAR_2"
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_CAR_3 RETURN "CMHDZ_ASSET_SCRAPYARD_MD_CAR_3"
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_CAR_4 RETURN "CMHDZ_ASSET_SCRAPYARD_MD_CAR_4"
|
||
CASE CMHDZ_ASSET_THEMEPARK_BUILDING_1 RETURN "CMHDZ_ASSET_THEMEPARK_BUILDING_1"
|
||
CASE CMHDZ_ASSET_THEMEPARK_BUILDING_2 RETURN "CMHDZ_ASSET_THEMEPARK_BUILDING_2"
|
||
CASE CMHDZ_ASSET_THEMEPARK_BUILDING_3 RETURN "CMHDZ_ASSET_THEMEPARK_BUILDING_3"
|
||
CASE CMHDZ_ASSET_THEMEPARK_BUILDING_4 RETURN "CMHDZ_ASSET_THEMEPARK_BUILDING_4"
|
||
CASE CMHDZ_ASSET_THEMEPARK_CLOWNBOARD_1 RETURN "CMHDZ_ASSET_THEMEPARK_CLOWNBOARD_1"
|
||
CASE CMHDZ_ASSET_THEMEPARK_CLOWNBOARD_2 RETURN "CMHDZ_ASSET_THEMEPARK_CLOWNBOARD_2"
|
||
CASE CMHDZ_ASSET_THEMEPARK_TREE_1 RETURN "CMHDZ_ASSET_THEMEPARK_TREE_1"
|
||
CASE CMHDZ_ASSET_THEMEPARK_TREE_2 RETURN "CMHDZ_ASSET_THEMEPARK_TREE_2"
|
||
CASE CMHDZ_ASSET_THEMEPARK_TREE_3 RETURN "CMHDZ_ASSET_THEMEPARK_TREE_3"
|
||
CASE CMHDZ_ASSET_THEMEPARK_TREE_4 RETURN "CMHDZ_ASSET_THEMEPARK_TREE_4"
|
||
CASE CMHDZ_ASSET_ASYLUM_MD_BED RETURN "CMHDZ_ASSET_ASYLUM_MD_BED"
|
||
CASE CMHDZ_ASSET_ASYLUM_MD_WHEELCHAIR RETURN "CMHDZ_ASSET_ASYLUM_MD_WHEELCHAIR"
|
||
CASE CMHDZ_ASSET_ASYLUM_MD_MATTRESS RETURN "CMHDZ_ASSET_ASYLUM_MD_MATTRESS"
|
||
CASE CMHDZ_ASSET_ASYLUM_LIGHT_1 RETURN "CMHDZ_ASSET_ASYLUM_LIGHT_1"
|
||
CASE CMHDZ_ASSET_ASYLUM_LIGHT_2 RETURN "CMHDZ_ASSET_ASYLUM_LIGHT_2"
|
||
CASE CMHDZ_ASSET_ASYLUM_BG_RADIATOR RETURN "CMHDZ_ASSET_ASYLUM_BG_RADIATOR"
|
||
CASE CMHDZ_ASSET_ASYLUM_BG_DOOR RETURN "CMHDZ_ASSET_ASYLUM_BG_DOOR"
|
||
CASE CMHDZ_ASSET_ASYLUM_GRAFFITI_1 RETURN "CMHDZ_ASSET_ASYLUM_GRAFFITI_1"
|
||
CASE CMHDZ_ASSET_ASYLUM_GRAFFITI_2 RETURN "CMHDZ_ASSET_ASYLUM_GRAFFITI_2"
|
||
CASE CMHDZ_ASSET_ASYLUM_GRAFFITI_3 RETURN "CMHDZ_ASSET_ASYLUM_GRAFFITI_3"
|
||
CASE CMHDZ_ASSET_FENCE RETURN "CMHDZ_ASSET_FENCE"
|
||
// CASE CMHDZ_ASSET_FENCE_SMALL RETURN "CMHDZ_ASSET_FENCE_SMALL"
|
||
CASE CMHDZ_ASSET_CACTUS_9 RETURN "CMHDZ_ASSET_CACTUS_9"
|
||
CASE CMHDZ_ASSET_SCRAPYARD_PROP_FENCE RETURN "CMHDZ_ASSET_SCRAPYARD_PROP_FENCE"
|
||
//CASE CMHDZ_ASSET_SCRAPYARD_BG_CARS RETURN "CMHDZ_ASSET_SCRAPYARD_BG_CARS"
|
||
CASE CMHDZ_ASSET_FOREGROUND_TRASH RETURN "CMHDZ_ASSET_FOREGROUND_TRASH"
|
||
CASE CMHDZ_ASSET_BARRIER RETURN "CMHDZ_ASSET_BARRIER"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ASSET_BARRELS RETURN "CMHDZ_ASSET_BARRELS"
|
||
CASE CMHDZ_ASSET_MEATGRINDER_1 RETURN "CMHDZ_ASSET_MEATGRINDER_1"
|
||
CASE CMHDZ_ASSET_BODYBAG_1 RETURN "CMHDZ_ASSET_BODYBAG_1"
|
||
CASE CMHDZ_ASSET_BODYBAG_2 RETURN "CMHDZ_ASSET_BODYBAG_2"
|
||
CASE CMHDZ_ASSET_BODYBAG_3 RETURN "CMHDZ_ASSET_BODYBAG_3"
|
||
CASE CMHDZ_ASSET_BODYBAG_FLOOR_1 RETURN "CMHDZ_ASSET_BODYBAG_FLOOR_1"
|
||
CASE CMHDZ_ASSET_BODYBAG_FLOOR_3 RETURN "CMHDZ_ASSET_BODYBAG_FLOOR_3"
|
||
CASE CMHDZ_ASSET_PIG RETURN "CMHDZ_ASSET_PIG"
|
||
CASE CMHDZ_ASSET_PIG_BATCH RETURN "CMHDZ_ASSET_PIG_BATCH"
|
||
CASE CMHDZ_ASSET_WATER_TOWER RETURN "CMHDZ_ASSET_WATER_TOWER"
|
||
// CASE CMHDZ_ASSET_SPECIAL_TNT_CRATE RETURN "CMHDZ_ASSET_SPECIAL_TNT_CRATE"
|
||
CASE CMHDZ_ASSET_SPECIAL_TNT_BARREL_1 RETURN "CMHDZ_ASSET_SPECIAL_TNT_BARREL_1"
|
||
CASE CMHDZ_ASSET_SPECIAL_TNT_BARREL_2 RETURN "CMHDZ_ASSET_SPECIAL_TNT_BARREL_2"
|
||
|
||
CASE CMHDZ_ASSET_MEATHOOK RETURN "CMHDZ_ASSET_MEATHOOK"
|
||
CASE CMHDZ_ASSET_DOOR_1 RETURN "CMHDZ_ASSET_DOOR_1"
|
||
CASE CMHDZ_ASSET_DOOR_2 RETURN "CMHDZ_ASSET_DOOR_2"
|
||
CASE CMHDZ_ASSET_WINDOW RETURN "CMHDZ_ASSET_WINDOW"
|
||
CASE CMHDZ_ASSET_OVERHEAD_LIGHT RETURN "CMHDZ_ASSET_OVERHEAD_LIGHT"
|
||
|
||
|
||
CASE NUM_CMHDZ_ASSET_TYPES RETURN "CMHDZ_ASSET_MAX_ASSETS"
|
||
ENDSWITCH
|
||
|
||
RETURN "TYPES_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_AUDIO_EFFECT_TO_STRING(CMHDZ_AUDIO_EFFECT eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_AUDIO_EFFECT_GET_READY RETURN "CMHDZ_AUDIO_EFFECT_GET_READY"
|
||
CASE CMHDZ_AUDIO_EFFECT_DRAW RETURN "CMHDZ_AUDIO_EFFECT_DRAW"
|
||
CASE CMHDZ_AUDIO_EFFECT_SELECT_STAGE RETURN "CMHDZ_AUDIO_EFFECT_SELECT_STAGE"
|
||
CASE CMHDZ_AUDIO_EFFECT_SCREEN_LOCKED RETURN "CMHDZ_AUDIO_EFFECT_SCREEN_LOCKED"
|
||
CASE CMHDZ_AUDIO_EFFECT_MENU_BACK RETURN "CMHDZ_AUDIO_EFFECT_MENU_BACK"
|
||
CASE CMHDZ_AUDIO_EFFECT_SWAP_WEAPON RETURN "CMHDZ_AUDIO_EFFECT_SWAP_WEAPON"
|
||
CASE CMHDZ_AUDIO_EFFECT_RELOAD RETURN "CMHDZ_AUDIO_EFFECT_RELOAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_BODY RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_BODY"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_PLAYER RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_PLAYER"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_METAL RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_METAL"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_BUSHES RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_BUSHES"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_ROCK RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_ROCK"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_MISS RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_MISS"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_OPTION RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_OPTION"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_START RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_START"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_GENERIC RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_GENERIC"
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_HEADSHOT RETURN "CMHDZ_AUDIO_EFFECT_BULLET_HIT_HEADSHOT"
|
||
CASE CMHDZ_AUDIO_EFFECT_REVOLVER_FIRE RETURN "CMHDZ_AUDIO_EFFECT_REVOLVER_FIRE"
|
||
CASE CMHDZ_AUDIO_EFFECT_REVOLVER_EMPTY RETURN "CMHDZ_AUDIO_EFFECT_REVOLVER_EMPTY"
|
||
CASE CMHDZ_AUDIO_EFFECT_RIFLE_FIRE RETURN "CMHDZ_AUDIO_EFFECT_RIFLE_FIRE"
|
||
CASE CMHDZ_AUDIO_EFFECT_RIFLE_EMPTY RETURN "CMHDZ_AUDIO_EFFECT_RIFLE_EMPTY"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_AUDIO_EFFECT_SHOTGUN_FIRE RETURN "CMHDZ_AUDIO_EFFECT_SHOTGUN_FIRE"
|
||
CASE CMHDZ_AUDIO_EFFECT_SHOTGUN_EMPTY RETURN "CMHDZ_AUDIO_EFFECT_SHOTGUN_EMPTY"
|
||
CASE CMHDZ_AUDIO_EFFECT_NAILGUN_FIRE RETURN "CMHDZ_AUDIO_EFFECT_NAILGUN_FIRE"
|
||
CASE CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_SINGLE RETURN "CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_SINGLE"
|
||
CASE CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD_SINGLE RETURN "CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD_SINGLE"
|
||
CASE CMHDZ_AUDIO_EFFECT_SHOTGUN_RELOAD_SINGLE RETURN "CMHDZ_AUDIO_EFFECT_SHOTGUN_RELOAD_SINGLE"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_DEAD RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_VERY_LOW RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_VERY_LOW"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_LOW RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_LOW"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_MEDIUM RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_MEDIUM"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_HIGH RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_HIGH"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_DEAD RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_A_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_INJURED RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_A_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_GLOAT RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_A_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_ATTACK RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_A_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_PAIN RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_A_DEAD"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_DEAD RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_B_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_INJURED RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_B_INJURED"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_GLOAT RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_B_GLOAT"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_ATTACK RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_B_ATTACK"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_PAIN RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_B_PAIN"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_DEAD RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_C_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_INJURED RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_C_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_GLOAT RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_C_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_ATTACK RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_C_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_PAIN RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_C_DEAD"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_DEAD RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_D_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_INJURED RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_D_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_GLOAT RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_D_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_ATTACK RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_D_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_PAIN RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_D_DEAD"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_AIM RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_AIM"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_FIRE RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_FIRE"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_CRIT_WARNING RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_CRIT_WARNING"
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_THROW_DYNAMITE RETURN "CMHDZ_AUDIO_EFFECT_ENEMY_THROW_DYNAMITE"
|
||
CASE CMHDZ_AUDIO_EFFECT_RESULTS_SCORE_UPDATE RETURN "CMHDZ_AUDIO_EFFECT_RESULTS_SCORE_UPDATE"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_EXP_GENERIC RETURN "CMHDZ_AUDIO_EFFECT_EXP_GENERIC"
|
||
CASE CMHDZ_AUDIO_EFFECT_EXP_DYNAMITE RETURN "CMHDZ_AUDIO_EFFECT_EXP_DYNAMITE"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_BUNNYGIRL_APPEAR RETURN "CMHDZ_AUDIO_EFFECT_BUNNYGIRL_APPEAR"
|
||
CASE CMHDZ_AUDIO_EFFECT_BUNNYGIRL_PAIN RETURN "CMHDZ_AUDIO_EFFECT_BUNNYGIRL_PAIN"
|
||
CASE CMHDZ_AUDIO_EFFECT_BUNNYGIRL_DEATH RETURN "CMHDZ_AUDIO_EFFECT_BUNNYGIRL_DEATH"
|
||
CASE CMHDZ_AUDIO_EFFECT_BUNNYGIRL_MISSED RETURN "CMHDZ_AUDIO_EFFECT_BUNNYGIRL_MISSED"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_MONKEY_APPEAR RETURN "CMHDZ_AUDIO_EFFECT_MONKEY_APPEAR"
|
||
CASE CMHDZ_AUDIO_EFFECT_MONKEY_PAIN RETURN "CMHDZ_AUDIO_EFFECT_MONKEY_PAIN"
|
||
CASE CMHDZ_AUDIO_EFFECT_MONKEY_DEATH RETURN "CMHDZ_AUDIO_EFFECT_MONKEY_DEATH"
|
||
CASE CMHDZ_AUDIO_EFFECT_MONKEY_MISSED RETURN "CMHDZ_AUDIO_EFFECT_MONKEY_MISSED"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_RAT_APPEAR RETURN "CMHDZ_AUDIO_EFFECT_RAT_APPEAR"
|
||
CASE CMHDZ_AUDIO_EFFECT_RAT_DEATH RETURN "CMHDZ_AUDIO_EFFECT_RAT_DEATH"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_BRICK_THROW RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_BRICK_THROW"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_BRICK_HIT RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_BRICK_HIT"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_NAILBOMB_THROW RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_NAILBOMB_THROW"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_NAILBOMB_HIT RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_NAILBOMB_HIT"
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_MOLOTOV_THROW RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_MOLOTOV_THROW"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_MOLOTOV_HIT RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_MOLOTOV_HIT"
|
||
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_AUDIO_EFFECT_PICKUP_HEALTH RETURN "CMHDZ_AUDIO_EFFECT_PICKUP_HEALTH"
|
||
CASE CMHDZ_AUDIO_EFFECT_PICKUP_BUFF RETURN "CMHDZ_AUDIO_EFFECT_PICKUP_BUFF"
|
||
CASE CMHDZ_AUDIO_EFFECT_PICKUP_CASH RETURN "CMHDZ_AUDIO_EFFECT_PICKUP_CASH"
|
||
CASE CMHDZ_AUDIO_EFFECT_PICKUP_TAPE RETURN "CMHDZ_AUDIO_EFFECT_PICKUP_TAPE"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_RELOAD RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_RELOAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SHOOT_HEADSHOT RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_SHOOT_HEADSHOT"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SHOOT_ANIMAL RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_SHOOT_ANIMAL"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_BAD RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_BAD"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_AVERAGE RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_AVERAGE"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_GOOD RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_GOOD"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_AMAZING RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_AMAZING"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_COMPLETE_LEVEL RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_COMPLETE_LEVEL"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_DEATH RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_DEATH"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_RESULTS_DEAD RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_RESULTS_DEAD"
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_FINISH_GAME RETURN "CMHDZ_AUDIO_EFFECT_PLAYER_FINISH_GAME"
|
||
CASE CMHDZ_AUDIO_EFFECT_MAX RETURN "CMHDZ_AUDIO_EFFECT_MAX"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_AUDIO_EFFECT_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_AUDIO_SCENE_TO_STRING(CMHDZ_AUDIO_SCENE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_AUDIO_SCENE_MENUS RETURN "CMHDZ_AUDIO_SCENE_MENUS"
|
||
CASE CMHDZ_AUDIO_SCENE_GAMEPLAY RETURN "CMHDZ_AUDIO_SCENE_GAMEPLAY"
|
||
CASE CMHDZ_AUDIO_SCENE_POWERUP_ACTIVE RETURN "CMHDZ_AUDIO_SCENE_POWERUP_ACTIVE"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_AUDIO_SCENE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_CHALLENGES_TO_STRING(CMHDZ_CHALLENGES eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_CHALLENGE_FACES_OF_DEATH_PLATINUM RETURN "CMHDZ_CHALLENGE_FACES_OF_DEATH_PLATINUM"
|
||
CASE CMHDZ_CHALLENGE_TRAINED_TO_KILL RETURN "CMHDZ_CHALLENGE_TRAINED_TO_KILL"
|
||
CASE CMHDZ_CHALLENGE_STRAIGHT_TO_VIDEO RETURN "CMHDZ_CHALLENGE_STRAIGHT_TO_VIDEO"
|
||
CASE CMHDZ_CHALLENGE_FACES_OF_DEATH_BRONZE RETURN "CMHDZ_CHALLENGE_FACES_OF_DEATH_BRONZE"
|
||
CASE CMHDZ_CHALLENGE_FACES_OF_DEATH_SILVER RETURN "CMHDZ_CHALLENGE_FACES_OF_DEATH_SILVER"
|
||
CASE CMHDZ_CHALLENGE_FACES_OF_DEATH_GOLD RETURN "CMHDZ_CHALLENGE_FACES_OF_DEATH_GOLD"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_CHALLENGES_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_COVER_DATA_BITS_TO_STRING(CMHDZ_COVER_DATA_BITS eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_COVER_DATA_BITS_NONE RETURN "CMHDZ_COVER_DATA_BITS_NONE"
|
||
CASE CMHDZ_COVER_DATA_BITS_SPAWNED_PICKUP RETURN "CMHDZ_COVER_DATA_BITS_SPAWNED_PICKUP"
|
||
CASE CMHDZ_COVER_DATA_BITS_IS_SPECIAL_COVER RETURN "CMHDZ_COVER_DATA_BITS_IS_SPECIAL_COVER"
|
||
CASE CMHDZ_COVER_DATA_BITS_IS_ANIMATED RETURN "CMHDZ_COVER_DATA_BITS_IS_ANIMATED"
|
||
CASE CMHDZ_COVER_DATA_BITS_IS_FAR_BG RETURN "CMHDZ_COVER_DATA_BITS_IS_FAR_BG"
|
||
CASE CMHDZ_COVER_DATA_BITS_REMOVE_OFF_SCREEN RETURN "CMHDZ_COVER_DATA_BITS_REMOVE_OFF_SCREEN"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_COVER_DATA_BITS_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_DAMAGE_PLAYER_TYPES_TO_STRING(CMHDZ_DAMAGE_PLAYER_TYPES eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_DAMAGE_PLAYER_TYPE_BULLET RETURN "CMHDZ_DAMAGE_PLAYER_TYPE_BULLET"
|
||
CASE CMHDZ_DAMAGE_PLAYER_TYPE_DYNAMITE RETURN "CMHDZ_DAMAGE_PLAYER_TYPE_DYNAMITE"
|
||
CASE CMHDZ_DAMAGE_PLAYER_TYPE_SLASH RETURN "CMHDZ_DAMAGE_PLAYER_TYPE_SLASH"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_DAMAGE_PLAYER_TYPES_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_ENEMY_DATA_BITS_TO_STRING(CMHDZ_ENEMY_DATA_BITS eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ENEMY_DATA_BITS_NONE RETURN "CMHDZ_ENEMY_DATA_BITS_NONE"
|
||
CASE CMHDZ_ENEMY_DATA_BITS_REVERSE RETURN "CMHDZ_ENEMY_DATA_BITS_REVERSE"
|
||
CASE CMHDZ_ENEMY_DATA_BITS_IS_POPUP RETURN "CMHDZ_ENEMY_DATA_BITS_IS_POPUP"
|
||
CASE CMHDZ_ENEMY_DATA_BITS_PLAYED_AIM_AUDIO RETURN "CMHDZ_ENEMY_DATA_BITS_PLAYED_AIM_AUDIO"
|
||
CASE CMHDZ_ENEMY_DATA_BITS_PLAYED_WARN_AUDIO RETURN "CMHDZ_ENEMY_DATA_BITS_PLAYED_WARN_AUDIO"
|
||
CASE CMHDZ_ENEMY_DATA_BITS_WAIT_UNTIL_LEVEL_STATIONARY RETURN "CMHDZ_ENEMY_DATA_BITS_WAIT_UNTIL_LEVEL_STATIONARY"
|
||
CASE CMHDZ_ENEMY_DATA_BITS_SHOT_AT_LEAST_ONCE RETURN "CMHDZ_ENEMY_DATA_BITS_SHOT_AT_LEAST_ONCE"
|
||
CASE CMHDZ_ENEMY_DATA_BITS_THROWN_PROJECTILE RETURN "CMHDZ_ENEMY_DATA_BITS_THROWN_PROJECTILE"
|
||
CASE CMHDZ_ENEMY_DATA_BITS_APPEARED_ON_SCREEN RETURN "CMHDZ_ENEMY_DATA_BITS_APPEARED_ON_SCREEN"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_ENEMY_DATA_BITS_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_ENEMY_STATE_TO_STRING(CMHDZ_ENEMY_STATE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ENEMY_STATE_WAITING RETURN "CMHDZ_ENEMY_STATE_WAITING"
|
||
CASE CMHDZ_ENEMY_STATE_ACTIVE RETURN "CMHDZ_ENEMY_STATE_ACTIVE"
|
||
CASE CMHDZ_ENEMY_STATE_ATTACKING RETURN "CMHDZ_ENEMY_STATE_ATTACKING"
|
||
CASE CMHDZ_ENEMY_STATE_DYING RETURN "CMHDZ_ENEMY_STATE_DYING"
|
||
CASE CMHDZ_ENEMY_STATE_INACTIVE RETURN "CMHDZ_ENEMY_STATE_INACTIVE"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_ENEMY_STATE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_ENEMY_TYPES_TO_STRING(CMHDZ_ENEMY_TYPES eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ENEMY_INVALID RETURN "CMHDZ_ENEMY_INVALID"
|
||
CASE CMHDZ_ENEMY_1 RETURN "CMHDZ_ENEMY_1"
|
||
CASE CMHDZ_ENEMY_2 RETURN "CMHDZ_ENEMY_2"
|
||
CASE CMHDZ_ENEMY_3 RETURN "CMHDZ_ENEMY_3"
|
||
CASE CMHDZ_ENEMY_4 RETURN "CMHDZ_ENEMY_4"
|
||
CASE CMHDZ_ENEMY_5 RETURN "CMHDZ_ENEMY_5"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_1 RETURN "CMHDZ_FOREGROUND_ENEMY_T1_1"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_2 RETURN "CMHDZ_FOREGROUND_ENEMY_T1_2"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_1 RETURN "CMHDZ_FOREGROUND_ENEMY_T2_1"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_2 RETURN "CMHDZ_FOREGROUND_ENEMY_T2_2"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_1 RETURN "CMHDZ_FOREGROUND_ENEMY_T3_1"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_2 RETURN "CMHDZ_FOREGROUND_ENEMY_T3_2"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_1 RETURN "CMHDZ_FOREGROUND_ENEMY_T4_1"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_2 RETURN "CMHDZ_FOREGROUND_ENEMY_T4_2"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_1 RETURN "CMHDZ_FOREGROUND_ENEMY_T5_1"
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_2 RETURN "CMHDZ_FOREGROUND_ENEMY_T5_2"
|
||
CASE CMHDZ_THROWING_ENEMY_1 RETURN "CMHDZ_THROWING_ENEMY_1"
|
||
CASE CMHDZ_THROWING_ENEMY_2 RETURN "CMHDZ_THROWING_ENEMY_2"
|
||
CASE CMHDZ_THROWING_ENEMY_3 RETURN "CMHDZ_THROWING_ENEMY_3"
|
||
CASE CMHDZ_THROWING_ENEMY_4 RETURN "CMHDZ_THROWING_ENEMY_4"
|
||
CASE CMHDZ_THROWING_ENEMY_5 RETURN "CMHDZ_THROWING_ENEMY_5"
|
||
|
||
CASE CMHDZ_RARE_ENEMY_BUNNY RETURN "CASE CMHDZ_RARE_ENEMY_BUNNY"
|
||
CASE CMHDZ_RARE_ENEMY_MONKEY RETURN "CASE CMHDZ_RARE_ENEMY_MONKEY"
|
||
CASE CMHDZ_RARE_ENEMY_RAT RETURN "CASE CMHDZ_RARE_ENEMY_RAT"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE NUM_CMHDZ_ENEMY_TYPES RETURN "NUM_CMHDZ_ENEMY_TYPES"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_ENEMY_TYPES_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_BOSS_DATA_BITS_TO_STRING(CMHDZ_BOSS_DATA_BITS eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_BOSS_DATA_BITS_NONE RETURN "CMHDZ_BOSS_DATA_BITS_NONE"
|
||
CASE CMHDZ_BOSS_DATA_BITS_SPAWNED_ENEMIES_1 RETURN "CMHDZ_BOSS_DATA_BITS_SPAWNED_ENEMIES_1"
|
||
CASE CMHDZ_BOSS_DATA_BITS_SPAWNED_ENEMIES_2 RETURN "CMHDZ_BOSS_DATA_BITS_SPAWNED_ENEMIES_2"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_BOSS_DATA_BITS_INVALID"
|
||
ENDFUNC
|
||
|
||
|
||
FUNC STRING CMHDZ_BOSS_STATE_TO_STRING(CMHDZ_BOSS_STATE state)
|
||
|
||
SWITCH state
|
||
|
||
CASE CMHDZ_BOSS_STATE_WAITING
|
||
RETURN "CMHDZ_BOSS_STATE_WAITING"
|
||
|
||
CASE CMHDZ_BOSS_STATE_WALKING
|
||
RETURN "CMHDZ_BOSS_STATE_WALKING"
|
||
|
||
CASE CMHDZ_BOSS_STATE_WALKING_INV
|
||
RETURN "CMHDZ_BOSS_STATE_WALKING_INV"
|
||
|
||
CASE CMHDZ_BOSS_STATE_THROWING
|
||
RETURN "CMHDZ_BOSS_STATE_THROWING"
|
||
|
||
CASE CMHDZ_BOSS_STATE_BACKUP
|
||
RETURN "CMHDZ_BOSS_STATE_BACKUP"
|
||
|
||
CASE CMHDZ_BOSS_STATE_FOREGROUND_POP_UP
|
||
RETURN "CMHDZ_BOSS_STATE_FOREGROUND_POP_UP"
|
||
|
||
CASE CMHDZ_BOSS_STATE_FOREGROUND_POP_DOWN
|
||
RETURN "CMHDZ_BOSS_STATE_FOREGROUND_POP_DOWN"
|
||
|
||
CASE CMHDZ_BOSS_STATE_FOREGROUND_PAIN
|
||
RETURN "CMHDZ_BOSS_STATE_FOREGROUND_PAIN"
|
||
|
||
CASE CMHDZ_BOSS_STATE_FOREGROUND_IDLE
|
||
RETURN "CMHDZ_BOSS_STATE_FOREGROUND_IDLE"
|
||
|
||
CASE CMHDZ_BOSS_STATE_BLOCKING
|
||
RETURN "CMHDZ_BOSS_STATE_BLOCKING"
|
||
|
||
CASE CMHDZ_BOSS_STATE_ATTACK_READY
|
||
RETURN "CMHDZ_BOSS_STATE_ATTACK_READY"
|
||
|
||
CASE CMHDZ_BOSS_STATE_ATTACKING
|
||
RETURN "CMHDZ_BOSS_STATE_ATTACKING"
|
||
|
||
CASE CMHDZ_BOSS_STATE_ATTACKING_COUNTER
|
||
RETURN "CMHDZ_BOSS_STATE_ATTACKING_COUNTER"
|
||
|
||
CASE CMHDZ_BOSS_STATE_STUNNED_BACKGROUND
|
||
RETURN "CMHDZ_BOSS_STATE_STUNNED_BACKGROUND"
|
||
|
||
CASE CMHDZ_BOSS_STATE_STUNNED_FOREGROUND
|
||
RETURN "CMHDZ_BOSS_STATE_STUNNED_FOREGROUND"
|
||
|
||
CASE CMHDZ_BOSS_STATE_PAIN
|
||
RETURN "CMHDZ_BOSS_STATE_PAIN"
|
||
|
||
CASE CMHDZ_BOSS_STATE_DYING
|
||
RETURN "CMHDZ_BOSS_STATE_DYING"
|
||
|
||
CASE CMHDZ_BOSS_STATE_FINAL
|
||
RETURN "CMHDZ_BOSS_STATE_FINAL"
|
||
|
||
CASE CMHDZ_BOSS_STATE_SPAWN_HELPERS_1
|
||
RETURN "CMHDZ_BOSS_STATE_SPAWN_HELPERS_1"
|
||
|
||
CASE CMHDZ_BOSS_STATE_SPAWN_HELPERS_2
|
||
RETURN "CMHDZ_BOSS_STATE_SPAWN_HELPERS_2"
|
||
|
||
CASE CMHDZ_BOSS_STATE_WAIT_FOR_ALL_ENEMIES_DEAD
|
||
RETURN "CMHDZ_BOSS_STATE_WAIT_FOR_ALL_ENEMIES_DEAD"
|
||
|
||
CASE CMHDZ_BOSS_STATE_INACTIVE
|
||
RETURN "CMHDZ_BOSS_STATE_INACTIVE"
|
||
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_BOSS_STATE_INACTIVE"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_BOSS_TYPES_TO_STRING(CMHDZ_ENEMY_TYPES eType)
|
||
|
||
SWITCH (eType)
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_ENEMY_TYPES_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_FX_TYPE_TO_STRING(CMHDZ_FX_TYPE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_FX_EXPLOSION RETURN "CMHDZ_FX_EXPLOSION"
|
||
CASE CMHDZ_FX_ENEMY_SHOT RETURN "CMHDZ_FX_ENEMY_SHOT"
|
||
CASE CMHDZ_FX_IMPACT RETURN "CMHDZ_FX_IMPACT"
|
||
CASE CMHDZ_FX_ENEMY_TNT_EXP RETURN "CMHDZ_FX_ENEMY_TNT_EXP"
|
||
CASE CMHDZ_FX_LOOT_CRATE RETURN "CMHDZ_FX_LOOT_CRATE"
|
||
CASE CMHDZ_FX_BLOOD_SPLAT RETURN "CMHDZ_FX_BLOOD_SPLAT"
|
||
CASE CMHDZ_FX_BEARSY_FOREGROUND_ATTACKING_BLOOD RETURN "CMHDZ_FX_BEARSY_FOREGROUND_ATTACKING_BLOOD"
|
||
CASE CMHDZ_FX_BEARSY_FOREGROUND_PAIN_BLOOD RETURN "CMHDZ_FX_BEARSY_FOREGROUND_PAIN_BLOOD"
|
||
CASE CMHDZ_FX_BEARSY_FOREGROUND_SPARKS RETURN "CMHDZ_FX_BEARSY_FOREGROUND_SPARKS"
|
||
CASE CMHDZ_FX_SLASH_EFFECT RETURN "CMHDZ_FX_SLASH_EFFECT"
|
||
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_FX_TYPE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_HELP_TEXT_BITS_TO_STRING(CMHDZ_HELP_TEXT_BITS eType)
|
||
|
||
SWITCH (eType)
|
||
// CASE CMHDZ_HELP_TEXT_BIT_SHOOT_AIM RETURN "CMHDZ_HELP_TEXT_BIT_SHOOT_AIM"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_RELOAD RETURN "CMHDZ_HELP_TEXT_BIT_RELOAD"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_HEADSHOT RETURN "CMHDZ_HELP_TEXT_BIT_HEADSHOT"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_THROW RETURN "CMHDZ_HELP_TEXT_BIT_THROW"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_MICROAIM RETURN "CMHDZ_HELP_TEXT_BIT_MICROAIM"
|
||
//
|
||
// CASE CMHDZ_HELP_TEXT_BIT_HEALTH RETURN "CMHDZ_HELP_TEXT_BIT_HEALTH"
|
||
//
|
||
// CASE CMHDZ_HELP_TEXT_BIT_BUFF RETURN "CMHDZ_HELP_TEXT_BIT_BUFF"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_PILLS RETURN "CMHDZ_HELP_TEXT_BIT_PILLS"
|
||
//
|
||
// CASE CMHDZ_HELP_TEXT_BIT_CASH RETURN "CMHDZ_HELP_TEXT_BIT_CASH"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_VIDEO RETURN "CMHDZ_HELP_TEXT_BIT_VIDEO"
|
||
//
|
||
// CASE CMHDZ_HELP_TEXT_BIT_AT_LEAST_ONE_HEADSHOT RETURN "CMHDZ_HELP_TEXT_BIT_AT_LEAST_ONE_HEADSHOT"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_TRAINED_TO_KILL RETURN "CMHDZ_HELP_TEXT_BIT_TRAINED_TO_KILL"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_STRAIGHT_TO_VIDEO RETURN "CMHDZ_HELP_TEXT_BIT_STRAIGHT_TO_VIDEO"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_DIRECTOR RETURN "CMHDZ_HELP_TEXT_BIT_DIRECTOR"
|
||
//
|
||
// CASE CMHDZ_HELP_TEXT_BIT_MONKEY RETURN "CMHDZ_HELP_TEXT_BIT_MONKEY"
|
||
//
|
||
// CASE CMHDZ_HELP_TEXT_BIT_RIFLE RETURN "CMHDZ_HELP_TEXT_BIT_RIFLE"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_SHOTGUN RETURN "CMHDZ_HELP_TEXT_BIT_SHOTGUN"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_NAIL RETURN "CMHDZ_HELP_TEXT_BIT_NAIL"
|
||
//
|
||
// CASE CMHDZ_HELP_TEXT_BIT_MOLOTOV RETURN "CMHDZ_HELP_TEXT_BIT_MOLOTOV"
|
||
// CASE CMHDZ_HELP_TEXT_BIT_NAILBOMB RETURN "CMHDZ_HELP_TEXT_BIT_NAILBOMB"
|
||
//
|
||
// CASE CMHDZ_HELP_TEXT_BIT_DYNAMITE RETURN "CMHDZ_HELP_TEXT_BIT_DYNAMITE"
|
||
|
||
CASE CMHDZ_HELP_TEXT_BIT_BEARSY RETURN "CMHDZ_HELP_TEXT_BIT_BEARSY"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_HELP_TEXT_BITS_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_HUD_CHAR_TO_STRING(CMHDZ_HUD_CHAR eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_HUD_CHAR_INVALID RETURN "CMHDZ_HUD_CHAR_INVALID"
|
||
CASE CMHDZ_HUD_CHAR_SPACE RETURN "CMHDZ_HUD_CHAR_SPACE"
|
||
CASE CMHDZ_HUD_CHAR_0 RETURN "CMHDZ_HUD_CHAR_0"
|
||
CASE CMHDZ_HUD_CHAR_1 RETURN "CMHDZ_HUD_CHAR_1"
|
||
CASE CMHDZ_HUD_CHAR_2 RETURN "CMHDZ_HUD_CHAR_2"
|
||
CASE CMHDZ_HUD_CHAR_3 RETURN "CMHDZ_HUD_CHAR_3"
|
||
CASE CMHDZ_HUD_CHAR_4 RETURN "CMHDZ_HUD_CHAR_4"
|
||
CASE CMHDZ_HUD_CHAR_5 RETURN "CMHDZ_HUD_CHAR_5"
|
||
CASE CMHDZ_HUD_CHAR_6 RETURN "CMHDZ_HUD_CHAR_6"
|
||
CASE CMHDZ_HUD_CHAR_7 RETURN "CMHDZ_HUD_CHAR_7"
|
||
CASE CMHDZ_HUD_CHAR_8 RETURN "CMHDZ_HUD_CHAR_8"
|
||
CASE CMHDZ_HUD_CHAR_9 RETURN "CMHDZ_HUD_CHAR_9"
|
||
CASE CMHDZ_HUD_CHAR_A RETURN "CMHDZ_HUD_CHAR_A"
|
||
CASE CMHDZ_HUD_CHAR_B RETURN "CMHDZ_HUD_CHAR_B"
|
||
CASE CMHDZ_HUD_CHAR_C RETURN "CMHDZ_HUD_CHAR_C"
|
||
CASE CMHDZ_HUD_CHAR_D RETURN "CMHDZ_HUD_CHAR_D"
|
||
CASE CMHDZ_HUD_CHAR_E RETURN "CMHDZ_HUD_CHAR_E"
|
||
CASE CMHDZ_HUD_CHAR_F RETURN "CMHDZ_HUD_CHAR_F"
|
||
CASE CMHDZ_HUD_CHAR_G RETURN "CMHDZ_HUD_CHAR_G"
|
||
CASE CMHDZ_HUD_CHAR_H RETURN "CMHDZ_HUD_CHAR_H"
|
||
CASE CMHDZ_HUD_CHAR_I RETURN "CMHDZ_HUD_CHAR_I"
|
||
CASE CMHDZ_HUD_CHAR_J RETURN "CMHDZ_HUD_CHAR_J"
|
||
CASE CMHDZ_HUD_CHAR_K RETURN "CMHDZ_HUD_CHAR_K"
|
||
CASE CMHDZ_HUD_CHAR_L RETURN "CMHDZ_HUD_CHAR_L"
|
||
CASE CMHDZ_HUD_CHAR_M RETURN "CMHDZ_HUD_CHAR_M"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_HUD_CHAR_N RETURN "CMHDZ_HUD_CHAR_N"
|
||
CASE CMHDZ_HUD_CHAR_O RETURN "CMHDZ_HUD_CHAR_O"
|
||
CASE CMHDZ_HUD_CHAR_P RETURN "CMHDZ_HUD_CHAR_P"
|
||
CASE CMHDZ_HUD_CHAR_Q RETURN "CMHDZ_HUD_CHAR_Q"
|
||
CASE CMHDZ_HUD_CHAR_R RETURN "CMHDZ_HUD_CHAR_R"
|
||
CASE CMHDZ_HUD_CHAR_S RETURN "CMHDZ_HUD_CHAR_S"
|
||
CASE CMHDZ_HUD_CHAR_T RETURN "CMHDZ_HUD_CHAR_T"
|
||
CASE CMHDZ_HUD_CHAR_U RETURN "CMHDZ_HUD_CHAR_U"
|
||
CASE CMHDZ_HUD_CHAR_V RETURN "CMHDZ_HUD_CHAR_V"
|
||
CASE CMHDZ_HUD_CHAR_W RETURN "CMHDZ_HUD_CHAR_W"
|
||
CASE CMHDZ_HUD_CHAR_X RETURN "CMHDZ_HUD_CHAR_X"
|
||
CASE CMHDZ_HUD_CHAR_Y RETURN "CMHDZ_HUD_CHAR_Y"
|
||
CASE CMHDZ_HUD_CHAR_Z RETURN "CMHDZ_HUD_CHAR_Z"
|
||
CASE CMHDZ_HUD_CHAR_APOSTROPHE RETURN "CMHDZ_HUD_CHAR_APOSTROPHE"
|
||
CASE CMHDZ_HUD_CHAR_BACKSLASH RETURN "CMHDZ_HUD_CHAR_BACKSLASH"
|
||
CASE CMHDZ_HUD_CHAR_CLOSEBRACKET RETURN "CMHDZ_HUD_CHAR_CLOSEBRACKET"
|
||
CASE CMHDZ_HUD_CHAR_COLON RETURN "CMHDZ_HUD_CHAR_COLON"
|
||
CASE CMHDZ_HUD_CHAR_COMMA RETURN "CMHDZ_HUD_CHAR_COMMA"
|
||
CASE CMHDZ_HUD_CHAR_DOLLAR RETURN "CMHDZ_HUD_CHAR_DOLLAR"
|
||
CASE CMHDZ_HUD_CHAR_EXCLAMATION RETURN "CMHDZ_HUD_CHAR_EXCLAMATION"
|
||
CASE CMHDZ_HUD_CHAR_FULL_STOP RETURN "CMHDZ_HUD_CHAR_FULL_STOP"
|
||
CASE CMHDZ_HUD_CHAR_MINUS RETURN "CMHDZ_HUD_CHAR_MINUS"
|
||
CASE CMHDZ_HUD_CHAR_OPEN_BRACKET RETURN "CMHDZ_HUD_CHAR_OPEN_BRACKET"
|
||
CASE CMHDZ_HUD_CHAR_PLUS RETURN "CMHDZ_HUD_CHAR_PLUS"
|
||
CASE CMHDZ_HUD_CHAR_QUESTION RETURN "CMHDZ_HUD_CHAR_QUESTION"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_HUD_CHAR_SEMI_COLON RETURN "CMHDZ_HUD_CHAR_SEMI_COLON"
|
||
CASE CMHDZ_HUD_CHAR_SPEECH RETURN "CMHDZ_HUD_CHAR_SPEECH"
|
||
CASE CMHDZ_HUD_CHAR_STAR RETURN "CMHDZ_HUD_CHAR_STAR"
|
||
CASE NUM_CMHDZ_HUD_CHAR RETURN "NUM_CMHDZ_HUD_CHAR"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_HUD_CHAR_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_HUD_TEXTPIVOT_TO_STRING(CMHDZ_HUD_TEXTPIVOT eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_HUD_TEXTPIVOT_LEFT RETURN "CMHDZ_HUD_TEXTPIVOT_LEFT"
|
||
CASE CMHDZ_HUD_TEXTPIVOT_CENTER RETURN "CMHDZ_HUD_TEXTPIVOT_CENTER"
|
||
CASE CMHDZ_HUD_TEXTPIVOT_RIGHT RETURN "CMHDZ_HUD_TEXTPIVOT_RIGHT"
|
||
CASE CMHDZ_HUD_TEXTPIVOT_USE_STORED RETURN "CMHDZ_HUD_TEXTPIVOT_USE_STORED"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_HUD_TEXTPIVOT_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_ITEM_DATA_BITS_TO_STRING(CMHDZ_ITEM_DATA_BITS eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ITEM_DATA_BITS_NONE RETURN "CMHDZ_ITEM_DATA_BITS_NONE"
|
||
CASE CMHDZ_ITEM_DATA_BITS_SPAWNED RETURN "CMHDZ_ITEM_DATA_BITS_SPAWNED"
|
||
CASE CMHDZ_ITEM_DATA_BITS_RENDERING RETURN "CMHDZ_ITEM_DATA_BITS_RENDERING"
|
||
CASE CMHDZ_ITEM_DATA_BITS_SHOT RETURN "CMHDZ_ITEM_DATA_BITS_SHOT"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_ITEM_DATA_BITS_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_ITEM_TYPES_TO_STRING(CMHDZ_ITEM_TYPES eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_ITEM_NONE RETURN "CMHDZ_ITEM_NONE"
|
||
CASE CMHDZ_ITEM_HEALTH RETURN "CMHDZ_ITEM_HEALTH"
|
||
CASE CMHDZ_ITEM_SHIELD RETURN "CMHDZ_ITEM_SHIELD"
|
||
CASE CMHDZ_ITEM_BUFF RETURN "CMHDZ_ITEM_BUFF"
|
||
CASE CMHDZ_ITEM_VIDEOTAPE RETURN "CMHDZ_ITEM_VIDEOTAPE"
|
||
// CASE CMHDZ_ITEM_REVOLVER_AMMO RETURN "CMHDZ_ITEM_REVOLVER_AMMO"
|
||
CASE CMHDZ_ITEM_NAIL_GUN_AMMO RETURN "CMHDZ_ITEM_NAIL_GUN_AMMO"
|
||
CASE CMHDZ_ITEM_RIFLE_AMMO RETURN "CMHDZ_ITEM_RIFLE_AMMO"
|
||
CASE CMHDZ_ITEM_SHOTGUN_AMMO RETURN "CMHDZ_ITEM_SHOTGUN_AMMO"
|
||
CASE CMHDZ_ITEM_MOLOTOV RETURN "CMHDZ_ITEM_MOLOTOV"
|
||
CASE CMHDZ_ITEM_NAILBOMB RETURN "CMHDZ_ITEM_NAILBOMB"
|
||
CASE CMHDZ_ITEM_BRICK RETURN "CMHDZ_ITEM_BRICK"
|
||
CASE CMHDZ_ITEM_DYNAMITE RETURN "CMHDZ_ITEM_DYNAMITE"
|
||
CASE NUM_CMHDZ_ITEM_TYPES RETURN "NUM_CMHDZ_ITEM_TYPES"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_ITEM_TYPES_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_LEVEL_SCREEN_TO_STRING(CMHDZ_LEVEL_SCREEN eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_FADING_IN RETURN "CMHDZ_FADING_IN"
|
||
CASE CMHDZ_PLAY RETURN "CMHDZ_PLAY"
|
||
CASE CMHDZ_WAIT_FOR_DEAD RETURN "CMHDZ_WAIT_FOR_DEAD"
|
||
CASE CMHDZ_FADING_OUT RETURN "CMHDZ_FADING_OUT"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_LEVEL_SCREEN_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_LEVELS_TO_STRING(CMHDZ_LEVELS eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_LEVEL_CITY RETURN "CMHDZ_LEVEL_CITY"
|
||
CASE CMHDZ_LEVEL_SCRAPYARD RETURN "CMHDZ_LEVEL_SCRAPYARD"
|
||
CASE CMHDZ_LEVEL_ASYLUM RETURN "CMHDZ_LEVEL_ASYLUM"
|
||
CASE CMHDZ_LEVEL_PARK RETURN "CMHDZ_LEVEL_PARK"
|
||
CASE CMHDZ_LEVEL_SLAUGHTERHOUSE RETURN "CMHDZ_LEVEL_SLAUGHTERHOUSE"
|
||
CASE CMHDZ_MAX_LEVELS RETURN "CMHDZ_MAX_LEVELS"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_LEVELS_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_LEVELS_BITSET_TO_STRING(CMHDZ_LEVELS_BITSET eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_LEVELS_BIT_STOPPED RETURN "CMHDZ_LEVELS_BIT_STOPPED"
|
||
CASE CMHDZ_LEVELS_BIT_TOWN_LARGE_BUILDING_PASSED_BY1 RETURN "CMHDZ_LEVELS_BIT_TOWN_LARGE_BUILDING_PASSED_BY1"
|
||
CASE CMHDZ_LEVELS_BIT_REPLAYING_LEVEL RETURN "CMHDZ_LEVELS_BIT_REPLAYING_LEVEL"
|
||
CASE CMHDZ_LEVELS_BIT_USED_SPECIAL_WEAPON RETURN "CMHDZ_LEVELS_BIT_USED_SPECIAL_WEAPON"
|
||
CASE CMHDZ_LEVELS_BIT_DONE_RESULTS_SCREEN_AUDIO RETURN "CMHDZ_LEVELS_BIT_DONE_RESULTS_SCREEN_AUDIO"
|
||
CASE CMHDZ_LEVELS_BIT_ADDED_ON_ACCURACY_BONUS RETURN "CMHDZ_LEVELS_BIT_ADDED_ON_ACCURACY_BONUS"
|
||
CASE CMHDZ_LEVELS_BIT_PLAYED_DEATH_SCREEN_AUDIO RETURN "CMHDZ_LEVELS_BIT_PLAYED_DEATH_SCREEN_AUDIO"
|
||
CASE CMHDZ_LEVELS_BIT_PLAYED_RESULTS_SCORE_AUDIO RETURN "CMHDZ_LEVELS_BIT_PLAYED_RESULTS_SCORE_AUDIO"
|
||
CASE CMHDZ_LEVELS_BIT_PLAYED_ACCURACY_SCORE_AUDIO RETURN "CMHDZ_LEVELS_BIT_PLAYED_ACCURACY_SCORE_AUDIO"
|
||
CASE CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_MONKEY_KILL RETURN "CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_MONKEY_KILL"
|
||
CASE CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_BUNNY_KILL RETURN "CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_BUNNY_KILL"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_LEVELS_BITSET_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_MENU_OPTIONS_TO_STRING(CMHDZ_MENU_OPTIONS eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_START RETURN "CMHDZ_START"
|
||
CASE CMHDZ_SCORES RETURN "CMHDZ_SCORES"
|
||
CASE CMHDZ_WANTED_1 RETURN "CMHDZ_WANTED_1"
|
||
CASE CMHDZ_WANTED_2 RETURN "CMHDZ_WANTED_2"
|
||
CASE CMHDZ_WANTED_3 RETURN "CMHDZ_WANTED_3"
|
||
CASE CMHDZ_WANTED_4 RETURN "CMHDZ_WANTED_4"
|
||
CASE CMHDZ_WANTED_5 RETURN "CMHDZ_WANTED_5"
|
||
CASE CMHDZ_REWIND RETURN "CMHDZ_REWIND"
|
||
CASE CMHDZ_EJECT RETURN "CMHDZ_EJECT"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_MENU_OPTIONS_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_MUSIC_BITS_TO_STRING(CMHDZ_MUSIC_BITS eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_MUSIC_BIT_STARTED_INTRO RETURN "CMHDZ_MUSIC_BIT_STARTED_INTRO"
|
||
CASE CMHDZ_MUSIC_BIT_STARTED_TITLE RETURN "CMHDZ_MUSIC_BIT_STARTED_TITLE"
|
||
//CASE CMHDZ_MUSIC_BIT_STARTED_LEVEL RETURN "CMHDZ_MUSIC_BIT_STARTED_LEVEL"
|
||
CASE CMHDZ_MUSIC_BIT_STOPPED RETURN "CMHDZ_MUSIC_BIT_STOPPED"
|
||
CASE CMHDZ_MUSIC_BIT_DEATH RETURN "CMHDZ_MUSIC_BIT_DEATH"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_MUSIC_BITS_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_MUSIC_EVENTS_TO_STRING(CMHDZ_MUSIC_EVENTS eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_MUSIC_EVENT_INVALID RETURN "CMHDZ_MUSIC_EVENT_INVALID"
|
||
CASE CMHDZ_MUSIC_EVENT_INTRO RETURN "CMHDZ_MUSIC_EVENT_INTRO"
|
||
CASE CMHDZ_MUSIC_EVENT_TITLE RETURN "CMHDZ_MUSIC_EVENT_TITLE"
|
||
CASE CMHDZ_MUSIC_EVENT_GOSPEL RETURN "CMHDZ_MUSIC_EVENT_GOSPEL"
|
||
CASE CMHDZ_MUSIC_EVENT_BUCKLE RETURN "CMHDZ_MUSIC_EVENT_BUCKLE"
|
||
CASE CMHDZ_MUSIC_EVENT_HILLBILLY RETURN "CMHDZ_MUSIC_EVENT_HILLBILLY"
|
||
CASE CMHDZ_MUSIC_EVENT_RUCKUS RETURN "CMHDZ_MUSIC_EVENT_RUCKUS"
|
||
CASE CMHDZ_MUSIC_EVENT_BARREL RETURN "CMHDZ_MUSIC_EVENT_BARREL"
|
||
CASE CMHDZ_MUSIC_EVENT_DEATH RETURN "CMHDZ_MUSIC_EVENT_DEATH"
|
||
CASE CMHDZ_MUSIC_EVENT_STOP RETURN "CMHDZ_MUSIC_EVENT_STOP"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_MUSIC_EVENTS_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_PLAYER_BITSET_TO_STRING(CMHDZ_PLAYER_BITSET eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_PLAYER_BIT_INVULNERABILE RETURN "CMHDZ_PLAYER_BIT_INVULNERABILE"
|
||
CASE CMHDZ_PLAYER_BIT_HIDE_RETICULE RETURN "CMHDZ_PLAYER_BIT_HIDE_RETICULE"
|
||
CASE CMHDZ_PLAYER_BIT_INIT_NEW_CHAIN RETURN "CMHDZ_PLAYER_BIT_INIT_NEW_CHAIN"
|
||
// CASE CMHDZ_PLAYER_BIT_NAILGUN_OVERHEAT RETURN "CMHDZ_PLAYER_BIT_NAILGUN_OVERHEAT"
|
||
// CASE CMHDZ_PLAYER_BIT_NAILGUN_STOPPED_SHOOTING RETURN "CMHDZ_PLAYER_BIT_NAILGUN_STOPPED_SHOOTING"
|
||
CASE CMHDZ_PLAYER_BIT_RELOADED_FIRST_BULLET RETURN "CMHDZ_PLAYER_BIT_RELOADED_FIRST_BULLET"
|
||
CASE CMHDZ_PLAYER_BIT_QUAD_DAMAGE RETURN "CMHDZ_PLAYER_BIT_QUAD_DAMAGE"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_PLAYER_BITSET_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_PLAYER_PED_ANIM_STATE_TO_STRING(CMHDZ_PLAYER_PED_ANIM_STATE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_PLAYER_PED_ANIM_IDLE RETURN "CMHDZ_PLAYER_PED_ANIM_IDLE"
|
||
CASE CMHDZ_PLAYER_PED_ANIM_IDLE_TO_AIM RETURN "CMHDZ_PLAYER_PED_ANIM_IDLE_TO_AIM"
|
||
CASE CMHDZ_PLAYER_PED_ANIM_AIM_IDLE RETURN "CMHDZ_PLAYER_PED_ANIM_AIM_IDLE"
|
||
CASE CMHDZ_PLAYER_PED_ANIM_PLAY_IDLE RETURN "CMHDZ_PLAYER_PED_ANIM_PLAY_IDLE"
|
||
CASE CMHDZ_PLAYER_PED_ANIM_AIM_IDLE_TO_LOSE_LIFE RETURN "CMHDZ_PLAYER_PED_ANIM_AIM_IDLE_TO_LOSE_LIFE"
|
||
CASE CMHDZ_PLAYER_PED_ANIM_AIM_IDLE_TO_COMPLETE_SCREEN RETURN "CMHDZ_PLAYER_PED_ANIM_AIM_IDLE_TO_COMPLETE_SCREEN"
|
||
CASE CMHDZ_PLAYER_PED_ANIM_AIM_IDLE_TO_COMPLETE_GAME RETURN "CMHDZ_PLAYER_PED_ANIM_AIM_IDLE_TO_COMPLETE_GAME"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_PLAYER_PED_ANIM_STATE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_PLAYER_WEAPON_TO_STRING(CMHDZ_PLAYER_WEAPON eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_PLAYER_WEAPON_NONE RETURN "CMHDZ_PLAYER_WEAPON_NONE"
|
||
CASE CMHDZ_PLAYER_WEAPON_REVOLVER RETURN "CMHDZ_PLAYER_WEAPON_REVOLVER"
|
||
// CASE CMHDZ_PLAYER_WEAPON_REVOLVER RETURN "CMHDZ_PLAYER_WEAPON_REVOLVER"
|
||
CASE CMHDZ_PLAYER_WEAPON_RIFLE RETURN "CMHDZ_PLAYER_WEAPON_RIFLE"
|
||
CASE CMHDZ_PLAYER_WEAPON_SHOTGUN RETURN "CMHDZ_PLAYER_WEAPON_SHOTGUN"
|
||
CASE CMHDZ_PLAYER_WEAPON_NAILGUN RETURN "CMHDZ_PLAYER_WEAPON_NAILGUN"
|
||
CASE CMHDZ_PLAYER_WEAPON_MAX RETURN "CMHDZ_PLAYER_WEAPON_MAX"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_PLAYER_WEAPON_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_PLAYER_WEAPON_TYPE_TO_STRING(CMHDZ_PLAYER_WEAPON_TYPE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT RETURN "CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT"
|
||
CASE CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL RETURN "CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL"
|
||
CASE CMHDZ_PLAYER_WEAPON_TYPE_MAX RETURN "CMHDZ_PLAYER_WEAPON_TYPE_MAX"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_PLAYER_WEAPON_TYPE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_PROJECTILE_TYPES_TO_STRING(CMHDZ_PROJECTILE_TYPES eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_PROJECTILE_NONE RETURN "CMHDZ_PROJECTILE_NONE"
|
||
CASE CMHDZ_PROJECTILE_DYNAMITE RETURN "CMHDZ_PROJECTILE_DYNAMITE"
|
||
CASE CMHDZ_PROJECTILE_MOLOTOV RETURN "CMHDZ_PROJECTILE_MOLOTOV"
|
||
CASE CMHDZ_PROJECTILE_BRICK RETURN "CMHDZ_PROJECTILE_BRICK"
|
||
CASE CMHDZ_PROJECTILE_NAILBOMB RETURN "CMHDZ_PROJECTILE_NAILBOMB"
|
||
|
||
CASE CMHDZ_PROJECTILE_BONE RETURN "CMHDZ_PROJECTILE_BONE"
|
||
CASE CMHDZ_PROJECTILE_JOWL RETURN "CMHDZ_PROJECTILE_JOWL"
|
||
CASE CMHDZ_PROJECTILE_LEG RETURN "CMHDZ_PROJECTILE_LEG"
|
||
CASE CMHDZ_PROJECTILE_TROTTER RETURN "CMHDZ_PROJECTILE_TROTTER"
|
||
|
||
CASE NUM_CMHDZ_PROJECTILE_TYPES RETURN "NUM_CMHDZ_PROJECTILE_TYPES"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_PROJECTILE_TYPES_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_PROJECTILE_STATE_TO_STRING(CMHDZ_PROJECTILE_STATE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_PROJECTILE_STATE_INACTIVE RETURN "CMHDZ_PROJECTILE_STATE_INACTIVE"
|
||
CASE CMHDZ_PROJECTILE_STATE_AIRBORNE RETURN "CMHDZ_PROJECTILE_STATE_AIRBORNE"
|
||
CASE CMHDZ_PROJECTILE_STATE_IMPACT RETURN "CMHDZ_PROJECTILE_STATE_IMPACT"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_PROJECTILE_STATE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_REPLAY_BITS_TO_STRING(CMHDZ_REPLAY_BITS eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_REPLAY_BITS_NONE RETURN "CMHDZ_REPLAY_BITS_NONE"
|
||
CASE CMHDZ_REPLAY_BITS_WAS_PLAYBACK_ON RETURN "CMHDZ_REPLAY_BITS_WAS_PLAYBACK_ON"
|
||
CASE CMHDZ_REPLAY_BITS_WAS_RECORDING_ON RETURN "CMHDZ_REPLAY_BITS_WAS_RECORDING_ON"
|
||
CASE CMHDZ_REPLAY_BITS_IS_NEW_FRAME RETURN "CMHDZ_REPLAY_BITS_IS_NEW_FRAME"
|
||
CASE CMHDZ_REPLAY_BITS_IS_RECORD_FRAME RETURN "CMHDZ_REPLAY_BITS_IS_RECORD_FRAME"
|
||
CASE CMHDZ_REPLAY_BITS_IS_PLAYBACK RETURN "CMHDZ_REPLAY_BITS_IS_PLAYBACK"
|
||
CASE CMHDZ_REPLAY_BITS_IS_RECORDING RETURN "CMHDZ_REPLAY_BITS_IS_RECORDING"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_REPLAY_BITS_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_RESULT_SCREEN_STATE_TO_STRING(CMHDZ_RESULT_SCREEN_STATE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_RESULT_SCREEN_STATE_INIT RETURN "CMHDZ_RESULT_SCREEN_STATE_INIT"
|
||
CASE CMHDZ_RESULT_SCREEN_STATE_DEAD_SCREEN RETURN "CMHDZ_RESULT_SCREEN_STATE_DEAD_SCREEN"
|
||
CASE CMHDZ_RESULT_SCREEN_STATE_START_REWIND RETURN "CMHDZ_RESULT_SCREEN_STATE_START_REWIND"
|
||
CASE CMHDZ_RESULT_SCREEN_STATE_REWIND RETURN "CMHDZ_RESULT_SCREEN_STATE_REWIND"
|
||
CASE CMHDZ_RESULT_SCREEN_STATE_COMPLETE RETURN "CMHDZ_RESULT_SCREEN_STATE_COMPLETE"
|
||
CASE CMHDZ_RESULT_SCREEN_STATE_GOTO_LEADERBOARD RETURN "CMHDZ_RESULT_SCREEN_STATE_GOTO_LEADERBOARD"
|
||
CASE NUM_CMHDZ_RESULT_SCREEN_STATE RETURN "NUM_CMHDZ_RESULT_SCREEN_STATE"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_RESULT_SCREEN_STATE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_SCORE_TYPE_TO_STRING(CMHDZ_SCORE_TYPE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_SCORE_TYPE_ENEMY RETURN "CMHDZ_SCORE_TYPE_ENEMY"
|
||
CASE CMHDZ_SCORE_TYPE_ENEMY_HEADSHOT RETURN "CMHDZ_SCORE_TYPE_ENEMY_HEADSHOT"
|
||
CASE CMHDZ_SCORE_TYPE_SCENERY RETURN "CMHDZ_SCORE_TYPE_SCENERY"
|
||
CASE CMHDZ_SCORE_TYPE_ENEMY_EXPLOSION RETURN "CMHDZ_SCORE_TYPE_ENEMY_EXPLOSION"
|
||
CASE CMHDZ_SCORE_TYPE_ANIMAL RETURN "CMHDZ_SCORE_TYPE_ANIMAL"
|
||
CASE CMHDZ_SCORE_TYPE_TAPE RETURN "CMHDZ_SCORE_TYPE_TAPE"
|
||
CASE CMHDZ_SCORE_TYPE_CASH RETURN "CMHDZ_SCORE_TYPE_CASH"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_SCORE_TYPE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_SPRITE_TO_STRING(CMHDZ_SPRITE eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_SPRITE_NONE RETURN "CMHDZ_SPRITE_NONE"
|
||
CASE CMHDZ_SPRITE_GANG_01_ATTACKING RETURN "CMHDZ_SPRITE_GANG_01_ATTACKING"
|
||
CASE CMHDZ_SPRITE_GANG_01_DEAD RETURN "CMHDZ_SPRITE_GANG_01_DEAD"
|
||
CASE CMHDZ_SPRITE_GANG_01_RUNNING_01 RETURN "CMHDZ_SPRITE_GANG_01_RUNNING_01"
|
||
CASE CMHDZ_SPRITE_GANG_01_RUNNING_02 RETURN "CMHDZ_SPRITE_GANG_01_RUNNING_02"
|
||
CASE CMHDZ_SPRITE_GANG_01_THROWING_01 RETURN "CMHDZ_SPRITE_GANG_01_THROWING_01"
|
||
CASE CMHDZ_SPRITE_GANG_01_THROWING_02 RETURN "CMHDZ_SPRITE_GANG_01_THROWING_02"
|
||
CASE CMHDZ_SPRITE_GANG_01_THROWING_03 RETURN "CMHDZ_SPRITE_GANG_01_THROWING_03"
|
||
CASE CMHDZ_SPRITE_GANG_01_THROWING_04 RETURN "CMHDZ_SPRITE_GANG_01_THROWING_04"
|
||
CASE CMHDZ_SPRITE_GANG_01_THROWING_05 RETURN "CMHDZ_SPRITE_GANG_01_THROWING_05"
|
||
CASE CMHDZ_SPRITE_GANG_01_HEADSHOT_01 RETURN "CMHDZ_SPRITE_GANG_01_HEADSHOT_01"
|
||
CASE CMHDZ_SPRITE_GANG_01_HEADSHOT_02 RETURN "CMHDZ_SPRITE_GANG_01_HEADSHOT_02"
|
||
CASE CMHDZ_SPRITE_GANG_01_HEADSHOT_03 RETURN "CMHDZ_SPRITE_GANG_01_HEADSHOT_03"
|
||
CASE CMHDZ_SPRITE_GANG_01_HEADSHOT_04 RETURN "CMHDZ_SPRITE_GANG_01_HEADSHOT_04"
|
||
CASE CMHDZ_SPRITE_GANG_01_HEADSHOT_05 RETURN "CMHDZ_SPRITE_GANG_01_HEADSHOT_05"
|
||
CASE CMHDZ_SPRITE_GANG_01_HEADSHOT_06 RETURN "CMHDZ_SPRITE_GANG_01_HEADSHOT_06"
|
||
CASE CMHDZ_SPRITE_GANG_01_HEADSHOT_07 RETURN "CMHDZ_SPRITE_GANG_01_HEADSHOT_07"
|
||
CASE CMHDZ_SPRITE_GANG_01_HEADSHOT_08 RETURN "CMHDZ_SPRITE_GANG_01_HEADSHOT_08"
|
||
CASE CMHDZ_SPRITE_GANG_01_HEADSHOT_09 RETURN "CMHDZ_SPRITE_GANG_01_HEADSHOT_09"
|
||
|
||
CASE CMHDZ_SPRITE_GANG_02_ATTACKING RETURN "CMHDZ_SPRITE_GANG_02_ATTACKING"
|
||
CASE CMHDZ_SPRITE_GANG_02_DEAD RETURN "CMHDZ_SPRITE_GANG_02_DEAD"
|
||
CASE CMHDZ_SPRITE_GANG_02_RUNNING_01 RETURN "CMHDZ_SPRITE_GANG_02_RUNNING_01"
|
||
CASE CMHDZ_SPRITE_GANG_02_RUNNING_02 RETURN "CMHDZ_SPRITE_GANG_02_RUNNING_02"
|
||
CASE CMHDZ_SPRITE_GANG_02_THROWING_01 RETURN "CMHDZ_SPRITE_GANG_02_THROWING_01"
|
||
CASE CMHDZ_SPRITE_GANG_02_THROWING_02 RETURN "CMHDZ_SPRITE_GANG_02_THROWING_02"
|
||
CASE CMHDZ_SPRITE_GANG_02_THROWING_03 RETURN "CMHDZ_SPRITE_GANG_02_THROWING_03"
|
||
CASE CMHDZ_SPRITE_GANG_02_THROWING_04 RETURN "CMHDZ_SPRITE_GANG_02_THROWING_04"
|
||
CASE CMHDZ_SPRITE_GANG_02_THROWING_05 RETURN "CMHDZ_SPRITE_GANG_02_THROWING_05"
|
||
CASE CMHDZ_SPRITE_GANG_02_HEADSHOT_01 RETURN "CMHDZ_SPRITE_GANG_02_HEADSHOT_01"
|
||
CASE CMHDZ_SPRITE_GANG_02_HEADSHOT_02 RETURN "CMHDZ_SPRITE_GANG_02_HEADSHOT_02"
|
||
CASE CMHDZ_SPRITE_GANG_02_HEADSHOT_03 RETURN "CMHDZ_SPRITE_GANG_02_HEADSHOT_03"
|
||
CASE CMHDZ_SPRITE_GANG_02_HEADSHOT_04 RETURN "CMHDZ_SPRITE_GANG_02_HEADSHOT_04"
|
||
CASE CMHDZ_SPRITE_GANG_02_HEADSHOT_05 RETURN "CMHDZ_SPRITE_GANG_02_HEADSHOT_05"
|
||
CASE CMHDZ_SPRITE_GANG_02_HEADSHOT_06 RETURN "CMHDZ_SPRITE_GANG_02_HEADSHOT_06"
|
||
CASE CMHDZ_SPRITE_GANG_02_HEADSHOT_07 RETURN "CMHDZ_SPRITE_GANG_02_HEADSHOT_07"
|
||
CASE CMHDZ_SPRITE_GANG_02_HEADSHOT_08 RETURN "CMHDZ_SPRITE_GANG_02_HEADSHOT_08"
|
||
CASE CMHDZ_SPRITE_GANG_02_HEADSHOT_09 RETURN "CMHDZ_SPRITE_GANG_02_HEADSHOT_09"
|
||
|
||
CASE CMHDZ_SPRITE_GANG_03_ATTACKING RETURN "CMHDZ_SPRITE_GANG_03_ATTACKING"
|
||
CASE CMHDZ_SPRITE_GANG_03_DEAD RETURN "CMHDZ_SPRITE_GANG_03_DEAD"
|
||
CASE CMHDZ_SPRITE_GANG_03_RUNNING_01 RETURN "CMHDZ_SPRITE_GANG_03_RUNNING_01"
|
||
CASE CMHDZ_SPRITE_GANG_03_RUNNING_02 RETURN "CMHDZ_SPRITE_GANG_03_RUNNING_02"
|
||
CASE CMHDZ_SPRITE_GANG_03_THROWING_01 RETURN "CMHDZ_SPRITE_GANG_03_THROWING_01"
|
||
CASE CMHDZ_SPRITE_GANG_03_THROWING_02 RETURN "CMHDZ_SPRITE_GANG_03_THROWING_02"
|
||
CASE CMHDZ_SPRITE_GANG_03_THROWING_03 RETURN "CMHDZ_SPRITE_GANG_03_THROWING_03"
|
||
CASE CMHDZ_SPRITE_GANG_03_THROWING_04 RETURN "CMHDZ_SPRITE_GANG_03_THROWING_04"
|
||
CASE CMHDZ_SPRITE_GANG_03_THROWING_05 RETURN "CMHDZ_SPRITE_GANG_03_THROWING_05"
|
||
CASE CMHDZ_SPRITE_GANG_03_HEADSHOT_01 RETURN "CMHDZ_SPRITE_GANG_03_HEADSHOT_01"
|
||
CASE CMHDZ_SPRITE_GANG_03_HEADSHOT_02 RETURN "CMHDZ_SPRITE_GANG_03_HEADSHOT_02"
|
||
CASE CMHDZ_SPRITE_GANG_03_HEADSHOT_03 RETURN "CMHDZ_SPRITE_GANG_03_HEADSHOT_03"
|
||
CASE CMHDZ_SPRITE_GANG_03_HEADSHOT_04 RETURN "CMHDZ_SPRITE_GANG_03_HEADSHOT_04"
|
||
CASE CMHDZ_SPRITE_GANG_03_HEADSHOT_05 RETURN "CMHDZ_SPRITE_GANG_03_HEADSHOT_05"
|
||
CASE CMHDZ_SPRITE_GANG_03_HEADSHOT_06 RETURN "CMHDZ_SPRITE_GANG_03_HEADSHOT_06"
|
||
CASE CMHDZ_SPRITE_GANG_03_HEADSHOT_07 RETURN "CMHDZ_SPRITE_GANG_03_HEADSHOT_07"
|
||
CASE CMHDZ_SPRITE_GANG_03_HEADSHOT_08 RETURN "CMHDZ_SPRITE_GANG_03_HEADSHOT_08"
|
||
CASE CMHDZ_SPRITE_GANG_03_HEADSHOT_09 RETURN "CMHDZ_SPRITE_GANG_03_HEADSHOT_09"
|
||
|
||
|
||
CASE CMHDZ_SPRITE_GANG_04_ATTACKING RETURN "CMHDZ_SPRITE_GANG_04_ATTACKING"
|
||
CASE CMHDZ_SPRITE_GANG_04_DEAD RETURN "CMHDZ_SPRITE_GANG_04_DEAD"
|
||
CASE CMHDZ_SPRITE_GANG_04_RUNNING_01 RETURN "CMHDZ_SPRITE_GANG_04_RUNNING_01"
|
||
CASE CMHDZ_SPRITE_GANG_04_RUNNING_02 RETURN "CMHDZ_SPRITE_GANG_04_RUNNING_02"
|
||
CASE CMHDZ_SPRITE_GANG_04_THROWING_01 RETURN "CMHDZ_SPRITE_GANG_04_THROWING_01"
|
||
CASE CMHDZ_SPRITE_GANG_04_THROWING_02 RETURN "CMHDZ_SPRITE_GANG_04_THROWING_02"
|
||
CASE CMHDZ_SPRITE_GANG_04_THROWING_03 RETURN "CMHDZ_SPRITE_GANG_04_THROWING_03"
|
||
CASE CMHDZ_SPRITE_GANG_04_THROWING_04 RETURN "CMHDZ_SPRITE_GANG_04_THROWING_04"
|
||
CASE CMHDZ_SPRITE_GANG_04_THROWING_05 RETURN "CMHDZ_SPRITE_GANG_04_THROWING_05"
|
||
CASE CMHDZ_SPRITE_GANG_04_HEADSHOT_01 RETURN "CMHDZ_SPRITE_GANG_04_HEADSHOT_01"
|
||
CASE CMHDZ_SPRITE_GANG_04_HEADSHOT_02 RETURN "CMHDZ_SPRITE_GANG_04_HEADSHOT_02"
|
||
CASE CMHDZ_SPRITE_GANG_04_HEADSHOT_03 RETURN "CMHDZ_SPRITE_GANG_04_HEADSHOT_03"
|
||
CASE CMHDZ_SPRITE_GANG_04_HEADSHOT_04 RETURN "CMHDZ_SPRITE_GANG_04_HEADSHOT_04"
|
||
CASE CMHDZ_SPRITE_GANG_04_HEADSHOT_05 RETURN "CMHDZ_SPRITE_GANG_04_HEADSHOT_05"
|
||
CASE CMHDZ_SPRITE_GANG_04_HEADSHOT_06 RETURN "CMHDZ_SPRITE_GANG_04_HEADSHOT_06"
|
||
CASE CMHDZ_SPRITE_GANG_04_HEADSHOT_07 RETURN "CMHDZ_SPRITE_GANG_04_HEADSHOT_07"
|
||
CASE CMHDZ_SPRITE_GANG_04_HEADSHOT_08 RETURN "CMHDZ_SPRITE_GANG_04_HEADSHOT_08"
|
||
CASE CMHDZ_SPRITE_GANG_04_HEADSHOT_09 RETURN "CMHDZ_SPRITE_GANG_04_HEADSHOT_09"
|
||
|
||
CASE CMHDZ_SPRITE_GANG_05_ATTACKING RETURN "CMHDZ_SPRITE_GANG_05_ATTACKING"
|
||
CASE CMHDZ_SPRITE_GANG_05_DEAD RETURN "CMHDZ_SPRITE_GANG_05_DEAD"
|
||
CASE CMHDZ_SPRITE_GANG_05_RUNNING_01 RETURN "CMHDZ_SPRITE_GANG_05_RUNNING_01"
|
||
CASE CMHDZ_SPRITE_GANG_05_RUNNING_02 RETURN "CMHDZ_SPRITE_GANG_05_RUNNING_02"
|
||
CASE CMHDZ_SPRITE_GANG_05_THROWING_01 RETURN "CMHDZ_SPRITE_GANG_05_THROWING_01"
|
||
CASE CMHDZ_SPRITE_GANG_05_THROWING_02 RETURN "CMHDZ_SPRITE_GANG_05_THROWING_02"
|
||
CASE CMHDZ_SPRITE_GANG_05_THROWING_03 RETURN "CMHDZ_SPRITE_GANG_05_THROWING_03"
|
||
CASE CMHDZ_SPRITE_GANG_05_THROWING_04 RETURN "CMHDZ_SPRITE_GANG_05_THROWING_04"
|
||
CASE CMHDZ_SPRITE_GANG_05_THROWING_05 RETURN "CMHDZ_SPRITE_GANG_05_THROWING_05"
|
||
CASE CMHDZ_SPRITE_GANG_05_HEADSHOT_01 RETURN "CMHDZ_SPRITE_GANG_05_HEADSHOT_01"
|
||
CASE CMHDZ_SPRITE_GANG_05_HEADSHOT_02 RETURN "CMHDZ_SPRITE_GANG_05_HEADSHOT_02"
|
||
CASE CMHDZ_SPRITE_GANG_05_HEADSHOT_03 RETURN "CMHDZ_SPRITE_GANG_05_HEADSHOT_03"
|
||
CASE CMHDZ_SPRITE_GANG_05_HEADSHOT_04 RETURN "CMHDZ_SPRITE_GANG_05_HEADSHOT_04"
|
||
CASE CMHDZ_SPRITE_GANG_05_HEADSHOT_05 RETURN "CMHDZ_SPRITE_GANG_05_HEADSHOT_05"
|
||
CASE CMHDZ_SPRITE_GANG_05_HEADSHOT_06 RETURN "CMHDZ_SPRITE_GANG_05_HEADSHOT_06"
|
||
CASE CMHDZ_SPRITE_GANG_05_HEADSHOT_07 RETURN "CMHDZ_SPRITE_GANG_05_HEADSHOT_07"
|
||
CASE CMHDZ_SPRITE_GANG_05_HEADSHOT_08 RETURN "CMHDZ_SPRITE_GANG_05_HEADSHOT_08"
|
||
CASE CMHDZ_SPRITE_GANG_05_HEADSHOT_09 RETURN "CMHDZ_SPRITE_GANG_05_HEADSHOT_09"
|
||
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_01_A RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_01_A"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_01_A_ATTACK RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_01_A_ATTACK"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_01_B RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_01_B"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_01_DEAD RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_01_DEAD"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_01_HEADSHOT RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_01_HEADSHOT"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_02_A RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_02_A"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_02_B RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_02_B"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_02_DEAD RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_02_DEAD"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_02_HEADSHOT RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_02_HEADSHOT"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_03_A RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_03_A"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_03_B RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_03_B"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_03_DEAD RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_03_DEAD"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_03_HEADSHOT RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_03_HEADSHOT"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_04_B RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_04_B"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A_ATTACK RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A_ATTACK"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A_DEAD RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A_DEAD"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_04_B_DEAD RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_04_B_DEAD"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A_HEADSHOT RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_04_A_HEADSHOT"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_04_B_HEADSHOT RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_04_B_HEADSHOT"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_05_A RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_05_A"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_05_A_DEAD RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_05_A_DEAD"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B_DEAD RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B_DEAD"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_05_A_HEADSHOT RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_05_A_HEADSHOT"
|
||
CASE CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B_HEADSHOT RETURN "CMHDZ_SPRITE_FOREGROUND_ENEMY_05_B_HEADSHOT"
|
||
|
||
CASE CMHDZ_SPRITE_FG_ENEMY_GUNFIRE RETURN "CMHDZ_SPRITE_FG_ENEMY_GUNFIRE"
|
||
CASE CMHDZ_SPRITE_THROWING_DYNAMITE_LARGE_01 RETURN "CMHDZ_SPRITE_THROWING_DYNAMITE_LARGE_01"
|
||
CASE CMHDZ_SPRITE_THROWING_DYNAMITE_LARGE_02 RETURN "CMHDZ_SPRITE_THROWING_DYNAMITE_LARGE_02"
|
||
CASE CMHDZ_SPRITE_THROWING_DYNAMITE_MEDIUM_01 RETURN "CMHDZ_SPRITE_THROWING_DYNAMITE_MEDIUM_01"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_SPRITE_THROWING_DYNAMITE_MEDIUM_02 RETURN "CMHDZ_SPRITE_THROWING_DYNAMITE_MEDIUM_02"
|
||
CASE CMHDZ_SPRITE_THROWING_DYNAMITE_SMALL_01 RETURN "CMHDZ_SPRITE_THROWING_DYNAMITE_SMALL_01"
|
||
CASE CMHDZ_SPRITE_THROWING_DYNAMITE_SMALL_02 RETURN "CMHDZ_SPRITE_THROWING_DYNAMITE_SMALL_02"
|
||
CASE CMHDZ_SPRITE_THROWING_MOLOTOV_LARGE RETURN "CMHDZ_SPRITE_THROWING_MOLOTOV_LARGE"
|
||
CASE CMHDZ_SPRITE_THROWING_MOLOTOV_MEDIUM RETURN "CMHDZ_SPRITE_THROWING_MOLOTOV_MEDIUM"
|
||
CASE CMHDZ_SPRITE_THROWING_MOLOTOV_SMALL RETURN "CMHDZ_SPRITE_THROWING_MOLOTOV_SMALL"
|
||
CASE CMHDZ_SPRITE_THROWING_NAILBOMB_LARGE RETURN "CMHDZ_SPRITE_THROWING_NAILBOMB_LARGE"
|
||
CASE CMHDZ_SPRITE_THROWING_NAILBOMB_MEDIUM RETURN "CMHDZ_SPRITE_THROWING_NAILBOMB_MEDIUM"
|
||
CASE CMHDZ_SPRITE_THROWING_NAILBOMB_SMALL RETURN "CMHDZ_SPRITE_THROWING_NAILBOMB_SMALL"
|
||
CASE CMHDZ_SPRITE_THROWING_BRICK_LARGE RETURN "CMHDZ_SPRITE_THROWING_BRICK_LARGE"
|
||
CASE CMHDZ_SPRITE_THROWING_BRICK_MEDIUM RETURN "CMHDZ_SPRITE_THROWING_BRICK_MEDIUM"
|
||
CASE CMHDZ_SPRITE_THROWING_BRICK_SMALL RETURN "CMHDZ_SPRITE_THROWING_BRICK_SMALL"
|
||
CASE CMHDZ_SPRITE_THROWN_WEAPON_EXP_01 RETURN "CMHDZ_SPRITE_THROWN_WEAPON_EXP_01"
|
||
CASE CMHDZ_SPRITE_THROWN_WEAPON_EXP_02 RETURN "CMHDZ_SPRITE_THROWN_WEAPON_EXP_02"
|
||
CASE CMHDZ_SPRITE_TRASHBAG_BIG RETURN "CMHDZ_SPRITE_TRASHBAG_BIG"
|
||
CASE CMHDZ_SPRITE_TRASHBAG_SMALL RETURN "CMHDZ_SPRITE_TRASHBAG_SMALL"
|
||
CASE CMHDZ_SPRITE_TRASHCAN_BIG_01 RETURN "CMHDZ_SPRITE_TRASHCAN_BIG_01"
|
||
CASE CMHDZ_SPRITE_TRASHCAN_BIG_02 RETURN "CMHDZ_SPRITE_TRASHCAN_BIG_02"
|
||
CASE CMHDZ_SPRITE_TRASHCAN_SMALL_01 RETURN "CMHDZ_SPRITE_TRASHCAN_SMALL_01"
|
||
CASE CMHDZ_SPRITE_TRASHCAN_SMALL_02 RETURN "CMHDZ_SPRITE_TRASHCAN_SMALL_02"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
// CASE CMHDZ_SPRITE_ANIMALBONUS_SCORPION_01 RETURN "CMHDZ_SPRITE_ANIMALBONUS_SCORPION_01"
|
||
// CASE CMHDZ_SPRITE_ANIMALBONUS_SCORPION_02 RETURN "CMHDZ_SPRITE_ANIMALBONUS_SCORPION_02"
|
||
// CASE CMHDZ_SPRITE_BAT_01 RETURN "CMHDZ_SPRITE_BAT_01"
|
||
// CASE CMHDZ_SPRITE_BAT_02 RETURN "CMHDZ_SPRITE_BAT_02"
|
||
// CASE CMHDZ_SPRITE_EAGLE1 RETURN "CMHDZ_SPRITE_EAGLE1"
|
||
// CASE CMHDZ_SPRITE_EAGLE2 RETURN "CMHDZ_SPRITE_EAGLE2"
|
||
// CASE CMHDZ_SPRITE_LEVEL_03_FOREST_BEAR_01 RETURN "CMHDZ_SPRITE_LEVEL_03_FOREST_BEAR_01"
|
||
// CASE CMHDZ_SPRITE_LEVEL_03_FOREST_BEAR_02 RETURN "CMHDZ_SPRITE_LEVEL_03_FOREST_BEAR_02"
|
||
CASE CMHDZ_SPRITE_OUCH1 RETURN "CMHDZ_SPRITE_OUCH1"
|
||
// CASE CMHDZ_SPRITE_VULTURE_01 RETURN "CMHDZ_SPRITE_VULTURE_01"
|
||
// CASE CMHDZ_SPRITE_VULTURE_02 RETURN "CMHDZ_SPRITE_VULTURE_02"
|
||
CASE CMHDZ_SPRITE_FENCE RETURN "CMHDZ_SPRITE_FENCE"
|
||
// CASE CMHDZ_SPRITE_FENCE_SMALL RETURN "CMHDZ_SPRITE_FENCE_SMALL"
|
||
CASE CMHDZ_SPRITE_CITY_BUILDING_06 RETURN "CMHDZ_SPRITE_CITY_BUILDING_06"
|
||
CASE CMHDZ_SPRITE_CITY_BUILDING_07 RETURN "CMHDZ_SPRITE_CITY_BUILDING_07"
|
||
CASE CMHDZ_SPRITE_CITY_BUILDING_08 RETURN "CMHDZ_SPRITE_CITY_BUILDING_08"
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_01 RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_01"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_02 RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_02"
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_03 RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_03"
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_04 RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_MD_VAN_04"
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_01 RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_01"
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_02 RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_02"
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_03 RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_03"
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_04 RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_MD_CAR_04"
|
||
CASE CMHDZ_SPRITE_THEMEPARK_BUILDING_1 RETURN "CMHDZ_SPRITE_THEMEPARK_BUILDING_1"
|
||
CASE CMHDZ_SPRITE_THEMEPARK_BUILDING_2 RETURN "CMHDZ_SPRITE_THEMEPARK_BUILDING_2"
|
||
CASE CMHDZ_SPRITE_THEMEPARK_BUILDING_3 RETURN "CMHDZ_SPRITE_THEMEPARK_BUILDING_3"
|
||
CASE CMHDZ_SPRITE_THEMEPARK_BUILDING_4 RETURN "CMHDZ_SPRITE_THEMEPARK_BUILDING_4"
|
||
CASE CMHDZ_SPRITE_THEMEPARK_CLOWNBOARD_1 RETURN "CMHDZ_SPRITE_THEMEPARK_CLOWNBOARD_1"
|
||
CASE CMHDZ_SPRITE_THEMEPARK_CLOWNBOARD_2 RETURN "CMHDZ_SPRITE_THEMEPARK_CLOWNBOARD_2"
|
||
CASE CMHDZ_SPRITE_ASYLUM_PROP_MD_BED RETURN "CMHDZ_SPRITE_ASYLUM_PROP_MD_BED"
|
||
CASE CMHDZ_SPRITE_ASYLUM_PROP_MD_WHEELCHAIR RETURN "CMHDZ_SPRITE_ASYLUM_PROP_MD_WHEELCHAIR"
|
||
CASE CMHDZ_SPRITE_ASYLUM_PROP_MD_MATTRESS RETURN "CMHDZ_SPRITE_ASYLUM_PROP_MD_MATTRESS"
|
||
CASE CMHDZ_SPRITE_ASYLUM_PROP_LIGHT_STATE_1 RETURN "CMHDZ_SPRITE_ASYLUM_PROP_LIGHT_STATE_1"
|
||
CASE CMHDZ_SPRITE_ASYLUM_PROP_LIGHT_STATE_2 RETURN "CMHDZ_SPRITE_ASYLUM_PROP_LIGHT_STATE_2"
|
||
CASE CMHDZ_SPRITE_ROCKS RETURN "CMHDZ_SPRITE_ROCKS"
|
||
CASE CMHDZ_SPRITE_WATER_TANK RETURN "CMHDZ_SPRITE_WATER_TANK"
|
||
CASE CMHDZ_SPRITE_FLOOR_GRASS RETURN "CMHDZ_SPRITE_FLOOR_GRASS"
|
||
CASE CMHDZ_SPRITE_LEVEL_03_FOREST_ROCKS RETURN "CMHDZ_SPRITE_LEVEL_03_FOREST_ROCKS"
|
||
CASE CMHDZ_SPRITE_TREE_01 RETURN "CMHDZ_SPRITE_TREE_01"
|
||
CASE CMHDZ_SPRITE_TREE_02 RETURN "CMHDZ_SPRITE_TREE_02"
|
||
CASE CMHDZ_SPRITE_BARREL_HORIZONTAL RETURN "CMHDZ_SPRITE_BARREL_HORIZONTAL"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_ASSETS_10 RETURN "CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_ASSETS_10"
|
||
CASE CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_CAVE_TILE RETURN "CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_CAVE_TILE"
|
||
CASE CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_CAVE_TILE_02 RETURN "CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_CAVE_TILE_02"
|
||
CASE CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_MINECART RETURN "CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_MINECART"
|
||
CASE CMHDZ_SPRITE_THEMEPARK_MINECART_WHEEL_01 RETURN "CMHDZ_SPRITE_THEMEPARK_MINECART_WHEEL_01"
|
||
CASE CMHDZ_SPRITE_THEMEPARK_MINECART_WHEEL_02 RETURN "CMHDZ_SPRITE_THEMEPARK_MINECART_WHEEL_02"
|
||
CASE CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_ROCK RETURN "CMHDZ_SPRITE_LEVEL_04_GOLD_MINE_ROCK"
|
||
CASE CMHDZ_SPRITE_PROP_BARRELS RETURN "CMHDZ_SPRITE_PROP_BARRELS"
|
||
CASE CMHDZ_SPRITE_PROP_FOREGROUND_TRASH RETURN "CMHDZ_SPRITE_PROP_FOREGROUND_TRASH"
|
||
CASE CMHDZ_SPRITE_PROP_BARRIER RETURN "CMHDZ_SPRITE_PROP_BARRIER"
|
||
CASE CMHDZ_SPRITE_WOODENSTRUCTURE RETURN "CMHDZ_SPRITE_WOODENSTRUCTURE"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_PIG_01 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_PIG_01"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_PIG_02 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_PIG_02"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_01 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_01"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_02 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_02"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_03 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_03"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_01 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_01"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_02 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_02"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_03 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_03"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_04 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_FLOOR_BODYBAG_04"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_MEATGRINDER_01 RETURN "LEVEL_05_SLAUGHTERHOUSE_PROP_MEATGRINDER_01"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_DOOR_01 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_DOOR_01"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_DOOR_02 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_DOOR_02"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_WINDOW RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_PROP_WINDOW"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_01 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_01"
|
||
CASE CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_02 RETURN "CMHDZ_SPRITE_SLAUGHTERHOUSE_BODYBAG_02"
|
||
CASE CMHDZ_SPRITE_CACTUS_1 RETURN "CMHDZ_SPRITE_CACTUS_1"
|
||
CASE CMHDZ_SPRITE_CACTUS_2 RETURN "CMHDZ_SPRITE_CACTUS_2"
|
||
CASE CMHDZ_SPRITE_CACTUS_3 RETURN "CMHDZ_SPRITE_CACTUS_3"
|
||
CASE CMHDZ_SPRITE_PROP_BUSH_LARGE RETURN "CMHDZ_SPRITE_PROP_BUSH_LARGE"
|
||
CASE CMHDZ_SPRITE_PROP_BUSH_SMALL RETURN "CMHDZ_SPRITE_PROP_BUSH_SMALL"
|
||
CASE CMHDZ_SPRITE_PROP_CACTUS_07 RETURN "CMHDZ_SPRITE_PROP_CACTUS_07"
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_FENCE RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_FENCE"
|
||
CASE CMHDZ_SPRITE_SCRAPYARD_PROP_BG_CARS RETURN "CMHDZ_SPRITE_SCRAPYARD_PROP_BG_CARS"
|
||
CASE CMHDZ_SPRITE_PROP_ROCK_LARGE RETURN "CMHDZ_SPRITE_PROP_ROCK_LARGE"
|
||
CASE CMHDZ_SPRITE_PROP_ROCK_SMALL RETURN "CMHDZ_SPRITE_PROP_ROCK_SMALL"
|
||
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
|
||
CASE CMHDZ_SPRITE_ITEM_HEALTH RETURN "CMHDZ_SPRITE_ITEM_HEALTH"
|
||
CASE CMHDZ_SPRITE_ITEM_SHIELD RETURN "CMHDZ_SPRITE_ITEM_SHIELD"
|
||
CASE CMHDZ_SPRITE_ITEM_BUFF RETURN "CMHDZ_SPRITE_ITEM_BUFF"
|
||
CASE CMHDZ_SPRITE_ITEM_ALCOHOL RETURN "CMHDZ_SPRITE_ITEM_ALCOHOL"
|
||
CASE CMHDZ_SPRITE_ITEM_GOLD_BARS RETURN "CMHDZ_SPRITE_ITEM_GOLD_BARS"
|
||
CASE CMHDZ_SPRITE_ITEM_QUAD_DAMAGE RETURN "CMHDZ_SPRITE_ITEM_QUAD_DAMAGE"
|
||
CASE CMHDZ_SPRITE_ITEM_VIDEOTAPE RETURN "CMHDZ_SPRITE_ITEM_VIDEOTAPE"
|
||
|
||
//CASE CMHDZ_SPRITE_ITEM_REVOLVER_AMMO RETURN "CMHDZ_SPRITE_ITEM_REVOLVER_AMMO"
|
||
CASE CMHDZ_SPRITE_ITEM_MACHINE_GUN_AMMO RETURN "CMHDZ_SPRITE_ITEM_MACHINE_GUN_AMMO"
|
||
CASE CMHDZ_SPRITE_ITEM_RIFLE_AMMO RETURN "CMHDZ_SPRITE_ITEM_RIFLE_AMMO"
|
||
CASE CMHDZ_SPRITE_ITEM_SHOTGUN_AMMO RETURN "CMHDZ_SPRITE_ITEM_SHOTGUN_AMMO"
|
||
|
||
CASE NUM_CMHDZ_SPRITE RETURN "NUM_CMHDZ_SPRITE"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_1 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_1"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_2 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_2"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_3 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_3"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_4 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_4"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_5 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_5"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_6 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_6"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_7 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_7"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_8 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_8"
|
||
//CASE CMHDZ_SPRITE_GORE_BACKGROUND_9 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_9"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_10 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_10"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_11 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_11"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_12 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_12"
|
||
CASE CMHDZ_SPRITE_GORE_BACKGROUND_13 RETURN "CMHDZ_SPRITE_GORE_BACKGROUND_13"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_01 RETURN "CMHDZ_SPRITE_BEARSY_WALK_FRAME_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_02 RETURN "CMHDZ_SPRITE_BEARSY_WALK_FRAME_02"
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_03 RETURN "CMHDZ_SPRITE_BEARSY_WALK_FRAME_03"
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_04 RETURN "CMHDZ_SPRITE_BEARSY_WALK_FRAME_04"
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_05 RETURN "CMHDZ_SPRITE_BEARSY_WALK_FRAME_05"
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_IDLE RETURN "CMHDZ_SPRITE_BEARSY_WALK_FRAME_IDLE"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_THROWING_01 RETURN "CMHDZ_SPRITE_BEARSY_THROWING_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_THROWING_02 RETURN "CMHDZ_SPRITE_BEARSY_THROWING_02"
|
||
CASE CMHDZ_SPRITE_BEARSY_THROWING_03 RETURN "CMHDZ_SPRITE_BEARSY_THROWING_03"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_BACKGROUND_STAGGERED RETURN "CMHDZ_SPRITE_BEARSY_BACKGROUND_STAGGERED"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_STAGGERED RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_STAGGERED"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_DEATH_01 RETURN "CMHDZ_SPRITE_BEARSY_DEATH_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_DEATH_02 RETURN "CMHDZ_SPRITE_BEARSY_DEATH_02"
|
||
CASE CMHDZ_SPRITE_BEARSY_DEATH_PAIN_01 RETURN "CMHDZ_SPRITE_BEARSY_DEATH_PAIN_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_DEATH_PAIN_02 RETURN "CMHDZ_SPRITE_BEARSY_DEATH_PAIN_02"
|
||
CASE CMHDZ_SPRITE_BEARSY_DEATH_PAIN_03 RETURN "CMHDZ_SPRITE_BEARSY_DEATH_PAIN_03"
|
||
CASE CMHDZ_SPRITE_BEARSY_DEATH_PAIN_04 RETURN "CMHDZ_SPRITE_BEARSY_DEATH_PAIN_04"
|
||
CASE CMHDZ_SPRITE_BEARSY_DEATH_PAIN_05 RETURN "CMHDZ_SPRITE_BEARSY_DEATH_PAIN_05"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_01 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_02 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_02"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_03 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_03"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_04 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_04"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_05 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_05"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_HIT_01 RETURN "CMHDZ_SPRITE_BEARSY_BONE_HIT_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_HIT_02 RETURN "CMHDZ_SPRITE_BEARSY_BONE_HIT_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_LARGE_01 RETURN "CMHDZ_SPRITE_BEARSY_BONE_LARGE_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_LARGE_02 RETURN "CMHDZ_SPRITE_BEARSY_BONE_LARGE_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_MED_01 RETURN "CMHDZ_SPRITE_BEARSY_BONE_MED_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_MED_02 RETURN "CMHDZ_SPRITE_BEARSY_BONE_MED_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_SMALL_01 RETURN "CMHDZ_SPRITE_BEARSY_BONE_SMALL_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_SMALL_02 RETURN "CMHDZ_SPRITE_BEARSY_BONE_SMALL_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_HIT_01 RETURN "CMHDZ_SPRITE_BEARSY_JOWL_HIT_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_HIT_02 RETURN "CMHDZ_SPRITE_BEARSY_JOWL_HIT_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_LARGE_01 RETURN "CMHDZ_SPRITE_BEARSY_JOWL_LARGE_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_LARGE_02 RETURN "CMHDZ_SPRITE_BEARSY_JOWL_LARGE_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_MED_01 RETURN "CMHDZ_SPRITE_BEARSY_JOWL_MED_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_MED_02 RETURN "CMHDZ_SPRITE_BEARSY_JOWL_MED_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_SMALL_01 RETURN "CMHDZ_SPRITE_BEARSY_JOWL_SMALL_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_SMALL_02 RETURN "CMHDZ_SPRITE_BEARSY_JOWL_SMALL_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_HIT_01 RETURN "CMHDZ_SPRITE_BEARSY_LEG_HIT_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_HIT_02 RETURN "CMHDZ_SPRITE_BEARSY_LEG_HIT_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_LARGE_01 RETURN "CMHDZ_SPRITE_BEARSY_LEG_LARGE_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_LARGE_02 RETURN "CMHDZ_SPRITE_BEARSY_LEG_LARGE_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_MED_01 RETURN "CMHDZ_SPRITE_BEARSY_LEG_MED_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_MED_02 RETURN "CMHDZ_SPRITE_BEARSY_LEG_MED_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_SMALL_01 RETURN "CMHDZ_SPRITE_BEARSY_LEG_SMALL_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_SMALL_02 RETURN "CMHDZ_SPRITE_BEARSY_LEG_SMALL_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_HIT_01 RETURN "CMHDZ_SPRITE_BEARSY_TROTTER_HIT_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_HIT_02 RETURN "CMHDZ_SPRITE_BEARSY_TROTTER_HIT_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_LARGE_01 RETURN "CMHDZ_SPRITE_BEARSY_TROTTER_LARGE_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_LARGE_02 RETURN "CMHDZ_SPRITE_BEARSY_TROTTER_LARGE_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_MED_01 RETURN "CMHDZ_SPRITE_BEARSY_TROTTER_MED_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_MED_02 RETURN "CMHDZ_SPRITE_BEARSY_TROTTER_MED_02"
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_SMALL_01 RETURN "CMHDZ_SPRITE_BEARSY_TROTTER_SMALL_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_SMALL_02 RETURN "CMHDZ_SPRITE_BEARSY_TROTTER_SMALL_02"
|
||
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_01 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_02 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_02"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_03 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_03"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_04 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_04"
|
||
//CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SCREEN_CRACK RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SCREEN_CRACK"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_01 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_02 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_02"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_03 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_03"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_04 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_04"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_05 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_05"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_01 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_01"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_02 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_02"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_03 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_03"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_04 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_04"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_05 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_05"
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_06 RETURN "CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_06"
|
||
CASE CMHDZ_SPRITE_SCREEN_DAMAGE_RIP RETURN "CMHDZ_SPRITE_SCREEN_DAMAGE_RIP"
|
||
CASE CMHDZ_SPRITE_SCREEN_DAMAGE_BLOOD_SPLATTER RETURN "CMHDZ_SPRITE_SCREEN_DAMAGE_BLOOD_SPLATTER"
|
||
//CASE CMHDZ_SPRITE_SCREEN_DAMAGE_BROKEN RETURN "CMHDZ_SPRITE_SCREEN_DAMAGE_BROKEN"
|
||
|
||
CASE CMHDZ_SPRITE_GANG_RARE_BUNNY_RUNNING_01 RETURN "CMHDZ_SPRITE_GANG_RARE_BUNNY_RUNNING_01"
|
||
CASE CMHDZ_SPRITE_GANG_RARE_BUNNY_RUNNING_02 RETURN "CMHDZ_SPRITE_GANG_RARE_BUNNY_RUNNING_02"
|
||
|
||
CASE CMHDZ_SPRITE_GANG_RARE_MONKEY_RUNNING_01 RETURN "CMHDZ_SPRITE_GANG_RARE_MONKEY_RUNNING_01"
|
||
CASE CMHDZ_SPRITE_GANG_RARE_MONKEY_RUNNING_02 RETURN "CMHDZ_SPRITE_GANG_RARE_MONKEY_RUNNING_02"
|
||
|
||
CASE CMHDZ_SPRITE_GANG_RARE_RAT_RUNNING_01 RETURN "CMHDZ_SPRITE_GANG_RARE_RAT_RUNNING_01"
|
||
CASE CMHDZ_SPRITE_GANG_RARE_RAT_RUNNING_02 RETURN "CMHDZ_SPRITE_GANG_RARE_RAT_RUNNING_02"
|
||
|
||
CASE CMHDZ_SPRITE_GANG_RARE_BUNNY_DEAD RETURN "CMHDZ_SPRITE_GANG_RARE_BUNNY_DEAD"
|
||
CASE CMHDZ_SPRITE_GANG_RARE_MONKEY_DEAD RETURN "CMHDZ_SPRITE_GANG_RARE_MONKEY_DEAD"
|
||
|
||
CASE NUM_CMHDZ_SPRITE RETURN "NUM_CMHDZ_SPRITE"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_SPRITE_INVALID"
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_TEXDICT_TO_STRING(CMHDZ_TEXDICT eType)
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_TEXDICT_INVALID RETURN "CMHDZ_TEXDICT_INVALID"
|
||
CASE CMHDZ_TEXDICT_BASE RETURN "CMHDZ_TEXDICT_BASE"
|
||
CASE CMHDZ_TEXDICT_TITLE RETURN "CMHDZ_TEXDICT_TITLE"
|
||
CASE CMHDZ_TEXDICT_HUD RETURN "CMHDZ_TEXDICT_HUD"
|
||
CASE CMHDZ_TEXDICT_FACADE RETURN "CMHDZ_TEXDICT_FACADE"
|
||
CASE CMHDZ_TEXDICT_LVLSELECT RETURN "CMHDZ_TEXDICT_LVLSELECT"
|
||
CASE CMHDZ_TEXDICT_LVLCOMP RETURN "CMHDZ_TEXDICT_LVLCOMP"
|
||
CASE CMHDZ_TEXDICT_LVL1 RETURN "CMHDZ_TEXDICT_LVL1"
|
||
CASE CMHDZ_TEXDICT_LVL2 RETURN "CMHDZ_TEXDICT_LVL2"
|
||
CASE CMHDZ_TEXDICT_LVL3 RETURN "CMHDZ_TEXDICT_LVL3"
|
||
CASE CMHDZ_TEXDICT_LVL4 RETURN "CMHDZ_TEXDICT_LVL4"
|
||
CASE CMHDZ_TEXDICT_LVL5 RETURN "CMHDZ_TEXDICT_LVL5"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_A RETURN "CMHDZ_TEXDICT_FG_ENEMY_A"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_B RETURN "CMHDZ_TEXDICT_FG_ENEMY_B"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_C RETURN "CMHDZ_TEXDICT_FG_ENEMY_C"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_D RETURN "CMHDZ_TEXDICT_FG_ENEMY_D"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_E RETURN "CMHDZ_TEXDICT_FG_ENEMY_E"
|
||
//CASE CMHDZ_TEXDICT_FG_ENEMY_D RETURN "CMHDZ_TEXDICT_FG_ENEMY_D"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_E_2 RETURN "CMHDZ_TEXDICT_FG_ENEMY_E_2"
|
||
CASE CMHDZ_TEXDICT_RESULTS RETURN "CMHDZ_TEXDICT_RESULTS"
|
||
CASE CMHDZ_TEXDICT_DEAD RETURN "CMHDZ_TEXDICT_DEAD"
|
||
CASE CMHDZ_TEXDICT_COMMON_PROPS RETURN "CMHDZ_TEXDICT_COMMON_PROPS"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_A RETURN "CMHDZ_TEXDICT_CH_GANG_A"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_B RETURN "CMHDZ_TEXDICT_CH_GANG_B"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_C RETURN "CMHDZ_TEXDICT_CH_GANG_C"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_D RETURN "CMHDZ_TEXDICT_CH_GANG_D"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_E RETURN "CMHDZ_TEXDICT_CH_GANG_E"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_RARE RETURN "CMHDZ_TEXDICT_CH_GANG_RARE"
|
||
ENDSWITCH
|
||
|
||
SWITCH (eType)
|
||
CASE CMHDZ_TEXDICT_CH_CITY RETURN "CMHDZ_TEXDICT_CH_CITY"
|
||
CASE CMHDZ_TEXDICT_CH_SCRAPYARD RETURN "CMHDZ_TEXDICT_CH_SCRAPYARD"
|
||
CASE CMHDZ_TEXDICT_CH_ASYLUM RETURN "CMHDZ_TEXDICT_CH_ASYLUM"
|
||
CASE CMHDZ_TEXDICT_CH_THEMEPARK RETURN "CMHDZ_TEXDICT_CH_THEMEPARK"
|
||
CASE CMHDZ_TEXDICT_CH_SLAUGHTERHOUSE RETURN "CMHDZ_TEXDICT_CH_SLAUGHTERHOUSE"
|
||
CASE NUM_CMHDZ_TEXTDICT RETURN "NUM_CMHDZ_TEXTDICT"
|
||
ENDSWITCH
|
||
|
||
RETURN "CMHDZ_TEXDICT_INVALID"
|
||
ENDFUNC
|
||
|
||
|
||
//#IF CMHDZ_CMDLINE_EDITOR_NEW
|
||
|
||
//#ENDIF
|
||
#ENDIF
|
||
|
||
//----------------------------------
|
||
// STRUCTS
|
||
//----------------------------------
|
||
|
||
STRUCT CMHDZ_COVER_MAP_DATA
|
||
CMHDZ_COVER_DATA_BITS eDataBits
|
||
CMHDZ_ASSET_TYPES eType
|
||
VECTOR_2D vSpriteInitialPos
|
||
VECTOR_2D vSpritePos
|
||
VECTOR_2D vSpriteSize
|
||
INT iCoverLane
|
||
FLOAT fActiveAtPoint
|
||
BOOL bFarBackground
|
||
BOOL bRemoveOffScreen
|
||
ENDSTRUCT
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
PROC CMHDZ_COVER_MAP_DATA_SET_BIT_BY_BOOL(CMHDZ_COVER_MAP_DATA &dat, CMHDZ_COVER_DATA_BITS bit, BOOL bOn = TRUE)
|
||
IF (bOn)
|
||
SET_BITMASK_ENUM_AS_ENUM(dat.eDataBits, bit)
|
||
CDEBUG2LN(DEBUG_MINIGAME, "Cover bit to set: ", CMHDZ_COVER_DATA_BITS_TO_STRING(bit))
|
||
DEBUG_PRINTCALLSTACK()
|
||
ELSE
|
||
CLEAR_BITMASK_ENUM_AS_ENUM(dat.eDataBits, bit)
|
||
ENDIF
|
||
ENDPROC
|
||
#ENDIF
|
||
|
||
STRUCT CMHDZ_COVER_DATA
|
||
|
||
// These were replaced with the below bitset
|
||
// BOOL bRendering = FALSE
|
||
// BOOL bSpawnedPickup = FALSE
|
||
// BOOL bIsSpecialCover = FALSE
|
||
// BOOL bIsAnimated = FALSE
|
||
// BOOL bNeverRender = FALSE
|
||
CMHDZ_COVER_DATA_BITS eDataBits
|
||
//
|
||
INT iCoverLane
|
||
INT iHitCount
|
||
|
||
INT iDefaultFrameTimeCounter
|
||
INT iDefaultUpdateFrames
|
||
|
||
INT iSlowFrameTimeCounter
|
||
INT iSlowUpdateFrames
|
||
|
||
INT iSpriteAnimFrame
|
||
|
||
CMHDZ_ASSET_TYPES eType
|
||
|
||
VECTOR_2D vSpritePos
|
||
VECTOR_2D vSpriteInitialPos
|
||
|
||
VECTOR_2D vSpriteSize
|
||
|
||
FLOAT fCoverWidth
|
||
FLOAT fCoverHeight
|
||
|
||
FLOAT fActiveAtPoint
|
||
|
||
ENDSTRUCT
|
||
|
||
STRUCT PROJECTILE_DATA
|
||
INT iSlowFrameTimeCounter
|
||
INT iSlowUpdateFrames
|
||
INT iSpriteAnimFrame
|
||
|
||
INT iLane
|
||
INT iEnemyInstToHit = -1 // Enemy we hit with the projectile
|
||
|
||
CMHDZ_PROJECTILE_STATE eState
|
||
CMHDZ_PROJECTILE_TYPES eType
|
||
VECTOR_2D vSpritePos
|
||
VECTOR_2D vSpriteSize
|
||
ENDSTRUCT
|
||
|
||
STRUCT PROJECTILE_INFO
|
||
INT iReloadTimeMS = 2000
|
||
FLOAT fBlastRadius = 250.0
|
||
FLOAT fDamagePoints = 1.0
|
||
ENDSTRUCT
|
||
|
||
STRUCT BULLET_DATA
|
||
|
||
BOOL bShot
|
||
BOOL bHit
|
||
BOOL bHitObject
|
||
BOOL bPlayedAudio
|
||
INT iSpriteBlastAnimFrame
|
||
INT iSlowFrameTimeCounter
|
||
INT iSlowUpdateFrames
|
||
INT iTimeOfHit
|
||
|
||
VECTOR_2D vSpritePos
|
||
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_FX_DATA
|
||
|
||
BOOL bActive = FALSE
|
||
BOOL bFinished = FALSE
|
||
INT iSpriteBlastAnimFrame
|
||
|
||
// Slow frames
|
||
INT iSlowFrameTimeCounter
|
||
INT iSlowUpdateFrames
|
||
|
||
// Med frames
|
||
INT iMedFrameTimeCounter
|
||
INT iMedUpdateFrames
|
||
|
||
INT iLane = 0
|
||
|
||
CMHDZ_FX_TYPE eFXType
|
||
|
||
VECTOR_2D vSpritePos
|
||
//RGBA_COLOUR_STRUCT sFXColour
|
||
FLOAT fAlpha
|
||
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_EQUIPPED_WEAPON_DATA
|
||
INT iAmmoInClip
|
||
INT iTotalAmmo
|
||
INT iLastShotTime
|
||
INT iReloadSingleBulletTime
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_PLAYER_DATA
|
||
|
||
BOOL bHasJustShot
|
||
BOOL bCovering
|
||
BOOL bHoveringEnemy
|
||
BOOL bShouldShowReloadPrompt
|
||
INT iProjectileIndex
|
||
INT iLastShotTime
|
||
INT iLastProjectileTime = 0
|
||
INT iDeadTime = 0
|
||
INT iReloadPromptShowTime = 0
|
||
BOOL bDoneReloadEffect
|
||
BOOL bHeavyDamageState
|
||
CMHDZ_RETICLE_BITS eReticuleBits = CMHDZ_RETICLE_BITS_NONE
|
||
CMHDZ_PLAYER_WEAPON_TYPE weaponType = CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT
|
||
CMHDZ_PLAYER_WEAPON activeWeapon = CMHDZ_PLAYER_WEAPON_NONE
|
||
CMHDZ_PROJECTILE_TYPES projectileType = CMHDZ_PROJECTILE_BRICK // CMHDZ_PROJECTILE_NONE - Change this back later
|
||
CMHDZ_EQUIPPED_WEAPON_DATA weaponData[CMHDZ_PLAYER_WEAPON_TYPE_MAX]
|
||
BOOL bIsReloading[CMHDZ_PLAYER_WEAPON_TYPE_MAX]
|
||
// INT iAmmo = ciCMHDZ_PLAYER_START_AMMO
|
||
// INT iWeapon = 0
|
||
FLOAT fHitCountdown
|
||
INT iSuccessiveHits
|
||
INT iChainedScore
|
||
INT iScoreNoChain
|
||
INT iPreviousTargetScore
|
||
INT iPlayerBitset
|
||
INT iInvulnerableTimer
|
||
INT iHideReticuleTimer
|
||
INT iQuadDamageTimer
|
||
|
||
INT iNoAmmoTimer
|
||
INT iDamageScreen
|
||
FLOAT fRotation
|
||
FLOAT fHealth = 1.0
|
||
|
||
VECTOR_2D vSpriteInitReticlePos
|
||
VECTOR_2D vSpriteFinalReticlePos
|
||
|
||
BULLET_DATA sBulletData[ciCMHDZ_MAX_PROJECTILES]
|
||
PROJECTILE_DATA sThrownProjectile[ciCMHDZ_MAX_PLAYER_THROWN_PROJECTILES]
|
||
INT iThrownProjectilesAmmo
|
||
INT iNumberOfThrownProjectiles
|
||
INT iLastThrownProjectileTime
|
||
INT iThrownProjectileReloadDelay = 2000
|
||
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_ENEMY_MAP_DATA
|
||
CMHDZ_ENEMY_TYPES eEnemyType = 0
|
||
CMHDZ_ENEMY_DATA_BITS eDataBits
|
||
VECTOR_2D vSpritePos
|
||
VECTOR_2D vSize
|
||
FLOAT fStoppingPos
|
||
INT iLane
|
||
FLOAT fPointToAppear
|
||
INT iRenderAfterWarpCount
|
||
INT iStaticScreenPhase
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_ENEMY_DATA
|
||
CMHDZ_ENEMY_DATA_BITS eDataBits
|
||
|
||
//All of these have been replaced with the above bit set
|
||
//BOOL bReverse
|
||
//BOOL bIsPopup
|
||
//BOOL bThrownProjectile
|
||
//BOOL bPlayedAimAudio
|
||
//BOOL bPlayedCriticalWarningAudio
|
||
//BOOL bOuthouseAudio
|
||
//BOOL bAppearedOnscreen
|
||
//BOOL bWaitUntilLevelStationary
|
||
//BOOL bShotAtLeastOnce
|
||
|
||
CMHDZ_ENEMY_TYPES iEnemyType = CMHDZ_ENEMY_INVALID
|
||
CMHDZ_ENEMY_STATE eState = CMHDZ_ENEMY_STATE_INACTIVE
|
||
|
||
INT iDefaultFrameTimeCounter
|
||
INT iDefaultUpdateFrames
|
||
|
||
INT iSlowFrameTimeCounter
|
||
INT iSlowUpdateFrames
|
||
|
||
INT iSpriteAnimFrame
|
||
|
||
INT iHeadshotAnimFrame
|
||
INT iGoreAnimFrame
|
||
|
||
INT iHealth = 10
|
||
INT iEnemyFlashTimer
|
||
INT iTimeOfLastShot
|
||
FLOAT fAnimTimer
|
||
INT iPopUpTime
|
||
INT iEnemyLane
|
||
FLOAT fPointToAppear
|
||
INT iWarpedForMovingLevelCount
|
||
INT iRenderAfterWarpedCount = 0
|
||
FLOAT fStoppingX = 500.0
|
||
INT iStaticScreenPhase = 0 // If the screen is static, spawn enemy sets based on the numbers.
|
||
|
||
INT iEnemyVoiceID = 0
|
||
|
||
VECTOR_2D vSpritePos
|
||
VECTOR_2D vStartPos
|
||
VECTOR_2D vSize
|
||
|
||
ENDSTRUCT
|
||
|
||
//STRUCT CMHDZ_BOSS_PHASE_DATA
|
||
//
|
||
// CMHDZ_BOSS_STATE eStartingState
|
||
//
|
||
// FLOAT fStoppingX
|
||
// INT iTimeToThrow
|
||
// FLOAT fForegroundXAppear = 960.0
|
||
//
|
||
// FLOAT fIdleAttackTime = 1000.0
|
||
//
|
||
// INT iPopUpTime
|
||
// INT iPopDownTime
|
||
// INT iActiveLane
|
||
//
|
||
// CMHDZ_BOSS_DATA_BITS eDataBits
|
||
//
|
||
//ENDSTRUCT
|
||
|
||
CONST_FLOAT cfBOSS_MaxHealth 400.0
|
||
|
||
STRUCT CMHDZ_BOSS_DATA
|
||
|
||
|
||
FLOAT fHealth
|
||
|
||
FLOAT fDamageThreshold_1
|
||
FLOAT fDamageThreshold_2
|
||
FLOAT fDamageThreshold_3
|
||
|
||
INT iActiveLane = ciCMHDZ_LANE_FOREGROUND
|
||
|
||
// Timers
|
||
FLOAT fStateChangeTimer = 0.0
|
||
FLOAT fAnimTimer = 0.0
|
||
FLOAT fTimeToThrow = 0.0
|
||
|
||
// Has enemy been shot
|
||
BOOL bShotThisFrame = FALSE
|
||
|
||
CMHDZ_BOSS_STATE eCurrentBossState = CMHDZ_BOSS_STATE_INACTIVE
|
||
CMHDZ_BOSS_DATA_BITS eDataBits
|
||
//CMHDZ_BOSS_PHASE_DATA eBossPhases[5]
|
||
|
||
// Animation controller
|
||
CMHDZ_SPRITE sStartingSprite
|
||
CMHDZ_SPRITE eActiveSprite
|
||
INT iAnimFrame
|
||
|
||
// Positional data
|
||
VECTOR_2D vSpritePos
|
||
VECTOR_2D vScale
|
||
|
||
RGBA_COLOUR_STRUCT rgbaColor
|
||
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_ITEM_MAP_DATA
|
||
CMHDZ_ITEM_TYPES eItemType = CMHDZ_ITEM_HEALTH
|
||
VECTOR_2D vSpritePos
|
||
INT iLane
|
||
INT iRenderAfterWarpCount
|
||
INT iMinScreen
|
||
INT iAttackReadyTimer = 500
|
||
FLOAT fForceScale = 1.0
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_ITEM_DATA
|
||
BOOL bRendering = FALSE
|
||
BOOL bShot = FALSE
|
||
|
||
CMHDZ_ITEM_TYPES eItemType = CMHDZ_ITEM_HEALTH
|
||
|
||
INT iLane = 0
|
||
INT iRenderAfterWarpCount
|
||
INT iWarpCount
|
||
INT iMinScreen
|
||
|
||
FLOAT fInitialXPos
|
||
VECTOR_2D vSpritePos
|
||
VECTOR_2D vSize
|
||
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_MENU_OPTION_DATA
|
||
|
||
CMHDZ_ARCADE_CLIENT_STATE eClientState = CMHDZ_ARCADE_CLIENT_STATE_TITLE_SCREEN
|
||
|
||
CMHDZ_MENU_OPTIONS eMenuOption
|
||
|
||
VECTOR_2D vSpritePos
|
||
//VECTOR_2D vSize
|
||
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_BACKGROUND_SPRITE
|
||
|
||
//BOOL bRendering = FALSE
|
||
|
||
VECTOR_2D vSpritePos
|
||
VECTOR_2D vSpriteSize
|
||
|
||
STRING sSprite
|
||
|
||
INT iLane
|
||
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_PLAYER_WEAPON_DATA
|
||
INT iClipSize
|
||
INT iMaxAmmo
|
||
INT iMaxEnemyImpacts
|
||
INT iMinTimeBetweenShots
|
||
INT iMinTimeReloadSingleBullet
|
||
INT iMinDamagePerShot
|
||
FLOAT fSpreadModifier
|
||
ENDSTRUCT
|
||
|
||
STRUCT ARCADE_GAMES_LEADERBOARD_STRUCT
|
||
|
||
INT iInitials = 0
|
||
INT iScore = -1
|
||
INT iPlayer = -1
|
||
|
||
ENDSTRUCT
|
||
|
||
STRUCT ARCADE_GAMES_LEADERBOARD_DATA
|
||
ARCADE_GAMES_LEADERBOARD_STRUCT sLeaderboard[ciCASINO_ARCADE_LEADERBOARD_POSITIONS]
|
||
CASINO_ARCADE_GAME eGame
|
||
|
||
BOOL bLeaderboardReceived
|
||
BOOL bEditing = FALSE
|
||
BOOL bCheated = FALSE
|
||
|
||
INT iLastLeaderboardRequest = -HIGHEST_INT
|
||
INT iLocalLbdPos = -1
|
||
INT iCurrentInitial = 0
|
||
INT iInitials = 0
|
||
INT iLbdInitialProfanityToken = 0
|
||
INT iTickTimer = 0
|
||
INT iMylastLbScore
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
BOOL bForceDefaultLeaderboard
|
||
BOOL bDebugTestServerSort
|
||
#ENDIF
|
||
ENDSTRUCT
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
STRUCT CMHDZ_DEBUG_STATE_WIDGET
|
||
BOOL bDebugChangeState
|
||
TEXT_WIDGET_ID twCurrentState
|
||
TEXT_WIDGET_ID twDesiredState
|
||
INT iDesiredStateSelector = 0 // required to prevent assert
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_ITEM_SELECTOR_WIDGET
|
||
INT iSelectedIndex
|
||
CMHDZ_ITEM_DATA sReadOnlyData
|
||
TEXT_WIDGET_ID txtType
|
||
ENDSTRUCT
|
||
|
||
STRUCT CMHDZ_COVER_SELECTOR_WIDGET
|
||
INT iSelectedIndex
|
||
CMHDZ_COVER_DATA sReadOnlyData
|
||
TEXT_WIDGET_ID txtType
|
||
INT iDataBitsSet
|
||
|
||
BOOL bRendering = FALSE
|
||
BOOL bSpawnedPickup = FALSE
|
||
BOOL bIsSpecialCover = FALSE
|
||
BOOL bIsAnimated = FALSE
|
||
BOOL bNeverRender = FALSE
|
||
ENDSTRUCT
|
||
//#ENDIF
|
||
//
|
||
//#IF CMHDZ_CMDLINE_EDITOR_NEW
|
||
STRUCT CMHDZ_EDITOR
|
||
BOOL bEditorActive
|
||
BOOL bMenuActive = TRUE
|
||
BOOL bRebuildMenu = TRUE
|
||
INT iPlayMenuUpdateClock
|
||
|
||
BOOL bShowMiniMap
|
||
VECTOR_2D vMiniMapPos
|
||
VECTOR_2D vMiniMapSize
|
||
|
||
VECTOR_2D vReticuleOldPos
|
||
VECTOR_2D vReticulePos
|
||
VECTOR_2D vReticuleDelta
|
||
|
||
INT iReticuleOverType
|
||
INT iReticuleOverIndex[4]
|
||
BOOL bShowEntityIndicies[4]
|
||
|
||
BOOL bPlayStage = FALSE
|
||
INT iEditMode = CMHDZ_EDITOR_MODE_LEVEL
|
||
INT iSelectedData = -1
|
||
INT iNewUnitData = 0
|
||
INT iActiveLevel
|
||
|
||
CONTROL_ACTION ctrlPlace = INPUT_FRONTEND_ACCEPT
|
||
CONTROL_ACTION ctrlPick = INPUT_SCRIPT_RB
|
||
CONTROL_ACTION ctrlToggleMap = INPUT_SCRIPT_RT
|
||
CONTROL_ACTION ctrlToggleMenu = INPUT_SCRIPT_LT
|
||
|
||
KEY_NUMBER ctrlPlace_PC = KEY_E
|
||
KEY_NUMBER ctrlPick_PC = KEY_Q
|
||
KEY_NUMBER ctrlToggleMap_PC = KEY_M
|
||
KEY_NUMBER ctrlToggleMenu_PC = KEY_P
|
||
|
||
INT iDirectionDebounceTime = 0
|
||
INT iMenuCurrentSelection
|
||
INT iMenuMaxSelection
|
||
|
||
CMHDZ_ENEMY_MAP_DATA sEnemyMapData[ciCMHDZ_MAX_ENEMIES]
|
||
CMHDZ_COVER_MAP_DATA sCoverMapData[ciCMHDZ_MAX_COVER]
|
||
CMHDZ_ITEM_MAP_DATA sItemMapData[ciCMHDZ_MAX_ITEMS]
|
||
ENDSTRUCT
|
||
#ENDIF
|
||
|
||
STRUCT CMHDZ_ARCADE_DATA
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
WIDGET_GROUP_ID widgetGroupExample
|
||
BOOL bDebugCreatedWidgets
|
||
BOOL bDebugPause
|
||
INT iMyScores[CMHDZ_MAX_LEVELS]
|
||
CMHDZ_DEBUG_STATE_WIDGET sClientStateWidget
|
||
CMHDZ_DEBUG_STATE_WIDGET sPlayerProjectileWidget
|
||
|
||
#IF CMHDZ_CMDLINE_EDITOR_NEW
|
||
CMHDZ_EDITOR sEditor
|
||
#ENDIF
|
||
|
||
FLOAT fDebugFloat
|
||
FLOAT fTexturePosX[4]
|
||
FLOAT fTexturePosY[4]
|
||
FLOAT fTextureScale[4]
|
||
FLOAT fDebugEntityCornerX[2]
|
||
FLOAT fDebugEntityCornerY[2]
|
||
// FLOAT fDebugEntityWorldSpaceX
|
||
// FLOAT fDebugEntityWorldSpaceY
|
||
FLOAT fDebugReticuleEntityTLDiffX
|
||
FLOAT fDebugReticuleEntityTLDiffY
|
||
FLOAT fDebugEntityWorldX
|
||
FLOAT fDebugEntityWorldY
|
||
FLOAT fDebugEntityScale
|
||
// FLOAT fDebugStickX
|
||
// FLOAT fDebugStickY
|
||
// FLOAT fDebugMouseX
|
||
// FLOAT fDebugMouseY
|
||
FLOAT fReticuleSpriteDist
|
||
FLOAT fEntityStoppingX
|
||
FLOAT fDebugFloatValue
|
||
INT iDebugTotalScreens
|
||
INT iDebugAnimFrame
|
||
INT iDebugIntegerValue
|
||
INT iStaggeredDebugCount
|
||
INT iDebugEntityId
|
||
INT iDebugEntityState
|
||
INT iDebugLane
|
||
INT iDebugType
|
||
// INT iDebugCoverScreen
|
||
INT iDebugEnemiesRemaining
|
||
INT iEntityEdit
|
||
INT iDebugPickupScreen
|
||
INT iDebugTimer
|
||
INT iDebugCover
|
||
INT iDebugForegroundEnemy
|
||
INT iDebugMiddleEnemy
|
||
INT iDebugBackgroundEnemy
|
||
INT iDebugFrameCount
|
||
INT iDebugFACES_OF_DEATH
|
||
FLOAT fDebugTotalFrameTime
|
||
BOOL bDebugEnablePickup
|
||
BOOL bDebugOutputAliveEnemies
|
||
BOOL bStopMovingLevel
|
||
BOOL bDisableFacade
|
||
BOOL bEnableCoverHover
|
||
BOOL bEnableEnemyHover
|
||
BOOL bDebugShiftPropsLeft
|
||
BOOL bDebugShiftPropsRight
|
||
BOOL bDebugHideForegroundProps
|
||
BOOL bDebugEnableEdit
|
||
BOOL bDebugInitEdit
|
||
BOOL bDebugFinaliseEdit
|
||
BOOL bDebugAwardDeadeye
|
||
BOOL bDebugAwardFACES_OF_DEATH
|
||
BOOL bDebugAwardSetFACES_OF_DEATH
|
||
BOOL bDebugAwardSTV
|
||
BOOL bDebugAwardComplete
|
||
BOOL bDebugAwardTrophy
|
||
BOOL bClearAwardStats
|
||
BOOL bDebugLaunchDynamite
|
||
BOOL bDebugClearDynamite
|
||
|
||
BOOL bDebugSetPlayerProjectile
|
||
BOOL bDebugLaunchPlayerProjectile
|
||
BOOL bDebugClearPlayerProjectile
|
||
TEXT_WIDGET_ID twDebugPlayerProjectileType
|
||
INT iDebugPlayerProjectileType
|
||
|
||
BOOL bDebugInvunerablePlayer
|
||
BOOL bDebugEnableQuadDamage
|
||
BOOL bDrawDebugRect
|
||
BOOL bDebugRectCenterMode
|
||
VECTOR_2D vDebugRect[2]
|
||
INT iDebugStackSize
|
||
TEXT_WIDGET_ID twDebugId
|
||
|
||
INT iAssertCounter
|
||
#ENDIF
|
||
|
||
BOOL bFadingOut = FALSE
|
||
BOOL bLevelsCompleted[CMHDZ_MAX_LEVELS]
|
||
|
||
INT iLastMenuInput = 0
|
||
INT iExplosionIndex = 0
|
||
INT iCurrentActiveEnemies[ciCMHDZ_MAX_LANES]
|
||
INT iTimeSinceEnemyActive[ciCMHDZ_MAX_LANES]
|
||
INT iFade = 0
|
||
|
||
INT iTotalNumberOfEnemiesSpawned = 0
|
||
INT iTotalNumberOfEnemies = 0
|
||
INT iTotalNumberOfEnemiesKilledForScreen = 0
|
||
|
||
INT iNumberOfBackgroundElementsDrawn = 0
|
||
INT iNumberOfCoverDrawn = 0
|
||
|
||
INT iNumberOfBackgroundElements = 0
|
||
INT iNumberOfEnemies = 0
|
||
INT iNumberOfThrownEnemyProjectiles = 0
|
||
INT iNumberOfHostages = 0
|
||
INT iNumberOfProps = 0
|
||
INT iNumberOfItems = 0
|
||
INT iNumberOfMenuOptions = 0
|
||
INT iNumberOfStages = 0
|
||
|
||
INT iLocalLevelRunningTime
|
||
INT iResultsScreenTimer
|
||
INT iTotalTimePlayed
|
||
INT iTimer
|
||
INT iRivalPart
|
||
|
||
INT iStaggeredOnScreenViableCoverCount
|
||
|
||
INT iHelpTextBitset = 0
|
||
INT iLevelBitset[CMHDZ_MAX_LEVELS]
|
||
INT iTotalLevelShots[CMHDZ_MAX_LEVELS]
|
||
INT iTotalLevelEnemyHits[CMHDZ_MAX_LEVELS]
|
||
INT iTotalLevelEnemyHeadShots[CMHDZ_MAX_LEVELS]
|
||
INT iTotalPowerupsCollected[CMHDZ_MAX_LEVELS]
|
||
|
||
INT iDirectorAudioBits // Controls Director audio bits
|
||
|
||
INT iChallengesBitsetForTelemetry
|
||
|
||
INT iCurrentScreen
|
||
INT iLastScreenToStopOn
|
||
FLOAT fOverallLevelProgression = 0.0
|
||
INT iStaticScreenPhase = 0
|
||
|
||
INT iNumberOfViableOnScreenCoverPoints
|
||
INT iViableOnScreenEnemyCoverPoints[ciCMHDZ_MAX_SUITABLE_HIDE_BEHIND_COVER]
|
||
CMHDZ_ARCADE_CLIENT_STATE eClientState
|
||
|
||
RGBA_COLOUR_STRUCT rgbaBlack
|
||
RGBA_COLOUR_STRUCT rgbaSprite
|
||
RGBA_COLOUR_STRUCT rgbaWhite
|
||
RGBA_COLOUR_STRUCT rgbaRed
|
||
RGBA_COLOUR_STRUCT rgbaRedText
|
||
RGBA_COLOUR_STRUCT rgbaEnemyShot
|
||
RGBA_COLOUR_STRUCT rgbaGreen
|
||
RGBA_COLOUR_STRUCT rgbaBlue
|
||
RGBA_COLOUR_STRUCT rgbaSpriteUsedBullet
|
||
RGBA_COLOUR_STRUCT rgbaYellow
|
||
RGBA_COLOUR_STRUCT rgbaWhiteSafe
|
||
|
||
CMHDZ_LEVELS eCurrentLevel = CMHDZ_LEVEL_SCRAPYARD
|
||
CMHDZ_LEVEL_SCREEN eLevelState = CMHDZ_FADING_IN
|
||
// CMHDZ_MENU_OPTIONS eCurrentTitleOption = CMHDZ_START
|
||
|
||
PROJECTILE_INFO sProjectileInfo[NUM_CMHDZ_PROJECTILE_TYPES]
|
||
CMHDZ_PLAYER_DATA sPlayerData[ciCMHDZ_MAX_PLAYERS]
|
||
CMHDZ_COVER_DATA sCoverData[ciCMHDZ_MAX_COVER]
|
||
CMHDZ_FX_DATA sFXData[ciCMHDZ_MAX_FX]
|
||
INT iBackgroundDataRenderingBits[2]
|
||
INT iBackgroundTilesDataRenderingBits
|
||
CMHDZ_BACKGROUND_SPRITE sBackgroundTilesData[ciCMHDZ_MAX_BACKGROUND_TILES]
|
||
CMHDZ_BACKGROUND_SPRITE sBackgroundData[ciCMHDZ_MAX_BACKGROUND_ELEMS]
|
||
CMHDZ_ENEMY_DATA sEnemyData[CICMHDZ_MAX_ENEMIES]
|
||
CMHDZ_ITEM_DATA sItemData[ciCMHDZ_MAX_ITEMS]
|
||
PROJECTILE_DATA sEnemyProjectiles[ciCMHDZ_MAX_ENEMY_PROJECTILES]
|
||
CMHDZ_MENU_OPTION_DATA sMenuOptionsData[ciCMHDZ_MAX_MENU_OPTIONS]
|
||
|
||
SCRIPT_CONTROL_HOLD_TIMER sControlTimer
|
||
SCRIPT_CONTROL_HOLD_TIMER sPcQuitTimer
|
||
|
||
ARCADE_CABINET_ANIM_EVENT_STRUCT sArcadeAnimData
|
||
BOOL bDoneReactionAnim
|
||
CMHDZ_PLAYER_PED_ANIM_STATE ePlayerPedAnimState = CMHDZ_PLAYER_PED_ANIM_IDLE
|
||
|
||
//INT iBearAttackTime
|
||
|
||
INT iIdleAnimCount
|
||
BOOL bPlayedWinningAnim
|
||
BOOL bWonTrophyThisSession
|
||
|
||
BOOL bPlayedOutroAudio
|
||
BOOL bPlayedOutro
|
||
BINK_MOVIE_ID bmIdCmhdzIntro
|
||
BINK_MOVIE_ID bmIdCmhdzOutro
|
||
|
||
CMHDZ_RESULT_SCREEN_STATE eResultState
|
||
INT iResultsScreenTimeout
|
||
INT iReturnToMenuTimeout
|
||
INT iMusicBitset
|
||
INT iSoundId[CMHDZ_AUDIO_EFFECT_MAX]
|
||
|
||
//INT iEffectFlashDurationTimer
|
||
//FLOAT fTotalTimeTaken
|
||
INT iEffectFlashAlpha
|
||
FLOAT fEffectFlashAlpha
|
||
BOOL bEffectHitmaxAlpha
|
||
|
||
BOOL bFlipBackground
|
||
FLOAT fBackgroundSpeedMult = 1.0
|
||
|
||
FLOAT fCurrentTimeStep
|
||
ARCADE_GAMES_LEADERBOARD_DATA sLbData
|
||
|
||
CMHDZ_HUD_TEXTPIVOT eTextPivot
|
||
VECTOR_2D vTextScale
|
||
|
||
CMHDZ_BOSS_DATA sBossData
|
||
|
||
// Only need a V mod
|
||
// VECTOR_2D vU_ScanMod
|
||
// VECTOR_2D vV_ScanMod
|
||
|
||
FLOAT fSyncOffsetX
|
||
FLOAT fSyncOffsetY
|
||
|
||
// Sound glitching
|
||
FLOAT fSoundGlitchLevel // Final level used for sound playback
|
||
FLOAT fSoundGlitchAdditional // Additional effects applied.
|
||
|
||
// Sound cooldown
|
||
FLOAT fDirectorVoiceCooldown
|
||
FLOAT fEnemyVoiceCooldown
|
||
|
||
// Local timers
|
||
FLOAT fPowerRunTimer
|
||
|
||
BOOL bSkipLeaderboard
|
||
|
||
ENDSTRUCT
|
||
|
||
CMHDZ_ARCADE_DATA sCMHDZData
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
FUNC VECTOR_2D GET_DEBUG_TEXTURE_POS(INT iDebugTexture)
|
||
RETURN INIT_VECTOR_2D(sCMHDZData.fTexturePosX[iDebugTexture], sCMHDZData.fTexturePosY[iDebugTexture])
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT GET_DEBUG_TEXTURE_SCALE(INT iDebugTexture)
|
||
RETURN sCMHDZData.fTextureScale[iDebugTexture]
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_DEBUG_INTEGER()
|
||
RETURN sCMHDZData.iDebugIntegerValue
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_DEBUG_FLOAT()
|
||
RETURN sCMHDZData.fDebugFloatValue
|
||
ENDFUNC
|
||
#ENDIF
|
||
|
||
///////////////////////////////
|
||
/// MULTIPLAYER DATA ///
|
||
///////////////////////////////
|
||
|
||
STRUCT CMHDZ_PART_DATA
|
||
INT iHiScoreForLevel[CMHDZ_MAX_LEVELS]
|
||
INT iCurrentScoreForLevel[CMHDZ_MAX_LEVELS]
|
||
FLOAT fStarRatingForLevel[CMHDZ_MAX_LEVELS]
|
||
ENDSTRUCT
|
||
|
||
// Everyone can read this data, only the server can update it.
|
||
STRUCT CMHDZ_SERVER_BROADCAST_DATA
|
||
INT iServerGameState
|
||
INT iNumPlayers
|
||
INT iServerBitset
|
||
INT iMatchId
|
||
INT iSortLbForPart
|
||
CMHDZ_PART_DATA sPlayerScores[2]
|
||
ARCADE_GAMES_LEADERBOARD_STRUCT sLeaderboard[ciCASINO_ARCADE_LEADERBOARD_POSITIONS]
|
||
BOOL bLeaderboardRecieved = FALSE
|
||
ENDSTRUCT
|
||
|
||
CMHDZ_SERVER_BROADCAST_DATA cmhdzServerBd
|
||
|
||
CONST_INT ciCMHDZ_MAX_MP_PLAYERS 2
|
||
|
||
|
||
ENUM CMHDZ_PLAYER_BD_BITS
|
||
CMHDZ_PLAYER_BD_BIT_EDITING_LEADERBOARD = 0
|
||
ENDENUM
|
||
|
||
STRUCT CMHDZ_PLAYER_BROADCAST_DATA
|
||
INT iGameState
|
||
INT iPlayerBitset
|
||
INT iPlayerScore[CMHDZ_MAX_LEVELS]
|
||
INT iPlayerHiScore[CMHDZ_MAX_LEVELS]
|
||
FLOAT fPlayerStarRating[CMHDZ_MAX_LEVELS]
|
||
INT iLeaderboardInitials
|
||
INT iLeaderboardScore = 0
|
||
ENDSTRUCT
|
||
|
||
CMHDZ_PLAYER_BROADCAST_DATA playerBd[2]
|
||
|
||
ENUM CMHDZ_SERVER_BITS
|
||
CMHDZ_SERVER_BIT_TWO_PLAYERS_JOINED = 0,
|
||
CMHDZ_SERVER_BIT_SOMEONE_EDITING_LEADERBOARD,
|
||
CMHDZ_SERVER_BIT_SORTED_LEADERBOARD
|
||
ENDENUM
|
||
|
||
|
||
/// PURPOSE:
|
||
/// Given a rectangle as topleft corner and size work out the center
|
||
/// PARAMS:
|
||
/// tlx - top left x
|
||
/// tly - top left y
|
||
/// w - width
|
||
/// h - height
|
||
/// RETURNS:
|
||
/// Center as vector 2D
|
||
FUNC VECTOR_2D CMHDZ_GET_CENTER_FROM_CORNER_RECT(FLOAT tlx, FLOAT tly, FLOAT w, FLOAT h)
|
||
RETURN INIT_VECTOR_2D(tlx + (w / 2.0), tly + (h / 2.0))
|
||
ENDFUNC
|
||
|
||
PROC SET_BITMASK_ENUM_AS_ENUM_BY_BOOL(ENUM_TO_INT &eBitField, ENUM_TO_INT eBitMask, BOOL bOn = TRUE)
|
||
IF (bOn)
|
||
eBitField = eBitField | eBitMask
|
||
ELSE
|
||
eBitField -= eBitField & eBitMask
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_IS_POSITION_IN_BOX(VECTOR_2D vPos, VECTOR_2D vBoxCenter, VECTOR_2D vBoxSize)
|
||
FLOAT x1, x2, y1, y2
|
||
|
||
x1 = vBoxCenter.x - (vBoxSize.x/2)
|
||
y1 = vBoxCenter.y - (vBoxSize.y/2)
|
||
x2 = vBoxCenter.x + (vBoxSize.x/2)
|
||
y2 = vBoxCenter.y + (vBoxSize.y/2)
|
||
|
||
RETURN (vPos.X > x1 AND vPos.x < x2) AND (vPos.y > y1 AND vPos.Y < y2)
|
||
ENDFUNC
|
||
|
||
FUNC VECTOR_2D CMHDZ_GET_ORIGIN_FOR_SCREEN(INT iScreen)
|
||
RETURN INIT_VECTOR_2D((iScreen - 1) * (cfBASE_SCREEN_WIDTH / 2.0), 0)
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_SCREEN_FOR_X_POSITION(FLOAT xCoord)
|
||
RETURN (FLOOR((xCoord * 2.0) / cfBASE_SCREEN_WIDTH) % 4) + 1
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_GET_TEXTURE_DICT_NAME(CMHDZ_TEXDICT eDict)
|
||
|
||
SWITCH (eDict)
|
||
CASE CMHDZ_TEXDICT_INVALID RETURN ""
|
||
CASE NUM_CMHDZ_TEXTDICT RETURN ""
|
||
CASE CMHDZ_TEXDICT_BASE RETURN "MPCamhedzCommonProps"
|
||
CASE CMHDZ_TEXDICT_TITLE RETURN "MPCamhedzTitles"
|
||
CASE CMHDZ_TEXDICT_HUD RETURN "MPCamhedzCommonProps"
|
||
CASE CMHDZ_TEXDICT_FACADE RETURN "MPCamhedzDeadScreen"
|
||
CASE CMHDZ_TEXDICT_LVLSELECT RETURN "MPCamhedzTitles"
|
||
CASE CMHDZ_TEXDICT_LVLCOMP RETURN "MPCamhedzTitles"
|
||
CASE CMHDZ_TEXDICT_LVL1 RETURN "MPCamhedzLevel01City"
|
||
CASE CMHDZ_TEXDICT_LVL2 RETURN "MPCamhedzLevel02Scrapyard"
|
||
CASE CMHDZ_TEXDICT_LVL3 RETURN "MPCamhedzLevel03Asylum"
|
||
CASE CMHDZ_TEXDICT_LVL4 RETURN "MPCamhedzLevel04Themepark"
|
||
CASE CMHDZ_TEXDICT_LVL5 RETURN "MPCamhedzLevel05Slaughterhouse"
|
||
CASE CMHDZ_TEXDICT_COMMON_PROPS RETURN "MPCamhedzCommonProps"
|
||
CASE CMHDZ_TEXDICT_RESULTS RETURN "MPCamhedzResults"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_A RETURN "MPCamhedzEnemyFGA"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_B RETURN "MPCamhedzEnemyFGB"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_C RETURN "MPCamhedzEnemyFGC"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_D RETURN "MPCamhedzEnemyFGD"
|
||
//CASE CMHDZ_TEXDICT_FG_ENEMY_D RETURN "MPCamhedzEnemyFGD_2"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_E RETURN "MPCamhedzEnemyFGE"
|
||
CASE CMHDZ_TEXDICT_FG_ENEMY_E_2 RETURN "MPCamhedzEnemyFGE_2"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_A RETURN "MPCamhedzEnemyGangA"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_B RETURN "MPCamhedzEnemyGangB"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_C RETURN "MPCamhedzEnemyGangC"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_D RETURN "MPCamhedzEnemyGangD"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_E RETURN "MPCamhedzEnemyGangE"
|
||
CASE CMHDZ_TEXDICT_CH_GANG_RARE RETURN "MPCamhedzEnemy_Hostages"
|
||
CASE CMHDZ_TEXDICT_CH_CITY RETURN "MPCamhedzLevel01City"
|
||
CASE CMHDZ_TEXDICT_CH_SCRAPYARD RETURN "MPCamhedzLevel02Scrapyard"
|
||
CASE CMHDZ_TEXDICT_CH_ASYLUM RETURN "MPCamhedzLevel03Asylum"
|
||
CASE CMHDZ_TEXDICT_CH_THEMEPARK RETURN "MPCamhedzLevel04Themepark"
|
||
CASE CMHDZ_TEXDICT_CH_SLAUGHTERHOUSE RETURN "MPCamhedzLevel05Slaughterhouse"
|
||
CASE CMHDZ_TEXDICT_CH_VHSFONT RETURN "MPCamhedzVHSFont"
|
||
CASE CMHDZ_TEXDICT_CH_TITLES RETURN "MPCamhedzTitles"
|
||
CASE CMHDZ_TEXDICT_CH_RESULTS RETURN "MPCamhedzResults"
|
||
CASE CMHDZ_TEXDICT_CH_DAMAGE RETURN "MPCamhedzDamageEffects"
|
||
|
||
CASE CMHDZ_TEXDICT_BACKGROUND_GORE RETURN "MPCamhedzGore"
|
||
|
||
CASE CMHDZ_TEXDICT_BEARSY RETURN "MPCamhedzBearsy"
|
||
CASE CMHDZ_TEXDICT_BEARSY_THROWING RETURN "MPCamhedzBearsy_Throwing"
|
||
CASE CMHDZ_TEXDICT_BEARSY_EFFECTS RETURN "MPCamhedzBearsy_Effects"
|
||
CASE CMHDZ_TEXDICT_BEARSY_FOREGROUND RETURN "MPCamhedzBearsy_Foreground"
|
||
CASE CMHDZ_TEXDICT_BEARSY_FOREGROUND_ATTACK RETURN "MPCamhedzBearsy_ForegroundAttack"
|
||
CASE CMHDZ_TEXDICT_BEARSY_DEATH RETURN "MPCamhedzBearsy_Death"
|
||
CASE CMHDZ_TEXDICT_BEARSY_BONE RETURN "MPCamhedzBearsy_Projectile_Bone"
|
||
CASE CMHDZ_TEXDICT_BEARSY_JOWL RETURN "MPCamhedzBearsy_Projectile_Bone"
|
||
CASE CMHDZ_TEXDICT_BEARSY_LEG RETURN "MPCamhedzBearsy_Projectile_Bone"
|
||
CASE CMHDZ_TEXDICT_BEARSY_TROTTER RETURN "MPCamhedzBearsy_Projectile_Bone"
|
||
|
||
CASE CMHDZ_TEXDICT_ENEMY_BURNING RETURN "MPCamhedzBurning"
|
||
|
||
CASE CMHDZ_TEXDICT_RETICLE_TYPES RETURN "MPCamhedzReticle"
|
||
|
||
// CASE CMHDZ_TEXDICT_HOSTAGES RETURN "MPCamhedzEnemyGangA"
|
||
CASE CMHDZ_TEXDICT_DEAD RETURN "MPCamhedzResults"
|
||
ENDSWITCH
|
||
|
||
RETURN "UNKNOWN DICT - CHECK CASES"
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_LOAD_TEXDICT(CMHDZ_TEXDICT eDict)
|
||
STRING sName = CMHDZ_GET_TEXTURE_DICT_NAME(eDict)
|
||
|
||
IF IS_STRING_NULL_OR_EMPTY(sName)
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
REQUEST_STREAMED_TEXTURE_DICT(sName)
|
||
IF NOT HAS_STREAMED_TEXTURE_DICT_LOADED(sName)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] CMHDZ_LOAD_TEXDICT - Loading:", sName)
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] CMHDZ_LOAD_TEXDICT - Loaded:", sName)
|
||
RETURN TRUE
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_RELEASE_TEXDICT(CMHDZ_TEXDICT eDict)
|
||
STRING sName = CMHDZ_GET_TEXTURE_DICT_NAME(eDict)
|
||
|
||
IF IS_STRING_NULL_OR_EMPTY(sName)
|
||
EXIT
|
||
ENDIF
|
||
|
||
// IF NOT HAS_STREAMED_TEXTURE_DICT_LOADED(sName)
|
||
// EXIT
|
||
// ENDIF
|
||
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] CMHDZ_RELEASE_TEXDICT - Released:", sName)
|
||
SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED(sName)
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_LOAD_ALL_TEXTURE_DICTS()
|
||
CMHDZ_TEXDICT dict
|
||
|
||
REPEAT NUM_CMHDZ_TEXTDICT dict
|
||
IF (dict != CMHDZ_TEXDICT_INVALID)
|
||
AND (dict != NUM_CMHDZ_TEXTDICT)
|
||
AND NOT CMHDZ_LOAD_TEXDICT(dict)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "CMHDZ_LOAD_ALL_TEXTURE_DICTS - Loading Tex Dic: ", CMHDZ_GET_TEXTURE_DICT_NAME(dict))
|
||
RETURN FALSE
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
RETURN TRUE
|
||
ENDFUNC
|
||
|
||
|
||
PROC CMHDZ_RELEASE_ALL_TEXTURE_DICTS()
|
||
CMHDZ_TEXDICT dict
|
||
|
||
REPEAT NUM_CMHDZ_TEXTDICT dict
|
||
IF (dict != CMHDZ_TEXDICT_INVALID)
|
||
AND (dict != NUM_CMHDZ_TEXTDICT)
|
||
CMHDZ_RELEASE_TEXDICT(dict)
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
ENDPROC
|
||
|
||
// TODO (LOW): CMHDZ_GET_ENUM_FROM_TEXTURE_DICT_NAME Needs updating
|
||
FUNC CMHDZ_TEXDICT CMHDZ_GET_ENUM_FROM_TEXTURE_DICT_NAME(STRING sName)
|
||
IF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersCommon")
|
||
RETURN CMHDZ_TEXDICT_BASE
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersTitle")
|
||
RETURN CMHDZ_TEXDICT_TITLE
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersHud")
|
||
RETURN CMHDZ_TEXDICT_HUD
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersFacade")
|
||
RETURN CMHDZ_TEXDICT_FACADE
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersLevels")
|
||
RETURN CMHDZ_TEXDICT_LVLSELECT
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersLevelsComp")
|
||
RETURN CMHDZ_TEXDICT_LVLCOMP
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersLevel1")
|
||
RETURN CMHDZ_TEXDICT_LVL1
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersLevel2")
|
||
RETURN CMHDZ_TEXDICT_LVL2
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersLevel3")
|
||
RETURN CMHDZ_TEXDICT_LVL3
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersLevel4")
|
||
RETURN CMHDZ_TEXDICT_LVL4
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPCamhedzLevel05Slaughterhouse")
|
||
RETURN CMHDZ_TEXDICT_LVL5
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPCamhedzEnemyFGA")
|
||
RETURN CMHDZ_TEXDICT_FG_ENEMY_A
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPCamhedzEnemyFGB")
|
||
RETURN CMHDZ_TEXDICT_FG_ENEMY_B
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPCamhedzEnemyFGC")
|
||
RETURN CMHDZ_TEXDICT_FG_ENEMY_C
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPCamhedzEnemyFGD")
|
||
RETURN CMHDZ_TEXDICT_FG_ENEMY_D
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPCamhedzEnemyFGE")
|
||
RETURN CMHDZ_TEXDICT_FG_ENEMY_E
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPCamhedzEnemyFGD_2")
|
||
RETURN CMHDZ_TEXDICT_FG_ENEMY_D
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPCamhedzEnemyFGE_2")
|
||
RETURN CMHDZ_TEXDICT_FG_ENEMY_E_2
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersProps")
|
||
RETURN CMHDZ_TEXDICT_COMMON_PROPS
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPCamhedzResults")
|
||
RETURN CMHDZ_TEXDICT_RESULTS
|
||
ELIF ARE_STRINGS_EQUAL(sName, "MPLastGunslingersDead")
|
||
RETURN CMHDZ_TEXDICT_DEAD
|
||
ENDIF
|
||
|
||
RETURN CMHDZ_TEXDICT_INVALID
|
||
ENDFUNC
|
||
|
||
//========== BITMASKS FOR IN-GAME OBJECTS ==========
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Player Bits
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
FUNC BOOL CMHDZ_IS_PLAYER_BIT_SET(CMHDZ_PLAYER_BITSET eBit)
|
||
RETURN IS_BIT_SET(sCMHDZData.sPlayerData[0].iPlayerBitset, ENUM_TO_INT(eBit))
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_SET_PLAYER_BIT(CMHDZ_PLAYER_BITSET eBit)
|
||
IF NOT CMHDZ_IS_PLAYER_BIT_SET(eBit)
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_SET_PLAYER_BIT] {DSW} Set bit ", CMHDZ_PLAYER_BITSET_TO_STRING(eBit))
|
||
#ENDIF
|
||
SET_BIT(sCMHDZData.sPlayerData[0].iPlayerBitset, ENUM_TO_INT(eBit))
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_CLEAR_PLAYER_BIT(CMHDZ_PLAYER_BITSET eBit)
|
||
IF CMHDZ_IS_PLAYER_BIT_SET(eBit)
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_CLEAR_PLAYER_BIT] {DSW} Set bit ", CMHDZ_PLAYER_BITSET_TO_STRING(eBit))
|
||
#ENDIF
|
||
CLEAR_BIT(sCMHDZData.sPlayerData[0].iPlayerBitset, ENUM_TO_INT(eBit))
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Cover Bits
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
PROC CMHDZ_COVER_MAP_DATA_SET_BITMASK(CMHDZ_COVER_MAP_DATA &dat, CMHDZ_COVER_DATA_BITS bit)
|
||
SET_BITMASK_ENUM_AS_ENUM(dat.eDataBits, bit)
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_COVER_MAP_DATA_CLEAR_BITMASK(CMHDZ_COVER_MAP_DATA &dat, CMHDZ_COVER_DATA_BITS bit)
|
||
CLEAR_BITMASK_ENUM_AS_ENUM(dat.eDataBits, bit)
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_COVER_MAP_DATA_IS_BITMASK_SET(CMHDZ_COVER_MAP_DATA &dat, CMHDZ_COVER_DATA_BITS bit)
|
||
RETURN IS_BITMASK_ENUM_AS_ENUM_SET(dat.eDataBits, bit)
|
||
ENDFUNC
|
||
#ENDIF
|
||
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Enemy Bits
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
|
||
PROC CMHDZ_ENEMY_DATA_SET_BIT_BY_BOOL(INT iEnemy, CMHDZ_ENEMY_DATA_BITS bit, BOOL bOn = TRUE)
|
||
IF (bOn)
|
||
SET_BITMASK_ENUM_AS_ENUM(sCMHDZData.sEnemyData[iEnemy].eDataBits, bit)
|
||
ELSE
|
||
CLEAR_BITMASK_ENUM_AS_ENUM(sCMHDZData.sEnemyData[iEnemy].eDataBits, bit)
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_ENEMY_DATA_SET_BITMASK(INT iEnemy, CMHDZ_ENEMY_DATA_BITS bit)
|
||
SET_BITMASK_ENUM_AS_ENUM(sCMHDZData.sEnemyData[iEnemy].eDataBits, bit)
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_ENEMY_DATA_CLEAR_BITMASK(INT iEnemy, CMHDZ_ENEMY_DATA_BITS bit)
|
||
CLEAR_BITMASK_ENUM_AS_ENUM(sCMHDZData.sEnemyData[iEnemy].eDataBits, bit)
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_ENEMY_DATA_IS_BITMASK_SET(INT iEnemy, CMHDZ_ENEMY_DATA_BITS bit)
|
||
RETURN IS_BITMASK_ENUM_AS_ENUM_SET(sCMHDZData.sEnemyData[iEnemy].eDataBits, bit)
|
||
ENDFUNC
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Level Bits
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
FUNC BOOL CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(CMHDZ_LEVELS eLevel, CMHDZ_LEVELS_BITSET eBit)
|
||
RETURN IS_BIT_SET(sCMHDZData.iLevelBitset[ENUM_TO_INT(eLevel)], ENUM_TO_INT(eBit))
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_LEVEL_BIT_SET_FOR_CURRENT_LEVEL(CMHDZ_LEVELS_BITSET eBit)
|
||
RETURN CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(sCMHDZData.eCurrentLevel, eBit)
|
||
ENDFUNC
|
||
|
||
|
||
|
||
PROC CMHDZ_SET_LEVEL_BIT_FOR_LEVEL(CMHDZ_LEVELS eLevel, CMHDZ_LEVELS_BITSET eBit)
|
||
IF NOT CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(eLevel, eBit)
|
||
// #IF IS_DEBUG_BUILD
|
||
// STRING sBit = CMHDZ_LEVELS_BITSET_TO_STRING(eBit)
|
||
// STRING sLevel = CMHDZ_LEVELS_TO_STRING(eLevel)
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_SET_LEVEL_BIT_FOR_LEVEL] {DSW} Set bit ", sBit, " For Level ", sLevel)
|
||
// #ENDIF
|
||
|
||
SET_BIT(sCMHDZData.iLevelBitset[ENUM_TO_INT(eLevel)], ENUM_TO_INT(eBit))
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_SET_LEVEL_BIT_FOR_CURRENT_LEVEL(CMHDZ_LEVELS_BITSET eBit)
|
||
CMHDZ_SET_LEVEL_BIT_FOR_LEVEL(sCMHDZData.eCurrentLevel, eBit)
|
||
ENDPROC
|
||
|
||
//========== MUSIC EVENTS ==========
|
||
|
||
FUNC CMHDZ_MUSIC_EVENTS CMHDZ_GET_MUSIC_EVENT_FOR_LEVEL(CMHDZ_LEVELS eLevel)
|
||
SWITCH eLevel
|
||
CASE CMHDZ_LEVEL_CITY RETURN CMHDZ_MUSIC_EVENT_GOSPEL
|
||
CASE CMHDZ_LEVEL_SCRAPYARD RETURN CMHDZ_MUSIC_EVENT_BUCKLE
|
||
CASE CMHDZ_LEVEL_ASYLUM RETURN CMHDZ_MUSIC_EVENT_HILLBILLY
|
||
CASE CMHDZ_LEVEL_PARK RETURN CMHDZ_MUSIC_EVENT_RUCKUS
|
||
CASE CMHDZ_LEVEL_SLAUGHTERHOUSE RETURN CMHDZ_MUSIC_EVENT_BARREL
|
||
ENDSWITCH
|
||
|
||
RETURN CMHDZ_MUSIC_EVENT_INVALID
|
||
ENDFUNC
|
||
|
||
FUNC STRING CMHDZ_GET_MUSIC_EVENT_FROM_ENUM(CMHDZ_MUSIC_EVENTS eEvent)
|
||
SWITCH eEvent
|
||
CASE CMHDZ_MUSIC_EVENT_INTRO RETURN "ARCADE_CamH_INTRO_OS"
|
||
CASE CMHDZ_MUSIC_EVENT_TITLE RETURN "ARCADE_CamH_TITLE_CARD"
|
||
CASE CMHDZ_MUSIC_EVENT_GOSPEL RETURN "ARCADE_CamH_TRACK_1"
|
||
CASE CMHDZ_MUSIC_EVENT_BUCKLE RETURN "ARCADE_CamH_TRACK_2"
|
||
CASE CMHDZ_MUSIC_EVENT_HILLBILLY RETURN "ARCADE_CamH_TRACK_4"
|
||
CASE CMHDZ_MUSIC_EVENT_RUCKUS RETURN "ARCADE_CamH_TRACK_6"
|
||
CASE CMHDZ_MUSIC_EVENT_BARREL RETURN "ARCADE_CamH_TRACK_9"
|
||
CASE CMHDZ_MUSIC_EVENT_STOP RETURN "ARCADE_CamH_STOP"
|
||
CASE CMHDZ_MUSIC_EVENT_DEATH RETURN "ARCADE_CamH_DEATH_OS"
|
||
CASE CMHDZ_MUSIC_EVENT_HIT RETURN "ARCADE_CamH_PLAYER_HIT"
|
||
CASE CMHDZ_MUSIC_EVENT_HIT_ALT RETURN "ARCADE_CamH_PLAYER_HIT_ALT"
|
||
CASE CMHDZ_MUSIC_EVENT_FINAL_BOSS RETURN "ARCADE_CamH_FINAL_BOSS"
|
||
CASE CMHDZ_MUSIC_EVENT_FINAL_BOSS_DEFEATED RETURN "ARCADE_CamH_FINAL_BOSS_DEFEATED"
|
||
ENDSWITCH
|
||
|
||
RETURN "UNKNOWN"
|
||
ENDFUNC
|
||
|
||
|
||
PROC CMHDZ_TRIGGER_MUSIC_EVENT(CMHDZ_MUSIC_EVENTS eEvent)
|
||
|
||
TEXT_LABEL_31 tl31MusicEvent = CMHDZ_GET_MUSIC_EVENT_FROM_ENUM(eEvent)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] [CMHDZ_TRIGGER_MUSIC_EVENT] {DSW} Event: ", tl31MusicEvent)
|
||
TRIGGER_MUSIC_EVENT(tl31MusicEvent)
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_TRIGGER_MUSIC_EVENT_HIT_RANDOM()
|
||
|
||
INT iRand = GET_RANDOM_INT_IN_RANGE(0,3)
|
||
TEXT_LABEL_31 tl31MusicEvent = "ARCADE_CamH_PLAYER_HIT"
|
||
|
||
SWITCH iRand
|
||
CASE 0
|
||
CASE 1
|
||
tl31MusicEvent = "ARCADE_CamH_PLAYER_HIT"
|
||
BREAK
|
||
|
||
CASE 2
|
||
tl31MusicEvent = "ARCADE_CamH_PLAYER_HIT_ALT"
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
//TEXT_LABEL_31 tl31MusicEvent = CMHDZ_GET_MUSIC_EVENT_FROM_ENUM(eEvent)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] [CMHDZ_TRIGGER_MUSIC_EVENT] {DSW} Event: ", tl31MusicEvent)
|
||
TRIGGER_MUSIC_EVENT(tl31MusicEvent)
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PREPARE_MUSIC_EVENT(CMHDZ_MUSIC_EVENTS eEvent)
|
||
|
||
TEXT_LABEL_31 tl31MusicEvent = CMHDZ_GET_MUSIC_EVENT_FROM_ENUM(eEvent)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] [CMHDZ_PREPARE_MUSIC_EVENT] {DSW} Event: ", tl31MusicEvent)
|
||
PREPARE_MUSIC_EVENT(tl31MusicEvent)
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_CANCEL_MUSIC_EVENT(CMHDZ_MUSIC_EVENTS eEvent)
|
||
|
||
TEXT_LABEL_31 tl31MusicEvent = CMHDZ_GET_MUSIC_EVENT_FROM_ENUM(eEvent)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] [CMHDZ_CANCEL_MUSIC_EVENT] {DSW} Event: ", tl31MusicEvent)
|
||
IF CANCEL_MUSIC_EVENT(tl31MusicEvent)
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] [CMHDZ_CANCEL_MUSIC_EVENT] {BAZ} Event: ", tl31MusicEvent)
|
||
ENDIF
|
||
ENDPROC
|
||
//PROC CMHDZ_CANCEL_MUSIC_EVENT(CMHDZ_MUSIC_EVENTS eEvent)
|
||
// TEXT_LABEL_31 tl31MusicEvent = CMHDZ_GET_MUSIC_EVENT_FROM_ENUM(eEvent)
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] [CMHDZ_PREPARE_MUSIC_EVENT] {DSW} Event: ", tl31MusicEvent)
|
||
// PREPARE_MUSIC_EVENT(tl31MusicEvent)
|
||
//ENDPROC
|
||
|
||
PROC CMHDZ_GET_AUDIO_STRINGS_FROM_ENUM(CMHDZ_AUDIO_EFFECT eSound, TEXT_LABEL_31 &tl31SoundName, TEXT_LABEL_63 &tl63SoundSetName)
|
||
|
||
SWITCH eSound
|
||
CASE CMHDZ_AUDIO_EFFECT_GET_READY tl31SoundName = "VO_Get_Ready" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DRAW tl31SoundName = "VO_Draw" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_SELECT_STAGE tl31SoundName = "Select_Stage" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_RELOAD tl31SoundName = "VO_Reload" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_SCREEN_LOCKED tl31SoundName = "Select_Stage_Failed" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_MENU_BACK tl31SoundName = "Menu_Back" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_MENU_CONTINUE tl31SoundName = "Death_Screen_Continue" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_MUSIC_TRANSITION tl31SoundName = "Music_Transition_Glitch" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_LEVEL_BACKGROUND_LOOP tl31SoundName = "Level_Background_Loop" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_MISS tl31SoundName = "Shoot_Miss" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_OPTION tl31SoundName = "Shoot_Option" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_START tl31SoundName = "Press_Start" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_RESULTS_SCORE_UPDATE tl31SoundName = "Calculate_Score_Total" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_GENERIC tl31SoundName = "Hit_Generic" tl63SoundSetName = "DLC_Tuner_AM_CH_Bullet_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_BODY tl31SoundName = "Hit_Body" tl63SoundSetName = "DLC_Tuner_AM_CH_Bullet_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_PLAYER tl31SoundName = "Hit_Player" tl63SoundSetName = "DLC_Tuner_AM_CH_Bullet_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_METAL tl31SoundName = "Hit_Metal" tl63SoundSetName = "DLC_Tuner_AM_CH_Bullet_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_BUSHES tl31SoundName = "Hit_Bushes" tl63SoundSetName = "DLC_Tuner_AM_CH_Bullet_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_ROCK tl31SoundName = "Hit_Rock" tl63SoundSetName = "DLC_Tuner_AM_CH_Bullet_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_HEADSHOT tl31SoundName = "Hit_Headshot" tl63SoundSetName = "DLC_Tuner_AM_CH_Bullet_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_BEARSY tl31SoundName = "Hit_Bearsy" tl63SoundSetName = "DLC_Tuner_AM_CH_Bullet_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BULLET_HIT_BEARSY_DEFLECT tl31SoundName = "Hit_Bearsy_Deflect" tl63SoundSetName = "DLC_Tuner_AM_CH_Bullet_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_SWAP_WEAPON tl31SoundName = "Weapon_Change" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_REVOLVER_FIRE tl31SoundName = "Gun_Revolver_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_REVOLVER_EMPTY tl31SoundName = "Gun_Revolver_Dry_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_FIRST tl31SoundName = "Gun_Revolver_Reload_First" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_SINGLE tl31SoundName = "Gun_Revolver_Reload" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_LAST tl31SoundName = "Gun_Revolver_Reload_Last" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_RIFLE_FIRE tl31SoundName = "Gun_Assault_Rifle_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_RIFLE_EMPTY tl31SoundName = "Gun_Assault_Rifle_Dry_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
// CASE CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD tl31SoundName = "Rifle_Reload" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD_SINGLE tl31SoundName = "Gun_Assault_Rifle_Reload" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD_LAST tl31SoundName = "Gun_Assault_Rifle_Reload_Last" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_SHOTGUN_FIRE tl31SoundName = "Gun_Shotgun_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_SHOTGUN_EMPTY tl31SoundName = "Gun_Shotgun_Dry_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
// CASE CMHDZ_AUDIO_EFFECT_SHOTGUN_RELOAD tl31SoundName = "Shotgun_Reload" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_SHOTGUN_RELOAD_SINGLE tl31SoundName = "Gun_Shotgun_Reload" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_NAILGUN_FIRE tl31SoundName = "Gun_Nailgun_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_NAILGUN_RELOAD_SINGLE tl31SoundName = "Gun_Nailgun_Reload" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_BRICK_THROW tl31SoundName = "Thrown_Brick" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_BRICK_HIT tl31SoundName = "Thrown_Brick_Hit" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_NAILBOMB_THROW tl31SoundName = "Thrown_Nailbomb" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_NAILBOMB_HIT tl31SoundName = "Thrown_Nailbomb_Hit" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_MOLOTOV_THROW tl31SoundName = "Thrown_Molotov" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_MOLOTOV_HIT tl31SoundName = "Thrown_Molotov_Hit" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Weapon_Sounds" BREAK
|
||
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_DEAD tl31SoundName = "Death" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_VERY_LOW tl31SoundName = "Pain_Near_Death" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_LOW tl31SoundName = "Pain_High" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_MEDIUM tl31SoundName = "Pain_Med" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_HIGH tl31SoundName = "Pain_Low" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_DEAD tl31SoundName = "Death" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_GLOAT tl31SoundName = "Attack_Success" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_A_01_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_ATTACK tl31SoundName = "Attack" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_A_01_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_PAIN tl31SoundName = "Pain" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_A_INJURED tl31SoundName = "Hurt" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_A_01_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_DEAD tl31SoundName = "Death" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_GLOAT tl31SoundName = "Attack_Success" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_B_02_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_ATTACK tl31SoundName = "Attack" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_B_02_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_PAIN tl31SoundName = "Pain" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_B_INJURED tl31SoundName = "Hurt" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_B_02_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_DEAD tl31SoundName = "Death" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_GLOAT tl31SoundName = "Attack_Success" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_C_03_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_ATTACK tl31SoundName = "Attack" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_C_03_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_PAIN tl31SoundName = "Pain" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_C_INJURED tl31SoundName = "Hurt" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_C_03_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_DEAD tl31SoundName = "Death" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_GLOAT tl31SoundName = "Attack_Success" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_D_04_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_ATTACK tl31SoundName = "Attack" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_D_04_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_PAIN tl31SoundName = "Pain" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_D_INJURED tl31SoundName = "Hurt" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_D_04_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_E_DEAD tl31SoundName = "Death" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_E_GLOAT tl31SoundName = "Attack_Success" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_E_05_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_E_ATTACK tl31SoundName = "Attack" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_E_05_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_E_PAIN tl31SoundName = "Pain" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_E_INJURED tl31SoundName = "Hurt" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_E_05_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_AIM tl31SoundName = "Rifle_Aim" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_FIRE tl31SoundName = "Rifle_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_SHOTGUN_AIM tl31SoundName = "Gun_Shotgun_Aim" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_SHOTGUN_FIRE tl31SoundName = "Gun_Shotgun_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_REVOLVER_AIM tl31SoundName = "Pistol_Aim" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_REVOLVER_FIRE tl31SoundName = "Pistol_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_Melee_Bat_Metal_Swing tl31SoundName = "Melee_Bat_Metal_Swing" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_Melee_Crowbar_Swing tl31SoundName = "Melee_Crowbar_Swing" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_Melee_Bat_Wood_Swing tl31SoundName = "Melee_Bat_Wood_Swing" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_Melee_Machete_Swing tl31SoundName = "Melee_Machete_Swing" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_Melee_Bat_Metal_Hit tl31SoundName = "Melee_Bat_Metal_Hit" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_Melee_Crowbar_Hit tl31SoundName = "Melee_Crowbar_Hit" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_Melee_Bat_Wood_Hit tl31SoundName = "Melee_Bat_Wood_Hit" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_Melee_Machete_Hit tl31SoundName = "Melee_Machete_Hit" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_CRIT_WARNING tl31SoundName = "Critical_Hit_Warn" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_THROW_DYNAMITE tl31SoundName = "Dynamite_Throw" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_DEAD tl31SoundName = "Death" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_PAIN tl31SoundName = "Pain" tl63SoundSetName = "DLC_TUNER_AM_CH_Enemy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_ON_FIRE tl31SoundName = "On_Fire" tl63SoundSetName = "DLC_Tuner_AM_CH_Enemy_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_EXP_GENERIC tl31SoundName = "Generic" tl63SoundSetName = "DLC_Tuner_AM_CH_Explosion_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_EXP_DYNAMITE tl31SoundName = "Dynamite" tl63SoundSetName = "DLC_Tuner_AM_CH_Explosion_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_BUNNYGIRL_APPEAR tl31SoundName = "Bunny_Appear" tl63SoundSetName = "DLC_TUNER_AM_CH_Hostage_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BUNNYGIRL_PAIN tl31SoundName = "Bunny_Pain" tl63SoundSetName = "DLC_TUNER_AM_CH_Hostage_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BUNNYGIRL_DEATH tl31SoundName = "Bunny_Die" tl63SoundSetName = "DLC_TUNER_AM_CH_Hostage_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BUNNYGIRL_MISSED tl31SoundName = "Bunny_Escape" tl63SoundSetName = "DLC_TUNER_AM_CH_Hostage_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_MONKEY_APPEAR tl31SoundName = "Monkey_Appear" tl63SoundSetName = "DLC_TUNER_AM_CH_Hostage_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_MONKEY_PAIN tl31SoundName = "Monkey_Pain" tl63SoundSetName = "DLC_TUNER_AM_CH_Hostage_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_MONKEY_DEATH tl31SoundName = "Monkey_Die" tl63SoundSetName = "DLC_TUNER_AM_CH_Hostage_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_MONKEY_MISSED tl31SoundName = "Monkey_Missed" tl63SoundSetName = "DLC_TUNER_AM_CH_Hostage_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_RAT_APPEAR tl31SoundName = "Rat_Appear" tl63SoundSetName = "DLC_TUNER_AM_CH_Animal_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_RAT_DEATH tl31SoundName = "Rat_Die" tl63SoundSetName = "DLC_TUNER_AM_CH_Animal_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_RAT_IDLE_LOOP tl31SoundName = "Rat_Idle_Loop" tl63SoundSetName = "DLC_TUNER_AM_CH_Animal_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_APPEAR tl31SoundName = "Vocal_Appear" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_ATTACK tl31SoundName = "Vocal_Attack" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_PAIN tl31SoundName = "Vocal_Pain" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_HIDE tl31SoundName = "Vocal_Hide" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_REVEAL tl31SoundName = "Vocal_Reveal" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_DIE tl31SoundName = "Vocal_Die" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_CHAINSAW_LOOP tl31SoundName = "Chainsaw_Idle_Loop" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_CHAINSAW_ATTACK tl31SoundName = "Chainsaw_Attack" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_MEAT_THROW tl31SoundName = "Throw_Meat" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_BEARSY_MEAT_IMPACT tl31SoundName = "Throw_Meat_Impact" tl63SoundSetName = "DLC_TUNER_AM_CH_Bearsy_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PICKUP_BUFF tl31SoundName = "Invulnerable_Loop" tl63SoundSetName = "DLC_Tuner_AM_CH_Pickup_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PICKUP_SHIELD tl31SoundName = "Damage_Boost_Loop" tl63SoundSetName = "DLC_Tuner_AM_CH_Pickup_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PICKUP_HEALTH tl31SoundName = "Health" tl63SoundSetName = "DLC_Tuner_AM_CH_Pickup_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PICKUP_CASH tl31SoundName = "Cash" tl63SoundSetName = "DLC_Tuner_AM_CH_Pickup_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PICKUP_TAPE tl31SoundName = "Tape" tl63SoundSetName = "DLC_Tuner_AM_CH_Pickup_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_RELOAD tl31SoundName = "Reload" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SHOOT_HEADSHOT tl31SoundName = "Headshot" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SHOOT_ANIMAL tl31SoundName = "Shoot_Critter" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
// CASE CMHDZ_AUDIO_EFFECT_PLAYER_AWARD_STV tl31SoundName = "Award_Pistols_at_dawn" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
// CASE CMHDZ_AUDIO_EFFECT_PLAYER_AWARD_TTK tl31SoundName = "Award_Deadeye" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_BAD tl31SoundName = "Level_Complete_Bad" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_AVERAGE tl31SoundName = "Level_Complete_Average" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_GOOD tl31SoundName = "Level_Complete_Good" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_SCORE_AMAZING tl31SoundName = "Level_Complete_Amazing" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_COMPLETE_LEVEL tl31SoundName = "Beat_Level" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_DEATH tl31SoundName = "Death" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_RESULTS_DEAD tl31SoundName = "Dead_Text" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_PLAYER_FINISH_GAME tl31SoundName = "Finish_Game" tl63SoundSetName = "DLC_Tuner_AM_CH_Player_Speech_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Asylum tl31SoundName = "Level_Select_Asylum" tl63SoundSetName = "DLC_Tuner_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Junkyard tl31SoundName = "Level_Select_Junkyard" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Slaughterhouse tl31SoundName = "Level_Select_Slaughterhouse" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Slums tl31SoundName = "Level_Select_Slums" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Theme_Park tl31SoundName = "Level_Select_Theme_Park" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Get_Ready tl31SoundName = "Get_Ready" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Start tl31SoundName = "Level_Start" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Complete_Level tl31SoundName = "Complete_Level" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Quit tl31SoundName = "Quit" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Restart_Level tl31SoundName = "Restart_Level" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_First_Enemy_Appear tl31SoundName = "First_Enemy_Appear" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill tl31SoundName = "Enemy_Kill" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill_Headshot tl31SoundName = "Enemy_Kill_Headshot" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill_Nailgun tl31SoundName = "Enemy_Kill_Nailgun" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak tl31SoundName = "Kill_Streak" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Long tl31SoundName = "Kill_Streak_Long" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Extreme tl31SoundName = "Kill_Streak_Extreme" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Damage tl31SoundName = "Player_Damage" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Near_Death tl31SoundName = "Player_Near_Death" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Death tl31SoundName = "Player_Death" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Inactive tl31SoundName = "Player_Inactive" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Reload tl31SoundName = "Reload" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_AR tl31SoundName = "Weapon_AR" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_MV tl31SoundName = "Weapon_MV" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_NB tl31SoundName = "Weapon_NB" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_SG tl31SoundName = "Weapon_SG" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Weapon_Rnd tl31SoundName = "Weapon_Rnd" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Cash tl31SoundName = "Collectable_Cash" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Damage tl31SoundName = "Collectable_Damage" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Health tl31SoundName = "Collectable_Health" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Invulnerable tl31SoundName = "Collectable_Invulnerable" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Rnd_Neg tl31SoundName = "Collectable_Rnd_Neg" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Rnd_Pos tl31SoundName = "Collectable_Rnd_Pos" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Run_Out tl31SoundName = "Collectable_Run_Out" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Collectable_Tape tl31SoundName = "Collectable_Tape" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_FOD tl31SoundName = "Award_FOD" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_STV tl31SoundName = "Award_STV" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_MSMD tl31SoundName = "Award_MSMD" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TTK tl31SoundName = "Award_TTK" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TD tl31SoundName = "Award_TD" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Score_Ok tl31SoundName = "Score_Ok" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Score_Good tl31SoundName = "Score_Good" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Monkey_Kill tl31SoundName = "Monkey_Kill" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Bunny_Kill tl31SoundName = "Bunny_Kill" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Critter_Kill tl31SoundName = "Critter_Kill" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Props_Destroyed tl31SoundName = "Props_Destroyed" tl63SoundSetName = "DLC_TUNER_AM_CH_Director_VO_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_REWIND_START tl31SoundName = "Rewind_Start" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_REWIND_LOOP tl31SoundName = "Rewind_Loop_Only" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_REWIND_STOP tl31SoundName = "Rewind_End" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_Logo_Appear tl31SoundName = "Logo_Appear" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_Shoot_Option tl31SoundName = "Shoot_Option" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_Score_Letter_Change tl31SoundName = "Score_Letter_Change" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_Score_Letter_Select tl31SoundName = "Score_Letter_Select" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
CASE CMHDZ_AUDIO_EFFECT_Score_Entered tl31SoundName = "Score_Entered" tl63SoundSetName = "DLC_Tuner_AM_CH_Frontend_Sounds" BREAK
|
||
|
||
|
||
ENDSWITCH
|
||
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_HAS_SOUND_FINISHED(CMHDZ_AUDIO_EFFECT effect)
|
||
// IF sCMHDZData.iSoundId[effect] = -1
|
||
// RETURN TRUE
|
||
// ENDIF
|
||
|
||
RETURN HAS_SOUND_FINISHED(sCMHDZData.iSoundId[effect])
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT effect)
|
||
IF sCMHDZData.iSoundId[effect] = -1
|
||
RETURN FALSE
|
||
ELSE
|
||
RETURN TRUE
|
||
ENDIF
|
||
ENDFUNC
|
||
|
||
|
||
//PROC CMHDZ_PLAY_SOUND_FRONT_END(CMHDZ_AUDIO_EFFECT effect)
|
||
// TEXT_LABEL_23 tl23Sound
|
||
// TEXT_LABEL_63 tl63Bank
|
||
// CMHDZ_GET_AUDIO_STRINGS_FROM_ENUM(effect,tl23Sound, tl63Bank)
|
||
//
|
||
// #IF IS_DEBUG_BUILD
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_FRONT_END] Sound: ", tl23Sound, " Bank: ",tl63Bank)
|
||
// DEBUG_PRINTCALLSTACK()
|
||
// #ENDIF
|
||
//
|
||
// IF sCMHDZData.iSoundId[effect] = -1
|
||
// sCMHDZData.iSoundId[effect] = GET_SOUND_ID()
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_FRONT_END] Got sound ID")
|
||
// ENDIF
|
||
//
|
||
// PLAY_SOUND_FRONTEND(sCMHDZData.iSoundId[effect], tl23Sound, tl63Bank, FALSE)
|
||
// SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",0.5)
|
||
//ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_SOUND(CMHDZ_AUDIO_EFFECT effect, VECTOR_2D v2Pos)
|
||
TEXT_LABEL_31 tl31Sound
|
||
TEXT_LABEL_63 tl63Bank
|
||
CMHDZ_GET_AUDIO_STRINGS_FROM_ENUM(effect,tl31Sound, tl63Bank)
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Sound: ", tl31Sound, " Bank: ",tl63Bank)
|
||
DEBUG_PRINTCALLSTACK()
|
||
#ENDIF
|
||
|
||
IF sCMHDZData.iSoundId[effect] = -1
|
||
sCMHDZData.iSoundId[effect] = GET_SOUND_ID()
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Got sound ID: ", sCMHDZData.iSoundId[effect])
|
||
ENDIF
|
||
|
||
PLAY_SOUND_FRONTEND(sCMHDZData.iSoundId[effect], tl31Sound, tl63Bank, FALSE)
|
||
|
||
|
||
IF v2Pos.x != 0.0
|
||
VECTOR_2D v2Screen = ARCADE_CABINET_CONVERT_TO_VECTOR_2D_TO_SCREENSPACE(v2Pos)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",v2Screen.x)
|
||
ELSE
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",0.5)
|
||
ENDIF
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT effect, VECTOR_2D v2Pos)
|
||
TEXT_LABEL_31 tl31Sound
|
||
TEXT_LABEL_63 tl63Bank
|
||
CMHDZ_GET_AUDIO_STRINGS_FROM_ENUM(effect,tl31Sound, tl63Bank)
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Sound: ", tl31Sound, " Bank: ",tl63Bank)
|
||
DEBUG_PRINTCALLSTACK()
|
||
#ENDIF
|
||
|
||
IF sCMHDZData.iSoundId[effect] = -1
|
||
sCMHDZData.iSoundId[effect] = GET_SOUND_ID()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Got sound ID")
|
||
ENDIF
|
||
|
||
PLAY_SOUND_FRONTEND(sCMHDZData.iSoundId[effect], tl31Sound, tl63Bank, FALSE)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"GlitchLevel",sCMHDZData.fSoundGlitchLevel)
|
||
|
||
|
||
IF v2Pos.x != 0.0
|
||
VECTOR_2D v2Screen = ARCADE_CABINET_CONVERT_TO_VECTOR_2D_TO_SCREENSPACE(v2Pos)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",v2Screen.x)
|
||
ELSE
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",0.5)
|
||
ENDIF
|
||
RELEASE_SOUND_ID(sCMHDZData.iSoundId[effect])
|
||
sCMHDZData.iSoundId[effect] = -1
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_ENEMY_TYPE_SOUND_AND_RELEASE(CMHDZ_ENEMY_TYPES enemyType, CMHDZ_AUDIO_EFFECT effect, VECTOR_2D v2Pos, INT iEnemyVoiceID)
|
||
|
||
TEXT_LABEL_31 tl31Sound
|
||
TEXT_LABEL_63 tl63SoundSet
|
||
|
||
INT iEnemySet = 0
|
||
|
||
// // Don't progress if there's a cooldown
|
||
// IF sCMHDZData.fEnemyVoiceCooldown > 0.0
|
||
// sCMHDZData.fEnemyVoiceCooldown -= (0.0+@1000)
|
||
// EXIT
|
||
// ENDIF
|
||
|
||
SWITCH enemyType
|
||
CASE CMHDZ_ENEMY_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
CASE CMHDZ_THROWING_ENEMY_1
|
||
iEnemySet = 0
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
CASE CMHDZ_THROWING_ENEMY_2
|
||
iEnemySet = 1
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_3
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
CASE CMHDZ_THROWING_ENEMY_3
|
||
iEnemySet = 2
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_4
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
CASE CMHDZ_THROWING_ENEMY_4
|
||
iEnemySet = 3
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_5
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
CASE CMHDZ_THROWING_ENEMY_5
|
||
iEnemySet = 4
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
SWITCH effect
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_INJURED
|
||
|
||
SWITCH enemyType
|
||
CASE CMHDZ_ENEMY_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
CASE CMHDZ_THROWING_ENEMY_1
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_A_INJURED
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
CASE CMHDZ_THROWING_ENEMY_2
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_B_INJURED
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_3
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
CASE CMHDZ_THROWING_ENEMY_3
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_C_INJURED
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_4
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
CASE CMHDZ_THROWING_ENEMY_4
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_D_INJURED
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_5
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
CASE CMHDZ_THROWING_ENEMY_5
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_E_INJURED
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_ATTACK
|
||
|
||
SWITCH enemyType
|
||
CASE CMHDZ_ENEMY_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
CASE CMHDZ_THROWING_ENEMY_1
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_A_ATTACK
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
CASE CMHDZ_THROWING_ENEMY_2
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_B_ATTACK
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_3
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
CASE CMHDZ_THROWING_ENEMY_3
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_C_ATTACK
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_4
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
CASE CMHDZ_THROWING_ENEMY_4
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_D_ATTACK
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_5
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
CASE CMHDZ_THROWING_ENEMY_5
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_E_ATTACK
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_DEAD
|
||
|
||
SWITCH enemyType
|
||
CASE CMHDZ_ENEMY_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
CASE CMHDZ_THROWING_ENEMY_1
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_A_DEAD
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
CASE CMHDZ_THROWING_ENEMY_2
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_B_DEAD
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_3
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
CASE CMHDZ_THROWING_ENEMY_3
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_C_DEAD
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_4
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
CASE CMHDZ_THROWING_ENEMY_4
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_D_DEAD
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_5
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
CASE CMHDZ_THROWING_ENEMY_5
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_E_DEAD
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_ENEMY_GLOAT
|
||
|
||
SWITCH enemyType
|
||
CASE CMHDZ_ENEMY_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
CASE CMHDZ_THROWING_ENEMY_1
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_A_GLOAT
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
CASE CMHDZ_THROWING_ENEMY_2
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_B_GLOAT
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_3
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
CASE CMHDZ_THROWING_ENEMY_3
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_C_GLOAT
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_4
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
CASE CMHDZ_THROWING_ENEMY_4
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_D_GLOAT
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_5
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
CASE CMHDZ_THROWING_ENEMY_5
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_E_GLOAT
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
BREAK
|
||
|
||
// CASE CMHDZ_AUDIO_EFFECT_ENEMY_PAIN
|
||
//
|
||
// SWITCH enemyType
|
||
// CASE CMHDZ_ENEMY_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
// CASE CMHDZ_THROWING_ENEMY_1
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_A_PAIN
|
||
// BREAK
|
||
//
|
||
// CASE CMHDZ_ENEMY_2
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
// CASE CMHDZ_THROWING_ENEMY_2
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_B_PAIN
|
||
// BREAK
|
||
//
|
||
// CASE CMHDZ_ENEMY_3
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
// CASE CMHDZ_THROWING_ENEMY_3
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_C_PAIN
|
||
// BREAK
|
||
//
|
||
// CASE CMHDZ_ENEMY_4
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
// CASE CMHDZ_THROWING_ENEMY_4
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_D_PAIN
|
||
// BREAK
|
||
//
|
||
// CASE CMHDZ_ENEMY_5
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
// CASE CMHDZ_THROWING_ENEMY_5
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_E_PAIN
|
||
// BREAK
|
||
// ENDSWITCH
|
||
|
||
BREAK
|
||
|
||
// CASE CMHDZ_AUDIO_EFFECT_ENEMY_ON_FIRE
|
||
//
|
||
// SWITCH enemyType
|
||
// CASE CMHDZ_ENEMY_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
// CASE CMHDZ_THROWING_ENEMY_1
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_A_ON_FIRE
|
||
// BREAK
|
||
//
|
||
// CASE CMHDZ_ENEMY_2
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
// CASE CMHDZ_THROWING_ENEMY_2
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_B_ON_FIRE
|
||
// BREAK
|
||
//
|
||
// CASE CMHDZ_ENEMY_3
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
// CASE CMHDZ_THROWING_ENEMY_3
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_C_ON_FIRE
|
||
// BREAK
|
||
//
|
||
// CASE CMHDZ_ENEMY_4
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
// CASE CMHDZ_THROWING_ENEMY_4
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_D_ON_FIRE
|
||
// BREAK
|
||
//
|
||
// CASE CMHDZ_ENEMY_5
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
// CASE CMHDZ_THROWING_ENEMY_5
|
||
// effect = CMHDZ_AUDIO_EFFECT_ENEMY_E_ON_FIRE
|
||
// BREAK
|
||
// ENDSWITCH
|
||
//
|
||
// BREAK
|
||
|
||
ENDSWITCH
|
||
|
||
//CMHDZ_PLAY_SOUND_AND_RELEASE(effect, v2Pos)
|
||
|
||
CMHDZ_GET_AUDIO_STRINGS_FROM_ENUM(effect,tl31Sound, tl63SoundSet)
|
||
|
||
IF effect != CMHDZ_AUDIO_EFFECT_ENEMY_ON_FIRE // Exemptions
|
||
AND effect != CMHDZ_AUDIO_EFFECT_ENEMY_DEAD // Exemptions
|
||
AND effect != CMHDZ_AUDIO_EFFECT_ENEMY_PAIN // Exemptions
|
||
|
||
SWITCH iEnemySet
|
||
CASE 0
|
||
tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_A"
|
||
BREAK
|
||
|
||
CASE 1
|
||
tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_B"
|
||
BREAK
|
||
|
||
CASE 2
|
||
tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_C"
|
||
BREAK
|
||
|
||
CASE 3
|
||
tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_D"
|
||
BREAK
|
||
|
||
CASE 4
|
||
tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_E"
|
||
BREAK
|
||
|
||
ENDSWITCH
|
||
|
||
// Add the random sound ID
|
||
SWITCH iEnemyVoiceID
|
||
CASE 0
|
||
tl63SoundSet += "_01_Sounds"
|
||
BREAK
|
||
|
||
CASE 1
|
||
tl63SoundSet += "_02_Sounds"
|
||
BREAK
|
||
|
||
CASE 2
|
||
tl63SoundSet += "_03_Sounds"
|
||
BREAK
|
||
|
||
CASE 3
|
||
tl63SoundSet += "_04_Sounds"
|
||
BREAK
|
||
|
||
CASE 4
|
||
tl63SoundSet += "_05_Sounds"
|
||
BREAK
|
||
ENDSWITCH
|
||
ENDIF
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Sound: ", tl31Sound, " Bank: ",tl63Bank)
|
||
DEBUG_PRINTCALLSTACK()
|
||
#ENDIF
|
||
|
||
IF sCMHDZData.iSoundId[effect] = -1
|
||
sCMHDZData.iSoundId[effect] = GET_SOUND_ID()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Got sound ID")
|
||
ENDIF
|
||
|
||
// sCMHDZData.fEnemyVoiceCooldown = ciCMHDZ_ENEMY_SOUND_COOLDOWN
|
||
PLAY_SOUND_FRONTEND(sCMHDZData.iSoundId[effect], tl31Sound, tl63SoundSet, FALSE)
|
||
|
||
|
||
IF v2Pos.x != 0.0
|
||
VECTOR_2D v2Screen = ARCADE_CABINET_CONVERT_TO_VECTOR_2D_TO_SCREENSPACE(v2Pos)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",v2Screen.x)
|
||
ELSE
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",0.5)
|
||
ENDIF
|
||
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ][BAZ] CMHDZ_PLAY_ENEMY_TYPE_SOUND_AND_RELEASE enemy generated soundset tl63SoundSet: ", tl63SoundSet)
|
||
|
||
RELEASE_SOUND_ID(sCMHDZData.iSoundId[effect])
|
||
sCMHDZData.iSoundId[effect] = -1
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_ENEMY_WEAPON_MELEE_SWING_SOUND_AND_RELEASE(CMHDZ_ENEMY_TYPES enemyType, VECTOR_2D v2Pos)
|
||
|
||
CMHDZ_AUDIO_EFFECT effect = CMHDZ_AUDIO_EFFECT_MAX
|
||
TEXT_LABEL_31 tl31Sound
|
||
TEXT_LABEL_63 tl63SoundSet
|
||
|
||
SWITCH enemyType
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
effect = CMHDZ_AUDIO_EFFECT_Melee_Bat_Metal_Swing
|
||
BREAK
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
effect = CMHDZ_AUDIO_EFFECT_Melee_Machete_Swing
|
||
BREAK
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
effect = CMHDZ_AUDIO_EFFECT_Melee_Crowbar_Swing
|
||
BREAK
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
effect = CMHDZ_AUDIO_EFFECT_Melee_Bat_Wood_Swing
|
||
BREAK
|
||
|
||
ENDSWITCH
|
||
|
||
// Audio effect Exit
|
||
IF effect = CMHDZ_AUDIO_EFFECT_MAX
|
||
EXIT
|
||
ENDIF
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Sound: ", tl31Sound, " Bank: ",tl63Bank)
|
||
DEBUG_PRINTCALLSTACK()
|
||
#ENDIF
|
||
|
||
IF sCMHDZData.iSoundId[effect] = -1
|
||
sCMHDZData.iSoundId[effect] = GET_SOUND_ID()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Got sound ID")
|
||
ENDIF
|
||
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[BAZ] CMHDZ_PLAY_ENEMY_WEAPON_ATTACK_SOUND_AND_RELEASE - tl63SoundSet: ", tl63SoundSet)
|
||
PLAY_SOUND_FRONTEND(sCMHDZData.iSoundId[effect], tl31Sound, tl63SoundSet, FALSE)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"GlitchLevel",sCMHDZData.fSoundGlitchLevel)
|
||
|
||
IF v2Pos.x != 0.0
|
||
VECTOR_2D v2Screen = ARCADE_CABINET_CONVERT_TO_VECTOR_2D_TO_SCREENSPACE(v2Pos)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",v2Screen.x)
|
||
ELSE
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",0.5)
|
||
ENDIF
|
||
RELEASE_SOUND_ID(sCMHDZData.iSoundId[effect])
|
||
sCMHDZData.iSoundId[effect] = -1
|
||
|
||
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_ENEMY_WEAPON_ATTACK_SOUND_AND_RELEASE(CMHDZ_ENEMY_TYPES enemyType, VECTOR_2D v2Pos)
|
||
CMHDZ_AUDIO_EFFECT effect = CMHDZ_AUDIO_EFFECT_MAX
|
||
|
||
TEXT_LABEL_31 tl31Sound
|
||
TEXT_LABEL_63 tl63SoundSet
|
||
|
||
SWITCH enemyType
|
||
|
||
CASE CMHDZ_THROWING_ENEMY_1
|
||
CASE CMHDZ_THROWING_ENEMY_2
|
||
CASE CMHDZ_THROWING_ENEMY_3
|
||
CASE CMHDZ_THROWING_ENEMY_4
|
||
CASE CMHDZ_THROWING_ENEMY_5
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_THROW_DYNAMITE
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_1
|
||
CASE CMHDZ_ENEMY_2
|
||
CASE CMHDZ_ENEMY_4
|
||
CASE CMHDZ_ENEMY_5
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_SHOTGUN_FIRE
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_3
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_FIRE
|
||
BREAK
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_REVOLVER_FIRE
|
||
BREAK
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
effect = CMHDZ_AUDIO_EFFECT_Melee_Bat_Metal_Hit
|
||
BREAK
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
effect = CMHDZ_AUDIO_EFFECT_Melee_Machete_Hit
|
||
BREAK
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
effect = CMHDZ_AUDIO_EFFECT_Melee_Crowbar_Hit
|
||
BREAK
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
effect = CMHDZ_AUDIO_EFFECT_Melee_Bat_Wood_Hit
|
||
BREAK
|
||
|
||
ENDSWITCH
|
||
|
||
IF effect = CMHDZ_AUDIO_EFFECT_MAX
|
||
EXIT
|
||
ENDIF
|
||
|
||
CMHDZ_GET_AUDIO_STRINGS_FROM_ENUM(effect,tl31Sound, tl63SoundSet)
|
||
|
||
// SWITCH iEnemySet
|
||
// CASE 0
|
||
// tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_A"
|
||
// BREAK
|
||
//
|
||
// CASE 1
|
||
// tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_B"
|
||
// BREAK
|
||
//
|
||
// CASE 2
|
||
// tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_C"
|
||
// BREAK
|
||
//
|
||
// CASE 3
|
||
// tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_D"
|
||
// BREAK
|
||
//
|
||
// CASE 4
|
||
// tl63SoundSet = "DLC_TUNER_AM_CH_Enemy_Speech_Gang_E"
|
||
// BREAK
|
||
// ENDSWITCH
|
||
//
|
||
// // Add the random sound ID
|
||
// SWITCH iEnemyVoiceID
|
||
// CASE 0
|
||
// tl63SoundSet += "_01_Sounds"
|
||
// BREAK
|
||
//
|
||
// CASE 1
|
||
// tl63SoundSet += "_02_Sounds"
|
||
// BREAK
|
||
//
|
||
// CASE 2
|
||
// tl63SoundSet += "_03_Sounds"
|
||
// BREAK
|
||
//
|
||
// CASE 3
|
||
// tl63SoundSet += "_04_Sounds"
|
||
// BREAK
|
||
//
|
||
// CASE 4
|
||
// tl63SoundSet += "_05_Sounds"
|
||
// BREAK
|
||
// ENDSWITCH
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Sound: ", tl31Sound, " Bank: ",tl63Bank)
|
||
DEBUG_PRINTCALLSTACK()
|
||
#ENDIF
|
||
|
||
IF sCMHDZData.iSoundId[effect] = -1
|
||
sCMHDZData.iSoundId[effect] = GET_SOUND_ID()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Got sound ID")
|
||
ENDIF
|
||
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[BAZ] CMHDZ_PLAY_ENEMY_WEAPON_ATTACK_SOUND_AND_RELEASE - tl63SoundSet: ", tl63SoundSet)
|
||
PLAY_SOUND_FRONTEND(sCMHDZData.iSoundId[effect], tl31Sound, tl63SoundSet, FALSE)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"GlitchLevel",sCMHDZData.fSoundGlitchLevel)
|
||
|
||
IF v2Pos.x != 0.0
|
||
VECTOR_2D v2Screen = ARCADE_CABINET_CONVERT_TO_VECTOR_2D_TO_SCREENSPACE(v2Pos)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",v2Screen.x)
|
||
ELSE
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",0.5)
|
||
ENDIF
|
||
RELEASE_SOUND_ID(sCMHDZData.iSoundId[effect])
|
||
sCMHDZData.iSoundId[effect] = -1
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_ENEMY_WEAPON_READY_SOUND_AND_RELEASE(CMHDZ_ENEMY_TYPES enemyType, VECTOR_2D v2Pos)
|
||
TEXT_LABEL_31 tl31Sound
|
||
TEXT_LABEL_63 tl63Bank
|
||
CMHDZ_AUDIO_EFFECT effect = CMHDZ_AUDIO_EFFECT_MAX
|
||
|
||
SWITCH enemyType
|
||
|
||
CASE CMHDZ_THROWING_ENEMY_1
|
||
CASE CMHDZ_THROWING_ENEMY_2
|
||
CASE CMHDZ_THROWING_ENEMY_3
|
||
CASE CMHDZ_THROWING_ENEMY_4
|
||
CASE CMHDZ_THROWING_ENEMY_5
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_CRIT_WARNING
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_1
|
||
CASE CMHDZ_ENEMY_2
|
||
CASE CMHDZ_ENEMY_4
|
||
CASE CMHDZ_ENEMY_5
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_SHOTGUN_AIM
|
||
BREAK
|
||
|
||
CASE CMHDZ_ENEMY_3
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_RIFLE_AIM
|
||
BREAK
|
||
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
effect = CMHDZ_AUDIO_EFFECT_ENEMY_REVOLVER_AIM
|
||
BREAK
|
||
|
||
ENDSWITCH
|
||
|
||
IF effect = CMHDZ_AUDIO_EFFECT_MAX
|
||
EXIT
|
||
ENDIF
|
||
|
||
CMHDZ_GET_AUDIO_STRINGS_FROM_ENUM(effect,tl31Sound, tl63Bank)
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Sound: ", tl31Sound, " Bank: ",tl63Bank)
|
||
DEBUG_PRINTCALLSTACK()
|
||
#ENDIF
|
||
|
||
IF sCMHDZData.iSoundId[effect] = -1
|
||
sCMHDZData.iSoundId[effect] = GET_SOUND_ID()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_PLAY_SOUND_AND_RELEASE] Got sound ID")
|
||
ENDIF
|
||
|
||
PLAY_SOUND_FRONTEND(sCMHDZData.iSoundId[effect], tl31Sound, tl63Bank, FALSE)
|
||
|
||
|
||
IF v2Pos.x != 0.0
|
||
VECTOR_2D v2Screen = ARCADE_CABINET_CONVERT_TO_VECTOR_2D_TO_SCREENSPACE(v2Pos)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",v2Screen.x)
|
||
ELSE
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[effect],"Screen_Position",0.5)
|
||
ENDIF
|
||
RELEASE_SOUND_ID(sCMHDZData.iSoundId[effect])
|
||
sCMHDZData.iSoundId[effect] = -1
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_SOUND_NO_POSITION(CMHDZ_AUDIO_EFFECT effect)
|
||
CMHDZ_PLAY_SOUND(effect, INIT_VECTOR_2D(0.0, 0.0))
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT effect)
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(effect, INIT_VECTOR_2D(0.0, 0.0))
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_STOP_SOUND(CMHDZ_AUDIO_EFFECT effect)
|
||
STOP_SOUND(sCMHDZData.iSoundId[effect])
|
||
RELEASE_SOUND_ID(sCMHDZData.iSoundId[effect])
|
||
sCMHDZData.iSoundId[effect] = -1
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT effect)
|
||
|
||
IF effect < CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Asylum
|
||
OR effect >= CMHDZ_AUDIO_EFFECT_MAX // All director dialogue at the end of the list.
|
||
ASSERTLN("[CMHDZ][BAZ] CMHDZ_PLAY_DIRECTOR_DIALOGUE - Dialogue out of intended range")
|
||
EXIT
|
||
ENDIF
|
||
|
||
// IF (sCMHDZData.fDirectorVoiceCooldown > 0.0)
|
||
// sCMHDZData.fDirectorVoiceCooldown -= (0.0+@1000)
|
||
// EXIT
|
||
// ENDIF
|
||
|
||
INT i = ENUM_TO_INT(CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Asylum)
|
||
REPEAT CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TD i
|
||
|
||
IF NOT CMHDZ_HAS_SOUND_FINISHED(INT_TO_ENUM(CMHDZ_AUDIO_EFFECT, i))
|
||
CMHDZ_STOP_SOUND(INT_TO_ENUM(CMHDZ_AUDIO_EFFECT, i))
|
||
//EXIT
|
||
ENDIF
|
||
|
||
ENDREPEAT
|
||
//sCMHDZData.fDirectorVoiceCooldown = ciCMHDZ_DIRECTOR_SOUND_COOLDOWN
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(effect, INIT_VECTOR_2D(0.0, 0.0))
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_DIRECTOR_DIALOGUE_NO_RELEASE(CMHDZ_AUDIO_EFFECT effect)
|
||
|
||
IF effect < CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Asylum
|
||
OR effect >= CMHDZ_AUDIO_EFFECT_MAX // All director dialogue at the end of the list.
|
||
ASSERTLN("[CMHDZ][BAZ] CMHDZ_PLAY_DIRECTOR_DIALOGUE - Dialogue out of intended range")
|
||
EXIT
|
||
ENDIF
|
||
|
||
// IF (sCMHDZData.fDirectorVoiceCooldown > 0.0)
|
||
// sCMHDZData.fDirectorVoiceCooldown -= (0.0+@1000)
|
||
// EXIT
|
||
// ENDIF
|
||
|
||
INT i = ENUM_TO_INT(CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Asylum)
|
||
REPEAT CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TD i
|
||
|
||
IF NOT CMHDZ_HAS_SOUND_FINISHED(INT_TO_ENUM(CMHDZ_AUDIO_EFFECT, i))
|
||
CMHDZ_STOP_SOUND(INT_TO_ENUM(CMHDZ_AUDIO_EFFECT, i))
|
||
//EXIT
|
||
ENDIF
|
||
|
||
ENDREPEAT
|
||
//sCMHDZData.fDirectorVoiceCooldown = ciCMHDZ_DIRECTOR_SOUND_COOLDOWN
|
||
CMHDZ_PLAY_SOUND(effect, INIT_VECTOR_2D(0.0, 0.0))
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_HANDLE_DIRECTOR_ONE_OFF_DIALOGUE(CMHDZ_AUDIO_EFFECT effect)
|
||
|
||
INT i = ENUM_TO_INT(CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Select_Asylum)
|
||
REPEAT CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TD i
|
||
|
||
IF NOT CMHDZ_HAS_SOUND_FINISHED(INT_TO_ENUM(CMHDZ_AUDIO_EFFECT, i))
|
||
CMHDZ_STOP_SOUND(INT_TO_ENUM(CMHDZ_AUDIO_EFFECT, i))
|
||
//EXIT
|
||
ENDIF
|
||
|
||
ENDREPEAT
|
||
|
||
IF effect = CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Start
|
||
IF IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Level_Start_TRIGGER)
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Level_Start_PLAYED)
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Start)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Level_Start_PLAYED)
|
||
ENDIF
|
||
ENDIF
|
||
|
||
EXIT
|
||
ENDIF
|
||
|
||
SWITCH effect
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_First_Enemy_Appear
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_First_Enemy_Appear_PLAYED)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_First_Enemy_Appear)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_First_Enemy_Appear_PLAYED)
|
||
ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Enemy_Kill_PLAYED)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_First_Enemy_Appear_PLAYED)
|
||
ENDIF
|
||
BREAK
|
||
|
||
// CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill_Headshot
|
||
// IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Enemy_Kill_Headshot_PLAYED)
|
||
// SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Enemy_Kill_Headshot_PLAYED)
|
||
// ENDIF
|
||
// BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill_Nailgun
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Enemy_Kill_Nailgun_PLAYED)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Enemy_Kill_Nailgun)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Enemy_Kill_Nailgun_PLAYED)
|
||
ENDIF
|
||
BREAK
|
||
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Kill_Streak_PLAYED)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Kill_Streak_PLAYED)
|
||
ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Extreme
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Kill_Streak_Extreme_PLAYED)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Extreme)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Kill_Streak_Extreme_PLAYED)
|
||
ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Long
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Kill_Streak_Long_PLAYED)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Long)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Kill_Streak_Long_PLAYED)
|
||
ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Damage
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Player_Damage_Played)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Damage)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Player_Damage_PLAYED)
|
||
ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Near_Death
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Player_Near_Death_Played)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Near_Death)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Player_Near_Death_PLAYED)
|
||
ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_EFFECT_DIRECTOR_Props_Destroyed
|
||
IF NOT IS_BITMASK_AS_ENUM_SET(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Props_Destroyed_Played)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Props_Destroyed)
|
||
SET_BITMASK_AS_ENUM(sCMHDZData.iDirectorAudioBits, CMHDZ_DIRECTOR_BITS_Props_Destroyed_Played)
|
||
ENDIF
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_PLAY_BONUS_APPEAR_AUDIO(INT iEnemy)
|
||
SWITCH sCMHDZData.sEnemyData[iEnemy].iEnemyType
|
||
CASE CMHDZ_RARE_ENEMY_BUNNY
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_BUNNYGIRL_APPEAR, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
BREAK
|
||
|
||
CASE CMHDZ_RARE_ENEMY_MONKEY
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_MONKEY_APPEAR, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
BREAK
|
||
|
||
CASE CMHDZ_RARE_ENEMY_RAT
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_RAT_APPEAR, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
BREAK
|
||
|
||
ENDSWITCH
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_BONUS_PAIN_AUDIO(INT iEnemy)
|
||
SWITCH sCMHDZData.sEnemyData[iEnemy].iEnemyType
|
||
CASE CMHDZ_RARE_ENEMY_BUNNY
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_BUNNYGIRL_PAIN, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
BREAK
|
||
|
||
CASE CMHDZ_RARE_ENEMY_MONKEY
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_MONKEY_PAIN, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
BREAK
|
||
ENDSWITCH
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_BONUS_DEATH_AUDIO(INT iEnemy)
|
||
SWITCH sCMHDZData.sEnemyData[iEnemy].iEnemyType
|
||
CASE CMHDZ_RARE_ENEMY_BUNNY
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_BUNNYGIRL_DEATH, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Bunny_Kill)
|
||
|
||
CMHDZ_SET_LEVEL_BIT_FOR_LEVEL(sCMHDZData.eCurrentLevel, CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_BUNNY_KILL)
|
||
|
||
BREAK
|
||
|
||
CASE CMHDZ_RARE_ENEMY_MONKEY
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_MONKEY_DEATH, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Monkey_Kill)
|
||
CMHDZ_SET_LEVEL_BIT_FOR_LEVEL(sCMHDZData.eCurrentLevel, CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_MONKEY_KILL)
|
||
BREAK
|
||
|
||
CASE CMHDZ_RARE_ENEMY_RAT
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_RAT_DEATH, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Critter_Kill)
|
||
BREAK
|
||
ENDSWITCH
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_PLAY_BONUS_MISSED_AUDIO(INT iEnemy)
|
||
SWITCH sCMHDZData.sEnemyData[iEnemy].iEnemyType
|
||
CASE CMHDZ_RARE_ENEMY_BUNNY
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_BUNNYGIRL_MISSED, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
BREAK
|
||
|
||
CASE CMHDZ_RARE_ENEMY_MONKEY
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE(CMHDZ_AUDIO_EFFECT_MONKEY_MISSED, sCMHDZData.sEnemyData[iEnemy].vSpritePos)
|
||
BREAK
|
||
ENDSWITCH
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_SOUND_LOOPING(CMHDZ_AUDIO_EFFECT effect, VECTOR_2D pos)
|
||
IF CMHDZ_HAS_SOUND_FINISHED(effect)
|
||
CMHDZ_PLAY_SOUND(effect, pos)
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_PLAY_SOUND_LOOPING_NO_POSITION(CMHDZ_AUDIO_EFFECT effect)
|
||
IF CMHDZ_HAS_SOUND_FINISHED(effect)
|
||
CMHDZ_PLAY_SOUND(effect, INIT_VECTOR_2D(0.0, 0.0))
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_HANDLE_LOOPING_AUDIO()
|
||
//-- Replaced with level select dialogue
|
||
//CMHDZ_HANDLE_DIRECTOR_ONE_OFF_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Level_Start)
|
||
IF sCMHDZData.iFade = 0
|
||
IF (sCMHDZData.fSoundGlitchLevel > 0.0)
|
||
CMHDZ_PLAY_SOUND_LOOPING_NO_POSITION(CMHDZ_AUDIO_EFFECT_LEVEL_BACKGROUND_LOOP)
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[CMHDZ_AUDIO_EFFECT_LEVEL_BACKGROUND_LOOP],"GlitchLevel",sCMHDZData.fSoundGlitchLevel)
|
||
ELSE
|
||
SET_VARIABLE_ON_SOUND(sCMHDZData.iSoundId[CMHDZ_AUDIO_EFFECT_LEVEL_BACKGROUND_LOOP],"GlitchLevel",0.0)
|
||
ENDIF
|
||
ENDIF
|
||
|
||
// IF sCMHDZData.iSoundId[CMHDZ_AUDIO_EFFECT_DRAW] = -1
|
||
// IF CMHDZ_HAS_SOUND_FINISHED(CMHDZ_AUDIO_EFFECT_GET_READY)
|
||
// IF sCMHDZData.iDrawAudioTimer = 0
|
||
// sCMHDZData.iDrawAudioTimer = GET_GAME_TIMER()
|
||
// ELIF GET_GAME_TIMER() - sCMHDZData.iDrawAudioTimer > 250
|
||
// CMHDZ_PLAY_SOUND_NO_POSITION(CMHDZ_AUDIO_EFFECT_DRAW)
|
||
// ENDIF
|
||
// ENDIF
|
||
// ENDIF
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_HAVE_ALL_PLAYER_DAMAGE_AUDIO_EFFECTS_FINISHED()
|
||
RETURN (CMHDZ_HAS_SOUND_FINISHED(CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_VERY_LOW)
|
||
AND CMHDZ_HAS_SOUND_FINISHED(CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_LOW)
|
||
AND CMHDZ_HAS_SOUND_FINISHED(CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_MEDIUM)
|
||
AND CMHDZ_HAS_SOUND_FINISHED(CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_HIGH))
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_PLAY_PLAYER_TAKE_DAMAGE_AUDIO(FLOAT fNewHealth)
|
||
IF fNewHealth <= 0.0
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_HAVE_ALL_PLAYER_DAMAGE_AUDIO_EFFECTS_FINISHED()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_PLAY_PLAYER_TAKE_DAMAGE_AUDIO] {DSW} fNewHealth: ", fNewHealth)
|
||
|
||
IF fNewHealth >= 0.7
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_HIGH)
|
||
ELIF fNewHealth >= 0.5
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_MEDIUM)
|
||
ELIF fNewHealth >= 0.2
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_LOW)
|
||
ELIF fNewHealth > 0.0
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_PLAYER_HEALTH_VERY_LOW)
|
||
ENDIF
|
||
ELSE
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_PLAY_PLAYER_TAKE_DAMAGE_AUDIO] {DSW} Not playing as previous not finished. fNewHealth: ", fNewHealth)
|
||
|
||
ENDIF
|
||
|
||
// Director audio
|
||
IF fNewHealth < 0.7
|
||
CMHDZ_HANDLE_DIRECTOR_ONE_OFF_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Damage)
|
||
ENDIF
|
||
|
||
IF fNewHealth < 0.3
|
||
CMHDZ_HANDLE_DIRECTOR_ONE_OFF_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Player_Near_Death)
|
||
ENDIF
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_SET_CURRENT_TIMESTEP()
|
||
sCMHDZData.fCurrentTimeStep = (TO_FLOAT(ciBASE_FPS) / (1.0 / GET_FRAME_TIME()))
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_SET_CURRENT_TIMESTEP] fCurrentTimeStep: ", sCMHDZData.fCurrentTimeStep)
|
||
ENDPROC
|
||
|
||
FUNC FLOAT CMHDZ_GET_DEFAULT_TIMESTEP()
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
IF (sCMHDZData.bDebugPause)
|
||
RETURN 0.0
|
||
ENDIF
|
||
#ENDIF
|
||
RETURN sCMHDZData.fCurrentTimeStep
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_RETICULE_UPDATE()
|
||
RETURN sCMHDZData.fCurrentTimeStep
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_DEFAULT_UPDATE()
|
||
RETURN cfCMHDZ_DEFAULT_PIXEL_UPDATE * CMHDZ_GET_DEFAULT_TIMESTEP()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_ENEMY_SHOOTING_UPDATE()
|
||
RETURN CMHDZ_GET_DEFAULT_UPDATE()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_ENEMY_DYING_UPDATE()
|
||
RETURN CMHDZ_GET_DEFAULT_UPDATE()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_ENEMY_WAITING_UPDATE()
|
||
RETURN CMHDZ_GET_DEFAULT_UPDATE()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_FX_UPDATE()
|
||
RETURN CMHDZ_GET_DEFAULT_UPDATE()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_PROJECTILE_UPDATE()
|
||
RETURN CMHDZ_GET_DEFAULT_UPDATE()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_BACKGROUND_TILE_UPDATE()
|
||
RETURN CMHDZ_GET_DEFAULT_UPDATE() * sCMHDZData.fBackgroundSpeedMult
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_ITEM_UPDATE()
|
||
RETURN CMHDZ_GET_DEFAULT_UPDATE()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_CUSTOM_FAST_NEAR_BACKGROUND_ELEMENT_UPDATE()
|
||
RETURN CMHDZ_GET_DEFAULT_UPDATE() * sCMHDZData.fBackgroundSpeedMult
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_GENERAL_UPDATE()
|
||
// FLOAT fDist = 4.0 * (30.0 / (1.0 / GET_FRAME_TIME()))
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_GET_GENERAL_UPDATE] Update: ", fDist)
|
||
RETURN CMHDZ_GET_DEFAULT_UPDATE()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_CLOUD_UPDATE()
|
||
RETURN 1.0 * CMHDZ_GET_DEFAULT_TIMESTEP() * sCMHDZData.fBackgroundSpeedMult
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_BACKGROUND_ELEMENT_UPDATE()
|
||
RETURN 2.0 * CMHDZ_GET_DEFAULT_TIMESTEP() * sCMHDZData.fBackgroundSpeedMult
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_CUSTOM_SLOW_NEAR_BACKGROUND_ELEMENT_UPDATE()
|
||
RETURN 2.5 * CMHDZ_GET_DEFAULT_TIMESTEP() * sCMHDZData.fBackgroundSpeedMult
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_DEFAULT_NEAR_BACKGROUND_ELEMENT_UPDATE()
|
||
RETURN 3.0 * CMHDZ_GET_DEFAULT_TIMESTEP() * sCMHDZData.fBackgroundSpeedMult
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_COVER_FOREGROUND_UPDATE()
|
||
RETURN 12.0 * CMHDZ_GET_DEFAULT_TIMESTEP()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_ENEMY_FOREGROUND_UPDATE(BOOL bReverse)
|
||
IF bReverse
|
||
RETURN 6.0 * CMHDZ_GET_DEFAULT_TIMESTEP()
|
||
ENDIF
|
||
|
||
RETURN 10.0 * CMHDZ_GET_DEFAULT_TIMESTEP()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_ENEMY_MIDDLE_UPDATE(BOOL bReverse)
|
||
IF bReverse
|
||
RETURN 11.0 * CMHDZ_GET_DEFAULT_TIMESTEP()
|
||
ENDIF
|
||
|
||
RETURN 15.0 * CMHDZ_GET_DEFAULT_TIMESTEP()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_ENEMY_BACKGROUND_UPDATE(BOOL bReverse)
|
||
IF bReverse
|
||
RETURN 16.0 * CMHDZ_GET_DEFAULT_TIMESTEP()
|
||
ENDIF
|
||
|
||
RETURN 20.0 * CMHDZ_GET_DEFAULT_TIMESTEP()
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_BOSS_BACKGROUND_UPDATE(INT iFrameTime)
|
||
//RETURN ((150/iFrameTime) * CMHDZ_GET_ENEMY_BACKGROUND_UPDATE(FALSE))
|
||
RETURN ((150/iFrameTime) * (sCMHDZData.fCurrentTimeStep*12.0))
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_BOSS_MIDDLE_UPDATE(INT iFrameTime)
|
||
RETURN ((150/iFrameTime) * (sCMHDZData.fCurrentTimeStep*16.0))
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_ENEMY_TYPE_THROWING_ENEMY(CMHDZ_ENEMY_TYPES eType)
|
||
SWITCH (eType)
|
||
CASE CMHDZ_THROWING_ENEMY_1
|
||
CASE CMHDZ_THROWING_ENEMY_2
|
||
CASE CMHDZ_THROWING_ENEMY_3
|
||
CASE CMHDZ_THROWING_ENEMY_4
|
||
CASE CMHDZ_THROWING_ENEMY_5
|
||
RETURN TRUE
|
||
ENDSWITCH
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_ENEMY_TYPE_FOREGROUND_ENEMY(CMHDZ_ENEMY_TYPES eType)
|
||
SWITCH (eType)
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T1_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T2_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T3_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T4_2
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_1
|
||
CASE CMHDZ_FOREGROUND_ENEMY_T5_2
|
||
// CASE CMHDZ_FOREGROUND_ENEMY_BEAR
|
||
RETURN TRUE
|
||
ENDSWITCH
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_BACKGROUND_TILES_DATA_SET_RENDERING(INT iData, BOOL bRender)
|
||
IF (bRender)
|
||
SET_BIT(sCMHDZData.iBackgroundTilesDataRenderingBits, iData)
|
||
ELSE
|
||
CLEAR_BIT(sCMHDZData.iBackgroundTilesDataRenderingBits, iData)
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_BACKGROUND_TILES_DATA_IS_RENDERING(INT iData)
|
||
RETURN IS_BIT_SET(sCMHDZData.iBackgroundTilesDataRenderingBits, iData)
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_BACKGROUND_DATA_SET_RENDERING(INT iData, BOOL bRender)
|
||
INT ind = iData / 32
|
||
INT iBit = iData % 32
|
||
|
||
IF (bRender)
|
||
SET_BIT(sCMHDZData.iBackgroundDataRenderingBits[ind], iBit)
|
||
ELSE
|
||
CLEAR_BIT(sCMHDZData.iBackgroundDataRenderingBits[ind], iBit)
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_BACKGROUND_DATA_IS_RENDERING(INT iData)
|
||
INT ind = iData / 32
|
||
INT iBit = iData % 32
|
||
RETURN IS_BIT_SET(sCMHDZData.iBackgroundDataRenderingBits[ind], iBit)
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_COVER_DATA_SET_BIT_BY_BOOL(INT iCover, CMHDZ_COVER_DATA_BITS bit, BOOL bOn = TRUE)
|
||
IF (bOn)
|
||
SET_BITMASK_ENUM_AS_ENUM(sCMHDZData.sCoverData[iCover].eDataBits, bit)
|
||
ELSE
|
||
CLEAR_BITMASK_ENUM_AS_ENUM(sCMHDZData.sCoverData[iCover].eDataBits, bit)
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_COVER_DATA_SET_BITMASK(INT iCover, CMHDZ_COVER_DATA_BITS bit)
|
||
SET_BITMASK_ENUM_AS_ENUM(sCMHDZData.sCoverData[iCover].eDataBits, bit)
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_COVER_DATA_CLEAR_BITMASK(INT iCover, CMHDZ_COVER_DATA_BITS bit)
|
||
CLEAR_BITMASK_ENUM_AS_ENUM(sCMHDZData.sCoverData[iCover].eDataBits, bit)
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_COVER_DATA_IS_BITMASK_SET(INT iCover, CMHDZ_COVER_DATA_BITS bit)
|
||
RETURN IS_BITMASK_ENUM_AS_ENUM_SET(sCMHDZData.sCoverData[iCover].eDataBits, bit)
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_SET_RESULT_SCREEN_STATE(CMHDZ_RESULT_SCREEN_STATE st)
|
||
sCMHDZData.eResultState = st
|
||
// //CPRINTLN(DEBUG_MINIGAME, "CMHDZ_SET_RESULT_SCREEN_STATE SET TO:", CMHDZ_RESULT_SCREEN_STATE_TO_STRING(st))
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_INIT_COLOUR_STRUCTS()
|
||
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaBlack, 0, 0, 0, 255)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaRed, 132, 36, 52, 155)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaRedText, 255, 0, 0, 255)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaEnemyShot, 200, 30, 30, 255)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaSprite, 255, 255, 255, 255)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaWhite, 255, 255, 255, 255)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaWhiteSafe, 210, 200, 200, 255)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaGreen, 0, 255,0, 255)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaBlue, 0, 0, 255, 255)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaYellow, 255, 255,0, 255)
|
||
INIT_RGBA_STRUCT(sCMHDZData.rgbaSpriteUsedBullet, 255, 255, 255, 100)
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_INIT_GLOBALS()
|
||
sCMHDZData.vTextScale = INIT_VECTOR_2D(1, 1)
|
||
ENDPROC
|
||
|
||
// Items
|
||
PROC CMHDZ_ADD_MENU_OPTION_TO_LIST(VECTOR_2D vPos, CMHDZ_MENU_OPTIONS eOption, CMHDZ_ARCADE_CLIENT_STATE eScreen)
|
||
|
||
sCMHDZData.sMenuOptionsData[sCMHDZData.iNumberOfMenuOptions].vSpritePos = vPos
|
||
//sCMHDZData.sMenuOptionsData[sCMHDZData.iNumberOfMenuOptions].vSize = vSize
|
||
sCMHDZData.sMenuOptionsData[sCMHDZData.iNumberOfMenuOptions].eMenuOption = eOption
|
||
sCMHDZData.sMenuOptionsData[sCMHDZData.iNumberOfMenuOptions].eClientState = eScreen
|
||
|
||
sCMHDZData.iNumberOfMenuOptions ++
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_INIT_MENU_OPTIONS()
|
||
|
||
CMHDZ_ADD_MENU_OPTION_TO_LIST(INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/2, (cfBASE_SCREEN_HEIGHT/6*4) + 60), CMHDZ_START, CMHDZ_ARCADE_CLIENT_STATE_TITLE_SCREEN)
|
||
CMHDZ_ADD_MENU_OPTION_TO_LIST(INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/2, (cfBASE_SCREEN_HEIGHT/6*4) + 130), CMHDZ_SCORES, CMHDZ_ARCADE_CLIENT_STATE_TITLE_SCREEN)
|
||
|
||
CMHDZ_ADD_MENU_OPTION_TO_LIST(INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/10*3, cfBASE_SCREEN_HEIGHT/8*3), CMHDZ_WANTED_1, CMHDZ_ARCADE_CLIENT_STATE_LEVEL_SELECTION_MENU)
|
||
CMHDZ_ADD_MENU_OPTION_TO_LIST(INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/10*5, cfBASE_SCREEN_HEIGHT/8*3), CMHDZ_WANTED_2, CMHDZ_ARCADE_CLIENT_STATE_LEVEL_SELECTION_MENU)
|
||
CMHDZ_ADD_MENU_OPTION_TO_LIST(INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/10*7, cfBASE_SCREEN_HEIGHT/8*3), CMHDZ_WANTED_3, CMHDZ_ARCADE_CLIENT_STATE_LEVEL_SELECTION_MENU)
|
||
CMHDZ_ADD_MENU_OPTION_TO_LIST(INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/10*4, cfBASE_SCREEN_HEIGHT/8*6), CMHDZ_WANTED_4, CMHDZ_ARCADE_CLIENT_STATE_LEVEL_SELECTION_MENU)
|
||
CMHDZ_ADD_MENU_OPTION_TO_LIST(INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/10*6, cfBASE_SCREEN_HEIGHT/8*6), CMHDZ_WANTED_5, CMHDZ_ARCADE_CLIENT_STATE_LEVEL_SELECTION_MENU)
|
||
|
||
CMHDZ_ADD_MENU_OPTION_TO_LIST(INIT_VECTOR_2D((cfBASE_SCREEN_WIDTH/2.0), (cfBASE_SCREEN_HEIGHT * 0.5) + 120), CMHDZ_REWIND, CMHDZ_ARCADE_CLIENT_STATE_GAME_OVER)
|
||
CMHDZ_ADD_MENU_OPTION_TO_LIST(INIT_VECTOR_2D((cfBASE_SCREEN_WIDTH/2.0), (cfBASE_SCREEN_HEIGHT * 0.5) + 190), CMHDZ_EJECT, CMHDZ_ARCADE_CLIENT_STATE_GAME_OVER)
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_INIT_MENU()
|
||
|
||
CMHDZ_INIT_MENU_OPTIONS()
|
||
sCMHDZData.eCurrentLevel = CMHDZ_LEVEL_CITY
|
||
sCMHDZData.sPlayerData[0].vSpriteInitReticlePos = INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/2, (cfBASE_SCREEN_HEIGHT/2)+244)
|
||
sCMHDZData.sPlayerData[0].vSpriteFinalReticlePos = INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/2, (cfBASE_SCREEN_HEIGHT/2)+244)
|
||
|
||
sCMHDZData.sControlTimer.control = FRONTEND_CONTROL
|
||
sCMHDZData.sControlTimer.action = INPUT_FRONTEND_CANCEL //INPUT_SCRIPT_RRIGHT
|
||
|
||
sCMHDZData.sPcQuitTimer.control = FRONTEND_CONTROL
|
||
sCMHDZData.sPcQuitTimer.action = INPUT_FRONTEND_DELETE
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_INIT_BOSS_STRUCT()
|
||
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[BAZ] CMHDZ_INIT_BOSS_STRUCT - Running this frame")
|
||
sCMHDZData.sBossData.eCurrentBossState = CMHDZ_BOSS_STATE_INACTIVE
|
||
sCMHDZData.sBossData.fAnimTimer = 0.0
|
||
sCMHDZData.sBossData.fHealth = cfBOSS_MaxHealth
|
||
|
||
sCMHDZData.sBossData.fStateChangeTimer = 0.0
|
||
sCMHDZData.sBossData.fTimeToThrow = GET_RANDOM_FLOAT_IN_RANGE(1800.0, 3000.0)
|
||
sCMHDZData.sBossData.iAnimFrame = 0
|
||
sCMHDZData.sBossData.vSpritePos = INIT_VECTOR_2D(960, (1080.0 + 300.0))
|
||
sCMHDZData.sBossData.vScale = INIT_VECTOR_2D(300, 400)
|
||
|
||
INIT_RGBA_STRUCT(sCMHDZData.sBossData.rgbaColor, 255, 255, 255)
|
||
|
||
CLEAR_BITMASK_ENUM_AS_ENUM(sCMHDZData.sBossData.eDataBits, CMHDZ_BOSS_DATA_BITS_SPAWNED_ENEMIES_1)
|
||
CLEAR_BITMASK_ENUM_AS_ENUM(sCMHDZData.sBossData.eDataBits, CMHDZ_BOSS_DATA_BITS_SPAWNED_ENEMIES_2)
|
||
CLEAR_BITMASK_ENUM_AS_ENUM(sCMHDZData.sBossData.eDataBits, CMHDZ_BOSS_DATA_BITS_REVERSE)
|
||
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_IS_POSITION_OVER_MENU_OPTION(VECTOR_2D vPos, CMHDZ_MENU_OPTIONS eOption)
|
||
FLOAT x1, x2, y1, y2
|
||
|
||
FLOAT fSizeX = 72.0
|
||
FLOAT fSizeY = 30.0
|
||
|
||
SWITCH eOption
|
||
CASE CMHDZ_WANTED_1
|
||
CASE CMHDZ_WANTED_2
|
||
CASE CMHDZ_WANTED_3
|
||
CASE CMHDZ_WANTED_4
|
||
CASE CMHDZ_WANTED_5
|
||
fSizeX = (276/2.0)
|
||
fSizeY = (376/2.0)
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
x1 = sCMHDZData.sMenuOptionsData[eOption].vSpritePos.x - fSizeX
|
||
y1 = sCMHDZData.sMenuOptionsData[eOption].vSpritePos.y - fSizeY
|
||
x2 = sCMHDZData.sMenuOptionsData[eOption].vSpritePos.x + fSizeX
|
||
y2 = sCMHDZData.sMenuOptionsData[eOption].vSpritePos.y + fSizeY
|
||
|
||
RETURN (vPos.X > x1 AND vPos.x < x2) AND (vPos.y > y1 AND vPos.Y < y2)
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_SET_PLAYER_NO_CHAIN_SCORE(INT iValue)
|
||
sCMHDZData.sPlayerData[0].iScoreNoChain = iValue
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SET_PLAYER_NO_CHAIN_SCORE] Value: ", iValue)
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_RESET_PLAYER_CHAINED_SCORE()
|
||
sCMHDZData.sPlayerData[0].iChainedScore = 0
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_RESET_PLAYER_CHAINED_SCORE] Called")
|
||
|
||
ENDPROC
|
||
|
||
|
||
|
||
FUNC INT CMHDZ_GET_PLAYER_NO_CHAIN_SCORE()
|
||
RETURN sCMHDZData.sPlayerData[0].iScoreNoChain
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_SET_PREVIOUS_TARGET_SCORE(INT iValue)
|
||
sCMHDZData.sPlayerData[0].iPreviousTargetScore = iValue
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SET_PREVIOUS_TARGET_SCORE] Value: ", iValue)
|
||
ENDPROC
|
||
|
||
FUNC INT CMHDZ_GET_PREVIOUS_TARGET_SCORE()
|
||
RETURN sCMHDZData.sPlayerData[0].iPreviousTargetScore
|
||
ENDFUNC
|
||
|
||
|
||
FUNC CMHDZ_LEVELS CMHDZ_GET_CURRENT_LEVEL()
|
||
RETURN sCMHDZData.eCurrentLevel
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_CURRENT_LEVEL_AS_INT()
|
||
RETURN ENUM_TO_INT(CMHDZ_GET_CURRENT_LEVEL())
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_RESET_PLAYER_SUCCESSIVE_HITS()
|
||
sCMHDZData.sPlayerData[0].iSuccessiveHits = 0
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_RESET_PLAYER_SUCCESSIVE_HITS] Called")
|
||
CMHDZ_RESET_PLAYER_CHAINED_SCORE()
|
||
CMHDZ_SET_PLAYER_NO_CHAIN_SCORE(playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[CMHDZ_GET_CURRENT_LEVEL_AS_INT()])
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_INIT_PLAYERS()
|
||
|
||
sCMHDZData.sPlayerData[0].vSpriteInitReticlePos = INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/2.0, cfBASE_SCREEN_HEIGHT/2.0) // INIT_VECTOR_2D(300, 500)
|
||
sCMHDZData.sPlayerData[0].vSpriteFinalReticlePos = INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/2.0, cfBASE_SCREEN_HEIGHT/2.0) // INIT_VECTOR_2D(300, 500)
|
||
sCMHDZData.sPlayerData[0].iPlayerBitset = 0
|
||
sCMHDZData.sPlayerData[0].iInvulnerableTimer = 0
|
||
sCMHDZData.sPlayerData[0].iQuadDamageTimer = 0
|
||
sCMHDZData.sPlayerData[0].iHideReticuleTimer = 0
|
||
sCMHDZData.sPlayerData[0].iDeadTime = 0
|
||
sCMHDZData.sPlayerData[0].iNoAmmoTimer = 0
|
||
sCMHDZData.sPlayerData[0].iDamageScreen = 0
|
||
CDEBUG2LN(DEBUG_MINIGAME, "CMHDZ_INIT_PLAYERS - sCMHDZData.sPlayerData[0].vSpriteInitReticlePos.X = ", sCMHDZData.sPlayerData[0].vSpriteInitReticlePos.x)
|
||
CMHDZ_RESET_PLAYER_SUCCESSIVE_HITS()
|
||
|
||
|
||
ENDPROC
|
||
|
||
FUNC VECTOR_2D CMHDZ_GET_PLAYER_RETICULE_POSITON()
|
||
RETURN INIT_VECTOR_2D(sCMHDZData.sPlayerData[0].vSpriteFinalReticlePos.x, sCMHDZData.sPlayerData[0].vSpriteFinalReticlePos.y)
|
||
ENDFUNC
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Player weapons
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
|
||
FUNC CMHDZ_PLAYER_WEAPON GET_PLAYER_DEFAULT_WEAPON()
|
||
RETURN CMHDZ_PLAYER_WEAPON_REVOLVER
|
||
ENDFUNC
|
||
|
||
FUNC CMHDZ_PLAYER_WEAPON CMHDZ_GET_PLAYER_SPECIAL_WEAPON()
|
||
RETURN sCMHDZData.sPlayerData[0].activeWeapon
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_DOES_PLAYER_HAVE_SPECIAL_WEAPON()
|
||
RETURN CMHDZ_GET_PLAYER_SPECIAL_WEAPON() != CMHDZ_PLAYER_WEAPON_NONE
|
||
ENDFUNC
|
||
|
||
FUNC CMHDZ_PLAYER_WEAPON CMHDZ_GET_PLAYER_CURRENT_WEAPON()
|
||
IF CMHDZ_DOES_PLAYER_HAVE_SPECIAL_WEAPON()
|
||
RETURN CMHDZ_GET_PLAYER_SPECIAL_WEAPON()
|
||
ENDIF
|
||
|
||
RETURN GET_PLAYER_DEFAULT_WEAPON()
|
||
ENDFUNC
|
||
|
||
|
||
FUNC CMHDZ_PLAYER_WEAPON_DATA CMHDZ_GET_PLAYER_WEAPON_DATA(CMHDZ_PLAYER_WEAPON weapon)
|
||
CMHDZ_PLAYER_WEAPON_DATA data
|
||
|
||
SWITCH weapon
|
||
CASE CMHDZ_PLAYER_WEAPON_NONE
|
||
data.iClipSize = 0 // Amount of ammo in clip
|
||
data.iMaxAmmo = 0 // Max amount of ammo
|
||
data.iMaxEnemyImpacts = 0 // Maximum number of enemies that can be hit with one shot
|
||
data.fSpreadModifier = 0.0 // A way to indicate the 'spread' of the weapon. E.g. Shotgun has large spread
|
||
data.iMinTimeBetweenShots = 0
|
||
data.iMinTimeReloadSingleBullet = 0
|
||
data.iMinDamagePerShot = 0
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_REVOLVER
|
||
data.iClipSize = 6
|
||
data.iMaxAmmo = ciCMHDZ_PLAYER_START_AMMO
|
||
data.iMaxEnemyImpacts = 1
|
||
data.fSpreadModifier = 1.0
|
||
|
||
// Add controller compensation for the bullet spread
|
||
IF IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
||
data.fSpreadModifier = 1.0
|
||
ELSE
|
||
data.fSpreadModifier = 135.0
|
||
ENDIF
|
||
|
||
data.iMinTimeBetweenShots = 5
|
||
data.iMinDamagePerShot = 7
|
||
data.iMinTimeReloadSingleBullet = 100
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_SHOTGUN
|
||
data.iClipSize = 4
|
||
data.iMaxAmmo = 20
|
||
data.iMaxEnemyImpacts = 5
|
||
//data.fSpreadModifier = 350.0
|
||
|
||
// Add controller compensation for the bullet spread
|
||
IF IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
||
data.fSpreadModifier = 125.0
|
||
ELSE
|
||
data.fSpreadModifier = 175.0
|
||
ENDIF
|
||
|
||
data.iMinTimeBetweenShots = 600
|
||
data.iMinDamagePerShot = 20
|
||
data.iMinTimeReloadSingleBullet = 250
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_NAILGUN
|
||
data.iClipSize = 60
|
||
data.iMaxAmmo = 60 // Anything over 99 is 'infinite'
|
||
data.iMaxEnemyImpacts = 1
|
||
//data.fSpreadModifier = 1.0
|
||
// Add controller compensation for the bullet spread
|
||
IF IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
||
data.fSpreadModifier = 1.0
|
||
ELSE
|
||
data.fSpreadModifier = 130.0
|
||
ENDIF
|
||
|
||
data.iMinTimeBetweenShots = 0
|
||
data.iMinDamagePerShot = 5
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_RIFLE
|
||
data.iClipSize = 5
|
||
data.iMaxAmmo = 25 // Anything over 99 is 'infinite'
|
||
data.iMaxEnemyImpacts = 1
|
||
//data.fSpreadModifier = 1.0
|
||
// Add controller compensation for the bullet spread
|
||
IF IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
||
data.fSpreadModifier = 1.0
|
||
ELSE
|
||
data.fSpreadModifier = 120.0
|
||
ENDIF
|
||
|
||
data.iMinTimeBetweenShots = 0
|
||
data.iMinDamagePerShot = 15
|
||
data.iMinTimeReloadSingleBullet = 200
|
||
BREAK
|
||
|
||
DEFAULT
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_GET_PLAYER_WEAPON_DATA] ************* NO WEAPON DATA weapon: ", CMHDZ_PLAYER_WEAPON_TO_STRING(weapon), " Int: ", ENUM_TO_INT(weapon))
|
||
#ENDIF
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
RETURN data
|
||
ENDFUNC
|
||
|
||
|
||
|
||
|
||
FUNC INT CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_WEAPON_TYPE(CMHDZ_PLAYER_WEAPON_TYPE type)
|
||
INT iAmmo = sCMHDZData.sPlayerData[0].weaponData[type].iAmmoInClip
|
||
|
||
RETURN iAmmo
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_PLAYER_TOTAL_AMMO_FOR_WEAPON_TYPE(CMHDZ_PLAYER_WEAPON_TYPE type, BOOL bIncludeClip = FALSE)
|
||
INT iTotal = sCMHDZData.sPlayerData[0].weaponData[type].iTotalAmmo
|
||
|
||
IF bIncludeClip
|
||
iTotal += CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_WEAPON_TYPE(type)
|
||
ENDIF
|
||
|
||
RETURN iTotal
|
||
ENDFUNC
|
||
|
||
|
||
FUNC INT GET_PLAYER_TOTAL_AMMO_FOR_ALL_WEAPON_TYPES()
|
||
INT i, iTotal
|
||
|
||
REPEAT CMHDZ_PLAYER_WEAPON_TYPE_MAX i
|
||
iTotal += CMHDZ_GET_PLAYER_TOTAL_AMMO_FOR_WEAPON_TYPE(INT_TO_ENUM(CMHDZ_PLAYER_WEAPON_TYPE, i))
|
||
ENDREPEAT
|
||
|
||
RETURN iTotal
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_DOES_PLAYER_WEAPON_HAVE_INFINITE_AMMO(CMHDZ_PLAYER_WEAPON weapon)
|
||
// debug hack so I can test game in edit mode
|
||
#IF IS_DEBUG_BUILD
|
||
#IF CMHDZ_CMDLINE_EDITOR_NEW
|
||
IF (sCMHDZData.sEditor.bPlayStage)
|
||
RETURN TRUE
|
||
ENDIF
|
||
#ENDIF
|
||
#ENDIF
|
||
|
||
IF weapon = CMHDZ_PLAYER_WEAPON_REVOLVER
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
// IF weapon = CMHDZ_PLAYER_WEAPON_NAILGUN
|
||
// RETURN TRUE
|
||
// ENDIF
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_DOES_PLAYER_CURRENT_WEAPON_HAVE_INFINITE_AMMO()
|
||
RETURN CMHDZ_DOES_PLAYER_WEAPON_HAVE_INFINITE_AMMO(CMHDZ_GET_PLAYER_CURRENT_WEAPON())
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_PLAYER_CURRENT_WEAPON_CLIP_SIZE()
|
||
CMHDZ_PLAYER_WEAPON weapon = CMHDZ_GET_PLAYER_CURRENT_WEAPON()
|
||
CMHDZ_PLAYER_WEAPON_DATA data = CMHDZ_GET_PLAYER_WEAPON_DATA(weapon)
|
||
|
||
RETURN data.iClipSize
|
||
ENDFUNC
|
||
FUNC INT CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_CURRENT_WEAPON()
|
||
RETURN CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_WEAPON_TYPE(sCMHDZData.sPlayerData[0].weaponType)
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_PLAYER_TOTAL_AMMO_IN_CURRENT_WEAPON(BOOL bIncludeInClip = FALSE)
|
||
RETURN CMHDZ_GET_PLAYER_TOTAL_AMMO_FOR_WEAPON_TYPE(sCMHDZData.sPlayerData[0].weaponType, bIncludeInClip)
|
||
ENDFUNC
|
||
|
||
|
||
PROC CMHDZ_STOP_LOOPING_WEAPON_AUDIO()
|
||
|
||
CMHDZ_STOP_SOUND(CMHDZ_AUDIO_EFFECT_RIFLE_FIRE)
|
||
CMHDZ_STOP_SOUND(CMHDZ_AUDIO_EFFECT_RAT_IDLE_LOOP)
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_HANDLE_PLAYER_SHOOTING_AUDIO(BOOL bInMenu = FALSE)
|
||
|
||
IF bInMenu
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_Shoot_Option)
|
||
EXIT
|
||
ENDIF
|
||
|
||
CMHDZ_PLAYER_WEAPON weapon = CMHDZ_GET_PLAYER_CURRENT_WEAPON()
|
||
INT iAmmoInClip = CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_CURRENT_WEAPON()
|
||
|
||
IF iAmmoInClip > 0
|
||
SWITCH weapon
|
||
CASE CMHDZ_PLAYER_WEAPON_REVOLVER
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_REVOLVER_FIRE)
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_RIFLE
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_RIFLE_FIRE)
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_SHOTGUN
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_SHOTGUN_FIRE)
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_NAILGUN
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_NAILGUN_FIRE)
|
||
BREAK
|
||
|
||
ENDSWITCH
|
||
ELSE // Weapon empty
|
||
SWITCH weapon
|
||
CASE CMHDZ_PLAYER_WEAPON_REVOLVER
|
||
// IF CMHDZ_HAS_SOUND_FINISHED(CMHDZ_AUDIO_EFFECT_REVOLVER_EMPTY)
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_REVOLVER_EMPTY)
|
||
// ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_RIFLE
|
||
// IF CMHDZ_HAS_SOUND_FINISHED(CMHDZ_AUDIO_EFFECT_RIFLE_EMPTY)
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_RIFLE_EMPTY)
|
||
// ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_SHOTGUN
|
||
// IF CMHDZ_HAS_SOUND_FINISHED(CMHDZ_AUDIO_EFFECT_SHOTGUN_EMPTY)
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_SHOTGUN_EMPTY)
|
||
// ENDIF
|
||
BREAK
|
||
ENDSWITCH
|
||
ENDIF
|
||
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_HANDLE_PLAYER_RELOADING_WEAPON_AUDIO(BOOL bIsFirst, BOOL bIsSingle, BOOL bIsLast)
|
||
CMHDZ_PLAYER_WEAPON weapon = CMHDZ_GET_PLAYER_CURRENT_WEAPON()
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_HANDLE_PLAYER_RELOADING_WEAPON_AUDIO] Weapon: ", CMHDZ_PLAYER_WEAPON_TO_STRING(weapon), " bIsFirst: ", bIsFirst, " bIsSingle: ", bIsSingle, " bIsLast: ", bIsLast)
|
||
#ENDIF
|
||
|
||
SWITCH weapon
|
||
CASE CMHDZ_PLAYER_WEAPON_REVOLVER
|
||
IF bIsFirst
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_FIRST)
|
||
ELIF bIsSingle
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_SINGLE)
|
||
ELIF bIsLast
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_REVOLVER_RELOAD_LAST)
|
||
ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_RIFLE
|
||
IF bIsFirst
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD_SINGLE)
|
||
ELIF bIsSingle
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD_SINGLE)
|
||
ELIF bIsLast
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_RIFLE_RELOAD_LAST)
|
||
ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_PLAYER_WEAPON_SHOTGUN
|
||
IF bIsFirst
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_SHOTGUN_RELOAD_SINGLE)
|
||
ELIF bIsSingle
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_SHOTGUN_RELOAD_SINGLE)
|
||
ELIF bIsLast
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_SHOTGUN_RELOAD_SINGLE)
|
||
ENDIF
|
||
BREAK
|
||
ENDSWITCH
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_REDUCE_PLAYER_AMMO_IN_CLIP(INT iAmount = 1)
|
||
|
||
CMHDZ_PLAYER_WEAPON_TYPE type = sCMHDZData.sPlayerData[0].weaponType
|
||
sCMHDZData.sPlayerData[0].weaponData[type].iAmmoInClip -= iAmount
|
||
|
||
IF sCMHDZData.sPlayerData[0].weaponData[type].iAmmoInClip < 0
|
||
sCMHDZData.sPlayerData[0].weaponData[type].iAmmoInClip = 0
|
||
ENDIF
|
||
|
||
IF CMHDZ_DOES_PLAYER_CURRENT_WEAPON_HAVE_INFINITE_AMMO()
|
||
EXIT
|
||
ENDIF
|
||
|
||
sCMHDZData.sPlayerData[0].weaponData[type].iTotalAmmo -= iAmount
|
||
|
||
IF sCMHDZData.sPlayerData[0].weaponData[type].iTotalAmmo <= 0
|
||
|
||
// IF sCMHDZData.sPlayerData[0].activeWeapon != CMHDZ_PLAYER_WEAPON_REVOLVER
|
||
// CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Reload)
|
||
// ENDIF
|
||
|
||
IF sCMHDZData.sPlayerData[0].weaponData[type].iTotalAmmo < 0
|
||
sCMHDZData.sPlayerData[0].weaponData[type].iTotalAmmo = 0
|
||
ENDIF
|
||
ENDIF
|
||
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_REDUCE_PLAYER_AMMO_IN_CLIP] {DSW} Weapon type: ", ENUM_TO_INT(type), " Ammo in clip now: ", sCMHDZData.sPlayerData[0].weaponData[type].iAmmoInClip, " Ammo remaining: ",sCMHDZData.sPlayerData[0].weaponData[type].iTotalAmmo)
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_SET_CURRENT_PLAYER_WEAPON_AMMO(INT iClip, INT iWeapon)
|
||
CMHDZ_PLAYER_WEAPON_TYPE weaponType = sCMHDZData.sPlayerData[0].weaponType
|
||
sCMHDZData.sPlayerData[0].weaponData[weaponType].iAmmoInClip = iClip
|
||
sCMHDZData.sPlayerData[0].weaponData[weaponType].iTotalAmmo = iWeapon
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "{DSW} [CMHDZ_SET_CURRENT_PLAYER_WEAPON_AMMO] Set ammo in clip: ", iClip, " In weapon: ", iWeapon)
|
||
ENDPROC
|
||
|
||
//PROC CMHDZ_SET_SHOULD_SHOW_RELOAD_PROMPT()
|
||
// sCMHDZData.sPlayerData[0].bShouldShowReloadPrompt = TRUE
|
||
//ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_IS_PLAYER_SHOOTING()
|
||
|
||
IF IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
||
RETURN (IS_DISABLED_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, INPUT_ATTACK))
|
||
ENDIF
|
||
|
||
RETURN (IS_DISABLED_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, INPUT_SCRIPT_RT)
|
||
OR IS_DISABLED_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT))
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_PLAYER_HOLDING_SHOOT()
|
||
|
||
IF IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
||
RETURN (IS_DISABLED_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_ATTACK))
|
||
ENDIF
|
||
|
||
RETURN (IS_DISABLED_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_SCRIPT_RT)
|
||
OR IS_DISABLED_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT))
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_PLAYER_THROWING()
|
||
|
||
IF NOT IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
||
RETURN IS_DISABLED_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, INPUT_SCRIPT_LB)
|
||
ELSE // Using keyboard
|
||
IF IS_DISABLED_CONTROL_JUST_PRESSED(PLAYER_CONTROL, INPUT_DUCK)
|
||
OR IS_DISABLED_CONTROL_JUST_PRESSED(PLAYER_CONTROL, INPUT_SPRINT)
|
||
OR IS_DISABLED_CONTROL_JUST_PRESSED(PLAYER_CONTROL, INPUT_PHONE)
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
ENDIF
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_SHOULD_SHOW_RELOAD_PROMPT()
|
||
|
||
IF CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_CURRENT_WEAPON() > 0
|
||
IF sCMHDZData.sPlayerData[0].bShouldShowReloadPrompt
|
||
sCMHDZData.sPlayerData[0].bShouldShowReloadPrompt = FALSE
|
||
sCMHDZData.sPlayerData[0].bDoneReloadEffect = FALSE
|
||
sCMHDZData.sPlayerData[0].iReloadPromptShowTime = 0
|
||
ENDIF
|
||
RETURN FALSE
|
||
ELSE
|
||
//
|
||
//
|
||
// IF CMHDZ_IS_PLAYER_SHOOTING()
|
||
// IF sCMHDZData.sPlayerData[0].iReloadPromptShowTime = 0
|
||
// sCMHDZData.sPlayerData[0].iReloadPromptShowTime = GET_GAME_TIMER()
|
||
// RETURN FALSE
|
||
// ENDIF
|
||
//
|
||
// IF GET_GAME_TIMER() - sCMHDZData.sPlayerData[0].iReloadPromptShowTime > 100
|
||
sCMHDZData.sPlayerData[0].bShouldShowReloadPrompt = TRUE
|
||
|
||
IF NOT sCMHDZData.sPlayerData[0].bDoneReloadEffect
|
||
// CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_RELOAD)
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_PLAYER_RELOAD)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Reload)
|
||
sCMHDZData.sPlayerData[0].bDoneReloadEffect = TRUE
|
||
ENDIF
|
||
// ENDIF
|
||
ENDIF
|
||
|
||
RETURN sCMHDZData.sPlayerData[0].bShouldShowReloadPrompt
|
||
ENDFUNC
|
||
|
||
/// PURPOSE:
|
||
/// Some weapons have infinite ammo
|
||
/// RETURNS:
|
||
///
|
||
FUNC BOOL CMHDZ_CAN_PLAYER_CURRNT_WEAPON_BE_RELOADED()
|
||
CMHDZ_PLAYER_WEAPON weapon = CMHDZ_GET_PLAYER_CURRENT_WEAPON()
|
||
|
||
SWITCH weapon
|
||
CASE CMHDZ_PLAYER_WEAPON_NONE
|
||
//CASE CMHDZ_PLAYER_WEAPON_NAILGUN
|
||
RETURN FALSE
|
||
ENDSWITCH
|
||
|
||
CMHDZ_PLAYER_WEAPON_DATA data = CMHDZ_GET_PLAYER_WEAPON_DATA(weapon)
|
||
INT iAmmoInClip = CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_CURRENT_WEAPON()
|
||
|
||
IF iAmmoInClip = data.iClipSize
|
||
//-- Clip full
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
RETURN TRUE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_DOES_PLAYER_NEED_TO_RELOAD()
|
||
RETURN CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_CURRENT_WEAPON() = 0
|
||
ENDFUNC
|
||
|
||
|
||
|
||
PROC CMHDZ_RELOAD_PLAYER_WEAPON()
|
||
CMHDZ_PLAYER_WEAPON_TYPE weaponType = sCMHDZData.sPlayerData[0].weaponType
|
||
//
|
||
// IF NOT CMHDZ_CAN_PLAYER_CURRNT_WEAPON_BE_RELOADED()
|
||
// IF sCMHDZData.sPlayerData[0].bIsReloading[weaponType]
|
||
// sCMHDZData.sPlayerData[0].bIsReloading[weaponType] = FALSE
|
||
// ENDIF
|
||
// EXIT
|
||
// ENDIF
|
||
|
||
CMHDZ_PLAYER_WEAPON weapon = CMHDZ_GET_PLAYER_CURRENT_WEAPON()
|
||
CMHDZ_PLAYER_WEAPON_DATA data = CMHDZ_GET_PLAYER_WEAPON_DATA(weapon)
|
||
BOOL bPlayFirst
|
||
IF sCMHDZData.sPlayerData[0].weaponData[weaponType].iReloadSingleBulletTime = 0
|
||
OR GET_GAME_TIMER() - sCMHDZData.sPlayerData[0].weaponData[weaponType].iReloadSingleBulletTime >= data.iMinTimeReloadSingleBullet
|
||
|
||
INT iAmmoInClip = CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_CURRENT_WEAPON()
|
||
INT iTotalAmmo = CMHDZ_GET_PLAYER_TOTAL_AMMO_IN_CURRENT_WEAPON(FALSE)
|
||
INT iBulletsToAdd = 1 // data.iClipSize - iAmmoInClip
|
||
|
||
IF iAmmoInClip < iTotalAmmo
|
||
IF iBulletsToAdd > iTotalAmmo
|
||
iBulletsToAdd = iTotalAmmo
|
||
ENDIF
|
||
|
||
// CMHDZ_HANDLE_PLAYER_RELOADING_WEAPON_AUDIO()
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "{DSW} [CMHDZ_RELOAD_PLAYER_WEAPON] Weapon: ", CMHDZ_PLAYER_WEAPON_TO_STRING(weapon), "In clip: ", iAmmoInClip, " Weapon size: ", data.iClipSize)
|
||
#ENDIF
|
||
|
||
|
||
bPlayFirst = (iAmmoInClip < data.iClipSize - 2) AND NOT CMHDZ_IS_PLAYER_BIT_SET(CMHDZ_PLAYER_BIT_RELOADED_FIRST_BULLET)
|
||
CMHDZ_SET_CURRENT_PLAYER_WEAPON_AMMO(iAmmoInClip+iBulletsToAdd, iTotalAmmo)
|
||
|
||
|
||
IF bPlayFirst
|
||
//- -First bullet in clip (but not also last)
|
||
CMHDZ_SET_PLAYER_BIT(CMHDZ_PLAYER_BIT_RELOADED_FIRST_BULLET)
|
||
CMHDZ_HANDLE_PLAYER_RELOADING_WEAPON_AUDIO(TRUE, FALSE, FALSE)
|
||
ELIF CMHDZ_GET_PLAYER_AMMO_IN_CLIP_FOR_CURRENT_WEAPON() = data.iClipSize
|
||
//-- Last bullet in clip
|
||
CMHDZ_HANDLE_PLAYER_RELOADING_WEAPON_AUDIO(FALSE, FALSE, TRUE)
|
||
ELSE
|
||
CMHDZ_HANDLE_PLAYER_RELOADING_WEAPON_AUDIO(FALSE, TRUE, FALSE)
|
||
ENDIF
|
||
sCMHDZData.sPlayerData[0].weaponData[weaponType].iReloadSingleBulletTime = GET_GAME_TIMER()
|
||
ENDIF
|
||
ENDIF
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_SET_PLAYER_WEAPON_TYPE(CMHDZ_PLAYER_WEAPON_TYPE type)
|
||
#IF IS_DEBUG_BUILD
|
||
// STRING sOld = CMHDZ_PLAYER_WEAPON_TYPE_TO_STRING(sCMHDZData.sPlayerData[0].weaponType)
|
||
// STRING sNew = CMHDZ_PLAYER_WEAPON_TYPE_TO_STRING(type)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "{DSW} [CMHDZ_SET_PLAYER_WEAPON_TYPE] Setting weapon type ", sOld, " -> ", sNew)
|
||
#ENDIF
|
||
sCMHDZData.sPlayerData[0].weaponType = type
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_INIT_PLAYER_SPECIAL_WEAPON()
|
||
CMHDZ_PLAYER_WEAPON weapon = sCMHDZData.sPlayerData[0].activeWeapon
|
||
CMHDZ_PLAYER_WEAPON_DATA data = CMHDZ_GET_PLAYER_WEAPON_DATA(weapon)
|
||
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL].iAmmoInClip = data.iClipSize
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL].iTotalAmmo = data.iMaxAmmo
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL].iLastShotTime = 0
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL].iReloadSingleBulletTime = 0
|
||
sCMHDZData.sPlayerData[0].bIsReloading[CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL] = FALSE
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_SET_PLAYER_SPECIAL_WEAPON(CMHDZ_PLAYER_WEAPON weapon, BOOL bSwapToSpecial = TRUE)
|
||
// #IF IS_DEBUG_BUILD
|
||
// STRING sOld = CMHDZ_PLAYER_WEAPON_TO_STRING(sCMHDZData.sPlayerData[0].activeWeapon)
|
||
// STRING sNew = CMHDZ_PLAYER_WEAPON_TO_STRING(weapon)
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "{DSW} [CMHDZ_SET_PLAYER_SPECIAL_WEAPON] Setting special weapon ", sOld, " -> ", sNew, " Swap? ", bSwapToSpecial)
|
||
// #ENDIF
|
||
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT].iLastShotTime = 0
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT].iReloadSingleBulletTime = 0
|
||
sCMHDZData.sPlayerData[0].activeWeapon = weapon
|
||
|
||
IF bSwapToSpecial
|
||
CMHDZ_SET_PLAYER_WEAPON_TYPE(CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL)
|
||
CMHDZ_INIT_PLAYER_SPECIAL_WEAPON()
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_SWAP_WEAPON)
|
||
CMHDZ_SET_LEVEL_BIT_FOR_CURRENT_LEVEL(CMHDZ_LEVELS_BIT_USED_SPECIAL_WEAPON)
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_INIT_PLAYER_WEAPON()
|
||
sCMHDZData.sPlayerData[0].weaponType = CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT
|
||
|
||
sCMHDZData.sPlayerData[0].activeWeapon = CMHDZ_PLAYER_WEAPON_NONE
|
||
|
||
CMHDZ_PLAYER_WEAPON_DATA data = CMHDZ_GET_PLAYER_WEAPON_DATA(CMHDZ_PLAYER_WEAPON_REVOLVER)
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT].iAmmoInClip = data.iClipSize
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT].iReloadSingleBulletTime = 0
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT].iTotalAmmo = ciCMHDZ_PLAYER_START_AMMO
|
||
sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT].iLastShotTime = 0
|
||
sCMHDZData.sPlayerData[0].bIsReloading[CMHDZ_PLAYER_WEAPON_TYPE_DEFAULT] = FALSE
|
||
CMHDZ_SET_PLAYER_SPECIAL_WEAPON(CMHDZ_PLAYER_WEAPON_NONE, FALSE)
|
||
CMHDZ_INIT_PLAYER_SPECIAL_WEAPON()
|
||
ENDPROC
|
||
|
||
FUNC INT CMHDZ_GET_RIVAL_PLAYER_PART_ID()
|
||
RETURN sCMHDZData.iRivalPart
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_INIT_PLAY_VARIABLES()
|
||
|
||
sCMHDZData.eLevelState = CMHDZ_PLAY
|
||
|
||
ENDPROC
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Level / Hi scores
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_SHOTS_FIRED_IN_LEVEL(CMHDZ_LEVELS eLevel)
|
||
RETURN sCMHDZData.iTotalLevelShots[eLevel]
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_SHOTS_FIRED_IN_ALL_LEVELS()
|
||
INT iTotal
|
||
INT i
|
||
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
iTotal += CMHDZ_GET_TOTAL_SHOTS_FIRED_IN_LEVEL(INT_TO_ENUM(CMHDZ_LEVELS, i))
|
||
ENDREPEAT
|
||
|
||
RETURN iTotal
|
||
ENDFUNC
|
||
|
||
|
||
FUNC INT CMHDZ_GET_CURRENT_LEVEL_SCREEN()
|
||
RETURN sCMHDZData.iCurrentScreen
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_INCREASE_SHOT_FIRED_FOR_CURRENT_LEVEL()
|
||
|
||
IF CMHDZ_GET_PLAYER_SPECIAL_WEAPON() = CMHDZ_PLAYER_WEAPON_NAILGUN
|
||
IF (sCMHDZData.sPlayerData[0].weaponData[CMHDZ_PLAYER_WEAPON_TYPE_SPECIAL].iAmmoInClip %6) = 0
|
||
sCMHDZData.iTotalLevelShots[CMHDZ_GET_CURRENT_LEVEL()]++
|
||
ENDIF
|
||
|
||
EXIT
|
||
ENDIF
|
||
|
||
sCMHDZData.iTotalLevelShots[CMHDZ_GET_CURRENT_LEVEL()]++
|
||
ENDPROC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_SHOTS_FIRED_IN_CURRENT_LEVEL()
|
||
RETURN sCMHDZData.iTotalLevelShots[CMHDZ_GET_CURRENT_LEVEL()]
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_ENEMY_HITS_FOR_LEVEL(CMHDZ_LEVELS eLevel)
|
||
RETURN sCMHDZData.iTotalLevelEnemyHits[eLevel]
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_INCREASE_ENEMY_HIT_COUNT_FOR_CURRENT_LEVEL(BOOL bHitEnemy)
|
||
|
||
IF CMHDZ_IS_LEVEL_BIT_SET_FOR_CURRENT_LEVEL(CMHDZ_LEVELS_BIT_STOPPED)
|
||
sCMHDZData.iTotalNumberOfEnemiesKilledForScreen++
|
||
ENDIF
|
||
|
||
IF bHitEnemy
|
||
EXIT
|
||
ENDIF
|
||
|
||
sCMHDZData.iTotalLevelEnemyHits[CMHDZ_GET_CURRENT_LEVEL()]++
|
||
|
||
ENDPROC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_ENEMY_HITS_FOR_CURRENT_LEVEL()
|
||
RETURN CMHDZ_GET_TOTAL_ENEMY_HITS_FOR_LEVEL(CMHDZ_GET_CURRENT_LEVEL())
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_ENEMY_HITS_FOR_ALL_LEVELS()
|
||
INT iTotal
|
||
INT i
|
||
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
iTotal += CMHDZ_GET_TOTAL_ENEMY_HITS_FOR_LEVEL(INT_TO_ENUM(CMHDZ_LEVELS, i))
|
||
ENDREPEAT
|
||
|
||
RETURN iTotal
|
||
ENDFUNC
|
||
|
||
|
||
PROC CMHDZ_INCREASE_ENEMY_HEADSHOT_COUNT_FOR_CURRENT_LEVEL()
|
||
sCMHDZData.iTotalLevelEnemyHeadShots[CMHDZ_GET_CURRENT_LEVEL()]++
|
||
ENDPROC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_NUMBER_OF_POWERUPS_COLLECTED_FOR_LEVEL(CMHDZ_LEVELS eLevel)
|
||
RETURN sCMHDZData.iTotalPowerupsCollected[eLevel]
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_NUMBER_OF_POWERUPS_COLLECTED_FOR_CURRENT_LEVEL()
|
||
RETURN CMHDZ_GET_TOTAL_NUMBER_OF_POWERUPS_COLLECTED_FOR_LEVEL(CMHDZ_GET_CURRENT_LEVEL())
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_NUMBER_OF_POWERUPS_COLLECTED_FOR_ALL_LEVELS()
|
||
INT iTotal
|
||
INT i
|
||
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
iTotal += CMHDZ_GET_TOTAL_NUMBER_OF_POWERUPS_COLLECTED_FOR_LEVEL(INT_TO_ENUM(CMHDZ_LEVELS, i))
|
||
ENDREPEAT
|
||
|
||
RETURN iTotal
|
||
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_INCREASE_POWERUPS_COLLECTED_FOR_CURRENT_LEVEL()
|
||
|
||
sCMHDZData.iTotalPowerupsCollected[CMHDZ_GET_CURRENT_LEVEL()]++
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_INCREASE_POWERUPS_COLLECTED_FOR_CURRENT_LEVEL] Powerups collected now: ",sCMHDZData.iTotalPowerupsCollected[CMHDZ_GET_CURRENT_LEVEL()], " level: ", CMHDZ_LEVELS_TO_STRING(sCMHDZData.eCurrentLevel))
|
||
#ENDIF
|
||
|
||
ENDPROC
|
||
|
||
FUNC FLOAT CMHDZ_GET_PLAYER_ACCURACY_FOR_LEVEL(CMHDZ_LEVELS level)
|
||
|
||
FLOAT fNumberOfShots = TO_FLOAT(CMHDZ_GET_TOTAL_SHOTS_FIRED_IN_LEVEL(level))
|
||
FLOAT fEnemiesShot = TO_FLOAT(CMHDZ_GET_TOTAL_ENEMY_HITS_FOR_LEVEL(level))
|
||
FLOAT fTotalHits = fEnemiesShot
|
||
|
||
IF (fTotalHits > fNumberOfShots)
|
||
fTotalHits = fNumberOfShots
|
||
ENDIF
|
||
|
||
RETURN 100.0 * (fTotalHits / fNumberOfSHots)
|
||
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_PLAYER_ACCURACY_FOR_CURRENT_LEVEL()
|
||
FLOAT fNumberOfShots = TO_FLOAT(CMHDZ_GET_TOTAL_SHOTS_FIRED_IN_CURRENT_LEVEL())
|
||
FLOAT fEnemiesShot = TO_FLOAT(CMHDZ_GET_TOTAL_ENEMY_HITS_FOR_CURRENT_LEVEL())
|
||
FLOAT fTotalHits = fEnemiesShot
|
||
|
||
IF (fTotalHits > fNumberOfShots)
|
||
fTotalHits = fNumberOfShots
|
||
ENDIF
|
||
|
||
RETURN 100.0 * (fTotalHits / fNumberOfSHots)
|
||
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_PLAYER_ACCURACY_FOR_ALL_LEVELS()
|
||
FLOAT fTotalShots = TO_FLOAT(CMHDZ_GET_TOTAL_SHOTS_FIRED_IN_ALL_LEVELS())
|
||
FLOAT fTotalEnemyHits = TO_FLOAT(CMHDZ_GET_TOTAL_ENEMY_HITS_FOR_ALL_LEVELS())
|
||
|
||
FLOAT fAccuracy = 100.0 * (fTotalEnemyHits) / fTotalShots
|
||
|
||
IF (fAccuracy > 100)
|
||
fAccuracy = 100.0
|
||
ENDIF
|
||
|
||
RETURN fAccuracy
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_PLAYER_SUCESSIVE_HITS()
|
||
RETURN sCMHDZData.sPlayerData[0].iSuccessiveHits
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_INCREASE_PLAYER_SUCCESSIVE_HITS()
|
||
sCMHDZData.sPlayerData[0].iSuccessiveHits += 1
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_INCREASE_PLAYER_SUCCESSIVE_HITS] Score mulitplier now: ", sCMHDZData.sPlayerData[0].iSuccessiveHits)
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_INCREASE_PLAYER_CHAINED_SCORE(INT iScore)
|
||
sCMHDZData.sPlayerData[0].iChainedScore += iScore
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_INCREASE_PLAYER_CHAINED_SCORE] Chained score now: ", sCMHDZData.sPlayerData[0].iChainedScore, " Chained Shots: ",CMHDZ_GET_PLAYER_SUCESSIVE_HITS() - 1 )
|
||
DEBUG_PRINTCALLSTACK()
|
||
ENDPROC
|
||
|
||
FUNC INT CMHDZ_GET_PLAYER_CHAINED_SCORE()
|
||
RETURN sCMHDZData.sPlayerData[0].iChainedScore
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_LOCAL_PLAYER_SCORE_FOR_LEVEL(INT iLevel)
|
||
RETURN playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iLevel]
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_LOCAL_PLAYER_HI_SCORE_FOR_LEVEL(INT iLevel)
|
||
RETURN playerBd[PARTICIPANT_ID_TO_INT()].iPlayerHiScore[iLevel]
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_LOCAL_PLAYER_STAR_RATING_FOR_LEVEL(INT iLevel)
|
||
RETURN playerBd[PARTICIPANT_ID_TO_INT()].fPlayerStarRating[iLevel]
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_STAR_RATING_5_FOR_ALL_LEVELS()
|
||
INT i
|
||
FOR i = 0 TO (ENUM_TO_INT(CMHDZ_MAX_LEVELS) - 1)
|
||
IF CMHDZ_GET_LOCAL_PLAYER_STAR_RATING_FOR_LEVEL(i) < 5.0
|
||
RETURN FALSE
|
||
ENDIF
|
||
ENDFOR
|
||
|
||
RETURN TRUE
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_PARTICIPANT_HI_SCORE_FOR_LEVEL_FROM_HOST(INT iPart, INT iLevel)
|
||
RETURN cmhdzServerBd.sPlayerScores[iPart].iHiScoreForLevel[iLevel]
|
||
|
||
RETURN 0
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_RIVAL_HI_SCORE_FOR_LEVEL(INT iLevel)
|
||
RETURN cmhdzServerBd.sPlayerScores[sCMHDZData.iRivalPart].iHiScoreForLevel[iLevel]
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_RIVAL_SCORE_FOR_LEVEL(INT iLevel)
|
||
RETURN cmhdzServerBd.sPlayerScores[sCMHDZData.iRivalPart].iCurrentScoreForLevel[iLevel]
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_RIVAL_STAR_RATING_FOR_LEVEL(INT iLevel)
|
||
RETURN cmhdzServerBd.sPlayerScores[sCMHDZData.iRivalPart].fStarRatingForLevel[iLevel]
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_LOCAL_PLAYER_HI_SCORE_FOR_ALL_LEVELS()
|
||
INT i, iScore
|
||
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
iScore += CMHDZ_GET_LOCAL_PLAYER_HI_SCORE_FOR_LEVEL(i)
|
||
ENDREPEAT
|
||
|
||
RETURN iScore
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_LOCAL_PLAYER_HI_SCORE()
|
||
RETURN CMHDZ_GET_LOCAL_PLAYER_HI_SCORE_FOR_LEVEL(CMHDZ_GET_CURRENT_LEVEL_AS_INT())
|
||
ENDFUNC
|
||
|
||
FUNC INT GET_LOCAL_PLAYER_SCORE()
|
||
INT iCurrentLevel = CMHDZ_GET_CURRENT_LEVEL_AS_INT()
|
||
RETURN CMHDZ_GET_LOCAL_PLAYER_SCORE_FOR_LEVEL(iCurrentLevel)
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_PARTICIPANT_WITH_HIGHEST_HI_SCORE_FOR_CURRENT_LEVEL()
|
||
INT iCurrentLevel = CMHDZ_GET_CURRENT_LEVEL_AS_INT()
|
||
INT iRivalHiScore = CMHDZ_GET_RIVAL_HI_SCORE_FOR_LEVEL(iCurrentLevel)
|
||
INT iMyHiScore = cmhdzServerBd.sPlayerScores[PARTICIPANT_ID_TO_INT()].iHiScoreForLevel[iCurrentLevel]
|
||
|
||
IF iRivalHiScore > iMyHiScore
|
||
RETURN CMHDZ_GET_RIVAL_PLAYER_PART_ID()
|
||
ENDIF
|
||
|
||
RETURN PARTICIPANT_ID_TO_INT()
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_LOCAL_PLAYER_TOTAL_SCORE()
|
||
INT i, iScore
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
iScore += CMHDZ_GET_LOCAL_PLAYER_HI_SCORE_FOR_LEVEL(i)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_GET_LOCAL_PLAYER_TOTAL_SCORE] Hi Score for level ", i, ": ", CMHDZ_GET_LOCAL_PLAYER_SCORE_FOR_LEVEL(i), " Total so far: ", iScore)
|
||
ENDREPEAT
|
||
|
||
RETURN iScore
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_SCORE_FOR_TYPE(CMHDZ_SCORE_TYPE score)
|
||
SWITCH score
|
||
CASE CMHDZ_SCORE_TYPE_ENEMY RETURN 100
|
||
CASE CMHDZ_SCORE_TYPE_ENEMY_HEADSHOT RETURN 150
|
||
CASE CMHDZ_SCORE_TYPE_ANIMAL RETURN 250
|
||
CASE CMHDZ_SCORE_TYPE_SCENERY RETURN 10
|
||
CASE CMHDZ_SCORE_TYPE_ENEMY_EXPLOSION RETURN 100
|
||
|
||
CASE CMHDZ_SCORE_TYPE_CASH RETURN 1000
|
||
CASE CMHDZ_SCORE_TYPE_TAPE RETURN 10000
|
||
CASE CMHDZ_SCORE_TYPE_BEARSY RETURN 5
|
||
CASE CMHDZ_SCORE_TYPE_BEARSY_KILL RETURN 10000
|
||
ENDSWITCH
|
||
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[GET_SCORE_FOR_TYPE] {DSW} Unknown score type")
|
||
|
||
RETURN 0
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_PARTICIPANT_HI_SCORE_FOR_LEVEL(INT iPart, INT iLevel)
|
||
IF NETWORK_IS_PARTICIPANT_ACTIVE(INT_TO_PARTICIPANTINDEX(iPart))
|
||
RETURN playerBd[iPart].iPlayerHiScore[iLevel]
|
||
ENDIF
|
||
|
||
RETURN 0
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_PARTICIPANT_SCORE_FOR_LEVEL(INT iPart, INT iLevel)
|
||
IF NETWORK_IS_PARTICIPANT_ACTIVE(INT_TO_PARTICIPANTINDEX(iPart))
|
||
RETURN playerBd[iPart].iPlayerScore[iLevel]
|
||
ENDIF
|
||
|
||
RETURN 0
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_RESET_LOCAL_PLAYER_SCORE_FOR_LEVEL(INT iLevel)
|
||
IF playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iLevel] != 0
|
||
playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iLevel] = 0
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_RESET_LOCAL_PLAYER_SCORE_FOR_LEVEL] {DSW} Called for level ", iLevel)
|
||
DEBUG_PRINTCALLSTACK()
|
||
#ENDIF
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_RESET_LOCAL_PLAYER_SCORE_FOR_CURRENT_LEVEL()
|
||
CMHDZ_RESET_LOCAL_PLAYER_SCORE_FOR_LEVEL(CMHDZ_GET_CURRENT_LEVEL_AS_INT())
|
||
ENDPROC
|
||
|
||
|
||
|
||
PROC CMHDZ_ADD_TO_LOCAL_PLAYER_SCORE(CMHDZ_SCORE_TYPE score)
|
||
INT iScoreToAdd = CMHDZ_GET_SCORE_FOR_TYPE(score)
|
||
INT iCurrentLevel = CMHDZ_GET_CURRENT_LEVEL_AS_INT()
|
||
//INT iChainBonus = 0
|
||
|
||
CMHDZ_INCREASE_PLAYER_SUCCESSIVE_HITS()
|
||
|
||
INT iHits = CMHDZ_GET_PLAYER_SUCESSIVE_HITS()
|
||
FLOAT fScoreMultiplier = 0.0
|
||
IF iHits > 1
|
||
fScoreMultiplier = TO_FLOAT(iHits) / 10.0
|
||
ENDIF
|
||
|
||
CMHDZ_INCREASE_PLAYER_CHAINED_SCORE(iScoreToAdd)
|
||
INT iChainedScore = CMHDZ_GET_PLAYER_CHAINED_SCORE()
|
||
|
||
// Director dialogue triggers.
|
||
IF iHits = 10
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak)
|
||
ENDIF
|
||
|
||
IF iHits = 15
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Long)
|
||
ENDIF
|
||
|
||
IF iHits = 25
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Kill_Streak_Extreme)
|
||
ENDIF
|
||
|
||
IF iHits = 1
|
||
playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iCurrentLevel] += iScoreToAdd
|
||
CMHDZ_SET_PREVIOUS_TARGET_SCORE(iScoreToAdd)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ADD_TO_LOCAL_PLAYER_SCORE] {dsw} No Chain. New score: ", playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iCurrentLevel])
|
||
|
||
CMHDZ_CLEAR_PLAYER_BIT(CMHDZ_PLAYER_BIT_INIT_NEW_CHAIN)
|
||
ELSE
|
||
IF NOT CMHDZ_IS_PLAYER_BIT_SET(CMHDZ_PLAYER_BIT_INIT_NEW_CHAIN)
|
||
CMHDZ_SET_PLAYER_BIT(CMHDZ_PLAYER_BIT_INIT_NEW_CHAIN)
|
||
CMHDZ_SET_PLAYER_NO_CHAIN_SCORE(playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iCurrentLevel] - CMHDZ_GET_PREVIOUS_TARGET_SCORE())
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ADD_TO_LOCAL_PLAYER_SCORE] New Chain started, storing score: ", CMHDZ_GET_PLAYER_NO_CHAIN_SCORE())
|
||
ENDIF
|
||
|
||
iScoreToAdd = iChainedScore + ROUND(TO_FLOAT(iChainedScore) * fScoreMultiplier)
|
||
playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iCurrentLevel] = CMHDZ_GET_PLAYER_NO_CHAIN_SCORE() + iScoreToAdd
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ADD_TO_LOCAL_PLAYER_SCORE] {dsw} New amount to add: ", iScoreToAdd, " Chained score: ", iChainedScore, " After multi applied: ", (iChainedScore * fScoreMultiplier), " New score: ", playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iCurrentLevel])
|
||
ENDIF
|
||
|
||
IF CMHDZ_GET_LOCAL_PLAYER_HI_SCORE() < playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iCurrentLevel]
|
||
playerBd[PARTICIPANT_ID_TO_INT()].iPlayerHiScore[iCurrentLevel] = playerBd[PARTICIPANT_ID_TO_INT()].iPlayerScore[iCurrentLevel]
|
||
endif
|
||
ENDPROC
|
||
|
||
|
||
FUNC BOOL CMHDZ_IS_LOCAL_PLAYER_IN_LEFT_HAND_CABINET()
|
||
RETURN GET_ARCADE_CABINET_LOCATE_PLAYER_SLOT_PLAYER_IS_IN(PLAYER_ID()) <= 0
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_RED_PLAYER_SCORE_FOR_LEVEL(INT iLevel)
|
||
IF GET_ARCADE_CABINET_LOCATE_PLAYER_SLOT_PLAYER_IS_IN(PLAYER_ID()) <= 0
|
||
RETURN CMHDZ_GET_LOCAL_PLAYER_SCORE_FOR_LEVEL(iLevel)
|
||
ELSE
|
||
RETURN CMHDZ_GET_RIVAL_SCORE_FOR_LEVEL(iLevel)
|
||
ENDIF
|
||
|
||
RETURN 0
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_RED_PLAYER_HI_SCORE_FOR_LEVEL_FROM_HOST(INT iLevel)
|
||
IF GET_ARCADE_CABINET_LOCATE_PLAYER_SLOT_PLAYER_IS_IN(PLAYER_ID()) <= 0
|
||
RETURN CMHDZ_GET_PARTICIPANT_HI_SCORE_FOR_LEVEL_FROM_HOST(PARTICIPANT_ID_TO_INT(), iLevel)
|
||
ELSE
|
||
RETURN CMHDZ_GET_PARTICIPANT_HI_SCORE_FOR_LEVEL_FROM_HOST(sCMHDZData.iRivalPart, iLevel)
|
||
ENDIF
|
||
|
||
RETURN 0
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_BLUE_PLAYER_SCORE_FOR_LEVEL(INT iLevel)
|
||
IF GET_ARCADE_CABINET_LOCATE_PLAYER_SLOT_PLAYER_IS_IN(PLAYER_ID()) = 1
|
||
RETURN CMHDZ_GET_LOCAL_PLAYER_SCORE_FOR_LEVEL(iLevel)
|
||
ELSE
|
||
RETURN CMHDZ_GET_RIVAL_SCORE_FOR_LEVEL(iLevel)
|
||
ENDIF
|
||
|
||
RETURN 0
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_BLUE_PLAYER_HI_SCORE_FOR_LEVEL_FROM_HOST(INT iLevel)
|
||
IF GET_ARCADE_CABINET_LOCATE_PLAYER_SLOT_PLAYER_IS_IN(PLAYER_ID()) = 1
|
||
RETURN CMHDZ_GET_PARTICIPANT_HI_SCORE_FOR_LEVEL_FROM_HOST(PARTICIPANT_ID_TO_INT(), iLevel)
|
||
ELSE
|
||
RETURN CMHDZ_GET_PARTICIPANT_HI_SCORE_FOR_LEVEL_FROM_HOST(sCMHDZData.iRivalPart, iLevel)
|
||
ENDIF
|
||
|
||
RETURN 0
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_RED_PLAYER_HI_SCORE_FOR_ALL_LEVELS_FROM_HOST()
|
||
INT i, iScore
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
iScore += CMHDZ_GET_RED_PLAYER_HI_SCORE_FOR_LEVEL_FROM_HOST(i)
|
||
ENDREPEAT
|
||
|
||
RETURN iScore
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_BLUE_PLAYER_HI_SCORE_FOR_ALL_LEVELS_FROM_HOST()
|
||
INT i, iScore
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
iScore += CMHDZ_GET_BLUE_PLAYER_HI_SCORE_FOR_LEVEL_FROM_HOST(i)
|
||
ENDREPEAT
|
||
|
||
RETURN iScore
|
||
ENDFUNC
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Levels Util
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
FUNC FLOAT CMHDZ_GET_LOCAL_PLAYER_HEALTH()
|
||
#IF IS_DEBUG_BUILD
|
||
IF GET_COMMANDLINE_PARAM_EXISTS("sc_BadlandsNoDeath") OR (CMHDZ_CMDLINE_NO_DEATH = 1)
|
||
RETURN 1.0
|
||
ENDIF
|
||
#ENDIF
|
||
|
||
RETURN sCMHDZData.sPlayerData[0].fHealth
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_CLEAR_LEVEL_BIT_FOR_LEVEL(CMHDZ_LEVELS eLevel, CMHDZ_LEVELS_BITSET eBit)
|
||
IF CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(eLevel, eBit)
|
||
// #IF IS_DEBUG_BUILD
|
||
// STRING sBit = CMHDZ_LEVELS_BITSET_TO_STRING(eBit)
|
||
// STRING sLevel = CMHDZ_LEVELS_TO_STRING(eLevel)
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_CLEAR_LEVEL_BIT_FOR_LEVEL] {DSW} Set bit ", sBit, " For Level ", sLevel)
|
||
// #ENDIF
|
||
|
||
CLEAR_BIT(sCMHDZData.iLevelBitset[ENUM_TO_INT(sCMHDZData.eCurrentLevel)], ENUM_TO_INT(eBit))
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_IS_LEVEL_STOPPED()
|
||
RETURN CMHDZ_IS_LEVEL_BIT_SET_FOR_CURRENT_LEVEL(CMHDZ_LEVELS_BIT_STOPPED)
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_LEADERBOARD_ACTIVE()
|
||
IF (sCMHDZData.eClientState = CMHDZ_ARCADE_CLIENT_STATE_VIEW_LEADERBOARD)
|
||
OR (sCMHDZData.eClientState = CMHDZ_ARCADE_CLIENT_STATE_EDIT_LEADERBOARD)
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL IS_MOVING_LEVEL()
|
||
#IF IS_DEBUG_BUILD
|
||
IF sCMHDZData.bStopMovingLevel OR sCMHDZData.bDebugPause
|
||
RETURN FALSE
|
||
ENDIF
|
||
#ENDIF
|
||
|
||
IF CMHDZ_GET_LOCAL_PLAYER_HEALTH() <= 0.0
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_LEADERBOARD_ACTIVE()
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
IF NOT CMHDZ_IS_LEVEL_STOPPED()
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
RETURN FALSE
|
||
|
||
ENDFUNC
|
||
|
||
|
||
FUNC BOOL CMHDZ_COVER_UTIL_IS_TYPE_LARGE_BUILDING(CMHDZ_ASSET_TYPES eCover)
|
||
SWITCH eCover
|
||
CASE CMHDZ_ASSET_CITY_BUILDING_1
|
||
CASE CMHDZ_ASSET_CITY_BUILDING_2
|
||
CASE CMHDZ_ASSET_CITY_BUILDING_3
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_1
|
||
CASE CMHDZ_ASSET_THEMEPARK_BUILDING_3
|
||
CASE CMHDZ_ASSET_THEMEPARK_BUILDING_4
|
||
RETURN TRUE
|
||
ENDSWITCH
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_COVER_UTIL_IS_TYPE_SMALL_BUILDING(CMHDZ_ASSET_TYPES eCover)
|
||
SWITCH eCover
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_2
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_3
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_4
|
||
CASE CMHDZ_ASSET_THEMEPARK_BUILDING_1
|
||
CASE CMHDZ_ASSET_THEMEPARK_BUILDING_2
|
||
RETURN TRUE
|
||
ENDSWITCH
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_FINAL_SCREEN_IN_LEVEL(CMHDZ_LEVELS eLevel)
|
||
SWITCH eLevel
|
||
CASE CMHDZ_LEVEL_CITY
|
||
RETURN 7
|
||
CASE CMHDZ_LEVEL_SCRAPYARD
|
||
RETURN 6
|
||
CASE CMHDZ_LEVEL_ASYLUM
|
||
RETURN 7
|
||
CASE CMHDZ_LEVEL_PARK
|
||
RETURN 9
|
||
BREAK
|
||
CASE CMHDZ_LEVEL_SLAUGHTERHOUSE
|
||
RETURN 8
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
RETURN 0
|
||
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_FINAL_SCREEN_IN_CURRENT_LEVEL()
|
||
RETURN CMHDZ_GET_FINAL_SCREEN_IN_LEVEL(sCMHDZData.eCurrentLevel)
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_LEVEL_SCREEN_STATIONARY(CMHDZ_LEVELS eLevel, INT iScreen)
|
||
IF (iScreen >= sCMHDZData.iLastScreenToStopOn)
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
//RETURN sCMHDZData.sStageEndData[iScreen].bStationary
|
||
|
||
SWITCH eLevel
|
||
// CASE CMHDZ_LEVEL_CITY
|
||
// SWITCH iScreen
|
||
// CASE 5
|
||
// RETURN TRUE
|
||
// ENDSWITCH
|
||
// BREAK
|
||
|
||
CASE CMHDZ_LEVEL_SCRAPYARD
|
||
SWITCH iScreen
|
||
CASE 2 // Testing. Needs to be changed later.
|
||
RETURN TRUE
|
||
ENDSWITCH
|
||
BREAK
|
||
//
|
||
CASE CMHDZ_LEVEL_ASYLUM
|
||
SWITCH iScreen
|
||
CASE 4 //(1855/cfCMHDZ_SCREEN_LENGTH)
|
||
RETURN TRUE
|
||
ENDSWITCH
|
||
BREAK
|
||
|
||
// CASE CMHDZ_LEVEL_PARK
|
||
// SWITCH iScreen
|
||
// CASE 5
|
||
// //CASE 12
|
||
// RETURN TRUE
|
||
// ENDSWITCH
|
||
// BREAK
|
||
//
|
||
// CASE CMHDZ_LEVEL_SLAUGHTERHOUSE
|
||
// SWITCH iScreen
|
||
// CASE 5
|
||
// //CASE 16
|
||
// RETURN TRUE
|
||
// ENDSWITCH
|
||
// BREAK
|
||
ENDSWITCH
|
||
|
||
RETURN (iScreen >= CMHDZ_GET_FINAL_SCREEN_IN_LEVEL(eLevel))
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_CURRENT_LEVEL_SCREEN_STATIONARY()
|
||
CMHDZ_LEVELS level = sCMHDZData.eCurrentLevel
|
||
INT iScreen = sCMHDZData.iCurrentScreen
|
||
RETURN CMHDZ_IS_LEVEL_SCREEN_STATIONARY(level, iScreen)
|
||
ENDFUNC
|
||
/// PURPOSE:
|
||
/// Define the static screen phases for each stationary point.
|
||
/// RETURNS:
|
||
/// Always return 1 more than all the phases
|
||
FUNC INT CMHDZ_GET_STATIC_SCREEN_PHASE_COUNT()
|
||
|
||
IF CMHDZ_IS_LEVEL_SCREEN_STATIONARY(sCMHDZData.eCurrentLevel, sCMHDZData.iCurrentScreen)
|
||
|
||
SWITCH sCMHDZData.eCurrentLevel
|
||
|
||
CASE CMHDZ_LEVEL_CITY
|
||
RETURN 4
|
||
|
||
CASE CMHDZ_LEVEL_SCRAPYARD
|
||
RETURN 4
|
||
|
||
CASE CMHDZ_LEVEL_ASYLUM
|
||
|
||
SWITCH sCMHDZData.iCurrentScreen
|
||
CASE 3
|
||
RETURN 4
|
||
ENDSWITCH
|
||
|
||
RETURN 4 // Final screen
|
||
|
||
BREAK
|
||
|
||
CASE CMHDZ_LEVEL_PARK
|
||
RETURN 6
|
||
BREAK
|
||
|
||
ENDSWITCH
|
||
|
||
|
||
RETURN 3
|
||
ENDIF
|
||
|
||
RETURN 0
|
||
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_MOVING_LEVEL_ABOUT_TO_STOP()
|
||
IF CMHDZ_IS_LEVEL_SCREEN_STATIONARY(sCMHDZData.eCurrentLevel, sCMHDZData.iCurrentScreen + 1)
|
||
OR CMHDZ_GET_FINAL_SCREEN_IN_CURRENT_LEVEL() = (sCMHDZData.iCurrentScreen + 3)
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_RESET_SCREEN_TO_STOP_ON()
|
||
sCMHDZData.iLastScreenToStopOn = CMHDZ_GET_FINAL_SCREEN_IN_CURRENT_LEVEL()
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "{dsw} [CMHDZ_RESET_SCREEN_TO_STOP_ON] Called. last screen to stop on: ", sCMHDZData.iLastScreenToStopOn, " Callstack...")
|
||
DEBUG_PRINTCALLSTACK()
|
||
#ENDIF
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_IS_LEVEL_COMPLETED(CMHDZ_LEVELS level)
|
||
RETURN sCMHDZData.bLevelsCompleted[ENUM_TO_INT(level)]
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_ARE_FIRST_FOUR_LEVELS_COMPLETE()
|
||
|
||
IF NOT CMHDZ_IS_LEVEL_COMPLETED(CMHDZ_LEVEL_CITY)
|
||
OR NOT CMHDZ_IS_LEVEL_COMPLETED(CMHDZ_LEVEL_SCRAPYARD)
|
||
OR NOT CMHDZ_IS_LEVEL_COMPLETED(CMHDZ_LEVEL_PARK)
|
||
OR NOT CMHDZ_IS_LEVEL_COMPLETED(CMHDZ_LEVEL_ASYLUM)
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
RETURN TRUE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_ARE_ALL_LEVELS_COMPLETE()
|
||
INT i
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
IF NOT CMHDZ_IS_LEVEL_COMPLETED(INT_TO_ENUM(CMHDZ_LEVELS, i))
|
||
RETURN FALSE
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
RETURN TRUE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_WAS_ANY_LEVEL_REPLAYED()
|
||
INT i
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
IF CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(CMHDZ_GET_CURRENT_LEVEL(), CMHDZ_LEVELS_BIT_REPLAYING_LEVEL)
|
||
#IF IS_DEBUG_BUILD
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_INCREASE_CURRENT_LEVEL_SCREEN] {DSW} This level was replayed: ", CMHDZ_LEVELS_TO_STRING(sCMHDZData.eCurrentLevel))
|
||
#ENDIF
|
||
|
||
RETURN TRUE
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_WAS_A_SPECIAL_WEAPON_USED_ON_ANY_LEVEL()
|
||
INT i
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
IF CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(INT_TO_ENUM(CMHDZ_LEVELS, i), CMHDZ_LEVELS_BIT_USED_SPECIAL_WEAPON)
|
||
#IF IS_DEBUG_BUILD
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_WAS_A_SPECIAL_WEAPON_USED_ON_ANY_LEVEL] {DSW} Special weapon was used on level: ", CMHDZ_LEVELS_TO_STRING(sCMHDZData.eCurrentLevel))
|
||
#ENDIF
|
||
|
||
RETURN TRUE
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL IS_LEVEL_UNLOCKED(CMHDZ_LEVELS level)
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
IF GET_COMMANDLINE_PARAM_EXISTS("sc_BadlandsUnlockLvls") OR (CMHDZ_CMDLINE_UNLOCK_ALL_LEVELS = 1)
|
||
RETURN TRUE
|
||
ENDIF
|
||
#ENDIF
|
||
|
||
|
||
SWITCH level
|
||
CASE CMHDZ_LEVEL_CITY
|
||
CASE CMHDZ_LEVEL_SCRAPYARD
|
||
RETURN TRUE
|
||
BREAK
|
||
|
||
CASE CMHDZ_LEVEL_ASYLUM
|
||
RETURN TRUE
|
||
// IF sCMHDZData.bLevelsCompleted[0]
|
||
// OR sCMHDZData.bLevelsCompleted[1]
|
||
// RETURN TRUE
|
||
// ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_LEVEL_PARK
|
||
// IF sCMHDZData.bLevelsCompleted[1]
|
||
// OR sCMHDZData.bLevelsCompleted[2]
|
||
RETURN TRUE
|
||
// ENDIF
|
||
BREAK
|
||
|
||
CASE CMHDZ_LEVEL_SLAUGHTERHOUSE
|
||
IF sCMHDZData.bLevelsCompleted[0]
|
||
AND sCMHDZData.bLevelsCompleted[1]
|
||
AND sCMHDZData.bLevelsCompleted[2]
|
||
AND sCMHDZData.bLevelsCompleted[3]
|
||
RETURN TRUE
|
||
ENDIF
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_MENU_OPTION_UNLOCKED(CMHDZ_MENU_OPTIONS option)
|
||
|
||
SWITCH option
|
||
|
||
CASE CMHDZ_WANTED_3
|
||
RETURN IS_LEVEL_UNLOCKED(CMHDZ_LEVEL_ASYLUM)
|
||
|
||
|
||
CASE CMHDZ_WANTED_4
|
||
RETURN IS_LEVEL_UNLOCKED(CMHDZ_LEVEL_PARK)
|
||
|
||
|
||
CASE CMHDZ_WANTED_5
|
||
RETURN IS_LEVEL_UNLOCKED(CMHDZ_LEVEL_SLAUGHTERHOUSE)
|
||
|
||
ENDSWITCH
|
||
|
||
RETURN TRUE
|
||
|
||
ENDFUNC
|
||
|
||
|
||
PROC CMHDZ_SET_PLAYER_PED_ANIM_STATE(CMHDZ_PLAYER_PED_ANIM_STATE eNewState)
|
||
//#IF IS_DEBUG_BUILD
|
||
// STRING sCurrentState = CMHDZ_PLAYER_PED_ANIM_STATE_TO_STRING(sCMHDZData.ePlayerPedAnimState)
|
||
// STRING sNewState = CMHDZ_PLAYER_PED_ANIM_STATE_TO_STRING(eNewState)
|
||
//
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {BAZ} [CMHDZ_PROCESS_PLAYER_PED_ANIMS] CMHDZ_SET_PLAYER_PED_ANIM_STATE: ", sCurrentState, " -> ", sNewState )
|
||
//#ENDIF
|
||
sCMHDZData.ePlayerPedAnimState = eNewState
|
||
ENDPROC
|
||
|
||
FUNC INT CMHDZ_GET_NUMBER_OF_PLAYERS()
|
||
RETURN cmhdzServerBd.iNumPlayers
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_STORE_RIVAL_PLAYER_PART_ID()
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {BAZ} [CMHDZ_STORE_LOCAL_PLAYER_PART_ID] :", PARTICIPANT_ID_TO_INT())
|
||
IF PARTICIPANT_ID_TO_INT() = 0
|
||
//IF CMHDZ_IS_LOCAL_PLAYER_IN_LEFT_HAND_CABINET()
|
||
sCMHDZData.iRivalPart = 1
|
||
ELSE
|
||
sCMHDZData.iRivalPart = 0
|
||
ENDIF
|
||
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {BAZ} [CMHDZ_STORE_RIVAL_PLAYER_PART_ID] :", sCMHDZData.iRivalPart)
|
||
ENDPROC
|
||
|
||
|
||
|
||
PROC CMHDZ_INIT_SOUND()
|
||
INT i
|
||
REPEAT CMHDZ_AUDIO_EFFECT_MAX i
|
||
sCMHDZData.iSoundId[i] = -1
|
||
ENDREPEAT
|
||
ENDPROC
|
||
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Audio scenes
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
|
||
PROC CMHDZ_START_AUDIO_SCENE(CMHDZ_AUDIO_SCENE scene)
|
||
SWITCH scene
|
||
CASE CMHDZ_AUDIO_SCENE_MENUS
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_AUDIO_SCENE] [CMHDZ_START_AUDIO_SCENE] Starting scene CMHDZ_AUDIO_SCENE_MENUS / dlc_ch_am_CamH_in_menus_scene")
|
||
START_AUDIO_SCENE("DLC_Tuner_AM_ch_in_menus_scene")
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_SCENE_GAMEPLAY
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_AUDIO_SCENE] [CMHDZ_START_AUDIO_SCENE] Starting scene CMHDZ_AUDIO_SCENE_GAMEPLAY / dlc_ch_am_CamH_in_gameplay_scene")
|
||
START_AUDIO_SCENE("DLC_Tuner_AM_ch_in_gameplay_scene")
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_SCENE_POWERUP_ACTIVE
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_AUDIO_SCENE] [CMHDZ_START_AUDIO_SCENE] Starting scene CMHDZ_AUDIO_SCENE_POWERUP_ACTIVE / dlc_ch_badlands_revenge_powerup_active_scene")
|
||
START_AUDIO_SCENE("DLC_Tuner_AM_ch_powerup_active_scene")
|
||
BREAK
|
||
#IF IS_DEBUG_BUILD
|
||
CASE CMHDZ_AUDIO_SCENE_FORCE_MACHINE
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {BAZ} [CMHDZ_AUDIO_SCENE] [CMHDZ_START_AUDIO_SCENE] Starting scene CMHDZ_AUDIO_SCENE_FORCE_MACHINE / dlc_ch_arcade_machine_in_use_scene")
|
||
START_AUDIO_SCENE("dlc_ch_arcade_machine_in_use_scene")
|
||
BREAK
|
||
#ENDIF
|
||
ENDSWITCH
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_STOP_AUDIO_SCENE(CMHDZ_AUDIO_SCENE scene)
|
||
SWITCH scene
|
||
CASE CMHDZ_AUDIO_SCENE_MENUS
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_AUDIO_SCENE] [CMHDZ_STOP_AUDIO_SCENE] Stopping scene CMHDZ_AUDIO_SCENE_MENUS / dlc_ch_am_CamH_in_menus_scene")
|
||
STOP_AUDIO_SCENE("DLC_Tuner_AM_ch_in_menus_scene")
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_SCENE_GAMEPLAY
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_AUDIO_SCENE] [CMHDZ_STOP_AUDIO_SCENE] Stopping scene CMHDZ_AUDIO_SCENE_GAMEPLAY / dlc_ch_am_CamH_in_gameplay_scene")
|
||
STOP_AUDIO_SCENE("DLC_Tuner_AM_ch_in_gameplay_scene")
|
||
BREAK
|
||
|
||
CASE CMHDZ_AUDIO_SCENE_POWERUP_ACTIVE
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_AUDIO_SCENE] [CMHDZ_STOP_AUDIO_SCENE] Stopping scene CMHDZ_AUDIO_SCENE_GAMEPLAY / dlc_ch_am_CamH_in_gameplay_scene")
|
||
STOP_AUDIO_SCENE("DLC_Tuner_AM_ch_powerup_active_scene")
|
||
BREAK
|
||
ENDSWITCH
|
||
ENDPROC
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Help Text
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
FUNC BOOL CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BITS eHelp)
|
||
RETURN IS_BIT_SET(sCMHDZData.iHelpTextBitset, ENUM_TO_INT(eHelp))
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BITS eHelp)
|
||
|
||
IF NOT CMHDZ_IS_HELP_TEXT_BIT_SET(eHelp)
|
||
// #IF IS_DEBUG_BUILD
|
||
// STRING sHelp = CMHDZ_HELP_TEXT_BITS_TO_STRING(eHelp)
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SET_HELP_TEXT_BIT] Setting bit ", sHelp)
|
||
// #ENDIF
|
||
SET_BIT(sCMHDZData.iHelpTextBitset, ENUM_TO_INT(eHelp))
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BITS eHelp)
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(eHelp)
|
||
// #IF IS_DEBUG_BUILD
|
||
// STRING sHelp = CMHDZ_HELP_TEXT_BITS_TO_STRING(eHelp)
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_CLEAR_HELP_TEXT_BIT] Clearing bit ", sHelp)
|
||
// #ENDIF
|
||
CLEAR_BIT(sCMHDZData.iHelpTextBitset, ENUM_TO_INT(eHelp))
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
FUNC FLOAT CMHDZ_GET_TTK_AWARD_TARGET_ACCURACY()
|
||
RETURN TO_FLOAT(g_sMptunables.iARCADE_CMHDZ_TTK_SCORE)
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_FACES_OF_DEATH_AWARD_BRONZE_TARGET_SCORE()
|
||
RETURN g_sMptunables.iARCADE_CMHDZ_FACES_OF_DEATH_BRONZE_SCORE
|
||
// RETURN 5
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_FACES_OF_DEATH_AWARD_SILVER_TARGET_SCORE()
|
||
RETURN g_sMptunables.iARCADE_CMHDZ_FACES_OF_DEATH_SILVER_SCORE
|
||
// RETURN 10
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_FACES_OF_DEATH_AWARD_GOLD_TARGET_SCORE()
|
||
RETURN g_sMptunables.iARCADE_CMHDZ_FACES_OF_DEATH_GOLD_SCORE
|
||
// RETURN 20
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_FACES_OF_DEATH_AWARD_PLATINUM_TARGET_SCORE()
|
||
RETURN g_sMptunables.iARCADE_CMHDZ_FACES_OF_DEATH_PLATINUM_SCORE
|
||
//RETURN 30
|
||
// RETURN CMHDZ_FACES_OF_DEATH_AWARD_PLATINUM_TARGET_SCORE
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_MAINTAIN_HELP_TEXT()
|
||
// IF sCMHDZData.eClientState = CMHDZ_ARCADE_CLIENT_STATE_TITLE_SCREEN
|
||
// OR sCMHDZData.eClientState = CMHDZ_ARCADE_CLIENT_STATE_LEVEL_SELECTION_MENU
|
||
|
||
//ARCADE_GAMES_HELP_TEXT_PRINT_FOREVER(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_BEARSY)
|
||
// Stop help dump
|
||
// IF sAGHelpText.bDisplayingHelp
|
||
// EXIT
|
||
// ENDIF
|
||
|
||
IF sCMHDZData.eClientState = CMHDZ_ARCADE_CLIENT_STATE_PLAYING
|
||
// Don't process if the timer isn't 0.
|
||
IF(sAGHelpText.iCurrentHelpTextExpiry - NATIVE_TO_INT(GET_NETWORK_TIME())) > 0.0
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_SHOOT_AIM)
|
||
//-- Aim / shoot
|
||
//ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_TLGS_AIM_SHOOT)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_HELP_HOW_TO_FIRE)
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_SHOOT_AIM) // PLay after main controls are done.
|
||
EXIT
|
||
ENDIF
|
||
|
||
//-- Reload
|
||
IF NOT CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_RELOAD)
|
||
AND sCMHDZData.sPlayerData[0].bShouldShowReloadPrompt
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_RELOAD)
|
||
CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_RELOAD)
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_THROW)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_THROWING_WEAPONS)
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_THROW) // PLay after main controls are done.
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_AT_LEAST_ONE_HEADSHOT)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_HEADSHOT)
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_AT_LEAST_ONE_HEADSHOT) // PLay after main controls are done.
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_DYNAMITE)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_DYNAMITE)
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_DYNAMITE) // PLay after main controls are done.
|
||
EXIT
|
||
ENDIF
|
||
|
||
// Only fire microaim help if screen is static.
|
||
IF NOT IS_USING_KEYBOARD_AND_MOUSE(FRONTEND_CONTROL)
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_MICROAIM)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_MICRO_AIM_EXPLANATION)
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_MICROAIM) // PLay after main controls are done.
|
||
EXIT
|
||
ENDIF
|
||
ENDIF
|
||
|
||
// POWER UPS
|
||
// Weapons
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_SHOTGUN)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_WEAPON_SHOTGUN)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_WEAPON_SHOTGUN)
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_RIFLE)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_WEAPON_RIFLE)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_WEAPON_RIFLE)
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_NAIL)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_WEAPON_NAIL)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_WEAPON_NAIL)
|
||
ENDIF
|
||
|
||
// Projectiles
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_MOLOTOV)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_THROWING_MOLOTOV)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_THROWING_MOLOTOV)
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_NAILBOMB)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_THROWING_NAILBOMB)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_THROWING_NAILBOMB)
|
||
ENDIF
|
||
|
||
// Powerups
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_PAINKILLERS)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_PAINKILLER)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_PAINKILLER)
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_PILLS)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_PILLS)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_PILLS)
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_BUFF)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_BUFF)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_BUFF)
|
||
ENDIF
|
||
|
||
// Pickups
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_CASH)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_CASH)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT_WITH_NUMBER(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_CASH, CMHDZ_GET_SCORE_FOR_TYPE(CMHDZ_SCORE_TYPE_CASH))
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_VIDEO)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_VIDEO)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT_WITH_NUMBER(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_POWER_VIDEO, CMHDZ_GET_SCORE_FOR_TYPE(CMHDZ_SCORE_TYPE_TAPE))
|
||
ENDIF
|
||
|
||
// Final boss
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_BEARSY)
|
||
AND NOT IS_ARRAYED_BIT_ENUM_SET(sAGHelpText.iHelpTextBitset, ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_BEARSY)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_BEARSY)
|
||
ENDIF
|
||
|
||
ENDIF
|
||
|
||
// Awards
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_STRAIGHT_TO_VIDEO)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_STV)
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_STRAIGHT_TO_VIDEO)
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_TRAINED_TO_KILL)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT_WITH_NUMBER(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_TTK, ROUND(CMHDZ_GET_TTK_AWARD_TARGET_ACCURACY()))
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_TRAINED_TO_KILL)
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_MONKEY)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_MONKEY)
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_MONKEY)
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_FOD_GOLD)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT_WITH_NUMBER(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_FOD, CMHDZ_GET_FACES_OF_DEATH_AWARD_GOLD_TARGET_SCORE())
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_FOD_GOLD)
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_FOD_SILVER)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT_WITH_NUMBER(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_FOD, CMHDZ_GET_FACES_OF_DEATH_AWARD_SILVER_TARGET_SCORE())
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_FOD_SILVER)
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_HELP_TEXT_BIT_SET(CMHDZ_HELP_TEXT_BIT_FOD_BRONZE)
|
||
ARCADE_GAMES_HELP_TEXT_PRINT_WITH_NUMBER(ARCADE_GAMES_HELP_TEXT_ENUM_CMHDZ_FOD, CMHDZ_GET_FACES_OF_DEATH_AWARD_BRONZE_TARGET_SCORE())
|
||
CMHDZ_CLEAR_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_FOD_BRONZE)
|
||
EXIT
|
||
ENDIF
|
||
|
||
ENDPROC
|
||
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Awards
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
PROC CMHDZ_AWARD_TRAINED_TO_KILL()
|
||
SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_TRAINED_TO_KILL, TRUE)
|
||
SET_BIT(sCMHDZData.iChallengesBitsetForTelemetry, ENUM_TO_INT(CMHDZ_CHALLENGE_TRAINED_TO_KILL))
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE_NO_RELEASE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TTK)
|
||
ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TSHIRT_HELP(ARCADE_GAME_TSHIRTS_CAMHEDZ_TTK)
|
||
CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_TRAINED_TO_KILL)
|
||
//SCRIPT_ASSERT("[CMHDZ][BAZ] CMHDZ_AWARD_TRAINED_TO_KILL")
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_AWARD_STRAIGHT_TO_VIDEO()
|
||
SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_STRAIGHT_TO_VIDEO, TRUE)
|
||
SET_BIT(sCMHDZData.iChallengesBitsetForTelemetry, ENUM_TO_INT(CMHDZ_CHALLENGE_STRAIGHT_TO_VIDEO))
|
||
|
||
IF NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TTK)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE_NO_RELEASE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_STV)
|
||
ENDIF
|
||
|
||
ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TSHIRT_HELP(ARCADE_GAME_TSHIRTS_CAMHEDZ_STV)
|
||
CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_STRAIGHT_TO_VIDEO)
|
||
//SCRIPT_ASSERT("[CMHDZ][BAZ] CMHDZ_AWARD_STRAIGHT_TO_VIDEO")
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_AWARD_FACES_OF_DEATH(INT iValue, BOOL bWonPlatinum)
|
||
//SCRIPT_ASSERT("[CMHDZ][BAZ] CMHDZ_AWARD_FACES_OF_DEATH")
|
||
SET_MP_INT_CHARACTER_AWARD(MP_AWARD_FACES_OF_DEATH,iValue)
|
||
IF bWonPlatinum
|
||
ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TSHIRT_HELP(ARCADE_GAME_TSHIRTS_CAMHEDZ_FOD)
|
||
IF NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_STV)
|
||
AND NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TTK)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE_NO_RELEASE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_FOD)
|
||
ENDIF
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_AWARD_MONKEY_C_MONKEY_DIE()
|
||
//SCRIPT_ASSERT("[CMHDZ][BAZ] CMHDZ_AWARD_MONKEY_C_MONKEY_DIE")
|
||
SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_MONKEY_C_MONKEY_DO, TRUE)
|
||
IF NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_FOD)
|
||
AND NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_STV)
|
||
AND NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TTK)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE_NO_RELEASE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_MSMD)
|
||
ENDIF
|
||
CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_MONKEY)
|
||
ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TSHIRT_HELP(ARCADE_GAME_TSHIRTS_CAMHEDZ_MCM)
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_AWARD_THE_DIRECTOR()
|
||
//SCRIPT_ASSERT("[CMHDZ][BAZ] CMHDZ_AWARD_THE_DIRECTOR")
|
||
ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TSHIRT_HELP(ARCADE_GAME_TSHIRTS_CAMHEDZ_TD)
|
||
SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_DIRECTOR, TRUE)
|
||
IF NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_MSMD)
|
||
AND NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_FOD)
|
||
AND NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_STV)
|
||
AND NOT CMHDZ_HAS_SOUND_BEEN_TRIGGERED(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TTK)
|
||
CMHDZ_PLAY_DIRECTOR_DIALOGUE_NO_RELEASE(CMHDZ_AUDIO_EFFECT_DIRECTOR_Award_TD)
|
||
ENDIF
|
||
CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_DIRECTOR)
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_MAINTAIN_PLAYER_AWARDS()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Called...")
|
||
|
||
//-- Kev says the rp is handled at his side
|
||
|
||
BOOL bMonkeyAwarded = FALSE
|
||
BOOL bTrainedToKillAwarded = FALSE
|
||
BOOL bStraightToVideoAwarded = FALSE
|
||
BOOL bTheDirectorAwarded = FALSE
|
||
BOOL bFacesOfDeathAwarded = FALSE
|
||
|
||
//-- SET_MP_INT_CHARACTER_AWARD(MP_AWARD_FACES_OF_DEATH) // // Kill X Eagles across all levels of ‘Light Gun Game’.
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Check MP_AWARD_FACES_OF_DEATH:")
|
||
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Bronze target: ", CMHDZ_GET_FACES_OF_DEATH_AWARD_BRONZE_TARGET_SCORE())
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Silver target: ", CMHDZ_GET_FACES_OF_DEATH_AWARD_SILVER_TARGET_SCORE())
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Gold target: ", CMHDZ_GET_FACES_OF_DEATH_AWARD_GOLD_TARGET_SCORE())
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Platinum target: ", CMHDZ_GET_FACES_OF_DEATH_AWARD_PLATINUM_TARGET_SCORE())
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Birds killed: ", iBirdsShot)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Stat value: ", iFACES_OF_DEATH)
|
||
|
||
BOOL bCanAwardGold, bAwardGold
|
||
BOOL bCanAwardSilver, bAwardSilver
|
||
BOOL bCanAwardBronze, bAwardBronze
|
||
|
||
FLOAT fAccuracy = CMHDZ_GET_PLAYER_ACCURACY_FOR_ALL_LEVELS()
|
||
FLOAT fTargetAccuracy = CMHDZ_GET_TTK_AWARD_TARGET_ACCURACY()
|
||
|
||
IF NOT GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_TRAINED_TO_KILL)
|
||
//IF CMHDZ_ARE_ALL_LEVELS_COMPLETE()
|
||
IF NOT CMHDZ_WAS_ANY_LEVEL_REPLAYED()
|
||
IF fAccuracy > fTargetAccuracy
|
||
CMHDZ_AWARD_TRAINED_TO_KILL()
|
||
//bTrainedToKillAwarded = TRUE
|
||
//CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_TRAINED_TO_KILL)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] {DSW} Awarding MP_AWARD_DEADEYE fAccuracy: ", fAccuracy)
|
||
ELSE
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Not awarding MP_AWARD_DEADEYE as accuracy:", fAccuracy)
|
||
ENDIF
|
||
ELSE
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Not awarding MP_AWARD_DEADEYE as a level was replayed")
|
||
ENDIF
|
||
// ELSE
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Not awarding MP_AWARD_DEADEYE as not CMHDZ_ARE_ALL_LEVELS_COMPLETE")
|
||
// ENDIF
|
||
ENDIF
|
||
|
||
bTrainedToKillAwarded = GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_TRAINED_TO_KILL)
|
||
|
||
//-- Complete ‘Light Gun Game’ using only pistols.
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS]")
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Check MP_AWARD_PISTOLSATDAWN:")
|
||
IF NOT GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_STRAIGHT_TO_VIDEO)
|
||
IF CMHDZ_ARE_ALL_LEVELS_COMPLETE()
|
||
IF NOT CMHDZ_WAS_ANY_LEVEL_REPLAYED()
|
||
IF NOT CMHDZ_WAS_A_SPECIAL_WEAPON_USED_ON_ANY_LEVEL()
|
||
CMHDZ_AWARD_STRAIGHT_TO_VIDEO()
|
||
//CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_STRAIGHT_TO_VIDEO)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] {DSW} Awarding MP_AWARD_PISTOLSATDAWN. ")
|
||
ELSE
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Not awarding MP_AWARD_PISTOLSATDAWN as CMHDZ_WAS_A_SPECIAL_WEAPON_USED_ON_ANY_LEVEL")
|
||
ENDIF
|
||
ELSE
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Not awarding MP_AWARD_PISTOLSATDAWN as CMHDZ_WAS_ANY_LEVEL_REPLAYED")
|
||
ENDIF
|
||
ELSE
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Not awarding MP_AWARD_PISTOLSATDAWN as not CMHDZ_ARE_ALL_LEVELS_COMPLETE")
|
||
ENDIF
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Already awarded MP_AWARD_PISTOLSATDAWN")
|
||
ENDIF
|
||
|
||
bStraightToVideoAwarded = GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_STRAIGHT_TO_VIDEO)
|
||
|
||
// Faces of Death
|
||
INT iHeadshotCount
|
||
iHeadshotCount += sCMHDZData.iTotalLevelEnemyHeadShots[CMHDZ_LEVEL_CITY]
|
||
iHeadshotCount += sCMHDZData.iTotalLevelEnemyHeadShots[CMHDZ_LEVEL_SCRAPYARD]
|
||
iHeadshotCount += sCMHDZData.iTotalLevelEnemyHeadShots[CMHDZ_LEVEL_ASYLUM]
|
||
iHeadshotCount += sCMHDZData.iTotalLevelEnemyHeadShots[CMHDZ_LEVEL_PARK]
|
||
iHeadshotCount += sCMHDZData.iTotalLevelEnemyHeadShots[CMHDZ_LEVEL_SLAUGHTERHOUSE]
|
||
|
||
INT iFODOldValue = GET_MP_INT_CHARACTER_AWARD(MP_AWARD_FACES_OF_DEATH)
|
||
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] FACES_OF_DEATH new total: ", iHeadshotCount, " Old: ",iFODOldValue)
|
||
IF iHeadshotCount > iFODOldValue
|
||
IF iHeadshotCount >= CMHDZ_GET_FACES_OF_DEATH_AWARD_PLATINUM_TARGET_SCORE()
|
||
SET_BIT(sCMHDZData.iChallengesBitsetForTelemetry, ENUM_TO_INT(CMHDZ_CHALLENGE_FACES_OF_DEATH_PLATINUM))
|
||
CMHDZ_AWARD_FACES_OF_DEATH(iHeadshotCount, TRUE)
|
||
ELSE
|
||
//-- Can only give an award if the old toltal was below the threshhold score for that award
|
||
|
||
IF iFODOldValue < CMHDZ_GET_FACES_OF_DEATH_AWARD_GOLD_TARGET_SCORE()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Sharshooter: bCanAwardGold set")
|
||
bCanAwardGold = TRUE
|
||
ENDIF
|
||
|
||
IF iFODOldValue < CMHDZ_GET_FACES_OF_DEATH_AWARD_SILVER_TARGET_SCORE()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Sharshooter: bCanAwardSilver set")
|
||
bCanAwardSilver = TRUE
|
||
ENDIF
|
||
|
||
IF iFODOldValue < CMHDZ_GET_FACES_OF_DEATH_AWARD_BRONZE_TARGET_SCORE()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Sharshooter: bCanAwardBronze Set")
|
||
bCanAwardBronze = TRUE
|
||
ENDIF
|
||
|
||
IF bCanAwardGold
|
||
IF iHeadshotCount >= CMHDZ_GET_FACES_OF_DEATH_AWARD_GOLD_TARGET_SCORE()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Sharshooter: bAwardGold set")
|
||
bAwardGold = TRUE
|
||
ENDIF
|
||
ENDIF
|
||
|
||
IF bCanAwardSilver
|
||
IF iHeadshotCount >= CMHDZ_GET_FACES_OF_DEATH_AWARD_SILVER_TARGET_SCORE()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Sharshooter: bAwardSilver set")
|
||
bAwardSilver = TRUE
|
||
ENDIF
|
||
ENDIF
|
||
|
||
IF bCanAwardBronze
|
||
IF iHeadshotCount >= CMHDZ_GET_FACES_OF_DEATH_AWARD_BRONZE_TARGET_SCORE()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Sharshooter: bAwardBronze set")
|
||
bAwardBronze = TRUE
|
||
ENDIF
|
||
ENDIF
|
||
|
||
IF bAwardGold
|
||
CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_FOD_GOLD)
|
||
SET_BIT(sCMHDZData.iChallengesBitsetForTelemetry, ENUM_TO_INT(CMHDZ_CHALLENGE_FACES_OF_DEATH_GOLD))
|
||
ELIF bAwardSilver
|
||
CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_FOD_SILVER)
|
||
SET_BIT(sCMHDZData.iChallengesBitsetForTelemetry, ENUM_TO_INT(CMHDZ_CHALLENGE_FACES_OF_DEATH_SILVER))
|
||
ELIF bAwardBronze
|
||
CMHDZ_SET_HELP_TEXT_BIT(CMHDZ_HELP_TEXT_BIT_FOD_BRONZE)
|
||
SET_BIT(sCMHDZData.iChallengesBitsetForTelemetry, ENUM_TO_INT(CMHDZ_CHALLENGE_FACES_OF_DEATH_BRONZE))
|
||
ENDIF
|
||
|
||
CMHDZ_AWARD_FACES_OF_DEATH(iHeadshotCount, FALSE)
|
||
|
||
ENDIF
|
||
ENDIF
|
||
|
||
// Passed the platinum threshold.
|
||
IF GET_MP_INT_CHARACTER_AWARD(MP_AWARD_FACES_OF_DEATH) > CMHDZ_GET_FACES_OF_DEATH_AWARD_PLATINUM_TARGET_SCORE()
|
||
bFacesOfDeathAwarded = TRUE
|
||
ENDIF
|
||
|
||
// IF NOT GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_FACES_OF_DEATH)
|
||
// GET_MP_INT_CHARACTER_AWARD(MP_AWARD_FACES_OF_DEATH)
|
||
// ENDIF
|
||
|
||
IF CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(CMHDZ_LEVEL_CITY, CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_MONKEY_KILL)
|
||
AND CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(CMHDZ_LEVEL_SCRAPYARD, CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_BUNNY_KILL)
|
||
AND CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(CMHDZ_LEVEL_ASYLUM, CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_BUNNY_KILL)
|
||
AND CMHDZ_IS_LEVEL_BIT_SET_FOR_LEVEL(CMHDZ_LEVEL_PARK, CMHDZ_LEVELS_BIT_CHALLENGE_MONKEY_C_MONKEY_DIE_MONKEY_KILL)
|
||
IF NOT GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_MONKEY_C_MONKEY_DO)
|
||
CMHDZ_AWARD_MONKEY_C_MONKEY_DIE()
|
||
SET_BIT(sCMHDZData.iChallengesBitsetForTelemetry, ENUM_TO_INT(CMHDZ_CHALLENGE_MONKEY_C_MONKEY_DIE))
|
||
ENDIF
|
||
ENDIF
|
||
// Check reward
|
||
bMonkeyAwarded = GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_MONKEY_C_MONKEY_DO)
|
||
|
||
|
||
// The Director
|
||
IF CMHDZ_IS_STAR_RATING_5_FOR_ALL_LEVELS()
|
||
IF NOT GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_DIRECTOR)
|
||
CMHDZ_AWARD_THE_DIRECTOR()
|
||
SET_BIT(sCMHDZData.iChallengesBitsetForTelemetry, ENUM_TO_INT(CMHDZ_CHALLENGE_THE_DIRECTOR))
|
||
ENDIF
|
||
|
||
ENDIF
|
||
|
||
bTheDirectorAwarded = GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_DIRECTOR)
|
||
|
||
//-- T-shirt / trophy for completing everything
|
||
BOOL bOwnsPenthouse
|
||
|
||
IF bStraightToVideoAwarded
|
||
AND bTrainedToKillAwarded
|
||
AND bTheDirectorAwarded
|
||
AND bMonkeyAwarded
|
||
AND bFacesOfDeathAwarded
|
||
bOwnsPenthouse = DOES_PLAYER_OWN_A_CASINO_APARTMENT(PLAYER_ID())
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_MAINTAIN_PLAYER_AWARDS] Everything achieved, unlocking final t-shirt / trophy. Penthouse? ", bOwnsPenthouse)
|
||
|
||
IF NOT GET_PACKED_STAT_BOOL(PACKED_MP_AWARD_BEARSY_MASK)
|
||
ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TROPHY_HELP(ARCADE_GAME_TROPHY_CAMHEDZ, bOwnsPenthouse)
|
||
SET_PACKED_STAT_BOOL(PACKED_MP_AWARD_BEARSY_MASK, TRUE)
|
||
ENDIF
|
||
|
||
sCMHDZData.bWonTrophyThisSession = TRUE
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
|
||
|
||
|
||
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
/// Util
|
||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
||
FUNC BOOL CMHDZ_SHOULD_REMOVE_COVER_WHEN_OFF_SCREEN(INT iCover)
|
||
UNUSED_PARAMETER(iCover)
|
||
//CMHDZ_ASSET_TYPES eType = sCMHDZData.sCoverData[iCover].eType
|
||
// Delete if from repeat if we're near the end of the loop
|
||
IF sCMHDZData.iCurrentScreen + 2 >= CMHDZ_GET_FINAL_SCREEN_IN_CURRENT_LEVEL()
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
IF IS_BITMASK_ENUM_AS_ENUM_SET(sCMHDZData.sCoverData[iCover].eDataBits, CMHDZ_COVER_DATA_BITS_REMOVE_OFF_SCREEN)
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
SWITCH sCMHDZData.sCoverData[iCover].eType
|
||
// CASE CMHDZ_ASSET_OUTHOUSE
|
||
CASE CMHDZ_ASSET_PIG
|
||
IF sCMHDZData.sCoverData[iCover].iHitCount > 0
|
||
RETURN TRUE
|
||
ENDIF
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
|
||
|
||
|
||
FUNC BOOL CMHDZ_COVER_UTIL_IS_TYPE_BUILDING(CMHDZ_ASSET_TYPES eCover)
|
||
RETURN (CMHDZ_COVER_UTIL_IS_TYPE_LARGE_BUILDING(eCover) OR CMHDZ_COVER_UTIL_IS_TYPE_SMALL_BUILDING(eCover))
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_COVER_UTIL_SHOULD_CHECK_FOR_PED_BEHIND_TYPE(CMHDZ_ASSET_TYPES eCover)
|
||
SWITCH eCover
|
||
CASE CMHDZ_ASSET_PIG
|
||
CASE CMHDZ_ASSET_WATER_TOWER
|
||
CASE CMHDZ_ASSET_CITY_BUILDING_1
|
||
CASE CMHDZ_ASSET_CITY_BUILDING_2
|
||
CASE CMHDZ_ASSET_CITY_BUILDING_3
|
||
CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_1
|
||
CASE CMHDZ_ASSET_THEMEPARK_TREE_1
|
||
CASE CMHDZ_ASSET_THEMEPARK_TREE_2
|
||
CASE CMHDZ_ASSET_THEMEPARK_TREE_3
|
||
CASE CMHDZ_ASSET_THEMEPARK_TREE_4
|
||
CASE CMHDZ_ASSET_BARRIER
|
||
CASE CMHDZ_ASSET_MEATGRINDER_1
|
||
CASE CMHDZ_ASSET_MEATGRINDER_2
|
||
CASE CMHDZ_ASSET_BODYBAG_3
|
||
CASE CMHDZ_ASSET_BODYBAG_2
|
||
CASE CMHDZ_ASSET_BODYBAG_1
|
||
// CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_2
|
||
// CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_3
|
||
// CASE CMHDZ_ASSET_SCRAPYARD_MD_VAN_4
|
||
// CASE CMHDZ_ASSET_THEMEPARK_BUILDING_1
|
||
|
||
RETURN TRUE
|
||
ENDSWITCH
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_COVER_UTIL_GET_TYPE_SCALE_FOR_LANE(CMHDZ_ASSET_TYPES eType, INT iLane)
|
||
FLOAT fScale = 1.0
|
||
UNUSED_PARAMETER(eType)
|
||
SWITCH iLane
|
||
CASE ciCMHDZ_LANE_BACKGROUND
|
||
fScale = 0.75
|
||
BREAK
|
||
|
||
CASE ciCMHDZ_LANE_FOREGROUND
|
||
fScale = 2.5
|
||
BREAK
|
||
|
||
CASE ciCMHDZ_LANE_POPUP_RHS
|
||
CASE ciCMHDZ_LANE_POPUP_LHS
|
||
fScale = 0.75
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
RETURN fScale
|
||
ENDFUNC
|
||
|
||
PROC SET_ENEMY_NEW_STOPPING_POINT_AFTER_BLOCKED_COVER(INT iEnemy, INT iBlockingCover)
|
||
FLOAT fCoverWidth = sCMHDZData.sCoverData[iBlockingCover].fCoverWidth
|
||
FLOAT fNewXOffset
|
||
//FLOAT fScale
|
||
// FLOAT fTemp1
|
||
//FLOAT fTemp2
|
||
// FLOAT fEnemyX = sCMHDZData.sEnemyData[iEnemy].vSpritePos.x
|
||
// FLOAT fEnemyWidth = sCMHDZData.sEnemyData[iEnemy].vSize.x
|
||
|
||
INT iLane = sCMHDZData.sEnemyData[iEnemy].iEnemyLane
|
||
BOOL bReverse = CMHDZ_ENEMY_DATA_IS_BITMASK_SET(iEnemy, CMHDZ_ENEMY_DATA_BITS_REVERSE)
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_HANDLE_ENEMIES] [CMHDZ_ENEMY_STATE_ACTIVE] [SET_ENEMY_NEW_STOPPING_POINT_AFTER_BLOCKED_COVER] {dsw} ")
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_HANDLE_ENEMIES] [CMHDZ_ENEMY_STATE_ACTIVE] [SET_ENEMY_NEW_STOPPING_POINT_AFTER_BLOCKED_COVER] {dsw} Enemy: ",iEnemy, " Old Stopping pos: ", sCMHDZData.sEnemyData[iEnemy].fStoppingX, " Lane: ",sCMHDZData.sEnemyData[iEnemy].iEnemyLane, " Type:", CMHDZ_ENEMY_TYPES_TO_STRING(sCMHDZData.sEnemyData[iEnemy].iEnemyType)," Blocked by cover. ", iBlockingCover, " Cover Type: ", CMHDZ_ASSET_TYPES_TO_STRING(sCMHDZData.sCoverData[iBlockingCover].eType), " Width / 2: ", (fCoverWidth/2.0))
|
||
#ENDIF
|
||
|
||
SWITCH CMHDZ_GET_CURRENT_LEVEL()
|
||
CASE CMHDZ_LEVEL_ASYLUM
|
||
fNewXOffset = cfBASE_SCREEN_WIDTH
|
||
|
||
IF NOT bReverse
|
||
sCMHDZData.sEnemyData[iEnemy].fStoppingX -= fNewXOffset
|
||
ELSE
|
||
sCMHDZData.sEnemyData[iEnemy].fStoppingX += fNewXOffset
|
||
ENDIF
|
||
|
||
BREAK
|
||
|
||
CASE CMHDZ_LEVEL_SLAUGHTERHOUSE
|
||
|
||
IF iLane = ciCMHDZ_LANE_BACKGROUND
|
||
IF bReverse
|
||
sCMHDZData.sEnemyData[iEnemy].fStoppingX += 16.0 //(fEnemyX - fTemp2) - fEnemyWidth
|
||
ELSE
|
||
sCMHDZData.sEnemyData[iEnemy].fStoppingX -= 20.0 //(fTemp1 - fEnemyX) + fEnemyWidth
|
||
ENDIF
|
||
ELIF iLane = ciCMHDZ_LANE_MIDDLE
|
||
IF bReverse
|
||
sCMHDZData.sEnemyData[iEnemy].fStoppingX += 11.0 //(fEnemyX - fTemp2) - fEnemyWidth
|
||
ELSE
|
||
sCMHDZData.sEnemyData[iEnemy].fStoppingX -= 15.0 //(fTemp1 - fEnemyX) + fEnemyWidth
|
||
ENDIF
|
||
ENDIF
|
||
|
||
BREAK
|
||
DEFAULT
|
||
fNewXOffset = fCoverWidth * 0.75
|
||
|
||
IF NOT bReverse
|
||
sCMHDZData.sEnemyData[iEnemy].fStoppingX -= fNewXOffset
|
||
ELSE
|
||
sCMHDZData.sEnemyData[iEnemy].fStoppingX += fNewXOffset
|
||
ENDIF
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
|
||
|
||
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_HANDLE_ENEMIES] [CMHDZ_ENEMY_STATE_ACTIVE] [SET_ENEMY_NEW_STOPPING_POINT_AFTER_BLOCKED_COVER] {dsw} Reverse: ", bReverse, " New stopping pos: ", sCMHDZData.sEnemyData[iEnemy].fStoppingX, " Current Pos: ", sCMHDZData.sEnemyData[iEnemy].vSpritePos.x)
|
||
#ENDIF
|
||
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_IS_COORD_BLOCKED_BY_COVER(INT iLane, FLOAT fXCoord, INT &iBlockingCover)
|
||
INT i
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
// FLOAT fTemp1, fTemp2
|
||
#ENDIF
|
||
FLOAT fScale
|
||
REPEAT ciCMHDZ_MAX_COVER i
|
||
IF sCMHDZData.sCoverData[i].iCoverLane = iLane
|
||
IF CMHDZ_COVER_UTIL_SHOULD_CHECK_FOR_PED_BEHIND_TYPE(sCMHDZData.sCoverData[i].eType)
|
||
fScale = CMHDZ_COVER_UTIL_GET_TYPE_SCALE_FOR_LANE(sCMHDZData.sCoverData[i].eType, iLane)
|
||
#IF IS_DEBUG_BUILD
|
||
IF sCMHDZData.sCoverData[i].eType = CMHDZ_ASSET_PIG
|
||
// fTemp1 = sCMHDZData.sCoverData[i].vSpritePos.x + ((sCMHDZData.sCoverData[i].fCoverWidth * fScale) / 2.0)
|
||
// fTemp2 = sCMHDZData.sCoverData[i].vSpritePos.x - ((sCMHDZData.sCoverData[i].fCoverWidth * fScale) / 2.0)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_IS_COORD_BLOCKED_BY_COVER] Checking PIG ", i, " Lane: ", iLane, " Pos: ", sCMHDZData.sCoverData[i].vSpritePos.x, " +Width/2: ", fTemp1, " -Width/2: ", fTemp2, " Compare with ", fXCoord)
|
||
ELIF sCMHDZData.sCoverData[i].eType = CMHDZ_ASSET_THEMEPARK_TREE_2
|
||
// fTemp1 = sCMHDZData.sCoverData[i].vSpritePos.x + ((sCMHDZData.sCoverData[i].fCoverWidth * fScale) / 2.0)
|
||
// fTemp2 = sCMHDZData.sCoverData[i].vSpritePos.x - ((sCMHDZData.sCoverData[i].fCoverWidth * fScale) / 2.0)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_IS_COORD_BLOCKED_BY_COVER] Checking TREE2 ", i, " Lane: ", iLane, " Pos: ", sCMHDZData.sCoverData[i].vSpritePos.x, " +Width/2: ", fTemp1, " -Width/2: ", fTemp2, " Compare with ", fXCoord)
|
||
ENDIF
|
||
#ENDIF
|
||
FLOAT fMaxCover = sCMHDZData.sCoverData[i].vSpritePos.x + ((sCMHDZData.sCoverData[i].fCoverWidth * fScale) / 2.0)
|
||
FLOAT fMinCover = sCMHDZData.sCoverData[i].vSpritePos.x - ((sCMHDZData.sCoverData[i].fCoverWidth * fScale) / 2.0)
|
||
IF fXCoord >= fMinCover AND fXCoord <= fMaxCover
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_IS_COORD_BLOCKED_BY_COVER] {DSW} X Coord ", fXCoord, " Lane: ", iLane, " Blocked by cover ", i, " Type: ", CMHDZ_ASSET_TYPES_TO_STRING(sCMHDZData.sCoverData[i].eType), " Cover X pos:", sCMHDZData.sCoverData[i].vSpritePos.x, " Width / 2: ", ((sCMHDZData.sCoverData[i].fCoverWidth * fScale) / 2.0))
|
||
#ENDIF
|
||
|
||
iBlockingCover = i
|
||
RETURN TRUE
|
||
ENDIF
|
||
ENDIF
|
||
#IF IS_DEBUG_BUILD
|
||
ELSE
|
||
IF sCMHDZData.sCoverData[i].eType = CMHDZ_ASSET_PIG
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_IS_COORD_BLOCKED_BY_COVER] Not Checking CMHDZ_ASSET_PIG", i, " as cover lane ", sCMHDZData.sCoverData[i].iCoverLane, " <> ", iLane)
|
||
ELIF sCMHDZData.sCoverData[i].eType = CMHDZ_ASSET_THEMEPARK_TREE_2
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_IS_COORD_BLOCKED_BY_COVER] Not Checking TREE2", i, " as cover lane ", sCMHDZData.sCoverData[i].iCoverLane, " <> ", iLane)
|
||
ENDIF
|
||
#ENDIF
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_COVER_UTIL_IS_TYPE_SUITABLE_FOR_COVER(CMHDZ_ASSET_TYPES eType)
|
||
SWITCH eType
|
||
CASE CMHDZ_ASSET_BARRELS
|
||
CASE CMHDZ_ASSET_FENCE
|
||
CASE CMHDZ_ASSET_ROCK_SMALL
|
||
CASE CMHDZ_ASSET_ROCK_LARGE
|
||
CASE CMHDZ_ASSET_BUSH_2
|
||
CASE CMHDZ_ASSET_SPECIAL_TNT_BARREL_1
|
||
CASE CMHDZ_ASSET_FOREGROUND_TRASH
|
||
RETURN TRUE
|
||
BREAK
|
||
|
||
CASE CMHDZ_ASSET_MEATGRINDER_1
|
||
CASE CMHDZ_ASSET_MEATGRINDER_2
|
||
RETURN TRUE
|
||
BREAK
|
||
|
||
CASE CMHDZ_ASSET_BUSH_1
|
||
RETURN TRUE
|
||
BREAK
|
||
ENDSWITCH
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
FUNC BOOL CMHDZ_IS_POSITION_ON_SCREEN(VECTOR_2D vPos, FLOAT fTolerance = 0.0)
|
||
FLOAT fMinOnScreen = cfLEFT_SCREEN_LIMIT + fTolerance
|
||
FLOAT fMaxOnScreen = cfRIGHT_SCREEN_LIMIT - fTolerance
|
||
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_IS_POSITION_ON_SCREEN] ")
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_IS_POSITION_ON_SCREEN] fMinOnScreen: ",fMinOnScreen, " fMaxOnScreen: ", fMaxOnScreen)
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_IS_POSITION_ON_SCREEN] vPos.x : ", vPos.x )
|
||
RETURN (vPos.x > fMinOnScreen AND vPos.x < fMaxOnScreen)
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_COVER_ON_SCREEN(INT iCover, FLOAT fTolerance = 0.0)
|
||
RETURN CMHDZ_IS_POSITION_ON_SCREEN(sCMHDZData.sCoverData[iCover].vSpritePos, fTolerance)
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_ENEMY_ON_SCREEN(INT iEnemy, FLOAT fTolerance = 0.0)
|
||
RETURN CMHDZ_IS_POSITION_ON_SCREEN(sCMHDZData.sEnemyData[iEnemy].vSpritePos, fTolerance)
|
||
ENDFUNC
|
||
|
||
/// PURPOSE:
|
||
/// As the enemy ped passes scenery, check if the scenery can be used as 'cover'
|
||
/// PARAMS:
|
||
/// iCover -
|
||
/// iEnemy -
|
||
/// RETURNS:
|
||
///
|
||
FUNC BOOL CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE(INT iCover, INT iEnemy)
|
||
IF sCMHDZData.sEnemyData[iEnemy].iEnemyLane = ciCMHDZ_LANE_FOREGROUND
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
IF CMHDZ_COVER_DATA_IS_BITMASK_SET(iCover, CMHDZ_COVER_DATA_BITS_IS_FAR_BG)
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
// //CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE] Enemy ", iEnemy, " Cover: ", iCover)
|
||
|
||
CMHDZ_ASSET_TYPES eCover = sCMHDZData.sCoverData[iCover].eType
|
||
|
||
//-- Can't use cover that's in a different lane
|
||
IF sCMHDZData.sEnemyData[iEnemy].iEnemyLane != sCMHDZData.sCoverData[iCOver].iCoverLane
|
||
////CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE] Enemy ", iEnemy, " NOT Stopping to use cover ", iCover, " Cover type: ", CMHDZ_ASSET_TYPES_TO_STRING(eCover), " Lane doesn't match. Enemy Lane: ", sCMHDZData.sEnemyData[iEnemy].iEnemyLane, " Cover Lane :", sCMHDZData.sCoverData[iCOver].iCoverLane)
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
|
||
//-- Some cover types not suitable for cover
|
||
IF NOT CMHDZ_COVER_UTIL_IS_TYPE_SUITABLE_FOR_COVER(eCover)
|
||
////CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE] Enemy ", iEnemy, " NOT Stopping to use cover ", iCover, " Cover type: ", CMHDZ_ASSET_TYPES_TO_STRING(eCover), " Type not suitable for cover ")
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
VECTOR_2D vEnemy = sCMHDZData.sEnemyData[iEnemy].vSpritePos
|
||
VECTOR_2D vCover = sCMHDZData.sCoverData[iCover].vSpritePos
|
||
FLOAT fCoverWidth = sCMHDZData.sCoverData[iCover].fCoverWidth
|
||
FLOAT fMaxCover
|
||
FLOAT fMinCover
|
||
FLOAT fScale = CMHDZ_COVER_UTIL_GET_TYPE_SCALE_FOR_LANE(eCover, sCMHDZData.sCoverData[iCOver].iCoverLane)
|
||
fCoverWidth *= fScale
|
||
FLOAT fYDiff = ABSF(vEnemy.y - vCover.y)
|
||
IF NOT CMHDZ_IS_COVER_ON_SCREEN(iCover)
|
||
////CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE] Enemy ", iEnemy, " NOT Stopping to use cover ", iCover, " Cover type: ", CMHDZ_ASSET_TYPES_TO_STRING(eCover), " Cover not on screen")
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
BOOL bFromLeft = CMHDZ_ENEMY_DATA_IS_BITMASK_SET(iEnemy, CMHDZ_ENEMY_DATA_BITS_REVERSE)
|
||
|
||
|
||
//-- Don't stop too close to cover that's just appeared / about to leave the screen
|
||
IF bFromLeft
|
||
IF vCover.x < cfBASE_SCREEN_WIDTH / 3.0
|
||
////CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE] Enemy ", iEnemy, " NOT Stopping to use cover ", iCover, " Cover type: ", CMHDZ_ASSET_TYPES_TO_STRING(eCover), " as enemy coming from left and cover < cfBASE_SCREEN_WIDTH / 3")
|
||
RETURN FALSE
|
||
ENDIF
|
||
ELSE
|
||
IF vCover.x > cfRIGHT_SCREEN_LIMIT - 100
|
||
////CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE] Enemy ", iEnemy, " NOT Stopping to use cover ", iCover, " Cover type: ", CMHDZ_ASSET_TYPES_TO_STRING(eCover), " as enemy coming from right and cover nearly at RHS")
|
||
RETURN FALSE
|
||
ENDIF
|
||
ENDIF
|
||
|
||
//-- Cover in the same lane should have a similar Y position to enemies in the same lane. Occasionally doesn't, mainly for draw-order reasons,
|
||
//-- so don't use any cover where there is a large difference in the y position
|
||
IF fYDiff > 175.0
|
||
////CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE] Enemy ", iEnemy, " NOT Stopping to use cover ", iCover, " Cover type: ", CMHDZ_ASSET_TYPES_TO_STRING(eCover), " Y Diff too great: ", fYDiff)
|
||
RETURN FALSE
|
||
ENDIF
|
||
|
||
//-- Check if we're actually passing any cover
|
||
fMaxCover = (vCover.x + ( fCoverWidth / 2.0) )// + 10.0
|
||
fMinCover = (vCover.x - ( fCoverWidth / 2.0 ))// - 10.0
|
||
IF vEnemy.x > fMinCover
|
||
AND vEnemy.x < fMaxCover
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE] [CMHDZ_HANDLE_ENEMIES] Enemy ", iEnemy, " Stopping to use cover ", iCover, " Cover type: ", CMHDZ_ASSET_TYPES_TO_STRING(eCover), " Enemy pos: ", sCMHDZData.sEnemyData[iEnemy].vSpritePos.x)
|
||
#ENDIF
|
||
|
||
RETURN TRUE
|
||
ELSE
|
||
////CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_IS_COVER_SUITABLE_FOR_ENEMY_TO_USE] Enemy ", iEnemy, " NOT Stopping to use cover ", iCover, " Cover type: ", CMHDZ_ASSET_TYPES_TO_STRING(eCover), " Xpos not sufficient. Enemy x: ", vEnemy.x, " Cover Min: ", fMinCover, " Cover Max: ", fMaxCover)
|
||
ENDIF
|
||
|
||
RETURN FALSE
|
||
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_SHOULD_COUNT_ENEMY_AS_ALIVE(INT iEnemy)
|
||
|
||
IF sCMHDZData.sEnemyData[iEnemy].eState != CMHDZ_ENEMY_STATE_INACTIVE
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_NUMBER_OF_ENEMIES_LEFT_ALIVE_FOR_CURRENT_SCREEN()
|
||
|
||
INT i, iCount
|
||
FOR i = 0 TO ciCMHDZ_MAX_ENEMIES - 1
|
||
// IF CMHDZ_SHOULD_COUNT_ENEMY_AS_ALIVE(i)
|
||
// CDEBUG2LN(DEBUG_MINIGAME, "[BAZ] CMHDZ_GET_TOTAL_NUMBER_OF_ENEMIES_LEFT_ALIVE_FOR_CURRENT_SCREEN - Enemy Alive position X", sCMHDZData.sEnemyData[i].vSpritePos.x)
|
||
// ENDIF
|
||
|
||
IF sCMHDZData.sEnemyData[i].fPointToAppear <= sCMHDZData.fOverallLevelProgression
|
||
//AND sCMHDZData.sEnemyData[i].fPointToAppear >= sCMHDZData.fOverallLevelProgression + ((cfRIGHT_SCREEN_LIMIT + cfLEFT_SCREEN_LIMIT)/2)
|
||
AND CMHDZ_SHOULD_COUNT_ENEMY_AS_ALIVE(i)
|
||
iCount ++
|
||
ENDIF
|
||
ENDFOR
|
||
|
||
RETURN iCount
|
||
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_NUMBER_OF_ENEMIES_LEFT_ALIVE_FOR_LEVEL()
|
||
|
||
INT i, iCount
|
||
FOR i = 0 TO ciCMHDZ_MAX_ENEMIES - 1
|
||
IF CMHDZ_SHOULD_COUNT_ENEMY_AS_ALIVE(i)
|
||
iCount ++
|
||
ENDIF
|
||
ENDFOR
|
||
|
||
RETURN iCount
|
||
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_NUMBER_OF_ENEMIES_LEFT_ALIVE_FOR_SCREEN()
|
||
|
||
INT i, iCount
|
||
FOR i = 0 TO ciCMHDZ_MAX_ENEMIES - 1
|
||
IF CMHDZ_SHOULD_COUNT_ENEMY_AS_ALIVE(i)
|
||
AND sCMHDZData.iCurrentScreen = FLOOR(sCMHDZData.sEnemyData[i].fPointToAppear / cfCMHDZ_SCREEN_LENGTH)
|
||
AND CMHDZ_ENEMY_DATA_IS_BITMASK_SET(i, CMHDZ_ENEMY_DATA_BITS_WAIT_UNTIL_LEVEL_STATIONARY)
|
||
iCount ++
|
||
ENDIF
|
||
|
||
IF sCMHDZData.iCurrentScreen >= CMHDZ_GET_FINAL_SCREEN_IN_CURRENT_LEVEL() - 1
|
||
AND CMHDZ_ENEMY_DATA_IS_BITMASK_SET(i, CMHDZ_ENEMY_DATA_BITS_WAIT_UNTIL_LEVEL_STATIONARY)
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ][BAZ] CMHDZ_GET_TOTAL_NUMBER_OF_ENEMIES_LEFT_ALIVE_FOR_SCREEN - ", iCount)
|
||
ENDIF
|
||
ENDFOR
|
||
|
||
// Adding 1 for if Boss enemy is alive
|
||
IF sCMHDZData.eCurrentLevel = CMHDZ_LEVEL_SLAUGHTERHOUSE
|
||
AND sCMHDZData.sBossData.eCurrentBossState != CMHDZ_BOSS_STATE_FINAL
|
||
AND sCMHDZData.iCurrentScreen >= CMHDZ_GET_FINAL_SCREEN_IN_LEVEL(CMHDZ_LEVEL_SLAUGHTERHOUSE)
|
||
iCount ++
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ][BAZ] CMHDZ_GET_TOTAL_NUMBER_OF_ENEMIES_LEFT_ALIVE_FOR_SCREEN - Adding Boss iCount: ", iCount)
|
||
ENDIF
|
||
|
||
RETURN iCount
|
||
|
||
ENDFUNC
|
||
|
||
FUNC INT CMHDZ_GET_TOTAL_NUMBER_OF_ENEMIES_LEFT_ALIVE_FOR_CURRENT_PHASE()
|
||
|
||
IF sCMHDZData.eCurrentLevel = CMHDZ_LEVEL_SLAUGHTERHOUSE
|
||
AND CMHDZ_GET_CURRENT_LEVEL_SCREEN() >= CMHDZ_GET_FINAL_SCREEN_IN_CURRENT_LEVEL()
|
||
AND sCMHDZData.sBossData.eCurrentBossState != CMHDZ_BOSS_STATE_WAIT_FOR_ALL_ENEMIES_DEAD
|
||
RETURN 1
|
||
ENDIF
|
||
|
||
INT i, iCount
|
||
FOR i = 0 TO ciCMHDZ_MAX_ENEMIES - 1
|
||
IF sCMHDZData.sEnemyData[i].iStaticScreenPhase > 0
|
||
AND sCMHDZData.iStaticScreenPhase = sCMHDZData.sEnemyData[i].iStaticScreenPhase
|
||
AND sCMHDZData.iCurrentScreen = FLOOR(sCMHDZData.sEnemyData[i].fPointToAppear / cfCMHDZ_SCREEN_LENGTH)
|
||
AND CMHDZ_ENEMY_DATA_IS_BITMASK_SET(i, CMHDZ_ENEMY_DATA_BITS_WAIT_UNTIL_LEVEL_STATIONARY)
|
||
AND CMHDZ_SHOULD_COUNT_ENEMY_AS_ALIVE(i)
|
||
iCount ++
|
||
ENDIF
|
||
ENDFOR
|
||
|
||
IF iCount > 0
|
||
CDEBUG2LN(DEBUG_MINIGAME, "CMHDZ_GET_TOTAL_NUMBER_OF_ENEMIES_LEFT_ALIVE_FOR_CURRENT_PHASE - iCount: ", iCount)
|
||
ENDIF
|
||
|
||
RETURN iCount
|
||
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_ENEMY_TYPE_SCALE_FOR_LANE(INT iLane)
|
||
FLOAT fScale = 1.0
|
||
|
||
IF iLane = ciCMHDZ_LANE_BACKGROUND
|
||
fScale = 0.9
|
||
ELIF iLane = ciCMHDZ_LANE_MIDDLE
|
||
fScale = 1.2
|
||
ELIF iLane = ciCMHDZ_LANE_FOREGROUND
|
||
fScale = 1.2
|
||
ELIF iLane = ciCMHDZ_LANE_POPUP_RHS
|
||
OR iLane = ciCMHDZ_LANE_POPUP_LHS
|
||
fScale = 0.9
|
||
ENDIF
|
||
|
||
RETURN fScale
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_KILL_ALL_ENEMIES_IN_RANGE(VECTOR_2D vPos, FLOAT fMaxDist = 250.0)
|
||
INT i
|
||
VECTOR_2D vEnemyPos
|
||
|
||
FLOAT fXDist
|
||
FLOAT fYDist
|
||
FLOAT fDist2
|
||
BOOL bKilledEnemy
|
||
|
||
REPEAT ciCMHDZ_MAX_ENEMIES i
|
||
IF sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_ACTIVE
|
||
OR sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_ATTACKING
|
||
// IF sCMHDZData.sEnemyData[i].iEnemyType != CMHDZ_OUTHOUSE_ENEMY
|
||
|
||
vEnemyPos = sCMHDZData.sEnemyData[i].vSpritePos
|
||
fXDist = vEnemyPos.x - vPos.x
|
||
fYDist = vEnemyPos.y - vPos.y
|
||
fDist2 = (fXDist * fXDist) + (fYDist * fYDist)
|
||
//CPRINTLN(DEBUG_MINIGAME, "[CMHDZ_KILL_ALL_ENEMIES_IN_RANGE] {DSW} Checking Enemy ", i, " Dist: ", SQRT(fDist2))
|
||
IF (fDist2 <= (fMaxDist * fMaxDist))
|
||
// IF vEnemyPos.x >= x1 AND vEnemyPos.y >= y1
|
||
// IF vEnemyPos.x <= x2 AND vEnemyPos.y <= y2
|
||
sCMHDZData.sEnemyData[i].iHealth = 0
|
||
sCMHDZData.sEnemyData[i].fAnimTimer = 0.0
|
||
sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_DYING_BURNING // If the projectile type is a Molotov
|
||
CMHDZ_ADD_TO_LOCAL_PLAYER_SCORE(CMHDZ_SCORE_TYPE_ENEMY_EXPLOSION)
|
||
bKilledEnemy = TRUE
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_KILL_ALL_ENEMIES_IN_RANGE] {dsw} Enemy ", i, " set as Dying as killed by explosion. Type: ", CMHDZ_ENEMY_TYPES_TO_STRING(sCMHDZData.sEnemyData[i].iEnemyType))
|
||
#ENDIF
|
||
// ENDIF
|
||
ENDIF
|
||
// ENDIF
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
// Just one to avoid sound clipping
|
||
IF bKilledEnemy
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_ENEMY_ON_FIRE)
|
||
ENDIF
|
||
|
||
ENDPROC
|
||
|
||
PROC CMHDZ_KILL_ALL_ENEMIES_IN_RANGE_NO_SCORE(VECTOR_2D vPos, FLOAT fMaxDist = 2000.0)
|
||
INT i
|
||
VECTOR_2D vEnemyPos
|
||
|
||
FLOAT fXDist
|
||
FLOAT fYDist
|
||
FLOAT fDist2
|
||
|
||
REPEAT ciCMHDZ_MAX_ENEMIES i
|
||
IF sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_ACTIVE
|
||
OR sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_ATTACKING
|
||
// IF sCMHDZData.sEnemyData[i].iEnemyType != CMHDZ_OUTHOUSE_ENEMY
|
||
|
||
vEnemyPos = sCMHDZData.sEnemyData[i].vSpritePos
|
||
fXDist = vEnemyPos.x - vPos.x
|
||
fYDist = vEnemyPos.y - vPos.y
|
||
fDist2 = (fXDist * fXDist) + (fYDist * fYDist)
|
||
//CPRINTLN(DEBUG_MINIGAME, "[CMHDZ_KILL_ALL_ENEMIES_IN_RANGE] {DSW} Checking Enemy ", i, " Dist: ", SQRT(fDist2))
|
||
IF (fDist2 <= (fMaxDist * fMaxDist))
|
||
// IF vEnemyPos.x >= x1 AND vEnemyPos.y >= y1
|
||
// IF vEnemyPos.x <= x2 AND vEnemyPos.y <= y2
|
||
sCMHDZData.sEnemyData[i].iHealth = 0
|
||
sCMHDZData.sEnemyData[i].fAnimTimer = 0.0
|
||
sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_DYING // If the projectile type is a Molotov
|
||
//CMHDZ_ADD_TO_LOCAL_PLAYER_SCORE(CMHDZ_SCORE_TYPE_ENEMY_EXPLOSION)
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_KILL_ALL_ENEMIES_IN_RANGE] {dsw} Enemy ", i, " set as Dying as killed by explosion. Type: ", CMHDZ_ENEMY_TYPES_TO_STRING(sCMHDZData.sEnemyData[i].iEnemyType))
|
||
#ENDIF
|
||
// ENDIF
|
||
ENDIF
|
||
// ENDIF
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_STUN_ENEMIES_IN_RANGE(VECTOR_2D vPos, FLOAT fMaxDist = 250.0)
|
||
INT i
|
||
VECTOR_2D vEnemyPos
|
||
|
||
FLOAT fXDist
|
||
FLOAT fYDist
|
||
FLOAT fDist2
|
||
|
||
REPEAT ciCMHDZ_MAX_ENEMIES i
|
||
IF sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_ACTIVE
|
||
OR sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_ATTACKING
|
||
// IF sCMHDZData.sEnemyData[i].iEnemyType != CMHDZ_OUTHOUSE_ENEMY
|
||
|
||
vEnemyPos = sCMHDZData.sEnemyData[i].vSpritePos
|
||
fXDist = vEnemyPos.x - vPos.x
|
||
fYDist = vEnemyPos.y - vPos.y
|
||
fDist2 = (fXDist * fXDist) + (fYDist * fYDist)
|
||
//CPRINTLN(DEBUG_MINIGAME, "[CMHDZ_KILL_ALL_ENEMIES_IN_RANGE] {DSW} Checking Enemy ", i, " Dist: ", SQRT(fDist2))
|
||
IF (fDist2 <= (fMaxDist * fMaxDist))
|
||
AND sCMHDZData.sEnemyData[i].iHealth > 0
|
||
IF sCMHDZData.sEnemyData[i].iEnemyLane != ciCMHDZ_LANE_POPUP_LHS
|
||
AND sCMHDZData.sEnemyData[i].iEnemyLane != ciCMHDZ_LANE_POPUP_RHS
|
||
sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_STUNNED // If the projectile type is a Nailbomb
|
||
sCMHDZData.sEnemyData[i].fAnimTimer = 4000.0
|
||
CMHDZ_PLAY_ENEMY_TYPE_SOUND_AND_RELEASE(sCMHDZData.sEnemyData[i].iEnemyType, CMHDZ_AUDIO_EFFECT_ENEMY_INJURED, sCMHDZData.sEnemyData[i].vSpritePos, sCMHDZData.sEnemyData[i].iEnemyVoiceID)
|
||
ELSE // Just kill popup enemies
|
||
sCMHDZData.sEnemyData[i].iHealth = 0
|
||
sCMHDZData.sEnemyData[i].fAnimTimer = 0.0
|
||
sCMHDZData.sEnemyData[i].eState = CMHDZ_ENEMY_STATE_DYING // If the projectile type is a Molotov
|
||
CMHDZ_ADD_TO_LOCAL_PLAYER_SCORE(CMHDZ_SCORE_TYPE_ENEMY)
|
||
ENDIF
|
||
ENDIF
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
ENDPROC
|
||
|
||
FUNC INT CMHDZ_GET_CLOSEST_PROP_TO_COORD(VECTOR_2D vCoord)
|
||
FLOAT distanceX, distanceY, fDistance
|
||
FLOAT fDistanceToCheck = 120.0
|
||
FLOAT fClosest = 99999999.0
|
||
INT iClosest = -1
|
||
INT i
|
||
|
||
REPEAT ciCMHDZ_MAX_COVER i
|
||
distanceX = vCoord.x - sCMHDZData.sCoverData[i].vSpritePos.x
|
||
distanceY = vCoord.y - sCMHDZData.sCoverData[i].vSpritePos.y
|
||
fDistance = SQRT(distanceX * distanceX + distanceY * distanceY)
|
||
|
||
IF fDistance <= fDistanceToCheck
|
||
IF fDistance <= fClosest
|
||
fClosest = fDistance
|
||
iClosest = i
|
||
ENDIF
|
||
ENDIF
|
||
ENDREPEAT
|
||
|
||
|
||
|
||
RETURN iClosest
|
||
ENDFUNC
|
||
|
||
FUNC BOOL CMHDZ_IS_PLAYER_PLAYING()
|
||
RETURN sCMHDZData.eClientState = CMHDZ_ARCADE_CLIENT_STATE_PLAYING
|
||
ENDFUNC
|
||
|
||
FUNC FLOAT CMHDZ_GET_PLAYER_DAMAGE_FOR_TYPE(CMHDZ_DAMAGE_PLAYER_TYPES eType)
|
||
SWITCH eType
|
||
CASE CMHDZ_DAMAGE_PLAYER_TYPE_BULLET RETURN 0.1
|
||
CASE CMHDZ_DAMAGE_PLAYER_TYPE_DYNAMITE RETURN 0.3
|
||
CASE CMHDZ_DAMAGE_PLAYER_TYPE_SLASH RETURN 0.2
|
||
ENDSWITCH
|
||
|
||
RETURN 0.0
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_DAMAGE_PLAYER(CMHDZ_DAMAGE_PLAYER_TYPES eType, FLOAT fModifier = 1.0)
|
||
#IF IS_DEBUG_BUILD
|
||
IF (sCMHDZData.bDebugInvunerablePlayer)
|
||
sCMHDZData.fSyncOffsetY = 0.0
|
||
EXIT
|
||
ENDIF
|
||
#ENDIF
|
||
|
||
// No damage if in Tutorial stage
|
||
IF CMHDZ_IS_LEADERBOARD_ACTIVE()
|
||
EXIT
|
||
ENDIF
|
||
|
||
IF CMHDZ_IS_PLAYER_BIT_SET(CMHDZ_PLAYER_BIT_INVULNERABILE)
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_DAMAGE_PLAYER] Not Damaging as CMHDZ_PLAYER_BIT_INVULNERABILE is set")
|
||
#ENDIF
|
||
|
||
EXIT
|
||
ENDIF
|
||
|
||
// Already being damaged. Don't process.
|
||
IF eType = CMHDZ_DAMAGE_PLAYER_TYPE_BULLET
|
||
AND sCMHDZData.sPlayerData[0].fHitCountdown > 0
|
||
|
||
EXIT
|
||
ENDIF
|
||
|
||
// Reset score combo
|
||
IF CMHDZ_GET_PLAYER_SUCESSIVE_HITS() != 1
|
||
CMHDZ_RESET_PLAYER_SUCCESSIVE_HITS()
|
||
ENDIF
|
||
|
||
FLOAT fDamage = CMHDZ_GET_PLAYER_DAMAGE_FOR_TYPE(eType)
|
||
|
||
#IF IS_DEBUG_BUILD
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_DAMAGE_PLAYER] Called. Type: ", CMHDZ_DAMAGE_PLAYER_TYPES_TO_STRING(eType), " Damage: ", fDamage, " Modifier: ", fModifier)
|
||
#ENDIF
|
||
|
||
fDamage *= fModifier
|
||
sCMHDZData.sPlayerData[0].fHealth = CLAMP(sCMHDZData.sPlayerData[0].fHealth - fDamage, 0.0, 1.0)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_DAMAGE_PLAYER] New health: ", sCMHDZData.sPlayerData[0].fHealth)
|
||
|
||
//-- Play audio for player taking damage
|
||
IF sCMHDZData.sPlayerData[0].fHealth > 0.0
|
||
CMHDZ_PLAY_PLAYER_TAKE_DAMAGE_AUDIO(sCMHDZData.sPlayerData[0].fHealth)
|
||
ENDIF
|
||
CMHDZ_PLAY_SOUND_AND_RELEASE_NO_POSITION(CMHDZ_AUDIO_EFFECT_MUSIC_TRANSITION)
|
||
|
||
// Play music event for getting hit
|
||
CMHDZ_TRIGGER_MUSIC_EVENT_HIT_RANDOM()
|
||
|
||
// Will likely need decreasing in final.
|
||
SWITCH eType
|
||
|
||
CASE CMHDZ_DAMAGE_PLAYER_TYPE_BULLET
|
||
sCMHDZData.sPlayerData[0].fHitCountdown = 100.0
|
||
sCMHDZData.fSyncOffsetY = 80.0
|
||
BREAK
|
||
|
||
CASE CMHDZ_DAMAGE_PLAYER_TYPE_DYNAMITE
|
||
sCMHDZData.sPlayerData[0].fHitCountdown = 150.0
|
||
sCMHDZData.fSyncOffsetY = 200.0
|
||
sCMHDZData.sPlayerData[0].bHeavyDamageState = TRUE
|
||
BREAK
|
||
|
||
CASE CMHDZ_DAMAGE_PLAYER_TYPE_SLASH
|
||
sCMHDZData.sPlayerData[0].fHitCountdown = 100.0
|
||
sCMHDZData.fSyncOffsetY = 200.0
|
||
sCMHDZData.sPlayerData[0].bHeavyDamageState = TRUE
|
||
BREAK
|
||
|
||
ENDSWITCH
|
||
|
||
IF sCMHDZData.sPlayerData[0].fHealth = 0
|
||
sCMHDZData.sPlayerData[0].fHitCountdown = 1000.0
|
||
// ELSE
|
||
// sCMHDZData.sPlayerData[0].fHitCountdown = 200.0
|
||
ENDIF
|
||
|
||
ENDPROC
|
||
|
||
FUNC BOOL CMHDZ_SHOULD_SKIP_LEADERBOARD()
|
||
// url:bugstar:6153380 - [R4062] Arcade Games - Badlands Revenge II - A UGC restricted sub account can view the high score initials posted by another player (and vice versa)
|
||
IF NOT IS_ACCOUNT_OVER_17_FOR_UGC()
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SHOULD_SKIP_LEADERBOARD] True - IS_ACCOUNT_OVER_17_FOR_UGC")
|
||
RETURN TRUE
|
||
ENDIF
|
||
|
||
RETURN FALSE
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_SEND_TELEMETRY()
|
||
|
||
IF NOT NETWORK_IS_GAME_IN_PROGRESS()
|
||
EXIT
|
||
ENDIF
|
||
|
||
// url:bugstar:6118446 - Telemetry - Script - Please add a new metric that triggers at the end of the new arcade game[Badlands Revenge II] added for Casino Heist
|
||
STRUCT_ARCADE_CABINET sTelemetry
|
||
INT i
|
||
sTelemetry.gameType = HASH("ARCADE_CABINET_SE_CAMHEDZ")
|
||
sTelemetry.matchId = cmhdzServerBd.iMatchId
|
||
IF PLAYER_ID() != INVALID_PLAYER_INDEX()
|
||
SWITCH GET_SIMPLE_INTERIOR_TYPE_LOCAL_PLAYER_IS_IN()
|
||
CASE SIMPLE_INTERIOR_TYPE_ARCADE
|
||
sTelemetry.location = HASH("SIMPLE_INTERIOR_TYPE_ARCADE")
|
||
BREAK
|
||
CASE SIMPLE_INTERIOR_TYPE_AUTO_SHOP
|
||
sTelemetry.location = HASH("SIMPLE_INTERIOR_TYPE_AUTO_SHOP")
|
||
BREAK
|
||
|
||
#IF FEATURE_FIXER
|
||
#IF FEATURE_MUSIC_STUDIO
|
||
CASE SIMPLE_INTERIOR_TYPE_MUSIC_STUDIO
|
||
sTelemetry.location = HASH("SIMPLE_INTERIOR_TYPE_MUSIC_STUDIO")
|
||
BREAK
|
||
#ENDIF
|
||
#ENDIF
|
||
|
||
DEFAULT
|
||
CDEBUG1LN(DEBUG_MINIGAME, "[[CMHDZ_ARCADE] [CMHDZ_SEND_TELEMETRY] not in valid arcade location, setting sRoadArcadeTelemetry.location = 0")
|
||
sTelemetry.location = 0
|
||
BREAK
|
||
ENDSWITCH
|
||
ELSE
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] [CMHDZ_SEND_TELEMETRY] Invalid Player ID, setting sTelemetry.location = 0")
|
||
sTelemetry.location = 0
|
||
ENDIF
|
||
|
||
IF IS_BIT_SET(cmhdzServerBd.iServerBitset, ENUM_TO_INT(CMHDZ_SERVER_BIT_TWO_PLAYERS_JOINED))
|
||
sTelemetry.numPlayers = 2
|
||
ELSE
|
||
sTelemetry.numPlayers = 1
|
||
ENDIF
|
||
|
||
IF CMHDZ_ARE_ALL_LEVELS_COMPLETE()
|
||
sTelemetry.level = 5
|
||
ELSE
|
||
REPEAT CMHDZ_MAX_LEVELS i
|
||
IF CMHDZ_GET_LOCAL_PLAYER_HI_SCORE_FOR_LEVEL(i) = 0
|
||
sTelemetry.level = i - 1
|
||
IF sTelemetry.level < 1
|
||
sTelemetry.level = 1
|
||
ENDIF
|
||
BREAKLOOP
|
||
ENDIF
|
||
ENDREPEAT
|
||
ENDIF
|
||
sTelemetry.kills = CMHDZ_GET_TOTAL_ENEMY_HITS_FOR_ALL_LEVELS() //+ CMHDZ_GET_TOTAL_NUMBER_OF_BIRDS_KILLED_FOR_ALL_LEVELS()
|
||
sTelemetry.timePlayed = GET_GAME_TIMER() - sCMHDZData.iTotalTimePlayed
|
||
sTelemetry.score = CMHDZ_GET_LOCAL_PLAYER_HI_SCORE_FOR_ALL_LEVELS()
|
||
|
||
// CMHDZ_CHALLENGE_FACES_OF_DEATH = 0
|
||
// CMHDZ_CHALLENGE_TRAINED_TO_KILL,
|
||
// CMHDZ_CHALLENGE_STRAIGHT_TO_VIDEO
|
||
|
||
sTelemetry.challenges = sCMHDZData.iChallengesBitsetForTelemetry
|
||
sTelemetry.powerUps = CMHDZ_GET_TOTAL_NUMBER_OF_POWERUPS_COLLECTED_FOR_ALL_LEVELS()
|
||
|
||
IF sCMHDZData.bWonTrophyThisSession
|
||
sTelemetry.reward = ARCADE_GAME_GET_TROPHY_ID_FOR_TELEMETRY(ARCADE_GAME_TROPHY_CAMHEDZ)
|
||
ELSE
|
||
sTelemetry.reward = 0
|
||
ENDIf
|
||
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY]")
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.gameType: ", sTelemetry.gameType)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.matchId: ", sTelemetry.matchId)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.numPlayers: ", sTelemetry.numPlayers)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.level: ", sTelemetry.level)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.kills: ", sTelemetry.kills)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.timePlayed: ", sTelemetry.timePlayed)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.score: ", sTelemetry.score)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.challenges: ", sTelemetry.score)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.powerUps: ", sTelemetry.powerUps)
|
||
//CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ_ARCADE] {DSW} [CMHDZ_SEND_TELEMETRY] sTelemetry.reward: ", sTelemetry.reward)
|
||
PLAYSTATS_ARCADE_CABINET(sTelemetry)
|
||
ENDPROC
|
||
|
||
// Boss Control
|
||
|
||
FUNC VECTOR_2D CMHDZ_BOSS_GET_SPRITE_SIZES(CMHDZ_SPRITE eSprite)
|
||
|
||
SWITCH eSprite
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_01
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_02
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_03
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_04
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_05
|
||
CASE CMHDZ_SPRITE_BEARSY_WALK_FRAME_IDLE
|
||
CASE CMHDZ_SPRITE_BEARSY_THROWING_01
|
||
CASE CMHDZ_SPRITE_BEARSY_THROWING_02
|
||
CASE CMHDZ_SPRITE_BEARSY_THROWING_03
|
||
CASE CMHDZ_SPRITE_BEARSY_BACKGROUND_STAGGERED
|
||
RETURN INIT_VECTOR_2D(340, 544)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_01
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_02
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_03
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_04
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_IDLE_05
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_STAGGERED
|
||
RETURN INIT_VECTOR_2D(708, 600)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_DEATH_01
|
||
CASE CMHDZ_SPRITE_BEARSY_DEATH_02
|
||
RETURN INIT_VECTOR_2D(900, 600)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_01
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_02
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_03
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_04
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_05
|
||
RETURN INIT_VECTOR_2D(708, 784)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FORE_PAIN_1
|
||
CASE CMHDZ_SPRITE_BEARSY_FORE_PAIN_2
|
||
CASE CMHDZ_SPRITE_BEARSY_FORE_PAIN_3
|
||
CASE CMHDZ_SPRITE_BEARSY_FORE_PAIN_4
|
||
CASE CMHDZ_SPRITE_BEARSY_FORE_PAIN_5
|
||
CASE CMHDZ_SPRITE_BEARSY_FORE_PAIN_6
|
||
RETURN INIT_VECTOR_2D(708, 784)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_HIT_01
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_HIT_02
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_HIT_01
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_HIT_02
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_HIT_01
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_HIT_02
|
||
RETURN INIT_VECTOR_2D(520, 504)
|
||
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_LARGE_01
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_LARGE_02
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_LARGE_01
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_LARGE_02
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_LARGE_01
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_LARGE_02
|
||
RETURN INIT_VECTOR_2D(472, 452)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_MED_01
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_MED_02
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_MED_01
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_MED_02
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_MED_01
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_MED_02
|
||
RETURN INIT_VECTOR_2D(316, 304)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_SMALL_01
|
||
CASE CMHDZ_SPRITE_BEARSY_BONE_SMALL_02
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_SMALL_01
|
||
CASE CMHDZ_SPRITE_BEARSY_LEG_SMALL_02
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_SMALL_01
|
||
CASE CMHDZ_SPRITE_BEARSY_TROTTER_SMALL_02
|
||
RETURN INIT_VECTOR_2D(212, 204)
|
||
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_HIT_01
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_HIT_02
|
||
RETURN INIT_VECTOR_2D(560, 644)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_LARGE_01
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_LARGE_02
|
||
RETURN INIT_VECTOR_2D(472,556)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_MED_01
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_MED_02
|
||
RETURN INIT_VECTOR_2D(316, 360)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_SMALL_01
|
||
CASE CMHDZ_SPRITE_BEARSY_JOWL_SMALL_02
|
||
RETURN INIT_VECTOR_2D(212, 240)
|
||
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_01
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_02
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_03
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_BLOOD_04
|
||
RETURN INIT_VECTOR_2D(268, 84)
|
||
|
||
//CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SCREEN_CRACK
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_01
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_02
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_03
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_04
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_ATTACKING_SPARKS_05
|
||
RETURN INIT_VECTOR_2D(508, 196)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_01
|
||
RETURN INIT_VECTOR_2D(356, 256)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_02
|
||
RETURN INIT_VECTOR_2D(356, 488)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_03
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_04
|
||
RETURN INIT_VECTOR_2D(356, 212)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_05
|
||
RETURN INIT_VECTOR_2D(356, 204)
|
||
|
||
CASE CMHDZ_SPRITE_BEARSY_FOREGROUND_BLOOD_06
|
||
RETURN INIT_VECTOR_2D(356, 140)
|
||
|
||
CASE CMHDZ_SPRITE_SCREEN_DAMAGE_RIP
|
||
RETURN INIT_VECTOR_2D(264, 532)
|
||
|
||
CASE CMHDZ_SPRITE_SCREEN_DAMAGE_BLOOD_SPLATTER
|
||
RETURN INIT_VECTOR_2D(792, 800)
|
||
|
||
// CASE CMHDZ_SPRITE_SCREEN_DAMAGE_BROKEN
|
||
// RETURN INIT_VECTOR_2D(516, 472)
|
||
|
||
|
||
ENDSWITCH
|
||
|
||
RETURN INIT_VECTOR_2D(340, 544)
|
||
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_UPDATE_SOUND_GLITCH_LEVEL()
|
||
|
||
FLOAT fHealthLevel = 0.5 - (sCMHDZData.sPlayerData[0].fHealth/2.0)
|
||
|
||
IF sCMHDZData.iFade = 0
|
||
sCMHDZData.fSoundGlitchLevel = fHealthLevel + sCMHDZData.fSoundGlitchAdditional
|
||
ENDIF
|
||
|
||
IF sCMHDZData.fSoundGlitchLevel > 1.0
|
||
sCMHDZData.fSoundGlitchLevel = 1.0
|
||
ENDIF
|
||
|
||
IF sCMHDZData.fSoundGlitchLevel < 0.0
|
||
sCMHDZData.fSoundGlitchLevel = 0.0
|
||
ENDIF
|
||
|
||
sCMHDZData.fSoundGlitchAdditional = 0.0
|
||
|
||
ENDPROC
|
||
|
||
|
||
PROC CMHDZ_STOP_TITLE_INTRO_MOVIE(BINK_MOVIE_ID &bmID)
|
||
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ] [BAZ] CMHDZ_STOP_TITLE_INTRO_MOVIE")
|
||
|
||
STOP_BINK_MOVIE(bmID)
|
||
RELEASE_BINK_MOVIE(bmID)
|
||
|
||
ENDPROC
|
||
|
||
/// PURPOSE:
|
||
/// Ensures smooth trnasition from one bink video to another.
|
||
FUNC BOOL CMHDZ_DRAW_MOVIE_SEQUENCE(BINK_MOVIE_ID &bmID, FLOAT fRatioWidth, FLOAT fRatioHeight)
|
||
|
||
IF GET_BINK_MOVIE_TIME(bmID) >= 99.9
|
||
RETURN TRUE
|
||
ELSE
|
||
DRAW_BINK_MOVIE(bmID, cfSCREEN_CENTER, cfSCREEN_CENTER, fRatioWidth, fRatioHeight, 0.0, 255,255,255,255)
|
||
ENDIF
|
||
|
||
RETURN FALSE
|
||
|
||
ENDFUNC
|
||
|
||
PROC CMHDZ_START_MOVIE_FORCE(BINK_MOVIE_ID &bmID, STRING movieName)
|
||
|
||
CDEBUG2LN(DEBUG_MINIGAME, "[CMHDZ][BAZ] CMHDZ_START_MOVIE_FORCE - Starting movie")
|
||
STOP_BINK_MOVIE(bmID)
|
||
RELEASE_BINK_MOVIE(bmID)
|
||
bmID = SET_BINK_MOVIE(movieName)
|
||
PLAY_BINK_MOVIE(bmID)
|
||
SET_BINK_SHOULD_SKIP(bmID, TRUE)
|
||
SET_BINK_MOVIE_AUDIO_FRONTEND(bmID, TRUE)
|
||
|
||
ENDPROC
|