diff --git a/src/constants/object_constants.asm b/src/constants/object_constants.asm index b7e8aac..99f83d2 100644 --- a/src/constants/object_constants.asm +++ b/src/constants/object_constants.asm @@ -305,152 +305,152 @@ DEF NO_ACTIONS EQU (1 << NO_ACTIONS_F) DEF NO_ACTIONS_FOR EQUS "(1 << NO_ACTIONS_F) |" const_def - const ENEMY_GROUP_000 ; $00 - const ENEMY_GROUP_001 ; $01 - const ENEMY_GROUP_002 ; $02 - const ENEMY_GROUP_003 ; $03 - const ENEMY_GROUP_004 ; $04 - const ENEMY_GROUP_005 ; $05 - const ENEMY_GROUP_006 ; $06 - const ENEMY_GROUP_007 ; $07 - const ENEMY_GROUP_008 ; $08 - const ENEMY_GROUP_009 ; $09 - const ENEMY_GROUP_010 ; $0a - const ENEMY_GROUP_011 ; $0b - const ENEMY_GROUP_012 ; $0c - const ENEMY_GROUP_013 ; $0d - const ENEMY_GROUP_014 ; $0e - const ENEMY_GROUP_015 ; $0f - const ENEMY_GROUP_016 ; $10 - const ENEMY_GROUP_017 ; $11 - const ENEMY_GROUP_018 ; $12 - const ENEMY_GROUP_019 ; $13 - const ENEMY_GROUP_020 ; $14 - const ENEMY_GROUP_021 ; $15 - const ENEMY_GROUP_022 ; $16 - const ENEMY_GROUP_023 ; $17 - const ENEMY_GROUP_024 ; $18 - const ENEMY_GROUP_025 ; $19 - const ENEMY_GROUP_026 ; $1a - const ENEMY_GROUP_027 ; $1b - const ENEMY_GROUP_028 ; $1c - const ENEMY_GROUP_029 ; $1d - const ENEMY_GROUP_030 ; $1e - const ENEMY_GROUP_031 ; $1f - const ENEMY_GROUP_032 ; $20 - const ENEMY_GROUP_033 ; $21 - const ENEMY_GROUP_034 ; $22 - const ENEMY_GROUP_035 ; $23 - const ENEMY_GROUP_036 ; $24 - const ENEMY_GROUP_037 ; $25 - const ENEMY_GROUP_038 ; $26 - const ENEMY_GROUP_039 ; $27 - const ENEMY_GROUP_040 ; $28 - const ENEMY_GROUP_041 ; $29 - const ENEMY_GROUP_042 ; $2a - const ENEMY_GROUP_043 ; $2b - const ENEMY_GROUP_044 ; $2c - const ENEMY_GROUP_045 ; $2d - const ENEMY_GROUP_046 ; $2e - const ENEMY_GROUP_047 ; $2f - const ENEMY_GROUP_048 ; $30 - const ENEMY_GROUP_049 ; $31 - const ENEMY_GROUP_050 ; $32 - const ENEMY_GROUP_051 ; $33 - const ENEMY_GROUP_052 ; $34 - const ENEMY_GROUP_053 ; $35 - const ENEMY_GROUP_054 ; $36 - const ENEMY_GROUP_055 ; $37 - const ENEMY_GROUP_056 ; $38 - const ENEMY_GROUP_057 ; $39 - const ENEMY_GROUP_058 ; $3a - const ENEMY_GROUP_059 ; $3b - const ENEMY_GROUP_060 ; $3c - const ENEMY_GROUP_061 ; $3d - const ENEMY_GROUP_062 ; $3e - const ENEMY_GROUP_063 ; $3f - const ENEMY_GROUP_064 ; $40 - const ENEMY_GROUP_065 ; $41 - const ENEMY_GROUP_066 ; $42 - const ENEMY_GROUP_067 ; $43 - const ENEMY_GROUP_068 ; $44 - const ENEMY_GROUP_069 ; $45 - const ENEMY_GROUP_070 ; $46 - const ENEMY_GROUP_071 ; $47 - const ENEMY_GROUP_072 ; $48 - const ENEMY_GROUP_073 ; $49 - const ENEMY_GROUP_074 ; $4a - const ENEMY_GROUP_075 ; $4b - const ENEMY_GROUP_076 ; $4c - const ENEMY_GROUP_077 ; $4d - const ENEMY_GROUP_078 ; $4e - const ENEMY_GROUP_079 ; $4f - const ENEMY_GROUP_080 ; $50 - const ENEMY_GROUP_081 ; $51 - const ENEMY_GROUP_082 ; $52 - const ENEMY_GROUP_083 ; $53 - const ENEMY_GROUP_084 ; $54 - const ENEMY_GROUP_085 ; $55 - const ENEMY_GROUP_086 ; $56 - const ENEMY_GROUP_087 ; $57 - const ENEMY_GROUP_088 ; $58 - const ENEMY_GROUP_089 ; $59 - const ENEMY_GROUP_090 ; $5a - const ENEMY_GROUP_091 ; $5b - const ENEMY_GROUP_092 ; $5c - const ENEMY_GROUP_093 ; $5d - const ENEMY_GROUP_094 ; $5e - const ENEMY_GROUP_095 ; $5f - const ENEMY_GROUP_096 ; $60 - const ENEMY_GROUP_097 ; $61 - const ENEMY_GROUP_098 ; $62 - const ENEMY_GROUP_099 ; $63 - const ENEMY_GROUP_100 ; $64 - const ENEMY_GROUP_101 ; $65 - const ENEMY_GROUP_102 ; $66 - const ENEMY_GROUP_103 ; $67 - const ENEMY_GROUP_104 ; $68 - const ENEMY_GROUP_105 ; $69 - const ENEMY_GROUP_106 ; $6a - const ENEMY_GROUP_107 ; $6b - const ENEMY_GROUP_108 ; $6c - const ENEMY_GROUP_109 ; $6d - const ENEMY_GROUP_110 ; $6e - const ENEMY_GROUP_111 ; $6f - const ENEMY_GROUP_112 ; $70 - const ENEMY_GROUP_113 ; $71 - const ENEMY_GROUP_114 ; $72 - const ENEMY_GROUP_115 ; $73 - const ENEMY_GROUP_116 ; $74 - const ENEMY_GROUP_117 ; $75 - const ENEMY_GROUP_118 ; $76 - const ENEMY_GROUP_119 ; $77 - const ENEMY_GROUP_120 ; $78 - const ENEMY_GROUP_121 ; $79 - const ENEMY_GROUP_122 ; $7a - const ENEMY_GROUP_123 ; $7b - const ENEMY_GROUP_124 ; $7c - const ENEMY_GROUP_125 ; $7d - const ENEMY_GROUP_126 ; $7e - const ENEMY_GROUP_127 ; $7f - const ENEMY_GROUP_128 ; $80 - const ENEMY_GROUP_129 ; $81 - const ENEMY_GROUP_130 ; $82 - const ENEMY_GROUP_131 ; $83 - const ENEMY_GROUP_132 ; $84 - const ENEMY_GROUP_133 ; $85 - const ENEMY_GROUP_134 ; $86 - const ENEMY_GROUP_135 ; $87 - const ENEMY_GROUP_136 ; $88 - const ENEMY_GROUP_137 ; $89 - const ENEMY_GROUP_138 ; $8a - const ENEMY_GROUP_139 ; $8b - const ENEMY_GROUP_140 ; $8c - const ENEMY_GROUP_141 ; $8d - const ENEMY_GROUP_142 ; $8e - const ENEMY_GROUP_143 ; $8f - const ENEMY_GROUP_144 ; $90 - const ENEMY_GROUP_145 ; $91 -DEF NUM_ENEMY_GROUPS EQU const_value + const OBJECT_GROUP_000 ; $00 + const OBJECT_GROUP_001 ; $01 + const OBJECT_GROUP_002 ; $02 + const OBJECT_GROUP_003 ; $03 + const OBJECT_GROUP_004 ; $04 + const OBJECT_GROUP_005 ; $05 + const OBJECT_GROUP_006 ; $06 + const OBJECT_GROUP_007 ; $07 + const OBJECT_GROUP_008 ; $08 + const OBJECT_GROUP_009 ; $09 + const OBJECT_GROUP_010 ; $0a + const OBJECT_GROUP_011 ; $0b + const OBJECT_GROUP_012 ; $0c + const OBJECT_GROUP_013 ; $0d + const OBJECT_GROUP_014 ; $0e + const OBJECT_GROUP_015 ; $0f + const OBJECT_GROUP_016 ; $10 + const OBJECT_GROUP_017 ; $11 + const OBJECT_GROUP_018 ; $12 + const OBJECT_GROUP_019 ; $13 + const OBJECT_GROUP_020 ; $14 + const OBJECT_GROUP_021 ; $15 + const OBJECT_GROUP_022 ; $16 + const OBJECT_GROUP_023 ; $17 + const OBJECT_GROUP_024 ; $18 + const OBJECT_GROUP_025 ; $19 + const OBJECT_GROUP_026 ; $1a + const OBJECT_GROUP_027 ; $1b + const OBJECT_GROUP_028 ; $1c + const OBJECT_GROUP_029 ; $1d + const OBJECT_GROUP_030 ; $1e + const OBJECT_GROUP_031 ; $1f + const OBJECT_GROUP_032 ; $20 + const OBJECT_GROUP_033 ; $21 + const OBJECT_GROUP_034 ; $22 + const OBJECT_GROUP_035 ; $23 + const OBJECT_GROUP_036 ; $24 + const OBJECT_GROUP_037 ; $25 + const OBJECT_GROUP_038 ; $26 + const OBJECT_GROUP_039 ; $27 + const OBJECT_GROUP_040 ; $28 + const OBJECT_GROUP_041 ; $29 + const OBJECT_GROUP_042 ; $2a + const OBJECT_GROUP_043 ; $2b + const OBJECT_GROUP_044 ; $2c + const OBJECT_GROUP_045 ; $2d + const OBJECT_GROUP_046 ; $2e + const OBJECT_GROUP_047 ; $2f + const OBJECT_GROUP_048 ; $30 + const OBJECT_GROUP_049 ; $31 + const OBJECT_GROUP_050 ; $32 + const OBJECT_GROUP_051 ; $33 + const OBJECT_GROUP_052 ; $34 + const OBJECT_GROUP_053 ; $35 + const OBJECT_GROUP_054 ; $36 + const OBJECT_GROUP_055 ; $37 + const OBJECT_GROUP_056 ; $38 + const OBJECT_GROUP_057 ; $39 + const OBJECT_GROUP_058 ; $3a + const OBJECT_GROUP_059 ; $3b + const OBJECT_GROUP_060 ; $3c + const OBJECT_GROUP_061 ; $3d + const OBJECT_GROUP_062 ; $3e + const OBJECT_GROUP_063 ; $3f + const OBJECT_GROUP_064 ; $40 + const OBJECT_GROUP_065 ; $41 + const OBJECT_GROUP_066 ; $42 + const OBJECT_GROUP_067 ; $43 + const OBJECT_GROUP_068 ; $44 + const OBJECT_GROUP_069 ; $45 + const OBJECT_GROUP_070 ; $46 + const OBJECT_GROUP_071 ; $47 + const OBJECT_GROUP_072 ; $48 + const OBJECT_GROUP_073 ; $49 + const OBJECT_GROUP_074 ; $4a + const OBJECT_GROUP_075 ; $4b + const OBJECT_GROUP_076 ; $4c + const OBJECT_GROUP_077 ; $4d + const OBJECT_GROUP_078 ; $4e + const OBJECT_GROUP_079 ; $4f + const OBJECT_GROUP_080 ; $50 + const OBJECT_GROUP_081 ; $51 + const OBJECT_GROUP_082 ; $52 + const OBJECT_GROUP_083 ; $53 + const OBJECT_GROUP_084 ; $54 + const OBJECT_GROUP_085 ; $55 + const OBJECT_GROUP_086 ; $56 + const OBJECT_GROUP_087 ; $57 + const OBJECT_GROUP_088 ; $58 + const OBJECT_GROUP_089 ; $59 + const OBJECT_GROUP_090 ; $5a + const OBJECT_GROUP_091 ; $5b + const OBJECT_GROUP_092 ; $5c + const OBJECT_GROUP_093 ; $5d + const OBJECT_GROUP_094 ; $5e + const OBJECT_GROUP_095 ; $5f + const OBJECT_GROUP_096 ; $60 + const OBJECT_GROUP_097 ; $61 + const OBJECT_GROUP_098 ; $62 + const OBJECT_GROUP_099 ; $63 + const OBJECT_GROUP_100 ; $64 + const OBJECT_GROUP_101 ; $65 + const OBJECT_GROUP_102 ; $66 + const OBJECT_GROUP_103 ; $67 + const OBJECT_GROUP_104 ; $68 + const OBJECT_GROUP_105 ; $69 + const OBJECT_GROUP_106 ; $6a + const OBJECT_GROUP_107 ; $6b + const OBJECT_GROUP_108 ; $6c + const OBJECT_GROUP_109 ; $6d + const OBJECT_GROUP_110 ; $6e + const OBJECT_GROUP_111 ; $6f + const OBJECT_GROUP_112 ; $70 + const OBJECT_GROUP_113 ; $71 + const OBJECT_GROUP_114 ; $72 + const OBJECT_GROUP_115 ; $73 + const OBJECT_GROUP_116 ; $74 + const OBJECT_GROUP_117 ; $75 + const OBJECT_GROUP_118 ; $76 + const OBJECT_GROUP_119 ; $77 + const OBJECT_GROUP_120 ; $78 + const OBJECT_GROUP_121 ; $79 + const OBJECT_GROUP_122 ; $7a + const OBJECT_GROUP_123 ; $7b + const OBJECT_GROUP_124 ; $7c + const OBJECT_GROUP_125 ; $7d + const OBJECT_GROUP_126 ; $7e + const OBJECT_GROUP_127 ; $7f + const OBJECT_GROUP_128 ; $80 + const OBJECT_GROUP_129 ; $81 + const OBJECT_GROUP_130 ; $82 + const OBJECT_GROUP_131 ; $83 + const OBJECT_GROUP_132 ; $84 + const OBJECT_GROUP_133 ; $85 + const OBJECT_GROUP_134 ; $86 + const OBJECT_GROUP_135 ; $87 + const OBJECT_GROUP_136 ; $88 + const OBJECT_GROUP_137 ; $89 + const OBJECT_GROUP_138 ; $8a + const OBJECT_GROUP_139 ; $8b + const OBJECT_GROUP_140 ; $8c + const OBJECT_GROUP_141 ; $8d + const OBJECT_GROUP_142 ; $8e + const OBJECT_GROUP_143 ; $8f + const OBJECT_GROUP_144 ; $90 + const OBJECT_GROUP_145 ; $91 +DEF NUM_OBJECT_GROUPS EQU const_value const_def 240 - const ENEMY_GROUP_HIDDEN_FIGURE ; $f0 + const OBJECT_GROUP_HIDDEN_FIGURE ; $f0 diff --git a/src/data/object_data.asm b/src/data/object_data.asm new file mode 100644 index 0000000..876d59f --- /dev/null +++ b/src/data/object_data.asm @@ -0,0 +1,136 @@ +; \1 OAM ptr +; \2 unknown +; \3 interaction type +; \4 collision box top +; \5 update function +; \6 object flags +MACRO object_data +assert (BANK(\1) - BANK("Objects OAM 1")) | (BANK(\5) - BANK("Object Functions 1")) == (BANK(\5) - BANK("Object Functions 1")) + dn (BANK(\5) - BANK("Object Functions 1")), \2 + db \3, \4 + dw \1 + dw \5 + db \6 +ENDM + +DummyObjectData: object_data OAM_18007b, $0, OBJ_INTERACTION_00, 0, DummyObjectFunc, $0 +GreyChestData: object_data OAM_18c000, $1, OBJ_INTERACTION_GREY_TREASURE | HEAVY_OBJ, -24, GreyChestFunc, $0 +RedChestData: object_data OAM_18c000, $1, OBJ_INTERACTION_RED_TREASURE | HEAVY_OBJ, -24, RedChestFunc, $0 +GreenChestData: object_data OAM_18c000, $1, OBJ_INTERACTION_GREEN_TREASURE | HEAVY_OBJ, -24, GreenChestFunc, $0 +BlueChestData: object_data OAM_18c000, $1, OBJ_INTERACTION_BLUE_TREASURE | HEAVY_OBJ, -24, BlueChestFunc, $0 +GreyKeyData: object_data OAM_18c000, $2, OBJ_INTERACTION_GREY_KEY, -24, KeyFunc, $0 +RedKeyData: object_data OAM_18c000, $2, OBJ_INTERACTION_RED_KEY, -24, KeyFunc, $0 +GreenKeyData: object_data OAM_18c000, $2, OBJ_INTERACTION_GREEN_KEY, -24, KeyFunc, $0 +BlueKeyData: object_data OAM_18c000, $2, OBJ_INTERACTION_BLUE_KEY, -24, KeyFunc, $0 +MusicalCoinData: object_data OAM_18c000, $3, OBJ_INTERACTION_MUSICAL_COIN, -25, MusicalCoinFunc, $0 +SpearheadData: object_data OAM_18007b, $0, OBJ_INTERACTION_01, -14, SpearheadFunc, OBJFLAG_PRIORITY +FutamoguData: object_data OAM_180564, $1, OBJ_INTERACTION_WALKABLE | HEAVY_OBJ, -17, FutamoguFunc, OBJFLAG_PRIORITY +WebberData: object_data OAM_180242, $2, OBJ_INTERACTION_WALKABLE | HEAVY_OBJ, -16, WebberFunc, OBJFLAG_PRIORITY +TorchData: object_data OAM_180838, $4, OBJ_INTERACTION_FIRE, -16, TorchFunc, $0 +TorchNoEmbersData: object_data OAM_180838, $6, OBJ_INTERACTION_FIRE, -16, TorchNoEmbersFunc, $0 +FlameBlockTorchData: object_data OAM_180838, $7, OBJ_INTERACTION_UNLIT_TORCH, -16, FlameBlockTorchFunc, $0 +FlameBlockData: object_data OAM_1895ec, $b, OBJ_INTERACTION_SOLID, -30, FlameBlockFunc, $0 +StoveData: object_data OAM_1896e1, $c, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -32, StoveFunc, $0 +UnusedFlowerData: object_data OAM_180916, $6, OBJ_INTERACTION_01, 0, UnusedFlowerFunc, $0 +CountRichtertoffenData: object_data OAM_1809ff, $7, OBJ_INTERACTION_RICHTERTOFFEN | HEAVY_OBJ, -18, CountRichtertoffenFunc, OBJFLAG_PRIORITY +HebariiData: object_data OAM_18a703, $0, OBJ_INTERACTION_HEBARII, -15, HebariiFunc, $0 +ParaGoomData: object_data OAM_180b43, $9, OBJ_INTERACTION_01, -12, ParaGoomFunc, OBJFLAG_PRIORITY +DoughnuteerData: object_data OAM_180ea7, $a, OBJ_INTERACTION_0B, -14, DoughnuteerFunc, OBJFLAG_PRIORITY +OmodonmekaData: object_data OAM_18136c, $b, OBJ_INTERACTION_01, -25, OmodonmekaFunc, OBJFLAG_PRIORITY +OmodonmekaWithOmodon1Data: object_data OAM_181189, $c, OBJ_INTERACTION_01, -25, OmodonmekaWithOmodon1Func, OBJFLAG_PRIORITY +OmodonmekaWithOmodon2Data: object_data OAM_181189, $c, OBJ_INTERACTION_01, -25, OmodonmekaWithOmodon2Func, OBJFLAG_PRIORITY +KushimushiVerticalData: object_data OAM_18160c, $c, OBJ_INTERACTION_BOTTOM_STING, -13, KushimushiVerticalFunc, $0 +KushimushiHorizontalData: object_data OAM_18160c, $d, OBJ_INTERACTION_FRONT_STING, -12, KushimushiHorizontalFunc, $0 +MizuuoData: object_data OAM_188395, $4, OBJ_INTERACTION_0A, -10, MizuuoFunc, $0 +BigLeafSpawnerData: object_data OAM_180000, $b, OBJ_INTERACTION_0B, 0, BigLeafSpawnerFunc, $0 +SmallLeafData: object_data OAM_181be4, $8, OBJ_INTERACTION_WALKABLE, -17, SmallLeafFunc, $0 +SilkyData: object_data OAM_18181e, $c, OBJ_INTERACTION_01, -8, SilkyFunc, OBJFLAG_PRIORITY +OrangeBirdData: object_data OAM_1819e3, $f, OBJ_INTERACTION_ORANGE_BIRD, -13, BirdFunc, OBJFLAG_PRIORITY +BlueBirdData: object_data OAM_1819e3, $d, OBJ_INTERACTION_FRONT_STING, -13, BirdFunc, OBJFLAG_PRIORITY +SnakeData: object_data OAM_189783, $d, OBJ_INTERACTION_WALKABLE | HEAVY_OBJ, -31, SnakeFunc, $0 +ApplebyData: object_data OAM_185a1c, $d, OBJ_INTERACTION_01, -6, ApplebyFunc, $0 +Barrel1Data: object_data OAM_181b0f, $4, OBJ_INTERACTION_31 | HEAVY_OBJ, -15, Barrel1Func, OBJFLAG_PRIORITY +Barrel2Data: object_data OAM_181b0f, $5, OBJ_INTERACTION_3B, -15, Barrel2Func, $0 +RockData: object_data OAM_18ab5c, $3, OBJ_INTERACTION_3B, -15, RockFunc, $0 +RedPrinceFroggyData: object_data OAM_184000, $1, OBJ_INTERACTION_PRINCE_FROGGY | HEAVY_OBJ, -16, RedPrinceFroggyFunc, OBJFLAG_PRIORITY +GreyPrinceFroggyData: object_data OAM_184000, $1, OBJ_INTERACTION_PRINCE_FROGGY | HEAVY_OBJ, -26, GreyPrinceFroggyFunc, OBJFLAG_PRIORITY +HammerBotData: object_data OAM_18422f, $2, OBJ_INTERACTION_01 | HEAVY_OBJ, -18, HammerBotFunc, OBJFLAG_PRIORITY +TeruteruData: object_data OAM_18496f, $0, OBJ_INTERACTION_01, -20, TeruteruFunc, OBJFLAG_PRIORITY +MadSciensteinData: object_data OAM_184ab2, $5, OBJ_INTERACTION_01 | HEAVY_OBJ, -18, MadSciensteinFunc, OBJFLAG_PRIORITY +SeeingEyeDoorData: object_data OAM_184ab2, $3, OBJ_INTERACTION_SOLID | HEAVY_OBJ, -24, SeeingEyeDoorFunc, OBJFLAG_PRIORITY +PneumoData: object_data OAM_184db9, $6, OBJ_INTERACTION_PNEUMO, -16, PneumoFunc, OBJFLAG_PRIORITY +ElectricLampData: object_data OAM_184eeb, $7, OBJ_INTERACTION_0B, 0, ElectricLampFunc, $0 +ZombieData: object_data OAM_184ffa, $9, OBJ_INTERACTION_0B | HEAVY_OBJ, -6, ZombieFunc, OBJFLAG_PRIORITY +FireBotData: object_data OAM_184755, $c, OBJ_INTERACTION_0B, -14, FireBotFunc, OBJFLAG_PRIORITY +SpearBotData: object_data OAM_18440a, $b, OBJ_INTERACTION_01, -14, SpearBotFunc, OBJFLAG_PRIORITY +BeamBotData: object_data OAM_1845aa, $4, OBJ_INTERACTION_01, -14, BeamBotFunc, OBJFLAG_PRIORITY +SunData: object_data OAM_1851df, $a, OBJ_INTERACTION_FIRE, -20, SunFunc, $0 +MoonData: object_data OAM_1854a2, $a, OBJ_INTERACTION_ELECTRIC, -20, MoonFunc, $0 +KobattoData: object_data OAM_185788, $0, OBJ_INTERACTION_VAMPIRE, -12, KobattoFunc, OBJFLAG_PRIORITY +HandData: object_data OAM_185893, $6, OBJ_INTERACTION_HAND, -20, HandFunc, OBJFLAG_PRIORITY +BubbleHoleData: object_data OAM_185b98, $e, OBJ_INTERACTION_0B, 0, BubbleHoleFunc, $0 +BrrrBearData: object_data OAM_188000, $0, OBJ_INTERACTION_ICE | HEAVY_OBJ, -18, BrrrBearFunc, OBJFLAG_PRIORITY +CartLeftData: object_data OAM_188279, $2, OBJ_INTERACTION_SOLID, -16, CartFunc, OBJFLAG_PRIORITY +CartRightData: object_data OAM_188279, $3, OBJ_INTERACTION_SOLID, -16, CartFunc, OBJFLAG_PRIORITY +CartVariableLeftData: object_data OAM_188279, $2, OBJ_INTERACTION_SOLID, -16, CartVariableFunc, OBJFLAG_PRIORITY +CartVariableRightData: object_data OAM_188279, $3, OBJ_INTERACTION_SOLID, -16, CartVariableFunc, OBJFLAG_PRIORITY +RoboMouseData: object_data OAM_188555, $6, OBJ_INTERACTION_ROBO_MOUSE, -20, RoboMouseFunc, OBJFLAG_PRIORITY +TogebaData: object_data OAM_188b56, $7, OBJ_INTERACTION_FULL_STING, -6, TogebaFunc, OBJFLAG_PRIORITY +HaridamaData: object_data OAM_188c7a, $8, OBJ_INTERACTION_06, -13, HaridamaFunc, OBJFLAG_PRIORITY +OwlData: object_data OAM_188e16, $9, OBJ_INTERACTION_0A, -20, OwlFunc, OBJFLAG_PRIORITY +ZipLine1Data: object_data OAM_18834a, $4, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY +ZipLine2Data: object_data OAM_18834a, $5, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY +ZipLine3Data: object_data OAM_18834a, $6, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY +ZipLine4Data: object_data OAM_18834a, $7, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY +ZipLine5Data: object_data OAM_18834a, $8, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY +AnonsterData: object_data OAM_190000, $0, OBJ_INTERACTION_0B, -29, AnonsterFunc, $0 +SilkPlatformsData: object_data OAM_190000, $2, OBJ_INTERACTION_0B, 0, SilkPlatformsFunc, $0 +FallingSnowSpawnerData: object_data OAM_1893fe, $9, OBJ_INTERACTION_0B, 0, FallingSnowSpawnerFunc, $0 +DollBoyData: object_data OAM_19105c, $8, OBJ_INTERACTION_0B | HEAVY_OBJ, -28, DollBoyFunc, $0 +HammerPlatformSpawnerData: object_data OAM_19105c, $5, OBJ_INTERACTION_0B, 0, HammerPlatformSpawnerFunc, $0 +DollBoyBarrel1Data: object_data OAM_19105c, $1, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -31, DollBoyBarrel1Func, $0 +DollBoyBarrel2Data: object_data OAM_19105c, $2, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -31, DollBoyBarrel2Func, $0 +DollBoyBarrel3Data: object_data OAM_19105c, $4, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -31, DollBoyBarrel3Func, $0 +WormwouldData: object_data OAM_194000, $7, OBJ_INTERACTION_0B | HEAVY_OBJ, -26, WormwouldFunc, $0 +PalmTreeSpawnerData: object_data OAM_194000, $9, OBJ_INTERACTION_0B, 0, PalmTreeSpawnerFunc, $0 +PillarPlatform1Data: object_data OAM_18a5ae, $0, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -16, PillarPlatform1Func, $0 +PillarPlatform2Data: object_data OAM_18a5ae, $0, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -16, PillarPlatform2Func, $0 +PillarPlatform3Data: object_data OAM_18a5ae, $0, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -16, PillarPlatform3Func, $0 +WaterDropData: object_data OAM_18a5cc, $1, OBJ_INTERACTION_WATER_DROP, -8, WaterDropFunc, OBJFLAG_PRIORITY +YellowBellyBodyData: object_data OAM_19153c, $b, OBJ_INTERACTION_36 | HEAVY_OBJ, -16, YellowBellyBodyFunc, OBJFLAG_PRIORITY +YellowBellyPlatformData: object_data OAM_1926dc, $f, OBJ_INTERACTION_SOLID, -17, YellowBellyPlatformFunc, $0 +NobiiruLeftData: object_data OAM_181cd3, $a, OBJ_INTERACTION_0B, -12, NobiiruFunc, $0 +NobiiruRightData: object_data OAM_181cd3, $b, OBJ_INTERACTION_0B, -12, NobiiruFunc, $0 +ClearGate1Data: object_data OAM_181c47, $e, OBJ_INTERACTION_SOLID, -31, ClearGate1Func, $0 +ClearGate2Data: object_data OAM_181c47, $e, OBJ_INTERACTION_SOLID, -31, ClearGate2Func, $0 +ClearGate3Data: object_data OAM_181c47, $e, OBJ_INTERACTION_SOLID, -31, ClearGate3Func, $0 +PesceData: object_data OAM_1927d5, $5, OBJ_INTERACTION_PESCE | HEAVY_OBJ, -14, PesceFunc, OBJFLAG_PRIORITY +DragonflySpawnerData: object_data OAM_190000, $6, OBJ_INTERACTION_0B, 0, DragonflySpawnerFunc, $0 +FlySpawnerData: object_data OAM_190000, $7, OBJ_INTERACTION_0B, 0, FlySpawnerFunc, $0 +StrongWaterCurrentData: object_data OAM_1927d5, $0, OBJ_INTERACTION_51 | HEAVY_OBJ, -26, StrongWaterCurrentFunc, OBJFLAG_PRIORITY +Dragonfly2Data: object_data OAM_1927d5, $1, OBJ_INTERACTION_WALKABLE, -9, Dragonfly2Func, OBJFLAG_PRIORITY +TadpoleSpawnerData: object_data OAM_188000, $2, OBJ_INTERACTION_0B, 0, TadpoleSpawnerFunc, $0 +WaterSparkData: object_data OAM_18a7fd, $d, OBJ_INTERACTION_YELLOW_BELLY_ARROW, -13, WaterSparkFunc, $0 +SmallOctohonData: object_data OAM_18a895, $0, OBJ_INTERACTION_06, 0, SmallOctohonFunc, OBJFLAG_PRIORITY +BigOctohonData: object_data OAM_18a895, $1, OBJ_INTERACTION_06, -9, BigOctohonFunc, $0 +SparkHorizontalData: object_data OAM_18ab04, $2, OBJ_INTERACTION_FULL_STING, -11, SparkFunc, OBJFLAG_PRIORITY +SparkVerticalData: object_data OAM_18ab04, $0, OBJ_INTERACTION_FULL_STING, -11, SparkFunc, OBJFLAG_PRIORITY +ScowlerData: object_data OAM_194895, $0, OBJ_INTERACTION_41 | HEAVY_OBJ, -32, ScowlerFunc, $0 +FloatingRingSpawnerData: object_data OAM_194895, $4, OBJ_INTERACTION_0B, 0, FloatingRingSpawnerFunc, $0 +FireData: object_data OAM_18aba0, $4, OBJ_INTERACTION_FIRE, -24, FireFunc, $0 +JamanoData: object_data OAM_19501c, $6, OBJ_INTERACTION_JAMANO, -10, JamanoFunc, $0 +SkullSpawnerData: object_data OAM_19501c, $7, OBJ_INTERACTION_0B, -10, SkullSpawnerFunc, $0 +HatPlatformData: object_data OAM_19501c, $9, OBJ_INTERACTION_31, -4, HatPlatformFunc, OBJFLAG_PRIORITY +MuddeeData: object_data OAM_195699, $a, OBJ_INTERACTION_0B, -8, MuddeeFunc, $0 +Turtle1Data: object_data OAM_195699, $b, OBJ_INTERACTION_TURTLE, -2, Turtle1Func, OBJFLAG_PRIORITY +Turtle2Data: object_data OAM_195699, $c, OBJ_INTERACTION_TURTLE, -2, Turtle2Func, OBJFLAG_PRIORITY +WolfenbossData: object_data OAM_195e06, $d, OBJ_INTERACTION_0B | HEAVY_OBJ, 0, WolfenbossFunc, $0 +WolfenbossPlatformData: object_data OAM_195e06, $a, OBJ_INTERACTION_SOLID, -1, WolfenbossPlatformFunc, $0 +ShootData: object_data OAM_196583, $0, OBJ_INTERACTION_0B | HEAVY_OBJ, -32, ShootFunc, $0 +GKTortoiseData: object_data OAM_196583, $1, OBJ_INTERACTION_4E | HEAVY_OBJ, -20, GKTortoiseFunc, $0 +ShootGoalCounterData: object_data OAM_196583, $a, OBJ_INTERACTION_0B, -32, ShootGoalCounterFunc, $0 +WarioGoalCounterData: object_data OAM_196583, $b, OBJ_INTERACTION_0B, -32, WarioGoalCounterFunc, $0 +GKTortoisePlatformData: object_data OAM_196583, $5, OBJ_INTERACTION_31, -10, GKTortoisePlatformFunc, $0 +WallCrackClosedData: object_data OAM_18c806, $6, OBJ_INTERACTION_0B, 0, WallCrackClosedFunc, $0 +WallCrackOpenData: object_data OAM_18c806, $6, OBJ_INTERACTION_0B, 0, WallCrackOpenFunc, $0 +HiddenFigureData: object_data OAM_18c88a, $a, OBJ_INTERACTION_0B, 0, HiddenFigureFunc, $0 diff --git a/src/data/object_groups.asm b/src/data/object_groups.asm new file mode 100644 index 0000000..3fcbeb2 --- /dev/null +++ b/src/data/object_groups.asm @@ -0,0 +1,2192 @@ +ObjectGroup0: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw FutamoguGfx + dw TorchGfx + + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup1: + db $00 + + dw SilkyGfx + dw CountRichtertoffenGfx + dw DoughnuteerGfx + dw BeamBotGfx + + dw DummyObjectData + dw CountRichtertoffenData + dw DoughnuteerData + dw BeamBotData + dw NULL + +INCLUDE "gfx/pals/silky.pal" +INCLUDE "gfx/pals/count_richtertoffen.pal" +INCLUDE "gfx/pals/doughnuteer.pal" +INCLUDE "gfx/pals/beam_bot.pal" + +ObjectGroup2: + db $00 + + dw SpearheadGfx + dw BirdGfx + dw FutamoguGfx + dw TorchGfx + + dw SpearheadData + dw BlueBirdData + dw FutamoguData + dw TorchData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/blue_bird.pal" +INCLUDE "gfx/pals/futamogu1.pal" +INCLUDE "gfx/pals/torch.pal" + +ObjectGroup3: + db $00 + + dw SilkyGfx + dw CountRichtertoffenGfx + dw ClearGate2Gfx + dw OmodonmekaGfx + + dw SilkyData + dw CountRichtertoffenData + dw ClearGate2Data + dw OmodonmekaData + dw NULL + +INCLUDE "gfx/pals/silky.pal" +INCLUDE "gfx/pals/count_richtertoffen.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/omodonmeka.pal" + +ObjectGroup4: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw OmodonGfx + dw OmodonmekaGfx + + dw DummyObjectData + dw DummyObjectData + dw OmodonmekaWithOmodon1Data + dw OmodonmekaData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/webber1.pal" +INCLUDE "gfx/pals/omodon.pal" +INCLUDE "gfx/pals/omodonmeka.pal" + +ObjectGroup5: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw OmodonGfx + dw OmodonmekaGfx + + dw DummyObjectData + dw DummyObjectData + dw OmodonmekaWithOmodon2Data + dw OmodonmekaData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/webber1.pal" +INCLUDE "gfx/pals/omodon.pal" +INCLUDE "gfx/pals/omodonmeka.pal" + +ObjectGroup6: + db $00 + + dw SpearheadGfx + dw KushimushiGfx + dw FutamoguGfx + dw TorchGfx + + dw DummyObjectData + dw KushimushiVerticalData + dw DummyObjectData + dw DummyObjectData + dw KushimushiHorizontalData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/kushimushi.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup7: + db $00 + + dw MizuuoGfx + dw WebberGfx + dw FutamoguGfx + dw TorchGfx + + dw MizuuoData + dw NULL + +INCLUDE "gfx/pals/mizuuo.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup8: + db $00 + + dw SpearheadGfx + dw KushimushiGfx + dw BigLeafGfx + dw TorchGfx + + dw DummyObjectData + dw KushimushiVerticalData + dw BigLeafSpawnerData + dw DummyObjectData + dw KushimushiHorizontalData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/kushimushi.pal" +INCLUDE "gfx/pals/big_leaf.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup9: + db $00 + + dw MizuuoGfx + dw WebberGfx + dw BigLeafGfx + dw TorchGfx + + dw MizuuoData + dw DummyObjectData + dw BigLeafSpawnerData + dw NULL + +INCLUDE "gfx/pals/mizuuo.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/big_leaf.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup10: + db $00 + + dw SilkyGfx + dw BirdGfx + dw DoughnuteerGfx + dw TorchGfx + + dw SilkyData + dw OrangeBirdData + dw DoughnuteerData + dw NULL + +INCLUDE "gfx/pals/silky.pal" +INCLUDE "gfx/pals/orange_bird.pal" +INCLUDE "gfx/pals/doughnuteer.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup11: + db $00 + + dw SnakeGfx + dw ParaGoomGfx + dw DoughnuteerGfx + dw FireBotGfx + + dw SnakeData + dw ParaGoomData + dw DoughnuteerData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/doughnuteer.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup12: + db $00 + + dw SnakeGfx + dw ParaGoomGfx + dw ZombieGfx + dw FireBotGfx + + dw SnakeData + dw ParaGoomData + dw ZombieData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/zombie.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup13: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw FutamoguGfx + dw SmallLeafGfx + + dw SpearheadData + dw WebberData + dw FutamoguData + dw SmallLeafData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/webber2.pal" +INCLUDE "gfx/pals/futamogu1.pal" +INCLUDE "gfx/pals/small_leaf.pal" + +ObjectGroup14: + db $00 + + dw SpearheadGfx + dw ApplebyGfx + dw FutamoguGfx + dw TorchGfx + + dw SpearheadData + dw ApplebyData + dw FutamoguData + dw TorchData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/appleby.pal" +INCLUDE "gfx/pals/futamogu1.pal" +INCLUDE "gfx/pals/torch.pal" + +ObjectGroup15: + db $00 + + dw PrinceFroggyGfx + dw HammerBotGfx + dw SpearBotGfx + dw BarrelGfx + + dw RedPrinceFroggyData + dw HammerBotData + dw SpearBotData + dw Barrel2Data + dw NULL + +INCLUDE "gfx/pals/prince_froggy1.pal" +INCLUDE "gfx/pals/hammer_bot.pal" +INCLUDE "gfx/pals/spear_bot.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup16: + db $00 + + dw MadSciensteinGfx + dw ParaGoomGfx + dw FutamoguGfx + dw TeruteruGfx + + dw MadSciensteinData + dw ParaGoomData + dw FutamoguData + dw TeruteruData + dw SeeingEyeDoorData + dw NULL + +INCLUDE "gfx/pals/mad_scienstein.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/futamogu1.pal" +INCLUDE "gfx/pals/teruteru.pal" + +ObjectGroup17: + db $00 + + dw SpearheadGfx + dw PneumoGfx + dw FutamoguGfx + dw ClearGate3Gfx + + dw SpearheadData + dw PneumoData + dw DummyObjectData + dw ClearGate3Data + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/pneumo.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/clear_gate.pal" + +ObjectGroup18: + db $00 + + dw MadSciensteinGfx + dw ParaGoomGfx + dw FutamoguGfx + dw ElectricLampGfx + + dw MadSciensteinData + dw ParaGoomData + dw DummyObjectData + dw ElectricLampData + dw SeeingEyeDoorData + dw NULL + +INCLUDE "gfx/pals/mad_scienstein.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/electric_lamp.pal" + +ObjectGroup19: + db $00 + + dw Sun1Gfx + dw Sun2Gfx + dw ClearGate2Gfx + dw TorchGfx + + dw SunData + dw DummyObjectData + dw ClearGate2Data + dw NULL + +INCLUDE "gfx/pals/sun.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup20: + db $00 + + dw Moon1Gfx + dw Moon2Gfx + dw ClearGate2Gfx + dw TorchGfx + + dw MoonData + dw DummyObjectData + dw ClearGate2Data + dw NULL + +INCLUDE "gfx/pals/moon.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup21: + db $00 + + dw UnusedFlowerGfx + dw HammerBotGfx + dw SpearBotGfx + dw TorchGfx + + dw UnusedFlowerData + dw HammerBotData + dw SpearBotData + dw TorchData + dw NULL + +INCLUDE "gfx/pals/unused_flower.pal" +INCLUDE "gfx/pals/hammer_bot.pal" +INCLUDE "gfx/pals/spear_bot.pal" +INCLUDE "gfx/pals/torch.pal" + +ObjectGroup22: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw HandGfx + dw TorchGfx + + dw SpearheadData + dw DummyObjectData + dw HandData + dw DummyObjectData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/hand1.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup23: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw FutamoguGfx + dw TorchGfx + + dw SpearheadData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup24: + db $00 + + dw HaridamaGfx + dw WebberGfx + dw BubbleGfx + dw TorchGfx + + dw HaridamaData + dw DummyObjectData + dw BubbleHoleData + dw DummyObjectData + dw NULL + +INCLUDE "gfx/pals/haridama.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/bubble.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup25: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw KobattoGfx + dw WaterDropGfx + + dw SpearheadData + dw DummyObjectData + dw KobattoData + dw WaterDropData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/kobatto.pal" +INCLUDE "gfx/pals/water_drop.pal" + +ObjectGroup26: + db $00 + + dw SnakeGfx + dw ClearGate1Gfx + dw CartGfx + dw FireBotGfx + + dw SnakeData + dw ClearGate1Data + dw CartRightData + dw CartLeftData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/cart.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup27: + db $00 + + dw SpearheadGfx + dw ClearGate1Gfx + dw CartGfx + dw FireBotGfx + + dw DummyObjectData + dw ClearGate1Data + dw CartVariableRightData + dw CartVariableLeftData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/cart.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup28: + db $00 + + dw SnakeGfx + dw ClearGate1Gfx + dw CartGfx + dw FireBotGfx + + dw SnakeData + dw ClearGate1Data + dw CartVariableRightData + dw CartVariableLeftData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/cart.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup29: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw CartGfx + dw TorchGfx + + dw SpearheadData + dw DummyObjectData + dw CartRightData + dw CartLeftData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/cart.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup30: + db $00 + + dw SpearheadGfx + dw ParaGoomGfx + dw FutamoguGfx + dw NobiiruGfx + + dw DummyObjectData + dw ParaGoomData + dw DummyObjectData + dw NobiiruLeftData + dw NobiiruRightData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/nobiiru.pal" + +ObjectGroup31: + db $00 + + dw SilkyGfx + dw ParaGoomGfx + dw ClearGate2Gfx + dw BeamBotGfx + + dw SilkyData + dw ParaGoomData + dw ClearGate2Data + dw BeamBotData + dw NULL + +INCLUDE "gfx/pals/silky.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/beam_bot.pal" + +ObjectGroup32: + db $00 + + dw SpearheadGfx + dw ApplebyGfx + dw ClearGate2Gfx + dw ElectricLampGfx + + dw DummyObjectData + dw ApplebyData + dw ClearGate2Data + dw ElectricLampData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/appleby.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/electric_lamp.pal" + +ObjectGroup33: + db $00 + + dw RoboMouse1Gfx + dw RoboMouse2Gfx + dw SpearBotGfx + dw TorchGfx + + dw RoboMouseData + dw DummyObjectData + dw SpearBotData + dw NULL + +INCLUDE "gfx/pals/robo_mouse.pal" +INCLUDE "gfx/pals/spear_bot.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup34: + db $00 + + dw SpearheadGfx + dw ParaGoomGfx + dw FutamoguGfx + dw TogebaGfx + + dw DummyObjectData + dw ParaGoomData + dw DummyObjectData + dw TogebaData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/togeba.pal" + +ObjectGroup35: + db $00 + + dw HaridamaGfx + dw WebberGfx + dw FutamoguGfx + dw BrrrBearGfx + + dw HaridamaData + dw DummyObjectData + dw DummyObjectData + dw BrrrBearData + dw NULL + +INCLUDE "gfx/pals/haridama.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/brrr_bear.pal" + +ObjectGroup36: + db $00 + + dw HaridamaGfx + dw WebberGfx + dw BubbleGfx + dw NobiiruGfx + + dw HaridamaData + dw WebberData + dw BubbleHoleData + dw NobiiruLeftData + dw NobiiruRightData + dw NULL + +INCLUDE "gfx/pals/haridama.pal" +INCLUDE "gfx/pals/webber2.pal" +INCLUDE "gfx/pals/bubble.pal" +INCLUDE "gfx/pals/nobiiru.pal" + +ObjectGroup37: + db $00 + + dw OwlGfx + dw WebberGfx + dw OmodonGfx + dw OmodonmekaGfx + + dw OwlData + dw DummyObjectData + dw OmodonmekaWithOmodon1Data + dw OmodonmekaData + dw NULL + +INCLUDE "gfx/pals/owl.pal" +INCLUDE "gfx/pals/webber1.pal" +INCLUDE "gfx/pals/omodon.pal" +INCLUDE "gfx/pals/omodonmeka.pal" + +ObjectGroup38: + db $00 + + dw OwlGfx + dw PneumoGfx + dw ClearGate2Gfx + dw OmodonmekaGfx + + dw OwlData + dw PneumoData + dw ClearGate2Data + dw OmodonmekaData + dw NULL + +INCLUDE "gfx/pals/owl.pal" +INCLUDE "gfx/pals/pneumo.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/omodonmeka.pal" + +ObjectGroup39: + db $00 + + dw SpearheadGfx + dw ParaGoomGfx + dw ZipLineGfx + dw BeamBotGfx + + dw ZipLine1Data + dw ZipLine2Data + dw ZipLine3Data + dw ZipLine4Data + dw ZipLine5Data + dw ParaGoomData + dw SpearheadData + dw BeamBotData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/zip_line.pal" +INCLUDE "gfx/pals/beam_bot.pal" + +ObjectGroup40: + db $00 + + dw SpearheadGfx + dw ParaGoomGfx + dw SpearBotGfx + dw FireBotGfx + + dw SpearheadData + dw ParaGoomData + dw SpearBotData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/spear_bot.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup41: + db $04 + + dw Anonster1Gfx + dw Anonster2Gfx + dw Anonster3Gfx + dw Anonster4Gfx + + dw AnonsterData + dw SilkPlatformsData + dw NULL + +INCLUDE "gfx/pals/anonster.pal" + +ObjectGroup42: + db $00 + + dw StoveGfx + dw ParaGoomGfx + dw FlameBlockGfx + dw TorchGfx + + dw StoveData + dw ParaGoomData + dw FlameBlockData + dw TorchNoEmbersData + dw FlameBlockTorchData + dw NULL + +INCLUDE "gfx/pals/stove.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/flame_block.pal" +INCLUDE "gfx/pals/torch.pal" + +ObjectGroup43: + db $00 + + dw SpearheadGfx + dw BirdGfx + dw KobattoGfx + dw TorchGfx + + dw SpearheadData + dw BlueBirdData + dw KobattoData + dw DummyObjectData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/blue_bird.pal" +INCLUDE "gfx/pals/kobatto.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup44: + db $00 + + dw SpearheadGfx + dw HammerBotGfx + dw ZombieGfx + dw TorchGfx + + dw DummyObjectData + dw HammerBotData + dw ZombieData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/hammer_bot.pal" +INCLUDE "gfx/pals/zombie.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup45: + db $04 + + dw DollBoy1Gfx + dw DollBoy2Gfx + dw DollBoy3Gfx + dw DollBoy4Gfx + + dw DollBoyData + dw HammerPlatformSpawnerData + dw DollBoyBarrel1Data + dw DollBoyBarrel2Data + dw DollBoyBarrel3Data + dw NULL + +INCLUDE "gfx/pals/doll_boy.pal" + +ObjectGroup46: + db $00 + + dw MadSciensteinGfx + dw ParaGoomGfx + dw ZombieGfx + dw TorchGfx + + dw MadSciensteinData + dw ParaGoomData + dw ZombieData + dw DummyObjectData + dw SeeingEyeDoorData + dw NULL + +INCLUDE "gfx/pals/mad_scienstein.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/zombie.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup47: + db $04 + + dw Wormwould1Gfx + dw Wormwould2Gfx + dw Wormwould3Gfx + dw Wormwould4Gfx + + dw WormwouldData + dw PalmTreeSpawnerData + dw NULL + +INCLUDE "gfx/pals/wormwould.pal" + +ObjectGroup48: + db $00 + + dw OwlGfx + dw ParaGoomGfx + dw FutamoguGfx + dw TorchGfx + + dw OwlData + dw ParaGoomData + dw NULL + +INCLUDE "gfx/pals/owl.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup49: + db $00 + + dw HaridamaGfx + dw ParaGoomGfx + dw FutamoguGfx + dw PillarPlatformGfx + + dw HaridamaData + dw ParaGoomData + dw DummyObjectData + dw PillarPlatform1Data + dw PillarPlatform2Data + dw PillarPlatform3Data + dw NULL + +INCLUDE "gfx/pals/haridama.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/futamogu2.pal" +INCLUDE "gfx/pals/pillar_platform.pal" + +ObjectGroup50: + db $00 + + dw SpearheadGfx + dw ParaGoomGfx + dw DoughnuteerGfx + dw FireBotGfx + + dw DummyObjectData + dw ParaGoomData + dw DoughnuteerData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/doughnuteer.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup51: + db $00 + + dw SpearheadGfx + dw ParaGoomGfx + dw ZombieGfx + dw FireBotGfx + + dw DummyObjectData + dw ParaGoomData + dw ZombieData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/zombie.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup52: + db $04 + + dw YellowBelly1Gfx + dw YellowBelly2Gfx + dw YellowBelly3Gfx + dw YellowBelly4Gfx + + dw YellowBellyBodyData + dw YellowBellyPlatformData + dw NULL + +INCLUDE "gfx/pals/yellow_belly.pal" + +ObjectGroup53: + db $00 + + dw SpearheadGfx + dw ApplebyGfx + dw KobattoGfx + dw WaterDropGfx + + dw SpearheadData + dw ApplebyData + dw KobattoData + dw WaterDropData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/appleby.pal" +INCLUDE "gfx/pals/kobatto.pal" +INCLUDE "gfx/pals/water_drop.pal" + +ObjectGroup54: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw DoughnuteerGfx + dw TorchGfx + + dw SpearheadData + dw DummyObjectData + dw DoughnuteerData + dw DummyObjectData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/doughnuteer.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup55: + db $00 + + dw PrinceFroggyGfx + dw ParaGoomGfx + dw ZipLineGfx + dw BrrrBearGfx + + dw GreyPrinceFroggyData + dw ParaGoomData + dw ZipLine4Data + dw BrrrBearData + dw NULL + +INCLUDE "gfx/pals/prince_froggy2.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/zip_line.pal" +INCLUDE "gfx/pals/brrr_bear.pal" + +ObjectGroup56: + db $04 + + dw Pesce1Gfx + dw Pesce2Gfx + dw Pesce3Gfx + dw Pesce4Gfx + + dw PesceData + dw DragonflySpawnerData + dw FlySpawnerData + dw StrongWaterCurrentData + dw Dragonfly2Data + dw NULL + +INCLUDE "gfx/pals/pesce.pal" + +ObjectGroup57: + db $00 + + dw StoveGfx + dw WebberGfx + dw DoughnuteerGfx + dw TorchGfx + + dw StoveData + dw DummyObjectData + dw DoughnuteerData + dw NULL + +INCLUDE "gfx/pals/stove.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/doughnuteer.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup58: + db $00 + + dw StoveGfx + dw WebberGfx + dw ZombieGfx + dw FireBotGfx + + dw StoveData + dw DummyObjectData + dw ZombieData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/stove.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/zombie.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup59: + db $00 + + dw SnakeGfx + dw BirdGfx + dw HebariiGfx + dw NobiiruGfx + + dw SnakeData + dw OrangeBirdData + dw HebariiData + dw NobiiruLeftData + dw NobiiruRightData + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/orange_bird.pal" +INCLUDE "gfx/pals/hebarii.pal" +INCLUDE "gfx/pals/nobiiru.pal" + +ObjectGroup60: + db $00 + + dw HaridamaGfx + dw WebberGfx + dw TadpoleGfx + dw BarrelGfx + + dw HaridamaData + dw DummyObjectData + dw TadpoleSpawnerData + dw Barrel2Data + dw NULL + +INCLUDE "gfx/pals/haridama.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/tadpole.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup61: + db $00 + + dw PrinceFroggyGfx + dw WebberGfx + dw KobattoGfx + dw WaterDropGfx + + dw GreyPrinceFroggyData + dw DummyObjectData + dw KobattoData + dw WaterDropData + dw NULL + +INCLUDE "gfx/pals/prince_froggy2.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/kobatto.pal" +INCLUDE "gfx/pals/water_drop.pal" + +ObjectGroup62: + db $00 + + dw SpearheadGfx + dw PneumoGfx + dw DoughnuteerGfx + dw SparkGfx + + dw DummyObjectData + dw PneumoData + dw DoughnuteerData + dw SparkHorizontalData + dw SparkVerticalData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/pneumo.pal" +INCLUDE "gfx/pals/doughnuteer.pal" +INCLUDE "gfx/pals/spark.pal" + +ObjectGroup63: + db $00 + + dw SpearheadGfx + dw PneumoGfx + dw FutamoguGfx + dw BeamBotGfx + + dw SpearheadData + dw PneumoData + dw DummyObjectData + dw BeamBotData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/pneumo.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/beam_bot.pal" + +ObjectGroup64: + db $00 + + dw Sun1Gfx + dw Sun2Gfx + dw SpearBotGfx + dw BrrrBearGfx + + dw SunData + dw DummyObjectData + dw SpearBotData + dw BrrrBearData + dw NULL + +INCLUDE "gfx/pals/sun.pal" +INCLUDE "gfx/pals/spear_bot.pal" +INCLUDE "gfx/pals/brrr_bear.pal" + +ObjectGroup65: + db $00 + + dw SpearheadGfx + dw BirdGfx + dw BubbleGfx + dw BarrelGfx + + dw DummyObjectData + dw OrangeBirdData + dw BubbleHoleData + dw Barrel1Data + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/orange_bird.pal" +INCLUDE "gfx/pals/bubble.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup66: + db $00 + + dw PrinceFroggyGfx + dw PneumoGfx + dw WallCrackGfx + dw BarrelGfx + + dw GreyPrinceFroggyData + dw PneumoData + dw WallCrackClosedData + dw Barrel2Data + dw NULL + +INCLUDE "gfx/pals/prince_froggy2.pal" +INCLUDE "gfx/pals/pneumo.pal" +INCLUDE "gfx/pals/wall_crack.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup67: + db $00 + + dw SnakeGfx + dw ParaGoomGfx + dw FireGfx + dw FireBotGfx + + dw SnakeData + dw ParaGoomData + dw FireData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/fire.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup68: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw KobattoGfx + dw NobiiruGfx + + dw DummyObjectData + dw DummyObjectData + dw KobattoData + dw NobiiruLeftData + dw NobiiruRightData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/kobatto.pal" +INCLUDE "gfx/pals/nobiiru.pal" + +ObjectGroup69: + db $00 + + dw SnakeGfx + dw ApplebyGfx + dw WallCrackGfx + dw BarrelGfx + + dw SnakeData + dw ApplebyData + dw WallCrackOpenData + dw Barrel2Data + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/appleby.pal" +INCLUDE "gfx/pals/wall_crack.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup70: + db $04 + + dw Scowler1Gfx + dw Scowler2Gfx + dw Scowler3Gfx + dw Scowler4Gfx + + dw ScowlerData + dw FloatingRingSpawnerData + dw NULL + +INCLUDE "gfx/pals/scowler.pal" + +ObjectGroup71: + db $00 + + dw WaterSparkGfx + dw WebberGfx + dw SpearBotGfx + dw FireBotGfx + + dw WaterSparkData + dw DummyObjectData + dw SpearBotData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/water_spark.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/spear_bot.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup72: + db $00 + + dw HaridamaGfx + dw WebberGfx + dw BubbleGfx + dw OctohonGfx + + dw HaridamaData + dw DummyObjectData + dw BubbleHoleData + dw SmallOctohonData + dw NULL + +INCLUDE "gfx/pals/haridama.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/bubble.pal" +INCLUDE "gfx/pals/octohon.pal" + +ObjectGroup73: + db $00 + + dw HaridamaGfx + dw WebberGfx + dw BubbleGfx + dw OctohonGfx + + dw HaridamaData + dw DummyObjectData + dw BubbleHoleData + dw BigOctohonData + dw NULL + +INCLUDE "gfx/pals/haridama.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/bubble.pal" +INCLUDE "gfx/pals/octohon.pal" + +ObjectGroup74: + db $00 + + dw PrinceFroggyGfx + dw WebberGfx + dw HandGfx + dw FireBotGfx + + dw GreyPrinceFroggyData + dw DummyObjectData + dw HandData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/prince_froggy2.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/hand2.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup75: + db $00 + + dw OwlGfx + dw WebberGfx + dw FutamoguGfx + dw SparkGfx + + dw OwlData + dw DummyObjectData + dw DummyObjectData + dw SparkHorizontalData + dw SparkVerticalData + dw NULL + +INCLUDE "gfx/pals/owl.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/spark.pal" + +ObjectGroup76: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw RockGfx + dw BrrrBearGfx + + dw DummyObjectData + dw DummyObjectData + dw RockData + dw BrrrBearData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/rock.pal" +INCLUDE "gfx/pals/brrr_bear.pal" + +ObjectGroup77: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw FutamoguGfx + dw FallingSnowGfx + + dw SpearheadData + dw DummyObjectData + dw DummyObjectData + dw FallingSnowSpawnerData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/falling_snow.pal" + +ObjectGroup78: + db $00 + + dw SpearheadGfx + dw ApplebyGfx + dw ClearGate2Gfx + dw BarrelGfx + + dw DummyObjectData + dw ApplebyData + dw ClearGate2Data + dw Barrel2Data + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/appleby.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup79: + db $00 + + dw SilkyGfx + dw ApplebyGfx + dw FutamoguGfx + dw BarrelGfx + + dw SilkyData + dw ApplebyData + dw DummyObjectData + dw Barrel2Data + dw NULL + +INCLUDE "gfx/pals/silky.pal" +INCLUDE "gfx/pals/appleby.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup80: + db $00 + + dw StoveGfx + dw HammerBotGfx + dw FutamoguGfx + dw TorchGfx + + dw StoveData + dw HammerBotData + dw NULL + +INCLUDE "gfx/pals/stove.pal" +INCLUDE "gfx/pals/hammer_bot.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup81: + db $00 + + dw SpearheadGfx + dw HammerBotGfx + dw FireGfx + dw FireBotGfx + + dw SpearheadData + dw HammerBotData + dw FireData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/hammer_bot.pal" +INCLUDE "gfx/pals/fire.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup82: + db $04 + + dw Jamano1Gfx + dw Jamano2Gfx + dw Jamano3Gfx + dw Jamano4Gfx + + dw JamanoData + dw SkullSpawnerData + dw HatPlatformData + dw NULL + +INCLUDE "gfx/pals/jamano.pal" + +ObjectGroup83: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw OmodonGfx + dw OmodonmekaGfx + + dw SpearheadData + dw DummyObjectData + dw OmodonmekaWithOmodon1Data + dw OmodonmekaData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/webber1.pal" +INCLUDE "gfx/pals/omodon.pal" +INCLUDE "gfx/pals/omodonmeka.pal" + +ObjectGroup84: + db $00 + + dw SnakeGfx + dw WebberGfx + dw FutamoguGfx + dw FireBotGfx + + dw SnakeData + dw DummyObjectData + dw DummyObjectData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup85: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw HebariiGfx + dw BarrelGfx + + dw DummyObjectData + dw DummyObjectData + dw HebariiData + dw Barrel1Data + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/hebarii.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup86: + db $04 + + dw Muddee1Gfx + dw Muddee2Gfx + dw Muddee3Gfx + dw Muddee4Gfx + + dw MuddeeData + dw Turtle1Data + dw Turtle2Data + dw NULL + +INCLUDE "gfx/pals/muddee.pal" + +ObjectGroup87: + db $04 + + dw Wolfenboss1Gfx + dw Wolfenboss2Gfx + dw Wolfenboss3Gfx + dw Wolfenboss4Gfx + + dw WolfenbossData + dw WolfenbossPlatformData + dw NULL + +INCLUDE "gfx/pals/wolfenboss.pal" + +ObjectGroup88: + db $00 + + dw SpearheadGfx + dw CountRichtertoffenGfx + dw FutamoguGfx + dw BarrelGfx + + dw DummyObjectData + dw CountRichtertoffenData + dw DummyObjectData + dw Barrel2Data + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/count_richtertoffen.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup89: + db $00 + + dw SpearheadGfx + dw ApplebyGfx + dw OmodonGfx + dw OmodonmekaGfx + + dw DummyObjectData + dw ApplebyData + dw OmodonmekaWithOmodon1Data + dw OmodonmekaData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/appleby.pal" +INCLUDE "gfx/pals/omodon.pal" +INCLUDE "gfx/pals/omodonmeka.pal" + +ObjectGroup90: + db $00 + + dw SpearheadGfx + dw BirdGfx + dw HebariiGfx + dw NobiiruGfx + + dw DummyObjectData + dw OrangeBirdData + dw HebariiData + dw NobiiruLeftData + dw NobiiruRightData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/orange_bird.pal" +INCLUDE "gfx/pals/hebarii.pal" +INCLUDE "gfx/pals/nobiiru.pal" + +ObjectGroup91: + db $00 + + dw SpearheadGfx + dw BirdGfx + dw FutamoguGfx + dw TorchGfx + + dw SpearheadData + dw BlueBirdData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/blue_bird.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup92: + db $00 + + dw SilkyGfx + dw BirdGfx + dw DoughnuteerGfx + dw TorchGfx + + dw SilkyData + dw BlueBirdData + dw DoughnuteerData + dw NULL + +INCLUDE "gfx/pals/silky.pal" +INCLUDE "gfx/pals/blue_bird.pal" +INCLUDE "gfx/pals/doughnuteer.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup93: + db $00 + + dw SilkyGfx + dw WebberGfx + dw FutamoguGfx + dw BrrrBearGfx + + dw SilkyData + dw DummyObjectData + dw DummyObjectData + dw BrrrBearData + dw NULL + +INCLUDE "gfx/pals/silky.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/brrr_bear.pal" + +ObjectGroup94: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw ZombieGfx + dw BrrrBearGfx + + dw DummyObjectData + dw DummyObjectData + dw ZombieData + dw BrrrBearData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/zombie.pal" +INCLUDE "gfx/pals/brrr_bear.pal" + +ObjectGroup95: + db $04 + + dw Shoot1Gfx + dw Shoot2Gfx + dw Shoot3Gfx + dw Shoot4Gfx + + dw ShootData + dw GKTortoiseData + dw ShootGoalCounterData + dw WarioGoalCounterData + dw GKTortoisePlatformData + dw NULL + +INCLUDE "gfx/pals/shoot.pal" + +ObjectGroup96: + db $00 + + dw SpearheadGfx + dw ApplebyGfx + dw FutamoguGfx + dw SparkGfx + + dw DummyObjectData + dw ApplebyData + dw DummyObjectData + dw SparkHorizontalData + dw SparkVerticalData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/appleby.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/spark.pal" + +ObjectGroup97: + db $00 + + dw MadSciensteinGfx + dw WebberGfx + dw TadpoleGfx + dw BrrrBearGfx + + dw MadSciensteinData + dw DummyObjectData + dw TadpoleSpawnerData + dw BrrrBearData + dw SeeingEyeDoorData + dw NULL + +INCLUDE "gfx/pals/mad_scienstein.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/tadpole.pal" +INCLUDE "gfx/pals/brrr_bear.pal" + +ObjectGroup98: + db $00 + + dw SilkyGfx + dw WebberGfx + dw HebariiGfx + dw FireBotGfx + + dw SilkyData + dw DummyObjectData + dw HebariiData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/silky.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/hebarii.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup99: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw FutamoguGfx + dw TorchGfx + + dw SpearheadData + dw WebberData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/webber2.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup100: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw ClearGate2Gfx + dw BrrrBearGfx + + dw SpearheadData + dw DummyObjectData + dw ClearGate2Data + dw BrrrBearData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/clear_gate.pal" +INCLUDE "gfx/pals/brrr_bear.pal" + +ObjectGroup101: + db $00 + + dw SpearheadGfx + dw BirdGfx + dw FutamoguGfx + dw SparkGfx + + dw DummyObjectData + dw BlueBirdData + dw DummyObjectData + dw SparkHorizontalData + dw SparkVerticalData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/blue_bird.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/spark.pal" + +ObjectGroup102: + db $00 + + dw PrinceFroggyGfx + dw BirdGfx + dw ZombieGfx + dw ClearGate3Gfx + + dw GreyPrinceFroggyData + dw BlueBirdData + dw ZombieData + dw ClearGate3Data + dw NULL + +INCLUDE "gfx/pals/prince_froggy2.pal" +INCLUDE "gfx/pals/blue_bird.pal" +INCLUDE "gfx/pals/zombie.pal" +INCLUDE "gfx/pals/clear_gate.pal" + +ObjectGroup103: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw RockGfx + dw TogebaGfx + + dw DummyObjectData + dw DummyObjectData + dw RockData + dw TogebaData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/rock.pal" +INCLUDE "gfx/pals/togeba.pal" + +ObjectGroup104: + db $00 + + dw SpearheadGfx + dw BirdGfx + dw FutamoguGfx + dw BarrelGfx + + dw DummyObjectData + dw BlueBirdData + dw DummyObjectData + dw Barrel1Data + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/blue_bird.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup105: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw FutamoguGfx + dw BeamBotGfx + + dw DummyObjectData + dw DummyObjectData + dw DummyObjectData + dw BeamBotData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/beam_bot.pal" + +ObjectGroup106: + db $00 + + dw Moon1Gfx + dw Moon2Gfx + dw SpearBotGfx + dw FireBotGfx + + dw MoonData + dw DummyObjectData + dw SpearBotData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/moon.pal" +INCLUDE "gfx/pals/spear_bot.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup107: + db $00 + + dw SpearheadGfx + dw ParaGoomGfx + dw HebariiGfx + dw BrrrBearGfx + + dw DummyObjectData + dw ParaGoomData + dw HebariiData + dw BrrrBearData + dw NULL + +INCLUDE "gfx/pals/prince_froggy2.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/hebarii.pal" +INCLUDE "gfx/pals/brrr_bear.pal" + +ObjectGroup108: + db $00 + + dw SpearheadGfx + dw ParaGoomGfx + dw DoughnuteerGfx + dw TogebaGfx + + dw SpearheadData + dw ParaGoomData + dw DoughnuteerData + dw TogebaData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/doughnuteer.pal" +INCLUDE "gfx/pals/togeba.pal" + +ObjectGroup109: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw SpearBotGfx + dw OmodonmekaGfx + + dw DummyObjectData + dw DummyObjectData + dw SpearBotData + dw OmodonmekaData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/spear_bot.pal" +INCLUDE "gfx/pals/omodonmeka.pal" + +ObjectGroup110: + db $00 + + dw SpearheadGfx + dw HammerBotGfx + dw FutamoguGfx + dw FireBotGfx + + dw SpearheadData + dw HammerBotData + dw DummyObjectData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/hammer_bot.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup111: + db $00 + + dw SnakeGfx + dw ParaGoomGfx + dw FutamoguGfx + dw FireBotGfx + + dw SnakeData + dw ParaGoomData + dw DummyObjectData + dw FireBotData + dw NULL + +INCLUDE "gfx/pals/snake.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/fire_bot.pal" + +ObjectGroup112: + db $00 + + dw PrinceFroggyGfx + dw PneumoGfx + dw WallCrackGfx + dw BarrelGfx + + dw GreyPrinceFroggyData + dw PneumoData + dw WallCrackOpenData + dw Barrel2Data + dw NULL + +INCLUDE "gfx/pals/prince_froggy2.pal" +INCLUDE "gfx/pals/pneumo.pal" +INCLUDE "gfx/pals/wall_crack.pal" +INCLUDE "gfx/pals/barrel.pal" + +ObjectGroup113: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw RockGfx + dw TorchGfx + + dw DummyObjectData + dw DummyObjectData + dw RockData + dw TorchData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/rock.pal" +INCLUDE "gfx/pals/torch.pal" + +ObjectGroup114: + db $00 + + dw StoveGfx + dw WebberGfx + dw HebariiGfx + dw TorchGfx + + dw StoveData + dw DummyObjectData + dw HebariiData + dw NULL + +INCLUDE "gfx/pals/stove.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/hebarii.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup115: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw HebariiGfx + dw TorchGfx + + dw SpearheadData + dw DummyObjectData + dw HebariiData + dw NULL + +INCLUDE "gfx/pals/spearhead.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/hebarii.pal" +INCLUDE "gfx/pals/dummy.pal" + +ObjectGroup116: + db $00 + + dw SpearheadGfx + dw WebberGfx + dw FutamoguGfx + dw TeruteruGfx + + dw DummyObjectData + dw DummyObjectData + dw DummyObjectData + dw TeruteruData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/teruteru.pal" + +ObjectGroup117: + db $00 + + dw SpearheadGfx + dw ParaGoomGfx + dw FutamoguGfx + dw TorchGfx + + dw DummyObjectData + dw ParaGoomData + dw NULL + +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/para_goom.pal" +INCLUDE "gfx/pals/dummy.pal" +INCLUDE "gfx/pals/dummy.pal" diff --git a/src/data/object_movements.asm b/src/data/object_movements.asm new file mode 100644 index 0000000..c504106 --- /dev/null +++ b/src/data/object_movements.asm @@ -0,0 +1,662 @@ +StandingFallYVel_Light: + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, $80 + +StandingFallYVel_Heavy: + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 0, 0, 0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, $80 + +Data_60040: + db -3, -2, -1, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3 + db 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 + +Data_60060: + db -2, -1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4 + db 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, $80 + +Data_60080: + db 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 3, 4 + db 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, $80 + +Data_600a0: + db 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3 + db 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, $80 + +Data_600c0: + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 0, 0, 0, 1, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, $80 + +Data_600e0: + db 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 2, 2, 2, 2 + db 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 + +Data_60100: + db -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1 + db 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, $80 + +Data_60120: + db -4, -4, -4, -3, -3, -3, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1 + db 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, $80 + +Data_60140: + db -7, -7, -7, -7, -6, -6, -6, -6, -5, -5, -5, -5, -4, -4, -4, -3 + db -3, -3, -2, -2, -1, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, $80 + +Data_60160: + db -7, -6, -5, -5, -5, -4, -4, -4, -3, -3, -3, -3, -2, -2, -1, -1 + db 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, $80 + +Data_60180: + db -7, -6, -5, -4, -3, -3, -2, -2, -1, -1, 0, 0, 0, 0, 0, 0 + db 0, 1, 0, 1, 2, 2, 3, 2, 3, 3, 4, 4, 5, 6, 7, $80 + +Data_601a0: + db -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 1, 0, 1, 0, 1 + db 1, 2, 1, 2, 2, 3, 3, 3, 4, 5, 6, 7, 8, 9, 10, $80 + +Data_601c0: + db 3, -7, 16 + db 4, -18, 14 + db 3, -28, 6 + db 0, 0, 0 + db 0, 0, 0 + db 0 + +; unreferenced +Data_601d0: + db 7, -5, 16, 7, -12, 16, 5, -28, 6, 0, 0, 0, 0, 0, 0, 0 + +Data_601e0: + db 3, -7, -17 + db 4, -18, -15 + db 3, -28, -7 + db 0, 0, 0 + db 0, 0, 0 + db 0 + +; unreferenced +Data_601f0: + db 7, -5, -17, 7, -12, -17, 5, -28, -7, 0, 0, 0, 0, 0, 0, 0 + db 15, -30, -7, 4, -28, -8, 4, -16, -16, 0, 0, 0, 0, 0, 0, 0 + db 31, -28, 5, 5, -28, -8, 5, -16, -16, 0, 0, 0, 0, 0, 0, 0 + db 15, -30, 6, 4, -28, 7, 4, -16, 15, 0, 0, 0, 0, 0, 0, 0 + db 31, -28, -6, 5, -28, 7, 5, -16, 15, 0, 0, 0, 0, 0, 0, 0 + db 6, -16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 6, -16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 6, -16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 6, -16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +; y-offset values for falling light objects +FallingYVel_Light: + db 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, $80 + +; y-offset values for falling heavy objects +FallingYVel_Heavy: + db 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, $80 + +Data_602a0: + db -4, -3, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, $80 + +Data_602b0: + db -3, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, $80 + +Data_602c0: + db -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_602d0: + db -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_602e0: + db -3, -2, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_602f0: + db -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60300: + db -4, -3, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60310: + db -3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60320: + db -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 1, 0, 1, 0 + db 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, $80 + +; unreferenced +Data_60340: + db 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0 + db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4 + db -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0 + db 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 + db 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 + db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4 + db -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0 + db 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 + db 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, $80 + +Data_603d0: + db -6, -5, -5, -5, -4, -4, -4, -3, -3, -3, -2, -1, -1, -1, 0, $80 + +Data_603e0: + db 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 + +Data_603f0: + db 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +; unreferenced +Data_60400: + db -1, -1, -2, -2, -3, -3, -4, -4, -3, -3, -2, -2, -1, -1, 0, 0 + db 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 + db 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 + db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4 + db -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0 + db 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 + db 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 + db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4 + db -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, $80 + +Data_60490: + db 2, 4, 6, 8, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, $80 + +Data_604a0: + db 1, 2, 3, 4, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, $80 + +Data_604b0: + db -3, -2, -1, -1, -1, 0, 0, 0, 0, 1, 1, 1, 2, 3, 0, $80 + +Data_604c0: + db 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + db 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, $80 + +Data_604e0: + db -4, -4, -3, -3, -2, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, $80 + +Data_60500: + db 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, $80 + +Data_60510: + db -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 1, 0, 1, 0 + db 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, $80 + +Data_60530: + db -8, -7, -6, -5, -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60540: + db -6, -5, -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, $80 + +Data_60560: + db 1, 0, 1, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3 + db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 1, 1 + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, $80 + +Data_605a0: + db -1, 0, -1, 0, -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3 + db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -2, -2, -1, -1 + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, $80 + +Data_605e0: + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3 + db 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, $80 + +Data_60600: + db 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -2, -3, $80 + +Data_60610: + db -1, -1, -1, 0, 0, 1, 1, 1, 0, 0, -1, -1, -1, -1, -2, -2 + db -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -4, $80 + +Data_60630: + db 1, 1, 1, 0, 0, -1, -1, -1, 0, 0, 1, 1, 1, 1, 2, 2 + db 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, $80 + +Data_60650: + db -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 + db 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, $80 + +Data_60670: + db 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3 + db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 + +Data_60690: + db 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -2, -1, 1, 1, 1 + db 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 2 + db 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + db 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2 + db -3, -3, -3, -2, -1, -1, -1, -1, -1, -1, 1, 2, 1, 1, 0, $80 + +Data_606e0: + db 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -1, -2, -2, -2, -3, $80 + +Data_606f0: + db 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 3, $80 + +Data_60700: + db -6, -6, -5, -5, -5, -4, -4, -3, -3, -3, -2, -2, -2, -1, -1, -1 + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60720: + db -8, -7, -7, -6, -6, -6, -5, -5, -5, -4, -4, -3, -3, -2, -2, -1 + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60740: + db 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 + +Data_60760: + db -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, -3, -4, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, $80 + +Data_60790: + db 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -3, -3, -4, -3, -3, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_607e0: + db -3, -5, -7, -9, -9, -9, -9, -9, -8, -7, -6, -6, -6, -6, -6, $80 + +Data_607f0: + db 10, 9, 8, 8, 8, 8, 8, 8, 7, 7, 6, 6, 6, 6, 6, $80 + +Data_60800: + db 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, $80 + +Data_60830: + db 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, $80 + +Data_60860: + db -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 2, 2, 2, 3, 4, $80 + +Data_60880: + db 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 7, 0, 0, 0, 0, $80 + +Data_60890: + db -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 7, 0, 0, 0, 0, $80 + +Data_608a0: + db 0, 0, -3, -7, -7, -6, -5, -4, -3, 1, 2, 0, 0, 0, 0, $80 + +Data_608b0: + db 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, -4, -3, -3, -2, -1, 0, 1, 1, 1, 2, 2, 2, 2, 2, -3, -2, -2, -1, 0, 1, 1, 2, 2, 2, -2, -1, -1, 0, 1, 1, 2, -2, -1, -1, 0, 1, 1, 2, -2, -1, -1, 0, 1, 1, 2, -1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, $80 + +Data_60900: + db 0, 0, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -4, -3, -3, -2, -1, 0, 1, 1, 1, 2, 2, 2, 2, 2, -3, -2, -2, -1, 0, 1, 1, 2, 2, 2, -2, -1, -1, 0, 1, 1, 2, -2, -1, -1, 0, 1, 1, 2, -2, -1, -1, 0, 1, 1, 2, -1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, $80 + +Data_60950: + db 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_609e0: + db -7, -6, -5, -4, -3, -2, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, $80 + +Data_60a00: + db -4, -4, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, $80 + +Data_60a10: + db 4, 4, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, $80 + +Data_60a20: + db -6, -6, -6, -5, -5, -5, -4, -4, -3, -3, -2, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60a40: + db 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, $80 + +Data_60a50: + db 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, $80 + +Data_60a60: + db 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, $80 + +Data_60a70: + db -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, $80 + +Data_60a80: + db 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 0, $80 + +Data_60a90: + db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4, -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, $80 + + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +Data_60ae0: + db 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, $80 + +Data_60b00: + db 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, $80 + +Data_60b30: + db 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $80 + +Data_60b60: + db 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, $80 + +Data_60b80: + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 7, 0, 0, 0, 0, $80 + +Data_60ba0: + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 7, 0, 0, 0, 0, $80 + +Data_60bd0: + db -6, -5, -4, -3, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, $80 + +Data_60c00: + db 0, 0, 0, 0, -3, -2, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60c20: + db 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, $80 + +Data_60c80: + db 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, $80 + +Data_60ce0: + db 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, $80 + +Data_60d00: + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, $80 + +Data_60d20: + db 1, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, $80 + +Data_60d30: + db -6, -6, -6, -6, -5, -5, -5, -4, -4, -3, -3, -2, -2, -1, 0, $80 + +Data_60d40: + db 1, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, $80 + +Data_60d50: + db 0, 4, 0, -4, 0, 3, 0, -3, 0, 2, 0, -2, 1, -1, 0, $80 + +Data_60d60: + db -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, $80 + +Data_60d80: + db -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, $80 + +Data_60da0: + db -6, -5, -4, -3, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, $80 + +Data_60dd0: + db -6, -5, -4, -3, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, $80 + +Data_60e00: + db -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60e20: + db -6, -5, -5, -5, -4, -4, -4, -3, -3, -3, -2, -1, -1, -1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, $80 + +Data_60e40: + db -4, -4, -4, -3, -3, -2, -2, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 + +Data_60e70: + db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, $80 + +Data_60e90: + db -8, -7, -6, -5, -4, -4, -3, -3, -2, -2, -1, -1, -1, -1, 0, $80 + +Data_60ea0: + db 1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 + +; unreferenced +Data_60eb0: + db 8, 0, -1, 32, -1, -1, 8, 1, 1, 8, 0, 1, 8, 0, 1, 32, -1, 1, 8, 1, -1, 8, 0, -1, 0 + +Data_60ec9: + db 1, -2, 0 + db 1, -1, 0 + db 1, -2, -1 + db 1, -1, 0 + db 1, -2, 0 + db 1, -1, 0 + db 1, -2, -1 + db 1, -1, 0 + db 1, -2, -1 + db 1, -1, -1 + db 1, -2, -1 + db 1, -1, -1 + db 1, -1, -1 + db 1, -1, 0 + db 1, -2, -1 + db 1, -1, -1 + db 1, -1, -2 + db 1, -1, -1 + db 1, -1, -1 + db 1, -1, -1 + db 1, -1, -2 + db 1, 0, -1 + db 1, -1, -2 + db 1, -1, -1 + db 1, -1, -2 + db 1, 0, -1 + db 1, 0, -2 + db 1, 0, -1 + db 1, -1, -2 + db 1, 0, -1 + db 1, 0, -2 + db 1, 0, -1 + db 1, 0, -2 + db 1, 0, -1 + db 1, 1, -2 + db 1, 0, -1 + db 1, 0, -2 + db 1, 0, -1 + db 1, 1, -2 + db 1, 0, -1 + db 1, 1, -2 + db 1, 1, -1 + db 1, 1, -2 + db 1, 0, -1 + db 1, 1, -1 + db 1, 1, -1 + db 1, 1, -2 + db 1, 1, -1 + db 1, 2, -1 + db 1, 1, -1 + db 1, 1, -1 + db 1, 1, 0 + db 1, 2, -1 + db 1, 1, -1 + db 1, 2, -1 + db 1, 1, -1 + db 1, 2, -1 + db 1, 1, 0 + db 1, 2, 0 + db 1, 1, 0 + db 1, 2, -1 + db 1, 1, 0 + db 1, 2, 0 + db 1, 1, 0 + db 1, 2, 0 + db 1, 1, 0 + db 1, 2, 1 + db 1, 1, 0 + db 1, 2, 0 + db 1, 1, 0 + db 1, 2, 1 + db 1, 1, 0 + db 1, 2, 1 + db 1, 1, 1 + db 1, 2, 1 + db 1, 1, 1 + db 1, 1, 1 + db 1, 1, 0 + db 1, 2, 1 + db 1, 1, 1 + db 1, 1, 2 + db 1, 1, 1 + db 1, 1, 1 + db 1, 1, 1 + db 1, 1, 2 + db 1, 0, 1 + db 1, 1, 2 + db 1, 1, 1 + db 1, 1, 2 + db 1, 0, 1 + db 1, 0, 2 + db 1, 0, 1 + db 1, 1, 2 + db 1, 0, 1 + db 1, 0, 2 + db 1, 0, 1 + db 1, 0, 2 + db 1, 0, 1 + db 1, -1, 2 + db 1, 0, 1 + db 1, 0, 2 + db 1, 0, 1 + db 1, -1, 2 + db 1, 0, 1 + db 1, -1, 2 + db 1, -1, 1 + db 1, -1, 2 + db 1, 0, 1 + db 1, -1, 1 + db 1, -1, 1 + db 1, -1, 2 + db 1, -1, 1 + db 1, -2, 1 + db 1, -1, 1 + db 1, -1, 1 + db 1, -1, 0 + db 1, -2, 1 + db 1, -1, 1 + db 1, -2, 1 + db 1, -1, 1 + db 1, -2, 1 + db 1, -1, 0 + db 1, -2, 0 + db 1, -1, 0 + db 1, -2, 1 + db 1, -1, 0 + db 1, -2, 0 + db 1, -1, 0 + db 0 + +; unreferenced +Data_6104a: + db 1, -1, 0 + db 1, -2, 0 + db 1, -1, 0 + db 1, -2, 1 + db 1, -1, 0 + db 1, -2, 0 + db 1, -1, 0 + db 1, -2, 1 + db 1, -1, 1 + db 1, -2, 1 + db 1, -1, 1 + db 1, -2, 1 + db 1, -1, 0 + db 1, -1, 1 + db 1, -1, 1 + db 1, -2, 1 + db 1, -1, 1 + db 1, -1, 2 + db 1, -1, 1 + db 1, -1, 1 + db 1, 0, 1 + db 1, -1, 2 + db 1, -1, 1 + db 1, -1, 2 + db 1, 0, 1 + db 1, -1, 2 + db 1, 0, 1 + db 1, 0, 2 + db 1, 0, 1 + db 1, -1, 2 + db 1, 0, 1 + db 1, 0, 2 + db 1, 0, 1 + db 1, 0, 2 + db 1, 0, 1 + db 1, 1, 2 + db 1, 0, 1 + db 1, 0, 2 + db 1, 0, 1 + db 1, 1, 2 + db 1, 1, 1 + db 1, 1, 2 + db 1, 0, 1 + db 1, 1, 2 + db 1, 1, 1 + db 1, 1, 1 + db 1, 1, 1 + db 1, 1, 2 + db 1, 1, 1 + db 1, 2, 1 + db 1, 1, 0 + db 1, 1, 1 + db 1, 1, 1 + db 1, 2, 1 + db 1, 1, 1 + db 1, 2, 1 + db 1, 1, 0 + db 1, 2, 1 + db 1, 1, 0 + db 1, 2, 0 + db 1, 1, 0 + db 1, 2, 1 + db 1, 1, 0 + db 1, 2, 0 + db 1, 1, 0 + db 1, 2, 0 + db 1, 1, 0 + db 1, 2, -1 + db 1, 1, 0 + db 1, 2, 0 + db 1, 1, 0 + db 1, 2, -1 + db 1, 1, -1 + db 1, 2, -1 + db 1, 1, -1 + db 1, 2, -1 + db 1, 1, 0 + db 1, 1, -1 + db 1, 1, -1 + db 1, 2, -1 + db 1, 1, -1 + db 1, 1, -2 + db 1, 1, -1 + db 1, 1, -1 + db 1, 0, -1 + db 1, 1, -2 + db 1, 1, -1 + db 1, 1, -2 + db 1, 0, -1 + db 1, 1, -2 + db 1, 0, -1 + db 1, 0, -2 + db 1, 0, -1 + db 1, 1, -2 + db 1, 0, -1 + db 1, 0, -2 + db 1, 0, -1 + db 1, 0, -2 + db 1, 0, -1 + db 1, -1, -2 + db 1, 0, -1 + db 1, 0, -2 + db 1, 0, -1 + db 1, -1, -2 + db 1, -1, -1 + db 1, -1, -2 + db 1, 0, -1 + db 1, -1, -2 + db 1, -1, -1 + db 1, -1, -1 + db 1, -1, -1 + db 1, -1, -2 + db 1, -1, -1 + db 1, -2, -1 + db 1, -1, 0 + db 1, -1, -1 + db 1, -1, -1 + db 1, -2, -1 + db 1, -1, -1 + db 1, -2, -1 + db 1, -1, 0 + db 1, -2, -1 + db 1, -1, 0 + db 1, -2, 0 + db 1, -1, 0 + db 1, -2, -1 + db 1, -1, 0 + db 1, -2, 0 + db 0 diff --git a/src/data/object_params.asm b/src/data/object_params.asm new file mode 100644 index 0000000..61f7bee --- /dev/null +++ b/src/data/object_params.asm @@ -0,0 +1,1696 @@ +ObjParams_HebariiProjectile: + db -8 ; y + db 0 ; x + dn $2, $1 ; unk7 + db OBJ_INTERACTION_FULL_STING ; interaction type + db -3, 2, -3, 2 ; collision + dw OAM_18a703 ; OAM + dw Frameset_68408 ; frameset + db 2 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw HebariiProjectileFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_WebberProjectile: + db 5 ; y + db -8 ; x + dn $0, $3 ; unk7 + db OBJ_INTERACTION_ELECTRIC ; interaction type + db -7, -3, -4, 3 ; collision + dw OAM_180242 ; OAM + dw Frameset_682c8 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw WebberProjectileFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_UnusedFlowerProjectileLeft: + db -10 ; y + db 0 ; x + dn $0, $5 ; unk7 + db OBJ_INTERACTION_FULL_STING + db -13, -3, -6, 5 ; collision box + dw OAM_180916 ; OAM + dw Frameset_6838c ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw UnusedFlowerProjectileLeftFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_UnusedFlowerProjectileRight: + db -10 ; y + db 0 ; x + dn $0, $5 ; unk7 + db OBJ_INTERACTION_FULL_STING ; interaction type + db -13, -3, -6, 5 ; collision box + dw OAM_180916 ; OAM + dw Frameset_68395 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw UnusedFlowerProjectileRightFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_BigLeaf1: + db -10 ; y + db 15 ; x + dn $0, $8 ; unk7 + db OBJ_INTERACTION_WALKABLE ; interaction type + db -16, -8, -8, 7 ; collision box + dw OAM_1817b4 ; OAM + dw Frameset_68732 ; frameset + db 80 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw BigLeaf1Func + db $0 ; obj flags + +ObjParams_BigLeaf2: + db -10 ; y + db -17 ; x + dn $0, $8 ; unk7 + db OBJ_INTERACTION_WALKABLE ; interaction type + db -16, -8, -8, 7 ; collision box + dw OAM_1817b4 ; OAM + dw Frameset_68732 ; frameset + db 20 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw BigLeaf2Func + db $0 ; obj flags + +ObjParams_BigLeaf3: + db -10 ; y + db -48 ; x + dn $0, $8 ; unk7 + db OBJ_INTERACTION_WALKABLE ; interaction type + db -16, -8, -8, 7 ; collision box + dw OAM_1817b4 ; OAM + dw Frameset_68732 ; frameset + db 20 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw BigLeaf2Func + db $0 ; obj flags + +ObjParams_DoughnutLeft: + db -18 ; y + db -9 ; x + dn $0, $b ; unk7 + db OBJ_INTERACTION_FOOD ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_180ea7 ; OAM + dw Frameset_685ea ; frameset + db $00 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw DoughnutFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_DoughnutRight: + db -18 ; y + db 8 ; x + dn $0, $b ; unk7 + db OBJ_INTERACTION_FOOD ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_180ea7 ; OAM + dw Frameset_685ed ; frameset + db $00 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw DoughnutFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_DoughnutUpLeft: + db -16 ; y + db -8 ; x + dn $0, $b ; unk7 + db OBJ_INTERACTION_FOOD ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_180ea7 ; OAM + dw Frameset_685ea ; frameset + db $00 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw DoughnutFunc_Up + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_DoughnutUpRight: + db -16 ; y + db 7 ; x + dn $0, $b ; unk7 + db OBJ_INTERACTION_FOOD ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_180ea7 ; OAM + dw Frameset_685ed ; frameset + db $00 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw DoughnutFunc_Up + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_InvisibilityPotionLeft: + db -8 ; y + db -16 ; x + dn $1, $6 ; unk7 + db OBJ_INTERACTION_INVISIBILITY_POTION ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_184ab2 ; OAM + dw Frameset_68c33 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw InvisibilityPotionFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_InvisibilityPotionRight: + db -8 ; y + db 15 ; x + dn $1, $6 ; unk7 + db OBJ_INTERACTION_INVISIBILITY_POTION ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_184ab2 ; OAM + dw Frameset_68c33 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw InvisibilityPotionFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_InvisibilityPotionDropLeft: + db -8 ; y + db -16 ; x + dn $1, $6 ; unk7 + db OBJ_INTERACTION_INVISIBILITY_POTION ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_184ab2 ; OAM + dw Frameset_68c33 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw InvisibilityPotionFunc_Drop + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_InvisibilityPotionDropRight: + db -8 ; y + db 15 ; x + dn $1, $6 ; unk7 + db OBJ_INTERACTION_INVISIBILITY_POTION ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_184ab2 ; OAM + dw Frameset_68c33 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw InvisibilityPotionFunc_Drop + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_ZombieHeadLeft: + db -16 ; y + db 0 ; x + dn $1, $a ; unk7 + db OBJ_INTERACTION_ZOMBIE_HEAD ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_184ffa ; OAM + dw Frameset_68db3 ; frameset + db 48 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw ZombieHeadFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_ZombieHeadRight: + db -16 ; y + db 0 ; x + dn $1, $a ; unk7 + db OBJ_INTERACTION_ZOMBIE_HEAD ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_184ffa ; OAM + dw Frameset_68dc4 ; frameset + db 48 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw ZombieHeadFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_StarsLeft: + db -20 ; y + db -12 ; x + dn $3, $0 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_680a5 ; frameset + db 25 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw StarsFunc_SetFlags + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_StarsRight: + db -20 ; y + db 11 ; x + dn $3, $0 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_680a5 ; frameset + db 25 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw StarsFunc_SetFlags + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_BeamLeft: + db 0 ; y + db -8 ; x + dn $1, $1 ; unk7 + db OBJ_INTERACTION_BEAM ; interaction type + db -14, -3, -2, 1 ; collision box + dw OAM_1845aa ; OAM + dw Frameset_68ee1 ; frameset + db 18 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw BeamFunc_Left + db $0 ; obj flags + +ObjParams_BeamRight: + db 0 ; y + db 8 ; x + dn $1, $1 ; unk7 + db OBJ_INTERACTION_BEAM ; interaction type + db -14, -3, -2, 1 ; collision box + dw OAM_1845aa ; OAM + dw Frameset_68eea ; frameset + db 18 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw BeamFunc_Right + db $0 ; obj flags + +ObjParams_AppleLeft: + db -14 ; y + db 7 ; x + dn $1, $1 ; unk7 + db OBJ_INTERACTION_FOOD ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_185a1c ; OAM + dw Frameset_68a60 ; frameset + db $00 ; action duration + db $00 ; var1 + db $01 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw AppleFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_AppleRight: + db -14 ; y + db -8 ; x + dn $1, $1 ; unk7 + db OBJ_INTERACTION_FOOD ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_185a1c ; OAM + dw Frameset_68a60 ; frameset + db $00 ; action duration + db $00 ; var1 + db $01 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw AppleFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_SunFlameLeft: + db 4 ; y + db -8 ; x + dn $1, $b ; unk7 + db OBJ_INTERACTION_FIRE ; interaction type + db -10, -2, -5, 4 ; collision box + dw OAM_1851df ; OAM + dw Frameset_68fb2 ; frameset + db $00 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw SunFlameFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_SunFlameRight: + db 4 ; y + db 7 ; x + dn $1, $b ; unk7 + db OBJ_INTERACTION_FIRE ; interaction type + db -10, -2, -5, 4 ; collision box + dw OAM_1851df ; OAM + dw Frameset_68fad ; frameset + db $00 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw SunFlameFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_MoonStarLeft: + db 4 ; y + db -8 ; x + dn $1, $b ; unk7 + db OBJ_INTERACTION_ELECTRIC ; interaction type + db -10, -3, -5, 4 ; collision box + dw OAM_1854a2 ; OAM + dw Frameset_6901b ; frameset + db $00 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw MoonStarFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_MoonStarRight: + db 4 ; y + db 7 ; x + dn $1, $b ; unk7 + db OBJ_INTERACTION_ELECTRIC ; interaction type + db -10, -3, -5, 4 ; collision box + dw OAM_1854a2 ; OAM + dw Frameset_69012 ; frameset + db $00 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw MoonStarFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_649c2: + db -10 ; y + db -7 ; x + dn $3, $0 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_680b6 ; frameset + db 17 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw StarsFunc_SetFlags + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_649d7: + db -10 ; y + db 6 ; x + dn $3, $0 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_680b6 ; frameset + db 17 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw StarsFunc_SetFlags + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_SnowflakeLeft: + db -8 ; y + db -8 ; x + dn $2, $1 ; unk7 + db OBJ_INTERACTION_ICE ; interaction type + db -12, -5, -6, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_69169 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw SnowflakeFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_SnowflakeRight: + db -8 ; y + db 7 ; x + dn $2, $1 ; unk7 + db OBJ_INTERACTION_ICE ; interaction type + db -12, -5, -6, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_69169 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw SnowflakeFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_MizzouProjectileLeft: + db -10 ; y + db -16 ; x + dn $2, $5 ; unk7 + db OBJ_INTERACTION_FULL_STING ; interaction type + db -7, 0, -4, 3 ; collision box + dw OAM_188395 ; OAM + dw Frameset_686ce ; frameset + db 28 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw MizzouProjectileFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_MizzouProjectileRight: + db -10 ; y + db 15 ; x + dn $2, $5 ; unk7 + db OBJ_INTERACTION_FULL_STING ; interaction type + db -7, 0, -4, 3 ; collision box + dw OAM_188395 ; OAM + dw Frameset_686d3 ; frameset + db 28 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw MizzouProjectileFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_GreyTreasure: + db -40 ; y + db 0 ; x + dn $3, $3 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_680da ; frameset + db 87 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw GreyTreasureFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_RedTreasure: + db -40 ; y + db 0 ; x + dn $3, $3 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_68113 ; frameset + db 87 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw RedTreasureFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_GreenTreasure: + db -40 ; y + db 0 ; x + dn $3, $3 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_6814c ; frameset + db 87 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw GreenTreasureFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_BlueTreasure: + db -40 ; y + db 0 ; x + dn $3, $3 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_68185 ; frameset + db 87 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw BlueTreasureFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_AnonsterSilk1Left: + db 1 ; y + db -4 ; x + dn $4, $1 ; unk7 + db OBJ_INTERACTION_ANONSTER_SILK ; interaction type + db -8, -4, -5, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_694ee ; frameset + db 32 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw AnonsterSilkFunc.FloatLeft + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_AnonsterSilk1Right: + db 1 ; y + db 3 ; x + dn $4, $1 ; unk7 + db OBJ_INTERACTION_ANONSTER_SILK ; interaction type + db -8, -4, -5, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_694ee ; frameset + db 32 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw AnonsterSilkFunc.FloatRight + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_AnonsterSilk2Left: + db 1 ; y + db -4 ; x + dn $4, $1 ; unk7 + db OBJ_INTERACTION_ANONSTER_SILK ; interaction type + db -8, -4, -5, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_694ee ; frameset + db 24 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw AnonsterSilkFunc.FloatLeft + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_AnonsterSilk2Right: + db 1 ; y + db 3 ; x + dn $4, $1 ; unk7 + db OBJ_INTERACTION_ANONSTER_SILK ; interaction type + db -8, -4, -5, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_694ee ; frameset + db 24 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw AnonsterSilkFunc.FloatRight + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_AnonsterSilk3Left: + db 1 ; y + db -4 ; x + dn $4, $1 ; unk7 + db OBJ_INTERACTION_ANONSTER_SILK ; interaction type + db -8, -4, -5, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_694ee ; frameset + db 16 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw AnonsterSilkFunc.FloatLeft + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_AnonsterSilk3Right: + db 1 ; y + db 3 ; x + dn $4, $1 ; unk7 + db OBJ_INTERACTION_ANONSTER_SILK ; interaction type + db -8, -4, -5, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_694ee ; frameset + db 16 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw AnonsterSilkFunc.FloatRight + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_AnonsterWaveLeft: + db 4 ; y + db -5 ; x + dn $4, $1 ; unk7 + db OBJ_INTERACTION_ANONSTER_WAVE ; interaction type + db -8, -4, -5, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_694f8 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw AnonsteWaveLFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_AnonsterWaveRight: + db 4 ; y + db 4 ; x + dn $4, $1 ; unk7 + db OBJ_INTERACTION_ANONSTER_WAVE ; interaction type + db -8, -4, -5, 4 ; collision box + dw OAM_190000 ; OAM + dw Frameset_69505 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw AnonsterWaveFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_SilkPlatform1: + db -16 ; y + db -112 ; x + dn $4, $3 ; unk7 + db OBJ_INTERACTION_SOLID ; interaction type + db -8, -2, -5, 5 ; collision box + dw OAM_190000 ; OAM + dw Frameset_6954a ; frameset + db 170 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNK_4 ; substate + db $00 ; state + dw SilkPlatformFunc + db $0 ; obj flags + +ObjParams_SilkPlatform2: + db -16 ; y + db -80 ; x + dn $4, $3 ; unk7 + db OBJ_INTERACTION_SOLID ; interaction type + db -8, -2, -5, 5 ; collision box + dw OAM_190000 ; OAM + dw Frameset_6954a ; frameset + db 120 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNK_4 ; substate + db $00 ; state + dw SilkPlatformFunc + db $0 ; obj flags + +ObjParams_SilkPlatform3: + db -16 ; y + db -48 ; x + dn $4, $3 ; unk7 + db OBJ_INTERACTION_SOLID ; interaction type + db -8, -2, -5, 5 ; collision box + dw OAM_190000 ; OAM + dw Frameset_6954a ; frameset + db 70 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNK_4 ; substate + db $00 ; state + dw SilkPlatformFunc + db $0 ; obj flags + +ObjParams_SnakeFireLeft: + db 16 ; y + db -21 ; x + dn $2, $e ; unk7 + db OBJ_INTERACTION_FIRE ; interaction type + db -8, 0, -4, 3 ; collision box + dw OAM_189783 ; OAM + dw Frameset_6893a ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw SnakeFireFunc + db $0 ; obj flags + +ObjParams_SnakeFireRight: + db 16 ; y + db 6 ; x + dn $2, $e ; unk7 + db OBJ_INTERACTION_FIRE ; interaction type + db -8, 0, -4, 3 ; collision box + dw OAM_189783 ; OAM + dw Frameset_6893a ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw SnakeFireFunc + db $0 ; obj flags + +ObjParams_DollBoyHammer: + db -18 ; y + db -10 ; x + dn $4, $9 ; unk7 + db OBJ_INTERACTION_DOLL_BOY_HAMMER ; interaction type + db -12, -4, -4, 3 ; collision box + dw OAM_19105c ; OAM + dw Frameset_69684 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw DollBoyHammerFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_HammerPlatform: + db -60 ; y + db 64 ; x + dn $4, $6 ; unk7 + db OBJ_INTERACTION_31 ; interaction type + db -10, -1, -5, 4 ; collision box + dw OAM_19105c ; OAM + dw Frameset_696b1 ; frameset + db 140 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNK_4 ; substate + db $00 ; state + dw HammerPlatformFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_HighRollingRockLeft: + db 4 ; y + db -13 ; x + dn $5, $8 ; unk7 + db OBJ_INTERACTION_ROLLING_ROCK ; interaction type + db -10, -4, -4, 3 ; collision box + dw OAM_194000 ; OAM + dw Frameset_6973d ; frameset + db 7 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw RollingRockFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_HighRollingRockRight: + db 4 ; y + db 12 ; x + dn $5, $8 ; unk7 + db OBJ_INTERACTION_ROLLING_ROCK ; interaction type + db -10, -4, -4, 3 ; collision box + dw OAM_194000 ; OAM + dw Frameset_696f8 ; frameset + db 7 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw RollingRockFunc_Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_LowRollingRockLeft: + db 4 ; y + db -13 ; x + dn $5, $8 ; unk7 + db OBJ_INTERACTION_ROLLING_ROCK ; interaction type + db -10, -4, -4, 3 ; collision box + dw OAM_194000 ; OAM + dw Frameset_6973d ; frameset + db 7 ; action duration + db $1 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw RollingRockFunc_Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_LowRollingRockRight: + db 4 ; y + db 12 ; x + dn $5, $8 ; unk7 + db OBJ_INTERACTION_ROLLING_ROCK ; interaction type + db -10, -4, -4, 3 ; collision box + dw OAM_194000 ; OAM + dw Frameset_696f8 ; frameset + db 7 ; action duration + db $1 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw RollingRockFunc_Right + db OBJFLAG_PRIORITY ; obj flags + + +ObjParams_PalmTreeShort: + db 16 ; y + db 16 ; x + dn $5, $a ; unk7 + db OBJ_INTERACTION_31 ; interaction type + db -6, -2, -7, 6 ; collision box + dw OAM_194000 ; OAM + dw Frameset_69746 ; frameset + db 0 ; action duration + db $1a ; var1 + db $1f ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNK_4 ; substate + db $00 ; state + dw PalmTreeFunc + db $0 ; obj flags + +ObjParams_PalmTreeMedium: + db 28 ; y + db 72 ; x + dn $5, $a ; unk7 + db OBJ_INTERACTION_31 ; interaction type + db -14, -10, -7, 6 ; collision box + dw OAM_194000 ; OAM + dw Frameset_6974d ; frameset + db 0 ; action duration + db $30 ; var1 + db $1f ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNK_4 ; substate + db $00 ; state + dw PalmTreeFunc + db $0 ; obj flags + +ObjParams_PalmTreeTall: + db 39 ; y + db 127 ; x + dn $5, $a ; unk7 + db OBJ_INTERACTION_31 ; interaction type + db -30, -26, -7, 6 ; collision box + dw OAM_194000 ; OAM + dw Frameset_69754 ; frameset + db 0 ; action duration + db $4a ; var1 + db $1f ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNK_4 ; substate + db $00 ; state + dw PalmTreeFunc + db $0 ; obj flags + +ObjParams_YellowBellyArrowLeft: + db 16 ; y + db -16 ; x + dn $4, $d ; unk7 + db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type + db -10, -4, -3, 2 ; collision box + dw OAM_1926dc ; OAM + dw Frameset_69870 ; frameset + db 0 ; action duration + db $00 ; var1 + db $1 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw YellowBellyArrowFunc.Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_YellowBellyArrowRight: + db 16 ; y + db 15 ; x + dn $4, $d ; unk7 + db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type + db -10, -4, -3, 2 ; collision box + dw OAM_1926dc ; OAM + dw Frameset_69875 ; frameset + db 0 ; action duration + db $00 ; var1 + db $1 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw YellowBellyArrowFunc.Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_Dragonfly1: + db -64 ; y + db 48 ; x + dn $4, $8 ; unk7 + db OBJ_INTERACTION_WALKABLE ; interaction type + db -9, -7, -7, 6 ; collision box + dw OAM_1927d5 ; OAM + dw Frameset_699d0 ; frameset + db 36 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw Dragonfly1Func + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_Fly: + db -48 ; y + db 48 ; x + dn $4, $9 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db -12, 12, -6, 5 ; collision box + dw OAM_1927d5 ; OAM + dw Frameset_699e4 ; frameset + db 40 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $5a ; state + dw FlyFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_Tadpole: + db -3 ; y + db 0 ; x + dn $2, $f ; unk7 + db OBJ_INTERACTION_TADPOLE ; interaction type + db -12, -4, -5, 4 ; collision box + dw OAM_18a642 ; OAM + dw Frameset_69a33 ; frameset + db 28 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $5a ; state + dw TadpoleFunc + db $0 ; obj flags + +ObjParams_InkLeft: + db -12 ; y + db -4 ; x + dn $5, $3 ; unk7 + db OBJ_INTERACTION_INK ; interaction type + db -13, -3, -3, 2 ; collision box + dw OAM_194895 ; OAM + dw Frameset_69ae3 ; frameset + db 20 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw InkFunc.Left + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_InkRight: + db -12 ; y + db 3 ; x + dn $5, $3 ; unk7 + db OBJ_INTERACTION_INK ; interaction type + db -13, -3, -3, 2 ; collision box + dw OAM_194895 ; OAM + dw Frameset_69ae3 ; frameset + db 20 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw InkFunc.Right + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_FloatingRing: + db 64 ; y + db 0 ; x + dn $5, $5 ; unk7 + db OBJ_INTERACTION_31 ; interaction type + db -1, 4, -5, 4 ; collision box + dw OAM_194895 ; OAM + dw Frameset_69b0d ; frameset + db 140 ; action duration + db $00 ; var1 + db $14 ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNK_4 ; substate + db $00 ; state + dw FloatingRingFunc + db $0 ; obj flags + +ObjParams_Skull1: + db -28 ; y + db -16 ; x + dn $5, $0 ; unk7 + db OBJ_INTERACTION_STOVE ; interaction type + db -8, 7, -4, 3 ; collision box + dw OAM_19501c ; OAM + dw Frameset_69c69 ; frameset + db 60 ; action duration + db $64 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw SkullFunc + db $0 ; obj flags + +ObjParams_Skull2: + db 20 ; y + db -16 ; x + dn $5, $1 ; unk7 + db OBJ_INTERACTION_STOVE ; interaction type + db -8, 7, -4, 3 ; collision box + dw OAM_19501c ; OAM + dw Frameset_69c69 ; frameset + db 60 ; action duration + db $78 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw SkullFunc + db $0 ; obj flags + +ObjParams_Skull3: + db -28 ; y + db 16 ; x + dn $5, $2 ; unk7 + db OBJ_INTERACTION_STOVE ; interaction type + db -8, 7, -4, 3 ; collision box + dw OAM_19501c ; OAM + dw Frameset_69cc5 ; frameset + db 60 ; action duration + db $8c ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw SkullFunc + db $0 ; obj flags + +ObjParams_Skull4: + db 20 ; y + db 16 ; x + dn $5, $3 ; unk7 + db OBJ_INTERACTION_STOVE ; interaction type + db -8, 7, -4, 3 ; collision box + dw OAM_19501c ; OAM + dw Frameset_69cc5 ; frameset + db 60 ; action duration + db $a0 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw SkullFunc + db $0 ; obj flags + +ObjParams_JamanoHat: + db -12 ; y + db 0 ; x + dn $5, $8 ; unk7 + db OBJ_INTERACTION_0B ; interaction type + db -4, 0, -6, 5 ; collision box + dw OAM_19501c ; OAM + dw Frameset_69cef ; frameset + db 40 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw JamanoHatFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_MagicSpiralLeft: + db 12 ; y + db -12 ; x + dn $5, $e ; unk7 + db OBJ_INTERACTION_MAGICAL_SPIRAL ; interaction type + db -4, 3, -4, 3 ; collision box + dw OAM_195e06 ; OAM + dw Frameset_69e30 ; frameset + db 92 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $5 | OBJSUBFLAG_VDIR ; substate + db $00 ; state + dw MagicSpiralFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_MagicSpiralRight: + db 12 ; y + db 11 ; x + dn $5, $e ; unk7 + db OBJ_INTERACTION_MAGICAL_SPIRAL ; interaction type + db -4, 3, -4, 3 ; collision box + dw OAM_195e06 ; OAM + dw Frameset_69e30 ; frameset + db 92 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $5 | OBJSUBFLAG_VDIR | OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw MagicSpiralFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_IgaguriLeft: + db 21 ; y + db -12 ; x + dn $5, $f ; unk7 + db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type + db -16, -4, -5, 4 ; collision box + dw OAM_195e06 ; OAM + dw Frameset_69e7b ; frameset + db 62 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw IgaguriFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_IgaguriRight: + db 21 ; y + db 11 ; x + dn $5, $f ; unk7 + db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type + db -16, -4, -5, 4 ; collision box + dw OAM_195e06 ; OAM + dw Frameset_69e7b ; frameset + db 62 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw IgaguriFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_HiddenFigureFace: + db -16 ; y + db 8 ; x + dn $3, $b ; unk7 + db OBJ_INTERACTION_FULL_STING | HEAVY_OBJ ; interaction type + db -24, -19, -4, 3 ; collision box + dw OAM_18c88a ; OAM + dw Frameset_6a06c ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw HiddenFigureFaceFunc + db $0 ; obj flags + +ObjParams_HiddenFigureLeftHand: + db 18 ; y + db -40 ; x + dn $3, $c ; unk7 + db OBJ_INTERACTION_0B | HEAVY_OBJ ; interaction type + db -24, -8, -8, 7 ; collision box + dw OAM_18c88a ; OAM + dw Frameset_6a128 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw HiddenFigureLeftHandFunc + db $0 ; obj flags + +ObjParams_HiddenFigureRightHand: + db 18 ; y + db 56 ; x + dn $3, $d ; unk7 + db OBJ_INTERACTION_0B | HEAVY_OBJ ; interaction type + db -24, -8, -8, 7 ; collision box + dw OAM_18c88a ; OAM + dw Frameset_6a131 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw HiddenFigureRightHandFunc + db $0 ; obj flags + +ObjParams_Omodon2: + db 16 ; y + db 0 ; x + dn $0, $d ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db -16, 11, -17, 0 ; collision box + dw OAM_18154f ; OAM + dw Frameset_68f50 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw Func_4279c + db $0 ; obj flags + +ObjParams_Omodon1: + db 16 ; y + db 0 ; x + dn $0, $d ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db -26, 11, -17, 0 ; collision box + dw OAM_18154f ; OAM + dw Frameset_68f50 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw Func_4279c + db $0 ; obj flags + +ObjParams_DollBoyHammerStarsLeft: + db -20 ; y + db -19 ; x + dn $3, $0 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_680a5 ; frameset + db 25 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw StarsFunc_SetFlags + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_DollBoyHammerStarsRight: + db -20 ; y + db 18 ; x + dn $3, $0 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_680a5 ; frameset + db 25 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw StarsFunc_SetFlags + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_Coin: + dn $8, $1 ; unk7 + db OBJ_INTERACTION_REGULAR_COIN + db -12, 0, -4, 3 + dw OAM_180003 ; OAM + db 1, 8 ; frameset + db 4 ; action duration + db $00 ; var1 + db $02 ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNINITIALISED ; substate + db OBJSTATE_19 ; state + dw CoinFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_ColourCoin: + dn $8, $1 ; unk7 + db OBJ_INTERACTION_COLOUR_COIN + db -12, 0, -4, 3 + dw OAM_180003 ; OAM + db 1, 8 ; frameset + db 4 ; action duration + db $00 ; var1 + db $02 ; var2 + db $00 ; var3 + db OBJSUBFLAG_UNINITIALISED ; substate + db OBJSTATE_19 ; state + dw CoinFunc.ColourCoin + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_TorchEmberLeft1: + dn $0, $5 ; unk7 + db OBJ_INTERACTION_FIRE ; interaction type + db -12, -3, -5, 3 ; collision box + dw OAM_180838 ; OAM + dw Frameset_68354 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw TorchEmberLeft1Func + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_TorchEmberRight1: + dn $0, $5 ; unk7 + db OBJ_INTERACTION_FIRE ; interaction type + db -12, -3, -5, 3 ; collision box + dw OAM_180838 ; OAM + dw Frameset_68354 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw TorchEmberRight1Func + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_TorchEmberLeft2: + dn $0, $5 ; unk7 + db OBJ_INTERACTION_FIRE ; interaction type + db -12, -3, -5, 3 ; collision box + dw OAM_180838 ; OAM + dw Frameset_68354 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw TorchEmberLeft2Func + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_TorchEmberRight2: + dn $0, $5 ; unk7 + db OBJ_INTERACTION_FIRE ; interaction type + db -12, -3, -5, 3 ; collision box + dw OAM_180838 ; OAM + dw Frameset_68354 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db OBJSUBFLAG_HDIR ; substate + db $00 ; state + dw TorchEmberRight2Func + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_ElectricLampSpark: + dn $1, $8 ; unk7 + db OBJ_INTERACTION_ELECTRIC ; interaction type + db -6, -5, -4, 3 ; collision box + dw OAM_184eeb ; OAM + dw Frameset_68c97 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw ElectricLampSparkFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_Bubble: + dn $1, $f ; unk7 + db OBJ_INTERACTION_BUBBLE ; interaction type + db -24, -7, -9, 8 ; collision box + dw OAM_185b98 ; OAM + dw Frameset_69105 ; frameset + db 32 ; action duration + db $30 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw BubbleFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_FallingSnow: + dn $2, $a ; unk7 + db OBJ_INTERACTION_SNOW ; interaction type + db -15, -8, -5, 4 ; collision box + dw OAM_1893fe ; OAM + dw Frameset_6957e ; frameset + db 80 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw FallingSnowFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_StarsAbove: + dn $3, $0 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_680c5 ; frameset + db 33 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw StarsFunc_WithYOffset + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_YellowBellyHead: + dn $4, $c ; unk7 + db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type + db -10, -6, -4, 3 ; collision box + dw OAM_1926dc ; OAM + dw Frameset_6987a ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw YellowBellyHeadFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_Pump: + dn $4, $e ; unk7 + db OBJ_INTERACTION_36 ; interaction type + db -13, -1, -6, 5 ; collision box + dw OAM_1926dc ; OAM + dw Frameset_6987a ; frameset + db 16 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw PumpFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_Cheese: + dn $4, $a ; unk7 + db OBJ_INTERACTION_0B ; interaction type + db -12, -5, -6, 5 ; collision box + dw OAM_1927d5 ; OAM + dw Frameset_69a00 ; frameset + db 48 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw CheeseFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_ScrowlerTentacleRight: + dn $5, $1 ; unk7 + db OBJ_INTERACTION_WATER_TELEPORTING ; interaction type + db -10, -2, -3, 2 ; collision box + dw OAM_194895 ; OAM + dw Frameset_69af5 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw ScrowlerTentacleFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_ScrowlerTentacleLeft: + dn $5, $2 ; unk7 + db OBJ_INTERACTION_WATER_TELEPORTING ; interaction type + db -10, -2, -3, 2 ; collision box + dw OAM_194895 ; OAM + dw Frameset_69af5 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw ScrowlerTentacleFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_MuddeeStinger1: + dn $3, $4 ; unk7 + db OBJ_INTERACTION_FULL_STING ; interaction type + db -12, 0, -4, 3 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_68072 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $1 ; substate + db $00 ; state + dw MuddeeStingerFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_MuddeeStinger2: + dn $3, $5 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db -12, 0, -4, 3 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_68072 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $1 ; substate + db $00 ; state + dw MuddeeStingerFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_Kuri: + dn $5, $e ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db -12, 0, -5, 4 ; collision box + dw OAM_195e06 ; OAM + dw Frameset_69e50 ; frameset + db 0 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw KuriFunc + db OBJFLAG_PRIORITY ; obj flags + +ObjParams_StarsCentre: + dn $3, $0 ; unk7 + db OBJ_INTERACTION_01 ; interaction type + db 0, 0, 0, 0 ; collision box + dw OAM_18c000 ; OAM + dw Frameset_680a5 ; frameset + db 25 ; action duration + db $00 ; var1 + db $00 ; var2 + db $00 ; var3 + db $0 ; substate + db $00 ; state + dw StarsFunc_SetFlags + db OBJFLAG_PRIORITY ; obj flags diff --git a/src/engine/bank18.asm b/src/engine/bank18.asm index 71d0664..16dc373 100644 --- a/src/engine/bank18.asm +++ b/src/engine/bank18.asm @@ -1,666 +1,3 @@ -StandingFallYVel_Light: - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, $80 - -StandingFallYVel_Heavy: - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 0, 0, 0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5, 5, $80 - -Data_60040: - db -3, -2, -1, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3 - db 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 - -Data_60060: - db -2, -1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4 - db 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, $80 - -Data_60080: - db 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 3, 4 - db 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, $80 - -Data_600a0: - db 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3 - db 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, $80 - -Data_600c0: - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 0, 0, 0, 1, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, $80 - -Data_600e0: - db 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 2, 2, 2, 2 - db 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 - -Data_60100: - db -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1 - db 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, $80 - -Data_60120: - db -4, -4, -4, -3, -3, -3, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1 - db 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, $80 - -Data_60140: - db -7, -7, -7, -7, -6, -6, -6, -6, -5, -5, -5, -5, -4, -4, -4, -3 - db -3, -3, -2, -2, -1, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, $80 - -Data_60160: - db -7, -6, -5, -5, -5, -4, -4, -4, -3, -3, -3, -3, -2, -2, -1, -1 - db 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, $80 - -Data_60180: - db -7, -6, -5, -4, -3, -3, -2, -2, -1, -1, 0, 0, 0, 0, 0, 0 - db 0, 1, 0, 1, 2, 2, 3, 2, 3, 3, 4, 4, 5, 6, 7, $80 - -Data_601a0: - db -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 1, 0, 1, 0, 1 - db 1, 2, 1, 2, 2, 3, 3, 3, 4, 5, 6, 7, 8, 9, 10, $80 - -Data_601c0: - db 3, -7, 16 - db 4, -18, 14 - db 3, -28, 6 - db 0, 0, 0 - db 0, 0, 0 - db 0 - -; unreferenced -Data_601d0: - db 7, -5, 16, 7, -12, 16, 5, -28, 6, 0, 0, 0, 0, 0, 0, 0 - -Data_601e0: - db 3, -7, -17 - db 4, -18, -15 - db 3, -28, -7 - db 0, 0, 0 - db 0, 0, 0 - db 0 - -; unreferenced -Data_601f0: - db 7, -5, -17, 7, -12, -17, 5, -28, -7, 0, 0, 0, 0, 0, 0, 0 - db 15, -30, -7, 4, -28, -8, 4, -16, -16, 0, 0, 0, 0, 0, 0, 0 - db 31, -28, 5, 5, -28, -8, 5, -16, -16, 0, 0, 0, 0, 0, 0, 0 - db 15, -30, 6, 4, -28, 7, 4, -16, 15, 0, 0, 0, 0, 0, 0, 0 - db 31, -28, -6, 5, -28, 7, 5, -16, 15, 0, 0, 0, 0, 0, 0, 0 - db 6, -16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 6, -16, -15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 6, -16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 6, -16, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - -; y-offset values for falling light objects -FallingYVel_Light: - db 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, $80 - -; y-offset values for falling heavy objects -FallingYVel_Heavy: - db 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, $80 - -Data_602a0: - db -4, -3, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, $80 - -Data_602b0: - db -3, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, $80 - -Data_602c0: - db -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_602d0: - db -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_602e0: - db -3, -2, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_602f0: - db -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60300: - db -4, -3, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60310: - db -3, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60320: - db -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 1, 0, 1, 0 - db 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, $80 - -; unreferenced -Data_60340: - db 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0 - db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4 - db -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0 - db 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 - db 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 - db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4 - db -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0 - db 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 - db 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, $80 - -Data_603d0: - db -6, -5, -5, -5, -4, -4, -4, -3, -3, -3, -2, -1, -1, -1, 0, $80 - -Data_603e0: - db 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 - -Data_603f0: - db 1, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -; unreferenced -Data_60400: - db -1, -1, -2, -2, -3, -3, -4, -4, -3, -3, -2, -2, -1, -1, 0, 0 - db 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 - db 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 - db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4 - db -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0 - db 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4 - db 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 - db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4 - db -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, $80 - -Data_60490: - db 2, 4, 6, 8, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, $80 - -Data_604a0: - db 1, 2, 3, 4, 4, 4, 4, 4, 3, 2, 1, 0, 0, 0, 0, $80 - -Data_604b0: - db -3, -2, -1, -1, -1, 0, 0, 0, 0, 1, 1, 1, 2, 3, 0, $80 - -Data_604c0: - db 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, - db 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, $80 - -Data_604e0: - db -4, -4, -3, -3, -2, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, $80 - -Data_60500: - db 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, $80 - -Data_60510: - db -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 1, 0, 1, 0 - db 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, $80 - -Data_60530: - db -8, -7, -6, -5, -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60540: - db -6, -5, -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, $80 - -Data_60560: - db 1, 0, 1, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3 - db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 1, 1 - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, $80 - -Data_605a0: - db -1, 0, -1, 0, -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3 - db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -2, -2, -1, -1 - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, $80 - -Data_605e0: - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3 - db 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, $80 - -Data_60600: - db 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -2, -3, $80 - -Data_60610: - db -1, -1, -1, 0, 0, 1, 1, 1, 0, 0, -1, -1, -1, -1, -2, -2 - db -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -4, $80 - -Data_60630: - db 1, 1, 1, 0, 0, -1, -1, -1, 0, 0, 1, 1, 1, 1, 2, 2 - db 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, $80 - -Data_60650: - db -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 - db 1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, $80 - -Data_60670: - db 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3 - db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 - -Data_60690: - db 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -2, -1, 1, 1, 1 - db 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 2 - db 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - db 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2 - db -3, -3, -3, -2, -1, -1, -1, -1, -1, -1, 1, 2, 1, 1, 0, $80 - -Data_606e0: - db 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -1, -2, -2, -2, -3, $80 - -Data_606f0: - db 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 3, $80 - -Data_60700: - db -6, -6, -5, -5, -5, -4, -4, -3, -3, -3, -2, -2, -2, -1, -1, -1 - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60720: - db -8, -7, -7, -6, -6, -6, -5, -5, -5, -4, -4, -3, -3, -2, -2, -1 - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60740: - db 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 - -Data_60760: - db -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, -3, -4, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, $80 - -Data_60790: - db 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -3, -3, -4, -3, -3, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_607e0: - db -3, -5, -7, -9, -9, -9, -9, -9, -8, -7, -6, -6, -6, -6, -6, $80 - -Data_607f0: - db 10, 9, 8, 8, 8, 8, 8, 8, 7, 7, 6, 6, 6, 6, 6, $80 - -Data_60800: - db 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, $80 - -Data_60830: - db 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, $80 - -Data_60860: - db -4, -3, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 2, 2, 2, 3, 4, $80 - -Data_60880: - db 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 7, 0, 0, 0, 0, $80 - -Data_60890: - db -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 7, 0, 0, 0, 0, $80 - -Data_608a0: - db 0, 0, -3, -7, -7, -6, -5, -4, -3, 1, 2, 0, 0, 0, 0, $80 - -Data_608b0: - db 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, -4, -3, -3, -2, -1, 0, 1, 1, 1, 2, 2, 2, 2, 2, -3, -2, -2, -1, 0, 1, 1, 2, 2, 2, -2, -1, -1, 0, 1, 1, 2, -2, -1, -1, 0, 1, 1, 2, -2, -1, -1, 0, 1, 1, 2, -1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, $80 - -Data_60900: - db 0, 0, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -4, -3, -3, -2, -1, 0, 1, 1, 1, 2, 2, 2, 2, 2, -3, -2, -2, -1, 0, 1, 1, 2, 2, 2, -2, -1, -1, 0, 1, 1, 2, -2, -1, -1, 0, 1, 1, 2, -2, -1, -1, 0, 1, 1, 2, -1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, $80 - -Data_60950: - db 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -2, -1, -2, -1, -2, -1, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -2, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_609e0: - db -7, -6, -5, -4, -3, -2, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, $80 - -Data_60a00: - db -4, -4, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, $80 - -Data_60a10: - db 4, 4, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, $80 - -Data_60a20: - db -6, -6, -6, -5, -5, -5, -4, -4, -3, -3, -2, -2, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60a40: - db 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, $80 - -Data_60a50: - db 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, $80 - -Data_60a60: - db 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, $80 - -Data_60a70: - db -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, $80 - -Data_60a80: - db 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 0, $80 - -Data_60a90: - db -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -4, -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, $80 - - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - -Data_60ae0: - db 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, $80 - -Data_60b00: - db 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, $80 - -Data_60b30: - db 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $80 - -Data_60b60: - db 2, 2, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, $80 - -Data_60b80: - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 7, 0, 0, 0, 0, $80 - -Data_60ba0: - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 7, 0, 0, 0, 0, $80 - -Data_60bd0: - db -6, -5, -4, -3, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, $80 - -Data_60c00: - db 0, 0, 0, 0, -3, -2, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60c20: - db 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, $80 - -Data_60c80: - db 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -2, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, $80 - -Data_60ce0: - db 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, $80 - -Data_60d00: - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, $80 - -Data_60d20: - db 1, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, $80 - -Data_60d30: - db -6, -6, -6, -6, -5, -5, -5, -4, -4, -3, -3, -2, -2, -1, 0, $80 - -Data_60d40: - db 1, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, $80 - -Data_60d50: - db 0, 4, 0, -4, 0, 3, 0, -3, 0, 2, 0, -2, 1, -1, 0, $80 - -Data_60d60: - db -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, $80 - -Data_60d80: - db -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, $80 - -Data_60da0: - db -6, -5, -4, -3, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, $80 - -Data_60dd0: - db -6, -5, -4, -3, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, $80 - -Data_60e00: - db -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60e20: - db -6, -5, -5, -5, -4, -4, -4, -3, -3, -3, -2, -1, -1, -1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, $80 - -Data_60e40: - db -4, -4, -4, -3, -3, -2, -2, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $80 - -Data_60e70: - db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, $80 - -Data_60e90: - db -8, -7, -6, -5, -4, -4, -3, -3, -2, -2, -1, -1, -1, -1, 0, $80 - -Data_60ea0: - db 1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $80 - -; unreferenced -Data_60eb0: - db 8, 0, -1, 32, -1, -1, 8, 1, 1, 8, 0, 1, 8, 0, 1, 32, -1, 1, 8, 1, -1, 8, 0, -1, 0 - -Data_60ec9: - db 1, -2, 0 - db 1, -1, 0 - db 1, -2, -1 - db 1, -1, 0 - db 1, -2, 0 - db 1, -1, 0 - db 1, -2, -1 - db 1, -1, 0 - db 1, -2, -1 - db 1, -1, -1 - db 1, -2, -1 - db 1, -1, -1 - db 1, -1, -1 - db 1, -1, 0 - db 1, -2, -1 - db 1, -1, -1 - db 1, -1, -2 - db 1, -1, -1 - db 1, -1, -1 - db 1, -1, -1 - db 1, -1, -2 - db 1, 0, -1 - db 1, -1, -2 - db 1, -1, -1 - db 1, -1, -2 - db 1, 0, -1 - db 1, 0, -2 - db 1, 0, -1 - db 1, -1, -2 - db 1, 0, -1 - db 1, 0, -2 - db 1, 0, -1 - db 1, 0, -2 - db 1, 0, -1 - db 1, 1, -2 - db 1, 0, -1 - db 1, 0, -2 - db 1, 0, -1 - db 1, 1, -2 - db 1, 0, -1 - db 1, 1, -2 - db 1, 1, -1 - db 1, 1, -2 - db 1, 0, -1 - db 1, 1, -1 - db 1, 1, -1 - db 1, 1, -2 - db 1, 1, -1 - db 1, 2, -1 - db 1, 1, -1 - db 1, 1, -1 - db 1, 1, 0 - db 1, 2, -1 - db 1, 1, -1 - db 1, 2, -1 - db 1, 1, -1 - db 1, 2, -1 - db 1, 1, 0 - db 1, 2, 0 - db 1, 1, 0 - db 1, 2, -1 - db 1, 1, 0 - db 1, 2, 0 - db 1, 1, 0 - db 1, 2, 0 - db 1, 1, 0 - db 1, 2, 1 - db 1, 1, 0 - db 1, 2, 0 - db 1, 1, 0 - db 1, 2, 1 - db 1, 1, 0 - db 1, 2, 1 - db 1, 1, 1 - db 1, 2, 1 - db 1, 1, 1 - db 1, 1, 1 - db 1, 1, 0 - db 1, 2, 1 - db 1, 1, 1 - db 1, 1, 2 - db 1, 1, 1 - db 1, 1, 1 - db 1, 1, 1 - db 1, 1, 2 - db 1, 0, 1 - db 1, 1, 2 - db 1, 1, 1 - db 1, 1, 2 - db 1, 0, 1 - db 1, 0, 2 - db 1, 0, 1 - db 1, 1, 2 - db 1, 0, 1 - db 1, 0, 2 - db 1, 0, 1 - db 1, 0, 2 - db 1, 0, 1 - db 1, -1, 2 - db 1, 0, 1 - db 1, 0, 2 - db 1, 0, 1 - db 1, -1, 2 - db 1, 0, 1 - db 1, -1, 2 - db 1, -1, 1 - db 1, -1, 2 - db 1, 0, 1 - db 1, -1, 1 - db 1, -1, 1 - db 1, -1, 2 - db 1, -1, 1 - db 1, -2, 1 - db 1, -1, 1 - db 1, -1, 1 - db 1, -1, 0 - db 1, -2, 1 - db 1, -1, 1 - db 1, -2, 1 - db 1, -1, 1 - db 1, -2, 1 - db 1, -1, 0 - db 1, -2, 0 - db 1, -1, 0 - db 1, -2, 1 - db 1, -1, 0 - db 1, -2, 0 - db 1, -1, 0 - db 0 - -; unreferenced -Data_6104a: - db 1, -1, 0 - db 1, -2, 0 - db 1, -1, 0 - db 1, -2, 1 - db 1, -1, 0 - db 1, -2, 0 - db 1, -1, 0 - db 1, -2, 1 - db 1, -1, 1 - db 1, -2, 1 - db 1, -1, 1 - db 1, -2, 1 - db 1, -1, 0 - db 1, -1, 1 - db 1, -1, 1 - db 1, -2, 1 - db 1, -1, 1 - db 1, -1, 2 - db 1, -1, 1 - db 1, -1, 1 - db 1, 0, 1 - db 1, -1, 2 - db 1, -1, 1 - db 1, -1, 2 - db 1, 0, 1 - db 1, -1, 2 - db 1, 0, 1 - db 1, 0, 2 - db 1, 0, 1 - db 1, -1, 2 - db 1, 0, 1 - db 1, 0, 2 - db 1, 0, 1 - db 1, 0, 2 - db 1, 0, 1 - db 1, 1, 2 - db 1, 0, 1 - db 1, 0, 2 - db 1, 0, 1 - db 1, 1, 2 - db 1, 1, 1 - db 1, 1, 2 - db 1, 0, 1 - db 1, 1, 2 - db 1, 1, 1 - db 1, 1, 1 - db 1, 1, 1 - db 1, 1, 2 - db 1, 1, 1 - db 1, 2, 1 - db 1, 1, 0 - db 1, 1, 1 - db 1, 1, 1 - db 1, 2, 1 - db 1, 1, 1 - db 1, 2, 1 - db 1, 1, 0 - db 1, 2, 1 - db 1, 1, 0 - db 1, 2, 0 - db 1, 1, 0 - db 1, 2, 1 - db 1, 1, 0 - db 1, 2, 0 - db 1, 1, 0 - db 1, 2, 0 - db 1, 1, 0 - db 1, 2, -1 - db 1, 1, 0 - db 1, 2, 0 - db 1, 1, 0 - db 1, 2, -1 - db 1, 1, -1 - db 1, 2, -1 - db 1, 1, -1 - db 1, 2, -1 - db 1, 1, 0 - db 1, 1, -1 - db 1, 1, -1 - db 1, 2, -1 - db 1, 1, -1 - db 1, 1, -2 - db 1, 1, -1 - db 1, 1, -1 - db 1, 0, -1 - db 1, 1, -2 - db 1, 1, -1 - db 1, 1, -2 - db 1, 0, -1 - db 1, 1, -2 - db 1, 0, -1 - db 1, 0, -2 - db 1, 0, -1 - db 1, 1, -2 - db 1, 0, -1 - db 1, 0, -2 - db 1, 0, -1 - db 1, 0, -2 - db 1, 0, -1 - db 1, -1, -2 - db 1, 0, -1 - db 1, 0, -2 - db 1, 0, -1 - db 1, -1, -2 - db 1, -1, -1 - db 1, -1, -2 - db 1, 0, -1 - db 1, -1, -2 - db 1, -1, -1 - db 1, -1, -1 - db 1, -1, -1 - db 1, -1, -2 - db 1, -1, -1 - db 1, -2, -1 - db 1, -1, 0 - db 1, -1, -1 - db 1, -1, -1 - db 1, -2, -1 - db 1, -1, -1 - db 1, -2, -1 - db 1, -1, 0 - db 1, -2, -1 - db 1, -1, 0 - db 1, -2, 0 - db 1, -1, 0 - db 1, -2, -1 - db 1, -1, 0 - db 1, -2, 0 - db 0 - UpdateObject_Temple: push hl inc l diff --git a/src/engine/bank19.asm b/src/engine/bank19.asm deleted file mode 100644 index 4693f3a..0000000 --- a/src/engine/bank19.asm +++ /dev/null @@ -1,4707 +0,0 @@ -LoadEnemyGroupData:: -; fills wObjDataPointers with Dummy Object - ld hl, wObjDataPointers - ld bc, DummyObjectData - ld e, $10 -.loop_1 - ld a, c - ld [hli], a - ld a, b - ld [hli], a - dec e - jr nz, .loop_1 - - ld a, [wEnemyGroup] - cp ENEMY_GROUP_HIDDEN_FIGURE - jp z, LoadHiddenFigureData - - ld d, $00 - ld e, a - sla e - rl d - sla e - rl d ; *4 - ld hl, EnemyGroups - add hl, de - ld a, [hli] - ld c, a - ld a, [hli] - - push hl - ld h, a - ld l, c - ld de, wChestObjDataPtr - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a ; wKeyObjDataPtr - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] - ld [de], a ; wMusicalCoinObjDataPtr - inc e - ld a, [hli] - ld [de], a - ld de, wTempPals2 palette 3 - ld b, 1 palettes - call CopyHLToDE_Short - pop hl - - ld a, [hli] - ld c, a - ld h, [hl] - ld l, c - ld a, BANK("WRAM1") - ldh [rVBK], a - ld a, [hli] - ldh [hffa0], a - - ; enemy slot 1 - ld a, [hli] - ld c, a - ld a, [hli] - push hl - ld h, a - ld l, c - ld bc, v1Tiles0 - ldh a, [hffa0] - ld e, BANK("Enemy Gfx 1 Slot 1") - add e - ldh [hCallFuncBank], a - hcall Decompress - pop hl - - ; enemy slot 2 - ld a, [hli] - ld c, a - ld a, [hli] - push hl - ld h, a - ld l, c - ld bc, v1Tiles0 + $400 - ldh a, [hffa0] - ld e, BANK("Enemy Gfx 1 Slot 2") - add e - ldh [hCallFuncBank], a - hcall Decompress - pop hl - - ; enemy slot 3 - ld a, [hli] - ld c, a - ld a, [hli] - push hl - ld h, a - ld l, c - ld bc, v1Tiles1 - ldh a, [hffa0] - ld e, BANK("Enemy Gfx 1 Slot 3") - add e - ldh [hCallFuncBank], a - hcall Decompress - pop hl - - ; enemy slot 4 - ld a, [hli] - ld c, a - ld a, [hli] - push hl - ld h, a - ld l, c - ld bc, v1Tiles1 + $400 - ldh a, [hffa0] - ld e, BANK("Enemy Gfx 1 Slot 4") - add e - ldh [hCallFuncBank], a - hcall Decompress - pop hl - - xor a ; VRAM0 - ldh [rVBK], a - - ld a, 13 - ldh [hffa0], a - ld de, wObjDataPtr01 -.loop_2 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - inc a - jr z, .copy_pals - ld a, c - ld [de], a - inc e - ld a, b - ld [de], a - inc e - ldh a, [hffa0] - dec a - ldh [hffa0], a - jr nz, .loop_2 - -.copy_pals - jp LoadObjPals - -; de = block -; c = entry in wObjDataPointers -SpawnObject: - ldh a, [hXPosHi] - cp $0a - ret nc - - ld h, HIGH(wObj1) -FOR n, 1, NUM_OBJECTS + 1 - ld l, LOW(wObj{u:n}) - ld a, [hli] - rra - jr nc, .got_obj -ENDR - ret - -.got_obj - ; bit 7 set means it's not spawned in - ld a, [de] - rlca - ret nc - ; not spawned, unset bit 7 - rrca - and $7f - ld [de], a - - ld [hl], e ; OBJ_UNK_01 - inc l - ld a, [wccec] - dec a - add a ; *2 - add a ; *4 - add a ; *8 - add a ; *16 - add a ; *32 - add d - ld [hli], a ; OBJ_UNK_02 - ldh a, [hYPosLo] - ld [hli], a ; OBJ_Y_POS - ldh a, [hYPosHi] - ld [hli], a - ldh a, [hXPosLo] - ld [hli], a ; OBJ_X_POS - ldh a, [hXPosHi] - ld [hli], a - - push hl - ld hl, wObjDataPointers - dec c - sla c ; *2 - ld b, $00 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - pop de - - ld a, [hli] - ld [de], a ; OBJ_UNK_07 - inc e - ld a, [hli] - ld [de], a ; OBJ_INTERACTION_TYPE - inc e - ld a, [hli] - ld [de], a ; OBJ_COLLBOX_TOP - inc e - xor a - ld [de], a ; OBJ_COLLBOX_BOTTOM - - ld a, e - add OBJ_FRAME - OBJ_COLLBOX_BOTTOM - ld e, a - xor a - ld [de], a ; OBJ_FRAME - inc e - ld a, [hli] ; OBJ_OAM_PTR - ld [de], a - inc e - ld a, [hli] - ld [de], a - - ld a, e - add OBJ_FRAME_DURATION - (OBJ_OAM_PTR + 1) - ld e, a - ld a, $7f - ld [de], a ; OBJ_FRAME_DURATION - - ld a, e - add OBJ_SUBSTATE - OBJ_FRAME_DURATION - ld e, a - ld a, $1 | OBJSUBFLAG_UNINITIALISED - ld [de], a ; OBJ_SUBSTATE - inc e - xor a ; OBJSTATE_00 - ld [de], a ; OBJ_STATE - inc e - ld a, 2 | (1 << 7) - ld [de], a ; OBJ_ACTION - inc e - inc e - ld a, [hli] - ld [de], a ; OBJ_UPDATE_FUNCTION - inc e - ld a, [hli] - ld [de], a - - ld a, e - sub (OBJ_UPDATE_FUNCTION + 1) - OBJ_FLAGS - ld e, a - ld a, [hl] - or OBJFLAG_ACTIVE | OBJFLAG_INVISIBLE - ld [de], a ; OBJ_FLAGS - ret - -DespawnAllObjects: - ld h, HIGH(wObjects) -FOR n, 0, NUM_OBJECTS - ld l, LOW(wObjects) + OBJ_STRUCT_LENGTH * n - ld a, [hl] ; OBJ_FLAGS - rra - jr nc, .skip_{u:n} ; skip if OBJFLAG_ACTIVE not set - rla - rla - rla - jr nc, .despawn_{u:n} ; jump if OBJFLAG_TRANSIENT not set - xor a - ld [hl], a - jr .skip_{u:n} -.despawn_{u:n} - inc l - inc l - farcall DespawnObject -.skip_{u:n} -ENDR - ret - -; bc = object creation data -_CreateObjectFromCurObjPos:: - ld h, HIGH(wObj1Flags) -FOR n, 1, NUM_OBJECTS + 1 - ld l, LOW(wObj{u:n}Flags) - ld a, [hl] - rra - jr nc, .got_obj_slot ; OBJFLAG_ACTIVE not set -ENDR - ret - -.got_obj_slot - ld a, OBJFLAG_ACTIVE | OBJFLAG_TRANSIENT - ld [hli], a - ld a, [wCurObjUnk01] - ld [hli], a - ld a, [wCurObjUnk02] - ld [hli], a - ld a, [wCurObjYPos + 0] - ld [hli], a - ld a, [wCurObjYPos + 1] - ld [hli], a - ld a, [wCurObjXPos + 0] - ld [hli], a - ld a, [wCurObjXPos + 1] - jr CreateObject_GotPos - -_CreateObjectAtRelativePos:: - ld h, HIGH(wObj1Flags) -FOR n, 1, NUM_OBJECTS + 1 - ld l, LOW(wObj{u:n}Flags) - ld a, [hl] - rra - jr nc, .got_obj_slot ; OBJFLAG_ACTIVE not set -ENDR - ret - -.got_obj_slot - ld a, OBJFLAG_ACTIVE | OBJFLAG_TRANSIENT - ld [hli], a - ld a, [wCurObjUnk01] - ld [hli], a - ld a, [wCurObjUnk02] - ld [hli], a - ld a, [wCurObjYPos + 0] - ld e, a - ld a, [bc] - rla - jr c, .negative_y - rra - add e - ld [hli], a - ld a, [wCurObjYPos + 1] - jr nc, .got_hi_y - inc a - jr .got_hi_y -.negative_y - rra - add e - ld [hli], a - ld a, [wCurObjYPos + 1] - jr c, .got_hi_y - dec a -.got_hi_y - ld [hli], a - inc bc - ld a, [wCurObjXPos] - ld e, a - ld a, [bc] - rla - jr c, .negative_x - rra - add e - ld [hli], a - ld a, [wCurObjXPos + 1] - jr nc, .got_hi_x - inc a - jr .got_hi_x -.negative_x - rra - add e - ld [hli], a - ld a, [wCurObjXPos + 1] - jr c, .got_hi_x - dec a -.got_hi_x - inc bc -CreateObject_GotPos:: - ld [hli], a - ld e, l - ld d, h - ld l, c - ld h, b - ld a, [hli] - ld [de], a ; OBJ_UNK_07 - inc e - ld a, [hli] - ld [de], a ; OBJ_INTERACTION_TYPE - inc e - ld a, [hli] - ld [de], a ; OBJ_COLLBOX_TOP - inc e - ld a, [hli] - ld [de], a ; OBJ_COLLBOX_BOTTOM - inc e - ld a, [hli] - ld [de], a ; OBJ_COLLBOX_LEFT - inc e - ld a, [hli] - ld [de], a ; OBJ_COLLBOX_RIGHT - inc e - inc e - inc e - inc e - ld a, [hli] ; OBJ_OAM_PTR - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - ld a, [hli] ; OBJ_FRAMESET_PTR - ld [de], a - inc e - ld a, [hli] - ld [de], a - inc e - xor a - ld [de], a ; OBJ_FRAME_DURATION - inc e - ld [de], a ; OBJ_FRAMESET_OFFSET - inc e - ld a, [hli] - ld [de], a ; OBJ_STATE_DURATION - inc e - ld a, [hli] - ld [de], a ; OBJ_VAR_1 - inc e - ld a, [hli] - ld [de], a ; OBJ_VAR_2 - inc e - ld a, [hli] - ld [de], a ; OBJ_VAR_3 - inc e - ld a, [hli] - ld [de], a ; OBJ_SUBSTATE - inc e - ld a, [hli] - ld [de], a ; OBJ_STATE - inc e - xor a ; OBJACTION_NONE - ld [de], a ; OBJ_ACTION - inc e - inc e - ld a, [hli] - ld [de], a ; OBJ_UPDATE_FUNCTION - inc e - ld a, [hli] - ld [de], a - ld a, e - sub (OBJ_UPDATE_FUNCTION + 1) - OBJ_FLAGS - ld e, a - ld a, [hl] ; OBJ_FLAGS - or OBJFLAG_ACTIVE | OBJFLAG_TRANSIENT - ld [de], a - ret - -LoadHiddenFigureData: - ld hl, .pointers - ld a, $d - ldh [hffa0], a - ld de, wObjDataPtr01 -.loop - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - inc a - ret z - ld a, c - ld [de], a - inc e - ld a, b - ld [de], a - inc e - ldh a, [hffa0] - dec a - ldh [hffa0], a - jr nz, .loop - ret - -.pointers - dw HiddenFigureData - dw NULL - -; \1 OAM ptr -; \2 unknown -; \3 interaction type -; \4 collision box top -; \5 update function -; \6 object flags -MACRO object_data -assert (BANK(\1) - BANK("Objects OAM 1")) | (BANK(\5) - BANK("Object Functions 1")) == (BANK(\5) - BANK("Object Functions 1")) - dn (BANK(\5) - BANK("Object Functions 1")), \2 - db \3, \4 - dw \1 - dw \5 - db \6 -ENDM - -DummyObjectData: object_data OAM_18007b, $0, OBJ_INTERACTION_00, 0, DummyObjectFunc, $0 -GreyChestData: object_data OAM_18c000, $1, OBJ_INTERACTION_GREY_TREASURE | HEAVY_OBJ, -24, GreyChestFunc, $0 -RedChestData: object_data OAM_18c000, $1, OBJ_INTERACTION_RED_TREASURE | HEAVY_OBJ, -24, RedChestFunc, $0 -GreenChestData: object_data OAM_18c000, $1, OBJ_INTERACTION_GREEN_TREASURE | HEAVY_OBJ, -24, GreenChestFunc, $0 -BlueChestData: object_data OAM_18c000, $1, OBJ_INTERACTION_BLUE_TREASURE | HEAVY_OBJ, -24, BlueChestFunc, $0 -GreyKeyData: object_data OAM_18c000, $2, OBJ_INTERACTION_GREY_KEY, -24, KeyFunc, $0 -RedKeyData: object_data OAM_18c000, $2, OBJ_INTERACTION_RED_KEY, -24, KeyFunc, $0 -GreenKeyData: object_data OAM_18c000, $2, OBJ_INTERACTION_GREEN_KEY, -24, KeyFunc, $0 -BlueKeyData: object_data OAM_18c000, $2, OBJ_INTERACTION_BLUE_KEY, -24, KeyFunc, $0 -MusicalCoinData: object_data OAM_18c000, $3, OBJ_INTERACTION_MUSICAL_COIN, -25, MusicalCoinFunc, $0 -SpearheadData: object_data OAM_18007b, $0, OBJ_INTERACTION_01, -14, SpearheadFunc, OBJFLAG_PRIORITY -FutamoguData: object_data OAM_180564, $1, OBJ_INTERACTION_WALKABLE | HEAVY_OBJ, -17, FutamoguFunc, OBJFLAG_PRIORITY -WebberData: object_data OAM_180242, $2, OBJ_INTERACTION_WALKABLE | HEAVY_OBJ, -16, WebberFunc, OBJFLAG_PRIORITY -TorchData: object_data OAM_180838, $4, OBJ_INTERACTION_FIRE, -16, TorchFunc, $0 -TorchNoEmbersData: object_data OAM_180838, $6, OBJ_INTERACTION_FIRE, -16, TorchNoEmbersFunc, $0 -FlameBlockTorchData: object_data OAM_180838, $7, OBJ_INTERACTION_UNLIT_TORCH, -16, FlameBlockTorchFunc, $0 -FlameBlockData: object_data OAM_1895ec, $b, OBJ_INTERACTION_SOLID, -30, FlameBlockFunc, $0 -StoveData: object_data OAM_1896e1, $c, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -32, StoveFunc, $0 -UnusedFlowerData: object_data OAM_180916, $6, OBJ_INTERACTION_01, 0, UnusedFlowerFunc, $0 -CountRichtertoffenData: object_data OAM_1809ff, $7, OBJ_INTERACTION_RICHTERTOFFEN | HEAVY_OBJ, -18, CountRichtertoffenFunc, OBJFLAG_PRIORITY -HebariiData: object_data OAM_18a703, $0, OBJ_INTERACTION_HEBARII, -15, HebariiFunc, $0 -ParaGoomData: object_data OAM_180b43, $9, OBJ_INTERACTION_01, -12, ParaGoomFunc, OBJFLAG_PRIORITY -DoughnuteerData: object_data OAM_180ea7, $a, OBJ_INTERACTION_0B, -14, DoughnuteerFunc, OBJFLAG_PRIORITY -OmodonmekaData: object_data OAM_18136c, $b, OBJ_INTERACTION_01, -25, OmodonmekaFunc, OBJFLAG_PRIORITY -OmodonmekaWithOmodon1Data: object_data OAM_181189, $c, OBJ_INTERACTION_01, -25, OmodonmekaWithOmodon1Func, OBJFLAG_PRIORITY -OmodonmekaWithOmodon2Data: object_data OAM_181189, $c, OBJ_INTERACTION_01, -25, OmodonmekaWithOmodon2Func, OBJFLAG_PRIORITY -KushimushiVerticalData: object_data OAM_18160c, $c, OBJ_INTERACTION_BOTTOM_STING, -13, KushimushiVerticalFunc, $0 -KushimushiHorizontalData: object_data OAM_18160c, $d, OBJ_INTERACTION_FRONT_STING, -12, KushimushiHorizontalFunc, $0 -MizuuoData: object_data OAM_188395, $4, OBJ_INTERACTION_0A, -10, MizuuoFunc, $0 -BigLeafSpawnerData: object_data OAM_180000, $b, OBJ_INTERACTION_0B, 0, BigLeafSpawnerFunc, $0 -SmallLeafData: object_data OAM_181be4, $8, OBJ_INTERACTION_WALKABLE, -17, SmallLeafFunc, $0 -SilkyData: object_data OAM_18181e, $c, OBJ_INTERACTION_01, -8, SilkyFunc, OBJFLAG_PRIORITY -OrangeBirdData: object_data OAM_1819e3, $f, OBJ_INTERACTION_ORANGE_BIRD, -13, BirdFunc, OBJFLAG_PRIORITY -BlueBirdData: object_data OAM_1819e3, $d, OBJ_INTERACTION_FRONT_STING, -13, BirdFunc, OBJFLAG_PRIORITY -SnakeData: object_data OAM_189783, $d, OBJ_INTERACTION_WALKABLE | HEAVY_OBJ, -31, SnakeFunc, $0 -ApplebyData: object_data OAM_185a1c, $d, OBJ_INTERACTION_01, -6, ApplebyFunc, $0 -Barrel1Data: object_data OAM_181b0f, $4, OBJ_INTERACTION_31 | HEAVY_OBJ, -15, Barrel1Func, OBJFLAG_PRIORITY -Barrel2Data: object_data OAM_181b0f, $5, OBJ_INTERACTION_3B, -15, Barrel2Func, $0 -RockData: object_data OAM_18ab5c, $3, OBJ_INTERACTION_3B, -15, RockFunc, $0 -RedPrinceFroggyData: object_data OAM_184000, $1, OBJ_INTERACTION_PRINCE_FROGGY | HEAVY_OBJ, -16, RedPrinceFroggyFunc, OBJFLAG_PRIORITY -GreyPrinceFroggyData: object_data OAM_184000, $1, OBJ_INTERACTION_PRINCE_FROGGY | HEAVY_OBJ, -26, GreyPrinceFroggyFunc, OBJFLAG_PRIORITY -HammerBotData: object_data OAM_18422f, $2, OBJ_INTERACTION_01 | HEAVY_OBJ, -18, HammerBotFunc, OBJFLAG_PRIORITY -TeruteruData: object_data OAM_18496f, $0, OBJ_INTERACTION_01, -20, TeruteruFunc, OBJFLAG_PRIORITY -MadSciensteinData: object_data OAM_184ab2, $5, OBJ_INTERACTION_01 | HEAVY_OBJ, -18, MadSciensteinFunc, OBJFLAG_PRIORITY -SeeingEyeDoorData: object_data OAM_184ab2, $3, OBJ_INTERACTION_SOLID | HEAVY_OBJ, -24, SeeingEyeDoorFunc, OBJFLAG_PRIORITY -PneumoData: object_data OAM_184db9, $6, OBJ_INTERACTION_PNEUMO, -16, PneumoFunc, OBJFLAG_PRIORITY -ElectricLampData: object_data OAM_184eeb, $7, OBJ_INTERACTION_0B, 0, ElectricLampFunc, $0 -ZombieData: object_data OAM_184ffa, $9, OBJ_INTERACTION_0B | HEAVY_OBJ, -6, ZombieFunc, OBJFLAG_PRIORITY -FireBotData: object_data OAM_184755, $c, OBJ_INTERACTION_0B, -14, FireBotFunc, OBJFLAG_PRIORITY -SpearBotData: object_data OAM_18440a, $b, OBJ_INTERACTION_01, -14, SpearBotFunc, OBJFLAG_PRIORITY -BeamBotData: object_data OAM_1845aa, $4, OBJ_INTERACTION_01, -14, BeamBotFunc, OBJFLAG_PRIORITY -SunData: object_data OAM_1851df, $a, OBJ_INTERACTION_FIRE, -20, SunFunc, $0 -MoonData: object_data OAM_1854a2, $a, OBJ_INTERACTION_ELECTRIC, -20, MoonFunc, $0 -KobattoData: object_data OAM_185788, $0, OBJ_INTERACTION_VAMPIRE, -12, KobattoFunc, OBJFLAG_PRIORITY -HandData: object_data OAM_185893, $6, OBJ_INTERACTION_HAND, -20, HandFunc, OBJFLAG_PRIORITY -BubbleHoleData: object_data OAM_185b98, $e, OBJ_INTERACTION_0B, 0, BubbleHoleFunc, $0 -BrrrBearData: object_data OAM_188000, $0, OBJ_INTERACTION_ICE | HEAVY_OBJ, -18, BrrrBearFunc, OBJFLAG_PRIORITY -CartLeftData: object_data OAM_188279, $2, OBJ_INTERACTION_SOLID, -16, CartFunc, OBJFLAG_PRIORITY -CartRightData: object_data OAM_188279, $3, OBJ_INTERACTION_SOLID, -16, CartFunc, OBJFLAG_PRIORITY -CartVariableLeftData: object_data OAM_188279, $2, OBJ_INTERACTION_SOLID, -16, CartVariableFunc, OBJFLAG_PRIORITY -CartVariableRightData: object_data OAM_188279, $3, OBJ_INTERACTION_SOLID, -16, CartVariableFunc, OBJFLAG_PRIORITY -RoboMouseData: object_data OAM_188555, $6, OBJ_INTERACTION_ROBO_MOUSE, -20, RoboMouseFunc, OBJFLAG_PRIORITY -TogebaData: object_data OAM_188b56, $7, OBJ_INTERACTION_FULL_STING, -6, TogebaFunc, OBJFLAG_PRIORITY -HaridamaData: object_data OAM_188c7a, $8, OBJ_INTERACTION_06, -13, HaridamaFunc, OBJFLAG_PRIORITY -OwlData: object_data OAM_188e16, $9, OBJ_INTERACTION_0A, -20, OwlFunc, OBJFLAG_PRIORITY -ZipLine1Data: object_data OAM_18834a, $4, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY -ZipLine2Data: object_data OAM_18834a, $5, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY -ZipLine3Data: object_data OAM_18834a, $6, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY -ZipLine4Data: object_data OAM_18834a, $7, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY -ZipLine5Data: object_data OAM_18834a, $8, OBJ_INTERACTION_RAIL, -7, ZipLineFunc, OBJFLAG_PRIORITY -AnonsterData: object_data OAM_190000, $0, OBJ_INTERACTION_0B, -29, AnonsterFunc, $0 -SilkPlatformsData: object_data OAM_190000, $2, OBJ_INTERACTION_0B, 0, SilkPlatformsFunc, $0 -FallingSnowSpawnerData: object_data OAM_1893fe, $9, OBJ_INTERACTION_0B, 0, FallingSnowSpawnerFunc, $0 -DollBoyData: object_data OAM_19105c, $8, OBJ_INTERACTION_0B | HEAVY_OBJ, -28, DollBoyFunc, $0 -HammerPlatformSpawnerData: object_data OAM_19105c, $5, OBJ_INTERACTION_0B, 0, HammerPlatformSpawnerFunc, $0 -DollBoyBarrel1Data: object_data OAM_19105c, $1, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -31, DollBoyBarrel1Func, $0 -DollBoyBarrel2Data: object_data OAM_19105c, $2, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -31, DollBoyBarrel2Func, $0 -DollBoyBarrel3Data: object_data OAM_19105c, $4, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -31, DollBoyBarrel3Func, $0 -WormwouldData: object_data OAM_194000, $7, OBJ_INTERACTION_0B | HEAVY_OBJ, -26, WormwouldFunc, $0 -PalmTreeSpawnerData: object_data OAM_194000, $9, OBJ_INTERACTION_0B, 0, PalmTreeSpawnerFunc, $0 -PillarPlatform1Data: object_data OAM_18a5ae, $0, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -16, PillarPlatform1Func, $0 -PillarPlatform2Data: object_data OAM_18a5ae, $0, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -16, PillarPlatform2Func, $0 -PillarPlatform3Data: object_data OAM_18a5ae, $0, OBJ_INTERACTION_STOVE | HEAVY_OBJ, -16, PillarPlatform3Func, $0 -WaterDropData: object_data OAM_18a5cc, $1, OBJ_INTERACTION_WATER_DROP, -8, WaterDropFunc, OBJFLAG_PRIORITY -YellowBellyBodyData: object_data OAM_19153c, $b, OBJ_INTERACTION_36 | HEAVY_OBJ, -16, YellowBellyBodyFunc, OBJFLAG_PRIORITY -YellowBellyPlatformData: object_data OAM_1926dc, $f, OBJ_INTERACTION_SOLID, -17, YellowBellyPlatformFunc, $0 -NobiiruLeftData: object_data OAM_181cd3, $a, OBJ_INTERACTION_0B, -12, NobiiruFunc, $0 -NobiiruRightData: object_data OAM_181cd3, $b, OBJ_INTERACTION_0B, -12, NobiiruFunc, $0 -ClearGate1Data: object_data OAM_181c47, $e, OBJ_INTERACTION_SOLID, -31, ClearGate1Func, $0 -ClearGate2Data: object_data OAM_181c47, $e, OBJ_INTERACTION_SOLID, -31, ClearGate2Func, $0 -ClearGate3Data: object_data OAM_181c47, $e, OBJ_INTERACTION_SOLID, -31, ClearGate3Func, $0 -PesceData: object_data OAM_1927d5, $5, OBJ_INTERACTION_PESCE | HEAVY_OBJ, -14, PesceFunc, OBJFLAG_PRIORITY -DragonflySpawnerData: object_data OAM_190000, $6, OBJ_INTERACTION_0B, 0, DragonflySpawnerFunc, $0 -FlySpawnerData: object_data OAM_190000, $7, OBJ_INTERACTION_0B, 0, FlySpawnerFunc, $0 -StrongWaterCurrentData: object_data OAM_1927d5, $0, OBJ_INTERACTION_51 | HEAVY_OBJ, -26, StrongWaterCurrentFunc, OBJFLAG_PRIORITY -Dragonfly2Data: object_data OAM_1927d5, $1, OBJ_INTERACTION_WALKABLE, -9, Dragonfly2Func, OBJFLAG_PRIORITY -TadpoleSpawnerData: object_data OAM_188000, $2, OBJ_INTERACTION_0B, 0, TadpoleSpawnerFunc, $0 -WaterSparkData: object_data OAM_18a7fd, $d, OBJ_INTERACTION_YELLOW_BELLY_ARROW, -13, WaterSparkFunc, $0 -SmallOctohonData: object_data OAM_18a895, $0, OBJ_INTERACTION_06, 0, SmallOctohonFunc, OBJFLAG_PRIORITY -BigOctohonData: object_data OAM_18a895, $1, OBJ_INTERACTION_06, -9, BigOctohonFunc, $0 -SparkHorizontalData: object_data OAM_18ab04, $2, OBJ_INTERACTION_FULL_STING, -11, SparkFunc, OBJFLAG_PRIORITY -SparkVerticalData: object_data OAM_18ab04, $0, OBJ_INTERACTION_FULL_STING, -11, SparkFunc, OBJFLAG_PRIORITY -ScowlerData: object_data OAM_194895, $0, OBJ_INTERACTION_41 | HEAVY_OBJ, -32, ScowlerFunc, $0 -FloatingRingSpawnerData: object_data OAM_194895, $4, OBJ_INTERACTION_0B, 0, FloatingRingSpawnerFunc, $0 -FireData: object_data OAM_18aba0, $4, OBJ_INTERACTION_FIRE, -24, FireFunc, $0 -JamanoData: object_data OAM_19501c, $6, OBJ_INTERACTION_JAMANO, -10, JamanoFunc, $0 -SkullSpawnerData: object_data OAM_19501c, $7, OBJ_INTERACTION_0B, -10, SkullSpawnerFunc, $0 -HatPlatformData: object_data OAM_19501c, $9, OBJ_INTERACTION_31, -4, HatPlatformFunc, OBJFLAG_PRIORITY -MuddeeData: object_data OAM_195699, $a, OBJ_INTERACTION_0B, -8, MuddeeFunc, $0 -Turtle1Data: object_data OAM_195699, $b, OBJ_INTERACTION_TURTLE, -2, Turtle1Func, OBJFLAG_PRIORITY -Turtle2Data: object_data OAM_195699, $c, OBJ_INTERACTION_TURTLE, -2, Turtle2Func, OBJFLAG_PRIORITY -WolfenbossData: object_data OAM_195e06, $d, OBJ_INTERACTION_0B | HEAVY_OBJ, 0, WolfenbossFunc, $0 -WolfenbossPlatformData: object_data OAM_195e06, $a, OBJ_INTERACTION_SOLID, -1, WolfenbossPlatformFunc, $0 -ShootData: object_data OAM_196583, $0, OBJ_INTERACTION_0B | HEAVY_OBJ, -32, ShootFunc, $0 -GKTortoiseData: object_data OAM_196583, $1, OBJ_INTERACTION_4E | HEAVY_OBJ, -20, GKTortoiseFunc, $0 -ShootGoalCounterData: object_data OAM_196583, $a, OBJ_INTERACTION_0B, -32, ShootGoalCounterFunc, $0 -WarioGoalCounterData: object_data OAM_196583, $b, OBJ_INTERACTION_0B, -32, WarioGoalCounterFunc, $0 -GKTortoisePlatformData: object_data OAM_196583, $5, OBJ_INTERACTION_31, -10, GKTortoisePlatformFunc, $0 -WallCrackClosedData: object_data OAM_18c806, $6, OBJ_INTERACTION_0B, 0, WallCrackClosedFunc, $0 -WallCrackOpenData: object_data OAM_18c806, $6, OBJ_INTERACTION_0B, 0, WallCrackOpenFunc, $0 -HiddenFigureData: object_data OAM_18c88a, $a, OBJ_INTERACTION_0B, 0, HiddenFigureFunc, $0 - -ObjParams_HebariiProjectile: - db -8 ; y - db 0 ; x - dn $2, $1 ; unk7 - db OBJ_INTERACTION_FULL_STING ; interaction type - db -3, 2, -3, 2 ; collision - dw OAM_18a703 ; OAM - dw Frameset_68408 ; frameset - db 2 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw HebariiProjectileFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_WebberProjectile: - db 5 ; y - db -8 ; x - dn $0, $3 ; unk7 - db OBJ_INTERACTION_ELECTRIC ; interaction type - db -7, -3, -4, 3 ; collision - dw OAM_180242 ; OAM - dw Frameset_682c8 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw WebberProjectileFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_UnusedFlowerProjectileLeft: - db -10 ; y - db 0 ; x - dn $0, $5 ; unk7 - db OBJ_INTERACTION_FULL_STING - db -13, -3, -6, 5 ; collision box - dw OAM_180916 ; OAM - dw Frameset_6838c ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw UnusedFlowerProjectileLeftFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_UnusedFlowerProjectileRight: - db -10 ; y - db 0 ; x - dn $0, $5 ; unk7 - db OBJ_INTERACTION_FULL_STING ; interaction type - db -13, -3, -6, 5 ; collision box - dw OAM_180916 ; OAM - dw Frameset_68395 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw UnusedFlowerProjectileRightFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_BigLeaf1: - db -10 ; y - db 15 ; x - dn $0, $8 ; unk7 - db OBJ_INTERACTION_WALKABLE ; interaction type - db -16, -8, -8, 7 ; collision box - dw OAM_1817b4 ; OAM - dw Frameset_68732 ; frameset - db 80 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw BigLeaf1Func - db $0 ; obj flags - -ObjParams_BigLeaf2: - db -10 ; y - db -17 ; x - dn $0, $8 ; unk7 - db OBJ_INTERACTION_WALKABLE ; interaction type - db -16, -8, -8, 7 ; collision box - dw OAM_1817b4 ; OAM - dw Frameset_68732 ; frameset - db 20 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw BigLeaf2Func - db $0 ; obj flags - -ObjParams_BigLeaf3: - db -10 ; y - db -48 ; x - dn $0, $8 ; unk7 - db OBJ_INTERACTION_WALKABLE ; interaction type - db -16, -8, -8, 7 ; collision box - dw OAM_1817b4 ; OAM - dw Frameset_68732 ; frameset - db 20 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw BigLeaf2Func - db $0 ; obj flags - -ObjParams_DoughnutLeft: - db -18 ; y - db -9 ; x - dn $0, $b ; unk7 - db OBJ_INTERACTION_FOOD ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_180ea7 ; OAM - dw Frameset_685ea ; frameset - db $00 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw DoughnutFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_DoughnutRight: - db -18 ; y - db 8 ; x - dn $0, $b ; unk7 - db OBJ_INTERACTION_FOOD ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_180ea7 ; OAM - dw Frameset_685ed ; frameset - db $00 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw DoughnutFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_DoughnutUpLeft: - db -16 ; y - db -8 ; x - dn $0, $b ; unk7 - db OBJ_INTERACTION_FOOD ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_180ea7 ; OAM - dw Frameset_685ea ; frameset - db $00 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw DoughnutFunc_Up - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_DoughnutUpRight: - db -16 ; y - db 7 ; x - dn $0, $b ; unk7 - db OBJ_INTERACTION_FOOD ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_180ea7 ; OAM - dw Frameset_685ed ; frameset - db $00 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw DoughnutFunc_Up - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_InvisibilityPotionLeft: - db -8 ; y - db -16 ; x - dn $1, $6 ; unk7 - db OBJ_INTERACTION_INVISIBILITY_POTION ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_184ab2 ; OAM - dw Frameset_68c33 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw InvisibilityPotionFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_InvisibilityPotionRight: - db -8 ; y - db 15 ; x - dn $1, $6 ; unk7 - db OBJ_INTERACTION_INVISIBILITY_POTION ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_184ab2 ; OAM - dw Frameset_68c33 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw InvisibilityPotionFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_InvisibilityPotionDropLeft: - db -8 ; y - db -16 ; x - dn $1, $6 ; unk7 - db OBJ_INTERACTION_INVISIBILITY_POTION ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_184ab2 ; OAM - dw Frameset_68c33 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw InvisibilityPotionFunc_Drop - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_InvisibilityPotionDropRight: - db -8 ; y - db 15 ; x - dn $1, $6 ; unk7 - db OBJ_INTERACTION_INVISIBILITY_POTION ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_184ab2 ; OAM - dw Frameset_68c33 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw InvisibilityPotionFunc_Drop - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_ZombieHeadLeft: - db -16 ; y - db 0 ; x - dn $1, $a ; unk7 - db OBJ_INTERACTION_ZOMBIE_HEAD ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_184ffa ; OAM - dw Frameset_68db3 ; frameset - db 48 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw ZombieHeadFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_ZombieHeadRight: - db -16 ; y - db 0 ; x - dn $1, $a ; unk7 - db OBJ_INTERACTION_ZOMBIE_HEAD ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_184ffa ; OAM - dw Frameset_68dc4 ; frameset - db 48 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw ZombieHeadFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_StarsLeft: - db -20 ; y - db -12 ; x - dn $3, $0 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_680a5 ; frameset - db 25 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw StarsFunc_SetFlags - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_StarsRight: - db -20 ; y - db 11 ; x - dn $3, $0 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_680a5 ; frameset - db 25 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw StarsFunc_SetFlags - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_BeamLeft: - db 0 ; y - db -8 ; x - dn $1, $1 ; unk7 - db OBJ_INTERACTION_BEAM ; interaction type - db -14, -3, -2, 1 ; collision box - dw OAM_1845aa ; OAM - dw Frameset_68ee1 ; frameset - db 18 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw BeamFunc_Left - db $0 ; obj flags - -ObjParams_BeamRight: - db 0 ; y - db 8 ; x - dn $1, $1 ; unk7 - db OBJ_INTERACTION_BEAM ; interaction type - db -14, -3, -2, 1 ; collision box - dw OAM_1845aa ; OAM - dw Frameset_68eea ; frameset - db 18 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw BeamFunc_Right - db $0 ; obj flags - -ObjParams_AppleLeft: - db -14 ; y - db 7 ; x - dn $1, $1 ; unk7 - db OBJ_INTERACTION_FOOD ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_185a1c ; OAM - dw Frameset_68a60 ; frameset - db $00 ; action duration - db $00 ; var1 - db $01 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw AppleFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_AppleRight: - db -14 ; y - db -8 ; x - dn $1, $1 ; unk7 - db OBJ_INTERACTION_FOOD ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_185a1c ; OAM - dw Frameset_68a60 ; frameset - db $00 ; action duration - db $00 ; var1 - db $01 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw AppleFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_SunFlameLeft: - db 4 ; y - db -8 ; x - dn $1, $b ; unk7 - db OBJ_INTERACTION_FIRE ; interaction type - db -10, -2, -5, 4 ; collision box - dw OAM_1851df ; OAM - dw Frameset_68fb2 ; frameset - db $00 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw SunFlameFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_SunFlameRight: - db 4 ; y - db 7 ; x - dn $1, $b ; unk7 - db OBJ_INTERACTION_FIRE ; interaction type - db -10, -2, -5, 4 ; collision box - dw OAM_1851df ; OAM - dw Frameset_68fad ; frameset - db $00 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw SunFlameFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_MoonStarLeft: - db 4 ; y - db -8 ; x - dn $1, $b ; unk7 - db OBJ_INTERACTION_ELECTRIC ; interaction type - db -10, -3, -5, 4 ; collision box - dw OAM_1854a2 ; OAM - dw Frameset_6901b ; frameset - db $00 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw MoonStarFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_MoonStarRight: - db 4 ; y - db 7 ; x - dn $1, $b ; unk7 - db OBJ_INTERACTION_ELECTRIC ; interaction type - db -10, -3, -5, 4 ; collision box - dw OAM_1854a2 ; OAM - dw Frameset_69012 ; frameset - db $00 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw MoonStarFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_649c2: - db -10 ; y - db -7 ; x - dn $3, $0 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_680b6 ; frameset - db 17 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw StarsFunc_SetFlags - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_649d7: - db -10 ; y - db 6 ; x - dn $3, $0 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_680b6 ; frameset - db 17 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw StarsFunc_SetFlags - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_SnowflakeLeft: - db -8 ; y - db -8 ; x - dn $2, $1 ; unk7 - db OBJ_INTERACTION_ICE ; interaction type - db -12, -5, -6, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_69169 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw SnowflakeFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_SnowflakeRight: - db -8 ; y - db 7 ; x - dn $2, $1 ; unk7 - db OBJ_INTERACTION_ICE ; interaction type - db -12, -5, -6, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_69169 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw SnowflakeFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_MizzouProjectileLeft: - db -10 ; y - db -16 ; x - dn $2, $5 ; unk7 - db OBJ_INTERACTION_FULL_STING ; interaction type - db -7, 0, -4, 3 ; collision box - dw OAM_188395 ; OAM - dw Frameset_686ce ; frameset - db 28 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw MizzouProjectileFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_MizzouProjectileRight: - db -10 ; y - db 15 ; x - dn $2, $5 ; unk7 - db OBJ_INTERACTION_FULL_STING ; interaction type - db -7, 0, -4, 3 ; collision box - dw OAM_188395 ; OAM - dw Frameset_686d3 ; frameset - db 28 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw MizzouProjectileFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_GreyTreasure: - db -40 ; y - db 0 ; x - dn $3, $3 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_680da ; frameset - db 87 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw GreyTreasureFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_RedTreasure: - db -40 ; y - db 0 ; x - dn $3, $3 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_68113 ; frameset - db 87 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw RedTreasureFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_GreenTreasure: - db -40 ; y - db 0 ; x - dn $3, $3 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_6814c ; frameset - db 87 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw GreenTreasureFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_BlueTreasure: - db -40 ; y - db 0 ; x - dn $3, $3 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_68185 ; frameset - db 87 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw BlueTreasureFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_AnonsterSilk1Left: - db 1 ; y - db -4 ; x - dn $4, $1 ; unk7 - db OBJ_INTERACTION_ANONSTER_SILK ; interaction type - db -8, -4, -5, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_694ee ; frameset - db 32 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw AnonsterSilkFunc.FloatLeft - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_AnonsterSilk1Right: - db 1 ; y - db 3 ; x - dn $4, $1 ; unk7 - db OBJ_INTERACTION_ANONSTER_SILK ; interaction type - db -8, -4, -5, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_694ee ; frameset - db 32 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw AnonsterSilkFunc.FloatRight - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_AnonsterSilk2Left: - db 1 ; y - db -4 ; x - dn $4, $1 ; unk7 - db OBJ_INTERACTION_ANONSTER_SILK ; interaction type - db -8, -4, -5, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_694ee ; frameset - db 24 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw AnonsterSilkFunc.FloatLeft - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_AnonsterSilk2Right: - db 1 ; y - db 3 ; x - dn $4, $1 ; unk7 - db OBJ_INTERACTION_ANONSTER_SILK ; interaction type - db -8, -4, -5, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_694ee ; frameset - db 24 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw AnonsterSilkFunc.FloatRight - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_AnonsterSilk3Left: - db 1 ; y - db -4 ; x - dn $4, $1 ; unk7 - db OBJ_INTERACTION_ANONSTER_SILK ; interaction type - db -8, -4, -5, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_694ee ; frameset - db 16 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw AnonsterSilkFunc.FloatLeft - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_AnonsterSilk3Right: - db 1 ; y - db 3 ; x - dn $4, $1 ; unk7 - db OBJ_INTERACTION_ANONSTER_SILK ; interaction type - db -8, -4, -5, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_694ee ; frameset - db 16 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw AnonsterSilkFunc.FloatRight - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_AnonsterWaveLeft: - db 4 ; y - db -5 ; x - dn $4, $1 ; unk7 - db OBJ_INTERACTION_ANONSTER_WAVE ; interaction type - db -8, -4, -5, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_694f8 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw AnonsteWaveLFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_AnonsterWaveRight: - db 4 ; y - db 4 ; x - dn $4, $1 ; unk7 - db OBJ_INTERACTION_ANONSTER_WAVE ; interaction type - db -8, -4, -5, 4 ; collision box - dw OAM_190000 ; OAM - dw Frameset_69505 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw AnonsterWaveFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_SilkPlatform1: - db -16 ; y - db -112 ; x - dn $4, $3 ; unk7 - db OBJ_INTERACTION_SOLID ; interaction type - db -8, -2, -5, 5 ; collision box - dw OAM_190000 ; OAM - dw Frameset_6954a ; frameset - db 170 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNK_4 ; substate - db $00 ; state - dw SilkPlatformFunc - db $0 ; obj flags - -ObjParams_SilkPlatform2: - db -16 ; y - db -80 ; x - dn $4, $3 ; unk7 - db OBJ_INTERACTION_SOLID ; interaction type - db -8, -2, -5, 5 ; collision box - dw OAM_190000 ; OAM - dw Frameset_6954a ; frameset - db 120 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNK_4 ; substate - db $00 ; state - dw SilkPlatformFunc - db $0 ; obj flags - -ObjParams_SilkPlatform3: - db -16 ; y - db -48 ; x - dn $4, $3 ; unk7 - db OBJ_INTERACTION_SOLID ; interaction type - db -8, -2, -5, 5 ; collision box - dw OAM_190000 ; OAM - dw Frameset_6954a ; frameset - db 70 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNK_4 ; substate - db $00 ; state - dw SilkPlatformFunc - db $0 ; obj flags - -ObjParams_SnakeFireLeft: - db 16 ; y - db -21 ; x - dn $2, $e ; unk7 - db OBJ_INTERACTION_FIRE ; interaction type - db -8, 0, -4, 3 ; collision box - dw OAM_189783 ; OAM - dw Frameset_6893a ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw SnakeFireFunc - db $0 ; obj flags - -ObjParams_SnakeFireRight: - db 16 ; y - db 6 ; x - dn $2, $e ; unk7 - db OBJ_INTERACTION_FIRE ; interaction type - db -8, 0, -4, 3 ; collision box - dw OAM_189783 ; OAM - dw Frameset_6893a ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw SnakeFireFunc - db $0 ; obj flags - -ObjParams_DollBoyHammer: - db -18 ; y - db -10 ; x - dn $4, $9 ; unk7 - db OBJ_INTERACTION_DOLL_BOY_HAMMER ; interaction type - db -12, -4, -4, 3 ; collision box - dw OAM_19105c ; OAM - dw Frameset_69684 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw DollBoyHammerFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_HammerPlatform: - db -60 ; y - db 64 ; x - dn $4, $6 ; unk7 - db OBJ_INTERACTION_31 ; interaction type - db -10, -1, -5, 4 ; collision box - dw OAM_19105c ; OAM - dw Frameset_696b1 ; frameset - db 140 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNK_4 ; substate - db $00 ; state - dw HammerPlatformFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_HighRollingRockLeft: - db 4 ; y - db -13 ; x - dn $5, $8 ; unk7 - db OBJ_INTERACTION_ROLLING_ROCK ; interaction type - db -10, -4, -4, 3 ; collision box - dw OAM_194000 ; OAM - dw Frameset_6973d ; frameset - db 7 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw RollingRockFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_HighRollingRockRight: - db 4 ; y - db 12 ; x - dn $5, $8 ; unk7 - db OBJ_INTERACTION_ROLLING_ROCK ; interaction type - db -10, -4, -4, 3 ; collision box - dw OAM_194000 ; OAM - dw Frameset_696f8 ; frameset - db 7 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw RollingRockFunc_Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_LowRollingRockLeft: - db 4 ; y - db -13 ; x - dn $5, $8 ; unk7 - db OBJ_INTERACTION_ROLLING_ROCK ; interaction type - db -10, -4, -4, 3 ; collision box - dw OAM_194000 ; OAM - dw Frameset_6973d ; frameset - db 7 ; action duration - db $1 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw RollingRockFunc_Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_LowRollingRockRight: - db 4 ; y - db 12 ; x - dn $5, $8 ; unk7 - db OBJ_INTERACTION_ROLLING_ROCK ; interaction type - db -10, -4, -4, 3 ; collision box - dw OAM_194000 ; OAM - dw Frameset_696f8 ; frameset - db 7 ; action duration - db $1 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw RollingRockFunc_Right - db OBJFLAG_PRIORITY ; obj flags - - -ObjParams_PalmTreeShort: - db 16 ; y - db 16 ; x - dn $5, $a ; unk7 - db OBJ_INTERACTION_31 ; interaction type - db -6, -2, -7, 6 ; collision box - dw OAM_194000 ; OAM - dw Frameset_69746 ; frameset - db 0 ; action duration - db $1a ; var1 - db $1f ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNK_4 ; substate - db $00 ; state - dw PalmTreeFunc - db $0 ; obj flags - -ObjParams_PalmTreeMedium: - db 28 ; y - db 72 ; x - dn $5, $a ; unk7 - db OBJ_INTERACTION_31 ; interaction type - db -14, -10, -7, 6 ; collision box - dw OAM_194000 ; OAM - dw Frameset_6974d ; frameset - db 0 ; action duration - db $30 ; var1 - db $1f ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNK_4 ; substate - db $00 ; state - dw PalmTreeFunc - db $0 ; obj flags - -ObjParams_PalmTreeTall: - db 39 ; y - db 127 ; x - dn $5, $a ; unk7 - db OBJ_INTERACTION_31 ; interaction type - db -30, -26, -7, 6 ; collision box - dw OAM_194000 ; OAM - dw Frameset_69754 ; frameset - db 0 ; action duration - db $4a ; var1 - db $1f ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNK_4 ; substate - db $00 ; state - dw PalmTreeFunc - db $0 ; obj flags - -ObjParams_YellowBellyArrowLeft: - db 16 ; y - db -16 ; x - dn $4, $d ; unk7 - db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type - db -10, -4, -3, 2 ; collision box - dw OAM_1926dc ; OAM - dw Frameset_69870 ; frameset - db 0 ; action duration - db $00 ; var1 - db $1 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw YellowBellyArrowFunc.Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_YellowBellyArrowRight: - db 16 ; y - db 15 ; x - dn $4, $d ; unk7 - db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type - db -10, -4, -3, 2 ; collision box - dw OAM_1926dc ; OAM - dw Frameset_69875 ; frameset - db 0 ; action duration - db $00 ; var1 - db $1 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw YellowBellyArrowFunc.Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_Dragonfly1: - db -64 ; y - db 48 ; x - dn $4, $8 ; unk7 - db OBJ_INTERACTION_WALKABLE ; interaction type - db -9, -7, -7, 6 ; collision box - dw OAM_1927d5 ; OAM - dw Frameset_699d0 ; frameset - db 36 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw Dragonfly1Func - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_Fly: - db -48 ; y - db 48 ; x - dn $4, $9 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db -12, 12, -6, 5 ; collision box - dw OAM_1927d5 ; OAM - dw Frameset_699e4 ; frameset - db 40 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $5a ; state - dw FlyFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_Tadpole: - db -3 ; y - db 0 ; x - dn $2, $f ; unk7 - db OBJ_INTERACTION_TADPOLE ; interaction type - db -12, -4, -5, 4 ; collision box - dw OAM_18a642 ; OAM - dw Frameset_69a33 ; frameset - db 28 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $5a ; state - dw TadpoleFunc - db $0 ; obj flags - -ObjParams_InkLeft: - db -12 ; y - db -4 ; x - dn $5, $3 ; unk7 - db OBJ_INTERACTION_INK ; interaction type - db -13, -3, -3, 2 ; collision box - dw OAM_194895 ; OAM - dw Frameset_69ae3 ; frameset - db 20 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw InkFunc.Left - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_InkRight: - db -12 ; y - db 3 ; x - dn $5, $3 ; unk7 - db OBJ_INTERACTION_INK ; interaction type - db -13, -3, -3, 2 ; collision box - dw OAM_194895 ; OAM - dw Frameset_69ae3 ; frameset - db 20 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw InkFunc.Right - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_FloatingRing: - db 64 ; y - db 0 ; x - dn $5, $5 ; unk7 - db OBJ_INTERACTION_31 ; interaction type - db -1, 4, -5, 4 ; collision box - dw OAM_194895 ; OAM - dw Frameset_69b0d ; frameset - db 140 ; action duration - db $00 ; var1 - db $14 ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNK_4 ; substate - db $00 ; state - dw FloatingRingFunc - db $0 ; obj flags - -ObjParams_Skull1: - db -28 ; y - db -16 ; x - dn $5, $0 ; unk7 - db OBJ_INTERACTION_STOVE ; interaction type - db -8, 7, -4, 3 ; collision box - dw OAM_19501c ; OAM - dw Frameset_69c69 ; frameset - db 60 ; action duration - db $64 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw SkullFunc - db $0 ; obj flags - -ObjParams_Skull2: - db 20 ; y - db -16 ; x - dn $5, $1 ; unk7 - db OBJ_INTERACTION_STOVE ; interaction type - db -8, 7, -4, 3 ; collision box - dw OAM_19501c ; OAM - dw Frameset_69c69 ; frameset - db 60 ; action duration - db $78 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw SkullFunc - db $0 ; obj flags - -ObjParams_Skull3: - db -28 ; y - db 16 ; x - dn $5, $2 ; unk7 - db OBJ_INTERACTION_STOVE ; interaction type - db -8, 7, -4, 3 ; collision box - dw OAM_19501c ; OAM - dw Frameset_69cc5 ; frameset - db 60 ; action duration - db $8c ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw SkullFunc - db $0 ; obj flags - -ObjParams_Skull4: - db 20 ; y - db 16 ; x - dn $5, $3 ; unk7 - db OBJ_INTERACTION_STOVE ; interaction type - db -8, 7, -4, 3 ; collision box - dw OAM_19501c ; OAM - dw Frameset_69cc5 ; frameset - db 60 ; action duration - db $a0 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw SkullFunc - db $0 ; obj flags - -ObjParams_JamanoHat: - db -12 ; y - db 0 ; x - dn $5, $8 ; unk7 - db OBJ_INTERACTION_0B ; interaction type - db -4, 0, -6, 5 ; collision box - dw OAM_19501c ; OAM - dw Frameset_69cef ; frameset - db 40 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw JamanoHatFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_MagicSpiralLeft: - db 12 ; y - db -12 ; x - dn $5, $e ; unk7 - db OBJ_INTERACTION_MAGICAL_SPIRAL ; interaction type - db -4, 3, -4, 3 ; collision box - dw OAM_195e06 ; OAM - dw Frameset_69e30 ; frameset - db 92 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $5 | OBJSUBFLAG_VDIR ; substate - db $00 ; state - dw MagicSpiralFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_MagicSpiralRight: - db 12 ; y - db 11 ; x - dn $5, $e ; unk7 - db OBJ_INTERACTION_MAGICAL_SPIRAL ; interaction type - db -4, 3, -4, 3 ; collision box - dw OAM_195e06 ; OAM - dw Frameset_69e30 ; frameset - db 92 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $5 | OBJSUBFLAG_VDIR | OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw MagicSpiralFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_IgaguriLeft: - db 21 ; y - db -12 ; x - dn $5, $f ; unk7 - db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type - db -16, -4, -5, 4 ; collision box - dw OAM_195e06 ; OAM - dw Frameset_69e7b ; frameset - db 62 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw IgaguriFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_IgaguriRight: - db 21 ; y - db 11 ; x - dn $5, $f ; unk7 - db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type - db -16, -4, -5, 4 ; collision box - dw OAM_195e06 ; OAM - dw Frameset_69e7b ; frameset - db 62 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw IgaguriFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_HiddenFigureFace: - db -16 ; y - db 8 ; x - dn $3, $b ; unk7 - db OBJ_INTERACTION_FULL_STING | HEAVY_OBJ ; interaction type - db -24, -19, -4, 3 ; collision box - dw OAM_18c88a ; OAM - dw Frameset_6a06c ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw HiddenFigureFaceFunc - db $0 ; obj flags - -ObjParams_HiddenFigureLeftHand: - db 18 ; y - db -40 ; x - dn $3, $c ; unk7 - db OBJ_INTERACTION_0B | HEAVY_OBJ ; interaction type - db -24, -8, -8, 7 ; collision box - dw OAM_18c88a ; OAM - dw Frameset_6a128 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw HiddenFigureLeftHandFunc - db $0 ; obj flags - -ObjParams_HiddenFigureRightHand: - db 18 ; y - db 56 ; x - dn $3, $d ; unk7 - db OBJ_INTERACTION_0B | HEAVY_OBJ ; interaction type - db -24, -8, -8, 7 ; collision box - dw OAM_18c88a ; OAM - dw Frameset_6a131 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw HiddenFigureRightHandFunc - db $0 ; obj flags - -ObjParams_Omodon2: - db 16 ; y - db 0 ; x - dn $0, $d ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db -16, 11, -17, 0 ; collision box - dw OAM_18154f ; OAM - dw Frameset_68f50 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw Func_4279c - db $0 ; obj flags - -ObjParams_Omodon1: - db 16 ; y - db 0 ; x - dn $0, $d ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db -26, 11, -17, 0 ; collision box - dw OAM_18154f ; OAM - dw Frameset_68f50 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw Func_4279c - db $0 ; obj flags - -ObjParams_DollBoyHammerStarsLeft: - db -20 ; y - db -19 ; x - dn $3, $0 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_680a5 ; frameset - db 25 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw StarsFunc_SetFlags - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_DollBoyHammerStarsRight: - db -20 ; y - db 18 ; x - dn $3, $0 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_680a5 ; frameset - db 25 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw StarsFunc_SetFlags - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_Coin: - dn $8, $1 ; unk7 - db OBJ_INTERACTION_REGULAR_COIN - db -12, 0, -4, 3 - dw OAM_180003 ; OAM - db 1, 8 ; frameset - db 4 ; action duration - db $00 ; var1 - db $02 ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNINITIALISED ; substate - db OBJSTATE_19 ; state - dw CoinFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_ColourCoin: - dn $8, $1 ; unk7 - db OBJ_INTERACTION_COLOUR_COIN - db -12, 0, -4, 3 - dw OAM_180003 ; OAM - db 1, 8 ; frameset - db 4 ; action duration - db $00 ; var1 - db $02 ; var2 - db $00 ; var3 - db OBJSUBFLAG_UNINITIALISED ; substate - db OBJSTATE_19 ; state - dw CoinFunc.ColourCoin - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_TorchEmberLeft1: - dn $0, $5 ; unk7 - db OBJ_INTERACTION_FIRE ; interaction type - db -12, -3, -5, 3 ; collision box - dw OAM_180838 ; OAM - dw Frameset_68354 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw TorchEmberLeft1Func - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_TorchEmberRight1: - dn $0, $5 ; unk7 - db OBJ_INTERACTION_FIRE ; interaction type - db -12, -3, -5, 3 ; collision box - dw OAM_180838 ; OAM - dw Frameset_68354 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw TorchEmberRight1Func - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_TorchEmberLeft2: - dn $0, $5 ; unk7 - db OBJ_INTERACTION_FIRE ; interaction type - db -12, -3, -5, 3 ; collision box - dw OAM_180838 ; OAM - dw Frameset_68354 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw TorchEmberLeft2Func - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_TorchEmberRight2: - dn $0, $5 ; unk7 - db OBJ_INTERACTION_FIRE ; interaction type - db -12, -3, -5, 3 ; collision box - dw OAM_180838 ; OAM - dw Frameset_68354 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db OBJSUBFLAG_HDIR ; substate - db $00 ; state - dw TorchEmberRight2Func - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_ElectricLampSpark: - dn $1, $8 ; unk7 - db OBJ_INTERACTION_ELECTRIC ; interaction type - db -6, -5, -4, 3 ; collision box - dw OAM_184eeb ; OAM - dw Frameset_68c97 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw ElectricLampSparkFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_Bubble: - dn $1, $f ; unk7 - db OBJ_INTERACTION_BUBBLE ; interaction type - db -24, -7, -9, 8 ; collision box - dw OAM_185b98 ; OAM - dw Frameset_69105 ; frameset - db 32 ; action duration - db $30 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw BubbleFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_FallingSnow: - dn $2, $a ; unk7 - db OBJ_INTERACTION_SNOW ; interaction type - db -15, -8, -5, 4 ; collision box - dw OAM_1893fe ; OAM - dw Frameset_6957e ; frameset - db 80 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw FallingSnowFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_StarsAbove: - dn $3, $0 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_680c5 ; frameset - db 33 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw StarsFunc_WithYOffset - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_YellowBellyHead: - dn $4, $c ; unk7 - db OBJ_INTERACTION_YELLOW_BELLY_ARROW ; interaction type - db -10, -6, -4, 3 ; collision box - dw OAM_1926dc ; OAM - dw Frameset_6987a ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw YellowBellyHeadFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_Pump: - dn $4, $e ; unk7 - db OBJ_INTERACTION_36 ; interaction type - db -13, -1, -6, 5 ; collision box - dw OAM_1926dc ; OAM - dw Frameset_6987a ; frameset - db 16 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw PumpFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_Cheese: - dn $4, $a ; unk7 - db OBJ_INTERACTION_0B ; interaction type - db -12, -5, -6, 5 ; collision box - dw OAM_1927d5 ; OAM - dw Frameset_69a00 ; frameset - db 48 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw CheeseFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_ScrowlerTentacleRight: - dn $5, $1 ; unk7 - db OBJ_INTERACTION_WATER_TELEPORTING ; interaction type - db -10, -2, -3, 2 ; collision box - dw OAM_194895 ; OAM - dw Frameset_69af5 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw ScrowlerTentacleFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_ScrowlerTentacleLeft: - dn $5, $2 ; unk7 - db OBJ_INTERACTION_WATER_TELEPORTING ; interaction type - db -10, -2, -3, 2 ; collision box - dw OAM_194895 ; OAM - dw Frameset_69af5 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw ScrowlerTentacleFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_MuddeeStinger1: - dn $3, $4 ; unk7 - db OBJ_INTERACTION_FULL_STING ; interaction type - db -12, 0, -4, 3 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_68072 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $1 ; substate - db $00 ; state - dw MuddeeStingerFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_MuddeeStinger2: - dn $3, $5 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db -12, 0, -4, 3 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_68072 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $1 ; substate - db $00 ; state - dw MuddeeStingerFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_Kuri: - dn $5, $e ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db -12, 0, -5, 4 ; collision box - dw OAM_195e06 ; OAM - dw Frameset_69e50 ; frameset - db 0 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw KuriFunc - db OBJFLAG_PRIORITY ; obj flags - -ObjParams_StarsCentre: - dn $3, $0 ; unk7 - db OBJ_INTERACTION_01 ; interaction type - db 0, 0, 0, 0 ; collision box - dw OAM_18c000 ; OAM - dw Frameset_680a5 ; frameset - db 25 ; action duration - db $00 ; var1 - db $00 ; var2 - db $00 ; var3 - db $0 ; substate - db $00 ; state - dw StarsFunc_SetFlags - db OBJFLAG_PRIORITY ; obj flags - -Data_64fc3: - dw GreyChestData - dw GreyKeyData - dw MusicalCoinData - - rgb 0, 22, 16 - rgb 28, 28, 28 - rgb 15, 15, 15 - rgb 0, 0, 0 - -Data_64fd1: - dw RedChestData - dw RedKeyData - dw MusicalCoinData - - rgb 0, 22, 16 - rgb 31, 24, 24 - rgb 23, 0, 0 - rgb 7, 0, 0 - -Data_64fdf: - dw GreenChestData - dw GreenKeyData - dw MusicalCoinData - - rgb 0, 22, 16 - rgb 24, 31, 21 - rgb 0, 16, 0 - rgb 0, 2, 0 - -Data_64fed: - dw BlueChestData - dw BlueKeyData - dw MusicalCoinData - - rgb 0, 22, 16 - rgb 19, 31, 31 - rgb 0, 12, 31 - rgb 0, 0, 7 - -Data_64ffb: - dw GreyChestData - dw GreyKeyData - dw MusicalCoinData - - rgb 31, 31, 31 - rgb 0, 27, 31 - rgb 31, 0, 12 - rgb 5, 0, 0 - -EnemyGroups: - table_width 4, EnemyGroups - dw Data_64fc3, EnemyGroupGfx0 ; ENEMY_GROUP_000 - dw Data_64fdf, EnemyGroupGfx2 ; ENEMY_GROUP_001 - dw Data_64fd1, EnemyGroupGfx3 ; ENEMY_GROUP_002 - dw Data_64fdf, EnemyGroupGfx6 ; ENEMY_GROUP_003 - dw Data_64fdf, EnemyGroupGfx7 ; ENEMY_GROUP_004 - dw Data_64fdf, EnemyGroupGfx8 ; ENEMY_GROUP_005 - dw Data_64fdf, EnemyGroupGfx9 ; ENEMY_GROUP_006 - dw Data_64fed, EnemyGroupGfx10 ; ENEMY_GROUP_007 - dw Data_64fc3, EnemyGroupGfx11 ; ENEMY_GROUP_008 - dw Data_64fc3, EnemyGroupGfx13 ; ENEMY_GROUP_009 - dw Data_64fc3, EnemyGroupGfx14 ; ENEMY_GROUP_010 - dw Data_64fc3, EnemyGroupGfx15 ; ENEMY_GROUP_011 - dw Data_64fc3, EnemyGroupGfx16 ; ENEMY_GROUP_012 - dw Data_64fd1, EnemyGroupGfx11 ; ENEMY_GROUP_013 - dw Data_64fd1, EnemyGroupGfx17 ; ENEMY_GROUP_014 - dw Data_64fdf, EnemyGroupGfx18 ; ENEMY_GROUP_015 - dw Data_64fc3, EnemyGroupGfx1 ; ENEMY_GROUP_016 - dw Data_64fc3, EnemyGroupGfx12 ; ENEMY_GROUP_017 - dw Data_64fc3, EnemyGroupGfx21 ; ENEMY_GROUP_018 - dw Data_64fc3, EnemyGroupGfx4 ; ENEMY_GROUP_019 - dw Data_64fc3, EnemyGroupGfx3 ; ENEMY_GROUP_020 - dw Data_64fdf, EnemyGroupGfx19 ; ENEMY_GROUP_021 - dw Data_64fdf, EnemyGroupGfx3 ; ENEMY_GROUP_022 - dw Data_64fc3, EnemyGroupGfx22 ; ENEMY_GROUP_023 - dw Data_64fed, EnemyGroupGfx24 ; ENEMY_GROUP_024 - dw Data_64fed, EnemyGroupGfx25 ; ENEMY_GROUP_025 - dw Data_64fdf, EnemyGroupGfx25 ; ENEMY_GROUP_026 - dw Data_64fd1, EnemyGroupGfx26 ; ENEMY_GROUP_027 - dw Data_64fed, EnemyGroupGfx33 ; ENEMY_GROUP_028 - dw Data_64fdf, EnemyGroupGfx34 ; ENEMY_GROUP_029 - dw Data_64fc3, EnemyGroupGfx35 ; ENEMY_GROUP_030 - dw Data_64fc3, EnemyGroupGfx37 ; ENEMY_GROUP_031 - dw Data_64fc3, EnemyGroupGfx38 ; ENEMY_GROUP_032 - dw Data_64fc3, EnemyGroupGfx39 ; ENEMY_GROUP_033 - dw Data_64fd1, EnemyGroupGfx33 ; ENEMY_GROUP_034 - dw Data_64fdf, EnemyGroupGfx40 ; ENEMY_GROUP_035 - dw Data_64fed, EnemyGroupGfx41 ; ENEMY_GROUP_036 - dw Data_64fd1, EnemyGroupGfx42 ; ENEMY_GROUP_037 - dw Data_64fc3, EnemyGroupGfx42 ; ENEMY_GROUP_038 - dw Data_64fc3, EnemyGroupGfx2 ; ENEMY_GROUP_039 - dw Data_64fed, EnemyGroupGfx40 ; ENEMY_GROUP_040 - dw Data_64fd1, EnemyGroupGfx43 ; ENEMY_GROUP_041 - dw Data_64fdf, EnemyGroupGfx44 ; ENEMY_GROUP_042 - dw Data_64fed, EnemyGroupGfx44 ; ENEMY_GROUP_043 - dw Data_64fc3, EnemyGroupGfx45 ; ENEMY_GROUP_044 - dw Data_64fdf, EnemyGroupGfx24 ; ENEMY_GROUP_045 - dw Data_64fed, EnemyGroupGfx35 ; ENEMY_GROUP_046 - dw Data_64fd1, EnemyGroupGfx15 ; ENEMY_GROUP_047 - dw Data_64fed, EnemyGroupGfx46 ; ENEMY_GROUP_048 - dw Data_64fc3, EnemyGroupGfx47 ; ENEMY_GROUP_049 - dw Data_64fd1, EnemyGroupGfx34 ; ENEMY_GROUP_050 - dw Data_64fed, EnemyGroupGfx48 ; ENEMY_GROUP_051 - dw Data_64fc3, EnemyGroupGfx49 ; ENEMY_GROUP_052 - dw Data_64fc3, EnemyGroupGfx50 ; ENEMY_GROUP_053 - dw Data_64fc3, EnemyGroupGfx51 ; ENEMY_GROUP_054 - dw Data_64fed, EnemyGroupGfx52 ; ENEMY_GROUP_055 - dw Data_64fdf, EnemyGroupGfx20 ; ENEMY_GROUP_056 - dw Data_64fdf, EnemyGroupGfx53 ; ENEMY_GROUP_057 - dw Data_64fd1, EnemyGroupGfx54 ; ENEMY_GROUP_058 - dw Data_64fc3, EnemyGroupGfx30 ; ENEMY_GROUP_059 - dw Data_64fdf, EnemyGroupGfx31 ; ENEMY_GROUP_060 - dw Data_64fc3, EnemyGroupGfx23 ; ENEMY_GROUP_061 - dw Data_64fed, EnemyGroupGfx36 ; ENEMY_GROUP_062 - dw Data_64fed, EnemyGroupGfx29 ; ENEMY_GROUP_063 - dw Data_64fd1, EnemyGroupGfx32 ; ENEMY_GROUP_064 - dw Data_64fd1, EnemyGroupGfx27 ; ENEMY_GROUP_065 - dw Data_64fd1, EnemyGroupGfx27 ; ENEMY_GROUP_066 - dw Data_64fd1, EnemyGroupGfx28 ; ENEMY_GROUP_067 - dw Data_64fc3, EnemyGroupGfx55 ; ENEMY_GROUP_068 - dw Data_64fc3, EnemyGroupGfx56 ; ENEMY_GROUP_069 - dw Data_64fc3, EnemyGroupGfx57 ; ENEMY_GROUP_070 - dw Data_64fc3, EnemyGroupGfx58 ; ENEMY_GROUP_071 - dw Data_64fd1, EnemyGroupGfx59 ; ENEMY_GROUP_072 - dw Data_64fc3, EnemyGroupGfx60 ; ENEMY_GROUP_073 - dw Data_64fed, EnemyGroupGfx61 ; ENEMY_GROUP_074 - dw Data_64fed, EnemyGroupGfx17 ; ENEMY_GROUP_075 - dw Data_64fd1, EnemyGroupGfx13 ; ENEMY_GROUP_076 - dw Data_64fc3, EnemyGroupGfx62 ; ENEMY_GROUP_077 - dw Data_64fed, EnemyGroupGfx63 ; ENEMY_GROUP_078 - dw Data_64fdf, EnemyGroupGfx64 ; ENEMY_GROUP_079 - dw Data_64fdf, EnemyGroupGfx65 ; ENEMY_GROUP_080 - dw Data_64fd1, EnemyGroupGfx35 ; ENEMY_GROUP_081 - dw Data_64fc3, EnemyGroupGfx66 ; ENEMY_GROUP_082 - dw Data_64fd1, EnemyGroupGfx67 ; ENEMY_GROUP_083 - dw Data_64fdf, EnemyGroupGfx68 ; ENEMY_GROUP_084 - dw Data_64fed, EnemyGroupGfx69 ; ENEMY_GROUP_085 - dw Data_64fc3, EnemyGroupGfx70 ; ENEMY_GROUP_086 - dw Data_64fdf, EnemyGroupGfx60 ; ENEMY_GROUP_087 - dw Data_64fc3, EnemyGroupGfx71 ; ENEMY_GROUP_088 - dw Data_64fed, EnemyGroupGfx72 ; ENEMY_GROUP_089 - dw Data_64fed, EnemyGroupGfx73 ; ENEMY_GROUP_090 - dw Data_64fdf, EnemyGroupGfx4 ; ENEMY_GROUP_091 - dw Data_64fed, EnemyGroupGfx14 ; ENEMY_GROUP_092 - dw Data_64fd1, EnemyGroupGfx24 ; ENEMY_GROUP_093 - dw Data_64fc3, EnemyGroupGfx74 ; ENEMY_GROUP_094 - dw Data_64fdf, EnemyGroupGfx75 ; ENEMY_GROUP_095 - dw Data_64fc3, EnemyGroupGfx76 ; ENEMY_GROUP_096 - dw Data_64fed, EnemyGroupGfx77 ; ENEMY_GROUP_097 - dw Data_64fed, EnemyGroupGfx78 ; ENEMY_GROUP_098 - dw Data_64fed, EnemyGroupGfx79 ; ENEMY_GROUP_099 - dw Data_64fed, EnemyGroupGfx80 ; ENEMY_GROUP_100 - dw Data_64fc3, EnemyGroupGfx81 ; ENEMY_GROUP_101 - dw Data_64fdf, EnemyGroupGfx82 ; ENEMY_GROUP_102 - dw Data_64fed, EnemyGroupGfx3 ; ENEMY_GROUP_103 - dw Data_64fed, EnemyGroupGfx83 ; ENEMY_GROUP_104 - dw Data_64fed, EnemyGroupGfx84 ; ENEMY_GROUP_105 - dw Data_64fed, EnemyGroupGfx85 ; ENEMY_GROUP_106 - dw Data_64fd1, EnemyGroupGfx86 ; ENEMY_GROUP_107 - dw Data_64fdf, EnemyGroupGfx87 ; ENEMY_GROUP_108 - dw Data_64fdf, EnemyGroupGfx88 ; ENEMY_GROUP_109 - dw Data_64fed, EnemyGroupGfx89 ; ENEMY_GROUP_110 - dw Data_64fd1, EnemyGroupGfx95 ; ENEMY_GROUP_111 - dw Data_64fd1, EnemyGroupGfx90 ; ENEMY_GROUP_112 - dw Data_64fc3, EnemyGroupGfx91 ; ENEMY_GROUP_113 - dw Data_64fed, EnemyGroupGfx92 ; ENEMY_GROUP_114 - dw Data_64fed, EnemyGroupGfx93 ; ENEMY_GROUP_115 - dw Data_64fc3, EnemyGroupGfx94 ; ENEMY_GROUP_116 - dw Data_64fdf, EnemyGroupGfx96 ; ENEMY_GROUP_117 - dw Data_64fd1, EnemyGroupGfx91 ; ENEMY_GROUP_118 - dw Data_64fdf, EnemyGroupGfx97 ; ENEMY_GROUP_119 - dw Data_64fd1, EnemyGroupGfx77 ; ENEMY_GROUP_120 - dw Data_64fd1, EnemyGroupGfx98 ; ENEMY_GROUP_121 - dw Data_64fdf, EnemyGroupGfx99 ; ENEMY_GROUP_122 - dw Data_64fdf, EnemyGroupGfx100 ; ENEMY_GROUP_123 - dw Data_64fc3, EnemyGroupGfx5 ; ENEMY_GROUP_124 - dw Data_64fc3, EnemyGroupGfx101 ; ENEMY_GROUP_125 - dw Data_64fed, EnemyGroupGfx101 ; ENEMY_GROUP_126 - dw Data_64fc3, EnemyGroupGfx85 ; ENEMY_GROUP_127 - dw Data_64fd1, EnemyGroupGfx105 ; ENEMY_GROUP_128 - dw Data_64fdf, EnemyGroupGfx102 ; ENEMY_GROUP_129 - dw Data_64fc3, EnemyGroupGfx103 ; ENEMY_GROUP_130 - dw Data_64fed, EnemyGroupGfx104 ; ENEMY_GROUP_131 - dw Data_64fdf, EnemyGroupGfx106 ; ENEMY_GROUP_132 - dw Data_64fed, EnemyGroupGfx107 ; ENEMY_GROUP_133 - dw Data_64fed, EnemyGroupGfx108 ; ENEMY_GROUP_134 - dw Data_64fed, EnemyGroupGfx109 ; ENEMY_GROUP_135 - dw Data_64fc3, EnemyGroupGfx110 ; ENEMY_GROUP_136 - dw Data_64fd1, EnemyGroupGfx111 ; ENEMY_GROUP_137 - dw Data_64fc3, EnemyGroupGfx112 ; ENEMY_GROUP_138 - dw Data_64fdf, EnemyGroupGfx113 ; ENEMY_GROUP_139 - dw Data_64fc3, EnemyGroupGfx114 ; ENEMY_GROUP_140 - dw Data_64fc3, EnemyGroupGfx115 ; ENEMY_GROUP_141 - dw Data_64fd1, EnemyGroupGfx116 ; ENEMY_GROUP_142 - dw Data_64fdf, EnemyGroupGfx43 ; ENEMY_GROUP_143 - dw Data_64fd1, EnemyGroupGfx44 ; ENEMY_GROUP_144 - dw Data_64ffb, EnemyGroupGfx117 ; ENEMY_GROUP_145 - assert_table_length NUM_ENEMY_GROUPS - -EnemyGroupGfx0: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw FutamoguGfx - dw TorchGfx - - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx1: - db $00 - - dw SilkyGfx - dw CountRichtertoffenGfx - dw DoughnuteerGfx - dw BeamBotGfx - - dw DummyObjectData - dw CountRichtertoffenData - dw DoughnuteerData - dw BeamBotData - dw NULL - -INCLUDE "gfx/pals/silky.pal" -INCLUDE "gfx/pals/count_richtertoffen.pal" -INCLUDE "gfx/pals/doughnuteer.pal" -INCLUDE "gfx/pals/beam_bot.pal" - -EnemyGroupGfx2: - db $00 - - dw SpearheadGfx - dw BirdGfx - dw FutamoguGfx - dw TorchGfx - - dw SpearheadData - dw BlueBirdData - dw FutamoguData - dw TorchData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/blue_bird.pal" -INCLUDE "gfx/pals/futamogu1.pal" -INCLUDE "gfx/pals/torch.pal" - -EnemyGroupGfx3: - db $00 - - dw SilkyGfx - dw CountRichtertoffenGfx - dw ClearGate2Gfx - dw OmodonmekaGfx - - dw SilkyData - dw CountRichtertoffenData - dw ClearGate2Data - dw OmodonmekaData - dw NULL - -INCLUDE "gfx/pals/silky.pal" -INCLUDE "gfx/pals/count_richtertoffen.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/omodonmeka.pal" - -EnemyGroupGfx4: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw OmodonGfx - dw OmodonmekaGfx - - dw DummyObjectData - dw DummyObjectData - dw OmodonmekaWithOmodon1Data - dw OmodonmekaData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/webber1.pal" -INCLUDE "gfx/pals/omodon.pal" -INCLUDE "gfx/pals/omodonmeka.pal" - -EnemyGroupGfx5: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw OmodonGfx - dw OmodonmekaGfx - - dw DummyObjectData - dw DummyObjectData - dw OmodonmekaWithOmodon2Data - dw OmodonmekaData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/webber1.pal" -INCLUDE "gfx/pals/omodon.pal" -INCLUDE "gfx/pals/omodonmeka.pal" - -EnemyGroupGfx6: - db $00 - - dw SpearheadGfx - dw KushimushiGfx - dw FutamoguGfx - dw TorchGfx - - dw DummyObjectData - dw KushimushiVerticalData - dw DummyObjectData - dw DummyObjectData - dw KushimushiHorizontalData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/kushimushi.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx7: - db $00 - - dw MizuuoGfx - dw WebberGfx - dw FutamoguGfx - dw TorchGfx - - dw MizuuoData - dw NULL - -INCLUDE "gfx/pals/mizuuo.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx8: - db $00 - - dw SpearheadGfx - dw KushimushiGfx - dw BigLeafGfx - dw TorchGfx - - dw DummyObjectData - dw KushimushiVerticalData - dw BigLeafSpawnerData - dw DummyObjectData - dw KushimushiHorizontalData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/kushimushi.pal" -INCLUDE "gfx/pals/big_leaf.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx9: - db $00 - - dw MizuuoGfx - dw WebberGfx - dw BigLeafGfx - dw TorchGfx - - dw MizuuoData - dw DummyObjectData - dw BigLeafSpawnerData - dw NULL - -INCLUDE "gfx/pals/mizuuo.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/big_leaf.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx10: - db $00 - - dw SilkyGfx - dw BirdGfx - dw DoughnuteerGfx - dw TorchGfx - - dw SilkyData - dw OrangeBirdData - dw DoughnuteerData - dw NULL - -INCLUDE "gfx/pals/silky.pal" -INCLUDE "gfx/pals/orange_bird.pal" -INCLUDE "gfx/pals/doughnuteer.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx11: - db $00 - - dw SnakeGfx - dw ParaGoomGfx - dw DoughnuteerGfx - dw FireBotGfx - - dw SnakeData - dw ParaGoomData - dw DoughnuteerData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/doughnuteer.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx12: - db $00 - - dw SnakeGfx - dw ParaGoomGfx - dw ZombieGfx - dw FireBotGfx - - dw SnakeData - dw ParaGoomData - dw ZombieData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/zombie.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx13: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw FutamoguGfx - dw SmallLeafGfx - - dw SpearheadData - dw WebberData - dw FutamoguData - dw SmallLeafData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/webber2.pal" -INCLUDE "gfx/pals/futamogu1.pal" -INCLUDE "gfx/pals/small_leaf.pal" - -EnemyGroupGfx14: - db $00 - - dw SpearheadGfx - dw ApplebyGfx - dw FutamoguGfx - dw TorchGfx - - dw SpearheadData - dw ApplebyData - dw FutamoguData - dw TorchData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/appleby.pal" -INCLUDE "gfx/pals/futamogu1.pal" -INCLUDE "gfx/pals/torch.pal" - -EnemyGroupGfx15: - db $00 - - dw PrinceFroggyGfx - dw HammerBotGfx - dw SpearBotGfx - dw BarrelGfx - - dw RedPrinceFroggyData - dw HammerBotData - dw SpearBotData - dw Barrel2Data - dw NULL - -INCLUDE "gfx/pals/prince_froggy1.pal" -INCLUDE "gfx/pals/hammer_bot.pal" -INCLUDE "gfx/pals/spear_bot.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx16: - db $00 - - dw MadSciensteinGfx - dw ParaGoomGfx - dw FutamoguGfx - dw TeruteruGfx - - dw MadSciensteinData - dw ParaGoomData - dw FutamoguData - dw TeruteruData - dw SeeingEyeDoorData - dw NULL - -INCLUDE "gfx/pals/mad_scienstein.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/futamogu1.pal" -INCLUDE "gfx/pals/teruteru.pal" - -EnemyGroupGfx17: - db $00 - - dw SpearheadGfx - dw PneumoGfx - dw FutamoguGfx - dw ClearGate3Gfx - - dw SpearheadData - dw PneumoData - dw DummyObjectData - dw ClearGate3Data - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/pneumo.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/clear_gate.pal" - -EnemyGroupGfx18: - db $00 - - dw MadSciensteinGfx - dw ParaGoomGfx - dw FutamoguGfx - dw ElectricLampGfx - - dw MadSciensteinData - dw ParaGoomData - dw DummyObjectData - dw ElectricLampData - dw SeeingEyeDoorData - dw NULL - -INCLUDE "gfx/pals/mad_scienstein.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/electric_lamp.pal" - -EnemyGroupGfx19: - db $00 - - dw Sun1Gfx - dw Sun2Gfx - dw ClearGate2Gfx - dw TorchGfx - - dw SunData - dw DummyObjectData - dw ClearGate2Data - dw NULL - -INCLUDE "gfx/pals/sun.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx20: - db $00 - - dw Moon1Gfx - dw Moon2Gfx - dw ClearGate2Gfx - dw TorchGfx - - dw MoonData - dw DummyObjectData - dw ClearGate2Data - dw NULL - -INCLUDE "gfx/pals/moon.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx21: - db $00 - - dw UnusedFlowerGfx - dw HammerBotGfx - dw SpearBotGfx - dw TorchGfx - - dw UnusedFlowerData - dw HammerBotData - dw SpearBotData - dw TorchData - dw NULL - -INCLUDE "gfx/pals/unused_flower.pal" -INCLUDE "gfx/pals/hammer_bot.pal" -INCLUDE "gfx/pals/spear_bot.pal" -INCLUDE "gfx/pals/torch.pal" - -EnemyGroupGfx22: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw HandGfx - dw TorchGfx - - dw SpearheadData - dw DummyObjectData - dw HandData - dw DummyObjectData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/hand1.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx23: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw FutamoguGfx - dw TorchGfx - - dw SpearheadData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx24: - db $00 - - dw HaridamaGfx - dw WebberGfx - dw BubbleGfx - dw TorchGfx - - dw HaridamaData - dw DummyObjectData - dw BubbleHoleData - dw DummyObjectData - dw NULL - -INCLUDE "gfx/pals/haridama.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/bubble.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx25: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw KobattoGfx - dw WaterDropGfx - - dw SpearheadData - dw DummyObjectData - dw KobattoData - dw WaterDropData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/kobatto.pal" -INCLUDE "gfx/pals/water_drop.pal" - -EnemyGroupGfx26: - db $00 - - dw SnakeGfx - dw ClearGate1Gfx - dw CartGfx - dw FireBotGfx - - dw SnakeData - dw ClearGate1Data - dw CartRightData - dw CartLeftData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/cart.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx27: - db $00 - - dw SpearheadGfx - dw ClearGate1Gfx - dw CartGfx - dw FireBotGfx - - dw DummyObjectData - dw ClearGate1Data - dw CartVariableRightData - dw CartVariableLeftData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/cart.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx28: - db $00 - - dw SnakeGfx - dw ClearGate1Gfx - dw CartGfx - dw FireBotGfx - - dw SnakeData - dw ClearGate1Data - dw CartVariableRightData - dw CartVariableLeftData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/cart.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx29: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw CartGfx - dw TorchGfx - - dw SpearheadData - dw DummyObjectData - dw CartRightData - dw CartLeftData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/cart.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx30: - db $00 - - dw SpearheadGfx - dw ParaGoomGfx - dw FutamoguGfx - dw NobiiruGfx - - dw DummyObjectData - dw ParaGoomData - dw DummyObjectData - dw NobiiruLeftData - dw NobiiruRightData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/nobiiru.pal" - -EnemyGroupGfx31: - db $00 - - dw SilkyGfx - dw ParaGoomGfx - dw ClearGate2Gfx - dw BeamBotGfx - - dw SilkyData - dw ParaGoomData - dw ClearGate2Data - dw BeamBotData - dw NULL - -INCLUDE "gfx/pals/silky.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/beam_bot.pal" - -EnemyGroupGfx32: - db $00 - - dw SpearheadGfx - dw ApplebyGfx - dw ClearGate2Gfx - dw ElectricLampGfx - - dw DummyObjectData - dw ApplebyData - dw ClearGate2Data - dw ElectricLampData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/appleby.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/electric_lamp.pal" - -EnemyGroupGfx33: - db $00 - - dw RoboMouse1Gfx - dw RoboMouse2Gfx - dw SpearBotGfx - dw TorchGfx - - dw RoboMouseData - dw DummyObjectData - dw SpearBotData - dw NULL - -INCLUDE "gfx/pals/robo_mouse.pal" -INCLUDE "gfx/pals/spear_bot.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx34: - db $00 - - dw SpearheadGfx - dw ParaGoomGfx - dw FutamoguGfx - dw TogebaGfx - - dw DummyObjectData - dw ParaGoomData - dw DummyObjectData - dw TogebaData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/togeba.pal" - -EnemyGroupGfx35: - db $00 - - dw HaridamaGfx - dw WebberGfx - dw FutamoguGfx - dw BrrrBearGfx - - dw HaridamaData - dw DummyObjectData - dw DummyObjectData - dw BrrrBearData - dw NULL - -INCLUDE "gfx/pals/haridama.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/brrr_bear.pal" - -EnemyGroupGfx36: - db $00 - - dw HaridamaGfx - dw WebberGfx - dw BubbleGfx - dw NobiiruGfx - - dw HaridamaData - dw WebberData - dw BubbleHoleData - dw NobiiruLeftData - dw NobiiruRightData - dw NULL - -INCLUDE "gfx/pals/haridama.pal" -INCLUDE "gfx/pals/webber2.pal" -INCLUDE "gfx/pals/bubble.pal" -INCLUDE "gfx/pals/nobiiru.pal" - -EnemyGroupGfx37: - db $00 - - dw OwlGfx - dw WebberGfx - dw OmodonGfx - dw OmodonmekaGfx - - dw OwlData - dw DummyObjectData - dw OmodonmekaWithOmodon1Data - dw OmodonmekaData - dw NULL - -INCLUDE "gfx/pals/owl.pal" -INCLUDE "gfx/pals/webber1.pal" -INCLUDE "gfx/pals/omodon.pal" -INCLUDE "gfx/pals/omodonmeka.pal" - -EnemyGroupGfx38: - db $00 - - dw OwlGfx - dw PneumoGfx - dw ClearGate2Gfx - dw OmodonmekaGfx - - dw OwlData - dw PneumoData - dw ClearGate2Data - dw OmodonmekaData - dw NULL - -INCLUDE "gfx/pals/owl.pal" -INCLUDE "gfx/pals/pneumo.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/omodonmeka.pal" - -EnemyGroupGfx39: - db $00 - - dw SpearheadGfx - dw ParaGoomGfx - dw ZipLineGfx - dw BeamBotGfx - - dw ZipLine1Data - dw ZipLine2Data - dw ZipLine3Data - dw ZipLine4Data - dw ZipLine5Data - dw ParaGoomData - dw SpearheadData - dw BeamBotData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/zip_line.pal" -INCLUDE "gfx/pals/beam_bot.pal" - -EnemyGroupGfx40: - db $00 - - dw SpearheadGfx - dw ParaGoomGfx - dw SpearBotGfx - dw FireBotGfx - - dw SpearheadData - dw ParaGoomData - dw SpearBotData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/spear_bot.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx41: - db $04 - - dw Anonster1Gfx - dw Anonster2Gfx - dw Anonster3Gfx - dw Anonster4Gfx - - dw AnonsterData - dw SilkPlatformsData - dw NULL - -INCLUDE "gfx/pals/anonster.pal" - -EnemyGroupGfx42: - db $00 - - dw StoveGfx - dw ParaGoomGfx - dw FlameBlockGfx - dw TorchGfx - - dw StoveData - dw ParaGoomData - dw FlameBlockData - dw TorchNoEmbersData - dw FlameBlockTorchData - dw NULL - -INCLUDE "gfx/pals/stove.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/flame_block.pal" -INCLUDE "gfx/pals/torch.pal" - -EnemyGroupGfx43: - db $00 - - dw SpearheadGfx - dw BirdGfx - dw KobattoGfx - dw TorchGfx - - dw SpearheadData - dw BlueBirdData - dw KobattoData - dw DummyObjectData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/blue_bird.pal" -INCLUDE "gfx/pals/kobatto.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx44: - db $00 - - dw SpearheadGfx - dw HammerBotGfx - dw ZombieGfx - dw TorchGfx - - dw DummyObjectData - dw HammerBotData - dw ZombieData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/hammer_bot.pal" -INCLUDE "gfx/pals/zombie.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx45: - db $04 - - dw DollBoy1Gfx - dw DollBoy2Gfx - dw DollBoy3Gfx - dw DollBoy4Gfx - - dw DollBoyData - dw HammerPlatformSpawnerData - dw DollBoyBarrel1Data - dw DollBoyBarrel2Data - dw DollBoyBarrel3Data - dw NULL - -INCLUDE "gfx/pals/doll_boy.pal" - -EnemyGroupGfx46: - db $00 - - dw MadSciensteinGfx - dw ParaGoomGfx - dw ZombieGfx - dw TorchGfx - - dw MadSciensteinData - dw ParaGoomData - dw ZombieData - dw DummyObjectData - dw SeeingEyeDoorData - dw NULL - -INCLUDE "gfx/pals/mad_scienstein.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/zombie.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx47: - db $04 - - dw Wormwould1Gfx - dw Wormwould2Gfx - dw Wormwould3Gfx - dw Wormwould4Gfx - - dw WormwouldData - dw PalmTreeSpawnerData - dw NULL - -INCLUDE "gfx/pals/wormwould.pal" - -EnemyGroupGfx48: - db $00 - - dw OwlGfx - dw ParaGoomGfx - dw FutamoguGfx - dw TorchGfx - - dw OwlData - dw ParaGoomData - dw NULL - -INCLUDE "gfx/pals/owl.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx49: - db $00 - - dw HaridamaGfx - dw ParaGoomGfx - dw FutamoguGfx - dw PillarPlatformGfx - - dw HaridamaData - dw ParaGoomData - dw DummyObjectData - dw PillarPlatform1Data - dw PillarPlatform2Data - dw PillarPlatform3Data - dw NULL - -INCLUDE "gfx/pals/haridama.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/futamogu2.pal" -INCLUDE "gfx/pals/pillar_platform.pal" - -EnemyGroupGfx50: - db $00 - - dw SpearheadGfx - dw ParaGoomGfx - dw DoughnuteerGfx - dw FireBotGfx - - dw DummyObjectData - dw ParaGoomData - dw DoughnuteerData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/doughnuteer.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx51: - db $00 - - dw SpearheadGfx - dw ParaGoomGfx - dw ZombieGfx - dw FireBotGfx - - dw DummyObjectData - dw ParaGoomData - dw ZombieData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/zombie.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx52: - db $04 - - dw YellowBelly1Gfx - dw YellowBelly2Gfx - dw YellowBelly3Gfx - dw YellowBelly4Gfx - - dw YellowBellyBodyData - dw YellowBellyPlatformData - dw NULL - -INCLUDE "gfx/pals/yellow_belly.pal" - -EnemyGroupGfx53: - db $00 - - dw SpearheadGfx - dw ApplebyGfx - dw KobattoGfx - dw WaterDropGfx - - dw SpearheadData - dw ApplebyData - dw KobattoData - dw WaterDropData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/appleby.pal" -INCLUDE "gfx/pals/kobatto.pal" -INCLUDE "gfx/pals/water_drop.pal" - -EnemyGroupGfx54: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw DoughnuteerGfx - dw TorchGfx - - dw SpearheadData - dw DummyObjectData - dw DoughnuteerData - dw DummyObjectData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/doughnuteer.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx55: - db $00 - - dw PrinceFroggyGfx - dw ParaGoomGfx - dw ZipLineGfx - dw BrrrBearGfx - - dw GreyPrinceFroggyData - dw ParaGoomData - dw ZipLine4Data - dw BrrrBearData - dw NULL - -INCLUDE "gfx/pals/prince_froggy2.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/zip_line.pal" -INCLUDE "gfx/pals/brrr_bear.pal" - -EnemyGroupGfx56: - db $04 - - dw Pesce1Gfx - dw Pesce2Gfx - dw Pesce3Gfx - dw Pesce4Gfx - - dw PesceData - dw DragonflySpawnerData - dw FlySpawnerData - dw StrongWaterCurrentData - dw Dragonfly2Data - dw NULL - -INCLUDE "gfx/pals/pesce.pal" - -EnemyGroupGfx57: - db $00 - - dw StoveGfx - dw WebberGfx - dw DoughnuteerGfx - dw TorchGfx - - dw StoveData - dw DummyObjectData - dw DoughnuteerData - dw NULL - -INCLUDE "gfx/pals/stove.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/doughnuteer.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx58: - db $00 - - dw StoveGfx - dw WebberGfx - dw ZombieGfx - dw FireBotGfx - - dw StoveData - dw DummyObjectData - dw ZombieData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/stove.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/zombie.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx59: - db $00 - - dw SnakeGfx - dw BirdGfx - dw HebariiGfx - dw NobiiruGfx - - dw SnakeData - dw OrangeBirdData - dw HebariiData - dw NobiiruLeftData - dw NobiiruRightData - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/orange_bird.pal" -INCLUDE "gfx/pals/hebarii.pal" -INCLUDE "gfx/pals/nobiiru.pal" - -EnemyGroupGfx60: - db $00 - - dw HaridamaGfx - dw WebberGfx - dw TadpoleGfx - dw BarrelGfx - - dw HaridamaData - dw DummyObjectData - dw TadpoleSpawnerData - dw Barrel2Data - dw NULL - -INCLUDE "gfx/pals/haridama.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/tadpole.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx61: - db $00 - - dw PrinceFroggyGfx - dw WebberGfx - dw KobattoGfx - dw WaterDropGfx - - dw GreyPrinceFroggyData - dw DummyObjectData - dw KobattoData - dw WaterDropData - dw NULL - -INCLUDE "gfx/pals/prince_froggy2.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/kobatto.pal" -INCLUDE "gfx/pals/water_drop.pal" - -EnemyGroupGfx62: - db $00 - - dw SpearheadGfx - dw PneumoGfx - dw DoughnuteerGfx - dw SparkGfx - - dw DummyObjectData - dw PneumoData - dw DoughnuteerData - dw SparkHorizontalData - dw SparkVerticalData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/pneumo.pal" -INCLUDE "gfx/pals/doughnuteer.pal" -INCLUDE "gfx/pals/spark.pal" - -EnemyGroupGfx63: - db $00 - - dw SpearheadGfx - dw PneumoGfx - dw FutamoguGfx - dw BeamBotGfx - - dw SpearheadData - dw PneumoData - dw DummyObjectData - dw BeamBotData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/pneumo.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/beam_bot.pal" - -EnemyGroupGfx64: - db $00 - - dw Sun1Gfx - dw Sun2Gfx - dw SpearBotGfx - dw BrrrBearGfx - - dw SunData - dw DummyObjectData - dw SpearBotData - dw BrrrBearData - dw NULL - -INCLUDE "gfx/pals/sun.pal" -INCLUDE "gfx/pals/spear_bot.pal" -INCLUDE "gfx/pals/brrr_bear.pal" - -EnemyGroupGfx65: - db $00 - - dw SpearheadGfx - dw BirdGfx - dw BubbleGfx - dw BarrelGfx - - dw DummyObjectData - dw OrangeBirdData - dw BubbleHoleData - dw Barrel1Data - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/orange_bird.pal" -INCLUDE "gfx/pals/bubble.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx66: - db $00 - - dw PrinceFroggyGfx - dw PneumoGfx - dw WallCrackGfx - dw BarrelGfx - - dw GreyPrinceFroggyData - dw PneumoData - dw WallCrackClosedData - dw Barrel2Data - dw NULL - -INCLUDE "gfx/pals/prince_froggy2.pal" -INCLUDE "gfx/pals/pneumo.pal" -INCLUDE "gfx/pals/wall_crack.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx67: - db $00 - - dw SnakeGfx - dw ParaGoomGfx - dw FireGfx - dw FireBotGfx - - dw SnakeData - dw ParaGoomData - dw FireData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/fire.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx68: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw KobattoGfx - dw NobiiruGfx - - dw DummyObjectData - dw DummyObjectData - dw KobattoData - dw NobiiruLeftData - dw NobiiruRightData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/kobatto.pal" -INCLUDE "gfx/pals/nobiiru.pal" - -EnemyGroupGfx69: - db $00 - - dw SnakeGfx - dw ApplebyGfx - dw WallCrackGfx - dw BarrelGfx - - dw SnakeData - dw ApplebyData - dw WallCrackOpenData - dw Barrel2Data - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/appleby.pal" -INCLUDE "gfx/pals/wall_crack.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx70: - db $04 - - dw Scowler1Gfx - dw Scowler2Gfx - dw Scowler3Gfx - dw Scowler4Gfx - - dw ScowlerData - dw FloatingRingSpawnerData - dw NULL - -INCLUDE "gfx/pals/scowler.pal" - -EnemyGroupGfx71: - db $00 - - dw WaterSparkGfx - dw WebberGfx - dw SpearBotGfx - dw FireBotGfx - - dw WaterSparkData - dw DummyObjectData - dw SpearBotData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/water_spark.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/spear_bot.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx72: - db $00 - - dw HaridamaGfx - dw WebberGfx - dw BubbleGfx - dw OctohonGfx - - dw HaridamaData - dw DummyObjectData - dw BubbleHoleData - dw SmallOctohonData - dw NULL - -INCLUDE "gfx/pals/haridama.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/bubble.pal" -INCLUDE "gfx/pals/octohon.pal" - -EnemyGroupGfx73: - db $00 - - dw HaridamaGfx - dw WebberGfx - dw BubbleGfx - dw OctohonGfx - - dw HaridamaData - dw DummyObjectData - dw BubbleHoleData - dw BigOctohonData - dw NULL - -INCLUDE "gfx/pals/haridama.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/bubble.pal" -INCLUDE "gfx/pals/octohon.pal" - -EnemyGroupGfx74: - db $00 - - dw PrinceFroggyGfx - dw WebberGfx - dw HandGfx - dw FireBotGfx - - dw GreyPrinceFroggyData - dw DummyObjectData - dw HandData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/prince_froggy2.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/hand2.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx75: - db $00 - - dw OwlGfx - dw WebberGfx - dw FutamoguGfx - dw SparkGfx - - dw OwlData - dw DummyObjectData - dw DummyObjectData - dw SparkHorizontalData - dw SparkVerticalData - dw NULL - -INCLUDE "gfx/pals/owl.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/spark.pal" - -EnemyGroupGfx76: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw RockGfx - dw BrrrBearGfx - - dw DummyObjectData - dw DummyObjectData - dw RockData - dw BrrrBearData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/rock.pal" -INCLUDE "gfx/pals/brrr_bear.pal" - -EnemyGroupGfx77: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw FutamoguGfx - dw FallingSnowGfx - - dw SpearheadData - dw DummyObjectData - dw DummyObjectData - dw FallingSnowSpawnerData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/falling_snow.pal" - -EnemyGroupGfx78: - db $00 - - dw SpearheadGfx - dw ApplebyGfx - dw ClearGate2Gfx - dw BarrelGfx - - dw DummyObjectData - dw ApplebyData - dw ClearGate2Data - dw Barrel2Data - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/appleby.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx79: - db $00 - - dw SilkyGfx - dw ApplebyGfx - dw FutamoguGfx - dw BarrelGfx - - dw SilkyData - dw ApplebyData - dw DummyObjectData - dw Barrel2Data - dw NULL - -INCLUDE "gfx/pals/silky.pal" -INCLUDE "gfx/pals/appleby.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx80: - db $00 - - dw StoveGfx - dw HammerBotGfx - dw FutamoguGfx - dw TorchGfx - - dw StoveData - dw HammerBotData - dw NULL - -INCLUDE "gfx/pals/stove.pal" -INCLUDE "gfx/pals/hammer_bot.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx81: - db $00 - - dw SpearheadGfx - dw HammerBotGfx - dw FireGfx - dw FireBotGfx - - dw SpearheadData - dw HammerBotData - dw FireData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/hammer_bot.pal" -INCLUDE "gfx/pals/fire.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx82: - db $04 - - dw Jamano1Gfx - dw Jamano2Gfx - dw Jamano3Gfx - dw Jamano4Gfx - - dw JamanoData - dw SkullSpawnerData - dw HatPlatformData - dw NULL - -INCLUDE "gfx/pals/jamano.pal" - -EnemyGroupGfx83: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw OmodonGfx - dw OmodonmekaGfx - - dw SpearheadData - dw DummyObjectData - dw OmodonmekaWithOmodon1Data - dw OmodonmekaData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/webber1.pal" -INCLUDE "gfx/pals/omodon.pal" -INCLUDE "gfx/pals/omodonmeka.pal" - -EnemyGroupGfx84: - db $00 - - dw SnakeGfx - dw WebberGfx - dw FutamoguGfx - dw FireBotGfx - - dw SnakeData - dw DummyObjectData - dw DummyObjectData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx85: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw HebariiGfx - dw BarrelGfx - - dw DummyObjectData - dw DummyObjectData - dw HebariiData - dw Barrel1Data - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/hebarii.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx86: - db $04 - - dw Muddee1Gfx - dw Muddee2Gfx - dw Muddee3Gfx - dw Muddee4Gfx - - dw MuddeeData - dw Turtle1Data - dw Turtle2Data - dw NULL - -INCLUDE "gfx/pals/muddee.pal" - -EnemyGroupGfx87: - db $04 - - dw Wolfenboss1Gfx - dw Wolfenboss2Gfx - dw Wolfenboss3Gfx - dw Wolfenboss4Gfx - - dw WolfenbossData - dw WolfenbossPlatformData - dw NULL - -INCLUDE "gfx/pals/wolfenboss.pal" - -EnemyGroupGfx88: - db $00 - - dw SpearheadGfx - dw CountRichtertoffenGfx - dw FutamoguGfx - dw BarrelGfx - - dw DummyObjectData - dw CountRichtertoffenData - dw DummyObjectData - dw Barrel2Data - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/count_richtertoffen.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx89: - db $00 - - dw SpearheadGfx - dw ApplebyGfx - dw OmodonGfx - dw OmodonmekaGfx - - dw DummyObjectData - dw ApplebyData - dw OmodonmekaWithOmodon1Data - dw OmodonmekaData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/appleby.pal" -INCLUDE "gfx/pals/omodon.pal" -INCLUDE "gfx/pals/omodonmeka.pal" - -EnemyGroupGfx90: - db $00 - - dw SpearheadGfx - dw BirdGfx - dw HebariiGfx - dw NobiiruGfx - - dw DummyObjectData - dw OrangeBirdData - dw HebariiData - dw NobiiruLeftData - dw NobiiruRightData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/orange_bird.pal" -INCLUDE "gfx/pals/hebarii.pal" -INCLUDE "gfx/pals/nobiiru.pal" - -EnemyGroupGfx91: - db $00 - - dw SpearheadGfx - dw BirdGfx - dw FutamoguGfx - dw TorchGfx - - dw SpearheadData - dw BlueBirdData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/blue_bird.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx92: - db $00 - - dw SilkyGfx - dw BirdGfx - dw DoughnuteerGfx - dw TorchGfx - - dw SilkyData - dw BlueBirdData - dw DoughnuteerData - dw NULL - -INCLUDE "gfx/pals/silky.pal" -INCLUDE "gfx/pals/blue_bird.pal" -INCLUDE "gfx/pals/doughnuteer.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx93: - db $00 - - dw SilkyGfx - dw WebberGfx - dw FutamoguGfx - dw BrrrBearGfx - - dw SilkyData - dw DummyObjectData - dw DummyObjectData - dw BrrrBearData - dw NULL - -INCLUDE "gfx/pals/silky.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/brrr_bear.pal" - -EnemyGroupGfx94: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw ZombieGfx - dw BrrrBearGfx - - dw DummyObjectData - dw DummyObjectData - dw ZombieData - dw BrrrBearData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/zombie.pal" -INCLUDE "gfx/pals/brrr_bear.pal" - -EnemyGroupGfx95: - db $04 - - dw Shoot1Gfx - dw Shoot2Gfx - dw Shoot3Gfx - dw Shoot4Gfx - - dw ShootData - dw GKTortoiseData - dw ShootGoalCounterData - dw WarioGoalCounterData - dw GKTortoisePlatformData - dw NULL - -INCLUDE "gfx/pals/shoot.pal" - -EnemyGroupGfx96: - db $00 - - dw SpearheadGfx - dw ApplebyGfx - dw FutamoguGfx - dw SparkGfx - - dw DummyObjectData - dw ApplebyData - dw DummyObjectData - dw SparkHorizontalData - dw SparkVerticalData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/appleby.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/spark.pal" - -EnemyGroupGfx97: - db $00 - - dw MadSciensteinGfx - dw WebberGfx - dw TadpoleGfx - dw BrrrBearGfx - - dw MadSciensteinData - dw DummyObjectData - dw TadpoleSpawnerData - dw BrrrBearData - dw SeeingEyeDoorData - dw NULL - -INCLUDE "gfx/pals/mad_scienstein.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/tadpole.pal" -INCLUDE "gfx/pals/brrr_bear.pal" - -EnemyGroupGfx98: - db $00 - - dw SilkyGfx - dw WebberGfx - dw HebariiGfx - dw FireBotGfx - - dw SilkyData - dw DummyObjectData - dw HebariiData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/silky.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/hebarii.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx99: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw FutamoguGfx - dw TorchGfx - - dw SpearheadData - dw WebberData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/webber2.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx100: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw ClearGate2Gfx - dw BrrrBearGfx - - dw SpearheadData - dw DummyObjectData - dw ClearGate2Data - dw BrrrBearData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/clear_gate.pal" -INCLUDE "gfx/pals/brrr_bear.pal" - -EnemyGroupGfx101: - db $00 - - dw SpearheadGfx - dw BirdGfx - dw FutamoguGfx - dw SparkGfx - - dw DummyObjectData - dw BlueBirdData - dw DummyObjectData - dw SparkHorizontalData - dw SparkVerticalData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/blue_bird.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/spark.pal" - -EnemyGroupGfx102: - db $00 - - dw PrinceFroggyGfx - dw BirdGfx - dw ZombieGfx - dw ClearGate3Gfx - - dw GreyPrinceFroggyData - dw BlueBirdData - dw ZombieData - dw ClearGate3Data - dw NULL - -INCLUDE "gfx/pals/prince_froggy2.pal" -INCLUDE "gfx/pals/blue_bird.pal" -INCLUDE "gfx/pals/zombie.pal" -INCLUDE "gfx/pals/clear_gate.pal" - -EnemyGroupGfx103: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw RockGfx - dw TogebaGfx - - dw DummyObjectData - dw DummyObjectData - dw RockData - dw TogebaData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/rock.pal" -INCLUDE "gfx/pals/togeba.pal" - -EnemyGroupGfx104: - db $00 - - dw SpearheadGfx - dw BirdGfx - dw FutamoguGfx - dw BarrelGfx - - dw DummyObjectData - dw BlueBirdData - dw DummyObjectData - dw Barrel1Data - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/blue_bird.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx105: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw FutamoguGfx - dw BeamBotGfx - - dw DummyObjectData - dw DummyObjectData - dw DummyObjectData - dw BeamBotData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/beam_bot.pal" - -EnemyGroupGfx106: - db $00 - - dw Moon1Gfx - dw Moon2Gfx - dw SpearBotGfx - dw FireBotGfx - - dw MoonData - dw DummyObjectData - dw SpearBotData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/moon.pal" -INCLUDE "gfx/pals/spear_bot.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx107: - db $00 - - dw SpearheadGfx - dw ParaGoomGfx - dw HebariiGfx - dw BrrrBearGfx - - dw DummyObjectData - dw ParaGoomData - dw HebariiData - dw BrrrBearData - dw NULL - -INCLUDE "gfx/pals/prince_froggy2.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/hebarii.pal" -INCLUDE "gfx/pals/brrr_bear.pal" - -EnemyGroupGfx108: - db $00 - - dw SpearheadGfx - dw ParaGoomGfx - dw DoughnuteerGfx - dw TogebaGfx - - dw SpearheadData - dw ParaGoomData - dw DoughnuteerData - dw TogebaData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/doughnuteer.pal" -INCLUDE "gfx/pals/togeba.pal" - -EnemyGroupGfx109: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw SpearBotGfx - dw OmodonmekaGfx - - dw DummyObjectData - dw DummyObjectData - dw SpearBotData - dw OmodonmekaData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/spear_bot.pal" -INCLUDE "gfx/pals/omodonmeka.pal" - -EnemyGroupGfx110: - db $00 - - dw SpearheadGfx - dw HammerBotGfx - dw FutamoguGfx - dw FireBotGfx - - dw SpearheadData - dw HammerBotData - dw DummyObjectData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/hammer_bot.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx111: - db $00 - - dw SnakeGfx - dw ParaGoomGfx - dw FutamoguGfx - dw FireBotGfx - - dw SnakeData - dw ParaGoomData - dw DummyObjectData - dw FireBotData - dw NULL - -INCLUDE "gfx/pals/snake.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/fire_bot.pal" - -EnemyGroupGfx112: - db $00 - - dw PrinceFroggyGfx - dw PneumoGfx - dw WallCrackGfx - dw BarrelGfx - - dw GreyPrinceFroggyData - dw PneumoData - dw WallCrackOpenData - dw Barrel2Data - dw NULL - -INCLUDE "gfx/pals/prince_froggy2.pal" -INCLUDE "gfx/pals/pneumo.pal" -INCLUDE "gfx/pals/wall_crack.pal" -INCLUDE "gfx/pals/barrel.pal" - -EnemyGroupGfx113: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw RockGfx - dw TorchGfx - - dw DummyObjectData - dw DummyObjectData - dw RockData - dw TorchData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/rock.pal" -INCLUDE "gfx/pals/torch.pal" - -EnemyGroupGfx114: - db $00 - - dw StoveGfx - dw WebberGfx - dw HebariiGfx - dw TorchGfx - - dw StoveData - dw DummyObjectData - dw HebariiData - dw NULL - -INCLUDE "gfx/pals/stove.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/hebarii.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx115: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw HebariiGfx - dw TorchGfx - - dw SpearheadData - dw DummyObjectData - dw HebariiData - dw NULL - -INCLUDE "gfx/pals/spearhead.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/hebarii.pal" -INCLUDE "gfx/pals/dummy.pal" - -EnemyGroupGfx116: - db $00 - - dw SpearheadGfx - dw WebberGfx - dw FutamoguGfx - dw TeruteruGfx - - dw DummyObjectData - dw DummyObjectData - dw DummyObjectData - dw TeruteruData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/teruteru.pal" - -EnemyGroupGfx117: - db $00 - - dw SpearheadGfx - dw ParaGoomGfx - dw FutamoguGfx - dw TorchGfx - - dw DummyObjectData - dw ParaGoomData - dw NULL - -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/para_goom.pal" -INCLUDE "gfx/pals/dummy.pal" -INCLUDE "gfx/pals/dummy.pal" diff --git a/src/engine/bank30.asm b/src/engine/bank30.asm index 7a50593..5764875 100644 --- a/src/engine/bank30.asm +++ b/src/engine/bank30.asm @@ -1768,47 +1768,47 @@ LevelRooms_c0d1f: dw .room_29 .room_00 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_02 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_03 - room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_04 - room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_05 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_06 - room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_10 - room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_11 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_12 - room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_13 - room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_14 - room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_15 - room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_16 - room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_17 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_18 - room_data 3, 2, $3, $2, $7, $3, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_03, 0, ROOM_006 + room_data 3, 2, $3, $2, $7, $3, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_03, 0, ROOM_006 .room_19 - room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_21 - room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_23 - room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_26 - room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_27 - room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_29 - room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 LevelRooms_c0e03: dw .room_00 @@ -1843,47 +1843,47 @@ LevelRooms_c0e03: dw .room_29 .room_00 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_02 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_03 - room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_04 - room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_05 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_06 - room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_10 - room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_11 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_12 - room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_13 - room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_14 - room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_15 - room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_16 - room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_17 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_18 - room_data 3, 2, $3, $2, $7, $3, CAM_FREE, ENEMY_GROUP_005, ANIMATED_TILES_GROUP_03, 0, ROOM_008 + room_data 3, 2, $3, $2, $7, $3, CAM_FREE, OBJECT_GROUP_005, ANIMATED_TILES_GROUP_03, 0, ROOM_008 .room_19 - room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_21 - room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_23 - room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 + room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_001 .room_26 - room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_27 - room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_29 - room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 LevelRooms_c0ee7: dw .room_00 @@ -1918,47 +1918,47 @@ LevelRooms_c0ee7: dw .room_29 .room_00 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_02 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_03 - room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_04 - room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_05 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_06 - room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_10 - room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_11 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_12 - room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_13 - room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_14 - room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_15 - room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_16 - room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_17 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_18 - room_data 3, 2, $3, $2, $7, $3, CAM_FREE, ENEMY_GROUP_005, ANIMATED_TILES_GROUP_03, 0, ROOM_008 + room_data 3, 2, $3, $2, $7, $3, CAM_FREE, OBJECT_GROUP_005, ANIMATED_TILES_GROUP_03, 0, ROOM_008 .room_19 - room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_21 - room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_23 - room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 + room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_003 .room_26 - room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 + room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_010 .room_27 - room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_29 - room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 LevelRooms_c0fcb: dw .room_00 @@ -1993,47 +1993,47 @@ LevelRooms_c0fcb: dw .room_29 .room_00 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_02 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_03 - room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_04 - room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_05 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_06 - room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS, ENEMY_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS, OBJECT_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_10 - room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_11 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_12 - room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_13 - room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_14 - room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_15 - room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_16 - room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_17 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_18 - room_data 3, 2, $3, $2, $7, $3, CAM_FREE, ENEMY_GROUP_004, ANIMATED_TILES_GROUP_03, 0, ROOM_007 + room_data 3, 2, $3, $2, $7, $3, CAM_FREE, OBJECT_GROUP_004, ANIMATED_TILES_GROUP_03, 0, ROOM_007 .room_19 - room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_21 - room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_23 - room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_26 - room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_27 - room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_29 - room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 LevelRooms_c10af: dw .room_00 @@ -2068,47 +2068,47 @@ LevelRooms_c10af: dw .room_29 .room_00 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_02 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_03 - room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_04 - room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_05 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_06 - room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS, ENEMY_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS, OBJECT_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_10 - room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_11 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_12 - room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_13 - room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_14 - room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_15 - room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_16 - room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_17 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_18 - room_data 3, 2, $3, $2, $7, $3, CAM_FREE, ENEMY_GROUP_006, ANIMATED_TILES_GROUP_03, 0, ROOM_009 + room_data 3, 2, $3, $2, $7, $3, CAM_FREE, OBJECT_GROUP_006, ANIMATED_TILES_GROUP_03, 0, ROOM_009 .room_19 - room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_21 - room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_23 - room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 + room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_002 .room_26 - room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_27 - room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_29 - room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 LevelRooms_c1193: dw .room_00 @@ -2143,47 +2143,47 @@ LevelRooms_c1193: dw .room_29 .room_00 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_02 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_03 - room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 9, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_04 - room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 2, 2, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_05 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_020, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_06 - room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 1, 0, $1, $0, $2, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_036, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_10 - room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_11 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_12 - room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 4, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_13 - room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 7, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_14 - room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 4, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_15 - room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 9, 2, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_16 - room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 2, 0, $3, $0, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_17 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_18 - room_data 3, 2, $3, $2, $7, $3, CAM_FREE, ENEMY_GROUP_006, ANIMATED_TILES_GROUP_03, 0, ROOM_009 + room_data 3, 2, $3, $2, $7, $3, CAM_FREE, OBJECT_GROUP_006, ANIMATED_TILES_GROUP_03, 0, ROOM_009 .room_19 - room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 3, 0, $1, $0, $6, $3, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_21 - room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 7, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_23 - room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 + room_data 8, 1, $3, $0, $a, $7, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_009, ANIMATED_TILES_GROUP_01, 0, ROOM_004 .room_26 - room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 + room_data 2, 1, $2, $1, $3, $2, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_114, ANIMATED_TILES_GROUP_01, 0, ROOM_011 .room_27 - room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 3, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 .room_29 - room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 + room_data 5, 1, $2, $1, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_02, 1, ROOM_005 LevelRooms_c1277: dw .room_00 @@ -2218,47 +2218,47 @@ LevelRooms_c1277: dw NULL .room_00 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_01 - room_data 5, 0, $2, $0, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 5, 0, $2, $0, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_02 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_03 - room_data 6, 2, $3, $2, $7, $6, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_053, ANIMATED_TILES_GROUP_03, 0, ROOM_014 + room_data 6, 2, $3, $2, $7, $6, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_053, ANIMATED_TILES_GROUP_03, 0, ROOM_014 .room_04 - room_data 9, 1, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 9, 1, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_05 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_06 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_08 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS, ENEMY_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_014 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS, OBJECT_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_014 .room_09 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_087, ANIMATED_TILES_GROUP_11, 0, ROOM_014 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_087, ANIMATED_TILES_GROUP_11, 0, ROOM_014 .room_10 - room_data 5, 1, $2, $0, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 5, 1, $2, $0, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_12 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_13 - room_data 8, 1, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 8, 1, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_14 - room_data 7, 1, $2, $1, $8, $7, CAM_FREE, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_03, 0, ROOM_014 + room_data 7, 1, $2, $1, $8, $7, CAM_FREE, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_03, 0, ROOM_014 .room_15 - room_data 0, 2, $3, $2, $6, $0, CAM_TRANSITIONS, ENEMY_GROUP_028, ANIMATED_TILES_GROUP_04, 0, ROOM_015 + room_data 0, 2, $3, $2, $6, $0, CAM_TRANSITIONS, OBJECT_GROUP_028, ANIMATED_TILES_GROUP_04, 0, ROOM_015 .room_16 - room_data 2, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 2, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_17 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_19 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_25 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_26 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_053, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_27 - room_data 8, 0, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 8, 0, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_28 - room_data 9, 0, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 9, 0, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 LevelRooms_c135b: dw .room_00 @@ -2293,47 +2293,47 @@ LevelRooms_c135b: dw NULL .room_00 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_01 - room_data 5, 0, $2, $0, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 5, 0, $2, $0, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_02 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_03 - room_data 6, 2, $3, $2, $7, $6, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_014 + room_data 6, 2, $3, $2, $7, $6, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_014 .room_04 - room_data 9, 1, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 9, 1, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_05 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_06 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_08 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS, ENEMY_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_014 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS, OBJECT_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_014 .room_09 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_087, ANIMATED_TILES_GROUP_11, 0, ROOM_014 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_087, ANIMATED_TILES_GROUP_11, 0, ROOM_014 .room_10 - room_data 5, 1, $2, $0, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 5, 1, $2, $0, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_12 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_13 - room_data 8, 1, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 8, 1, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_14 - room_data 7, 1, $2, $1, $8, $7, CAM_FREE, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_03, 0, ROOM_014 + room_data 7, 1, $2, $1, $8, $7, CAM_FREE, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_03, 0, ROOM_014 .room_15 - room_data 0, 2, $3, $2, $6, $0, CAM_TRANSITIONS, ENEMY_GROUP_028, ANIMATED_TILES_GROUP_04, 0, ROOM_015 + room_data 0, 2, $3, $2, $6, $0, CAM_TRANSITIONS, OBJECT_GROUP_028, ANIMATED_TILES_GROUP_04, 0, ROOM_015 .room_16 - room_data 2, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 2, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_17 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_19 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_25 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_26 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_00, 0, ROOM_012 .room_27 - room_data 8, 0, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 8, 0, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 .room_28 - room_data 9, 0, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 + room_data 9, 0, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_014 LevelRooms_c143f: dw .room_00 @@ -2368,47 +2368,47 @@ LevelRooms_c143f: dw NULL .room_00 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_01 - room_data 5, 0, $2, $0, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 5, 0, $2, $0, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_02 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_03 - room_data 6, 2, $3, $2, $7, $6, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_054, ANIMATED_TILES_GROUP_03, 0, ROOM_017 + room_data 6, 2, $3, $2, $7, $6, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_054, ANIMATED_TILES_GROUP_03, 0, ROOM_017 .room_04 - room_data 9, 1, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 9, 1, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_05 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_06 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_08 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS, ENEMY_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_026 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS, OBJECT_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_026 .room_09 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_087, ANIMATED_TILES_GROUP_11, 0, ROOM_026 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_087, ANIMATED_TILES_GROUP_11, 0, ROOM_026 .room_10 - room_data 5, 1, $2, $0, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 5, 1, $2, $0, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_12 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_13 - room_data 8, 1, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 8, 1, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_14 - room_data 7, 1, $2, $1, $8, $7, CAM_FREE, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_03, 0, ROOM_017 + room_data 7, 1, $2, $1, $8, $7, CAM_FREE, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_03, 0, ROOM_017 .room_15 - room_data 0, 2, $3, $2, $6, $0, CAM_TRANSITIONS, ENEMY_GROUP_028, ANIMATED_TILES_GROUP_04, 0, ROOM_015 + room_data 0, 2, $3, $2, $6, $0, CAM_TRANSITIONS, OBJECT_GROUP_028, ANIMATED_TILES_GROUP_04, 0, ROOM_015 .room_16 - room_data 2, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 2, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_17 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_19 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_25 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_26 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_054, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_27 - room_data 8, 0, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 8, 0, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_28 - room_data 9, 0, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 9, 0, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 LevelRooms_c1523: dw .room_00 @@ -2443,47 +2443,47 @@ LevelRooms_c1523: dw NULL .room_00 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_01 - room_data 5, 0, $2, $0, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 5, 0, $2, $0, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_02 - room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 6, 0, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_03 - room_data 6, 2, $3, $2, $7, $6, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_03, 0, ROOM_017 + room_data 6, 2, $3, $2, $7, $6, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_03, 0, ROOM_017 .room_04 - room_data 9, 1, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 9, 1, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_05 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_06 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_08 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS, ENEMY_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_026 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS, OBJECT_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_026 .room_09 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_087, ANIMATED_TILES_GROUP_11, 0, ROOM_026 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_087, ANIMATED_TILES_GROUP_11, 0, ROOM_026 .room_10 - room_data 5, 1, $2, $0, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 5, 1, $2, $0, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_12 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_058, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_13 - room_data 8, 1, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 8, 1, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_14 - room_data 7, 1, $2, $1, $8, $7, CAM_FREE, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_03, 0, ROOM_017 + room_data 7, 1, $2, $1, $8, $7, CAM_FREE, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_03, 0, ROOM_017 .room_15 - room_data 0, 2, $3, $2, $6, $0, CAM_TRANSITIONS, ENEMY_GROUP_028, ANIMATED_TILES_GROUP_04, 0, ROOM_015 + room_data 0, 2, $3, $2, $6, $0, CAM_TRANSITIONS, OBJECT_GROUP_028, ANIMATED_TILES_GROUP_04, 0, ROOM_015 .room_16 - room_data 2, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 2, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_17 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_19 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_25 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_26 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_00, 0, ROOM_013 .room_27 - room_data 8, 0, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 8, 0, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 .room_28 - room_data 9, 0, $2, $0, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 + room_data 9, 0, $2, $0, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_00, 0, ROOM_017 LevelRooms_c1607: dw .room_00 @@ -2518,41 +2518,41 @@ LevelRooms_c1607: dw .room_29 .room_00 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 .room_03 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_00, 0, ROOM_025 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_00, 0, ROOM_025 .room_07 - room_data 7, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 + room_data 7, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 .room_09 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_10 - room_data 9, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 + room_data 9, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 .room_11 - room_data 2, 2, $3, $2, $5, $2, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 2, 2, $3, $2, $5, $2, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_14 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_15 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 .room_16 .room_17 .room_18 .room_19 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 .room_20 .room_21 - room_data 6, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 + room_data 6, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 .room_22 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 .room_23 - room_data 3, 2, $3, $2, $5, $2, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 3, 2, $3, $2, $5, $2, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_25 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 .room_26 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_067 .room_27 - room_data 9, 2, $3, $2, $a, $9, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_11, 0, ROOM_025 + room_data 9, 2, $3, $2, $a, $9, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_11, 0, ROOM_025 .room_29 - room_data 7, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 + room_data 7, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 LevelRooms_c16c3: dw .room_00 @@ -2587,41 +2587,41 @@ LevelRooms_c16c3: dw .room_29 .room_00 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 .room_03 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_00, 0, ROOM_025 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_00, 0, ROOM_025 .room_07 - room_data 7, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 + room_data 7, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 .room_09 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_10 - room_data 9, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 + room_data 9, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 .room_11 - room_data 2, 2, $3, $2, $5, $2, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 2, 2, $3, $2, $5, $2, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_14 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_15 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 .room_16 .room_17 .room_18 .room_19 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 .room_20 .room_21 - room_data 6, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 + room_data 6, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_021, ANIMATED_TILES_GROUP_00, 0, ROOM_074 .room_22 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 .room_23 - room_data 3, 2, $3, $2, $5, $2, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 3, 2, $3, $2, $5, $2, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_25 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 .room_26 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_016 .room_27 - room_data 9, 2, $3, $2, $a, $9, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_11, 0, ROOM_025 + room_data 9, 2, $3, $2, $a, $9, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_11, 0, ROOM_025 .room_29 - room_data 7, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 + room_data 7, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 LevelRooms_c177f: dw .room_00 @@ -2656,41 +2656,41 @@ LevelRooms_c177f: dw .room_29 .room_00 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 .room_03 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_00, 0, ROOM_025 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_00, 0, ROOM_025 .room_07 - room_data 7, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 + room_data 7, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 .room_09 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_10 - room_data 9, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 + room_data 9, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 .room_11 - room_data 2, 2, $3, $2, $5, $2, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 2, 2, $3, $2, $5, $2, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_14 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_15 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 .room_16 .room_17 .room_18 .room_19 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 .room_20 .room_21 - room_data 6, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 + room_data 6, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 .room_22 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 .room_23 - room_data 3, 2, $3, $2, $5, $2, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 3, 2, $3, $2, $5, $2, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_25 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 .room_26 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_068 .room_27 - room_data 9, 2, $3, $2, $a, $9, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_11, 0, ROOM_025 + room_data 9, 2, $3, $2, $a, $9, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_11, 0, ROOM_025 .room_29 - room_data 7, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 + room_data 7, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 LevelRooms_c183b: dw .room_00 @@ -2725,41 +2725,41 @@ LevelRooms_c183b: dw .room_29 .room_00 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 .room_03 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_00, 0, ROOM_025 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_00, 0, ROOM_025 .room_07 - room_data 7, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 + room_data 7, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 .room_09 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_10 - room_data 9, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 + room_data 9, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 .room_11 - room_data 2, 2, $3, $2, $5, $2, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 2, 2, $3, $2, $5, $2, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_14 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_15 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 .room_16 .room_17 .room_18 .room_19 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 .room_20 .room_21 - room_data 6, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 + room_data 6, 0, $2, $0, $a, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_056, ANIMATED_TILES_GROUP_00, 0, ROOM_075 .room_22 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 .room_23 - room_data 3, 2, $3, $2, $5, $2, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 3, 2, $3, $2, $5, $2, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_25 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 .room_26 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_012, ANIMATED_TILES_GROUP_03, 0, ROOM_060 .room_27 - room_data 9, 2, $3, $2, $a, $9, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_11, 0, ROOM_025 + room_data 9, 2, $3, $2, $a, $9, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_11, 0, ROOM_025 .room_29 - room_data 7, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 + room_data 7, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_048, ANIMATED_TILES_GROUP_11, 0, ROOM_061 LevelRooms_c18f7: dw .room_00 @@ -2794,45 +2794,45 @@ LevelRooms_c18f7: dw .room_29 .room_00 - room_data 2, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 + room_data 2, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 .room_01 - room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_03 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_04 - room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_05 - room_data 9, 2, $3, $2, $a, $9, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 9, 2, $3, $2, $a, $9, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_07 - room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_08 - room_data 0, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_018 + room_data 0, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_018 .room_09 - room_data 6, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_018 + room_data 6, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_018 .room_10 - room_data 8, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 + room_data 8, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 .room_14 - room_data 5, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_018 + room_data 5, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_018 .room_15 - room_data 4, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_018 + room_data 4, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_018 .room_16 - room_data 9, 0, $2, $0, $a, $9, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_069, ANIMATED_TILES_GROUP_13, 0, ROOM_018 + room_data 9, 0, $2, $0, $a, $9, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_069, ANIMATED_TILES_GROUP_13, 0, ROOM_018 .room_18 - room_data 3, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_19 - room_data 7, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_018 + room_data 7, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_018 .room_20 - room_data 3, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 + room_data 3, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 .room_21 - room_data 4, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 + room_data 4, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 .room_22 - room_data 7, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 + room_data 7, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 .room_23 - room_data 8, 1, $3, $1, $9, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_139, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 8, 1, $3, $1, $9, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_139, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_24 - room_data 1, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 + room_data 1, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 .room_29 - room_data 5, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 + room_data 5, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_018 LevelRooms_c19d3: dw .room_00 @@ -2867,45 +2867,45 @@ LevelRooms_c19d3: dw .room_29 .room_00 - room_data 2, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 + room_data 2, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 .room_01 - room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_03 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_04 - room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_05 - room_data 9, 2, $3, $2, $a, $9, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 9, 2, $3, $2, $a, $9, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_07 - room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_08 - room_data 0, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_102 + room_data 0, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_102 .room_09 - room_data 6, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_102 + room_data 6, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_102 .room_10 - room_data 8, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 + room_data 8, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 .room_14 - room_data 5, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_102 + room_data 5, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_102 .room_15 - room_data 4, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_102 + room_data 4, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_102 .room_16 - room_data 9, 0, $2, $0, $a, $9, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_069, ANIMATED_TILES_GROUP_13, 0, ROOM_102 + room_data 9, 0, $2, $0, $a, $9, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_069, ANIMATED_TILES_GROUP_13, 0, ROOM_102 .room_18 - room_data 3, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_19 - room_data 7, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_102 + room_data 7, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_102 .room_20 - room_data 3, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 + room_data 3, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 .room_21 - room_data 4, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 + room_data 4, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 .room_22 - room_data 7, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 + room_data 7, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 .room_23 - room_data 8, 1, $3, $1, $9, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_139, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 8, 1, $3, $1, $9, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_139, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_24 - room_data 1, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 + room_data 1, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 .room_29 - room_data 5, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 + room_data 5, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_102 LevelRooms_c1aaf: dw .room_00 @@ -2940,45 +2940,45 @@ LevelRooms_c1aaf: dw .room_29 .room_00 - room_data 2, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 + room_data 2, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 .room_01 - room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_03 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_04 - room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_05 - room_data 9, 2, $3, $2, $a, $9, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 9, 2, $3, $2, $a, $9, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_07 - room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_08 - room_data 0, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_103 + room_data 0, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_103 .room_09 - room_data 6, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_103 + room_data 6, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_103 .room_10 - room_data 8, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 + room_data 8, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 .room_14 - room_data 5, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_103 + room_data 5, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_103 .room_15 - room_data 4, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_103 + room_data 4, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_103 .room_16 - room_data 9, 0, $2, $0, $a, $9, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_069, ANIMATED_TILES_GROUP_13, 0, ROOM_103 + room_data 9, 0, $2, $0, $a, $9, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_069, ANIMATED_TILES_GROUP_13, 0, ROOM_103 .room_18 - room_data 3, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_19 - room_data 7, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_103 + room_data 7, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_103 .room_20 - room_data 3, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 + room_data 3, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 .room_21 - room_data 4, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 + room_data 4, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 .room_22 - room_data 7, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 + room_data 7, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 .room_23 - room_data 8, 1, $3, $1, $9, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_139, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 8, 1, $3, $1, $9, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_139, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_24 - room_data 1, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 + room_data 1, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 .room_29 - room_data 5, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 + room_data 5, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_103 LevelRooms_c1b8b: dw .room_00 @@ -3013,45 +3013,45 @@ LevelRooms_c1b8b: dw .room_29 .room_00 - room_data 2, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 + room_data 2, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 .room_01 - room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_03 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_04 - room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_05 - room_data 9, 2, $3, $2, $a, $9, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 9, 2, $3, $2, $a, $9, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_07 - room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_08 - room_data 0, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_104 + room_data 0, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_104 .room_09 - room_data 6, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_104 + room_data 6, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_104 .room_10 - room_data 8, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 + room_data 8, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 .room_14 - room_data 5, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_104 + room_data 5, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_104 .room_15 - room_data 4, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_104 + room_data 4, 1, $2, $1, $5, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_06, 0, ROOM_104 .room_16 - room_data 9, 0, $2, $0, $a, $9, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_069, ANIMATED_TILES_GROUP_13, 0, ROOM_104 + room_data 9, 0, $2, $0, $a, $9, CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_069, ANIMATED_TILES_GROUP_13, 0, ROOM_104 .room_18 - room_data 3, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_074, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_19 - room_data 7, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_104 + room_data 7, 1, $2, $1, $8, $5, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_13, 0, ROOM_104 .room_20 - room_data 3, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 + room_data 3, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 .room_21 - room_data 4, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 + room_data 4, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 .room_22 - room_data 7, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 + room_data 7, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 .room_23 - room_data 8, 1, $3, $1, $9, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_139, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 8, 1, $3, $1, $9, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_139, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_24 - room_data 1, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 + room_data 1, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 .room_29 - room_data 5, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 + room_data 5, 0, $1, $0, $9, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_088, ANIMATED_TILES_GROUP_06, 0, ROOM_104 LevelRooms_c1c67: dw .room_00 @@ -3086,39 +3086,39 @@ LevelRooms_c1c67: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_04 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_07 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_09 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_10 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_12 - room_data 7, 0, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 7, 0, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_13 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_14 - room_data 0, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 0, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_17 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_20 - room_data 4, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 4, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_21 - room_data 6, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 6, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_23 - room_data 4, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 4, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_25 - room_data 2, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 2, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_26 - room_data 1, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 1, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_27 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_28 - room_data 7, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 7, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_29 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_021 LevelRooms_c1d2b: dw .room_00 @@ -3153,39 +3153,39 @@ LevelRooms_c1d2b: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_04 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_07 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_09 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_10 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_12 - room_data 7, 0, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 7, 0, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_13 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_14 - room_data 0, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 0, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_17 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_20 - room_data 4, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 4, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_21 - room_data 6, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 6, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_23 - room_data 4, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 4, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_25 - room_data 2, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 2, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_26 - room_data 1, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 1, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_27 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_28 - room_data 7, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 7, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_29 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_113 LevelRooms_c1def: dw .room_00 @@ -3220,39 +3220,39 @@ LevelRooms_c1def: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_04 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_07 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_09 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_10 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_12 - room_data 7, 0, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 7, 0, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_13 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_14 - room_data 0, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 0, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_17 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_20 - room_data 4, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 4, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_21 - room_data 6, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 6, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_23 - room_data 4, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 4, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_25 - room_data 2, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 2, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_26 - room_data 1, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 1, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_27 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_020 .room_28 - room_data 7, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 7, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_29 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_114 LevelRooms_c1eb3: dw .room_00 @@ -3287,39 +3287,39 @@ LevelRooms_c1eb3: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_04 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_07 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_09 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_10 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_12 - room_data 7, 0, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 7, 0, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_13 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_14 - room_data 0, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 0, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_17 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_20 - room_data 4, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 4, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_21 - room_data 6, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 6, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_23 - room_data 4, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 4, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_25 - room_data 2, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 2, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_26 - room_data 1, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 + room_data 1, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_021 .room_27 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_28 - room_data 7, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 7, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_29 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_021 LevelRooms_c1f77: dw .room_00 @@ -3354,39 +3354,39 @@ LevelRooms_c1f77: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_04 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_07 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_09 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_10 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_12 - room_data 7, 0, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 7, 0, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_13 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_14 - room_data 0, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 0, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_17 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_20 - room_data 4, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 4, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_21 - room_data 6, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 6, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_23 - room_data 4, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 4, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_25 - room_data 2, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 2, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_26 - room_data 1, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 + room_data 1, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_113 .room_27 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_28 - room_data 7, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 7, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_07, 0, ROOM_113 .room_29 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_113 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_113 LevelRooms_c203b: dw .room_00 @@ -3421,39 +3421,39 @@ LevelRooms_c203b: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_04 - room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, ENEMY_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 7, 2, $3, $2, $8, $7, CAM_TRANSITIONS | CAM_BORDER_LEFT, OBJECT_GROUP_091, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_07 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_09 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_10 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_12 - room_data 7, 0, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 7, 0, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_13 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_093, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_14 - room_data 0, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 0, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_17 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_20 - room_data 4, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 4, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_21 - room_data 6, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 6, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_23 - room_data 4, 2, $3, $2, $7, $4, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 4, 2, $3, $2, $7, $4, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_25 - room_data 2, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 2, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_26 - room_data 1, 2, $3, $2, $4, $0, CAM_FREE, ENEMY_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 + room_data 1, 2, $3, $2, $4, $0, CAM_FREE, OBJECT_GROUP_003, ANIMATED_TILES_GROUP_04, 0, ROOM_114 .room_27 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_018, ANIMATED_TILES_GROUP_06, 0, ROOM_115 .room_28 - room_data 7, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 7, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_07, 0, ROOM_114 .room_29 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_114 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_07, 0, ROOM_114 LevelRooms_c20ff: dw .room_00 @@ -3488,40 +3488,40 @@ LevelRooms_c20ff: dw .room_29 .room_00 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 .room_03 - room_data 2, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 2, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_05 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 .room_10 .room_15 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 .room_11 - room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_13 - room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 + room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 .room_16 - room_data 6, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 6, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_20 - room_data 4, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 4, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_21 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_22 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 .room_23 - room_data 5, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 5, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_24 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_25 - room_data 3, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 3, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_26 - room_data 6, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_066 + room_data 6, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_066 .room_27 - room_data 1, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 1, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_28 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_022 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 LevelRooms_c21c3: dw .room_00 @@ -3556,40 +3556,40 @@ LevelRooms_c21c3: dw .room_29 .room_00 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_03 - room_data 2, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 2, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_05 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_10 .room_15 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_11 - room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_13 - room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 + room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 .room_16 - room_data 6, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 6, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_20 - room_data 4, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 4, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_21 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_22 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_23 - room_data 5, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 5, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_24 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_25 - room_data 3, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 3, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_26 - room_data 6, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_066 + room_data 6, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_066 .room_27 - room_data 1, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 1, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_28 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 LevelRooms_c2287: dw .room_00 @@ -3624,40 +3624,40 @@ LevelRooms_c2287: dw .room_29 .room_00 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_03 - room_data 2, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 2, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_05 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_10 .room_15 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_11 - room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_13 - room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 + room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 .room_16 - room_data 6, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 + room_data 6, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 .room_20 - room_data 4, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 4, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_21 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 .room_22 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_23 - room_data 5, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 + room_data 5, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 .room_24 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_25 - room_data 3, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 3, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_26 - room_data 6, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_107 + room_data 6, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_107 .room_27 - room_data 1, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 1, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_28 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_106 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 LevelRooms_c234b: dw .room_00 @@ -3692,40 +3692,40 @@ LevelRooms_c234b: dw .room_29 .room_00 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 .room_03 - room_data 2, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 2, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_05 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 .room_10 .room_15 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 .room_11 - room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_13 - room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 + room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 .room_16 - room_data 6, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 6, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_20 - room_data 4, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 4, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_21 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_22 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 .room_23 - room_data 5, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 5, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_24 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_25 - room_data 3, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 3, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_26 - room_data 6, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_066 + room_data 6, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_066 .room_27 - room_data 1, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 1, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_28 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_108 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 LevelRooms_c240f: dw .room_00 @@ -3760,40 +3760,40 @@ LevelRooms_c240f: dw .room_29 .room_00 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_03 - room_data 2, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 2, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_05 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_10 .room_15 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_11 - room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_13 - room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 + room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 .room_16 - room_data 6, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 6, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_20 - room_data 4, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 4, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_21 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_22 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_23 - room_data 5, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 + room_data 5, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_066 .room_24 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_25 - room_data 3, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 3, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_26 - room_data 6, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_066 + room_data 6, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_066 .room_27 - room_data 1, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 1, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_28 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 LevelRooms_c24d3: dw .room_00 @@ -3828,40 +3828,40 @@ LevelRooms_c24d3: dw .room_29 .room_00 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_03 - room_data 2, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 2, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_05 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_10 .room_15 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_11 - room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 8, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_13 - room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 + room_data 5, 0, $2, $0, $6, $5, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_086, ANIMATED_TILES_GROUP_17, 0, ROOM_105 .room_16 - room_data 6, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 + room_data 6, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 .room_20 - room_data 4, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 4, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_21 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 .room_22 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_23 - room_data 5, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 + room_data 5, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_107 .room_24 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_25 - room_data 3, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 3, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_26 - room_data 6, 1, $2, $0, $9, $6, CAM_FREE, ENEMY_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_107 + room_data 6, 1, $2, $0, $9, $6, CAM_FREE, OBJECT_GROUP_063, ANIMATED_TILES_GROUP_01, 0, ROOM_107 .room_27 - room_data 1, 2, $3, $2, $5, $0, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 1, 2, $3, $2, $5, $0, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_17, 0, ROOM_050 .room_28 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_17, 0, ROOM_109 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, ENEMY_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 + room_data 9, 2, $3, $2, $a, $8, CAM_TRANSITIONS, OBJECT_GROUP_064, ANIMATED_TILES_GROUP_17, 0, ROOM_050 LevelRooms_c2597: dw .room_00 @@ -3896,48 +3896,48 @@ LevelRooms_c2597: dw .room_29 .room_00 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 .room_01 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_04 - room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_05, 0, ROOM_062 + room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_05, 0, ROOM_062 .room_05 - room_data 7, 2, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 7, 2, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_06 - room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_07 - room_data 7, 0, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 7, 0, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_08 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 .room_09 - room_data 5, 1, $3, $0, $6, $5, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 5, 1, $3, $0, $6, $5, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_10 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 .room_11 - room_data 6, 2, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 6, 2, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_14 - room_data 8, 0, $3, $0, $9, $8, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 + room_data 8, 0, $3, $0, $9, $8, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 .room_15 - room_data 9, 0, $2, $0, $a, $9, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_055, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 9, 0, $2, $0, $a, $9, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_055, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_19 .room_29 - room_data 7, 1, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 7, 1, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_20 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 .room_21 - room_data 6, 0, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 6, 0, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_22 - room_data 8, 2, $3, $0, $9, $8, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 + room_data 8, 2, $3, $0, $9, $8, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 .room_24 - room_data 5, 2, $3, $0, $6, $5, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 5, 2, $3, $0, $6, $5, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_25 - room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_26 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_023, ANIMATED_TILES_GROUP_05, 0, ROOM_023 .room_27 - room_data 5, 0, $3, $0, $6, $5, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 5, 0, $3, $0, $6, $5, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_28 - room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 + room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 LevelRooms_c267b: dw .room_00 @@ -3972,48 +3972,48 @@ LevelRooms_c267b: dw .room_29 .room_00 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 .room_01 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_04 - room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_05, 0, ROOM_062 + room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_05, 0, ROOM_062 .room_05 - room_data 7, 2, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 7, 2, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_06 - room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 1, 2, $3, $2, $2, $1, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_07 - room_data 7, 0, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 7, 0, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_08 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 .room_09 - room_data 5, 1, $3, $0, $6, $5, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 5, 1, $3, $0, $6, $5, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_10 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 .room_11 - room_data 6, 2, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 6, 2, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_14 - room_data 8, 0, $3, $0, $9, $8, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 + room_data 8, 0, $3, $0, $9, $8, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 .room_15 - room_data 9, 0, $2, $0, $a, $9, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_055, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 9, 0, $2, $0, $a, $9, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_055, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_19 .room_29 - room_data 7, 1, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 7, 1, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_20 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 .room_21 - room_data 6, 0, $3, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 6, 0, $3, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_22 - room_data 8, 2, $3, $0, $9, $8, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 + room_data 8, 2, $3, $0, $9, $8, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 .room_24 - room_data 5, 2, $3, $0, $6, $5, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 5, 2, $3, $0, $6, $5, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_25 - room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_26 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_061, ANIMATED_TILES_GROUP_05, 0, ROOM_042 .room_27 - room_data 5, 0, $3, $0, $6, $5, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 + room_data 5, 0, $3, $0, $6, $5, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_05, 0, ROOM_024 .room_28 - room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 + room_data 2, 2, $3, $2, $3, $2, CAM_TRANSITIONS, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_05, 0, ROOM_062 LevelRooms_c275f: dw .room_00 @@ -4048,48 +4048,48 @@ LevelRooms_c275f: dw .room_29 .room_00 - room_data 1, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 1, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_02 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_03 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_04 - room_data 8, 2, $3, $2, $9, $8, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 8, 2, $3, $2, $9, $8, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_06 - room_data 5, 0, $2, $0, $6, $5, CAM_YSCROLL, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 5, 0, $2, $0, $6, $5, CAM_YSCROLL, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_07 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_09 - room_data 3, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 3, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_10 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_11 .room_12 .room_13 .room_14 - room_data 4, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 4, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_15 - room_data 5, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 5, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_16 - room_data 5, 1, $2, $0, $6, $5, CAM_YSCROLL, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 5, 1, $2, $0, $6, $5, CAM_YSCROLL, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_17 - room_data 2, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 2, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_18 - room_data 9, 1, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 9, 1, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_19 - room_data 8, 1, $2, $0, $9, $8, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 1, $2, $0, $9, $8, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_20 - room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_21 - room_data 8, 0, $2, $0, $9, $8, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 0, $2, $0, $9, $8, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_22 - room_data 7, 1, $2, $0, $8, $7, CAM_YSCROLL, ENEMY_GROUP_059, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 7, 1, $2, $0, $8, $7, CAM_YSCROLL, OBJECT_GROUP_059, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_26 - room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_154 + room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_154 .room_28 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_29 - room_data 0, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 0, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 LevelRooms_c283b: dw .room_00 @@ -4124,48 +4124,48 @@ LevelRooms_c283b: dw .room_29 .room_00 - room_data 1, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 1, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_02 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_03 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_04 - room_data 8, 2, $3, $2, $9, $8, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 8, 2, $3, $2, $9, $8, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_06 - room_data 5, 0, $2, $0, $6, $5, CAM_YSCROLL, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 5, 0, $2, $0, $6, $5, CAM_YSCROLL, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_07 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_09 - room_data 3, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 3, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_10 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_11 .room_12 .room_13 .room_14 - room_data 4, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 4, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_15 - room_data 5, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 5, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_16 - room_data 5, 1, $2, $0, $6, $5, CAM_YSCROLL, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 5, 1, $2, $0, $6, $5, CAM_YSCROLL, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_17 - room_data 2, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 2, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_18 - room_data 9, 1, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 9, 1, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_19 - room_data 8, 1, $2, $0, $9, $8, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 1, $2, $0, $9, $8, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_20 - room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_21 - room_data 8, 0, $2, $0, $9, $8, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 0, $2, $0, $9, $8, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_22 - room_data 7, 1, $2, $0, $8, $7, CAM_YSCROLL, ENEMY_GROUP_059, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 7, 1, $2, $0, $8, $7, CAM_YSCROLL, OBJECT_GROUP_059, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_26 - room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_154 + room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_154 .room_28 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_027 .room_29 - room_data 0, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 + room_data 0, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_027 LevelRooms_c2917: dw .room_00 @@ -4200,48 +4200,48 @@ LevelRooms_c2917: dw .room_29 .room_00 - room_data 1, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 1, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_02 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_03 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_04 - room_data 8, 2, $3, $2, $9, $8, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 8, 2, $3, $2, $9, $8, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_06 - room_data 5, 0, $2, $0, $6, $5, CAM_YSCROLL, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 5, 0, $2, $0, $6, $5, CAM_YSCROLL, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_07 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_09 - room_data 3, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 3, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_10 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_11 .room_12 .room_13 .room_14 - room_data 4, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 4, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_15 - room_data 5, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 5, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_16 - room_data 5, 1, $2, $0, $6, $5, CAM_YSCROLL, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 5, 1, $2, $0, $6, $5, CAM_YSCROLL, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_17 - room_data 2, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 2, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_18 - room_data 9, 1, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 9, 1, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_19 - room_data 8, 1, $2, $0, $9, $8, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 1, $2, $0, $9, $8, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_20 - room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_21 - room_data 8, 0, $2, $0, $9, $8, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 0, $2, $0, $9, $8, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_22 - room_data 7, 1, $2, $0, $8, $7, CAM_YSCROLL, ENEMY_GROUP_059, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 7, 1, $2, $0, $8, $7, CAM_YSCROLL, OBJECT_GROUP_059, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_26 - room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_154 + room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_154 .room_28 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_065, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_29 - room_data 0, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 0, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 LevelRooms_c29f3: dw .room_00 @@ -4276,48 +4276,48 @@ LevelRooms_c29f3: dw .room_29 .room_00 - room_data 1, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 1, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_02 - room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 2, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_03 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_04 - room_data 8, 2, $3, $2, $9, $8, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 8, 2, $3, $2, $9, $8, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_06 - room_data 5, 0, $2, $0, $6, $5, CAM_YSCROLL, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 5, 0, $2, $0, $6, $5, CAM_YSCROLL, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_07 - room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 1, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_09 - room_data 3, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 3, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_10 - room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 3, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_11 .room_12 .room_13 .room_14 - room_data 4, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 4, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_15 - room_data 5, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 5, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_16 - room_data 5, 1, $2, $0, $6, $5, CAM_YSCROLL, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 5, 1, $2, $0, $6, $5, CAM_YSCROLL, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_17 - room_data 2, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 2, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_18 - room_data 9, 1, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_025, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 9, 1, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_025, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_19 - room_data 8, 1, $2, $0, $9, $8, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 1, $2, $0, $9, $8, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_20 - room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_21 - room_data 8, 0, $2, $0, $9, $8, CAM_FREE, ENEMY_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 + room_data 8, 0, $2, $0, $9, $8, CAM_FREE, OBJECT_GROUP_024, ANIMATED_TILES_GROUP_07, 0, ROOM_021 .room_22 - room_data 7, 1, $2, $0, $8, $7, CAM_YSCROLL, ENEMY_GROUP_059, ANIMATED_TILES_GROUP_03, 0, ROOM_028 + room_data 7, 1, $2, $0, $8, $7, CAM_YSCROLL, OBJECT_GROUP_059, ANIMATED_TILES_GROUP_03, 0, ROOM_028 .room_26 - room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_154 + room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_044, ANIMATED_TILES_GROUP_03, 0, ROOM_154 .room_28 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_067, ANIMATED_TILES_GROUP_03, 0, ROOM_080 .room_29 - room_data 0, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 + room_data 0, 2, $3, $2, $7, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_010, ANIMATED_TILES_GROUP_03, 0, ROOM_080 LevelRooms_c2acf: dw .room_00 @@ -4352,40 +4352,40 @@ LevelRooms_c2acf: dw NULL .room_00 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 .room_01 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_076, ANIMATED_TILES_GROUP_03, 0, ROOM_029 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_076, ANIMATED_TILES_GROUP_03, 0, ROOM_029 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 5, 2, $3, $2, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_06 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_07 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 .room_09 - room_data 6, 0, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 6, 0, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_10 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 .room_11 - room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_13 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_14 - room_data 8, 2, $3, $2, $a, $6, CAM_TRANSITIONS, ENEMY_GROUP_075, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 8, 2, $3, $2, $a, $6, CAM_TRANSITIONS, OBJECT_GROUP_075, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_16 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_19 - room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_20 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 .room_21 .room_22 .room_23 .room_24 - room_data 3, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 + room_data 3, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 .room_25 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 .room_28 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_029 LevelRooms_c2b8b: dw .room_00 @@ -4420,40 +4420,40 @@ LevelRooms_c2b8b: dw NULL .room_00 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 .room_01 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_076, ANIMATED_TILES_GROUP_03, 0, ROOM_082 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_076, ANIMATED_TILES_GROUP_03, 0, ROOM_082 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 5, 2, $3, $2, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_06 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_07 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 .room_09 - room_data 6, 0, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 6, 0, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_10 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 .room_11 - room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_13 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_14 - room_data 8, 2, $3, $2, $a, $6, CAM_TRANSITIONS, ENEMY_GROUP_075, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 8, 2, $3, $2, $a, $6, CAM_TRANSITIONS, OBJECT_GROUP_075, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_16 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_19 - room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_20 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 .room_21 .room_22 .room_23 .room_24 - room_data 3, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 + room_data 3, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 .room_25 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 .room_28 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_082 LevelRooms_c2c47: dw .room_00 @@ -4488,40 +4488,40 @@ LevelRooms_c2c47: dw NULL .room_00 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 .room_01 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_076, ANIMATED_TILES_GROUP_03, 0, ROOM_081 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_076, ANIMATED_TILES_GROUP_03, 0, ROOM_081 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 5, 2, $3, $2, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_06 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_07 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 .room_09 - room_data 6, 0, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 6, 0, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_10 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 .room_11 - room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_13 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_14 - room_data 8, 2, $3, $2, $a, $6, CAM_TRANSITIONS, ENEMY_GROUP_075, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 8, 2, $3, $2, $a, $6, CAM_TRANSITIONS, OBJECT_GROUP_075, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_16 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_19 - room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_20 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 .room_21 .room_22 .room_23 .room_24 - room_data 3, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 + room_data 3, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 .room_25 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 .room_28 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_081 LevelRooms_c2d03: dw .room_00 @@ -4556,40 +4556,40 @@ LevelRooms_c2d03: dw NULL .room_00 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 .room_01 - room_data 0, 2, $3, $2, $5, $0, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_076, ANIMATED_TILES_GROUP_03, 0, ROOM_083 + room_data 0, 2, $3, $2, $5, $0, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_076, ANIMATED_TILES_GROUP_03, 0, ROOM_083 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_TRANSITIONS, ENEMY_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 5, 2, $3, $2, $6, $5, CAM_TRANSITIONS, OBJECT_GROUP_008, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_06 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_07 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 .room_09 - room_data 6, 0, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 6, 0, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_10 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 .room_11 - room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 0, 1, $2, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_13 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_14 - room_data 8, 2, $3, $2, $a, $6, CAM_TRANSITIONS, ENEMY_GROUP_075, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 8, 2, $3, $2, $a, $6, CAM_TRANSITIONS, OBJECT_GROUP_075, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_16 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_19 - room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 + room_data 6, 1, $2, $0, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_108, ANIMATED_TILES_GROUP_03, 0, ROOM_030 .room_20 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 .room_21 .room_22 .room_23 .room_24 - room_data 3, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 + room_data 3, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 .room_25 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 .room_28 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_052, ANIMATED_TILES_GROUP_03, 0, ROOM_083 LevelRooms_c2dbf: dw .room_00 @@ -4624,49 +4624,49 @@ LevelRooms_c2dbf: dw .room_29 .room_00 - room_data 2, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 2, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_04 - room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_032 + room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_032 .room_05 - room_data 1, 2, $3, $2, $2, $1, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 1, 2, $3, $2, $2, $1, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_06 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_09 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_10 - room_data 7, 2, $3, $2, $8, $5, CAM_TRANSITIONS, ENEMY_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_033 + room_data 7, 2, $3, $2, $8, $5, CAM_TRANSITIONS, OBJECT_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_033 .room_11 - room_data 6, 1, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 6, 1, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_14 - room_data 9, 0, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_033 + room_data 9, 0, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_033 .room_15 - room_data 2, 2, $3, $2, $3, $2, CAM_FREE, ENEMY_GROUP_145, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 2, 2, $3, $2, $3, $2, CAM_FREE, OBJECT_GROUP_145, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_16 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_17 - room_data 9, 1, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_033 + room_data 9, 1, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_033 .room_18 - room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_19 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_058 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_058 .room_21 - room_data 5, 0, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 5, 0, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_22 - room_data 5, 1, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 5, 1, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_23 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_24 - room_data 5, 2, $3, $2, $8, $5, CAM_TRANSITIONS, ENEMY_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_033 + room_data 5, 2, $3, $2, $8, $5, CAM_TRANSITIONS, OBJECT_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_033 .room_25 - room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_032 + room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_032 .room_26 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_27 - room_data 0, 2, $3, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_111, ANIMATED_TILES_GROUP_20, 0, ROOM_031 + room_data 0, 2, $3, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_111, ANIMATED_TILES_GROUP_20, 0, ROOM_031 .room_28 - room_data 6, 0, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 6, 0, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_29 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_058 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_058 LevelRooms_c2eab: dw .room_00 @@ -4701,49 +4701,49 @@ LevelRooms_c2eab: dw .room_29 .room_00 - room_data 2, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 2, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_04 - room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_032 + room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_032 .room_05 - room_data 1, 2, $3, $2, $2, $1, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 1, 2, $3, $2, $2, $1, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_06 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_09 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_10 - room_data 7, 2, $3, $2, $8, $5, CAM_TRANSITIONS, ENEMY_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_033 + room_data 7, 2, $3, $2, $8, $5, CAM_TRANSITIONS, OBJECT_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_033 .room_11 - room_data 6, 1, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 6, 1, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_14 - room_data 9, 0, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_033 + room_data 9, 0, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_033 .room_15 - room_data 2, 2, $3, $2, $3, $2, CAM_FREE, ENEMY_GROUP_145, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 2, 2, $3, $2, $3, $2, CAM_FREE, OBJECT_GROUP_145, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_16 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_17 - room_data 9, 1, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_033 + room_data 9, 1, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_033 .room_18 - room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_19 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_087 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_087 .room_21 - room_data 5, 0, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 5, 0, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_22 - room_data 5, 1, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 5, 1, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_23 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_24 - room_data 5, 2, $3, $2, $8, $5, CAM_TRANSITIONS, ENEMY_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_033 + room_data 5, 2, $3, $2, $8, $5, CAM_TRANSITIONS, OBJECT_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_033 .room_25 - room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_032 + room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_032 .room_26 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_031 .room_27 - room_data 0, 2, $3, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_111, ANIMATED_TILES_GROUP_20, 0, ROOM_031 + room_data 0, 2, $3, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_111, ANIMATED_TILES_GROUP_20, 0, ROOM_031 .room_28 - room_data 6, 0, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 + room_data 6, 0, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_032 .room_29 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_087 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_087 LevelRooms_c2f97: dw .room_00 @@ -4778,49 +4778,49 @@ LevelRooms_c2f97: dw .room_29 .room_00 - room_data 2, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 2, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_04 - room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_085 + room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_085 .room_05 - room_data 1, 2, $3, $2, $2, $1, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 1, 2, $3, $2, $2, $1, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_06 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_09 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_10 - room_data 7, 2, $3, $2, $8, $5, CAM_TRANSITIONS, ENEMY_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_086 + room_data 7, 2, $3, $2, $8, $5, CAM_TRANSITIONS, OBJECT_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_086 .room_11 - room_data 6, 1, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 6, 1, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_14 - room_data 9, 0, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_086 + room_data 9, 0, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_086 .room_15 - room_data 2, 2, $3, $2, $3, $2, CAM_FREE, ENEMY_GROUP_145, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 2, 2, $3, $2, $3, $2, CAM_FREE, OBJECT_GROUP_145, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_16 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_17 - room_data 9, 1, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_086 + room_data 9, 1, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_086 .room_18 - room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_19 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_058 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_058 .room_21 - room_data 5, 0, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 5, 0, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_22 - room_data 5, 1, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 5, 1, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_23 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_24 - room_data 5, 2, $3, $2, $8, $5, CAM_TRANSITIONS, ENEMY_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_086 + room_data 5, 2, $3, $2, $8, $5, CAM_TRANSITIONS, OBJECT_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_086 .room_25 - room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_085 + room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_085 .room_26 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_27 - room_data 0, 2, $3, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_111, ANIMATED_TILES_GROUP_20, 0, ROOM_084 + room_data 0, 2, $3, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_111, ANIMATED_TILES_GROUP_20, 0, ROOM_084 .room_28 - room_data 6, 0, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 6, 0, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_29 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_058 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_058 LevelRooms_c3083: dw .room_00 @@ -4855,49 +4855,49 @@ LevelRooms_c3083: dw .room_29 .room_00 - room_data 2, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 2, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_04 - room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_085 + room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_085 .room_05 - room_data 1, 2, $3, $2, $2, $1, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 1, 2, $3, $2, $2, $1, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_06 - room_data 8, 2, $3, $2, $9, $8, CAM_FREE, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 8, 2, $3, $2, $9, $8, CAM_FREE, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_09 - room_data 4, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 4, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_10 - room_data 7, 2, $3, $2, $8, $5, CAM_TRANSITIONS, ENEMY_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_086 + room_data 7, 2, $3, $2, $8, $5, CAM_TRANSITIONS, OBJECT_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_086 .room_11 - room_data 6, 1, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 6, 1, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_14 - room_data 9, 0, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_086 + room_data 9, 0, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_086 .room_15 - room_data 2, 2, $3, $2, $3, $2, CAM_FREE, ENEMY_GROUP_145, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 2, 2, $3, $2, $3, $2, CAM_FREE, OBJECT_GROUP_145, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_16 - room_data 1, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 1, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_17 - room_data 9, 1, $2, $0, $a, $9, CAM_FREE, ENEMY_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_086 + room_data 9, 1, $2, $0, $a, $9, CAM_FREE, OBJECT_GROUP_121, ANIMATED_TILES_GROUP_12, 0, ROOM_086 .room_18 - room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 9, 2, $3, $2, $a, $9, CAM_TRANSITIONS, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_19 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_087 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_087 .room_21 - room_data 5, 0, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 5, 0, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_22 - room_data 5, 1, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 5, 1, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_23 - room_data 4, 0, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 4, 0, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_24 - room_data 5, 2, $3, $2, $8, $5, CAM_TRANSITIONS, ENEMY_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_086 + room_data 5, 2, $3, $2, $8, $5, CAM_TRANSITIONS, OBJECT_GROUP_071, ANIMATED_TILES_GROUP_03, 0, ROOM_086 .room_25 - room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_085 + room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_03, 0, ROOM_085 .room_26 - room_data 3, 1, $2, $0, $5, $1, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 + room_data 3, 1, $2, $0, $5, $1, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_03, 0, ROOM_084 .room_27 - room_data 0, 2, $3, $1, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_111, ANIMATED_TILES_GROUP_20, 0, ROOM_084 + room_data 0, 2, $3, $1, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_111, ANIMATED_TILES_GROUP_20, 0, ROOM_084 .room_28 - room_data 6, 0, $2, $0, $7, $5, CAM_FREE, ENEMY_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 + room_data 6, 0, $2, $0, $7, $5, CAM_FREE, OBJECT_GROUP_057, ANIMATED_TILES_GROUP_12, 0, ROOM_085 .room_29 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_087 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_12, 0, ROOM_087 LevelRooms_c316f: dw .room_00 @@ -4932,49 +4932,49 @@ LevelRooms_c316f: dw NULL .room_00 - room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_02 - room_data 2, 0, $1, $0, $4, $1, CAM_FREE, ENEMY_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 2, 0, $1, $0, $4, $1, CAM_FREE, OBJECT_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_03 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_04 - room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_06 - room_data 6, 2, $3, $2, $7, $6, CAM_FREE, ENEMY_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 6, 2, $3, $2, $7, $6, CAM_FREE, OBJECT_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_07 - room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_09 - room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_10 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_12 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_14 - room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_17 - room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_18 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_19 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 .room_20 - room_data 2, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_21 - room_data 3, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 3, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_22 - room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_23 - room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_034 .room_24 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_25 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_26 - room_data 6, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 6, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_27 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_034 LevelRooms_c325b: dw .room_00 @@ -5009,49 +5009,49 @@ LevelRooms_c325b: dw NULL .room_00 - room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_02 - room_data 2, 0, $1, $0, $4, $1, CAM_FREE, ENEMY_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 2, 0, $1, $0, $4, $1, CAM_FREE, OBJECT_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_03 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_04 - room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_06 - room_data 6, 2, $3, $2, $7, $6, CAM_FREE, ENEMY_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 6, 2, $3, $2, $7, $6, CAM_FREE, OBJECT_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_07 - room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_09 - room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_10 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_12 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_14 - room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_17 - room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_18 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_19 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 .room_20 - room_data 2, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_21 - room_data 3, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 3, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_22 - room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_23 - room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_123 .room_24 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_25 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_26 - room_data 6, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 6, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_27 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_123 LevelRooms_c3347: dw .room_00 @@ -5086,49 +5086,49 @@ LevelRooms_c3347: dw NULL .room_00 - room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_02 - room_data 2, 0, $1, $0, $4, $1, CAM_FREE, ENEMY_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 2, 0, $1, $0, $4, $1, CAM_FREE, OBJECT_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_03 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_04 - room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_06 - room_data 6, 2, $3, $2, $7, $6, CAM_FREE, ENEMY_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 6, 2, $3, $2, $7, $6, CAM_FREE, OBJECT_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_07 - room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_09 - room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_10 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_12 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_14 - room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_17 - room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_18 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_19 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 .room_20 - room_data 2, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_21 - room_data 3, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 3, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_22 - room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_23 - room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_124 .room_24 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_25 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_26 - room_data 6, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 6, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_27 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_124 LevelRooms_c3433: dw .room_00 @@ -5163,49 +5163,49 @@ LevelRooms_c3433: dw NULL .room_00 - room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_02 - room_data 2, 0, $1, $0, $4, $1, CAM_FREE, ENEMY_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 2, 0, $1, $0, $4, $1, CAM_FREE, OBJECT_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_03 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_04 - room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_06 - room_data 6, 2, $3, $2, $7, $6, CAM_FREE, ENEMY_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 6, 2, $3, $2, $7, $6, CAM_FREE, OBJECT_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_07 - room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_09 - room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_10 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_12 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_14 - room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_17 - room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_18 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_19 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 .room_20 - room_data 2, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_21 - room_data 3, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 3, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_22 - room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_23 - room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_125 .room_24 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_25 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_26 - room_data 6, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 6, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_27 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_089, ANIMATED_TILES_GROUP_08, 0, ROOM_125 LevelRooms_c351f: dw .room_00 @@ -5240,49 +5240,49 @@ LevelRooms_c351f: dw NULL .room_00 - room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_02 - room_data 2, 0, $1, $0, $4, $1, CAM_FREE, ENEMY_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 2, 0, $1, $0, $4, $1, CAM_FREE, OBJECT_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_03 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_04 - room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_06 - room_data 6, 2, $3, $2, $7, $6, CAM_FREE, ENEMY_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 6, 2, $3, $2, $7, $6, CAM_FREE, OBJECT_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_07 - room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_09 - room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_10 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_12 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_14 - room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_17 - room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_18 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_19 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 .room_20 - room_data 2, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_21 - room_data 3, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 3, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_22 - room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_23 - room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_126 .room_24 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_25 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_26 - room_data 6, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 6, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_27 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_126 LevelRooms_c360b: dw .room_00 @@ -5317,49 +5317,49 @@ LevelRooms_c360b: dw NULL .room_00 - room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 8, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_02 - room_data 2, 0, $1, $0, $4, $1, CAM_FREE, ENEMY_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 2, 0, $1, $0, $4, $1, CAM_FREE, OBJECT_GROUP_016, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_03 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_04 - room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, ENEMY_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 4, 2, $3, $2, $5, $4, CAM_TRANSITIONS, OBJECT_GROUP_007, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_05 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_022, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_06 - room_data 6, 2, $3, $2, $7, $6, CAM_FREE, ENEMY_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 6, 2, $3, $2, $7, $6, CAM_FREE, OBJECT_GROUP_142, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_07 - room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 3, 0, $1, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_045, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_09 - room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 1, $2, $1, $4, $2, CAM_TRANSITIONS, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_10 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_12 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_14 - room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 8, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_17 - room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 0, 1, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_18 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_19 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_133, ANIMATED_TILES_GROUP_08, 0, ROOM_055 .room_20 - room_data 2, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 2, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_21 - room_data 3, 2, $3, $2, $4, $2, CAM_FREE, ENEMY_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 + room_data 3, 2, $3, $2, $4, $2, CAM_FREE, OBJECT_GROUP_047, ANIMATED_TILES_GROUP_11, 0, ROOM_054 .room_22 - room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 0, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_23 - room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 1, 2, $3, $1, $2, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_030, ANIMATED_TILES_GROUP_08, 0, ROOM_127 .room_24 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_25 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_26 - room_data 6, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 + room_data 6, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_18, 0, ROOM_054 .room_27 - room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, ENEMY_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 + room_data 9, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_DOWN, OBJECT_GROUP_090, ANIMATED_TILES_GROUP_08, 0, ROOM_127 LevelRooms_c36f7: dw .room_00 @@ -5394,25 +5394,25 @@ LevelRooms_c36f7: dw .room_29 .room_00 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_01 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_04 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_13 - room_data 8, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 8, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_21 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_22 - room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, ENEMY_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, OBJECT_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_27 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_28 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_29 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 LevelRooms_c3783: dw .room_00 @@ -5447,25 +5447,25 @@ LevelRooms_c3783: dw .room_29 .room_00 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_01 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_04 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_13 - room_data 8, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 8, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_21 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_22 - room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, ENEMY_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, OBJECT_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_27 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_28 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_047 .room_29 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 LevelRooms_c380f: dw .room_00 @@ -5500,25 +5500,25 @@ LevelRooms_c380f: dw .room_29 .room_00 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 .room_01 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_04 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 .room_13 - room_data 8, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 8, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 .room_21 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_22 - room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, ENEMY_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, OBJECT_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_27 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 .room_28 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_142 .room_29 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 LevelRooms_c389b: dw .room_00 @@ -5553,25 +5553,25 @@ LevelRooms_c389b: dw .room_29 .room_00 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_01 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_04 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_13 - room_data 8, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 8, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_21 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_22 - room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, ENEMY_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, OBJECT_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_27 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_28 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_101, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_29 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 LevelRooms_c3927: dw .room_00 @@ -5606,25 +5606,25 @@ LevelRooms_c3927: dw .room_29 .room_00 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_01 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_04 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_13 - room_data 8, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 8, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_21 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_22 - room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, ENEMY_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, OBJECT_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_27 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_28 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_143 .room_29 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 LevelRooms_c39b3: dw .room_00 @@ -5659,25 +5659,25 @@ LevelRooms_c39b3: dw .room_29 .room_00 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 .room_01 - room_data 4, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 4, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_026, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_04 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 .room_13 - room_data 8, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 8, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 .room_21 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_22 - room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, ENEMY_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 + room_data 7, 2, $3, $2, $8, $4, CAM_TRANSITIONS, OBJECT_GROUP_027, ANIMATED_TILES_GROUP_10, 0, ROOM_048 .room_27 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 .room_28 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE, ENEMY_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE, OBJECT_GROUP_136, ANIMATED_TILES_GROUP_10, 0, ROOM_144 .room_29 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE, ENEMY_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE, OBJECT_GROUP_098, ANIMATED_TILES_GROUP_12, 0, ROOM_048 LevelRooms_c3a3f: dw .room_00 @@ -5712,49 +5712,49 @@ LevelRooms_c3a3f: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_01 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 .room_02 - room_data 9, 1, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 + room_data 9, 1, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 .room_04 - room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_06 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_08 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_09 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_14 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_15 - room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_18 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_19 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_20 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 .room_21 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_035 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_25 - room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_27 - room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_28 - room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_29 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 LevelRooms_c3b2b: dw .room_00 @@ -5789,49 +5789,49 @@ LevelRooms_c3b2b: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_01 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 .room_02 - room_data 9, 1, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 + room_data 9, 1, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 .room_04 - room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_06 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_08 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_09 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_14 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_15 - room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_18 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_19 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_20 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 .room_21 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_25 - room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_27 - room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_28 - room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_29 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 LevelRooms_c3c17: dw .room_00 @@ -5866,46 +5866,46 @@ LevelRooms_c3c17: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_01 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 .room_02 - room_data 9, 1, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 + room_data 9, 1, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 .room_04 - room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_06 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_08 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_09 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_14 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_15 - room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_18 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_19 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_20 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_010 .room_21 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_088 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_25 - room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_27 - room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_28 - room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_29 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 diff --git a/src/engine/bank31.asm b/src/engine/bank31.asm index c7c17d8..b444083 100644 --- a/src/engine/bank31.asm +++ b/src/engine/bank31.asm @@ -31,49 +31,49 @@ LevelRooms_c4000: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_01 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 .room_02 - room_data 9, 1, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 + room_data 9, 1, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 .room_04 - room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_06 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_08 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_09 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_14 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_15 - room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_18 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_19 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_20 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 .room_21 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_089 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_25 - room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_27 - room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_28 - room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_29 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 LevelRooms_c40ec: dw .room_00 @@ -108,49 +108,49 @@ LevelRooms_c40ec: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_01 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 .room_02 - room_data 9, 1, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 + room_data 9, 1, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 .room_04 - room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_06 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_08 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_09 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_14 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_15 - room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_18 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_19 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_20 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 .room_21 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_112, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_25 - room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_27 - room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_28 - room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_29 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 LevelRooms_c41d8: dw .room_00 @@ -185,49 +185,49 @@ LevelRooms_c41d8: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 1, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_01 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 .room_02 - room_data 9, 1, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 + room_data 9, 1, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 .room_04 - room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 6, 0, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_06 - room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 4, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_08 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_100, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_09 - room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 1, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, ENEMY_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 6, 1, $2, $0, $8, $6, CAM_TRANSITIONS, OBJECT_GROUP_049, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_14 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_15 - room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 1, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 3, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_18 - room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 5, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_19 - room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 2, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_20 - room_data 9, 2, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 + room_data 9, 2, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_080, ANIMATED_TILES_GROUP_03, 0, ROOM_011 .room_21 - room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 4, 1, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, ENEMY_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 + room_data 5, 0, $2, $0, $6, $1, CAM_TRANSITIONS, OBJECT_GROUP_072, ANIMATED_TILES_GROUP_03, 0, ROOM_090 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_19, 0, ROOM_019 .room_25 - room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 0, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_27 - room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 8, 2, $3, $0, $9, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_099, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_28 - room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 + room_data 7, 2, $3, $2, $8, $6, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_092, ANIMATED_TILES_GROUP_03, 0, ROOM_073 .room_29 - room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 + room_data 0, 2, $3, $2, $1, $0, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_19, 0, ROOM_019 LevelRooms_c42c4: dw .room_00 @@ -262,29 +262,29 @@ LevelRooms_c42c4: dw NULL .room_00 - room_data 2, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 + room_data 2, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 .room_01 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_06 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 .room_10 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 .room_11 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_13 - room_data 0, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_081, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 0, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_081, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_15 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_122, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_122, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_20 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 + room_data 5, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_25 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_036 LevelRooms_c4360: dw .room_00 @@ -319,29 +319,29 @@ LevelRooms_c4360: dw NULL .room_00 - room_data 2, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 + room_data 2, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 .room_01 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_06 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 .room_10 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 .room_11 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_13 - room_data 0, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_081, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 0, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_081, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_15 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_122, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_122, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_20 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 + room_data 5, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_25 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_091 LevelRooms_c43fc: dw .room_00 @@ -376,29 +376,29 @@ LevelRooms_c43fc: dw NULL .room_00 - room_data 2, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 + room_data 2, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 .room_01 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_06 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 .room_10 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 .room_11 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_13 - room_data 0, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_081, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 0, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_081, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_15 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_122, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_122, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_20 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 + room_data 5, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_25 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_092 LevelRooms_c4498: dw .room_00 @@ -433,29 +433,29 @@ LevelRooms_c4498: dw NULL .room_00 - room_data 2, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 + room_data 2, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 .room_01 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_05 - room_data 3, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 3, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_06 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 .room_10 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 .room_11 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_062, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_13 - room_data 0, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_081, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 0, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_081, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_15 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_122, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_122, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_20 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 .room_23 - room_data 5, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 + room_data 5, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 .room_24 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE, ENEMY_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE, OBJECT_GROUP_123, ANIMATED_TILES_GROUP_04, 0, ROOM_037 .room_25 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_073, ANIMATED_TILES_GROUP_03, 0, ROOM_093 LevelRooms_c4534: dw .room_00 @@ -490,35 +490,35 @@ LevelRooms_c4534: dw .room_29 .room_00 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_038 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_038 .room_01 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE, ENEMY_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE, OBJECT_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_05 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_06 - room_data 5, 1, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 5, 1, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_07 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_038 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_038 .room_12 - room_data 1, 2, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 1, 2, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_15 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_038 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_038 .room_19 - room_data 3, 2, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 3, 2, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_20 - room_data 1, 0, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 1, 0, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_21 - room_data 2, 1, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 2, 1, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_23 - room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_038 + room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_038 .room_24 - room_data 4, 0, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 4, 0, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_25 - room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_26 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_29 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_038 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_038 LevelRooms_c45e8: dw .room_00 @@ -553,35 +553,35 @@ LevelRooms_c45e8: dw .room_29 .room_00 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 .room_01 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE, ENEMY_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE, OBJECT_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_05 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_06 - room_data 5, 1, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 5, 1, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_07 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 .room_12 - room_data 1, 2, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 1, 2, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_15 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 .room_19 - room_data 3, 2, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 3, 2, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_20 - room_data 1, 0, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 1, 0, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_21 - room_data 2, 1, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_071 + room_data 2, 1, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_071 .room_23 - room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 + room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 .room_24 - room_data 4, 0, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 4, 0, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_25 - room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_26 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_29 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 LevelRooms_c469c: dw .room_00 @@ -616,35 +616,35 @@ LevelRooms_c469c: dw .room_29 .room_00 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 .room_01 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE, ENEMY_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_095 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE, OBJECT_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_095 .room_05 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_06 - room_data 5, 1, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 5, 1, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_07 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 .room_12 - room_data 1, 2, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_095 + room_data 1, 2, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_095 .room_15 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 .room_19 - room_data 3, 2, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_095 + room_data 3, 2, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_095 .room_20 - room_data 1, 0, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_095 + room_data 1, 0, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_095 .room_21 - room_data 2, 1, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_095 + room_data 2, 1, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_095 .room_23 - room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 + room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 .room_24 - room_data 4, 0, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 4, 0, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_25 - room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_26 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_29 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 LevelRooms_c4750: dw .room_00 @@ -679,35 +679,35 @@ LevelRooms_c4750: dw .room_29 .room_00 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 .room_01 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE, ENEMY_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_096 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE, OBJECT_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_096 .room_05 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_06 - room_data 5, 1, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 5, 1, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_07 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 .room_12 - room_data 1, 2, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_096 + room_data 1, 2, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_096 .room_15 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 .room_19 - room_data 3, 2, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_096 + room_data 3, 2, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_096 .room_20 - room_data 1, 0, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_096 + room_data 1, 0, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_096 .room_21 - room_data 2, 1, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_096 + room_data 2, 1, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_096 .room_23 - room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 + room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_094 .room_24 - room_data 4, 0, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 4, 0, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_25 - room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_26 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_049 .room_29 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_094 LevelRooms_c4804: dw .room_00 @@ -742,35 +742,35 @@ LevelRooms_c4804: dw .room_29 .room_00 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_097 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_097 .room_01 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE, ENEMY_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE, OBJECT_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_05 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_06 - room_data 5, 1, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 5, 1, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_07 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_097 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_097 .room_12 - room_data 1, 2, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 1, 2, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_15 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_097 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_097 .room_19 - room_data 3, 2, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 3, 2, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_20 - room_data 1, 0, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 1, 0, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_21 - room_data 2, 1, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 2, 1, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_23 - room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_097 + room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_097 .room_24 - room_data 4, 0, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 4, 0, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_25 - room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_26 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_29 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_097 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_097 LevelRooms_c48b8: dw .room_00 @@ -805,35 +805,35 @@ LevelRooms_c48b8: dw .room_29 .room_00 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_01 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE, ENEMY_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE, OBJECT_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_05 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_06 - room_data 5, 1, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 5, 1, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_07 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 .room_12 - room_data 1, 2, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 1, 2, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_15 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_19 - room_data 3, 2, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 3, 2, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_20 - room_data 1, 0, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 1, 0, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_21 - room_data 2, 1, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_099 + room_data 2, 1, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_099 .room_23 - room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 + room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 .room_24 - room_data 4, 0, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 4, 0, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_25 - room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_26 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_29 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 LevelRooms_c496c: dw .room_00 @@ -868,35 +868,35 @@ LevelRooms_c496c: dw .room_29 .room_00 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_01 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE, ENEMY_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_100 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE, OBJECT_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_100 .room_05 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_06 - room_data 5, 1, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 5, 1, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_07 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 .room_12 - room_data 1, 2, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_100 + room_data 1, 2, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_100 .room_15 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_19 - room_data 3, 2, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_100 + room_data 3, 2, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_100 .room_20 - room_data 1, 0, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_100 + room_data 1, 0, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_100 .room_21 - room_data 2, 1, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_100 + room_data 2, 1, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_100 .room_23 - room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 + room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 .room_24 - room_data 4, 0, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 4, 0, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_25 - room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_26 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_29 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 LevelRooms_c4a20: dw .room_00 @@ -931,35 +931,35 @@ LevelRooms_c4a20: dw .room_29 .room_00 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_01 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE, ENEMY_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_101 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE, OBJECT_GROUP_115, ANIMATED_TILES_GROUP_04, 0, ROOM_101 .room_05 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_06 - room_data 5, 1, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 5, 1, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_07 - room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 + room_data 9, 2, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 .room_12 - room_data 1, 2, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_101 + room_data 1, 2, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_101 .room_15 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_19 - room_data 3, 2, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_101 + room_data 3, 2, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_101 .room_20 - room_data 1, 0, $3, $0, $2, $1, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_101 + room_data 1, 0, $3, $0, $2, $1, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_04, 0, ROOM_101 .room_21 - room_data 2, 1, $3, $0, $4, $2, CAM_FREE, ENEMY_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_101 + room_data 2, 1, $3, $0, $4, $2, CAM_FREE, OBJECT_GROUP_117, ANIMATED_TILES_GROUP_04, 0, ROOM_101 .room_23 - room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 + room_data 9, 1, $3, $0, $a, $8, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_077, ANIMATED_TILES_GROUP_03, 0, ROOM_098 .room_24 - room_data 4, 0, $2, $0, $6, $4, CAM_FREE, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 4, 0, $2, $0, $6, $4, CAM_FREE, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_25 - room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 7, 2, $3, $2, $8, $6, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_26 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_017, ANIMATED_TILES_GROUP_10, 0, ROOM_098 .room_29 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_038, ANIMATED_TILES_GROUP_10, 0, ROOM_098 LevelRooms_c4ad4: dw .room_00 @@ -994,33 +994,33 @@ LevelRooms_c4ad4: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 1, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_07 - room_data 8, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 8, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_08 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_10 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_095, ANIMATED_TILES_GROUP_06, 0, ROOM_039 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_095, ANIMATED_TILES_GROUP_06, 0, ROOM_039 .room_14 - room_data 1, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 1, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_16 - room_data 7, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 7, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_17 - room_data 6, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 6, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_18 - room_data 7, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 7, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_20 - room_data 3, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 3, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_21 - room_data 4, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 4, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_24 - room_data 0, 2, $3, $1, $1, $0, CAM_YSCROLL, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 0, 2, $3, $1, $1, $0, CAM_YSCROLL, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_25 - room_data 2, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 2, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_28 - room_data 8, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 8, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_039 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_039 + room_data 9, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_039 LevelRooms_c4b80: dw .room_00 @@ -1055,33 +1055,33 @@ LevelRooms_c4b80: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 1, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_07 - room_data 8, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 8, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_08 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_10 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_095, ANIMATED_TILES_GROUP_06, 0, ROOM_151 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_095, ANIMATED_TILES_GROUP_06, 0, ROOM_151 .room_14 - room_data 1, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 1, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_16 - room_data 7, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 7, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_17 - room_data 6, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 6, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_18 - room_data 7, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 7, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_20 - room_data 3, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 3, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_21 - room_data 4, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 4, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_24 - room_data 0, 2, $3, $1, $1, $0, CAM_YSCROLL, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 0, 2, $3, $1, $1, $0, CAM_YSCROLL, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_25 - room_data 2, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 2, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_28 - room_data 8, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 8, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_151 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_151 + room_data 9, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_151 LevelRooms_c4c2c: dw .room_00 @@ -1116,33 +1116,33 @@ LevelRooms_c4c2c: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 1, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_07 - room_data 8, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 8, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_08 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_10 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_095, ANIMATED_TILES_GROUP_06, 0, ROOM_152 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_095, ANIMATED_TILES_GROUP_06, 0, ROOM_152 .room_14 - room_data 1, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 1, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_16 - room_data 7, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 7, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_17 - room_data 6, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 6, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_18 - room_data 7, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 7, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_20 - room_data 3, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 3, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_21 - room_data 4, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 4, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_24 - room_data 0, 2, $3, $1, $1, $0, CAM_YSCROLL, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 0, 2, $3, $1, $1, $0, CAM_YSCROLL, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_25 - room_data 2, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 2, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_28 - room_data 8, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 8, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_152 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_152 + room_data 9, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_152 LevelRooms_c4cd8: dw .room_00 @@ -1177,33 +1177,33 @@ LevelRooms_c4cd8: dw .room_29 .room_00 - room_data 1, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 1, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_07 - room_data 8, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 8, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_08 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_10 - room_data 7, 2, $3, $2, $8, $5, CAM_FREE, ENEMY_GROUP_095, ANIMATED_TILES_GROUP_06, 0, ROOM_153 + room_data 7, 2, $3, $2, $8, $5, CAM_FREE, OBJECT_GROUP_095, ANIMATED_TILES_GROUP_06, 0, ROOM_153 .room_14 - room_data 1, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 1, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_16 - room_data 7, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 7, 1, $2, $1, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_17 - room_data 6, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 6, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_18 - room_data 7, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 7, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_20 - room_data 3, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 3, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_21 - room_data 4, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 4, 1, $2, $0, $7, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_094, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_24 - room_data 0, 2, $3, $1, $1, $0, CAM_YSCROLL, ENEMY_GROUP_029, ANIMATED_TILES_GROUP_03, 0, ROOM_025 + room_data 0, 2, $3, $1, $1, $0, CAM_YSCROLL, OBJECT_GROUP_029, ANIMATED_TILES_GROUP_03, 0, ROOM_025 .room_25 - room_data 2, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 2, 2, $3, $2, $5, $1, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_28 - room_data 8, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 8, 0, $1, $0, $9, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_037, ANIMATED_TILES_GROUP_03, 0, ROOM_153 .room_29 - room_data 9, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_153 + room_data 9, 2, $3, $2, $a, $8, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_060, ANIMATED_TILES_GROUP_03, 0, ROOM_153 LevelRooms_c4d84: dw .room_00 @@ -1238,43 +1238,43 @@ LevelRooms_c4d84: dw NULL .room_00 - room_data 8, 1, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 + room_data 8, 1, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 .room_02 - room_data 6, 0, $2, $0, $7, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_124, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 6, 0, $2, $0, $7, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_124, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_04 - room_data 6, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 6, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_06 - room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_07 - room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_08 - room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_09 - room_data 4, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 4, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_11 - room_data 8, 0, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 + room_data 8, 0, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 .room_12 - room_data 3, 1, $2, $0, $4, $3, CAM_YSCROLL, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 3, 1, $2, $0, $4, $3, CAM_YSCROLL, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_13 - room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_14 - room_data 9, 1, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 + room_data 9, 1, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 .room_19 - room_data 4, 1, $2, $1, $6, $4, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 4, 1, $2, $1, $6, $4, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_20 - room_data 3, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 3, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_21 - room_data 7, 0, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 + room_data 7, 0, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 .room_23 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_134, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_134, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_24 - room_data 9, 0, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 + room_data 9, 0, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 .room_26 - room_data 4, 0, $1, $0, $6, $4, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_119, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 4, 0, $1, $0, $6, $4, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_119, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_27 - room_data 8, 2, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 + room_data 8, 2, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 .room_28 - room_data 7, 2, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 + room_data 7, 2, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_053 LevelRooms_c4e58: dw .room_00 @@ -1309,43 +1309,43 @@ LevelRooms_c4e58: dw NULL .room_00 - room_data 8, 1, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 + room_data 8, 1, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 .room_02 - room_data 6, 0, $2, $0, $7, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_124, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 6, 0, $2, $0, $7, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_124, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_04 - room_data 6, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 6, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_06 - room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_07 - room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_08 - room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_09 - room_data 4, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 4, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_11 - room_data 8, 0, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 + room_data 8, 0, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 .room_12 - room_data 3, 1, $2, $0, $4, $3, CAM_YSCROLL, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 3, 1, $2, $0, $4, $3, CAM_YSCROLL, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_13 - room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_14 - room_data 9, 1, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 + room_data 9, 1, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 .room_19 - room_data 4, 1, $2, $1, $6, $4, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 4, 1, $2, $1, $6, $4, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_20 - room_data 3, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 3, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_21 - room_data 7, 0, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 + room_data 7, 0, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 .room_23 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_134, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_134, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_24 - room_data 9, 0, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 + room_data 9, 0, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 .room_26 - room_data 4, 0, $1, $0, $6, $4, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_119, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 4, 0, $1, $0, $6, $4, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_119, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_27 - room_data 8, 2, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 + room_data 8, 2, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 .room_28 - room_data 7, 2, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 + room_data 7, 2, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_121 LevelRooms_c4f2c: dw .room_00 @@ -1380,43 +1380,43 @@ LevelRooms_c4f2c: dw NULL .room_00 - room_data 8, 1, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 + room_data 8, 1, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 .room_02 - room_data 6, 0, $2, $0, $7, $6, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_124, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 6, 0, $2, $0, $7, $6, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_124, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_04 - room_data 6, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 6, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_06 - room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_07 - room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_08 - room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_09 - room_data 4, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 4, 2, $3, $2, $7, $4, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_015, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_11 - room_data 8, 0, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 + room_data 8, 0, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 .room_12 - room_data 3, 1, $2, $0, $4, $3, CAM_YSCROLL, ENEMY_GROUP_040, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 3, 1, $2, $0, $4, $3, CAM_YSCROLL, OBJECT_GROUP_040, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_13 - room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_135, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_14 - room_data 9, 1, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 + room_data 9, 1, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 .room_19 - room_data 4, 1, $2, $1, $6, $4, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 4, 1, $2, $1, $6, $4, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_20 - room_data 3, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 3, 2, $3, $2, $4, $1, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_21 - room_data 7, 0, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 + room_data 7, 0, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 .room_23 - room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_134, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 0, 2, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_134, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_24 - room_data 9, 0, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 + room_data 9, 0, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 .room_26 - room_data 4, 0, $1, $0, $6, $4, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_119, ANIMATED_TILES_GROUP_10, 5, ROOM_120 + room_data 4, 0, $1, $0, $6, $4, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_119, ANIMATED_TILES_GROUP_10, 5, ROOM_120 .room_27 - room_data 8, 2, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 + room_data 8, 2, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 .room_28 - room_data 7, 2, $3, $0, $a, $7, CAM_FREE, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 + room_data 7, 2, $3, $0, $a, $7, CAM_FREE, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_10, 2, ROOM_122 LevelRooms_c5000: dw .room_00 @@ -1452,39 +1452,39 @@ LevelRooms_c5000: .room_00 .room_11 - room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_040 + room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_040 .room_02 - room_data 6, 2, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 + room_data 6, 2, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 .room_03 - room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_040 + room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_040 .room_05 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_03, 4, ROOM_118 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_03, 4, ROOM_118 .room_06 - room_data 0, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 0, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_07 - room_data 5, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 + room_data 5, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 .room_12 - room_data 3, 0, $2, $0, $5, $3, CAM_FREE, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_03, 4, ROOM_118 + room_data 3, 0, $2, $0, $5, $3, CAM_FREE, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_03, 4, ROOM_118 .room_15 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE, ENEMY_GROUP_128, ANIMATED_TILES_GROUP_03, 4, ROOM_118 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE, OBJECT_GROUP_128, ANIMATED_TILES_GROUP_03, 4, ROOM_118 .room_16 - room_data 9, 2, $3, $2, $a, $8, CAM_FREE, ENEMY_GROUP_128, ANIMATED_TILES_GROUP_03, 4, ROOM_118 + room_data 9, 2, $3, $2, $a, $8, CAM_FREE, OBJECT_GROUP_128, ANIMATED_TILES_GROUP_03, 4, ROOM_118 .room_20 - room_data 6, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 + room_data 6, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 .room_22 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_131, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_131, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_23 - room_data 1, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 1, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_24 - room_data 2, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 2, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_25 - room_data 1, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_040 + room_data 1, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_040 .room_26 - room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_040 + room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_040 .room_28 - room_data 5, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 + room_data 5, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 .room_29 - room_data 6, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 + room_data 6, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_040 LevelRooms_c50c4: dw .room_00 @@ -1520,39 +1520,39 @@ LevelRooms_c50c4: .room_00 .room_11 - room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_135 + room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_135 .room_02 - room_data 6, 2, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 + room_data 6, 2, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 .room_03 - room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_135 + room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_135 .room_05 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_03, 4, ROOM_118 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_03, 4, ROOM_118 .room_06 - room_data 0, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 0, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_07 - room_data 5, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 + room_data 5, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 .room_12 - room_data 3, 0, $2, $0, $5, $3, CAM_FREE, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_03, 4, ROOM_118 + room_data 3, 0, $2, $0, $5, $3, CAM_FREE, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_03, 4, ROOM_118 .room_15 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE, ENEMY_GROUP_128, ANIMATED_TILES_GROUP_03, 4, ROOM_118 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE, OBJECT_GROUP_128, ANIMATED_TILES_GROUP_03, 4, ROOM_118 .room_16 - room_data 9, 2, $3, $2, $a, $8, CAM_FREE, ENEMY_GROUP_128, ANIMATED_TILES_GROUP_03, 4, ROOM_118 + room_data 9, 2, $3, $2, $a, $8, CAM_FREE, OBJECT_GROUP_128, ANIMATED_TILES_GROUP_03, 4, ROOM_118 .room_20 - room_data 6, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 + room_data 6, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 .room_22 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_131, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_131, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_23 - room_data 1, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 1, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_24 - room_data 2, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 2, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_25 - room_data 1, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_135 + room_data 1, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_135 .room_26 - room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_135 + room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 3, ROOM_135 .room_28 - room_data 5, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 + room_data 5, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 .room_29 - room_data 6, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 + room_data 6, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 3, ROOM_135 LevelRooms_c5188: dw .room_00 @@ -1588,39 +1588,39 @@ LevelRooms_c5188: .room_00 .room_11 - room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_136 + room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_136 .room_02 - room_data 6, 2, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 + room_data 6, 2, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 .room_03 - room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_136 + room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_136 .room_05 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_03, 7, ROOM_138 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_03, 7, ROOM_138 .room_06 - room_data 0, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 0, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_07 - room_data 5, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 + room_data 5, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 .room_12 - room_data 3, 0, $2, $0, $5, $3, CAM_FREE, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_03, 7, ROOM_138 + room_data 3, 0, $2, $0, $5, $3, CAM_FREE, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_03, 7, ROOM_138 .room_15 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE, ENEMY_GROUP_128, ANIMATED_TILES_GROUP_03, 7, ROOM_138 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE, OBJECT_GROUP_128, ANIMATED_TILES_GROUP_03, 7, ROOM_138 .room_16 - room_data 9, 2, $3, $2, $a, $8, CAM_FREE, ENEMY_GROUP_128, ANIMATED_TILES_GROUP_03, 7, ROOM_138 + room_data 9, 2, $3, $2, $a, $8, CAM_FREE, OBJECT_GROUP_128, ANIMATED_TILES_GROUP_03, 7, ROOM_138 .room_20 - room_data 6, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 + room_data 6, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 .room_22 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_131, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_131, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_23 - room_data 1, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 1, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_24 - room_data 2, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 2, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_25 - room_data 1, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_136 + room_data 1, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_136 .room_26 - room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_136 + room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_136 .room_28 - room_data 5, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 + room_data 5, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 .room_29 - room_data 6, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 + room_data 6, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_136 LevelRooms_c524c: dw .room_00 @@ -1656,39 +1656,39 @@ LevelRooms_c524c: .room_00 .room_11 - room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_137 + room_data 1, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_137 .room_02 - room_data 6, 2, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 + room_data 6, 2, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 .room_03 - room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_137 + room_data 2, 1, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_137 .room_05 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_129, ANIMATED_TILES_GROUP_03, 7, ROOM_138 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_129, ANIMATED_TILES_GROUP_03, 7, ROOM_138 .room_06 - room_data 0, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 0, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_07 - room_data 5, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 + room_data 5, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 .room_12 - room_data 3, 0, $2, $0, $5, $3, CAM_FREE, ENEMY_GROUP_127, ANIMATED_TILES_GROUP_03, 7, ROOM_138 + room_data 3, 0, $2, $0, $5, $3, CAM_FREE, OBJECT_GROUP_127, ANIMATED_TILES_GROUP_03, 7, ROOM_138 .room_15 - room_data 8, 2, $3, $2, $a, $8, CAM_FREE, ENEMY_GROUP_128, ANIMATED_TILES_GROUP_03, 7, ROOM_138 + room_data 8, 2, $3, $2, $a, $8, CAM_FREE, OBJECT_GROUP_128, ANIMATED_TILES_GROUP_03, 7, ROOM_138 .room_16 - room_data 9, 2, $3, $2, $a, $8, CAM_FREE, ENEMY_GROUP_128, ANIMATED_TILES_GROUP_03, 7, ROOM_138 + room_data 9, 2, $3, $2, $a, $8, CAM_FREE, OBJECT_GROUP_128, ANIMATED_TILES_GROUP_03, 7, ROOM_138 .room_20 - room_data 6, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 + room_data 6, 0, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 .room_22 - room_data 4, 2, $3, $2, $5, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_131, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 4, 2, $3, $2, $5, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_131, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_23 - room_data 1, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 1, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_24 - room_data 2, 2, $3, $2, $3, $0, CAM_FREE, ENEMY_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 + room_data 2, 2, $3, $2, $3, $0, CAM_FREE, OBJECT_GROUP_130, ANIMATED_TILES_GROUP_03, 0, ROOM_119 .room_25 - room_data 1, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_137 + room_data 1, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_137 .room_26 - room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_137 + room_data 2, 0, $2, $0, $3, $1, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_125, ANIMATED_TILES_GROUP_03, 6, ROOM_137 .room_28 - room_data 5, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 + room_data 5, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 .room_29 - room_data 6, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 + room_data 6, 1, $3, $0, $7, $5, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_126, ANIMATED_TILES_GROUP_03, 6, ROOM_137 LevelRooms_c5310: dw .room_00 @@ -1723,35 +1723,35 @@ LevelRooms_c5310: dw NULL .room_00 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_07 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_10 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_12 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_13 - room_data 2, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 2, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_14 - room_data 8, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 8, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_15 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_078, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_078, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_16 - room_data 4, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 4, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_20 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_21 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_22 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_23 - room_data 6, 2, $3, $2, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_102, ANIMATED_TILES_GROUP_03, 0, ROOM_076 + room_data 6, 2, $3, $2, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_102, ANIMATED_TILES_GROUP_03, 0, ROOM_076 .room_24 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_26 - room_data 3, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 3, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_27 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_046 LevelRooms_c53c4: dw .room_00 @@ -1786,35 +1786,35 @@ LevelRooms_c53c4: dw NULL .room_00 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_07 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_10 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_12 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_13 - room_data 2, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 2, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_14 - room_data 8, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 8, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_15 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_078, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_078, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_16 - room_data 4, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 4, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_20 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_21 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_22 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_041 .room_23 - room_data 6, 2, $3, $2, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_102, ANIMATED_TILES_GROUP_03, 0, ROOM_076 + room_data 6, 2, $3, $2, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_102, ANIMATED_TILES_GROUP_03, 0, ROOM_076 .room_24 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_26 - room_data 3, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 3, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_27 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_117 LevelRooms_c5478: dw .room_00 @@ -1849,35 +1849,35 @@ LevelRooms_c5478: dw NULL .room_00 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_07 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_10 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_12 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_13 - room_data 2, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 2, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_14 - room_data 8, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 8, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_15 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_078, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_078, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_16 - room_data 4, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 4, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_20 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_21 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_22 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_23 - room_data 6, 2, $3, $2, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_102, ANIMATED_TILES_GROUP_03, 0, ROOM_076 + room_data 6, 2, $3, $2, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_102, ANIMATED_TILES_GROUP_03, 0, ROOM_076 .room_24 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_26 - room_data 3, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 3, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_046 .room_27 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_046 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_046 LevelRooms_c552c: dw .room_00 @@ -1912,35 +1912,35 @@ LevelRooms_c552c: dw NULL .room_00 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_07 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_10 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_12 - room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 0, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_13 - room_data 2, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 2, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_14 - room_data 8, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 8, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_15 - room_data 7, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_078, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 7, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_078, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_16 - room_data 4, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 4, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_20 - room_data 2, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 2, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_21 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_107, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_22 - room_data 4, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 + room_data 4, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_033, ANIMATED_TILES_GROUP_14, 0, ROOM_116 .room_23 - room_data 6, 2, $3, $2, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, ENEMY_GROUP_102, ANIMATED_TILES_GROUP_03, 0, ROOM_076 + room_data 6, 2, $3, $2, $7, $6, CAM_XSCROLL2 | CAM_TRANSITIONS, OBJECT_GROUP_102, ANIMATED_TILES_GROUP_03, 0, ROOM_076 .room_24 - room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, ENEMY_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 6, 1, $2, $0, $7, $6, CAM_TRANSITIONS, OBJECT_GROUP_035, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_26 - room_data 3, 2, $3, $2, $6, $2, CAM_FREE, ENEMY_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 3, 2, $3, $2, $6, $2, CAM_FREE, OBJECT_GROUP_034, ANIMATED_TILES_GROUP_03, 0, ROOM_117 .room_27 - room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_117 + room_data 1, 2, $3, $2, $2, $0, CAM_TRANSITIONS | CAM_BORDER_RIGHT, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_117 LevelRooms_c55e0: dw .room_00 @@ -1975,41 +1975,41 @@ LevelRooms_c55e0: dw NULL .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_01 - room_data 8, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 8, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_03 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_118, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_118, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_07 - room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_08 - room_data 9, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 9, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_15 - room_data 6, 2, $3, $2, $a, $6, CAM_FREE, ENEMY_GROUP_097, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 6, 2, $3, $2, $a, $6, CAM_FREE, OBJECT_GROUP_097, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_17 - room_data 1, 2, $3, $2, $3, $1, CAM_FREE, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 1, 2, $3, $2, $3, $1, CAM_FREE, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_18 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_19 - room_data 8, 0, $1, $0, $a, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 8, 0, $1, $0, $a, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_20 - room_data 3, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 3, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_21 - room_data 7, 1, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 7, 1, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_22 - room_data 5, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 5, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_23 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_24 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_25 - room_data 2, 2, $3, $2, $3, $1, CAM_FREE, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 2, 2, $3, $2, $3, $1, CAM_FREE, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_043 .room_26 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_043 LevelRooms_c56ac: dw .room_00 @@ -2044,41 +2044,41 @@ LevelRooms_c56ac: dw NULL .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_01 - room_data 8, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 8, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_03 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_118, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_118, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_07 - room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_08 - room_data 9, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 9, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_15 - room_data 6, 2, $3, $2, $a, $6, CAM_FREE, ENEMY_GROUP_097, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 6, 2, $3, $2, $a, $6, CAM_FREE, OBJECT_GROUP_097, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_17 - room_data 1, 2, $3, $2, $3, $1, CAM_FREE, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 1, 2, $3, $2, $3, $1, CAM_FREE, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_18 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_19 - room_data 8, 0, $1, $0, $a, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 8, 0, $1, $0, $a, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_20 - room_data 3, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 3, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_21 - room_data 7, 1, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 7, 1, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_22 - room_data 5, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 5, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_23 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_24 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_25 - room_data 2, 2, $3, $2, $3, $1, CAM_FREE, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 2, 2, $3, $2, $3, $1, CAM_FREE, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_110 .room_26 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_110 LevelRooms_c5778: dw .room_00 @@ -2113,41 +2113,41 @@ LevelRooms_c5778: dw NULL .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_01 - room_data 8, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 8, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_03 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_118, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_118, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_07 - room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_08 - room_data 9, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 9, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_15 - room_data 6, 2, $3, $2, $a, $6, CAM_FREE, ENEMY_GROUP_097, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 6, 2, $3, $2, $a, $6, CAM_FREE, OBJECT_GROUP_097, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_17 - room_data 1, 2, $3, $2, $3, $1, CAM_FREE, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 1, 2, $3, $2, $3, $1, CAM_FREE, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_18 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_19 - room_data 8, 0, $1, $0, $a, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 8, 0, $1, $0, $a, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_20 - room_data 3, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 3, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_21 - room_data 7, 1, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 7, 1, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_22 - room_data 5, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 5, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_23 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_24 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_25 - room_data 2, 2, $3, $2, $3, $1, CAM_FREE, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 2, 2, $3, $2, $3, $1, CAM_FREE, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_111 .room_26 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_111 LevelRooms_c5844: dw .room_00 @@ -2182,41 +2182,41 @@ LevelRooms_c5844: dw NULL .room_00 - room_data 1, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 1, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_01 - room_data 8, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 8, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_03 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_118, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_118, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_07 - room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 4, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_08 - room_data 9, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 9, 1, $2, $1, $a, $8, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_13 - room_data 6, 1, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 6, 1, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_15 - room_data 6, 2, $3, $2, $a, $6, CAM_FREE, ENEMY_GROUP_097, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 6, 2, $3, $2, $a, $6, CAM_FREE, OBJECT_GROUP_097, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_16 - room_data 3, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 3, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_17 - room_data 1, 2, $3, $2, $3, $1, CAM_FREE, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 1, 2, $3, $2, $3, $1, CAM_FREE, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_18 - room_data 1, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 1, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_19 - room_data 8, 0, $1, $0, $a, $8, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 + room_data 8, 0, $1, $0, $a, $8, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_120, ANIMATED_TILES_GROUP_09, 0, ROOM_072 .room_20 - room_data 3, 0, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 3, 0, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_21 - room_data 7, 1, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 7, 1, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_22 - room_data 5, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 5, 2, $3, $2, $6, $3, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_23 - room_data 6, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 6, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_24 - room_data 7, 0, $2, $0, $8, $6, CAM_FREE, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 7, 0, $2, $0, $8, $6, CAM_FREE, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_25 - room_data 2, 2, $3, $2, $3, $1, CAM_FREE, ENEMY_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 2, 2, $3, $2, $3, $1, CAM_FREE, OBJECT_GROUP_070, ANIMATED_TILES_GROUP_09, 0, ROOM_112 .room_26 - room_data 5, 1, $2, $0, $6, $1, CAM_FREE, ENEMY_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 + room_data 5, 1, $2, $0, $6, $1, CAM_FREE, OBJECT_GROUP_096, ANIMATED_TILES_GROUP_09, 0, ROOM_112 LevelRooms_c5910: dw .room_00 @@ -2251,47 +2251,47 @@ LevelRooms_c5910: dw NULL .room_00 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_01 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_02 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_03 - room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_05 - room_data 9, 0, $1, $0, $a, $9, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 9, 0, $1, $0, $a, $9, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_09 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_10 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_12 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_140, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_140, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_13 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_057 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_057 .room_14 - room_data 8, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_057 + room_data 8, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_057 .room_16 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_141, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_141, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_17 - room_data 2, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 2, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_18 - room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_20 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_21 - room_data 2, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 2, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_22 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_044 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_044 .room_23 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_044 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_044 .room_24 - room_data 3, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 3, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_25 - room_data 6, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 6, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_26 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_044 .room_28 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_044 LevelRooms_c59f4: dw .room_00 @@ -2326,47 +2326,47 @@ LevelRooms_c59f4: dw NULL .room_00 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_01 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_02 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_03 - room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_05 - room_data 9, 0, $1, $0, $a, $9, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 9, 0, $1, $0, $a, $9, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_09 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_10 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_12 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_140, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_140, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_13 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_057 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_057 .room_14 - room_data 8, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_057 + room_data 8, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_057 .room_16 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_141, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_141, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_17 - room_data 2, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 2, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_18 - room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_20 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_21 - room_data 2, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 2, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_22 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_131 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_131 .room_23 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_131 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_131 .room_24 - room_data 3, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 3, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_25 - room_data 6, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 6, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_26 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_131 .room_28 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_131 LevelRooms_c5ad8: dw .room_00 @@ -2401,47 +2401,47 @@ LevelRooms_c5ad8: dw NULL .room_00 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_01 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_02 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_03 - room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_05 - room_data 9, 0, $1, $0, $a, $9, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 9, 0, $1, $0, $a, $9, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_09 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_10 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_12 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_140, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_140, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_13 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_134 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_134 .room_14 - room_data 8, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_134 + room_data 8, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_134 .room_16 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_141, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_141, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_17 - room_data 2, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 2, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_18 - room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_20 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_21 - room_data 2, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 2, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_22 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_132 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_132 .room_23 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_132 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_132 .room_24 - room_data 3, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 3, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_25 - room_data 6, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 6, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_26 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_132 .room_28 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_132 LevelRooms_c5bbc: dw .room_00 @@ -2476,47 +2476,47 @@ LevelRooms_c5bbc: dw NULL .room_00 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_01 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_013, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_013, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_02 - room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 1, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_03 - room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 4, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_05 - room_data 9, 0, $1, $0, $a, $9, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 9, 0, $1, $0, $a, $9, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_09 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_10 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_12 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_140, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_140, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_13 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_134 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_134 .room_14 - room_data 8, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_134 + room_data 8, 2, $3, $2, $9, $6, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_050, ANIMATED_TILES_GROUP_11, 0, ROOM_134 .room_16 - room_data 5, 2, $3, $2, $6, $5, CAM_FREE, ENEMY_GROUP_141, ANIMATED_TILES_GROUP_11, 0, ROOM_056 + room_data 5, 2, $3, $2, $6, $5, CAM_FREE, OBJECT_GROUP_141, ANIMATED_TILES_GROUP_11, 0, ROOM_056 .room_17 - room_data 2, 2, $3, $2, $3, $1, CAM_TRANSITIONS, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 2, 2, $3, $2, $3, $1, CAM_TRANSITIONS, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_18 - room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 3, 2, $3, $2, $5, $3, CAM_TRANSITIONS, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_20 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_21 - room_data 2, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 2, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_22 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_133 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_133 .room_23 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_133 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_051, ANIMATED_TILES_GROUP_18, 0, ROOM_133 .room_24 - room_data 3, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 3, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_25 - room_data 6, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 6, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_26 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_116, ANIMATED_TILES_GROUP_11, 0, ROOM_133 .room_28 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_042, ANIMATED_TILES_GROUP_11, 0, ROOM_133 LevelRooms_c5ca0: dw .room_00 @@ -2551,37 +2551,37 @@ LevelRooms_c5ca0: dw NULL .room_00 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_03 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_105, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_105, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_04 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_05 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_06 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_10 - room_data 6, 1, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 6, 1, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_11 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_13 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE, ENEMY_GROUP_079, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE, OBJECT_GROUP_079, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_16 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_17 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_20 - room_data 6, 2, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 6, 2, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_21 - room_data 4, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 4, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_22 - room_data 5, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 5, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_23 - room_data 6, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 6, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_26 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_041, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_041, ANIMATED_TILES_GROUP_03, 0, ROOM_045 .room_27 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_045 LevelRooms_c5d5c: dw .room_00 @@ -2616,37 +2616,37 @@ LevelRooms_c5d5c: dw NULL .room_00 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_03 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_105, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_105, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_04 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_05 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_06 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_10 - room_data 6, 1, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 6, 1, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_11 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_13 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE, ENEMY_GROUP_079, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE, OBJECT_GROUP_079, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_16 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_17 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_20 - room_data 6, 2, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 6, 2, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_21 - room_data 4, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 4, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_22 - room_data 5, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 5, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_23 - room_data 6, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 6, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_26 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_041, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_041, ANIMATED_TILES_GROUP_03, 0, ROOM_128 .room_27 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_128 LevelRooms_c5e18: dw .room_00 @@ -2681,37 +2681,37 @@ LevelRooms_c5e18: dw NULL .room_00 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_03 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_105, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_105, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_04 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_05 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_06 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_10 - room_data 6, 1, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 6, 1, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_11 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_13 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE, ENEMY_GROUP_132, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE, OBJECT_GROUP_132, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_16 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_17 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_20 - room_data 6, 2, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 6, 2, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_21 - room_data 4, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 4, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_22 - room_data 5, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 5, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_23 - room_data 6, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 6, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_26 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_041, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_041, ANIMATED_TILES_GROUP_03, 0, ROOM_129 .room_27 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_129 LevelRooms_c5ed4: dw .room_00 @@ -2746,37 +2746,37 @@ LevelRooms_c5ed4: dw NULL .room_00 - room_data 1, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 1, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_03 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_105, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_105, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_04 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_05 - room_data 2, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 2, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_06 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_10 - room_data 6, 1, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 6, 1, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_11 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_13 - room_data 7, 2, $3, $2, $a, $7, CAM_FREE, ENEMY_GROUP_132, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 7, 2, $3, $2, $a, $7, CAM_FREE, OBJECT_GROUP_132, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_16 - room_data 0, 1, $2, $1, $1, $0, CAM_FREE, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 0, 1, $2, $1, $1, $0, CAM_FREE, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_17 - room_data 3, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 3, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_20 - room_data 6, 2, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 6, 2, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_21 - room_data 4, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 4, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_22 - room_data 5, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 5, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_23 - room_data 6, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 6, 0, $3, $0, $7, $4, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_032, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_26 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE, ENEMY_GROUP_041, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE, OBJECT_GROUP_041, ANIMATED_TILES_GROUP_03, 0, ROOM_130 .room_27 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, ENEMY_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_UP | CAM_BORDER_DOWN, OBJECT_GROUP_031, ANIMATED_TILES_GROUP_03, 0, ROOM_130 LevelRooms_c5f90: dw .room_00 @@ -2813,47 +2813,47 @@ LevelRooms_c5f90: .room_00 .room_13 .room_27 - room_data 4, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_051 + room_data 4, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_051 .room_01 - room_data 0, 1, $2, $1, $2, $0, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 0, 1, $2, $1, $2, $0, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_02 - room_data 1, 1, $2, $1, $2, $0, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 1, 1, $2, $1, $2, $0, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_03 - room_data 1, 0, $1, $0, $3, $1, CAM_FREE, ENEMY_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 1, 0, $1, $0, $3, $1, CAM_FREE, OBJECT_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_04 - room_data 2, 0, $1, $0, $3, $1, CAM_FREE, ENEMY_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 2, 0, $1, $0, $3, $1, CAM_FREE, OBJECT_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_05 - room_data 3, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_051 + room_data 3, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_051 .room_06 .room_16 - room_data 7, 0, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 7, 0, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_07 - room_data 6, 0, $2, $0, $7, $6, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 6, 0, $2, $0, $7, $6, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_08 - room_data 2, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_051 + room_data 2, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_051 .room_09 .room_19 .room_29 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_051 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_051 .room_10 .room_11 .room_14 - room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_12 .room_17 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_15 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_051 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_051 .room_18 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_24 - room_data 5, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_051 + room_data 5, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_051 .room_25 - room_data 8, 2, $3, $2, $9, $6, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_051 + room_data 8, 2, $3, $2, $9, $6, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_051 .room_26 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_15, 9, ROOM_077 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_15, 9, ROOM_077 .room_28 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_051 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_051 LevelRooms_c605c: dw .room_00 @@ -2890,47 +2890,47 @@ LevelRooms_c605c: .room_00 .room_13 .room_27 - room_data 4, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_149 + room_data 4, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_149 .room_01 - room_data 0, 1, $2, $1, $2, $0, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 0, 1, $2, $1, $2, $0, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_02 - room_data 1, 1, $2, $1, $2, $0, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 1, 1, $2, $1, $2, $0, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_03 - room_data 1, 0, $1, $0, $3, $1, CAM_FREE, ENEMY_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 1, 0, $1, $0, $3, $1, CAM_FREE, OBJECT_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_04 - room_data 2, 0, $1, $0, $3, $1, CAM_FREE, ENEMY_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 2, 0, $1, $0, $3, $1, CAM_FREE, OBJECT_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_05 - room_data 3, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_149 + room_data 3, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_149 .room_06 .room_16 - room_data 7, 0, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 7, 0, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_07 - room_data 6, 0, $2, $0, $7, $6, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 6, 0, $2, $0, $7, $6, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_08 - room_data 2, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_149 + room_data 2, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_149 .room_09 .room_19 .room_29 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_149 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_149 .room_10 .room_11 .room_14 - room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_12 .room_17 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_15 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_149 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_149 .room_18 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_24 - room_data 5, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_149 + room_data 5, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_149 .room_25 - room_data 8, 2, $3, $2, $9, $6, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_149 + room_data 8, 2, $3, $2, $9, $6, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_149 .room_26 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_15, 9, ROOM_077 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_15, 9, ROOM_077 .room_28 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_149 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_149 LevelRooms_c6128: dw .room_00 @@ -2967,47 +2967,47 @@ LevelRooms_c6128: .room_00 .room_13 .room_27 - room_data 4, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_150 + room_data 4, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_150 .room_01 - room_data 0, 1, $2, $1, $2, $0, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 0, 1, $2, $1, $2, $0, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_02 - room_data 1, 1, $2, $1, $2, $0, CAM_FREE, ENEMY_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 1, 1, $2, $1, $2, $0, CAM_FREE, OBJECT_GROUP_106, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_03 - room_data 1, 0, $1, $0, $3, $1, CAM_FREE, ENEMY_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 1, 0, $1, $0, $3, $1, CAM_FREE, OBJECT_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_04 - room_data 2, 0, $1, $0, $3, $1, CAM_FREE, ENEMY_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 2, 0, $1, $0, $3, $1, CAM_FREE, OBJECT_GROUP_110, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_05 - room_data 3, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_150 + room_data 3, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_150 .room_06 .room_16 - room_data 7, 0, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 7, 0, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_07 - room_data 6, 0, $2, $0, $7, $6, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 6, 0, $2, $0, $7, $6, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_08 - room_data 2, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_150 + room_data 2, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_150 .room_09 .room_19 .room_29 - room_data 6, 2, $3, $2, $9, $6, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_150 + room_data 6, 2, $3, $2, $9, $6, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_150 .room_10 .room_11 .room_14 - room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS, ENEMY_GROUP_001, ANIMATED_TILES_GROUP_15, 11, ROOM_079 + room_data 5, 0, $1, $0, $6, $3, CAM_TRANSITIONS, OBJECT_GROUP_001, ANIMATED_TILES_GROUP_15, 11, ROOM_079 .room_12 .room_17 - room_data 8, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 8, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_15 - room_data 4, 2, $3, $2, $6, $4, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_150 + room_data 4, 2, $3, $2, $6, $4, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_150 .room_18 - room_data 7, 1, $2, $0, $9, $7, CAM_FREE, ENEMY_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 + room_data 7, 1, $2, $0, $9, $7, CAM_FREE, OBJECT_GROUP_109, ANIMATED_TILES_GROUP_15, 10, ROOM_078 .room_24 - room_data 5, 1, $2, $1, $6, $2, CAM_FREE, ENEMY_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_150 + room_data 5, 1, $2, $1, $6, $2, CAM_FREE, OBJECT_GROUP_068, ANIMATED_TILES_GROUP_15, 8, ROOM_150 .room_25 - room_data 8, 2, $3, $2, $9, $6, CAM_FREE, ENEMY_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_150 + room_data 8, 2, $3, $2, $9, $6, CAM_FREE, OBJECT_GROUP_104, ANIMATED_TILES_GROUP_15, 8, ROOM_150 .room_26 - room_data 9, 0, $3, $0, $a, $9, CAM_FREE, ENEMY_GROUP_002, ANIMATED_TILES_GROUP_15, 9, ROOM_077 + room_data 9, 0, $3, $0, $a, $9, CAM_FREE, OBJECT_GROUP_002, ANIMATED_TILES_GROUP_15, 9, ROOM_077 .room_28 - room_data 5, 2, $3, $2, $6, $4, CAM_FREE, ENEMY_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_150 + room_data 5, 2, $3, $2, $6, $4, CAM_FREE, OBJECT_GROUP_011, ANIMATED_TILES_GROUP_15, 8, ROOM_150 LevelRooms_c61f4: dw .room_00 @@ -3042,31 +3042,31 @@ LevelRooms_c61f4: dw NULL .room_00 - room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_07 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_08 - room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_09 - room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_11 - room_data 4, 2, $3, $2, $8, $4, CAM_FREE, ENEMY_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 4, 2, $3, $2, $8, $4, CAM_FREE, OBJECT_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_070 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_070 .room_14 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_17 - room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_18 - room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_21 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_23 - room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_24 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 LevelRooms_c6298: dw .room_00 @@ -3101,31 +3101,31 @@ LevelRooms_c6298: dw NULL .room_00 - room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_07 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_08 - room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_09 - room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_11 - room_data 4, 2, $3, $2, $8, $4, CAM_FREE, ENEMY_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 4, 2, $3, $2, $8, $4, CAM_FREE, OBJECT_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_070 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_070 .room_14 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_17 - room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_18 - room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_21 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_23 - room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_24 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 LevelRooms_c633c: dw .room_00 @@ -3160,31 +3160,31 @@ LevelRooms_c633c: dw NULL .room_00 - room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_07 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_08 - room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_09 - room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_11 - room_data 4, 2, $3, $2, $8, $4, CAM_FREE, ENEMY_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 4, 2, $3, $2, $8, $4, CAM_FREE, OBJECT_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_148 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_148 .room_14 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_17 - room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_18 - room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 .room_21 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_23 - room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_24 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_069 LevelRooms_c63e0: dw .room_00 @@ -3219,31 +3219,31 @@ LevelRooms_c63e0: dw NULL .room_00 - room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 + room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 .room_07 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 .room_08 - room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_09 - room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_11 - room_data 4, 2, $3, $2, $8, $4, CAM_FREE, ENEMY_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 4, 2, $3, $2, $8, $4, CAM_FREE, OBJECT_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_148 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_148 .room_14 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 .room_17 - room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_18 - room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 .room_21 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_23 - room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_24 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_145 LevelRooms_c6484: dw .room_00 @@ -3278,31 +3278,31 @@ LevelRooms_c6484: dw NULL .room_00 - room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_07 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_08 - room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_09 - room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_11 - room_data 4, 2, $3, $2, $8, $4, CAM_FREE, ENEMY_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 4, 2, $3, $2, $8, $4, CAM_FREE, OBJECT_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_070 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_070 .room_14 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_17 - room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_18 - room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_21 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_23 - room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_083, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_24 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 LevelRooms_c6528: dw .room_00 @@ -3337,31 +3337,31 @@ LevelRooms_c6528: dw NULL .room_00 - room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_07 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_08 - room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_09 - room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_11 - room_data 4, 2, $3, $2, $8, $4, CAM_FREE, ENEMY_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 4, 2, $3, $2, $8, $4, CAM_FREE, OBJECT_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_070 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_070 .room_14 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_17 - room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_18 - room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_21 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_23 - room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 + room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_070 .room_24 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 LevelRooms_c65cc: dw .room_00 @@ -3396,31 +3396,31 @@ LevelRooms_c65cc: dw NULL .room_00 - room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_07 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_08 - room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_09 - room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_11 - room_data 4, 2, $3, $2, $8, $4, CAM_FREE, ENEMY_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 4, 2, $3, $2, $8, $4, CAM_FREE, OBJECT_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_148 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_148 .room_14 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_17 - room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_18 - room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 .room_21 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_23 - room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_24 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_082, ANIMATED_TILES_GROUP_10, 0, ROOM_146 LevelRooms_c6670: dw .room_00 @@ -3455,31 +3455,31 @@ LevelRooms_c6670: dw NULL .room_00 - room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 + room_data 2, 0, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 .room_07 - room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 + room_data 3, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 .room_08 - room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 7, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_09 - room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, ENEMY_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 8, 1, $2, $1, $9, $7, CAM_TRANSITIONS, OBJECT_GROUP_019, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_11 - room_data 4, 2, $3, $2, $8, $4, CAM_FREE, ENEMY_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 4, 2, $3, $2, $8, $4, CAM_FREE, OBJECT_GROUP_085, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_148 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_084, ANIMATED_TILES_GROUP_12, 0, ROOM_148 .room_14 - room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 + room_data 3, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 .room_17 - room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 8, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_18 - room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 9, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_20 - room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 + room_data 1, 2, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 .room_21 - room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 0, 2, $3, $2, $1, $0, CAM_FREE | CAM_BORDER_RIGHT, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_23 - room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, ENEMY_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 + room_data 7, 0, $1, $0, $a, $7, CAM_FREE | CAM_BORDER_LEFT, OBJECT_GROUP_137, ANIMATED_TILES_GROUP_10, 0, ROOM_148 .room_24 - room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, ENEMY_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 + room_data 1, 1, $3, $0, $4, $1, CAM_FREE | CAM_BORDER_RIGHT | CAM_BORDER_LEFT | CAM_BORDER_UP, OBJECT_GROUP_138, ANIMATED_TILES_GROUP_10, 0, ROOM_147 LevelRooms_c6714: dw .room_00 @@ -3514,27 +3514,27 @@ LevelRooms_c6714: dw NULL .room_00 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_01 - room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, ENEMY_GROUP_097, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, OBJECT_GROUP_097, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_05 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_09 - room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_10 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_11 - room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_14 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_17 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_21 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_052 .room_24 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_052 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_052 LevelRooms_c67a8: dw .room_00 @@ -3569,27 +3569,27 @@ LevelRooms_c67a8: dw NULL .room_00 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_01 - room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, ENEMY_GROUP_097, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, OBJECT_GROUP_097, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_05 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_09 - room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_10 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_11 - room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_14 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_17 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_21 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_24 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_139 LevelRooms_c683c: dw .room_00 @@ -3624,27 +3624,27 @@ LevelRooms_c683c: dw NULL .room_00 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_01 - room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, ENEMY_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, OBJECT_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_05 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_09 - room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_10 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_11 - room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_14 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_17 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_21 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_139 .room_24 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_139 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_139 LevelRooms_c68d0: dw .room_00 @@ -3679,27 +3679,27 @@ LevelRooms_c68d0: dw NULL .room_00 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_01 - room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, ENEMY_GROUP_097, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, OBJECT_GROUP_097, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_05 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_09 - room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_10 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_11 - room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_14 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_17 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_21 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_140 .room_24 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_140 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_140 LevelRooms_c6964: dw .room_00 @@ -3734,27 +3734,27 @@ LevelRooms_c6964: dw NULL .room_00 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_01 - room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, ENEMY_GROUP_097, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, OBJECT_GROUP_097, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_05 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_09 - room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_10 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_11 - room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_14 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_17 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_21 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_24 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_141 LevelRooms_c69f8: dw .room_00 @@ -3789,27 +3789,27 @@ LevelRooms_c69f8: dw NULL .room_00 - room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 2, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_01 - room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, ENEMY_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 1, 2, $3, $2, $4, $1, CAM_TRANSITIONS, OBJECT_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_05 - room_data 7, 1, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 7, 1, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_09 - room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, ENEMY_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 4, 2, $3, $2, $6, $4, CAM_TRANSITIONS, OBJECT_GROUP_014, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_10 - room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 1, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_11 - room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, ENEMY_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 0, 1, $3, $1, $1, $0, CAM_FREE | CAM_BORDER_UP, OBJECT_GROUP_043, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_13 - room_data 4, 1, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 4, 1, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_14 - room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 3, 1, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_17 - room_data 5, 0, $2, $0, $7, $4, CAM_FREE, ENEMY_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 5, 0, $2, $0, $7, $4, CAM_FREE, OBJECT_GROUP_143, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_21 - room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, ENEMY_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 1, 0, $2, $0, $4, $1, CAM_FREE | CAM_BORDER_DOWN, OBJECT_GROUP_113, ANIMATED_TILES_GROUP_11, 0, ROOM_141 .room_24 - room_data 9, 0, $2, $0, $a, $7, CAM_FREE, ENEMY_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_141 + room_data 9, 0, $2, $0, $a, $7, CAM_FREE, OBJECT_GROUP_144, ANIMATED_TILES_GROUP_11, 0, ROOM_141 LevelRooms_c6a8c: dw .room_00 @@ -3844,4 +3844,4 @@ LevelRooms_c6a8c: dw NULL .room_00 - room_data 1, 0, $1, $0, $2, $1, CAM_XSCROLL2 | CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, ENEMY_GROUP_HIDDEN_FIGURE, ANIMATED_TILES_GROUP_03, 0, ROOM_059 + room_data 1, 0, $1, $0, $2, $1, CAM_XSCROLL2 | CAM_TRANSITIONS | CAM_BORDER_RIGHT | CAM_BORDER_LEFT, OBJECT_GROUP_HIDDEN_FIGURE, ANIMATED_TILES_GROUP_03, 0, ROOM_059 diff --git a/src/engine/bank8.asm b/src/engine/bank8.asm index 4343f9f..2c972b8 100644 --- a/src/engine/bank8.asm +++ b/src/engine/bank8.asm @@ -1,3718 +1,3 @@ -ProcessInteractions: - ld a, [wIsIntangible] - and a - ret nz ; quit if Wario is intangible - ld a, [wIsFloorTransition] - and a - ret nz ; quit if floor is transitioning - ld a, [wAutoMoveState] - and a - ret nz ; quit if auto-moving - xor a - ld [wIsOnSteppableObject], a - - ld hl, wObjects -.loop_objects - ld a, h - cp HIGH(wObjects) + 1 - ret z - ld [wObjPtr + 0], a - ld a, l - ld [wObjPtr + 1], a - ld a, [hl] ; OBJ_FLAGS - and OBJFLAG_ACTIVE | OBJFLAG_ON_SCREEN - cp OBJFLAG_ACTIVE | OBJFLAG_ON_SCREEN - jr z, .asm_20036 -.next_obj - ld a, [wObjPtr + 0] - ld h, a - ld a, [wObjPtr + 1] - ld l, a - ld de, OBJ_STRUCT_LENGTH - add hl, de - jr .loop_objects - -.asm_20036 - push hl - ld e, OBJ_UNK_1D - ld d, $00 - add hl, de - ld a, [hld] - ld [wUnused_c1b8], a - ld a, [hl] ; OBJ_ACTION - pop hl - and a - jr nz, .next_obj - - ld e, OBJ_INTERACTION_TYPE - ld d, $00 - add hl, de - ld a, [hli] ; OBJ_INTERACTION_TYPE - ld [wObjInteractionType], a - ld a, [hli] ; OBJ_COLLBOX_TOP - ld [wObjCollBoxTop], a - ld a, [hli] ; OBJ_COLLBOX_BOTTOM - ld [wObjCollBoxBottom], a - ld a, [hli] ; OBJ_COLLBOX_LEFT - ld [wObjCollBoxLeft], a - ld a, [hli] ; OBJ_COLLBOX_RIGHT - ld [wObjCollBoxRight], a - ld a, [hli] ; OBJ_SCREEN_Y_POS - ld [wObjScreenYPos], a - ld a, [hl] ; OBJ_SCREEN_X_POS - ld [wObjScreenXPos], a - - ld e, OBJ_SUBSTATE - OBJ_SCREEN_X_POS - ld d, $00 - add hl, de - ld a, [hl] ; OBJ_SUBSTATE - bit OBJSUBFLAG_HDIR_F, a - jr nz, .asm_20074 - ld a, DIRECTION_LEFT - jr .asm_20076 -.asm_20074 - ld a, DIRECTION_RIGHT -.asm_20076 - ld [wEnemyDirection], a - - xor a - ld [wInteractionSide], a - ld a, $ff - ld [wc1c2], a - ld [wc1c1], a - ld [wc1c3], a - ld [wc1c4], a - - ld e, $d0 - ld hl, wObjCollBoxTop - ld a, [wObjScreenYPos] - add [hl] - sub e - ld b, a - ld hl, wCollisionBoxBottom - ld a, [wWarioScreenYPos] - add [hl] - sub e - sub b - jp c, .next_obj - ld c, a - - ld hl, wCollisionBoxTop - ld a, [wWarioScreenYPos] - add [hl] - sub e - ld b, a - ld hl, wObjCollBoxBottom - ld a, [wObjScreenYPos] - add [hl] - sub e - sub b - jp c, .next_obj - ld d, a - ld a, d - sub c - jr c, .asm_200c9 - jr z, .asm_200c5 - - ld a, c - ld [wc1c1], a - jr .asm_200cd -.asm_200c5 - ld a, c - ld [wc1c1], a -.asm_200c9 - ld a, d - ld [wc1c2], a -.asm_200cd - - ld hl, wObjCollBoxLeft - ld a, [wObjScreenXPos] - add [hl] - sub e - ld b, a - ld hl, wCollisionBoxRight - ld a, [wWarioScreenXPos] - add [hl] - sub e - sub b - jp c, .next_obj - ld c, a - ld hl, wCollisionBoxLeft - ld a, [wWarioScreenXPos] - add [hl] - sub e - ld b, a - ld hl, wObjCollBoxRight - ld a, [wObjScreenXPos] - add [hl] - sub e - sub b - jp c, .next_obj - ld d, a - sub c - jr c, .asm_20108 - jr z, .asm_20104 - - ld a, c - ld [wc1c3], a - jr .asm_2010c -.asm_20104 - ld a, c - ld [wc1c3], a -.asm_20108 - ld a, d - ld [wc1c4], a -.asm_2010c - - ld hl, wInteractionSide - ld a, INTERACTION_LEFT | INTERACTION_RIGHT | INTERACTION_UP | INTERACTION_DOWN - ld [hl], a - ld a, [wc1c4] - ld b, a - ld a, [wc1c3] - ld c, a - cp b - jr z, .asm_20126 - jr c, .asm_20123 - res INTERACTION_RIGHT_F, [hl] - jr .asm_20126 -.asm_20123 - res INTERACTION_LEFT_F, [hl] - ld b, c -.asm_20126 - ld a, [wc1c2] - ld d, a - ld a, [wc1c1] - ld e, a - cp d - jr z, .asm_2013a - jr c, .asm_20137 - res INTERACTION_UP_F, [hl] - jr .asm_2013a -.asm_20137 - res INTERACTION_DOWN_F, [hl] - ld d, e -.asm_2013a - ld a, b - cp d - jr z, .do_interaction - jr c, .asm_20146 - res INTERACTION_LEFT_F, [hl] - res INTERACTION_RIGHT_F, [hl] - jr .do_interaction -.asm_20146 - res INTERACTION_UP_F, [hl] - res INTERACTION_DOWN_F, [hl] - -.do_interaction - ld a, [wObjInteractionType] - and INTERACTION_MASK - jumptable - -.table - table_width 2, ProcessInteractions.table - dw Func_20b6b ; OBJ_INTERACTION_00 - dw Func_20d1d ; OBJ_INTERACTION_01 - dw ObjInteraction_FrontSting ; OBJ_INTERACTION_FRONT_STING - dw ObjInteraction_BackSting ; OBJ_INTERACTION_BACK_STING - dw ObjInteraction_TopSting ; OBJ_INTERACTION_TOP_STING - dw ObjInteraction_FullSting ; OBJ_INTERACTION_FULL_STING - dw Func_20d81 ; OBJ_INTERACTION_06 - dw Func_20d8c ; OBJ_INTERACTION_07 - dw Func_20deb ; OBJ_INTERACTION_08 - dw Func_20e39 ; OBJ_INTERACTION_09 - dw Func_20e60 ; OBJ_INTERACTION_0A - dw Func_20e6a ; OBJ_INTERACTION_0B - dw ObjInteraction_Walkable ; OBJ_INTERACTION_WALKABLE - dw ObjInteraction_MusicalCoin ; OBJ_INTERACTION_MUSICAL_COIN - dw ObjInteraction_Fire ; OBJ_INTERACTION_FIRE - dw ObjInteraction_Richtertoffen ; OBJ_INTERACTION_RICHTERTOFFEN - dw ObjInteraction_GreyKey ; OBJ_INTERACTION_GREY_KEY - dw ObjInteraction_RedKey ; OBJ_INTERACTION_RED_KEY - dw ObjInteraction_GreenKey ; OBJ_INTERACTION_GREEN_KEY - dw ObjInteraction_BlueKey ; OBJ_INTERACTION_BLUE_KEY - dw ObjInteraction_GreyTreasure ; OBJ_INTERACTION_GREY_TREASURE - dw ObjInteraction_RedTreasure ; OBJ_INTERACTION_RED_TREASURE - dw ObjInteraction_GreenTreasure ; OBJ_INTERACTION_GREEN_TREASURE - dw ObjInteraction_BlueTreasure ; OBJ_INTERACTION_BLUE_TREASURE - dw ObjInteraction_Omodonmeka ; OBJ_INTERACTION_OMODONMEKA - dw ObjInteraction_Silky ; OBJ_INTERACTION_SILKY - dw ObjInteraction_Food ; OBJ_INTERACTION_FOOD - dw ObjInteraction_RegularCoin ; OBJ_INTERACTION_REGULAR_COIN - dw ObjInteraction_Electric ; OBJ_INTERACTION_ELECTRIC - dw ObjInteraction_InvisibilityPotion ; OBJ_INTERACTION_INVISIBILITY_POTION - dw ObjInteraction_Pneumo ; OBJ_INTERACTION_PNEUMO - dw ObjInteraction_ZombieHead ; OBJ_INTERACTION_ZOMBIE_HEAD - dw ObjInteraction_Bouncy ; OBJ_INTERACTION_BOUNCY - dw ObjInteraction_FireBot ; OBJ_INTERACTION_FIRE_BOT - dw ObjInteraction_Solid ; OBJ_INTERACTION_SOLID - dw ObjInteraction_Omodon ; OBJ_INTERACTION_OMODON - dw ObjInteraction_OrangeBird ; OBJ_INTERACTION_ORANGE_BIRD - dw ObjInteraction_Vampire ; OBJ_INTERACTION_VAMPIRE - dw ObjInteraction_Bubble ; OBJ_INTERACTION_BUBBLE - dw ObjInteraction_Ice ; OBJ_INTERACTION_ICE - dw ObjInteraction_Owl ; OBJ_INTERACTION_OWL - dw ObjInteraction_Rail ; OBJ_INTERACTION_RAIL - dw ObjInteraction_Haridama ; OBJ_INTERACTION_HARIDAMA - dw ObjInteraction_AnonsterWave ; OBJ_INTERACTION_ANONSTER_WAVE - dw ObjInteraction_AnonsterSilk ; OBJ_INTERACTION_ANONSTER_SILK - dw ObjInteraction_Snow ; OBJ_INTERACTION_SNOW - dw ObjInteraction_UnlitTorch ; OBJ_INTERACTION_UNLIT_TORCH - dw ObjInteraction_Stove ; OBJ_INTERACTION_STOVE - dw ObjInteraction_RoboMouse ; OBJ_INTERACTION_ROBO_MOUSE - dw Func_21af1 ; OBJ_INTERACTION_31 - dw ObjInteraction_DollBoyHammer ; OBJ_INTERACTION_DOLL_BOY_HAMMER - dw ObjInteraction_RollingRock ; OBJ_INTERACTION_ROLLING_ROCK - dw ObjInteraction_Wormwould ; OBJ_INTERACTION_WORMWOULD - dw ObjInteraction_Beam ; OBJ_INTERACTION_BEAM - dw Func_21b78 ; OBJ_INTERACTION_36 - dw ObjInteraction_YellowBellyArrow ; OBJ_INTERACTION_YELLOW_BELLY_ARROW - dw ObjInteraction_Teruteru ; OBJ_INTERACTION_TERUTERU - dw ObjInteraction_WaterDrop ; OBJ_INTERACTION_WATER_DROP - dw ObjInteraction_Pesce ; OBJ_INTERACTION_PESCE - dw Func_21c56 ; OBJ_INTERACTION_3B - dw ObjInteraction_Tadpole ; OBJ_INTERACTION_TADPOLE - dw ObjInteraction_Hebarii ; OBJ_INTERACTION_HEBARII - dw ObjInteraction_PrinceFroggy ; OBJ_INTERACTION_PRINCE_FROGGY - dw ObjInteraction_Hand ; OBJ_INTERACTION_HAND - dw ObjInteraction_WaterTeleporting ; OBJ_INTERACTION_WATER_TELEPORTING - dw Func_21ce9 ; OBJ_INTERACTION_41 - dw ObjInteraction_Ink ; OBJ_INTERACTION_INK - dw Func_207ed ; OBJ_INTERACTION_43 - dw ObjInteraction_Jamano ; OBJ_INTERACTION_JAMANO - dw ObjInteraction_Turtle ; OBJ_INTERACTION_TURTLE - dw Func_21d3b ; OBJ_INTERACTION_46 - dw Func_21d64 ; OBJ_INTERACTION_47 - dw Func_21d6f ; OBJ_INTERACTION_48 - dw Func_21d88 ; OBJ_INTERACTION_49 - dw ObjInteraction_ColourCoin ; OBJ_INTERACTION_COLOUR_COIN - dw ObjInteraction_MagicalSpiral ; OBJ_INTERACTION_MAGICAL_SPIRAL - dw ObjInteraction_BottomSting ; OBJ_INTERACTION_BOTTOM_STING - dw Func_21e3e ; OBJ_INTERACTION_4D - dw Func_21e9c ; OBJ_INTERACTION_4E - dw Func_21ea6 ; OBJ_INTERACTION_4F - dw Func_21ecd ; OBJ_INTERACTION_50 - dw Func_21f01 ; OBJ_INTERACTION_51 - dw Func_21f28 ; OBJ_INTERACTION_52 - dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_1 - dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_2 - dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_3 - dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_4 - dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_5 - dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_6 - assert_table_length NUM_OBJ_INTERACTIONS - -ObjInteraction_None: - ret - -; clears the screen from objects -; when opening a treasure -TreasureClearObjects: - ld hl, wObjects - ld de, OBJ_STRUCT_LENGTH -.loop_objects - ld a, h - cp HIGH(wCurObj) - ret z - ld a, [hl] ; OBJ_FLAGS - and OBJFLAG_ACTIVE | OBJFLAG_ON_SCREEN - cp OBJFLAG_ACTIVE - jr z, .vanish_obj - cp OBJFLAG_ACTIVE | OBJFLAG_ON_SCREEN - jr z, .vanish_obj -.next_obj - add hl, de - jr .loop_objects -.vanish_obj - ld a, [wObjPtr + 1] - cp l - jr z, .next_obj - push hl - ld c, OBJ_ACTION - ld b, $00 - add hl, bc - ld [hl], OBJACTION_VANISH_TREASURE - pop hl - jr .next_obj - -Func_2022c: - ld a, [wIsRolling] - and a - jp nz, AttackObject - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jp nz, StepOnObject -; fallthrough - -Func_2023b: - ld a, [wTouchState] - and a - jr z, .asm_20257 - cp TOUCH_BUMP - jr z, .asm_20257 - cp TOUCH_VULNERABLE - jp z, Func_20939 ; this causes an infinite loop! - cp TOUCH_ATTACK - jp z, AttackObject - cp TOUCH_VANISH - jp z, Func_205e7 - jp ProcessInteractions.next_obj - -.asm_20257 - ld a, [wAttackCounter] - and a - jp nz, AttackObject - - ld b, OBJACTION_BUMP - call SetObjAction - - ld a, [wInvincibleCounter] - cp $01 - ret z ; is invincible - ld a, [wTransformation] - cp TRANSFORMATION_FLAT_WARIO - jr z, Func_2028a - and a - ret nz - - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_20283 - ld a, DIRECTION_LEFT - ld [wDirection], a - jr .wario_bump -.asm_20283 - ld a, DIRECTION_RIGHT - ld [wDirection], a -.wario_bump - jr SetState_EnemyBumping - -Func_2028a: - ld a, [wJumpVelTable] - and a - ret z - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_202a0 - ld a, DIRECTION_LEFT - ld [wDirection], a - jr .asm_202a5 -.asm_202a0 - ld a, DIRECTION_RIGHT - ld [wDirection], a -.asm_202a5 - farcall SetState_FlatFalling - ret - -SetState_EnemyBumping: - play_sfx SFX_BUMP - ld a, $0e - ld [wJumpVelIndex], a - ld a, $01 - ld [wJumpVelTable], a - - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wIsSmashAttacking], a - ld [wGrabState], a - - ld a, WST_ENEMY_BUMPING - ld [wWarioState], a - - ld a, BANK(WarioWalkGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioWalkGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioWalkGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - ld a, BANK(OAM_1426c) - ld [wOAMBank], a - ld a, HIGH(OAM_1426c) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_1426c) - ld [wOAMPtr + 1], a - - ld a, [wIsCrouching] - and a - jr nz, .crouching - ld a, [wDirection] - and a - jr nz, .asm_20326 - ld a, HIGH(Frameset_14a71) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_14a71) - ld [wFramesetPtr + 1], a -.asm_20316 - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret -.asm_20326 - ld a, HIGH(Frameset_14a6c) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_14a6c) - ld [wFramesetPtr + 1], a - jr .asm_20316 - -.crouching - ld a, [wDirection] - and a - jr nz, .asm_20344 - ld a, HIGH(Frameset_14a3b) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_14a3b) - ld [wFramesetPtr + 1], a - jr .asm_20316 -.asm_20344 - ld a, HIGH(Frameset_14a38) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_14a38) - ld [wFramesetPtr + 1], a - jr .asm_20316 - -; routine called when an object is attacked -; whether by Wario's B attack, Fat Wario bump, rolling, etc. -AttackObject: - play_sfx SFX_017 - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_20382 - - ld a, INTERACTION_RIGHT - ld [wInteractionSide], a - ld hl, wWarioXPos + 1 - ld de, hXPosLo - ld a, [hld] - add $08 - ld [de], a - dec de - ld a, [hld] - adc $00 - ld [de], a - dec de - ld a, [hld] - sub $08 - ld [de], a - dec de - ld a, [hl] - sbc $00 - ld [de], a - jr .asm_203a0 - -.asm_20382 - ld a, INTERACTION_LEFT - ld [wInteractionSide], a - ld hl, wWarioXPos + 1 - ld de, hXPosLo - ld a, [hld] - sub $08 - ld [de], a - dec de - ld a, [hld] - sbc $00 - ld [de], a - dec de - ld a, [hld] - sub $08 - ld [de], a - dec de - ld a, [hl] - sbc $00 - ld [de], a - -.asm_203a0 - ld b, PARTICLE_STARS - farcall CreateParticle - ld b, OBJACTION_ATTACK - call SetObjAction - ld a, [wTransformation] - cp TRANSFORMATION_FAT_WARIO - jr z, .fat - cp TRANSFORMATION_SNOWMAN_WARIO - jr z, .snowman - and a - ret nz - - ld a, [wIsRolling] - and a - jr z, .not_rolling - ld a, [wObjInteractionType] - bit HEAVY_OBJ_F, a - ret z - ld a, [wPowerUpLevel] - cp GARLIC - ret nc - farcall DoJumpingBump_NoSFX - ret - -.not_rolling - ld a, [wObjInteractionType] - bit HEAVY_OBJ_F, a - jr z, .asm_203fc - farcall DoJumpingBump_NoSFX - ret - -.asm_203fc - ld a, [wJumpVelTable] - and a - jr nz, .asm_20412 - farcall SetState_Idling - ret -.asm_20412 - farcall StartFall - ret - -.fat - farcall SetState_FatBumping - ret - -.snowman - ld a, [wWarioTransformationProgress] - and a - ret nz - farcall SetState_SnowmanBumped - ret - -; routine called when Wario steps on an object -StepOnObject: -; no stun if Wario is invincible - ld a, [wInvincibleCounter] - cp $01 - ret z - - ld a, [wIsSmashAttacking] - dec a - jr nz, .no_smash_attack -; Wario is smash attacking - ld a, [wTransformation] - cp TRANSFORMATION_FAT_WARIO - jp z, Func_205e7 - jp Func_20602 - -.no_smash_attack - ld a, [wTransformation] - and a - jp nz, .Transformed - -; not transformed - xor a - ld [wAttackCounter], a - -; stepping on object while rolling is attacking - ld a, [wIsRolling] - and a - jp nz, AttackObject - - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .on_left -; on right - ld a, [wInteractionSide] - or INTERACTION_RIGHT - ld [wInteractionSide], a - jr .asm_2048c -.on_left - ld a, [wInteractionSide] - or INTERACTION_LEFT - ld [wInteractionSide], a -.asm_2048c - ld a, [wInteractionSide] - bit INTERACTION_DOWN_F, a - jr nz, .asm_20506 - ld a, [wWarioScreenYPos] - ld b, a - ld a, [wObjScreenYPos] - cp b - jr c, .asm_20506 - - ld a, [wGrabState] - and GRAB_STATE_MASK - cp GRAB_IDLE - jr z, .grabbing -; clear grab state - xor a - ld [wGrabState], a - - ld a, [wIsCrouching] - and a - jr nz, .crouching_1 - ld a, [wJoypadDown] - and a - jp z, .no_input - farcall StartJump_FromInput - jr .asm_204e8 - -.crouching_1 - farcall StartCrouchJump - jr .asm_204e8 - -.grabbing - farcall Func_1ede9 - -.asm_204e8 - ld a,TRUE - ld [wDoFullJump], a - ld a, $0a - ld [wJumpVelIndex], a - - ld a, [wJoypadDown] - bit A_BUTTON_F, a - jr z, .asm_20578 - ld a, [wPowerUpLevel] - cp HIGH_JUMP_BOOTS - jr c, .asm_20578 - xor a ; full jump - ld [wJumpVelIndex], a - jr .asm_20578 - -.asm_20506 - ld a, [wInvincibleCounter] - cp $01 - ret z - ld a, [wIsCrouching] - and a - jr nz, .crouching_2 - - ld a, [wGrabState] - and GRAB_STATE_MASK - cp GRAB_IDLE - jr z, .asm_20547 - xor a - ld [wGrabState], a - ld a, [wJumpVelTable] - and a - jr nz, .asm_20536 - farcall SetState_Idling - jr .asm_20578 - -.asm_20536 - farcall StartFall - jr .asm_20578 - -.asm_20547 - ld a, [wJumpVelTable] - and a - jr z, .asm_20578 - farcall Func_1edd3 - jr .asm_20578 - -.crouching_2 - ld a, [wJumpVelTable] - and a - jr z, .asm_20578 - farcall StartCrouchFall - jr .asm_20578 - -.no_input - call Func_20939 -.asm_20578 - play_sfx SFX_014 - ld b, OBJACTION_WOBBLE - jp SetObjAction - -.Transformed - ld a, [wTransformation] - cp TRANSFORMATION_HOT_WARIO - jr nz, .not_hot_wario - ld a, [wWarioTransformationProgress] - cp 2 - jr nc, Func_205e7 -.not_hot_wario - - ld a, [wTransformation] - cp TRANSFORMATION_FAT_WARIO - jp z, AttackObject - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_205af - ld a, [wInteractionSide] - or INTERACTION_RIGHT - ld [wInteractionSide], a - jr .asm_205b7 -.asm_205af - ld a, [wInteractionSide] - or INTERACTION_LEFT - ld [wInteractionSide], a -.asm_205b7 - play_sfx SFX_014 - ld b, OBJACTION_WOBBLE - call SetObjAction - ld a, [wTransformation] - cp TRANSFORMATION_FLAT_WARIO - jp z, Func_2028a - cp TRANSFORMATION_BOUNCY_WARIO - jr z, .asm_205d1 - ret -.asm_205d1 - ld a, [wTouchState] - cp TOUCH_PASS_THROUGH - ret z - farcall Func_2a0b2 - ret - -Func_205e7: - ld b, OBJACTION_VANISH_TOUCH - call SetObjAction - ld a, [wTransformation] - cp TRANSFORMATION_ZOMBIE_WARIO - ret nz - farcall SetState_ZombieKnockBack - ret - -Func_20602: - ld a, [wTransformation] - cp TRANSFORMATION_INVISIBLE_WARIO - jr z, .invisible - and a - jr nz, Func_205e7 ; has transformation except invisible -.invisible - ld a, [wGrabState] - and GRAB_STATE_MASK - cp GRAB_IDLE - jr z, .asm_2062a - xor a - ld [wGrabState], a - farcall StartJump_FromInput - jr .asm_20639 -.asm_2062a - farcall Func_1ede9 -.asm_20639 - ld a, TRUE - ld [wDoFullJump], a - ld a, $0a - ld [wJumpVelIndex], a - ld a, [wJoypadDown] - bit A_BUTTON_F, a - jr z, .asm_20655 - ld a, [wPowerUpLevel] - cp HIGH_JUMP_BOOTS - jr c, .asm_20655 - xor a - ld [wJumpVelIndex], a -.asm_20655 - ld b, OBJACTION_VANISH_TOUCH -; fallthrough - -SetObjAction: - ld a, [wObjPtr + 0] - ld h, a - ld a, [wObjPtr + 1] - ld l, a - ld e, OBJ_ACTION - ld d, $00 - add hl, de - ld [hl], b - inc l - ld a, [wInteractionSide] - ld b, a - ld a, [hl] ; OBJ_UNK_1D - and $0f - or b - ld [hl], a - ret - -Func_20670: - ld a, [wInvincibleCounter] - and a - jp nz, Func_20939 - -; if Wario is rolling, do attack - ld a, [wPowerUpLevel] - cp GARLIC - jr nc, .check_rolling - ld a, [wObjInteractionType] - bit HEAVY_OBJ_F, a - jr nz, .asm_2068c -.check_rolling - ld a, [wIsRolling] - and a - jp nz, AttackObject - -.asm_2068c - ld a, [wStingTouchState] - and a - jr z, .asm_206a8 - cp TOUCH_VULNERABLE - jr z, .asm_206a8 - cp TOUCH_BUMP - jp z, Func_2023b - cp TOUCH_ATTACK - jp z, AttackObject - cp TOUCH_VANISH - jp z, Func_205e7 - jp ProcessInteractions.next_obj - -.asm_206a8 - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_206bc - ld a, [wInteractionSide] - or INTERACTION_RIGHT - ld [wInteractionSide], a - jr .asm_206c4 -.asm_206bc - ld a, [wInteractionSide] - or INTERACTION_LEFT - ld [wInteractionSide], a -.asm_206c4 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, .asm_206d2 - ld a, DIRECTION_RIGHT - ld [wDirection], a - jr .asm_206d7 -.asm_206d2 - ld a, DIRECTION_LEFT - ld [wDirection], a -.asm_206d7 - ld b, OBJACTION_06 - call SetObjAction - ld a, [wInvincibleCounter] - cp $01 - ret z - ld a, [wStingTouchState] - cp TOUCH_VULNERABLE - jr z, Func_206eb - jr SetState_Stung - -Func_206eb: - ld a, [wTransformation] - cp TRANSFORMATION_OWL_WARIO - call z, ReleaseOwl - call ClearTransformationValues - call UpdateLevelMusic -; fallthrough - -SetState_Stung: - ld a, $01 - ld [wInvincibleCounter], a - - play_sfx SFX_STING - - ld a, WST_STUNG - ld [wWarioState], a - - xor a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wGrabState], a - ld [wAttackCounter], a - ld [wIsRolling], a - ld [wIsSmashAttacking], a - ld a, $6 - ld [wJumpVelIndex], a - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - ld a, [wIsCrouching] - and a - jr z, .asm_20774 - ld a, -27 - ld [wCollisionBoxTop], a - - ldh a, [hYPosHi] - ldh [hffad], a - ldh a, [hYPosLo] - ldh [hffae], a - ldh a, [hXPosHi] - ldh [hffaf], a - ldh a, [hXPosLo] - ldh [hffb0], a - - farcall CheckUpCollision - ld a, b - and a - jr nz, .asm_20780 - - xor a - ld [wIsCrouching], a - ldh a, [hffad] - ldh [hYPosHi], a - ldh a, [hffae] - ldh [hYPosLo], a - ldh a, [hffaf] - ldh [hXPosHi], a - ldh a, [hffb0] - ldh [hXPosLo], a - -.asm_20774 - ld a, -27 - ld [wCollisionBoxTop], a - ld a, JUMP_VEL_KNOCK_BACK - ld [wJumpVelTable], a - jr .asm_20799 - -.asm_20780 - ld a, -15 - ld [wCollisionBoxTop], a - xor a ; JUMP_VEL_NONE - ld [wJumpVelTable], a - - ldh a, [hffad] - ldh [hYPosHi], a - ldh a, [hffae] - ldh [hYPosLo], a - ldh a, [hffaf] - ldh [hXPosHi], a - ldh a, [hffb0] - ldh [hXPosLo], a - -.asm_20799 - ld a, BANK(WarioAirborneGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioAirborneGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioAirborneGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - ld a, BANK(OAM_15955) - ld [wOAMBank], a - ld a, HIGH(OAM_15955) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_15955) - ld [wOAMPtr + 1], a - - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - ld a, [wDirection] - and a - jr nz, .asm_207d3 - ld a, HIGH(Frameset_15f7f) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_15f7f) - ld [wFramesetPtr + 1], a - jr .asm_207dd -.asm_207d3 - ld a, HIGH(Frameset_15f70) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_15f70) - ld [wFramesetPtr + 1], a -.asm_207dd - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -Func_207ed: - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wWaterInteraction] - and a - ret z - ld a, [wStingTouchState] - and a - jr z, .asm_20808 - cp TOUCH_BUMP - jp z, Func_208f2.start - cp TOUCH_VANISH - jp z, Func_2092d - ret - -.asm_20808 - ld b, OBJACTION_06 - call SetObjAction -; fallthrough - -SetState_WaterStung: - play_sfx SFX_STING - ld a, $01 - ld [wInvincibleCounter], a - ld a, WST_WATER_STUNG - ld [wWarioState], a - xor a - ld [wSwimVelIndex], a - ld [wJumpVelTable], a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld a, TRUE - ld [wIsIntangible], a - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -15 - ld [wCollisionBoxTop], a - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - ld a, BANK(WarioAirborneGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioAirborneGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioAirborneGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - ld a, BANK(OAM_15955) - ld [wOAMBank], a - ld a, HIGH(OAM_15955) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_15955) - ld [wOAMPtr + 1], a - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - ld a, [wDirection] - and a - jr nz, .asm_2087f - ld a, HIGH(Frameset_15f70) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_15f70) - ld [wFramesetPtr + 1], a - jr .asm_20889 -.asm_2087f - ld a, HIGH(Frameset_15f7f) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_15f7f) - ld [wFramesetPtr + 1], a -.asm_20889 - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -Func_20899: - ld a, [wStingTouchState] - and a - jr z, .asm_208a9 - cp TOUCH_BUMP - jr z, .asm_208a9 - cp TOUCH_VANISH - jp z, Func_2092d - ret - -.asm_208a9 - ld a, [wWaterInteraction] - and a - ret z - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_208c2 - ld a, [wInteractionSide] - or INTERACTION_RIGHT - ld [wInteractionSide], a - jr .asm_208ca -.asm_208c2 - ld a, [wInteractionSide] - or INTERACTION_LEFT - ld [wInteractionSide], a -.asm_208ca - play_sfx SFX_014 - ld b, OBJACTION_WOBBLE - call SetObjAction - ld a, [wTransformation] - and a - ret nz - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - ret nz - farcall StartDive - ret - -Func_208f2: - jr .start - -.Bump - ld b, OBJACTION_BUMP - call SetObjAction - ret - -.start - ld a, [wStingTouchState] - and a - jr z, .asm_2090a - cp TOUCH_BUMP - jr z, .asm_2090a - cp TOUCH_VANISH - jp z, Func_2092d - ret - -.asm_2090a - ld a, [wWaterInteraction] - and a - ret z - call .Bump - ld a, [wInvincibleCounter] - cp $01 - ret z - ld a, [wTransformation] - and a - ret nz - farcall StartDive - ret - -Func_2092d: - ld b, OBJACTION_VANISH_TOUCH - jp SetObjAction - -Func_20932: - ld a, [wAttackCounter] - and a - jp nz, AttackObject -; fallthrough - -Func_20939: - ld a, [wTouchState] - and a - jp nz, Func_2023b - ld b, OBJACTION_06 - call SetObjAction - ld a, [wInvincibleCounter] - cp $01 - ret z - farcall DoJumpingBump - ld a, BANK(WarioWalkGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioWalkGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioWalkGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - ld a, BANK(OAM_1426c) - ld [wOAMBank], a - ld a, HIGH(OAM_1426c) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_1426c) - ld [wOAMPtr + 1], a - xor a - ld [wGrabState], a - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_209b4 - ld a, INTERACTION_RIGHT - ld [wInteractionSide], a - ld a, DIRECTION_LEFT - ld [wDirection], a - ld a, HIGH(Frameset_14a79) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_14a79) - ld [wFramesetPtr + 1], a -.asm_209a4 - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret -.asm_209b4 - ld a, INTERACTION_LEFT - ld [wInteractionSide], a - ld a, DIRECTION_RIGHT - ld [wDirection], a - ld a, HIGH(Frameset_14a76) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_14a76) - ld [wFramesetPtr + 1], a - jr .asm_209a4 - -Func_209ca: - ld a, [wWarioState] - cp WST_ATTACKING_AIRBORNE - jr nz, .asm_209d5 - ; airborne - xor a - ld [wAttackCounter], a -.asm_209d5 - ld a, [wWaterInteraction] - and a - ret nz - ld a, [wWarioState] - cp WST_DIVING - ret z - ld a, TRUE - ld [wIsOnSteppableObject], a - ld a, [wc1c1] - and a - jr z, .set_stepped_on - cp $03 - jr c, .asm_209f1 - ld a, $02 -.asm_209f1 - ld b, a - call SubYOffset -.set_stepped_on - ld b, OBJACTION_STEP_ON - call SetObjAction - ld a, [wJumpVelTable] - and a - jr z, .done - ld a, [wAttackCounter] - and a - jr nz, .done - ld a, [wIsRolling] - and a - jr nz, .done - call TriggerFloorTransition_SkipUpdateYPos - ld a, [wInvincibleCounter] - cp $01 - jr z, .done - ld a, [wTransformation] - and a - ret nz - ld a, [wGrabState] - and a - jr nz, .set_grab_state - ld a, [wIsCrouching] - and a - jr nz, .crouching - xor a - ld [wWaterInteraction], a - farcall SetState_Idling - jr .done - -.crouching - xor a - ld [wWaterInteraction], a - farcall CrouchOrSlide - jr .done - -.set_grab_state - farcall SetState_GrabIdling -.done - jp ProcessInteractions.next_obj - -Func_20a63: - ld b, OBJACTION_07 - call SetObjAction - ret - -Func_20a69: - ld b, OBJACTION_0D - call SetObjAction - ret - -Func_20a6f: - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_20aa5 -.asm_20a79 - ld a, [wDirection] - and a - jp z, ProcessInteractions.next_obj - ld a, INTERACTION_RIGHT - ld [wInteractionSide], a - farcall Func_197b1 - ld a, b - and a - jr nz, .asm_20acf - ld a, [wc1c3] - cp $ff - jr z, .asm_20aa5 - ld b, a - call SubXOffset - jr .asm_20acf - -.asm_20aa5 - ld a, [wDirection] - and a - jp nz, ProcessInteractions.next_obj - ld a, INTERACTION_LEFT - ld [wInteractionSide], a - farcall Func_19741 - ld a, b - and a - jr nz, .asm_20acf - ld a, [wc1c4] - cp $ff - jr z, .asm_20a79 - ld b, a - call AddXOffset -.asm_20acf - ld a, [wTransformation] - cp TRANSFORMATION_BALL_O_STRING_WARIO - jr z, .ball_o_string - cp TRANSFORMATION_HOT_WARIO - jr z, .hot - cp TRANSFORMATION_ICE_SKATIN - jr z, .ice_skatin - xor a - ld [wWalkVelIndex], a - ld a, [wIsRolling] - and a - jr nz, .asm_20aef - ld a, [wAttackCounter] - and a - jp z, ProcessInteractions.next_obj - -.asm_20aef - farcall DoJumpingBump - ret - -.ball_o_string - ld a, [wWarioTransformationProgress] - cp 1 - ret nz - farcall Func_28bd5 - ret - -.hot - ld a, [wWarioTransformationProgress] - cp 1 - ret nz - farcall Func_2afc5 - ret - -.ice_skatin - ld a, [wWarioState] - cp WST_ICE_SKATIN_CRASH - ret z - farcall Func_1ec215 - ret - -Func_20b41: - ld a, [wTouchState] - and a - jr z, .asm_20b5e - cp TOUCH_BUMP - jp z, Func_20a6f - cp TOUCH_VULNERABLE - jp z, Func_20a6f - cp TOUCH_ATTACK - jp z, AttackObject - cp TOUCH_VANISH - jp z, Func_205e7 - jp Func_20a6f - -.asm_20b5e - ld a, [wTouchState] - and a - ret nz - call Func_20939 - ld b, OBJACTION_12 - jp SetObjAction - -Func_20b6b: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, StepOnObject - ld a, [wTouchState] - and a - jr z, .check_water - cp TOUCH_ATTACK - jp z, AttackObject - cp TOUCH_VANISH - jp z, Func_205e7 - cp TOUCH_PASS_THROUGH - jp z, ProcessInteractions.next_obj - jp .step_on_obj - -.check_water - ld a, [wWarioState] - cp WST_DIVING - jr c, .not_in_water - cp WST_TRYING_SUBMERGE + 1 - jp c, Func_20899 - -.not_in_water - ld a, [wIsRolling] - ld b, a - ld a, [wAttackCounter] - or b - jp nz, AttackObject - - ld a, [wIsCrouching] - ld b, a - ld a, [wGrabState] - or b - jp nz, .step_on_obj - - ld a, [wPowerUpLevel] - cp GRAB_GLOVE - jp c, .step_on_obj - ld a, [wWarioState] - cp WST_LADDER_SCRATCHING - jp z, .step_on_obj - cp WST_LADDER_CLIMBING - jr c, .not_on_ladder - cp WST_LADDER_SLIDING + 1 - jp c, .step_on_obj - -.not_on_ladder - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_20bdd - ld a, INTERACTION_RIGHT - ld [wInteractionSide], a - ld a, [wDirection] - and a - jr nz, .check_invincible_counter - jr .step_on_obj -.asm_20bdd - ld a, INTERACTION_LEFT - ld [wInteractionSide], a - ld a, [wDirection] - and a - jr nz, .step_on_obj -.check_invincible_counter - ld a, [wInvincibleCounter] - cp 1 - ret z - ld hl, wWarioXPos + 1 - ld de, hXPosLo - ld a, [hld] - ld [de], a - dec de - ld a, [hld] - ld [de], a - dec de - ld a, [hld] - sub $08 - ld [de], a - dec de - ld a, [hl] - sbc $00 - ld [de], a - - ld a, [wObjInteractionType] - bit HEAVY_OBJ_F, a - jr nz, .heavy_obj - ld a, GRAB_PICK_UP - ld [wGrabState], a - jr .set_obj_pick_up -.heavy_obj - ld a, [wPowerUpLevel] - cp SUPER_GRAB_GLOVES - jr c, .step_on_obj - ld a, GRAB_PICK_UP | (1 << GRAB_HEAVY_F) - ld [wGrabState], a - -.set_obj_pick_up - ld b, OBJACTION_PICK_UP - call SetObjAction - - ld a, [wJumpVelTable] - and a - jr z, .set_wario_pick_up - ld a, [wObjInteractionType] - bit HEAVY_OBJ_F, a - jr z, .asm_20c31 - jr .step_on_obj -.asm_20c31 - farcall Func_1edd3 - ret - -.step_on_obj - jp StepOnObject - -; unreachable - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_20c56 - ld a, INTERACTION_RIGHT - ld [wInteractionSide], a - jp Func_2023b - -.asm_20c56 - ld a, INTERACTION_LEFT - ld [wInteractionSide], a - jp Func_2023b - -.set_wario_pick_up - play_sfx SFX_GRAB - - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld a, WST_PICKING_UP - ld [wWarioState], a - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -27 - ld [wCollisionBoxTop], a - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - - ld a, BANK(WarioThrowGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioThrowGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioThrowGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - ld a, BANK(OAM_1606a) - ld [wOAMBank], a - ld a, HIGH(OAM_1606a) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_1606a) - ld [wOAMPtr + 1], a - - ld a, [wDirection] - and a - jr nz, .asm_20cdb - ld a, [wSlopeInteraction] - bit LEFT_SLOPE_F, a - jr nz, .asm_20cf5 - ld a, [wGrabState] - and (1 << GRAB_HEAVY_F) - jr nz, .asm_20d05 - ld a, HIGH(Frameset_163ec) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_163ec) - ld [wFramesetPtr + 1], a -.asm_20ccb - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret -.asm_20cdb - ld a, [wSlopeInteraction] - bit RIGHT_SLOPE_F, a - jr nz, .asm_20cf5 - ld a, [wGrabState] - and (1 << GRAB_HEAVY_F) - jr nz, .asm_20d11 - ld a, HIGH(Frameset_1640c) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_1640c) - ld [wFramesetPtr + 1], a - jr .asm_20ccb -.asm_20cf5 - farcall SetState_GrabIdling - ret -.asm_20d05 - ld a, HIGH(Frameset_163f5) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_163f5) - ld [wFramesetPtr + 1], a - jr .asm_20ccb -.asm_20d11 - ld a, HIGH(Frameset_16415) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_16415) - ld [wFramesetPtr + 1], a - jr .asm_20ccb - -Func_20d1d: - jp Func_2022c - -ObjInteraction_FrontSting: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jr nz, .asm_20d44 - ld a, [wEnemyDirection] - cp DIRECTION_RIGHT - jr z, .asm_20d39 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jp nz, Func_20670 - jp Func_2022c -.asm_20d39 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jp nz, Func_20670 - jp Func_2022c -.asm_20d44 - jp StepOnObject - -ObjInteraction_BackSting: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jr nz, .asm_20d6b - ld a, [wEnemyDirection] - cp DIRECTION_RIGHT - jr z, .asm_20d60 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jp nz, Func_20670 - jp Func_2022c -.asm_20d60 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jp nz, Func_20670 - jp Func_2022c -.asm_20d6b - jp StepOnObject - -ObjInteraction_TopSting: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_20670 - bit INTERACTION_DOWN_F, a - jp nz, StepOnObject - jp Func_2022c - -ObjInteraction_FullSting: - jp Func_20670 - -Func_20d81: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jp nz, Func_20899 - jp Func_208f2 - -Func_20d8c: - ld a, [wWaterInteraction] - and a - ret z - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_207ed - - ld a, [wTransformation] - and a - ret nz - ld a, [wInteractionSide] - bit INTERACTION_DOWN_F, a - jr nz, .dive - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_20dbe - ld a, [wInteractionSide] - or INTERACTION_RIGHT - ld [wInteractionSide], a - ld a, DIRECTION_LEFT - ld [wDirection], a - jr .knock_back -.asm_20dbe - ld a, [wInteractionSide] - or INTERACTION_LEFT - ld [wInteractionSide], a - ld a, DIRECTION_RIGHT - ld [wDirection], a - -.knock_back - farcall SetState_SwimKnockBack - ret - -.dive - farcall StartDive - ret - -Func_20deb: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jp nz, Func_20899 - ld a, [wEnemyDirection] - and a - jr nz, .asm_20e04 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jp nz, Func_207ed - jp Func_208f2 -.asm_20e04 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jp nz, Func_207ed - jp Func_208f2 - -ObjInteraction_Haridama: - ld a, [wInteractionSide] - bit INTERACTION_DOWN_F, a - jp nz, Func_20899 - bit INTERACTION_UP_F, a - jp nz, Func_207ed - - ld a, [wEnemyDirection] - cp DIRECTION_RIGHT - jr z, .asm_20e2e - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jp nz, Func_207ed - jp Func_208f2 -.asm_20e2e - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jp nz, Func_207ed - jp Func_208f2 - -Func_20e39: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jr nz, .asm_20e5d - ld a, [wEnemyDirection] - cp DIRECTION_RIGHT - jr z, .asm_20e52 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jp nz, Func_20939 - jp Func_2022c -.asm_20e52 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jp nz, Func_20939 - jp Func_2022c -.asm_20e5d - jp StepOnObject - -Func_20e60: - jp Func_20939 - -Func_20e63: - ld a, [wAttackCounter] - and a - jp nz, AttackObject -; fallthrough - -Func_20e6a: - call Func_20939 - ld a, [wTouchState] - and a - ret nz - ld b, OBJACTION_0A - jp SetObjAction - -ObjInteraction_Walkable: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_21aac - jp Func_20932 - -ObjInteraction_MusicalCoin: - ld hl, wNumMusicalCoins - ld a, [hl] - cp NUM_LEVEL_MUSICAL_COINS - jp nc, ProcessInteractions.next_obj - inc [hl] - play_sfx SFX_MUSICAL_COIN - jp CollectMusicalCoin - -ObjInteraction_Fire: - ld b, OBJACTION_06 - call SetObjAction - - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - - ld a, TRANSFORMATION_HOT_WARIO - ld [wTransformation], a - ld a, 1 - ld [wWarioTransformationProgress], a - ld a, TOUCH_BUMP - ld [wTouchState], a - ld a, TOUCH_BUMP - ld [wStingTouchState], a - ld a, $02 - ld [wca94], a - ld a, HIGH(HOT_WARIO_DURATION) - ld [wTransformationDuration + 0], a - ld a, LOW(HOT_WARIO_DURATION) - ld [wTransformationDuration + 1], a - - call UpdateLevelMusic -; fallthrough - -SetState_OnFire_ResetStateCounter: - xor a - ld [wWarioStateCounter], a -; fallthrough - -SetState_OnFire: - ld a, WST_ON_FIRE - ld [wWarioState], a - - xor a - ld [wInvisibleFrame], a - ld [wSFXLoopCounter], a - ld [wWarioStateCycles], a - ld [wGrabState], a - ld [wAttackCounter], a - ld [wJumpVelIndex], a - ld [wJumpVelTable], a - ld [wIsCrouching], a - ld [wIsRolling], a - ld [wIsSmashAttacking], a - - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -27 - ld [wCollisionBoxTop], a - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - ld a, [wWarioStateCounter] - and a - ret nz - - ld hl, WarioOnFirePal - call SetWarioPal - - ld a, BANK(WarioHotGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioHotGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioHotGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - ld a, BANK(OAM_1673c) - ld [wOAMBank], a - ld a, HIGH(OAM_1673c) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_1673c) - ld [wOAMPtr + 1], a - - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - - ld a, [wDirection] - and a - jr nz, .asm_20f50 - ld a, HIGH(Frameset_16b38) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_16b38) - ld [wFramesetPtr + 1], a - jr .asm_20f5a -.asm_20f50 - ld a, HIGH(Frameset_16b49) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_16b49) - ld [wFramesetPtr + 1], a -.asm_20f5a - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -ObjInteraction_Richtertoffen: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jr nz, .asm_20f78 - bit INTERACTION_DOWN_F, a - jr nz, .try_flatten_wario - jp Func_20932 - -.asm_20f78 - ld a, [wIsSmashAttacking] - dec a - jp z, Func_20602 - jp StepOnObject - -.try_flatten_wario - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - ld a, -11 - ld [wCollisionBoxLeft], a - ld a, 11 - ld [wCollisionBoxRight], a - ld a, [wLadderInteraction] - cp $02 - jr z, .asm_20fdb - farcall Func_197b1 - ld a, b - and a - jr nz, .asm_20fdb - farcall Func_19741 - ld a, b - and a - jr nz, .asm_20fdb - ld b, OBJACTION_FLATTEN - call SetObjAction - farcall SetState_FlatAirborne - ret - -.asm_20fdb - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - jp StepOnObject - -; unreferenced? -Func_20fe8: - ld b, OBJACTION_06 - jp SetObjAction - -ObjInteraction_GreyKey: - ld hl, wKeyAndTreasureFlags - set GREY_KEY_F, [hl] - jr CollectKey - -ObjInteraction_RedKey: - ld hl, wKeyAndTreasureFlags - set RED_KEY_F, [hl] - jr CollectKey - -ObjInteraction_GreenKey: - ld hl, wKeyAndTreasureFlags - set GREEN_KEY_F, [hl] - jr CollectKey - -ObjInteraction_BlueKey: - ld hl, wKeyAndTreasureFlags - set BLUE_KEY_F, [hl] -; fallthrough - -CollectKey: - play_sfx SFX_KEY - call Func_20a63 - ld a, ST_COLLECT_KEY - ld [wState], a - xor a - ld [wTimer], a - ret - -ObjInteraction_GreyTreasure: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_209ca - ld a, [wTransformation] - and a - jp nz, Func_20a6f - ld hl, wKeyAndTreasureFlags - bit GREY_KEY_F, [hl] - jp z, Func_20a6f - set GREY_TREASURE_F, [hl] - ld a, LVLEND_GREY_TREASURE - ld [wLevelEndScreen], a - jr GetTreasure - -ObjInteraction_RedTreasure: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_209ca - ld a, [wTransformation] - and a - jp nz, Func_20a6f - ld hl, wKeyAndTreasureFlags - bit RED_KEY_F, [hl] - jp z, Func_20a6f - set RED_TREASURE_F, [hl] - ld a, LVLEND_RED_TREASURE - ld [wLevelEndScreen], a - jr GetTreasure - -ObjInteraction_GreenTreasure: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_209ca - ld a, [wTransformation] - and a - jp nz, Func_20a6f - ld hl, wKeyAndTreasureFlags - bit GREEN_KEY_F, [hl] - jp z, Func_20a6f - set GREEN_TREASURE_F, [hl] - ld a, LVLEND_GREEN_TREASURE - ld [wLevelEndScreen], a - jr GetTreasure - -ObjInteraction_BlueTreasure: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_209ca - ld a, [wTransformation] - and a - jp nz, Func_20a6f - ld hl, wKeyAndTreasureFlags - bit BLUE_KEY_F, [hl] - jp z, Func_20a6f - set BLUE_TREASURE_F, [hl] - ld a, LVLEND_BLUE_TREASURE - ld [wLevelEndScreen], a -; fallthrough - -GetTreasure: - stop_music - call Func_20a63 - call TreasureClearObjects - - ld hl, wLevelEndScreen - ld a, [hl] - cp LVLEND_NO_TREASURE - ret z - set 7, [hl] - ld a, TRUE - ld [wResetDisabled], a - xor a - ld [wWalkVelIndex], a - - ld a, WST_GET_TREASURE_START - ld [wWarioState], a - - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - ld [wJumpVelIndex], a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wIsSmashAttacking], a - ld [wIsCrouching], a - ld [wAttackCounter], a - - inc a ; TRUE - ld [wIsIntangible], a - ld [wAutoMoveState], a - - ld a, [wJumpVelTable] - and a - jr z, .asm_210ea - ld a, FALLING_JUMP_VEL_INDEX - ld [wJumpVelIndex], a -.asm_210ea - ld hl, WarioDefaultPal - call SetWarioPal - ld a, BANK(WarioIdleGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioIdleGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioIdleGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - - ld a, BANK(OAM_14000) - ld [wOAMBank], a - ld a, HIGH(OAM_14000) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_14000) - ld [wOAMPtr + 1], a - - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jr nz, .asm_21130 - ld a, [wc1c3] - ld b, a - call SubXOffset - ld a, DIRECTION_RIGHT - ld [wDirection], a - ld a, HIGH(Frameset_1425f) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_1425f) - ld [wFramesetPtr + 1], a - jr .asm_21146 -.asm_21130 - ld a, [wc1c4] - ld b, a - call AddXOffset - ld a, DIRECTION_LEFT - ld [wDirection], a - ld a, HIGH(Frameset_14252) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_14252) - ld [wFramesetPtr + 1], a -.asm_21146 - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -ObjInteraction_Omodonmeka: - ld a, [wJumpVelTable] - and a - jp nz, Func_2022c - - ld b, OBJACTION_0C - call SetObjAction - - ld a, [wTransformation] - cp TRANSFORMATION_FLAT_WARIO - jp z, SetState_FlatStretching - and a - jp nz, Func_2022c - - ; pick Wario up - ld a, $01 - ld [wAutoMoveState], a - ld a, WST_PICKED_UP - ld [wWarioState], a - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -27 - ld [wCollisionBoxTop], a - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - - xor a - ld [wIsSmashAttacking], a - ld [wAttackCounter], a - ld [wIsCrouching], a - ld [wGrabState], a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wFrameDuration], a - ld [wAnimationFrame], a - inc a - ld [wJumpVelTable], a - - ld a, NUM_WIGGLES_TO_ESCAPE - ld [wPickedUpWiggleCounter], a - - ld a, BANK(WarioAirborneGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioAirborneGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioAirborneGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - - ld a, BANK(OAM_15955) - ld [wOAMBank], a - ld a, HIGH(OAM_15955) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_15955) - ld [wOAMPtr + 1], a - - ld a, [wDirection] - and a - jr nz, .asm_211e1 - ld a, HIGH(Frameset_15f70) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_15f70) - ld [wFramesetPtr + 1], a - jr .asm_211eb -.asm_211e1 - ld a, HIGH(Frameset_15f7f) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_15f7f) - ld [wFramesetPtr + 1], a -.asm_211eb - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -SetState_FlatStretching: - ld a, $01 - ld [wAutoMoveState], a - ld a, WST_FLAT_STRETCHING - ld [wWarioState], a - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -8 - ld [wCollisionBoxTop], a - ld a, -11 - ld [wCollisionBoxLeft], a - ld a, 11 - ld [wCollisionBoxRight], a - ld a, NUM_WIGGLES_TO_ESCAPE - ld [wPickedUpWiggleCounter], a - xor a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wFrameDuration], a - ld [wAnimationFrame], a - - ld a, HIGH(Frameset_17193) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_17193) - ld [wFramesetPtr + 1], a - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -ObjInteraction_Silky: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jr nz, .asm_21267 - ld a, [wEnemyDirection] - cp DIRECTION_RIGHT - jr z, .asm_2125d - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, Func_2126a - jp Func_2022c - -.asm_2125d - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jr nz, Func_2126a - jp Func_2022c - -.asm_21267 - jp StepOnObject - -Func_2126a: - ld a, [wIsCrouching] - and a - jr z, .asm_21290 - ld a, -27 - ld [wCollisionBoxTop], a - farcall CheckUpCollision - ld a, b - and a - jr z, .asm_21290 - ld a, -15 - ld [wCollisionBoxTop], a - jp Func_2022c - -.asm_21290 - ld b, OBJACTION_06 - call SetObjAction - - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2023b - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_212b3 - - ld a, DIRECTION_LEFT - ld [wDirection], a - jr .set_ball_o_string -.asm_212b3 - ld a, DIRECTION_RIGHT - ld [wDirection], a - -.set_ball_o_string - play_sfx SFX_039 - - ld a, TRANSFORMATION_BALL_O_STRING_WARIO - ld [wTransformation], a - xor a - ld [wWarioTransformationProgress], a - ld a, TOUCH_ATTACK - ld [wTouchState], a - ld a, TOUCH_ATTACK - ld [wStingTouchState], a - ld a, $01 - ld [wca94], a - call UpdateLevelMusic - - ld a, WST_GETTING_WRAPPED_IN_STRING - ld [wWarioState], a - - xor a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wGrabState], a - ld [wAttackCounter], a - ld [wJumpVelIndex], a - ld [wJumpVelTable], a - ld [wIsCrouching], a - ld [wIsRolling], a - ld [wIsSmashAttacking], a - - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -27 - ld [wCollisionBoxTop], a - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - ld hl, WarioStringPal - call SetWarioPal - - ld a, BANK(WarioStringGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioStringGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioStringGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - - ld a, BANK(OAM_171c0) - ld [wOAMBank], a - ld a, HIGH(OAM_171c0) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_171c0) - ld [wOAMPtr + 1], a - - ld a, HIGH(Frameset_17414) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_17414) - ld [wFramesetPtr + 1], a - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -ObjInteraction_Food: - ld a, [wIsCrouching] - and a - jp nz, Func_20a69 - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_20a69 - cp TRANSFORMATION_FAT_WARIO - jr nz, .set_fat_wario - jp Func_20a69 - -.set_fat_wario - call Func_20a63 - ld a, TRANSFORMATION_FAT_WARIO - ld [wTransformation], a - ld a, TOUCH_BUMP - ld [wTouchState], a - ld a, TOUCH_BUMP - ld [wStingTouchState], a - ld a, $02 - ld [wca94], a - - ld a, HIGH(FAT_WARIO_DURATION) - ld [wTransformationDuration + 0], a - ld a, LOW(FAT_WARIO_DURATION) - ld [wTransformationDuration + 1], a - - xor a - ld [wInvisibleFrame], a - ld [wSFXLoopCounter], a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wGrabState], a - ld [wAttackCounter], a - ld [wIsCrouching], a - ld [wIsRolling], a - ld [wIsSmashAttacking], a - - ld a, [wJumpVelTable] - and a - jr z, .asm_213bb - ld a, FALLING_JUMP_VEL_INDEX - ld [wJumpVelIndex], a -.asm_213bb - play_sfx SFX_03A - call UpdateLevelMusic - - ld a, WST_FAT_EATING - ld [wWarioState], a - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -27 - ld [wCollisionBoxTop], a - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - - ld a, BANK(WarioFatGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioFatGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioFatGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - - ld a, BANK(OAM_1742d) - ld [wOAMBank], a - ld a, HIGH(OAM_1742d) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_1742d) - ld [wOAMPtr + 1], a - - ld a, [wDirection] - and a - jr nz, .asm_21419 - ld a, HIGH(Frameset_1789c) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_1789c) - ld [wFramesetPtr + 1], a - jr .asm_21423 -.asm_21419 - ld a, HIGH(Frameset_178c3) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_178c3) - ld [wFramesetPtr + 1], a -.asm_21423 - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -ObjInteraction_RegularCoin: - ld hl, wNumCoins + 1 - ld a, [hl] - add $1 - daa - ld [hld], a - ld a, [hl] - adc $00 - daa - ld [hl], a - and $f0 - jr z, .no_cap - ld a, HIGH(MAX_NUM_COINS) - ld [hli], a - ld a, LOW(MAX_NUM_COINS) - ld [hl], a -.no_cap - play_sfx SFX_REGULAR_COIN - jp Func_20a63 - -ObjInteraction_Electric: - ld a, [wWarioScreenXPos] - ld b, a - ld a, [wObjScreenXPos] - cp b - jr c, .asm_21469 - ld a, [wInteractionSide] - or INTERACTION_RIGHT - ld [wInteractionSide], a - jr .asm_21471 - -.asm_21469 - ld a, [wInteractionSide] - or INTERACTION_LEFT - ld [wInteractionSide], a -.asm_21471 - ld b, OBJACTION_06 - call SetObjAction - - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - ret nz - cp TRANSFORMATION_ELECTRIC - ret z - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, .asm_21492 - ld a, DIRECTION_RIGHT - ld [wDirection], a - jr .asm_21497 -.asm_21492 - ld a, DIRECTION_LEFT - ld [wDirection], a - -.asm_21497 - play_sfx SFX_040 - - xor a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wGrabState], a - ld [wAttackCounter], a - ld [wJumpVelIndex], a - ld [wJumpVelTable], a - ld [wIsCrouching], a - ld [wIsRolling], a - ld [wIsSmashAttacking], a - ld [wInvisibleFrame], a - - ld a, WST_ELECTRIC_START - ld [wWarioState], a - - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -27 - ld [wCollisionBoxTop], a - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - - ld a, TRANSFORMATION_ELECTRIC - ld [wTransformation], a - ld a, TOUCH_VANISH - ld [wTouchState], a - ld a, TOUCH_VANISH - ld [wStingTouchState], a - ld a, $01 - ld [wca94], a - call UpdateLevelMusic - - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - - ld hl, WarioElectricPal - call SetWarioPal - - ld a, BANK(WarioElectricGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioElectricGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioElectricGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - - ld a, BANK(OAM_1790e) - ld [wOAMBank], a - ld a, HIGH(OAM_1790e) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_1790e) - ld [wOAMPtr + 1], a - - ld a, [wDirection] - and a - jr nz, .asm_2152e - ld a, HIGH(Frameset_17b79) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_17b79) - ld [wFramesetPtr + 1], a - jr .asm_21538 -.asm_2152e - ld a, HIGH(Frameset_17b76) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_17b76) - ld [wFramesetPtr + 1], a -.asm_21538 - ld a, BANK("Wario OAM 1") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -ObjInteraction_InvisibilityPotion: - call Func_20a63 - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - ret nz - cp TRANSFORMATION_INVISIBLE_WARIO - ret z - farcall SetState_TurningInvisible - ret - -ObjInteraction_Pneumo: - ld a, [wInteractionSide] - bit INTERACTION_DOWN_F, a - jr nz, ObjInteraction_YellowBellyArrow - jp Func_2022c - -ObjInteraction_YellowBellyArrow: - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - cp TRANSFORMATION_PUFFY_WARIO - jp z, Func_2022c - ld a, [wTransformation] - cp TRANSFORMATION_OWL_WARIO - call z, ReleaseOwl - ld b, OBJACTION_06 - call SetObjAction - farcall SetState_PuffyInflating - ret - -ObjInteraction_ZombieHead: - ld a, [wInvincibleCounter] - and a - jp nz, Func_20a69 - ld a, [wTransformation] - cp TRANSFORMATION_ZOMBIE_WARIO - jp z, Func_205e7 - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_20a69 - - ld b, OBJACTION_06 - call SetObjAction - - play_sfx SFX_028 - - ld a, TRANSFORMATION_ZOMBIE_WARIO - ld [wTransformation], a - ld a, TOUCH_VANISH - ld [wTouchState], a - ld a, TOUCH_VANISH - ld [wStingTouchState], a - ld a, $02 - ld [wca94], a - farcall SetState_ZombieIdling - ret - -ObjInteraction_Bouncy: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jp nz, StepOnObject - ld a, [wEnemyDirection] - cp DIRECTION_RIGHT - jr z, .asm_21600 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, Func_2160a - jp Func_2022c -.asm_21600 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jr nz, Func_2160a - jp Func_2022c - -Func_2160a: - ld a, [wInvincibleCounter] - and a - ret nz - ld b, OBJACTION_06 - call SetObjAction - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - cp TRANSFORMATION_BOUNCY_WARIO - jp z, Func_2022c - ld a, TRANSFORMATION_BOUNCY_WARIO - ld [wTransformation], a - ld a, TOUCH_BUMP - ld [wTouchState], a - ld a, TOUCH_BUMP - ld [wStingTouchState], a - ld a, $01 - ld [wca94], a - - ld a, HIGH(BOUNCY_WARIO_DURATION) - ld [wTransformationDuration + 0], a - ld a, LOW(BOUNCY_WARIO_DURATION) - ld [wTransformationDuration + 1], a - - farcall SetState_BouncyStart - ret - -ObjInteraction_FireBot: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jp nz, StepOnObject - ld a, [wEnemyDirection] - cp DIRECTION_RIGHT - jr z, .asm_21668 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, .asm_21672 - jp Func_2022c -.asm_21668 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jr nz, .asm_21672 - jp Func_2022c -.asm_21672 - jp ObjInteraction_Fire - -ObjInteraction_Solid: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_209ca - bit INTERACTION_DOWN_F, a - jr nz, Func_2168b - ld a, [wAttackCounter] - and a - jp nz, Func_217a9 - jp Func_20a6f - -Func_2168b: - ld a, [wWarioState] - cp WST_FLAT_SQUISHED - jr nz, .asm_216a2 - farcall SetState_FlatSquishedLifting - ret - -.asm_216a2 - ld a, [wc1c2] - cp $10 - jr c, .asm_216ab - ld a, $0c -.asm_216ab - ld b, a - call AddYOffset - farcall Func_19b25 - ld a, [wWaterInteraction] - and a - jr z, .asm_216d4 - farcall DiveFromSurface_SkipSplash - ret - -.asm_216d4 - farcall CheckCentreCollision - ld a, b - and a - jr nz, .asm_21710 - ld a, [wInvincibleCounter] - cp $01 - ret z - ld a, [wTransformation] - cp TRANSFORMATION_FLAT_WARIO - jr z, .asm_2173e - and a - ret nz - ld a, [wIsCrouching] - and a - jr nz, .crouching - xor a - ld [wGrabState], a - farcall StartFall - ret - -.asm_21710 - ld hl, hYPosHi - ld de, wWarioPos - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - ld a, [wInvincibleCounter] - cp $01 - ret z - ld a, [wTransformation] - cp TRANSFORMATION_FLAT_WARIO - jr z, .asm_2175e - and a - ret nz - xor a - ld [wGrabState], a - farcall SetState_Idling - ret - -.asm_2173e - farcall SetState_FlatFalling - ret - -.crouching - farcall StartCrouchFall - ret - -.asm_2175e - ld a, [wWarioState] - cp WST_FLAT_SQUISHED - ret z - farcall SetState_FlatIdling - ret - -ObjInteraction_Omodon: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_209ca - bit INTERACTION_DOWN_F, a - jr nz, .asm_21789 - ld a, [wAttackCounter] - and a - jr nz, Func_217a9 - jp Func_20a6f -.asm_21789 - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - ret nz - ld b, OBJACTION_FLATTEN - call SetObjAction - farcall SetState_FlatAirborne - ret - -Func_217a9: - farcall DoJumpingBump - ret - -ObjInteraction_OrangeBird: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jr nz, .asm_217db - ld a, [wEnemyDirection] - cp DIRECTION_RIGHT - jr z, .asm_217d1 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, .asm_217de - jp Func_2022c -.asm_217d1 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jr nz, .asm_217de - jp Func_2022c -.asm_217db - jp StepOnObject - -.asm_217de - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - cp TRANSFORMATION_CRAZY_WARIO - jp z, Func_2022c - - ld b, OBJACTION_06 - call SetObjAction - - ld a, TRANSFORMATION_CRAZY_WARIO - ld [wTransformation], a - ld a, TOUCH_ATTACK - ld [wTouchState], a - ld a, TOUCH_ATTACK - ld [wStingTouchState], a - ld a, $01 - ld [wca94], a - farcall SetState_CrazySpinning - ret - -ObjInteraction_Vampire: - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - ret nz - - ld b, OBJACTION_06 - call SetObjAction - - ld a, TRANSFORMATION_VAMPIRE_WARIO - ld [wTransformation], a - farcall Func_19b25 - ld a, [wTransformation] - cp TRANSFORMATION_VAMPIRE_WARIO - ret nz - farcall SetState_VampireTransforming - ret - -ObjInteraction_Bubble: - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - ret nz - - ld b, OBJACTION_07 - call SetObjAction - - ld a, TRANSFORMATION_BUBBLE - ld [wTransformation], a - ld a, TOUCH_BUMP - ld [wTouchState], a - ld a, TOUCH_BUMP - ld [wStingTouchState], a - ld a, $01 - ld [wca94], a - farcall Func_2ac7d - ret - -ObjInteraction_Ice: - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - ret nz - ld a, [wIsCrouching] - and a - jr z, .asm_218b6 - ld a, -27 - ld [wCollisionBoxTop], a - farcall CheckUpCollision - ld a, b - and a - jr z, .asm_218b6 - ld a, -15 - ld [wCollisionBoxTop], a - ret - -.asm_218b6 - ld b, OBJACTION_07 - call SetObjAction - - play_sfx SFX_028 - ld a, TRANSFORMATION_ICE_SKATIN - ld [wTransformation], a - ld a, TOUCH_ATTACK - ld [wTouchState], a - ld a, TOUCH_ATTACK - ld [wStingTouchState], a - ld a, $02 - ld [wca94], a - farcall SetState_IceSkatinStart - ret - -ObjInteraction_Owl: - ld a, [wInteractionSide] - bit INTERACTION_DOWN_F, a - jr nz, .asm_218f1 - jp Func_20939 - -.asm_218f1 - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - ret nz - cp TRANSFORMATION_OWL_WARIO - ret z - - call Func_20a63 - - play_sfx SFX_HANG_GRAB - ld a, TRANSFORMATION_OWL_WARIO - ld [wTransformation], a - - ld a, TOUCH_BUMP - ld [wTouchState], a - ld a, TOUCH_VULNERABLE - ld [wStingTouchState], a - ld a, $01 - ld [wca94], a - ld a, WST_GRABBING_OWL - ld [wWarioState], a - ld a, $ff - ld [wCollisionBoxBottom], a - ld a, $e5 - ld [wCollisionBoxTop], a - ld a, $f7 - ld [wCollisionBoxLeft], a - ld a, $09 - ld [wCollisionBoxRight], a - - xor a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wGrabState], a - ld [wAttackCounter], a - ld [wIsCrouching], a - ld [wIsRolling], a - ld [wIsSmashAttacking], a - ld [wJumpVelTable], a - ld [wJumpVelIndex], a - - call UpdateLevelMusic - - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - - ld a, BANK(WarioHangGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioHangGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioHangGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - ld a, BANK(OAM_1fddb4) - ld [wOAMBank], a - ld a, HIGH(OAM_1fddb4) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_1fddb4) - ld [wOAMPtr + 1], a - ld a, [wEnemyDirection] - ld [wDirection], a - ld a, HIGH(Frameset_1fed53) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_1fed53) - ld [wFramesetPtr + 1], a - ld a, BANK("Wario OAM 2") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -ObjInteraction_Rail: - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - ret nz - cp TRANSFORMATION_RAIL - ret z - - ld b, OBJACTION_06 - call SetObjAction - - play_sfx SFX_HANG_GRAB - ld a, TRANSFORMATION_RAIL - ld [wTransformation], a - - ld a, TOUCH_BUMP - ld [wTouchState], a - ld a, TOUCH_VULNERABLE - ld [wStingTouchState], a - ld a, $01 - ld [wca94], a - - ld a, WST_HANGING_RAIL - ld [wWarioState], a - - ld a, -1 - ld [wCollisionBoxBottom], a - ld a, -27 - ld [wCollisionBoxTop], a - ld a, -9 - ld [wCollisionBoxLeft], a - ld a, 9 - ld [wCollisionBoxRight], a - - xor a - ld [wWarioStateCounter], a - ld [wWarioStateCycles], a - ld [wGrabState], a - ld [wAttackCounter], a - ld [wIsCrouching], a - ld [wIsRolling], a - ld [wIsSmashAttacking], a - ld [wJumpVelTable], a - ld [wJumpVelIndex], a - - inc a - ld [wAutoMoveState], a - - call UpdateLevelMusic - - xor a - ld [wFrameDuration], a - ld [wAnimationFrame], a - - ld a, BANK(WarioHangGfx) - ld [wDMASourceBank], a - ld a, HIGH(WarioHangGfx) - ld [wDMASourcePtr + 0], a - ld a, LOW(WarioHangGfx) - ld [wDMASourcePtr + 1], a - call LoadWarioGfx - ld a, BANK(OAM_1fee05) - ld [wOAMBank], a - ld a, HIGH(OAM_1fee05) - ld [wOAMPtr + 0], a - ld a, LOW(OAM_1fee05) - ld [wOAMPtr + 1], a - - ld a, [wEnemyDirection] - ld [wDirection], a - ld a, HIGH(Frameset_1feec4) - ld [wFramesetPtr + 0], a - ld a, LOW(Frameset_1feec4) - ld [wFramesetPtr + 1], a - ld a, BANK("Wario OAM 2") - ldh [hCallFuncBank], a - hcall UpdateAnimation - ret - -ObjInteraction_AnonsterSilk: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, StepOnObject -; fallthrough - -ObjInteraction_AnonsterWave: - jp Func_2126a - -ObjInteraction_Snow: - ld a, [wInvincibleCounter] - and a - jp nz, Func_20a69 - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_20a69 - call Func_20a63 - - ld a, TRANSFORMATION_SNOWMAN_WARIO - ld [wTransformation], a - - xor a - ld [wWarioTransformationProgress], a - ld a, TOUCH_ATTACK - ld [wTouchState], a - ld a, TOUCH_ATTACK - ld [wStingTouchState], a - ld a, $02 - ld [wca94], a - farcall SetState_TurningIntoSnowman - ret - -ObjInteraction_UnlitTorch: - ld a, [wTransformation] - cp TRANSFORMATION_HOT_WARIO - ret nz - ld b, OBJACTION_0E - jp SetObjAction - -ObjInteraction_Stove: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jr nz, Func_21aac - bit INTERACTION_DOWN_F, a - jp nz, Func_2168b - - ld a, [wAttackCounter] - and a - jr nz, Func_21abb - jp Func_20a6f - -Func_21aac: - ld a, [wIsSmashAttacking] - dec a - jp nz, Func_209ca -; smash attack object - call Func_20602 - ld b, OBJACTION_SMASH_ATTACK_WALKABLE - jp SetObjAction - -Func_21abb: - ld b, OBJACTION_ATTACK - call SetObjAction - jp Func_20a6f - -ObjInteraction_RoboMouse: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jr nz, .asm_21ae4 - - ld a, [wEnemyDirection] - and a - jr nz, .asm_21ada - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, .asm_21aee - jp Func_20e6a -.asm_21ada - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jr nz, .asm_21aee - jp Func_20e6a - -.asm_21ae4 - ld a, [wIsSmashAttacking] - and a - jp nz, Func_20602 - jp Func_20e6a -.asm_21aee - jp ObjInteraction_Jamano - -Func_21af1: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_209ca - bit INTERACTION_DOWN_F, a - jp nz, StepOnObject - ld a, [wAttackCounter] - and a - jp nz, Func_217a9 - jp Func_20a6f - -ObjInteraction_DollBoyHammer: - jp Func_2160a - -ObjInteraction_RollingRock: - ld b, OBJACTION_06 - call SetObjAction - ld a, [wIsRolling] - and a - ret nz - ld a, [wEnemyDirection] - ld [wDirection], a - farcall Func_1e174 - ret - -ObjInteraction_Wormwould: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jp nz, StepOnObject - ld a, [wAttackCounter] - and a - jp nz, AttackObject -; fallthrough - -Func_21b3a: - call Func_20939 - ld b, OBJACTION_NONE - jp SetObjAction - -ObjInteraction_Beam: - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - - ld b, OBJACTION_06 - call SetObjAction - - ld a, TRANSFORMATION_SPLIT - ld [wTransformation], a - - ld a, TOUCH_PASS_THROUGH - ld [wTouchState], a - ld a, TOUCH_PASS_THROUGH - ld [wStingTouchState], a - ld a, $02 - ld [wca94], a - farcall SetState_SplitHit - ret - -Func_21b78: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jr z, .asm_21b86 - ld a, [wIsSmashAttacking] - and a - jp nz, Func_20602 -.asm_21b86 - jp Func_20939 - -ObjInteraction_Teruteru: - ld a, [wInteractionSide] - bit INTERACTION_DOWN_F, a - jp z, Func_2022c - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - - ld b, OBJACTION_06 - call SetObjAction - - ld a, TRANSFORMATION_BLIND - ld [wTransformation], a - - ld a, TOUCH_BUMP - ld [wTouchState], a - ld a, TOUCH_VULNERABLE - ld [wStingTouchState], a - ld a, $01 - ld [wca94], a - - farcall SetState_BlindIdling - - ld a, BCPSF_AUTOINC - ldh [rBCPS], a - ld b, 4 - ld c, LOW(rBCPD) -.wait_lcd_off_1 - ldh a, [rSTAT] - and STATF_LCD - jr z, .wait_lcd_off_1 -.wait_lcd_on_1 - ldh a, [rSTAT] - and STATF_LCD - jr nz, .wait_lcd_on_1 - - xor a -REPT 2 palettes - ld [$ff00+c], a -ENDR - dec b - jr nz, .wait_lcd_off_1 - - ld a, OCPSF_AUTOINC | $18 - ldh [rOCPS], a - ld b, 2 - ld c, LOW(rOCPD) -.wait_lcd_off_2 - ldh a, [rSTAT] - and STATF_LCD - jr z, .wait_lcd_off_2 -.wait_lcd_on_2 - ldh a, [rSTAT] - and STATF_LCD - jr nz, .wait_lcd_on_2 - - xor a -REPT 2 palettes - ld [$ff00+c], a -ENDR - dec b - jr nz, .wait_lcd_off_2 - ret - -ObjInteraction_WaterDrop: - ld b, OBJACTION_06 - call SetObjAction - ld a, [wTransformation] - and a - jp z, ProcessInteractions.next_obj - jp RecoverFromTransformation - -ObjInteraction_Pesce: - ld a, [wEnemyDirection] - cp DIRECTION_RIGHT - jr z, .asm_21c37 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, .asm_21c41 - jp Func_207ed -.asm_21c37 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jr nz, .asm_21c41 - jp Func_207ed -.asm_21c41 - ld b, OBJACTION_11 - call SetObjAction - farcall SetState_Swallowed - ret - -Func_21c56: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_21aac - jp Func_20b6b - -ObjInteraction_Tadpole: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jp nz, StepOnObject - ld a, [wEnemyDirection] - and a - jr nz, .asm_21c7a - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jp nz, ObjInteraction_RollingRock - jp Func_20e6a -.asm_21c7a - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jp nz, ObjInteraction_RollingRock - jp Func_20e6a - - ret ; stray ret - -ObjInteraction_Hebarii: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jp nz, Func_20e6a - ld a, [wAttackCounter] - and a - jp nz, AttackObject - jp Func_20e6a - -ObjInteraction_PrinceFroggy: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_209ca - bit INTERACTION_DOWN_F, a - jp nz, Func_2168b - jp Func_20b41 - -ObjInteraction_Hand: - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - and a - ret nz - - play_sfx SFX_FAT_WALK - farcall SetState_DraggedDown -; fallthrough - -Func_21cc9: - ld b, OBJACTION_13 - call SetObjAction - ret - -ObjInteraction_WaterTeleporting: - ld a, ROOMTRANSITION_TELEPORT | ROOMTRANSITIONF_1 | ROOMTRANSITIONF_2 | ROOMTRANSITIONF_3 - ld [wRoomTransitionParam], a - call SetState_WaterStung - stop_sfx - ld a, WST_WATER_TELEPORTING - ld [wWarioState], a - ld b, OBJACTION_TELEPORT - jp SetObjAction - -Func_21ce9: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_20899 - bit INTERACTION_DOWN_F, a - jr nz, ObjInteraction_WaterTeleporting - jp Func_208f2 - -ObjInteraction_Ink: - ld b, OBJACTION_06 - jp SetObjAction - -ObjInteraction_Jamano: - ld a, ROOMTRANSITION_TELEPORT | ROOMTRANSITIONF_1 | ROOMTRANSITIONF_2 | ROOMTRANSITIONF_3 - ld [wRoomTransitionParam], a - call Func_206eb - stop_sfx - ld a, WST_TELEPORTING - ld [wWarioState], a - ld b, OBJACTION_TELEPORT - jp SetObjAction - -ObjInteraction_Turtle: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_209ca - ld a, [wTransformation] - and a - ret nz - ld a, [wWaterInteraction] - and a - jp z, Func_21b3a - farcall StartDive - ret - -Func_21d3b: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_20e6a - bit INTERACTION_DOWN_F, a - jp nz, Func_20e6a - ld a, [wEnemyDirection] - and a - jr nz, .asm_21d59 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jp nz, Func_20670 - jp Func_20e6a -.asm_21d59 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jp nz, Func_20670 - jp Func_20e6a - -Func_21d64: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_20670 - jp Func_20e6a - -Func_21d6f: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jr nz, .asm_21d7e - bit INTERACTION_DOWN_F, a - jp nz, Func_20670 - jp Func_20e6a -.asm_21d7e - ld a, [wIsSmashAttacking] - and a - jp nz, Func_20602 - jp Func_20e6a - -Func_21d88: - ld a, [wInteractionSide] - and INTERACTION_UP | INTERACTION_DOWN - jp nz, Func_20899 - ld a, [wEnemyDirection] - and a - jr nz, .asm_21da1 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jp nz, Func_21dac - jp Func_208f2 -.asm_21da1 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jp nz, Func_21dac - jp Func_208f2 - -Func_21dac: - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - ld a, [wEnemyDirection] - ld [wDirection], a - farcall SetState_Launched - ld b, OBJACTION_06 - jp SetObjAction - -ObjInteraction_ColourCoin: - play_sfx SFX_COLOUR_COIN -; fallthrough - -; adds 10 to coin count -CollectMusicalCoin: - ld hl, wNumCoins + 1 - ld a, [hl] - add $10 - daa - ld [hld], a - ld a, [hl] - adc $00 - daa - ld [hl], a - and $f0 - jr z, .no_cap - ld a, HIGH(MAX_NUM_COINS) - ld [hli], a - ld a, LOW(MAX_NUM_COINS) - ld [hl], a -.no_cap - call Func_20a63 - jp ProcessInteractions.next_obj - -ObjInteraction_MagicalSpiral: - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - ld b, OBJACTION_06 - call SetObjAction - - ld a, TRANSFORMATION_MAGIC - ld [wTransformation], a - - ld a, TOUCH_PASS_THROUGH - ld [wTouchState], a - ld a, TOUCH_PASS_THROUGH - ld [wStingTouchState], a - ld a, $02 - ld [wca94], a - farcall SetState_MagicRising - ret - -ObjInteraction_BottomSting: - ld a, [wInteractionSide] - bit INTERACTION_DOWN_F, a - jp nz, Func_20670 - bit INTERACTION_UP_F, a - jp nz, StepOnObject - jp Func_2022c - -Func_21e3e: - ld a, [wTransformation] - cp TRANSFORMATION_BALL - jr z, Func_21e8a - ld a, [wInteractionSide] - bit INTERACTION_DOWN_F, a - jr nz, .asm_21e54 - bit INTERACTION_UP_F, a - jp nz, StepOnObject - jp Func_20e63 - -.asm_21e54 - ld a, [wInvincibleCounter] - and a - ret nz - ld a, [wTransformation] - bit TRANSFORMATIONF_PERSISTENT_F, a - jp nz, Func_2022c - ld b, OBJACTION_06 - call SetObjAction - ld a, TRANSFORMATION_BALL - ld [wTransformation], a - - ld a, TOUCH_PASS_THROUGH - ld [wTouchState], a - ld a, TOUCH_PASS_THROUGH - ld [wStingTouchState], a - ld a, $02 - ld [wca94], a - - farcall SetState_BallStart - ret - -Func_21e8a: - farcall SetState_BallShot - jp Func_21cc9 - -Func_21e9c: - ld a, [wTransformation] - cp TRANSFORMATION_BALL - jr z, Func_21e8a - jp Func_20939 - -Func_21ea6: - ld a, [wEnemyDirection] - ld b, a - and a - jr nz, .asm_21eb6 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, .asm_21ebf - jr .asm_21eca -.asm_21eb6 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jr nz, .asm_21ebf - jr .asm_21eca -.asm_21ebf - ld a, [wEnemyDirection] - xor $1 - ld [wDirection], a - jp Func_20a6f -.asm_21eca - jp Func_21b3a - -Func_21ecd: - ld a, [wEnemyDirection] - and a - jr nz, .asm_21edd - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jr nz, .asm_21ee7 - jp Func_20e6a -.asm_21edd - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jr nz, .asm_21ee7 - jp Func_20e6a -.asm_21ee7 - play_sfx SFX_FAT_WALK - farcall SetState_DraggedDown - jp Func_21cc9 - -Func_21f01: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jr nz, .asm_21f0b - jp Func_20d8c -.asm_21f0b - ld a, [wInteractionSide] - or INTERACTION_LEFT - ld [wInteractionSide], a - ld a, DIRECTION_RIGHT - ld [wDirection], a - farcall SetState_SwimKnockBack - ret - -Func_21f28: - ld a, [wInteractionSide] - bit INTERACTION_UP_F, a - jp nz, Func_21d6f.asm_21d7e - bit INTERACTION_DOWN_F, a - jp nz, Func_20e6a - ld a, [wEnemyDirection] - and a - jr nz, .asm_21f46 - ld a, [wInteractionSide] - bit INTERACTION_RIGHT_F, a - jp nz, Func_20670 - jp Func_20e6a -.asm_21f46 - ld a, [wInteractionSide] - bit INTERACTION_LEFT_F, a - jp nz, Func_20670 - jp Func_20e6a - Func_21f51: ld a, [wBGMapTileQueueSize] ld b, a diff --git a/src/engine/bank6.asm b/src/engine/level/collisions.asm similarity index 100% rename from src/engine/bank6.asm rename to src/engine/level/collisions.asm diff --git a/src/engine/level/load_objects.asm b/src/engine/level/load_objects.asm new file mode 100644 index 0000000..50d6c63 --- /dev/null +++ b/src/engine/level/load_objects.asm @@ -0,0 +1,685 @@ +LoadObjectGroupData:: +; fills wObjDataPointers with Dummy Object + ld hl, wObjDataPointers + ld bc, DummyObjectData + ld e, $10 +.loop_1 + ld a, c + ld [hli], a + ld a, b + ld [hli], a + dec e + jr nz, .loop_1 + + ld a, [wObjectGroup] + cp OBJECT_GROUP_HIDDEN_FIGURE + jp z, LoadHiddenFigureData + + ld d, $00 + ld e, a + sla e + rl d + sla e + rl d ; *4 + ld hl, ObjectGroups + add hl, de + ld a, [hli] + ld c, a + ld a, [hli] + + push hl + ld h, a + ld l, c + ld de, wChestObjDataPtr + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a ; wKeyObjDataPtr + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] + ld [de], a ; wMusicalCoinObjDataPtr + inc e + ld a, [hli] + ld [de], a + ld de, wTempPals2 palette 3 + ld b, 1 palettes + call CopyHLToDE_Short + pop hl + + ld a, [hli] + ld c, a + ld h, [hl] + ld l, c + ld a, BANK("WRAM1") + ldh [rVBK], a + ld a, [hli] + ldh [hffa0], a + + ; enemy slot 1 + ld a, [hli] + ld c, a + ld a, [hli] + push hl + ld h, a + ld l, c + ld bc, v1Tiles0 + ldh a, [hffa0] + ld e, BANK("Enemy Gfx 1 Slot 1") + add e + ldh [hCallFuncBank], a + hcall Decompress + pop hl + + ; enemy slot 2 + ld a, [hli] + ld c, a + ld a, [hli] + push hl + ld h, a + ld l, c + ld bc, v1Tiles0 + $400 + ldh a, [hffa0] + ld e, BANK("Enemy Gfx 1 Slot 2") + add e + ldh [hCallFuncBank], a + hcall Decompress + pop hl + + ; enemy slot 3 + ld a, [hli] + ld c, a + ld a, [hli] + push hl + ld h, a + ld l, c + ld bc, v1Tiles1 + ldh a, [hffa0] + ld e, BANK("Enemy Gfx 1 Slot 3") + add e + ldh [hCallFuncBank], a + hcall Decompress + pop hl + + ; enemy slot 4 + ld a, [hli] + ld c, a + ld a, [hli] + push hl + ld h, a + ld l, c + ld bc, v1Tiles1 + $400 + ldh a, [hffa0] + ld e, BANK("Enemy Gfx 1 Slot 4") + add e + ldh [hCallFuncBank], a + hcall Decompress + pop hl + + xor a ; VRAM0 + ldh [rVBK], a + + ld a, 13 + ldh [hffa0], a + ld de, wObjDataPtr01 +.loop_2 + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + inc a + jr z, .copy_pals + ld a, c + ld [de], a + inc e + ld a, b + ld [de], a + inc e + ldh a, [hffa0] + dec a + ldh [hffa0], a + jr nz, .loop_2 + +.copy_pals + jp LoadObjPals + +; de = block +; c = entry in wObjDataPointers +SpawnObject: + ldh a, [hXPosHi] + cp $0a + ret nc + + ld h, HIGH(wObj1) +FOR n, 1, NUM_OBJECTS + 1 + ld l, LOW(wObj{u:n}) + ld a, [hli] + rra + jr nc, .got_obj +ENDR + ret + +.got_obj + ; bit 7 set means it's not spawned in + ld a, [de] + rlca + ret nc + ; not spawned, unset bit 7 + rrca + and $7f + ld [de], a + + ld [hl], e ; OBJ_UNK_01 + inc l + ld a, [wccec] + dec a + add a ; *2 + add a ; *4 + add a ; *8 + add a ; *16 + add a ; *32 + add d + ld [hli], a ; OBJ_UNK_02 + ldh a, [hYPosLo] + ld [hli], a ; OBJ_Y_POS + ldh a, [hYPosHi] + ld [hli], a + ldh a, [hXPosLo] + ld [hli], a ; OBJ_X_POS + ldh a, [hXPosHi] + ld [hli], a + + push hl + ld hl, wObjDataPointers + dec c + sla c ; *2 + ld b, $00 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + pop de + + ld a, [hli] + ld [de], a ; OBJ_UNK_07 + inc e + ld a, [hli] + ld [de], a ; OBJ_INTERACTION_TYPE + inc e + ld a, [hli] + ld [de], a ; OBJ_COLLBOX_TOP + inc e + xor a + ld [de], a ; OBJ_COLLBOX_BOTTOM + + ld a, e + add OBJ_FRAME - OBJ_COLLBOX_BOTTOM + ld e, a + xor a + ld [de], a ; OBJ_FRAME + inc e + ld a, [hli] ; OBJ_OAM_PTR + ld [de], a + inc e + ld a, [hli] + ld [de], a + + ld a, e + add OBJ_FRAME_DURATION - (OBJ_OAM_PTR + 1) + ld e, a + ld a, $7f + ld [de], a ; OBJ_FRAME_DURATION + + ld a, e + add OBJ_SUBSTATE - OBJ_FRAME_DURATION + ld e, a + ld a, $1 | OBJSUBFLAG_UNINITIALISED + ld [de], a ; OBJ_SUBSTATE + inc e + xor a ; OBJSTATE_00 + ld [de], a ; OBJ_STATE + inc e + ld a, 2 | (1 << 7) + ld [de], a ; OBJ_ACTION + inc e + inc e + ld a, [hli] + ld [de], a ; OBJ_UPDATE_FUNCTION + inc e + ld a, [hli] + ld [de], a + + ld a, e + sub (OBJ_UPDATE_FUNCTION + 1) - OBJ_FLAGS + ld e, a + ld a, [hl] + or OBJFLAG_ACTIVE | OBJFLAG_INVISIBLE + ld [de], a ; OBJ_FLAGS + ret + +DespawnAllObjects: + ld h, HIGH(wObjects) +FOR n, 0, NUM_OBJECTS + ld l, LOW(wObjects) + OBJ_STRUCT_LENGTH * n + ld a, [hl] ; OBJ_FLAGS + rra + jr nc, .skip_{u:n} ; skip if OBJFLAG_ACTIVE not set + rla + rla + rla + jr nc, .despawn_{u:n} ; jump if OBJFLAG_TRANSIENT not set + xor a + ld [hl], a + jr .skip_{u:n} +.despawn_{u:n} + inc l + inc l + farcall DespawnObject +.skip_{u:n} +ENDR + ret + +; bc = object creation data +_CreateObjectFromCurObjPos:: + ld h, HIGH(wObj1Flags) +FOR n, 1, NUM_OBJECTS + 1 + ld l, LOW(wObj{u:n}Flags) + ld a, [hl] + rra + jr nc, .got_obj_slot ; OBJFLAG_ACTIVE not set +ENDR + ret + +.got_obj_slot + ld a, OBJFLAG_ACTIVE | OBJFLAG_TRANSIENT + ld [hli], a + ld a, [wCurObjUnk01] + ld [hli], a + ld a, [wCurObjUnk02] + ld [hli], a + ld a, [wCurObjYPos + 0] + ld [hli], a + ld a, [wCurObjYPos + 1] + ld [hli], a + ld a, [wCurObjXPos + 0] + ld [hli], a + ld a, [wCurObjXPos + 1] + jr CreateObject_GotPos + +_CreateObjectAtRelativePos:: + ld h, HIGH(wObj1Flags) +FOR n, 1, NUM_OBJECTS + 1 + ld l, LOW(wObj{u:n}Flags) + ld a, [hl] + rra + jr nc, .got_obj_slot ; OBJFLAG_ACTIVE not set +ENDR + ret + +.got_obj_slot + ld a, OBJFLAG_ACTIVE | OBJFLAG_TRANSIENT + ld [hli], a + ld a, [wCurObjUnk01] + ld [hli], a + ld a, [wCurObjUnk02] + ld [hli], a + ld a, [wCurObjYPos + 0] + ld e, a + ld a, [bc] + rla + jr c, .negative_y + rra + add e + ld [hli], a + ld a, [wCurObjYPos + 1] + jr nc, .got_hi_y + inc a + jr .got_hi_y +.negative_y + rra + add e + ld [hli], a + ld a, [wCurObjYPos + 1] + jr c, .got_hi_y + dec a +.got_hi_y + ld [hli], a + inc bc + ld a, [wCurObjXPos] + ld e, a + ld a, [bc] + rla + jr c, .negative_x + rra + add e + ld [hli], a + ld a, [wCurObjXPos + 1] + jr nc, .got_hi_x + inc a + jr .got_hi_x +.negative_x + rra + add e + ld [hli], a + ld a, [wCurObjXPos + 1] + jr c, .got_hi_x + dec a +.got_hi_x + inc bc +CreateObject_GotPos:: + ld [hli], a + ld e, l + ld d, h + ld l, c + ld h, b + ld a, [hli] + ld [de], a ; OBJ_UNK_07 + inc e + ld a, [hli] + ld [de], a ; OBJ_INTERACTION_TYPE + inc e + ld a, [hli] + ld [de], a ; OBJ_COLLBOX_TOP + inc e + ld a, [hli] + ld [de], a ; OBJ_COLLBOX_BOTTOM + inc e + ld a, [hli] + ld [de], a ; OBJ_COLLBOX_LEFT + inc e + ld a, [hli] + ld [de], a ; OBJ_COLLBOX_RIGHT + inc e + inc e + inc e + inc e + ld a, [hli] ; OBJ_OAM_PTR + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + ld a, [hli] ; OBJ_FRAMESET_PTR + ld [de], a + inc e + ld a, [hli] + ld [de], a + inc e + xor a + ld [de], a ; OBJ_FRAME_DURATION + inc e + ld [de], a ; OBJ_FRAMESET_OFFSET + inc e + ld a, [hli] + ld [de], a ; OBJ_STATE_DURATION + inc e + ld a, [hli] + ld [de], a ; OBJ_VAR_1 + inc e + ld a, [hli] + ld [de], a ; OBJ_VAR_2 + inc e + ld a, [hli] + ld [de], a ; OBJ_VAR_3 + inc e + ld a, [hli] + ld [de], a ; OBJ_SUBSTATE + inc e + ld a, [hli] + ld [de], a ; OBJ_STATE + inc e + xor a ; OBJACTION_NONE + ld [de], a ; OBJ_ACTION + inc e + inc e + ld a, [hli] + ld [de], a ; OBJ_UPDATE_FUNCTION + inc e + ld a, [hli] + ld [de], a + ld a, e + sub (OBJ_UPDATE_FUNCTION + 1) - OBJ_FLAGS + ld e, a + ld a, [hl] ; OBJ_FLAGS + or OBJFLAG_ACTIVE | OBJFLAG_TRANSIENT + ld [de], a + ret + +LoadHiddenFigureData: + ld hl, .pointers + ld a, $d + ldh [hffa0], a + ld de, wObjDataPtr01 +.loop + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + inc a + ret z + ld a, c + ld [de], a + inc e + ld a, b + ld [de], a + inc e + ldh a, [hffa0] + dec a + ldh [hffa0], a + jr nz, .loop + ret + +.pointers + dw HiddenFigureData + dw NULL + +INCLUDE "data/object_data.asm" +INCLUDE "data/object_params.asm" + +CommonObjects_Grey: + dw GreyChestData + dw GreyKeyData + dw MusicalCoinData + + rgb 0, 22, 16 + rgb 28, 28, 28 + rgb 15, 15, 15 + rgb 0, 0, 0 + +CommonObjects_Red: + dw RedChestData + dw RedKeyData + dw MusicalCoinData + + rgb 0, 22, 16 + rgb 31, 24, 24 + rgb 23, 0, 0 + rgb 7, 0, 0 + +CommonObjects_Green: + dw GreenChestData + dw GreenKeyData + dw MusicalCoinData + + rgb 0, 22, 16 + rgb 24, 31, 21 + rgb 0, 16, 0 + rgb 0, 2, 0 + +CommonObjects_Blue: + dw BlueChestData + dw BlueKeyData + dw MusicalCoinData + + rgb 0, 22, 16 + rgb 19, 31, 31 + rgb 0, 12, 31 + rgb 0, 0, 7 + +CommonObjects_Special: + dw GreyChestData + dw GreyKeyData + dw MusicalCoinData + + rgb 31, 31, 31 + rgb 0, 27, 31 + rgb 31, 0, 12 + rgb 5, 0, 0 + +ObjectGroups: + table_width 4, ObjectGroups + dw CommonObjects_Grey, ObjectGroup0 ; OBJECT_GROUP_000 + dw CommonObjects_Green, ObjectGroup2 ; OBJECT_GROUP_001 + dw CommonObjects_Red, ObjectGroup3 ; OBJECT_GROUP_002 + dw CommonObjects_Green, ObjectGroup6 ; OBJECT_GROUP_003 + dw CommonObjects_Green, ObjectGroup7 ; OBJECT_GROUP_004 + dw CommonObjects_Green, ObjectGroup8 ; OBJECT_GROUP_005 + dw CommonObjects_Green, ObjectGroup9 ; OBJECT_GROUP_006 + dw CommonObjects_Blue, ObjectGroup10 ; OBJECT_GROUP_007 + dw CommonObjects_Grey, ObjectGroup11 ; OBJECT_GROUP_008 + dw CommonObjects_Grey, ObjectGroup13 ; OBJECT_GROUP_009 + dw CommonObjects_Grey, ObjectGroup14 ; OBJECT_GROUP_010 + dw CommonObjects_Grey, ObjectGroup15 ; OBJECT_GROUP_011 + dw CommonObjects_Grey, ObjectGroup16 ; OBJECT_GROUP_012 + dw CommonObjects_Red, ObjectGroup11 ; OBJECT_GROUP_013 + dw CommonObjects_Red, ObjectGroup17 ; OBJECT_GROUP_014 + dw CommonObjects_Green, ObjectGroup18 ; OBJECT_GROUP_015 + dw CommonObjects_Grey, ObjectGroup1 ; OBJECT_GROUP_016 + dw CommonObjects_Grey, ObjectGroup12 ; OBJECT_GROUP_017 + dw CommonObjects_Grey, ObjectGroup21 ; OBJECT_GROUP_018 + dw CommonObjects_Grey, ObjectGroup4 ; OBJECT_GROUP_019 + dw CommonObjects_Grey, ObjectGroup3 ; OBJECT_GROUP_020 + dw CommonObjects_Green, ObjectGroup19 ; OBJECT_GROUP_021 + dw CommonObjects_Green, ObjectGroup3 ; OBJECT_GROUP_022 + dw CommonObjects_Grey, ObjectGroup22 ; OBJECT_GROUP_023 + dw CommonObjects_Blue, ObjectGroup24 ; OBJECT_GROUP_024 + dw CommonObjects_Blue, ObjectGroup25 ; OBJECT_GROUP_025 + dw CommonObjects_Green, ObjectGroup25 ; OBJECT_GROUP_026 + dw CommonObjects_Red, ObjectGroup26 ; OBJECT_GROUP_027 + dw CommonObjects_Blue, ObjectGroup33 ; OBJECT_GROUP_028 + dw CommonObjects_Green, ObjectGroup34 ; OBJECT_GROUP_029 + dw CommonObjects_Grey, ObjectGroup35 ; OBJECT_GROUP_030 + dw CommonObjects_Grey, ObjectGroup37 ; OBJECT_GROUP_031 + dw CommonObjects_Grey, ObjectGroup38 ; OBJECT_GROUP_032 + dw CommonObjects_Grey, ObjectGroup39 ; OBJECT_GROUP_033 + dw CommonObjects_Red, ObjectGroup33 ; OBJECT_GROUP_034 + dw CommonObjects_Green, ObjectGroup40 ; OBJECT_GROUP_035 + dw CommonObjects_Blue, ObjectGroup41 ; OBJECT_GROUP_036 + dw CommonObjects_Red, ObjectGroup42 ; OBJECT_GROUP_037 + dw CommonObjects_Grey, ObjectGroup42 ; OBJECT_GROUP_038 + dw CommonObjects_Grey, ObjectGroup2 ; OBJECT_GROUP_039 + dw CommonObjects_Blue, ObjectGroup40 ; OBJECT_GROUP_040 + dw CommonObjects_Red, ObjectGroup43 ; OBJECT_GROUP_041 + dw CommonObjects_Green, ObjectGroup44 ; OBJECT_GROUP_042 + dw CommonObjects_Blue, ObjectGroup44 ; OBJECT_GROUP_043 + dw CommonObjects_Grey, ObjectGroup45 ; OBJECT_GROUP_044 + dw CommonObjects_Green, ObjectGroup24 ; OBJECT_GROUP_045 + dw CommonObjects_Blue, ObjectGroup35 ; OBJECT_GROUP_046 + dw CommonObjects_Red, ObjectGroup15 ; OBJECT_GROUP_047 + dw CommonObjects_Blue, ObjectGroup46 ; OBJECT_GROUP_048 + dw CommonObjects_Grey, ObjectGroup47 ; OBJECT_GROUP_049 + dw CommonObjects_Red, ObjectGroup34 ; OBJECT_GROUP_050 + dw CommonObjects_Blue, ObjectGroup48 ; OBJECT_GROUP_051 + dw CommonObjects_Grey, ObjectGroup49 ; OBJECT_GROUP_052 + dw CommonObjects_Grey, ObjectGroup50 ; OBJECT_GROUP_053 + dw CommonObjects_Grey, ObjectGroup51 ; OBJECT_GROUP_054 + dw CommonObjects_Blue, ObjectGroup52 ; OBJECT_GROUP_055 + dw CommonObjects_Green, ObjectGroup20 ; OBJECT_GROUP_056 + dw CommonObjects_Green, ObjectGroup53 ; OBJECT_GROUP_057 + dw CommonObjects_Red, ObjectGroup54 ; OBJECT_GROUP_058 + dw CommonObjects_Grey, ObjectGroup30 ; OBJECT_GROUP_059 + dw CommonObjects_Green, ObjectGroup31 ; OBJECT_GROUP_060 + dw CommonObjects_Grey, ObjectGroup23 ; OBJECT_GROUP_061 + dw CommonObjects_Blue, ObjectGroup36 ; OBJECT_GROUP_062 + dw CommonObjects_Blue, ObjectGroup29 ; OBJECT_GROUP_063 + dw CommonObjects_Red, ObjectGroup32 ; OBJECT_GROUP_064 + dw CommonObjects_Red, ObjectGroup27 ; OBJECT_GROUP_065 + dw CommonObjects_Red, ObjectGroup27 ; OBJECT_GROUP_066 + dw CommonObjects_Red, ObjectGroup28 ; OBJECT_GROUP_067 + dw CommonObjects_Grey, ObjectGroup55 ; OBJECT_GROUP_068 + dw CommonObjects_Grey, ObjectGroup56 ; OBJECT_GROUP_069 + dw CommonObjects_Grey, ObjectGroup57 ; OBJECT_GROUP_070 + dw CommonObjects_Grey, ObjectGroup58 ; OBJECT_GROUP_071 + dw CommonObjects_Red, ObjectGroup59 ; OBJECT_GROUP_072 + dw CommonObjects_Grey, ObjectGroup60 ; OBJECT_GROUP_073 + dw CommonObjects_Blue, ObjectGroup61 ; OBJECT_GROUP_074 + dw CommonObjects_Blue, ObjectGroup17 ; OBJECT_GROUP_075 + dw CommonObjects_Red, ObjectGroup13 ; OBJECT_GROUP_076 + dw CommonObjects_Grey, ObjectGroup62 ; OBJECT_GROUP_077 + dw CommonObjects_Blue, ObjectGroup63 ; OBJECT_GROUP_078 + dw CommonObjects_Green, ObjectGroup64 ; OBJECT_GROUP_079 + dw CommonObjects_Green, ObjectGroup65 ; OBJECT_GROUP_080 + dw CommonObjects_Red, ObjectGroup35 ; OBJECT_GROUP_081 + dw CommonObjects_Grey, ObjectGroup66 ; OBJECT_GROUP_082 + dw CommonObjects_Red, ObjectGroup67 ; OBJECT_GROUP_083 + dw CommonObjects_Green, ObjectGroup68 ; OBJECT_GROUP_084 + dw CommonObjects_Blue, ObjectGroup69 ; OBJECT_GROUP_085 + dw CommonObjects_Grey, ObjectGroup70 ; OBJECT_GROUP_086 + dw CommonObjects_Green, ObjectGroup60 ; OBJECT_GROUP_087 + dw CommonObjects_Grey, ObjectGroup71 ; OBJECT_GROUP_088 + dw CommonObjects_Blue, ObjectGroup72 ; OBJECT_GROUP_089 + dw CommonObjects_Blue, ObjectGroup73 ; OBJECT_GROUP_090 + dw CommonObjects_Green, ObjectGroup4 ; OBJECT_GROUP_091 + dw CommonObjects_Blue, ObjectGroup14 ; OBJECT_GROUP_092 + dw CommonObjects_Red, ObjectGroup24 ; OBJECT_GROUP_093 + dw CommonObjects_Grey, ObjectGroup74 ; OBJECT_GROUP_094 + dw CommonObjects_Green, ObjectGroup75 ; OBJECT_GROUP_095 + dw CommonObjects_Grey, ObjectGroup76 ; OBJECT_GROUP_096 + dw CommonObjects_Blue, ObjectGroup77 ; OBJECT_GROUP_097 + dw CommonObjects_Blue, ObjectGroup78 ; OBJECT_GROUP_098 + dw CommonObjects_Blue, ObjectGroup79 ; OBJECT_GROUP_099 + dw CommonObjects_Blue, ObjectGroup80 ; OBJECT_GROUP_100 + dw CommonObjects_Grey, ObjectGroup81 ; OBJECT_GROUP_101 + dw CommonObjects_Green, ObjectGroup82 ; OBJECT_GROUP_102 + dw CommonObjects_Blue, ObjectGroup3 ; OBJECT_GROUP_103 + dw CommonObjects_Blue, ObjectGroup83 ; OBJECT_GROUP_104 + dw CommonObjects_Blue, ObjectGroup84 ; OBJECT_GROUP_105 + dw CommonObjects_Blue, ObjectGroup85 ; OBJECT_GROUP_106 + dw CommonObjects_Red, ObjectGroup86 ; OBJECT_GROUP_107 + dw CommonObjects_Green, ObjectGroup87 ; OBJECT_GROUP_108 + dw CommonObjects_Green, ObjectGroup88 ; OBJECT_GROUP_109 + dw CommonObjects_Blue, ObjectGroup89 ; OBJECT_GROUP_110 + dw CommonObjects_Red, ObjectGroup95 ; OBJECT_GROUP_111 + dw CommonObjects_Red, ObjectGroup90 ; OBJECT_GROUP_112 + dw CommonObjects_Grey, ObjectGroup91 ; OBJECT_GROUP_113 + dw CommonObjects_Blue, ObjectGroup92 ; OBJECT_GROUP_114 + dw CommonObjects_Blue, ObjectGroup93 ; OBJECT_GROUP_115 + dw CommonObjects_Grey, ObjectGroup94 ; OBJECT_GROUP_116 + dw CommonObjects_Green, ObjectGroup96 ; OBJECT_GROUP_117 + dw CommonObjects_Red, ObjectGroup91 ; OBJECT_GROUP_118 + dw CommonObjects_Green, ObjectGroup97 ; OBJECT_GROUP_119 + dw CommonObjects_Red, ObjectGroup77 ; OBJECT_GROUP_120 + dw CommonObjects_Red, ObjectGroup98 ; OBJECT_GROUP_121 + dw CommonObjects_Green, ObjectGroup99 ; OBJECT_GROUP_122 + dw CommonObjects_Green, ObjectGroup100 ; OBJECT_GROUP_123 + dw CommonObjects_Grey, ObjectGroup5 ; OBJECT_GROUP_124 + dw CommonObjects_Grey, ObjectGroup101 ; OBJECT_GROUP_125 + dw CommonObjects_Blue, ObjectGroup101 ; OBJECT_GROUP_126 + dw CommonObjects_Grey, ObjectGroup85 ; OBJECT_GROUP_127 + dw CommonObjects_Red, ObjectGroup105 ; OBJECT_GROUP_128 + dw CommonObjects_Green, ObjectGroup102 ; OBJECT_GROUP_129 + dw CommonObjects_Grey, ObjectGroup103 ; OBJECT_GROUP_130 + dw CommonObjects_Blue, ObjectGroup104 ; OBJECT_GROUP_131 + dw CommonObjects_Green, ObjectGroup106 ; OBJECT_GROUP_132 + dw CommonObjects_Blue, ObjectGroup107 ; OBJECT_GROUP_133 + dw CommonObjects_Blue, ObjectGroup108 ; OBJECT_GROUP_134 + dw CommonObjects_Blue, ObjectGroup109 ; OBJECT_GROUP_135 + dw CommonObjects_Grey, ObjectGroup110 ; OBJECT_GROUP_136 + dw CommonObjects_Red, ObjectGroup111 ; OBJECT_GROUP_137 + dw CommonObjects_Grey, ObjectGroup112 ; OBJECT_GROUP_138 + dw CommonObjects_Green, ObjectGroup113 ; OBJECT_GROUP_139 + dw CommonObjects_Grey, ObjectGroup114 ; OBJECT_GROUP_140 + dw CommonObjects_Grey, ObjectGroup115 ; OBJECT_GROUP_141 + dw CommonObjects_Red, ObjectGroup116 ; OBJECT_GROUP_142 + dw CommonObjects_Green, ObjectGroup43 ; OBJECT_GROUP_143 + dw CommonObjects_Red, ObjectGroup44 ; OBJECT_GROUP_144 + dw CommonObjects_Special, ObjectGroup117 ; OBJECT_GROUP_145 + assert_table_length NUM_OBJECT_GROUPS + +INCLUDE "data/object_groups.asm" diff --git a/src/engine/level/object_interactions.asm b/src/engine/level/object_interactions.asm new file mode 100644 index 0000000..169203e --- /dev/null +++ b/src/engine/level/object_interactions.asm @@ -0,0 +1,3714 @@ +ProcessInteractions: + ld a, [wIsIntangible] + and a + ret nz ; quit if Wario is intangible + ld a, [wIsFloorTransition] + and a + ret nz ; quit if floor is transitioning + ld a, [wAutoMoveState] + and a + ret nz ; quit if auto-moving + xor a + ld [wIsOnSteppableObject], a + + ld hl, wObjects +.loop_objects + ld a, h + cp HIGH(wObjects) + 1 + ret z + ld [wObjPtr + 0], a + ld a, l + ld [wObjPtr + 1], a + ld a, [hl] ; OBJ_FLAGS + and OBJFLAG_ACTIVE | OBJFLAG_ON_SCREEN + cp OBJFLAG_ACTIVE | OBJFLAG_ON_SCREEN + jr z, .asm_20036 +.next_obj + ld a, [wObjPtr + 0] + ld h, a + ld a, [wObjPtr + 1] + ld l, a + ld de, OBJ_STRUCT_LENGTH + add hl, de + jr .loop_objects + +.asm_20036 + push hl + ld e, OBJ_UNK_1D + ld d, $00 + add hl, de + ld a, [hld] + ld [wUnused_c1b8], a + ld a, [hl] ; OBJ_ACTION + pop hl + and a + jr nz, .next_obj + + ld e, OBJ_INTERACTION_TYPE + ld d, $00 + add hl, de + ld a, [hli] ; OBJ_INTERACTION_TYPE + ld [wObjInteractionType], a + ld a, [hli] ; OBJ_COLLBOX_TOP + ld [wObjCollBoxTop], a + ld a, [hli] ; OBJ_COLLBOX_BOTTOM + ld [wObjCollBoxBottom], a + ld a, [hli] ; OBJ_COLLBOX_LEFT + ld [wObjCollBoxLeft], a + ld a, [hli] ; OBJ_COLLBOX_RIGHT + ld [wObjCollBoxRight], a + ld a, [hli] ; OBJ_SCREEN_Y_POS + ld [wObjScreenYPos], a + ld a, [hl] ; OBJ_SCREEN_X_POS + ld [wObjScreenXPos], a + + ld e, OBJ_SUBSTATE - OBJ_SCREEN_X_POS + ld d, $00 + add hl, de + ld a, [hl] ; OBJ_SUBSTATE + bit OBJSUBFLAG_HDIR_F, a + jr nz, .asm_20074 + ld a, DIRECTION_LEFT + jr .asm_20076 +.asm_20074 + ld a, DIRECTION_RIGHT +.asm_20076 + ld [wEnemyDirection], a + + xor a + ld [wInteractionSide], a + ld a, $ff + ld [wc1c2], a + ld [wc1c1], a + ld [wc1c3], a + ld [wc1c4], a + + ld e, $d0 + ld hl, wObjCollBoxTop + ld a, [wObjScreenYPos] + add [hl] + sub e + ld b, a + ld hl, wCollisionBoxBottom + ld a, [wWarioScreenYPos] + add [hl] + sub e + sub b + jp c, .next_obj + ld c, a + + ld hl, wCollisionBoxTop + ld a, [wWarioScreenYPos] + add [hl] + sub e + ld b, a + ld hl, wObjCollBoxBottom + ld a, [wObjScreenYPos] + add [hl] + sub e + sub b + jp c, .next_obj + ld d, a + ld a, d + sub c + jr c, .asm_200c9 + jr z, .asm_200c5 + + ld a, c + ld [wc1c1], a + jr .asm_200cd +.asm_200c5 + ld a, c + ld [wc1c1], a +.asm_200c9 + ld a, d + ld [wc1c2], a +.asm_200cd + + ld hl, wObjCollBoxLeft + ld a, [wObjScreenXPos] + add [hl] + sub e + ld b, a + ld hl, wCollisionBoxRight + ld a, [wWarioScreenXPos] + add [hl] + sub e + sub b + jp c, .next_obj + ld c, a + ld hl, wCollisionBoxLeft + ld a, [wWarioScreenXPos] + add [hl] + sub e + ld b, a + ld hl, wObjCollBoxRight + ld a, [wObjScreenXPos] + add [hl] + sub e + sub b + jp c, .next_obj + ld d, a + sub c + jr c, .asm_20108 + jr z, .asm_20104 + + ld a, c + ld [wc1c3], a + jr .asm_2010c +.asm_20104 + ld a, c + ld [wc1c3], a +.asm_20108 + ld a, d + ld [wc1c4], a +.asm_2010c + + ld hl, wInteractionSide + ld a, INTERACTION_LEFT | INTERACTION_RIGHT | INTERACTION_UP | INTERACTION_DOWN + ld [hl], a + ld a, [wc1c4] + ld b, a + ld a, [wc1c3] + ld c, a + cp b + jr z, .asm_20126 + jr c, .asm_20123 + res INTERACTION_RIGHT_F, [hl] + jr .asm_20126 +.asm_20123 + res INTERACTION_LEFT_F, [hl] + ld b, c +.asm_20126 + ld a, [wc1c2] + ld d, a + ld a, [wc1c1] + ld e, a + cp d + jr z, .asm_2013a + jr c, .asm_20137 + res INTERACTION_UP_F, [hl] + jr .asm_2013a +.asm_20137 + res INTERACTION_DOWN_F, [hl] + ld d, e +.asm_2013a + ld a, b + cp d + jr z, .do_interaction + jr c, .asm_20146 + res INTERACTION_LEFT_F, [hl] + res INTERACTION_RIGHT_F, [hl] + jr .do_interaction +.asm_20146 + res INTERACTION_UP_F, [hl] + res INTERACTION_DOWN_F, [hl] + +.do_interaction + ld a, [wObjInteractionType] + and INTERACTION_MASK + jumptable + +.table + table_width 2, ProcessInteractions.table + dw Func_20b6b ; OBJ_INTERACTION_00 + dw Func_20d1d ; OBJ_INTERACTION_01 + dw ObjInteraction_FrontSting ; OBJ_INTERACTION_FRONT_STING + dw ObjInteraction_BackSting ; OBJ_INTERACTION_BACK_STING + dw ObjInteraction_TopSting ; OBJ_INTERACTION_TOP_STING + dw ObjInteraction_FullSting ; OBJ_INTERACTION_FULL_STING + dw Func_20d81 ; OBJ_INTERACTION_06 + dw Func_20d8c ; OBJ_INTERACTION_07 + dw Func_20deb ; OBJ_INTERACTION_08 + dw Func_20e39 ; OBJ_INTERACTION_09 + dw Func_20e60 ; OBJ_INTERACTION_0A + dw Func_20e6a ; OBJ_INTERACTION_0B + dw ObjInteraction_Walkable ; OBJ_INTERACTION_WALKABLE + dw ObjInteraction_MusicalCoin ; OBJ_INTERACTION_MUSICAL_COIN + dw ObjInteraction_Fire ; OBJ_INTERACTION_FIRE + dw ObjInteraction_Richtertoffen ; OBJ_INTERACTION_RICHTERTOFFEN + dw ObjInteraction_GreyKey ; OBJ_INTERACTION_GREY_KEY + dw ObjInteraction_RedKey ; OBJ_INTERACTION_RED_KEY + dw ObjInteraction_GreenKey ; OBJ_INTERACTION_GREEN_KEY + dw ObjInteraction_BlueKey ; OBJ_INTERACTION_BLUE_KEY + dw ObjInteraction_GreyTreasure ; OBJ_INTERACTION_GREY_TREASURE + dw ObjInteraction_RedTreasure ; OBJ_INTERACTION_RED_TREASURE + dw ObjInteraction_GreenTreasure ; OBJ_INTERACTION_GREEN_TREASURE + dw ObjInteraction_BlueTreasure ; OBJ_INTERACTION_BLUE_TREASURE + dw ObjInteraction_Omodonmeka ; OBJ_INTERACTION_OMODONMEKA + dw ObjInteraction_Silky ; OBJ_INTERACTION_SILKY + dw ObjInteraction_Food ; OBJ_INTERACTION_FOOD + dw ObjInteraction_RegularCoin ; OBJ_INTERACTION_REGULAR_COIN + dw ObjInteraction_Electric ; OBJ_INTERACTION_ELECTRIC + dw ObjInteraction_InvisibilityPotion ; OBJ_INTERACTION_INVISIBILITY_POTION + dw ObjInteraction_Pneumo ; OBJ_INTERACTION_PNEUMO + dw ObjInteraction_ZombieHead ; OBJ_INTERACTION_ZOMBIE_HEAD + dw ObjInteraction_Bouncy ; OBJ_INTERACTION_BOUNCY + dw ObjInteraction_FireBot ; OBJ_INTERACTION_FIRE_BOT + dw ObjInteraction_Solid ; OBJ_INTERACTION_SOLID + dw ObjInteraction_Omodon ; OBJ_INTERACTION_OMODON + dw ObjInteraction_OrangeBird ; OBJ_INTERACTION_ORANGE_BIRD + dw ObjInteraction_Vampire ; OBJ_INTERACTION_VAMPIRE + dw ObjInteraction_Bubble ; OBJ_INTERACTION_BUBBLE + dw ObjInteraction_Ice ; OBJ_INTERACTION_ICE + dw ObjInteraction_Owl ; OBJ_INTERACTION_OWL + dw ObjInteraction_Rail ; OBJ_INTERACTION_RAIL + dw ObjInteraction_Haridama ; OBJ_INTERACTION_HARIDAMA + dw ObjInteraction_AnonsterWave ; OBJ_INTERACTION_ANONSTER_WAVE + dw ObjInteraction_AnonsterSilk ; OBJ_INTERACTION_ANONSTER_SILK + dw ObjInteraction_Snow ; OBJ_INTERACTION_SNOW + dw ObjInteraction_UnlitTorch ; OBJ_INTERACTION_UNLIT_TORCH + dw ObjInteraction_Stove ; OBJ_INTERACTION_STOVE + dw ObjInteraction_RoboMouse ; OBJ_INTERACTION_ROBO_MOUSE + dw Func_21af1 ; OBJ_INTERACTION_31 + dw ObjInteraction_DollBoyHammer ; OBJ_INTERACTION_DOLL_BOY_HAMMER + dw ObjInteraction_RollingRock ; OBJ_INTERACTION_ROLLING_ROCK + dw ObjInteraction_Wormwould ; OBJ_INTERACTION_WORMWOULD + dw ObjInteraction_Beam ; OBJ_INTERACTION_BEAM + dw Func_21b78 ; OBJ_INTERACTION_36 + dw ObjInteraction_YellowBellyArrow ; OBJ_INTERACTION_YELLOW_BELLY_ARROW + dw ObjInteraction_Teruteru ; OBJ_INTERACTION_TERUTERU + dw ObjInteraction_WaterDrop ; OBJ_INTERACTION_WATER_DROP + dw ObjInteraction_Pesce ; OBJ_INTERACTION_PESCE + dw Func_21c56 ; OBJ_INTERACTION_3B + dw ObjInteraction_Tadpole ; OBJ_INTERACTION_TADPOLE + dw ObjInteraction_Hebarii ; OBJ_INTERACTION_HEBARII + dw ObjInteraction_PrinceFroggy ; OBJ_INTERACTION_PRINCE_FROGGY + dw ObjInteraction_Hand ; OBJ_INTERACTION_HAND + dw ObjInteraction_WaterTeleporting ; OBJ_INTERACTION_WATER_TELEPORTING + dw Func_21ce9 ; OBJ_INTERACTION_41 + dw ObjInteraction_Ink ; OBJ_INTERACTION_INK + dw Func_207ed ; OBJ_INTERACTION_43 + dw ObjInteraction_Jamano ; OBJ_INTERACTION_JAMANO + dw ObjInteraction_Turtle ; OBJ_INTERACTION_TURTLE + dw Func_21d3b ; OBJ_INTERACTION_46 + dw Func_21d64 ; OBJ_INTERACTION_47 + dw Func_21d6f ; OBJ_INTERACTION_48 + dw Func_21d88 ; OBJ_INTERACTION_49 + dw ObjInteraction_ColourCoin ; OBJ_INTERACTION_COLOUR_COIN + dw ObjInteraction_MagicalSpiral ; OBJ_INTERACTION_MAGICAL_SPIRAL + dw ObjInteraction_BottomSting ; OBJ_INTERACTION_BOTTOM_STING + dw Func_21e3e ; OBJ_INTERACTION_4D + dw Func_21e9c ; OBJ_INTERACTION_4E + dw Func_21ea6 ; OBJ_INTERACTION_4F + dw Func_21ecd ; OBJ_INTERACTION_50 + dw Func_21f01 ; OBJ_INTERACTION_51 + dw Func_21f28 ; OBJ_INTERACTION_52 + dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_1 + dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_2 + dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_3 + dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_4 + dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_5 + dw ObjInteraction_None ; OBJ_INTERACTION_UNUSED_6 + assert_table_length NUM_OBJ_INTERACTIONS + +ObjInteraction_None: + ret + +; clears the screen from objects +; when opening a treasure +TreasureClearObjects: + ld hl, wObjects + ld de, OBJ_STRUCT_LENGTH +.loop_objects + ld a, h + cp HIGH(wCurObj) + ret z + ld a, [hl] ; OBJ_FLAGS + and OBJFLAG_ACTIVE | OBJFLAG_ON_SCREEN + cp OBJFLAG_ACTIVE + jr z, .vanish_obj + cp OBJFLAG_ACTIVE | OBJFLAG_ON_SCREEN + jr z, .vanish_obj +.next_obj + add hl, de + jr .loop_objects +.vanish_obj + ld a, [wObjPtr + 1] + cp l + jr z, .next_obj + push hl + ld c, OBJ_ACTION + ld b, $00 + add hl, bc + ld [hl], OBJACTION_VANISH_TREASURE + pop hl + jr .next_obj + +Func_2022c: + ld a, [wIsRolling] + and a + jp nz, AttackObject + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jp nz, StepOnObject +; fallthrough + +Func_2023b: + ld a, [wTouchState] + and a + jr z, .asm_20257 + cp TOUCH_BUMP + jr z, .asm_20257 + cp TOUCH_VULNERABLE + jp z, Func_20939 ; this causes an infinite loop! + cp TOUCH_ATTACK + jp z, AttackObject + cp TOUCH_VANISH + jp z, Func_205e7 + jp ProcessInteractions.next_obj + +.asm_20257 + ld a, [wAttackCounter] + and a + jp nz, AttackObject + + ld b, OBJACTION_BUMP + call SetObjAction + + ld a, [wInvincibleCounter] + cp $01 + ret z ; is invincible + ld a, [wTransformation] + cp TRANSFORMATION_FLAT_WARIO + jr z, Func_2028a + and a + ret nz + + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_20283 + ld a, DIRECTION_LEFT + ld [wDirection], a + jr .wario_bump +.asm_20283 + ld a, DIRECTION_RIGHT + ld [wDirection], a +.wario_bump + jr SetState_EnemyBumping + +Func_2028a: + ld a, [wJumpVelTable] + and a + ret z + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_202a0 + ld a, DIRECTION_LEFT + ld [wDirection], a + jr .asm_202a5 +.asm_202a0 + ld a, DIRECTION_RIGHT + ld [wDirection], a +.asm_202a5 + farcall SetState_FlatFalling + ret + +SetState_EnemyBumping: + play_sfx SFX_BUMP + ld a, $0e + ld [wJumpVelIndex], a + ld a, $01 + ld [wJumpVelTable], a + + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wIsSmashAttacking], a + ld [wGrabState], a + + ld a, WST_ENEMY_BUMPING + ld [wWarioState], a + + ld a, BANK(WarioWalkGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioWalkGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioWalkGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + ld a, BANK(OAM_1426c) + ld [wOAMBank], a + ld a, HIGH(OAM_1426c) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_1426c) + ld [wOAMPtr + 1], a + + ld a, [wIsCrouching] + and a + jr nz, .crouching + ld a, [wDirection] + and a + jr nz, .asm_20326 + ld a, HIGH(Frameset_14a71) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_14a71) + ld [wFramesetPtr + 1], a +.asm_20316 + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret +.asm_20326 + ld a, HIGH(Frameset_14a6c) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_14a6c) + ld [wFramesetPtr + 1], a + jr .asm_20316 + +.crouching + ld a, [wDirection] + and a + jr nz, .asm_20344 + ld a, HIGH(Frameset_14a3b) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_14a3b) + ld [wFramesetPtr + 1], a + jr .asm_20316 +.asm_20344 + ld a, HIGH(Frameset_14a38) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_14a38) + ld [wFramesetPtr + 1], a + jr .asm_20316 + +; routine called when an object is attacked +; whether by Wario's B attack, Fat Wario bump, rolling, etc. +AttackObject: + play_sfx SFX_017 + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_20382 + + ld a, INTERACTION_RIGHT + ld [wInteractionSide], a + ld hl, wWarioXPos + 1 + ld de, hXPosLo + ld a, [hld] + add $08 + ld [de], a + dec de + ld a, [hld] + adc $00 + ld [de], a + dec de + ld a, [hld] + sub $08 + ld [de], a + dec de + ld a, [hl] + sbc $00 + ld [de], a + jr .asm_203a0 + +.asm_20382 + ld a, INTERACTION_LEFT + ld [wInteractionSide], a + ld hl, wWarioXPos + 1 + ld de, hXPosLo + ld a, [hld] + sub $08 + ld [de], a + dec de + ld a, [hld] + sbc $00 + ld [de], a + dec de + ld a, [hld] + sub $08 + ld [de], a + dec de + ld a, [hl] + sbc $00 + ld [de], a + +.asm_203a0 + ld b, PARTICLE_STARS + farcall CreateParticle + ld b, OBJACTION_ATTACK + call SetObjAction + ld a, [wTransformation] + cp TRANSFORMATION_FAT_WARIO + jr z, .fat + cp TRANSFORMATION_SNOWMAN_WARIO + jr z, .snowman + and a + ret nz + + ld a, [wIsRolling] + and a + jr z, .not_rolling + ld a, [wObjInteractionType] + bit HEAVY_OBJ_F, a + ret z + ld a, [wPowerUpLevel] + cp GARLIC + ret nc + farcall DoJumpingBump_NoSFX + ret + +.not_rolling + ld a, [wObjInteractionType] + bit HEAVY_OBJ_F, a + jr z, .asm_203fc + farcall DoJumpingBump_NoSFX + ret + +.asm_203fc + ld a, [wJumpVelTable] + and a + jr nz, .asm_20412 + farcall SetState_Idling + ret +.asm_20412 + farcall StartFall + ret + +.fat + farcall SetState_FatBumping + ret + +.snowman + ld a, [wWarioTransformationProgress] + and a + ret nz + farcall SetState_SnowmanBumped + ret + +; routine called when Wario steps on an object +StepOnObject: +; no stun if Wario is invincible + ld a, [wInvincibleCounter] + cp $01 + ret z + + ld a, [wIsSmashAttacking] + dec a + jr nz, .no_smash_attack +; Wario is smash attacking + ld a, [wTransformation] + cp TRANSFORMATION_FAT_WARIO + jp z, Func_205e7 + jp Func_20602 + +.no_smash_attack + ld a, [wTransformation] + and a + jp nz, .Transformed + +; not transformed + xor a + ld [wAttackCounter], a + +; stepping on object while rolling is attacking + ld a, [wIsRolling] + and a + jp nz, AttackObject + + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .on_left +; on right + ld a, [wInteractionSide] + or INTERACTION_RIGHT + ld [wInteractionSide], a + jr .asm_2048c +.on_left + ld a, [wInteractionSide] + or INTERACTION_LEFT + ld [wInteractionSide], a +.asm_2048c + ld a, [wInteractionSide] + bit INTERACTION_DOWN_F, a + jr nz, .asm_20506 + ld a, [wWarioScreenYPos] + ld b, a + ld a, [wObjScreenYPos] + cp b + jr c, .asm_20506 + + ld a, [wGrabState] + and GRAB_STATE_MASK + cp GRAB_IDLE + jr z, .grabbing +; clear grab state + xor a + ld [wGrabState], a + + ld a, [wIsCrouching] + and a + jr nz, .crouching_1 + ld a, [wJoypadDown] + and a + jp z, .no_input + farcall StartJump_FromInput + jr .asm_204e8 + +.crouching_1 + farcall StartCrouchJump + jr .asm_204e8 + +.grabbing + farcall Func_1ede9 + +.asm_204e8 + ld a,TRUE + ld [wDoFullJump], a + ld a, $0a + ld [wJumpVelIndex], a + + ld a, [wJoypadDown] + bit A_BUTTON_F, a + jr z, .asm_20578 + ld a, [wPowerUpLevel] + cp HIGH_JUMP_BOOTS + jr c, .asm_20578 + xor a ; full jump + ld [wJumpVelIndex], a + jr .asm_20578 + +.asm_20506 + ld a, [wInvincibleCounter] + cp $01 + ret z + ld a, [wIsCrouching] + and a + jr nz, .crouching_2 + + ld a, [wGrabState] + and GRAB_STATE_MASK + cp GRAB_IDLE + jr z, .asm_20547 + xor a + ld [wGrabState], a + ld a, [wJumpVelTable] + and a + jr nz, .asm_20536 + farcall SetState_Idling + jr .asm_20578 + +.asm_20536 + farcall StartFall + jr .asm_20578 + +.asm_20547 + ld a, [wJumpVelTable] + and a + jr z, .asm_20578 + farcall Func_1edd3 + jr .asm_20578 + +.crouching_2 + ld a, [wJumpVelTable] + and a + jr z, .asm_20578 + farcall StartCrouchFall + jr .asm_20578 + +.no_input + call Func_20939 +.asm_20578 + play_sfx SFX_014 + ld b, OBJACTION_WOBBLE + jp SetObjAction + +.Transformed + ld a, [wTransformation] + cp TRANSFORMATION_HOT_WARIO + jr nz, .not_hot_wario + ld a, [wWarioTransformationProgress] + cp 2 + jr nc, Func_205e7 +.not_hot_wario + + ld a, [wTransformation] + cp TRANSFORMATION_FAT_WARIO + jp z, AttackObject + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_205af + ld a, [wInteractionSide] + or INTERACTION_RIGHT + ld [wInteractionSide], a + jr .asm_205b7 +.asm_205af + ld a, [wInteractionSide] + or INTERACTION_LEFT + ld [wInteractionSide], a +.asm_205b7 + play_sfx SFX_014 + ld b, OBJACTION_WOBBLE + call SetObjAction + ld a, [wTransformation] + cp TRANSFORMATION_FLAT_WARIO + jp z, Func_2028a + cp TRANSFORMATION_BOUNCY_WARIO + jr z, .asm_205d1 + ret +.asm_205d1 + ld a, [wTouchState] + cp TOUCH_PASS_THROUGH + ret z + farcall Func_2a0b2 + ret + +Func_205e7: + ld b, OBJACTION_VANISH_TOUCH + call SetObjAction + ld a, [wTransformation] + cp TRANSFORMATION_ZOMBIE_WARIO + ret nz + farcall SetState_ZombieKnockBack + ret + +Func_20602: + ld a, [wTransformation] + cp TRANSFORMATION_INVISIBLE_WARIO + jr z, .invisible + and a + jr nz, Func_205e7 ; has transformation except invisible +.invisible + ld a, [wGrabState] + and GRAB_STATE_MASK + cp GRAB_IDLE + jr z, .asm_2062a + xor a + ld [wGrabState], a + farcall StartJump_FromInput + jr .asm_20639 +.asm_2062a + farcall Func_1ede9 +.asm_20639 + ld a, TRUE + ld [wDoFullJump], a + ld a, $0a + ld [wJumpVelIndex], a + ld a, [wJoypadDown] + bit A_BUTTON_F, a + jr z, .asm_20655 + ld a, [wPowerUpLevel] + cp HIGH_JUMP_BOOTS + jr c, .asm_20655 + xor a + ld [wJumpVelIndex], a +.asm_20655 + ld b, OBJACTION_VANISH_TOUCH +; fallthrough + +SetObjAction: + ld a, [wObjPtr + 0] + ld h, a + ld a, [wObjPtr + 1] + ld l, a + ld e, OBJ_ACTION + ld d, $00 + add hl, de + ld [hl], b + inc l + ld a, [wInteractionSide] + ld b, a + ld a, [hl] ; OBJ_UNK_1D + and $0f + or b + ld [hl], a + ret + +Func_20670: + ld a, [wInvincibleCounter] + and a + jp nz, Func_20939 + +; if Wario is rolling, do attack + ld a, [wPowerUpLevel] + cp GARLIC + jr nc, .check_rolling + ld a, [wObjInteractionType] + bit HEAVY_OBJ_F, a + jr nz, .asm_2068c +.check_rolling + ld a, [wIsRolling] + and a + jp nz, AttackObject + +.asm_2068c + ld a, [wStingTouchState] + and a + jr z, .asm_206a8 + cp TOUCH_VULNERABLE + jr z, .asm_206a8 + cp TOUCH_BUMP + jp z, Func_2023b + cp TOUCH_ATTACK + jp z, AttackObject + cp TOUCH_VANISH + jp z, Func_205e7 + jp ProcessInteractions.next_obj + +.asm_206a8 + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_206bc + ld a, [wInteractionSide] + or INTERACTION_RIGHT + ld [wInteractionSide], a + jr .asm_206c4 +.asm_206bc + ld a, [wInteractionSide] + or INTERACTION_LEFT + ld [wInteractionSide], a +.asm_206c4 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, .asm_206d2 + ld a, DIRECTION_RIGHT + ld [wDirection], a + jr .asm_206d7 +.asm_206d2 + ld a, DIRECTION_LEFT + ld [wDirection], a +.asm_206d7 + ld b, OBJACTION_06 + call SetObjAction + ld a, [wInvincibleCounter] + cp $01 + ret z + ld a, [wStingTouchState] + cp TOUCH_VULNERABLE + jr z, Func_206eb + jr SetState_Stung + +Func_206eb: + ld a, [wTransformation] + cp TRANSFORMATION_OWL_WARIO + call z, ReleaseOwl + call ClearTransformationValues + call UpdateLevelMusic +; fallthrough + +SetState_Stung: + ld a, $01 + ld [wInvincibleCounter], a + + play_sfx SFX_STING + + ld a, WST_STUNG + ld [wWarioState], a + + xor a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wGrabState], a + ld [wAttackCounter], a + ld [wIsRolling], a + ld [wIsSmashAttacking], a + ld a, $6 + ld [wJumpVelIndex], a + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + ld a, [wIsCrouching] + and a + jr z, .asm_20774 + ld a, -27 + ld [wCollisionBoxTop], a + + ldh a, [hYPosHi] + ldh [hffad], a + ldh a, [hYPosLo] + ldh [hffae], a + ldh a, [hXPosHi] + ldh [hffaf], a + ldh a, [hXPosLo] + ldh [hffb0], a + + farcall CheckUpCollision + ld a, b + and a + jr nz, .asm_20780 + + xor a + ld [wIsCrouching], a + ldh a, [hffad] + ldh [hYPosHi], a + ldh a, [hffae] + ldh [hYPosLo], a + ldh a, [hffaf] + ldh [hXPosHi], a + ldh a, [hffb0] + ldh [hXPosLo], a + +.asm_20774 + ld a, -27 + ld [wCollisionBoxTop], a + ld a, JUMP_VEL_KNOCK_BACK + ld [wJumpVelTable], a + jr .asm_20799 + +.asm_20780 + ld a, -15 + ld [wCollisionBoxTop], a + xor a ; JUMP_VEL_NONE + ld [wJumpVelTable], a + + ldh a, [hffad] + ldh [hYPosHi], a + ldh a, [hffae] + ldh [hYPosLo], a + ldh a, [hffaf] + ldh [hXPosHi], a + ldh a, [hffb0] + ldh [hXPosLo], a + +.asm_20799 + ld a, BANK(WarioAirborneGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioAirborneGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioAirborneGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + ld a, BANK(OAM_15955) + ld [wOAMBank], a + ld a, HIGH(OAM_15955) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_15955) + ld [wOAMPtr + 1], a + + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + ld a, [wDirection] + and a + jr nz, .asm_207d3 + ld a, HIGH(Frameset_15f7f) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_15f7f) + ld [wFramesetPtr + 1], a + jr .asm_207dd +.asm_207d3 + ld a, HIGH(Frameset_15f70) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_15f70) + ld [wFramesetPtr + 1], a +.asm_207dd + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +Func_207ed: + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wWaterInteraction] + and a + ret z + ld a, [wStingTouchState] + and a + jr z, .asm_20808 + cp TOUCH_BUMP + jp z, Func_208f2.start + cp TOUCH_VANISH + jp z, Func_2092d + ret + +.asm_20808 + ld b, OBJACTION_06 + call SetObjAction +; fallthrough + +SetState_WaterStung: + play_sfx SFX_STING + ld a, $01 + ld [wInvincibleCounter], a + ld a, WST_WATER_STUNG + ld [wWarioState], a + xor a + ld [wSwimVelIndex], a + ld [wJumpVelTable], a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld a, TRUE + ld [wIsIntangible], a + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -15 + ld [wCollisionBoxTop], a + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + ld a, BANK(WarioAirborneGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioAirborneGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioAirborneGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + ld a, BANK(OAM_15955) + ld [wOAMBank], a + ld a, HIGH(OAM_15955) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_15955) + ld [wOAMPtr + 1], a + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + ld a, [wDirection] + and a + jr nz, .asm_2087f + ld a, HIGH(Frameset_15f70) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_15f70) + ld [wFramesetPtr + 1], a + jr .asm_20889 +.asm_2087f + ld a, HIGH(Frameset_15f7f) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_15f7f) + ld [wFramesetPtr + 1], a +.asm_20889 + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +Func_20899: + ld a, [wStingTouchState] + and a + jr z, .asm_208a9 + cp TOUCH_BUMP + jr z, .asm_208a9 + cp TOUCH_VANISH + jp z, Func_2092d + ret + +.asm_208a9 + ld a, [wWaterInteraction] + and a + ret z + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_208c2 + ld a, [wInteractionSide] + or INTERACTION_RIGHT + ld [wInteractionSide], a + jr .asm_208ca +.asm_208c2 + ld a, [wInteractionSide] + or INTERACTION_LEFT + ld [wInteractionSide], a +.asm_208ca + play_sfx SFX_014 + ld b, OBJACTION_WOBBLE + call SetObjAction + ld a, [wTransformation] + and a + ret nz + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + ret nz + farcall StartDive + ret + +Func_208f2: + jr .start + +.Bump + ld b, OBJACTION_BUMP + call SetObjAction + ret + +.start + ld a, [wStingTouchState] + and a + jr z, .asm_2090a + cp TOUCH_BUMP + jr z, .asm_2090a + cp TOUCH_VANISH + jp z, Func_2092d + ret + +.asm_2090a + ld a, [wWaterInteraction] + and a + ret z + call .Bump + ld a, [wInvincibleCounter] + cp $01 + ret z + ld a, [wTransformation] + and a + ret nz + farcall StartDive + ret + +Func_2092d: + ld b, OBJACTION_VANISH_TOUCH + jp SetObjAction + +Func_20932: + ld a, [wAttackCounter] + and a + jp nz, AttackObject +; fallthrough + +Func_20939: + ld a, [wTouchState] + and a + jp nz, Func_2023b + ld b, OBJACTION_06 + call SetObjAction + ld a, [wInvincibleCounter] + cp $01 + ret z + farcall DoJumpingBump + ld a, BANK(WarioWalkGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioWalkGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioWalkGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + ld a, BANK(OAM_1426c) + ld [wOAMBank], a + ld a, HIGH(OAM_1426c) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_1426c) + ld [wOAMPtr + 1], a + xor a + ld [wGrabState], a + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_209b4 + ld a, INTERACTION_RIGHT + ld [wInteractionSide], a + ld a, DIRECTION_LEFT + ld [wDirection], a + ld a, HIGH(Frameset_14a79) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_14a79) + ld [wFramesetPtr + 1], a +.asm_209a4 + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret +.asm_209b4 + ld a, INTERACTION_LEFT + ld [wInteractionSide], a + ld a, DIRECTION_RIGHT + ld [wDirection], a + ld a, HIGH(Frameset_14a76) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_14a76) + ld [wFramesetPtr + 1], a + jr .asm_209a4 + +Func_209ca: + ld a, [wWarioState] + cp WST_ATTACKING_AIRBORNE + jr nz, .asm_209d5 + ; airborne + xor a + ld [wAttackCounter], a +.asm_209d5 + ld a, [wWaterInteraction] + and a + ret nz + ld a, [wWarioState] + cp WST_DIVING + ret z + ld a, TRUE + ld [wIsOnSteppableObject], a + ld a, [wc1c1] + and a + jr z, .set_stepped_on + cp $03 + jr c, .asm_209f1 + ld a, $02 +.asm_209f1 + ld b, a + call SubYOffset +.set_stepped_on + ld b, OBJACTION_STEP_ON + call SetObjAction + ld a, [wJumpVelTable] + and a + jr z, .done + ld a, [wAttackCounter] + and a + jr nz, .done + ld a, [wIsRolling] + and a + jr nz, .done + call TriggerFloorTransition_SkipUpdateYPos + ld a, [wInvincibleCounter] + cp $01 + jr z, .done + ld a, [wTransformation] + and a + ret nz + ld a, [wGrabState] + and a + jr nz, .set_grab_state + ld a, [wIsCrouching] + and a + jr nz, .crouching + xor a + ld [wWaterInteraction], a + farcall SetState_Idling + jr .done + +.crouching + xor a + ld [wWaterInteraction], a + farcall CrouchOrSlide + jr .done + +.set_grab_state + farcall SetState_GrabIdling +.done + jp ProcessInteractions.next_obj + +Func_20a63: + ld b, OBJACTION_07 + call SetObjAction + ret + +Func_20a69: + ld b, OBJACTION_0D + call SetObjAction + ret + +Func_20a6f: + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_20aa5 +.asm_20a79 + ld a, [wDirection] + and a + jp z, ProcessInteractions.next_obj + ld a, INTERACTION_RIGHT + ld [wInteractionSide], a + farcall Func_197b1 + ld a, b + and a + jr nz, .asm_20acf + ld a, [wc1c3] + cp $ff + jr z, .asm_20aa5 + ld b, a + call SubXOffset + jr .asm_20acf + +.asm_20aa5 + ld a, [wDirection] + and a + jp nz, ProcessInteractions.next_obj + ld a, INTERACTION_LEFT + ld [wInteractionSide], a + farcall Func_19741 + ld a, b + and a + jr nz, .asm_20acf + ld a, [wc1c4] + cp $ff + jr z, .asm_20a79 + ld b, a + call AddXOffset +.asm_20acf + ld a, [wTransformation] + cp TRANSFORMATION_BALL_O_STRING_WARIO + jr z, .ball_o_string + cp TRANSFORMATION_HOT_WARIO + jr z, .hot + cp TRANSFORMATION_ICE_SKATIN + jr z, .ice_skatin + xor a + ld [wWalkVelIndex], a + ld a, [wIsRolling] + and a + jr nz, .asm_20aef + ld a, [wAttackCounter] + and a + jp z, ProcessInteractions.next_obj + +.asm_20aef + farcall DoJumpingBump + ret + +.ball_o_string + ld a, [wWarioTransformationProgress] + cp 1 + ret nz + farcall Func_28bd5 + ret + +.hot + ld a, [wWarioTransformationProgress] + cp 1 + ret nz + farcall Func_2afc5 + ret + +.ice_skatin + ld a, [wWarioState] + cp WST_ICE_SKATIN_CRASH + ret z + farcall Func_1ec215 + ret + +Func_20b41: + ld a, [wTouchState] + and a + jr z, .asm_20b5e + cp TOUCH_BUMP + jp z, Func_20a6f + cp TOUCH_VULNERABLE + jp z, Func_20a6f + cp TOUCH_ATTACK + jp z, AttackObject + cp TOUCH_VANISH + jp z, Func_205e7 + jp Func_20a6f + +.asm_20b5e + ld a, [wTouchState] + and a + ret nz + call Func_20939 + ld b, OBJACTION_12 + jp SetObjAction + +Func_20b6b: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, StepOnObject + ld a, [wTouchState] + and a + jr z, .check_water + cp TOUCH_ATTACK + jp z, AttackObject + cp TOUCH_VANISH + jp z, Func_205e7 + cp TOUCH_PASS_THROUGH + jp z, ProcessInteractions.next_obj + jp .step_on_obj + +.check_water + ld a, [wWarioState] + cp WST_DIVING + jr c, .not_in_water + cp WST_TRYING_SUBMERGE + 1 + jp c, Func_20899 + +.not_in_water + ld a, [wIsRolling] + ld b, a + ld a, [wAttackCounter] + or b + jp nz, AttackObject + + ld a, [wIsCrouching] + ld b, a + ld a, [wGrabState] + or b + jp nz, .step_on_obj + + ld a, [wPowerUpLevel] + cp GRAB_GLOVE + jp c, .step_on_obj + ld a, [wWarioState] + cp WST_LADDER_SCRATCHING + jp z, .step_on_obj + cp WST_LADDER_CLIMBING + jr c, .not_on_ladder + cp WST_LADDER_SLIDING + 1 + jp c, .step_on_obj + +.not_on_ladder + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_20bdd + ld a, INTERACTION_RIGHT + ld [wInteractionSide], a + ld a, [wDirection] + and a + jr nz, .check_invincible_counter + jr .step_on_obj +.asm_20bdd + ld a, INTERACTION_LEFT + ld [wInteractionSide], a + ld a, [wDirection] + and a + jr nz, .step_on_obj +.check_invincible_counter + ld a, [wInvincibleCounter] + cp 1 + ret z + ld hl, wWarioXPos + 1 + ld de, hXPosLo + ld a, [hld] + ld [de], a + dec de + ld a, [hld] + ld [de], a + dec de + ld a, [hld] + sub $08 + ld [de], a + dec de + ld a, [hl] + sbc $00 + ld [de], a + + ld a, [wObjInteractionType] + bit HEAVY_OBJ_F, a + jr nz, .heavy_obj + ld a, GRAB_PICK_UP + ld [wGrabState], a + jr .set_obj_pick_up +.heavy_obj + ld a, [wPowerUpLevel] + cp SUPER_GRAB_GLOVES + jr c, .step_on_obj + ld a, GRAB_PICK_UP | (1 << GRAB_HEAVY_F) + ld [wGrabState], a + +.set_obj_pick_up + ld b, OBJACTION_PICK_UP + call SetObjAction + + ld a, [wJumpVelTable] + and a + jr z, .set_wario_pick_up + ld a, [wObjInteractionType] + bit HEAVY_OBJ_F, a + jr z, .asm_20c31 + jr .step_on_obj +.asm_20c31 + farcall Func_1edd3 + ret + +.step_on_obj + jp StepOnObject + +; unreachable + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_20c56 + ld a, INTERACTION_RIGHT + ld [wInteractionSide], a + jp Func_2023b + +.asm_20c56 + ld a, INTERACTION_LEFT + ld [wInteractionSide], a + jp Func_2023b + +.set_wario_pick_up + play_sfx SFX_GRAB + + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld a, WST_PICKING_UP + ld [wWarioState], a + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -27 + ld [wCollisionBoxTop], a + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + + ld a, BANK(WarioThrowGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioThrowGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioThrowGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + ld a, BANK(OAM_1606a) + ld [wOAMBank], a + ld a, HIGH(OAM_1606a) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_1606a) + ld [wOAMPtr + 1], a + + ld a, [wDirection] + and a + jr nz, .asm_20cdb + ld a, [wSlopeInteraction] + bit LEFT_SLOPE_F, a + jr nz, .asm_20cf5 + ld a, [wGrabState] + and (1 << GRAB_HEAVY_F) + jr nz, .asm_20d05 + ld a, HIGH(Frameset_163ec) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_163ec) + ld [wFramesetPtr + 1], a +.asm_20ccb + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret +.asm_20cdb + ld a, [wSlopeInteraction] + bit RIGHT_SLOPE_F, a + jr nz, .asm_20cf5 + ld a, [wGrabState] + and (1 << GRAB_HEAVY_F) + jr nz, .asm_20d11 + ld a, HIGH(Frameset_1640c) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_1640c) + ld [wFramesetPtr + 1], a + jr .asm_20ccb +.asm_20cf5 + farcall SetState_GrabIdling + ret +.asm_20d05 + ld a, HIGH(Frameset_163f5) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_163f5) + ld [wFramesetPtr + 1], a + jr .asm_20ccb +.asm_20d11 + ld a, HIGH(Frameset_16415) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_16415) + ld [wFramesetPtr + 1], a + jr .asm_20ccb + +Func_20d1d: + jp Func_2022c + +ObjInteraction_FrontSting: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jr nz, .asm_20d44 + ld a, [wEnemyDirection] + cp DIRECTION_RIGHT + jr z, .asm_20d39 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jp nz, Func_20670 + jp Func_2022c +.asm_20d39 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jp nz, Func_20670 + jp Func_2022c +.asm_20d44 + jp StepOnObject + +ObjInteraction_BackSting: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jr nz, .asm_20d6b + ld a, [wEnemyDirection] + cp DIRECTION_RIGHT + jr z, .asm_20d60 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jp nz, Func_20670 + jp Func_2022c +.asm_20d60 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jp nz, Func_20670 + jp Func_2022c +.asm_20d6b + jp StepOnObject + +ObjInteraction_TopSting: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_20670 + bit INTERACTION_DOWN_F, a + jp nz, StepOnObject + jp Func_2022c + +ObjInteraction_FullSting: + jp Func_20670 + +Func_20d81: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jp nz, Func_20899 + jp Func_208f2 + +Func_20d8c: + ld a, [wWaterInteraction] + and a + ret z + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_207ed + + ld a, [wTransformation] + and a + ret nz + ld a, [wInteractionSide] + bit INTERACTION_DOWN_F, a + jr nz, .dive + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_20dbe + ld a, [wInteractionSide] + or INTERACTION_RIGHT + ld [wInteractionSide], a + ld a, DIRECTION_LEFT + ld [wDirection], a + jr .knock_back +.asm_20dbe + ld a, [wInteractionSide] + or INTERACTION_LEFT + ld [wInteractionSide], a + ld a, DIRECTION_RIGHT + ld [wDirection], a + +.knock_back + farcall SetState_SwimKnockBack + ret + +.dive + farcall StartDive + ret + +Func_20deb: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jp nz, Func_20899 + ld a, [wEnemyDirection] + and a + jr nz, .asm_20e04 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jp nz, Func_207ed + jp Func_208f2 +.asm_20e04 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jp nz, Func_207ed + jp Func_208f2 + +ObjInteraction_Haridama: + ld a, [wInteractionSide] + bit INTERACTION_DOWN_F, a + jp nz, Func_20899 + bit INTERACTION_UP_F, a + jp nz, Func_207ed + + ld a, [wEnemyDirection] + cp DIRECTION_RIGHT + jr z, .asm_20e2e + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jp nz, Func_207ed + jp Func_208f2 +.asm_20e2e + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jp nz, Func_207ed + jp Func_208f2 + +Func_20e39: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jr nz, .asm_20e5d + ld a, [wEnemyDirection] + cp DIRECTION_RIGHT + jr z, .asm_20e52 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jp nz, Func_20939 + jp Func_2022c +.asm_20e52 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jp nz, Func_20939 + jp Func_2022c +.asm_20e5d + jp StepOnObject + +Func_20e60: + jp Func_20939 + +Func_20e63: + ld a, [wAttackCounter] + and a + jp nz, AttackObject +; fallthrough + +Func_20e6a: + call Func_20939 + ld a, [wTouchState] + and a + ret nz + ld b, OBJACTION_0A + jp SetObjAction + +ObjInteraction_Walkable: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_21aac + jp Func_20932 + +ObjInteraction_MusicalCoin: + ld hl, wNumMusicalCoins + ld a, [hl] + cp NUM_LEVEL_MUSICAL_COINS + jp nc, ProcessInteractions.next_obj + inc [hl] + play_sfx SFX_MUSICAL_COIN + jp CollectMusicalCoin + +ObjInteraction_Fire: + ld b, OBJACTION_06 + call SetObjAction + + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + + ld a, TRANSFORMATION_HOT_WARIO + ld [wTransformation], a + ld a, 1 + ld [wWarioTransformationProgress], a + ld a, TOUCH_BUMP + ld [wTouchState], a + ld a, TOUCH_BUMP + ld [wStingTouchState], a + ld a, $02 + ld [wca94], a + ld a, HIGH(HOT_WARIO_DURATION) + ld [wTransformationDuration + 0], a + ld a, LOW(HOT_WARIO_DURATION) + ld [wTransformationDuration + 1], a + + call UpdateLevelMusic +; fallthrough + +SetState_OnFire_ResetStateCounter: + xor a + ld [wWarioStateCounter], a +; fallthrough + +SetState_OnFire: + ld a, WST_ON_FIRE + ld [wWarioState], a + + xor a + ld [wInvisibleFrame], a + ld [wSFXLoopCounter], a + ld [wWarioStateCycles], a + ld [wGrabState], a + ld [wAttackCounter], a + ld [wJumpVelIndex], a + ld [wJumpVelTable], a + ld [wIsCrouching], a + ld [wIsRolling], a + ld [wIsSmashAttacking], a + + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -27 + ld [wCollisionBoxTop], a + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + ld a, [wWarioStateCounter] + and a + ret nz + + ld hl, WarioOnFirePal + call SetWarioPal + + ld a, BANK(WarioHotGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioHotGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioHotGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + ld a, BANK(OAM_1673c) + ld [wOAMBank], a + ld a, HIGH(OAM_1673c) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_1673c) + ld [wOAMPtr + 1], a + + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + + ld a, [wDirection] + and a + jr nz, .asm_20f50 + ld a, HIGH(Frameset_16b38) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_16b38) + ld [wFramesetPtr + 1], a + jr .asm_20f5a +.asm_20f50 + ld a, HIGH(Frameset_16b49) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_16b49) + ld [wFramesetPtr + 1], a +.asm_20f5a + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +ObjInteraction_Richtertoffen: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jr nz, .asm_20f78 + bit INTERACTION_DOWN_F, a + jr nz, .try_flatten_wario + jp Func_20932 + +.asm_20f78 + ld a, [wIsSmashAttacking] + dec a + jp z, Func_20602 + jp StepOnObject + +.try_flatten_wario + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + ld a, -11 + ld [wCollisionBoxLeft], a + ld a, 11 + ld [wCollisionBoxRight], a + ld a, [wLadderInteraction] + cp $02 + jr z, .asm_20fdb + farcall Func_197b1 + ld a, b + and a + jr nz, .asm_20fdb + farcall Func_19741 + ld a, b + and a + jr nz, .asm_20fdb + ld b, OBJACTION_FLATTEN + call SetObjAction + farcall SetState_FlatAirborne + ret + +.asm_20fdb + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + jp StepOnObject + +; unreferenced? +Func_20fe8: + ld b, OBJACTION_06 + jp SetObjAction + +ObjInteraction_GreyKey: + ld hl, wKeyAndTreasureFlags + set GREY_KEY_F, [hl] + jr CollectKey + +ObjInteraction_RedKey: + ld hl, wKeyAndTreasureFlags + set RED_KEY_F, [hl] + jr CollectKey + +ObjInteraction_GreenKey: + ld hl, wKeyAndTreasureFlags + set GREEN_KEY_F, [hl] + jr CollectKey + +ObjInteraction_BlueKey: + ld hl, wKeyAndTreasureFlags + set BLUE_KEY_F, [hl] +; fallthrough + +CollectKey: + play_sfx SFX_KEY + call Func_20a63 + ld a, ST_COLLECT_KEY + ld [wState], a + xor a + ld [wTimer], a + ret + +ObjInteraction_GreyTreasure: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_209ca + ld a, [wTransformation] + and a + jp nz, Func_20a6f + ld hl, wKeyAndTreasureFlags + bit GREY_KEY_F, [hl] + jp z, Func_20a6f + set GREY_TREASURE_F, [hl] + ld a, LVLEND_GREY_TREASURE + ld [wLevelEndScreen], a + jr GetTreasure + +ObjInteraction_RedTreasure: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_209ca + ld a, [wTransformation] + and a + jp nz, Func_20a6f + ld hl, wKeyAndTreasureFlags + bit RED_KEY_F, [hl] + jp z, Func_20a6f + set RED_TREASURE_F, [hl] + ld a, LVLEND_RED_TREASURE + ld [wLevelEndScreen], a + jr GetTreasure + +ObjInteraction_GreenTreasure: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_209ca + ld a, [wTransformation] + and a + jp nz, Func_20a6f + ld hl, wKeyAndTreasureFlags + bit GREEN_KEY_F, [hl] + jp z, Func_20a6f + set GREEN_TREASURE_F, [hl] + ld a, LVLEND_GREEN_TREASURE + ld [wLevelEndScreen], a + jr GetTreasure + +ObjInteraction_BlueTreasure: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_209ca + ld a, [wTransformation] + and a + jp nz, Func_20a6f + ld hl, wKeyAndTreasureFlags + bit BLUE_KEY_F, [hl] + jp z, Func_20a6f + set BLUE_TREASURE_F, [hl] + ld a, LVLEND_BLUE_TREASURE + ld [wLevelEndScreen], a +; fallthrough + +GetTreasure: + stop_music + call Func_20a63 + call TreasureClearObjects + + ld hl, wLevelEndScreen + ld a, [hl] + cp LVLEND_NO_TREASURE + ret z + set 7, [hl] + ld a, TRUE + ld [wResetDisabled], a + xor a + ld [wWalkVelIndex], a + + ld a, WST_GET_TREASURE_START + ld [wWarioState], a + + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + ld [wJumpVelIndex], a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wIsSmashAttacking], a + ld [wIsCrouching], a + ld [wAttackCounter], a + + inc a ; TRUE + ld [wIsIntangible], a + ld [wAutoMoveState], a + + ld a, [wJumpVelTable] + and a + jr z, .asm_210ea + ld a, FALLING_JUMP_VEL_INDEX + ld [wJumpVelIndex], a +.asm_210ea + ld hl, WarioDefaultPal + call SetWarioPal + ld a, BANK(WarioIdleGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioIdleGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioIdleGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + + ld a, BANK(OAM_14000) + ld [wOAMBank], a + ld a, HIGH(OAM_14000) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_14000) + ld [wOAMPtr + 1], a + + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jr nz, .asm_21130 + ld a, [wc1c3] + ld b, a + call SubXOffset + ld a, DIRECTION_RIGHT + ld [wDirection], a + ld a, HIGH(Frameset_1425f) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_1425f) + ld [wFramesetPtr + 1], a + jr .asm_21146 +.asm_21130 + ld a, [wc1c4] + ld b, a + call AddXOffset + ld a, DIRECTION_LEFT + ld [wDirection], a + ld a, HIGH(Frameset_14252) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_14252) + ld [wFramesetPtr + 1], a +.asm_21146 + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +ObjInteraction_Omodonmeka: + ld a, [wJumpVelTable] + and a + jp nz, Func_2022c + + ld b, OBJACTION_0C + call SetObjAction + + ld a, [wTransformation] + cp TRANSFORMATION_FLAT_WARIO + jp z, SetState_FlatStretching + and a + jp nz, Func_2022c + + ; pick Wario up + ld a, $01 + ld [wAutoMoveState], a + ld a, WST_PICKED_UP + ld [wWarioState], a + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -27 + ld [wCollisionBoxTop], a + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + + xor a + ld [wIsSmashAttacking], a + ld [wAttackCounter], a + ld [wIsCrouching], a + ld [wGrabState], a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wFrameDuration], a + ld [wAnimationFrame], a + inc a + ld [wJumpVelTable], a + + ld a, NUM_WIGGLES_TO_ESCAPE + ld [wPickedUpWiggleCounter], a + + ld a, BANK(WarioAirborneGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioAirborneGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioAirborneGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + + ld a, BANK(OAM_15955) + ld [wOAMBank], a + ld a, HIGH(OAM_15955) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_15955) + ld [wOAMPtr + 1], a + + ld a, [wDirection] + and a + jr nz, .asm_211e1 + ld a, HIGH(Frameset_15f70) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_15f70) + ld [wFramesetPtr + 1], a + jr .asm_211eb +.asm_211e1 + ld a, HIGH(Frameset_15f7f) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_15f7f) + ld [wFramesetPtr + 1], a +.asm_211eb + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +SetState_FlatStretching: + ld a, $01 + ld [wAutoMoveState], a + ld a, WST_FLAT_STRETCHING + ld [wWarioState], a + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -8 + ld [wCollisionBoxTop], a + ld a, -11 + ld [wCollisionBoxLeft], a + ld a, 11 + ld [wCollisionBoxRight], a + ld a, NUM_WIGGLES_TO_ESCAPE + ld [wPickedUpWiggleCounter], a + xor a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wFrameDuration], a + ld [wAnimationFrame], a + + ld a, HIGH(Frameset_17193) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_17193) + ld [wFramesetPtr + 1], a + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +ObjInteraction_Silky: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jr nz, .asm_21267 + ld a, [wEnemyDirection] + cp DIRECTION_RIGHT + jr z, .asm_2125d + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, Func_2126a + jp Func_2022c + +.asm_2125d + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jr nz, Func_2126a + jp Func_2022c + +.asm_21267 + jp StepOnObject + +Func_2126a: + ld a, [wIsCrouching] + and a + jr z, .asm_21290 + ld a, -27 + ld [wCollisionBoxTop], a + farcall CheckUpCollision + ld a, b + and a + jr z, .asm_21290 + ld a, -15 + ld [wCollisionBoxTop], a + jp Func_2022c + +.asm_21290 + ld b, OBJACTION_06 + call SetObjAction + + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2023b + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_212b3 + + ld a, DIRECTION_LEFT + ld [wDirection], a + jr .set_ball_o_string +.asm_212b3 + ld a, DIRECTION_RIGHT + ld [wDirection], a + +.set_ball_o_string + play_sfx SFX_039 + + ld a, TRANSFORMATION_BALL_O_STRING_WARIO + ld [wTransformation], a + xor a + ld [wWarioTransformationProgress], a + ld a, TOUCH_ATTACK + ld [wTouchState], a + ld a, TOUCH_ATTACK + ld [wStingTouchState], a + ld a, $01 + ld [wca94], a + call UpdateLevelMusic + + ld a, WST_GETTING_WRAPPED_IN_STRING + ld [wWarioState], a + + xor a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wGrabState], a + ld [wAttackCounter], a + ld [wJumpVelIndex], a + ld [wJumpVelTable], a + ld [wIsCrouching], a + ld [wIsRolling], a + ld [wIsSmashAttacking], a + + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -27 + ld [wCollisionBoxTop], a + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + ld hl, WarioStringPal + call SetWarioPal + + ld a, BANK(WarioStringGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioStringGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioStringGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + + ld a, BANK(OAM_171c0) + ld [wOAMBank], a + ld a, HIGH(OAM_171c0) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_171c0) + ld [wOAMPtr + 1], a + + ld a, HIGH(Frameset_17414) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_17414) + ld [wFramesetPtr + 1], a + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +ObjInteraction_Food: + ld a, [wIsCrouching] + and a + jp nz, Func_20a69 + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_20a69 + cp TRANSFORMATION_FAT_WARIO + jr nz, .set_fat_wario + jp Func_20a69 + +.set_fat_wario + call Func_20a63 + ld a, TRANSFORMATION_FAT_WARIO + ld [wTransformation], a + ld a, TOUCH_BUMP + ld [wTouchState], a + ld a, TOUCH_BUMP + ld [wStingTouchState], a + ld a, $02 + ld [wca94], a + + ld a, HIGH(FAT_WARIO_DURATION) + ld [wTransformationDuration + 0], a + ld a, LOW(FAT_WARIO_DURATION) + ld [wTransformationDuration + 1], a + + xor a + ld [wInvisibleFrame], a + ld [wSFXLoopCounter], a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wGrabState], a + ld [wAttackCounter], a + ld [wIsCrouching], a + ld [wIsRolling], a + ld [wIsSmashAttacking], a + + ld a, [wJumpVelTable] + and a + jr z, .asm_213bb + ld a, FALLING_JUMP_VEL_INDEX + ld [wJumpVelIndex], a +.asm_213bb + play_sfx SFX_03A + call UpdateLevelMusic + + ld a, WST_FAT_EATING + ld [wWarioState], a + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -27 + ld [wCollisionBoxTop], a + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + + ld a, BANK(WarioFatGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioFatGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioFatGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + + ld a, BANK(OAM_1742d) + ld [wOAMBank], a + ld a, HIGH(OAM_1742d) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_1742d) + ld [wOAMPtr + 1], a + + ld a, [wDirection] + and a + jr nz, .asm_21419 + ld a, HIGH(Frameset_1789c) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_1789c) + ld [wFramesetPtr + 1], a + jr .asm_21423 +.asm_21419 + ld a, HIGH(Frameset_178c3) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_178c3) + ld [wFramesetPtr + 1], a +.asm_21423 + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +ObjInteraction_RegularCoin: + ld hl, wNumCoins + 1 + ld a, [hl] + add $1 + daa + ld [hld], a + ld a, [hl] + adc $00 + daa + ld [hl], a + and $f0 + jr z, .no_cap + ld a, HIGH(MAX_NUM_COINS) + ld [hli], a + ld a, LOW(MAX_NUM_COINS) + ld [hl], a +.no_cap + play_sfx SFX_REGULAR_COIN + jp Func_20a63 + +ObjInteraction_Electric: + ld a, [wWarioScreenXPos] + ld b, a + ld a, [wObjScreenXPos] + cp b + jr c, .asm_21469 + ld a, [wInteractionSide] + or INTERACTION_RIGHT + ld [wInteractionSide], a + jr .asm_21471 + +.asm_21469 + ld a, [wInteractionSide] + or INTERACTION_LEFT + ld [wInteractionSide], a +.asm_21471 + ld b, OBJACTION_06 + call SetObjAction + + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + ret nz + cp TRANSFORMATION_ELECTRIC + ret z + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, .asm_21492 + ld a, DIRECTION_RIGHT + ld [wDirection], a + jr .asm_21497 +.asm_21492 + ld a, DIRECTION_LEFT + ld [wDirection], a + +.asm_21497 + play_sfx SFX_040 + + xor a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wGrabState], a + ld [wAttackCounter], a + ld [wJumpVelIndex], a + ld [wJumpVelTable], a + ld [wIsCrouching], a + ld [wIsRolling], a + ld [wIsSmashAttacking], a + ld [wInvisibleFrame], a + + ld a, WST_ELECTRIC_START + ld [wWarioState], a + + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -27 + ld [wCollisionBoxTop], a + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + + ld a, TRANSFORMATION_ELECTRIC + ld [wTransformation], a + ld a, TOUCH_VANISH + ld [wTouchState], a + ld a, TOUCH_VANISH + ld [wStingTouchState], a + ld a, $01 + ld [wca94], a + call UpdateLevelMusic + + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + + ld hl, WarioElectricPal + call SetWarioPal + + ld a, BANK(WarioElectricGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioElectricGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioElectricGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + + ld a, BANK(OAM_1790e) + ld [wOAMBank], a + ld a, HIGH(OAM_1790e) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_1790e) + ld [wOAMPtr + 1], a + + ld a, [wDirection] + and a + jr nz, .asm_2152e + ld a, HIGH(Frameset_17b79) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_17b79) + ld [wFramesetPtr + 1], a + jr .asm_21538 +.asm_2152e + ld a, HIGH(Frameset_17b76) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_17b76) + ld [wFramesetPtr + 1], a +.asm_21538 + ld a, BANK("Wario OAM 1") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +ObjInteraction_InvisibilityPotion: + call Func_20a63 + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + ret nz + cp TRANSFORMATION_INVISIBLE_WARIO + ret z + farcall SetState_TurningInvisible + ret + +ObjInteraction_Pneumo: + ld a, [wInteractionSide] + bit INTERACTION_DOWN_F, a + jr nz, ObjInteraction_YellowBellyArrow + jp Func_2022c + +ObjInteraction_YellowBellyArrow: + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + cp TRANSFORMATION_PUFFY_WARIO + jp z, Func_2022c + ld a, [wTransformation] + cp TRANSFORMATION_OWL_WARIO + call z, ReleaseOwl + ld b, OBJACTION_06 + call SetObjAction + farcall SetState_PuffyInflating + ret + +ObjInteraction_ZombieHead: + ld a, [wInvincibleCounter] + and a + jp nz, Func_20a69 + ld a, [wTransformation] + cp TRANSFORMATION_ZOMBIE_WARIO + jp z, Func_205e7 + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_20a69 + + ld b, OBJACTION_06 + call SetObjAction + + play_sfx SFX_028 + + ld a, TRANSFORMATION_ZOMBIE_WARIO + ld [wTransformation], a + ld a, TOUCH_VANISH + ld [wTouchState], a + ld a, TOUCH_VANISH + ld [wStingTouchState], a + ld a, $02 + ld [wca94], a + farcall SetState_ZombieIdling + ret + +ObjInteraction_Bouncy: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jp nz, StepOnObject + ld a, [wEnemyDirection] + cp DIRECTION_RIGHT + jr z, .asm_21600 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, Func_2160a + jp Func_2022c +.asm_21600 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jr nz, Func_2160a + jp Func_2022c + +Func_2160a: + ld a, [wInvincibleCounter] + and a + ret nz + ld b, OBJACTION_06 + call SetObjAction + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + cp TRANSFORMATION_BOUNCY_WARIO + jp z, Func_2022c + ld a, TRANSFORMATION_BOUNCY_WARIO + ld [wTransformation], a + ld a, TOUCH_BUMP + ld [wTouchState], a + ld a, TOUCH_BUMP + ld [wStingTouchState], a + ld a, $01 + ld [wca94], a + + ld a, HIGH(BOUNCY_WARIO_DURATION) + ld [wTransformationDuration + 0], a + ld a, LOW(BOUNCY_WARIO_DURATION) + ld [wTransformationDuration + 1], a + + farcall SetState_BouncyStart + ret + +ObjInteraction_FireBot: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jp nz, StepOnObject + ld a, [wEnemyDirection] + cp DIRECTION_RIGHT + jr z, .asm_21668 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, .asm_21672 + jp Func_2022c +.asm_21668 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jr nz, .asm_21672 + jp Func_2022c +.asm_21672 + jp ObjInteraction_Fire + +ObjInteraction_Solid: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_209ca + bit INTERACTION_DOWN_F, a + jr nz, Func_2168b + ld a, [wAttackCounter] + and a + jp nz, Func_217a9 + jp Func_20a6f + +Func_2168b: + ld a, [wWarioState] + cp WST_FLAT_SQUISHED + jr nz, .asm_216a2 + farcall SetState_FlatSquishedLifting + ret + +.asm_216a2 + ld a, [wc1c2] + cp $10 + jr c, .asm_216ab + ld a, $0c +.asm_216ab + ld b, a + call AddYOffset + farcall Func_19b25 + ld a, [wWaterInteraction] + and a + jr z, .asm_216d4 + farcall DiveFromSurface_SkipSplash + ret + +.asm_216d4 + farcall CheckCentreCollision + ld a, b + and a + jr nz, .asm_21710 + ld a, [wInvincibleCounter] + cp $01 + ret z + ld a, [wTransformation] + cp TRANSFORMATION_FLAT_WARIO + jr z, .asm_2173e + and a + ret nz + ld a, [wIsCrouching] + and a + jr nz, .crouching + xor a + ld [wGrabState], a + farcall StartFall + ret + +.asm_21710 + ld hl, hYPosHi + ld de, wWarioPos + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + ld a, [wInvincibleCounter] + cp $01 + ret z + ld a, [wTransformation] + cp TRANSFORMATION_FLAT_WARIO + jr z, .asm_2175e + and a + ret nz + xor a + ld [wGrabState], a + farcall SetState_Idling + ret + +.asm_2173e + farcall SetState_FlatFalling + ret + +.crouching + farcall StartCrouchFall + ret + +.asm_2175e + ld a, [wWarioState] + cp WST_FLAT_SQUISHED + ret z + farcall SetState_FlatIdling + ret + +ObjInteraction_Omodon: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_209ca + bit INTERACTION_DOWN_F, a + jr nz, .asm_21789 + ld a, [wAttackCounter] + and a + jr nz, Func_217a9 + jp Func_20a6f +.asm_21789 + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + ret nz + ld b, OBJACTION_FLATTEN + call SetObjAction + farcall SetState_FlatAirborne + ret + +Func_217a9: + farcall DoJumpingBump + ret + +ObjInteraction_OrangeBird: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jr nz, .asm_217db + ld a, [wEnemyDirection] + cp DIRECTION_RIGHT + jr z, .asm_217d1 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, .asm_217de + jp Func_2022c +.asm_217d1 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jr nz, .asm_217de + jp Func_2022c +.asm_217db + jp StepOnObject + +.asm_217de + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + cp TRANSFORMATION_CRAZY_WARIO + jp z, Func_2022c + + ld b, OBJACTION_06 + call SetObjAction + + ld a, TRANSFORMATION_CRAZY_WARIO + ld [wTransformation], a + ld a, TOUCH_ATTACK + ld [wTouchState], a + ld a, TOUCH_ATTACK + ld [wStingTouchState], a + ld a, $01 + ld [wca94], a + farcall SetState_CrazySpinning + ret + +ObjInteraction_Vampire: + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + ret nz + + ld b, OBJACTION_06 + call SetObjAction + + ld a, TRANSFORMATION_VAMPIRE_WARIO + ld [wTransformation], a + farcall Func_19b25 + ld a, [wTransformation] + cp TRANSFORMATION_VAMPIRE_WARIO + ret nz + farcall SetState_VampireTransforming + ret + +ObjInteraction_Bubble: + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + ret nz + + ld b, OBJACTION_07 + call SetObjAction + + ld a, TRANSFORMATION_BUBBLE + ld [wTransformation], a + ld a, TOUCH_BUMP + ld [wTouchState], a + ld a, TOUCH_BUMP + ld [wStingTouchState], a + ld a, $01 + ld [wca94], a + farcall Func_2ac7d + ret + +ObjInteraction_Ice: + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + ret nz + ld a, [wIsCrouching] + and a + jr z, .asm_218b6 + ld a, -27 + ld [wCollisionBoxTop], a + farcall CheckUpCollision + ld a, b + and a + jr z, .asm_218b6 + ld a, -15 + ld [wCollisionBoxTop], a + ret + +.asm_218b6 + ld b, OBJACTION_07 + call SetObjAction + + play_sfx SFX_028 + ld a, TRANSFORMATION_ICE_SKATIN + ld [wTransformation], a + ld a, TOUCH_ATTACK + ld [wTouchState], a + ld a, TOUCH_ATTACK + ld [wStingTouchState], a + ld a, $02 + ld [wca94], a + farcall SetState_IceSkatinStart + ret + +ObjInteraction_Owl: + ld a, [wInteractionSide] + bit INTERACTION_DOWN_F, a + jr nz, .asm_218f1 + jp Func_20939 + +.asm_218f1 + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + ret nz + cp TRANSFORMATION_OWL_WARIO + ret z + + call Func_20a63 + + play_sfx SFX_HANG_GRAB + ld a, TRANSFORMATION_OWL_WARIO + ld [wTransformation], a + + ld a, TOUCH_BUMP + ld [wTouchState], a + ld a, TOUCH_VULNERABLE + ld [wStingTouchState], a + ld a, $01 + ld [wca94], a + ld a, WST_GRABBING_OWL + ld [wWarioState], a + ld a, $ff + ld [wCollisionBoxBottom], a + ld a, $e5 + ld [wCollisionBoxTop], a + ld a, $f7 + ld [wCollisionBoxLeft], a + ld a, $09 + ld [wCollisionBoxRight], a + + xor a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wGrabState], a + ld [wAttackCounter], a + ld [wIsCrouching], a + ld [wIsRolling], a + ld [wIsSmashAttacking], a + ld [wJumpVelTable], a + ld [wJumpVelIndex], a + + call UpdateLevelMusic + + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + + ld a, BANK(WarioHangGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioHangGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioHangGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + ld a, BANK(OAM_1fddb4) + ld [wOAMBank], a + ld a, HIGH(OAM_1fddb4) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_1fddb4) + ld [wOAMPtr + 1], a + ld a, [wEnemyDirection] + ld [wDirection], a + ld a, HIGH(Frameset_1fed53) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_1fed53) + ld [wFramesetPtr + 1], a + ld a, BANK("Wario OAM 2") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +ObjInteraction_Rail: + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + ret nz + cp TRANSFORMATION_RAIL + ret z + + ld b, OBJACTION_06 + call SetObjAction + + play_sfx SFX_HANG_GRAB + ld a, TRANSFORMATION_RAIL + ld [wTransformation], a + + ld a, TOUCH_BUMP + ld [wTouchState], a + ld a, TOUCH_VULNERABLE + ld [wStingTouchState], a + ld a, $01 + ld [wca94], a + + ld a, WST_HANGING_RAIL + ld [wWarioState], a + + ld a, -1 + ld [wCollisionBoxBottom], a + ld a, -27 + ld [wCollisionBoxTop], a + ld a, -9 + ld [wCollisionBoxLeft], a + ld a, 9 + ld [wCollisionBoxRight], a + + xor a + ld [wWarioStateCounter], a + ld [wWarioStateCycles], a + ld [wGrabState], a + ld [wAttackCounter], a + ld [wIsCrouching], a + ld [wIsRolling], a + ld [wIsSmashAttacking], a + ld [wJumpVelTable], a + ld [wJumpVelIndex], a + + inc a + ld [wAutoMoveState], a + + call UpdateLevelMusic + + xor a + ld [wFrameDuration], a + ld [wAnimationFrame], a + + ld a, BANK(WarioHangGfx) + ld [wDMASourceBank], a + ld a, HIGH(WarioHangGfx) + ld [wDMASourcePtr + 0], a + ld a, LOW(WarioHangGfx) + ld [wDMASourcePtr + 1], a + call LoadWarioGfx + ld a, BANK(OAM_1fee05) + ld [wOAMBank], a + ld a, HIGH(OAM_1fee05) + ld [wOAMPtr + 0], a + ld a, LOW(OAM_1fee05) + ld [wOAMPtr + 1], a + + ld a, [wEnemyDirection] + ld [wDirection], a + ld a, HIGH(Frameset_1feec4) + ld [wFramesetPtr + 0], a + ld a, LOW(Frameset_1feec4) + ld [wFramesetPtr + 1], a + ld a, BANK("Wario OAM 2") + ldh [hCallFuncBank], a + hcall UpdateAnimation + ret + +ObjInteraction_AnonsterSilk: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, StepOnObject +; fallthrough + +ObjInteraction_AnonsterWave: + jp Func_2126a + +ObjInteraction_Snow: + ld a, [wInvincibleCounter] + and a + jp nz, Func_20a69 + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_20a69 + call Func_20a63 + + ld a, TRANSFORMATION_SNOWMAN_WARIO + ld [wTransformation], a + + xor a + ld [wWarioTransformationProgress], a + ld a, TOUCH_ATTACK + ld [wTouchState], a + ld a, TOUCH_ATTACK + ld [wStingTouchState], a + ld a, $02 + ld [wca94], a + farcall SetState_TurningIntoSnowman + ret + +ObjInteraction_UnlitTorch: + ld a, [wTransformation] + cp TRANSFORMATION_HOT_WARIO + ret nz + ld b, OBJACTION_0E + jp SetObjAction + +ObjInteraction_Stove: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jr nz, Func_21aac + bit INTERACTION_DOWN_F, a + jp nz, Func_2168b + + ld a, [wAttackCounter] + and a + jr nz, Func_21abb + jp Func_20a6f + +Func_21aac: + ld a, [wIsSmashAttacking] + dec a + jp nz, Func_209ca +; smash attack object + call Func_20602 + ld b, OBJACTION_SMASH_ATTACK_WALKABLE + jp SetObjAction + +Func_21abb: + ld b, OBJACTION_ATTACK + call SetObjAction + jp Func_20a6f + +ObjInteraction_RoboMouse: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jr nz, .asm_21ae4 + + ld a, [wEnemyDirection] + and a + jr nz, .asm_21ada + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, .asm_21aee + jp Func_20e6a +.asm_21ada + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jr nz, .asm_21aee + jp Func_20e6a + +.asm_21ae4 + ld a, [wIsSmashAttacking] + and a + jp nz, Func_20602 + jp Func_20e6a +.asm_21aee + jp ObjInteraction_Jamano + +Func_21af1: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_209ca + bit INTERACTION_DOWN_F, a + jp nz, StepOnObject + ld a, [wAttackCounter] + and a + jp nz, Func_217a9 + jp Func_20a6f + +ObjInteraction_DollBoyHammer: + jp Func_2160a + +ObjInteraction_RollingRock: + ld b, OBJACTION_06 + call SetObjAction + ld a, [wIsRolling] + and a + ret nz + ld a, [wEnemyDirection] + ld [wDirection], a + farcall Func_1e174 + ret + +ObjInteraction_Wormwould: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jp nz, StepOnObject + ld a, [wAttackCounter] + and a + jp nz, AttackObject +; fallthrough + +Func_21b3a: + call Func_20939 + ld b, OBJACTION_NONE + jp SetObjAction + +ObjInteraction_Beam: + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + + ld b, OBJACTION_06 + call SetObjAction + + ld a, TRANSFORMATION_SPLIT + ld [wTransformation], a + + ld a, TOUCH_PASS_THROUGH + ld [wTouchState], a + ld a, TOUCH_PASS_THROUGH + ld [wStingTouchState], a + ld a, $02 + ld [wca94], a + farcall SetState_SplitHit + ret + +Func_21b78: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jr z, .asm_21b86 + ld a, [wIsSmashAttacking] + and a + jp nz, Func_20602 +.asm_21b86 + jp Func_20939 + +ObjInteraction_Teruteru: + ld a, [wInteractionSide] + bit INTERACTION_DOWN_F, a + jp z, Func_2022c + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + + ld b, OBJACTION_06 + call SetObjAction + + ld a, TRANSFORMATION_BLIND + ld [wTransformation], a + + ld a, TOUCH_BUMP + ld [wTouchState], a + ld a, TOUCH_VULNERABLE + ld [wStingTouchState], a + ld a, $01 + ld [wca94], a + + farcall SetState_BlindIdling + + ld a, BCPSF_AUTOINC + ldh [rBCPS], a + ld b, 4 + ld c, LOW(rBCPD) +.wait_lcd_off_1 + ldh a, [rSTAT] + and STATF_LCD + jr z, .wait_lcd_off_1 +.wait_lcd_on_1 + ldh a, [rSTAT] + and STATF_LCD + jr nz, .wait_lcd_on_1 + + xor a +REPT 2 palettes + ld [$ff00+c], a +ENDR + dec b + jr nz, .wait_lcd_off_1 + + ld a, OCPSF_AUTOINC | $18 + ldh [rOCPS], a + ld b, 2 + ld c, LOW(rOCPD) +.wait_lcd_off_2 + ldh a, [rSTAT] + and STATF_LCD + jr z, .wait_lcd_off_2 +.wait_lcd_on_2 + ldh a, [rSTAT] + and STATF_LCD + jr nz, .wait_lcd_on_2 + + xor a +REPT 2 palettes + ld [$ff00+c], a +ENDR + dec b + jr nz, .wait_lcd_off_2 + ret + +ObjInteraction_WaterDrop: + ld b, OBJACTION_06 + call SetObjAction + ld a, [wTransformation] + and a + jp z, ProcessInteractions.next_obj + jp RecoverFromTransformation + +ObjInteraction_Pesce: + ld a, [wEnemyDirection] + cp DIRECTION_RIGHT + jr z, .asm_21c37 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, .asm_21c41 + jp Func_207ed +.asm_21c37 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jr nz, .asm_21c41 + jp Func_207ed +.asm_21c41 + ld b, OBJACTION_11 + call SetObjAction + farcall SetState_Swallowed + ret + +Func_21c56: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_21aac + jp Func_20b6b + +ObjInteraction_Tadpole: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jp nz, StepOnObject + ld a, [wEnemyDirection] + and a + jr nz, .asm_21c7a + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jp nz, ObjInteraction_RollingRock + jp Func_20e6a +.asm_21c7a + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jp nz, ObjInteraction_RollingRock + jp Func_20e6a + + ret ; stray ret + +ObjInteraction_Hebarii: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jp nz, Func_20e6a + ld a, [wAttackCounter] + and a + jp nz, AttackObject + jp Func_20e6a + +ObjInteraction_PrinceFroggy: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_209ca + bit INTERACTION_DOWN_F, a + jp nz, Func_2168b + jp Func_20b41 + +ObjInteraction_Hand: + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + and a + ret nz + + play_sfx SFX_FAT_WALK + farcall SetState_DraggedDown +; fallthrough + +Func_21cc9: + ld b, OBJACTION_13 + call SetObjAction + ret + +ObjInteraction_WaterTeleporting: + ld a, ROOMTRANSITION_TELEPORT | ROOMTRANSITIONF_1 | ROOMTRANSITIONF_2 | ROOMTRANSITIONF_3 + ld [wRoomTransitionParam], a + call SetState_WaterStung + stop_sfx + ld a, WST_WATER_TELEPORTING + ld [wWarioState], a + ld b, OBJACTION_TELEPORT + jp SetObjAction + +Func_21ce9: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_20899 + bit INTERACTION_DOWN_F, a + jr nz, ObjInteraction_WaterTeleporting + jp Func_208f2 + +ObjInteraction_Ink: + ld b, OBJACTION_06 + jp SetObjAction + +ObjInteraction_Jamano: + ld a, ROOMTRANSITION_TELEPORT | ROOMTRANSITIONF_1 | ROOMTRANSITIONF_2 | ROOMTRANSITIONF_3 + ld [wRoomTransitionParam], a + call Func_206eb + stop_sfx + ld a, WST_TELEPORTING + ld [wWarioState], a + ld b, OBJACTION_TELEPORT + jp SetObjAction + +ObjInteraction_Turtle: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_209ca + ld a, [wTransformation] + and a + ret nz + ld a, [wWaterInteraction] + and a + jp z, Func_21b3a + farcall StartDive + ret + +Func_21d3b: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_20e6a + bit INTERACTION_DOWN_F, a + jp nz, Func_20e6a + ld a, [wEnemyDirection] + and a + jr nz, .asm_21d59 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jp nz, Func_20670 + jp Func_20e6a +.asm_21d59 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jp nz, Func_20670 + jp Func_20e6a + +Func_21d64: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_20670 + jp Func_20e6a + +Func_21d6f: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jr nz, .asm_21d7e + bit INTERACTION_DOWN_F, a + jp nz, Func_20670 + jp Func_20e6a +.asm_21d7e + ld a, [wIsSmashAttacking] + and a + jp nz, Func_20602 + jp Func_20e6a + +Func_21d88: + ld a, [wInteractionSide] + and INTERACTION_UP | INTERACTION_DOWN + jp nz, Func_20899 + ld a, [wEnemyDirection] + and a + jr nz, .asm_21da1 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jp nz, Func_21dac + jp Func_208f2 +.asm_21da1 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jp nz, Func_21dac + jp Func_208f2 + +Func_21dac: + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + ld a, [wEnemyDirection] + ld [wDirection], a + farcall SetState_Launched + ld b, OBJACTION_06 + jp SetObjAction + +ObjInteraction_ColourCoin: + play_sfx SFX_COLOUR_COIN +; fallthrough + +; adds 10 to coin count +CollectMusicalCoin: + ld hl, wNumCoins + 1 + ld a, [hl] + add $10 + daa + ld [hld], a + ld a, [hl] + adc $00 + daa + ld [hl], a + and $f0 + jr z, .no_cap + ld a, HIGH(MAX_NUM_COINS) + ld [hli], a + ld a, LOW(MAX_NUM_COINS) + ld [hl], a +.no_cap + call Func_20a63 + jp ProcessInteractions.next_obj + +ObjInteraction_MagicalSpiral: + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + ld b, OBJACTION_06 + call SetObjAction + + ld a, TRANSFORMATION_MAGIC + ld [wTransformation], a + + ld a, TOUCH_PASS_THROUGH + ld [wTouchState], a + ld a, TOUCH_PASS_THROUGH + ld [wStingTouchState], a + ld a, $02 + ld [wca94], a + farcall SetState_MagicRising + ret + +ObjInteraction_BottomSting: + ld a, [wInteractionSide] + bit INTERACTION_DOWN_F, a + jp nz, Func_20670 + bit INTERACTION_UP_F, a + jp nz, StepOnObject + jp Func_2022c + +Func_21e3e: + ld a, [wTransformation] + cp TRANSFORMATION_BALL + jr z, Func_21e8a + ld a, [wInteractionSide] + bit INTERACTION_DOWN_F, a + jr nz, .asm_21e54 + bit INTERACTION_UP_F, a + jp nz, StepOnObject + jp Func_20e63 + +.asm_21e54 + ld a, [wInvincibleCounter] + and a + ret nz + ld a, [wTransformation] + bit TRANSFORMATIONF_PERSISTENT_F, a + jp nz, Func_2022c + ld b, OBJACTION_06 + call SetObjAction + ld a, TRANSFORMATION_BALL + ld [wTransformation], a + + ld a, TOUCH_PASS_THROUGH + ld [wTouchState], a + ld a, TOUCH_PASS_THROUGH + ld [wStingTouchState], a + ld a, $02 + ld [wca94], a + + farcall SetState_BallStart + ret + +Func_21e8a: + farcall SetState_BallShot + jp Func_21cc9 + +Func_21e9c: + ld a, [wTransformation] + cp TRANSFORMATION_BALL + jr z, Func_21e8a + jp Func_20939 + +Func_21ea6: + ld a, [wEnemyDirection] + ld b, a + and a + jr nz, .asm_21eb6 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, .asm_21ebf + jr .asm_21eca +.asm_21eb6 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jr nz, .asm_21ebf + jr .asm_21eca +.asm_21ebf + ld a, [wEnemyDirection] + xor $1 + ld [wDirection], a + jp Func_20a6f +.asm_21eca + jp Func_21b3a + +Func_21ecd: + ld a, [wEnemyDirection] + and a + jr nz, .asm_21edd + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jr nz, .asm_21ee7 + jp Func_20e6a +.asm_21edd + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jr nz, .asm_21ee7 + jp Func_20e6a +.asm_21ee7 + play_sfx SFX_FAT_WALK + farcall SetState_DraggedDown + jp Func_21cc9 + +Func_21f01: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jr nz, .asm_21f0b + jp Func_20d8c +.asm_21f0b + ld a, [wInteractionSide] + or INTERACTION_LEFT + ld [wInteractionSide], a + ld a, DIRECTION_RIGHT + ld [wDirection], a + farcall SetState_SwimKnockBack + ret + +Func_21f28: + ld a, [wInteractionSide] + bit INTERACTION_UP_F, a + jp nz, Func_21d6f.asm_21d7e + bit INTERACTION_DOWN_F, a + jp nz, Func_20e6a + ld a, [wEnemyDirection] + and a + jr nz, .asm_21f46 + ld a, [wInteractionSide] + bit INTERACTION_RIGHT_F, a + jp nz, Func_20670 + jp Func_20e6a +.asm_21f46 + ld a, [wInteractionSide] + bit INTERACTION_LEFT_F, a + jp nz, Func_20670 + jp Func_20e6a diff --git a/src/home/home2.asm b/src/home/home2.asm index bf14daa..511de7d 100644 --- a/src/home/home2.asm +++ b/src/home/home2.asm @@ -122,13 +122,13 @@ LoadRoom:: ld [wCameraConfigFlags], a ld a, [hli] - ld [wEnemyGroup], a + ld [wObjectGroup], a push hl ldh a, [rSVBK] push af ld a, BANK("WRAM1") ldh [rSVBK], a - farcall LoadEnemyGroupData + farcall LoadObjectGroupData pop af ldh [rSVBK], a pop hl diff --git a/src/layout.link b/src/layout.link index 9745c28..428af70 100644 --- a/src/layout.link +++ b/src/layout.link @@ -64,11 +64,13 @@ ROMX $04 ROMX $05 "Wario OAM 1" ROMX $06 - "Bank 6" + "Block Functions" + "Collision" "Wario States 2" ROMX $07 "Wario States 1" ROMX $08 + "Object Interactions" "Bank 8" ROMX $09 "Wario Gfx 2" @@ -102,7 +104,7 @@ ROMX $15 ROMX $18 "Bank 18" ROMX $19 - "Bank 19" + "Object Loading" ROMX $1a "Object Framesets" ROMX $20 diff --git a/src/main.asm b/src/main.asm index 742b4f0..74036e7 100644 --- a/src/main.asm +++ b/src/main.asm @@ -98,10 +98,14 @@ INCLUDE "engine/level/particles.asm" INCLUDE "engine/bank3.asm" -SECTION "Bank 6", ROMX +SECTION "Block Functions", ROMX INCLUDE "engine/level/block_functions.asm" -INCLUDE "engine/bank6.asm" + + +SECTION "Collision", ROMX + +INCLUDE "engine/level/collisions.asm" SECTION "Wario States 2", ROMX @@ -114,6 +118,11 @@ SECTION "Wario States 1", ROMX INCLUDE "engine/level/wario_states_1.asm" +SECTION "Object Interactions", ROMX + +INCLUDE "engine/level/object_interactions.asm" + + SECTION "Bank 8", ROMX INCLUDE "engine/bank8.asm" @@ -302,12 +311,13 @@ INCLUDE "engine/level/objects/shoot.asm" SECTION "Bank 18", ROMX +INCLUDE "data/object_movements.asm" INCLUDE "engine/bank18.asm" -SECTION "Bank 19", ROMX +SECTION "Object Loading", ROMX -INCLUDE "engine/bank19.asm" +INCLUDE "engine/level/load_objects.asm" SECTION "Bank 20", ROMX diff --git a/src/wram.asm b/src/wram.asm index c0b20d8..1ab743f 100644 --- a/src/wram.asm +++ b/src/wram.asm @@ -154,7 +154,7 @@ wc0c6:: ; c0c6 wc0c7:: ; c0c7 db -wEnemyGroup:: ; c0c8 +wObjectGroup:: ; c0c8 db wRoom:: db ; c0c9