diff --git a/AS/Win32/as.msg b/AS/Win32/as.msg
index 210488ff..96207237 100644
Binary files a/AS/Win32/as.msg and b/AS/Win32/as.msg differ
diff --git a/AS/Win32/asw.exe b/AS/Win32/asw.exe
index 2f20da3f..f8fd6466 100755
Binary files a/AS/Win32/asw.exe and b/AS/Win32/asw.exe differ
diff --git a/AS/Win32/cmdarg.msg b/AS/Win32/cmdarg.msg
index 0bb799fd..e71d1a40 100644
Binary files a/AS/Win32/cmdarg.msg and b/AS/Win32/cmdarg.msg differ
diff --git a/AS/Win32/ioerrs.msg b/AS/Win32/ioerrs.msg
index 237e26bf..34638ee1 100644
Binary files a/AS/Win32/ioerrs.msg and b/AS/Win32/ioerrs.msg differ
diff --git a/AS/Win32/tools.msg b/AS/Win32/tools.msg
index 18401821..d2c6cb15 100644
Binary files a/AS/Win32/tools.msg and b/AS/Win32/tools.msg differ
diff --git a/AS/s3p2bin/clowncommon.h b/AS/s3p2bin/clowncommon.h
new file mode 100644
index 00000000..570c8924
--- /dev/null
+++ b/AS/s3p2bin/clowncommon.h
@@ -0,0 +1,39 @@
+/*
+ (C) 2021 Clownacy
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+*/
+
+#ifndef CLOWNCOMMON_H
+#define CLOWNCOMMON_H
+
+/* Boolean */
+typedef unsigned char cc_bool_small;
+typedef unsigned int cc_bool_fast;
+enum
+{
+ CC_FALSE = 0,
+ CC_TRUE = 1
+};
+
+/* Common macros */
+#define CC_MIN(a, b) ((a) < (b) ? (a) : (b))
+#define CC_MAX(a, b) ((a) > (b) ? (a) : (b))
+#define CC_CLAMP(x, min, max) (CC_MIN((max), CC_MAX((min), (x))))
+#define CC_COUNT_OF(array) (sizeof(array) / sizeof(*array))
+
+#endif /* CLOWNCOMMON_H */
diff --git a/Build Scripts/build.py b/Build Scripts/build.py
index adcf12f1..7cf02a1e 100755
--- a/Build Scripts/build.py
+++ b/Build Scripts/build.py
@@ -66,6 +66,7 @@ def build(targetName, def0, def1, accurate):
assembleCommand = [asBinary, "-x", "-xx", "-n", "-c", "-A", "-L"];
+ basedir = os.path.relpath(os.getcwd())
if def0 is None:
assembleCommand.append("-o");
assembleCommand.append("sonic3k.p");
@@ -73,12 +74,16 @@ def build(targetName, def0, def1, accurate):
assembleCommand.append("sonic3k.lst");
assembleCommand.append("-shareout");
assembleCommand.append("sonic3k.h");
+ assembleCommand.append("-i");
+ assembleCommand.append(basedir);
# Input asm file
assembleCommand.append("s3.asm");
else:
assembleCommand.append(def0);
assembleCommand.append(def1);
+ assembleCommand.append("-i");
+ assembleCommand.append(basedir);
# Input asm file
assembleCommand.append("sonic3k.asm");
diff --git a/Build Scripts/buildS3.bat b/Build Scripts/buildS3.bat
index 5700ba4b..6e458b37 100755
--- a/Build Scripts/buildS3.bat
+++ b/Build Scripts/buildS3.bat
@@ -26,7 +26,7 @@ set AS_MSGPATH=AS\Win32
set USEANSI=n
REM // allow the user to choose to output error messages to file by supplying the -logerrors parameter
-IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -o sonic3k.p -olist sonic3k.lst -shareout sonic3k.h -E sonic3k.log -A -L s3.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -o sonic3k.p -olist sonic3k.lst -shareout sonic3k.h -A -L s3.asm
+IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -o sonic3k.p -olist sonic3k.lst -shareout sonic3k.h -E sonic3k.log -A -L -i "%cd%" s3.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -o sonic3k.p -olist sonic3k.lst -shareout sonic3k.h -A -L -i "%cd%" s3.asm
REM // if there were errors, a log file is produced
IF "%1"=="-logerrors" ( IF EXIST sonic3k.log goto LABLERROR3 )
diff --git a/Build Scripts/buildS3Complete.bat b/Build Scripts/buildS3Complete.bat
index 2f400b45..0d89624f 100755
--- a/Build Scripts/buildS3Complete.bat
+++ b/Build Scripts/buildS3Complete.bat
@@ -26,7 +26,7 @@ set AS_MSGPATH=AS\Win32
set USEANSI=n
REM // allow the user to choose to output error messages to file by supplying the -logerrors parameter
-IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=1 -E -A -L sonic3k.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=1 -A -L sonic3k.asm
+IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=1 -E -A -L -i "%cd%" sonic3k.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=1 -A -L -i "%cd%" sonic3k.asm
REM // if there were errors, a log file is produced
IF "%1"=="-logerrors" ( IF EXIST sonic3k.log goto LABLERROR3 )
diff --git a/Build Scripts/buildSK.bat b/Build Scripts/buildSK.bat
index 1a48660a..da2b1bda 100755
--- a/Build Scripts/buildSK.bat
+++ b/Build Scripts/buildSK.bat
@@ -26,7 +26,7 @@ set AS_MSGPATH=AS\Win32
set USEANSI=n
REM // allow the user to choose to output error messages to file by supplying the -logerrors parameter
-IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=0 -E -A -L sonic3k.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=0 -A -L sonic3k.asm
+IF "%1"=="-logerrors" ( "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=0 -E -A -L -i "%cd%" sonic3k.asm ) ELSE "AS\Win32\asw.exe" -xx -q -c -D Sonic3_Complete=0 -A -L -i "%cd%" sonic3k.asm
REM // if there were errors, a log file is produced
IF "%1"=="-logerrors" ( IF EXIST sonic3k.log goto LABLERROR3 )
diff --git a/Build Scripts/s3.txt b/Build Scripts/s3.txt
index 37dcd339..019613df 100644
--- a/Build Scripts/s3.txt
+++ b/Build Scripts/s3.txt
@@ -1,5 +1,6 @@
/* Miscellaneous */
#split 0x00000000,0x00000200,Lockon S3\Header.bin
+#split 0x0001AF6A,0x0001AFC2,Levels\LRZ\Misc\Rock Sprite Attribute Data S3.bin
#split 0x0006A0E0,0x0006A4E8,General\Special Stage\Layout\S3 1.bin
#split 0x0006A4E8,0x0006A8F0,General\Special Stage\Layout\S3 2.bin
#split 0x0006A8F0,0x0006ACF8,General\Special Stage\Layout\S3 3.bin
@@ -10,7 +11,6 @@
#split 0x0006BD18,0x0006C120,General\Special Stage\Layout\S3 8.bin
#split 0x0006D000,0x0006F460,Levels\HCZ\Misc\HCZ Waterline Scroll Data.bin
#split 0x0006F460,0x000704A0,Levels\LBZ\Misc\LBZ Waterline Scroll Data.bin
-#split 0x00093240,0x00098100,General\Special Stage\Layout\S3 Plane Map.bin
#split 0x0009A7DA,0x0009FC3A,General\Special Stage\Layout\S3 Perspective Maps.bin
#split 0x00144E80,0x00144F48,Levels\ICZ\Misc\ICZ Snowboard Slope 1.bin
#split 0x00144F48,0x00145010,Levels\ICZ\Misc\ICZ Snowboard Slope 2.bin
@@ -19,6 +19,7 @@
#split 0x001CBBB4,0x001CCC34,Levels\MGZ\Misc\Act 2 Quake Chunks.bin
/* Demo data */
+#split 0x00005A20,0x00005E20,Levels\AIZ\Demodata\1 Proto.bin
#split 0x000C5624,0x000C5DA4,Levels\AIZ\Demodata\1.bin
#split 0x000C5DA4,0x000C6524,Levels\HCZ\Demodata\1.bin
#split 0x000C6524,0x000C6CA4,Levels\MGZ\Demodata\1.bin
@@ -36,6 +37,8 @@
#split 0x0000BCB6,0x0000BCD6,General\Save Menu\Palettes\Zone Card 8 S3.bin
#split 0x000236AC,0x000236CC,General\Special Stage\Palettes\Eosian Spheres.bin
#split 0x0002D39E,0x0002D41E,General\Special Stage\Palettes\Results S3.bin
+#split 0x0003C05A,0x0003C07A,Levels\AIZ\Palettes\Battleship.bin
+#split 0x0003C07A,0x0003C096,Levels\AIZ\Palettes\Boss Small.bin
#split 0x0003F698,0x0003F718,General\Sprites\Continue\Palette S3.bin
#split 0x0004160A,0x0004164A,General\Ending\Palettes\S3 Ending.bin
#split 0x0004164A,0x0004168A,General\Ending\Palettes\S3 Logo.bin
@@ -45,11 +48,11 @@
#split 0x00043470,0x000434E0,General\Sprites\S2Menu\Palettes\Sega Screen 3.bin
#split 0x0004D520,0x0004D540,Levels\FBZ\Palettes\S3 Miniboss.bin
#split 0x0005215C,0x0005217C,General\Ending\Palettes\S3 Super Sonic End Pose.bin
-#split 0x0008C1B4,0x0008C1D4,Levels\Misc\Palettes\Unknown 2 S3.bin
-#split 0x0008C1D4,0x0008C234,Levels\Misc\Palettes\Unknown 3 S3.bin
+#split 0x0008C1B4,0x0008C1D4,General\Sprites\S2Menu\Palettes\Title Screen.bin
+#split 0x0008C1D4,0x0008C234,General\Sprites\S2Menu\Palettes\Proto Level Select.bin
#split 0x0008CDB4,0x0008CE14,Levels\Pachinko\Palettes\S3.bin
#split 0x0008CE14,0x0008CE74,Levels\Slots\Palettes\S3.bin
-#split 0x00164896,0x00164A96,Levels\Misc\Palettes\MGZ Fade to CNZ.bin
+#split 0x00164896,0x00164A96,Levels\MGZ\Palettes\Fade to CNZ.bin
#split 0x0019D262,0x0019D282,General\Save Menu\Palettes\BG.bin
#split 0x0019D282,0x0019D2A2,General\Competition Menu\Palettes\BG.bin
@@ -123,11 +126,11 @@
#split 0x0013DB60,0x00140FE0,General\Sprites\Knuckles\Art\Knuckles 2P.bin
#split 0x00145010,0x00147850,General\Sprites\Sonic\Art\Sonic Snowboarding.bin
#split 0x00147850,0x00147E30,General\Sprites\Snowboard\Snowboard.bin
-#split 0x0016732A,0x00167DCA,General\Sprites\Rhino\Rhino.bin
+#split 0x0016732A,0x00167DCA,General\Sprites\Rhinobot\Rhinobot.bin
#split 0x0016D6A4,0x0016E0C4,General\Sprites\Bubbles Badnik\Bubbles Badnik.bin
#split 0x0016EF18,0x00170058,General\Sprites\Clamer\Clamer.bin
#split 0x00174154,0x00175134,General\Sprites\Penguinator\Penguinator.bin
-#split 0x00177EBE,0x001791DE,General\Sprites\Flybot\Flybot.bin
+#split 0x00177EBE,0x001791DE,General\Sprites\Flybot767\Flybot767.bin
#split 0x00182DC6,0x00187CA6,General\Sprites\Knuckles\Cutscene\Cutscene Main.bin
#split 0x00192394,0x00192B14,Levels\HCZ\Animated Tiles\Water Splash 2.bin
#split 0x00192B14,0x00193714,Levels\HCZ\Animated Tiles\Water Splash.bin
@@ -153,6 +156,7 @@
#split 0x0015D794,0x0015D7FC,General\Sprites\Level Misc\Horizontal Spikes.bin
#split 0x0015D7FC,0x0015D8A2,General\Sprites\Enemy Misc\Enemy Points.bin
#split 0x0015D8A2,0x0015DA5A,General\Sprites\Starpost\Starpost.bin
+#split 0x0015EEB4,0x0015EFFC,General\Sprites\S2Menu\Tails Continue Icon.bin
#split 0x00164BF2,0x00165260,Levels\AIZ\Nemesis Art\Miniboss.bin
#split 0x001671A2,0x0016732A,Levels\AIZ\Nemesis Art\Miniboss Small.bin
#split 0x00168400,0x0016929E,Levels\HCZ\Nemesis Art\Miniboss.bin
@@ -185,8 +189,8 @@
#split 0x0018FD88,0x00190348,Levels\HCZ\Nemesis Art\Misc Art.bin
#split 0x00190348,0x00190900,Levels\HCZ\Nemesis Art\Water Rush.bin
#split 0x00191B36,0x0019204C,Levels\HCZ\Nemesis Art\Act 2 Slide.bin
-#split 0x0019204C,0x00192394,Levels\HCZ\Nemesis Art\Act 2 Block Platform.bin
-#split 0x00193714,0x0019382E,Levels\HCZ\Nemesis Art\Act 2 Knuckles Wall.bin
+#split 0x0019204C,0x00192394,Levels\HCZ\Nemesis Art\Act 2 Block Platform.bin
+#split 0x00193714,0x0019382E,Levels\HCZ\Nemesis Art\Act 2 Knuckles Wall.bin
#split 0x0019382E,0x0019426C,Levels\MGZ\Nemesis Art\Misc Art 1.bin
#split 0x0019426C,0x0019487C,Levels\MGZ\Nemesis Art\Misc Art 2.bin
#split 0x0019487C,0x00194AB6,Levels\MGZ\Nemesis Art\Direction Signs.bin
@@ -227,7 +231,7 @@
/* Kosinski-Moduled-Compressed Art */
#split 0x00165260,0x001671A2,Levels\AIZ\KosinskiM Art\End Boss.bin
-#split 0x00167DCA,0x0016800C,General\Sprites\Tulipon\Tulipon.bin
+#split 0x00167DCA,0x0016800C,General\Sprites\Bloominator\Bloominator.bin
#split 0x0016800C,0x001681FE,General\Sprites\Monkey Dude\Monkey Dude.bin
#split 0x001681FE,0x00168400,General\Sprites\Caterkiller Jr\Caterkiller Jr.bin
#split 0x0016A552,0x0016A6C4,General\Sprites\Jawz\Jawz.bin
@@ -250,7 +254,7 @@
#split 0x0017567A,0x0017599C,Levels\LBZ\KosinskiM Art\Miniboss Box.bin
#split 0x00176542,0x00176874,Levels\LBZ\KosinskiM Art\End Boss.bin
#split 0x00176874,0x00177996,Levels\LBZ\KosinskiM Art\Final Boss 2.bin
-#split 0x00177996,0x00177BE8,General\Sprites\Snail Blaster\Snail Blaster.bin
+#split 0x00177996,0x00177BE8,General\Sprites\Snale Blaster\Snale Blaster.bin
#split 0x00177BE8,0x00177D1A,General\Sprites\Ribot\Ribot.bin
#split 0x00177D1A,0x00177DFC,General\Sprites\Orbinaut\Orbinaut.bin
#split 0x00177DFC,0x00177EBE,General\Sprites\Corkey\Corkey.bin
@@ -332,6 +336,31 @@
#split 0x000DFABE,0x000DFBFE,Sound\Music\Countdown.bin
#split 0x000DFBFE,0x000DFEAC,Sound\Music\Sonic 3\Sonic 3 Game Complete.bin
+/* Uncompressed plane mappings */
+#split 0x0000A130,0x0000A164,General\Competition Menu\Uncompressed Map\Numbers.bin
+#split 0x0000AE7C,0x0000AEA4,General\Competition Menu\Uncompressed Map\Results Letters.bin
+#split 0x0000AEA4,0x0000AEF4,General\Competition Menu\Uncompressed Map\Results Dividers.bin
+#split 0x0000AEF4,0x0000AF08,General\Competition Menu\Uncompressed Map\Results TOTAL.bin
+#split 0x0000AF08,0x0000AF10,General\Competition Menu\Uncompressed Map\Results Win.bin
+#split 0x0000AF10,0x0000AF18,General\Competition Menu\Uncompressed Map\Results Lose.bin
+#split 0x0000AF18,0x0000AF20,General\Competition Menu\Uncompressed Map\Results Tie.bin
+#split 0x0000B326,0x0000B38A,General\Competition Menu\Uncompressed Map\LAP.bin
+#split 0x0000B38A,0x0000B3A6,General\Competition Menu\Uncompressed Map\RECORDS.bin
+#split 0x0000B3A6,0x0000B3D6,General\Competition Menu\Uncompressed Map\1ST 2ND 3RD.bin
+#split 0x0000B3EA,0x0000B41E,General\Competition Menu\Uncompressed Map\AZURE LAKE.bin
+#split 0x0000B41E,0x0000B452,General\Competition Menu\Uncompressed Map\BALLOON PARK.bin
+#split 0x0000B452,0x0000B486,General\Competition Menu\Uncompressed Map\CHROME GADGET.bin
+#split 0x0000B486,0x0000B4BA,General\Competition Menu\Uncompressed Map\DESERT PALACE.bin
+#split 0x0000B4BA,0x0000B4EE,General\Competition Menu\Uncompressed Map\ENDLESS MINE.bin
+#split 0x00093240,0x00098100,General\Special Stage\Uncompressed Map\Layout S3.bin
+#split 0x0019F150,0x0019F228,General\Competition Menu\Uncompressed Map\Time Border.bin
+#split 0x0019F228,0x0019F24C,General\Competition Menu\Uncompressed Map\Time Text.bin
+#split 0x001A20DE,0x001A216A,General\Save Menu\Uncompressed Map\NEW.bin
+#split 0x001A217A,0x001A2206,General\Save Menu\Uncompressed Map\Static 1.bin
+#split 0x001A2206,0x001A2292,General\Save Menu\Uncompressed Map\Static 2.bin
+#split 0x001A2292,0x001A231E,General\Save Menu\Uncompressed Map\Static 3.bin
+#split 0x001A231E,0x001A23AA,General\Save Menu\Uncompressed Map\Static 4.bin
+
/* Enigma Mappings */
#split 0x0000729C,0x000072EE,General\Sprites\S2Menu\Enigma Map\Level Select 2P.bin
#split 0x000072EE,0x0000731A,General\Sprites\S2Menu\Enigma Map\Options Screen.bin
@@ -352,7 +381,7 @@
#split 0x0014FF48,0x00150018,General\Title\Enigma Map\S3 Sonic C.bin
#split 0x00150018,0x00150112,General\Title\Enigma Map\S3 Sonic D.bin
#split 0x00150112,0x001501E0,General\Title\Enigma Map\S3 BG.bin
-#split 0x0019D2A2,0x0019D4A4,General\Title\Enigma Map\S3 Menu BG.bin
+#split 0x0019D2A2,0x0019D4A4,General\Save Menu\Enigma Map\Menu BG.bin
#split 0x0019F104,0x0019F150,General\Competition Menu\Enigma Map\Level Border.bin
#split 0x0019F24C,0x0019F36C,General\Competition Menu\Enigma Map\Level Images.bin
#split 0x0019F36C,0x0019F46E,General\Competition Menu\Enigma Map\Level Names.bin
diff --git a/Build Scripts/sk.txt b/Build Scripts/sk.txt
index f117e2d4..5db277f3 100644
--- a/Build Scripts/sk.txt
+++ b/Build Scripts/sk.txt
@@ -6,8 +6,8 @@
/* Miscellaneous */
#split 0x00001D64,0x00001FE4,Levels\Misc\sine.bin
#split 0x00002040,0x00002142,Levels\Misc\arctan.bin
-#split 0x00005F82,0x00005FB2,Sound\Music\Music playlist.bin
#split 0x00006D2C,0x00006D6C,Levels\Misc\StartingWaterHeights.bin
+#split 0x0000A264,0x0000A464,General\Special Stage\Scalars.bin
#split 0x0001CBBE,0x0001CCAE,Levels\LRZ\Misc\Rock Sprite Attribute Data.bin
#split 0x000B2E36,0x000B6946,General\Special Stage\Layout\Perspective Maps.bin
#split 0x000CAD06,0x000CB81A,Levels\LRZ\Misc\Act 1 Rock Placement.bin
@@ -79,7 +79,7 @@
#split 0x0000CCF8,0x0000CD18,General\Save Menu\Palettes\Zone Card 10.bin
#split 0x0000CD18,0x0000CD38,General\Save Menu\Palettes\Zone Card 11.bin
#split 0x0000CD38,0x0000CD58,General\Save Menu\Palettes\Zone Card 12.bin
-#split 0x0002E318,0x0002E398,General\Results\Palettes\Main.bin
+#split 0x0002E318,0x0002E398,General\Special Stage\Palettes\Results.bin
#split 0x0004CB36,0x0004CBB6,General\Blue Sphere\Palettes\Title 1.bin
#split 0x0004CBB6,0x0004CC36,General\Blue Sphere\Palettes\Title 2.bin
#split 0x0004DE08,0x0004DE68,General\Blue Sphere\Palettes\Results Line 0-2.bin
@@ -142,14 +142,22 @@
#split 0x00079726,0x00079786,Levels\LRZ\Palettes\Boss Act Fire.bin
#split 0x0007A1EE,0x0007A20E,Levels\LRZ\Palettes\End Boss.bin
#split 0x0007B268,0x0007B288,Levels\SSZ\Palettes\MTZOrbs.bin
-#split 0x0007D850,0x0007D9EA,Levels\SSZ\Palettes\GHZMisc.bin
+#split 0x0007D850,0x0007D870,General\Sprites\Mecha Sonic\Palettes\Main.bin
+#split 0x0007DA6E,0x0007DA8E,General\Sprites\Mecha Sonic\Palettes\Flash 1.bin
+#split 0x0007DA90,0x0007DAB0,General\Sprites\Mecha Sonic\Palettes\Flash 2.bin
+#split 0x0007DAB2,0x0007DAD2,General\Sprites\Mecha Sonic\Palettes\Flash 3.bin
+#split 0x0007DADC,0x0007DAFC,General\Sprites\Mecha Sonic\Palettes\Super 1.bin
+#split 0x0007DAFE,0x0007DB1E,General\Sprites\Mecha Sonic\Palettes\Super 2.bin
+#split 0x0007DB20,0x0007DB40,General\Sprites\Mecha Sonic\Palettes\Super 3.bin
#split 0x0007EFFC,0x0007F01C,Levels\DEZ\Palettes\Miniboss 1.bin
#split 0x0007F01C,0x0007F03C,Levels\DEZ\Palettes\Miniboss 2.bin
#split 0x0007FD08,0x0007FD28,Levels\DEZ\Palettes\End Boss.bin
+#split 0x00083CFA,0x00083D1A,Levels\AIZ\Palettes\Miniboss After.bin
+#split 0x00083D1A,0x00083D3A,Levels\ICZ\Palettes\Miniboss After.bin
#split 0x00090680,0x000906A0,Levels\LRZ\Palettes\Rock Crusher.bin
-#split 0x000A893C,0x000A89BC,Levels\Misc\Palettes\Unknown 1.bin
-#split 0x000A89BC,0x000A89DC,Levels\Misc\Palettes\Unknown 2.bin
-#split 0x000A89DC,0x000A8A3C,Levels\Misc\Palettes\Unknown 3.bin
+#split 0x000A893C,0x000A89BC,General\Sprites\S2Menu\Palettes\Sega Screen.bin
+#split 0x000A89BC,0x000A89DC,General\Sprites\S2Menu\Palettes\Title Screen SK.bin
+#split 0x000A89DC,0x000A8A3C,General\Sprites\S2Menu\Palettes\Proto Level Select SK.bin
#split 0x000A8A3C,0x000A8A7C,General\Sprites\Sonic\Palettes\SonicAndTails.bin
#split 0x000A8A7C,0x000A8AFC,General\Sprites\S2Menu\Palettes\Main.bin
#split 0x000A8AFC,0x000A8B1C,General\Sprites\Knuckles\Palettes\Main.bin
@@ -227,7 +235,10 @@
#split 0x000A8044,0x000A872C,Levels\MHZ\Layout\3.bin
/* Uncompressed Art */
-#split 0x000A9DFC,0x000AA57C,General\Sprites\Bubbles\Air Countdown.bin
+#split 0x0000E18A,0x0000E48A,General\Sprites\HUD Icon\HUD Digits.bin
+#split 0x0000E48A,0x0000E5CA,General\Sprites\HUD Icon\Lives Digits.bin
+#split 0x0000E5CA,0x0000E8AA,General\Sprites\HUD Icon\Debug Digits.bin
+#split 0x000A9DFC,0x000AA57C,General\Sprites\Dash Dust\Air Countdown.bin
#split 0x000AA57C,0x000AAA7C,General\Sprites\S2Menu\SONICMILES.bin
#split 0x000AAA7C,0x000ABDFC,General\Sprites\Sonic\Art\SStage Sonic.bin
#split 0x000ABF22,0x000AD302,General\Sprites\Knuckles\Art\SStage Knuckles.bin
@@ -379,14 +390,12 @@
#split 0x0019385A,0x00194388,General\Sprites\Bonus\Bonus Stage.bin
/* Kosinski-Compressed Art */
-
#split 0x000CC6A0,0x000CCA20,General\Title\Kosinski Art\SK Big SEGA.bin
#split 0x000CCA20,0x000CD910,General\Title\Kosinski Art\SK Screen Background.bin
#split 0x000D2504,0x000D33E4,General\Title\Kosinski Art\SK Sonic Falling.bin
#split 0x000D33E4,0x000D3A64,General\Title\Kosinski Art\SK Death Egg.bin
#split 0x000D3A64,0x000D3BB4,General\Title\Kosinski Art\SK Mountain Sprite.bin
#split 0x000D4BA6,0x000D5CC6,General\Title\Kosinski Art\SK Sonic and Knuckles Hands.bin
-#split 0x000DE364,0x000DE684,General\Title\Kosinski Art\SK ANDKnuckles Subtitle.bin
#split 0x00156C08,0x001574E8,Levels\Pachinko\Kosinski Art\Animated BG 1.bin
#split 0x001574E8,0x001578F8,Levels\Pachinko\Kosinski Art\Animated BG 2.bin
#split 0x0015BAC0,0x0015C130,General\Special Stage\Kosinski Art\SSResults General.bin
@@ -394,10 +403,6 @@
#split 0x0015CD62,0x0015EDB2,General\Save Menu\Kosinski Art\SK Zone Art.bin
#split 0x0015EDB2,0x0015FC12,General\Save Menu\Kosinski Art\Portraits.bin
#split 0x0015A774,0x0015B374,General\Save Menu\Kosinski Art\SK Extra.bin
-#split 0x0015FDDE,0x0015FFBE,General\Sprites\Robotnik\Egg Robo Head.bin
-#split 0x00163248,0x00163418,General\Ending\Kosinski Art\Robotnik Standing Smug.bin
-#split 0x0016416E,0x0016461E,General\Ending\Kosinski Art\Sonic Knuckles Pose Banner.bin
-#split 0x0017FCBC,0x0018008C,Levels\HPZ\Kosinski Art\Master Emerald.bin
#split 0x00187D1C,0x00188E7C,General\Blue Sphere\Kosinski Art\Characters.bin
#split 0x00188F1E,0x001897DE,General\Blue Sphere\Kosinski Art\Character Sprites.bin
#split 0x001897DE,0x00189C4E,General\Blue Sphere\Kosinski Art\Normal Text.bin
@@ -419,6 +424,7 @@
#split 0x000DB406,0x000DB818,General\Sprites\SS Entry\Badnik Explosion.bin
#split 0x000DC6C2,0x000DC9C4,General\Sprites\Blaster\Blaster.bin
#split 0x000DC9C4,0x000DCC76,General\Sprites\Technosqueek\Technosqueek.bin
+#split 0x000DE362,0x000DE684,General\Ending\KosinskiM Art\ANDKnuckles Subtitle.bin
#split 0x0014C652,0x0014C7D4,General\Sprites\Sonic\Art\Hyper Sonic Stars.bin
#split 0x0014C7D4,0x0014C926,General\Sprites\Tails\Art\Super Tails birds.bin
#split 0x001541B0,0x00154552,Levels\SSZ\KosinskiM Art\Spiral Ramp.bin
@@ -440,15 +446,18 @@
#split 0x0015C9BC,0x0015CA9E,Levels\DEZ\KosinskiM Art\Title Card.bin
#split 0x0015CA9E,0x0015CC30,Levels\DDZ\KosinskiM Art\Title Card.bin
#split 0x0015CC30,0x0015CD62,Levels\HPZ\KosinskiM Art\Title Card.bin
+#split 0x0015FDDC,0x0015FFBE,General\Sprites\Robotnik\Egg Robo Head.bin
#split 0x001607D8,0x00160AAA,General\Sprites\Robotnik\Robotnik Ship Crane.bin
#split 0x00160AAA,0x00160D8C,General\Ending\KosinskiM Art\Island Lift Animated Tiles.bin
#split 0x00160D8C,0x0016118E,General\Ending\KosinskiM Art\Pelican and Dolphin.bin
#split 0x0016118E,0x00161660,General\Ending\KosinskiM Art\Egg Robo.bin
-#split 0x00161660,0x001620D2,General\Ending\KosinskiM Art\Normal Sonic Ending Pose.bin
+#split 0x00161660,0x001620D2,General\Ending\KosinskiM Art\Sonic Ending Pose.bin
#split 0x001620D2,0x00162914,General\Ending\KosinskiM Art\Super Sonic Ending Pose.bin
#split 0x00162914,0x00163246,General\Ending\KosinskiM Art\Sonic Plane Ending.bin
+#split 0x00163246,0x00163418,General\Ending\KosinskiM Art\Robotnik Standing Smug.bin
#split 0x00163418,0x00163B9A,General\Ending\KosinskiM Art\Sonic Plane.bin
#split 0x00163B9A,0x0016416C,General\Sprites\Knuckles\Cutscene\Knuckles Ending Cutscene.bin
+#split 0x0016416C,0x0016461E,General\Ending\KosinskiM Art\Sonic Knuckles Pose Banner.bin
#split 0x0016461E,0x001649A0,General\Ending\KosinskiM Art\Sonic 3 Pose Banner.bin
#split 0x00165000,0x001651D2,General\Sprites\Knuckles\Cutscene\Knuckles Intro Bomb.bin
#split 0x001651D2,0x001652B4,Levels\FBZ\KosinskiM Art\Exit Hall.bin
@@ -492,6 +501,7 @@
#split 0x0017EDB4,0x0017EFA6,Levels\SSZ\KosinskiM Art\GHZ Ball and Chain.bin
#split 0x0017EFA6,0x0017F738,Levels\SSZ\KosinskiM Art\MTZ Orbs.bin
#split 0x0017F738,0x0017FCBA,General\Sprites\Mecha Sonic\Mecha Sonic Extra Art.bin
+#split 0x0017FCBA,0x0018008C,General\Ending\KosinskiM Art\Master Emerald.bin
#split 0x0018008C,0x001803EE,General\Sprites\Spikebonker\Spikebonker.bin
#split 0x001803EE,0x001805A0,General\Sprites\Chainspike\Chainspike.bin
#split 0x001805A0,0x00181002,Levels\DEZ\KosinskiM Art\Miniboss Misc Art.bin
@@ -812,6 +822,10 @@
#split 0x001DFE92,0x001E01B2,Levels\Pachinko\Chunks\Primary.bin
#split 0x001E36C4,0x001E3BB4,Levels\Slots\Chunks\Primary.bin
+/* Uncompressed plane mappings */
+#split 0x00008CB4,0x00008D2C,General\Special Stage\Uncompressed Map\HUD Numbers.bin
+#split 0x00008D2C,0x00008D5C,General\Special Stage\Uncompressed Map\HUD.bin
+
/* Enigma Compressed plane mappings */
#split 0x000AEDB0,0x000AEED0,General\Special Stage\Enigma Map\BG.bin
#split 0x000AEF54,0x000B07B8,General\Special Stage\Enigma Map\Layout.bin
diff --git a/General/Title/Kosinski Art/SK ANDKnuckles Subtitle.bin b/General/Ending/KosinskiM Art/ANDKnuckles Subtitle.bin
similarity index 75%
rename from General/Title/Kosinski Art/SK ANDKnuckles Subtitle.bin
rename to General/Ending/KosinskiM Art/ANDKnuckles Subtitle.bin
index 9935546f..27025ca8 100644
Binary files a/General/Title/Kosinski Art/SK ANDKnuckles Subtitle.bin and b/General/Ending/KosinskiM Art/ANDKnuckles Subtitle.bin differ
diff --git a/General/Ending/KosinskiM Art/Master Emerald.bin b/General/Ending/KosinskiM Art/Master Emerald.bin
new file mode 100644
index 00000000..a778dba1
Binary files /dev/null and b/General/Ending/KosinskiM Art/Master Emerald.bin differ
diff --git a/General/Ending/Kosinski Art/Robotnik Standing Smug.bin b/General/Ending/KosinskiM Art/Robotnik Standing Smug.bin
similarity index 72%
rename from General/Ending/Kosinski Art/Robotnik Standing Smug.bin
rename to General/Ending/KosinskiM Art/Robotnik Standing Smug.bin
index 1d131c78..309bd0ca 100644
Binary files a/General/Ending/Kosinski Art/Robotnik Standing Smug.bin and b/General/Ending/KosinskiM Art/Robotnik Standing Smug.bin differ
diff --git a/General/Ending/KosinskiM Art/Normal Sonic Ending Pose.bin b/General/Ending/KosinskiM Art/Sonic Ending Pose.bin
similarity index 100%
rename from General/Ending/KosinskiM Art/Normal Sonic Ending Pose.bin
rename to General/Ending/KosinskiM Art/Sonic Ending Pose.bin
diff --git a/General/Ending/Kosinski Art/Sonic Knuckles Pose Banner.bin b/General/Ending/KosinskiM Art/Sonic Knuckles Pose Banner.bin
similarity index 78%
rename from General/Ending/Kosinski Art/Sonic Knuckles Pose Banner.bin
rename to General/Ending/KosinskiM Art/Sonic Knuckles Pose Banner.bin
index e795354a..f7d30e79 100644
Binary files a/General/Ending/Kosinski Art/Sonic Knuckles Pose Banner.bin and b/General/Ending/KosinskiM Art/Sonic Knuckles Pose Banner.bin differ
diff --git a/General/Title/Map - ANDKnuckles Subtitle.asm b/General/Ending/Map - ANDKnuckles Subtitle.asm
similarity index 100%
rename from General/Title/Map - ANDKnuckles Subtitle.asm
rename to General/Ending/Map - ANDKnuckles Subtitle.asm
diff --git a/General/Title/Enigma Map/S3 Menu BG.bin b/General/Save Menu/Enigma Map/Menu BG.bin
similarity index 100%
rename from General/Title/Enigma Map/S3 Menu BG.bin
rename to General/Save Menu/Enigma Map/Menu BG.bin
diff --git a/General/Special Stage/Scalars.bin b/General/Special Stage/Scalars.bin
new file mode 100644
index 00000000..c5a01ef9
Binary files /dev/null and b/General/Special Stage/Scalars.bin differ
diff --git a/General/Special Stage/Uncompressed Map/HUD Numbers.bin b/General/Special Stage/Uncompressed Map/HUD Numbers.bin
new file mode 100644
index 00000000..9f826273
--- /dev/null
+++ b/General/Special Stage/Uncompressed Map/HUD Numbers.bin
@@ -0,0 +1 @@
+ǁρǂǃǁρǁρDŽDždžLJǁρχLjǁρǁρNJϊNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙϙߖߕׁ߁Ǜ׃߈ׇׁ߁ǜǝׁ߁ׁ߁Ǟǟׁ߁ׁ߁
\ No newline at end of file
diff --git a/General/Special Stage/Uncompressed Map/HUD.bin b/General/Special Stage/Uncompressed Map/HUD.bin
new file mode 100644
index 00000000..6601cfbf
--- /dev/null
+++ b/General/Special Stage/Uncompressed Map/HUD.bin
@@ -0,0 +1 @@
+ωǁρǁρǁρljϚNJϊNJϊNJϊǚ߉ׁ߁ׁ߁ׁ߁
\ No newline at end of file
diff --git a/General/Special Stage/Layout/S3 Plane Map.bin b/General/Special Stage/Uncompressed Map/Layout S3.bin
similarity index 100%
rename from General/Special Stage/Layout/S3 Plane Map.bin
rename to General/Special Stage/Uncompressed Map/Layout S3.bin
diff --git a/General/Sprites/Tulipon/Tulipon.bin b/General/Sprites/Bloominator/Bloominator.bin
similarity index 100%
rename from General/Sprites/Tulipon/Tulipon.bin
rename to General/Sprites/Bloominator/Bloominator.bin
diff --git a/General/Sprites/Tulipon/Map - Tulipon.asm b/General/Sprites/Bloominator/Map - Bloominator.asm
similarity index 100%
rename from General/Sprites/Tulipon/Map - Tulipon.asm
rename to General/Sprites/Bloominator/Map - Bloominator.asm
diff --git a/General/Sprites/Bubbles/Air Countdown.bin b/General/Sprites/Dash Dust/Air Countdown.bin
similarity index 100%
rename from General/Sprites/Bubbles/Air Countdown.bin
rename to General/Sprites/Dash Dust/Air Countdown.bin
diff --git a/General/Sprites/Shields/Anim - Shields.asm b/General/Sprites/Dash Dust/Anim - Air Countdown.asm
similarity index 60%
rename from General/Sprites/Shields/Anim - Shields.asm
rename to General/Sprites/Dash Dust/Anim - Air Countdown.asm
index df0d4db6..09500a04 100644
--- a/General/Sprites/Shields/Anim - Shields.asm
+++ b/General/Sprites/Dash Dust/Anim - Air Countdown.asm
@@ -1,18 +1,18 @@
- dc.w byte_186E2-Ani_Shields
- dc.w byte_186EB-Ani_Shields
- dc.w byte_186F4-Ani_Shields
- dc.w byte_186FD-Ani_Shields
- dc.w byte_18706-Ani_Shields
- dc.w byte_1870F-Ani_Shields
- dc.w byte_18718-Ani_Shields
- dc.w byte_1871D-Ani_Shields
- dc.w byte_18725-Ani_Shields
- dc.w byte_1872D-Ani_Shields
- dc.w byte_18735-Ani_Shields
- dc.w byte_1873D-Ani_Shields
- dc.w byte_18745-Ani_Shields
- dc.w byte_1874D-Ani_Shields
- dc.w byte_1874F-Ani_Shields
+ dc.w byte_186E2-Ani_AirCountdown
+ dc.w byte_186EB-Ani_AirCountdown
+ dc.w byte_186F4-Ani_AirCountdown
+ dc.w byte_186FD-Ani_AirCountdown
+ dc.w byte_18706-Ani_AirCountdown
+ dc.w byte_1870F-Ani_AirCountdown
+ dc.w byte_18718-Ani_AirCountdown
+ dc.w byte_1871D-Ani_AirCountdown
+ dc.w byte_18725-Ani_AirCountdown
+ dc.w byte_1872D-Ani_AirCountdown
+ dc.w byte_18735-Ani_AirCountdown
+ dc.w byte_1873D-Ani_AirCountdown
+ dc.w byte_18745-Ani_AirCountdown
+ dc.w byte_1874D-Ani_AirCountdown
+ dc.w byte_1874F-Ani_AirCountdown
byte_186E2: dc.b 5, 0, 1, 2, 3, 4, 9, $D, $FC
byte_186EB: dc.b 5, 0, 1, 2, 3, 4, $C, $12, $FC
byte_186F4: dc.b 5, 0, 1, 2, 3, 4, $C, $11, $FC
diff --git a/General/Sprites/Flybot/DPLC - Flybot.asm b/General/Sprites/Flybot767/DPLC - Flybot767.asm
similarity index 100%
rename from General/Sprites/Flybot/DPLC - Flybot.asm
rename to General/Sprites/Flybot767/DPLC - Flybot767.asm
diff --git a/General/Sprites/Flybot/Flybot.bin b/General/Sprites/Flybot767/Flybot767.bin
similarity index 100%
rename from General/Sprites/Flybot/Flybot.bin
rename to General/Sprites/Flybot767/Flybot767.bin
diff --git a/General/Sprites/Flybot/Map - Flybot.asm b/General/Sprites/Flybot767/Map - Flybot767.asm
similarity index 100%
rename from General/Sprites/Flybot/Map - Flybot.asm
rename to General/Sprites/Flybot767/Map - Flybot767.asm
diff --git a/General/Sprites/HUD Icon/Knuckles life icon.bin b/General/Sprites/HUD Icon/Knuckles Life icon.bin
similarity index 100%
rename from General/Sprites/HUD Icon/Knuckles life icon.bin
rename to General/Sprites/HUD Icon/Knuckles Life icon.bin
diff --git a/General/Sprites/HUD Icon/Sonic life icon.bin b/General/Sprites/HUD Icon/Sonic Life icon.bin
similarity index 100%
rename from General/Sprites/HUD Icon/Sonic life icon.bin
rename to General/Sprites/HUD Icon/Sonic Life icon.bin
diff --git a/General/Sprites/Knuckles/Knuckles pattern load cues.asm b/General/Sprites/Knuckles/DPLC - Knuckles.asm
similarity index 100%
rename from General/Sprites/Knuckles/Knuckles pattern load cues.asm
rename to General/Sprites/Knuckles/DPLC - Knuckles.asm
diff --git a/General/Sprites/Unused/Map - Obj27 Unused 2.asm b/General/Sprites/Level Misc/Map - Lava Marker S2 Debug.asm
similarity index 100%
rename from General/Sprites/Unused/Map - Obj27 Unused 2.asm
rename to General/Sprites/Level Misc/Map - Lava Marker S2 Debug.asm
diff --git a/General/Sprites/Unused/Map - Obj27 Unused.asm b/General/Sprites/Level Misc/Map - Lava Marker S2.asm
similarity index 100%
rename from General/Sprites/Unused/Map - Obj27 Unused.asm
rename to General/Sprites/Level Misc/Map - Lava Marker S2.asm
diff --git a/General/Sprites/Mecha Sonic/Palettes/Flash 1.bin b/General/Sprites/Mecha Sonic/Palettes/Flash 1.bin
new file mode 100644
index 00000000..6ac18ff0
Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Flash 1.bin differ
diff --git a/General/Sprites/Mecha Sonic/Palettes/Flash 2.bin b/General/Sprites/Mecha Sonic/Palettes/Flash 2.bin
new file mode 100644
index 00000000..06cd5efa
Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Flash 2.bin differ
diff --git a/General/Sprites/Mecha Sonic/Palettes/Flash 3.bin b/General/Sprites/Mecha Sonic/Palettes/Flash 3.bin
new file mode 100644
index 00000000..38677d07
Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Flash 3.bin differ
diff --git a/General/Sprites/Mecha Sonic/Palettes/Main.bin b/General/Sprites/Mecha Sonic/Palettes/Main.bin
new file mode 100644
index 00000000..be1f125c
Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Main.bin differ
diff --git a/General/Sprites/Mecha Sonic/Palettes/Super 1.bin b/General/Sprites/Mecha Sonic/Palettes/Super 1.bin
new file mode 100644
index 00000000..e2166ce3
Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Super 1.bin differ
diff --git a/General/Sprites/Mecha Sonic/Palettes/Super 2.bin b/General/Sprites/Mecha Sonic/Palettes/Super 2.bin
new file mode 100644
index 00000000..4565c12d
Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Super 2.bin differ
diff --git a/General/Sprites/Mecha Sonic/Palettes/Super 3.bin b/General/Sprites/Mecha Sonic/Palettes/Super 3.bin
new file mode 100644
index 00000000..217d0425
Binary files /dev/null and b/General/Sprites/Mecha Sonic/Palettes/Super 3.bin differ
diff --git a/General/Sprites/Mega Chomper/Map - Mega Chomper.asm b/General/Sprites/Mega Chopper/Map - Mega Chopper.asm
similarity index 100%
rename from General/Sprites/Mega Chomper/Map - Mega Chomper.asm
rename to General/Sprites/Mega Chopper/Map - Mega Chopper.asm
diff --git a/General/Sprites/Rhino/DPLC - RhinoBot.asm b/General/Sprites/Rhinobot/DPLC - Rhinobot.asm
similarity index 100%
rename from General/Sprites/Rhino/DPLC - RhinoBot.asm
rename to General/Sprites/Rhinobot/DPLC - Rhinobot.asm
diff --git a/General/Sprites/Rhino/Map - RhinoBot.asm b/General/Sprites/Rhinobot/Map - Rhinobot.asm
similarity index 100%
rename from General/Sprites/Rhino/Map - RhinoBot.asm
rename to General/Sprites/Rhinobot/Map - Rhinobot.asm
diff --git a/General/Sprites/Rhino/Rhino.bin b/General/Sprites/Rhinobot/Rhinobot.bin
similarity index 100%
rename from General/Sprites/Rhino/Rhino.bin
rename to General/Sprites/Rhinobot/Rhinobot.bin
diff --git a/General/Sprites/Robotnik/Egg Robo Head.bin b/General/Sprites/Robotnik/Egg Robo Head.bin
index 8fd33684..3ab5a66f 100644
Binary files a/General/Sprites/Robotnik/Egg Robo Head.bin and b/General/Sprites/Robotnik/Egg Robo Head.bin differ
diff --git a/Levels/Misc/Palettes/Unknown 3.bin b/General/Sprites/S2Menu/Palettes/Proto Level Select SK.bin
similarity index 100%
rename from Levels/Misc/Palettes/Unknown 3.bin
rename to General/Sprites/S2Menu/Palettes/Proto Level Select SK.bin
diff --git a/Levels/Misc/Palettes/Unknown 3 S3.bin b/General/Sprites/S2Menu/Palettes/Proto Level Select.bin
similarity index 100%
rename from Levels/Misc/Palettes/Unknown 3 S3.bin
rename to General/Sprites/S2Menu/Palettes/Proto Level Select.bin
diff --git a/Levels/Misc/Palettes/Unknown 1.bin b/General/Sprites/S2Menu/Palettes/Sega Screen.bin
similarity index 100%
rename from Levels/Misc/Palettes/Unknown 1.bin
rename to General/Sprites/S2Menu/Palettes/Sega Screen.bin
diff --git a/Levels/Misc/Palettes/Unknown 2.bin b/General/Sprites/S2Menu/Palettes/Title Screen SK.bin
similarity index 100%
rename from Levels/Misc/Palettes/Unknown 2.bin
rename to General/Sprites/S2Menu/Palettes/Title Screen SK.bin
diff --git a/Levels/Misc/Palettes/Unknown 2 S3.bin b/General/Sprites/S2Menu/Palettes/Title Screen.bin
similarity index 100%
rename from Levels/Misc/Palettes/Unknown 2 S3.bin
rename to General/Sprites/S2Menu/Palettes/Title Screen.bin
diff --git a/General/Sprites/Shields/Anim - Shield S2.asm b/General/Sprites/Shields/Anim - S2 Shield.asm
similarity index 72%
rename from General/Sprites/Shields/Anim - Shield S2.asm
rename to General/Sprites/Shields/Anim - S2 Shield.asm
index 6bd0c8e2..d9873309 100644
--- a/General/Sprites/Shields/Anim - Shield S2.asm
+++ b/General/Sprites/Shields/Anim - S2 Shield.asm
@@ -1,3 +1,3 @@
- dc.w byte_177B6-Ani_Shield_S2
+ dc.w byte_177B6-Ani_S2Shield
byte_177B6: dc.b 0, 5, 0, 5, 1, 5, 2, 5, 3, 5, 4, $FF
even
\ No newline at end of file
diff --git a/General/Sprites/Shields/Map - Shield S2.asm b/General/Sprites/Shields/Map - S2 Shield.asm
similarity index 83%
rename from General/Sprites/Shields/Map - Shield S2.asm
rename to General/Sprites/Shields/Map - S2 Shield.asm
index 6b285619..b1cb538c 100644
--- a/General/Sprites/Shields/Map - Shield S2.asm
+++ b/General/Sprites/Shields/Map - S2 Shield.asm
@@ -1,9 +1,9 @@
- dc.w word_177CE-Map_Shield_S2
- dc.w word_177E8-Map_Shield_S2
- dc.w word_17802-Map_Shield_S2
- dc.w word_1781C-Map_Shield_S2
- dc.w word_17836-Map_Shield_S2
- dc.w word_17850-Map_Shield_S2
+ dc.w word_177CE-Map_S2Shield
+ dc.w word_177E8-Map_S2Shield
+ dc.w word_17802-Map_S2Shield
+ dc.w word_1781C-Map_S2Shield
+ dc.w word_17836-Map_S2Shield
+ dc.w word_17850-Map_S2Shield
word_177CE: dc.w 4
dc.b $F0, 5, 0, 0, $FF, $F0
dc.b $F0, 5, 8, 0, 0, 0
diff --git a/General/Sprites/Snail Blaster/Map - Snail Blaster.asm b/General/Sprites/Snale Blaster/Map - Snale Blaster.asm
similarity index 100%
rename from General/Sprites/Snail Blaster/Map - Snail Blaster.asm
rename to General/Sprites/Snale Blaster/Map - Snale Blaster.asm
diff --git a/General/Sprites/Snail Blaster/Snail Blaster.bin b/General/Sprites/Snale Blaster/Snale Blaster.bin
similarity index 100%
rename from General/Sprites/Snail Blaster/Snail Blaster.bin
rename to General/Sprites/Snale Blaster/Snale Blaster.bin
diff --git a/General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm b/General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm
index f65ef913..b5b42df9 100644
--- a/General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm
+++ b/General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm
@@ -23,8 +23,8 @@
dc.w AniSonic2P16-AniSonic2P
dc.w AniSonic2P17-AniSonic2P
dc.w AniSonic2P18-AniSonic2P
- dc.w AniSonic2P19-AniSonic2P
- dc.w AniSonic2P19-AniSonic2P
+ dc.w AniSonic2P1A-AniSonic2P
+ dc.w AniSonic2P1A-AniSonic2P
dc.w AniSonic2P1B-AniSonic2P
dc.w AniSonic2P1C-AniSonic2P
dc.w AniSonic2P05-AniSonic2P
@@ -59,8 +59,8 @@ AniKnuckles2P: dc.w AniSonic2P00-AniKnuckles2P
dc.w AniSonic2P16-AniKnuckles2P
dc.w AniSonic2P17-AniKnuckles2P
dc.w AniSonic2P18-AniKnuckles2P
- dc.w AniSonic2P19-AniKnuckles2P
- dc.w AniSonic2P19-AniKnuckles2P
+ dc.w AniSonic2P1A-AniKnuckles2P
+ dc.w AniSonic2P1A-AniKnuckles2P
dc.w AniSonic2P1B-AniKnuckles2P
dc.w AniSonic2P1C-AniKnuckles2P
dc.w AniSonic2P05-AniKnuckles2P
@@ -92,7 +92,7 @@ AniSonic2P15: dc.b $B, $15, $FF
AniSonic2P16: dc.b $20, $20, $FF
AniSonic2P17: dc.b $20, $20, $FF
AniSonic2P18: dc.b $20, $20, $FF
-AniSonic2P19: dc.b $40, $21, $FF
+AniSonic2P1A: dc.b $40, $21, $FF
AniSonic2P1B: dc.b 9, $21, $FF
AniSonic2P1C: dc.b $77, 0, $FF
AniSonic2P20: dc.b 9, $1B, $FF
diff --git a/General/Sprites/Sonic/Sonic pattern load cues S3.asm b/General/Sprites/Sonic/DPLC - Sonic S3.asm
similarity index 98%
rename from General/Sprites/Sonic/Sonic pattern load cues S3.asm
rename to General/Sprites/Sonic/DPLC - Sonic S3.asm
index f89033ff..dd1fbf43 100644
--- a/General/Sprites/Sonic/Sonic pattern load cues S3.asm
+++ b/General/Sprites/Sonic/DPLC - Sonic S3.asm
@@ -404,18 +404,18 @@ PLC_SuperSonic: dc.w word_143290-PLC_SuperSonic
dc.w word_143442-PLC_SuperSonic
dc.w word_14344A-PLC_SuperSonic
dc.w word_143454-PLC_SuperSonic
- dc.w word_14344A-PLC_SuperSonic
+ dc.w word_14344A-PLC_SuperSonic ; word_14345E is the proper pointer here
dc.w word_143454-PLC_SuperSonic
dc.w word_14344A-PLC_SuperSonic
- dc.w word_143454-PLC_SuperSonic
+ dc.w word_143454-PLC_SuperSonic ; word_14345E is the proper pointer here
dc.w word_14344A-PLC_SuperSonic
dc.w word_143454-PLC_SuperSonic
- dc.w word_14344A-PLC_SuperSonic
+ dc.w word_14344A-PLC_SuperSonic ; word_14345E is the proper pointer here
dc.w word_143214-PLC_SuperSonic
dc.w word_14321E-PLC_SuperSonic
dc.w word_143454-PLC_SuperSonic
dc.w word_14344A-PLC_SuperSonic
- dc.w word_143454-PLC_SuperSonic
+ dc.w word_143454-PLC_SuperSonic ; word_14345E is the proper pointer here
dc.w word_143244-PLC_SuperSonic
dc.w word_14324C-PLC_SuperSonic
dc.w word_143254-PLC_SuperSonic
@@ -1495,7 +1495,7 @@ word_143454: dc.w 4
dc.w $7FE0
dc.w $2FE8
dc.w $FEB
- dc.w 3
+word_14345E: dc.w 3 ; unused PLCs for Super Sonic's third idle frame
dc.w $8E01
dc.w $BFEC
dc.w $FF8
diff --git a/General/Sprites/Sonic/Sonic pattern load cues.asm b/General/Sprites/Sonic/DPLC - Sonic.asm
similarity index 98%
rename from General/Sprites/Sonic/Sonic pattern load cues.asm
rename to General/Sprites/Sonic/DPLC - Sonic.asm
index aee42033..ee6bf2e1 100644
--- a/General/Sprites/Sonic/Sonic pattern load cues.asm
+++ b/General/Sprites/Sonic/DPLC - Sonic.asm
@@ -440,18 +440,18 @@ PLC_148378: dc.w word_148CC0-PLC_148378
dc.w word_148E72-PLC_148378
dc.w word_148E7A-PLC_148378
dc.w word_148E84-PLC_148378
- dc.w word_148E7A-PLC_148378
+ dc.w word_148E7A-PLC_148378 ; word_148E8E is the proper pointer here
dc.w word_148E84-PLC_148378
dc.w word_148E7A-PLC_148378
- dc.w word_148E84-PLC_148378
+ dc.w word_148E84-PLC_148378 ; word_148E8E is the proper pointer here
dc.w word_148E7A-PLC_148378
dc.w word_148E84-PLC_148378
- dc.w word_148E7A-PLC_148378
+ dc.w word_148E7A-PLC_148378 ; word_148E8E is the proper pointer here
dc.w word_148B6E-PLC_148378
dc.w word_148B78-PLC_148378
dc.w word_148E84-PLC_148378
dc.w word_148E7A-PLC_148378
- dc.w word_148E84-PLC_148378
+ dc.w word_148E84-PLC_148378 ; word_148E8E is the proper pointer here
dc.w word_148B9E-PLC_148378
dc.w word_148BA6-PLC_148378
dc.w word_148BAE-PLC_148378
@@ -1836,7 +1836,7 @@ word_148E84: dc.w 4
dc.w $7FE0
dc.w $2FE8
dc.w $FEB
- dc.w 3
+word_148E8E: dc.w 3 ; unused PLCs for Super Sonic's third idle frame
dc.w $8E01
dc.w $BFEC
dc.w $FF8
diff --git a/Levels/CNZ/Misc Object Data/Map - Blastoid.asm b/General/Sprites/Sparkle/Map - Sparkle.asm
similarity index 100%
rename from Levels/CNZ/Misc Object Data/Map - Blastoid.asm
rename to General/Sprites/Sparkle/Map - Sparkle.asm
diff --git a/General/Sprites/Tails/Anim - Tails 2P.asm b/General/Sprites/Tails/Anim - Tails 2P.asm
index c852c68a..bea364fb 100644
--- a/General/Sprites/Tails/Anim - Tails 2P.asm
+++ b/General/Sprites/Tails/Anim - Tails 2P.asm
@@ -23,8 +23,8 @@
dc.w AniTails2P16-AniTails2P
dc.w AniTails2P17-AniTails2P
dc.w AniTails2P18-AniTails2P
- dc.w AniTails2P19-AniTails2P
- dc.w AniTails2P19-AniTails2P
+ dc.w AniTails2P1A-AniTails2P
+ dc.w AniTails2P1A-AniTails2P
dc.w AniTails2P1B-AniTails2P
dc.w AniTails2P1C-AniTails2P
dc.w AniTails2P1D-AniTails2P
@@ -52,7 +52,7 @@ AniTails2P15: dc.b $B, $15, $FF
AniTails2P16: dc.b $20, $20, $FF
AniTails2P17: dc.b $20, $20, $FF
AniTails2P18: dc.b $20, $20, $FF
-AniTails2P19: dc.b $40, $21, $FF
+AniTails2P1A: dc.b $40, $21, $FF
AniTails2P1B: dc.b 9, $21, $FF
AniTails2P1C: dc.b $77, 0, $FF
AniTails2P1D: dc.b 3, $1B, $FF
diff --git a/General/Sprites/Tails/Tails pattern load cues S3.asm b/General/Sprites/Tails/DPLC - Tails S3.asm
similarity index 100%
rename from General/Sprites/Tails/Tails pattern load cues S3.asm
rename to General/Sprites/Tails/DPLC - Tails S3.asm
diff --git a/General/Sprites/Tails/Tails pattern load cues.asm b/General/Sprites/Tails/DPLC - Tails.asm
similarity index 100%
rename from General/Sprites/Tails/Tails pattern load cues.asm
rename to General/Sprites/Tails/DPLC - Tails.asm
diff --git a/General/Sprites/Tails/Tails tails pattern load cues.asm b/General/Sprites/Tails/Tails tails pattern load cues.asm
deleted file mode 100644
index 2abd62e7..00000000
--- a/General/Sprites/Tails/Tails tails pattern load cues.asm
+++ /dev/null
@@ -1,134 +0,0 @@
-PLC_344D74: dc.w Frame_344DCE-PLC_344D74 ; ...
- dc.w Frame_344DD0-PLC_344D74
- dc.w Frame_344DD4-PLC_344D74
- dc.w Frame_344DD8-PLC_344D74
- dc.w Frame_344DDC-PLC_344D74
- dc.w Frame_344DE0-PLC_344D74
- dc.w Frame_344DE4-PLC_344D74
- dc.w Frame_344DE8-PLC_344D74
- dc.w Frame_344DEC-PLC_344D74
- dc.w Frame_344DF0-PLC_344D74
- dc.w Frame_344DF4-PLC_344D74
- dc.w Frame_344DF8-PLC_344D74
- dc.w Frame_344DFC-PLC_344D74
- dc.w Frame_344E00-PLC_344D74
- dc.w Frame_344E04-PLC_344D74
- dc.w Frame_344E08-PLC_344D74
- dc.w Frame_344E0C-PLC_344D74
- dc.w Frame_344E10-PLC_344D74
- dc.w Frame_344E14-PLC_344D74
- dc.w Frame_344E18-PLC_344D74
- dc.w Frame_344E1C-PLC_344D74
- dc.w Frame_344E20-PLC_344D74
- dc.w Frame_344E24-PLC_344D74
- dc.w Frame_344E28-PLC_344D74
- dc.w Frame_344E2C-PLC_344D74
- dc.w Frame_344E30-PLC_344D74
- dc.w Frame_344E34-PLC_344D74
- dc.w Frame_344E38-PLC_344D74
- dc.w Frame_344E3C-PLC_344D74
- dc.w Frame_344E40-PLC_344D74
- dc.w Frame_344E44-PLC_344D74
- dc.w Frame_344E48-PLC_344D74
- dc.w Frame_344E4C-PLC_344D74
- dc.w Frame_344E50-PLC_344D74
- dc.w Frame_344E54-PLC_344D74
- dc.w Frame_344E58-PLC_344D74
- dc.w Frame_344E5C-PLC_344D74
- dc.w Frame_344E60-PLC_344D74
- dc.w Frame_344E64-PLC_344D74
- dc.w Frame_344E68-PLC_344D74
- dc.w Frame_344E6C-PLC_344D74
- dc.w Frame_344E70-PLC_344D74
- dc.w Frame_344E74-PLC_344D74
- dc.w Frame_344E78-PLC_344D74
- dc.w Frame_344E7C-PLC_344D74
-Frame_344DCE: dc.w 0
-Frame_344DD0: dc.w 1
- dc.w $5000
-Frame_344DD4: dc.w 1
- dc.w $5006
-Frame_344DD8: dc.w 1
- dc.w $500C
-Frame_344DDC: dc.w 1
- dc.w $5012
-Frame_344DE0: dc.w 1
- dc.w $5000
-Frame_344DE4: dc.w 1
- dc.w $5006
-Frame_344DE8: dc.w 1
- dc.w $500C
-Frame_344DEC: dc.w 1
- dc.w $5012
-Frame_344DF0: dc.w 1
- dc.w $5030
-Frame_344DF4: dc.w 1
- dc.w $5036
-Frame_344DF8: dc.w 1
- dc.w $503C
-Frame_344DFC: dc.w 1
- dc.w $5042
-Frame_344E00: dc.w 1
- dc.w $5018
-Frame_344E04: dc.w 1
- dc.w $501E
-Frame_344E08: dc.w 1
- dc.w $5024
-Frame_344E0C: dc.w 1
- dc.w $502A
-Frame_344E10: dc.w 1
- dc.w $5048
-Frame_344E14: dc.w 1
- dc.w $504E
-Frame_344E18: dc.w 1
- dc.w $5054
-Frame_344E1C: dc.w 1
- dc.w $505A
-Frame_344E20: dc.w 1
- dc.w $5060
-Frame_344E24: dc.w 1
- dc.w $8066
-Frame_344E28: dc.w 1
- dc.w $806F
-Frame_344E2C: dc.w 1
- dc.w $5078
-Frame_344E30: dc.w 1
- dc.w $807E
-Frame_344E34: dc.w 1
- dc.w $5000
-Frame_344E38: dc.w 1
- dc.w $5006
-Frame_344E3C: dc.w 1
- dc.w $500C
-Frame_344E40: dc.w 1
- dc.w $5012
-Frame_344E44: dc.w 1
- dc.w $5000
-Frame_344E48: dc.w 1
- dc.w $5006
-Frame_344E4C: dc.w 1
- dc.w $500C
-Frame_344E50: dc.w 1
- dc.w $5012
-Frame_344E54: dc.w 1
- dc.w $5060
-Frame_344E58: dc.w 1
- dc.w $8066
-Frame_344E5C: dc.w 1
- dc.w $806F
-Frame_344E60: dc.w 1
- dc.w $5078
-Frame_344E64: dc.w 1
- dc.w $807E
-Frame_344E68: dc.w 1
- dc.w $3087
-Frame_344E6C: dc.w 1
- dc.w $3087
-Frame_344E70: dc.w 1
- dc.w $5000
-Frame_344E74: dc.w 1
- dc.w $5006
-Frame_344E78: dc.w 1
- dc.w $500C
-Frame_344E7C: dc.w 1
- dc.w $5012
diff --git a/Levels/AIZ/Debug/Act 1 S3.asm b/Levels/AIZ/Debug/Act 1 S3.asm
index f77fb83a..917f8449 100644
--- a/Levels/AIZ/Debug/Act 1 S3.asm
+++ b/Levels/AIZ/Debug/Act 1 S3.asm
@@ -14,8 +14,8 @@
dbglistobj Obj_AIZRideVine, Map_AIZRideVine, 8, $21, make_art_tile($41B,0,0)
dbglistobj Obj_AIZGiantRideVine, Map_AIZRideVine, $F, $21, make_art_tile($41B,0,0)
dbglistobj Obj_AIZFallingLog, Map_AIZFallingLog, 7, 0, make_art_tile($3CF,2,0)
- dbglistobj Obj_RhinoBot, Map_RhinoBot, 0, 0, make_art_tile($500,1,0)
- dbglistobj Obj_Tulipon, Map_Tulipon, 0, 0, make_art_tile($52A,1,0)
+ dbglistobj Obj_Rhinobot, Map_Rhinobot, 0, 0, make_art_tile($500,1,0)
+ dbglistobj Obj_Bloominator, Map_Bloominator, 0, 0, make_art_tile($52A,1,0)
dbglistobj Obj_MonkeyDude, Map_MonkeyDude, $10, 0, make_art_tile($548,1,0)
dbglistobj Obj_AIZSurfboardIntro, Map_SurfboardIntro, 1, 1, make_art_tile($680,0,0)
dbglistobj Obj_SphereTest, Map_SphereTest, 0, 0, make_art_tile($4E0,1,0)
diff --git a/Levels/AIZ/Debug/Act 1.asm b/Levels/AIZ/Debug/Act 1.asm
index 3bde6e77..53a04e16 100644
--- a/Levels/AIZ/Debug/Act 1.asm
+++ b/Levels/AIZ/Debug/Act 1.asm
@@ -14,8 +14,8 @@
dbglistobj Obj_AIZRideVine, Map_AIZMHZRideVine, 8, $21, make_art_tile($41B,0,0)
dbglistobj Obj_AIZGiantRideVine, Map_AIZMHZRideVine, $F, $21, make_art_tile($41B,0,0)
dbglistobj Obj_AIZFallingLog, Map_AIZFallingLog, 7, 0, make_art_tile($3CF,2,0)
- dbglistobj Obj_RhinoBot, Map_RhinoBot, 0, 0, make_art_tile($500,1,0)
- dbglistobj Obj_Tulipon, Map_Tulipon, 0, 0, make_art_tile($52A,1,0)
+ dbglistobj Obj_Rhinobot, Map_Rhinobot, 0, 0, make_art_tile($500,1,0)
+ dbglistobj Obj_Bloominator, Map_Bloominator, 0, 0, make_art_tile($52A,1,0)
dbglistobj Obj_MonkeyDude, Map_MonkeyDude, $10, 0, make_art_tile($548,1,0)
dbglistobj Obj_StarPost, Map_StarPost, 1, 0, make_art_tile($5EC,0,0)
dbglistobj Obj_Bubbler, Map_Bubbler, $81, $13, make_art_tile($45C,0,1)
diff --git a/Levels/AIZ/Debug/Act 2 S3.asm b/Levels/AIZ/Debug/Act 2 S3.asm
index d3f1efd5..a1783660 100644
--- a/Levels/AIZ/Debug/Act 2 S3.asm
+++ b/Levels/AIZ/Debug/Act 2 S3.asm
@@ -29,8 +29,8 @@
dbglistobj Obj_AIZGiantRideVine, Map_AIZRideVine, $F, $21, make_art_tile($41B,0,0)
dbglistobj Obj_AIZDrawBridge, Map_AIZDrawBridge, 0, 1, make_art_tile($2E9,2,0)
dbglistobj Obj_Button, Map_Button, $10, 2, make_art_tile($456,0,0)
- dbglistobj Obj_RhinoBot, Map_RhinoBot, 0, 0, make_art_tile($500,1,0)
- dbglistobj Obj_Tulipon, Map_Tulipon, 0, 0, make_art_tile($52A,1,0)
+ dbglistobj Obj_Rhinobot, Map_Rhinobot, 0, 0, make_art_tile($500,1,0)
+ dbglistobj Obj_Bloominator, Map_Bloominator, 0, 0, make_art_tile($52A,1,0)
dbglistobj Obj_MonkeyDude, Map_MonkeyDude, 0, 0, make_art_tile($548,1,0)
dbglistobj Obj_CaterKillerJr, Map_CaterKillerJr, 0, 0, make_art_tile($55F,1,0)
dbglistobj Obj_StarPost, Map_StarPost, 1, 0, make_art_tile($5EC,0,0)
diff --git a/Levels/AIZ/Debug/Act 2.asm b/Levels/AIZ/Debug/Act 2.asm
index d8f23a40..26d9284b 100644
--- a/Levels/AIZ/Debug/Act 2.asm
+++ b/Levels/AIZ/Debug/Act 2.asm
@@ -29,8 +29,8 @@
dbglistobj Obj_AIZGiantRideVine, Map_AIZMHZRideVine, $F, $21, make_art_tile($41B,0,0)
dbglistobj Obj_AIZDrawBridge, Map_AIZDrawBridge, 0, 1, make_art_tile($2E9,2,0)
dbglistobj Obj_Button, Map_Button, $10, 2, make_art_tile($456,0,0)
- dbglistobj Obj_RhinoBot, Map_RhinoBot, 0, 0, make_art_tile($500,1,0)
- dbglistobj Obj_Tulipon, Map_Tulipon, 0, 0, make_art_tile($52A,1,0)
+ dbglistobj Obj_Rhinobot, Map_Rhinobot, 0, 0, make_art_tile($500,1,0)
+ dbglistobj Obj_Bloominator, Map_Bloominator, 0, 0, make_art_tile($52A,1,0)
dbglistobj Obj_MonkeyDude, Map_MonkeyDude, 0, 0, make_art_tile($548,1,0)
dbglistobj Obj_CaterKillerJr, Map_CaterKillerJr, 0, 0, make_art_tile($55F,1,0)
dbglistobj Obj_StarPost, Map_StarPost, 1, 0, make_art_tile($5EC,0,0)
diff --git a/Levels/AIZ/Demodata/1 Proto.bin b/Levels/AIZ/Demodata/1 Proto.bin
new file mode 100644
index 00000000..1114bad8
Binary files /dev/null and b/Levels/AIZ/Demodata/1 Proto.bin differ
diff --git a/Levels/AIZ/Palettes/Miniboss After.bin b/Levels/AIZ/Palettes/Miniboss After.bin
new file mode 100644
index 00000000..ba6b5206
Binary files /dev/null and b/Levels/AIZ/Palettes/Miniboss After.bin differ
diff --git a/Levels/CNZ/Debug/Main.asm b/Levels/CNZ/Debug/Main.asm
index 2cbaf27c..bf288a3d 100644
--- a/Levels/CNZ/Debug/Main.asm
+++ b/Levels/CNZ/Debug/Main.asm
@@ -9,7 +9,7 @@
dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0)
dbglistobj Obj_Spikes, Map_Spikes, $40, 4, make_art_tile($494,0,0)
dbglistobj Obj_Clamer, Map_Clamer, 0, 0, make_art_tile($500,1,0)
- dbglistobj Obj_CNZBlastoid, Map_CNZBlastoid, 0, 0, make_art_tile($524,1,0)
+ dbglistobj Obj_Sparkle, Map_Sparkle, 0, 0, make_art_tile($524,1,0)
dbglistobj Obj_Batbot, Map_Batbot, 0, 0, make_art_tile($552,1,0)
dbglistobj Obj_Door, Map_HCZCNZDEZDoor, 1, 1, make_art_tile($416,2,0)
dbglistobj Obj_Bumper, Map_Bumper, 0, 0, make_art_tile($364,2,0)
diff --git a/Levels/CNZ/Debug/S3.asm b/Levels/CNZ/Debug/S3.asm
index e1f86f4b..2caaac42 100644
--- a/Levels/CNZ/Debug/S3.asm
+++ b/Levels/CNZ/Debug/S3.asm
@@ -9,7 +9,7 @@
dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0)
dbglistobj Obj_Spikes, Map_Spikes, $40, 4, make_art_tile($494,0,0)
dbglistobj Obj_Clamer, Map_Clamer, 0, 0, make_art_tile($500,1,0)
- dbglistobj Obj_CNZBlastoid, Map_CNZBlastoid, 0, 0, make_art_tile($524,1,0)
+ dbglistobj Obj_Sparkle, Map_Sparkle, 0, 0, make_art_tile($524,1,0)
dbglistobj Obj_Batbot, Map_Batbot, 0, 0, make_art_tile($552,1,0)
dbglistobj Obj_Door, Map_HCZCNZDoor, 1, 1, make_art_tile($416,2,0)
dbglistobj Obj_Bumper, Map_Bumper, 0, 0, make_art_tile($364,2,0)
diff --git a/Levels/DEZ/Debug/Act 1.asm b/Levels/DEZ/Debug/Act 1.asm
index 2f84f2d3..8b94bd98 100644
--- a/Levels/DEZ/Debug/Act 1.asm
+++ b/Levels/DEZ/Debug/Act 1.asm
@@ -9,7 +9,7 @@
dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0)
dbglistobj Obj_Spikebonker, Map_Spikebonker, $20, 0, make_art_tile($500,0,0)
dbglistobj Obj_Chainspike, Map_Chainspike, 0, 0, make_art_tile($542,0,0)
- dbglistobj Obj_TiltingBridge, Map_TiltingBridge, 0, 0, make_art_tile($34D,1,0)
+ dbglistobj Obj_DEZTiltingBridge, Map_DEZTiltingBridge, 0, 0, make_art_tile($34D,1,0)
dbglistobj Obj_DEZHangCarrier, Map_DEZHangCarrier, 8, 0, make_art_tile($35D,1,0)
dbglistobj Obj_FBZDEZPlayerLauncher, Map_FBZDEZPlayerLauncher, 0, 1, make_art_tile($2FC,1,0)
dbglistobj Obj_Door, Map_HCZCNZDEZDoor, 2, 2, make_art_tile($36B,1,0)
@@ -24,8 +24,8 @@
dbglistobj Obj_StillSprite, Map_StillSprites, $31, $31, make_art_tile($3FF,1,0)
dbglistobj Obj_StillSprite, Map_StillSprites, $32, $32, make_art_tile($385,1,0)
dbglistobj Obj_DEZTunnelLauncher, Map_DEZTunnelLauncher, 0, 2, make_art_tile($385,0,0)
- dbglistobj Obj_DEZStaircase, Map_TiltingBridge, 0, 0, make_art_tile($480,1,0)
- dbglistobj Obj_DEZStaircase, Map_TiltingBridge, 4, 0, make_art_tile($480,1,0)
+ dbglistobj Obj_DEZStaircase, Map_DEZTiltingBridge, 0, 0, make_art_tile($480,1,0)
+ dbglistobj Obj_DEZStaircase, Map_DEZTiltingBridge, 4, 0, make_art_tile($480,1,0)
dbglistobj Obj_DEZGravitySwitch, Map_DEZGravitySwitch, 0, 0, make_art_tile($490,1,0)
dbglistobj Obj_DEZHoverMachine, Map_DEZHoverMachine, 0, 0, make_art_tile($30D,1,0)
dbglistobj Obj_DEZBumperWall, Map_DEZBumperWall, 0, 0, make_art_tile($32D,1,0)
diff --git a/Levels/DEZ/Debug/Act 2.asm b/Levels/DEZ/Debug/Act 2.asm
index 9c34c7cf..821a997e 100644
--- a/Levels/DEZ/Debug/Act 2.asm
+++ b/Levels/DEZ/Debug/Act 2.asm
@@ -9,14 +9,14 @@
dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0)
dbglistobj Obj_Spikebonker, Map_Spikebonker, $20, 0, make_art_tile($500,0,0)
dbglistobj Obj_Chainspike, Map_Chainspike, 0, 0, make_art_tile($542,0,0)
- dbglistobj Obj_TiltingBridge, Map_TiltingBridge, 0, 0, make_art_tile($34D,1,0)
+ dbglistobj Obj_DEZTiltingBridge, Map_DEZTiltingBridge, 0, 0, make_art_tile($34D,1,0)
dbglistobj Obj_DEZHangCarrier, Map_DEZHangCarrier, 8, 0, make_art_tile($35D,1,0)
dbglistobj Obj_Door, Map_HCZCNZDEZDoor, 2, 2, make_art_tile($36B,1,0)
dbglistobj Obj_DEZTorpedoLauncher, Map_TorpedoLauncher, $10, 0, make_art_tile($373,0,0)
dbglistobj Obj_DEZFloatingPlatform, Map_DEZFloatingPlatform, 2, 0, make_art_tile($33A,1,0)
dbglistobj Obj_DEZFloatingPlatform, Map_DEZFloatingPlatform, 5, 0, make_art_tile($33A,1,0)
- dbglistobj Obj_DEZStaircase, Map_TiltingBridge, 0, 0, make_art_tile($480,1,0)
- dbglistobj Obj_DEZStaircase, Map_TiltingBridge, 4, 0, make_art_tile($480,1,0)
+ dbglistobj Obj_DEZStaircase, Map_DEZTiltingBridge, 0, 0, make_art_tile($480,1,0)
+ dbglistobj Obj_DEZStaircase, Map_DEZTiltingBridge, 4, 0, make_art_tile($480,1,0)
dbglistobj Obj_DEZLightning, Map_DEZLightning, $B4, 4, make_art_tile($379,0,0)
dbglistobj Obj_DEZConveyorPad, Map_DEZConveyorPad, 0, 0, make_art_tile($408,1,0)
dbglistobj Obj_DEZConveyorPad, Map_DEZConveyorPad, $28, 4, make_art_tile($408,1,0)
diff --git a/Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm b/Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm
index b94f82f0..7fa2e7a5 100644
--- a/Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm
+++ b/Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm
@@ -1,3 +1,3 @@
- dc.w word_46F7C-Map_TiltingBridge
+ dc.w word_46F7C-Map_DEZTiltingBridge
word_46F7C: dc.w 1 ; DATA XREF: ROM:00046F7Ao
dc.b $F0, $F, 0, 0, $FF, $F0
diff --git a/Levels/FBZ/Debug/Act 1.asm b/Levels/FBZ/Debug/Act 1.asm
index 48323425..623b7a2a 100644
--- a/Levels/FBZ/Debug/Act 1.asm
+++ b/Levels/FBZ/Debug/Act 1.asm
@@ -18,7 +18,7 @@
dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $10, 0, make_art_tile($383,1,0)
dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $30, 0, make_art_tile($383,1,0)
dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $40, 0, make_art_tile($383,1,0)
- dbglistobj Obj_FBZ_ChainLink, Map_FBZChainLink, $1A, 0, make_art_tile($379,2,0)
+ dbglistobj Obj_FBZChainLink, Map_FBZChainLink, $1A, 0, make_art_tile($379,2,0)
dbglistobj Obj_StillSprite, Map_StillSprites, $27, $27, make_art_tile($379,2,0)
dbglistobj Obj_StillSprite, Map_StillSprites, $28, $28, make_art_tile($379,2,0)
dbglistobj Obj_StillSprite, Map_StillSprites, $29, $29, make_art_tile($379,2,0)
diff --git a/Levels/FBZ/Debug/Act 2.asm b/Levels/FBZ/Debug/Act 2.asm
index ebd97496..240f13fb 100644
--- a/Levels/FBZ/Debug/Act 2.asm
+++ b/Levels/FBZ/Debug/Act 2.asm
@@ -18,7 +18,7 @@
dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $10, 0, make_art_tile($383,1,0)
dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $30, 0, make_art_tile($383,1,0)
dbglistobj Obj_FBZFloatingPlatform, Map_FBZFloatingPlatform, $40, 0, make_art_tile($383,1,0)
- dbglistobj Obj_FBZ_ChainLink, Map_FBZChainLink, $1A, 0, make_art_tile($379,2,0)
+ dbglistobj Obj_FBZChainLink, Map_FBZChainLink, $1A, 0, make_art_tile($379,2,0)
dbglistobj Obj_StillSprite, Map_StillSprites, $27, $27, make_art_tile($379,2,0)
dbglistobj Obj_StillSprite, Map_StillSprites, $28, $28, make_art_tile($379,2,0)
dbglistobj Obj_StillSprite, Map_StillSprites, $29, $29, make_art_tile($379,2,0)
diff --git a/Levels/HCZ/Debug/Main.asm b/Levels/HCZ/Debug/Main.asm
index 3af6e4b7..2fe3e605 100644
--- a/Levels/HCZ/Debug/Main.asm
+++ b/Levels/HCZ/Debug/Main.asm
@@ -10,12 +10,12 @@
dbglistobj Obj_Blastoid, Map_Blastoid, 0, 0, make_art_tile($539,1,0)
dbglistobj Obj_Poindexter, Map_Poindexter, $20, 0, make_art_tile($559,1,0)
dbglistobj Obj_Buggernaut, Map_Buggernaut, 0, 0, make_art_tile($44C,1,0)
- dbglistobj Obj_MegaChomper, Map_MegaChomper, 0, 0, make_art_tile($54D,1,0)
+ dbglistobj Obj_MegaChopper, Map_MegaChopper, 0, 0, make_art_tile($54D,1,0)
dbglistobj Obj_TurboSpiker, Map_TurboSpiker, 0, 0, make_art_tile($500,1,0)
dbglistobj Obj_Jawz, Map_Jawz, 0, 0, make_art_tile($539,1,0)
dbglistobj Obj_Button, Map_Button2, $20, 2, make_art_tile($426,1,0)
- dbglistobj Obj_BreakableBar, Map_BreakableBar, 0, 0, make_art_tile($3CA,2,0)
- dbglistobj Obj_BreakableBar, Map_BreakableBar, $80, 4, make_art_tile($3CA,2,0)
+ dbglistobj Obj_HCZBreakableBar, Map_HCZBreakableBar, 0, 0, make_art_tile($3CA,2,0)
+ dbglistobj Obj_HCZBreakableBar, Map_HCZBreakableBar, $80, 4, make_art_tile($3CA,2,0)
dbglistobj Obj_HCZCGZFan, Map_HCZFan, $16, 0, make_art_tile($40B,1,0)
dbglistobj Obj_HCZCGZFan, Map_HCZFan, $4C, 1, make_art_tile($40B,1,0)
dbglistobj Obj_HCZLargeFan, Map_HCZLargeFan, 0, 0, make_art_tile($500,1,0)
diff --git a/Levels/HCZ/Debug/S3.asm b/Levels/HCZ/Debug/S3.asm
index f248fab0..177b7a64 100644
--- a/Levels/HCZ/Debug/S3.asm
+++ b/Levels/HCZ/Debug/S3.asm
@@ -10,12 +10,12 @@
dbglistobj Obj_Blastoid, Map_Blastoid, 0, 0, make_art_tile($539,1,0)
dbglistobj Obj_Poindexter, Map_Poindexter, $20, 0, make_art_tile($559,1,0)
dbglistobj Obj_Buggernaut, Map_Buggernaut, 0, 0, make_art_tile($44C,1,0)
- dbglistobj Obj_MegaChomper, Map_MegaChomper, 0, 0, make_art_tile($54D,1,0)
+ dbglistobj Obj_MegaChopper, Map_MegaChopper, 0, 0, make_art_tile($54D,1,0)
dbglistobj Obj_TurboSpiker, Map_TurboSpiker, 0, 0, make_art_tile($500,1,0)
dbglistobj Obj_Jawz, Map_Jawz, 0, 0, make_art_tile($539,1,0)
dbglistobj Obj_Button, Map_Button2, $20, 2, make_art_tile($426,1,0)
- dbglistobj Obj_BreakableBar, Map_BreakableBar, 0, 0, make_art_tile($3CA,2,0)
- dbglistobj Obj_BreakableBar, Map_BreakableBar, $80, 4, make_art_tile($3CA,2,0)
+ dbglistobj Obj_HCZBreakableBar, Map_HCZBreakableBar, 0, 0, make_art_tile($3CA,2,0)
+ dbglistobj Obj_HCZBreakableBar, Map_HCZBreakableBar, $80, 4, make_art_tile($3CA,2,0)
dbglistobj Obj_HCZCGZFan, Map_HCZFan, $16, 0, make_art_tile($40B,1,0)
dbglistobj Obj_HCZCGZFan, Map_HCZFan, $4C, 1, make_art_tile($40B,1,0)
dbglistobj Obj_HCZLargeFan, Map_HCZLargeFan, 0, 0, make_art_tile($500,1,0)
diff --git a/Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin b/Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin
similarity index 100%
rename from Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin
rename to Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin
diff --git a/Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin b/Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin
similarity index 100%
rename from Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin
rename to Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin
diff --git a/Levels/HPZ/Kosinski Art/Master Emerald.bin b/Levels/HPZ/Kosinski Art/Master Emerald.bin
deleted file mode 100644
index edf04b17..00000000
Binary files a/Levels/HPZ/Kosinski Art/Master Emerald.bin and /dev/null differ
diff --git a/Levels/ICZ/Debug/Act 2 S3.asm b/Levels/ICZ/Debug/Act 2 S3.asm
index 8246a126..3ce74c47 100644
--- a/Levels/ICZ/Debug/Act 2 S3.asm
+++ b/Levels/ICZ/Debug/Act 2 S3.asm
@@ -25,8 +25,8 @@
dbglistobj Obj_ICZIceCube, Map_ICZPlatforms, 0, 3, make_art_tile($3B6,2,0)
dbglistobj Obj_ICZHarmfulIce, Map_ICZPlatforms, 2, 5, make_art_tile($3B6,2,0)
dbglistobj Obj_ICZHarmfulIce, Map_ICZPlatforms, 0, 4, make_art_tile($3B6,2,0)
- dbglistobj Obj_ICZ_SnowPile, Map_ICZPlatforms, 0, $20, make_art_tile($377,2,0)
- dbglistobj Obj_ICZ_TensionPlatform, Map_ICZPlatforms, 0, $1F, make_art_tile($377,2,0)
+ dbglistobj Obj_ICZSnowPile, Map_ICZPlatforms, 0, $20, make_art_tile($377,2,0)
+ dbglistobj Obj_ICZTensionPlatform, Map_ICZPlatforms, 0, $1F, make_art_tile($377,2,0)
dbglistobj Obj_CollapsingPlatform, Map_ICZCollapsingBridge, 0, 0, make_art_tile($001,2,0)
dbglistobj Obj_CollapsingBridge, Map_ICZCollapsingBridge, $80, 3, make_art_tile($001,2,0)
dbglistobj Obj_CorkFloor, Map_ICZCorkFloor, 0, 0, make_art_tile($001,2,0)
diff --git a/Levels/ICZ/Debug/Act 2.asm b/Levels/ICZ/Debug/Act 2.asm
index 745bd792..9493b41e 100644
--- a/Levels/ICZ/Debug/Act 2.asm
+++ b/Levels/ICZ/Debug/Act 2.asm
@@ -26,8 +26,8 @@
dbglistobj Obj_ICZIceCube, Map_ICZPlatforms, 0, 3, make_art_tile($3B6,2,0)
dbglistobj Obj_ICZHarmfulIce, Map_ICZPlatforms, 2, 5, make_art_tile($3B6,2,0)
dbglistobj Obj_ICZHarmfulIce, Map_ICZPlatforms, 0, 4, make_art_tile($3B6,2,0)
- dbglistobj Obj_ICZ_SnowPile, Map_ICZPlatforms, 0, $20, make_art_tile($377,2,0)
- dbglistobj Obj_ICZ_TensionPlatform, Map_ICZPlatforms, 0, $1F, make_art_tile($377,2,0)
+ dbglistobj Obj_ICZSnowPile, Map_ICZPlatforms, 0, $20, make_art_tile($377,2,0)
+ dbglistobj Obj_ICZTensionPlatform, Map_ICZPlatforms, 0, $1F, make_art_tile($377,2,0)
dbglistobj Obj_CollapsingPlatform, Map_ICZCollapsingBridge, 0, 0, make_art_tile($001,2,0)
dbglistobj Obj_CollapsingBridge, Map_ICZCollapsingBridge, $80, 3, make_art_tile($001,2,0)
dbglistobj Obj_CorkFloor, Map_ICZCorkFloor, 0, 0, make_art_tile($001,2,0)
diff --git a/Levels/ICZ/Palettes/Miniboss After.bin b/Levels/ICZ/Palettes/Miniboss After.bin
new file mode 100644
index 00000000..32285884
Binary files /dev/null and b/Levels/ICZ/Palettes/Miniboss After.bin differ
diff --git a/Levels/LBZ/Misc Object Data/Anim - Unused Unknown 2.asm b/Levels/LBZ/Misc Object Data/Anim - Unused Solid Hurt.asm
similarity index 62%
rename from Levels/LBZ/Misc Object Data/Anim - Unused Unknown 2.asm
rename to Levels/LBZ/Misc Object Data/Anim - Unused Solid Hurt.asm
index 5c3cfcb2..5fcc76e2 100644
--- a/Levels/LBZ/Misc Object Data/Anim - Unused Unknown 2.asm
+++ b/Levels/LBZ/Misc Object Data/Anim - Unused Solid Hurt.asm
@@ -1,3 +1,3 @@
- dc.w byte_269F0-Ani_LBZUnusedUnknown_2
+Ani_Obj1C_01: dc.w byte_269F0-Ani_Obj1C_01
byte_269F0: dc.b $B, 0, 1, 2, 1, 0, 3, 4, 3, $FF
even
diff --git a/Levels/LBZ/Misc Object Data/Map - Floating Platform Underside (Unused).asm b/Levels/LBZ/Misc Object Data/Map - Unused Bar Platform.asm
similarity index 100%
rename from Levels/LBZ/Misc Object Data/Map - Floating Platform Underside (Unused).asm
rename to Levels/LBZ/Misc Object Data/Map - Unused Bar Platform.asm
diff --git a/Levels/LBZ/Misc Object Data/Map - Unused Unknown 2.asm b/Levels/LBZ/Misc Object Data/Map - Unused Solid Hurt.asm
similarity index 81%
rename from Levels/LBZ/Misc Object Data/Map - Unused Unknown 2.asm
rename to Levels/LBZ/Misc Object Data/Map - Unused Solid Hurt.asm
index 7b5ceaf7..7d6401c0 100644
--- a/Levels/LBZ/Misc Object Data/Map - Unused Unknown 2.asm
+++ b/Levels/LBZ/Misc Object Data/Map - Unused Solid Hurt.asm
@@ -1,8 +1,8 @@
- dc.w word_26A04-Map_LBZUnusedUnknown_2
- dc.w word_26A1E-Map_LBZUnusedUnknown_2
- dc.w word_26A38-Map_LBZUnusedUnknown_2
- dc.w word_26A58-Map_LBZUnusedUnknown_2
- dc.w word_26A72-Map_LBZUnusedUnknown_2
+Map_Obj1C_01: dc.w word_26A04-Map_Obj1C_01
+ dc.w word_26A1E-Map_Obj1C_01
+ dc.w word_26A38-Map_Obj1C_01
+ dc.w word_26A58-Map_Obj1C_01
+ dc.w word_26A72-Map_Obj1C_01
word_26A04: dc.w 4
dc.b $E8, 7, 0, $10, $FF, $F0
dc.b $E8, 7, 8, $10, 0, 0
diff --git a/Levels/LBZ/Misc Object Data/Map - Unused Unknown.asm b/Levels/LBZ/Misc Object Data/Map - Unused Tilting Bridge.asm
similarity index 100%
rename from Levels/LBZ/Misc Object Data/Map - Unused Unknown.asm
rename to Levels/LBZ/Misc Object Data/Map - Unused Tilting Bridge.asm
diff --git a/Levels/LRZ/Debug/Act 1.asm b/Levels/LRZ/Debug/Act 1.asm
index 4d0acd06..d0b94f3c 100644
--- a/Levels/LRZ/Debug/Act 1.asm
+++ b/Levels/LRZ/Debug/Act 1.asm
@@ -9,7 +9,7 @@
dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0)
dbglistobj Obj_Toxomister, Map_Toxomister, 0, 0, make_art_tile($562,0,0)
dbglistobj Obj_Fireworm, Map_FirewormSegments, 0, 0, make_art_tile($512,3,0)
- dbglistobj Obj_LRZExplodingRock, Map_Iwamodoki, 0, 0, make_art_tile($530,0,0)
+ dbglistobj Obj_Iwamodoki, Map_Iwamodoki, 0, 0, make_art_tile($530,0,0)
dbglistobj Obj_LRZSpikeBall, Map_LRZSpikeBall, 0, 0, make_art_tile($442,1,1)
dbglistobj Obj_LRZSinkingRock, Map_LRZSinkingRock, 0, 0, make_art_tile($0D3,2,0)
dbglistobj Obj_LRZFallingSpike, Map_LRZFallingSpike, $60, 0, make_art_tile($3A1,2,0)
diff --git a/Levels/LRZ/Debug/Act 2.asm b/Levels/LRZ/Debug/Act 2.asm
index 4a64d4c9..4470a9ab 100644
--- a/Levels/LRZ/Debug/Act 2.asm
+++ b/Levels/LRZ/Debug/Act 2.asm
@@ -9,7 +9,7 @@
dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0)
dbglistobj Obj_Toxomister, Map_Toxomister, 0, 0, make_art_tile($562,0,0)
dbglistobj Obj_Fireworm, Map_FirewormSegments, 0, 0, make_art_tile($512,3,0)
- dbglistobj Obj_LRZExplodingRock, Map_Iwamodoki, 0, 0, make_art_tile($530,0,0)
+ dbglistobj Obj_Iwamodoki, Map_Iwamodoki, 0, 0, make_art_tile($530,0,0)
dbglistobj Obj_LRZSinkingRock, Map_LRZSinkingRock, 0, 1, make_art_tile($090,2,0)
dbglistobj Obj_LRZDoor, Map_LRZDoor, 0, 1, make_art_tile($090,2,0)
dbglistobj Obj_LRZSwingingSpikeBall, Map_LRZSwingingSpikeBall, $88, 3, make_art_tile($40D,0,1)
diff --git a/Levels/LRZ/Misc/Rock Sprite Attribute Data S3.bin b/Levels/LRZ/Misc/Rock Sprite Attribute Data S3.bin
new file mode 100644
index 00000000..a4e28d51
Binary files /dev/null and b/Levels/LRZ/Misc/Rock Sprite Attribute Data S3.bin differ
diff --git a/Levels/MGZ/Debug/Main.asm b/Levels/MGZ/Debug/Main.asm
index 301e364d..08aa7513 100644
--- a/Levels/MGZ/Debug/Main.asm
+++ b/Levels/MGZ/Debug/Main.asm
@@ -10,7 +10,7 @@
dbglistobj Obj_Spring, Map_Spring, $40, $A, make_art_tile($478,0,0)
dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0)
dbglistobj Obj_Spikes, Map_Spikes, $40, 4, make_art_tile($494,0,0)
- dbglistobj Obj_MGZMiniBoss, Map_MGZMiniBoss, 0, 0, make_art_tile($54F,1,0)
+ dbglistobj Obj_Tunnelbot, Map_MGZMiniboss, 0, 0, make_art_tile($54F,1,0)
dbglistobj Obj_BubblesBadnik, Map_BubblesBadnik, 0, 0, make_art_tile($500,1,0)
dbglistobj Obj_Spiker, Map_Spiker, 0, 0, make_art_tile($530,1,0)
dbglistobj Obj_Mantis, Map_Mantis, 0, 0, make_art_tile($54F,1,0)
diff --git a/Levels/MGZ/Debug/S3.asm b/Levels/MGZ/Debug/S3.asm
index cda75bd4..886769b9 100644
--- a/Levels/MGZ/Debug/S3.asm
+++ b/Levels/MGZ/Debug/S3.asm
@@ -10,7 +10,7 @@
dbglistobj Obj_Spring, Map_Spring, $40, $A, make_art_tile($478,0,0)
dbglistobj Obj_Spikes, Map_Spikes, 0, 0, make_art_tile($49C,0,0)
dbglistobj Obj_Spikes, Map_Spikes, $40, 4, make_art_tile($494,0,0)
- dbglistobj Obj_MGZMiniBoss, Map_MGZMiniBoss, 0, 0, make_art_tile($54F,1,0)
+ dbglistobj Obj_Tunnelbot, Map_MGZMiniboss, 0, 0, make_art_tile($54F,1,0)
dbglistobj Obj_BubblesBadnik, Map_BubblesBadnik, 0, 0, make_art_tile($500,1,0)
dbglistobj Obj_Spiker, Map_Spiker, 0, 0, make_art_tile($530,1,0)
dbglistobj Obj_Mantis, Map_Mantis, 0, 0, make_art_tile($54F,1,0)
diff --git a/Levels/Misc/Palettes/MGZ Fade to CNZ.bin b/Levels/MGZ/Palettes/Fade to CNZ.bin
similarity index 100%
rename from Levels/Misc/Palettes/MGZ Fade to CNZ.bin
rename to Levels/MGZ/Palettes/Fade to CNZ.bin
diff --git a/Levels/Misc/Object pointers - S3 Set.asm b/Levels/Misc/Object pointers - S3 Set.asm
index a59ad0d5..5d4dca29 100644
--- a/Levels/Misc/Object pointers - S3 Set.asm
+++ b/Levels/Misc/Object pointers - S3 Set.asm
@@ -7,16 +7,16 @@
dc.l Obj_AIZRideVine ; 6
dc.l Obj_Spring ; 7
dc.l Obj_Spikes ; 8
- dc.l Obj_09_1 ; 9
- dc.l Obj_0A_1 ; 10
+ dc.l Obj_AIZ1Tree ; 9
+ dc.l Obj_AIZ1ZiplinePeg ; 10
dc.l Obj_SphereTest ; 11
dc.l Obj_AIZGiantRideVine ; 12
dc.l Obj_BreakableWall ; 13
- dc.l Obj_0E ; 14
+ dc.l Obj_TwistedRamp ; 14
dc.l Obj_CollapsingBridge ; 15
dc.l Obj_LBZTubeElevator ; 16
dc.l Obj_LBZMovingPlatform ; 17
- dc.l Obj_12_1 ; 18
+ dc.l Obj_LBZUnusedElevator ; 18
dc.l Obj_LBZExplodingTrigger ; 19
dc.l Obj_LBZTriggerBridge ; 20
dc.l Obj_LBZPlayerLauncher ; 21
@@ -24,21 +24,21 @@
dc.l Obj_LBZRideGrapple ; 23
dc.l Obj_LBZCupElevator ; 24
dc.l Obj_LBZCupElevatorPole ; 25
- dc.l Obj_1A_1 ; 26
+ dc.l Obj_LBZUnusedTiltingBridge ; 26
dc.l Obj_LBZPipePlug ; 27
- dc.l Obj_1C_1 ; 28
- dc.l Obj_1D_1 ; 29
+ dc.l Obj_LBZUnusedSolidHurt ; 28
+ dc.l Obj_LBZUnusedBarPlatform ; 29
dc.l Obj_LBZSpinLauncher ; 30
dc.l Obj_LBZLoweringGrapple ; 31
dc.l Obj_MGZLBZSmashingPillar ; 32
dc.l Obj_LBZGateLaser ; 33
- dc.l Obj_22_1 ; 34
- dc.l Obj_23_1 ; 35
+ dc.l Obj_LBZAlarm ; 34
+ dc.l Obj_LBZUnusedForceFall ; 35
dc.l Obj_AutomaticTunnel ; 36
dc.l Obj_Ring ; 37
- dc.l Obj_26 ; 38
- dc.l Obj_27 ; 39
- dc.l Obj_28_Invisible_Barrier ; 40
+ dc.l Obj_AutoSpin ; 38
+ dc.l Obj_S2LavaMarker ; 39
+ dc.l Obj_InvisibleBlock ; 40
dc.l Obj_AIZDisappearingFloor ; 41
dc.l Obj_CorkFloor ; 42
dc.l Obj_AIZFlippingBridge ; 43
@@ -47,13 +47,13 @@
dc.l Obj_AIZSpikedLog ; 46
dc.l Obj_StillSprite ; 47
dc.l Obj_AnimatedStillSprite ; 48
- dc.l Obj_31_1 ; 49
+ dc.l Obj_LBZRollingDrum ; 49
dc.l Obj_AIZDrawBridge ; 50
dc.l Obj_Button ; 51
dc.l Obj_StarPost ; 52
dc.l Obj_AIZForegroundPlant ; 53
- dc.l Obj_BreakableBar ; 54
- dc.l Obj_37_1 ; 55
+ dc.l Obj_HCZBreakableBar ; 54
+ dc.l Obj_HCZWaterRush ; 55
dc.l Obj_HCZCGZFan ; 56
dc.l Obj_HCZLargeFan ; 57
dc.l Obj_HCZHandLauncher ; 58
@@ -70,15 +70,15 @@
dc.l Obj_CNZLightBulb ; 69
dc.l Obj_CNZHoverFan ; 70
dc.l Obj_CNZCylinder ; 71
- dc.l Obj_48_1 ; 72
- dc.l Obj_49_1 ; 73
+ dc.l Obj_CNZVacuumTube ; 72
+ dc.l Obj_CNZGiantWheel ; 73
dc.l Obj_Bumper ; 74
- dc.l Obj_4B_1 ; 75
- dc.l Obj_4C_1 ; 76
+ dc.l Obj_CNZTriangleBumpers ; 75
+ dc.l Obj_CNZSpiralTube ; 76
dc.l Obj_CNZBarberPoleSprite ; 77
- dc.l Obj_4E_1 ; 78
- dc.l Obj_4F_1 ; 79
- dc.l Obj_50_1 ; 80
+ dc.l Obj_CNZWireCage ; 78
+ dc.l Obj_SinkingMud ; 79
+ dc.l Obj_MGZTwistingLoop ; 80
dc.l Obj_FloatingPlatform ; 81
dc.l Obj_MGZLBZSmashingPillar ; 82
dc.l Obj_MGZSwingingPlatform ; 83
@@ -91,7 +91,7 @@
dc.l Obj_MGZPulley ; 90
dc.l Obj_MGZTopPlatform ; 91
dc.l Obj_MGZTopLauncher ; 92
- dc.l Obj_5D_1 ; 93
+ dc.l Obj_CGZTriangleBumpers ; 93
dc.l Obj_CGZBladePlatform ; 94
dc.l Obj_2PRetractingSpring ; 95
dc.l Obj_BPZElephantBlock ; 96
@@ -103,7 +103,7 @@
dc.l Obj_EMZDripper ; 102
dc.l Obj_HCZSnakeBlocks ; 103
dc.l Obj_HCZSpinningColumn ; 104
- dc.l Obj_69_1 ; 105
+ dc.l Obj_HCZTwistingLoop ; 105
dc.l Obj_InvisibleHurtBlockHorizontal ; 106
dc.l Obj_InvisibleHurtBlockVertical ; 107
dc.l Obj_TensionBridge ; 108
@@ -126,22 +126,22 @@
dc.l Obj_Ring ; 125
dc.l Obj_Ring ; 126
dc.l Obj_Ring ; 127
- dc.l Obj_AIZ_Miniboss_Cutscene ; 128
- dc.l Obj_Tulipon ; 129
- dc.l Obj_RhinoBot ; 130
+ dc.l Obj_AIZMinibossCutscene ; 128
+ dc.l Obj_Bloominator ; 129
+ dc.l Obj_Rhinobot ; 130
dc.l Obj_MonkeyDude ; 131
dc.l Delete_Current_Sprite ; 132
dc.l Obj_LBZMiniboss ; 133
- dc.l Obj_LBZ_FinalBoss1 ; 134
+ dc.l Obj_LBZFinalBoss1 ; 134
dc.l Obj_SnaleBlaster ; 135
dc.l Obj_Ribot ; 136
dc.l Obj_Orbinaut ; 137
dc.l Obj_Corkey ; 138
dc.l Obj_Flybot767 ; 139
- dc.l Obj_LBZ_EndBoss ; 140
+ dc.l Obj_LBZEndBoss ; 140
dc.l Obj_CNZEndBoss ; 141
dc.l Obj_CNZMiniboss ; 142
- dc.l Obj_AA_1_FBZ1_Boss ; 143
+ dc.l Obj_FBZMiniboss ; 143
dc.l Delete_Current_Sprite ; 144
dc.l Delete_Current_Sprite ; 145
dc.l Delete_Current_Sprite ; 146
@@ -155,33 +155,33 @@
dc.l Obj_Blastoid ; 154
dc.l Obj_Buggernaut ; 155
dc.l Obj_TurboSpiker ; 156
- dc.l Obj_MegaChomper ; 157
+ dc.l Obj_MegaChopper ; 157
dc.l Obj_Poindexter ; 158
dc.l Obj_CaterKillerJr ; 159
dc.l Obj_Clamer ; 160
- dc.l Obj_CNZBlastoid ; 161
+ dc.l Obj_Sparkle ; 161
dc.l Obj_Batbot ; 162
dc.l Obj_BubblesBadnik ; 163
- dc.l Obj_MGZMiniBoss ; 164
+ dc.l Obj_Tunnelbot ; 164
dc.l Obj_Spiker ; 165
dc.l Obj_Mantis ; 166
dc.l Obj_Blaster ; 167
dc.l Obj_TechnoSqueek ; 168
- dc.l Obj_AIZ_EndBoss ; 169
+ dc.l Obj_AIZEndBoss ; 169
dc.l Obj_Penguinator ; 170
dc.l Obj_StarPointer ; 171
- dc.l Obj_AIZ_Miniboss ; 172
+ dc.l Obj_AIZMiniboss ; 172
dc.l Obj_HCZMiniboss ; 173
- dc.l Obj_C3_1 ; 174
- dc.l Obj_MGZ2DrillingEggman ; 175
- dc.l Obj_A1_1_MGZ2_Boss ; 176
- dc.l Obj_A2_1 ; 177
+ dc.l Obj_LBZ1Robotnik ; 174
+ dc.l Obj_MGZ2DrillingRobotnik ; 175
+ dc.l Obj_MGZEndBoss ; 176
+ dc.l Obj_MGZEndBossKnux ; 177
dc.l Obj_ICZEndBoss ; 178
dc.l Obj_ICZMiniboss ; 179
dc.l Obj_FBZEndBoss ; 180
dc.l Obj_HCZEndBoss ; 181
- dc.l Obj_AB_1_FBZ_Laser_Boss ; 182
- dc.l Obj_C6_1 ; 183
+ dc.l Obj_FBZ2Subboss ; 182
+ dc.l Obj_LBZ2RobotnikShip ; 183
dc.l Obj_ICZCrushingColumn ; 184
dc.l Obj_ICZPathFollowPlatform ; 185
dc.l Obj_ICZBreakableWall ; 186
@@ -192,21 +192,21 @@
dc.l Obj_ICZIceCube ; 191
dc.l Obj_ICZIceSpikes ; 192
dc.l Obj_ICZHarmfulIce ; 193
- dc.l Obj_ICZ_SnowPile ; 194
- dc.l Obj_ICZ_TensionPlatform ; 195
- dc.l Obj_9F_1 ; 196
+ dc.l Obj_ICZSnowPile ; 194
+ dc.l Obj_ICZTensionPlatform ; 195
+ dc.l Obj_MGZMiniboss ; 196
dc.l Obj_HiddenMonitor ; 197
- dc.l Obj_81 ; 198
+ dc.l Obj_EggCapsule ; 198
dc.l Obj_CutsceneKnuckles ; 199
- dc.l Obj_BB_1 ; 200
- dc.l Obj_83 ; 201
+ dc.l Obj_ICZIceBlock ; 200
+ dc.l Obj_CutsceneButton ; 201
dc.l Obj_AIZPlaneIntro ; 202
dc.l Obj_SSEntryRing ; 203
- dc.l Obj_C4_1 ; 204
- dc.l Obj_FleeingRobotnik_Unused ; 205
- dc.l Obj_86 ; 206
- dc.l Obj_87 ; 207
- dc.l Obj_LBZ_FinalBoss2 ; 208
- dc.l Obj_88 ; 209
- dc.l Obj_89 ; 210
- dc.l Obj_C8_1 ; 211
+ dc.l Obj_LBZMinibossBox ; 204
+ dc.l Obj_LBZ2UnusedRobotnik ; 205
+ dc.l Obj_GumballMachine ; 206
+ dc.l Obj_GumballTriangleBumper ; 207
+ dc.l Obj_LBZFinalBoss2 ; 208
+ dc.l Obj_CNZWaterLevelCorkFloor ; 209
+ dc.l Obj_CNZWaterLevelButton ; 210
+ dc.l Obj_LBZKnuxPillar ; 211
diff --git a/Levels/Misc/Object pointers - SK Set 1.asm b/Levels/Misc/Object pointers - SK Set 1.asm
index f43303a0..dc070086 100644
--- a/Levels/Misc/Object pointers - SK Set 1.asm
+++ b/Levels/Misc/Object pointers - SK Set 1.asm
@@ -7,16 +7,16 @@
dc.l Obj_AIZRideVine ; 6
dc.l Obj_Spring ; 7
dc.l Obj_Spikes ; 8
- dc.l Obj_09_1 ; 9
- dc.l Obj_0A_1 ; 10
+ dc.l Obj_AIZ1Tree ; 9
+ dc.l Obj_AIZ1ZiplinePeg ; 10
dc.l Obj_Ring ; 11
dc.l Obj_AIZGiantRideVine ; 12
dc.l Obj_BreakableWall ; 13
- dc.l Obj_0E ; 14
+ dc.l Obj_TwistedRamp ; 14
dc.l Obj_CollapsingBridge ; 15
dc.l Obj_LBZTubeElevator ; 16
dc.l Obj_LBZMovingPlatform ; 17
- dc.l Obj_12_1 ; 18
+ dc.l Obj_LBZUnusedElevator ; 18
dc.l Obj_LBZExplodingTrigger ; 19
dc.l Obj_LBZTriggerBridge ; 20
dc.l Obj_LBZPlayerLauncher ; 21
@@ -24,21 +24,21 @@
dc.l Obj_LBZRideGrapple ; 23
dc.l Obj_LBZCupElevator ; 24
dc.l Obj_LBZCupElevatorPole ; 25
- dc.l Obj_1A_1 ; 26
+ dc.l Obj_LBZUnusedTiltingBridge ; 26
dc.l Obj_LBZPipePlug ; 27
dc.l Obj_Ring ; 28
- dc.l Obj_1D_1 ; 29
+ dc.l Obj_LBZUnusedBarPlatform ; 29
dc.l Obj_LBZSpinLauncher ; 30
dc.l Obj_LBZLoweringGrapple ; 31
dc.l Obj_MGZLBZSmashingPillar ; 32
dc.l Obj_LBZGateLaser ; 33
- dc.l Obj_22_1 ; 34
- dc.l Obj_23_1 ; 35
+ dc.l Obj_LBZAlarm ; 34
+ dc.l Obj_LBZUnusedForceFall ; 35
dc.l Obj_AutomaticTunnel ; 36
dc.l Obj_Ring ; 37
- dc.l Obj_26 ; 38
- dc.l Obj_27 ; 39
- dc.l Obj_28_Invisible_Barrier ; 40
+ dc.l Obj_AutoSpin ; 38
+ dc.l Obj_S2LavaMarker ; 39
+ dc.l Obj_InvisibleBlock ; 40
dc.l Obj_AIZDisappearingFloor ; 41
dc.l Obj_CorkFloor ; 42
dc.l Obj_AIZFlippingBridge ; 43
@@ -47,13 +47,13 @@
dc.l Obj_AIZSpikedLog ; 46
dc.l Obj_StillSprite ; 47
dc.l Obj_AnimatedStillSprite ; 48
- dc.l Obj_31_1 ; 49
+ dc.l Obj_LBZRollingDrum ; 49
dc.l Obj_AIZDrawBridge ; 50
dc.l Obj_Button ; 51
dc.l Obj_StarPost ; 52
dc.l Obj_AIZForegroundPlant ; 53
- dc.l Obj_BreakableBar ; 54
- dc.l Obj_37_1 ; 55
+ dc.l Obj_HCZBreakableBar ; 54
+ dc.l Obj_HCZWaterRush ; 55
dc.l Obj_HCZCGZFan ; 56
dc.l Obj_HCZLargeFan ; 57
dc.l Obj_HCZHandLauncher ; 58
@@ -70,15 +70,15 @@
dc.l Obj_CNZLightBulb ; 69
dc.l Obj_CNZHoverFan ; 70
dc.l Obj_CNZCylinder ; 71
- dc.l Obj_48_1 ; 72
- dc.l Obj_49_1 ; 73
+ dc.l Obj_CNZVacuumTube ; 72
+ dc.l Obj_CNZGiantWheel ; 73
dc.l Obj_Bumper ; 74
- dc.l Obj_4B_1 ; 75
- dc.l Obj_4C_1 ; 76
+ dc.l Obj_CNZTriangleBumpers ; 75
+ dc.l Obj_CNZSpiralTube ; 76
dc.l Obj_CNZBarberPoleSprite ; 77
- dc.l Obj_4E_1 ; 78
- dc.l Obj_4F_1 ; 79
- dc.l Obj_50_1 ; 80
+ dc.l Obj_CNZWireCage ; 78
+ dc.l Obj_SinkingMud ; 79
+ dc.l Obj_MGZTwistingLoop ; 80
dc.l Obj_FloatingPlatform ; 81
dc.l Obj_MGZLBZSmashingPillar ; 82
dc.l Obj_MGZSwingingPlatform ; 83
@@ -91,7 +91,7 @@
dc.l Obj_MGZPulley ; 90
dc.l Obj_MGZTopPlatform ; 91
dc.l Obj_MGZTopLauncher ; 92
- dc.l Obj_5D_1 ; 93
+ dc.l Obj_CGZTriangleBumpers ; 93
dc.l Obj_CGZBladePlatform ; 94
dc.l Obj_2PRetractingSpring ; 95
dc.l Obj_BPZElephantBlock ; 96
@@ -103,16 +103,16 @@
dc.l Obj_EMZDripper ; 102
dc.l Obj_HCZSnakeBlocks ; 103
dc.l Obj_HCZSpinningColumn ; 104
- dc.l Obj_69_1 ; 105
+ dc.l Obj_HCZTwistingLoop ; 105
dc.l Obj_InvisibleHurtBlockHorizontal ; 106
dc.l Obj_InvisibleHurtBlockVertical ; 107
dc.l Obj_TensionBridge ; 108
dc.l Obj_HCZWaterSplash ; 109
dc.l Obj_WaterDrop ; 110
- dc.l Obj_6F_1 ; 111
- dc.l Obj_70_1_FBZ_Twisting_Cylinders ; 112
+ dc.l Obj_FBZWireCage ; 111
+ dc.l Obj_FBZWireCageStationary ; 112
dc.l Obj_FBZFloatingPlatform ; 113
- dc.l Obj_FBZ_ChainLink ; 114
+ dc.l Obj_FBZChainLink ; 114
dc.l Obj_FBZMagneticSpikeBall ; 115
dc.l Obj_FBZMagneticPlatform ; 116
dc.l Obj_FBZSnakePlatform ; 117
@@ -121,55 +121,55 @@
dc.l Obj_FBZDEZPlayerLauncher ; 120
dc.l Obj_FBZDisappearingPlatform ; 121
dc.l Obj_FBZScrewDoor ; 122
- dc.l Obj_7B_1 ; 123
+ dc.l Obj_FBZSpinningPole ; 123
dc.l Obj_FBZPropeller ; 124
dc.l Obj_FBZPiston ; 125
dc.l Obj_FBZPlatformBlocks ; 126
dc.l Obj_FBZMissileLauncher ; 127
dc.l Obj_HiddenMonitor ; 128
- dc.l Obj_81 ; 129
+ dc.l Obj_EggCapsule ; 129
dc.l Obj_CutsceneKnuckles ; 130
- dc.l Obj_83 ; 131
+ dc.l Obj_CutsceneButton ; 131
dc.l Obj_AIZPlaneIntro ; 132
dc.l Obj_SSEntryRing ; 133
- dc.l Obj_86 ; 134
- dc.l Obj_87 ; 135
- dc.l Obj_88 ; 136
- dc.l Obj_89 ; 137
- dc.l Obj_8A ; 138
- dc.l Obj_8B ; 139
- dc.l Obj_Tulipon ; 140
- dc.l Obj_RhinoBot ; 141
+ dc.l Obj_GumballMachine ; 134
+ dc.l Obj_GumballTriangleBumper ; 135
+ dc.l Obj_CNZWaterLevelCorkFloor ; 136
+ dc.l Obj_CNZWaterLevelButton ; 137
+ dc.l Obj_FBZExitHall ; 138
+ dc.l Obj_SpriteMask ; 139
+ dc.l Obj_Bloominator ; 140
+ dc.l Obj_Rhinobot ; 141
dc.l Obj_MonkeyDude ; 142
dc.l Obj_CaterKillerJr ; 143
- dc.l Obj_AIZ_Miniboss_Cutscene ; 144
- dc.l Obj_AIZ_Miniboss ; 145
- dc.l Obj_AIZ_EndBoss ; 146
+ dc.l Obj_AIZMinibossCutscene ; 144
+ dc.l Obj_AIZMiniboss ; 145
+ dc.l Obj_AIZEndBoss ; 146
dc.l Obj_Jawz ; 147
dc.l Obj_Blastoid ; 148
dc.l Obj_Buggernaut ; 149
dc.l Obj_TurboSpiker ; 150
- dc.l Obj_MegaChomper ; 151
+ dc.l Obj_MegaChopper ; 151
dc.l Obj_Poindexter ; 152
dc.l Obj_HCZMiniboss ; 153
dc.l Obj_HCZEndBoss ; 154
dc.l Obj_BubblesBadnik ; 155
dc.l Obj_Spiker ; 156
dc.l Obj_Mantis ; 157
- dc.l Obj_MGZMiniBoss ; 158
- dc.l Obj_9F_1 ; 159
- dc.l Obj_MGZ2DrillingEggman ; 160
- dc.l Obj_A1_1_MGZ2_Boss ; 161
- dc.l Obj_A2_1 ; 162
+ dc.l Obj_Tunnelbot ; 158
+ dc.l Obj_MGZMiniboss ; 159
+ dc.l Obj_MGZ2DrillingRobotnik ; 160
+ dc.l Obj_MGZEndBoss ; 161
+ dc.l Obj_MGZEndBossKnux ; 162
dc.l Obj_Clamer ; 163
- dc.l Obj_CNZBlastoid ; 164
+ dc.l Obj_Sparkle ; 164
dc.l Obj_Batbot ; 165
dc.l Obj_CNZMiniboss ; 166
dc.l Obj_CNZEndBoss ; 167
dc.l Obj_Blaster ; 168
dc.l Obj_TechnoSqueek ; 169
- dc.l Obj_AA_1_FBZ1_Boss ; 170
- dc.l Obj_AB_1_FBZ_Laser_Boss ; 171
+ dc.l Obj_FBZMiniboss ; 170
+ dc.l Obj_FBZ2Subboss ; 171
dc.l Obj_FBZEndBoss ; 172
dc.l Obj_Penguinator ; 173
dc.l Obj_StarPointer ; 174
@@ -183,9 +183,9 @@
dc.l Obj_ICZIceCube ; 182
dc.l Obj_ICZIceSpikes ; 183
dc.l Obj_ICZHarmfulIce ; 184
- dc.l Obj_ICZ_SnowPile ; 185
- dc.l Obj_ICZ_TensionPlatform ; 186
- dc.l Obj_BB_1 ; 187
+ dc.l Obj_ICZSnowPile ; 185
+ dc.l Obj_ICZTensionPlatform ; 186
+ dc.l Obj_ICZIceBlock ; 187
dc.l Obj_ICZMiniboss ; 188
dc.l Obj_ICZEndBoss ; 189
dc.l Obj_SnaleBlaster ; 190
@@ -193,17 +193,17 @@
dc.l Obj_Orbinaut ; 192
dc.l Obj_Corkey ; 193
dc.l Obj_Flybot767 ; 194
- dc.l Obj_C3_1 ; 195
- dc.l Obj_C4_1 ; 196
- dc.l Obj_C5_1 ; 197
- dc.l Obj_C6_1 ; 198
+ dc.l Obj_LBZ1Robotnik ; 195
+ dc.l Obj_LBZMinibossBox ; 196
+ dc.l Obj_LBZMinibossBoxKnux ; 197
+ dc.l Obj_LBZ2RobotnikShip ; 198
dc.l Obj_Ring ; 199
- dc.l Obj_C8_1 ; 200
+ dc.l Obj_LBZKnuxPillar ; 200
dc.l Obj_LBZMiniboss ; 201
- dc.l Obj_LBZ_FinalBoss1 ; 202
- dc.l Obj_LBZ_EndBoss ; 203
- dc.l Obj_LBZ_FinalBoss2 ; 204
- dc.l Obj_CD_1_LBZ2_TallBoss ; 205
+ dc.l Obj_LBZFinalBoss1 ; 202
+ dc.l Obj_LBZEndBoss ; 203
+ dc.l Obj_LBZFinalBoss2 ; 204
+ dc.l Obj_LBZFinalBossKnux ; 205
dc.l Obj_FBZExitDoor ; 206
dc.l Obj_FBZEggPrison ; 207
dc.l Obj_FBZSpringPlunger ; 208
@@ -234,7 +234,7 @@
dc.l Obj_PachinkoInvisibleUnknown ; 233
dc.l Obj_Pachinko_Platform ; 234
dc.l Obj_GumballItem ; 235
- dc.l Obj_EC_1 ; 236
+ dc.l Obj_PachinkoMagnetOrb ; 236
dc.l Obj_PachinkoItemOrb ; 237
dc.l Obj_Ring ; 238
dc.l Obj_Ring ; 239
diff --git a/Levels/Misc/Object pointers - SK Set 2.asm b/Levels/Misc/Object pointers - SK Set 2.asm
index c8ea8ee4..a13ea130 100644
--- a/Levels/Misc/Object pointers - SK Set 2.asm
+++ b/Levels/Misc/Object pointers - SK Set 2.asm
@@ -1,7 +1,7 @@
dc.l Obj_Ring ; 0
dc.l Obj_Monitor ; 1
dc.l Obj_PathSwap ; 2
- dc.l Obj_03_2 ; 3
+ dc.l Obj_MHZTwistedVine ; 3
dc.l Obj_CollapsingPlatform ; 4
dc.l Obj_AIZLRZEMZRock ; 5
dc.l Obj_MHZPulleyLift ; 6
@@ -12,15 +12,15 @@
dc.l Obj_MHZSwingBarHorizontal ; 11
dc.l Obj_MHZSwingBarVertical ; 12
dc.l Obj_BreakableWall ; 13
- dc.l Obj_0E ; 14
+ dc.l Obj_TwistedRamp ; 14
dc.l Obj_CollapsingBridge ; 15
dc.l Obj_MHZSwingVine ; 16
dc.l Obj_MHZMushroomPlatform ; 17
dc.l Obj_MHZMushroomParachute ; 18
dc.l Obj_MHZMushroomCatapult ; 19
- dc.l Obj_14_2 ; 20
- dc.l Obj_15_2 ; 21
- dc.l Obj_16_2 ; 22
+ dc.l Obj_Updraft ; 20
+ dc.l Obj_LRZCorkscrew ; 21
+ dc.l Obj_LRZWallRide ; 22
dc.l Obj_LRZSinkingRock ; 23
dc.l Obj_LRZFallingSpike ; 24
dc.l Obj_LRZDoor ; 25
@@ -36,9 +36,9 @@
dc.l Obj_MHZMushroomCap ; 35
dc.l Obj_AutomaticTunnel ; 36
dc.l Obj_LRZChainedPlatforms ; 37
- dc.l Obj_26 ; 38
- dc.l Obj_27 ; 39
- dc.l Obj_28_Invisible_Barrier ; 40
+ dc.l Obj_AutoSpin ; 38
+ dc.l Obj_S2LavaMarker ; 39
+ dc.l Obj_InvisibleBlock ; 40
dc.l Obj_LRZFlameThrower ; 41
dc.l Obj_CorkFloor ; 42
dc.l Obj_LRZOrbitingSpikeBallHorizontal ; 43
@@ -52,12 +52,12 @@
dc.l Obj_Button ; 51
dc.l Obj_StarPost ; 52
dc.l Obj_AIZForegroundPlant ; 53
- dc.l Obj_BreakableBar ; 54
+ dc.l Obj_HCZBreakableBar ; 54
dc.l Obj_LRZSpikeBallLauncher ; 55
- dc.l Obj_38_2 ; 56
+ dc.l Obj_SOZQuicksand ; 56
dc.l Obj_SOZSpawningSandBlocks ; 57
- dc.l Obj_3A_2 ; 58
- dc.l Obj_3B_2 ; 59
+ dc.l Obj_SOZPathSwap ; 58
+ dc.l Obj_SOZLoopFallthrough ; 59
dc.l Obj_Door ; 60
dc.l Obj_RetractingSpring ; 61
dc.l Obj_SOZPushableRock ; 62
@@ -73,27 +73,27 @@
dc.l Obj_SOZRapelWire ; 72
dc.l Obj_SOZSolidSprites ; 73
dc.l Obj_DEZFloatingPlatform ; 74
- dc.l Obj_TiltingBridge ; 75
+ dc.l Obj_DEZTiltingBridge ; 75
dc.l Obj_DEZHangCarrier ; 76
dc.l Obj_DEZTorpedoLauncher ; 77
dc.l Obj_DEZLiftPad ; 78
dc.l Obj_DEZStaircase ; 79
- dc.l Obj_50_2 ; 80
+ dc.l Obj_DEZConveyorBelt ; 80
dc.l Obj_FloatingPlatform ; 81
dc.l Obj_DEZLightning ; 82
dc.l Obj_DEZConveyorPad ; 83
dc.l Obj_Bubbler ; 84
dc.l Obj_DEZEnergyBridge ; 85
- dc.l Obj_56_2 ; 86
+ dc.l Obj_DEZEnergyBridgeCurved ; 86
dc.l Obj_DEZTunnelLauncher ; 87
dc.l Obj_DEZGravitySwitch ; 88
- dc.l Obj_59_2 ; 89
- dc.l Obj_5A_2 ; 90
- dc.l Obj_5B_2 ; 91
- dc.l Obj_5C_2 ; 92
+ dc.l Obj_DEZTeleporter ; 89
+ dc.l Obj_DEZGravityTube ; 90
+ dc.l Obj_DEZGravitySwap ; 91
+ dc.l Obj_DEZGravityHub ; 92
dc.l Obj_DEZRetractingSpring ; 93
dc.l Obj_DEZHoverMachine ; 94
- dc.l Obj_5F_2 ; 95
+ dc.l Obj_DEZGravityRoom ; 95
dc.l Obj_DEZBumperWall ; 96
dc.l Obj_DEZGravityPuzzle ; 97
dc.l Obj_Ring ; 98
@@ -107,8 +107,8 @@
dc.l Obj_InvisibleHurtBlockHorizontal ; 106
dc.l Obj_InvisibleHurtBlockVertical ; 107
dc.l Obj_TensionBridge ; 108
- dc.l Obj_6D_2 ; 109
- dc.l Obj_6E_2 ; 110
+ dc.l Obj_InvisibleShockBlock ; 109
+ dc.l Obj_InvisibleLavaBlock ; 110
dc.l Obj_Ring ; 111
dc.l Obj_Ring ; 112
dc.l Obj_Ring ; 113
@@ -117,7 +117,7 @@
dc.l Obj_SSZRetractingSpring ; 116
dc.l Obj_SSZSwingingCarrier ; 117
dc.l Obj_SSZRotatingPlatform ; 118
- dc.l Obj_77_2 ; 119
+ dc.l Obj_SSZCutsceneBridge ; 119
dc.l Obj_FBZDEZPlayerLauncher ; 120
dc.l Obj_SSZHPZTeleporter ; 121
dc.l Obj_SSZElevatorBar ; 122
@@ -127,59 +127,59 @@
dc.l Obj_SSZCollapsingColumn ; 126
dc.l Obj_SSZFloatingPlatform ; 127
dc.l Obj_HiddenMonitor ; 128
- dc.l Obj_81 ; 129
+ dc.l Obj_EggCapsule ; 129
dc.l Obj_CutsceneKnuckles ; 130
- dc.l Obj_83 ; 131
+ dc.l Obj_CutsceneButton ; 131
dc.l Obj_AIZPlaneIntro ; 132
dc.l Obj_SSEntryRing ; 133
- dc.l Obj_86 ; 134
- dc.l Obj_87 ; 135
- dc.l Obj_88 ; 136
- dc.l Obj_89 ; 137
- dc.l Obj_8A ; 138
- dc.l Obj_8B ; 139
+ dc.l Obj_GumballMachine ; 134
+ dc.l Obj_GumballTriangleBumper ; 135
+ dc.l Obj_CNZWaterLevelCorkFloor ; 136
+ dc.l Obj_CNZWaterLevelButton ; 137
+ dc.l Obj_FBZExitHall ; 138
+ dc.l Obj_SpriteMask ; 139
dc.l Obj_Madmole ; 140
dc.l Obj_Mushmeanie ; 141
dc.l Obj_Dragonfly ; 142
dc.l Obj_Butterdroid ; 143
dc.l Obj_Cluckoid ; 144
- dc.l Obj_91_2 ; 145
- dc.l Obj_MHZ_Miniboss ; 146
- dc.l Obj_MHZ_EndBoss ; 147
+ dc.l Obj_MHZMinibossTree ; 145
+ dc.l Obj_MHZMiniboss ; 146
+ dc.l Obj_MHZEndBoss ; 147
dc.l Obj_Skorp ; 148
dc.l Obj_Sandworm ; 149
dc.l Obj_Rockn ; 150
- dc.l Obj_SOZ_Miniboss ; 151
- dc.l Obj_SOZ_EndBoss ; 152
+ dc.l Obj_SOZMiniboss ; 151
+ dc.l Obj_SOZEndBoss ; 152
dc.l Obj_Fireworm ; 153
- dc.l Obj_LRZExplodingRock ; 154
+ dc.l Obj_Iwamodoki ; 154
dc.l Obj_Toxomister ; 155
dc.l Obj_LRZRockCrusher ; 156
- dc.l Obj_LRZ_Miniboss ; 157
- dc.l Obj_9E_2 ; 158
+ dc.l Obj_LRZMiniboss ; 157
+ dc.l Obj_LRZ3Autoscroll ; 158
dc.l Obj_Ring ; 159
dc.l Obj_EggRobo ; 160
dc.l Obj_SSZGHZBoss ; 161
dc.l Obj_SSZMTZBoss ; 162
- dc.l Obj_A3_2 ; 163
+ dc.l Obj_SSZEndBoss ; 163
dc.l Obj_Spikebonker ; 164
dc.l Obj_Chainspike ; 165
- dc.l Obj_DEZ_Miniboss ; 166
- dc.l Obj_DEZ_EndBoss ; 167
- dc.l Obj_A8_2 ; 168
- dc.l Obj_A9_2 ; 169
- dc.l Obj_SOZ_Ghosts ; 170
- dc.l Obj_AB_2 ; 171
- dc.l Obj_AC_2_SOZ2_Ghost_Capsule ; 172
- dc.l Obj_AD_2 ; 173
- dc.l Obj_AE_2 ; 174
- dc.l Obj_AF_2 ; 175
- dc.l Obj_B0_2 ; 176
- dc.l Obj_B1_2 ; 177
- dc.l Obj_B2_2 ; 178
- dc.l Obj_B3_2 ; 179
- dc.l Obj_B4_2 ; 180
- dc.l Obj_B5_2 ; 181
- dc.l Obj_B6_2 ; 182
+ dc.l Obj_DEZMiniboss ; 166
+ dc.l Obj_DEZEndBoss ; 167
+ dc.l Obj_MHZ1CutsceneKnuckles ; 168
+ dc.l Obj_MHZ1CutsceneButton ; 169
+ dc.l Obj_SOZGhosts ; 170
+ dc.l Obj_SOZGhostCapsuleLoadArt ; 171
+ dc.l Obj_SOZGhostCapsule ; 172
+ dc.l Obj_LRZ3Platform ; 173
+ dc.l Obj_LRZ2CutsceneKnuckles ; 174
+ dc.l Obj_SSZCutsceneButton ; 175
+ dc.l Obj_HPZMasterEmerald ; 176
+ dc.l Obj_HPZPaletteControl ; 177
+ dc.l Obj_KnuxFinalBossCrane ; 178
+ dc.l Obj_StartNewLevel ; 179
+ dc.l Obj_HPZSuperEmerald ; 180
+ dc.l Obj_HPZSSEntryControl ; 181
+ dc.l Obj_DDZEndBoss ; 182
dc.l Obj_DDZAsteroid ; 183
dc.l Obj_DDZMissile ; 184
diff --git a/Levels/Misc/Palette pointers S3.asm b/Levels/Misc/Palette pointers S3.asm
index e5f17031..1224536b 100644
--- a/Levels/Misc/Palette pointers S3.asm
+++ b/Levels/Misc/Palette pointers S3.asm
@@ -1,12 +1,12 @@
; Palette pointers
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
- dc.l Pal_Unknown2
+ dc.l Pal_S2Title
dc.w Normal_palette_line_2&$FFFF
dc.w 7
- dc.l Pal_Unknown3
+ dc.l Pal_S2LevSel
dc.w Normal_palette&$FFFF
dc.w $1F
dc.l Pal_SonicTails
@@ -18,16 +18,16 @@
dc.l Pal_Knuckles
dc.w Normal_palette_line_2&$FFFF
dc.w 7
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
dc.l Pal_AIZIntro
diff --git a/Levels/Misc/Palette pointers.asm b/Levels/Misc/Palette pointers.asm
index f83fc4c6..ca639f6b 100644
--- a/Levels/Misc/Palette pointers.asm
+++ b/Levels/Misc/Palette pointers.asm
@@ -1,12 +1,12 @@
; Palette pointers
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
- dc.l Pal_Unknown2
+ dc.l Pal_S2Title
dc.w Normal_palette_line_2&$FFFF
dc.w 7
- dc.l Pal_Unknown3
+ dc.l Pal_S2LevSel
dc.w Normal_palette&$FFFF
dc.w $1F
dc.l Pal_SonicTails
@@ -18,16 +18,16 @@
dc.l Pal_Knuckles
dc.w Normal_palette&$FFFF
dc.w 7
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
- dc.l Pal_Unknown1
+ dc.l Pal_S2Sega
dc.w Normal_palette&$FFFF
dc.w $1F
dc.l Pal_AIZIntro
diff --git a/Lockon S3/LockOn Data.asm b/Lockon S3/LockOn Data.asm
index 70abaf58..8a6f7b6d 100644
--- a/Lockon S3/LockOn Data.asm
+++ b/Lockon S3/LockOn Data.asm
@@ -1,5 +1,6 @@
-LockOnROM_Start: binclude "Lockon S3/Header.bin"
- even
+LockOnROM_Start:
+ binclude "Lockon S3/Header.bin"
+ even
SSMagic_TestLoc_200114 EQU LockOnROM_Start+$114
SSMagic_TestLoc_20011A EQU LockOnROM_Start+$11A
@@ -8,1110 +9,1441 @@ SSMagic_TestLoc_200150 EQU LockOnROM_Start+$150
LockonSerialNumber EQU LockOnROM_Start+$180
SSMagic_TestLoc_2001A4 EQU LockOnROM_Start+$1A4
-Pal_Competition1: binclude "General/Competition Menu/Palettes/1.bin"
- even
-Map_CompetitionObject: include "General/Competition Menu/Map - Competition Objects.asm"
+Pal_Competition1:
+ binclude "General/Competition Menu/Palettes/1.bin"
+ even
+Map_CompetitionObject:
+ include "General/Competition Menu/Map - Competition Objects.asm"
+
+MapUnc_CompetitionNumbers:
+ binclude "General/Competition Menu/Uncompressed Map/Numbers.bin"
+ even
+Pal_Competition2:
+ binclude "General/Competition Menu/Palettes/2.bin"
+ even
+Pal_Competition3:
+ binclude "General/Competition Menu/Palettes/3.bin"
+ even
+Pal_Competition4:
+ binclude "General/Competition Menu/Palettes/4.bin"
+ even
+Map_CompetitionSelect:
+ include "General/Competition Menu/Map - Competition Select.asm"
+
+Pal_CompetitionResults:
+ binclude "General/Competition Menu/Palettes/Results.bin"
+ even
+MapEni_CompetitionResultsLED:
+ binclude "General/Competition Menu/Enigma Map/Menu.bin"
+ even
+MapUnc_CompetitionResultsLetters:
+ binclude "General/Competition Menu/Uncompressed Map/Results Letters.bin"
+ even
+MapUnc_CompetitionResultsDividers:
+ binclude "General/Competition Menu/Uncompressed Map/Results Dividers.bin"
+ even
+MapUnc_CompetitionResultsTOTAL:
+ binclude "General/Competition Menu/Uncompressed Map/Results TOTAL.bin"
+ even
+MapUnc_ResultsWin:
+ binclude "General/Competition Menu/Uncompressed Map/Results Win.bin"
+ even
+MapUnc_ResultsLose:
+ binclude "General/Competition Menu/Uncompressed Map/Results Lose.bin"
+ even
+MapUnc_ResultsTie:
+ binclude "General/Competition Menu/Uncompressed Map/Results Tie.bin"
+ even
+Pal_CompetitionTimeAttack:
+ binclude "General/Competition Menu/Palettes/Time Attack.bin"
+ even
+MapUnc_CompetitionLAPNum:
+ binclude "General/Competition Menu/Uncompressed Map/LAP.bin"
+ even
+MapUnc_CompetitionRECORDS:
+ binclude "General/Competition Menu/Uncompressed Map/RECORDS.bin"
+ even
+MapUnc_Competition1st2nd3rd:
+ binclude "General/Competition Menu/Uncompressed Map/1ST 2ND 3RD.bin"
+ even
+MapUnc_CompetitionAZURELAKE:
+ binclude "General/Competition Menu/Uncompressed Map/AZURE LAKE.bin"
+ even
+MapUnc_CompetitionBALLOONPARK:
+ binclude "General/Competition Menu/Uncompressed Map/BALLOON PARK.bin"
+ even
+MapUnc_CompetitionCHROMEGADGET:
+ binclude "General/Competition Menu/Uncompressed Map/CHROME GADGET.bin"
+ even
+MapUnc_CompetitionDESERTPALACE:
+ binclude "General/Competition Menu/Uncompressed Map/DESERT PALACE.bin"
+ even
+MapUnc_CompetitionENDLESSMINE:
+ binclude "General/Competition Menu/Uncompressed Map/ENDLESS MINE.bin"
+ even
+ArtKos_SaveScreenS3Zone:
+ binclude "General/Save Menu/Kosinski Art/Zone Art.bin"
+ even
+Map_AIZ1Tree:
+ include "Levels/AIZ/Misc Object Data/Map - Act 1 Tree.asm"
+Map_AIZ1ZiplinePeg:
+ include "Levels/AIZ/Misc Object Data/Map - Act 1 Zipline Peg.asm"
+Map_HCZBreakableBar:
+ include "Levels/HCZ/Misc Object Data/Map - Breakable Bar.asm"
+Map_HCZBlock:
+ include "Levels/HCZ/Misc Object Data/Map - Block.asm"
+Map_AIZRock:
+ include "Levels/AIZ/Misc Object Data/Map - Rock.asm"
+Map_AIZRock2:
+ include "Levels/AIZ/Misc Object Data/Map - Rock 2.asm"
+Map_EMZRock:
+ include "Levels/EMZ/Misc Object Data/Map - Rock.asm"
+Map_AIZCollapsingPlatform:
+ include "Levels/AIZ/Misc Object Data/Map - Collapsing Platform.asm"
+Map_AIZCollapsingPlatform2:
+ include "Levels/AIZ/Misc Object Data/Map - Collapsing Platform 2.asm"
+Map_LBZCollapsingBridge:
+ include "Levels/LBZ/Misc Object Data/Map - Collapsing Bridge.asm"
+Map_LBZCollapsingLedge:
+ include "Levels/LBZ/Misc Object Data/Map - Collapsing Ledge.asm"
+Map_HCZCollapsingBridge:
+ include "Levels/HCZ/Misc Object Data/Map - Collapsing Bridge.asm"
+Map_MGZCollapsingBridge:
+ include "Levels/MGZ/Misc Object Data/Map - Collapsing Bridge.asm"
+Map_ICZCollapsingBridge:
+ include "Levels/ICZ/Misc Object Data/Map - Collapsing Bridge.asm"
+Map_AIZBreakableWall:
+ include "Levels/AIZ/Misc Object Data/Map - Breakable Wall.asm"
+Map_MGZBreakableWall:
+ include "Levels/MGZ/Misc Object Data/Map - Breakable Wall.asm"
+Map_HCZBreakableWall:
+ include "Levels/HCZ/Misc Object Data/Map - Breakable Wall.asm"
+Map_LBZBreakableWall:
+ include "Levels/LBZ/Misc Object Data/Map - Breakable Wall.asm"
+Map_AIZIntroWaves:
+ include "Levels/AIZ/Misc Object Data/Map - Intro Waves.asm"
+Map_LBZUnusedElevator:
+ include "Levels/LBZ/Misc Object Data/Map - Unused Elevator.asm"
+Map_LBZExplodingTrigger:
+ include "Levels/LBZ/Misc Object Data/Map - Exploding Trigger.asm"
+Map_MGZDashTrigger:
+ include "Levels/MGZ/Misc Object Data/Map - Dash Trigger.asm"
+Map_LBZTriggerBridge:
+ include "Levels/LBZ/Misc Object Data/Map - Trigger Bridge.asm"
+Map_LBZPlayerLauncher:
+ include "Levels/LBZ/Misc Object Data/Map - Player Launcher.asm"
+Map_LBZFlameThrower:
+ include "Levels/LBZ/Misc Object Data/Map - Flame Thrower.asm"
+Map_LBZCupElevator:
+ include "Levels/LBZ/Misc Object Data/Map - Cup Elevator.asm"
+Map_LBZUnusedTiltingBridge:
+ include "Levels/LBZ/Misc Object Data/Map - Unused Tilting Bridge.asm"
+Map_LBZPipePlug:
+ include "Levels/LBZ/Misc Object Data/Map - PipePlug.asm"
+Map_LBZSpinLauncher:
+ include "Levels/LBZ/Misc Object Data/Map - Spin Launcher.asm"
+Map_LBZLoweringGrapple:
+ include "Levels/LBZ/Misc Object Data/Map - Lowering Grapple.asm"
+Map_LBZSmashingSpikes:
+ include "Levels/LBZ/Misc Object Data/Map - Smashing Spikes.asm"
+Map_MGZSmashingPillar:
+ include "Levels/MGZ/Misc Object Data/Map - Smashing Pillar.asm"
+Map_LBZGateLaser:
+ include "Levels/LBZ/Misc Object Data/Map - Gate Laser.asm"
+Map_LBZTubeElevator:
+ include "Levels/LBZ/Misc Object Data/Map - Tube Elevator.asm"
+Map_AIZDisappearingFloor:
+ include "Levels/AIZ/Misc Object Data/Map - Disappearing Floor.asm"
+Map_AIZCorkFloor:
+ include "Levels/AIZ/Misc Object Data/Map - Cork Floor.asm"
+Map_AIZCorkFloor2:
+ include "Levels/AIZ/Misc Object Data/Map - Cork Floor 2.asm"
+Map_CNZCorkFloor:
+ include "Levels/CNZ/Misc Object Data/Map - Cork Floor.asm"
+Map_ICZCorkFloor:
+ include "Levels/ICZ/Misc Object Data/Map - Cork Floor.asm"
+Map_LBZCorkFloor:
+ include "Levels/LBZ/Misc Object Data/Map - Cork Floor.asm"
+Map_AIZFlippingBridge:
+ include "Levels/AIZ/Misc Object Data/Map - Flipping Bridge.asm"
+Map_AIZFallingLog2:
+ include "Levels/AIZ/Misc Object Data/Map - Falling Log 2.asm"
+Map_AIZFallingLog:
+ include "Levels/AIZ/Misc Object Data/Map - Falling Log.asm"
+Map_AIZFallingLogSplash2:
+ include "Levels/AIZ/Misc Object Data/Map - Falling Log Splash 2.asm"
+Map_AIZFallingLogSplash:
+ include "Levels/AIZ/Misc Object Data/Map - Falling Log Splash.asm"
+Map_AIZSpikedLog:
+ include "Levels/AIZ/Misc Object Data/Map - Spiked Log.asm"
+Map_AIZForegroundPlant:
+ include "Levels/AIZ/Misc Object Data/Map - Foreground Plant.asm"
+Map_Button2:
+ include "General/Sprites/Buttons/Map - Button 2.asm"
+Map_CNZButton:
+ include "Levels/CNZ/Misc Object Data/Map - Button.asm"
+Map_2PButton:
+ include "General/2P Zone/Map - 2P Button.asm"
+Map_HCZWaterRush:
+ include "Levels/HCZ/Misc Object Data/Map - Water Rush.asm"
+Map_HCZWaterRushBlock:
+ include "Levels/HCZ/Misc Object Data/Map - Water Rush Block.asm"
+Map_HCZWaterWall:
+ include "Levels/HCZ/Misc Object Data/Map - Waterfall.asm"
+Map_HCZWaterWallDebris:
+ include "Levels/HCZ/Misc Object Data/Map - Water Wall Debris.asm"
+Map_HCZFan:
+ include "Levels/HCZ/Misc Object Data/Map - Fan.asm"
+Map_HCZLargeFan:
+ include "Levels/HCZ/Misc Object Data/Map - Large Fan.asm"
+Map_CGZFan:
+ include "Levels/CGZ/Misc Object Data/Map - Fan.asm"
+Map_HCZHandLauncher:
+ include "Levels/HCZ/Misc Object Data/Map - Hand Launcher.asm"
+Map_HCZConveyorSpike:
+ include "Levels/HCZ/Misc Object Data/Map - Conveyor Spike.asm"
+Map_CNZBalloon:
+ include "Levels/CNZ/Misc Object Data/Map - Balloon.asm"
+Map_CNZCannon:
+ include "General/Sprites/CNZ Cannon/Map - CNZ Cannon.asm"
+Map_CNZRisingPlatform:
+ include "Levels/CNZ/Misc Object Data/Map - Rising Platform.asm"
+Map_CNZTrapDoor:
+ include "Levels/CNZ/Misc Object Data/Map - Trap Door.asm"
+Map_CNZLightBulb:
+ include "Levels/CNZ/Misc Object Data/Map - Light Bulb.asm"
+Map_CNZHoverFan:
+ include "Levels/CNZ/Misc Object Data/Map - Hover Fan.asm"
+Map_CNZCylinder:
+ include "Levels/CNZ/Misc Object Data/Map - Cylinder.asm"
+Map_HCZSpinningColumn:
+ include "Levels/HCZ/Misc Object Data/Map - Spinning Column.asm"
+Map_Bumper:
+ include "General/Sprites/Level Misc/Map - Bumper.asm"
+Map_2PBumper:
+ include "General/2P Zone/Map - 2P Bumper.asm"
+Map_MGZSwingingPlatform:
+ include "Levels/MGZ/Misc Object Data/Map - Swinging Platform.asm"
+Map_MGZSwingingSpikeBall:
+ include "Levels/MGZ/Misc Object Data/Map - Swinging Spike Ball.asm"
+Map_MGZHeadTrigger:
+ include "Levels/MGZ/Misc Object Data/Map - Head Trigger.asm"
+Map_MGZTriggerPlatform:
+ include "Levels/MGZ/Misc Object Data/Map - Trigger Platform.asm"
+Map_MGZMovingSpikePlatform:
+ include "Levels/MGZ/Misc Object Data/Map - Moving Spike Platform.asm"
+Map_MGZPulley:
+ include "Levels/MGZ/Misc Object Data/Map - Pulley.asm"
+Map_HCZWaterDrop:
+ include "Levels/HCZ/Misc Object Data/Map - Water Drop.asm"
+Map_HCZWaterSplash:
+ include "Levels/HCZ/Misc Object Data/Map - Water Splash.asm"
+Map_HCZWaterSplash2:
+ include "Levels/HCZ/Misc Object Data/Map - Water Splash 2.asm"
+
+ include "Lockon S3/Screen Events.asm"
+Map_S3EndingGraphics:
+ include "General/Ending/Map - S3 Ending Graphics.asm"
+ArtNem_S3EndingGraphics:
+ binclude "General/Ending/Nemesis Art/S3 Ending Graphics.bin"
+ even
+SStageLayoutPtrs:
+ dc.l SStage1_Layout
+ dc.l SStage2_Layout
+ dc.l SStage3_Layout
+ dc.l SStage4_Layout
+ dc.l SStage5_Layout
+ dc.l SStage6_Layout
+ dc.l SStage7_Layout
+ dc.l SStage8_Layout
+SStage1_Layout: binclude "General/Special Stage/Layout/S3 1.bin"
+ even
+SStage2_Layout: binclude "General/Special Stage/Layout/S3 2.bin"
+ even
+SStage3_Layout: binclude "General/Special Stage/Layout/S3 3.bin"
+ even
+SStage4_Layout: binclude "General/Special Stage/Layout/S3 4.bin"
+ even
+SStage5_Layout: binclude "General/Special Stage/Layout/S3 5.bin"
+ even
+SStage6_Layout: binclude "General/Special Stage/Layout/S3 6.bin"
+ even
+SStage7_Layout: binclude "General/Special Stage/Layout/S3 7.bin"
+ even
+SStage8_Layout: binclude "General/Special Stage/Layout/S3 8.bin"
+ even
+HCZ_WaterlineScroll_Data:
+ binclude "Levels/HCZ/Misc/HCZ Waterline Scroll Data.bin"
+ even
+LBZ_WaterlineScroll_Data:
+ binclude "Levels/LBZ/Misc/LBZ Waterline Scroll Data.bin"
+ even
+Solid_AIZ1: binclude "Levels/AIZ/Collision/1.bin"
+ even
+Solid_AIZ2: binclude "Levels/AIZ/Collision/2.bin"
+ even
+Solid_HCZ1: binclude "Levels/HCZ/Collision/1.bin"
+ even
+Solid_HCZ2: binclude "Levels/HCZ/Collision/2.bin"
+ even
+Solid_MGZ1: binclude "Levels/MGZ/Collision/1.bin"
+ even
+Solid_MGZ2: binclude "Levels/MGZ/Collision/2.bin"
+ even
+Solid_CNZ: binclude "Levels/CNZ/Collision/1.bin"
+ even
+Solid_ICZ1: binclude "Levels/ICZ/Collision/1.bin"
+ even
+Solid_ICZ2: binclude "Levels/ICZ/Collision/2.bin"
+ even
+Solid_LBZ1: binclude "Levels/LBZ/Collision/1.bin"
+ even
+Solid_LBZ2: binclude "Levels/LBZ/Collision/2.bin"
+ even
+Solid_ALZ: binclude "Levels/ALZ/Collision/1.bin"
+ even
+Solid_BPZ: binclude "Levels/BPZ/Collision/1.bin"
+ even
+Solid_DPZ: binclude "Levels/DPZ/Collision/1.bin"
+ even
+Solid_CGZ: binclude "Levels/CGZ/Collision/1.bin"
+ even
+Solid_EMZ: binclude "Levels/EMZ/Collision/1.bin"
+ even
+Solid_Gumball_Special:
+ binclude "Levels/Gumball/Collision/1.bin"
+ even
+Layout_AIZ1: binclude "Levels/AIZ/Layout/1.bin"
+ even
+Layout_AIZ2: binclude "Levels/AIZ/Layout/2.bin"
+ even
+Layout_HCZ1: binclude "Levels/HCZ/Layout/1.bin"
+ even
+Layout_HCZ2: binclude "Levels/HCZ/Layout/2.bin"
+ even
+Layout_MGZ1: binclude "Levels/MGZ/Layout/1.bin"
+ even
+Layout_MGZ2: binclude "Levels/MGZ/Layout/2.bin"
+ even
+Layout_CNZ1: binclude "Levels/CNZ/Layout/1.bin"
+ even
+Layout_CNZ2: binclude "Levels/CNZ/Layout/2.bin"
+ even
+Layout_ICZ1: binclude "Levels/ICZ/Layout/1.bin"
+ even
+Layout_ICZ2: binclude "Levels/ICZ/Layout/2.bin"
+ even
+Layout_LBZ1: binclude "Levels/LBZ/Layout/1.bin"
+ even
+Layout_LBZ2: binclude "Levels/LBZ/Layout/2.bin"
+ even
+Layout_ALZ: binclude "Levels/ALZ/Layout/1.bin"
+ even
+Layout_BPZ: binclude "Levels/BPZ/Layout/1.bin"
+ even
+Layout_DPZ: binclude "Levels/DPZ/Layout/1.bin"
+ even
+Layout_CGZ: binclude "Levels/CGZ/Layout/1.bin"
+ even
+Layout_EMZ: binclude "Levels/EMZ/Layout/1.bin"
+ even
+Layout_Gumball_Special:
+ binclude "Levels/Gumball/Layout/1.bin"
+ even
+ArtUnc_CNZCannon:
+ binclude "General/Sprites/CNZ Cannon/CNZ Cannon.bin"
+ even
+ArtUnc_SStageTails:
+ binclude "General/Sprites/Tails/Art/SStage Tails.bin"
+ even
+Map_SStageTails:
+ include "General/Sprites/Tails/Map - SStage Tails.asm"
+
+ArtUnc_SStageTailstails:
+ binclude "General/Sprites/Tails/Art/SStage Tails tails.bin"
+ even
+Map_SStageTailstails:
+ include "General/Sprites/Tails/Map - SStage Tails tails.asm"
+
+Map_Sonic2P:
+ include "General/Sprites/Sonic/Map - Sonic 2P.asm"
+PLC_Sonic2P:
+ include "General/Sprites/Sonic/DPLC - Sonic 2P.asm"
+Map_Tails2P:
+ include "General/Sprites/Tails/Map - Tails 2P.asm"
+Map_Tails2P_Tail:
+ include "General/Sprites/Tails/Map - Tails tail 2P.asm"
+PLC_Tails2P:
+ include "General/Sprites/Tails/DPLC - Tails 2P.asm"
+DPLC_Tails2P_Tail:
+ include "General/Sprites/Tails/DPLC - Tails tails 2P.asm"
+Map_Knuckles2P:
+ include "General/Sprites/Knuckles/Map - Knuckles 2P.asm"
+PLC_Knuckles2P:
+ include "General/Sprites/Knuckles/DPLC - Knuckles 2P.asm"
-MapUnc_CompetitionNumbers: binclude "General/Competition Menu/Uncompressed Map/Numbers.bin"
- even
-Pal_Competition2: binclude "General/Competition Menu/Palettes/2.bin"
- even
-Pal_Competition3: binclude "General/Competition Menu/Palettes/3.bin"
- even
-Pal_Competition4: binclude "General/Competition Menu/Palettes/4.bin"
- even
-Map_CompetitionSelect: include "General/Competition Menu/Map - Competition Select.asm"
-
-Pal_CompetitionResults: binclude "General/Competition Menu/Palettes/Results.bin"
- even
-MapEni_CompetitionResultsLED: binclude "General/Competition Menu/Enigma Map/Menu.bin"
- even
-MapUnc_CompetitionResultsLetters:binclude "General/Competition Menu/Uncompressed Map/Results Letters.bin"
- even
-MapUnc_CompetitionResultsDividers:binclude "General/Competition Menu/Uncompressed Map/Results Dividers.bin"
- even
-MapUnc_CompetitionResultsTOTAL: binclude "General/Competition Menu/Uncompressed Map/Results TOTAL.bin"
- even
-MapUnc_ResultsWin: binclude "General/Competition Menu/Uncompressed Map/Results Win.bin"
- even
-MapUnc_ResultsLose: binclude "General/Competition Menu/Uncompressed Map/Results Lose.bin"
- even
-MapUnc_ResultsTie: binclude "General/Competition Menu/Uncompressed Map/Results Tie.bin"
- even
-Pal_CompetitionTimeAttack: binclude "General/Competition Menu/Palettes/Time Attack.bin"
- even
-MapUnc_CompetitionLAPNum: binclude "General/Competition Menu/Uncompressed Map/LAP.bin"
- even
-MapUnc_CompetitionRECORDS: binclude "General/Competition Menu/Uncompressed Map/RECORDS.bin"
- even
-MapUnc_Competition1st2nd3rd: binclude "General/Competition Menu/Uncompressed Map/1ST 2ND 3RD.bin"
- even
-MapUnc_CompetitionAZURELAKE: binclude "General/Competition Menu/Uncompressed Map/AZURE LAKE.bin"
- even
-MapUnc_CompetitionBALLOONPARK: binclude "General/Competition Menu/Uncompressed Map/BALLOON PARK.bin"
- even
-MapUnc_CompetitionCHROMEGADGET: binclude "General/Competition Menu/Uncompressed Map/CHROME GADGET.bin"
- even
-MapUnc_CompetitionDESERTPALACE: binclude "General/Competition Menu/Uncompressed Map/DESERT PALACE.bin"
- even
-MapUnc_CompetitionENDLESSMINE: binclude "General/Competition Menu/Uncompressed Map/ENDLESS MINE.bin"
- even
-ArtKos_SaveScreenS3Zone: binclude "General/Save Menu/Kosinski Art/Zone Art.bin"
- even
-Map_AIZ1Tree: include "Levels/AIZ/Misc Object Data/Map - Act 1 Tree.asm"
-
-Map_AIZ1ZiplinePeg: include "Levels/AIZ/Misc Object Data/Map - Act 1 Zipline Peg.asm"
-
-Map_BreakableBar: include "Levels/HCZ/Misc Object Data/Map - Breakable Bar.asm"
-
-Map_HCZBlock: include "Levels/HCZ/Misc Object Data/Map - Block.asm"
-
-Map_AIZRock: include "Levels/AIZ/Misc Object Data/Map - Rock.asm"
-
-Map_AIZRock2: include "Levels/AIZ/Misc Object Data/Map - Rock 2.asm"
-
-Map_EMZRock: include "Levels/EMZ/Misc Object Data/Map - Rock.asm"
-
-Map_AIZCollapsingPlatform: include "Levels/AIZ/Misc Object Data/Map - Collapsing Platform.asm"
-
-Map_AIZCollapsingPlatform2: include "Levels/AIZ/Misc Object Data/Map - Collapsing Platform 2.asm"
-
-Map_LBZCollapsingBridge: include "Levels/LBZ/Misc Object Data/Map - Collapsing Bridge.asm"
-
-Map_LBZCollapsingLedge: include "Levels/LBZ/Misc Object Data/Map - Collapsing Ledge.asm"
-
-Map_HCZCollapsingBridge: include "Levels/HCZ/Misc Object Data/Map - Collapsing Bridge.asm"
-
-Map_MGZCollapsingBridge: include "Levels/MGZ/Misc Object Data/Map - Collapsing Bridge.asm"
-
-Map_ICZCollapsingBridge: include "Levels/ICZ/Misc Object Data/Map - Collapsing Bridge.asm"
-
-Map_AIZBreakableWall: include "Levels/AIZ/Misc Object Data/Map - Breakable Wall.asm"
-
-Map_MGZBreakableWall: include "Levels/MGZ/Misc Object Data/Map - Breakable Wall.asm"
-
-Map_HCZBreakableWall: include "Levels/HCZ/Misc Object Data/Map - Breakable Wall.asm"
-
-Map_LBZBreakableWall: include "Levels/LBZ/Misc Object Data/Map - Breakable Wall.asm"
-
-Map_AIZIntroWaves: include "Levels/AIZ/Misc Object Data/Map - Intro Waves.asm"
-
-Map_LBZUnusedElevator: include "Levels/LBZ/Misc Object Data/Map - Unused Elevator.asm"
-
-Map_LBZExplodingTrigger: include "Levels/LBZ/Misc Object Data/Map - Exploding Trigger.asm"
-
-Map_MGZDashTrigger: include "Levels/MGZ/Misc Object Data/Map - Dash Trigger.asm"
-
-Map_LBZTriggerBridge: include "Levels/LBZ/Misc Object Data/Map - Trigger Bridge.asm"
-
-Map_LBZPlayerLauncher: include "Levels/LBZ/Misc Object Data/Map - Player Launcher.asm"
-
-Map_LBZFlameThrower: include "Levels/LBZ/Misc Object Data/Map - Flame Thrower.asm"
-
-Map_LBZCupElevator: include "Levels/LBZ/Misc Object Data/Map - Cup Elevator.asm"
-
-Map_LBZUnusedUnknown: include "Levels/LBZ/Misc Object Data/Map - Unused Unknown.asm"
-
-Map_LBZPipePlug: include "Levels/LBZ/Misc Object Data/Map - PipePlug.asm"
-
-Map_LBZSpinLauncher: include "Levels/LBZ/Misc Object Data/Map - Spin Launcher.asm"
-
-Map_LBZLoweringGrapple: include "Levels/LBZ/Misc Object Data/Map - Lowering Grapple.asm"
-
-Map_LBZSmashingSpikes: include "Levels/LBZ/Misc Object Data/Map - Smashing Spikes.asm"
-
-Map_MGZSmashingPillar: include "Levels/MGZ/Misc Object Data/Map - Smashing Pillar.asm"
-
-Map_LBZGateLaser: include "Levels/LBZ/Misc Object Data/Map - Gate Laser.asm"
-
-Map_LBZTubeElevator: include "Levels/LBZ/Misc Object Data/Map - Tube Elevator.asm"
-
-Map_AIZDisappearingFloor: include "Levels/AIZ/Misc Object Data/Map - Disappearing Floor.asm"
-
-Map_AIZCorkFloor: include "Levels/AIZ/Misc Object Data/Map - Cork Floor.asm"
-
-Map_AIZCorkFloor2: include "Levels/AIZ/Misc Object Data/Map - Cork Floor 2.asm"
-
-Map_CNZCorkFloor: include "Levels/CNZ/Misc Object Data/Map - Cork Floor.asm"
-
-Map_ICZCorkFloor: include "Levels/ICZ/Misc Object Data/Map - Cork Floor.asm"
-
-Map_LBZCorkFloor: include "Levels/LBZ/Misc Object Data/Map - Cork Floor.asm"
-
-Map_AIZFlippingBridge: include "Levels/AIZ/Misc Object Data/Map - Flipping Bridge.asm"
-
-Map_AIZFallingLog2: include "Levels/AIZ/Misc Object Data/Map - Falling Log 2.asm"
-
-Map_AIZFallingLog: include "Levels/AIZ/Misc Object Data/Map - Falling Log.asm"
-
-Map_AIZFallingLogSplash2: include "Levels/AIZ/Misc Object Data/Map - Falling Log Splash 2.asm"
-
-Map_AIZFallingLogSplash: include "Levels/AIZ/Misc Object Data/Map - Falling Log Splash.asm"
-
-Map_AIZSpikedLog: include "Levels/AIZ/Misc Object Data/Map - Spiked Log.asm"
-
-Map_AIZForegroundPlant: include "Levels/AIZ/Misc Object Data/Map - Foreground Plant.asm"
-
-Map_Button2: include "General/Sprites/Buttons/Map - Button 2.asm"
-
-Map_CNZButton: include "Levels/CNZ/Misc Object Data/Map - Button.asm"
-
-Map_2PButton: include "General/2P Zone/Map - 2P Button.asm"
-
-Map_HCZWaterRush: include "Levels/HCZ/Misc Object Data/Map - Water Rush.asm"
-
-Map_HCZWaterRushBlock: include "Levels/HCZ/Misc Object Data/Map - Water Rush Block.asm"
-
-Map_HCZWaterWall: include "Levels/HCZ/Misc Object Data/Map - Waterfall.asm"
-
-Map_HCZWaterWallDebris: include "Levels/HCZ/Misc Object Data/Map - Water Wall Debris.asm"
-
-Map_HCZFan: include "Levels/HCZ/Misc Object Data/Map - Fan.asm"
-
-Map_HCZLargeFan: include "Levels/HCZ/Misc Object Data/Map - Large Fan.asm"
-
-Map_CGZFan: include "Levels/CGZ/Misc Object Data/Map - Fan.asm"
-
-Map_HCZHandLauncher: include "Levels/HCZ/Misc Object Data/Map - Hand Launcher.asm"
-
-Map_HCZConveyorSpike: include "Levels/HCZ/Misc Object Data/Map - Conveyor Spike.asm"
-
-Map_CNZBalloon: include "Levels/CNZ/Misc Object Data/Map - Balloon.asm"
-
-Map_CNZCannon: include "General/Sprites/CNZ Cannon/Map - CNZ Cannon.asm"
-
-Map_CNZRisingPlatform: include "Levels/CNZ/Misc Object Data/Map - Rising Platform.asm"
-
-Map_CNZTrapDoor: include "Levels/CNZ/Misc Object Data/Map - Trap Door.asm"
-
-Map_CNZLightBulb: include "Levels/CNZ/Misc Object Data/Map - Light Bulb.asm"
-
-Map_CNZHoverFan: include "Levels/CNZ/Misc Object Data/Map - Hover Fan.asm"
-
-Map_CNZCylinder: include "Levels/CNZ/Misc Object Data/Map - Cylinder.asm"
-
-Map_HCZSpinningColumn: include "Levels/HCZ/Misc Object Data/Map - Spinning Column.asm"
-
-Map_Bumper: include "General/Sprites/Level Misc/Map - Bumper.asm"
-
-Map_2PBumper: include "General/2P Zone/Map - 2P Bumper.asm"
-
-Map_MGZSwingingPlatform: include "Levels/MGZ/Misc Object Data/Map - Swinging Platform.asm"
-
-Map_MGZSwingingSpikeBall: include "Levels/MGZ/Misc Object Data/Map - Swinging Spike Ball.asm"
-
-Map_MGZHeadTrigger: include "Levels/MGZ/Misc Object Data/Map - Head Trigger.asm"
-
-Map_MGZTriggerPlatform: include "Levels/MGZ/Misc Object Data/Map - Trigger Platform.asm"
-
-Map_MGZMovingSpikePlatform: include "Levels/MGZ/Misc Object Data/Map - Moving Spike Platform.asm"
-
-Map_MGZPulley: include "Levels/MGZ/Misc Object Data/Map - Pulley.asm"
-
-Map_HCZWaterDrop: include "Levels/HCZ/Misc Object Data/Map - Water Drop.asm"
-
-Map_HCZWaterSplash: include "Levels/HCZ/Misc Object Data/Map - Water Splash.asm"
-
-Map_HCZWaterSplash2: include "Levels/HCZ/Misc Object Data/Map - Water Splash 2.asm"
-
- include "Lockon S3/Screen Events.asm"
-
-Map_S3EndingGraphics: include "General/Ending/Map - S3 Ending Graphics.asm"
-
-ArtNem_S3EndingGraphics: binclude "General/Ending/Nemesis Art/S3 Ending Graphics.bin"
- even
-SStageLayoutPtrs: dc.l SStage1_Layout
- dc.l SStage2_Layout
- dc.l SStage3_Layout
- dc.l SStage4_Layout
- dc.l SStage5_Layout
- dc.l SStage6_Layout
- dc.l SStage7_Layout
- dc.l SStage8_Layout
-
-SStage1_Layout: binclude "General/Special Stage/Layout/S3 1.bin"
- even
-SStage2_Layout: binclude "General/Special Stage/Layout/S3 2.bin"
- even
-SStage3_Layout: binclude "General/Special Stage/Layout/S3 3.bin"
- even
-SStage4_Layout: binclude "General/Special Stage/Layout/S3 4.bin"
- even
-SStage5_Layout: binclude "General/Special Stage/Layout/S3 5.bin"
- even
-SStage6_Layout: binclude "General/Special Stage/Layout/S3 6.bin"
- even
-SStage7_Layout: binclude "General/Special Stage/Layout/S3 7.bin"
- even
-SStage8_Layout: binclude "General/Special Stage/Layout/S3 8.bin"
- even
-HCZ_WaterlineScroll_Data: binclude "Levels/HCZ/Misc/HCZ Waterline Scroll Data.bin"
- even
-LBZ_WaterlineScroll_Data: binclude "Levels/LBZ/Misc/LBZ Waterline Scroll Data.bin"
- even
-Solid_AIZ1: binclude "Levels/AIZ/Collision/1.bin"
- even
-Solid_AIZ2: binclude "Levels/AIZ/Collision/2.bin"
- even
-Solid_HCZ1: binclude "Levels/HCZ/Collision/1.bin"
- even
-Solid_HCZ2: binclude "Levels/HCZ/Collision/2.bin"
- even
-Solid_MGZ1: binclude "Levels/MGZ/Collision/1.bin"
- even
-Solid_MGZ2: binclude "Levels/MGZ/Collision/2.bin"
- even
-Solid_CNZ: binclude "Levels/CNZ/Collision/1.bin"
- even
-Solid_ICZ1: binclude "Levels/ICZ/Collision/1.bin"
- even
-Solid_ICZ2: binclude "Levels/ICZ/Collision/2.bin"
- even
-Solid_LBZ1: binclude "Levels/LBZ/Collision/1.bin"
- even
-Solid_LBZ2: binclude "Levels/LBZ/Collision/2.bin"
- even
-Solid_ALZ: binclude "Levels/ALZ/Collision/1.bin"
- even
-Solid_BPZ: binclude "Levels/BPZ/Collision/1.bin"
- even
-Solid_DPZ: binclude "Levels/DPZ/Collision/1.bin"
- even
-Solid_CGZ: binclude "Levels/CGZ/Collision/1.bin"
- even
-Solid_EMZ: binclude "Levels/EMZ/Collision/1.bin"
- even
-Solid_Gumball_Special: binclude "Levels/Gumball/Collision/1.bin"
- even
-Layout_AIZ1: binclude "Levels/AIZ/Layout/1.bin"
- even
-Layout_AIZ2: binclude "Levels/AIZ/Layout/2.bin"
- even
-Layout_HCZ1: binclude "Levels/HCZ/Layout/1.bin"
- even
-Layout_HCZ2: binclude "Levels/HCZ/Layout/2.bin"
- even
-Layout_MGZ1: binclude "Levels/MGZ/Layout/1.bin"
- even
-Layout_MGZ2: binclude "Levels/MGZ/Layout/2.bin"
- even
-Layout_CNZ1: binclude "Levels/CNZ/Layout/1.bin"
- even
-Layout_CNZ2: binclude "Levels/CNZ/Layout/2.bin"
- even
-Layout_ICZ1: binclude "Levels/ICZ/Layout/1.bin"
- even
-Layout_ICZ2: binclude "Levels/ICZ/Layout/2.bin"
- even
-Layout_LBZ1: binclude "Levels/LBZ/Layout/1.bin"
- even
-Layout_LBZ2: binclude "Levels/LBZ/Layout/2.bin"
- even
-Layout_ALZ: binclude "Levels/ALZ/Layout/1.bin"
- even
-Layout_BPZ: binclude "Levels/BPZ/Layout/1.bin"
- even
-Layout_DPZ: binclude "Levels/DPZ/Layout/1.bin"
- even
-Layout_CGZ: binclude "Levels/CGZ/Layout/1.bin"
- even
-Layout_EMZ: binclude "Levels/EMZ/Layout/1.bin"
- even
-Layout_Gumball_Special: binclude "Levels/Gumball/Layout/1.bin"
- even
-ArtUnc_CNZCannon: binclude "General/Sprites/CNZ Cannon/CNZ Cannon.bin"
- even
-ArtUnc_SStageTails: binclude "General/Sprites/Tails/Art/SStage Tails.bin"
- even
-Map_SStageTails: include "General/Sprites/Tails/Map - SStage Tails.asm"
-
-ArtUnc_SStageTailstails: binclude "General/Sprites/Tails/Art/SStage Tails tails.bin"
- even
-Map_SStageTailstails: include "General/Sprites/Tails/Map - SStage Tails tails.asm"
-
-Map_Sonic2P: include "General/Sprites/Sonic/Map - Sonic 2P.asm"
-
-PLC_Sonic2P: include "General/Sprites/Sonic/DPLC - Sonic 2P.asm"
-
-Map_Tails2P: include "General/Sprites/Tails/Map - Tails 2P.asm"
-
-Map_Tails2P_Tail: include "General/Sprites/Tails/Map - Tails tail 2P.asm"
-
-PLC_Tails2P: include "General/Sprites/Tails/DPLC - Tails 2P.asm"
-
-DPLC_Tails2P_Tail: include "General/Sprites/Tails/DPLC - Tails tails 2P.asm"
-
-Map_Knuckles2P: include "General/Sprites/Knuckles/Map - Knuckles 2P.asm"
-
-PLC_Knuckles2P: include "General/Sprites/Knuckles/DPLC - Knuckles 2P.asm"
align $20
-ArtUnc_AniAIZ1_0: binclude "Levels/AIZ/Animated Tiles/Act1 0.bin"
- even
-ArtUnc_AniAIZ1_1: binclude "Levels/AIZ/Animated Tiles/Act1 1.bin"
- even
-ArtUnc_AniAIZ2_1: binclude "Levels/AIZ/Animated Tiles/Act2 1.bin"
- even
-ArtUnc_AniAIZ2_0: binclude "Levels/AIZ/Animated Tiles/Act2 0.bin"
- even
-ArtUnc_AniAIZ2_3: binclude "Levels/AIZ/Animated Tiles/Act2 3.bin"
- even
-ArtUnc_AniAIZ2_2: binclude "Levels/AIZ/Animated Tiles/Act2 2.bin"
- even
-ArtUnc_AniAIZ2_FirstTree: binclude "Levels/AIZ/Animated Tiles/Act2 First Tree.bin"
- even
-ArtUnc_AniHCZ1_0: binclude "Levels/HCZ/Animated Tiles/Act1 0.bin"
- even
-ArtUnc_AniHCZ1_WaterlineBelow: binclude "Levels/HCZ/Animated Tiles/Act1 Water Below 1.bin"
- even
-ArtUnc_FixHCZ1_UpperBG1: binclude "Levels/HCZ/Animated Tiles/Act1 Upper BG 1.bin"
- even
-ArtUnc_AniHCZ1_WaterlineAbove: binclude "Levels/HCZ/Animated Tiles/Act1 Water Above 1.bin"
- even
-ArtUnc_FixHCZ1_LowerBG1: binclude "Levels/HCZ/Animated Tiles/Act1 Lower BG 1.bin"
- even
-ArtUnc_AniHCZ1_WaterlineBelow2: binclude "Levels/HCZ/Animated Tiles/Act1 Water Below 2.bin"
- even
-ArtUnc_FixHCZ1_UpperBG2: binclude "Levels/HCZ/Animated Tiles/Act1 Upper BG 2.bin"
- even
-ArtUnc_AniHCZ1_WaterlineAbove2: binclude "Levels/HCZ/Animated Tiles/Act1 Water Above 2.bin"
- even
-ArtUnc_FixHCZ1_LowerBG2: binclude "Levels/HCZ/Animated Tiles/Act1 Lower BG 2.bin"
- even
-ArtUnc_AniHCZ__1: binclude "Levels/HCZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniHCZ2_0: binclude "Levels/HCZ/Animated Tiles/Act2 0.bin"
- even
-ArtUnc_AniHCZ2_SmallBGLine: binclude "Levels/HCZ/Animated Tiles/Act2 1.bin"
- even
-ArtUnc_AniHCZ2_2: binclude "Levels/HCZ/Animated Tiles/Act2 2.bin"
- even
-ArtUnc_AniHCZ2_3: binclude "Levels/HCZ/Animated Tiles/Act2 3.bin"
- even
-ArtUnc_AniHCZ2_4: binclude "Levels/HCZ/Animated Tiles/Act2 4.bin"
- even
-ArtUnc_AniMGZ__0: binclude "Levels/MGZ/Animated Tiles/MGZ Animated 0.bin"
- even
-ArtUnc_AniMGZ__1: binclude "Levels/MGZ/Animated Tiles/MGZ Animated 1.bin"
- even
-ArtUnc_AniCNZ__0: binclude "Levels/CNZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniCNZ__1: binclude "Levels/CNZ/Animated Tiles/1.bin"
- even
-ArtUnc_AniCNZ__2: binclude "Levels/CNZ/Animated Tiles/2.bin"
- even
-ArtUnc_AniCNZ__3: binclude "Levels/CNZ/Animated Tiles/3.bin"
- even
-ArtUnc_AniCNZ__4: binclude "Levels/CNZ/Animated Tiles/4.bin"
- even
-ArtUnc_AniCNZ__6: binclude "Levels/CNZ/Animated Tiles/6.bin"
- even
-ArtUnc_AniCNZ__5: binclude "Levels/CNZ/Animated Tiles/5.bin"
- even
-ArtUnc_AniICZ__1: binclude "Levels/ICZ/Animated Tiles/1.bin"
- even
-ArtUnc_AniICZ__2: binclude "Levels/ICZ/Animated Tiles/2.bin"
- even
-ArtUnc_AniICZ__3: binclude "Levels/ICZ/Animated Tiles/3.bin"
- even
-ArtUnc_AniICZ__4: binclude "Levels/ICZ/Animated Tiles/4.bin"
- even
-ArtUnc_AniICZ__5: binclude "Levels/ICZ/Animated Tiles/5.bin"
- even
-ArtUnc_AniICZ__0: binclude "Levels/ICZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniLBZ1_0: binclude "Levels/LBZ/Animated Tiles/Act1 0.bin"
- even
-ArtUnc_AniLBZ1_1: binclude "Levels/LBZ/Animated Tiles/Act1 1.bin"
- even
-ArtUnc_AniLBZ1_2: binclude "Levels/LBZ/Animated Tiles/Act1 2.bin"
- even
-ArtUnc_AniLBZ2_2: binclude "Levels/LBZ/Animated Tiles/Act2 2.bin"
- even
-ArtUnc_AniLBZ2_WaterlineBelow: binclude "Levels/LBZ/Animated Tiles/Act2 Water Below.bin"
- even
-ArtUnc_AniLBZ2_LowerBG: binclude "Levels/LBZ/Animated Tiles/Act2 Lower BG.bin"
- even
-ArtUnc_AniLBZ2_WaterlineAbove: binclude "Levels/LBZ/Animated Tiles/Act2 Water Above.bin"
- even
-ArtUnc_AniLBZ2_UpperBG: binclude "Levels/LBZ/Animated Tiles/Act2 Upper BG.bin"
- even
-ArtUnc_AniLBZ__0: binclude "Levels/LBZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniLBZ2_0: binclude "Levels/LBZ/Animated Tiles/Act2 0.bin"
- even
-ArtUnc_AniLBZ2_1: binclude "Levels/LBZ/Animated Tiles/Act2 1.bin"
- even
-ArtUnc_AniALZ: binclude "Levels/ALZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniBPZ__0: binclude "Levels/BPZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniBPZ__1: binclude "Levels/BPZ/Animated Tiles/1.bin"
- even
-ArtUnc_AniBPZ__2: binclude "Levels/BPZ/Animated Tiles/2.bin"
- even
-ArtUnc_AniBPZ__3: binclude "Levels/BPZ/Animated Tiles/3.bin"
- even
-ArtUnc_AniDPZ: binclude "Levels/DPZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniDPZ__BG: binclude "Levels/DPZ/Animated Tiles/BG 0.bin"
- even
-ArtUnc_AniGumball: binclude "Levels/Gumball/Animated Tiles/0.bin"
- even
-ArtUnc_SplashDrown: binclude "General/Sprites/Dash Dust/Splash Drown.bin"
- even
-ArtNem_Title_SonicSprites: binclude "General/Title/Nemesis Art/S3 Sonic Sprites.bin"
- even
-DemoDat_AIZ: binclude "Levels/AIZ/Demodata/1.bin"
- even
-DemoDat_HCZ: binclude "Levels/HCZ/Demodata/1.bin"
- even
-DemoDat_MGZ: binclude "Levels/MGZ/Demodata/1.bin"
- even
-ArtUnc_Tails: binclude "General/Sprites/Tails/Art/Tails.bin"
- even
-ArtUnc_Tails_Tail: binclude "General/Sprites/Tails/Art/Tails tails.bin"
- even
-ArtUnc_Sonic2P: binclude "General/Sprites/Sonic/Art/Sonic 2P.bin"
- even
-ArtUnc_Tails2P: binclude "General/Sprites/Tails/Art/Tails 2P.bin"
- even
-ArtUnc_Tails2P_Tail: binclude "General/Sprites/Tails/Art/Tails tails 2P.bin"
- even
-ArtUnc_Knuckles2P: binclude "General/Sprites/Knuckles/Art/Knuckles 2P.bin"
- even
-Map_Tails_Tail: include "General/Sprites/Tails/Map - Tails tails.asm"
-
-PLC_Tails_Tail: include "General/Sprites/Tails/Tails tails pattern load cues.asm"
-
-ICZSnowboard_Slope1: binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 1.bin"
- even
-ICZSnowboard_Slope2: binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 2.bin"
- even
-ArtUnc_SonicSnowboard: binclude "General/Sprites/Sonic/Art/Sonic Snowboarding.bin"
- even
-ArtUnc_Snowboard: binclude "General/Sprites/Snowboard/Snowboard.bin"
- even
-Map_SonicSnowboard: include "General/Sprites/Sonic/Map - Sonic Snowboarding.asm"
-
-DPLC_SonicSnowboard: include "General/Sprites/Sonic/DPLC - Sonic Snowboarding.asm"
-
-Map_Snowboard: include "General/Sprites/Snowboard/Map - Snowboard.asm"
-
-DPLC_Snowboard: include "General/Sprites/Snowboard/DPLC - Snowboard.asm"
-
-ArtNem_AIZIntroSprites: binclude "Levels/AIZ/Nemesis Art/Intro Waves.bin"
- even
-ArtNem_2PDashdust: binclude "General/2P Zone/Nemesis Art/Spindash Dust.bin"
- even
-MapEni_S3TitleSonic1: binclude "General/Title/Enigma Map/S3 Sonic 1.bin"
- even
-MapEni_S3TitleSonic2: binclude "General/Title/Enigma Map/S3 Sonic 2.bin"
- even
-MapEni_S3TitleSonic3: binclude "General/Title/Enigma Map/S3 Sonic 3.bin"
- even
-MapEni_S3TitleSonic4: binclude "General/Title/Enigma Map/S3 Sonic 4.bin"
- even
-MapEni_S3TitleSonic5: binclude "General/Title/Enigma Map/S3 Sonic 5.bin"
- even
-MapEni_S3TitleSonic6: binclude "General/Title/Enigma Map/S3 Sonic 6.bin"
- even
-MapEni_S3TitleSonic7: binclude "General/Title/Enigma Map/S3 Sonic 7.bin"
- even
-MapEni_S3TitleSonic8: binclude "General/Title/Enigma Map/S3 Sonic 8.bin"
- even
-MapEni_S3TitleSonic9: binclude "General/Title/Enigma Map/S3 Sonic 9.bin"
- even
-MapEni_S3TitleSonicA: binclude "General/Title/Enigma Map/S3 Sonic A.bin"
- even
-MapEni_S3TitleSonicB: binclude "General/Title/Enigma Map/S3 Sonic B.bin"
- even
-MapEni_S3TitleSonicC: binclude "General/Title/Enigma Map/S3 Sonic C.bin"
- even
-MapEni_S3TitleSonicD: binclude "General/Title/Enigma Map/S3 Sonic D.bin"
- even
-MapEni_S3TitleBg: binclude "General/Title/Enigma Map/S3 BG.bin"
- even
-Map_S3TitleBanner: include "General/Title/Map - S3 Banner.asm"
-
-ArtNem_Title_S3Banner: binclude "General/Title/Nemesis Art/S3 Banner.bin"
- even
-ArtKos_S3TitleSonic1: binclude "General/Title/Kosinski Art/S3 Sonic 1.bin"
- even
-ArtKos_S3TitleSonic8: binclude "General/Title/Kosinski Art/S3 Sonic 8.bin"
- even
-ArtKos_S3TitleSonic9: binclude "General/Title/Kosinski Art/S3 Sonic 9.bin"
- even
-ArtKos_S3TitleSonicA: binclude "General/Title/Kosinski Art/S3 Sonic A.bin"
- even
-ArtKos_S3TitleSonicB: binclude "General/Title/Kosinski Art/S3 Sonic B.bin"
- even
-ArtKos_S3TitleSonicC: binclude "General/Title/Kosinski Art/S3 Sonic C.bin"
- even
-ArtKos_S3TitleSonicD: binclude "General/Title/Kosinski Art/S3 Sonic D.bin"
- even
-ArtNem_TailsLifeIcon: binclude "General/Sprites/HUD Icon/Tails Life Icon.bin"
- even
-Map_LBZMiniboss: include "Levels/LBZ/Misc Object Data/Map - Miniboss.asm"
-
-Map_LBZMinibossBox: include "Levels/LBZ/Misc Object Data/Map - Miniboss Box.asm"
-
-Map_SnaleBlaster: include "General/Sprites/Snail Blaster/Map - Snail Blaster.asm"
-
-Map_Orbinaut: include "General/Sprites/Orbinaut/Map - Orbinaut.asm"
-
-Map_Ribot: include "General/Sprites/Ribot/Map - Ribot.asm"
-
-Map_Corkey: include "General/Sprites/Corkey/Map - Corkey.asm"
-
-Map_Flybot767: include "General/Sprites/Flybot/Map - Flybot.asm"
-
-DPLC_Flybot: include "General/Sprites/Flybot/DPLC - Flybot.asm"
-
-Map_LBZEndBoss: include "Levels/LBZ/Misc Object Data/Map - End Boss.asm"
-
-Map_CNZEndBoss: include "Levels/CNZ/Misc Object Data/Map - End Boss.asm"
-
-CNZEndBossMagnet_AngleX: dc.b 0, 1, 2, 3, 4, 5, 6, 8, 9, $A, $B, $C, $D, $E, $F, $10
- dc.b $11, $12, $13, $14, $15, $16, $17, $18, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E
- dc.b $1F, $20, $21, $21, $22, $23, $23, $24, $25, $25, $26, $26, $27, $27, $28, $28
- dc.b $29, $29, $29, $2A, $2A, $2A, $2B, $2B, $2B, $2B, $2C, $2C, $2C, $2C, $2C, $2C
-LBZFinalBoss2_CircleLookup: dc.b 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $C, $D, $D, $E
- dc.b $F, $10, $11, $12, $13, $14, $15, $15, $16, $17, $18, $19, $19, $1A, $1B, $1C
- dc.b $1C, $1D, $1E, $1E, $1F, $20, $20, $21, $21, $22, $22, $23, $23, $24, $24, $25
- dc.b $25, $25, $26, $26, $26, $27, $27, $27, $27, $27, $28, $28, $28, $28, $28, $28
-
-Map_Blastoid: include "General/Sprites/Blastoid/Map - Blastoid.asm"
-
-Map_Poindexter: include "General/Sprites/Pointdexter/Map - Pointdexter.asm"
-
-Map_Buggernaut: include "General/Sprites/Buggernaut/Map - Buggernaut.asm"
-
-Map_MegaChomper: include "General/Sprites/Mega Chomper/Map - Mega Chomper.asm"
-
-Map_TurboSpiker: include "General/Sprites/Turbo Spiker/Map - Turbo Spiker.asm"
-
-Map_Jawz: include "General/Sprites/Jawz/Map - Jawz.asm"
-
-DPLC_RhinoBot: include "General/Sprites/Rhino/DPLC - RhinoBot.asm"
-
-Map_RhinoBot: include "General/Sprites/Rhino/Map - RhinoBot.asm"
-
-Map_AIZMinibossFlame: include "Levels/AIZ/Misc Object Data/Map - Miniboss Flame.asm"
-
-Map_Tulipon: include "General/Sprites/Tulipon/Map - Tulipon.asm"
-
-Map_MonkeyDude: include "General/Sprites/Monkey Dude/Map - Monkey Dude.asm"
-
-Map_MGZMiniBoss: include "Levels/MGZ/Misc Object Data/Map - Miniboss.asm"
-Map_CaterKillerJr: include "General/Sprites/Caterkiller Jr/Map - Caterkiller Jr.asm"
-
-DPLC_Clamer: include "General/Sprites/Clamer/DPLC - Clamer.asm"
-
-Map_Clamer: include "General/Sprites/Clamer/Map - Clamer.asm"
-
-Map_CNZBlastoid: include "Levels/CNZ/Misc Object Data/Map - Blastoid.asm"
-
-Map_Batbot: include "General/Sprites/Batbot/Map - Batbot.asm"
-
-DPLC_BubblesBadnik: include "General/Sprites/Bubbles Badnik/DPLC - Bubbles Badnik.asm"
-
-Map_BubblesBadnik: include "General/Sprites/Bubbles Badnik/Map - Bubbles Badnik.asm"
-
-Map_Spiker: include "General/Sprites/Spiker/Map - Spiker.asm"
-
-Map_Mantis: include "General/Sprites/Mantis/Map - Mantis.asm"
-
-DPLC_Penguinator: include "General/Sprites/Penguinator/DPLC - Penguinator.asm"
-
-Map_Penguinator: include "General/Sprites/Penguinator/Map - Penguinator.asm"
-
-Map_ICZSnowdust: include "Levels/ICZ/Misc Object Data/Map - Snowdust.asm"
-
-Map_StarPointer: include "General/Sprites/Star Pointer/Map - Star Pointer.asm"
-
-Map_AIZEndBoss: include "Levels/AIZ/Misc Object Data/Map - End Boss.asm"
-
-Map_AIZMiniboss: include "Levels/AIZ/Misc Object Data/Map - Miniboss.asm"
-
-Map_AIZMinibossSmall: include "Levels/AIZ/Misc Object Data/Map - Miniboss Small.asm"
-
-Map_MGZEndBoss: include "Levels/MGZ/Misc Object Data/Map - End Boss.asm"
-
-HCZMiniboss_RocketTwistLookup: dc.b $18, $18, $18, $18, $18, $18, $18, $18, $18, $17, $17, $17, $17, $17, $17, $16
- dc.b $16, $16, $16, $15, $15, $15, $15, $14, $14, $14, $13, $13, $13, $12, $12, $11
- dc.b $11, $11, $10, $10, $F, $F, $E, $E, $D, $D, $C, $C, $B, $B, $A, $A
- dc.b 9, 9, 8, 8, 7, 6, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1
- dc.b 0, $FF, $FF, $FE, $FE, $FD, $FC, $FC, $FB, $FB, $FA, $FA, $F9, $F8, $F8, $F7
- dc.b $F7, $F6, $F6, $F5, $F5, $F4, $F4, $F3, $F3, $F2, $F2, $F1, $F1, $F0, $F0, $EF
- dc.b $EF, $EF, $EE, $EE, $ED, $ED, $ED, $EC, $EC, $EC, $EB, $EB, $EB, $EB, $EA, $EA
- dc.b $EA, $EA, $E9, $E9, $E9, $E9, $E9, $E9, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8
-LBZ2FinalBoss2_CircleLookup2: dc.b 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
- dc.b 8, 8, 9, 9, 9, $A, $A, $B, $B, $C, $C, $C, $D, $D, $D, $E
- dc.b $E, $E, $F, $F, $F, $10, $10, $10, $11, $11, $11, $11, $12, $12, $12, $12
- dc.b $12, $13, $13, $13, $13, $13, $13, $14, $14, $14, $14, $14, $14, $14, $14, $14
-
-Map_HCZMiniboss: include "Levels/HCZ/Misc Object Data/Map - Miniboss.asm"
-
-Map_HCZMinibossSplash: include "Levels/HCZ/Misc Object Data/Map - Miniboss Splash.asm"
-
-DPLC_HCZMinibossSplash: include "Levels/HCZ/Misc Object Data/DPLC - Miniboss Splash.asm"
-
-Map_ICZEndBoss: include "Levels/ICZ/Misc Object Data/Map - End Boss.asm"
-
-Map_CNZMiniboss: include "Levels/CNZ/Misc Object Data/Map - Miniboss.asm"
-
-ICZMiniboss_OrbAngleLookup: dc.b 0, 1, 2, 4, 5, 6, 7, 8, 9, $B, $C, $D, $E, $F, $10, $11
- dc.b $12, $13, $15, $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E, $1F, $20, $21
- dc.b $22, $23, $24, $24, $25, $26, $27, $27, $28, $29, $29, $2A, $2A, $2B, $2B, $2C
- dc.b $2C, $2D, $2D, $2E, $2E, $2E, $2F, $2F, $2F, $2F, $2F, $30, $30, $30, $30, $30
-
-Map_ICZMiniboss: include "Levels/ICZ/Misc Object Data/Map - Miniboss.asm"
-
-Map_HCZEndBoss: include "Levels/HCZ/Misc Object Data/Map - End Boss.asm"
-
-Map_MGZEndBossDebris: include "Levels/MGZ/Misc Object Data/Map - End Boss Debris.asm"
-
-Map_ICZWallAndColumn: include "Levels/ICZ/Misc Object Data/Map - Wall and Column.asm"
-
-Map_ICZPlatforms: include "Levels/ICZ/Misc Object Data/Map - Platforms.asm"
-
-Map_LBZKnuxBomb: include "Levels/LBZ/Misc Object Data/Map - Knuckles Bomb.asm"
-
-Map_CutsceneKnux: include "General/Sprites/Knuckles/Cutscene/Map - Cutscene Knuckles.asm"
-
-DPLC_CutsceneKnux: include "General/Sprites/Knuckles/Cutscene/DPLC - Cutscene Knuckles.asm"
-
-Map_AIZIntroPlane: include "Levels/AIZ/Misc Object Data/Map - Intro Plane.asm"
-
-Map_AIZIntroEmeralds: include "Levels/AIZ/Misc Object Data/Map - Intro Emeralds.asm"
-
-Map_LBZFinalBoss1: include "Levels/LBZ/Misc Object Data/Map - Final Boss 1.asm"
-
-Map_LBZDeathEggSmall: include "Levels/LBZ/Misc Object Data/Map - Death Egg Small.asm"
-
-Pal_MGZFadeCNZ: binclude "Levels/Misc/Palettes/MGZ Fade to CNZ.bin"
- even
-Map_LBZFinalBoss2: include "Levels/LBZ/Misc Object Data/Map - Final Boss 2.asm"
-
-ArtNem_AIZMiniboss: binclude "Levels/AIZ/Nemesis Art/Miniboss.bin"
- even
-ArtKosM_AIZEndBoss: binclude "Levels/AIZ/KosinskiM Art/End Boss.bin"
- even
-ArtNem_AIZMinibossSmall: binclude "Levels/AIZ/Nemesis Art/Miniboss Small.bin"
- even
-ArtUnc_AIZRhino: binclude "General/Sprites/Rhino/Rhino.bin"
- even
-ArtKosM_AIZ_Tulipon: binclude "General/Sprites/Tulipon/Tulipon.bin"
- even
-ArtKosM_AIZ_MonkeyDude: binclude "General/Sprites/Monkey Dude/Monkey Dude.bin"
- even
-ArtKosM_AIZ_CaterkillerJr: binclude "General/Sprites/Caterkiller Jr/Caterkiller Jr.bin"
- even
-ArtNem_HCZMiniboss: binclude "Levels/HCZ/Nemesis Art/Miniboss.bin"
- even
-ArtNem_HCZEndBoss: binclude "Levels/HCZ/Nemesis Art/End Boss.bin"
- even
-ArtNem_HCZDragonfly: binclude "Levels/HCZ/Nemesis Art/Dragonfly.bin"
- even
-ArtKosM_Jawz: binclude "General/Sprites/Jawz/Jawz.bin"
- even
-ArtKosM_MegaChopper: binclude "General/Sprites/Mega Chopper/Mega Chopper.bin"
- even
-ArtKosM_Blastoid: binclude "General/Sprites/Blastoid/Blastoid.bin"
- even
-ArtKosM_TurboSpiker: binclude "General/Sprites/Turbo Spiker/Turbo Spiker.bin"
- even
-ArtKosM_Pointdexter: binclude "General/Sprites/Pointdexter/Pointdexter.bin"
- even
-ArtKosM_MGZMiniboss: binclude "Levels/MGZ/KosinskiM Art/Miniboss.bin"
- even
-ArtNem_MGZSpire: binclude "Levels/MGZ/Nemesis Art/Spire.bin"
- even
-ArtKosM_MGZEndBoss: binclude "Levels/MGZ/KosinskiM Art/End Boss.bin"
- even
-ArtScaled_MGZEndBoss: binclude "Levels/MGZ/Misc/MGZ End Boss Scaled.bin"
- even
-ArtKosM_MGZEndBossDebris: binclude "Levels/MGZ/KosinskiM Art/End Boss Debris.bin"
- even
-ArtUnc_BubblesBadnik: binclude "General/Sprites/Bubbles Badnik/Bubbles Badnik.bin"
- even
-ArtKosM_Spiker: binclude "General/Sprites/Spiker/Spiker.bin"
- even
-ArtKosM_Mantis: binclude "General/Sprites/Mantis/Mantis.bin"
- even
-ArtNem_CNZMiniboss: binclude "Levels/CNZ/Nemesis Art/Miniboss.bin"
- even
-ArtNem_CNZEndBoss: binclude "Levels/CNZ/Nemesis Art/End Boss.bin"
- even
-ArtUnc_Clamer: binclude "General/Sprites/Clamer/Clamer.bin"
- even
-ArtKosM_ClamerShot: binclude "General/Sprites/Clamer/Clamer Shot.bin"
- even
-ArtKosM_Sparkle: binclude "General/Sprites/Sparkle/Sparkle.bin"
- even
-ArtKosM_Batbot: binclude "General/Sprites/Batbot/Batbot.bin"
- even
-ArtKosM_CNZBalloon: binclude "Levels/CNZ/KosinskiM Art/Balloon.bin"
- even
-ArtNem_ICZMisc1: binclude "Levels/ICZ/Nemesis Art/Misc Art 1.bin"
- even
-ArtNem_ICZIntroSprites: binclude "Levels/ICZ/Nemesis Art/Intro Sprites.bin"
- even
-ArtNem_ICZMisc2: binclude "Levels/ICZ/Nemesis Art/Misc Art 2.bin"
- even
-ArtNem_ICZEndBoss: binclude "Levels/ICZ/Nemesis Art/End Boss.bin"
- even
-ArtNem_ICZMiniboss: binclude "Levels/ICZ/Nemesis Art/Miniboss.bin"
- even
-ArtUnc_Penguinator: binclude "General/Sprites/Penguinator/Penguinator.bin"
- even
-ArtKosM_ICZSnowdust: binclude "Levels/ICZ/KosinskiM Art/Snowdust.bin"
- even
-ArtKosM_StarPointer: binclude "General/Sprites/Star Pointer/Star Pointer.bin"
- even
-ArtKosM_LBZMiniboss: binclude "Levels/LBZ/KosinskiM Art/Miniboss.bin"
- even
-ArtKosM_LBZMinibossBox: binclude "Levels/LBZ/KosinskiM Art/Miniboss Box.bin"
- even
-ArtNem_LBZFinalBoss1: binclude "Levels/LBZ/Nemesis Art/Final Boss 1.bin"
- even
-ArtKosM_LBZEndBoss: binclude "Levels/LBZ/KosinskiM Art/End Boss.bin"
- even
-ArtKosM_LBZFinalBoss2: binclude "Levels/LBZ/KosinskiM Art/Final Boss 2.bin"
- even
-ArtKosM_SnailBlaster: binclude "General/Sprites/Snail Blaster/Snail Blaster.bin"
- even
-ArtKosM_Ribot: binclude "General/Sprites/Ribot/Ribot.bin"
- even
-ArtKosM_Orbinaut: binclude "General/Sprites/Orbinaut/Orbinaut.bin"
- even
-ArtKosM_Corkey: binclude "General/Sprites/Corkey/Corkey.bin"
- even
-ArtUnc_Flybot: binclude "General/Sprites/Flybot/Flybot.bin"
- even
-ArtNem_LBZKnuxBomb: binclude "Levels/LBZ/Nemesis Art/Knuckles Bomb.bin"
- even
-ArtKosM_LBZ2DeathEggSmall: binclude "Levels/LBZ/KosinskiM Art/Act 2 Death Egg Small.bin"
- even
-ArtKosM_LBZ2DeathEgg2_8x8: binclude "Levels/LBZ/Tiles/Act 2 Death Egg 2.bin"
- even
-ArtNem_AIZBossFire: binclude "Levels/AIZ/Nemesis Art/Miniboss Fire.bin"
- even
-ArtKosM_AIZIntroPlane: binclude "Levels/AIZ/KosinskiM Art/Intro Plane.bin"
- even
-ArtUnc_CutsceneKnux: binclude "General/Sprites/Knuckles/Cutscene/Cutscene Main.bin"
- even
-ArtKosM_AIZIntroEmeralds: binclude "Levels/AIZ/KosinskiM Art/Intro Emeralds.bin"
- even
-ArtKosM_TailsEndPose: binclude "General/Ending/KosinskiM Art/Tails Ending Pose.bin"
- even
-ArtNem_S38x16Font: binclude "General/Ending/Nemesis Art/S3 8x16 Font.bin"
- even
-ArtNem_AIZCorkFloor: binclude "Levels/AIZ/Nemesis Art/Cork Floor 1.bin"
- even
-ArtNem_AIZCorkFloor2: binclude "Levels/AIZ/Nemesis Art/Cork Floor 2.bin"
- even
-ArtNem_AIZSwingVine: binclude "Levels/AIZ/Nemesis Art/Swing Vine.bin"
- even
-ArtNem_AIZSlideRope: binclude "Levels/AIZ/Nemesis Art/Zip Vine.bin"
- even
-ArtNem_AIZBackgroundTree: binclude "Levels/AIZ/Nemesis Art/BG Tree.bin"
- even
-ArtNem_AIZMisc1: binclude "Levels/AIZ/Nemesis Art/Misc Art 1.bin"
- even
-ArtNem_AIZFallingLog: binclude "Levels/AIZ/Nemesis Art/Falling Log.bin"
- even
-ArtNem_AIZMisc2: binclude "Levels/AIZ/Nemesis Art/Misc Art 2.bin"
- even
-ArtNem_HCZSpikeBall: binclude "Levels/HCZ/Nemesis Art/Spike Ball.bin"
- even
-ArtNem_HCZWaveSplash: binclude "Levels/HCZ/Nemesis Art/Wave Splash.bin"
- even
-ArtNem_HCZButton: binclude "Levels/HCZ/Nemesis Art/Button.bin"
- even
-ArtNem_HCZMisc: binclude "Levels/HCZ/Nemesis Art/Misc Art.bin"
- even
-ArtNem_HCZWaterRush: binclude "Levels/HCZ/Nemesis Art/Water Rush.bin"
- even
-ArtKosM_HCZLargeFan: binclude "Levels/HCZ/KosinskiM Art/Large Fan.bin"
- even
-ArtKosM_HCZGeyserHorz: binclude "Levels/HCZ/KosinskiM Art/Geyser Horizontal.bin"
- even
-ArtKosM_HCZGeyserVert: binclude "Levels/HCZ/KosinskiM Art/Geyser Vertical.bin"
- even
-ArtNem_HCZ2Slide: binclude "Levels/HCZ/Nemesis Art/Act 2 Slide.bin"
- even
-ArtNem_HCZ2BlockPlat: binclude "Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin"
- even
-ArtUnc_HCZWaterSplash2: binclude "Levels/HCZ/Animated Tiles/Water Splash 2.bin"
- even
-ArtUnc_HCZWaterSplash: binclude "Levels/HCZ/Animated Tiles/Water Splash.bin"
- even
-ArtNem_HCZ2KnuxWall: binclude "Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin"
- even
-ArtNem_MGZMisc1: binclude "Levels/MGZ/Nemesis Art/Misc Art 1.bin"
- even
-ArtNem_MGZMisc2: binclude "Levels/MGZ/Nemesis Art/Misc Art 2.bin"
- even
-ArtNem_MGZSigns: binclude "Levels/MGZ/Nemesis Art/Direction Signs.bin"
- even
-ArtNem_CNZMisc: binclude "Levels/CNZ/Nemesis Art/Misc Art.bin"
- even
-ArtNem_CNZPlatform: binclude "Levels/CNZ/Nemesis Art/Platform.bin"
- even
-ArtNem_LBZMisc: binclude "Levels/LBZ/Nemesis Art/Misc Art.bin"
- even
-ArtNem_LBZTubeTrans: binclude "Levels/LBZ/Nemesis Art/Tube Transport.bin"
- even
-ArtNem_LBZ2Misc: binclude "Levels/LBZ/Nemesis Art/Act 2 Misc Art.bin"
- even
-ArtNem_2PArt_1: binclude "General/2P Zone/Nemesis Art/Misc Art 1.bin"
- even
-ArtNem_2PArt_2: binclude "General/2P Zone/Nemesis Art/Misc Art 2.bin"
- even
-ArtNem_2PArt_3: binclude "General/2P Zone/Nemesis Art/Misc Art 3.bin"
- even
-ArtNem_2PStartPost: binclude "General/2P Zone/Nemesis Art/Start Post.bin"
- even
-ArtNem_2PTime: binclude "General/2P Zone/Nemesis Art/Time Display.bin"
- even
-ArtNem_2PLapNum: binclude "General/2P Zone/Nemesis Art/Lap Numbers.bin"
- even
-ArtNem_2PPosIcon: binclude "General/2P Zone/Nemesis Art/Position Icons.bin"
- even
-ArtNem_BPZMisc: binclude "Levels/BPZ/Nemesis Art/Misc Art.bin"
- even
-ArtNem_DPZMisc: binclude "Levels/DPZ/Nemesis Art/Misc Art.bin"
- even
-ArtNem_CGZMisc: binclude "Levels/CGZ/Nemesis Art/Platform.bin"
- even
-ArtNem_EMZMisc: binclude "Levels/EMZ/Nemesis Art/Misc Art.bin"
- even
-ArtKosM_AIZ2Bombership2_8x8: binclude "Levels/AIZ/Tiles/Act 2 Bombership 2.bin"
- even
-ArtKosM_ResultsMILES: binclude "General/Sprites/Results/Results MILES.bin"
- even
-ArtKosM_ResultsTAILS: binclude "General/Sprites/Results/Results TAILS.bin"
- even
-ArtKosM_AIZTitleCard: binclude "Levels/AIZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_HCZTitleCard: binclude "Levels/HCZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_MGZTitleCard: binclude "Levels/MGZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_CNZTitleCard: binclude "Levels/CNZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_ICZTitleCard: binclude "Levels/ICZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_LBZTitleCard: binclude "Levels/LBZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_ALZTitleCard: binclude "Levels/ALZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_BPZTitleCard: binclude "Levels/BPZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_CGZTitleCard: binclude "Levels/CGZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_DPZTitleCard: binclude "Levels/DPZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_EMZTitleCard: binclude "Levels/EMZ/KosinskiM Art/Title Card.bin"
- even
-Pal_SaveMenuBG: binclude "General/Save Menu/Palettes/BG.bin"
- even
-Pal_CompetitionMenuBG: binclude "General/Competition Menu/Palettes/BG.bin"
- even
-MapEni_S3MenuBG: binclude "General/Title/Enigma Map/S3 Menu BG.bin"
- even
-ArtKos_S3MenuBG: binclude "General/Save Menu/Kosinski Art/Menu BG.bin"
- even
-MapEni_CompetitionLevBorder: binclude "General/Competition Menu/Enigma Map/Level Border.bin"
- even
-MapUnc_CompetitionTimeBorder: binclude "General/Competition Menu/Uncompressed Map/Time Border.bin"
- even
-MapUnc_CompetitionBESTTIME: binclude "General/Competition Menu/Uncompressed Map/Time Text.bin"
- even
-MapEni_CompetitionLevImage: binclude "General/Competition Menu/Enigma Map/Level Images.bin"
- even
-MapEni_CompetitionLevName: binclude "General/Competition Menu/Enigma Map/Level Names.bin"
- even
-ArtKos_CompetitionMode: binclude "General/Competition Menu/Kosinski Art/Mode Select.bin"
- even
-ArtKos_CompetitionLevel: binclude "General/Competition Menu/Kosinski Art/Level Select.bin"
- even
-ArtKos_CompetitionResults: binclude "General/Competition Menu/Kosinski Art/Results.bin"
- even
-Map_CompetitionPlayerSprite: include "General/Competition Menu/Map - Competition Player Sprites.asm"
-
-ArtKos_CompetitionPlayer: binclude "General/Competition Menu/Kosinski Art/Player Sprites.bin"
- even
-MapEni_SaveScreen_Layout: binclude "General/Save Menu/Enigma Map/Save Screen Layout.bin"
- even
-MapUnc_SaveScreenNEW: binclude "General/Save Menu/Uncompressed Map/NEW.bin"
- even
-MapPtrs_SaveScreenStatic: dc.l MapUnc_SaveScreenStatic1
- dc.l MapUnc_SaveScreenStatic2
- dc.l MapUnc_SaveScreenStatic3
- dc.l MapUnc_SaveScreenStatic4
-
-MapUnc_SaveScreenStatic1: binclude "General/Save Menu/Uncompressed Map/Static 1.bin"
- even
-MapUnc_SaveScreenStatic2: binclude "General/Save Menu/Uncompressed Map/Static 2.bin"
- even
-MapUnc_SaveScreenStatic3: binclude "General/Save Menu/Uncompressed Map/Static 3.bin"
- even
-MapUnc_SaveScreenStatic4: binclude "General/Save Menu/Uncompressed Map/Static 4.bin"
- even
-ArtKos_SaveScreenMisc: binclude "General/Save Menu/Kosinski Art/Misc.bin"
- even
+ArtUnc_AniAIZ1_0:
+ binclude "Levels/AIZ/Animated Tiles/Act1 0.bin"
+ even
+ArtUnc_AniAIZ1_1:
+ binclude "Levels/AIZ/Animated Tiles/Act1 1.bin"
+ even
+ArtUnc_AniAIZ2_1:
+ binclude "Levels/AIZ/Animated Tiles/Act2 1.bin"
+ even
+ArtUnc_AniAIZ2_0:
+ binclude "Levels/AIZ/Animated Tiles/Act2 0.bin"
+ even
+ArtUnc_AniAIZ2_3:
+ binclude "Levels/AIZ/Animated Tiles/Act2 3.bin"
+ even
+ArtUnc_AniAIZ2_2:
+ binclude "Levels/AIZ/Animated Tiles/Act2 2.bin"
+ even
+ArtUnc_AniAIZ2_FirstTree:
+ binclude "Levels/AIZ/Animated Tiles/Act2 First Tree.bin"
+ even
+ArtUnc_AniHCZ1_0:
+ binclude "Levels/HCZ/Animated Tiles/Act1 0.bin"
+ even
+ArtUnc_AniHCZ1_WaterlineBelow:
+ binclude "Levels/HCZ/Animated Tiles/Act1 Water Below 1.bin"
+ even
+ArtUnc_FixHCZ1_UpperBG1:
+ binclude "Levels/HCZ/Animated Tiles/Act1 Upper BG 1.bin"
+ even
+ArtUnc_AniHCZ1_WaterlineAbove:
+ binclude "Levels/HCZ/Animated Tiles/Act1 Water Above 1.bin"
+ even
+ArtUnc_FixHCZ1_LowerBG1:
+ binclude "Levels/HCZ/Animated Tiles/Act1 Lower BG 1.bin"
+ even
+ArtUnc_AniHCZ1_WaterlineBelow2:
+ binclude "Levels/HCZ/Animated Tiles/Act1 Water Below 2.bin"
+ even
+ArtUnc_FixHCZ1_UpperBG2:
+ binclude "Levels/HCZ/Animated Tiles/Act1 Upper BG 2.bin"
+ even
+ArtUnc_AniHCZ1_WaterlineAbove2:
+ binclude "Levels/HCZ/Animated Tiles/Act1 Water Above 2.bin"
+ even
+ArtUnc_FixHCZ1_LowerBG2:
+ binclude "Levels/HCZ/Animated Tiles/Act1 Lower BG 2.bin"
+ even
+ArtUnc_AniHCZ__1:
+ binclude "Levels/HCZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniHCZ2_0:
+ binclude "Levels/HCZ/Animated Tiles/Act2 0.bin"
+ even
+ArtUnc_AniHCZ2_SmallBGLine:
+ binclude "Levels/HCZ/Animated Tiles/Act2 1.bin"
+ even
+ArtUnc_AniHCZ2_2:
+ binclude "Levels/HCZ/Animated Tiles/Act2 2.bin"
+ even
+ArtUnc_AniHCZ2_3:
+ binclude "Levels/HCZ/Animated Tiles/Act2 3.bin"
+ even
+ArtUnc_AniHCZ2_4:
+ binclude "Levels/HCZ/Animated Tiles/Act2 4.bin"
+ even
+ArtUnc_AniMGZ__0:
+ binclude "Levels/MGZ/Animated Tiles/MGZ Animated 0.bin"
+ even
+ArtUnc_AniMGZ__1:
+ binclude "Levels/MGZ/Animated Tiles/MGZ Animated 1.bin"
+ even
+ArtUnc_AniCNZ__0:
+ binclude "Levels/CNZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniCNZ__1:
+ binclude "Levels/CNZ/Animated Tiles/1.bin"
+ even
+ArtUnc_AniCNZ__2:
+ binclude "Levels/CNZ/Animated Tiles/2.bin"
+ even
+ArtUnc_AniCNZ__3:
+ binclude "Levels/CNZ/Animated Tiles/3.bin"
+ even
+ArtUnc_AniCNZ__4:
+ binclude "Levels/CNZ/Animated Tiles/4.bin"
+ even
+ArtUnc_AniCNZ__6:
+ binclude "Levels/CNZ/Animated Tiles/6.bin"
+ even
+ArtUnc_AniCNZ__5:
+ binclude "Levels/CNZ/Animated Tiles/5.bin"
+ even
+ArtUnc_AniICZ__1:
+ binclude "Levels/ICZ/Animated Tiles/1.bin"
+ even
+ArtUnc_AniICZ__2:
+ binclude "Levels/ICZ/Animated Tiles/2.bin"
+ even
+ArtUnc_AniICZ__3:
+ binclude "Levels/ICZ/Animated Tiles/3.bin"
+ even
+ArtUnc_AniICZ__4:
+ binclude "Levels/ICZ/Animated Tiles/4.bin"
+ even
+ArtUnc_AniICZ__5:
+ binclude "Levels/ICZ/Animated Tiles/5.bin"
+ even
+ArtUnc_AniICZ__0:
+ binclude "Levels/ICZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniLBZ1_0:
+ binclude "Levels/LBZ/Animated Tiles/Act1 0.bin"
+ even
+ArtUnc_AniLBZ1_1:
+ binclude "Levels/LBZ/Animated Tiles/Act1 1.bin"
+ even
+ArtUnc_AniLBZ1_2:
+ binclude "Levels/LBZ/Animated Tiles/Act1 2.bin"
+ even
+ArtUnc_AniLBZ2_2:
+ binclude "Levels/LBZ/Animated Tiles/Act2 2.bin"
+ even
+ArtUnc_AniLBZ2_WaterlineBelow:
+ binclude "Levels/LBZ/Animated Tiles/Act2 Water Below.bin"
+ even
+ArtUnc_AniLBZ2_LowerBG:
+ binclude "Levels/LBZ/Animated Tiles/Act2 Lower BG.bin"
+ even
+ArtUnc_AniLBZ2_WaterlineAbove:
+ binclude "Levels/LBZ/Animated Tiles/Act2 Water Above.bin"
+ even
+ArtUnc_AniLBZ2_UpperBG:
+ binclude "Levels/LBZ/Animated Tiles/Act2 Upper BG.bin"
+ even
+ArtUnc_AniLBZ__0:
+ binclude "Levels/LBZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniLBZ2_0:
+ binclude "Levels/LBZ/Animated Tiles/Act2 0.bin"
+ even
+ArtUnc_AniLBZ2_1:
+ binclude "Levels/LBZ/Animated Tiles/Act2 1.bin"
+ even
+ArtUnc_AniALZ:
+ binclude "Levels/ALZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniBPZ__0:
+ binclude "Levels/BPZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniBPZ__1:
+ binclude "Levels/BPZ/Animated Tiles/1.bin"
+ even
+ArtUnc_AniBPZ__2:
+ binclude "Levels/BPZ/Animated Tiles/2.bin"
+ even
+ArtUnc_AniBPZ__3:
+ binclude "Levels/BPZ/Animated Tiles/3.bin"
+ even
+ArtUnc_AniDPZ:
+ binclude "Levels/DPZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniDPZ__BG:
+ binclude "Levels/DPZ/Animated Tiles/BG 0.bin"
+ even
+ArtUnc_AniGumball:
+ binclude "Levels/Gumball/Animated Tiles/0.bin"
+ even
+ArtUnc_SplashDrown:
+ binclude "General/Sprites/Dash Dust/Splash Drown.bin"
+ even
+ArtNem_Title_SonicSprites:
+ binclude "General/Title/Nemesis Art/S3 Sonic Sprites.bin"
+ even
+DemoDat_AIZ: binclude "Levels/AIZ/Demodata/1.bin"
+ even
+DemoDat_HCZ: binclude "Levels/HCZ/Demodata/1.bin"
+ even
+DemoDat_MGZ: binclude "Levels/MGZ/Demodata/1.bin"
+ even
+ArtUnc_Tails:
+ binclude "General/Sprites/Tails/Art/Tails.bin"
+ even
+ArtUnc_Tails_Tail:
+ binclude "General/Sprites/Tails/Art/Tails tails.bin"
+ even
+ArtUnc_Sonic2P:
+ binclude "General/Sprites/Sonic/Art/Sonic 2P.bin"
+ even
+ArtUnc_Tails2P:
+ binclude "General/Sprites/Tails/Art/Tails 2P.bin"
+ even
+ArtUnc_Tails2P_Tail:
+ binclude "General/Sprites/Tails/Art/Tails tails 2P.bin"
+ even
+ArtUnc_Knuckles2P:
+ binclude "General/Sprites/Knuckles/Art/Knuckles 2P.bin"
+ even
+Map_Tails_Tail:
+ include "General/Sprites/Tails/Map - Tails tails.asm"
+PLC_Tails_Tail:
+ include "General/Sprites/Tails/DPLC - Tails tails.asm"
+
+ICZSnowboard_Slope1:
+ binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 1.bin"
+ even
+ICZSnowboard_Slope2:
+ binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 2.bin"
+ even
+ArtUnc_SonicSnowboard:
+ binclude "General/Sprites/Sonic/Art/Sonic Snowboarding.bin"
+ even
+ArtUnc_Snowboard:
+ binclude "General/Sprites/Snowboard/Snowboard.bin"
+ even
+Map_SonicSnowboard:
+ include "General/Sprites/Sonic/Map - Sonic Snowboarding.asm"
+DPLC_SonicSnowboard:
+ include "General/Sprites/Sonic/DPLC - Sonic Snowboarding.asm"
+Map_Snowboard:
+ include "General/Sprites/Snowboard/Map - Snowboard.asm"
+DPLC_Snowboard:
+ include "General/Sprites/Snowboard/DPLC - Snowboard.asm"
+
+ArtNem_AIZIntroSprites:
+ binclude "Levels/AIZ/Nemesis Art/Intro Waves.bin"
+ even
+ArtNem_2PDashdust:
+ binclude "General/2P Zone/Nemesis Art/Spindash Dust.bin"
+ even
+MapEni_S3TitleSonic1:
+ binclude "General/Title/Enigma Map/S3 Sonic 1.bin"
+ even
+MapEni_S3TitleSonic2:
+ binclude "General/Title/Enigma Map/S3 Sonic 2.bin"
+ even
+MapEni_S3TitleSonic3:
+ binclude "General/Title/Enigma Map/S3 Sonic 3.bin"
+ even
+MapEni_S3TitleSonic4:
+ binclude "General/Title/Enigma Map/S3 Sonic 4.bin"
+ even
+MapEni_S3TitleSonic5:
+ binclude "General/Title/Enigma Map/S3 Sonic 5.bin"
+ even
+MapEni_S3TitleSonic6:
+ binclude "General/Title/Enigma Map/S3 Sonic 6.bin"
+ even
+MapEni_S3TitleSonic7:
+ binclude "General/Title/Enigma Map/S3 Sonic 7.bin"
+ even
+MapEni_S3TitleSonic8:
+ binclude "General/Title/Enigma Map/S3 Sonic 8.bin"
+ even
+MapEni_S3TitleSonic9:
+ binclude "General/Title/Enigma Map/S3 Sonic 9.bin"
+ even
+MapEni_S3TitleSonicA:
+ binclude "General/Title/Enigma Map/S3 Sonic A.bin"
+ even
+MapEni_S3TitleSonicB:
+ binclude "General/Title/Enigma Map/S3 Sonic B.bin"
+ even
+MapEni_S3TitleSonicC:
+ binclude "General/Title/Enigma Map/S3 Sonic C.bin"
+ even
+MapEni_S3TitleSonicD:
+ binclude "General/Title/Enigma Map/S3 Sonic D.bin"
+ even
+MapEni_S3TitleBg:
+ binclude "General/Title/Enigma Map/S3 BG.bin"
+ even
+Map_S3TitleBanner:
+ include "General/Title/Map - S3 Banner.asm"
+
+ArtNem_Title_S3Banner:
+ binclude "General/Title/Nemesis Art/S3 Banner.bin"
+ even
+ArtKos_S3TitleSonic1:
+ binclude "General/Title/Kosinski Art/S3 Sonic 1.bin"
+ even
+ArtKos_S3TitleSonic8:
+ binclude "General/Title/Kosinski Art/S3 Sonic 8.bin"
+ even
+ArtKos_S3TitleSonic9:
+ binclude "General/Title/Kosinski Art/S3 Sonic 9.bin"
+ even
+ArtKos_S3TitleSonicA:
+ binclude "General/Title/Kosinski Art/S3 Sonic A.bin"
+ even
+ArtKos_S3TitleSonicB:
+ binclude "General/Title/Kosinski Art/S3 Sonic B.bin"
+ even
+ArtKos_S3TitleSonicC:
+ binclude "General/Title/Kosinski Art/S3 Sonic C.bin"
+ even
+ArtKos_S3TitleSonicD:
+ binclude "General/Title/Kosinski Art/S3 Sonic D.bin"
+ even
+ArtNem_TailsLifeIcon:
+ binclude "General/Sprites/HUD Icon/Tails Life Icon.bin"
+ even
+Map_LBZMiniboss:
+ include "Levels/LBZ/Misc Object Data/Map - Miniboss.asm"
+Map_LBZMinibossBox:
+ include "Levels/LBZ/Misc Object Data/Map - Miniboss Box.asm"
+Map_SnaleBlaster:
+ include "General/Sprites/Snale Blaster/Map - Snale Blaster.asm"
+Map_Orbinaut:
+ include "General/Sprites/Orbinaut/Map - Orbinaut.asm"
+Map_Ribot:
+ include "General/Sprites/Ribot/Map - Ribot.asm"
+Map_Corkey:
+ include "General/Sprites/Corkey/Map - Corkey.asm"
+Map_Flybot767:
+ include "General/Sprites/Flybot767/Map - Flybot767.asm"
+DPLC_Flybot767:
+ include "General/Sprites/Flybot767/DPLC - Flybot767.asm"
+Map_LBZEndBoss:
+ include "Levels/LBZ/Misc Object Data/Map - End Boss.asm"
+Map_CNZEndBoss:
+ include "Levels/CNZ/Misc Object Data/Map - End Boss.asm"
+CNZEndBossMagnet_AngleX:
+ dc.b 0, 1, 2, 3, 4, 5, 6, 8, 9, $A, $B, $C, $D, $E, $F, $10
+ dc.b $11, $12, $13, $14, $15, $16, $17, $18, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E
+ dc.b $1F, $20, $21, $21, $22, $23, $23, $24, $25, $25, $26, $26, $27, $27, $28, $28
+ dc.b $29, $29, $29, $2A, $2A, $2A, $2B, $2B, $2B, $2B, $2C, $2C, $2C, $2C, $2C, $2C
+LBZFinalBoss2_CircleLookup:
+ dc.b 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $C, $D, $D, $E
+ dc.b $F, $10, $11, $12, $13, $14, $15, $15, $16, $17, $18, $19, $19, $1A, $1B, $1C
+ dc.b $1C, $1D, $1E, $1E, $1F, $20, $20, $21, $21, $22, $22, $23, $23, $24, $24, $25
+ dc.b $25, $25, $26, $26, $26, $27, $27, $27, $27, $27, $28, $28, $28, $28, $28, $28
+Map_Blastoid:
+ include "General/Sprites/Blastoid/Map - Blastoid.asm"
+Map_Poindexter:
+ include "General/Sprites/Pointdexter/Map - Pointdexter.asm"
+Map_Buggernaut:
+ include "General/Sprites/Buggernaut/Map - Buggernaut.asm"
+Map_MegaChopper:
+ include "General/Sprites/Mega Chopper/Map - Mega Chopper.asm"
+Map_TurboSpiker:
+ include "General/Sprites/Turbo Spiker/Map - Turbo Spiker.asm"
+Map_Jawz:
+ include "General/Sprites/Jawz/Map - Jawz.asm"
+DPLC_Rhinobot:
+ include "General/Sprites/Rhinobot/DPLC - Rhinobot.asm"
+Map_Rhinobot:
+ include "General/Sprites/Rhinobot/Map - Rhinobot.asm"
+Map_AIZMinibossFlame:
+ include "Levels/AIZ/Misc Object Data/Map - Miniboss Flame.asm"
+Map_Bloominator:
+ include "General/Sprites/Bloominator/Map - Bloominator.asm"
+Map_MonkeyDude:
+ include "General/Sprites/Monkey Dude/Map - Monkey Dude.asm"
+Map_MGZMiniboss:
+ include "Levels/MGZ/Misc Object Data/Map - Miniboss.asm"
+Map_CaterKillerJr:
+ include "General/Sprites/Caterkiller Jr/Map - Caterkiller Jr.asm"
+DPLC_Clamer:
+ include "General/Sprites/Clamer/DPLC - Clamer.asm"
+Map_Clamer:
+ include "General/Sprites/Clamer/Map - Clamer.asm"
+Map_Sparkle:
+ include "General/Sprites/Sparkle/Map - Sparkle.asm"
+Map_Batbot:
+ include "General/Sprites/Batbot/Map - Batbot.asm"
+DPLC_BubblesBadnik:
+ include "General/Sprites/Bubbles Badnik/DPLC - Bubbles Badnik.asm"
+Map_BubblesBadnik:
+ include "General/Sprites/Bubbles Badnik/Map - Bubbles Badnik.asm"
+Map_Spiker:
+ include "General/Sprites/Spiker/Map - Spiker.asm"
+Map_Mantis:
+ include "General/Sprites/Mantis/Map - Mantis.asm"
+DPLC_Penguinator:
+ include "General/Sprites/Penguinator/DPLC - Penguinator.asm"
+Map_Penguinator:
+ include "General/Sprites/Penguinator/Map - Penguinator.asm"
+Map_ICZSnowdust:
+ include "Levels/ICZ/Misc Object Data/Map - Snowdust.asm"
+Map_StarPointer:
+ include "General/Sprites/Star Pointer/Map - Star Pointer.asm"
+Map_AIZEndBoss:
+ include "Levels/AIZ/Misc Object Data/Map - End Boss.asm"
+Map_AIZMiniboss:
+ include "Levels/AIZ/Misc Object Data/Map - Miniboss.asm"
+Map_AIZMinibossSmall:
+ include "Levels/AIZ/Misc Object Data/Map - Miniboss Small.asm"
+Map_MGZEndBoss:
+ include "Levels/MGZ/Misc Object Data/Map - End Boss.asm"
+HCZMiniboss_RocketTwistLookup:
+ dc.b $18, $18, $18, $18, $18, $18, $18, $18, $18, $17, $17, $17, $17, $17, $17, $16
+ dc.b $16, $16, $16, $15, $15, $15, $15, $14, $14, $14, $13, $13, $13, $12, $12, $11
+ dc.b $11, $11, $10, $10, $F, $F, $E, $E, $D, $D, $C, $C, $B, $B, $A, $A
+ dc.b 9, 9, 8, 8, 7, 6, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1
+ dc.b 0, $FF, $FF, $FE, $FE, $FD, $FC, $FC, $FB, $FB, $FA, $FA, $F9, $F8, $F8, $F7
+ dc.b $F7, $F6, $F6, $F5, $F5, $F4, $F4, $F3, $F3, $F2, $F2, $F1, $F1, $F0, $F0, $EF
+ dc.b $EF, $EF, $EE, $EE, $ED, $ED, $ED, $EC, $EC, $EC, $EB, $EB, $EB, $EB, $EA, $EA
+ dc.b $EA, $EA, $E9, $E9, $E9, $E9, $E9, $E9, $E8, $E8, $E8, $E8, $E8, $E8, $E8, $E8
+LBZ2FinalBoss2_CircleLookup2:
+ dc.b 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
+ dc.b 8, 8, 9, 9, 9, $A, $A, $B, $B, $C, $C, $C, $D, $D, $D, $E
+ dc.b $E, $E, $F, $F, $F, $10, $10, $10, $11, $11, $11, $11, $12, $12, $12, $12
+ dc.b $12, $13, $13, $13, $13, $13, $13, $14, $14, $14, $14, $14, $14, $14, $14, $14
+Map_HCZMiniboss:
+ include "Levels/HCZ/Misc Object Data/Map - Miniboss.asm"
+Map_HCZMinibossSplash:
+ include "Levels/HCZ/Misc Object Data/Map - Miniboss Splash.asm"
+DPLC_HCZMinibossSplash:
+ include "Levels/HCZ/Misc Object Data/DPLC - Miniboss Splash.asm"
+Map_ICZEndBoss:
+ include "Levels/ICZ/Misc Object Data/Map - End Boss.asm"
+Map_CNZMiniboss:
+ include "Levels/CNZ/Misc Object Data/Map - Miniboss.asm"
+ICZMiniboss_OrbAngleLookup:
+ dc.b 0, 1, 2, 4, 5, 6, 7, 8, 9, $B, $C, $D, $E, $F, $10, $11
+ dc.b $12, $13, $15, $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E, $1F, $20, $21
+ dc.b $22, $23, $24, $24, $25, $26, $27, $27, $28, $29, $29, $2A, $2A, $2B, $2B, $2C
+ dc.b $2C, $2D, $2D, $2E, $2E, $2E, $2F, $2F, $2F, $2F, $2F, $30, $30, $30, $30, $30
+Map_ICZMiniboss:
+ include "Levels/ICZ/Misc Object Data/Map - Miniboss.asm"
+Map_HCZEndBoss:
+ include "Levels/HCZ/Misc Object Data/Map - End Boss.asm"
+Map_MGZEndBossDebris:
+ include "Levels/MGZ/Misc Object Data/Map - End Boss Debris.asm"
+Map_ICZWallAndColumn:
+ include "Levels/ICZ/Misc Object Data/Map - Wall and Column.asm"
+Map_ICZPlatforms:
+ include "Levels/ICZ/Misc Object Data/Map - Platforms.asm"
+Map_LBZKnuxBomb:
+ include "Levels/LBZ/Misc Object Data/Map - Knuckles Bomb.asm"
+Map_CutsceneKnux:
+ include "General/Sprites/Knuckles/Cutscene/Map - Cutscene Knuckles.asm"
+DPLC_CutsceneKnux:
+ include "General/Sprites/Knuckles/Cutscene/DPLC - Cutscene Knuckles.asm"
+Map_AIZIntroPlane:
+ include "Levels/AIZ/Misc Object Data/Map - Intro Plane.asm"
+Map_AIZIntroEmeralds:
+ include "Levels/AIZ/Misc Object Data/Map - Intro Emeralds.asm"
+Map_LBZFinalBoss1:
+ include "Levels/LBZ/Misc Object Data/Map - Final Boss 1.asm"
+Map_LBZDeathEggSmall:
+ include "Levels/LBZ/Misc Object Data/Map - Death Egg Small.asm"
+Pal_MGZFadeCNZ:
+ binclude "Levels/MGZ/Palettes/Fade to CNZ.bin"
+ even
+Map_LBZFinalBoss2:
+ include "Levels/LBZ/Misc Object Data/Map - Final Boss 2.asm"
+
+ArtNem_AIZMiniboss:
+ binclude "Levels/AIZ/Nemesis Art/Miniboss.bin"
+ even
+ArtKosM_AIZEndBoss:
+ binclude "Levels/AIZ/KosinskiM Art/End Boss.bin"
+ even
+ArtNem_AIZMinibossSmall:
+ binclude "Levels/AIZ/Nemesis Art/Miniboss Small.bin"
+ even
+ArtUnc_AIZRhinobot:
+ binclude "General/Sprites/Rhinobot/Rhinobot.bin"
+ even
+ArtKosM_AIZ_Bloominator:
+ binclude "General/Sprites/Bloominator/Bloominator.bin"
+ even
+ArtKosM_AIZ_MonkeyDude:
+ binclude "General/Sprites/Monkey Dude/Monkey Dude.bin"
+ even
+ArtKosM_AIZ_CaterkillerJr:
+ binclude "General/Sprites/Caterkiller Jr/Caterkiller Jr.bin"
+ even
+ArtNem_HCZMiniboss:
+ binclude "Levels/HCZ/Nemesis Art/Miniboss.bin"
+ even
+ArtNem_HCZEndBoss:
+ binclude "Levels/HCZ/Nemesis Art/End Boss.bin"
+ even
+ArtNem_HCZDragonfly:
+ binclude "Levels/HCZ/Nemesis Art/Dragonfly.bin"
+ even
+ArtKosM_Jawz:
+ binclude "General/Sprites/Jawz/Jawz.bin"
+ even
+ArtKosM_MegaChopper:
+ binclude "General/Sprites/Mega Chopper/Mega Chopper.bin"
+ even
+ArtKosM_Blastoid:
+ binclude "General/Sprites/Blastoid/Blastoid.bin"
+ even
+ArtKosM_TurboSpiker:
+ binclude "General/Sprites/Turbo Spiker/Turbo Spiker.bin"
+ even
+ArtKosM_Pointdexter:
+ binclude "General/Sprites/Pointdexter/Pointdexter.bin"
+ even
+ArtKosM_MGZMiniboss:
+ binclude "Levels/MGZ/KosinskiM Art/Miniboss.bin"
+ even
+ArtNem_MGZSpire:
+ binclude "Levels/MGZ/Nemesis Art/Spire.bin"
+ even
+ArtKosM_MGZEndBoss:
+ binclude "Levels/MGZ/KosinskiM Art/End Boss.bin"
+ even
+ArtScaled_MGZEndBoss:
+ binclude "Levels/MGZ/Misc/MGZ End Boss Scaled.bin"
+ even
+ArtKosM_MGZEndBossDebris:
+ binclude "Levels/MGZ/KosinskiM Art/End Boss Debris.bin"
+ even
+ArtUnc_BubblesBadnik:
+ binclude "General/Sprites/Bubbles Badnik/Bubbles Badnik.bin"
+ even
+ArtKosM_Spiker:
+ binclude "General/Sprites/Spiker/Spiker.bin"
+ even
+ArtKosM_Mantis:
+ binclude "General/Sprites/Mantis/Mantis.bin"
+ even
+ArtNem_CNZMiniboss:
+ binclude "Levels/CNZ/Nemesis Art/Miniboss.bin"
+ even
+ArtNem_CNZEndBoss:
+ binclude "Levels/CNZ/Nemesis Art/End Boss.bin"
+ even
+ArtUnc_Clamer:
+ binclude "General/Sprites/Clamer/Clamer.bin"
+ even
+ArtKosM_ClamerShot:
+ binclude "General/Sprites/Clamer/Clamer Shot.bin"
+ even
+ArtKosM_Sparkle:
+ binclude "General/Sprites/Sparkle/Sparkle.bin"
+ even
+ArtKosM_Batbot:
+ binclude "General/Sprites/Batbot/Batbot.bin"
+ even
+ArtKosM_CNZBalloon:
+ binclude "Levels/CNZ/KosinskiM Art/Balloon.bin"
+ even
+ArtNem_ICZMisc1:
+ binclude "Levels/ICZ/Nemesis Art/Misc Art 1.bin"
+ even
+ArtNem_ICZIntroSprites:
+ binclude "Levels/ICZ/Nemesis Art/Intro Sprites.bin"
+ even
+ArtNem_ICZMisc2:
+ binclude "Levels/ICZ/Nemesis Art/Misc Art 2.bin"
+ even
+ArtNem_ICZEndBoss:
+ binclude "Levels/ICZ/Nemesis Art/End Boss.bin"
+ even
+ArtNem_ICZMiniboss:
+ binclude "Levels/ICZ/Nemesis Art/Miniboss.bin"
+ even
+ArtUnc_Penguinator:
+ binclude "General/Sprites/Penguinator/Penguinator.bin"
+ even
+ArtKosM_ICZSnowdust:
+ binclude "Levels/ICZ/KosinskiM Art/Snowdust.bin"
+ even
+ArtKosM_StarPointer:
+ binclude "General/Sprites/Star Pointer/Star Pointer.bin"
+ even
+ArtKosM_LBZMiniboss:
+ binclude "Levels/LBZ/KosinskiM Art/Miniboss.bin"
+ even
+ArtKosM_LBZMinibossBox:
+ binclude "Levels/LBZ/KosinskiM Art/Miniboss Box.bin"
+ even
+ArtNem_LBZFinalBoss1:
+ binclude "Levels/LBZ/Nemesis Art/Final Boss 1.bin"
+ even
+ArtKosM_LBZEndBoss:
+ binclude "Levels/LBZ/KosinskiM Art/End Boss.bin"
+ even
+ArtKosM_LBZFinalBoss2:
+ binclude "Levels/LBZ/KosinskiM Art/Final Boss 2.bin"
+ even
+ArtKosM_SnaleBlaster:
+ binclude "General/Sprites/Snale Blaster/Snale Blaster.bin"
+ even
+ArtKosM_Ribot:
+ binclude "General/Sprites/Ribot/Ribot.bin"
+ even
+ArtKosM_Orbinaut:
+ binclude "General/Sprites/Orbinaut/Orbinaut.bin"
+ even
+ArtKosM_Corkey:
+ binclude "General/Sprites/Corkey/Corkey.bin"
+ even
+ArtUnc_Flybot767:
+ binclude "General/Sprites/Flybot767/Flybot767.bin"
+ even
+ArtNem_LBZKnuxBomb:
+ binclude "Levels/LBZ/Nemesis Art/Knuckles Bomb.bin"
+ even
+ArtKosM_LBZ2DeathEggSmall:
+ binclude "Levels/LBZ/KosinskiM Art/Act 2 Death Egg Small.bin"
+ even
+ArtKosM_LBZ2DeathEgg2_8x8:
+ binclude "Levels/LBZ/Tiles/Act 2 Death Egg 2.bin"
+ even
+ArtNem_AIZBossFire:
+ binclude "Levels/AIZ/Nemesis Art/Miniboss Fire.bin"
+ even
+ArtKosM_AIZIntroPlane:
+ binclude "Levels/AIZ/KosinskiM Art/Intro Plane.bin"
+ even
+ArtUnc_CutsceneKnux:
+ binclude "General/Sprites/Knuckles/Cutscene/Cutscene Main.bin"
+ even
+ArtKosM_AIZIntroEmeralds:
+ binclude "Levels/AIZ/KosinskiM Art/Intro Emeralds.bin"
+ even
+ArtKosM_TailsEndPose:
+ binclude "General/Ending/KosinskiM Art/Tails Ending Pose.bin"
+ even
+ArtNem_S38x16Font:
+ binclude "General/Ending/Nemesis Art/S3 8x16 Font.bin"
+ even
+ArtNem_AIZCorkFloor:
+ binclude "Levels/AIZ/Nemesis Art/Cork Floor 1.bin"
+ even
+ArtNem_AIZCorkFloor2:
+ binclude "Levels/AIZ/Nemesis Art/Cork Floor 2.bin"
+ even
+ArtNem_AIZSwingVine:
+ binclude "Levels/AIZ/Nemesis Art/Swing Vine.bin"
+ even
+ArtNem_AIZSlideRope:
+ binclude "Levels/AIZ/Nemesis Art/Zip Vine.bin"
+ even
+ArtNem_AIZBackgroundTree:
+ binclude "Levels/AIZ/Nemesis Art/BG Tree.bin"
+ even
+ArtNem_AIZMisc1:
+ binclude "Levels/AIZ/Nemesis Art/Misc Art 1.bin"
+ even
+ArtNem_AIZFallingLog:
+ binclude "Levels/AIZ/Nemesis Art/Falling Log.bin"
+ even
+ArtNem_AIZMisc2:
+ binclude "Levels/AIZ/Nemesis Art/Misc Art 2.bin"
+ even
+ArtNem_HCZSpikeBall:
+ binclude "Levels/HCZ/Nemesis Art/Spike Ball.bin"
+ even
+ArtNem_HCZWaveSplash:
+ binclude "Levels/HCZ/Nemesis Art/Wave Splash.bin"
+ even
+ArtNem_HCZButton:
+ binclude "Levels/HCZ/Nemesis Art/Button.bin"
+ even
+ArtNem_HCZMisc:
+ binclude "Levels/HCZ/Nemesis Art/Misc Art.bin"
+ even
+ArtNem_HCZWaterRush:
+ binclude "Levels/HCZ/Nemesis Art/Water Rush.bin"
+ even
+ArtKosM_HCZLargeFan:
+ binclude "Levels/HCZ/KosinskiM Art/Large Fan.bin"
+ even
+ArtKosM_HCZGeyserHorz:
+ binclude "Levels/HCZ/KosinskiM Art/Geyser Horizontal.bin"
+ even
+ArtKosM_HCZGeyserVert:
+ binclude "Levels/HCZ/KosinskiM Art/Geyser Vertical.bin"
+ even
+ArtNem_HCZ2Slide:
+ binclude "Levels/HCZ/Nemesis Art/Act 2 Slide.bin"
+ even
+ArtNem_HCZ2BlockPlat:
+ binclude "Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin"
+ even
+ArtUnc_HCZWaterSplash2:
+ binclude "Levels/HCZ/Animated Tiles/Water Splash 2.bin"
+ even
+ArtUnc_HCZWaterSplash:
+ binclude "Levels/HCZ/Animated Tiles/Water Splash.bin"
+ even
+ArtNem_HCZ2KnuxWall:
+ binclude "Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin"
+ even
+ArtNem_MGZMisc1:
+ binclude "Levels/MGZ/Nemesis Art/Misc Art 1.bin"
+ even
+ArtNem_MGZMisc2:
+ binclude "Levels/MGZ/Nemesis Art/Misc Art 2.bin"
+ even
+ArtNem_MGZSigns:
+ binclude "Levels/MGZ/Nemesis Art/Direction Signs.bin"
+ even
+ArtNem_CNZMisc:
+ binclude "Levels/CNZ/Nemesis Art/Misc Art.bin"
+ even
+ArtNem_CNZPlatform:
+ binclude "Levels/CNZ/Nemesis Art/Platform.bin"
+ even
+ArtNem_LBZMisc:
+ binclude "Levels/LBZ/Nemesis Art/Misc Art.bin"
+ even
+ArtNem_LBZTubeTrans:
+ binclude "Levels/LBZ/Nemesis Art/Tube Transport.bin"
+ even
+ArtNem_LBZ2Misc:
+ binclude "Levels/LBZ/Nemesis Art/Act 2 Misc Art.bin"
+ even
+ArtNem_2PArt_1:
+ binclude "General/2P Zone/Nemesis Art/Misc Art 1.bin"
+ even
+ArtNem_2PArt_2:
+ binclude "General/2P Zone/Nemesis Art/Misc Art 2.bin"
+ even
+ArtNem_2PArt_3:
+ binclude "General/2P Zone/Nemesis Art/Misc Art 3.bin"
+ even
+ArtNem_2PStartPost:
+ binclude "General/2P Zone/Nemesis Art/Start Post.bin"
+ even
+ArtNem_2PTime:
+ binclude "General/2P Zone/Nemesis Art/Time Display.bin"
+ even
+ArtNem_2PLapNum:
+ binclude "General/2P Zone/Nemesis Art/Lap Numbers.bin"
+ even
+ArtNem_2PPosIcon:
+ binclude "General/2P Zone/Nemesis Art/Position Icons.bin"
+ even
+ArtNem_BPZMisc:
+ binclude "Levels/BPZ/Nemesis Art/Misc Art.bin"
+ even
+ArtNem_DPZMisc:
+ binclude "Levels/DPZ/Nemesis Art/Misc Art.bin"
+ even
+ArtNem_CGZMisc:
+ binclude "Levels/CGZ/Nemesis Art/Platform.bin"
+ even
+ArtNem_EMZMisc:
+ binclude "Levels/EMZ/Nemesis Art/Misc Art.bin"
+ even
+ArtKosM_AIZ2Bombership2_8x8:
+ binclude "Levels/AIZ/Tiles/Act 2 Bombership 2.bin"
+ even
+ArtKosM_ResultsMILES:
+ binclude "General/Sprites/Results/Results MILES.bin"
+ even
+ArtKosM_ResultsTAILS:
+ binclude "General/Sprites/Results/Results TAILS.bin"
+ even
+ArtKosM_AIZTitleCard:
+ binclude "Levels/AIZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_HCZTitleCard:
+ binclude "Levels/HCZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_MGZTitleCard:
+ binclude "Levels/MGZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_CNZTitleCard:
+ binclude "Levels/CNZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_ICZTitleCard:
+ binclude "Levels/ICZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_LBZTitleCard:
+ binclude "Levels/LBZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_ALZTitleCard:
+ binclude "Levels/ALZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_BPZTitleCard:
+ binclude "Levels/BPZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_CGZTitleCard:
+ binclude "Levels/CGZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_DPZTitleCard:
+ binclude "Levels/DPZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_EMZTitleCard:
+ binclude "Levels/EMZ/KosinskiM Art/Title Card.bin"
+ even
+Pal_SaveMenuBG:
+ binclude "General/Save Menu/Palettes/BG.bin"
+ even
+Pal_CompetitionMenuBG:
+ binclude "General/Competition Menu/Palettes/BG.bin"
+ even
+MapEni_S3MenuBG:
+ binclude "General/Save Menu/Enigma Map/Menu BG.bin"
+ even
+ArtKos_S3MenuBG:
+ binclude "General/Save Menu/Kosinski Art/Menu BG.bin"
+ even
+MapEni_CompetitionLevBorder:
+ binclude "General/Competition Menu/Enigma Map/Level Border.bin"
+ even
+MapUnc_CompetitionTimeBorder:
+ binclude "General/Competition Menu/Uncompressed Map/Time Border.bin"
+ even
+MapUnc_CompetitionBESTTIME:
+ binclude "General/Competition Menu/Uncompressed Map/Time Text.bin"
+ even
+MapEni_CompetitionLevImage:
+ binclude "General/Competition Menu/Enigma Map/Level Images.bin"
+ even
+MapEni_CompetitionLevName:
+ binclude "General/Competition Menu/Enigma Map/Level Names.bin"
+ even
+ArtKos_CompetitionMode:
+ binclude "General/Competition Menu/Kosinski Art/Mode Select.bin"
+ even
+ArtKos_CompetitionLevel:
+ binclude "General/Competition Menu/Kosinski Art/Level Select.bin"
+ even
+ArtKos_CompetitionResults:
+ binclude "General/Competition Menu/Kosinski Art/Results.bin"
+ even
+Map_CompetitionPlayerSprite:
+ include "General/Competition Menu/Map - Competition Player Sprites.asm"
+
+ArtKos_CompetitionPlayer:
+ binclude "General/Competition Menu/Kosinski Art/Player Sprites.bin"
+ even
+MapEni_SaveScreen_Layout:
+ binclude "General/Save Menu/Enigma Map/Save Screen Layout.bin"
+ even
+MapUnc_SaveScreenNEW:
+ binclude "General/Save Menu/Uncompressed Map/NEW.bin"
+ even
+MapPtrs_SaveScreenStatic:
+ dc.l MapUnc_SaveScreenStatic1
+ dc.l MapUnc_SaveScreenStatic2
+ dc.l MapUnc_SaveScreenStatic3
+ dc.l MapUnc_SaveScreenStatic4
+MapUnc_SaveScreenStatic1:
+ binclude "General/Save Menu/Uncompressed Map/Static 1.bin"
+ even
+MapUnc_SaveScreenStatic2:
+ binclude "General/Save Menu/Uncompressed Map/Static 2.bin"
+ even
+MapUnc_SaveScreenStatic3:
+ binclude "General/Save Menu/Uncompressed Map/Static 3.bin"
+ even
+MapUnc_SaveScreenStatic4:
+ binclude "General/Save Menu/Uncompressed Map/Static 4.bin"
+ even
+ArtKos_SaveScreenMisc:
+ binclude "General/Save Menu/Kosinski Art/Misc.bin"
+ even
;org $2F8000
-AIZ1_16x16_Primary_Kos: binclude "Levels/AIZ/Blocks/Act 1 Primary.bin"
- even
-AIZ1_16x16_Secondary_Kos: binclude "Levels/AIZ/Blocks/Act 1 Secondary.bin"
- even
-AIZ1_16x16_MainLevel_Kos: binclude "Levels/AIZ/Blocks/Act 1 Main Level.bin"
- even
-AIZ1_8x8_Primary_KosM: binclude "Levels/AIZ/Tiles/Act 1 Primary.bin"
- even
-AIZ1_8x8_Secondary_KosM: binclude "Levels/AIZ/Tiles/Act 1 Secondary.bin"
- even
-AIZ1_8x8_MainLevel_KosM: binclude "Levels/AIZ/Tiles/Act 1 Main Level.bin"
- even
-AIZ1_128x128_Kos: binclude "Levels/AIZ/Chunks/Act 1.bin"
- even
-AIZ1_8x8_Flames_KosM: binclude "Levels/AIZ/Tiles/Act 1 Fire Overlay.bin"
- even
-AIZ2_16x16_Primary_Kos: binclude "Levels/AIZ/Blocks/Act 2 Primary.bin"
- even
-AIZ2_16x16_Secondary_Kos: binclude "Levels/AIZ/Blocks/Act 2 Secondary.bin"
- even
-AIZ2_16x16_BomberShip_Kos: binclude "Levels/AIZ/Blocks/Act 2 BomberShip.bin"
- even
-AIZ2_8x8_Primary_KosM: binclude "Levels/AIZ/Tiles/Act 2 Primary.bin"
- even
-AIZ2_8x8_Secondary_KosM: binclude "Levels/AIZ/Tiles/Act 2 Secondary.bin"
- even
-AIZ2_8x8_BomberShip_KosM: binclude "Levels/AIZ/Tiles/Act 2 Bombership.bin"
- even
-AIZ2_128x128_Kos: binclude "Levels/AIZ/Chunks/Act 2.bin"
- even
-HCZ_16x16_Primary_Kos: binclude "Levels/HCZ/Blocks/Primary.bin"
- even
-HCZ_8x8_Primary_KosM: binclude "Levels/HCZ/Tiles/Primary.bin"
- even
-HCZ_128x128_Primary_Kos: binclude "Levels/HCZ/Chunks/Primary.bin"
- even
-HCZ1_16x16_Secondary_Kos: binclude "Levels/HCZ/Blocks/Act 1 Secondary.bin"
- even
-HCZ1_8x8_Secondary_KosM: binclude "Levels/HCZ/Tiles/Act 1 Secondary.bin"
- even
-HCZ1_128x128_Secondary_Kos: binclude "Levels/HCZ/Chunks/Act 1 Secondary.bin"
- even
-HCZ2_16x16_Secondary_Kos: binclude "Levels/HCZ/Blocks/Act 2 Secondary.bin"
- even
-HCZ2_8x8_Secondary_KosM: binclude "Levels/HCZ/Tiles/Act 2 Secondary.bin"
- even
-HCZ2_128x128_Secondary_Kos: binclude "Levels/HCZ/Chunks/Act 2 Secondary.bin"
- even
-MGZ_16x16_Primary_Kos: binclude "Levels/MGZ/Blocks/Primary.bin"
- even
-MGZ_8x8_Primary_KosM: binclude "Levels/MGZ/Tiles/Primary.bin"
- even
-MGZ_128x128_Primary_Kos: binclude "Levels/MGZ/Chunks/Primary.bin"
- even
-MGZ1_16x16_Secondary_Kos: binclude "Levels/MGZ/Blocks/Act 1 Secondary.bin"
- even
-MGZ1_8x8_Secondary_KosM: binclude "Levels/MGZ/Tiles/Act 1 Secondary.bin"
- even
-MGZ1_128x128_Secondary_Kos: binclude "Levels/MGZ/Chunks/Act 1 Secondary.bin"
- even
-MGZ2_16x16_Secondary_Kos: binclude "Levels/MGZ/Blocks/Act 2 Secondary.bin"
- even
-MGZ2_8x8_Secondary_KosM: binclude "Levels/MGZ/Tiles/Act 2 Secondary.bin"
- even
-MGZ2_128x128_Secondary_Kos: binclude "Levels/MGZ/Chunks/Act 2 Secondary.bin"
- even
-MGZ2_QuakeChunks: binclude "Levels/MGZ/Misc/Act 2 Quake Chunks.bin"
- even
-CNZ_16x16_Kos: binclude "Levels/CNZ/Blocks/Primary.bin"
- even
-CNZ_8x8_KosM: binclude "Levels/CNZ/Tiles/Primary.bin"
- even
-CNZ_128x128_Kos: binclude "Levels/CNZ/Chunks/Primary.bin"
- even
-ICZ_16x16_Primary_Kos: binclude "Levels/ICZ/Blocks/Primary.bin"
- even
-ICZ_8x8_Primary_KosM: binclude "Levels/ICZ/Tiles/Primary.bin"
- even
-ICZ_128x128_Primary_Kos: binclude "Levels/ICZ/Chunks/Primary.bin"
- even
-ICZ1_16x16_Secondary_Kos: binclude "Levels/ICZ/Blocks/Act 1 Secondary.bin"
- even
-ICZ1_8x8_Secondary_KosM: binclude "Levels/ICZ/Tiles/Act 1 Secondary.bin"
- even
-ICZ1_128x128_Secondary_Kos: binclude "Levels/ICZ/Chunks/Act 1 Secondary.bin"
- even
-ICZ2_16x16_Secondary_Kos: binclude "Levels/ICZ/Blocks/Act 2 Secondary.bin"
- even
-ICZ2_8x8_Secondary_KosM: binclude "Levels/ICZ/Tiles/Act 2 Secondary.bin"
- even
-ICZ2_128x128_Secondary_Kos: binclude "Levels/ICZ/Chunks/Act 2 Secondary.bin"
- even
-LBZ_16x16_Primary_Kos: binclude "Levels/LBZ/Blocks/Primary.bin"
- even
-LBZ1_16x16_Secondary_Kos: binclude "Levels/LBZ/Blocks/Act 1 Secondary.bin"
- even
-LBZ_8x8_Primary_KosM: binclude "Levels/LBZ/Tiles/Primary.bin"
- even
-LBZ1_8x8_Secondary_KosM: binclude "Levels/LBZ/Tiles/Act 1 Secondary.bin"
- even
-LBZ1_128x128_Kos: binclude "Levels/LBZ/Chunks/Act 1.bin"
- even
-LBZ2_16x16_Secondary_Kos: binclude "Levels/LBZ/Blocks/Act 2 Secondary.bin"
- even
-LBZ2_16x16_DeathEgg_Kos: binclude "Levels/LBZ/Blocks/Act 2 Death Egg.bin"
- even
-LBZ2_8x8_Secondary_KosM: binclude "Levels/LBZ/Tiles/Act 2 Secondary.bin"
- even
-LBZ2_8x8_DeathEgg_KosM: binclude "Levels/LBZ/Tiles/Act 2 Death Egg.bin"
- even
-LBZ2_128x128_Kos: binclude "Levels/LBZ/Chunks/Act 2.bin"
- even
-LBZ2_128x128_DeathEgg_Kos: binclude "Levels/LBZ/Chunks/Act 2 Death Egg.bin"
- even
-ALZ_16x16_Kos: binclude "Levels/ALZ/Blocks/Primary.bin"
- even
-ALZ_8x8_KosM: binclude "Levels/ALZ/Tiles/Primary.bin"
- even
-ALZ_128x128_Kos: binclude "Levels/ALZ/Chunks/Primary.bin"
- even
-BPZ_16x16_Kos: binclude "Levels/BPZ/Blocks/Primary.bin"
- even
-BPZ_8x8_KosM: binclude "Levels/BPZ/Tiles/Primary.bin"
- even
-BPZ_128x128_Kos: binclude "Levels/BPZ/Chunks/Primary.bin"
- even
-DPZ_16x16_Kos: binclude "Levels/DPZ/Blocks/Primary.bin"
- even
-DPZ_8x8_KosM: binclude "Levels/DPZ/Tiles/Primary.bin"
- even
-DPZ_128x128_Kos: binclude "Levels/DPZ/Chunks/Primary.bin"
- even
-CGZ_16x16_Kos: binclude "Levels/CGZ/Blocks/Primary.bin"
- even
-CGZ_8x8_KosM: binclude "Levels/CGZ/Tiles/Primary.bin"
- even
-CGZ_128x128_Kos: binclude "Levels/CGZ/Chunks/Primary.bin"
- even
-EMZ_16x16_Kos: binclude "Levels/EMZ/Blocks/Primary.bin"
- even
-EMZ_8x8_KosM: binclude "Levels/EMZ/Tiles/Primary.bin"
- even
-EMZ_128x128_Kos: binclude "Levels/EMZ/Chunks/Primary.bin"
- even
-Gumball_16x16_Kos: binclude "Levels/Gumball/Blocks/Primary.bin"
- even
-Gumball_8x8_KosM: binclude "Levels/Gumball/Tiles/Gumball.bin"
- even
-Gumball_128x128_Kos: binclude "Levels/Gumball/Chunks/Primary.bin"
- even
+
+AIZ1_16x16_Primary_Kos:
+ binclude "Levels/AIZ/Blocks/Act 1 Primary.bin"
+ even
+AIZ1_16x16_Secondary_Kos:
+ binclude "Levels/AIZ/Blocks/Act 1 Secondary.bin"
+ even
+AIZ1_16x16_MainLevel_Kos:
+ binclude "Levels/AIZ/Blocks/Act 1 Main Level.bin"
+ even
+AIZ1_8x8_Primary_KosM:
+ binclude "Levels/AIZ/Tiles/Act 1 Primary.bin"
+ even
+AIZ1_8x8_Secondary_KosM:
+ binclude "Levels/AIZ/Tiles/Act 1 Secondary.bin"
+ even
+AIZ1_8x8_MainLevel_KosM:
+ binclude "Levels/AIZ/Tiles/Act 1 Main Level.bin"
+ even
+AIZ1_128x128_Kos:
+ binclude "Levels/AIZ/Chunks/Act 1.bin"
+ even
+AIZ1_8x8_Flames_KosM:
+ binclude "Levels/AIZ/Tiles/Act 1 Fire Overlay.bin"
+ even
+AIZ2_16x16_Primary_Kos:
+ binclude "Levels/AIZ/Blocks/Act 2 Primary.bin"
+ even
+AIZ2_16x16_Secondary_Kos:
+ binclude "Levels/AIZ/Blocks/Act 2 Secondary.bin"
+ even
+AIZ2_16x16_BomberShip_Kos:
+ binclude "Levels/AIZ/Blocks/Act 2 BomberShip.bin"
+ even
+AIZ2_8x8_Primary_KosM:
+ binclude "Levels/AIZ/Tiles/Act 2 Primary.bin"
+ even
+AIZ2_8x8_Secondary_KosM:
+ binclude "Levels/AIZ/Tiles/Act 2 Secondary.bin"
+ even
+AIZ2_8x8_BomberShip_KosM:
+ binclude "Levels/AIZ/Tiles/Act 2 Bombership.bin"
+ even
+AIZ2_128x128_Kos:
+ binclude "Levels/AIZ/Chunks/Act 2.bin"
+ even
+HCZ_16x16_Primary_Kos:
+ binclude "Levels/HCZ/Blocks/Primary.bin"
+ even
+HCZ_8x8_Primary_KosM:
+ binclude "Levels/HCZ/Tiles/Primary.bin"
+ even
+HCZ_128x128_Primary_Kos:
+ binclude "Levels/HCZ/Chunks/Primary.bin"
+ even
+HCZ1_16x16_Secondary_Kos:
+ binclude "Levels/HCZ/Blocks/Act 1 Secondary.bin"
+ even
+HCZ1_8x8_Secondary_KosM:
+ binclude "Levels/HCZ/Tiles/Act 1 Secondary.bin"
+ even
+HCZ1_128x128_Secondary_Kos:
+ binclude "Levels/HCZ/Chunks/Act 1 Secondary.bin"
+ even
+HCZ2_16x16_Secondary_Kos:
+ binclude "Levels/HCZ/Blocks/Act 2 Secondary.bin"
+ even
+HCZ2_8x8_Secondary_KosM:
+ binclude "Levels/HCZ/Tiles/Act 2 Secondary.bin"
+ even
+HCZ2_128x128_Secondary_Kos:
+ binclude "Levels/HCZ/Chunks/Act 2 Secondary.bin"
+ even
+MGZ_16x16_Primary_Kos:
+ binclude "Levels/MGZ/Blocks/Primary.bin"
+ even
+MGZ_8x8_Primary_KosM:
+ binclude "Levels/MGZ/Tiles/Primary.bin"
+ even
+MGZ_128x128_Primary_Kos:
+ binclude "Levels/MGZ/Chunks/Primary.bin"
+ even
+MGZ1_16x16_Secondary_Kos:
+ binclude "Levels/MGZ/Blocks/Act 1 Secondary.bin"
+ even
+MGZ1_8x8_Secondary_KosM:
+ binclude "Levels/MGZ/Tiles/Act 1 Secondary.bin"
+ even
+MGZ1_128x128_Secondary_Kos:
+ binclude "Levels/MGZ/Chunks/Act 1 Secondary.bin"
+ even
+MGZ2_16x16_Secondary_Kos:
+ binclude "Levels/MGZ/Blocks/Act 2 Secondary.bin"
+ even
+MGZ2_8x8_Secondary_KosM:
+ binclude "Levels/MGZ/Tiles/Act 2 Secondary.bin"
+ even
+MGZ2_128x128_Secondary_Kos:
+ binclude "Levels/MGZ/Chunks/Act 2 Secondary.bin"
+ even
+MGZ2_QuakeChunks:
+ binclude "Levels/MGZ/Misc/Act 2 Quake Chunks.bin"
+ even
+CNZ_16x16_Kos:
+ binclude "Levels/CNZ/Blocks/Primary.bin"
+ even
+CNZ_8x8_KosM:
+ binclude "Levels/CNZ/Tiles/Primary.bin"
+ even
+CNZ_128x128_Kos:
+ binclude "Levels/CNZ/Chunks/Primary.bin"
+ even
+ICZ_16x16_Primary_Kos:
+ binclude "Levels/ICZ/Blocks/Primary.bin"
+ even
+ICZ_8x8_Primary_KosM:
+ binclude "Levels/ICZ/Tiles/Primary.bin"
+ even
+ICZ_128x128_Primary_Kos:
+ binclude "Levels/ICZ/Chunks/Primary.bin"
+ even
+ICZ1_16x16_Secondary_Kos:
+ binclude "Levels/ICZ/Blocks/Act 1 Secondary.bin"
+ even
+ICZ1_8x8_Secondary_KosM:
+ binclude "Levels/ICZ/Tiles/Act 1 Secondary.bin"
+ even
+ICZ1_128x128_Secondary_Kos:
+ binclude "Levels/ICZ/Chunks/Act 1 Secondary.bin"
+ even
+ICZ2_16x16_Secondary_Kos:
+ binclude "Levels/ICZ/Blocks/Act 2 Secondary.bin"
+ even
+ICZ2_8x8_Secondary_KosM:
+ binclude "Levels/ICZ/Tiles/Act 2 Secondary.bin"
+ even
+ICZ2_128x128_Secondary_Kos:
+ binclude "Levels/ICZ/Chunks/Act 2 Secondary.bin"
+ even
+LBZ_16x16_Primary_Kos:
+ binclude "Levels/LBZ/Blocks/Primary.bin"
+ even
+LBZ1_16x16_Secondary_Kos:
+ binclude "Levels/LBZ/Blocks/Act 1 Secondary.bin"
+ even
+LBZ_8x8_Primary_KosM:
+ binclude "Levels/LBZ/Tiles/Primary.bin"
+ even
+LBZ1_8x8_Secondary_KosM:
+ binclude "Levels/LBZ/Tiles/Act 1 Secondary.bin"
+ even
+LBZ1_128x128_Kos:
+ binclude "Levels/LBZ/Chunks/Act 1.bin"
+ even
+LBZ2_16x16_Secondary_Kos:
+ binclude "Levels/LBZ/Blocks/Act 2 Secondary.bin"
+ even
+LBZ2_16x16_DeathEgg_Kos:
+ binclude "Levels/LBZ/Blocks/Act 2 Death Egg.bin"
+ even
+LBZ2_8x8_Secondary_KosM:
+ binclude "Levels/LBZ/Tiles/Act 2 Secondary.bin"
+ even
+LBZ2_8x8_DeathEgg_KosM:
+ binclude "Levels/LBZ/Tiles/Act 2 Death Egg.bin"
+ even
+LBZ2_128x128_Kos:
+ binclude "Levels/LBZ/Chunks/Act 2.bin"
+ even
+LBZ2_128x128_DeathEgg_Kos:
+ binclude "Levels/LBZ/Chunks/Act 2 Death Egg.bin"
+ even
+ALZ_16x16_Kos: binclude "Levels/ALZ/Blocks/Primary.bin"
+ even
+ALZ_8x8_KosM: binclude "Levels/ALZ/Tiles/Primary.bin"
+ even
+ALZ_128x128_Kos:binclude "Levels/ALZ/Chunks/Primary.bin"
+ even
+BPZ_16x16_Kos: binclude "Levels/BPZ/Blocks/Primary.bin"
+ even
+BPZ_8x8_KosM: binclude "Levels/BPZ/Tiles/Primary.bin"
+ even
+BPZ_128x128_Kos:binclude "Levels/BPZ/Chunks/Primary.bin"
+ even
+DPZ_16x16_Kos: binclude "Levels/DPZ/Blocks/Primary.bin"
+ even
+DPZ_8x8_KosM: binclude "Levels/DPZ/Tiles/Primary.bin"
+ even
+DPZ_128x128_Kos:binclude "Levels/DPZ/Chunks/Primary.bin"
+ even
+CGZ_16x16_Kos: binclude "Levels/CGZ/Blocks/Primary.bin"
+ even
+CGZ_8x8_KosM: binclude "Levels/CGZ/Tiles/Primary.bin"
+ even
+CGZ_128x128_Kos:binclude "Levels/CGZ/Chunks/Primary.bin"
+ even
+EMZ_16x16_Kos: binclude "Levels/EMZ/Blocks/Primary.bin"
+ even
+EMZ_8x8_KosM: binclude "Levels/EMZ/Tiles/Primary.bin"
+ even
+EMZ_128x128_Kos:binclude "Levels/EMZ/Chunks/Primary.bin"
+ even
+Gumball_16x16_Kos:
+ binclude "Levels/Gumball/Blocks/Primary.bin"
+ even
+Gumball_8x8_KosM:
+ binclude "Levels/Gumball/Tiles/Gumball.bin"
+ even
+Gumball_128x128_Kos:
+ binclude "Levels/Gumball/Chunks/Primary.bin"
+ even
diff --git a/Lockon S3/LockOn Pointers.asm b/Lockon S3/LockOn Pointers.asm
index d85d5f8e..793318dc 100644
--- a/Lockon S3/LockOn Pointers.asm
+++ b/Lockon S3/LockOn Pointers.asm
@@ -1,919 +1,625 @@
-; ═══════════════════════════════════════════════════════════════════════════
-
-
-
-LockOnROM_Start:ds.b $11
-S3_Level_Solid_Data EQU $260000
-
-byte_200011: ds.b $AC
-byte_2000BD: ds.b $43
-LockonHeader: ds.b $14
-SSMagic_TestLoc_200114:ds.b 6
-SSMagic_TestLoc_20011A:ds.b 2
-LockonDate: ds.b $34
-SSMagic_TestLoc_200150:ds.b $19
- ds.b $17
-LockonSerialNumber:ds.b $24
-SSMagic_TestLoc_2001A4:ds.b $51
- ds.b $8C
-byte_200281: ds.b $AC
-byte_20032D: ds.b $94EB
-Pal_Competition1:ds.b $A8
-Map_CompetitionObject:ds.b $870
-MapUnc_CompetitionNumbers:ds.b $42E
-
-
-Pal_Competition2: ds.b $20
-Pal_Competition3: ds.b $40
-Pal_Competition4: ds.b $126
-Map_CompetitionSelect:ds.b $6A0
-
-Pal_CompetitionResults:ds.b $DE
-MapEni_CompetitionResultsLED:ds.b $1A
-MapUnc_CompetitionResultsLetters:ds.b $28
-MapUnc_CompetitionResultsDividers:ds.b $50
-MapUnc_CompetitionResultsTOTAL:ds.b $14
-MapUnc_ResultsWin: ds.b 8
-MapUnc_ResultsLose: ds.b 8
-MapUnc_ResultsTie: ds.b $354
-Pal_CompetitionTimeAttack: ds.b $BA
-MapUnc_CompetitionLAPNum:ds.b $64
-
-MapUnc_CompetitionRECORDS:ds.b $1C
-
-MapUnc_Competition1st2nd3rd:ds.b $44
-
-MapUnc_CompetitionAZURELAKE:ds.b $34
-
-MapUnc_CompetitionBALLOONPARK:ds.b $34
-
-MapUnc_CompetitionCHROMEGADGET:ds.b $34
-
-MapUnc_CompetitionDESERTPALACE:ds.b $34
-
-MapUnc_CompetitionENDLESSMINE:ds.b $1326
-
-
-ArtKos_SaveScreenS3Zone:ds.b $FC08
-Map_AIZ1Tree: ds.b $42
-Map_AIZ1ZiplinePeg: ds.b $9A0
-Map_BreakableBar:ds.b $280
-
-Map_HCZBlock: ds.b $C92
-
-Map_AIZRock: ds.b $88
-
-Map_AIZRock2: ds.b $88
-
-Map_EMZRock: ds.b $8DC
-
-Map_AIZCollapsingPlatform:ds.b $E4
-
-Map_AIZCollapsingPlatform2:ds.b $EA
-
-Map_LBZCollapsingBridge:ds.b $FC
-
-Map_LBZCollapsingLedge:ds.b $88
-
-Map_HCZCollapsingBridge:ds.b $44E
-
-Map_MGZCollapsingBridge:ds.b $48A
-
-Map_ICZCollapsingBridge:ds.b $A60
-
-Map_AIZBreakableWall:ds.b $1C6
-
-Map_MGZBreakableWall:ds.b $C0
-
-Map_HCZBreakableWall:ds.b $86
-
-Map_LBZBreakableWall:ds.b $113C
-
-Map_AIZIntroWaves: ds.b $3750
-Map_LBZUnusedElevator: ds.b $BE
-Map_LBZExplodingTrigger:ds.b $1E0
-
-Map_MGZDashTrigger:ds.b $25E
-
-Map_LBZTriggerBridge:ds.b $566
-
-Map_LBZPlayerLauncher:ds.b $102
-
-Map_LBZFlameThrower:ds.b $D4C
-Map_LBZCupElevator:ds.b $346
-
-Map_LBZUnusedUnknown: ds.b $374
-
-Map_LBZPipePlug:ds.b $136E
-
-Map_LBZSpinLauncher:ds.b $1FA
-
-Map_LBZLoweringGrapple:ds.b $47A
-
-Map_LBZSmashingSpikes:ds.b $10
-
-Map_MGZSmashingPillar:ds.b $14E
-
-Map_LBZGateLaser:ds.b $E10
-
-Map_LBZTubeElevator:ds.b $310
-
-Map_AIZDisappearingFloor:ds.b $C
-
-Map_AIZDisappearingFloor2: ds.b $6A0
-Map_AIZCorkFloor:ds.b $74
-
-Map_AIZCorkFloor2:ds.b $74
-
-Map_CNZCorkFloor:ds.b $98
-
-Map_ICZCorkFloor:ds.b $208
-
-Map_LBZCorkFloor:ds.b $428
-
-Map_AIZFlippingBridge:ds.b $B10
-
-Map_AIZFallingLog2:ds.b $10
-
-Map_AIZFallingLog:ds.b $10
-
-Map_AIZFallingLogSplash2: ds.b $70
-Map_AIZFallingLogSplash: ds.b $240
-Map_AIZSpikedLog:ds.b $7FC
-
-Map_AIZForegroundPlant:ds.b $42E
-
-Map_Button2: ds.b $30
-
-Map_CNZButton: ds.b $30
-
-Map_2PButton: ds.b $2892
-
-Map_HCZWaterRush: ds.b $160
-Map_HCZWaterRushBlock: ds.b $6A4
-
-Map_HCZWaterWall:ds.b $FE
-
-Map_HCZWaterWallDebris: ds.b $49C
-
-Map_HCZFan: ds.b $6E
-
-Map_HCZLargeFan:ds.b $208
-
-Map_CGZFan: ds.b $378
-
-Map_HCZHandLauncher:ds.b $9C6
-
-Map_HCZConveyorSpike:ds.b $1A4
-
-Map_CNZBalloon: ds.b $530
-
-Map_CNZCannon: ds.b $2AA
-
-Map_CNZRisingPlatform:ds.b $F0
-
-Map_CNZTrapDoor:ds.b $86
-
-Map_CNZLightBulb:ds.b $1BE
-
-Map_CNZHoverFan:ds.b $7A0
-
-Map_CNZCylinder:ds.b $33E
-
-Map_HCZSpinningColumn:ds.b $7E0
-
-Map_Bumper: ds.b $20
-
-Map_2PBumper: ds.b $102A
-
-Map_MGZSwingingPlatform:ds.b $25A
-
-Map_MGZSwingingSpikeBall:ds.b $2A0
-
-Map_MGZHeadTrigger:ds.b $1A0
-
-Map_MGZTriggerPlatform:ds.b $1E6
-
-Map_MGZMovingSpikePlatform:ds.b $528
-
-Map_MGZPulley: ds.b $388E
-
-Map_HCZWaterDrop:ds.b $312
-
-Map_HCZWaterSplash:ds.b $1A
-
-Map_HCZWaterSplash2: ds.b $29C2
-
-Comp_ScreenInit:ds.b $4E
-Comp_ScreenEvent:ds.b $22
-CGZ_ScreenEvent:ds.b $20
-ALZ_BackgroundInit:ds.b 6
-BPZ_BackgroundInit: ds.b 6
-DPZ_BackgroundInit:ds.b 6
-CGZ_BackgroundInit:ds.b $38
-EMZ_BackgroundInit:ds.b $28
-ALZ_BackgroundEvent:ds.b $A
-BPZ_BackgroundEvent:ds.b $A
-CGZ_BackgroundEvent:ds.b $A
-EMZ_BackgroundEvent:ds.b $3A
-DPZ_BackgroundEvent:ds.b $400
-AIZ_TreeReveal: ds.b $B4
-AIZ_TreeRevealArray: ds.b $388
-AIZ1_IntroDeform: ds.b $6C
-AIZ1_Deform: ds.b $96
-AIZ1_ApplyDeformWater: ds.b $7E
-AIZ1_FireRise: ds.b $28
-AIZTrans_WavyFlame: ds.b $7C
-AIZ1_IntroDrawArray: ds.b $14
-AIZ1_IntroDeformArray: ds.b $4A
-AIZ1_BGDrawArray: ds.b $3D2
-AIZ2_Deform: ds.b $5A
-AIZ2_ApplyDeform: ds.b $9DA
-Pal_AIZBattleship: ds.b $20
-Pal_AIZBossSmall: ds.b $1C
-AIZBattleShip_BobbingMotion: ds.b $10
-AIZBattleship_BombScript: ds.b $56
-AIZBombExplodeDat: ds.b $40
-AIZMakeTreeScript: ds.b $46
-Map_AIZShipPropeller: ds.b $28
-Ani_AIZShipPropeller: ds.b 8
-Map_AIZ2BombExplode: ds.b $78
-
-Ani_AIZ2BombExplode: ds.b $1E
-Map_AIZ2BGTree: ds.b $1C
-Map_AIZ2BossSmall: ds.b $32C
-HCZ1_BGDeformArray: ds.b $242
-HCZ2_BGDeformArray: ds.b $2E
-HCZ2_BGDeformIndex: ds.b $170
-MGZ1_Deform: ds.b $88
-MGZ1_BGDeformArray: ds.b $560
-MGZ2_QuakeEventArray: ds.b $24
-MGZ2_ChunkEventArray: ds.b $24
-MGZ2_ScreenRedrawArray: ds.b $5C
-MGZ2_ChunkReplaceArray: ds.b $60
-MGZ2_CollapseScrollDelay: ds.b $14
-MGZ2_FGVScrollArray: ds.b $160
-MGZ2_BGDeform: ds.b $2C4
-MGZ2_BGDrawArray: ds.b 4
-MGZ2_BGDeformArray: ds.b $9EE
-ICZ1_SetIntroPal: ds.b $40
-ICZ1_SetIndoorPal: ds.b $34
-ICZ1_IntroBGDeformArray: ds.b $1C8
-ICZ2_OutDeform: ds.b $78
-ICZ2_InDeform: ds.b $70
-ICZ2_SetOutdoorsPal: ds.b $30
-ICZ2_SetIndoorsPal: ds.b $34
-ICZ2_SetICZ1Pal: ds.b $30
-ICZ2_OutBGDeformArray: ds.b 8
-ICZ2_InBGDeformArray: ds.b $212
-LBZ1_CheckLayoutMod: ds.b $78
-LBZ1_DoMod4: ds.b $1C
-LBZ1_DoMod3: ds.b $1A
-LBZ1_DoMod2: ds.b $20
-LBZ1_DoMod1: ds.b $72
-LBZ1_FGVScrollArray: ds.b $38
-LBZ1_LayoutModExitRange: ds.b $10
-LBZ1_CollapseScrollSpeed: ds.b $176
-LBZ1_Deform: ds.b $78A
-LBZ2_BGDeformArray: ds.b $24
-LBZ2_DEBGDeformArray: ds.b $30
-LBZ2_CloudDeformArray: ds.b $1A
-LBZ2_BGUWDeformRange: ds.b $A
-Gumball_ScreenInit:ds.b $4A
-Gumball_ScreenEvent:ds.b $4A
-Gumball_BackgroundInit:ds.b $12
-Gumball_BackgroundEvent:ds.b $278C
-
-Map_S3EndingGraphics: ds.b $1D6
-ArtNem_S3EndingGraphics: ds.b $1C978
-SStageLayoutPtrs:ds.b $ED28
-HCZ_WaterlineScroll_Data:ds.b $2460
-LBZ_WaterlineScroll_Data:ds.b $5300
-
-Solid_AIZ1: ds.b $C00
-Solid_AIZ2: ds.b $C00
-Solid_HCZ1: ds.b $C00
-Solid_HCZ2: ds.b $C00
-Solid_MGZ1: ds.b $C00
-Solid_MGZ2: ds.b $C00
-Solid_CNZ: ds.b $C00
-Solid_ICZ1: ds.b $C00
-Solid_ICZ2: ds.b $C00
-Solid_LBZ1: ds.b $C00
-Solid_LBZ2: ds.b $C00
-Solid_ALZ: ds.b $C00
-Solid_BPZ: ds.b $C00
-Solid_DPZ: ds.b $C00
-Solid_CGZ: ds.b $C00
-Solid_EMZ: ds.b $C00
-Solid_Gumball_Special:ds.b $CC0
-Layout_AIZ1: ds.b $84C
-Layout_AIZ2: ds.b $D66
-Layout_HCZ1: ds.b $B28
-Layout_HCZ2: ds.b $EA8
-Layout_MGZ1: ds.b $C90
-Layout_MGZ2: ds.b $DB0
-Layout_CNZ1: ds.b $BCA
-Layout_CNZ2: ds.b $F8E
-Layout_ICZ1: ds.b $FC8
-Layout_ICZ2: ds.b $E50
-Layout_LBZ1: ds.b $FAC
-Layout_LBZ2: ds.b $F28
-Layout_ALZ: ds.b $1CC
-Layout_BPZ: ds.b $154
-Layout_DPZ: ds.b $F8
-Layout_CGZ: ds.b $F8
-Layout_EMZ: ds.b $F8
-Layout_Gumball_Special:ds.b $1246
-ArtUnc_CNZCannon: ds.b $2AE6
-ArtUnc_SStageTails:ds.b $F60
-
-Map_SStageTails: ds.b $18
-
-PLC_SStageTails:ds.b $116
-
-ArtUnc_SStageTailstails: ds.b $700
-Map_SStageTailstails: ds.b $1E
-
-PLC_SStageTailstails: ds.b $EB34
-
-Map_Sonic2P: ds.b $1AA
-
-PLC_Sonic2P: ds.b $102
-Map_Tails2P: ds.b $1BE
-Map_Tails2P_Tail:ds.b $9A
-PLC_Tails2P: ds.b $10E
-DPLC_Tails2P_Tail:ds.b $5E
-Map_Knuckles2P: ds.b $1EE
-
-PLC_Knuckles2P: ds.b $24A8
-ArtUnc_AniAIZ1_0:ds.b $900
-
-ArtUnc_AniAIZ1_1:ds.b $3C0
-ArtUnc_AniAIZ2_1:ds.b $900
-
-ArtUnc_AniAIZ2_0:ds.b $B80
-ArtUnc_AniAIZ2_3:ds.b $C00
-ArtUnc_AniAIZ2_2:ds.b $200
-ArtUnc_AniAIZ2_FirstTree:ds.b $460
-ArtUnc_AniHCZ1_0:ds.b $D80
-ArtUnc_AniHCZ1_WaterlineBelow:ds.b $180
-
-ArtUnc_FixHCZ1_UpperBG1:ds.b $180
-ArtUnc_AniHCZ1_WaterlineAbove:ds.b $180
-
-ArtUnc_FixHCZ1_LowerBG1:ds.b $180
-ArtUnc_AniHCZ1_WaterlineBelow2: ds.b $180
-ArtUnc_FixHCZ1_UpperBG2:ds.b $180
-ArtUnc_AniHCZ1_WaterlineAbove2:ds.b $180
-ArtUnc_FixHCZ1_LowerBG2:ds.b $180
-ArtUnc_AniHCZ__1:ds.b $6C0
-
-ArtUnc_AniHCZ2_0:ds.b $A80
-ArtUnc_AniHCZ2_SmallBGLine:ds.b $400
-ArtUnc_AniHCZ2_2:ds.b $800
-ArtUnc_AniHCZ2_3:ds.b $1000
-ArtUnc_AniHCZ2_4:ds.b $3000
-ArtUnc_AniMGZ__0:ds.b $2400
-ArtUnc_AniMGZ__1:ds.b $60
-ArtUnc_AniCNZ__0:ds.b $1200
-
-ArtUnc_AniCNZ__1:ds.b $2000
-ArtUnc_AniCNZ__2:ds.b $2000
-ArtUnc_AniCNZ__3:ds.b $1000
-ArtUnc_AniCNZ__4:ds.b $180
-ArtUnc_AniCNZ__6:ds.b $2000
-ArtUnc_AniCNZ__5:ds.b $A00
-ArtUnc_AniICZ__1:ds.b $1000
-ArtUnc_AniICZ__2:ds.b $200
-ArtUnc_AniICZ__3:ds.b $100
-ArtUnc_AniICZ__4:ds.b $80
-ArtUnc_AniICZ__5:ds.b $40
-ArtUnc_AniICZ__0: ds.b $400
-ArtUnc_AniLBZ1_0: ds.b $500
-ArtUnc_AniLBZ1_1:ds.b $1400
-ArtUnc_AniLBZ1_2:ds.b $100
-ArtUnc_AniLBZ2_2:ds.b $400
-ArtUnc_AniLBZ2_WaterlineBelow:ds.b $200
-
-ArtUnc_AniLBZ2_LowerBG:ds.b $200
-ArtUnc_AniLBZ2_WaterlineAbove:ds.b $200
-ArtUnc_AniLBZ2_UpperBG:ds.b $200
-ArtUnc_AniLBZ__0:ds.b $2000
-
-ArtUnc_AniLBZ2_0:ds.b $280
-
-ArtUnc_AniLBZ2_1:ds.b $300
-
-ArtUnc_AniALZ: ds.b $600
-ArtUnc_AniBPZ__0:ds.b $540
-ArtUnc_AniBPZ__1:ds.b $500
-ArtUnc_AniBPZ__2:ds.b $C0
-ArtUnc_AniBPZ__3:ds.b $40
-ArtUnc_AniDPZ: ds.b $780
-ArtUnc_AniDPZ__BG:ds.b $2000
-
-ArtUnc_AniGumball:ds.b $100
-ArtUnc_SplashDrown:ds.b $274C
-
-ArtNem_Title_SonicSprites: ds.b $C58
-DemoDat_AIZ: ds.b $780
-DemoDat_HCZ: ds.b $780
-DemoDat_MGZ: ds.b $1ADC
-
-; KiS2
-;byte_2E8C80: ds.b $114
-;byte_2E8D94: ds.b $249C
-;byte_2EB230: ds.b $24
-;byte_2EB254: ds.b $98A
-;byte_2EBBDE: ds.b $16E
-;byte_2EBD4C: ds.b $142B4
-;S2KStartup: ds.b $200E0
-
-ArtUnc_Tails: ds.b $16540
-ArtUnc_Tails_Tail:ds.b $1160
-ArtUnc_Sonic2P: ds.b $30C0
-ArtUnc_Tails2P: ds.b $2DA0
-ArtUnc_Tails2P_Tail:ds.b $580
-ArtUnc_Knuckles2P:ds.b $150E
-byte_33F06E: ds.b $6DE
-byte_33F74C: ds.b $546C
-Map_Tails_Tail: ds.b $1BC
-PLC_Tails_Tail: ds.b $10C
-ICZSnowboard_Slope1: ds.b $C8
-ICZSnowboard_Slope2: ds.b $C8
-ArtUnc_SonicSnowboard: ds.b $2840
-ArtUnc_Snowboard: ds.b $5E0
-Map_SonicSnowboard: ds.b $15A
-DPLC_SonicSnowboard: ds.b $96
-Map_Snowboard: ds.b $108
-DPLC_Snowboard: ds.b $78
-ArtNem_AIZIntroSprites:ds.b $7442
-ArtNem_2PDashdust: ds.b $BE
-
-MapEni_S3TitleSonic1:ds.b $BC
-MapEni_S3TitleSonic2:ds.b $C2
-MapEni_S3TitleSonic3:ds.b $C4
-MapEni_S3TitleSonic4:ds.b $C4
-MapEni_S3TitleSonic5:ds.b $C4
-MapEni_S3TitleSonic6:ds.b $C6
-MapEni_S3TitleSonic7:ds.b $FE
-MapEni_S3TitleSonic8:ds.b $EA
-MapEni_S3TitleSonic9:ds.b $CE
-MapEni_S3TitleSonicA:ds.b $C4
-MapEni_S3TitleSonicB:ds.b $9E
-MapEni_S3TitleSonicC:ds.b $D0
-MapEni_S3TitleSonicD:ds.b $FA
-
-MapEni_S3TitleBg: ds.b $CE
-Map_S3TitleBanner:ds.b $8C
-
-ArtNem_Title_S3Banner: ds.b $ABA
-ArtKos_S3TitleSonic1:ds.b $F60
-
-ArtKos_S3TitleSonic8:ds.b $2660
-
-ArtKos_S3TitleSonic9:ds.b $2300
-ArtKos_S3TitleSonicA:ds.b $14E0
-ArtKos_S3TitleSonicB:ds.b $1320
-ArtKos_S3TitleSonicC:ds.b $11E0
-ArtKos_S3TitleSonicD:ds.b $3038
-
-ArtNem_TailsLifeIcon:ds.b $32CA
-Map_LBZMiniboss: ds.b $A2
-Map_LBZMinibossBox: ds.b $96
-Map_SnaleBlaster:ds.b $A4
-
-Map_Orbinaut: ds.b $14
-
-Map_Ribot: ds.b $10A
-
-Map_Corkey: ds.b $98
-
-Map_Flybot767: ds.b $192
-
-DPLC_Flybot: ds.b $AA
-Map_LBZEndBoss: ds.b $114
-
-Map_CNZEndBoss: ds.b $11E
-
-CNZEndBossMagnet_AngleX: ds.b $40
-LBZFinalBoss2_CircleLookup: ds.b $2C8
-
-Map_Blastoid: ds.b $A2
-
-Map_Poindexter: ds.b $42
-
-Map_Buggernaut: ds.b $72
-
-Map_MegaChomper:ds.b $2EC
-
-Map_TurboSpiker:ds.b $152
-
-Map_Jawz: ds.b $20A
-
-DPLC_RhinoBot: ds.b $3A
-Map_RhinoBot: ds.b $B4
-
-Map_AIZMinibossFlame: ds.b $64
-Map_Tulipon: ds.b $B6
-
-Map_MonkeyDude: ds.b $1FC
-
-Map_MGZMiniBoss:ds.b $A6
-
-Map_CaterKillerJr:ds.b $60
-
-DPLC_Clamer: ds.b $44
-Map_Clamer: ds.b $78
-
-Map_CNZBlastoid:ds.b $9C
-
-Map_Batbot: ds.b $70
-
-DPLC_BubblesBadnik: ds.b $28
-Map_BubblesBadnik:ds.b $50
-
-Map_Spiker: ds.b $6E
-
-Map_Mantis: ds.b $128
-
-DPLC_Penguinator: ds.b $42
-Map_Penguinator:ds.b $7E
-
-Map_ICZSnowdust: ds.b $A0
-Map_StarPointer:ds.b $28
-
-Map_AIZEndBoss: ds.b $4FA
-
-Map_AIZMiniboss: ds.b $11A
-Map_AIZMinibossSmall: ds.b $1E
-Map_MGZEndBoss: ds.b $298
-HCZMiniboss_RocketTwistLookup: ds.b $100
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-LBZ2FinalBoss2_CircleLookup2: ds.b $40
-
-
-
-
-Map_HCZMiniboss: ds.b $244
-
-Map_HCZMinibossSplash: ds.b $5A
-DPLC_HCZMinibossSplash: ds.b $36
-Map_ICZEndBoss: ds.b $220
-
-Map_CNZMiniboss: ds.b $430
-
-ICZMiniboss_OrbAngleLookup: ds.b $40
-
-
-
-
-
-
-Map_ICZMiniboss: ds.b $190
-
-Map_HCZEndBoss: ds.b $302
-
-Map_MGZEndBossDebris: ds.b $1EA
-
-Map_ICZWallAndColumn:ds.b $284
-
-Map_ICZPlatforms:ds.b $3C8
-
-Map_LBZKnuxBomb: ds.b $A
-Map_CutsceneKnux: ds.b $2F8
-DPLC_CutsceneKnux: ds.b $162
-Map_AIZIntroPlane: ds.b $F2
-
-Map_AIZIntroEmeralds: ds.b $46
-Map_LBZFinalBoss1: ds.b $264
-
-Map_LBZDeathEggSmall: ds.b $8A
-
-Pal_MGZFadeCNZ: ds.b $200
-Map_LBZFinalBoss2: ds.b $15C
-
-ArtNem_AIZMiniboss: ds.b $66E
-ArtKosM_AIZEndBoss: ds.b $1F42
-ArtNem_AIZMinibossSmall: ds.b $188
-ArtUnc_AIZRhino: ds.b $AA0
-ArtKosM_AIZ_Tulipon:ds.b $242
-ArtKosM_AIZ_MonkeyDude:ds.b $1F2
-ArtKosM_AIZ_CaterkillerJr:ds.b $202
-ArtNem_HCZMiniboss: ds.b $E9E
-ArtNem_HCZEndBoss: ds.b $1142
-ArtNem_HCZDragonfly: ds.b $172
-
-ArtKosM_Jawz:ds.b $172
-ArtKosM_MegaChopper:ds.b $102
-
-ArtKosM_Blastoid:ds.b $1A2
-ArtKosM_TurboSpiker:ds.b $422
-
-ArtKosM_Pointdexter: ds.b $2A2
-
-ArtKosM_MGZMiniboss:ds.b $2A2
-ArtNem_MGZSpire: ds.b $72
-ArtKosM_MGZEndBoss: ds.b $1232
-
-ArtScaled_MGZEndBoss: ds.b $1000
-ArtKosM_MGZEndBossDebris:ds.b $132
-
-ArtUnc_BubblesBadnik: ds.b $A20
-ArtKosM_Spiker:ds.b $212
-
-ArtKosM_Mantis:ds.b $272
-
-ArtNem_CNZMiniboss: ds.b $4BC
-ArtNem_CNZEndBoss: ds.b $514
-ArtUnc_Clamer: ds.b $1140
-ArtKosM_ClamerShot:ds.b $72
-ArtKosM_Sparkle:ds.b $322
-ArtKosM_Batbot:ds.b $222
-ArtKosM_CNZBalloon:ds.b $1500
-ArtNem_ICZMisc1: ds.b $C24
-
-ArtNem_ICZIntroSprites: ds.b $482
-ArtNem_ICZMisc2: ds.b $36A
-ArtNem_ICZEndBoss: ds.b $DAE
-ArtNem_ICZMiniboss: ds.b $488
-ArtUnc_Penguinator: ds.b $FE0
-ArtKosM_ICZSnowdust:ds.b $92
-ArtKosM_StarPointer:ds.b $192
-ArtKosM_LBZMiniboss: ds.b $322
-ArtKosM_LBZMinibossBox: ds.b $322
-
-ArtNem_LBZFinalBoss1: ds.b $BA6
-ArtKosM_LBZEndBoss: ds.b $332
-ArtKosM_LBZFinalBoss2: ds.b $1122
-ArtKosM_SnailBlaster:ds.b $252
-ArtKosM_Ribot:ds.b $132
-ArtKosM_Orbinaut:ds.b $E2
-ArtKosM_Corkey:ds.b $C2
-ArtUnc_Flybot: ds.b $1320
-ArtNem_LBZKnuxBomb: ds.b $3E
-ArtKosM_LBZ2DeathEggSmall: ds.b $64D2
-ArtKosM_LBZ2DeathEgg2_8x8:ds.b $462
-ArtNem_AIZBossFire: ds.b $2AD4
-ArtKosM_AIZIntroPlane: ds.b $7A2
-ArtUnc_CutsceneKnux: ds.b $4EE0
-ArtKosM_AIZIntroEmeralds: ds.b $44F4
-ArtKosM_TailsEndPose: ds.b $1246
-ArtNem_S38x16Font: ds.b $1A6
-ArtNem_AIZCorkFloor:ds.b $1A4
-ArtNem_AIZCorkFloor2: ds.b $192
-
-ArtNem_AIZSwingVine:ds.b $166
-
-ArtNem_AIZSlideRope:ds.b $124
-ArtNem_AIZBackgroundTree:ds.b $14A
-
-ArtNem_AIZMisc1: ds.b $848
-ArtNem_AIZFallingLog:ds.b $288
-ArtNem_AIZMisc2:ds.b $138C
-
-ArtNem_HCZSpikeBall: ds.b $C8
-
-ArtNem_HCZWaveSplash: ds.b $120
-
-ArtNem_HCZButton: ds.b $B4
-
-ArtNem_HCZMisc: ds.b $5C0
-
-ArtNem_HCZWaterRush: ds.b $5B8
-ArtKosM_HCZLargeFan: ds.b $302
-ArtKosM_HCZGeyserHorz: ds.b $792
-ArtKosM_HCZGeyserVert: ds.b $7A2
-
-ArtNem_HCZ2Slide: ds.b $516
-ArtNem_HCZ2BlockPlat: ds.b $348
-ArtUnc_HCZWaterSplash2: ds.b $780
-ArtUnc_HCZWaterSplash: ds.b $C00
-ArtNem_HCZ2KnuxWall: ds.b $11A
-ArtNem_MGZMisc1: ds.b $A3E
-
-ArtNem_MGZMisc2: ds.b $610
-
-ArtNem_MGZSigns: ds.b $23A
-
-ArtNem_CNZMisc: ds.b $DBE
-ArtNem_CNZPlatform: ds.b $16A
-ArtNem_LBZMisc: ds.b $B1E
-
-ArtNem_LBZTubeTrans: ds.b $264
-ArtNem_LBZ2Misc: ds.b $43C
-ArtNem_2PArt_1: ds.b $174
-
-ArtNem_2PArt_2: ds.b $1F2
-
-ArtNem_2PArt_3: ds.b $4F6
-
-ArtNem_2PStartPost: ds.b $178
-
-ArtNem_2PTime: ds.b $65A
-
-ArtNem_2PLapNum: ds.b $4FA
-
-ArtNem_2PPosIcon: ds.b $9A
-
-ArtNem_BPZMisc: ds.b $84A
-ArtNem_DPZMisc: ds.b $D16
-ArtNem_CGZMisc: ds.b $374
-ArtNem_EMZMisc: ds.b $292
-ArtKosM_AIZ2Bombership2_8x8:ds.b $D54
-ArtKosM_ResultsMILES: ds.b $152
-ArtKosM_ResultsTAILS: ds.b $125E
-
-ArtKosM_AIZTitleCard:ds.b $112
-ArtKosM_HCZTitleCard:ds.b $152
-ArtKosM_MGZTitleCard:ds.b $1C2
-ArtKosM_CNZTitleCard:ds.b $2F4
-ArtKosM_ICZTitleCard:ds.b $D2
-ArtKosM_LBZTitleCard:ds.b $152
-ArtKosM_ALZTitleCard:ds.b $1B2
-ArtKosM_BPZTitleCard:ds.b $222
-ArtKosM_CGZTitleCard:ds.b $242
-ArtKosM_DPZTitleCard:ds.b $202
-ArtKosM_EMZTitleCard:ds.b $344
-Pal_SaveMenuBG:ds.b $20
-Pal_CompetitionMenuBG: ds.b $20
-MapEni_S3MenuBG:ds.b $202
-ArtKos_S3MenuBG: ds.b $1C60
-MapEni_CompetitionLevBorder:ds.b $4C
-MapUnc_CompetitionTimeBorder:ds.b $D8
-
-
-
-
-
-
-
-
-
-MapUnc_CompetitionBESTTIME:ds.b $24
-
-
-
-MapEni_CompetitionLevImage:ds.b $120
-MapEni_CompetitionLevName:ds.b $102
-ArtKos_CompetitionMode: ds.b $410
-ArtKos_CompetitionLevel: ds.b $1E40
-ArtKos_CompetitionResults: ds.b $430
-Map_CompetitionPlayerSprite: ds.b $42
-
-ArtKos_CompetitionPlayer: ds.b $4F0
-MapEni_SaveScreen_Layout:ds.b $BE
-MapUnc_SaveScreenNEW:ds.b $8C
-
-
-
-
-
-
-
-MapPtrs_SaveScreenStatic:ds.b $240
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ArtKos_SaveScreenMisc:ds.b $13A0
-
-AIZ1_16x16_Primary_Kos:ds.b $200
-AIZ1_16x16_Secondary_Kos:ds.b $C40
-AIZ1_16x16_MainLevel_Kos:ds.b $10E0
-AIZ1_8x8_Primary_KosM:ds.b $E12
-AIZ1_8x8_Secondary_KosM:ds.b $2FD2
-AIZ1_8x8_MainLevel_KosM:ds.b $27F2
-AIZ1_128x128_Kos:ds.b $3990
-AIZ1_8x8_Flames_KosM:ds.b $A82
-
-AIZ2_16x16_Primary_Kos:ds.b $8A0
-AIZ2_16x16_Secondary_Kos:ds.b $A80
-AIZ2_16x16_BomberShip_Kos:ds.b $260
-AIZ2_8x8_Primary_KosM:ds.b $21B2
-AIZ2_8x8_Secondary_KosM:ds.b $1142
-AIZ2_8x8_BomberShip_KosM:ds.b $922
-AIZ2_128x128_Kos:ds.b $4010
-
-HCZ_16x16_Primary_Kos:ds.b $470
-HCZ_8x8_Primary_KosM:ds.b $C42
-HCZ_128x128_Primary_Kos:ds.b $340
-
-HCZ1_16x16_Secondary_Kos:ds.b $890
-HCZ1_8x8_Secondary_KosM:ds.b $2252
-HCZ1_128x128_Secondary_Kos:ds.b $20B0
-
-HCZ2_16x16_Secondary_Kos:ds.b $8F0
-HCZ2_8x8_Secondary_KosM:ds.b $1E82
-HCZ2_128x128_Secondary_Kos:ds.b $1C80
-
-MGZ_16x16_Primary_Kos:ds.b $950
-MGZ_8x8_Primary_KosM:ds.b $25A2
-MGZ_128x128_Primary_Kos:ds.b $2300
-
-MGZ1_16x16_Secondary_Kos:ds.b $310
-MGZ1_8x8_Secondary_KosM:ds.b $9E2
-MGZ1_128x128_Secondary_Kos:ds.b $880
-
-MGZ2_16x16_Secondary_Kos:ds.b $460
-MGZ2_8x8_Secondary_KosM:ds.b $1092
-MGZ2_128x128_Secondary_Kos:ds.b $9F0
-MGZ2_QuakeChunks: ds.b $1080
-
-CNZ_16x16_Kos: ds.b $1040
-CNZ_8x8_KosM: ds.b $3222
-CNZ_128x128_Kos:ds.b $3120
-
-ICZ_16x16_Primary_Kos:ds.b $2E0
-ICZ_8x8_Primary_KosM:ds.b $1412
-ICZ_128x128_Primary_Kos:ds.b $2B0
-
-ICZ1_16x16_Secondary_Kos:ds.b $B70
-ICZ1_8x8_Secondary_KosM:ds.b $1F82
-ICZ1_128x128_Secondary_Kos:ds.b $1E20
-
-ICZ2_16x16_Secondary_Kos:ds.b $CA0
-ICZ2_8x8_Secondary_KosM:ds.b $20B2
-ICZ2_128x128_Secondary_Kos:ds.b $1AD0
-
-LBZ_16x16_Primary_Kos:ds.b $540
-LBZ1_16x16_Secondary_Kos:ds.b $AF0
-LBZ_8x8_Primary_KosM:ds.b $1752
-LBZ1_8x8_Secondary_KosM:ds.b $1D92
-LBZ1_128x128_Kos:ds.b $2FD0
-
-LBZ2_16x16_Secondary_Kos:ds.b $A40
-LBZ2_16x16_DeathEgg_Kos:ds.b $E20
-LBZ2_8x8_Secondary_KosM:ds.b $17A2
-LBZ2_8x8_DeathEgg_KosM:ds.b $1F92
-LBZ2_128x128_Kos:ds.b $24D0
-LBZ2_128x128_DeathEgg_Kos:ds.b $CF0
-
-ALZ_16x16_Kos: ds.b $AC0
-ALZ_8x8_KosM: ds.b $2DB2
-ALZ_128x128_Kos:ds.b $690
-
-BPZ_16x16_Kos: ds.b $8D0
-BPZ_8x8_KosM: ds.b $1FE2
-BPZ_128x128_Kos:ds.b $6F0
-
-DPZ_16x16_Kos: ds.b $9E0
-DPZ_8x8_KosM: ds.b $1AF2
-DPZ_128x128_Kos:ds.b $630
-
-CGZ_16x16_Kos: ds.b $750
-CGZ_8x8_KosM: ds.b $25A2
-CGZ_128x128_Kos:ds.b $4C0
-
-EMZ_16x16_Kos: ds.b $AB0
-EMZ_8x8_KosM: ds.b $2C32
-EMZ_128x128_Kos:ds.b $710
-
-Gumball_16x16_Kos:ds.b $420
-Gumball_8x8_KosM:ds.b $D52
-Gumball_128x128_Kos:ds.b $480
+LockOnROM_Start: ds.b $11
+S3_Level_Solid_Data EQU $260000
+byte_200011: ds.b $AC
+byte_2000BD: ds.b $43
+LockonHeader: ds.b $14
+SSMagic_TestLoc_200114: ds.b 6
+SSMagic_TestLoc_20011A: ds.b 2
+LockonDate: ds.b $34
+SSMagic_TestLoc_200150: ds.b $19
+ ds.b $17
+LockonSerialNumber: ds.b $24
+SSMagic_TestLoc_2001A4: ds.b $51
+ ds.b $8C
+byte_200281: ds.b $AC
+byte_20032D: ds.b $94EB
+Pal_Competition1: ds.b $A8
+Map_CompetitionObject: ds.b $870
+MapUnc_CompetitionNumbers: ds.b $42E
+Pal_Competition2: ds.b $20
+Pal_Competition3: ds.b $40
+Pal_Competition4: ds.b $126
+Map_CompetitionSelect: ds.b $6A0
+Pal_CompetitionResults: ds.b $DE
+MapEni_CompetitionResultsLED: ds.b $1A
+MapUnc_CompetitionResultsLetters: ds.b $28
+MapUnc_CompetitionResultsDividers: ds.b $50
+MapUnc_CompetitionResultsTOTAL: ds.b $14
+MapUnc_ResultsWin: ds.b 8
+MapUnc_ResultsLose: ds.b 8
+MapUnc_ResultsTie: ds.b $354
+Pal_CompetitionTimeAttack: ds.b $BA
+MapUnc_CompetitionLAPNum: ds.b $64
+MapUnc_CompetitionRECORDS: ds.b $1C
+MapUnc_Competition1st2nd3rd: ds.b $44
+MapUnc_CompetitionAZURELAKE: ds.b $34
+MapUnc_CompetitionBALLOONPARK: ds.b $34
+MapUnc_CompetitionCHROMEGADGET: ds.b $34
+MapUnc_CompetitionDESERTPALACE: ds.b $34
+MapUnc_CompetitionENDLESSMINE: ds.b $1326
+ArtKos_SaveScreenS3Zone: ds.b $FC08
+Map_AIZ1Tree: ds.b $42
+Map_AIZ1ZiplinePeg: ds.b $9A0
+Map_HCZBreakableBar: ds.b $280
+Map_HCZBlock: ds.b $C92
+Map_AIZRock: ds.b $88
+Map_AIZRock2: ds.b $88
+Map_EMZRock: ds.b $8DC
+Map_AIZCollapsingPlatform: ds.b $E4
+Map_AIZCollapsingPlatform2: ds.b $EA
+Map_LBZCollapsingBridge: ds.b $FC
+Map_LBZCollapsingLedge: ds.b $88
+Map_HCZCollapsingBridge: ds.b $44E
+Map_MGZCollapsingBridge: ds.b $48A
+Map_ICZCollapsingBridge: ds.b $A60
+Map_AIZBreakableWall: ds.b $1C6
+Map_MGZBreakableWall: ds.b $C0
+Map_HCZBreakableWall: ds.b $86
+Map_LBZBreakableWall: ds.b $113C
+Map_AIZIntroWaves: ds.b $3750
+Map_LBZUnusedElevator: ds.b $BE
+Map_LBZExplodingTrigger: ds.b $1E0
+Map_MGZDashTrigger: ds.b $25E
+Map_LBZTriggerBridge: ds.b $566
+Map_LBZPlayerLauncher: ds.b $102
+Map_LBZFlameThrower: ds.b $D4C
+Map_LBZCupElevator: ds.b $346
+Map_LBZUnusedTiltingBridge: ds.b $374
+Map_LBZPipePlug: ds.b $136E
+Map_LBZSpinLauncher: ds.b $1FA
+Map_LBZLoweringGrapple: ds.b $47A
+Map_LBZSmashingSpikes: ds.b $10
+Map_MGZSmashingPillar: ds.b $14E
+Map_LBZGateLaser: ds.b $E10
+Map_LBZTubeElevator: ds.b $310
+Map_AIZDisappearingFloor: ds.b $C
+Map_AIZDisappearingFloor2: ds.b $6A0
+Map_AIZCorkFloor: ds.b $74
+Map_AIZCorkFloor2: ds.b $74
+Map_CNZCorkFloor: ds.b $98
+Map_ICZCorkFloor: ds.b $208
+Map_LBZCorkFloor: ds.b $428
+Map_AIZFlippingBridge: ds.b $B10
+Map_AIZFallingLog2: ds.b $10
+Map_AIZFallingLog: ds.b $10
+Map_AIZFallingLogSplash2: ds.b $70
+Map_AIZFallingLogSplash: ds.b $240
+Map_AIZSpikedLog: ds.b $7FC
+Map_AIZForegroundPlant: ds.b $42E
+Map_Button2: ds.b $30
+Map_CNZButton: ds.b $30
+Map_2PButton: ds.b $2892
+Map_HCZWaterRush: ds.b $160
+Map_HCZWaterRushBlock: ds.b $6A4
+Map_HCZWaterWall: ds.b $FE
+Map_HCZWaterWallDebris: ds.b $49C
+Map_HCZFan: ds.b $6E
+Map_HCZLargeFan: ds.b $208
+Map_CGZFan: ds.b $378
+Map_HCZHandLauncher: ds.b $9C6
+Map_HCZConveyorSpike: ds.b $1A4
+Map_CNZBalloon: ds.b $530
+Map_CNZCannon: ds.b $2AA
+Map_CNZRisingPlatform: ds.b $F0
+Map_CNZTrapDoor: ds.b $86
+Map_CNZLightBulb: ds.b $1BE
+Map_CNZHoverFan: ds.b $7A0
+Map_CNZCylinder: ds.b $33E
+Map_HCZSpinningColumn: ds.b $7E0
+Map_Bumper: ds.b $20
+Map_2PBumper: ds.b $102A
+Map_MGZSwingingPlatform: ds.b $25A
+Map_MGZSwingingSpikeBall: ds.b $2A0
+Map_MGZHeadTrigger: ds.b $1A0
+Map_MGZTriggerPlatform: ds.b $1E6
+Map_MGZMovingSpikePlatform: ds.b $528
+Map_MGZPulley: ds.b $388E
+Map_HCZWaterDrop: ds.b $312
+Map_HCZWaterSplash: ds.b $1A
+Map_HCZWaterSplash2: ds.b $29C2
+Comp_ScreenInit: ds.b $4E
+Comp_ScreenEvent: ds.b $22
+CGZ_ScreenEvent: ds.b $20
+ALZ_BackgroundInit: ds.b 6
+BPZ_BackgroundInit: ds.b 6
+DPZ_BackgroundInit: ds.b 6
+CGZ_BackgroundInit: ds.b $38
+EMZ_BackgroundInit: ds.b $28
+ALZ_BackgroundEvent: ds.b $A
+BPZ_BackgroundEvent: ds.b $A
+CGZ_BackgroundEvent: ds.b $A
+EMZ_BackgroundEvent: ds.b $3A
+DPZ_BackgroundEvent: ds.b $400
+AIZ_TreeReveal: ds.b $B4
+AIZ_TreeRevealArray: ds.b $388
+AIZ1_IntroDeform: ds.b $6C
+AIZ1_Deform: ds.b $96
+AIZ1_ApplyDeformWater: ds.b $7E
+AIZ1_FireRise: ds.b $28
+AIZTrans_WavyFlame: ds.b $7C
+AIZ1_IntroDrawArray: ds.b $14
+AIZ1_IntroDeformArray: ds.b $4A
+AIZ1_BGDrawArray: ds.b $3D2
+AIZ2_Deform: ds.b $5A
+AIZ2_ApplyDeform: ds.b $9DA
+Pal_AIZBattleship: ds.b $20
+Pal_AIZBossSmall: ds.b $1C
+AIZBattleShip_BobbingMotion: ds.b $10
+AIZBattleship_BombScript: ds.b $56
+AIZBombExplodeDat: ds.b $40
+AIZMakeTreeScript: ds.b $46
+Map_AIZShipPropeller: ds.b $28
+Ani_AIZShipPropeller: ds.b 8
+Map_AIZ2BombExplode: ds.b $78
+Ani_AIZ2BombExplode: ds.b $1E
+Map_AIZ2BGTree: ds.b $1C
+Map_AIZ2BossSmall: ds.b $32C
+HCZ1_BGDeformArray: ds.b $242
+HCZ2_BGDeformArray: ds.b $2E
+HCZ2_BGDeformIndex: ds.b $170
+MGZ1_Deform: ds.b $88
+MGZ1_BGDeformArray: ds.b $560
+MGZ2_QuakeEventArray: ds.b $24
+MGZ2_ChunkEventArray: ds.b $24
+MGZ2_ScreenRedrawArray: ds.b $5C
+MGZ2_ChunkReplaceArray: ds.b $60
+MGZ2_CollapseScrollDelay: ds.b $14
+MGZ2_FGVScrollArray: ds.b $160
+MGZ2_BGDeform: ds.b $2C4
+MGZ2_BGDrawArray: ds.b 4
+MGZ2_BGDeformArray: ds.b $9EE
+ICZ1_SetIntroPal: ds.b $40
+ICZ1_SetIndoorPal: ds.b $34
+ICZ1_IntroBGDeformArray: ds.b $1C8
+ICZ2_OutDeform: ds.b $78
+ICZ2_InDeform: ds.b $70
+ICZ2_SetOutdoorsPal: ds.b $30
+ICZ2_SetIndoorsPal: ds.b $34
+ICZ2_SetICZ1Pal: ds.b $30
+ICZ2_OutBGDeformArray: ds.b 8
+ICZ2_InBGDeformArray: ds.b $212
+LBZ1_CheckLayoutMod: ds.b $78
+LBZ1_DoMod4: ds.b $1C
+LBZ1_DoMod3: ds.b $1A
+LBZ1_DoMod2: ds.b $20
+LBZ1_DoMod1: ds.b $72
+LBZ1_FGVScrollArray: ds.b $38
+LBZ1_LayoutModExitRange: ds.b $10
+LBZ1_CollapseScrollSpeed: ds.b $176
+LBZ1_Deform: ds.b $78A
+LBZ2_BGDeformArray: ds.b $24
+LBZ2_DEBGDeformArray: ds.b $30
+LBZ2_CloudDeformArray: ds.b $1A
+LBZ2_BGUWDeformRange: ds.b $A
+Gumball_ScreenInit: ds.b $4A
+Gumball_ScreenEvent: ds.b $4A
+Gumball_BackgroundInit: ds.b $12
+Gumball_BackgroundEvent: ds.b $278C
+Map_S3EndingGraphics: ds.b $1D6
+ArtNem_S3EndingGraphics: ds.b $1C978
+SStageLayoutPtrs: ds.b $ED28
+HCZ_WaterlineScroll_Data: ds.b $2460
+LBZ_WaterlineScroll_Data: ds.b $5300
+Solid_AIZ1: ds.b $C00
+Solid_AIZ2: ds.b $C00
+Solid_HCZ1: ds.b $C00
+Solid_HCZ2: ds.b $C00
+Solid_MGZ1: ds.b $C00
+Solid_MGZ2: ds.b $C00
+Solid_CNZ: ds.b $C00
+Solid_ICZ1: ds.b $C00
+Solid_ICZ2: ds.b $C00
+Solid_LBZ1: ds.b $C00
+Solid_LBZ2: ds.b $C00
+Solid_ALZ: ds.b $C00
+Solid_BPZ: ds.b $C00
+Solid_DPZ: ds.b $C00
+Solid_CGZ: ds.b $C00
+Solid_EMZ: ds.b $C00
+Solid_Gumball_Special: ds.b $CC0
+Layout_AIZ1: ds.b $84C
+Layout_AIZ2: ds.b $D66
+Layout_HCZ1: ds.b $B28
+Layout_HCZ2: ds.b $EA8
+Layout_MGZ1: ds.b $C90
+Layout_MGZ2: ds.b $DB0
+Layout_CNZ1: ds.b $BCA
+Layout_CNZ2: ds.b $F8E
+Layout_ICZ1: ds.b $FC8
+Layout_ICZ2: ds.b $E50
+Layout_LBZ1: ds.b $FAC
+Layout_LBZ2: ds.b $F28
+Layout_ALZ: ds.b $1CC
+Layout_BPZ: ds.b $154
+Layout_DPZ: ds.b $F8
+Layout_CGZ: ds.b $F8
+Layout_EMZ: ds.b $F8
+Layout_Gumball_Special: ds.b $1246
+ArtUnc_CNZCannon: ds.b $2AE6
+ArtUnc_SStageTails: ds.b $F60
+Map_SStageTails: ds.b $18
+PLC_SStageTails: ds.b $116
+ArtUnc_SStageTailstails: ds.b $700
+Map_SStageTailstails: ds.b $1E
+PLC_SStageTailstails: ds.b $EB34
+Map_Sonic2P: ds.b $1AA
+PLC_Sonic2P: ds.b $102
+Map_Tails2P: ds.b $1BE
+Map_Tails2P_Tail: ds.b $9A
+PLC_Tails2P: ds.b $10E
+DPLC_Tails2P_Tail: ds.b $5E
+Map_Knuckles2P: ds.b $1EE
+PLC_Knuckles2P: ds.b $24A8
+ArtUnc_AniAIZ1_0: ds.b $900
+ArtUnc_AniAIZ1_1: ds.b $3C0
+ArtUnc_AniAIZ2_1: ds.b $900
+ArtUnc_AniAIZ2_0: ds.b $B80
+ArtUnc_AniAIZ2_3: ds.b $C00
+ArtUnc_AniAIZ2_2: ds.b $200
+ArtUnc_AniAIZ2_FirstTree: ds.b $460
+ArtUnc_AniHCZ1_0: ds.b $D80
+ArtUnc_AniHCZ1_WaterlineBelow: ds.b $180
+ArtUnc_FixHCZ1_UpperBG1: ds.b $180
+ArtUnc_AniHCZ1_WaterlineAbove: ds.b $180
+ArtUnc_FixHCZ1_LowerBG1: ds.b $180
+ArtUnc_AniHCZ1_WaterlineBelow2: ds.b $180
+ArtUnc_FixHCZ1_UpperBG2: ds.b $180
+ArtUnc_AniHCZ1_WaterlineAbove2: ds.b $180
+ArtUnc_FixHCZ1_LowerBG2: ds.b $180
+ArtUnc_AniHCZ__1: ds.b $6C0
+ArtUnc_AniHCZ2_0: ds.b $A80
+ArtUnc_AniHCZ2_SmallBGLine: ds.b $400
+ArtUnc_AniHCZ2_2: ds.b $800
+ArtUnc_AniHCZ2_3: ds.b $1000
+ArtUnc_AniHCZ2_4: ds.b $3000
+ArtUnc_AniMGZ__0: ds.b $2400
+ArtUnc_AniMGZ__1: ds.b $60
+ArtUnc_AniCNZ__0: ds.b $1200
+ArtUnc_AniCNZ__1: ds.b $2000
+ArtUnc_AniCNZ__2: ds.b $2000
+ArtUnc_AniCNZ__3: ds.b $1000
+ArtUnc_AniCNZ__4: ds.b $180
+ArtUnc_AniCNZ__6: ds.b $2000
+ArtUnc_AniCNZ__5: ds.b $A00
+ArtUnc_AniICZ__1: ds.b $1000
+ArtUnc_AniICZ__2: ds.b $200
+ArtUnc_AniICZ__3: ds.b $100
+ArtUnc_AniICZ__4: ds.b $80
+ArtUnc_AniICZ__5: ds.b $40
+ArtUnc_AniICZ__0: ds.b $400
+ArtUnc_AniLBZ1_0: ds.b $500
+ArtUnc_AniLBZ1_1: ds.b $1400
+ArtUnc_AniLBZ1_2: ds.b $100
+ArtUnc_AniLBZ2_2: ds.b $400
+ArtUnc_AniLBZ2_WaterlineBelow: ds.b $200
+ArtUnc_AniLBZ2_LowerBG: ds.b $200
+ArtUnc_AniLBZ2_WaterlineAbove: ds.b $200
+ArtUnc_AniLBZ2_UpperBG: ds.b $200
+ArtUnc_AniLBZ__0: ds.b $2000
+ArtUnc_AniLBZ2_0: ds.b $280
+ArtUnc_AniLBZ2_1: ds.b $300
+ArtUnc_AniALZ: ds.b $600
+ArtUnc_AniBPZ__0: ds.b $540
+ArtUnc_AniBPZ__1: ds.b $500
+ArtUnc_AniBPZ__2: ds.b $C0
+ArtUnc_AniBPZ__3: ds.b $40
+ArtUnc_AniDPZ: ds.b $780
+ArtUnc_AniDPZ__BG: ds.b $2000
+ArtUnc_AniGumball: ds.b $100
+ArtUnc_SplashDrown: ds.b $274C
+ArtNem_Title_SonicSprites: ds.b $C58
+DemoDat_AIZ: ds.b $780
+DemoDat_HCZ: ds.b $780
+DemoDat_MGZ: ds.b $1ADC
+DacBank2: ds.b $7F7
+ArtUnc_Tails: ds.b $16540
+ArtUnc_Tails_Tail: ds.b $1160
+ArtUnc_Sonic2P: ds.b $30C0
+ArtUnc_Tails2P: ds.b $2DA0
+ArtUnc_Tails2P_Tail: ds.b $580
+ArtUnc_Knuckles2P: ds.b $150E
+byte_33F06E: ds.b $6DE
+byte_33F74C: ds.b $546C
+Map_Tails_Tail: ds.b $1BC
+PLC_Tails_Tail: ds.b $10C
+ICZSnowboard_Slope1: ds.b $C8
+ICZSnowboard_Slope2: ds.b $C8
+ArtUnc_SonicSnowboard: ds.b $2840
+ArtUnc_Snowboard: ds.b $5E0
+Map_SonicSnowboard: ds.b $15A
+DPLC_SonicSnowboard: ds.b $96
+Map_Snowboard: ds.b $108
+DPLC_Snowboard: ds.b $78
+ArtNem_AIZIntroSprites: ds.b $7442
+ArtNem_2PDashdust: ds.b $BE
+MapEni_S3TitleSonic1: ds.b $BC
+MapEni_S3TitleSonic2: ds.b $C2
+MapEni_S3TitleSonic3: ds.b $C4
+MapEni_S3TitleSonic4: ds.b $C4
+MapEni_S3TitleSonic5: ds.b $C4
+MapEni_S3TitleSonic6: ds.b $C6
+MapEni_S3TitleSonic7: ds.b $FE
+MapEni_S3TitleSonic8: ds.b $EA
+MapEni_S3TitleSonic9: ds.b $CE
+MapEni_S3TitleSonicA: ds.b $C4
+MapEni_S3TitleSonicB: ds.b $9E
+MapEni_S3TitleSonicC: ds.b $D0
+MapEni_S3TitleSonicD: ds.b $FA
+MapEni_S3TitleBg: ds.b $CE
+Map_S3TitleBanner: ds.b $8C
+ArtNem_Title_S3Banner: ds.b $ABA
+ArtKos_S3TitleSonic1: ds.b $F60
+ArtKos_S3TitleSonic8: ds.b $2660
+ArtKos_S3TitleSonic9: ds.b $2300
+ArtKos_S3TitleSonicA: ds.b $14E0
+ArtKos_S3TitleSonicB: ds.b $1320
+ArtKos_S3TitleSonicC: ds.b $11E0
+ArtKos_S3TitleSonicD: ds.b $3038
+ArtNem_TailsLifeIcon: ds.b $32CA
+Map_LBZMiniboss: ds.b $A2
+Map_LBZMinibossBox: ds.b $96
+Map_SnaleBlaster: ds.b $A4
+Map_Orbinaut: ds.b $14
+Map_Ribot: ds.b $10A
+Map_Corkey: ds.b $98
+Map_Flybot767: ds.b $192
+DPLC_Flybot767: ds.b $AA
+Map_LBZEndBoss: ds.b $114
+Map_CNZEndBoss: ds.b $11E
+CNZEndBossMagnet_AngleX: ds.b $40
+LBZFinalBoss2_CircleLookup: ds.b $2C8
+Map_Blastoid: ds.b $A2
+Map_Poindexter: ds.b $42
+Map_Buggernaut: ds.b $72
+Map_MegaChopper: ds.b $2EC
+Map_TurboSpiker: ds.b $152
+Map_Jawz: ds.b $20A
+DPLC_Rhinobot: ds.b $3A
+Map_Rhinobot: ds.b $B4
+Map_AIZMinibossFlame: ds.b $64
+Map_Bloominator: ds.b $B6
+Map_MonkeyDude: ds.b $1FC
+Map_MGZMiniboss: ds.b $A6
+Map_CaterKillerJr: ds.b $60
+DPLC_Clamer: ds.b $44
+Map_Clamer: ds.b $78
+Map_Sparkle: ds.b $9C
+Map_Batbot: ds.b $70
+DPLC_BubblesBadnik: ds.b $28
+Map_BubblesBadnik: ds.b $50
+Map_Spiker: ds.b $6E
+Map_Mantis: ds.b $128
+DPLC_Penguinator: ds.b $42
+Map_Penguinator: ds.b $7E
+Map_ICZSnowdust: ds.b $A0
+Map_StarPointer: ds.b $28
+Map_AIZEndBoss: ds.b $4FA
+Map_AIZMiniboss: ds.b $11A
+Map_AIZMinibossSmall: ds.b $1E
+Map_MGZEndBoss: ds.b $298
+HCZMiniboss_RocketTwistLookup: ds.b $100
+LBZ2FinalBoss2_CircleLookup2: ds.b $40
+Map_HCZMiniboss: ds.b $244
+Map_HCZMinibossSplash: ds.b $5A
+DPLC_HCZMinibossSplash: ds.b $36
+Map_ICZEndBoss: ds.b $220
+Map_CNZMiniboss: ds.b $430
+ICZMiniboss_OrbAngleLookup: ds.b $40
+Map_ICZMiniboss: ds.b $190
+Map_HCZEndBoss: ds.b $302
+Map_MGZEndBossDebris: ds.b $1EA
+Map_ICZWallAndColumn: ds.b $284
+Map_ICZPlatforms: ds.b $3C8
+Map_LBZKnuxBomb: ds.b $A
+Map_CutsceneKnux: ds.b $2F8
+DPLC_CutsceneKnux: ds.b $162
+Map_AIZIntroPlane: ds.b $F2
+Map_AIZIntroEmeralds: ds.b $46
+Map_LBZFinalBoss1: ds.b $264
+Map_LBZDeathEggSmall: ds.b $8A
+Pal_MGZFadeCNZ: ds.b $200
+Map_LBZFinalBoss2: ds.b $15C
+ArtNem_AIZMiniboss: ds.b $66E
+ArtKosM_AIZEndBoss: ds.b $1F42
+ArtNem_AIZMinibossSmall: ds.b $188
+ArtUnc_AIZRhinobot: ds.b $AA0
+ArtKosM_AIZ_Bloominator: ds.b $242
+ArtKosM_AIZ_MonkeyDude: ds.b $1F2
+ArtKosM_AIZ_CaterkillerJr: ds.b $202
+ArtNem_HCZMiniboss: ds.b $E9E
+ArtNem_HCZEndBoss: ds.b $1142
+ArtNem_HCZDragonfly: ds.b $172
+ArtKosM_Jawz: ds.b $172
+ArtKosM_MegaChopper: ds.b $102
+ArtKosM_Blastoid: ds.b $1A2
+ArtKosM_TurboSpiker: ds.b $422
+ArtKosM_Pointdexter: ds.b $2A2
+ArtKosM_MGZMiniboss: ds.b $2A2
+ArtNem_MGZSpire: ds.b $72
+ArtKosM_MGZEndBoss: ds.b $1232
+ArtScaled_MGZEndBoss: ds.b $1000
+ArtKosM_MGZEndBossDebris: ds.b $132
+ArtUnc_BubblesBadnik: ds.b $A20
+ArtKosM_Spiker: ds.b $212
+ArtKosM_Mantis: ds.b $272
+ArtNem_CNZMiniboss: ds.b $4BC
+ArtNem_CNZEndBoss: ds.b $514
+ArtUnc_Clamer: ds.b $1140
+ArtKosM_ClamerShot: ds.b $72
+ArtKosM_Sparkle: ds.b $322
+ArtKosM_Batbot: ds.b $222
+ArtKosM_CNZBalloon: ds.b $1500
+ArtNem_ICZMisc1: ds.b $C24
+ArtNem_ICZIntroSprites: ds.b $482
+ArtNem_ICZMisc2: ds.b $36A
+ArtNem_ICZEndBoss: ds.b $DAE
+ArtNem_ICZMiniboss: ds.b $488
+ArtUnc_Penguinator: ds.b $FE0
+ArtKosM_ICZSnowdust: ds.b $92
+ArtKosM_StarPointer: ds.b $192
+ArtKosM_LBZMiniboss: ds.b $322
+ArtKosM_LBZMinibossBox: ds.b $322
+ArtNem_LBZFinalBoss1: ds.b $BA6
+ArtKosM_LBZEndBoss: ds.b $332
+ArtKosM_LBZFinalBoss2: ds.b $1122
+ArtKosM_SnaleBlaster: ds.b $252
+ArtKosM_Ribot: ds.b $132
+ArtKosM_Orbinaut: ds.b $E2
+ArtKosM_Corkey: ds.b $C2
+ArtUnc_Flybot767: ds.b $1320
+ArtNem_LBZKnuxBomb: ds.b $3E
+ArtKosM_LBZ2DeathEggSmall: ds.b $64D2
+ArtKosM_LBZ2DeathEgg2_8x8: ds.b $462
+ArtNem_AIZBossFire: ds.b $2AD4
+ArtKosM_AIZIntroPlane: ds.b $7A2
+ArtUnc_CutsceneKnux: ds.b $4EE0
+ArtKosM_AIZIntroEmeralds: ds.b $44F4
+ArtKosM_TailsEndPose: ds.b $1246
+ArtNem_S38x16Font: ds.b $1A6
+ArtNem_AIZCorkFloor: ds.b $1A4
+ArtNem_AIZCorkFloor2: ds.b $192
+ArtNem_AIZSwingVine: ds.b $166
+ArtNem_AIZSlideRope: ds.b $124
+ArtNem_AIZBackgroundTree: ds.b $14A
+ArtNem_AIZMisc1: ds.b $848
+ArtNem_AIZFallingLog: ds.b $288
+ArtNem_AIZMisc2: ds.b $138C
+ArtNem_HCZSpikeBall: ds.b $C8
+ArtNem_HCZWaveSplash: ds.b $120
+ArtNem_HCZButton: ds.b $B4
+ArtNem_HCZMisc: ds.b $5C0
+ArtNem_HCZWaterRush: ds.b $5B8
+ArtKosM_HCZLargeFan: ds.b $302
+ArtKosM_HCZGeyserHorz: ds.b $792
+ArtKosM_HCZGeyserVert: ds.b $7A2
+ArtNem_HCZ2Slide: ds.b $516
+ArtNem_HCZ2BlockPlat: ds.b $348
+ArtUnc_HCZWaterSplash2: ds.b $780
+ArtUnc_HCZWaterSplash: ds.b $C00
+ArtNem_HCZ2KnuxWall: ds.b $11A
+ArtNem_MGZMisc1: ds.b $A3E
+ArtNem_MGZMisc2: ds.b $610
+ArtNem_MGZSigns: ds.b $23A
+ArtNem_CNZMisc: ds.b $DBE
+ArtNem_CNZPlatform: ds.b $16A
+ArtNem_LBZMisc: ds.b $B1E
+ArtNem_LBZTubeTrans: ds.b $264
+ArtNem_LBZ2Misc: ds.b $43C
+ArtNem_2PArt_1: ds.b $174
+ArtNem_2PArt_2: ds.b $1F2
+ArtNem_2PArt_3: ds.b $4F6
+ArtNem_2PStartPost: ds.b $178
+ArtNem_2PTime: ds.b $65A
+ArtNem_2PLapNum: ds.b $4FA
+ArtNem_2PPosIcon: ds.b $9A
+ArtNem_BPZMisc: ds.b $84A
+ArtNem_DPZMisc: ds.b $D16
+ArtNem_CGZMisc: ds.b $374
+ArtNem_EMZMisc: ds.b $292
+ArtKosM_AIZ2Bombership2_8x8: ds.b $D54
+ArtKosM_ResultsMILES: ds.b $152
+ArtKosM_ResultsTAILS: ds.b $125E
+ArtKosM_AIZTitleCard: ds.b $112
+ArtKosM_HCZTitleCard: ds.b $152
+ArtKosM_MGZTitleCard: ds.b $1C2
+ArtKosM_CNZTitleCard: ds.b $2F4
+ArtKosM_ICZTitleCard: ds.b $D2
+ArtKosM_LBZTitleCard: ds.b $152
+ArtKosM_ALZTitleCard: ds.b $1B2
+ArtKosM_BPZTitleCard: ds.b $222
+ArtKosM_CGZTitleCard: ds.b $242
+ArtKosM_DPZTitleCard: ds.b $202
+ArtKosM_EMZTitleCard: ds.b $344
+Pal_SaveMenuBG: ds.b $20
+Pal_CompetitionMenuBG: ds.b $20
+MapEni_S3MenuBG: ds.b $202
+ArtKos_S3MenuBG: ds.b $1C60
+MapEni_CompetitionLevBorder: ds.b $4C
+MapUnc_CompetitionTimeBorder: ds.b $D8
+MapUnc_CompetitionBESTTIME: ds.b $24
+MapEni_CompetitionLevImage: ds.b $120
+MapEni_CompetitionLevName: ds.b $102
+ArtKos_CompetitionMode: ds.b $410
+ArtKos_CompetitionLevel: ds.b $1E40
+ArtKos_CompetitionResults: ds.b $430
+Map_CompetitionPlayerSprite: ds.b $42
+ArtKos_CompetitionPlayer: ds.b $4F0
+MapEni_SaveScreen_Layout: ds.b $BE
+MapUnc_SaveScreenNEW: ds.b $8C
+MapPtrs_SaveScreenStatic: ds.b $240
+ArtKos_SaveScreenMisc: ds.b $13A0
+AIZ1_16x16_Primary_Kos: ds.b $200
+AIZ1_16x16_Secondary_Kos: ds.b $C40
+AIZ1_16x16_MainLevel_Kos: ds.b $10E0
+AIZ1_8x8_Primary_KosM: ds.b $E12
+AIZ1_8x8_Secondary_KosM: ds.b $2FD2
+AIZ1_8x8_MainLevel_KosM: ds.b $27F2
+AIZ1_128x128_Kos: ds.b $3990
+AIZ1_8x8_Flames_KosM: ds.b $A82
+AIZ2_16x16_Primary_Kos: ds.b $8A0
+AIZ2_16x16_Secondary_Kos: ds.b $A80
+AIZ2_16x16_BomberShip_Kos: ds.b $260
+AIZ2_8x8_Primary_KosM: ds.b $21B2
+AIZ2_8x8_Secondary_KosM: ds.b $1142
+AIZ2_8x8_BomberShip_KosM: ds.b $922
+AIZ2_128x128_Kos: ds.b $4010
+HCZ_16x16_Primary_Kos: ds.b $470
+HCZ_8x8_Primary_KosM: ds.b $C42
+HCZ_128x128_Primary_Kos: ds.b $340
+HCZ1_16x16_Secondary_Kos: ds.b $890
+HCZ1_8x8_Secondary_KosM: ds.b $2252
+HCZ1_128x128_Secondary_Kos: ds.b $20B0
+HCZ2_16x16_Secondary_Kos: ds.b $8F0
+HCZ2_8x8_Secondary_KosM: ds.b $1E82
+HCZ2_128x128_Secondary_Kos: ds.b $1C80
+MGZ_16x16_Primary_Kos: ds.b $950
+MGZ_8x8_Primary_KosM: ds.b $25A2
+MGZ_128x128_Primary_Kos: ds.b $2300
+MGZ1_16x16_Secondary_Kos: ds.b $310
+MGZ1_8x8_Secondary_KosM: ds.b $9E2
+MGZ1_128x128_Secondary_Kos: ds.b $880
+MGZ2_16x16_Secondary_Kos: ds.b $460
+MGZ2_8x8_Secondary_KosM: ds.b $1092
+MGZ2_128x128_Secondary_Kos: ds.b $9F0
+MGZ2_QuakeChunks: ds.b $1080
+CNZ_16x16_Kos: ds.b $1040
+CNZ_8x8_KosM: ds.b $3222
+CNZ_128x128_Kos: ds.b $3120
+ICZ_16x16_Primary_Kos: ds.b $2E0
+ICZ_8x8_Primary_KosM: ds.b $1412
+ICZ_128x128_Primary_Kos: ds.b $2B0
+ICZ1_16x16_Secondary_Kos: ds.b $B70
+ICZ1_8x8_Secondary_KosM: ds.b $1F82
+ICZ1_128x128_Secondary_Kos: ds.b $1E20
+ICZ2_16x16_Secondary_Kos: ds.b $CA0
+ICZ2_8x8_Secondary_KosM: ds.b $20B2
+ICZ2_128x128_Secondary_Kos: ds.b $1AD0
+LBZ_16x16_Primary_Kos: ds.b $540
+LBZ1_16x16_Secondary_Kos: ds.b $AF0
+LBZ_8x8_Primary_KosM: ds.b $1752
+LBZ1_8x8_Secondary_KosM: ds.b $1D92
+LBZ1_128x128_Kos: ds.b $2FD0
+LBZ2_16x16_Secondary_Kos: ds.b $A40
+LBZ2_16x16_DeathEgg_Kos: ds.b $E20
+LBZ2_8x8_Secondary_KosM: ds.b $17A2
+LBZ2_8x8_DeathEgg_KosM: ds.b $1F92
+LBZ2_128x128_Kos: ds.b $24D0
+LBZ2_128x128_DeathEgg_Kos: ds.b $CF0
+ALZ_16x16_Kos: ds.b $AC0
+ALZ_8x8_KosM: ds.b $2DB2
+ALZ_128x128_Kos: ds.b $690
+BPZ_16x16_Kos: ds.b $8D0
+BPZ_8x8_KosM: ds.b $1FE2
+BPZ_128x128_Kos: ds.b $6F0
+DPZ_16x16_Kos: ds.b $9E0
+DPZ_8x8_KosM: ds.b $1AF2
+DPZ_128x128_Kos: ds.b $630
+CGZ_16x16_Kos: ds.b $750
+CGZ_8x8_KosM: ds.b $25A2
+CGZ_128x128_Kos: ds.b $4C0
+EMZ_16x16_Kos: ds.b $AB0
+EMZ_8x8_KosM: ds.b $2C32
+EMZ_128x128_Kos: ds.b $710
+Gumball_16x16_Kos: ds.b $420
+Gumball_8x8_KosM: ds.b $D52
+Gumball_128x128_Kos: ds.b $480
diff --git a/Lockon S3/Screen Events.asm b/Lockon S3/Screen Events.asm
index 82f36778..9c2cb814 100644
--- a/Lockon S3/Screen Events.asm
+++ b/Lockon S3/Screen Events.asm
@@ -1,32 +1,3 @@
-
-AIZ1_WaterFGDeformDelta:
- dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
-AIZ1_WaterBGDeformDelta:
- dc.w 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1
- dc.w 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1
- dc.w 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1
- dc.w 1, 1, 1, 1, 1, 0, -1, -2, -2, -1, 0, 2, 2, 2, 2, 0
- dc.w 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1
- dc.w 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1
-; ---------------------------------------------------------------------------
-
Comp_ScreenInit:
jsr (Update_CameraPositionP2).l
move.w (Camera_X_pos_copy).w,d0
@@ -102,7 +73,7 @@ CGZ_BackgroundInit:
move.w d0,(Events_bg+$04).w
move.w d0,(Events_bg+$06).w
moveq #0,d0
- move.b (_unkFEDA).w,d0
+ move.b (Competition_total_laps).w,d0
addq.w #1,d0
lsl.w #8,d0
subi.w #$70,d0
@@ -139,19 +110,19 @@ ALZ_BackgroundEvent:
BPZ_BackgroundEvent:
jsr BPZ_Deformation(pc)
- lea BPZ_DeformArray(pc),a4
+ lea BPZ_BGDeformArray(pc),a4
bra.s loc_23A764
; ---------------------------------------------------------------------------
CGZ_BackgroundEvent:
jsr CGZ_Deformation(pc)
- lea CGZ_DeformArray(pc),a4
+ lea CGZ_BGDeformArray(pc),a4
bra.s loc_23A764
; ---------------------------------------------------------------------------
EMZ_BackgroundEvent:
jsr EMZ_Deformation(pc)
- lea EMZ_DeformArray(pc),a4
+ lea EMZ_BGDeformArray(pc),a4
loc_23A764:
lea (H_scroll_buffer).w,a1
@@ -209,7 +180,7 @@ ALZ_Deformation:
move.w d0,(_unkEE74).w
addq.w #3,(Events_bg+$00).w
addi.l #$1000,(Events_bg+$02).w
- lea ALZ_AIZ2_BGDeformDelta(pc),a4
+ lea (AIZ2_ALZ_BGDeformDelta).l,a4
lea (HScroll_table).w,a1
move.w (Events_fg_1).w,d0
bsr.s sub_23A81E
@@ -467,9 +438,12 @@ Comp_ScreenInitArray:
dc.w $3FF, $1FF, $1F0, $C, $100, $100, $F, $40
ALZ_BGDeformArray:
dc.w $18, 8, 8, 8, 8, 8, $2E, 6, $D,$803F,$7FFF
-BPZ_DeformArray:dc.w $88, $16, $A, $28, $10, 8,$7FFF
-CGZ_DeformArray:dc.w $50, 8, $10, $10,$7FFF
-EMZ_DeformArray:dc.w $10, $10, $10, $10, 8, $C, $24, $38, $20,$7FFF
+BPZ_BGDeformArray:
+ dc.w $88, $16, $A, $28, $10, 8,$7FFF
+CGZ_BGDeformArray:
+ dc.w $50, 8, $10, $10,$7FFF
+EMZ_BGDeformArray:
+ dc.w $10, $10, $10, $10, 8, $C, $24, $38, $20,$7FFF
; ---------------------------------------------------------------------------
AIZ_TreeReveal:
@@ -677,7 +651,7 @@ loc_23B0EE:
jsr (ApplyDeformation3).l
move.l a1,-(sp)
lea (HScroll_table+$040).w,a1
- lea AIZ1_WaterFGDeformDelta(pc),a6
+ lea (AIZ1_WaterFGDeformDelta).l,a6
move.w (Water_level).w,d0
subi.w #$DE,d1
neg.w d1
@@ -693,7 +667,7 @@ loc_23B0EE:
lea (HScroll_table+$040).w,a2
lea AIZ1_DeformArray(pc),a4
lea (HScroll_table+$008).w,a5
- lea AIZ1_WaterBGDeformDelta(pc),a6
+ lea (AIZ1_WaterBGDeformDelta).l,a6
move.w (Water_level).w,d0
sub.w (Camera_Y_pos_copy).w,d0
add.w (Camera_Y_pos_BG_copy).w,d0
@@ -759,9 +733,12 @@ AIZ1_IntroDrawArray:
AIZ1_IntroDeformArray:
dc.w $3E0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
dc.w 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $7FFF
-AIZ1_BGDrawArray:dc.w $220, $7FFF
-AIZ1_DeformArray:dc.w $D0, $20, $30, $30, $10, $10, $10, $800D, $F, 6, $E, $50, $20, $7FFF
-AIZ_FlameVScroll:dc.b 0, $FF, $FE, $FB, $F8, $F6, $F3, $F2, $F1, $F2, $F3, $F6, $F9, $FB, $FE, $FF
+AIZ1_BGDrawArray:
+ dc.w $220, $7FFF
+AIZ1_DeformArray:
+ dc.w $D0, $20, $30, $30, $10, $10, $10, $800D, $F, 6, $E, $50, $20, $7FFF
+AIZ_FlameVScroll:
+ dc.b 0, $FF, $FE, $FB, $F8, $F6, $F3, $F2, $F1, $F2, $F3, $F6, $F9, $FB, $FE, $FF
; ---------------------------------------------------------------------------
AIZ2_Deform:
@@ -811,7 +788,7 @@ locret_23B67E:
AIZ2_ApplyDeform:
lea (HScroll_table).w,a1
- lea AIZ2_FGDeformDelta(pc),a6
+ lea (AIZ2_SOZ1_LRZ3_FGDeformDelta).l,a6
move.w (Camera_Y_pos_copy).w,d0
move.w #$DF,d1
move.w (Level_frame_counter).w,d2
@@ -838,7 +815,7 @@ AIZ2_ApplyDeform:
add.w d0,d2
loc_23B6CA:
- lea AIZ1_WaterFGDeformDelta(pc),a6
+ lea (AIZ1_WaterFGDeformDelta).l,a6
moveq #$7E,d3
loc_23B6D0:
@@ -849,7 +826,7 @@ loc_23B6D0:
lea (HScroll_table).w,a2
lea AIZ2_BGDeformArray(pc),a4
lea (HScroll_table+$1C0).w,a5
- lea ALZ_AIZ2_BGDeformDelta(pc),a6
+ lea (AIZ2_ALZ_BGDeformDelta).l,a6
move.w (Camera_Y_pos_BG_copy).w,d0
move.w #$DF,d1
move.w (Level_frame_counter).w,d2
@@ -880,7 +857,7 @@ loc_23B6D0:
add.w d0,d2
loc_23B73E:
- lea AIZ1_WaterBGDeformDelta(pc),a6
+ lea (AIZ1_WaterBGDeformDelta).l,a6
moveq #$7E,d3
loc_23B744:
@@ -920,40 +897,6 @@ AIZ2_BGDeformMake:
dc.b 3, 4, 8, $1C, $20
dc.b 1, 6, $1E
dc.b $FF, 0
-AIZ2_FGDeformDelta:
- dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
- dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
- dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
- dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
- dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
- dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
- dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
- dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
- dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
-ALZ_AIZ2_BGDeformDelta:
- dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
- dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
- dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
- dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
- dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
- dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
- dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
- dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
- dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
- dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
- dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
- dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
- dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
- dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
- dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
- dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
Pal_AIZBattleship:
binclude "Levels/AIZ/Palettes/Battleship.bin"
even
@@ -1025,11 +968,13 @@ Map_AIZ2BGTree:
include "Levels/AIZ/Misc Object Data/Map - Act 2 Background Tree.asm"
Map_AIZ2BossSmall:
include "Levels/AIZ/Misc Object Data/Map - Act 2 Boss Small.asm"
-
-HCZ1_BGDeformArray:dc.w $40, 8, 8, 5, 5, 6, $F0, 6, 5, 5, 8, 8, $30, $80C0, $7FFF
-HCZ2_BGDeformArray:dc.w 8, 8, $90, $10, 8, $30, $18, 8, 8, $A8, $30, $18
+HCZ1_BGDeformArray:
+ dc.w $40, 8, 8, 5, 5, 6, $F0, 6, 5, 5, 8, 8, $30, $80C0, $7FFF
+HCZ2_BGDeformArray:
+ dc.w 8, 8, $90, $10, 8, $30, $18, 8, 8, $A8, $30, $18
dc.w 8, 8, $A8, $30, $18, 8, 8, $B0, $10, 8, $7FFF
-HCZ2_BGDeformIndex:dc.b 3, $A
+HCZ2_BGDeformIndex:
+ dc.b 3, $A
dc.b $14,$1E
dc.b $2C, 2
dc.b $C,$16
@@ -1083,7 +1028,8 @@ loc_23C9AA:
move.w d0,-4(a1)
rts
; ---------------------------------------------------------------------------
-MGZ1_BGDeformArray:dc.w $10, 4, 4, 8, 8, 8, $D, $13, 8, 8, 8, 8, $18, $7FFF
+MGZ1_BGDeformArray:
+ dc.w $10, 4, 4, 8, 8, 8, $D, $13, 8, 8, 8, 8, $18, $7FFF
MGZ2_QuakeEventArray:
dc.w $780, $7C0, $580, $600, $5A0, $7E0 ; Player X boundaries, Player Y boundaries, Level size reset val
dc.w $31C0, $3200, $1C0, $280, $1E0, $2F60
@@ -1092,7 +1038,8 @@ MGZ2_ChunkEventArray:
dc.w $F68, $F78, $500, $580, $F00, $500 ; Player X boundaries, Player Y boundaries, Screen redraw area
dc.w $3680, $3700, $2F0, $380, $3700, $280
dc.w $3000, $3080, $770, $800, $3080, $700
-MGZ2_ScreenRedrawArray:dc.w $40, 3
+MGZ2_ScreenRedrawArray:
+ dc.w $40, 3
dc.w $50, 3
dc.w $50, 4
dc.w $60, 4
@@ -1115,7 +1062,8 @@ MGZ2_ScreenRedrawArray:dc.w $40, 3
dc.w $C0, 3
dc.w $D0, 2
dc.w $E0, 1
-MGZ2_ChunkReplaceArray:dc.w $100, $500
+MGZ2_ChunkReplaceArray:
+ dc.w $100, $500
dc.w $180, $580
dc.w $200, $600
dc.w $280, $680
@@ -1139,8 +1087,10 @@ MGZ2_ChunkReplaceArray:dc.w $100, $500
dc.w 0, $F80
dc.w 0,$1000
dc.w $80, $480
-MGZ2_CollapseScrollDelay:dc.w $A, $10, 2, 8, $E, 6, 0, $C, $12, 4
-MGZ2_FGVScrollArray:dc.w $3CA0, $20, $20, $20, $20, $20, $20, $20, $20,$7FFF
+MGZ2_CollapseScrollDelay:
+ dc.w $A, $10, 2, 8, $E, 6, 0, $C, $12, 4
+MGZ2_FGVScrollArray:
+ dc.w $3CA0, $20, $20, $20, $20, $20, $20, $20, $20,$7FFF
; ---------------------------------------------------------------------------
MGZ2_BGDeform:
@@ -1255,11 +1205,15 @@ loc_23D2B4:
dbf d0,loc_23D2B4
rts
; ---------------------------------------------------------------------------
-MGZ2_BGDrawArray:dc.w $200, $7FFF
-MGZ2_BGDeformArray:dc.w $10, $10, $10, $10, $10, $18, 8, $10, 8, 8, $10, 8
+MGZ2_BGDrawArray:
+ dc.w $200, $7FFF
+MGZ2_BGDeformArray:
+ dc.w $10, $10, $10, $10, $10, $18, 8, $10, 8, 8, $10, 8
dc.w 8, 8, 5, $2B, $C, 6, 6, 8, 8, $18, $D8, $7FFF
-MGZ2_BGDeformIndex:dc.w $1C, $18, $1A, $C, 6, $14, 2, $10, $16, $12, $A, 0, 8, 4, $E
-MGZ2_BGDeformOffset:dc.w -5, -8, 9, $A, 2, -$C, 3, $10, -1, $D, -$F, 6, -$B, -4, $E
+MGZ2_BGDeformIndex:
+ dc.w $1C, $18, $1A, $C, 6, $14, 2, $10, $16, $12, $A, 0, 8, 4, $E
+MGZ2_BGDeformOffset:
+ dc.w -5, -8, 9, $A, 2, -$C, 3, $10, -1, $D, -$F, 6, -$B, -4, $E
dc.w -8, $10, 8, 0, -8, $10, 8, 0
; ---------------------------------------------------------------------------
@@ -1302,7 +1256,8 @@ sub_23DED6:
move.w #$402,(a1)
rts
; ---------------------------------------------------------------------------
-ICZ1_IntroBGDeformArray:dc.w $44, $C, $B, $D, $18, $50, 2, 6, 8, $10, $18, $20, $28, $7FFF
+ICZ1_IntroBGDeformArray:
+ dc.w $44, $C, $B, $D, $18, $50, 2, 6, 8, $10, $18, $20, $28, $7FFF
; ---------------------------------------------------------------------------
ICZ2_OutDeform:
@@ -1346,7 +1301,7 @@ loc_23E0E8:
move.w (Level_frame_counter).w,d1
lsr.w #2,d1
andi.w #$3E,d1
- lea ALZ_AIZ2_BGDeformDelta(pc),a5
+ lea (AIZ2_ALZ_BGDeformDelta).l,a5
adda.w d1,a5
moveq #7,d1
@@ -1455,8 +1410,10 @@ sub_23E21E:
move.l #$2000600,(a1)
rts
; ---------------------------------------------------------------------------
-ICZ2_OutBGDeformArray:dc.w $5A, $26, $8030, $7FFF
-ICZ2_InBGDeformArray:dc.w $1A0, $40, $20, $18, $40, 8, 8, $18, $7FFF
+ICZ2_OutBGDeformArray:
+ dc.w $5A, $26, $8030, $7FFF
+ICZ2_InBGDeformArray:
+ dc.w $1A0, $40, $20, $18, $40, 8, 8, $18, $7FFF
; ---------------------------------------------------------------------------
LBZ1_CheckLayoutMod:
@@ -1597,16 +1554,20 @@ loc_23E536:
dbf d1,loc_23E536
rts
; ---------------------------------------------------------------------------
-LBZ1_FGVScrollArray:dc.w $3B60, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $7FFF
-LBZ1_LayoutModRange:dc.w $13E0,$16A0, $100, $580
+LBZ1_FGVScrollArray:
+ dc.w $3B60, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $7FFF
+LBZ1_LayoutModRange:
+ dc.w $13E0,$16A0, $100, $580
dc.w $2160,$2520, 0, $700
dc.w $3A60,$3BA0, 0, $600
dc.w $3DE0,$3FA0, 0, $300
-LBZ1_LayoutModExitRange:dc.w $1376,$170A
+LBZ1_LayoutModExitRange:
+ dc.w $1376,$170A
dc.w $20F6,$258A
dc.w $39F6,$3C0A
dc.w $3D76,$400A
-LBZ1_CollapseScrollSpeed:dc.w $1EE, $1F2, $C7, $1B3, $1B7, $198, $E, $139
+LBZ1_CollapseScrollSpeed:
+ dc.w $1EE, $1F2, $C7, $1B3, $1B7, $198, $E, $139
; ---------------------------------------------------------------------------
LBZ1_Deform:
@@ -1653,12 +1614,16 @@ loc_23E79A:
addq.w #7,(a1)
rts
; ---------------------------------------------------------------------------
-LBZ2_BGDeformArray:dc.w $C0, $40, $38, $18, $28, $10, $10, $10, $18, $40, $20, $10, $20
+LBZ2_BGDeformArray:
+ dc.w $C0, $40, $38, $18, $28, $10, $10, $10, $18, $40, $20, $10, $20
dc.w $70, $30, $80E0, $20, $7FFF
-LBZ2_DEBGDeformArray:dc.w $38, $18, $28, $10, $10, $10, $18, $40, $38, $18, $28, $10, $10
+LBZ2_DEBGDeformArray:
+ dc.w $38, $18, $28, $10, $10, $10, $18, $40, $38, $18, $28, $10, $10
dc.w $10, $18, $40, $20, $10, $20, $70, $60, $10, $805F, $7FFF
-LBZ2_CloudDeformArray:dc.w $16, $E, $A, $14, $C, 6, $18, $10, $12, 2, 8, 4, 0
-LBZ2_BGUWDeformRange:dc.w 7, 1, 3, 1, 7
+LBZ2_CloudDeformArray:
+ dc.w $16, $E, $A, $14, $C, 6, $18, $10, $12, 2, 8, 4, 0
+LBZ2_BGUWDeformRange:
+ dc.w 7, 1, 3, 1, 7
; ---------------------------------------------------------------------------
Gumball_ScreenInit:
@@ -1678,7 +1643,7 @@ Gumball_ScreenInit:
lea Gumball_VScrollArray(pc),a4
lea (HScroll_table).w,a5
move.w (Camera_X_pos_rounded).w,d0
- jmp (RefreshPlaneDirectVScroll).l
+ jmp (Refresh_PlaneDirectVScroll).l
; ---------------------------------------------------------------------------
Gumball_ScreenEvent:
@@ -1708,7 +1673,8 @@ Gumball_VScroll:
move.w d1,$E(a1)
rts
; ---------------------------------------------------------------------------
-Gumball_VScrollArray:dc.w $C0, $80, $7FFF
+Gumball_VScrollArray:
+ dc.w $C0, $80, $7FFF
; ---------------------------------------------------------------------------
Gumball_BackgroundInit:
diff --git a/SonLVL INI Files/AIZ/Bloominator.xml b/SonLVL INI Files/AIZ/Bloominator.xml
new file mode 100644
index 00000000..e26b2347
--- /dev/null
+++ b/SonLVL INI Files/AIZ/Bloominator.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SonLVL INI Files/AIZ/E-S3.ini b/SonLVL INI Files/AIZ/E-S3.ini
index bdfa09a3..1a1f2c53 100644
--- a/SonLVL INI Files/AIZ/E-S3.ini
+++ b/SonLVL INI Files/AIZ/E-S3.ini
@@ -1,7 +1,7 @@
[81]
-xmlfile=AIZ/Tulipon.xml
+xmlfile=AIZ/Bloominator.xml
[82]
-xmlfile=AIZ/RhinoBot.xml
+xmlfile=AIZ/Rhinobot.xml
[83]
xmlfile=AIZ/MonkeyDude.xml
[9F]
diff --git a/SonLVL INI Files/AIZ/E.ini b/SonLVL INI Files/AIZ/E.ini
index edd94994..2f1746ae 100644
--- a/SonLVL INI Files/AIZ/E.ini
+++ b/SonLVL INI Files/AIZ/E.ini
@@ -1,9 +1,9 @@
[85]
xmlfile=Common/SSEntryRing.xml
[8C]
-xmlfile=AIZ/Tulipon.xml
+xmlfile=AIZ/Bloominator.xml
[8D]
-xmlfile=AIZ/RhinoBot.xml
+xmlfile=AIZ/Rhinobot.xml
[8E]
xmlfile=AIZ/MonkeyDude.xml
[8F]
diff --git a/SonLVL INI Files/AIZ/RhinoBot.xml b/SonLVL INI Files/AIZ/Rhinobot.xml
similarity index 51%
rename from SonLVL INI Files/AIZ/RhinoBot.xml
rename to SonLVL INI Files/AIZ/Rhinobot.xml
index d70b8a20..8d81216a 100644
--- a/SonLVL INI Files/AIZ/RhinoBot.xml
+++ b/SonLVL INI Files/AIZ/Rhinobot.xml
@@ -2,8 +2,8 @@
-
-
+
+
\ No newline at end of file
diff --git a/SonLVL INI Files/AIZ/Tulipon.xml b/SonLVL INI Files/AIZ/Tulipon.xml
deleted file mode 100644
index fd32137c..00000000
--- a/SonLVL INI Files/AIZ/Tulipon.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/SonLVL INI Files/CNZ/E-S3.ini b/SonLVL INI Files/CNZ/E-S3.ini
index 86358afd..c44905f4 100644
--- a/SonLVL INI Files/CNZ/E-S3.ini
+++ b/SonLVL INI Files/CNZ/E-S3.ini
@@ -1,7 +1,7 @@
[A0]
xmlfile=CNZ/Clamer.xml
[A1]
-xmlfile=CNZ/Blastoid.xml
+xmlfile=CNZ/Sparkle.xml
[A2]
xmlfile=CNZ/Batbot.xml
[CB]
diff --git a/SonLVL INI Files/CNZ/E.ini b/SonLVL INI Files/CNZ/E.ini
index c800ec25..304e944f 100644
--- a/SonLVL INI Files/CNZ/E.ini
+++ b/SonLVL INI Files/CNZ/E.ini
@@ -3,6 +3,6 @@ xmlfile=Common/SSEntryRing.xml
[A3]
xmlfile=CNZ/Clamer.xml
[A4]
-xmlfile=CNZ/Blastoid.xml
+xmlfile=CNZ/Sparkle.xml
[A5]
xmlfile=CNZ/Batbot.xml
\ No newline at end of file
diff --git a/SonLVL INI Files/CNZ/Blastoid.xml b/SonLVL INI Files/CNZ/Sparkle.xml
similarity index 75%
rename from SonLVL INI Files/CNZ/Blastoid.xml
rename to SonLVL INI Files/CNZ/Sparkle.xml
index c4bcc97f..dbc7d3ac 100644
--- a/SonLVL INI Files/CNZ/Blastoid.xml
+++ b/SonLVL INI Files/CNZ/Sparkle.xml
@@ -3,7 +3,7 @@
-
+
\ No newline at end of file
diff --git a/SonLVL INI Files/CNZ/SpiralTube.cs b/SonLVL INI Files/CNZ/SpiralTube.cs
index e8ff2b8d..fd5a49ec 100644
--- a/SonLVL INI Files/CNZ/SpiralTube.cs
+++ b/SonLVL INI Files/CNZ/SpiralTube.cs
@@ -93,8 +93,7 @@ public override Sprite GetDebugOverlay(ObjectEntry obj)
public override Rectangle GetBounds(ObjectEntry obj)
{
- if (obj.SubType > 2)
- return new Rectangle(obj.X - 8, obj.Y - 7, 16, 14);
+ if (obj.SubType > 2) return base.GetBounds(obj);
return new Rectangle(obj.X - 64, obj.Y - 16, 128, 32);
}
diff --git a/SonLVL INI Files/CNZ/TriangleBumpers.cs b/SonLVL INI Files/CNZ/TriangleBumpers.cs
index 8b74e758..8a9e8bae 100644
--- a/SonLVL INI Files/CNZ/TriangleBumpers.cs
+++ b/SonLVL INI Files/CNZ/TriangleBumpers.cs
@@ -55,6 +55,8 @@ public override Sprite GetDebugOverlay(ObjectEntry obj)
public override Rectangle GetBounds(ObjectEntry obj)
{
+ if (obj.SubType == 0) return base.GetBounds(obj);
+
return new Rectangle(obj.X - obj.SubType, obj.Y - 8, obj.SubType * 2, 16);
}
diff --git a/SonLVL INI Files/Common/BreakableWall.cs b/SonLVL INI Files/Common/BreakableWall.cs
index 6a5802b2..d2771379 100644
--- a/SonLVL INI Files/Common/BreakableWall.cs
+++ b/SonLVL INI Files/Common/BreakableWall.cs
@@ -54,7 +54,7 @@ class BreakableWall2 : BreakableWall
public override void Init(ObjectData data)
{
base.Init(data);
- var art = LevelData.ReadFile("../Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin", CompressionType.Nemesis);
+ var art = LevelData.ReadFile("../Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin", CompressionType.Nemesis);
var sprite = ObjectHelper.MapASMToBmp(art, "../Levels/HCZ/Misc Object Data/Map - Breakable Wall.asm", 2, 2);
sprites[1] = BuildFlippedSprites(sprite);
properties[0].Enumeration.Add("Knuckles Wall", 1);
diff --git a/SonLVL INI Files/Common/CutsceneKnuckles.cs b/SonLVL INI Files/Common/CutsceneKnuckles.cs
index 8edfd671..21221cd3 100644
--- a/SonLVL INI Files/Common/CutsceneKnuckles.cs
+++ b/SonLVL INI Files/Common/CutsceneKnuckles.cs
@@ -182,7 +182,7 @@ protected void BuildSpritesSubtypes(int startpal, bool s3, string girderart = ".
art = LevelData.ReadFile("../General/Sprites/Knuckles/Art/Knuckles.bin", CompressionType.Uncompressed);
map = LevelData.ASMToBin("../General/Sprites/Knuckles/Map - Knuckles.asm", EngineVersion.S3K);
- plc = LevelData.ASMToBin("../General/Sprites/Knuckles/Knuckles pattern load cues.asm", EngineVersion.S2);
+ plc = LevelData.ASMToBin("../General/Sprites/Knuckles/DPLC - Knuckles.asm", EngineVersion.S2);
subtypeNames[9] = "Lava Reef 2";
sprites[10] = BuildFlippedSprites(ObjectHelper.MapDPLCToBmp(
diff --git a/SonLVL INI Files/Common/KnucklesStartFall.xml b/SonLVL INI Files/Common/KnucklesStartFall.xml
index 2a79e858..a6349791 100644
--- a/SonLVL INI Files/Common/KnucklesStartFall.xml
+++ b/SonLVL INI Files/Common/KnucklesStartFall.xml
@@ -3,6 +3,6 @@
+ dplcfile="../General/Sprites/Knuckles/DPLC - Knuckles.asm" dplcver="S2" frame="140" startpal="4" />
\ No newline at end of file
diff --git a/SonLVL INI Files/Common/KnucklesStartSpin.xml b/SonLVL INI Files/Common/KnucklesStartSpin.xml
index 27907780..31dfb7ce 100644
--- a/SonLVL INI Files/Common/KnucklesStartSpin.xml
+++ b/SonLVL INI Files/Common/KnucklesStartSpin.xml
@@ -3,6 +3,6 @@
+ dplcfile="../General/Sprites/Knuckles/DPLC - Knuckles.asm" dplcver="S2" frame="150" startpal="4" />
\ No newline at end of file
diff --git a/SonLVL INI Files/Common/KnucklesStartWalk.xml b/SonLVL INI Files/Common/KnucklesStartWalk.xml
index 2eb2e58d..275f149b 100644
--- a/SonLVL INI Files/Common/KnucklesStartWalk.xml
+++ b/SonLVL INI Files/Common/KnucklesStartWalk.xml
@@ -3,6 +3,6 @@
+ dplcfile="../General/Sprites/Knuckles/DPLC - Knuckles.asm" dplcver="S2" frame="5" startpal="4" />
\ No newline at end of file
diff --git a/SonLVL INI Files/Common/Main.ini b/SonLVL INI Files/Common/Main.ini
index 080a5b7e..351e6219 100644
--- a/SonLVL INI Files/Common/Main.ini
+++ b/SonLVL INI Files/Common/Main.ini
@@ -2,13 +2,13 @@
art=../General/Sprites/Sonic/Art/Sonic.bin
artcmp=Uncompressed
mapasm=../General/Sprites/Sonic/Map - Sonic.asm
-dplcasm=../General/Sprites/Sonic/Sonic pattern load cues.asm
+dplcasm=../General/Sprites/Sonic/DPLC - Sonic.asm
frame=186
[Knuckles]
art=../General/Sprites/Knuckles/Art/Knuckles.bin
artcmp=Uncompressed
mapasm=../General/Sprites/Knuckles/Map - Knuckles.asm
-dplcasm=../General/Sprites/Knuckles/Knuckles pattern load cues.asm
+dplcasm=../General/Sprites/Knuckles/DPLC - Knuckles.asm
frame=86
pal=4
[Ring]
diff --git a/SonLVL INI Files/Common/SinkingMud.cs b/SonLVL INI Files/Common/SinkingMud.cs
index fff853fd..e9f89eaa 100644
--- a/SonLVL INI Files/Common/SinkingMud.cs
+++ b/SonLVL INI Files/Common/SinkingMud.cs
@@ -73,6 +73,8 @@ public override Sprite GetDebugOverlay(ObjectEntry obj)
public override Rectangle GetBounds(ObjectEntry obj)
{
var width = obj.SubType << 4;
+ if (width == 0) return base.GetBounds(obj);
+
return new Rectangle(obj.X - (width / 2), obj.Y - (height / 2), width, height);
}
diff --git a/SonLVL INI Files/Common/SonicStartFall.xml b/SonLVL INI Files/Common/SonicStartFall.xml
index b6ccb064..647d10c0 100644
--- a/SonLVL INI Files/Common/SonicStartFall.xml
+++ b/SonLVL INI Files/Common/SonicStartFall.xml
@@ -3,6 +3,6 @@
+ dplcfile="../General/Sprites/Sonic/DPLC - Sonic.asm" dplcver="S2" frame="141" />
\ No newline at end of file
diff --git a/SonLVL INI Files/Common/SonicStartSpin.xml b/SonLVL INI Files/Common/SonicStartSpin.xml
index 4a6b4772..45fd5729 100644
--- a/SonLVL INI Files/Common/SonicStartSpin.xml
+++ b/SonLVL INI Files/Common/SonicStartSpin.xml
@@ -3,6 +3,6 @@
+ dplcfile="../General/Sprites/Sonic/DPLC - Sonic.asm" dplcver="S2" frame="151" />
\ No newline at end of file
diff --git a/SonLVL INI Files/Common/SonicStartTails.xml b/SonLVL INI Files/Common/SonicStartTails.xml
index 901a477a..37eb1d23 100644
--- a/SonLVL INI Files/Common/SonicStartTails.xml
+++ b/SonLVL INI Files/Common/SonicStartTails.xml
@@ -3,17 +3,17 @@
+ dplcfile="../General/Sprites/Tails/DPLC - Tails tails.asm" dplcver="S2" frame="39" />
+ dplcfile="../General/Sprites/Tails/DPLC - Tails.asm" dplcver="S2" frame="162" />
+ dplcfile="../General/Sprites/Sonic/DPLC - Sonic.asm" dplcver="S2" frame="144" />
\ No newline at end of file
diff --git a/SonLVL INI Files/Common/SonicStartWalk.xml b/SonLVL INI Files/Common/SonicStartWalk.xml
index 55e323a4..7a7cf389 100644
--- a/SonLVL INI Files/Common/SonicStartWalk.xml
+++ b/SonLVL INI Files/Common/SonicStartWalk.xml
@@ -3,6 +3,6 @@
+ dplcfile="../General/Sprites/Sonic/DPLC - Sonic.asm" dplcver="S2" frame="5" />
\ No newline at end of file
diff --git a/SonLVL INI Files/Common/StillSprite.cs b/SonLVL INI Files/Common/StillSprite.cs
index a3560af6..88fa6677 100644
--- a/SonLVL INI Files/Common/StillSprite.cs
+++ b/SonLVL INI Files/Common/StillSprite.cs
@@ -81,7 +81,7 @@ public override void Init(ObjectData data)
var art5 = indexer.ToArray();
indexer.AddFile(new List(LevelData.ReadFile(
- "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis)), -512);
+ "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis)), -512);
var art6 = indexer.ToArray();
BuildSpritesSubtypes(
diff --git a/SonLVL INI Files/Common/TensionBridge.cs b/SonLVL INI Files/Common/TensionBridge.cs
index dd8885bd..e7498727 100644
--- a/SonLVL INI Files/Common/TensionBridge.cs
+++ b/SonLVL INI Files/Common/TensionBridge.cs
@@ -11,7 +11,7 @@ class TensionBridge : Common.TensionBridge
public override void Init(ObjectData data)
{
BuildSpritesProperties(
- "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", -512,
+ "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", -512,
"../Levels/Misc/Map - Tension Bridge.asm", 2, false, null, null, 0);
}
}
diff --git a/SonLVL INI Files/DEZ/ConveyorBelt.cs b/SonLVL INI Files/DEZ/ConveyorBelt.cs
index 9ea5daec..18322f17 100644
--- a/SonLVL INI Files/DEZ/ConveyorBelt.cs
+++ b/SonLVL INI Files/DEZ/ConveyorBelt.cs
@@ -63,6 +63,7 @@ public override Sprite GetDebugOverlay(ObjectEntry obj)
public override Rectangle GetBounds(ObjectEntry obj)
{
var width = (obj.SubType & 0x7F) << 4;
+ if (width == 0) return base.GetBounds(obj);
return new Rectangle(obj.X - (width / 2), obj.Y - 16, width, 32);
}
diff --git a/SonLVL INI Files/DEZ/GravityTube.cs b/SonLVL INI Files/DEZ/GravityTube.cs
index cd356542..aba54c11 100644
--- a/SonLVL INI Files/DEZ/GravityTube.cs
+++ b/SonLVL INI Files/DEZ/GravityTube.cs
@@ -64,7 +64,7 @@ public override Sprite GetDebugOverlay(ObjectEntry obj)
public override Rectangle GetBounds(ObjectEntry obj)
{
- if ((obj.SubType & 0x3F) == 0) return new Rectangle(obj.X - 8, obj.Y - 7, 16, 14);
+ if ((obj.SubType & 0x3F) == 0) return base.GetBounds(obj);
var length = (obj.SubType & 0x3F) << 4;
if (obj.SubType >= 0x80)
diff --git a/SonLVL INI Files/FBZ/WireCage.cs b/SonLVL INI Files/FBZ/WireCage.cs
index 9306dc7a..506567f6 100644
--- a/SonLVL INI Files/FBZ/WireCage.cs
+++ b/SonLVL INI Files/FBZ/WireCage.cs
@@ -73,6 +73,7 @@ public override Sprite GetDebugOverlay(ObjectEntry obj)
public override Rectangle GetBounds(ObjectEntry obj)
{
var length = (obj.SubType & 0x7F) << 4;
+ if (length == 0) return base.GetBounds(obj);
if (obj.SubType < 0x80)
return new Rectangle(obj.X - (length / 2), obj.Y - 64, length, 128);
diff --git a/SonLVL INI Files/HCZ/1.ini b/SonLVL INI Files/HCZ/1.ini
index fc1d12ba..ab195e8c 100644
--- a/SonLVL INI Files/HCZ/1.ini
+++ b/SonLVL INI Files/HCZ/1.ini
@@ -4,7 +4,7 @@ xmlfile=Common/SonicStartFall.xml
art=../General/Sprites/Knuckles/Art/Knuckles.bin
artcmp=Uncompressed
mapasm=../General/Sprites/Knuckles/Map - Knuckles.asm
-dplcasm=../General/Sprites/Knuckles/Knuckles pattern load cues.asm
+dplcasm=../General/Sprites/Knuckles/DPLC - Knuckles.asm
frame=203
pal=4
[0D]
diff --git a/SonLVL INI Files/HCZ/E-S3.ini b/SonLVL INI Files/HCZ/E-S3.ini
index 853de770..759de610 100644
--- a/SonLVL INI Files/HCZ/E-S3.ini
+++ b/SonLVL INI Files/HCZ/E-S3.ini
@@ -3,8 +3,8 @@ xmlfile=HCZ/Buggernaut.xml
[9C]
xmlfile=HCZ/TurboSpiker.xml
[9D]
-xmlfile=HCZ/MegaChomper.xml
+xmlfile=HCZ/MegaChopper.xml
[9E]
-xmlfile=HCZ/Poindexter.xml
+xmlfile=HCZ/Pointdexter.xml
[CB]
xmlfile=Common/SSEntryRing.xml
\ No newline at end of file
diff --git a/SonLVL INI Files/HCZ/E.ini b/SonLVL INI Files/HCZ/E.ini
index 56635869..4d67bb0a 100644
--- a/SonLVL INI Files/HCZ/E.ini
+++ b/SonLVL INI Files/HCZ/E.ini
@@ -5,6 +5,6 @@ xmlfile=HCZ/Buggernaut.xml
[96]
xmlfile=HCZ/TurboSpiker.xml
[97]
-xmlfile=HCZ/MegaChomper.xml
+xmlfile=HCZ/MegaChopper.xml
[98]
-xmlfile=HCZ/Poindexter.xml
\ No newline at end of file
+xmlfile=HCZ/Pointdexter.xml
\ No newline at end of file
diff --git a/SonLVL INI Files/HCZ/MegaChomper.xml b/SonLVL INI Files/HCZ/MegaChopper.xml
similarity index 68%
rename from SonLVL INI Files/HCZ/MegaChomper.xml
rename to SonLVL INI Files/HCZ/MegaChopper.xml
index fb44a61b..a94b6970 100644
--- a/SonLVL INI Files/HCZ/MegaChomper.xml
+++ b/SonLVL INI Files/HCZ/MegaChopper.xml
@@ -1,13 +1,13 @@
-
+
-
+
-
+
diff --git a/SonLVL INI Files/HCZ/Poindexter.xml b/SonLVL INI Files/HCZ/Pointdexter.xml
similarity index 100%
rename from SonLVL INI Files/HCZ/Poindexter.xml
rename to SonLVL INI Files/HCZ/Pointdexter.xml
diff --git a/SonLVL INI Files/HCZ/SnakeBlocks.cs b/SonLVL INI Files/HCZ/SnakeBlocks.cs
index e5285c4a..1fe27f8f 100644
--- a/SonLVL INI Files/HCZ/SnakeBlocks.cs
+++ b/SonLVL INI Files/HCZ/SnakeBlocks.cs
@@ -77,7 +77,7 @@ public override void Init(ObjectData data)
properties = new PropertySpec[2];
subtypes = new ReadOnlyCollection(new byte[0]);
sprite = ObjectHelper.MapASMToBmp(LevelData.ReadFile(
- "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis),
+ "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis),
"../Levels/HCZ/Misc Object Data/Map - Floating Platform.asm", 1, 0);
var bitmap = new BitmapBits(129, 129);
diff --git a/SonLVL INI Files/HCZ/SpinningColumn.cs b/SonLVL INI Files/HCZ/SpinningColumn.cs
index 016658dc..3ef0f3cf 100644
--- a/SonLVL INI Files/HCZ/SpinningColumn.cs
+++ b/SonLVL INI Files/HCZ/SpinningColumn.cs
@@ -98,7 +98,7 @@ public override void Init(ObjectData data)
{
var indexer = new MultiFileIndexer();
indexer.AddFile(new List(LevelData.ReadFile(
- "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis)), -768);
+ "../Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin", CompressionType.Nemesis)), -768);
properties = new PropertySpec[2];
subtypes = new ReadOnlyCollection(new byte[0]);
diff --git a/SonLVL INI Files/HPZ/3.ini b/SonLVL INI Files/HPZ/3.ini
index cc882be1..1b02136b 100644
--- a/SonLVL INI Files/HPZ/3.ini
+++ b/SonLVL INI Files/HPZ/3.ini
@@ -2,14 +2,14 @@
art=../General/Sprites/Sonic/Art/Sonic.bin
artcmp=Uncompressed
mapasm=../General/Sprites/Sonic/Map - Sonic.asm
-dplcasm=../General/Sprites/Sonic/Sonic pattern load cues.asm
+dplcasm=../General/Sprites/Sonic/DPLC - Sonic.asm
frame=186
pri=true
[Knuckles]
art=../General/Sprites/Knuckles/Art/Knuckles.bin
artcmp=Uncompressed
mapasm=../General/Sprites/Knuckles/Map - Knuckles.asm
-dplcasm=../General/Sprites/Knuckles/Knuckles pattern load cues.asm
+dplcasm=../General/Sprites/Knuckles/DPLC - Knuckles.asm
frame=86
pal=4
pri=true
diff --git a/SonLVL INI Files/LBZ/1.ini b/SonLVL INI Files/LBZ/1.ini
index c63aff45..aca1d001 100644
--- a/SonLVL INI Files/LBZ/1.ini
+++ b/SonLVL INI Files/LBZ/1.ini
@@ -2,13 +2,13 @@
art=../General/Sprites/Sonic/Art/Sonic.bin
artcmp=Uncompressed
mapasm=../General/Sprites/Sonic/Map - Sonic.asm
-dplcasm=../General/Sprites/Sonic/Sonic pattern load cues.asm
+dplcasm=../General/Sprites/Sonic/DPLC - Sonic.asm
frame=142
[Knuckles]
art=../General/Sprites/Knuckles/Art/Knuckles.bin
artcmp=Uncompressed
mapasm=../General/Sprites/Knuckles/Map - Knuckles.asm
-dplcasm=../General/Sprites/Knuckles/Knuckles pattern load cues.asm
+dplcasm=../General/Sprites/Knuckles/DPLC - Knuckles.asm
frame=142
pal=4
[10]
diff --git a/SonLVL INI Files/LBZ/Flybot767.xml b/SonLVL INI Files/LBZ/Flybot767.xml
index 1dea3bb0..cb63a42c 100644
--- a/SonLVL INI Files/LBZ/Flybot767.xml
+++ b/SonLVL INI Files/LBZ/Flybot767.xml
@@ -2,9 +2,9 @@
-
-
+
+
\ No newline at end of file
diff --git a/SonLVL INI Files/LBZ/RollingDrum.cs b/SonLVL INI Files/LBZ/RollingDrum.cs
index c657113c..d13168d4 100644
--- a/SonLVL INI Files/LBZ/RollingDrum.cs
+++ b/SonLVL INI Files/LBZ/RollingDrum.cs
@@ -57,6 +57,8 @@ public override Sprite GetDebugOverlay(ObjectEntry obj)
public override Rectangle GetBounds(ObjectEntry obj)
{
var width = obj.SubType << 1;
+ if (width == 0) return base.GetBounds(obj);
+
return new Rectangle(obj.X - (width / 2), obj.Y - 64, width, 128);
}
diff --git a/SonLVL INI Files/LBZ/SnaleBlaster.xml b/SonLVL INI Files/LBZ/SnaleBlaster.xml
index 32742550..f83d6ee1 100644
--- a/SonLVL INI Files/LBZ/SnaleBlaster.xml
+++ b/SonLVL INI Files/LBZ/SnaleBlaster.xml
@@ -2,12 +2,12 @@
-
-
+
+
-
-
+
+
diff --git a/SonLVL INI Files/LRZ/CutsceneTrigger.cs b/SonLVL INI Files/LRZ/CutsceneTrigger.cs
index cb453087..3fa65880 100644
--- a/SonLVL INI Files/LRZ/CutsceneTrigger.cs
+++ b/SonLVL INI Files/LRZ/CutsceneTrigger.cs
@@ -65,7 +65,7 @@ public override void Init(ObjectData data)
sprite = ObjectHelper.MapDPLCToBmp(LevelData.ReadFile(
"../General/Sprites/Knuckles/Art/Knuckles.bin", CompressionType.Uncompressed), LevelData.ASMToBin(
"../General/Sprites/Knuckles/Map - Knuckles.asm", EngineVersion.S3K), EngineVersion.S3K, LevelData.ASMToBin(
- "../General/Sprites/Knuckles/Knuckles pattern load cues.asm", EngineVersion.S2), EngineVersion.S2, 0x56, 7, true);
+ "../General/Sprites/Knuckles/DPLC - Knuckles.asm", EngineVersion.S2), EngineVersion.S2, 0x56, 7, true);
sprite.Flip(true, false);
sprite.Offset(48, 10);
diff --git a/SonLVL INI Files/LRZ/RockSprite.cs b/SonLVL INI Files/LRZ/RockSprite.cs
index 93985a4d..bf2b4af8 100644
--- a/SonLVL INI Files/LRZ/RockSprite.cs
+++ b/SonLVL INI Files/LRZ/RockSprite.cs
@@ -6,7 +6,8 @@
namespace S3KObjectDefinitions.LRZ
{
- class RockSprite : ExtraObjEntry
+ [Serializable]
+ public class RockSprite : ExtraObjEntry
{
private static Sprite[] sprites;
diff --git a/SonLVL INI Files/SOZ/CapsuleArtLoadTrigger.cs b/SonLVL INI Files/SOZ/CapsuleArtLoadTrigger.cs
index efacf948..a82f5dda 100644
--- a/SonLVL INI Files/SOZ/CapsuleArtLoadTrigger.cs
+++ b/SonLVL INI Files/SOZ/CapsuleArtLoadTrigger.cs
@@ -61,7 +61,7 @@ public override Rectangle GetBounds(ObjectEntry obj)
{
if (obj.SubType == 0) return new Rectangle(obj.X - 16, obj.Y - 64, 32, 128);
if (obj.SubType == 4) return new Rectangle(obj.X - 16, obj.Y - 128, 32, 256);
- return new Rectangle(obj.X - 8, obj.Y - 7, 16, 14);
+ return base.GetBounds(obj);
}
public override void Init(ObjectData data)
diff --git a/SonLVL INI Files/SOZ/Quicksand.cs b/SonLVL INI Files/SOZ/Quicksand.cs
index 32462494..f5f39aa5 100644
--- a/SonLVL INI Files/SOZ/Quicksand.cs
+++ b/SonLVL INI Files/SOZ/Quicksand.cs
@@ -64,8 +64,9 @@ public override Rectangle GetBounds(ObjectEntry obj)
{
var direction = obj.SubType & 0xC0;
var width = (obj.SubType & 0x3F) << 4;
- var height = width;
+ if (width == 0) return base.GetBounds(obj);
+ var height = width;
if (direction == 0x00) width = 32;
else if (direction == 0x40) height = 32;
else if (direction == 0x80) width = 64;
diff --git a/SonLVL INI Files/SSZ/EggMobile.cs b/SonLVL INI Files/SSZ/EggMobile.cs
index 93f58211..3af27493 100644
--- a/SonLVL INI Files/SSZ/EggMobile.cs
+++ b/SonLVL INI Files/SSZ/EggMobile.cs
@@ -80,7 +80,7 @@ public override void Init(ObjectData data)
"../General/Sprites/Mecha Sonic/Map - Mecha Sonic.asm", 0, 1, true);
var emerald = ObjectHelper.MapASMToBmp(LevelData.ReadFile(
- "../Levels/HPZ/Kosinski Art/Master Emerald.bin", CompressionType.Kosinski),
+ "../General/Ending/KosinskiM Art/Master Emerald.bin", CompressionType.KosinskiM),
"../Levels/SSZ/Misc Object Data/Map - Master Emerald.asm", 0, 0, true);
subtypes = new ReadOnlyCollection(new byte[0]);
diff --git a/SonLVL INI Files/SonLVL - S&K.ini b/SonLVL INI Files/SonLVL - S&K.ini
index 96c49349..b1f438c9 100644
--- a/SonLVL INI Files/SonLVL - S&K.ini
+++ b/SonLVL INI Files/SonLVL - S&K.ini
@@ -270,7 +270,7 @@ layout=../Levels/SSZ/Layout/2.bin
objects=../Levels/SSZ/Object Pos/2.bin
rings=../Levels/SSZ/Ring Pos/2.bin
startpos=../Levels/SSZ/Start Location/Sonic/2.bin:Sonic:Sonic Start|../Levels/SSZ/Start Location/Knuckles/2.bin:Knuckles:Knuckles Start
-palette=../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../Levels/SSZ/Palettes/GHZMisc.bin:0:16:16|../General/Ending/Palettes/Objects.bin:0:32:32
+palette=../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../General/Sprites/Mecha Sonic/Palettes/Main.bin:0:16:16|../General/Ending/Palettes/Objects.bin:0:32:32
palette2=Ending|../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../General/Ending/Palettes/Ending 1.bin:0:16:48
extracolors=../General/Sprites/Knuckles/Palettes/Main.bin:0:0:16
colind=../Levels/SSZ/Collision/2.bin
diff --git a/SonLVL INI Files/SonLVL.ini b/SonLVL INI Files/SonLVL.ini
index d4f55c0f..4b2abcb8 100644
--- a/SonLVL INI Files/SonLVL.ini
+++ b/SonLVL INI Files/SonLVL.ini
@@ -566,7 +566,7 @@ layout=../Levels/SSZ/Layout/2.bin
objects=../Levels/SSZ/Object Pos/2.bin
rings=../Levels/SSZ/Ring Pos/2.bin
startpos=../Levels/SSZ/Start Location/Sonic/2.bin:Sonic:Sonic Start|../Levels/SSZ/Start Location/Knuckles/2.bin:Knuckles:Knuckles Start
-palette=../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../Levels/SSZ/Palettes/GHZMisc.bin:0:16:16|../General/Ending/Palettes/Objects.bin:0:32:32
+palette=../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../General/Sprites/Mecha Sonic/Palettes/Main.bin:0:16:16|../General/Ending/Palettes/Objects.bin:0:32:32
palette2=Ending|../General/Sprites/Sonic/Palettes/SonicAndTails.bin:0:0:16|../General/Ending/Palettes/Ending 1.bin:0:16:48
extracolors=../General/Sprites/Knuckles/Palettes/Main.bin:0:0:16
colind=../Levels/SSZ/Collision/2.bin
diff --git a/SonLVL INI Files/SonPLN.ini b/SonLVL INI Files/SonPLN.ini
index 0ef55f9b..a0d5e041 100644
--- a/SonLVL INI Files/SonPLN.ini
+++ b/SonLVL INI Files/SonPLN.ini
@@ -221,7 +221,7 @@ height=32
displayname=Data Select - Background
tiles=../General/Save Menu/Kosinski Art/Menu BG.bin
tilecmp=Kosinski
-mappings=../General/Title/Enigma Map/S3 Menu BG.bin
+mappings=../General/Save Menu/Enigma Map/Menu BG.bin
palette=../General/Save Menu/Palettes/BG.bin:0:0:16
palette2=Competition|../General/Competition Menu/Palettes/BG.bin:0:0:16
width=40
@@ -483,10 +483,28 @@ palette=../General/Blue Sphere/Palettes/Title 1.bin:16:0:16
palette2=Dark|../General/Blue Sphere/Palettes/Title 2.bin:16:0:16
width=40
height=16
+[Special Stage\\HUD]
+displayname=Special Stage - HUD
+tiles=../General/Special Stage/Nemesis Art/Digits.bin
+tileoff=0x781
+mappings=../General/Special Stage/Uncompressed Map/HUD.bin
+mapcmp=Uncompressed
+palette=../General/Special Stage/Palettes/Main.bin:0:0:64
+width=8
+height=3
+[Special Stage\\HUD Numbers]
+displayname=Special Stage - HUD Numbers
+tiles=../General/Special Stage/Nemesis Art/Digits.bin
+tileoff=0x781
+mappings=../General/Special Stage/Uncompressed Map/HUD Numbers.bin
+mapcmp=Uncompressed
+palette=../General/Special Stage/Palettes/Main.bin:0:0:64
+width=20
+height=3
[Special Stage\\Foreground (S3)]
displayname=Special Stage - Foreground (S3)
tiles=../General/Special Stage/Nemesis Art/Layout.bin
-mappings=../General/Special Stage/Layout/S3 Plane Map.bin
+mappings=../General/Special Stage/Uncompressed Map/Layout S3.bin
mapcmp=Uncompressed
palette=../General/Special Stage/Palettes/Main.bin:0:0:64
width=40
diff --git a/Sound/Flamedriver.asm b/Sound/Flamedriver.asm
index d72511d9..ef710b16 100644
--- a/Sound/Flamedriver.asm
+++ b/Sound/Flamedriver.asm
@@ -22,6 +22,9 @@
; Constants
; ===========================================================================
+; Set this to 1 to fix some bugs in the driver.
+fix_sndbugs = 0
+
; Used by SMPS2ASM include file.
SonicDriverVer = 5
; Set the following to non-zero to use all S2 DAC samples, or to zero otherwise.
@@ -207,6 +210,7 @@ zSFX_PSG1: zTrack
zSFX_PSG2: zTrack
zSFX_PSG3: zTrack
zTracksSFXEnd:
+ dephase
phase zTracksSFXStart
zTracksSaveStart:
zSaveSongDAC: zTrack
@@ -467,11 +471,19 @@ bankswitch macro
rrca
ld (hl), a
endm
+ if fix_sndbugs
+ ld (hl),h ; The low bit of h is 0
+ else
xor a
ld (hl), a
+ endif
endm
bankswitchLoop macro
+ if fix_sndbugs
+ ld (hl),h ; The low bit of h is 0
+ else
+ endif
ld b, 8
.bankloop:
ld (zBankRegister), a
@@ -484,6 +496,10 @@ bankswitchLoop macro
bankswitchToMusic macro
ld a, (zSongBank)
bankswitch
+ if fix_sndbugs
+ ld (hl),h ; The low bit of h is 0
+ else
+ endif
endm
; macro to make a certain error message clearer should you happen to get it...
@@ -1118,8 +1134,8 @@ zFinishTrackUpdate:
bit 1, (ix+zTrack.PlaybackControl) ; Is 'do not attack next note' flag set?
ret nz ; Branch if yes
xor a ; Clear a
- ld (ix+zTrack.ModulationSpeed), a ; Clear modulation speed
- ld (ix+zTrack.ModulationValLow), a ; Clear low byte of accumulated modulation
+ ld (ix+zTrack.ModEnvIndex), a ; Clear modulation envelope index
+ ld (ix+zTrack.ModEnvSens), a ; Clear modulation envelope multiplier
ld (ix+zTrack.VolEnv), a ; Reset volume envelope
ld a, (ix+zTrack.NoteFillMaster) ; Get master note fill
ld (ix+zTrack.NoteFillTimeout), a ; Set note fill timeout
@@ -1236,7 +1252,10 @@ zDoFMVolEnv:
push bc ; Save bc
jr nc, .skip_reg ; Branch if c bit shifted was zero
add a, (hl) ; Add TL value to volume envelope
+ if fix_sndbugs=0
+ ; This isn't actually needed
and 7Fh ; Strip sign bit
+ endif
ld c, a ; c = TL + volume envelope
ld a, (de) ; a = YM2612 register
call zWriteFMIorII ; Send TL data to YM2612
@@ -2778,18 +2797,20 @@ zFadeInToPrevious:
; ---------------------------------------------------------------------------
;loc_AA5
zPSGFrequencies:
- ; This table starts with 12 notes not in S1 or S2:
+ ; This table differs from the one in Sonic 1 and 2's drivers by
+ ; having an extra octave at the start and two extra notes at
+ ; the end, allowing it to span notes c-0 to b-7.
dw 3FFh,3FFh,3FFh,3FFh,3FFh,3FFh,3FFh,3FFh,3FFh,3F7h,3BEh,388h
- ; The following notes are present on S1 and S2 too:
dw 356h,326h,2F9h,2CEh,2A5h,280h,25Ch,23Ah,21Ah,1FBh,1DFh,1C4h
dw 1ABh,193h,17Dh,167h,153h,140h,12Eh,11Dh,10Dh,0FEh,0EFh,0E2h
dw 0D6h,0C9h,0BEh,0B4h,0A9h,0A0h,097h,08Fh,087h,07Fh,078h,071h
dw 06Bh,065h,05Fh,05Ah,055h,050h,04Bh,047h,043h,040h,03Ch,039h
dw 036h,033h,030h,02Dh,02Bh,028h,026h,024h,022h,020h,01Fh,01Dh
dw 01Bh,01Ah,018h,017h,016h,015h,013h,012h,011h,010h,000h,000h
- ; Then, it falls through to the 12 base notes from FM octaves.
;loc_B4D
zFMFrequencies:
+ ; This table spans only a single octave, as the octave frequency
+ ; is calculated at run-time unlike in Sonic 1 and 2's drivers.
dw 284h,2ABh,2D3h,2FEh,32Dh,35Ch,38Fh,3C5h,3FFh,43Ch,47Ch,4C0h
; ---------------------------------------------------------------------------
@@ -3132,6 +3153,14 @@ zSendTL:
.loop:
zFastWriteFM (de), (hl), calcVolume
+ if fix_sndbugs
+ ; Perform some clamping, to prevent volume attenuation overflow (quiet sounds becoming loud)
+ jr nc,.skip_track_vol
+ ld a, 7Fh
+ endif
+ if fix_sndbugs=0
+ ; Not actually needed
+ endif
inc de ; Advance pointer
inc hl ; Advance pointer
djnz .loop ; Loop
@@ -4433,16 +4462,13 @@ z80_ModEnvPointers:
dw ModEnv_06
dw ModEnv_07
ModEnv_01: db 0
-ModEnv_00: db 1, 2, 1, 0,0FFh,0FEh,0FDh,0FCh,0FDh,0FEh,0FFh, 83h
+ModEnv_00: db 1, 2, 1, 0, -1, -2, -3, -4, -3, -2, -1, 83h
ModEnv_02: db 0, 0, 0, 0, 13h, 26h, 39h, 4Ch, 5Fh, 72h, 7Fh, 72h, 83h
-ModEnv_03: db 1, 2, 3, 2, 1, 0,0FFh,0FEh,0FDh,0FEh,0FFh, 0, 82h, 0
-ModEnv_04: db 0, 0, 1, 3, 1, 0,0FFh,0FDh,0FFh, 0, 82h, 2
-ModEnv_05: db 0, 0, 0, 0, 0, 0Ah, 14h, 1Eh, 14h, 0Ah, 0,0F6h,0ECh,0E2h,0ECh,0F6h
- db 82h, 4
-ModEnv_06: db 0, 0, 0, 0, 16h, 2Ch, 42h, 2Ch, 16h, 0,0EAh,0D4h,0BEh,0D4h,0EAh, 82h
- db 3
-ModEnv_07: db 1, 2, 3, 4, 3, 2, 1, 0,0FFh,0FEh,0FDh,0FCh,0FDh,0FEh,0FFh, 0
- db 82h, 1
+ModEnv_03: db 1, 2, 3, 2, 1, 0, -1, -2, -3, -2, -1, 0, 82h, 0
+ModEnv_04: db 0, 0, 1, 3, 1, 0, -1, -3, -1, 0, 82h, 2
+ModEnv_05: db 0, 0, 0, 0, 0, 10, 20, 30, 20, 10, 0, -10, -20, -30, -20, -10, 82h, 4
+ModEnv_06: db 0, 0, 0, 0, 22, 44, 66, 44, 22, 0, -22, -44, -66, -44, -22, 82h, 3
+ModEnv_07: db 1, 2, 3, 4, 3, 2, 1, 0, -1, -2, -3, -4, -3, -2, -1, 0, 82h, 1
; ---------------------------------------------------------------------------
; ===========================================================================
; Volume Envelope Pointers
@@ -4472,7 +4498,15 @@ VolEnv_07: db 0, 0, 0, 2, 3, 3, 4, 5, 6, 7, 8, 9, 0Ah,
VolEnv_08: db 3, 2, 1, 1, 0, 0, 1, 2, 3, 4, 81h
VolEnv_09: db 1, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4
db 4, 4, 5, 5, 81h
-VolEnv_0A: db 10h, 20h, 30h, 40h, 30h, 20h, 10h, 0,0F0h, 80h
+; The -10h in this FM volume envelope appears to be erroneous:
+; negative volume attenuations aren't supported, and instead
+; trigger the code intended for byte 82h.
+; This envelope appears in many SMPS Z80 Type 2 DAC drivers,
+; suggesting it was some kind of poorly-thought-out example.
+; Oddly, this same envelope appears in Ristar (whose driver
+; *does* support negative attenuations), despite SMPS 68k not
+; supporting FM volume envelopes.
+VolEnv_0A: db 10h, 20h, 30h, 40h, 30h, 20h, 10h, 0,-10h, 80h
VolEnv_0B: db 0, 0, 1, 1, 3, 3, 4, 5, 83h
VolEnv_0C: db 0, 81h
VolEnv_0D: db 2, 83h
diff --git a/s3.asm b/s3.asm
index 165e3cb8..b15b008c 100644
--- a/s3.asm
+++ b/s3.asm
@@ -406,7 +406,7 @@ Test_Checksum:
bne.s Test_Checksum
btst #6,(HW_Expansion_Control).l
beq.s loc_6BC
- cmpi.l #"init",(Checksum_string).w
+ cmpi.l #Ref_Checksum_String,(Checksum_string).w
beq.w Test_Checksum_Done
loc_6BC:
@@ -430,9 +430,9 @@ loc_6EA:
move.l d7,(a6)+
dbf d6,loc_6EA
move.b (HW_Version).l,d0
- andi.b #-$40,d0
+ andi.b #$C0,d0
move.b d0,(Graphics_flags).w
- move.l #"init",(Checksum_string).w
+ move.l #Ref_Checksum_String,(Checksum_string).w
Test_Checksum_Done:
bsr.w DetectPAL
@@ -604,7 +604,7 @@ VInt_0_Main:
loc_8B2:
btst #0,(Z80_bus_request).l
bne.s loc_8B2
- bsr.w nullsub_1
+ bsr.w sndDriverInput
move.w #0,(Z80_bus_request).l
bra.s VInt_Done
; ---------------------------------------------------------------------------
@@ -650,7 +650,7 @@ VInt_0_FullyUnderwater:
VInt_0_Water_Cont:
move.w (H_int_counter_command).w,(a5)
- bsr.w nullsub_1
+ bsr.w sndDriverInput
move.w #0,(Z80_bus_request).l
bra.w VInt_Done
; ---------------------------------------------------------------------------
@@ -698,7 +698,7 @@ loc_9DE:
move.w (DMA_trigger_word).w,(a5)
VInt_0_Done:
- bsr.w nullsub_1
+ bsr.w sndDriverInput
move.w #0,(Z80_bus_request).l
bra.w VInt_Done
; ---------------------------------------------------------------------------
@@ -835,7 +835,7 @@ loc_BA8:
move.l (V_scroll_value_P2).w,(V_scroll_value_P2_copy).w
jsr (SpecialVInt_Function).l
jsr (VInt_DrawLevel).l
- bsr.w nullsub_1
+ bsr.w sndDriverInput
move.w #0,(Z80_bus_request).l
move #$2300,sr
tst.b (Water_flag).w
@@ -936,7 +936,7 @@ loc_CDE:
loc_D02:
bsr.w Process_DMA_Queue
move.l (V_scroll_value_P2).w,(V_scroll_value_P2_copy).w
- jsr (nullsub_1).l
+ jsr (sndDriverInput).l
move.w #0,(Z80_bus_request).l
bsr.w Process_Nem_Queue
jmp (Set_Kos_Bookmark).l
@@ -994,7 +994,7 @@ loc_D44:
loc_DEA:
bsr.w Process_DMA_Queue
- bsr.w nullsub_1
+ bsr.w sndDriverInput
move.w #0,(Z80_bus_request).l
rts
; ---------------------------------------------------------------------------
@@ -1028,7 +1028,7 @@ loc_E04:
move.w #$83,(DMA_trigger_word).w
move.w (DMA_trigger_word).w,(a5)
bsr.w Process_DMA_Queue
- bsr.w nullsub_1
+ bsr.w sndDriverInput
move.w #0,(Z80_bus_request).l
bsr.w Process_Nem_Queue
tst.w (Demo_timer).w
@@ -1111,7 +1111,7 @@ loc_F44:
move.w #$83,(DMA_trigger_word).w
move.w (DMA_trigger_word).w,(a5)
bsr.w Process_DMA_Queue
- bsr.w nullsub_1
+ bsr.w sndDriverInput
move.w #0,(Z80_bus_request).l
rts
; End of function Do_ControllerPal
@@ -1477,9 +1477,9 @@ HInt2_Do_Updates:
; =============== S U B R O U T I N E =======================================
-nullsub_1:
+sndDriverInput:
rts
-; End of function nullsub_1
+; End of function sndDriverInput
; =============== S U B R O U T I N E =======================================
@@ -1727,27 +1727,27 @@ loc_15B0:
; ---------------------------------------------------------------------------
Z80_DefaultVariables:
- dc.b 0 ; Unused 1
- dc.b 0 ; Unused 2
- dc.b 0 ; zPalFlag
- dc.b 0 ; Unused 3
- dc.b 0 ; zPalDblUpdCounter
- dc.b 0 ; zSoundQueue0
- dc.b 0 ; zSoundQueue1
- dc.b 0 ; zSoundQueue2
- dc.b 0 ; zTempoSpeedup
- dc.b 0 ; zNextSound
- dc.b 0 ; zMusicNumber
- dc.b 0 ; zSFXNumber0
- dc.b 0 ; zSFXNumber1
- dc.b 0 ; zFadeOutTimeout
- dc.b 0 ; zFadeDelay
- dc.b 0 ; zFadeDelayTimeout
-
-; =============== S U B R O U T I N E =======================================
-
-
-Play_Sound:
+ dc.b 0 ; Unused 1
+ dc.b 0 ; Unused 2
+ dc.b 0 ; zPalFlag
+ dc.b 0 ; Unused 3
+ dc.b 0 ; zPalDblUpdCounter
+ dc.b 0 ; zSoundQueue0
+ dc.b 0 ; zSoundQueue1
+ dc.b 0 ; zSoundQueue2
+ dc.b 0 ; zTempoSpeedup
+ dc.b 0 ; zNextSound
+ dc.b 0 ; zMusicNumber
+ dc.b 0 ; zSFXNumber0
+ dc.b 0 ; zSFXNumber1
+ dc.b 0 ; zFadeOutTimeout
+ dc.b 0 ; zFadeDelay
+ dc.b 0 ; zFadeDelayTimeout
+
+; =============== S U B R O U T I N E =======================================
+
+
+Play_Music:
move.w #$100,(Z80_bus_request).l
loc_15EA:
@@ -1756,18 +1756,18 @@ loc_15EA:
move.b d0,(Z80_RAM+$1C0A).l
move.w #0,(Z80_bus_request).l
rts
-; End of function Play_Sound
+; End of function Play_Music
; ---------------------------------------------------------------------------
-Play_Sound_Local:
+Play_SFX_Local:
tst.b 4(a0)
bpl.s locret_164A
; =============== S U B R O U T I N E =======================================
-Play_Sound_2:
+Play_SFX:
move.w #$100,(Z80_bus_request).l
loc_1612:
@@ -1790,7 +1790,7 @@ loc_1642:
locret_164A:
rts
-; End of function Play_Sound_2
+; End of function Play_SFX
; =============== S U B R O U T I N E =======================================
@@ -1855,7 +1855,7 @@ Pause_NoSlowMo:
bcs.s Pause_ChkStart
cmpi.b #$12,(Current_zone).w
bhi.s Pause_ChkStart
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bpl.s Pause_ChkStart
btst #4,(Ctrl_1_pressed).w
beq.s Pause_ChkStart
@@ -2003,7 +2003,7 @@ loc_181C:
loc_1834:
move.w #0,(DMA_queue).w
- move.l #-$500,(DMA_queue_slot).w
+ move.l #DMA_queue,(DMA_queue_slot).w
rts
; End of function Process_DMA_Queue
@@ -2703,12 +2703,8 @@ locret_1CBA:
Kos_Decomp:
-
-var_2 = -2
-var_1 = -1
-
subq.l #2,sp
- move.b (a0)+,2+var_1(sp)
+ move.b (a0)+,1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4
@@ -2717,7 +2713,7 @@ Kos_Decomp_Loop:
lsr.w #1,d5
move sr,d6
dbf d4,Kos_Decomp_ChkBit
- move.b (a0)+,2+var_1(sp)
+ move.b (a0)+,1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4
@@ -2734,7 +2730,7 @@ Kos_Decomp_Match:
lsr.w #1,d5
move sr,d6
dbf d4,Kos_Decomp_ChkBit2
- move.b (a0)+,2+var_1(sp)
+ move.b (a0)+,1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4
@@ -2744,7 +2740,7 @@ Kos_Decomp_ChkBit2:
bcs.s Kos_Decomp_FullMatch
lsr.w #1,d5
dbf d4,loc_1D0A
- move.b (a0)+,2+var_1(sp)
+ move.b (a0)+,1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4
@@ -2753,7 +2749,7 @@ loc_1D0A:
roxl.w #1,d3
lsr.w #1,d5
dbf d4,loc_1D1C
- move.b (a0)+,2+var_1(sp)
+ move.b (a0)+,1(sp)
move.b (a0)+,(sp)
move.w (sp),d5
moveq #$F,d4
@@ -3221,7 +3217,7 @@ AnPal_Load:
OffsAnPal: dc.w AnPal_AIZ1-OffsAnPal
dc.w AnPal_AIZ2-OffsAnPal
dc.w AnPal_HCZ1-OffsAnPal
- dc.w AnPal_None2-OffsAnPal
+ dc.w AnPal_HCZ2-OffsAnPal
dc.w AnPal_None-OffsAnPal
dc.w AnPal_None-OffsAnPal
dc.w AnPal_CNZ-OffsAnPal
@@ -3416,7 +3412,7 @@ locret_2608:
; ---------------------------------------------------------------------------
-AnPal_None2:
+AnPal_HCZ2:
rts
; ---------------------------------------------------------------------------
@@ -4092,7 +4088,7 @@ loc_33B8:
; =============== S U B R O U T I N E =======================================
-Pal_FromBlackWhite:
+Pal_FadeFromWhite:
move.w #$3F,(Palette_fade_info).w
moveq #0,d0
lea (Normal_palette).w,a0
@@ -4113,7 +4109,7 @@ loc_33E0:
bsr.w Process_Nem_Queue_Init
dbf d4,loc_33E0
rts
-; End of function Pal_FromBlackWhite
+; End of function Pal_FadeFromWhite
; =============== S U B R O U T I N E =======================================
@@ -4352,8 +4348,8 @@ Sega_Screen:
; ---------------------------------------------------------------------------
Title_Screen:
- moveq #mus_FadeOut,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_FadeOut),d0
+ bsr.w Play_Music
bsr.w Clear_Nem_Queue
bsr.w Pal_FadeToBlack
move #$2700,sr
@@ -4448,11 +4444,11 @@ loc_36AE:
ori.b #$40,d0
move.w d0,(VDP_control_port).l
bsr.w Pal_FadeFromBlack
- moveq #mus_SEGA,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_SEGA),d0
+ bsr.w Play_Music
move.w #$B4,(Demo_timer).w
-Wait_SegaS3K:
+Wait_Sega:
move.b #$14,(V_int_routine).w
bsr.w Wait_VSync
move.b (Ctrl_1_pressed).w,d0
@@ -4460,11 +4456,11 @@ Wait_SegaS3K:
andi.b #-$80,d0
bne.w loc_36F8
tst.w (Demo_timer).w
- bne.s Wait_SegaS3K
+ bne.s Wait_Sega
loc_36F8:
- moveq #mus_StopSEGA,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_StopSEGA),d0
+ bsr.w Play_Music
lea (Pal_Title).l,a1
loc_3704:
@@ -4488,10 +4484,10 @@ loc_3704:
lea (ArtKos_S3TitleSonic8).l,a1
lea (RAM_start).l,a2
jsr (Queue_Kos).l
- moveq #mus_TitleScreen,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_TitleScreen),d0
+ bsr.w Play_Music
-Wait_TitleS3K:
+Wait_Title:
move.b #4,(V_int_routine).w
jsr (Process_Kos_Queue).l
bsr.w Wait_VSync
@@ -4505,7 +4501,7 @@ Wait_TitleS3K:
andi.b #-$80,d0
bne.w loc_379E
cmpi.w #$C,(Title_anim_frame).w
- bcs.s Wait_TitleS3K
+ bcs.s Wait_Title
loc_379E:
move.w #$C,(Title_anim_frame).w
@@ -4605,8 +4601,8 @@ loc_38D8:
move.b d0,(Continue_count).w
move.l #5000,(Next_extra_life_score).w
move.l #5000,(Next_extra_life_score_P2).w
- moveq #mus_FadeOut,d0
- bsr.w Play_Sound_2
+ moveq #signextendB(mus_FadeOut),d0
+ bsr.w Play_SFX
moveq #0,d0
move.b (Title_screen_option).w,d0
bne.w loc_3964
@@ -4627,8 +4623,8 @@ loc_3970:
; ---------------------------------------------------------------------------
loc_3978:
- moveq #mus_FadeOut,d0
- bsr.w Play_Sound_2
+ moveq #signextendB(mus_FadeOut),d0
+ bsr.w Play_SFX
move.w (Next_demo_number).w,d0
andi.w #7,d0
add.w d0,d0
@@ -4738,8 +4734,6 @@ SonicFrameIndex:dc.b 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $FF
locret_3AB0:
rts
-; End of function Iterate_TitleSonicFrame
-
; ---------------------------------------------------------------------------
move.b (Title_anim_buffer).w,d2
cmpi.b #1,d2
@@ -4773,6 +4767,8 @@ loc_3AFC:
locret_3B0A:
rts
+; End of function Iterate_TitleSonicFrame
+
; =============== S U B R O U T I N E =======================================
@@ -5018,8 +5014,8 @@ OldDebugCode:
tst.b 1(a1)
bne.s locret_406C
move.w #$101,(Debug_cheat_flag).w
- moveq #sfx_RingLoss,d0
- bsr.w Play_Sound_2
+ moveq #signextendB(sfx_RingLoss),d0
+ bsr.w Play_SFX
loc_4066:
move.w #0,(Debug_mode_cheat_counter).w
@@ -5027,18 +5023,8 @@ loc_4066:
locret_406C:
rts
; ---------------------------------------------------------------------------
-OldDebugCodeDat:dc.b $20
- dc.b $30
- dc.b $70
- dc.b $10
- dc.b $50
- dc.b $70
- dc.b $40
- dc.b $60
- dc.b $70
- dc.b $71
- dc.b $72
- dc.b 0
+OldDebugCodeDat:dc.b $20, $30, $70, $10, $50, $70, $40, $60, $70, $71, $72, 0
+ even
; ---------------------------------------------------------------------------
Obj_TitleCopyright:
@@ -5097,8 +5083,8 @@ loc_4124:
move.b d2,(Title_screen_option).w
andi.b #3,d0
beq.s loc_413A
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_413A:
jmp (Draw_Sprite).l
@@ -5200,8 +5186,8 @@ S3_Level_Select_Code:
bne.s locret_42C8
move.w #$101,(Level_select_flag).w
move.w #$101,(Debug_cheat_flag).w
- moveq #sfx_RingRight,d0
- bsr.w Play_Sound_2
+ moveq #signextendB(sfx_RingRight),d0
+ bsr.w Play_SFX
loc_42C2:
move.w #0,(Level_select_cheat_counter).w
@@ -5211,16 +5197,8 @@ locret_42C8:
; End of function S3_Level_Select_Code
; ---------------------------------------------------------------------------
-LSelect3CodeDat:dc.b 1
- dc.b 1
- dc.b 2
- dc.b 2
- dc.b 1
- dc.b 1
- dc.b 1
- dc.b 1
- dc.b 0
- dc.b 0
+LSelect3CodeDat:dc.b 1, 1, 2, 2, 1, 1, 1, 1, 0
+ even
Map_TitleScreenText:
include "General/Title/Map - S3 Screen Text.asm"
ArtNem_TitleScreenText:
@@ -5231,39 +5209,39 @@ Map_TitleSonicAnim:
Map_TitleTailsPlane:
include "General/Title/Map - S3 Tails Plane.asm"
LevelMusic_Playlist:
- dc.b mus_AIZ1, mus_AIZ2 ; ANGEL ISLAND ZONE
- dc.b mus_HCZ1, mus_HCZ2 ; HYDROCITY ZONE ACT
- dc.b mus_MGZ1, mus_MGZ2 ; MARBLE GARDEN ZONE
- dc.b mus_CNZ1, mus_CNZ2 ; CARNIVAL NIGHT ZONE
- dc.b mus_FBZ1, mus_FBZ2 ; FLYING BATTERY ZONE
- dc.b mus_ICZ1, mus_ICZ2 ; ICE CAP ZONE
- dc.b mus_LBZ1, mus_LBZ2 ; LAUNCH BASE ZONE
- dc.b mus_MHZ1, mus_MHZ2 ; MUSHROOM HILL ZONE
- dc.b mus_SOZ1, mus_SOZ2 ; SANDOPOLIS ZONE
- dc.b mus_LRZ1, mus_HPZ ; LAVA REEF ZONE
- dc.b mus_SSZ, mus_DEZ1 ; SKY SANCTUARY ZONE
- dc.b mus_DEZ2, mus_DEZ2 ; DEATH EGG ZONE
- dc.b mus_DDZ, mus_DDZ ; DOOMSDAY ZONE
- dc.b mus_SpecialStage, mus_SpecialStage; AIZ INTRO & ENDING
- dc.b mus_ALZ, mus_ALZ ; AZURE LAKE ZONE
- dc.b mus_BPZ, mus_BPZ ; BALLOON PARK ZONE
- dc.b mus_DPZ, mus_DPZ ; DESERT PALACE ZONE
- dc.b mus_CGZ, mus_CGZ ; CHROME GADGET ZONE
- dc.b mus_EMZ, mus_EMZ ; ENDLESS MINE ZONE
- dc.b mus_Gumball, mus_Gumball ; GUMBALL
- dc.b mus_SlotMachine, mus_SlotMachine ; PACHINKO?
- dc.b mus_Gumball, mus_Gumball ; SLOTS?
- dc.b mus_SpecialStage, mus_SpecialStage; LAVA REEF ZONE BOSS & HIDDEN PALACE ZONE
- dc.b mus_SpecialStage, mus_SpecialStage; FINAL BOSS & SPECIAL STAGE?
- even
+ dc.b mus_AIZ1, mus_AIZ2 ; ANGEL ISLAND ZONE
+ dc.b mus_HCZ1, mus_HCZ2 ; HYDROCITY ZONE
+ dc.b mus_MGZ1, mus_MGZ2 ; MARBLE GARDEN ZONE
+ dc.b mus_CNZ1, mus_CNZ2 ; CARNIVAL NIGHT ZONE
+ dc.b mus_FBZ1, mus_FBZ2 ; FLYING BATTERY ZONE
+ dc.b mus_ICZ1, mus_ICZ2 ; ICECAP ZONE
+ dc.b mus_LBZ1, mus_LBZ2 ; LAUNCH BASE ZONE
+ dc.b mus_MHZ1, mus_MHZ2 ; MUSHROOM HILL ZONE
+ dc.b mus_SOZ1, mus_SOZ2 ; SANDOPOLIS ZONE
+ dc.b mus_LRZ1, mus_LRZ2 ; LAVA REEF ZONE
+ dc.b mus_SSZ, mus_DEZ1 ; SKY SANCTUARY ZONE
+ dc.b mus_DEZ2, mus_DEZ2 ; DEATH EGG ZONE
+ dc.b mus_DDZ, mus_DDZ ; DOOMSDAY ZONE
+ dc.b mus_SpecialStage, mus_SpecialStage; AIZ INTRO & ENDING
+ dc.b mus_ALZ, mus_ALZ ; AZURE LAKE ZONE
+ dc.b mus_BPZ, mus_BPZ ; BALLOON PARK ZONE
+ dc.b mus_DPZ, mus_DPZ ; DESERT PALACE ZONE
+ dc.b mus_CGZ, mus_CGZ ; CHROME GADGET ZONE
+ dc.b mus_EMZ, mus_EMZ ; ENDLESS MINE ZONE
+ dc.b mus_Gumball, mus_Gumball ; GUMBALL
+ dc.b mus_Slots, mus_Slots ; PACHINKO
+ dc.b mus_Gumball, mus_Gumball ; SLOTS
+ dc.b mus_SpecialStage, mus_SpecialStage; LAVA REEF ZONE BOSS & HIDDEN PALACE ZONE
+ dc.b mus_SpecialStage, mus_SpecialStage; FINAL BOSS & SPECIAL STAGE HUB
+ even
; ---------------------------------------------------------------------------
Level:
bset #7,(Game_mode).w
tst.w (Demo_mode_flag).w
bmi.s loc_46C2
- moveq #mus_FadeOut,d0
- bsr.w Play_Sound_2
+ moveq #signextendB(mus_FadeOut),d0
+ bsr.w Play_SFX
loc_46C2:
clr.w (Kos_decomp_queue_count).w
@@ -5298,6 +5276,9 @@ loc_4712:
loc_471E:
move.w (Current_zone_and_act).w,d0
+
+ ; Useless code. Player_mode has not been set yet, and even if none of
+ ; these branches get taken, level $D00 has the same PLCs as level 0.
bne.s loc_4736
cmpi.w #2,(Player_mode).w
beq.s loc_4732
@@ -5456,8 +5437,8 @@ loc_48BA:
lsr.w #7,d0
lea (LevelMusic_Playlist).l,a1
move.b (a1,d0.w),d0
- move.w d0,(Level_music).w
- bsr.w Play_Sound
+ move.w d0,(Current_music).w
+ bsr.w Play_Music
tst.w (Current_zone_and_act).w
bne.s loc_48F2
cmpi.w #2,(Player_mode).w
@@ -5499,7 +5480,7 @@ loc_4942:
jsr (j_LevelSetup).l
move #$2300,sr
jsr (Animate_Init).l
- jsr (nullsub_4).l
+ jsr (ConvertCollisionArray).l
bsr.w LoadSolids
bsr.w Handle_Onscreen_Water_Height
move.w (Ctrl_2).w,(_unkFF7C).w
@@ -5547,7 +5528,7 @@ loc_4A0C:
move.w d0,(Total_ring_count_P2).w
move.w d0,(Monitors_broken).w
move.w d0,(Monitors_broken_P2).w
- move.w d0,(_unkFEDE).w
+ move.w d0,(Loser_time_left).w
move.b d0,(LRZ_rocks_routine).w
bsr.w sub_58F4
move.b #1,(Update_HUD_score).w
@@ -5558,7 +5539,7 @@ loc_4A0C:
jsr (Load_Sprites).l
jsr (Load_Rings).l
jsr (S2_SpecialCNZBumpers).l
- jsr (nullsub_5).l
+ jsr (Draw_LRZ_Special_Rock_Sprites).l
jsr (Process_Sprites).l
jsr (Render_Sprites).l
jsr (Animate_Tiles).l
@@ -5617,13 +5598,13 @@ LevelLoop:
jsr (DeformBgLayer).l
jsr (ScreenEvents).l
bsr.w Handle_Onscreen_Water_Height
- bsr.w nullsub_3
+ bsr.w UpdateWaterSurface
jsr (Load_Rings).l
jsr (Animate_Tiles).l
bsr.w Process_Nem_Queue_Init
jsr (Process_Kos_Module_Queue).l
- bsr.w sub_594A
- bsr.w sub_59E0
+ bsr.w OscillateNumDo
+ bsr.w ChangeRingFrame
jsr (Render_Sprites).l
jsr (Load_Sprites).l
cmpi.b #8,(Game_mode).w
@@ -5812,7 +5793,7 @@ loc_4DAE:
SpawnLevelMainSprites:
- move.l #Obj_Level_50B2,(Reserved_object_3).w
+ move.l #Obj_ResetCollisionResponseList,(Reserved_object_3).w
bsr.w SpawnLevelMainSprites_SpawnPlayers
bsr.w SpawnLevelMainSprites_SpawnPowerup
tst.b (Last_star_post_hit).w
@@ -5931,7 +5912,7 @@ loc_4EF2:
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #4,$2B(a1)
- move.l #Obj_Fire_Shield,(Shield).w
+ move.l #Obj_FireShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
@@ -5942,7 +5923,7 @@ loc_4F18:
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #5,$2B(a1)
- move.l #Obj_Lightning_Shield,(Shield).w
+ move.l #Obj_LightningShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
@@ -5953,7 +5934,7 @@ loc_4F3E:
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #6,$2B(a1)
- move.l #Obj_Bubble_Shield,(Shield).w
+ move.l #Obj_BubbleShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
@@ -5973,7 +5954,7 @@ SpawnLevelMainSprites_SpawnPlayers:
bne.s loc_4FC2
move.l #Obj_Sonic,(Player_1).w
move.l #Obj_DashDust,(Dust).w
- move.l #Obj_Insta_Shield,(Shield).w
+ move.l #Obj_InstaShield,(Shield).w
move.w #Player_1,(Shield+parent).w
move.l #Obj_Tails,(Player_2).w
move.w (Player_1+x_pos).w,(Player_2+x_pos).w
@@ -5990,7 +5971,7 @@ loc_4FC2:
bne.s loc_4FE6
move.l #Obj_Sonic,(Player_1).w
move.l #Obj_DashDust,(Dust).w
- move.l #Obj_Insta_Shield,(Shield).w
+ move.l #Obj_InstaShield,(Shield).w
move.w #Player_1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
@@ -6068,17 +6049,15 @@ Pal_Level_2P: binclude "Levels/Misc/Palettes/2P Level Secondary.bin"
even
; ---------------------------------------------------------------------------
-Obj_Level_50B2:
+Obj_ResetCollisionResponseList:
move.w #0,(Collision_response_list).w
rts
; =============== S U B R O U T I N E =======================================
-nullsub_3:
+UpdateWaterSurface:
rts
-; End of function nullsub_3
-
; ---------------------------------------------------------------------------
tst.b (Water_flag).w
beq.s locret_50DC
@@ -6094,6 +6073,8 @@ loc_50D2:
locret_50DC:
rts
+; End of function UpdateWaterSurface
+
; =============== S U B R O U T I N E =======================================
@@ -6728,7 +6709,8 @@ loc_572E:
byte_573A: dc.b $F8, $F8, 8, 8, $F4, $F4, $F4, $C, $C, $C
dc.b $1C, $72, $83, $84, $8B, $91, $9F, $A0, $A5, $A6
byte_574E: dc.b $2E, $C6, $33, $C5, $24, $2A, $44, $1F, $27, $2B
-WaterTransition_AIZ1:dc.w $F
+WaterTransition_AIZ1:
+ dc.w $F
dc.w 2
dc.w $68
dc.w $62
@@ -6745,7 +6727,8 @@ WaterTransition_AIZ1:dc.w $F
dc.w $3A
dc.w $2E
dc.w $28
-WaterTransition_AIZ2:dc.w $12
+WaterTransition_AIZ2:
+ dc.w $12
dc.w $6E
dc.w $68
dc.w 2
@@ -6765,7 +6748,8 @@ WaterTransition_AIZ2:dc.w $12
dc.w $3A
dc.w $2E
dc.w $28
-WaterTransition_CNZ2ICZ2:dc.w $13
+WaterTransition_CNZ2ICZ2:
+ dc.w $13
dc.w $6E
dc.w $68
dc.w $7A
@@ -6786,7 +6770,8 @@ WaterTransition_CNZ2ICZ2:dc.w $13
dc.w $2E
dc.w $28
dc.w $54
-WaterTransition_HCZLBZ1:dc.w $13
+WaterTransition_HCZLBZ1:
+ dc.w $13
dc.w 2
dc.w $74
dc.w $62
@@ -6807,7 +6792,8 @@ WaterTransition_HCZLBZ1:dc.w $13
dc.w $3A
dc.w $22
dc.w $4E
-WaterTransition_LBZ2:dc.w $13
+WaterTransition_LBZ2:
+ dc.w $13
dc.w 2
dc.w $6E
dc.w $68
@@ -6828,7 +6814,8 @@ WaterTransition_LBZ2:dc.w $13
dc.w $3A
dc.w $22
dc.w $4E
-WaterTransition_Unk:dc.w $13
+WaterTransition_Unk:
+ dc.w $13
dc.w 2
dc.w 8
dc.w $E
@@ -6928,62 +6915,46 @@ LoadSolids:
sub_58F4:
lea (Oscillating_table).w,a1
- lea (word_5908).l,a2
+ lea (Osc_Data).l,a2
moveq #(Oscillating_table_end-Oscillating_table)/2-1,d1
-loc_5900:
+Osc_Loop:
move.w (a2)+,(a1)+
- dbf d1,loc_5900
+ dbf d1,Osc_Loop
rts
-; End of function sub_58F4
+; End of function OscillateNumInit
; ---------------------------------------------------------------------------
-word_5908: dc.w $7D
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $3848
- dc.w $EE
- dc.w $2080
- dc.w $B4
- dc.w $3080
- dc.w $10E
- dc.w $5080
- dc.w $1C2
- dc.w $7080
- dc.w $276
- dc.w $80
- dc.w 0
- dc.w $4000
- dc.w $FE
+Osc_Data: dc.w %0000000001111101 ; oscillation direction bitfield
+ dc.w $80, 0 ; baseline values
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $3848, $EE
+ dc.w $2080, $B4
+ dc.w $3080, $10E
+ dc.w $5080, $1C2
+ dc.w $7080, $276
+ dc.w $80, 0
+ dc.w $4000, $FE
; =============== S U B R O U T I N E =======================================
-sub_594A:
+OscillateNumDo:
tst.w (Competition_mode).w
bne.s loc_5958
cmpi.b #6,(Player_1+routine).w
- bcc.s locret_599E
+ bcc.s OscillateNumDo_Return
loc_5958:
lea (Oscillating_table).w,a1
- lea (word_59A0).l,a2
+ lea (Osc_Data2).l,a2
move.w (a1)+,d3
moveq #$F,d1
@@ -7016,48 +6987,32 @@ loc_5994:
dbf d1,loc_5966
move.w d3,(Oscillating_table).w
-locret_599E:
+OscillateNumDo_Return:
rts
-; End of function sub_594A
+; End of function OscillateNumDo
; ---------------------------------------------------------------------------
-word_59A0: dc.w 2
- dc.w $10
- dc.w 2
- dc.w $18
- dc.w 2
- dc.w $20
- dc.w 2
- dc.w $30
- dc.w 4
- dc.w $20
- dc.w 8
- dc.w 8
- dc.w 8
- dc.w $40
- dc.w 4
- dc.w $40
- dc.w 2
- dc.w $38
- dc.w 2
- dc.w $38
- dc.w 2
- dc.w $20
- dc.w 3
- dc.w $30
- dc.w 5
- dc.w $50
- dc.w 7
- dc.w $70
- dc.w 2
- dc.w $40
- dc.w 2
- dc.w $40
+Osc_Data2: dc.w 2, $10
+ dc.w 2, $18
+ dc.w 2, $20
+ dc.w 2, $30
+ dc.w 4, $20
+ dc.w 8, 8
+ dc.w 8, $40
+ dc.w 4, $40
+ dc.w 2, $38
+ dc.w 2, $38
+ dc.w 2, $20
+ dc.w 3, $30
+ dc.w 5, $50
+ dc.w 7, $70
+ dc.w 2, $40
+ dc.w 2, $40
; =============== S U B R O U T I N E =======================================
-sub_59E0:
+ChangeRingFrame:
subq.b #1,(Rings_frame_timer).w
bpl.s loc_59F6
move.b #7,(Rings_frame_timer).w
@@ -7079,95 +7034,11 @@ loc_59F6:
loc_5A18:
addi.w #$180,(AIZ_vine_angle).w
rts
-; End of function sub_59E0
-
-; ---------------------------------------------------------------------------
- dc.b 0, $FF, 0, $FF
- dc.b 0, $BA, 2, 4, 0, 6, $20, $27, 0, $73, 8, 8
- dc.b 0, $57, 2, 4, 0, 7, 8, $AB, $28, 5, 8, $64
- dc.b 0, $D, 8, 3, 0, 4, 4, $12, 0, 8, $20, $C
- dc.b 0, $D, 4, $12, 0, 3, 8, $37, $28, $B, 8, 2
- dc.b 0, 2, 4, 9, 0, $F, 8, $20, $28, $D, $20, 3
- dc.b $28, 3, $20, 0, 0, 3, 4, $F, 5, 0, 9, 0
- dc.b 8, $B, $28, 2, $20, $C, 0, $B, 4, 5, 0, 7
- dc.b 4, $30, 5, 0, 0, 3, 8, $12, 0, $1A, $20, $22
- dc.b $28, 0, 8, $E, 0, $75, 8, $5B, $28, 4, 8, $47
- dc.b $28, $A, $20, 0, 0, 9, 8, $C, 0, 9, 4, $1D
- dc.b $24, 3, $20, 4, 0, 5, 8, 8, 0, 2, 4, 8
- dc.b 0, $B, 8, 8, 0, 3, 4, 4, 0, $C, 8, $1B
- dc.b $28, $A, 8, $CD, $28, 7, 8, $54, $28, $E, 8, $12
- dc.b 0, 4, 4, 9, 0, $B, 8, $10, $28, 1, $20, 0
- dc.b $24, 7, $25, 0, $28, 3, 8, 5, 4, 8, 5, 0
- dc.b 9, 0, 8, $2B, 0, $AD, $20, $A, $28, $14, 8, $5C
- dc.b $28, 9, 8, $14, 9, 0, 5, $12, 1, 0, 8, $FF
- dc.b 8, $72, 9, 0, 5, 9, 1, 0, 0, 7, 8, $1B
- dc.b 0, $36, 4, $56, 0, $A, 8, $13, 0, $13, 8, $C
- dc.b 0, $1B, 8, $11, 0, $17, 4, $E, 0, $D, 8, $14
- dc.b 0, $C, 4, $17, 0, $14, 8, $E, 0, $23, 4, $13
- dc.b 0, $F, 8, $C, 0, $28, 4, 3, 0, 4, 4, $1F
- dc.b 0, $B, 8, 7, 0, $F, 8, $F, 0, $1A, 4, 6
- dc.b 0, 5, 4, $E, 0, 7, 8, 8, 0, 3, 4, $10
- dc.b 0, 4, 8, $4D, 0, 5, 4, $24, $24, 8, 4, $2D
- dc.b 0, 2, 8, 9, $28, 9, 8, $34, 0, $15, 4, $B
- dc.b $24, 7, 4, $2D, 0, $2A, 8, $1D, 0, $1E, 8, $10
- dc.b 0, $F5, $80, 0, $40, 0, 8, $1E, 0, $18, 4, $26
- dc.b 0, $10, 8, $18, 0, $E, $80, 0, $40, 0, 8, $24
- dc.b 0, 1, $20, 5, 0, $E, 8, $34, 0, $FF, 0, $9B
- dc.b $80, 0, $40, 0, $20, 7, 0, 6, 4, $2A, $25, 2
- dc.b $21, 0, $29, 1, $28, 2, $20, 8, $25, $C, 5, 1
- dc.b 8, $30, $28, $21, 8, $1A, $28, $3D, 8, 6, 0, 4
- dc.b 4, $25, $24, $18, 4, $15, 0, 8, 4, $3A, $24, $C
- dc.b 4, 9, 0, $14, 4, $52, 5, 0, 1, 0, 8, $7C
- dc.b $28, $17, 8, $22, $28, $23, 8, 2, 0, 7, 4, $33
- dc.b $24, $19, 4, $3C, $24, $18, 4, $49, 0, 8, 8, $6A
- dc.b $28, $1B, 8, 2, $28, $12, 8, $11, 0, 4, $20, 6
- dc.b 0, 4, 8, 8, 0, $B, 8, $10, $28, $30, 8, $E
- dc.b 0, $10, 4, $1E, $24, $14, 4, $33, $24, $1C, 4, $52
- dc.b 0, 5, 8, $76, $28, 9, 8, $F, 9, 0, 5, 8
- dc.b 8, $38, $28, $3B, 8, 5, 0, 9, 4, $1D, $24, $1B
- dc.b 4, $5D, $24, $D, 4, $1A, 0, $E, 4, $1A, 5, 0
- dc.b 9, 0, 8, $38, $28, $24, 8, 6, 9, 1, 1, 0
- dc.b 5, 5, 1, 0, 8, 5, $28, $24, 8, 0, 0, 3
- dc.b 4, $3B, $24, $15, 4, $44, 0, $20, 8, $7B, $28, $26
- dc.b 8, $14, $28, $21, $29, 0, 1, 0, 5, $32, $25, $18
- dc.b 5, $10, 9, 0, 8, $1E, $28, $F, 8, 3, 0, 0
- dc.b 5, 2, 4, 0, 0, $11, 8, $19, $28, $23, 0, 3
- dc.b 4, $2B, $24, 8, $20, 7, 0, $1B, 8, $25, 0, 0
- dc.b 4, $13, 0, 0, 8, 9, $28, $1B, 8, 1, 0, $14
- dc.b 4, $C, $24, $13, 4, $C, 0, 2, 8, $1B, $28, $10
- dc.b 8, 2, 0, $1F, 4, $A, 5, 0, $25, 9, $24, $A
- dc.b 4, $18, 0, $A, 8, $2D, $28, $28, 8, 7, 0, 6
- dc.b 4, $1C, $24, $13, 4, 4, 0, $16, 8, $2B, $28, $26
- dc.b 8, $A, 0, $B, 4, $23, $24, $12, 4, 2, 0, 9
- dc.b 8, $2F, $28, $30, 8, $D, 0, 2, 4, $1A, $24, $11
- dc.b 4, $15, 0, 8, 8, $21, $28, $14, $20, $2D, $24, 8
- dc.b $20, $11, 0, 2, 4, 6, $24, $19, 4, $2E, 0, 0
- dc.b $20, $B, 0, $A, 4, $1C, $24, 8, 4, 9, 0, 8
- dc.b 4, $17, 0, $13, 8, $1C, $28, $32, 8, $B, $28, $1D
- dc.b 8, $1B, $28, 6, $20, 0, 0, $1F, 8, $10, $28, 5
- dc.b $20, 2, 0, 3, 4, 8, 0, 7, 4, 9, 0, 0
- dc.b 8, $A, 0, $F, 8, $17, $28, 6, $20, 0, 0, $B
- dc.b 4, 5, 0, 2, 8, 5, 0, $A, 8, 9, $28, 8
- dc.b 8, 2, 0, $1C, 8, $2A, $28, 1, $20, $A, 0, 0
- dc.b 4, $31, $24, 2, $20, 6, 0, 9, 8, 7, 0, 5
- dc.b $A, 4, 8, 4, 0, 3, 4, $D, 0, 0, 8, $2C
- dc.b $28, 2, $20, 3, $24, $A, $25, 0, $29, 0, $28, 5
- dc.b $24, 4, $25, 0, $21, 0, $28, 8, $25, $D, 5, $17
- dc.b $25, 0, $29, 1, $28, $16, $20, 1, 0, $2C, 8, $8C
- dc.b $28, $2A, 8, $B, $28, $23, 8, $25, $28, $12, 8, 2
- dc.b $28, $F, 8, $FF, 8, $DD, 0, $1E, $80, 0, $40, 0
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 0, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 0, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 0, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 4, $27, 8
- dc.b 0, 0, 0, 4, $27, 8, 0, 0, 0, 0, $27, 8
+; End of function ChangeRingFrame
+
+; ---------------------------------------------------------------------------
+S2_DemoDat_AIZ: binclude "Levels/AIZ/Demodata/1 Proto.bin"
+ even
; =============== S U B R O U T I N E =======================================
@@ -7497,8 +7368,8 @@ loc_62E0:
move.l (a1),(a2)+
clr.l (a1)+
dbf d1,loc_62E0
- moveq #mus_DataSelect,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_DataSelect),d0
+ bsr.w Play_Music
move.w #$707,(Demo_timer).w
clr.w (Competition_mode).w
clr.l (Camera_X_pos).w
@@ -7530,8 +7401,8 @@ LevelSelect2P_Main:
LevelSelect2P_PressStart:
bsr.w Chk2PZoneCompletion
bmi.s loc_6368
- moveq #sfx_Error,d0
- bsr.w Play_Sound_2
+ moveq #signextendB(sfx_Error),d0
+ bsr.w Play_SFX
bra.w LevelSelect2P_Main
; ---------------------------------------------------------------------------
@@ -7564,7 +7435,7 @@ loc_63BE:
move.b #$10,(Game_mode).w
moveq #1,d0
move.w d0,(Competition_mode).w
- move.w d0,(Competition_mode_monitors).w
+ move.w d0,(Competition_settings).w
rts
; ---------------------------------------------------------------------------
LevelSelect2P_LevelOrder:
@@ -7755,8 +7626,8 @@ MenuScreen_Options:
jsr (AnimateTiles_DoAniPLC).l
moveq #4,d0
bsr.w LoadPalette
- moveq #mus_DataSelect,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_DataSelect),d0
+ bsr.w Play_Music
clr.w (Competition_mode).w
clr.l (Camera_X_pos).w
clr.l (Camera_Y_pos).w
@@ -7791,7 +7662,7 @@ OptionScreen_Select:
bne.s OptionScreen_Select_Not1P
moveq #0,d0
move.w d0,(Competition_mode).w
- move.w d0,(Competition_mode_monitors).w
+ move.w d0,(Competition_settings).w
move.w d0,(Current_zone_and_act).w
move.w d0,(Apparent_zone_and_act).w
move.w d0,(Saved_zone_and_act).w
@@ -7804,7 +7675,7 @@ OptionScreen_Select_Not1P:
bne.s OptionScreen_Select_Other
moveq #1,d0
move.w d0,(Competition_mode).w
- move.w d0,(Competition_mode_monitors).w
+ move.w d0,(Competition_settings).w
move.b #$1C,(Game_mode).w
move.b #0,(Current_zone_2P).w
move.w #0,(Player_mode).w
@@ -7872,7 +7743,7 @@ loc_66D0:
andi.w #$30,d0
beq.s locret_66FE
move.w (Sound_test_sound).w,d0
- bsr.w Play_Sound
+ bsr.w Play_Music
lea (S2LevelSelectCodeDat).l,a0
lea (S2ContinueCodeDat).l,a2
lea (Level_select_flag).w,a1
@@ -8121,8 +7992,8 @@ loc_696C:
move.l (a1),(a2)+
clr.l (a1)+
dbf d1,loc_696C
- moveq #mus_DataSelect,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_DataSelect),d0
+ jsr (Play_Music).l
move.w #$707,(Demo_timer).w
clr.w (Competition_mode).w
clr.l (Camera_X_pos).w
@@ -8250,10 +8121,10 @@ LevelSelect_StartZone:
move.b d0,(Continue_count).w
move.l #5000,(Next_extra_life_score).w
move.l #5000,(Next_extra_life_score_P2).w
- moveq #mus_FadeOut,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_SFX).l
moveq #0,d0
- move.w d0,(Competition_mode_monitors).w
+ move.w d0,(Competition_settings).w
move.w d0,(Competition_mode).w
cmpi.b #$E,(Current_zone).w
bcs.s locret_6B48
@@ -8329,7 +8200,7 @@ loc_6BCA:
btst #5,d1
beq.s loc_6BF4
move.w (Sound_test_sound).w,d0
- jsr (Play_Sound).l
+ jsr (Play_Music).l
lea (DebugCodeDat).l,a0
lea (AllEmeraldsCodeDat).l,a2
lea (Debug_cheat_flag).w,a1
@@ -8340,8 +8211,8 @@ loc_6BCA:
loc_6BF4:
btst #4,d1
beq.s locret_6C02
- moveq #mus_MutePSG,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_MutePSG),d0
+ jsr (Play_Music).l
locret_6C02:
rts
@@ -8356,7 +8227,7 @@ LevSelControls_SwitchSide:
move.w d0,(Level_select_option).w
loc_6C1A:
- bra.s loc_6C3C
+ bra.s LevelSelect_PickCharacterNumber
; ---------------------------------------------------------------------------
rts
; ---------------------------------------------------------------------------
@@ -8393,7 +8264,7 @@ LevelSelect_SwitchTable:
dc.b $B ; 29
; ---------------------------------------------------------------------------
-loc_6C3C:
+LevelSelect_PickCharacterNumber:
btst #5,(Ctrl_1_pressed).w
beq.s loc_6C56
addq.b #1,(P1_character).w
@@ -8636,8 +8507,8 @@ CheckCheats:
tst.b 1(a0)
bne.s loc_6E8E
move.w #$101,(a1)
- moveq #sfx_RingRight,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_RingRight),d0
+ jsr (Play_SFX).l
loc_6E88:
move.w #0,(Level_select_cheat_counter).w
@@ -8654,15 +8525,15 @@ loc_6E8E:
tst.w d2
bne.s loc_6EBA
move.b #$F,(Continue_count).w
- moveq #mus_Continue,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Continue),d0
+ jsr (Play_Music).l
bra.s loc_6EC8
; ---------------------------------------------------------------------------
loc_6EBA:
- move.w #7,(Emerald_count).w
- moveq #mus_Emerald,d0
- jsr (Play_Sound).l
+ move.w #7,(Chaos_emerald_count).w
+ moveq #signextendB(mus_Emerald),d0
+ jsr (Play_Music).l
loc_6EC8:
move.w #0,(Debug_mode_cheat_counter).w
@@ -8750,7 +8621,8 @@ MapEni_S2LevSel:binclude "General/Sprites/S2Menu/Enigma Map/Level Select.bin"
MapEni_S2LevSelIcon:
binclude "General/Sprites/S2Menu/Enigma Map/Level Select Icons.bin"
even
-AniPLC_SONICMILES:dc.w 0
+AniPLC_SONICMILES:
+ dc.w 0
dc.l ArtUnc_SONICMILES+$FF000000
dc.w $20
dc.b 6, $A
@@ -8763,8 +8635,8 @@ AniPLC_SONICMILES:dc.w 0
; ---------------------------------------------------------------------------
SpecialStage:
- moveq #mus_Stop,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_Stop),d0
+ bsr.w Play_Music
bsr.w Clear_Nem_Queue
bsr.w Pal_FadeToWhite
move #$2700,sr
@@ -8845,12 +8717,12 @@ loc_7546:
move.l #$74000003,(VDP_control_port).l
lea (ArtNem_SStageShadow).l,a0
bsr.w Nem_Decomp
- lea (SSNum000_Map).l,a1
+ lea (MapUnc_SSNum000).l,a1
move.l #$40840003,d0
moveq #7,d1
moveq #2,d2
jsr (Plane_Map_To_VRAM).l
- lea (SSNum000_Map).l,a1
+ lea (MapUnc_SSNum000).l,a1
move.l #$40BC0003,d0
moveq #7,d1
moveq #2,d2
@@ -8874,7 +8746,7 @@ loc_7546:
loc_7692:
moveq #0,d0
move.b (Current_special_stage).w,d0
- cmpi.w #7,(Emerald_count).w
+ cmpi.w #7,(Chaos_emerald_count).w
bcc.s loc_76B6
lea (Collected_emeralds_array).w,a1
@@ -8946,12 +8818,12 @@ loc_7770:
bsr.w Wait_VSync
move.b #0,(Special_stage_fade_timer).w
move.w #$8C89,(VDP_control_port).l
- moveq #mus_SpecialStage,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_SpecialStage),d0
+ bsr.w Play_Music
move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
move.w d0,(VDP_control_port).l
- bsr.w Pal_FromBlackWhite
+ bsr.w Pal_FadeFromWhite
loc_77D2:
bsr.w Pause_Game
@@ -9167,7 +9039,7 @@ Pal_SStage_8: binclude "General/Special Stage/Palettes/3-8 S3.bin"
Draw_SSNum:
lea (SSNum_Precision).l,a2
moveq #2,d6
- lea SSNum_Map(pc),a1
+ lea MapUnc_SSNum(pc),a1
loc_7BE2:
moveq #0,d2
@@ -9199,15 +9071,13 @@ loc_7BEE:
; End of function Draw_SSNum
; ---------------------------------------------------------------------------
-SSNum_Precision:dc.w $64
- dc.w $A
+SSNum_Precision:dc.w 100
+ dc.w 10
dc.w 1
-SSNum_Map: dc.l $C781CF81,$C782C783,$C781CF81,$C781CF81,$C784C785,$C786C787,$C781CF81,$CF87C788,$C781CF81,$C781CF81
- dc.l $C78ACF8A,$C78BC78C,$C78DC78E,$C78FC790,$C791C792,$C793C794,$C795C796,$C797C798,$C799CF99,$DF96DF95
- dc.l $D781DF81,$C79BD783,$DF88D787,$D781DF81,$C79CC79D,$D781DF81,$D781DF81,$C79EC79F,$D781DF81,$D781DF81
-SSNum000_Map: dc.w $CF89, $C781, $CF81, $C781, $CF81, $C781, $CF81, $C789
- dc.w $CF9A, $C78A, $CF8A, $C78A, $CF8A, $C78A, $CF8A, $C79A
- dc.w $DF89, $D781, $DF81, $D781, $DF81, $D781, $DF81, $D789
+MapUnc_SSNum: binclude "General/Special Stage/Uncompressed Map/HUD Numbers.bin"
+ even
+MapUnc_SSNum000:binclude "General/Special Stage/Uncompressed Map/HUD.bin"
+ even
; =============== S U B R O U T I N E =======================================
@@ -9451,8 +9321,8 @@ loc_803E:
move.l #-$100000,$40(a0)
move.b #-$80,(Special_stage_jumping).w
move.b #0,(Special_stage_turning).w
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
loc_806E:
tst.b (Special_stage_jumping).w
@@ -9583,8 +9453,8 @@ loc_81FA:
bne.s loc_8226
move.l #-$100000,$40(a0)
move.b #1,(Special_stage_jumping_P2).w
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
loc_8226:
move.l $3C(a0),d0
@@ -9985,8 +9855,8 @@ sub_85FE:
ori.b #-$80,(Last_star_post_hit).w
loc_8664:
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
locret_866C:
rts
@@ -10001,8 +9871,8 @@ loc_866E:
move.l a1,4(a2)
loc_8682:
- moveq #sfx_BlueSphere,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BlueSphere),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -10014,8 +9884,8 @@ loc_868C:
move.w d1,(Special_stage_interact).w
move.b #1,(Special_stage_bumper_lock).w
move.b #0,(Special_stage_advancing).w
- moveq #sfx_Bumper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bumper),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -10030,8 +9900,8 @@ loc_86B2:
loc_86C6:
subq.w #1,(Special_stage_rings_left).w
bne.s loc_86D4
- moveq #sfx_Perfect,d0
- jsr (Play_Sound).l
+ moveq #signextendB(sfx_Perfect),d0
+ jsr (Play_Music).l
loc_86D4:
addi.w #1,(Special_stage_ring_count).w
@@ -10042,11 +9912,11 @@ loc_86D4:
bne.s loc_86FE
addq.b #1,(Continue_count).w
move.w #$FF00|sfx_Continue,d0
- jmp (Play_Sound).l
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_86FE:
- moveq #sfx_RingRight,d0
+ moveq #signextendB(sfx_RingRight),d0
cmpi.w #100,(Special_stage_ring_count).w
bcs.s loc_8726
bset #1,(Special_stage_extra_life_flags).w
@@ -10058,10 +9928,10 @@ loc_86FE:
loc_8720:
addq.b #1,(Life_count).w
- moveq #sfx_RingLoss,d0
+ moveq #signextendB(sfx_RingLoss),d0
loc_8726:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -10378,8 +10248,8 @@ sub_89E2:
addq.w #2,(Special_stage_clear_timer).w
cmpi.w #2,(Special_stage_clear_timer).w
bne.s loc_8A0C
- moveq #sfx_AllSpheres,d0
- jsr (Play_Sound).l
+ moveq #signextendB(sfx_AllSpheres),d0
+ jsr (Play_Music).l
loc_8A0C:
cmpi.w #$40,(Special_stage_clear_timer).w
@@ -10446,8 +10316,8 @@ loc_8AB6:
subq.b #1,(Special_stage_emerald_timer).w
bne.s locret_8AD8
addq.b #1,(Special_stage_clear_routine).w
- moveq #mus_Emerald,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Emerald),d0
+ jsr (Play_Music).l
locret_8AD8:
rts
@@ -10472,9 +10342,9 @@ loc_8ADA:
or.w (Special_stage_Y_pos).w,d0
andi.w #$E0,d0
bne.s locret_8B58
- cmpi.w #7,(Emerald_count).w
+ cmpi.w #7,(Chaos_emerald_count).w
bcc.s loc_8B2E
- addq.w #1,(Emerald_count).w
+ addq.w #1,(Chaos_emerald_count).w
lea (Collected_emeralds_array).w,a1
moveq #0,d0
move.b (Current_special_stage).w,d0
@@ -10490,8 +10360,8 @@ loc_8B2E:
ori.b #$80,(Last_star_post_hit).w
loc_8B50:
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
locret_8B58:
rts
@@ -10740,8 +10610,8 @@ loc_8D64:
dbf d0,loc_8D52
subq.w #2,d1
bne.s loc_8D46
- moveq #sfx_RingLoss,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_RingLoss),d0
+ jsr (Play_SFX).l
moveq #1,d1
locret_8D76:
@@ -11107,22 +10977,8 @@ GetScalars2:
; End of function GetScalars2
; ---------------------------------------------------------------------------
-ScalarTable2: dc.w 0, $192, $324, $4B5, $646, $7D6, $964, $AF1, $C7C, $E06, $F8D, $1112, $1294, $1413, $1590, $1709
- dc.w $187E, $19EF, $1B5D, $1CC6, $1E2B, $1F8C, $20E7, $223D, $238E, $24DA, $2620, $2760, $289A, $29CE, $2AFB, $2C21
- dc.w $2D41, $2E5A, $2F6C, $3076, $3179, $3274, $3368, $3453, $3537, $3612, $36E5, $37B0, $3871, $392B, $39DB, $3A82
- dc.w $3B21, $3BB6, $3C42, $3CC5, $3D3F, $3DAF, $3E15, $3E72, $3EC5, $3F0F, $3F4F, $3F85, $3FB1, $3FD4, $3FEC, $3FFB
- dc.w $4000, $3FFB, $3FEC, $3FD4, $3FB1, $3F85, $3F4F, $3F0F, $3EC5, $3E72, $3E15, $3DAF, $3D3F, $3CC5, $3C42, $3BB6
- dc.w $3B21, $3A82, $39DB, $392B, $3871, $37B0, $36E5, $3612, $3537, $3453, $3368, $3274, $3179, $3076, $2F6C, $2E5A
- dc.w $2D41, $2C21, $2AFB, $29CE, $289A, $2760, $2620, $24DA, $238E, $223D, $20E7, $1F8C, $1E2B, $1CC6, $1B5D, $19EF
- dc.w $187E, $1709, $1590, $1413, $1294, $1112, $F8D, $E06, $C7C, $AF1, $964, $7D6, $646, $4B5, $324, $192
- dc.w 0, $FE6E, $FCDC, $FB4B, $F9BA, $F82A, $F69C, $F50F, $F384, $F1FA, $F073, $EEEE, $ED6C, $EBED, $EA70, $E8F7
- dc.w $E782, $E611, $E4A3, $E33A, $E1D5, $E074, $DF19, $DDC3, $DC72, $DB26, $D9E0, $D8A0, $D766, $D632, $D505, $D3DF
- dc.w $D2BF, $D1A6, $D094, $CF8A, $CE87, $CD8C, $CC98, $CBAD, $CAC9, $C9EE, $C91B, $C850, $C78F, $C6D5, $C625, $C57E
- dc.w $C4DF, $C44A, $C3BE, $C33B, $C2C1, $C251, $C1EB, $C18E, $C13B, $C0F1, $C0B1, $C07B, $C04F, $C02C, $C014, $C005
- dc.w $C000, $C005, $C014, $C02C, $C04F, $C07B, $C0B1, $C0F1, $C13B, $C18E, $C1EB, $C251, $C2C1, $C33B, $C3BE, $C44A
- dc.w $C4DF, $C57E, $C625, $C6D5, $C78F, $C850, $C91B, $C9EE, $CAC9, $CBAD, $CC98, $CD8C, $CE87, $CF8A, $D094, $D1A6
- dc.w $D2BF, $D3DF, $D505, $D632, $D766, $D8A0, $D9E0, $DB26, $DC72, $DDC3, $DF19, $E074, $E1D5, $E33A, $E4A3, $E611
- dc.w $E782, $E8F7, $EA70, $EBED, $ED6C, $EEEE, $F073, $F1FA, $F384, $F50F, $F69C, $F82A, $F9BA, $FB4B, $FCDC, $FE6E
+ScalarTable2: binclude "General/Special Stage/Scalars.bin"
+ even
Map_SStageSphere:
include "General/Special Stage/Map - Sphere.asm"
Map_SStageRing:
@@ -11228,8 +11084,8 @@ loc_9658:
jsr (Init_SpriteTable).l
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_CompetitionMenu,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_CompetitionMenu),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -11270,8 +11126,8 @@ loc_96FE:
; ---------------------------------------------------------------------------
loc_9706:
- clr.b (Competition_mode_type).w
- move.b (Competition_menu_monitors).w,(Competition_mode_monitors).w
+ clr.b (Competition_type).w
+ move.b (Competition_menu_items).w,(Competition_items).w
move.b (Ctrl_2_pressed).w,d0
andi.b #-$20,d0
sne (Not_ghost_flag).w
@@ -11280,8 +11136,8 @@ loc_9706:
; ---------------------------------------------------------------------------
loc_9724:
- move.b #3,(Competition_mode_type).w
- move.b (Competition_menu_monitors).w,(Competition_mode_monitors).w
+ move.b #3,(Competition_type).w
+ move.b (Competition_menu_items).w,(Competition_items).w
move.b (Ctrl_2_pressed).w,d0
andi.b #-$20,d0
sne (Not_ghost_flag).w
@@ -11293,7 +11149,7 @@ loc_9744:
move.b (Ctrl_1_pressed).w,d2
andi.w #$E0,d2
beq.s loc_9776
- move.w #-1,(Competition_mode_monitors).w
+ move.w #-1,(Competition_settings).w
clr.b (Not_ghost_flag).w
move.b #-$40,(Game_mode).w
@@ -11305,8 +11161,8 @@ loc_975E:
loc_9768:
move.l d0,(a1)+
dbf d1,loc_9768
- moveq #sfx_Starpost,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_9776:
@@ -11314,7 +11170,7 @@ loc_9776:
move.b (Competition_menu_selection).w,d1
lsr.w #1,d0
bcc.s loc_978A
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
subq.b #1,d1
bcc.s loc_979A
moveq #3,d1
@@ -11324,7 +11180,7 @@ loc_9776:
loc_978A:
lsr.w #1,d0
bcc.s loc_979A
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
addq.b #1,d1
cmpi.b #3,d1
bls.s loc_979A
@@ -11334,7 +11190,7 @@ loc_979A:
move.b d1,(Competition_menu_selection).w
move.w d2,d0
beq.s loc_97A8
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
loc_97A8:
bra.w loc_96B8
@@ -11363,14 +11219,14 @@ Obj_Competition_97D0:
or.b (Ctrl_2_pressed).w,d0
andi.w #$C,d0
beq.s loc_97F6
- tst.b (Competition_menu_monitors).w
- seq (Competition_menu_monitors).w
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ tst.b (Competition_menu_items).w
+ seq (Competition_menu_items).w
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_97F6:
move.w #$15C,d0
- tst.b (Competition_menu_monitors).w
+ tst.b (Competition_menu_items).w
beq.s loc_9804
addi.w #$20,d0
@@ -11570,8 +11426,8 @@ loc_9BF4:
move.l #Map_CompetitionSelect,$C(a0)
addi.w #$C29F,$A(a0)
move.w #$B0,$10(a0)
- moveq #mus_CompetitionMenu,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_CompetitionMenu),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -11662,8 +11518,8 @@ loc_9D04:
bcs.s loc_9D3C
cmpi.b #4,(a0)
beq.s loc_9D5C
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
addq.b #1,(a0)
cmpi.b #4,(a0)
beq.s loc_9D5C
@@ -11676,8 +11532,8 @@ loc_9D04:
loc_9D3C:
tst.b (a0)
beq.s loc_9D5C
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
subq.b #1,(a0)
beq.s loc_9D5C
cmpi.b #3,(a0)
@@ -11689,8 +11545,8 @@ loc_9D3C:
loc_9D5C:
andi.w #$E0,d1
beq.w loc_9C5C
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
moveq #0,d0
move.b (Competition_menu_zone).w,d0
move.b Comp_ZoneList(pc,d0.w),(Current_zone_and_act).w
@@ -11935,7 +11791,8 @@ sub_9F48:
; End of function sub_9F48
; ---------------------------------------------------------------------------
-VRAMDatList_CompetitionLevelSelect:dc.w $18
+VRAMDatList_CompetitionLevelSelect:
+ dc.w $18
dc.l RAM_start
dc.w $C098
dc.w $1A
@@ -12036,7 +11893,8 @@ VRAMDatList_CompetitionLevelSelect:dc.w $18
dc.w $D3D0
dc.w 8
dc.w 1
-ObjDat_CompetitionMatchRace:dc.w $B
+ObjDat_CompetitionMatchRace:
+ dc.w $B
dc.l Obj_Competition_ZoneSelect
dc.w $F4
dc.w 0
@@ -12109,7 +11967,8 @@ ObjDat_CompetitionMatchRace:dc.w $B
dc.w $2000
dc.b 5
dc.b 0
-ObjDat_CompetitionTimeAttack:dc.w 5
+ObjDat_CompetitionTimeAttack:
+ dc.w 5
dc.l Obj_Competition_ZoneSelect
dc.w $F4
dc.w $30
@@ -12262,8 +12121,8 @@ loc_A29C:
jsr sub_B596(pc)
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_CompetitionMenu,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_CompetitionMenu),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -12346,8 +12205,8 @@ loc_A3EE:
andi.w #$C,d0
beq.w loc_A498
move.l d0,-(sp)
- moveq #sfx_GravityTunnel,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GravityTunnel),d0
+ jsr (Play_SFX).l
move.l (sp)+,d0
clr.b $34(a0)
move.b $2E(a0),$35(a0)
@@ -12429,8 +12288,8 @@ loc_A4A6:
beq.s loc_A4BC
st $2F(a0)
sf (a2)
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
loc_A4BC:
moveq #1,d0
@@ -12684,8 +12543,8 @@ loc_AAF4:
jsr (Init_SpriteTable).l
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_Continue,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Continue),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -12987,7 +12846,8 @@ ObjDat_ADA4: dc.w 7
dc.w 0
dc.b 0
dc.b 1
-VRAMDatList_AE06:dc.w 8
+VRAMDatList_AE06:
+ dc.w 8
dc.l RAM_start
dc.w $E000
dc.w $27
@@ -13182,8 +13042,8 @@ loc_B0FC:
jsr (Init_SpriteTable).l
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_Continue,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Continue),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -13279,7 +13139,7 @@ loc_B244:
move.l #loc_B252,(a0)
loc_B252:
- move.b (_unkEE5A).w,d0
+ move.b (Competition_time_attack_new_top_record).w,d0
cmp.b $2E(a0),d0
bne.s loc_B264
btst #3,(Level_frame_counter+1).w
@@ -13326,7 +13186,8 @@ ObjDat_B28C: dc.w 4
dc.w 0
dc.b 0
dc.b 2
-VRAMDatList_B2CA:dc.w 8
+VRAMDatList_B2CA:
+ dc.w 8
dc.l RAM_start
dc.w $E000
dc.w $27
@@ -13775,7 +13636,8 @@ locret_B80E:
; End of function SaveGame
; ---------------------------------------------------------------------------
-SaveGame_NextLevel:dc.b 1, 2, 3, 5, 5, 6, 7, 0
+SaveGame_NextLevel:
+ dc.b 1, 2, 3, 5, 5, 6, 7, 0
; =============== S U B R O U T I N E =======================================
@@ -13785,7 +13647,7 @@ SaveGame_SpecialStage:
beq.s locret_B858
movea.l d0,a1
move.b (Current_special_stage).w,4(a1)
- move.b (Emerald_count+1).w,5(a1)
+ move.b (Chaos_emerald_count+1).w,5(a1)
lea (Collected_emeralds_array).w,a2
moveq #0,d0
moveq #6,d1
@@ -13823,18 +13685,9 @@ SaveScreen:
andi.b #$BF,d0
move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
- lea (VDP_control_port).l,a5
- move.w #$8F01,(a5)
- move.l #$940F93FF,(a5)
- move.w #$9780,(a5)
- move.l #$50000083,(a5)
- move.w #0,(VDP_data_port).l
-loc_B89C:
- move.w (a5),d1
- btst #1,d1
- bne.s loc_B89C
- move.w #$8F02,(a5)
+ dmaFillVRAM 0,$D000,$1000
+
lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8238,(a6)
@@ -13943,8 +13796,8 @@ loc_BA3E:
lea (ArtKos_SaveScreenS3Zone).l,a0
lea (RAM_start).l,a1
jsr (Kos_Decomp).l
- moveq #mus_DataSelect,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_DataSelect),d0
+ jsr (Play_Music).l
move.l #loc_BB0A,(_unkEF44_1).w
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
@@ -13981,8 +13834,8 @@ loc_BAC8:
loc_BAD0:
cmpi.b #$4C,(Game_mode).w
beq.s SaveScreen_MainLoop
- moveq #sfx_EnterSS,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_EnterSS),d0
+ jmp (Play_SFX).l
; =============== S U B R O U T I N E =======================================
@@ -14155,7 +14008,8 @@ word_BD16: dc.w 7
dc.w $A
dc.w $B
Map_SaveScreen: include "General/Save Menu/Map - Save Screen General S3.asm"
-ObjDat_SaveScreen:dc.w 9
+ObjDat_SaveScreen:
+ dc.w 9
dc.l Draw_Sprite
dc.w $120
dc.w $14C
@@ -14267,13 +14121,13 @@ loc_C0EA:
tst.b (Dataselect_entry).w
beq.s loc_C106
subq.b #1,(Dataselect_entry).w
- moveq #sfx_SlotMachine,d0
+ moveq #signextendB(sfx_SlotMachine),d0
tst.w (Events_bg+$12).w
beq.s loc_C0FE
- moveq #sfx_SmallBumpers,d0
+ moveq #signextendB(sfx_SmallBumpers),d0
loc_C0FE:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
moveq #-8,d0
loc_C106:
@@ -14282,13 +14136,13 @@ loc_C106:
cmpi.b #7,(Dataselect_entry).w
beq.s loc_C12C
addq.b #1,(Dataselect_entry).w
- moveq #sfx_SlotMachine,d0
+ moveq #signextendB(sfx_SlotMachine),d0
tst.w (Events_bg+$12).w
beq.s loc_C124
- moveq #sfx_SmallBumpers,d0
+ moveq #signextendB(sfx_SmallBumpers),d0
loc_C124:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
moveq #8,d0
loc_C12C:
@@ -14382,7 +14236,7 @@ Obj_SaveScreen_NoSave_Slot:
clr.w (Current_zone_and_act).w
clr.w (Apparent_zone_and_act).w
clr.w (Current_special_stage).w
- clr.w (Emerald_count).w
+ clr.w (Chaos_emerald_count).w
clr.l (Collected_emeralds_array).w
clr.w (Collected_emeralds_array+4).w
clr.b (Collected_emeralds_array+6).w
@@ -14479,7 +14333,7 @@ loc_C306:
move.b (Ctrl_1_pressed).w,d0
btst #1,d0
beq.s loc_C32A
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
subq.w #1,d1
bpl.s loc_C320
moveq #6,d1
@@ -14496,7 +14350,7 @@ loc_C320:
loc_C32A:
btst #0,d0
beq.s loc_C344
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
addq.w #1,d1
cmpi.w #4,d1
bne.s loc_C33C
@@ -14510,7 +14364,7 @@ loc_C33C:
loc_C344:
move.w d1,$36(a0)
move.l d2,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$1A,$1D(a0)
btst #4,(Level_frame_counter+1).w
beq.s loc_C368
@@ -14560,7 +14414,7 @@ loc_C3C0:
move.b 4(a1),(Current_special_stage).w
moveq #0,d0
move.b 5(a1),d0
- move.w d0,(Emerald_count).w
+ move.w d0,(Chaos_emerald_count).w
move.b 6(a1),d0
lea (Collected_emeralds_array).w,a3
moveq #6,d1
@@ -14597,7 +14451,7 @@ loc_C40A:
clr.w (Current_zone_and_act).w
clr.w (Apparent_zone_and_act).w
clr.w (Current_special_stage).w
- clr.w (Emerald_count).w
+ clr.w (Chaos_emerald_count).w
clr.l (Collected_emeralds_array).w
clr.w (Collected_emeralds_array+4).w
clr.b (Collected_emeralds_array+6).w
@@ -14645,7 +14499,7 @@ sub_C4CC:
move.b (Ctrl_1_pressed).w,d1
lsr.w #1,d1
bcc.s loc_C4EA
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
addq.w #1,d0
cmpi.w #2,d0
bls.s loc_C4F6
@@ -14656,7 +14510,7 @@ sub_C4CC:
loc_C4EA:
lsr.w #1,d1
bcc.s loc_C4F6
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
subq.w #1,d0
bpl.s loc_C4F6
moveq #2,d0
@@ -14666,7 +14520,7 @@ loc_C4F6:
beq.s locret_C506
move.l d0,-(sp)
move.l d2,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.l (sp)+,d0
locret_C506:
@@ -14740,8 +14594,8 @@ loc_C5AA:
move.b (Ctrl_1_pressed).w,d0
andi.w #$E0,d0
beq.w loc_C688
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
st (Events_bg+$12).w
addq.b #4,5(a0)
bra.w loc_C688
@@ -14768,8 +14622,8 @@ loc_C5D4:
movea.l d0,a1
tst.b (a1)
bmi.s loc_C63C
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
st (Events_bg+$10).w
addq.b #8,5(a0)
@@ -14830,8 +14684,8 @@ loc_C6AC:
bne.s loc_C6DA
btst #2,(Ctrl_1_pressed).w
beq.s loc_C6E8
- moveq #sfx_Perfect,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Perfect),d0
+ jsr (Play_SFX).l
movea.l $2E(a0),a1
clr.l (a1)
clr.l 4(a1)
@@ -14965,7 +14819,8 @@ locret_C7BC:
byte_C7BE: dc.b $2B, $2C, 0, $30, $1E, $33, $22, $FF, $21, $22, $29, $22, $31, $22, $FF
byte_C7CD: dc.b 0, 0, 0, 0, 0, $FF
byte_C7D3: dc.b $37, $2C, $2B, $22, 0, $FF
-byte_C7D9: dc.b $20, $29, $22, $1E, $2F, $FF, 0
+byte_C7D9: dc.b $20, $29, $22, $1E, $2F, $FF
+ even
ArtKos_SaveScreenS3Zone:
binclude "General/Save Menu/Kosinski Art/Zone Art.bin"
even
@@ -14973,17 +14828,17 @@ ArtKos_SaveScreenS3Zone:
; =============== S U B R O U T I N E =======================================
-sub_E8C0:
+Render_HUD_P1:
tst.w (Debug_mode_flag).w
- bne.s sub_E8C8
+ bne.s Render_HUD
rts
-; End of function sub_E8C0
+; End of function Render_HUD_P1
; =============== S U B R O U T I N E =======================================
-sub_E8C8:
+Render_HUD:
cmpi.b #$13,(Current_zone).w
bcs.s loc_E8E4
moveq #8,d4
@@ -15029,15 +14884,15 @@ loc_E90E:
locret_E92E:
rts
-; End of function sub_E8C8
+; End of function Render_HUD
; =============== S U B R O U T I N E =======================================
-nullsub_2:
+Render_HUD_P2:
rts
-; End of function nullsub_2
+; End of function Render_HUD_P2
; ---------------------------------------------------------------------------
Map_HUD: include "General/Sprites/HUD Icon/Map - HUD.asm"
@@ -15049,7 +14904,7 @@ HUD_AddToScore:
move.b #1,(Update_HUD_score).w
lea (Score).w,a3
add.l d0,(a3)
- move.l #$F423F,d1
+ move.l #999999,d1
cmp.l (a3),d1
bhi.s loc_EA5E
move.l d1,(a3)
@@ -15062,7 +14917,7 @@ loc_EA5E:
addq.b #1,(Life_count).w
addq.b #1,(Update_HUD_life_count).w
move.w #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
locret_EA80:
@@ -15926,7 +15781,7 @@ loc_F80A:
; =============== S U B R O U T I N E =======================================
-sub_F816:
+Render_Rings:
movea.l (Ring_start_addr_ROM).w,a0
move.l (Ring_end_addr_ROM).w,d2
sub.l a0,d2
@@ -15974,7 +15829,7 @@ loc_F876:
locret_F87C:
rts
-; End of function sub_F816
+; End of function Render_Rings
; ---------------------------------------------------------------------------
CMap_Ring: dc.w $FFF8, $0005, $0000+make_art_tile(ArtTile_Ring,1,0), $FFF8
@@ -15997,7 +15852,8 @@ S2_SpecialCNZBumpers:
; End of function S2_SpecialCNZBumpers
; ---------------------------------------------------------------------------
-SpecialCNZBumpers_Index:dc.w SpecialCNZBumpers_Init-SpecialCNZBumpers_Index
+SpecialCNZBumpers_Index:
+ dc.w SpecialCNZBumpers_Init-SpecialCNZBumpers_Index
dc.w SpecialCNZBumpers_Main-SpecialCNZBumpers_Index
; ---------------------------------------------------------------------------
@@ -16518,7 +16374,7 @@ loc_FCFC:
bclr #5,$2A(a0)
clr.b $40(a0)
move.w #sfx_MagneticSpike,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; End of function Check_CNZ_Bumpers
; ---------------------------------------------------------------------------
@@ -17527,9 +17383,9 @@ loc_1096E:
; =============== S U B R O U T I N E =======================================
-nullsub_4:
+ConvertCollisionArray:
rts
-; End of function nullsub_4
+; End of function ConvertCollisionArray
; =============== S U B R O U T I N E =======================================
@@ -18567,7 +18423,7 @@ Touch_Monitor:
; ---------------------------------------------------------------------------
loc_11312:
- cmpa.w #-$5000,a0
+ cmpa.w #Player_1,a0
beq.s loc_1131E
tst.w (Competition_mode).w
beq.s locret_11334
@@ -18771,8 +18627,8 @@ loc_11544:
move.w #0,$1C(a0)
move.b #$1A,$20(a0)
move.b #$78,$34(a0)
- moveq #sfx_Death,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Death),d0
+ jsr (Play_SFX).l
moveq #-1,d0
rts
; End of function HurtCharacter
@@ -18794,8 +18650,8 @@ Kill_Character:
move.w #0,$1C(a0)
move.b #$18,$20(a0)
bset #7,$A(a0)
- moveq #sfx_Death,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Death),d0
+ jsr (Play_SFX).l
loc_115A8:
moveq #-1,d0
@@ -19247,7 +19103,7 @@ loc_11A30:
move.b #2,$20(a0)
addq.w #4,$14(a0)
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
tst.w $1C(a0)
bne.s locret_11A62
move.w #$200,$1C(a0)
@@ -19270,7 +19126,7 @@ sub_11A64:
beq.w locret_11AAE
move.b #9,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addq.l #4,sp
move.b #1,$3D(a0)
move.w #0,$3E(a0)
@@ -19323,8 +19179,8 @@ loc_11B14:
loc_11B22:
bset #2,$2A(a0)
move.b #0,$20(a6)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
bra.s loc_11BA4
; ---------------------------------------------------------------------------
word_11B38: dc.w $800
@@ -19362,7 +19218,7 @@ loc_11B74:
beq.w loc_11BA4
move.w #$900,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addi.w #$200,$3E(a0)
cmpi.w #$800,$3E(a0)
bcs.s loc_11BA4
@@ -19569,8 +19425,8 @@ loc_11DB6:
bne.s Sonic_RmvInvin
cmpi.b #$C,$2C(a0)
bcs.s Sonic_RmvInvin
- move.w (Level_music).w,d0
- jsr (Play_Sound).l
+ move.w (Current_music).w,d0
+ jsr (Play_Music).l
Sonic_RmvInvin:
bclr #1,$2B(a0)
@@ -19670,7 +19526,7 @@ Sonic_RecordPosCompetitionP2:
Reset_Player_Position_Array:
- cmpa.w #-$5000,a0
+ cmpa.w #Player_1,a0
bne.s Reset_Player_Position_ArrayP2
lea (Pos_table).w,a1
lea (Stat_table).w,a2
@@ -19720,7 +19576,7 @@ Sonic_InWater:
addq.b #1,(Water_entered_counter).w
movea.l a0,a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Air_CountDown,(Breathing_bubbles).w
+ move.l #Obj_AirCountdown,(Breathing_bubbles).w
move.b #$81,(Breathing_bubbles+subtype).w
move.l a0,(Breathing_bubbles+$40).w
move.w #$300,(a4)
@@ -19741,7 +19597,7 @@ loc_11F88:
beq.s locret_11F32
move.w #$100,$20(a6)
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
Sonic_OutWater:
@@ -19781,7 +19637,7 @@ loc_12002:
loc_12028:
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; End of function Sonic_Water
; ---------------------------------------------------------------------------
@@ -20233,7 +20089,7 @@ loc_124C2:
tst.b $2D(a0)
bmi.s locret_1250A
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bclr #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -20288,7 +20144,7 @@ loc_12548:
tst.b $2D(a0)
bmi.s locret_12590
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bset #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -20604,7 +20460,7 @@ Player_DoRoll:
move.b #2,$20(a0)
addq.w #5,$14(a0)
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
tst.w $1C(a0)
bne.s locret_1280E
move.w #$200,$1C(a0)
@@ -20656,7 +20512,7 @@ loc_12854:
move.b #1,$40(a0)
clr.b $3C(a0)
move.w #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b $44(a0),$1E(a0)
move.b $45(a0),$1F(a0)
btst #2,$2A(a0)
@@ -20693,7 +20549,7 @@ Sonic_JumpHeight:
loc_128F0:
cmp.w $1A(a0),d1
- ble.w Sonic_InstaAndShieldMoves
+ ble.w Sonic_ShieldMoves
move.b (Ctrl_1_held_logical).w,d0
andi.b #$70,d0
bne.s locret_12906
@@ -20714,7 +20570,7 @@ locret_1291C:
rts
; ---------------------------------------------------------------------------
-Sonic_InstaAndShieldMoves:
+Sonic_ShieldMoves:
tst.b $2F(a0)
bne.w locret_12A20
move.b (Ctrl_1_pressed_logical).w,d0
@@ -20746,7 +20602,7 @@ loc_12972:
move.w #$2000,(H_scroll_frame_offset).w
bsr.w Reset_Player_Position_Array
move.w #sfx_FireAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
Sonic_LightningShield:
@@ -20757,7 +20613,7 @@ Sonic_LightningShield:
move.w #-$580,$1A(a0)
clr.b $40(a0)
move.w #sfx_ElectricAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
Sonic_BubbleShield:
@@ -20769,11 +20625,11 @@ Sonic_BubbleShield:
move.w #0,$1C(a0)
move.w #$800,$1A(a0)
move.w #sfx_BubbleAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
Sonic_CheckTransform:
- cmpi.w #7,(Emerald_count).w
+ cmpi.w #7,(Chaos_emerald_count).w
bcs.s Sonic_InstaShield
cmpi.w #50,(Ring_count).w
bcs.s Sonic_InstaShield
@@ -20786,7 +20642,7 @@ Sonic_InstaShield:
move.b #1,(Shield+anim).w
move.b #1,$2F(a0)
move.w #sfx_InstaAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_12A20:
@@ -20808,9 +20664,9 @@ Sonic_Transform:
move.b #0,$35(a0)
bset #1,$2B(a0)
move.w #$FF00|sfx_SuperTransform,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.w #mus_Invincibility,d0
- jmp (Play_Sound).l
+ jmp (Play_Music).l
; End of function Sonic_JumpHeight
@@ -20830,9 +20686,9 @@ Sonic_Super:
ori.b #1,(Update_HUD_ring_count).w
cmpi.w #1,(Ring_count).w
beq.s loc_12AC6
- cmpi.w #$A,(Ring_count).w
+ cmpi.w #10,(Ring_count).w
beq.s loc_12AC6
- cmpi.w #$64,(Ring_count).w
+ cmpi.w #100,(Ring_count).w
bne.s loc_12ACC
loc_12AC6:
@@ -20877,7 +20733,7 @@ Sonic_Spindash:
beq.w locret_12B9A
move.b #9,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addq.l #4,sp
move.b #1,$3D(a0)
move.w #0,$3E(a0)
@@ -20942,8 +20798,8 @@ loc_12C00:
loc_12C0E:
bset #2,$2A(a0)
move.b #0,$20(a6)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
bra.s loc_12C90
; ---------------------------------------------------------------------------
word_12C24: dc.w $800
@@ -20981,7 +20837,7 @@ loc_12C60:
beq.w loc_12C90
move.w #$900,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addi.w #$200,$3E(a0)
cmpi.w #$800,$3E(a0)
bcs.s loc_12C90
@@ -21515,7 +21371,7 @@ loc_130D2:
sub.w d0,$14(a0)
move.b #2,(Shield+anim).w
move.w #sfx_BubbleAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; End of function BubbleShield_Bounce
; ---------------------------------------------------------------------------
@@ -21648,8 +21504,8 @@ loc_1328A:
subq.b #1,(Life_count).w
bne.s loc_132F0
move.w #0,$3E(a0)
- move.l #loc_2C9AC,(Reserved_object_3).w
- move.l #loc_2C9AC,(Dynamic_object_RAM).w
+ move.l #Obj_GameOver,(Reserved_object_3).w
+ move.l #Obj_GameOver,(Dynamic_object_RAM).w
move.b #0,(Reserved_object_3+mapping_frame).w
move.b #1,(Dynamic_object_RAM+mapping_frame).w
move.w a0,(Reserved_object_3+objoff_3E).w
@@ -21657,10 +21513,10 @@ loc_1328A:
loc_132D0:
clr.b (Update_HUD_timer).w
- clr.b (_unkFEC7).w
+ clr.b (Update_HUD_timer_P2).w
move.b #8,5(a0)
move.w #mus_GameOver,d0
- jsr (Play_Sound).l
+ jsr (Play_Music).l
moveq #3,d0
jmp (Load_PLC_2).l
; ---------------------------------------------------------------------------
@@ -21669,8 +21525,8 @@ loc_132F0:
tst.b (Time_over_flag).w
beq.s locret_1331E
move.w #0,$3E(a0)
- move.l #loc_2C9AC,(Reserved_object_3).w
- move.l #loc_2C9AC,(Dynamic_object_RAM).w
+ move.l #Obj_GameOver,(Reserved_object_3).w
+ move.l #Obj_GameOver,(Dynamic_object_RAM).w
move.b #2,(Reserved_object_3+mapping_frame).w
move.b #3,(Dynamic_object_RAM+mapping_frame).w
move.w a0,(Reserved_object_3+objoff_3E).w
@@ -22655,7 +22511,7 @@ loc_1400A:
move.w (Ctrl_2).w,(Ctrl_2_logical).w
loc_14016:
- bsr.w sub_14626
+ bsr.w Tails_Display
btst #0,$2E(a0)
bne.s loc_14034
moveq #0,d0
@@ -22800,8 +22656,8 @@ loc_1418E:
addq.b #8,d0
andi.b #$F,d0
bne.s locret_141A8
- moveq #sfx_FlyTired,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlyTired),d0
+ jsr (Play_SFX).l
locret_141A8:
rts
@@ -22812,8 +22668,8 @@ loc_141AA:
addq.b #8,d0
andi.b #$F,d0
bne.s locret_141BE
- moveq #sfx_Flying,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Flying),d0
+ jsr (Play_SFX).l
locret_141BE:
rts
@@ -22886,7 +22742,7 @@ loc_14242:
move.b #2,$20(a0)
addq.w #4,$14(a0)
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
tst.w $1C(a0)
bne.s locret_14274
move.w #$200,$1C(a0)
@@ -22909,7 +22765,7 @@ sub_14276:
beq.w locret_142C4
move.b #9,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addq.l #4,sp
move.b #1,$3D(a0)
move.w #0,$3E(a0)
@@ -22959,7 +22815,7 @@ loc_1432C:
bset #2,$2A(a0)
move.b #0,$20(a6)
move.w #$FF00|sfx_Dash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
bra.s loc_1439E
; ---------------------------------------------------------------------------
word_14344: dc.w $800
@@ -22988,7 +22844,7 @@ loc_1436E:
beq.w loc_1439E
move.w #$900,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addi.w #$200,$3E(a0)
cmpi.w #$800,$3E(a0)
bcs.s loc_1439E
@@ -23016,9 +22872,9 @@ Obj_Tails:
lea (Distance_from_top_P2).w,a5
lea (Dust_P2).w,a6
cmpi.w #2,(Player_mode).w
- bne.s loc_14404
+ bne.s Tails_Normal
tst.w (Debug_placement_mode).w
- beq.s loc_14404
+ beq.s Tails_Normal
cmpi.b #1,(Debug_placement_type).w
beq.s loc_143FE
btst #4,(Ctrl_1_pressed).w
@@ -23040,22 +22896,22 @@ loc_143FE:
jmp (DebugMode).l
; ---------------------------------------------------------------------------
-loc_14404:
+Tails_Normal:
moveq #0,d0
move.b 5(a0),d0
- move.w off_14412(pc,d0.w),d1
- jmp off_14412(pc,d1.w)
+ move.w Tails_Index(pc,d0.w),d1
+ jmp Tails_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-off_14412: dc.w loc_14420-off_14412
- dc.w loc_14514-off_14412
- dc.w loc_1620A-off_14412
- dc.w loc_162C4-off_14412
- dc.w loc_162F4-off_14412
- dc.w loc_16308-off_14412
- dc.w loc_16324-off_14412
+Tails_Index: dc.w Tails_Init-Tails_Index
+ dc.w Tails_Control-Tails_Index
+ dc.w loc_1620A-Tails_Index
+ dc.w loc_162C4-Tails_Index
+ dc.w loc_162F4-Tails_Index
+ dc.w loc_16308-Tails_Index
+ dc.w loc_16324-Tails_Index
; ---------------------------------------------------------------------------
-loc_14420:
+Tails_Init:
addq.b #2,5(a0)
move.b #$F,$1E(a0)
move.b #9,$1F(a0)
@@ -23073,27 +22929,27 @@ loc_14420:
cmpi.w #2,(Player_mode).w
bne.s loc_144B4
tst.b (Last_star_post_hit).w
- bne.s loc_144CC
+ bne.s Tails_Init_Continued
move.w #ArtTile_Player_2,$A(a0)
move.b #$C,$46(a0)
move.b #$D,$47(a0)
cmpi.b #2,(Special_bonus_entry_flag).w
- beq.s loc_144CC
+ beq.s Tails_Init_Continued
move.w $10(a0),(Saved_X_pos).w
move.w $14(a0),(Saved_Y_pos).w
move.w $A(a0),(Saved_art_tile).w
move.w $46(a0),(Saved_solid_bits).w
- bra.s loc_144CC
+ bra.s Tails_Init_Continued
; ---------------------------------------------------------------------------
loc_144B4:
move.w #ArtTile_Player_2,$A(a0)
move.w (Player_1+top_solid_bit).w,$46(a0)
tst.w (Player_1+art_tile).w
- bpl.s loc_144CC
+ bpl.s Tails_Init_Continued
ori.w #$8000,$A(a0)
-loc_144CC:
+Tails_Init_Continued:
move.b #0,$30(a0)
move.b #4,$31(a0)
move.b #$1E,$2C(a0)
@@ -23112,7 +22968,7 @@ loc_144F4:
rts
; ---------------------------------------------------------------------------
-loc_14514:
+Tails_Control:
cmpi.w #2,(Player_mode).w
bne.s loc_14544
tst.w (Debug_mode_flag).w
@@ -23170,8 +23026,8 @@ loc_145AA:
moveq #0,d0
move.b $2A(a0),d0
andi.w #6,d0
- move.w off_1461E(pc,d0.w),d1
- jsr off_1461E(pc,d1.w)
+ move.w Tails_Modes(pc,d0.w),d1
+ jsr Tails_Modes(pc,d1.w)
movem.l (sp)+,a4-a6
loc_145C4:
@@ -23181,9 +23037,9 @@ loc_145C4:
and.w d0,$14(a0)
loc_145D4:
- bsr.s sub_14626
+ bsr.s Tails_Display
bsr.w Sonic_RecordPos
- bsr.w sub_15284
+ bsr.w Tails_Water
move.b (Primary_Angle).w,$3A(a0)
move.b (Secondary_Angle).w,$3B(a0)
tst.b (WindTunnel_flag_P2).w
@@ -23207,15 +23063,15 @@ loc_1460C:
locret_1461C:
rts
; ---------------------------------------------------------------------------
-off_1461E: dc.w Tails_Stand_Path-off_1461E
- dc.w Tails_Stand_Freespace-off_1461E
- dc.w Tails_Spin_Path-off_1461E
- dc.w Tails_Spin_Freespace-off_1461E
+Tails_Modes: dc.w Tails_Stand_Path-Tails_Modes
+ dc.w Tails_Stand_Freespace-Tails_Modes
+ dc.w Tails_Spin_Path-Tails_Modes
+ dc.w Tails_Spin_Freespace-Tails_Modes
; =============== S U B R O U T I N E =======================================
-sub_14626:
+Tails_Display:
move.b $34(a0),d0
beq.s loc_14634
subq.b #1,$34(a0)
@@ -23239,8 +23095,8 @@ loc_1463A:
bne.s loc_14670
cmpi.b #$C,$2C(a0)
bcs.s loc_14670
- move.w (Level_music).w,d0
- jsr (Play_Sound).l
+ move.w (Current_music).w,d0
+ jsr (Play_Music).l
loc_14670:
bclr #1,$2B(a0)
@@ -23280,7 +23136,7 @@ loc_146BA:
move.w (a1)+,4(a4)
bclr #2,$2B(a0)
rts
-; End of function sub_14626
+; End of function Tails_Display
; =============== S U B R O U T I N E =======================================
@@ -23406,7 +23262,7 @@ loc_14804:
move.b d0,$2F(a0)
move.b #2,$2A(a0)
move.b #$1E,$2C(a0)
- move.b #-$7F,$2E(a0)
+ move.b #$81,$2E(a0)
move.b d0,$30(a0)
move.b d0,$31(a0)
move.w d0,$32(a0)
@@ -23422,7 +23278,7 @@ loc_14804:
move.w d0,$3E(a0)
move.b d0,$40(a0)
move.b d0,$41(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
bsr.w Tails_Set_Flying_Animation
locret_148A0:
@@ -23441,13 +23297,13 @@ Tails_FlySwim_Unknown:
move.b #2,$2A(a0)
move.w #0,$10(a0)
move.w #0,$14(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
bsr.w Tails_Set_Flying_Animation
rts
; ---------------------------------------------------------------------------
loc_148E4:
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
ori.b #2,$2A(a0)
bsr.w Tails_Set_Flying_Animation
move.w #0,(Tails_CPU_flight_timer).w
@@ -23553,7 +23409,7 @@ loc_149E8:
move.w #4,(Tails_CPU_routine).w
move.b #0,$3D(a0)
move.w #0,$3E(a0)
- move.b #-$7F,$2E(a0)
+ move.b #$81,$2E(a0)
move.b #2,$2A(a0)
move.b #$20,$20(a0)
rts
@@ -23605,7 +23461,7 @@ loc_14A90:
neg.w d2
cmpi.w #$30,d2
bcs.s loc_14AA8
- andi.w #-$C0D,d1
+ andi.w #$F3F3,d1
ori.w #$404,d1
loc_14AA8:
@@ -23620,7 +23476,7 @@ loc_14AA8:
loc_14ABC:
cmpi.w #$30,d2
bcs.s loc_14ACA
- andi.w #-$C0D,d1
+ andi.w #$F3F3,d1
ori.w #$808,d1
loc_14ACA:
@@ -23640,12 +23496,12 @@ loc_14ADE:
bset #0,$2A(a0)
loc_14AF2:
- tst.b (_unkF70F).w
+ tst.b (Tails_CPU_auto_jump_flag).w
beq.s loc_14B0A
ori.w #$7000,d1
btst #1,$2A(a0)
bne.s loc_14B46
- move.b #0,(_unkF70F).w
+ move.b #0,(Tails_CPU_auto_jump_flag).w
loc_14B0A:
move.w (Level_frame_counter).w,d0
@@ -23669,7 +23525,7 @@ loc_14B2A:
cmpi.b #8,$20(a0)
beq.s loc_14B46
ori.w #$7070,d1
- move.b #1,(_unkF70F).w
+ move.b #1,(Tails_CPU_auto_jump_flag).w
loc_14B46:
move.w d1,(Ctrl_2_logical).w
@@ -23788,7 +23644,7 @@ locret_14C46:
loc_14C48:
move.b #1,$2F(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.b #2,$2A(a0)
move.w #$100,$18(a0)
move.w #0,$1A(a0)
@@ -23822,7 +23678,7 @@ loc_14C9C:
andi.w #$7FFF,$A(a0)
tst.b $A(a1)
bpl.s loc_14CEE
- ori.w #-$8000,$A(a0)
+ ori.w #$8000,$A(a0)
loc_14CEE:
move.b $46(a1),$46(a0)
@@ -23838,7 +23694,7 @@ loc_14D08:
loc_14D10:
move.w #0,(Tails_CPU_idle_timer).w
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.w #0,(Ctrl_2_logical).w
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
@@ -23863,7 +23719,7 @@ loc_14D4C:
loc_14D54:
move.b #1,$2F(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.b #2,$2A(a0)
move.w #0,$18(a0)
move.w #0,$1A(a0)
@@ -23875,7 +23731,7 @@ loc_14D54:
loc_14D8C:
move.w #0,(Tails_CPU_idle_timer).w
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.w #0,(Ctrl_2_logical).w
move.b (Level_frame_counter+1).w,d0
andi.b #7,d0
@@ -23897,7 +23753,7 @@ loc_14DC2:
; ---------------------------------------------------------------------------
loc_14DD2:
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
tst.w (Tails_CPU_idle_timer).w
beq.s loc_14DEA
tst.b (Flying_carrying_Sonic_flag).w
@@ -23912,10 +23768,10 @@ loc_14DEA:
clr.b (_unkFAAC).w
btst #1,(Ctrl_1_held).w
beq.s loc_14E1E
- addq.b #1,(_unkF70E).w
- cmpi.b #-$40,(_unkF70E).w
+ addq.b #1,(Tails_CPU_auto_fly_timer).w
+ cmpi.b #$C0,(Tails_CPU_auto_fly_timer).w
bcs.s loc_14E58
- move.b #0,(_unkF70E).w
+ move.b #0,(Tails_CPU_auto_fly_timer).w
ori.w #$7070,(Ctrl_2_logical).w
bra.s loc_14E58
; ---------------------------------------------------------------------------
@@ -23923,19 +23779,19 @@ loc_14DEA:
loc_14E1E:
btst #0,(Ctrl_1_held).w
beq.s loc_14E40
- addq.b #1,(_unkF70E).w
- cmpi.b #$20,(_unkF70E).w
+ addq.b #1,(Tails_CPU_auto_fly_timer).w
+ cmpi.b #$20,(Tails_CPU_auto_fly_timer).w
bcs.s loc_14E58
- move.b #0,(_unkF70E).w
+ move.b #0,(Tails_CPU_auto_fly_timer).w
ori.w #$7070,(Ctrl_2_logical).w
bra.s loc_14E58
; ---------------------------------------------------------------------------
loc_14E40:
- addq.b #1,(_unkF70E).w
- cmpi.b #$58,(_unkF70E).w
+ addq.b #1,(Tails_CPU_auto_fly_timer).w
+ cmpi.b #$58,(Tails_CPU_auto_fly_timer).w
bcs.s loc_14E58
- move.b #0,(_unkF70E).w
+ move.b #0,(Tails_CPU_auto_fly_timer).w
ori.w #$7070,(Ctrl_2_logical).w
loc_14E58:
@@ -23953,7 +23809,7 @@ loc_14E68:
loc_14E78:
move.b #1,$2F(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.b #2,$2A(a0)
move.w #0,$18(a0)
move.w #0,$1A(a0)
@@ -23962,7 +23818,7 @@ loc_14E78:
loc_14EA2:
move.w #0,(Tails_CPU_idle_timer).w
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.w #0,(Ctrl_2_logical).w
move.b (Level_frame_counter+1).w,d0
andi.b #7,d0
@@ -23981,13 +23837,13 @@ locret_14ED8:
; ---------------------------------------------------------------------------
loc_14EDA:
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
rts
; ---------------------------------------------------------------------------
loc_14EE2:
move.b #1,$2F(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.b #2,$2A(a0)
move.w #$100,$18(a0)
move.w #0,$1A(a0)
@@ -24033,10 +23889,10 @@ loc_14F68:
move.w #0,(Ctrl_2_logical).w
cmpi.w #$200,$1A(a0)
bge.s loc_14FAE
- addq.b #1,(_unkF70E).w
- cmpi.b #$58,(_unkF70E).w
+ addq.b #1,(Tails_CPU_auto_fly_timer).w
+ cmpi.b #$58,(Tails_CPU_auto_fly_timer).w
bcs.s loc_14FB4
- move.b #0,(_unkF70E).w
+ move.b #0,(Tails_CPU_auto_fly_timer).w
loc_14FAE:
ori.w #$7070,(Ctrl_2_logical).w
@@ -24057,7 +23913,7 @@ loc_14FC6:
move.w d1,d2
lsr.w #1,d2
add.w d2,d1
- move.w d1,(Target_camera_min_X_pos).w
+ move.w d1,(Camera_stored_min_X_pos).w
move.w $10(a1),d1
sub.w $10(a0),d1
bpl.s loc_14FDE
@@ -24065,7 +23921,7 @@ loc_14FC6:
loc_14FDE:
lsr.w #2,d1
- move.w d1,(Target_camera_max_X_pos).w
+ move.w d1,(Camera_stored_max_X_pos).w
bra.w loc_15030
; ---------------------------------------------------------------------------
@@ -24075,7 +23931,7 @@ loc_14FE8:
move.w $10(a0),d0
move.w $14(a0),d1
subi.w #$10,d1
- move.w (Target_camera_max_X_pos).w,d2
+ move.w (Camera_stored_max_X_pos).w,d2
bclr #0,$2A(a0)
cmp.w $10(a1),d0
bcs.s loc_15016
@@ -24086,7 +23942,7 @@ loc_15016:
add.w d2,$18(a0)
cmp.w $14(a1),d1
bcc.s loc_15030
- move.w (Target_camera_min_X_pos).w,d2
+ move.w (Camera_stored_min_X_pos).w,d2
cmp.w $14(a1),d1
bcs.s loc_1502C
neg.w d2
@@ -24180,11 +24036,11 @@ loc_150FA:
moveq #0,d1
move.b $23(a1),d1
addq.b #1,$23(a1)
- move.b byte_15190(pc,d1.w),d0
+ move.b AniRaw_Tails_Carry(pc,d1.w),d0
cmpi.b #-1,d0
bne.s loc_15152
move.b #0,$23(a1)
- move.b byte_15190(pc),d0
+ move.b AniRaw_Tails_Carry(pc),d0
loc_15152:
move.b d0,$22(a1)
@@ -24205,24 +24061,9 @@ loc_15166:
movem.l (sp)+,d0-a6
rts
; ---------------------------------------------------------------------------
-byte_15190: dc.b $91
- dc.b $91
- dc.b $90
- dc.b $90
- dc.b $90
- dc.b $90
- dc.b $90
- dc.b $90
- dc.b $92
- dc.b $92
- dc.b $92
- dc.b $92
- dc.b $92
- dc.b $92
- dc.b $91
- dc.b $91
- dc.b $FF
- dc.b 0
+AniRaw_Tails_Carry:
+ dc.b $91, $91, $90, $90, $90, $90, $90, $90, $92, $92, $92, $92, $92, $92, $91, $91, $FF
+ even
; ---------------------------------------------------------------------------
loc_151A2:
@@ -24251,8 +24092,8 @@ loc_151B0:
tst.b $3D(a1)
bne.s locret_15200
bsr.s sub_15202
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
move.b #1,(a2)
locret_15200:
@@ -24295,7 +24136,7 @@ sub_15202:
; =============== S U B R O U T I N E =======================================
-sub_15284:
+Tails_Water:
tst.b (Water_flag).w
bne.s loc_1528C
@@ -24312,7 +24153,7 @@ loc_1528C:
addq.b #1,(Water_entered_counter).w
movea.l a0,a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Air_CountDown,(Breathing_bubbles_P2).w
+ move.l #Obj_AirCountdown,(Breathing_bubbles_P2).w
move.b #$81,(Breathing_bubbles_P2+subtype).w
move.l a0,(Breathing_bubbles_P2+$40).w
move.w #$300,(a4)
@@ -24330,7 +24171,7 @@ loc_152D8:
beq.s locret_1528A
move.w #$100,$20(a6)
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_152F6:
@@ -24367,8 +24208,8 @@ loc_1533C:
loc_15362:
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
-; End of function sub_15284
+ jmp (Play_SFX).l
+; End of function Tails_Water
; ---------------------------------------------------------------------------
@@ -24529,8 +24370,8 @@ loc_154E4:
addq.b #8,d0
andi.b #$F,d0
bne.s locret_1550A
- moveq #sfx_FlyTired,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlyTired),d0
+ jsr (Play_SFX).l
locret_1550A:
rts
@@ -24544,8 +24385,8 @@ loc_1550C:
addq.b #8,d0
andi.b #$F,d0
bne.s locret_1552A
- moveq #sfx_Flying,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Flying),d0
+ jsr (Play_SFX).l
locret_1552A:
rts
@@ -24885,7 +24726,7 @@ loc_15828:
tst.b $2D(a0)
bmi.s locret_15870
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bclr #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -24940,7 +24781,7 @@ loc_158AE:
tst.b $2D(a0)
bmi.s locret_158F6
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bset #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -25257,7 +25098,7 @@ loc_15B44:
move.b #2,$20(a0)
addq.w #1,$14(a0)
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
tst.w $1C(a0)
bne.s locret_15B76
move.w #$200,$1C(a0)
@@ -25304,7 +25145,7 @@ loc_15BB2:
move.b #1,$40(a0)
clr.b $3C(a0)
move.w #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b $44(a0),$1E(a0)
move.b $45(a0),$1F(a0)
btst #2,$2A(a0)
@@ -25408,7 +25249,7 @@ Tails_Spindash:
beq.w locret_15D4E
move.b #9,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addq.l #4,sp
move.b #1,$3D(a0)
move.w #0,$3E(a0)
@@ -25455,7 +25296,7 @@ loc_15D50:
neg.w d0
addi.w #$2000,d0
lea (H_scroll_frame_offset).w,a1
- cmpa.w #-$5000,a0
+ cmpa.w #Player_1,a0
beq.s loc_15DA8
lea (H_scroll_frame_offset_P2).w,a1
@@ -25469,7 +25310,7 @@ loc_15DB6:
bset #2,$2A(a0)
move.b #0,$20(a6)
move.w #$FF00|sfx_Dash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
bra.s loc_15E28
; ---------------------------------------------------------------------------
word_15DCE: dc.w $800
@@ -25498,7 +25339,7 @@ loc_15DF8:
beq.w loc_15E28
move.w #$900,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addi.w #$200,$3E(a0)
cmpi.w #$800,$3E(a0)
bcs.s loc_15E28
@@ -26100,11 +25941,6 @@ loc_16362:
Animate_Tails:
lea (AniTails).l,a1
-; End of function Animate_Tails
-
-
-; =============== S U B R O U T I N E =======================================
-
Animate_Tails_Part2:
moveq #0,d0
@@ -26128,7 +25964,7 @@ loc_16392:
subq.b #1,$24(a0)
bpl.s locret_163D0
move.b d0,$24(a0)
-; End of function Animate_Tails_Part2
+; End of function Animate_Tails
; =============== S U B R O U T I N E =======================================
@@ -26777,7 +26613,7 @@ Obj_Tails_Tail_Main:
andi.w #$7FFF,$A(a0)
tst.w $A(a2)
bpl.s loc_16BE2
- ori.w #-$8000,$A(a0)
+ ori.w #$8000,$A(a0)
loc_16BE2:
moveq #0,d0
@@ -26889,8 +26725,31 @@ loc_16D44:
bsr.w Tails2P_Tail_Load_PLC
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-byte_16D58: dc.b 0, 0, 3, 3, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0
- dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+byte_16D58: dc.b 0,0
+ dc.b 3
+ dc.b 3
+ dc.b 0
+ dc.b 1
+ dc.b 1
+ dc.b 1
+ dc.b 1
+ dc.b 0
+ dc.b 1,1,1
+ dc.b 0
+ dc.b 0,0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0,0,0
+ dc.b 0
+ dc.b 0,0
+ dc.b 0
+ dc.b 0,0
+ dc.b 0
+ dc.b 0,0
AniTails2P_Tail:include "General/Sprites/Tails/Anim - Tails 2P Tail.asm"
; ---------------------------------------------------------------------------
@@ -27000,13 +26859,14 @@ locret_16EFA:
rts
; ---------------------------------------------------------------------------
-Obj_Air_CountDown:
+Obj_AirCountdown:
moveq #0,d0
move.b 5(a0),d0
move.w AirCountdown_Index(pc,d0.w),d1
jmp AirCountdown_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-AirCountdown_Index:dc.w AirCountdown_Init-AirCountdown_Index
+AirCountdown_Index:
+ dc.w AirCountdown_Init-AirCountdown_Index
dc.w AirCountdown_Animate-AirCountdown_Index
dc.w AirCountdown_ChkWater-AirCountdown_Index
dc.w AirCountdown_Display-AirCountdown_Index
@@ -27043,7 +26903,7 @@ loc_16F64:
move.w #-$100,$1A(a0)
AirCountdown_Animate:
- lea (Ani_Shields).l,a1
+ lea (Ani_AirCountdown).l,a1
jsr (Animate_Sprite).l
AirCountdown_ChkWater:
@@ -27086,7 +26946,7 @@ loc_16FE6:
AirCountdown_Display:
bsr.s AirCountdown_ShowNumber
- lea (Ani_Shields).l,a1
+ lea (Ani_AirCountdown).l,a1
jsr (Animate_Sprite).l
bsr.w AirCountdown_Load_Art
jmp (Draw_Sprite).l
@@ -27108,7 +26968,7 @@ AirCountdown_AirLeft:
; ---------------------------------------------------------------------------
AirCountdown_Display2:
- lea (Ani_Shields).l,a1
+ lea (Ani_AirCountdown).l,a1
jsr (Animate_Sprite).l
bsr.w AirCountdown_Load_Art
tst.b 4(a0)
@@ -27125,7 +26985,7 @@ AirCountdown_DisplayNumber:
cmpi.b #$C,$2C(a2)
bhi.s AirCountdown_Delete
bsr.s AirCountdown_ShowNumber
- lea (Ani_Shields).l,a1
+ lea (Ani_AirCountdown).l,a1
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
@@ -27193,7 +27053,7 @@ AirCountdown_Load_Art:
add.w d1,d1
add.w d0,d1
lsl.w #6,d1
- addi.l #ArtUnc_AirCountDown,d1
+ addi.l #ArtUnc_AirCountdown,d1
move.w #tiles_to_bytes(ArtTile_DashDust),d2
tst.b $43(a0)
beq.s loc_171F2
@@ -27239,8 +27099,8 @@ AirCountdown_Countdown:
bne.s loc_17278
tst.b $43(a0)
bne.s loc_17278
- moveq #mus_Drowning,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Drowning),d0
+ jsr (Play_Music).l
loc_17278:
subq.b #1,$36(a0)
@@ -27253,15 +27113,15 @@ loc_17278:
AirCountdown_WarnSound:
tst.b $43(a0)
bne.s AirCountdown_ReduceAir
- moveq #sfx_AirDing,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_AirDing),d0
+ jsr (Play_SFX).l
AirCountdown_ReduceAir:
subq.b #1,$2C(a2)
bcc.w loc_17322
move.b #-$7F,$2E(a2)
move.w #sfx_Drown,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$A,$38(a0)
move.w #1,$3A(a0)
move.w #$78,$30(a0)
@@ -27384,7 +27244,7 @@ Player_ResetAirTimer:
bhi.s loc_1744C
cmpa.w #Player_1,a1
bne.s loc_1744C
- move.w (Level_music).w,d0
+ move.w (Current_music).w,d0
btst #1,$2B(a1)
beq.s loc_17430
move.w #mus_Invincibility,d0
@@ -27400,7 +27260,7 @@ loc_1743C:
move.w #mus_MinibossK,d0
loc_17446:
- jsr (Play_Sound).l
+ jsr (Play_Music).l
loc_1744C:
move.b #$1E,$2C(a1)
@@ -27408,43 +27268,45 @@ loc_1744C:
; End of function Player_ResetAirTimer
; ---------------------------------------------------------------------------
-Ani_Shields: include "General/Sprites/Shields/Anim - Shields.asm"
+Ani_AirCountdown:
+ include "General/Sprites/Dash Dust/Anim - Air Countdown.asm"
; ---------------------------------------------------------------------------
-Obj_Shield_S2:
+Obj_S2Shield:
moveq #0,d0
move.b 5(a0),d0
- move.w Obj_Shield_S2_Index(pc,d0.w),d1
- jmp Obj_Shield_S2_Index(pc,d1.w)
+ move.w Obj_S2Shield_Index(pc,d0.w),d1
+ jmp Obj_S2Shield_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-Obj_Shield_S2_Index:dc.w Obj_Shield_S2_Init-Obj_Shield_S2_Index
- dc.w Obj_Shield_S2_Main-Obj_Shield_S2_Index
+Obj_S2Shield_Index:
+ dc.w Obj_S2Shield_Init-Obj_S2Shield_Index
+ dc.w Obj_S2Shield_Main-Obj_S2Shield_Index
; ---------------------------------------------------------------------------
-Obj_Shield_S2_Init:
+Obj_S2Shield_Init:
addq.b #2,5(a0)
- move.l #Map_Shield_S2,$C(a0)
+ move.l #Map_S2Shield,$C(a0)
move.b #4,4(a0)
move.w #$80,8(a0)
move.b #$18,7(a0)
move.w #ArtTile_Shield,$A(a0)
-Obj_Shield_S2_Main:
+Obj_S2Shield_Main:
movea.w $42(a0),a2
btst #1,$2B(a2)
bne.s locret_17566
btst #0,$2B(a2)
- beq.s Obj_Shield_S2_Destroy
+ beq.s Obj_S2Shield_Destroy
move.w $10(a2),$10(a0)
move.w $14(a2),$14(a0)
move.b $2A(a2),$2A(a0)
andi.w #$7FFF,$A(a0)
tst.w $A(a2)
- bpl.s Obj_Shield_S2_Display
+ bpl.s Obj_S2Shield_Display
ori.w #$8000,$A(a0)
-Obj_Shield_S2_Display:
- lea (Ani_Shield_S2).l,a1
+Obj_S2Shield_Display:
+ lea (Ani_S2Shield).l,a1
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -27453,7 +27315,7 @@ locret_17566:
rts
; ---------------------------------------------------------------------------
-Obj_Shield_S2_Destroy:
+Obj_S2Shield_Destroy:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
off_1756E: dc.l byte_1776D
@@ -27619,8 +27481,10 @@ byte_17782: dc.b 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, $F
dc.b 7, 6, 5, 4, 3
byte_1779B: dc.b 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, $FF, 1, 2, 3, 4, 5, 6, 7
dc.b 6, 5, 4, 3, 2
-Ani_Shield_S2: include "General/Sprites/Shields/Anim - Shield S2.asm"
-Map_Shield_S2: include "General/Sprites/Shields/Map - Shield S2.asm"
+Ani_S2Shield:
+ include "General/Sprites/Shields/Anim - S2 Shield.asm"
+Map_S2Shield:
+ include "General/Sprites/Shields/Map - S2 Shield.asm"
Map_Invincibility:
include "General/Sprites/Shields/Map - Invincibility.asm"
; ---------------------------------------------------------------------------
@@ -27716,7 +27580,7 @@ loc_179DC:
andi.w #$7FFF,$A(a0)
tst.w $A(a2)
bpl.s loc_179FE
- ori.w #-$8000,$A(a0)
+ ori.w #$8000,$A(a0)
bra.s loc_179FE
; ---------------------------------------------------------------------------
@@ -28096,7 +27960,7 @@ Map_SuperSonic_Stars:
include "General/Sprites/Shields/Map - Super Sonic Stars.asm"
; ---------------------------------------------------------------------------
-Obj_Insta_Shield:
+Obj_InstaShield:
move.l #Map_InstaShield,$C(a0)
move.l #DPLC_InstaShield,$3C(a0)
move.l #ArtUnc_InstaShield,$38(a0)
@@ -28113,9 +27977,9 @@ Obj_Insta_Shield:
loc_180DE:
move.w #1,$20(a0)
move.b #-1,$34(a0)
- move.l #Obj_Insta_Shield_Main,(a0)
+ move.l #Obj_InstaShield_Main,(a0)
-Obj_Insta_Shield_Main:
+Obj_InstaShield_Main:
movea.w $42(a0),a2
btst #1,$2B(a2)
bne.s locret_18158
@@ -28152,7 +28016,7 @@ locret_18158:
rts
; ---------------------------------------------------------------------------
-Obj_Fire_Shield:
+Obj_FireShield:
move.l #Map_FireShield,$C(a0)
move.l #DPLC_FireShield,$3C(a0)
move.l #ArtUnc_FireShield,$38(a0)
@@ -28169,18 +28033,18 @@ Obj_Fire_Shield:
loc_181A4:
move.w #1,$20(a0)
move.b #-1,$34(a0)
- move.l #Obj_Fire_Shield_Main,(a0)
+ move.l #Obj_FireShield_Main,(a0)
-Obj_Fire_Shield_Main:
+Obj_FireShield_Main:
movea.w $42(a0),a2
btst #1,$2B(a2)
bne.s locret_18236
cmpi.b #$1C,$20(a2)
beq.s locret_18236
btst #0,$2B(a2)
- beq.w Obj_Fire_Shield_Destroy
+ beq.w Obj_FireShield_Destroy
btst #6,$2A(a2)
- bne.s Obj_Fire_Shield_DestroyUnderwater
+ bne.s Obj_FireShield_DestroyUnderwater
move.w $10(a2),$10(a0)
move.w $14(a2),$14(a0)
tst.b $20(a0)
@@ -28190,7 +28054,7 @@ Obj_Fire_Shield_Main:
andi.w #$7FFF,$A(a0)
tst.w $A(a2)
bpl.s loc_1820C
- ori.w #-$8000,$A(a0)
+ ori.w #$8000,$A(a0)
loc_1820C:
lea (Ani_FireShield).l,a1
@@ -28209,24 +28073,24 @@ locret_18236:
rts
; ---------------------------------------------------------------------------
-Obj_Fire_Shield_DestroyUnderwater:
+Obj_FireShield_DestroyUnderwater:
andi.b #-$72,$2B(a2)
jsr (Create_New_Sprite).l
- bne.w Obj_Fire_Shield_Destroy
+ bne.w Obj_FireShield_Destroy
move.l #Obj_FireShield_Dissipate,(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
-Obj_Fire_Shield_Destroy:
+Obj_FireShield_Destroy:
andi.b #$8E,$2B(a2)
- move.l #Obj_Insta_Shield,(a0)
+ move.l #Obj_InstaShield,(a0)
rts
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield:
- move.l #ArtUnc_Obj_Lightning_Shield_Sparks,d1
+Obj_LightningShield:
+ move.l #ArtUnc_LightningShield_Sparks,d1
move.w #tiles_to_bytes(ArtTile_Shield_Sparks),d2
- move.w #$50,d3
+ move.w #(ArtUnc_LightningShield_Sparks_end-ArtUnc_LightningShield_Sparks)/2,d3
jsr (Add_To_DMA_Queue).l
move.l #Map_LightningShield,$C(a0)
move.l #DPLC_LightningShield,$3C(a0)
@@ -28244,18 +28108,18 @@ Obj_Lightning_Shield:
loc_182C6:
move.w #1,$20(a0)
move.b #-1,$34(a0)
- move.l #Obj_Lightning_Shield_Main,(a0)
+ move.l #Obj_LightningShield_Main,(a0)
-Obj_Lightning_Shield_Main:
+Obj_LightningShield_Main:
movea.w $42(a0),a2
btst #1,$2B(a2)
bne.s locret_1835E
cmpi.b #$1C,$20(a2)
beq.s locret_1835E
btst #0,$2B(a2)
- beq.w Obj_Lightning_Shield_Destroy
+ beq.w Obj_LightningShield_Destroy
btst #6,$2A(a2)
- bne.s Obj_Lightning_Shield_DestroyUnderwater
+ bne.s Obj_LightningShield_DestroyUnderwater
move.w $10(a2),$10(a0)
move.w $14(a2),$14(a0)
move.b $2A(a2),$2A(a0)
@@ -28263,15 +28127,15 @@ Obj_Lightning_Shield_Main:
andi.w #$7FFF,$A(a0)
tst.w $A(a2)
bpl.s loc_18328
- ori.w #-$8000,$A(a0)
+ ori.w #$8000,$A(a0)
loc_18328:
tst.b $20(a0)
- beq.s Obj_Lightning_Shield_Display
- bsr.s Obj_Lightning_Shield_Create_Spark
+ beq.s Obj_LightningShield_Display
+ bsr.s Obj_LightningShield_CreateSpark
clr.b $20(a0)
-Obj_Lightning_Shield_Display:
+Obj_LightningShield_Display:
lea (Ani_LightningShield).l,a1
jsr (Animate_Sprite).l
move.w #$80,8(a0)
@@ -28288,9 +28152,9 @@ locret_1835E:
rts
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_DestroyUnderwater:
+Obj_LightningShield_DestroyUnderwater:
tst.w (Palette_fade_timer).w
- bne.s Obj_Lightning_Shield_Destroy
+ bne.s Obj_LightningShield_Destroy
andi.b #$8E,$2B(a2)
lea (Water_palette).w,a1
lea (Target_water_palette).w,a2
@@ -28302,26 +28166,26 @@ loc_18378:
dbf d0,loc_18378
move.w #0,(Water_palette_line_3).w
move.b #3,$24(a0)
- move.l #Obj_Lightning_Shield_DestroyUnderwater2,(a0)
+ move.l #Obj_LightningShield_DestroyUnderwater2,(a0)
rts
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_Destroy:
- andi.b #-$72,$2B(a2)
- move.l #Obj_Insta_Shield,(a0)
+Obj_LightningShield_Destroy:
+ andi.b #$8E,$2B(a2)
+ move.l #Obj_InstaShield,(a0)
rts
; =============== S U B R O U T I N E =======================================
-Obj_Lightning_Shield_Create_Spark:
+Obj_LightningShield_CreateSpark:
lea (SparkVelocities).l,a2
moveq #3,d1
loc_183AE:
bsr.w Create_New_Sprite
bne.s locret_183FC
- move.l #Obj_Lightning_Shield_Spark,(a1)
+ move.l #Obj_LightningShield_Spark,(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.l $C(a0),$C(a1)
@@ -28337,7 +28201,7 @@ loc_183AE:
locret_183FC:
rts
-; End of function Obj_Lightning_Shield_Create_Spark
+; End of function Obj_LightningShield_CreateSpark
; ---------------------------------------------------------------------------
SparkVelocities:dc.w -$200, -$200
@@ -28346,21 +28210,21 @@ SparkVelocities:dc.w -$200, -$200
dc.w $200, $200
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_Spark:
+Obj_LightningShield_Spark:
jsr (MoveSprite2).l
addi.w #$18,$1A(a0)
lea (Ani_LightningShield).l,a1
jsr (Animate_Sprite).l
tst.b 5(a0)
- bne.s Obj_Lightning_Shield_Spark_Delete
+ bne.s Obj_LightningShield_Spark_Delete
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_Spark_Delete:
+Obj_LightningShield_Spark_Delete:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_DestroyUnderwater2:
+Obj_LightningShield_DestroyUnderwater2:
subq.b #1,$24(a0)
bpl.s locret_18456
lea (Target_water_palette).w,a1
@@ -28370,13 +28234,13 @@ Obj_Lightning_Shield_DestroyUnderwater2:
loc_1844A:
move.l (a1)+,(a2)+
dbf d0,loc_1844A
- move.l #Obj_Insta_Shield,(a0)
+ move.l #Obj_InstaShield,(a0)
locret_18456:
rts
; ---------------------------------------------------------------------------
-Obj_Bubble_Shield:
+Obj_BubbleShield:
move.l #Map_BubbleShield,$C(a0)
move.l #DPLC_BubbleShield,$3C(a0)
move.l #ArtUnc_BubbleShield,$38(a0)
@@ -28395,16 +28259,16 @@ loc_184A2:
move.b #-1,$34(a0)
movea.w $42(a0),a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Bubble_Shield_Main,(a0)
+ move.l #Obj_BubbleShield_Main,(a0)
-Obj_Bubble_Shield_Main:
+Obj_BubbleShield_Main:
movea.w $42(a0),a2
btst #1,$2B(a2)
bne.s locret_18518
cmpi.b #$1C,$20(a2)
beq.s locret_18518
btst #0,$2B(a2)
- beq.s Obj_Bubble_Shield_Destroy
+ beq.s Obj_BubbleShield_Destroy
move.w $10(a2),$10(a0)
move.w $14(a2),$14(a0)
move.b $2A(a2),$2A(a0)
@@ -28425,9 +28289,9 @@ locret_18518:
rts
; ---------------------------------------------------------------------------
-Obj_Bubble_Shield_Destroy:
+Obj_BubbleShield_Destroy:
andi.b #$8E,$2B(a2)
- move.l #Obj_Insta_Shield,(a0)
+ move.l #Obj_InstaShield,(a0)
rts
; =============== S U B R O U T I N E =======================================
@@ -28521,7 +28385,7 @@ Obj_RingInit:
Obj_RingAnimate:
move.b (Rings_frame).w,$22(a0)
- bra.w loc_19CC4
+ bra.w Sprite_CheckDeleteTouch3
; ---------------------------------------------------------------------------
Obj_RingCollect:
@@ -28549,35 +28413,33 @@ GiveRing:
GiveRing_1P:
move.w #sfx_RingRight,d0
- cmpi.w #$3E7,(Ring_count).w
- bcc.s JmpTo_Play_Sound_2
+ cmpi.w #999,(Ring_count).w
+ bcc.s JmpTo_Play_SFX
addq.w #1,(Ring_count).w
ori.b #1,(Update_HUD_ring_count).w
cmpi.w #100,(Ring_count).w
- bcs.s JmpTo_Play_Sound_2
+ bcs.s JmpTo_Play_SFX
bset #1,(Extra_life_flags).w
beq.s loc_18DB4
cmpi.w #200,(Ring_count).w
- bcs.s JmpTo_Play_Sound_2
+ bcs.s JmpTo_Play_SFX
bset #2,(Extra_life_flags).w
- bne.s JmpTo_Play_Sound_2
+ bne.s JmpTo_Play_SFX
loc_18DB4:
addq.b #1,(Life_count).w
addq.b #1,(Update_HUD_life_count).w
- moveq #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_ExtraLife),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
-JmpTo_Play_Sound_2:
- jmp (Play_Sound_2).l
-; End of function GiveRing
-
+JmpTo_Play_SFX:
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
rts
; ---------------------------------------------------------------------------
-loc_18DCC:
+GiveRing_Tails:
cmpi.w #999,(Total_ring_count_P2).w
bcc.s loc_18DD8
addq.w #1,(Total_ring_count_P2).w
@@ -28603,12 +28465,14 @@ loc_18DE4:
loc_18E14:
addq.b #1,(Life_count_P2).w
- moveq #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_ExtraLife),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_18E20:
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
+; End of function GiveRing
+
; ---------------------------------------------------------------------------
Obj_Bouncing_Ring:
@@ -28687,7 +28551,7 @@ loc_18EDE:
loc_18EEE:
move.w #$FF00|sfx_RingLoss,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.w #0,(Ring_count).w
move.b #$80,(Update_HUD_ring_count).w
move.b #0,(Extra_life_flags).w
@@ -29231,8 +29095,8 @@ Render_Sprites:
lea (Sprite_table_buffer).w,a6
tst.b (Level_started_flag).w
beq.s loc_193B8
- jsr (sub_E8C8).l
- jsr (sub_F816).l
+ jsr (Render_HUD).l
+ jsr (Render_Rings).l
loc_193B8:
tst.w (a5)
@@ -29840,7 +29704,7 @@ Render_Sprites_CompetitionMode:
loc_19872:
tst.b (Level_started_flag).w
beq.s loc_1987E
- jsr (sub_E8C0).l
+ jsr (Render_HUD_P1).l
loc_1987E:
move.b 1(a5),(a5)
@@ -29939,7 +29803,7 @@ loc_19958:
loc_19974:
tst.b (Level_started_flag).w
beq.s loc_19980
- jsr (nullsub_2).l
+ jsr (Render_HUD_P2).l
loc_19980:
tst.b 1(a5)
@@ -30289,11 +30153,11 @@ loc_19CC0:
bra.w Delete_Current_Sprite
; ---------------------------------------------------------------------------
-loc_19CC4:
+Sprite_CheckDeleteTouch3:
move.w $10(a0),d0
loc_19CC8:
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_19CE2
@@ -30383,7 +30247,7 @@ loc_19D6C:
moveq #0,d6
loc_19D84:
- andi.w #-$80,d6
+ andi.w #$FF80,d6
movea.l (Object_load_addr_front).w,a0
loc_19D8C:
@@ -30415,20 +30279,20 @@ loc_19DB6:
move.w a3,(Object_respawn_index_back).w
move.w #-1,(Camera_X_pos_coarse).w
move.w (Camera_Y_pos).w,d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
move.w d0,(Camera_Y_pos_coarse).w
loc_19DD0:
move.w (Camera_X_pos).w,d1
subi.w #$80,d1
- andi.w #-$80,d1
+ andi.w #$FF80,d1
move.w d1,(Camera_X_pos_coarse_back).w
lea (Sprite_Listing).l,a4
tst.w (Camera_min_Y_pos).w
bpl.s loc_19E1A
lea loc_1A010(pc),a6
move.w (Camera_Y_pos).w,d3
- andi.w #-$80,d3
+ andi.w #$FF80,d3
move.w d3,d4
addi.w #$200,d4
subi.w #$80,d3
@@ -30448,7 +30312,7 @@ loc_19E0A:
loc_19E1A:
move.w (Camera_Y_pos).w,d3
- andi.w #-$80,d3
+ andi.w #$FF80,d3
move.w d3,d4
addi.w #$200,d4
subi.w #$80,d3
@@ -30461,7 +30325,7 @@ loc_19E30:
loc_19E34:
move.w #$FFF,d5
move.w (Camera_X_pos).w,d6
- andi.w #-$80,d6
+ andi.w #$FF80,d6
cmp.w (Camera_X_pos_coarse).w,d6
beq.w loc_19EEA
bge.s loc_19EA2
@@ -30546,7 +30410,7 @@ loc_19EE2:
loc_19EEA:
move.w (Camera_Y_pos).w,d6
- andi.w #-$80,d6
+ andi.w #$FF80,d6
move.w d6,d3
cmp.w (Camera_Y_pos_coarse).w,d6
beq.w loc_19FCA
@@ -30880,8 +30744,8 @@ Get_LevelSizeStart:
move.w #-1,(Screen_Y_wrap_value).w
bra.w loc_1A374
; ---------------------------------------------------------------------------
-; xstart xend ystart yend ; Level
-LevelSizes: dc.w $1308, $6000, 0, $390 ; AIZ1
+; xstart xend ystart yend ; Level
+LevelSizes: dc.w $1308, $6000, 0, $390 ; AIZ1
dc.w 0, $4640, 0, $590 ; AIZ2
dc.w 0, $6000, 0, $1000 ; HCZ1
dc.w 0, $6000, 0, $1000 ; HCZ2
@@ -31555,54 +31419,55 @@ loc_1A89C:
; End of function Do_ResizeEvents
; ---------------------------------------------------------------------------
-LevelResizeArray:dc.w AIZ1_Resize-LevelResizeArray
+LevelResizeArray:
+ dc.w AIZ1_Resize-LevelResizeArray
dc.w AIZ2_Resize-LevelResizeArray
dc.w HCZ1_Resize-LevelResizeArray
dc.w HCZ2_Resize-LevelResizeArray
- dc.w MGZ_Resize-LevelResizeArray
- dc.w MGZ_Resize-LevelResizeArray
- dc.w No_Resize2-LevelResizeArray
- dc.w No_Resize2-LevelResizeArray
- dc.w No_Resize2-LevelResizeArray
- dc.w No_Resize2-LevelResizeArray
+ dc.w MGZ1_Resize-LevelResizeArray
+ dc.w MGZ2_Resize-LevelResizeArray
+ dc.w CNZ1_Resize-LevelResizeArray
+ dc.w CNZ2_Resize-LevelResizeArray
+ dc.w FBZ1_Resize-LevelResizeArray
+ dc.w FBZ2_Resize-LevelResizeArray
dc.w ICZ1_Resize-LevelResizeArray
dc.w ICZ2_Resize-LevelResizeArray
- dc.w No_Resize-LevelResizeArray
+ dc.w LBZ1_Resize-LevelResizeArray
dc.w LBZ2_Resize-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
; ---------------------------------------------------------------------------
AIZ1_Resize:
@@ -31748,7 +31613,7 @@ off_1AAAA: dc.w AIZ2_Resize1-off_1AAAA
dc.w AIZ2_Resize6-off_1AAAA
dc.w AIZ2_Resize7-off_1AAAA
dc.w AIZ2_Resize8-off_1AAAA
- dc.w AIZ2_SonicResizeEnd-off_1AAAA
+ dc.w AIZ2_ResizeEnd-off_1AAAA
; ---------------------------------------------------------------------------
AIZ2_Resize1:
@@ -31788,7 +31653,7 @@ loc_1AB0C:
bne.s loc_1AB42
jsr (Create_New_Sprite).l
bne.s loc_1AB42
- move.l #Obj_AIZ_Miniboss,(a1)
+ move.l #Obj_AIZMiniboss,(a1)
move.w #$11F0,$10(a1)
move.w #$289,$14(a1)
@@ -31897,7 +31762,7 @@ locret_1AC36:
rts
; ---------------------------------------------------------------------------
-AIZ2_SonicResizeEnd:
+AIZ2_ResizeEnd:
rts
; ---------------------------------------------------------------------------
@@ -31981,7 +31846,11 @@ locret_1ACD6:
rts
; ---------------------------------------------------------------------------
-MGZ_Resize:
+MGZ1_Resize:
+ ; Bug: MGZ1 uses a dynamic resize routine meant for MGZ2
+ ; This causes the act 2 boss to spawn in out-of-bounds act 1
+
+MGZ2_Resize:
moveq #0,d0
move.b (Dynamic_resize_routine).w,d0
move.w off_1ACE6(pc,d0.w),d0
@@ -32024,7 +31893,7 @@ loc_1AD2A:
move.w d0,(Camera_target_min_X_pos).w
jsr (Create_New_Sprite).l
bne.s loc_1AD5E
- move.l #Obj_A1_1_MGZ2_Boss,(a1)
+ move.l #Obj_MGZEndBoss,(a1)
move.w #$3D20,$10(a1)
move.w #$668,$14(a1)
@@ -32050,7 +31919,10 @@ locret_1AD84:
rts
; ---------------------------------------------------------------------------
-No_Resize2:
+CNZ1_Resize:
+CNZ2_Resize:
+FBZ1_Resize:
+FBZ2_Resize:
rts
; ---------------------------------------------------------------------------
@@ -32117,7 +31989,7 @@ locret_1ADF8:
rts
; ---------------------------------------------------------------------------
-No_Resize:
+LBZ1_Resize:
rts
; ---------------------------------------------------------------------------
@@ -32147,7 +32019,7 @@ loc_1AE0E:
move.w #0,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_LBZ2DeathEgg2_8x8).l,a1
- move.w #$B400,d2
+ move.w #tiles_to_bytes(ArtTile_Explosion),d2
jsr (Queue_Kos_Module).l
locret_1AE64:
@@ -32158,7 +32030,7 @@ locret_1AE66:
rts
; ---------------------------------------------------------------------------
-No_Resize3:
+No_Resize:
rts
; =============== S U B R O U T I N E =======================================
@@ -32186,21 +32058,14 @@ loc_1AE82:
; =============== S U B R O U T I N E =======================================
-nullsub_5:
+Draw_LRZ_Special_Rock_Sprites:
rts
-; End of function nullsub_5
-
-
-; =============== S U B R O U T I N E =======================================
-
+; ---------------------------------------------------------------------------
-Draw_LRZ_Special_Rock_Sprites:
moveq #0,d0
move.b (LRZ_rocks_routine).w,d0
move.w off_1AE98(pc,d0.w),d0
jmp off_1AE98(pc,d0.w)
-; End of function Draw_LRZ_Special_Rock_Sprites
-
; ---------------------------------------------------------------------------
off_1AE98: dc.w loc_1AE9C-off_1AE98
dc.w loc_1AECC-off_1AE98
@@ -32283,6 +32148,8 @@ loc_1AF08:
bls.s loc_1AF06
move.l a2,(LRZ_rocks_addr_back).w
rts
+; End of function Draw_LRZ_Special_Rock_Sprites
+
; =============== S U B R O U T I N E =======================================
@@ -32331,17 +32198,8 @@ locret_1AF68:
; ---------------------------------------------------------------------------
LRZ_Rock_SpriteData:
- dc.w $FFF8, 5, $C400, $FFF8
- dc.w $FFF8, 5, $CC00, $FFF8
- dc.w $FFF8, 5, $C404, $FFF8
- dc.w $FFF8, 5, $C408, $FFF8
- dc.w $FFF8, 5, $CC08, $FFF8
- dc.w $FFF8, 5, $CC04, $FFF8
- dc.w 0, 4, $C40C, $FFF8
- dc.w 0, 4, $C40E, $FFF8
- dc.w 0, 4, $CC0E, $FFF8
- dc.w 0, 4, $CC0C, $FFF8
- dc.w $FFF8, 5, $E410, $FFF8
+ binclude "Levels/LRZ/Misc/Rock Sprite Attribute Data S3.bin"
+ even
; ---------------------------------------------------------------------------
Obj_PathSwap:
@@ -32731,7 +32589,7 @@ loc_1B4C8:
lea (Player_1).w,a1
moveq #3,d6
movem.l d1-d4,-(sp)
- bsr.w SolidObject_Monitor_SonicKnux
+ bsr.w SolidObject_Monitor_Sonic
movem.l (sp)+,d1-d4
lea (Player_2).w,a1
moveq #4,d6
@@ -32748,13 +32606,13 @@ loc_1B504:
; =============== S U B R O U T I N E =======================================
-SolidObject_Monitor_SonicKnux:
+SolidObject_Monitor_Sonic:
btst d6,$2A(a0)
bne.s Monitor_ChkOverEdge
cmpi.b #2,$20(a1)
bne.w SolidObject_cont
rts
-; End of function SolidObject_Monitor_SonicKnux
+; End of function SolidObject_Monitor_Sonic
; =============== S U B R O U T I N E =======================================
@@ -32768,6 +32626,8 @@ SolidObject_Monitor_Tails:
cmpi.b #2,$20(a1)
bne.w SolidObject_cont
rts
+; End of function SolidObject_Monitor_Tails
+
; ---------------------------------------------------------------------------
Monitor_ChkOverEdge:
@@ -32795,8 +32655,6 @@ Monitor_CharStandOn:
bsr.w MvSonicOnPtfm
moveq #0,d4
rts
-; End of function SolidObject_Monitor_Tails
-
; ---------------------------------------------------------------------------
Obj_MonitorBreak:
@@ -32907,19 +32765,19 @@ loc_1B68C:
; End of function sub_1B65C
; ---------------------------------------------------------------------------
-off_1B69C: dc.w loc_1B6B0-off_1B69C
+off_1B69C: dc.w Monitor_Give_Eggman-off_1B69C
dc.w Monitor_Give_1up-off_1B69C
- dc.w loc_1B6B0-off_1B69C
+ dc.w Monitor_Give_Eggman-off_1B69C
dc.w Monitor_Give_Rings-off_1B69C
- dc.w Monitor_Give_Super_Sneakers-off_1B69C
- dc.w Monitor_Give_Fire_Shield-off_1B69C
- dc.w Monitor_Give_Lightning_Shield-off_1B69C
- dc.w Monitor_Give_Bubble_Shield-off_1B69C
+ dc.w Monitor_Give_SpeedShoes-off_1B69C
+ dc.w Monitor_Give_FireShield-off_1B69C
+ dc.w Monitor_Give_LightningShield-off_1B69C
+ dc.w Monitor_Give_BubbleShield-off_1B69C
dc.w Monitor_Give_Invincibility-off_1B69C
dc.w Monitor_Give_SuperSonic-off_1B69C
; ---------------------------------------------------------------------------
-loc_1B6B0:
+Monitor_Give_Eggman:
addq.w #1,(a2)
bra.w sub_228EC
; ---------------------------------------------------------------------------
@@ -32928,8 +32786,8 @@ Monitor_Give_1up:
addq.w #1,(Monitors_broken).w
addq.b #1,(Life_count).w
addq.b #1,(Update_HUD_life_count).w
- moveq #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_ExtraLife),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
Monitor_Give_Rings:
@@ -32938,40 +32796,40 @@ Monitor_Give_Rings:
lea (Update_HUD_ring_count).w,a3
lea (Extra_life_flags).w,a4
lea (Total_ring_count).w,a5
- addi.w #$A,(a5)
- cmpi.w #$3E7,(a5)
+ addi.w #10,(a5)
+ cmpi.w #999,(a5)
bcs.s loc_1B6EA
- move.w #$3E7,(a5)
+ move.w #999,(a5)
loc_1B6EA:
- addi.w #$A,(a2)
- cmpi.w #$3E7,(a2)
+ addi.w #10,(a2)
+ cmpi.w #999,(a2)
bcs.s loc_1B6F8
- move.w #$3E7,(a2)
+ move.w #999,(a2)
loc_1B6F8:
ori.b #1,(a3)
- cmpi.w #$64,(a2)
+ cmpi.w #100,(a2)
bcs.s loc_1B714
bset #1,(a4)
beq.s loc_1B71C
- cmpi.w #$C8,(a2)
+ cmpi.w #200,(a2)
bcs.s loc_1B714
bset #2,(a4)
beq.s loc_1B71C
loc_1B714:
- moveq #sfx_RingRight,d0
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_RingRight),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_1B71C:
cmpa.w #Player_1,a1
beq.w Monitor_Give_1up
- bra.w loc_1B6B0
+ bra.w Monitor_Give_Eggman
; ---------------------------------------------------------------------------
-Monitor_Give_Super_Sneakers:
+Monitor_Give_SpeedShoes:
addq.w #1,(a2)
bset #2,$2B(a1)
move.b #$96,$36(a1)
@@ -32995,62 +32853,62 @@ loc_1B76A:
jmp (Change_Music_Tempo).l
; ---------------------------------------------------------------------------
-Monitor_Give_Fire_Shield:
+Monitor_Give_FireShield:
addq.w #1,(a2)
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #4,$2B(a1)
- moveq #sfx_FireShield,d0
- jsr (Play_Sound).l
+ moveq #signextendB(sfx_FireShield),d0
+ jsr (Play_Music).l
tst.b $43(a0)
bne.s loc_1B7A2
- move.l #Obj_Fire_Shield,(Shield).w
+ move.l #Obj_FireShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
loc_1B7A2:
- move.l #Obj_Fire_Shield,(Shield_P2).w
+ move.l #Obj_FireShield,(Shield_P2).w
move.w a1,(Shield_P2+parent).w
rts
; ---------------------------------------------------------------------------
-Monitor_Give_Lightning_Shield:
+Monitor_Give_LightningShield:
addq.w #1,(a2)
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #5,$2B(a1)
- moveq #sfx_ElectricShield,d0
- jsr (Play_Sound).l
+ moveq #signextendB(sfx_LightningShield),d0
+ jsr (Play_Music).l
tst.b $43(a0)
bne.s loc_1B7E0
- move.l #Obj_Lightning_Shield,(Shield).w
+ move.l #Obj_LightningShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
loc_1B7E0:
- move.l #Obj_Lightning_Shield,(Shield_P2).w
+ move.l #Obj_LightningShield,(Shield_P2).w
move.w a1,(Shield_P2+parent).w
rts
; ---------------------------------------------------------------------------
-Monitor_Give_Bubble_Shield:
+Monitor_Give_BubbleShield:
addq.w #1,(a2)
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #6,$2B(a1)
- moveq #sfx_BubbleShield,d0
- jsr (Play_Sound).l
+ moveq #signextendB(sfx_BubbleShield),d0
+ jsr (Play_Music).l
tst.b $43(a0)
bne.s loc_1B81E
- move.l #Obj_Bubble_Shield,(Shield).w
+ move.l #Obj_BubbleShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
loc_1B81E:
- move.l #Obj_Bubble_Shield,(Shield_P2).w
+ move.l #Obj_BubbleShield,(Shield_P2).w
move.w a1,(Shield_P2+parent).w
rts
; ---------------------------------------------------------------------------
@@ -33065,8 +32923,8 @@ Monitor_Give_Invincibility:
bne.s loc_1B856
cmpi.b #$C,$2C(a1)
bls.s loc_1B856
- moveq #mus_Invincibility,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Invincibility),d0
+ jsr (Play_Music).l
loc_1B856:
tst.b $43(a0)
@@ -33100,10 +32958,10 @@ Monitor_Give_SuperSonic:
move.w #$100,(Deceleration).w
move.b #0,(Player_1+invincibility_timer).w
bset #1,$2B(a1)
- moveq #sfx_SuperAlt,d0
- jsr (Play_Sound_2).l
- moveq #mus_Invincibility,d0
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_Whistle),d0
+ jsr (Play_SFX).l
+ moveq #signextendB(mus_Invincibility),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
rts
; ---------------------------------------------------------------------------
@@ -34122,7 +33980,7 @@ loc_1C24C:
move.l #Map_Explosion,$C(a0)
move.w $A(a0),d0
andi.w #$8000,d0
- ori.w #$5A0,d0
+ ori.w #ArtTile_Explosion,d0
move.w d0,$A(a0)
move.b #4,4(a0)
move.w #$80,8(a0)
@@ -34131,8 +33989,8 @@ loc_1C24C:
move.b #$C,6(a0)
move.b #3,$24(a0)
move.b #0,$22(a0)
- moveq #sfx_Break,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Break),d0
+ jsr (Play_SFX).l
move.l #loc_1C2A0,(a0)
loc_1C2A0:
@@ -34149,7 +34007,7 @@ loc_1C2BA:
Obj_FireShield_Dissipate:
move.l #Map_Explosion,$C(a0)
- move.w #$5A0,$A(a0)
+ move.w #ArtTile_Explosion,$A(a0)
move.b #4,4(a0)
move.w #$280,8(a0)
move.b #$C,7(a0)
@@ -34173,7 +34031,7 @@ loc_1C318:
loc_1C31E:
move.l #Map_Explosion,$C(a0)
- move.w #$85A0,$A(a0)
+ move.w #make_art_tile(ArtTile_Explosion,0,1),$A(a0)
move.b #4,4(a0)
move.w #$100,8(a0)
move.b #$C,7(a0)
@@ -34206,7 +34064,7 @@ loc_1C384:
Map_Explosion: include "General/Sprites/Enemy Misc/Map - Explosion S3.asm"
; ---------------------------------------------------------------------------
-Obj_09_1:
+Obj_AIZ1Tree:
move.l #Map_AIZ1Tree,$C(a0)
move.w #$180,8(a0)
move.b #8,7(a0)
@@ -34220,7 +34078,7 @@ loc_1C3E2:
Map_AIZ1Tree: include "Levels/AIZ/Misc Object Data/Map - Act 1 Tree.asm"
; ---------------------------------------------------------------------------
-Obj_0A_1:
+Obj_AIZ1ZiplinePeg:
move.l #Map_AIZ1ZiplinePeg,$C(a0)
move.w #$380,8(a0)
move.b #$20,7(a0)
@@ -34235,7 +34093,7 @@ Map_AIZ1ZiplinePeg:
include "Levels/AIZ/Misc Object Data/Map - Act 1 Zipline Peg.asm"
; ---------------------------------------------------------------------------
-Obj_26:
+Obj_AutoSpin:
move.l #Map_PathSwap,$C(a0)
move.w #ArtTile_Ring,$A(a0)
ori.b #4,4(a0)
@@ -34386,8 +34244,8 @@ loc_1C5D4:
move.b #7,$1F(a1)
move.b #2,$20(a1)
addq.w #5,$14(a1)
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
rts
; End of function sub_1C518
@@ -34494,14 +34352,14 @@ byte_1C700: dc.b $96
dc.b 0
; ---------------------------------------------------------------------------
-Obj_27:
+Obj_S2LavaMarker:
moveq #0,d0
move.b $2C(a0),d0
move.b byte_1C700(pc,d0.w),$28(a0)
- move.l #Map_Obj27,$C(a0)
+ move.l #Map_S2LavaMarker,$C(a0)
tst.w (Debug_placement_mode).w
beq.s loc_1C726
- move.l #Map_Obj27_2,$C(a0)
+ move.l #Map_S2LavaMarkerDebug,$C(a0)
loc_1C726:
move.w #make_art_tile(ArtTile_Ring,0,1),$A(a0)
@@ -34539,11 +34397,13 @@ loc_1C778:
loc_1C784:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_Obj27: include "General/Sprites/Unused/Map - Obj27 Unused.asm"
-Map_Obj27_2: include "General/Sprites/Unused/Map - Obj27 Unused 2.asm"
+Map_S2LavaMarker:
+ include "General/Sprites/Level Misc/Map - Lava Marker S2.asm"
+Map_S2LavaMarkerDebug:
+ include "General/Sprites/Level Misc/Map - Lava Marker S2 Debug.asm"
; ---------------------------------------------------------------------------
-Obj_28_Invisible_Barrier:
+Obj_InvisibleBlock:
move.l #Map_InvisibleBlock,$C(a0)
move.w #make_art_tile(ArtTile_Ring,0,1),$A(a0)
ori.b #4,4(a0)
@@ -34618,8 +34478,8 @@ byte_1C8E2: dc.b $14
dc.b 2
; ---------------------------------------------------------------------------
-Obj_BreakableBar:
- move.l #Map_BreakableBar,$C(a0)
+Obj_HCZBreakableBar:
+ move.l #Map_HCZBreakableBar,$C(a0)
move.w #$43CA,$A(a0)
move.b #4,4(a0)
move.w #$200,8(a0)
@@ -34784,12 +34644,12 @@ locret_1CAB2:
loc_1CAB4:
tst.b $32(a0)
beq.s loc_1CAC0
- andi.b #-2,(Player_1+object_control).w
+ andi.b #$FE,(Player_1+object_control).w
loc_1CAC0:
tst.b $33(a0)
beq.s loc_1CACC
- andi.b #-2,(Player_2+object_control).w
+ andi.b #$FE,(Player_2+object_control).w
loc_1CACC:
clr.b (_unkF7C7).w
@@ -34876,7 +34736,7 @@ loc_1CBA0:
clr.b (a2)
move.b #$3C,2(a2)
bclr d2,(_unkF7C7).w
- andi.b #-2,$2E(a1)
+ andi.b #$FE,$2E(a1)
btst #6,$2C(a0)
bne.s locret_1CBC8
move.b #1,$3A(a0)
@@ -34947,12 +34807,12 @@ locret_1CC60:
loc_1CC62:
tst.b $32(a0)
beq.s loc_1CC6E
- andi.b #-2,(Player_1+object_control).w
+ andi.b #$FE,(Player_1+object_control).w
loc_1CC6E:
tst.b $33(a0)
beq.s loc_1CC7A
- andi.b #-2,(Player_2+object_control).w
+ andi.b #$FE,(Player_2+object_control).w
loc_1CC7A:
clr.b (_unkF7C7).w
@@ -35024,7 +34884,7 @@ loc_1CD68:
move.l (a0),(a1)
move.l $C(a0),$C(a1)
move.w $A(a0),$A(a1)
- move.b #-$7C,4(a1)
+ move.b #$84,4(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.w (a4)+,d0
@@ -35043,12 +34903,12 @@ loc_1CD68:
dbf d1,loc_1CD60
loc_1CDC2:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_1CD50
; ---------------------------------------------------------------------------
-Map_BreakableBar:
+Map_HCZBreakableBar:
include "Levels/HCZ/Misc Object Data/Map - Breakable Bar.asm"
; ---------------------------------------------------------------------------
@@ -35213,7 +35073,7 @@ loc_1D12C:
loc_1D13A:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1C778
@@ -35253,7 +35113,7 @@ loc_1D190:
loc_1D19E:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1C778
@@ -35364,7 +35224,7 @@ loc_1D2BA:
loc_1D2C8:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1C778
@@ -35404,7 +35264,7 @@ loc_1D31E:
loc_1D32C:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1C778
@@ -35444,7 +35304,7 @@ loc_1D382:
loc_1D390:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1C778
@@ -35848,7 +35708,7 @@ loc_1D800:
loc_1D818:
move.w $38(a0),(Chain_bonus_counter).w
- andi.b #-$19,$2A(a0)
+ andi.b #$E7,$2A(a0)
tst.w (Competition_mode).w
bne.w loc_1D874
move.l #loc_1D836,(a0)
@@ -36205,7 +36065,7 @@ loc_1DB88:
add.w d3,d0
move.w d0,$14(a1)
move.w $A(a0),$A(a1)
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
move.w #$80,8(a1)
move.b #$18,7(a1)
move.b #$18,7(a1)
@@ -36221,8 +36081,8 @@ loc_1DBDE:
dbf d1,loc_1DB82
loc_1DBE2:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_1DB60
; ---------------------------------------------------------------------------
@@ -36959,8 +36819,8 @@ loc_1E47E:
clr.w $48(a0)
loc_1E494:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
byte_1E49C: dc.b $30, $2C, $28, $24, $20, $1C, $2E, $2A, $26, $22, $1E, $1A, $2C, $28, $24, $20, $1C, $18, $2A, $26
dc.b $22, $1E, $1A, $16, $28, $24, $20, $1C, $18, $14
@@ -37255,7 +37115,7 @@ loc_1F9BA:
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.w $A(a0),$A(a1)
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
move.b 8(a0),8(a1)
move.b 7(a0),7(a1)
move.b 6(a0),6(a1)
@@ -37264,8 +37124,8 @@ loc_1F9BA:
dbf d1,loc_1F9B0
loc_1F9FA:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_1F98C
; ---------------------------------------------------------------------------
@@ -37715,13 +37575,13 @@ loc_2018C:
lea $32(a1),a2
tst.b (a2)
beq.s loc_201F6
- move.b #-$7F,(a2)
+ move.b #$81,(a2)
loc_201F6:
addq.w #1,a2
tst.b (a2)
beq.s loc_20200
- move.b #-$7F,(a2)
+ move.b #$81,(a2)
loc_20200:
bra.s loc_2022E
@@ -38128,9 +37988,9 @@ loc_20648:
add.w d0,d0
move.b byte_206BE(pc,d0.w),$22(a1)
move.b #0,$20(a1)
- andi.w #-2,d0
+ andi.w #$FFFE,d0
move.b byte_206CE(pc,d0.w),d2
- move.b byte_206CF(pc,d0.w),d3
+ move.b byte_206CE+1(pc,d0.w),d3
ext.w d2
ext.w d3
btst #0,$2A(a1)
@@ -38141,7 +38001,7 @@ loc_20676:
movea.w $3C(a0),a3
move.b $26(a3),d0
addq.b #4,d0
- andi.b #-8,d0
+ andi.b #$F8,d0
jsr (GetSineCosine).l
neg.w d0
addi.w #8,d0
@@ -38178,7 +38038,7 @@ byte_206BE: dc.b $78
dc.b $79
dc.b $79
byte_206CE: dc.b 0
-byte_206CF: dc.b $18
+ dc.b $18
dc.b $EE
dc.b $13
dc.b $E8
@@ -38226,10 +38086,10 @@ loc_206EC:
move.b #$14,$20(a1)
move.b #0,$3D(a1)
move.b #3,$2E(a1)
- andi.b #-3,4(a1)
+ andi.b #$FD,4(a1)
move.b #1,(a2)
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
locret_20766:
rts
@@ -38504,7 +38364,7 @@ loc_20BD0:
move.w #1,$20(a0)
subi.w #5,$10(a0)
move.b #7,$22(a0)
- jsr (SurfboardIntro_LoadPLC).l
+ jsr (SurfboardIntro_Load_PLC).l
bra.s loc_20C00
; ---------------------------------------------------------------------------
@@ -38548,7 +38408,7 @@ loc_20C30:
loc_20C74:
lea (Ani_SurfboardIntro).l,a1
jsr (Animate_Sprite).l
- jsr (SurfboardIntro_LoadPLC).l
+ jsr (SurfboardIntro_Load_PLC).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
Ani_SurfboardIntro:
@@ -38645,7 +38505,7 @@ loc_20D98:
move.b (a1,d0.w),d0
addq.b #1,d0
move.b d0,$22(a0)
- jsr (SurfboardIntro_LoadPLC).l
+ jsr (SurfboardIntro_Load_PLC).l
subq.w #1,$2E(a0)
bpl.s locret_20DCA
move.w #5,$2E(a0)
@@ -38667,7 +38527,7 @@ SurfboardIntro_UpFrames:
; =============== S U B R O U T I N E =======================================
-SurfboardIntro_LoadPLC:
+SurfboardIntro_Load_PLC:
moveq #0,d0
move.b $22(a0),d0
cmp.b (Player_prev_frame).w,d0
@@ -38699,7 +38559,7 @@ loc_20E06:
locret_20E32:
rts
-; End of function SurfboardIntro_LoadPLC
+; End of function SurfboardIntro_Load_PLC
; ---------------------------------------------------------------------------
Map_SurfboardIntro:
@@ -38776,7 +38636,7 @@ SurfboardSplash2_Init:
; ---------------------------------------------------------------------------
Obj_SurfboardSplash_Main:
- movea.w %110000(a0),a1
+ movea.w $30(a0),a1
lea (SurfboardSplash_Offsets).l,a2
bsr.w SurfboardSplash_SetOffsets
move.w $10(a1),$10(a0)
@@ -39058,7 +38918,7 @@ Spring_Up:
move.w #$391,$A(a0)
cmpi.b #$12,(Current_zone).w
bne.s Spring_Common
- ori.w #-$8000,$A(a0)
+ ori.w #$8000,$A(a0)
Spring_Common:
move.b $2C(a0),d0
@@ -39182,8 +39042,8 @@ loc_216DC:
move.b #$F,$47(a1)
loc_216EE:
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_2164A
; ---------------------------------------------------------------------------
@@ -39365,8 +39225,8 @@ loc_218F2:
bclr #5,$2A(a0)
bclr #6,$2A(a0)
bclr #5,$2A(a1)
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_21836
@@ -39556,8 +39416,8 @@ loc_21B00:
bclr #3,$2A(a1)
clr.b $40(a1)
move.b #2,5(a1)
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_21A6A
; ---------------------------------------------------------------------------
@@ -39662,8 +39522,8 @@ loc_21C46:
move.b #$F,$47(a1)
loc_21C58:
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_21B74
; ---------------------------------------------------------------------------
@@ -39750,8 +39610,8 @@ loc_21D5E:
move.b #$F,$47(a1)
loc_21D70:
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_21CB2
; ---------------------------------------------------------------------------
@@ -39916,8 +39776,8 @@ sub_22146:
bne.s locret_221A4
tst.b 4(a0)
bpl.s locret_221A4
- moveq #sfx_SpikeMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeMove),d0
+ jsr (Play_SFX).l
bra.s locret_221A4
; ---------------------------------------------------------------------------
@@ -39979,7 +39839,7 @@ loc_221F4:
move.l #loc_225B8,(a1)
loc_2221C:
- andi.b #-$10,$2C(a0)
+ andi.b #$F0,$2C(a0)
move.b (a2)+,d1
or.b d1,$2C(a0)
move.w $10(a0),$10(a1)
@@ -40126,8 +39986,8 @@ sub_2236A:
bne.s locret_223CE
tst.b 4(a0)
bpl.s locret_223CE
- moveq #sfx_SpikeMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeMove),d0
+ jsr (Play_SFX).l
bra.s locret_223CE
; ---------------------------------------------------------------------------
@@ -40174,26 +40034,26 @@ loc_223F0:
bhi.w locret_22498
move.w #0,$36(a0)
move.b $2C(a0),d0
- andi.b #-$10,d0
- cmpi.b #-$20,d0
+ andi.b #$F0,d0
+ cmpi.b #$E0,d0
bne.s loc_2244A
addi.w #$16,$14(a0)
bchg #1,$2A(a0)
bchg #1,4(a0)
andi.b #$F,$2C(a0)
- ori.b #-$10,$2C(a0)
+ ori.b #$F0,$2C(a0)
move.l #loc_222A0,(a0)
movea.w $3E(a0),a1
neg.w $32(a1)
loc_2244A:
- cmpi.b #-$10,d0
+ cmpi.b #$F0,d0
bne.s loc_2247C
subi.w #$16,$14(a0)
bchg #1,$2A(a0)
bchg #1,4(a0)
andi.b #$F,$2C(a0)
- ori.b #-$20,$2C(a0)
+ ori.b #$E0,$2C(a0)
move.l #loc_222A0,(a0)
movea.w $3E(a0),a1
neg.w $32(a1)
@@ -40240,26 +40100,26 @@ loc_224D2:
bcs.s locret_2255C
move.w #$1800,$36(a0)
move.b $2C(a0),d0
- andi.b #-$10,d0
- cmpi.b #-$20,d0
+ andi.b #$F0,d0
+ cmpi.b #$E0,d0
bne.s loc_2252A
addi.w #$16,$14(a0)
bchg #1,$2A(a0)
bchg #1,4(a0)
andi.b #$F,$2C(a0)
- ori.b #-$10,$2C(a0)
+ ori.b #$F0,$2C(a0)
move.l #loc_222A0,(a0)
movea.w $3E(a0),a1
neg.w $32(a1)
loc_2252A:
- cmpi.b #-$10,d0
+ cmpi.b #$F0,d0
bne.s locret_2255C
subi.w #$16,$14(a0)
bchg #1,$2A(a0)
bchg #1,4(a0)
andi.b #$F,$2C(a0)
- ori.b #-$20,$2C(a0)
+ ori.b #$E0,$2C(a0)
move.l #loc_222A0,(a0)
movea.w $3E(a0),a1
neg.w $32(a1)
@@ -40657,8 +40517,8 @@ sub_22960:
bne.s locret_229BE
tst.b 4(a0)
bpl.s locret_229BE
- moveq #sfx_SpikeMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeMove),d0
+ jsr (Play_SFX).l
bra.s locret_229BE
; ---------------------------------------------------------------------------
@@ -40729,8 +40589,8 @@ sub_229FC:
bne.s locret_22A5A
tst.b 4(a0)
bpl.s locret_22A5A
- moveq #sfx_SpikeMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeMove),d0
+ jsr (Play_SFX).l
bra.s locret_22A5A
; ---------------------------------------------------------------------------
@@ -40883,7 +40743,7 @@ sub_22CE0:
lsr.w #3,d4
move.w d0,d5
ror.w #3,d5
- andi.w #-$2000,d5
+ andi.w #$E000,d5
move.w #$F0,d6
swap d6
move.w #$F,d7
@@ -42043,27 +41903,12 @@ GetScalars:
; End of function GetScalars
; ---------------------------------------------------------------------------
-ScalarTable: dc.w 0, $192, $324, $4B5, $646, $7D6, $964, $AF1, $C7C, $E06, $F8D, $1112, $1294, $1413, $1590, $1709
- dc.w $187E, $19EF, $1B5D, $1CC6, $1E2B, $1F8C, $20E7, $223D, $238E, $24DA, $2620, $2760, $289A, $29CE, $2AFB, $2C21
- dc.w $2D41, $2E5A, $2F6C, $3076, $3179, $3274, $3368, $3453, $3537, $3612, $36E5, $37B0, $3871, $392B, $39DB, $3A82
- dc.w $3B21, $3BB6, $3C42, $3CC5, $3D3F, $3DAF, $3E15, $3E72, $3EC5, $3F0F, $3F4F, $3F85, $3FB1, $3FD4, $3FEC, $3FFB
- dc.w $4000, $3FFB, $3FEC, $3FD4, $3FB1, $3F85, $3F4F, $3F0F, $3EC5, $3E72, $3E15, $3DAF, $3D3F, $3CC5, $3C42, $3BB6
- dc.w $3B21, $3A82, $39DB, $392B, $3871, $37B0, $36E5, $3612, $3537, $3453, $3368, $3274, $3179, $3076, $2F6C, $2E5A
- dc.w $2D41, $2C21, $2AFB, $29CE, $289A, $2760, $2620, $24DA, $238E, $223D, $20E7, $1F8C, $1E2B, $1CC6, $1B5D, $19EF
- dc.w $187E, $1709, $1590, $1413, $1294, $1112, $F8D, $E06, $C7C, $AF1, $964, $7D6, $646, $4B5, $324, $192
- dc.w 0, $FE6E, $FCDC, $FB4B, $F9BA, $F82A, $F69C, $F50F, $F384, $F1FA, $F073, $EEEE, $ED6C, $EBED, $EA70, $E8F7
- dc.w $E782, $E611, $E4A3, $E33A, $E1D5, $E074, $DF19, $DDC3, $DC72, $DB26, $D9E0, $D8A0, $D766, $D632, $D505, $D3DF
- dc.w $D2BF, $D1A6, $D094, $CF8A, $CE87, $CD8C, $CC98, $CBAD, $CAC9, $C9EE, $C91B, $C850, $C78F, $C6D5, $C625, $C57E
- dc.w $C4DF, $C44A, $C3BE, $C33B, $C2C1, $C251, $C1EB, $C18E, $C13B, $C0F1, $C0B1, $C07B, $C04F, $C02C, $C014, $C005
- dc.w $C000, $C005, $C014, $C02C, $C04F, $C07B, $C0B1, $C0F1, $C13B, $C18E, $C1EB, $C251, $C2C1, $C33B, $C3BE, $C44A
- dc.w $C4DF, $C57E, $C625, $C6D5, $C78F, $C850, $C91B, $C9EE, $CAC9, $CBAD, $CC98, $CD8C, $CE87, $CF8A, $D094, $D1A6
- dc.w $D2BF, $D3DF, $D505, $D632, $D766, $D8A0, $D9E0, $DB26, $DC72, $DDC3, $DF19, $E074, $E1D5, $E33A, $E4A3, $E611
- dc.w $E782, $E8F7, $EA70, $EBED, $ED6C, $EEEE, $F073, $F1FA, $F384, $F50F, $F69C, $F82A, $F9BA, $FB4B, $FCDC, $FE6E
-Map_SphereTest:
- include "General/Special Stage/Map - Eosian Spheres.asm"
-; ---------------------------------------------------------------------------
-
-Obj_0E:
+ScalarTable: binclude "General/Special Stage/Scalars.bin"
+ even
+Map_SphereTest: include "General/Special Stage/Map - Eosian Spheres.asm"
+; ---------------------------------------------------------------------------
+
+Obj_TwistedRamp:
lea (Player_1).w,a1
bsr.s sub_23CA2
lea (Player_2).w,a1
@@ -42206,7 +42051,7 @@ loc_23DE8:
loc_23E12:
move.w $44(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmp.w $42(a0),d0
bhi.w loc_23E2C
@@ -42228,7 +42073,8 @@ loc_23E3C:
loc_23E48:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-LBZMovingPlatformIndex:dc.w Platform_Stationary-LBZMovingPlatformIndex
+LBZMovingPlatformIndex:
+ dc.w Platform_Stationary-LBZMovingPlatformIndex
dc.w Platform_Horizontal64-LBZMovingPlatformIndex
dc.w Platform_Horizontal128-LBZMovingPlatformIndex
dc.w Platform_Vertical64-LBZMovingPlatformIndex
@@ -42243,7 +42089,8 @@ LBZMovingPlatformIndex:dc.w Platform_Stationary-LBZMovingPlatformIndex
dc.w Platform_Horizontal256-LBZMovingPlatformIndex
dc.w Platform_FallingDelayed-LBZMovingPlatformIndex
dc.w Platform_Falling-LBZMovingPlatformIndex
-FloatingPlatformIndex:dc.w Platform_Stationary-FloatingPlatformIndex
+FloatingPlatformIndex:
+ dc.w Platform_Stationary-FloatingPlatformIndex
dc.w Platform_Horizontal64-FloatingPlatformIndex
dc.w Platform_Horizontal128-FloatingPlatformIndex
dc.w Platform_Vertical64-FloatingPlatformIndex
@@ -42684,13 +42531,13 @@ Map_LBZMovingPlatform:
include "Levels/LBZ/Misc Object Data/Map - Moving Platform.asm"
; ---------------------------------------------------------------------------
-Obj_1D_1:
+Obj_LBZUnusedBarPlatform:
jsr (Create_New_Sprite3).l
bne.w loc_242B4
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.b $2A(a0),$2A(a1)
- move.l #Map_LBZPlatformUndersideUnused,$C(a1)
+ move.l #Map_LBZUnusedBarPlatform,$C(a1)
move.w #$42EA,$A(a1)
move.b #4,4(a1)
move.w #$180,8(a1)
@@ -42721,7 +42568,7 @@ sub_242D8:
lea $33(a0),a2
lea (Player_2).w,a1
move.w (Ctrl_2).w,d0
- bsr.s i
+ bsr.s sub_242F0
lea (Player_1).w,a1
subq.w #1,a2
move.w (Ctrl_1).w,d0
@@ -42731,7 +42578,7 @@ sub_242D8:
; =============== S U B R O U T I N E =======================================
-i:
+sub_242F0:
tst.b (a2)
beq.w loc_2436C
tst.b 4(a1)
@@ -42811,11 +42658,11 @@ loc_2437A:
locret_243DE:
rts
-; End of function i
+; End of function sub_242F0
; ---------------------------------------------------------------------------
-Map_LBZPlatformUndersideUnused:
- include "Levels/LBZ/Misc Object Data/Map - Floating Platform Underside (Unused).asm"
+Map_LBZUnusedBarPlatform:
+ include "Levels/LBZ/Misc Object Data/Map - Unused Bar Platform.asm"
byte_243F0: dc.b $20
dc.b $20
dc.b 0
@@ -43080,7 +42927,7 @@ byte_2471C: dc.b $10
dc.b $68
; ---------------------------------------------------------------------------
-Obj_12_1:
+Obj_LBZUnusedElevator:
move.l #Map_LBZUnusedElevator,$C(a0)
move.w #$43C3,$A(a0)
move.b #4,4(a0)
@@ -43267,7 +43114,7 @@ Obj_LBZExplodingTrigger:
move.b #$10,7(a0)
move.b #$10,6(a0)
move.w #$280,8(a0)
- move.b #-$3A,$28(a0)
+ move.b #$C6,$28(a0)
move.l #loc_24944,(a0)
loc_24944:
@@ -43290,7 +43137,7 @@ loc_2496C:
bsr.s sub_24980
loc_2497A:
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; =============== S U B R O U T I N E =======================================
@@ -43447,8 +43294,8 @@ loc_24B18:
bclr #5,$2A(a1)
clr.b $40(a1)
clr.b $3D(a1)
- moveq #sfx_SmallBumpers,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jsr (Play_SFX).l
rts
; End of function sub_24B04
@@ -43720,7 +43567,7 @@ sub_25194:
move.l a1,-(sp)
jsr (Create_New_Sprite3).l
bne.w loc_251C0
- move.l #Obj_2523E,(a1)
+ move.l #loc_2523E,(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.b 4(a0),4(a1)
@@ -43772,13 +43619,13 @@ loc_25218:
bclr #5,$2A(a1)
loc_25236:
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_25194
; ---------------------------------------------------------------------------
-Obj_2523E:
+loc_2523E:
move.l #Map_LBZPlayerLauncher,$C(a0)
move.w #$43C3,$A(a0)
ori.b #4,4(a0)
@@ -43914,7 +43761,7 @@ loc_2539E:
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.b $2A(a0),$2A(a1)
- move.b #-$63,$28(a1)
+ move.b #$9D,$28(a1)
bset #4,$2B(a1)
addi.w #$40,$10(a1)
btst #0,$2A(a0)
@@ -43924,8 +43771,8 @@ loc_2539E:
loc_253F0:
tst.b 4(a0)
bpl.s loc_253FE
- moveq #sfx_FireAttack,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FireAttack),d0
+ jsr (Play_SFX).l
loc_253FE:
moveq #0,d1
@@ -43948,7 +43795,7 @@ loc_25422:
move.w #$7FFF,$10(a0)
loc_2543A:
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
Ani_LBZFlameThrower:
include "Levels/LBZ/Misc Object Data/Anim - Flame Thrower.asm"
@@ -44021,7 +43868,7 @@ loc_25630:
loc_2564C:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_25666
@@ -44199,7 +44046,7 @@ loc_25802:
move.b $2A(a1),$2A(a0)
move.b $2A(a1),d0
andi.b #1,d0
- andi.b #-2,4(a1)
+ andi.b #$FE,4(a1)
or.b d0,4(a1)
move.w $10(a3),$10(a1)
move.w $14(a3),$14(a1)
@@ -44466,7 +44313,7 @@ loc_25B34:
move.w #6,$36(a0)
btst #0,$2C(a0)
beq.s loc_25B5A
- addi.b #-$80,$27(a0)
+ addi.b #$80,$27(a0)
loc_25B5A:
move.l #Obj_LBZCupElevatorMain,(a0)
@@ -44567,8 +44414,8 @@ loc_25C26:
tst.b $26(a0)
bpl.s locret_25C64
move.w #$80,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_25C64:
rts
@@ -44578,8 +44425,8 @@ loc_25C66:
tst.b $26(a0)
bmi.s locret_25C7A
move.w #$200,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_25C7A:
rts
@@ -44627,8 +44474,8 @@ loc_25CB6:
tst.b $26(a0)
bpl.s locret_25CF4
move.w #$80,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_25CF4:
rts
@@ -44638,8 +44485,8 @@ loc_25CF6:
tst.b $26(a0)
bmi.s locret_25D0A
move.w #$200,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_25D0A:
rts
@@ -44693,8 +44540,8 @@ loc_25D78:
tst.b $26(a0)
bpl.s locret_25D9C
move.w #$80,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_25D9C:
rts
@@ -44704,8 +44551,8 @@ loc_25D9E:
tst.b $26(a0)
bmi.s locret_25DB2
move.w #$200,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_25DB2:
rts
@@ -44736,8 +44583,8 @@ loc_25DE6:
tst.b $26(a0)
bpl.s locret_25E0A
move.w #$80,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_25E0A:
rts
@@ -44747,8 +44594,8 @@ loc_25E0C:
tst.b $26(a0)
bmi.s locret_25E20
move.w #$200,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_25E20:
rts
@@ -44798,8 +44645,8 @@ loc_25E86:
loc_25E8E:
move.l #Obj_LBZElevatorCupFlicker,(a0)
- moveq #sfx_Death,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Death),d0
+ jsr (Play_SFX).l
lea $3C(a0),a2
lea (Player_1).w,a1
move.w #-$300,d0
@@ -45020,7 +44867,7 @@ Obj_LBZCupElevatorAttach:
move.w #$100,8(a0)
loc_2610E:
- andi.b #-2,4(a0)
+ andi.b #$FE,4(a0)
subi.b #$40,d0
bpl.s loc_26120
ori.b #1,4(a0)
@@ -45063,8 +44910,8 @@ Map_LBZCupElevator:
include "Levels/LBZ/Misc Object Data/Map - Cup Elevator.asm"
; ---------------------------------------------------------------------------
-Obj_1A_1:
- move.l #Map_LBZUnusedUnknown,$C(a0)
+Obj_LBZUnusedTiltingBridge:
+ move.l #Map_LBZUnusedTiltingBridge,$C(a0)
move.w #$43C3,$A(a0)
ori.b #4,4(a0)
move.b #$40,7(a0)
@@ -45075,7 +44922,7 @@ Obj_1A_1:
jsr (Create_New_Sprite3).l
bne.w loc_2628C
move.l #loc_262DC,(a1)
- move.l #Map_LBZUnusedUnknown,$C(a1)
+ move.l #Map_LBZUnusedTiltingBridge,$C(a1)
move.w #$43C3,$A(a1)
ori.b #4,4(a1)
move.b #$40,7(a1)
@@ -45352,8 +45199,8 @@ loc_264C4:
locret_264DE:
rts
; ---------------------------------------------------------------------------
-Map_LBZUnusedUnknown:
- include "Levels/LBZ/Misc Object Data/Map - Unused Unknown.asm"
+Map_LBZUnusedTiltingBridge:
+ include "Levels/LBZ/Misc Object Data/Map - Unused Tilting Bridge.asm"
; ---------------------------------------------------------------------------
Obj_LBZPipePlug:
@@ -45582,8 +45429,8 @@ loc_26798:
dbf d1,loc_2678E
loc_267CC:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_266EE
; ---------------------------------------------------------------------------
@@ -45622,8 +45469,8 @@ word_26814: dc.w $100, $FDC0
Map_LBZPipePlug:include "Levels/LBZ/Misc Object Data/Map - PipePlug.asm"
; ---------------------------------------------------------------------------
-Obj_1C_1:
- move.l #Map_LBZUnusedUnknown_2,$C(a0)
+Obj_LBZUnusedSolidHurt:
+ move.l #Map_LBZUnusedSolidHurt,$C(a0)
move.w #$42EA,$A(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
@@ -45688,7 +45535,7 @@ loc_269C0:
bsr.w sub_228EC
loc_269CE:
- lea (Ani_LBZUnusedUnknown_2).l,a1
+ lea (Ani_LBZUnusedSolidHurt).l,a1
jsr (Animate_Sprite).l
jmp (Sprite_OnScreen_Test).l
@@ -45702,10 +45549,10 @@ sub_269E0:
; End of function sub_269E0
; ---------------------------------------------------------------------------
-Ani_LBZUnusedUnknown_2:
- include "Levels/LBZ/Misc Object Data/Anim - Unused Unknown 2.asm"
-Map_LBZUnusedUnknown_2:
- include "Levels/LBZ/Misc Object Data/Map - Unused Unknown 2.asm"
+Ani_LBZUnusedSolidHurt:
+ include "Levels/LBZ/Misc Object Data/Anim - Unused Solid Hurt.asm"
+Map_LBZUnusedSolidHurt:
+ include "Levels/LBZ/Misc Object Data/Map - Unused Solid Hurt.asm"
; =============== S U B R O U T I N E =======================================
@@ -47627,7 +47474,7 @@ Obj_LBZLoweringGrapple:
move.b #4,4(a0)
move.b #$10,7(a0)
move.w #$80,8(a0)
- move.b #-$80,6(a0)
+ move.b #$80,6(a0)
move.w $14(a0),$3C(a0)
move.l #Map_LBZLoweringGrapple,$C(a0)
move.w #$42EA,$A(a0)
@@ -47778,8 +47625,8 @@ loc_27D48:
move.b #$14,$20(a1)
move.b #1,$2E(a1)
move.b #1,(a2)
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
locret_27DBA:
rts
@@ -47829,13 +47676,13 @@ loc_2817A:
move.b #1,$32(a0)
tst.b 4(a0)
bpl.s loc_281DA
- moveq #sfx_Crash,d0
+ moveq #signextendB(sfx_Crash),d0
cmpi.b #2,(Current_zone).w
beq.s loc_281BE
- moveq #sfx_MetalLand,d0
+ moveq #signextendB(sfx_MechaLand),d0
loc_281BE:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
bra.s loc_281DA
; ---------------------------------------------------------------------------
@@ -47923,10 +47770,10 @@ loc_282D4:
bsr.s sub_2831E
move.w #$80,8(a1)
move.b #2,$22(a1)
- move.b #-$68,$28(a1)
+ move.b #$98,$28(a1)
move.l #loc_28364,(a1)
- moveq #sfx_EnergyZap,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_EnergyZap),d0
+ jsr (Play_SFX).l
loc_28318:
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -47974,12 +47821,12 @@ Map_LBZGateLaser:
include "Levels/LBZ/Misc Object Data/Map - Gate Laser.asm"
; ---------------------------------------------------------------------------
-Obj_22_1:
+Obj_LBZAlarm:
move.b #4,4(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
move.w #$280,8(a0)
- move.b #-$29,$28(a0)
+ move.b #$D7,$28(a0)
move.l #loc_283DC,(a0)
loc_283DC:
@@ -48036,8 +47883,8 @@ loc_2845A:
move.w $30(a0),d0
andi.b #$1F,d0
bne.s locret_2846C
- moveq #sfx_Alarm,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Alarm),d0
+ jsr (Play_SFX).l
locret_2846C:
rts
@@ -48053,10 +47900,10 @@ word_2847A: dc.w $C0, $FFA0
dc.w $FF40, $FFA0
; ---------------------------------------------------------------------------
-Obj_23_1:
+Obj_LBZUnusedForceFall:
move.b #4,4(a0)
move.b #$10,7(a0)
- move.b #-$80,6(a0)
+ move.b #$80,6(a0)
move.b #0,8(a0)
moveq #0,d0
move.b $2C(a0),d0
@@ -48152,7 +47999,8 @@ sub_28580:
; End of function sub_28580
; ---------------------------------------------------------------------------
-AutoTunnel_Index:dc.w Obj_AutoTunnelInit-AutoTunnel_Index
+AutoTunnel_Index:
+ dc.w Obj_AutoTunnelInit-AutoTunnel_Index
dc.w Obj_AutoTunnelRun-AutoTunnel_Index
dc.w Obj_AutoTunnelLastMove-AutoTunnel_Index
; ---------------------------------------------------------------------------
@@ -48173,7 +48021,7 @@ Obj_AutoTunnelInit:
tst.b $2E(a1)
bne.s locret_28644
addq.b #2,(a4)
- move.b #-$7F,$2E(a1)
+ move.b #$81,$2E(a1)
move.b #2,$20(a1)
clr.b $40(a1)
move.w #$800,$1C(a1)
@@ -48186,8 +48034,8 @@ Obj_AutoTunnelInit:
move.w $14(a0),$14(a1)
clr.b 1(a4)
bsr.w AutoTunnel_GetPath
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
btst #5,$2C(a0)
beq.s locret_28644
tst.b (Current_act).w
@@ -48237,8 +48085,8 @@ loc_2867C:
move.w #0,$1A(a1)
loc_2869E:
- moveq #sfx_TubeLauncher,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TubeLauncher),d0
+ jsr (Play_SFX).l
btst #5,$2C(a0)
beq.s loc_286DA
movea.l a1,a2
@@ -48581,7 +48429,7 @@ Obj_TunnelExContinuous:
move.w #$380,8(a1)
move.w #0,$18(a1)
move.w #$400,$1A(a1)
- move.b #-$7C,4(a1)
+ move.b #$84,4(a1)
move.b #1,$22(a1)
move.w #$B,$2E(a1)
@@ -48665,13 +48513,13 @@ loc_28AE0:
add.w d0,d0
move.w d0,$2E(a1)
addi.w #$10,$10(a1)
- move.b #-$3A,$28(a1)
+ move.b #$C6,$28(a1)
loc_28B5A:
subq.w #1,$30(a0)
bpl.s loc_28B6C
move.w #$78,$30(a0)
- eori.b #-1,$32(a0)
+ eori.b #$FF,$32(a0)
loc_28B6C:
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -48704,7 +48552,7 @@ loc_28BAA:
bsr.s sub_28BBE
loc_28BB8:
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; =============== S U B R O U T I N E =======================================
@@ -48861,7 +48709,8 @@ LBZTubeElevator_Action:
; End of function LBZTubeElevator_Action
; ---------------------------------------------------------------------------
-LBZTubeElevator_Index:dc.w LBZTubeElevator_WaitPlayer-LBZTubeElevator_Index
+LBZTubeElevator_Index:
+ dc.w LBZTubeElevator_WaitPlayer-LBZTubeElevator_Index
dc.w LBZTubeElevator_StartSpin-LBZTubeElevator_Index
dc.w LBZTubeElevator_MovePath-LBZTubeElevator_Index
dc.w LBZTubeElevator_SlowSpin-LBZTubeElevator_Index
@@ -48878,8 +48727,8 @@ LBZTubeElevator_WaitPlayer:
loc_28DC4:
addq.b #2,(a4)
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
bra.s LBZTubeElevator_StartSpin
; ---------------------------------------------------------------------------
@@ -49146,7 +48995,7 @@ LBZTubeElevator_CheckPlayer:
bne.w loc_29128
tst.w (Debug_placement_mode).w
bne.w locret_29126
- cmpa.w #-$4FB6,a1
+ cmpa.w #Player_2,a1
bne.s loc_2909A
btst #4,$2A(a0)
beq.s loc_2909A
@@ -49176,7 +49025,7 @@ loc_290B0:
loc_290D6:
addq.b #2,(a2)
- move.b #-$7D,$2E(a1)
+ move.b #$83,$2E(a1)
move.b #0,$20(a1)
clr.b $40(a1)
move.w #0,$1C(a1)
@@ -49217,7 +49066,7 @@ loc_2915E:
moveq #0,d0
move.b $26(a0),d0
move.b LBZTubeElevator_PlayerFrame(pc,d0.w),$22(a1)
- andi.b #-4,4(a1)
+ andi.b #$FC,4(a1)
move.b LBZTubeElevator_PlayerFlip(pc,d0.w),d0
or.b d0,4(a1)
moveq #0,d0
@@ -49227,7 +49076,8 @@ loc_2915E:
movea.l (sp)+,a2
rts
; ---------------------------------------------------------------------------
-LBZTubeElevator_PlayerFrame:dc.b $55
+LBZTubeElevator_PlayerFrame:
+ dc.b $55
dc.b $59
dc.b $5A
dc.b $5B
@@ -49239,7 +49089,8 @@ LBZTubeElevator_PlayerFrame:dc.b $55
dc.b $58
dc.b $57
dc.b $56
-LBZTubeElevator_PlayerFlip:dc.b 0
+LBZTubeElevator_PlayerFlip:
+ dc.b 0
dc.b 1
dc.b 1
dc.b 0
@@ -49325,8 +49176,8 @@ loc_293BA:
move.b #0,$36(a0)
tst.b 4(a0)
bpl.s loc_293E4
- moveq #sfx_WaterfallSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaterfallSplash),d0
+ jsr (Play_SFX).l
loc_293E4:
lea (Ani_AIZDisappearingFloor).l,a1
@@ -49531,7 +49382,7 @@ loc_29800:
loc_29818:
move.w $38(a0),(Chain_bonus_counter).w
- andi.b #-$19,$2A(a0)
+ andi.b #$E7,$2A(a0)
movea.l $3C(a0),a4
addq.b #1,$22(a0)
move.l #loc_29838,(a0)
@@ -49741,7 +49592,7 @@ loc_29A50:
loc_29A56:
move.w $38(a0),(Chain_bonus_counter).w
- andi.b #-$19,$2A(a0)
+ andi.b #$E7,$2A(a0)
lea (word_29A8C).l,a4
moveq #0,d0
move.b $22(a0),d0
@@ -49829,7 +49680,7 @@ Map_LBZCorkFloor:
Obj_AIZFlippingBridge:
move.l #Map_AIZFlippingBridge,$C(a0)
move.w #$42E9,$A(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.b #4,6(a0)
move.b #4,4(a0)
move.w #$200,8(a0)
@@ -49861,7 +49712,7 @@ loc_29FEA:
move.l #Map_AIZFlippingBridge,$C(a1)
move.w #$42E9,$A(a1)
move.b #4,4(a1)
- move.b #-$80,7(a1)
+ move.b #$80,7(a1)
move.b #$40,6(a1)
move.w #$200,8(a1)
move.w $10(a0),$10(a1)
@@ -49941,8 +49792,8 @@ loc_2A0DC:
addq.b #3,d0
andi.b #7,d0
bne.s locret_2A0FC
- moveq #sfx_GlideLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GlideLand),d0
+ jsr (Play_SFX).l
locret_2A0FC:
rts
@@ -49962,8 +49813,8 @@ loc_2A104:
addq.b #3,d0
andi.b #7,d0
bne.s locret_2A124
- moveq #sfx_GlideLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GlideLand),d0
+ jsr (Play_SFX).l
locret_2A124:
rts
@@ -50202,7 +50053,7 @@ loc_2A470:
move.b d0,$35(a0)
move.b #8,$37(a0)
move.l #Map_AIZDrawBridgeFire,$C(a0)
- move.w #-$3D17,$A(a0)
+ move.w #$C2E9,$A(a0)
move.b #$60,7(a0)
move.b #8,6(a0)
move.b #4,4(a0)
@@ -50211,7 +50062,7 @@ loc_2A470:
bne.w loc_2A52E
move.l #loc_2A57C,(a1)
move.l #Map_AIZDrawBridgeFire,$C(a1)
- move.w #-$3D17,$A(a1)
+ move.w #$C2E9,$A(a1)
ori.b #4,4(a1)
move.b #$60,7(a1)
move.b #8,6(a1)
@@ -50433,8 +50284,8 @@ loc_2A6E6:
loc_2A724:
move.w #0,$18(a3)
move.w #0,$1A(a3)
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_2A6C6
; ---------------------------------------------------------------------------
@@ -50446,12 +50297,12 @@ Map_AIZDrawBridgeFire:
Obj_AIZDrawBridge:
move.l #Map_AIZDrawBridge,$C(a0)
- move.w #-$3D17,$A(a0)
+ move.w #$C2E9,$A(a0)
move.b #4,4(a0)
move.w #$280,8(a0)
move.b #8,7(a0)
move.b #$60,6(a0)
- ori.b #-$80,$2A(a0)
+ ori.b #$80,$2A(a0)
move.w $10(a0),$30(a0)
move.w $14(a0),$32(a0)
subi.w #$68,$14(a0)
@@ -50531,8 +50382,8 @@ loc_2A934:
tst.b $36(a0)
bne.s loc_2A978
move.b #1,$36(a0)
- moveq #sfx_FlipBridge,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlipBridge),d0
+ jsr (Play_SFX).l
move.w #$68,d1
btst #0,$2A(a0)
beq.s loc_2A95C
@@ -50555,8 +50406,8 @@ loc_2A978:
loc_2A98C:
move.b #0,$36(a0)
- moveq #sfx_FlipBridge,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlipBridge),d0
+ jsr (Play_SFX).l
move.l #loc_2A9B0,(a0)
bra.s loc_2A9AA
; ---------------------------------------------------------------------------
@@ -50801,8 +50652,8 @@ loc_2AB98:
loc_2ABFC:
move.w #0,$18(a3)
move.w #0,$1A(a3)
- moveq #sfx_BridgeCollapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_BridgeCollapse),d0
+ jmp (Play_SFX).l
; End of function sub_2AB76
; ---------------------------------------------------------------------------
@@ -50950,7 +50801,7 @@ loc_2ADA0:
move.w $10(a0),d4
jsr (SolidObjectTop).l
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2ADD4
@@ -51015,7 +50866,7 @@ Obj_AIZSpikedLog:
bne.w loc_2AF76
move.l #loc_2B0B6,(a1)
move.b #4,4(a1)
- move.b #-$64,$28(a1)
+ move.b #$9C,$28(a1)
move.w a0,$3C(a1)
move.w a1,$3C(a0)
@@ -51090,7 +50941,7 @@ loc_2B02C:
move.b $23(a0),d0
addq.b #1,$23(a0)
move.b byte_2B056(pc,d0.w),$22(a0)
- move.b byte_2B057(pc,d0.w),d0
+ move.b byte_2B056+1(pc,d0.w),d0
bpl.s loc_2B054
move.b #0,$23(a0)
@@ -51098,7 +50949,7 @@ loc_2B054:
bra.s loc_2B05E
; ---------------------------------------------------------------------------
byte_2B056: dc.b 7
-byte_2B057: dc.b 8
+ dc.b 8
dc.b 9
dc.b $A
dc.b 9
@@ -51118,7 +50969,7 @@ loc_2B05E:
move.w $10(a0),d4
jsr (SolidObjectFull).l
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2B096
@@ -51518,13 +51369,13 @@ word_2B994: dc.w $4438
Map_AIZ2FGTree: include "Levels/AIZ/Misc Object Data/Map - Act 2 Foreground Tree.asm"
; ---------------------------------------------------------------------------
-Obj_31_1:
+Obj_LBZRollingDrum:
moveq #0,d0
move.b $2C(a0),d0
move.w d0,$32(a0)
neg.w d0
move.w d0,$30(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.l #loc_2B9D2,(a0)
loc_2B9D2:
@@ -51573,7 +51424,7 @@ loc_2BA34:
bne.s locret_2BA74
cmpi.w #8,d0
bcc.s loc_2BA4C
- move.b #-$7F,(a2)
+ move.b #$81,(a2)
loc_2BA4C:
cmpi.w #$9E,d0
@@ -51582,7 +51433,7 @@ loc_2BA4C:
loc_2BA56:
jsr (RideObject_SetRide).l
- move.b #-$80,$2D(a1)
+ move.b #$80,$2D(a1)
move.w #1,$20(a1)
tst.w $1C(a1)
bne.s locret_2BA74
@@ -51633,14 +51484,14 @@ loc_2BAC2:
add.w $14(a0),d1
move.w d1,$14(a1)
move.b (a2),d0
- addi.b #-$80,d0
+ addi.b #$80,d0
move.b d0,$27(a1)
addq.b #2,(a2)
- move.b #-$80,$2D(a1)
+ move.b #$80,$2D(a1)
tst.w $1C(a1)
bne.s loc_2BB0E
move.w #1,$1C(a1)
- move.b #-$7F,$2D(a1)
+ move.b #$81,$2D(a1)
loc_2BB0E:
bset #7,$A(a1)
@@ -51715,8 +51566,8 @@ loc_2BBCE:
loc_2BBE4:
tst.b (a3)
bne.s loc_2BBF0
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_2BBF0:
bset d3,(a3)
@@ -51756,8 +51607,8 @@ loc_2BC38:
loc_2BC4E:
tst.b (a3)
bne.s loc_2BC5A
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_2BC5A:
bset d3,(a3)
@@ -51800,8 +51651,8 @@ loc_2BC92:
loc_2BCD6:
tst.b (a3)
bne.s loc_2BCE2
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_2BCE2:
bset d3,(a3)
@@ -52290,7 +52141,7 @@ sub_2C2DC:
Obj_EnemyScore:
move.l #Map_EnemyScore,$C(a0)
- move.w #-$7A1C,$A(a0)
+ move.w #make_art_tile(ArtTile_StarPost,0,1),$A(a0)
move.b #4,4(a0)
move.w #$80,8(a0)
move.b #8,7(a0)
@@ -52328,7 +52179,7 @@ off_2C42C: dc.w loc_2C436-off_2C42C
loc_2C436:
addq.b #2,5(a0)
move.l #Map_StarPost,$C(a0)
- move.w #$5EC,$A(a0)
+ move.w #ArtTile_StarPost+8,$A(a0)
move.b #4,4(a0)
move.b #8,7(a0)
move.b #$28,6(a0)
@@ -52374,8 +52225,8 @@ sub_2C49E:
addi.w #$40,d0
cmpi.w #$68,d0
bcc.w locret_2C55E
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s loc_2C546
move.l #Obj_StarPost,(a1)
@@ -52392,7 +52243,7 @@ sub_2C49E:
move.b #2,$22(a1)
move.w #$20,$36(a1)
move.w a0,$3E(a1)
- cmpi.w #$32,(Ring_count).w
+ cmpi.w #50,(Ring_count).w
bcs.s loc_2C546
bsr.w sub_2C83E
@@ -52592,7 +52443,7 @@ loc_2C842:
bne.s locret_2C8AC
move.l (a0),(a1)
move.l #Map_StarpostStars,$C(a1)
- move.w #$5EC,$A(a1)
+ move.w #ArtTile_StarPost+8,$A(a1)
move.b #4,4(a1)
move.b #8,5(a1)
move.w $10(a0),d0
@@ -52683,7 +52534,7 @@ loc_2C950:
; ---------------------------------------------------------------------------
loc_2C95A:
- move.b #-$28,$28(a0)
+ move.b #$D8,$28(a0)
loc_2C960:
cmpi.w #$180,d1
@@ -52711,14 +52562,14 @@ loc_2C972:
loc_2C99C:
move.b d0,$22(a0)
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_2C9A6:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-loc_2C9AC:
+Obj_GameOver:
tst.l (Nem_decomp_queue).w
beq.s loc_2C9B4
rts
@@ -52761,7 +52612,7 @@ loc_2CA0E:
bne.w loc_2CA60
move.b (Ctrl_1_pressed).w,d0
or.b (Ctrl_2_pressed).w,d0
- andi.b #-$10,d0
+ andi.b #$F0,d0
bne.s loc_2CA3C
tst.w $24(a0)
beq.s loc_2CA3C
@@ -52900,7 +52751,7 @@ loc_2CB84:
st (Update_HUD_ring_count).w
move.b #$1E,(Player_1+air_left).w
move.b #$1E,(Player_2+air_left).w
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
loc_2CBC0:
clr.w $48(a0)
@@ -53052,7 +52903,8 @@ loc_2CD06:
loc_2CD1C:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-TitleCard_LevelGfx:dc.l ArtKosM_AIZTitleCard
+TitleCard_LevelGfx:
+ dc.l ArtKosM_AIZTitleCard
dc.l ArtKosM_HCZTitleCard
dc.l ArtKosM_MGZTitleCard
dc.l ArtKosM_CNZTitleCard
@@ -53074,7 +52926,8 @@ TitleCard_LevelGfx:dc.l ArtKosM_AIZTitleCard
dc.l ArtKosM_BonusTitleCard
dc.l ArtKosM_BonusTitleCard
dc.l ArtKosM_BonusTitleCard
-ObjArray_TtlCard:dc.l Obj_TitleCardName
+ObjArray_TtlCard:
+ dc.l Obj_TitleCardName
dc.w $120
dc.w $260
dc.w $E0
@@ -53102,14 +52955,16 @@ ObjArray_TtlCard:dc.l Obj_TitleCardName
dc.b 1
dc.b 0
dc.w 1
-ObjArray_TtlCard2:dc.l Obj_TitleCardElement2
+ObjArray_TtlCard2:
+ dc.l Obj_TitleCardElement2
dc.w $15C
dc.w $21C
dc.w $BC
dc.b $12
dc.b $80
dc.w 1
-ObjArray_TtlCardBonus:dc.l Obj_TitleCardElement
+ObjArray_TtlCardBonus:
+ dc.l Obj_TitleCardElement
dc.w $C8
dc.w $188
dc.w $E8
@@ -53131,7 +52986,8 @@ Obj_LevelResults:
move.w LevelResults_Index(pc,d0.w),d1
jmp LevelResults_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-LevelResults_Index:dc.w Obj_LevelResultsInit-LevelResults_Index
+LevelResults_Index:
+ dc.w Obj_LevelResultsInit-LevelResults_Index
dc.w Obj_LevelResultsCreate-LevelResults_Index
dc.w Obj_LevelResultsWait-LevelResults_Index
dc.w Obj_LevelResultsWait2-LevelResults_Index
@@ -53161,10 +53017,10 @@ loc_2CE14:
lea (ArtKosM_ResultsTAILS).l,a1
loc_2CE4C:
- move.w #-$5000,d2
+ move.w #$B000,d2
tst.b (Apparent_act).w
beq.s loc_2CE5A
- move.w #-$4C00,d2
+ move.w #tiles_to_bytes(ArtTile_Explosion),d2
loc_2CE5A:
jsr (Queue_Kos_Module).l
@@ -53174,7 +53030,7 @@ loc_2CE5A:
moveq #0,d1
move.b (Timer_second).w,d1
add.w d1,d0
- cmpi.w #$257,d0
+ cmpi.w #599,d0
bne.s loc_2CE80
move.w #10000,(Time_bonus_countdown).w
bra.s loc_2CE98
@@ -53247,22 +53103,22 @@ Obj_LevelResultsWait:
bne.s locret_2CF8E
move.b #$1E,(Player_1+air_left).w
move.b #$1E,(Player_2+air_left).w
- moveq #mus_GotThroughAct,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_GotThroughAct),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_2CF4C:
moveq #0,d0
tst.w (Time_bonus_countdown).w
beq.s loc_2CF5E
- addi.w #$A,d0
- subi.w #$A,(Time_bonus_countdown).w
+ addi.w #10,d0
+ subi.w #10,(Time_bonus_countdown).w
loc_2CF5E:
tst.w (Ring_bonus_countdown).w
beq.s loc_2CF6E
- addi.w #$A,d0
- subi.w #$A,(Ring_bonus_countdown).w
+ addi.w #10,d0
+ subi.w #10,(Ring_bonus_countdown).w
loc_2CF6E:
add.w d0,(Total_bonus_countup).w
@@ -53272,8 +53128,8 @@ loc_2CF6E:
move.w (Level_frame_counter).w,d0
andi.w #3,d0
bne.s locret_2CF8E
- moveq #sfx_Switch,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_2CF8E:
@@ -53281,8 +53137,8 @@ locret_2CF8E:
; ---------------------------------------------------------------------------
loc_2CF90:
- moveq #sfx_Register,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Register),d0
+ jsr (Play_SFX).l
jsr (SaveGame).l
move.w #$5A,$2E(a0)
addq.b #2,5(a0)
@@ -53502,8 +53358,16 @@ loc_2D124:
dc.b 0, 0, 4
dc.b 0, 0, 2
dc.b 0, 0, 1
-TimeBonus: dc.w $1388, $1388, $3E8, $1F4, $190, $12C, $64, $A
-ObjArray_LevResults:dc.l Obj_LevResultsCharName
+TimeBonus: dc.w 5000
+ dc.w 5000
+ dc.w 1000
+ dc.w 500
+ dc.w 400
+ dc.w 300
+ dc.w 100
+ dc.w 10
+ObjArray_LevResults:
+ dc.l Obj_LevResultsCharName
dc.w $E0
dc.w $FDE0
dc.w $B8
@@ -53594,20 +53458,20 @@ locret_2D216:
; ---------------------------------------------------------------------------
SpecialStage_Results:
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move #$2700,sr
move.w (VDP_reg_1_command).w,d0
andi.b #-$41,d0
move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
lea (VDP_control_port).l,a6
- move.w #-$7FFC,(a6)
- move.w #-$7DD0,(a6)
- move.w #-$7BF9,(a6)
- move.w #-$7500,(a6)
- move.w #-$737F,(a6)
- move.w #-$6FEF,(a6)
+ move.w #$8004,(a6)
+ move.w #$8230,(a6)
+ move.w #$8407,(a6)
+ move.w #$8B00,(a6)
+ move.w #$8C81,(a6)
+ move.w #$9011,(a6)
lea (Sprite_table_input).w,a1
moveq #0,d0
move.w #$FF,d1
@@ -53646,7 +53510,7 @@ loc_2D270:
lea (ArtKosM_ResultsTAILS).l,a1
loc_2D2DE:
- move.w #-$5000,d2
+ move.w #$B000,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_SSResults).l,a1
move.w #$20,d2
@@ -53679,7 +53543,7 @@ loc_2D340:
loc_2D35C:
jsr (Init_SpriteTable).l
- move.l #loc_2D41E,(Dynamic_object_RAM+object_size).w
+ move.l #Obj_SpecialStage_Results,(Dynamic_object_RAM+object_size).w
move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
move.w d0,(VDP_control_port).l
@@ -53698,7 +53562,7 @@ Pal_Results: binclude "General/Special Stage/Palettes/Results S3.bin"
even
; ---------------------------------------------------------------------------
-loc_2D41E:
+Obj_SpecialStage_Results:
moveq #0,d0
move.b 5(a0),d0
move.w off_2D42C(pc,d0.w),d1
@@ -53735,7 +53599,7 @@ loc_2D442:
clr.w (Time_bonus_countdown).w
tst.w (Special_stage_rings_left).w
bne.s loc_2D48E
- move.w #$1388,(Time_bonus_countdown).w
+ move.w #5000,(Time_bonus_countdown).w
loc_2D48E:
move.w #$168,$2E(a0)
@@ -53749,8 +53613,8 @@ loc_2D49A:
subq.w #1,$2E(a0)
cmpi.w #$121,$2E(a0)
bne.s locret_2D4F2
- moveq #mus_GotThroughAct,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_GotThroughAct),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_2D4B4:
@@ -53773,8 +53637,8 @@ loc_2D4D6:
move.w (Level_frame_counter).w,d0
andi.w #3,d0
bne.s locret_2D4F2
- moveq #sfx_Switch,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_2D4F2:
@@ -53782,8 +53646,8 @@ locret_2D4F2:
; ---------------------------------------------------------------------------
loc_2D4F4:
- moveq #sfx_Register,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Register),d0
+ jsr (Play_SFX).l
move.w #$78,$2E(a0)
addq.b #2,5(a0)
@@ -53801,8 +53665,8 @@ loc_2D512:
bne.s loc_2D536
move.l #loc_2D83C,(a1)
move.w #$10E,$2E(a0)
- moveq #sfx_Continue,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Continue),d0
+ jsr (Play_SFX).l
loc_2D536:
addq.b #2,5(a0)
@@ -53819,7 +53683,7 @@ loc_2D546:
bhi.s loc_2D588
tst.w (Special_stage_spheres_left).w
bne.s loc_2D588
- cmpi.b #7,(Emerald_count+1).w
+ cmpi.b #7,(Chaos_emerald_count+1).w
bcs.s loc_2D588
lea (Dynamic_object_RAM+(object_size*16)).w,a1
moveq #4,d0
@@ -54078,7 +53942,7 @@ loc_2D776:
add.w d0,$10(a0)
add.w d0,$46(a0)
add.b d1,$22(a0)
- cmpi.b #7,(Emerald_count+1).w
+ cmpi.b #7,(Chaos_emerald_count+1).w
bcs.s loc_2D7A2
subi.w #$10,$10(a0)
subi.w #$10,$46(a0)
@@ -54095,7 +53959,7 @@ loc_2D7AC:
jsr sub_2D8A4(pc)
sub.w d0,$10(a0)
sub.w d0,$46(a0)
- cmpi.b #7,(Emerald_count+1).w
+ cmpi.b #7,(Chaos_emerald_count+1).w
bcs.s loc_2D7D4
subi.w #$10,$10(a0)
subi.w #$10,$46(a0)
@@ -54109,7 +53973,7 @@ loc_2D7D4:
loc_2D7DE:
tst.w (Special_stage_spheres_left).w
bne.w loc_2D89E
- cmpi.b #7,(Emerald_count+1).w
+ cmpi.b #7,(Chaos_emerald_count+1).w
bcs.s loc_2D7F6
subq.w #8,$10(a0)
subq.w #8,$46(a0)
@@ -54123,7 +53987,7 @@ loc_2D7F6:
loc_2D800:
tst.w (Special_stage_spheres_left).w
bne.w loc_2D89E
- cmpi.b #7,(Emerald_count+1).w
+ cmpi.b #7,(Chaos_emerald_count+1).w
bcs.w loc_2D89E
jsr sub_2D8A4(pc)
sub.w d0,$10(a0)
@@ -54136,7 +54000,7 @@ loc_2D800:
loc_2D828:
tst.w (Special_stage_spheres_left).w
bne.w loc_2D89E
- cmpi.b #7,(Emerald_count+1).w
+ cmpi.b #7,(Chaos_emerald_count+1).w
bcs.s loc_2D89E
bra.w loc_2D710
; ---------------------------------------------------------------------------
@@ -54267,7 +54131,7 @@ off_2DF60: dc.w PLCKosM_AIZ-off_2DF60
PLCKosM_AIZ: dc.w 2
dc.l ArtKosM_AIZ_MonkeyDude
dc.w $A900
- dc.l ArtKosM_AIZ_Tulipon
+ dc.l ArtKosM_AIZ_Bloominator
dc.w $A540
dc.l ArtKosM_AIZ_CaterkillerJr
dc.w $ABE0
@@ -54321,7 +54185,7 @@ PLCKosM_ICZ: dc.w 1
dc.l ArtKosM_StarPointer
dc.w $A900
PLCKosM_LBZ: dc.w 3
- dc.l ArtKosM_SnailBlaster
+ dc.l ArtKosM_SnaleBlaster
dc.w $A480
dc.l ArtKosM_Orbinaut
dc.w $ADC0
@@ -54349,7 +54213,7 @@ loc_2E068:
addq.b #2,5(a0)
move.l #Map_Bubbler,$C(a0)
move.w #$45C,$A(a0)
- move.b #-$7C,4(a0)
+ move.b #$84,4(a0)
move.b #$10,7(a0)
move.w #$80,8(a0)
move.b $2C(a0),d0
@@ -54511,7 +54375,7 @@ loc_2E266:
loc_2E272:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2E294
@@ -54587,8 +54451,8 @@ sub_2E2C8:
btst #6,$2B(a1)
bne.w locret_2E392
jsr (Player_ResetAirTimer).l
- moveq #sfx_Bubble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bubble),d0
+ jsr (Play_SFX).l
clr.w $18(a1)
clr.w $1A(a1)
clr.w $1C(a1)
@@ -54628,7 +54492,7 @@ Ani_Bubbler: include "General/Sprites/Bubbles/Anim - Bubbler.asm"
Map_Bubbler: include "General/Sprites/Bubbles/Map - Bubbler.asm"
; ---------------------------------------------------------------------------
-Obj_37_1:
+Obj_HCZWaterRush:
move.l #Map_HCZWaterRush,$C(a0)
ori.b #4,4(a0)
move.w #$437A,$A(a0)
@@ -54741,7 +54605,7 @@ loc_2E794:
loc_2E7A4:
lea (ArtKosM_HCZGeyserHorz).l,a1
- move.w #-$6000,d2
+ move.w #$A000,d2
jsr (Queue_Kos_Module).l
move.l #loc_2E7BA,(a0)
@@ -54756,7 +54620,7 @@ loc_2E7C2:
move.w #$300,8(a0)
move.l #Map_HCZWaterWall,$C(a0)
move.w #$4500,$A(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.b #$20,6(a0)
bset #6,4(a0)
move.w #1,$16(a0)
@@ -54772,8 +54636,8 @@ loc_2E80C:
cmp.w $10(a0),d0
bcs.w loc_2E896
move.l #loc_2E8CC,(a0)
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
lea (byte_2E89C).l,a3
move.w $10(a0),d2
addi.w #$60,d2
@@ -54786,7 +54650,7 @@ loc_2E83E:
move.l #loc_2E9AA,(a1)
move.l #Map_HCZWaterWallDebris,$C(a1)
move.w #$4558,$A(a1)
- move.b #-$7C,4(a1)
+ move.b #$84,4(a1)
move.b (a3)+,d0
ext.w d0
add.w d2,d0
@@ -54884,9 +54748,9 @@ loc_2E958:
bmi.s loc_2E990
clr.b (Palette_cycle_counters+$00).w
move.w #$FF00|mus_MutePSG,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.w #$FF00|mus_StopSFX,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.w #$96,$30(a0)
move.l #loc_2E996,(a0)
rts
@@ -54929,7 +54793,7 @@ loc_2E9C0:
move.l #loc_2EACE,(a1)
move.l #Map_HCZWaterWall,$C(a1)
move.w #$2530,$A(a1)
- move.b #-$7C,4(a1)
+ move.b #$84,4(a1)
move.w $10(a0),$10(a1)
move.w (Water_level).w,$14(a1)
move.w #$200,8(a1)
@@ -55019,11 +54883,11 @@ loc_2EB48:
loc_2EB4E:
lea (ArtKosM_HCZGeyserVert).l,a1
- move.w #-$6000,d2
+ move.w #$A000,d2
jsr (Queue_Kos_Module).l
move.b #1,$22(a0)
- move.b #-$7F,(Player_1+object_control).w
- move.b #-$7F,(Player_2+object_control).w
+ move.b #$81,(Player_1+object_control).w
+ move.b #$81,(Player_2+object_control).w
move.l #loc_2EB76,(a0)
loc_2EB76:
@@ -55060,8 +54924,8 @@ loc_2EBD6:
move.b #$1A,(Player_1+anim).w
move.b #$1A,(Player_2+anim).w
move.l #loc_2ECAA,(a0)
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
move.b #1,(Palette_cycle_counters+$00).w
lea (byte_2EC7A).l,a3
move.w $10(a0),d2
@@ -55182,7 +55046,7 @@ loc_2ED64:
sub_2ED6A:
move.l #loc_2EA6E,(a1)
move.l $C(a0),$C(a1)
- move.b #-$7C,4(a1)
+ move.b #$84,4(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
subi.w #$50,$14(a1)
@@ -55206,11 +55070,11 @@ loc_2EDBA:
tst.b 4(a0)
bmi.s loc_2EDFE
move.w #$FF00|mus_StopSFX,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.w #$FF00|mus_MutePSG,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.w #$FF00|mus_StopSFX,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #0,(Palette_cycle_counters+$00).w
move.w $48(a0),d0
beq.s loc_2EDF0
@@ -55341,8 +55205,8 @@ loc_2F0D0:
addq.b #1,d0
andi.b #$F,d0
bne.s loc_2F0EA
- moveq #sfx_FanSmall,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanSmall),d0
+ jsr (Play_SFX).l
loc_2F0EA:
btst #6,$2C(a0)
@@ -55457,8 +55321,8 @@ loc_2F22E:
bne.s loc_2F25C
move.b #1,$42(a1)
move.w #0,$34(a1)
- moveq #sfx_FanLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanLatch),d0
+ jsr (Play_SFX).l
loc_2F25C:
move.w $3A(a0),d1
@@ -55475,8 +55339,8 @@ loc_2F26C:
beq.s loc_2F28C
move.b #0,$42(a1)
move.b #0,$24(a1)
- moveq #sfx_FanLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanLatch),d0
+ jsr (Play_SFX).l
loc_2F28C:
tst.w $30(a0)
@@ -55524,7 +55388,7 @@ loc_2F2F8:
loc_2F304:
lea (ArtKosM_HCZLargeFan).l,a1
- move.w #-$6000,d2
+ move.w #$A000,d2
jsr (Queue_Kos_Module).l
move.l #loc_2F31A,(a0)
@@ -55542,8 +55406,8 @@ loc_2F322:
move.b #$18,7(a0)
move.b #$20,6(a0)
move.w #8,$30(a0)
- moveq #sfx_FanLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanLatch),d0
+ jsr (Play_SFX).l
move.l #loc_2F35C,(a0)
loc_2F35C:
@@ -55558,8 +55422,8 @@ loc_2F372:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_2F384
- moveq #sfx_FanBig,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanBig),d0
+ jsr (Play_SFX).l
loc_2F384:
subq.b #1,$24(a0)
@@ -55765,8 +55629,8 @@ loc_2F796:
bne.s loc_2F7B4
move.b #0,$34(a0)
move.l #loc_2F6D8,(a0)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
bra.s loc_2F7D0
; ---------------------------------------------------------------------------
@@ -55900,8 +55764,8 @@ loc_2F8EE:
tst.w (Debug_placement_mode).w
bne.s locret_2F96A
bset d6,$35(a0)
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
move.b #0,$20(a1)
move.b #$13,$1E(a1)
move.b #9,$1F(a1)
@@ -56023,8 +55887,8 @@ loc_2FB46:
addq.w #8,$30(a0)
cmpi.w #$40,$30(a0)
bne.s loc_2FB9E
- moveq #sfx_FanLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanLatch),d0
+ jsr (Play_SFX).l
bra.s loc_2FB9E
; ---------------------------------------------------------------------------
@@ -56033,8 +55897,8 @@ loc_2FB8A:
beq.s loc_2FBAA
subq.w #8,$30(a0)
bne.s loc_2FB9E
- moveq #sfx_FanLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanLatch),d0
+ jsr (Play_SFX).l
loc_2FB9E:
move.w $32(a0),d0
@@ -56266,12 +56130,12 @@ loc_2FE1E:
bsr.s sub_2FE80
move.w (Camera_X_pos_coarse_back).w,d1
move.w $3C(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
subi.w #$280,d0
cmp.w d0,d1
bcs.s loc_2FE5E
move.w $3E(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
cmp.w d0,d1
bhi.s loc_2FE5E
rts
@@ -56357,7 +56221,7 @@ loc_2FF2E:
move.b #$5A,2(a2)
loc_2FF44:
- andi.b #-4,$2E(a1)
+ andi.b #$FC,$2E(a1)
bset #1,$2A(a1)
move.b #1,$40(a1)
move.b #$E,$1E(a1)
@@ -56402,7 +56266,7 @@ loc_2FF88:
clr.w $18(a1)
clr.w $1A(a1)
clr.w $1C(a1)
- andi.b #-4,4(a1)
+ andi.b #$FC,4(a1)
move.w $14(a0),d0
addi.w #$14,d0
move.w d0,$14(a1)
@@ -56440,14 +56304,14 @@ loc_30030:
clr.w $18(a1)
clr.w $1A(a1)
clr.w $1C(a1)
- andi.b #-4,4(a1)
+ andi.b #$FC,4(a1)
move.w $14(a0),d0
subi.w #$14,d0
move.w d0,$14(a1)
move.b #0,$20(a1)
move.b #3,$2E(a1)
move.b #$65,$22(a1)
- move.b #-$80,4(a2)
+ move.b #$80,4(a2)
move.b #0,6(a2)
move.b #0,8(a2)
move.b #1,(a2)
@@ -56492,7 +56356,7 @@ loc_300D8:
loc_300DA:
clr.w $1C(a1)
move.b 4(a2),d0
- subi.b #-$80,d0
+ subi.b #$80,d0
beq.s loc_30104
bpl.s loc_300F4
addi.b #6,d0
@@ -56509,7 +56373,7 @@ loc_300F4:
moveq #0,d0
loc_300FC:
- addi.b #-$80,d0
+ addi.b #$80,d0
move.b d0,4(a2)
loc_30104:
@@ -56548,7 +56412,7 @@ Obj_HCZConveryorSpike:
move.w #$280,8(a0)
move.b #$C,7(a0)
move.b #$C,6(a0)
- move.b #-$75,$28(a0)
+ move.b #$8B,$28(a0)
move.w $10(a0),$30(a0)
move.w $14(a0),$32(a0)
btst #0,$2A(a0)
@@ -56625,7 +56489,7 @@ loc_30264:
loc_30280:
move.w (Camera_X_pos_coarse_back).w,d1
move.w $3C(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
subi.w #$280,d0
cmp.w d0,d1
bcs.s loc_302AC
@@ -56737,7 +56601,7 @@ Obj_CNZBalloon:
move.w #$280,8(a0)
move.b #$10,7(a0)
move.b #$20,6(a0)
- move.b #-$29,$28(a0)
+ move.b #$D7,$28(a0)
move.w $14(a0),$32(a0)
move.b $2C(a0),d0
add.b d0,d0
@@ -56778,7 +56642,7 @@ loc_303F2:
asr.w #5,d0
add.w $32(a0),d0
move.w d0,$14(a0)
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; =============== S U B R O U T I N E =======================================
@@ -56807,8 +56671,8 @@ sub_30412:
loc_30466:
tst.b $34(a0)
bne.s locret_3047A
- moveq #sfx_Balloon,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Balloon),d0
+ jsr (Play_SFX).l
move.b #1,$34(a0)
locret_3047A:
@@ -56905,8 +56769,8 @@ loc_30804:
move.b (Level_frame_counter+1).w,d0
andi.b #$1F,d0
bne.s locret_30832
- moveq #sfx_CannonTurn,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_CannonTurn),d0
+ jsr (Play_SFX).l
locret_30832:
rts
@@ -56931,7 +56795,7 @@ loc_30844:
subi.w #$18,$14(a1)
move.b $1D(a0),d0
lsl.b #4,d0
- addi.b #-$80,d0
+ addi.b #$80,d0
jsr (GetSineCosine).l
asl.w #3,d1
asl.w #3,d0
@@ -56972,7 +56836,7 @@ sub_308B4:
move.w #0,$18(a1)
move.w #0,$1A(a1)
move.w #0,$1C(a1)
- move.b #-$7F,$2E(a1)
+ move.b #$81,$2E(a1)
bset #2,$2A(a1)
bset #1,$2A(a1)
move.b #$E,$1E(a1)
@@ -57023,7 +56887,7 @@ loc_30960:
loc_30966:
move.b $1D(a0),d0
lsl.b #4,d0
- addi.b #-$80,d0
+ addi.b #$80,d0
jsr (GetSineCosine).l
asl.w #4,d1
asl.w #4,d0
@@ -57074,7 +56938,7 @@ sub_309D8:
move.w (a2)+,d5
subq.w #1,d5
bmi.s locret_30A30
- move.w #-$7700,d4
+ move.w #$8900,d4
loc_30A04:
moveq #0,d1
@@ -57177,8 +57041,8 @@ loc_30CC4:
neg.w $1A(a0)
subi.w #$80,$1A(a0)
move.b #0,$30(a0)
- moveq #sfx_BalloonPlatform,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_BalloonPlatform),d0
+ jmp (Play_SFX).l
; End of function sub_30C48
; ---------------------------------------------------------------------------
@@ -57223,8 +57087,8 @@ sub_30D8C:
cmpi.w #$20,d0
bcc.s locret_30DBE
move.b #1,$20(a0)
- moveq #sfx_TrapDoor,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TrapDoor),d0
+ jsr (Play_SFX).l
locret_30DBE:
rts
@@ -57326,8 +57190,8 @@ loc_30F24:
move.b (Level_frame_counter+1).w,d0
andi.b #$1F,d0
bne.s loc_30F4C
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
loc_30F4C:
move.w $30(a0),d0
@@ -57345,8 +57209,8 @@ loc_30F56:
move.b (Level_frame_counter+1).w,d0
andi.b #$1F,d0
bne.s loc_30F7E
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
loc_30F7E:
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -57402,7 +57266,7 @@ locret_3100E:
Map_CNZHoverFan:include "Levels/CNZ/Misc Object Data/Map - Hover Fan.asm"
; ---------------------------------------------------------------------------
-Obj_48_1:
+Obj_CNZVacuumTube:
move.b $2C(a0),d0
beq.s loc_310B6
add.b d0,d0
@@ -57471,8 +57335,8 @@ loc_31142:
add.w d0,$10(a1)
move.w $36(a0),d0
bne.s loc_31158
- moveq #sfx_TunnelBooster,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TunnelBooster),d0
+ jsr (Play_SFX).l
loc_31158:
addq.w #1,$36(a0)
@@ -57520,8 +57384,8 @@ sub_31180:
move.b #1,(a2)
move.b $34(a0),2(a2)
move.w d0,-(sp)
- moveq #sfx_Transporter,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Transporter),d0
+ jsr (Play_SFX).l
move.w (sp)+,d0
loc_311DA:
@@ -57877,10 +57741,10 @@ loc_31546:
bpl.s loc_31588
add.w d0,$26(a0)
move.b $26(a0),d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bcc.s loc_31570
andi.b #$7F,d0
- addi.b #-$80,d0
+ addi.b #$80,d0
move.b d0,$26(a0)
subq.b #1,$44(a0)
andi.b #3,$44(a0)
@@ -57888,9 +57752,9 @@ loc_31546:
loc_31570:
move.w #$20,d2
move.b $26(a0),d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bcc.s loc_315B0
- move.b #-$80,d0
+ move.b #$80,d0
move.b d0,$26(a0)
bra.s loc_315B0
; ---------------------------------------------------------------------------
@@ -57898,10 +57762,10 @@ loc_31570:
loc_31588:
add.w d0,$26(a0)
move.b $26(a0),d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bcc.s loc_315AC
andi.b #$7F,d0
- addi.b #-$80,d0
+ addi.b #$80,d0
move.b d0,$26(a0)
addq.b #1,$44(a0)
andi.b #3,$44(a0)
@@ -57966,7 +57830,7 @@ sub_3161A:
sub.w $10(a0),d0
bpl.s loc_3163C
neg.w d0
- move.b #-$80,1(a2)
+ move.b #$80,1(a2)
loc_3163C:
move.b d0,2(a2)
@@ -58072,7 +57936,8 @@ loc_3176A:
; End of function sub_3161A
; ---------------------------------------------------------------------------
-PlayerTwistFrames:dc.b $55
+PlayerTwistFrames:
+ dc.b $55
dc.b $59
dc.b $5A
dc.b $5B
@@ -58228,7 +58093,7 @@ sub_319AE:
sub.w $10(a0),d0
bpl.s loc_319D0
neg.w d0
- move.b #-$80,1(a2)
+ move.b #$80,1(a2)
loc_319D0:
move.b d0,2(a2)
@@ -58317,7 +58182,7 @@ Map_HCZSpinningColumn:
include "Levels/HCZ/Misc Object Data/Map - Spinning Column.asm"
; ---------------------------------------------------------------------------
-Obj_49_1:
+Obj_CNZGiantWheel:
move.b #$60,$32(a0)
move.l #loc_31B60,(a0)
@@ -58414,7 +58279,7 @@ locret_31C1E:
; ---------------------------------------------------------------------------
-Obj_4B_1:
+Obj_CNZTriangleBumpers:
moveq #0,d0
move.b $2C(a0),d0
move.w d0,$34(a0)
@@ -58487,13 +58352,13 @@ loc_31CEA:
bset #1,$2A(a1)
bclr #4,$2A(a1)
bclr #5,$2A(a1)
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_31C48
; ---------------------------------------------------------------------------
-Obj_4F_1:
+Obj_SinkingMud:
move.b $2C(a0),d0
lsl.w #3,d0
move.b d0,7(a0)
@@ -58682,7 +58547,7 @@ loc_31EE4:
rts
; ---------------------------------------------------------------------------
-Obj_5D_1:
+Obj_CGZTriangleBumpers:
move.b #8,7(a0)
move.b #$40,6(a0)
move.b $2C(a0),d0
@@ -58690,7 +58555,7 @@ Obj_5D_1:
andi.b #7,d0
move.b d0,$22(a0)
beq.s loc_31F1C
- move.b #-$80,6(a0)
+ move.b #$80,6(a0)
loc_31F1C:
move.l #loc_31F22,(a0)
@@ -58810,8 +58675,8 @@ loc_32062:
bclr #6,$2A(a0)
bclr #5,$2A(a1)
bclr #4,$2A(a1)
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_31FA6
; ---------------------------------------------------------------------------
@@ -58823,7 +58688,7 @@ Obj_Bumper:
move.b #$10,7(a0)
move.b #$10,6(a0)
move.w #$80,8(a0)
- move.b #-$29,$28(a0)
+ move.b #$D7,$28(a0)
move.w $10(a0),$30(a0)
move.w $14(a0),$32(a0)
tst.w (Competition_mode).w
@@ -58899,12 +58764,12 @@ sub_32146:
bclr #5,$2A(a1)
clr.b $40(a1)
move.b #1,$20(a0)
- moveq #sfx_Bumper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bumper),d0
+ jsr (Play_SFX).l
move.w $48(a0),d0
beq.s loc_321B4
movea.w d0,a2
- cmpi.b #-$76,(a2)
+ cmpi.b #$8A,(a2)
bcc.s locret_321DE
addq.b #1,(a2)
@@ -58929,7 +58794,7 @@ loc_321E0:
lea (Ani_Bumper).l,a1
jsr (Animate_Sprite).l
move.w $30(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_3220A
@@ -58989,8 +58854,8 @@ sub_32248:
bclr #5,$2A(a1)
clr.b $40(a1)
move.b #1,$20(a0)
- moveq #sfx_SmallBumpers,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jsr (Play_SFX).l
rts
; End of function sub_32248
@@ -59007,7 +58872,7 @@ Map_Bumper: include "General/Sprites/Level Misc/Map - Bumper.asm"
Map_2PBumper: include "General/2P Zone/Map - 2P Bumper.asm"
; ---------------------------------------------------------------------------
-Obj_4C_1:
+Obj_CNZSpiralTube:
lea (Player_1).w,a1
lea $30(a0),a4
bsr.s sub_32328
@@ -59068,14 +58933,14 @@ loc_3233C:
cmpi.w #$40,d0
bcc.s loc_323AE
neg.w d1
- move.b #-$80,1(a4)
+ move.b #$80,1(a4)
loc_323AE:
add.w $10(a0),d1
move.w d1,$10(a1)
move.w $14(a0),$14(a1)
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
locret_323C6:
rts
@@ -59479,7 +59344,7 @@ loc_3277C:
andi.w #$7FFF,$A(a1)
cmpi.b #$34,d0
bcc.s loc_3278E
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_3278E:
tst.w 4(a2)
@@ -59577,7 +59442,7 @@ loc_3285C:
loc_32882:
bsr.w sub_32A12
- move.b #-$20,$26(a1)
+ move.b #$E0,$26(a1)
move.b #3,$2D(a1)
locret_32892:
@@ -59624,7 +59489,7 @@ loc_328DA:
loc_3290C:
bsr.w sub_32A12
- move.b #-$20,$26(a1)
+ move.b #$E0,$26(a1)
move.b #3,$2D(a1)
locret_3291C:
@@ -59689,7 +59554,7 @@ loc_329A8:
andi.w #$7FFF,$A(a1)
cmpi.b #$4C,d0
bcs.s loc_329BA
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_329BA:
tst.w 4(a2)
@@ -59749,7 +59614,7 @@ loc_32A22:
move.l a0,-(sp)
movea.l a1,a0
move.w a0,d1
- subi.w #-$5000,d1
+ subi.w #Player_1,d1
bne.s loc_32A56
cmpi.w #2,(Player_mode).w
beq.s loc_32A56
@@ -59772,7 +59637,7 @@ loc_32A5E:
; ---------------------------------------------------------------------------
-Obj_4E_1:
+Obj_CNZWireCage:
moveq #0,d0
move.b $2C(a0),d0
lsl.w #3,d0
@@ -59817,8 +59682,8 @@ loc_32A98:
addi.w #$80,d1
cmp.w d1,d0
bcc.s loc_32AF8
- moveq #sfx_WaveHover,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaveHover),d0
+ jsr (Play_SFX).l
loc_32AF8:
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -59879,7 +59744,7 @@ loc_32B86:
loc_32B92:
bsr.w sub_32E68
- move.b #-$80,(a2)
+ move.b #$80,(a2)
move.b #-$40,$26(a1)
move.w $10(a1),d0
sub.w $10(a0),d0
@@ -59983,9 +59848,9 @@ loc_32CA4:
moveq #0,d0
move.b (a2),d0
andi.w #$7FFF,$A(a1)
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bcs.s loc_32CDE
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_32CDE:
addi.b #$40,d0
@@ -60085,9 +59950,9 @@ loc_32DF4:
moveq #0,d0
move.b (a2),d0
andi.w #$7FFF,$A(a1)
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bcs.s loc_32E2E
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_32E2E:
addi.b #$40,d0
@@ -60123,7 +59988,7 @@ loc_32E78:
move.l a0,-(sp)
movea.l a1,a0
move.w a0,d1
- subi.w #-$5000,d1
+ subi.w #Player_1,d1
bne.s loc_32EA6
cmpi.w #2,(Player_mode).w
beq.s loc_32EA6
@@ -60146,7 +60011,7 @@ loc_32EAE:
; ---------------------------------------------------------------------------
-Obj_50_1:
+Obj_MGZTwistingLoop:
moveq #0,d0
move.b $2C(a0),d0
lsl.w #4,d0
@@ -60222,9 +60087,9 @@ loc_32F38:
sub.w $14(a0),d0
move.w d0,(a2)
bsr.w sub_32E68
- move.b #-$40,$26(a1)
+ move.b #$C0,$26(a1)
bclr #0,4(a1)
- move.b #-$80,5(a2)
+ move.b #$80,5(a2)
move.w $10(a1),d0
sub.w $10(a0),d0
bcs.s loc_32FC2
@@ -60325,7 +60190,7 @@ loc_33088:
loc_330C6:
btst #0,$2A(a0)
beq.s loc_330D4
- addi.b #-$80,$26(a1)
+ addi.b #$80,$26(a1)
loc_330D4:
bclr #2,$2A(a1)
@@ -60387,9 +60252,9 @@ loc_33138:
move.w d0,$14(a1)
moveq #0,d0
andi.w #$7FFF,$A(a1)
- cmpi.b #-$80,d2
+ cmpi.b #$80,d2
bcc.s loc_33196
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_33196:
subi.b #$40,d2
@@ -60526,7 +60391,7 @@ Obj_MGZSwingingSpikeBall:
move.w $10(a0),$30(a0)
move.w $14(a0),$32(a0)
move.b #3,$22(a0)
- move.b #-$71,$28(a0)
+ move.b #$8F,$28(a0)
jsr (Create_New_Sprite3).l
bne.w loc_333F0
move.l #loc_334B4,(a1)
@@ -60557,7 +60422,7 @@ loc_333F0:
beq.s loc_33416
move.w #2,-2(a2)
move.b #2,$22(a1)
- move.w #-$8000,$34(a0)
+ move.w #$8000,$34(a0)
move.w #$100,$36(a0)
move.l #loc_3346A,(a0)
bra.s loc_3346A
@@ -60587,8 +60452,8 @@ loc_3342C:
beq.s loc_33460
andi.b #$40,d0
beq.s loc_33460
- moveq #sfx_SpikeBalls,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeBalls),d0
+ jsr (Play_SFX).l
loc_33460:
move.w $30(a0),d0
@@ -60618,11 +60483,11 @@ loc_33486:
beq.s loc_334AE
andi.b #$40,d0
beq.s loc_334AE
- moveq #sfx_SpikeBalls,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeBalls),d0
+ jsr (Play_SFX).l
loc_334AE:
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_334B4:
@@ -60710,7 +60575,7 @@ Map_MGZSwingingSpikeBall:
Obj_MGZHeadTrigger:
move.l #Map_MGZHeadTrigger,$C(a0)
- move.w #-$5C01,$A(a0)
+ move.w #$A3FF,$A(a0)
ori.b #4,4(a0)
move.w #$280,8(a0)
move.b #$10,7(a0)
@@ -60777,7 +60642,7 @@ loc_33690:
tst.b $29(a0)
bne.s loc_336DC
move.l #Obj_Explosion,(a1)
- move.w #-$8000,$A(a1)
+ move.w #$8000,$A(a1)
move.b #2,5(a1)
move.b #1,$34(a0)
move.b #0,$22(a0)
@@ -60790,7 +60655,7 @@ loc_336DC:
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.b 4(a0),4(a1)
- andi.b #-$41,4(a1)
+ andi.b #$BF,4(a1)
move.b $2A(a0),$2A(a1)
move.l $C(a0),$C(a1)
move.w $A(a0),$A(a1)
@@ -60800,8 +60665,8 @@ loc_336DC:
move.b #2,$20(a1)
loc_3371E:
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_33726:
lea (Ani_MGZHeadTrigger).l,a1
@@ -60817,14 +60682,14 @@ loc_33726:
addi.w #$10,$10(a1)
addi.w #$20,$14(a1)
move.b 4(a0),4(a1)
- andi.b #-$41,4(a1)
+ andi.b #$BF,4(a1)
move.l $C(a0),$C(a1)
move.w $A(a0),$A(a1)
andi.w #$7FFF,$A(a1)
move.w #$300,8(a1)
move.b #$10,7(a1)
move.b #4,6(a1)
- move.b #-$65,$28(a1)
+ move.b #$9B,$28(a1)
move.w #-$400,$18(a1)
btst #0,$2A(a0)
beq.s loc_337B4
@@ -60832,11 +60697,11 @@ loc_33726:
subi.w #$20,$10(a1)
loc_337B4:
- moveq #sfx_LevelProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LevelProjectile),d0
+ jsr (Play_SFX).l
loc_337BC:
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_337C2:
@@ -60860,7 +60725,18 @@ Ani_MGZHeadTrigger:
include "Levels/MGZ/Misc Object Data/Anim - Head Trigger.asm"
Map_MGZHeadTrigger:
include "Levels/MGZ/Misc Object Data/Map - Head Trigger.asm"
-byte_33868: dc.b $40, $1E, 0, $40, $20, $40, 1, $40, $20, $40, 1, $40
+byte_33868: dc.b $40
+ dc.b $1E
+ dc.b 0
+ dc.b $40
+ dc.b $20
+ dc.b $40
+ dc.b 1
+ dc.b $40
+ dc.b $20
+ dc.b $40
+ dc.b 1
+ dc.b $40
; ---------------------------------------------------------------------------
Obj_MGZTriggerPlatform:
@@ -61084,7 +60960,7 @@ Obj_MGZPulley:
move.w $A(a0),$A(a1)
move.b 4(a0),4(a1)
move.b #$60,7(a1)
- move.b #-$40,6(a1)
+ move.b #$C0,6(a1)
move.w #$300,8(a1)
move.w $10(a0),$12(a1)
move.w $10(a0),$10(a1)
@@ -61317,8 +61193,8 @@ loc_33F9E:
loc_33FD6:
move.w #$10,$34(a0)
move.b #1,(a2)
- moveq #sfx_PulleyGrab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_PulleyGrab),d0
+ jsr (Play_SFX).l
locret_33FE8:
rts
@@ -61514,7 +61390,7 @@ loc_342B6:
muls.w $1C(a0),d0
asr.l #8,d0
move.w d0,$1A(a0)
- bsr.s h
+ bsr.s sub_34354
jsr (MoveSprite2).l
tst.b $2D(a0)
bne.s loc_342E6
@@ -61562,7 +61438,7 @@ loc_3434E:
; =============== S U B R O U T I N E =======================================
-h:
+sub_34354:
move.b #$40,d1
tst.w $1C(a0)
beq.s locret_343CE
@@ -61624,7 +61500,7 @@ loc_343D6:
loc_34400:
add.w d1,$1A(a0)
rts
-; End of function h
+; End of function sub_34354
; =============== S U B R O U T I N E =======================================
@@ -61775,7 +61651,7 @@ loc_3451C:
addi.b #$18,d0
move.b d0,$1E(a1)
bset #0,$2E(a1)
- move.b #-$80,$37(a1)
+ move.b #$80,$37(a1)
bclr d6,$2A(a0)
bclr #3,$2A(a1)
bset #1,$2A(a1)
@@ -61800,7 +61676,7 @@ loc_34554:
move.b #2,$20(a1)
bset #2,$2A(a1)
move.w #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
loc_3459C:
bclr #0,$2E(a1)
@@ -62339,17 +62215,17 @@ loc_34B30:
move.w d0,$1C(a0)
move.b $26(a0),d0
addi.b #$20,d0
- andi.b #-$40,d0
+ andi.b #$C0,d0
bne.s locret_34B74
cmpi.w #$400,d0
blt.s locret_34B74
move.b #$D,$20(a0)
bclr #0,$2A(a0)
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
movea.l a0,a2
- suba.w #-$5000,a2
- adda.w #-$33AC,a2
+ suba.w #Player_1,a2
+ adda.w #Dust,a2
move.b #6,5(a2)
move.b #$15,$22(a2)
@@ -62393,17 +62269,17 @@ loc_34BB2:
move.w d0,$1C(a0)
move.b $26(a0),d0
addi.b #$20,d0
- andi.b #-$40,d0
+ andi.b #$C0,d0
bne.s locret_34BF6
cmpi.w #-$400,d0
bgt.s locret_34BF6
move.b #$D,$20(a0)
bset #0,$2A(a0)
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
movea.l a0,a2
- suba.w #-$5000,a2
- adda.w #-$33AC,a2
+ suba.w #Player_1,a2
+ adda.w #Dust,a2
move.b #6,5(a2)
move.b #$15,$22(a2)
@@ -62792,7 +62668,7 @@ Obj_CGZBladePlatform:
move.w $14(a0),$14(a1)
subi.w #$10,$10(a1)
addi.w #$C,$14(a1)
- move.b #-$5A,$28(a1)
+ move.b #$A6,$28(a1)
move.w a0,$3E(a1)
jsr (Create_New_Sprite3).l
bne.w loc_350A2
@@ -62801,7 +62677,7 @@ Obj_CGZBladePlatform:
move.w $14(a0),$14(a1)
addi.w #$10,$10(a1)
addi.w #$14,$14(a1)
- move.b #-$5A,$28(a1)
+ move.b #$A6,$28(a1)
move.w a0,$3E(a1)
loc_350A2:
@@ -62818,9 +62694,9 @@ loc_350A8:
loc_350C0:
add.w d1,$36(a0)
- cmpi.w #-$8000,$36(a0)
+ cmpi.w #$8000,$36(a0)
bcs.s loc_350D2
- move.w #-$8000,$36(a0)
+ move.w #$8000,$36(a0)
loc_350D2:
bra.s loc_350E8
@@ -62995,7 +62871,7 @@ Obj_BPZBalloon:
move.w #$200,8(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
- move.b #-$29,$28(a0)
+ move.b #$D7,$28(a0)
move.l #loc_35344,(a0)
loc_35344:
@@ -63049,8 +62925,8 @@ loc_353C0:
bclr #4,$2A(a1)
bclr #5,$2A(a1)
clr.b $40(a1)
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_35370
; ---------------------------------------------------------------------------
@@ -63181,8 +63057,8 @@ loc_35860:
loc_358A2:
tst.b (a3)
bne.s loc_358B4
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
move.b #0,$24(a0)
loc_358B4:
@@ -63224,7 +63100,7 @@ loc_35946:
move.b d0,$27(a0)
move.b #3,$20(a0)
move.b #7,$20(a0)
- move.b #-$39,$28(a0)
+ move.b #$C7,$28(a0)
move.l #loc_35962,(a0)
loc_35962:
@@ -63428,7 +63304,7 @@ loc_35B7A:
; ---------------------------------------------------------------------------
loc_35B9E:
- jmp (loc_18DCC).l
+ jmp (GiveRing_Tails).l
; ---------------------------------------------------------------------------
loc_35BA4:
@@ -63448,7 +63324,7 @@ loc_35BBA:
move.w $46(a2),$46(a1)
tst.w $A(a2)
bpl.s locret_35BE2
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
locret_35BE2:
rts
@@ -63511,7 +63387,7 @@ loc_35C56:
bpl.s loc_35C76
add.w d1,$14(a0)
move.l d2,(a0)
- move.b #-$39,$28(a0)
+ move.b #$C7,$28(a0)
loc_35C76:
cmpi.w #-$100,(Camera_min_Y_pos).w
@@ -63592,8 +63468,8 @@ loc_35CFC:
neg.w $1C(a2)
loc_35D4C:
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_35CF0
; ---------------------------------------------------------------------------
@@ -63680,7 +63556,7 @@ loc_35E16:
loc_35E20:
asl $1C(a2)
move.b #$1B,$20(a2)
- ori.b #-$80,$2B(a2)
+ ori.b #$80,$2B(a2)
move.w a2,$3E(a0)
move.b #$3C,$3C(a0)
@@ -63885,12 +63761,12 @@ Obj_2PGoalMarker:
lsl.w #3,d0
subi.w #$14,d0
move.w d0,$38(a0)
- move.b #5,(_unkFEDA).w
- clr.w (_unkFEDC).w
+ move.b #5,(Competition_total_laps).w
+ clr.w (Competition_current_lap).w
clr.w (Events_bg+$14).w
clr.b (Update_HUD_timer).w
clr.l (Timer).w
- clr.b (_unkFEC7).w
+ clr.b (Update_HUD_timer_P2).w
clr.l (Timer_P2).w
clr.w (Ring_count).w
clr.w (Ring_count_P2).w
@@ -63931,20 +63807,20 @@ loc_3627C:
move.w $10(a0),d1
lea $34(a0),a2
lea (Player_1).w,a1
- lea (_unkFEDC).w,a3
+ lea (Competition_current_lap).w,a3
lea (_unkF74A).w,a4
lea (Timer).w,a5
lea ($FF7828).l,a6
bsr.w sub_3638E
lea (Player_2).w,a1
- lea (_unkFEDD).w,a3
+ lea (Competition_current_lap_2P).w,a3
lea (_unkF74B).w,a4
lea (Timer_P2).w,a5
lea ($FF7840).l,a6
bsr.w sub_3638E
lea (Ani_2PGoalMarker).l,a1
jsr (Animate_Sprite).l
- move.w $36(a0),(_unkEE5C).w
+ move.w $36(a0),(Competition_lap_count).w
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -63975,10 +63851,10 @@ loc_362D0:
move.w #0,$32(a1)
loc_36352:
- clr.w (_unkFEDC).w
+ clr.w (Competition_current_lap).w
clr.b (Update_HUD_timer).w
clr.l (Timer).w
- clr.b (_unkFEC7).w
+ clr.b (Update_HUD_timer_P2).w
clr.l (Timer_P2).w
clr.b (Ctrl_1_locked).w
clr.b (Ctrl_2_locked).w
@@ -64077,8 +63953,8 @@ loc_3642E:
eori.b #$18,4(a1)
loc_36484:
- moveq #sfx_Error,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Error),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_3648C:
@@ -64138,9 +64014,9 @@ sub_364EC:
loc_364F4:
clr.l (a1)+
dbf d0,loc_364F4
- clr.l (_unkEE52).w
- clr.l (_unkEE56).w
- st (_unkEE5A).w
+ clr.l (Competition_time_record).w
+ clr.l (Competition_time_record_P2).w
+ st (Competition_time_attack_new_top_record).w
rts
; End of function sub_364EC
@@ -64182,7 +64058,7 @@ loc_3652E:
sub_3653C:
- tst.b (Competition_mode_monitors).w
+ tst.b (Competition_items).w
bne.s locret_3656A
lea (byte_3656C).l,a4
adda.w d0,a4
@@ -64194,7 +64070,7 @@ loc_36550:
cmpi.l #loc_35962,(a1)
bne.s loc_36566
move.b (a4)+,$20(a1)
- move.b #-$39,$28(a1)
+ move.b #$C7,$28(a1)
loc_36566:
dbf d0,loc_36550
@@ -64214,7 +64090,7 @@ Map_2PGoalMarker:
loc_365CC:
move.l #Map_2PLapNumbers,$C(a0)
- move.w #-$7900,$A(a0)
+ move.w #$8700,$A(a0)
move.w #0,8(a0)
move.b #8,7(a0)
move.b #$C,6(a0)
@@ -64238,10 +64114,10 @@ loc_36618:
move.l #loc_36624,(a0)
loc_36624:
- move.b (_unkFEDC).w,d0
- cmp.b (_unkFEDA).w,d0
+ move.b (Competition_current_lap).w,d0
+ cmp.b (Competition_total_laps).w,d0
ble.s loc_36632
- move.b (_unkFEDA).w,d0
+ move.b (Competition_total_laps).w,d0
loc_36632:
subi.b #$A,d0
@@ -64252,10 +64128,10 @@ loc_36632:
; ---------------------------------------------------------------------------
loc_36646:
- move.b (_unkFEDD).w,d0
- cmp.b (_unkFEDA).w,d0
+ move.b (Competition_current_lap_2P).w,d0
+ cmp.b (Competition_total_laps).w,d0
ble.s loc_36654
- move.b (_unkFEDA).w,d0
+ move.b (Competition_total_laps).w,d0
loc_36654:
subi.b #$A,d0
@@ -64270,9 +64146,9 @@ Map_2PLapNumbers:
loc_366CC:
move.l #Map_2PNeonDisplay,$C(a0)
- move.w #-$78AA,$A(a0)
+ move.w #$8756,$A(a0)
move.w #0,8(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.b #$28,6(a0)
move.l #loc_366FE,(a0)
tst.b (Not_ghost_flag).w
@@ -64286,7 +64162,7 @@ loc_366FE:
bne.s loc_36740
cmpi.b #5,$24(a0)
bne.s loc_36740
- moveq #sfx_LaunchReady,d0
+ moveq #signextendB(sfx_LaunchReady),d0
move.b $23(a0),d1
cmpi.b #1,d1
beq.s loc_3673A
@@ -64294,12 +64170,12 @@ loc_366FE:
beq.s loc_3673A
cmpi.b #$15,d1
beq.s loc_3673A
- moveq #sfx_LaunchGo,d0
+ moveq #signextendB(sfx_LaunchGo),d0
cmpi.b #$1F,d1
bne.s loc_36740
loc_3673A:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
loc_36740:
bsr.s sub_36750
@@ -64328,7 +64204,7 @@ loc_3676A:
cmpi.b #3,$22(a0)
bne.s locret_36784
move.b #1,(Update_HUD_timer).w
- move.b #1,(_unkFEC7).w
+ move.b #1,(Update_HUD_timer_P2).w
move.b #1,$3A(a0)
locret_36784:
@@ -64339,9 +64215,9 @@ loc_36786:
subq.b #1,d0
bne.w loc_36862
move.l #$93B63,d0
- cmp.l (_unkEE52).w,d0
+ cmp.l (Competition_time_record).w,d0
bls.s loc_3679E
- cmp.l (_unkEE56).w,d0
+ cmp.l (Competition_time_record_P2).w,d0
bhi.s loc_367AA
loc_3679E:
@@ -64349,8 +64225,8 @@ loc_3679E:
move.w #$78,(Events_bg+$16).w
loc_367AA:
- move.b (_unkFEDA).w,d0
- cmp.b (_unkFEDC).w,d0
+ move.b (Competition_total_laps).w,d0
+ cmp.b (Competition_current_lap).w,d0
bcc.s loc_36824
move.b #3,$20(a0)
tst.b (Not_ghost_flag).w
@@ -64363,22 +64239,22 @@ loc_367C4:
move.w #$78,(Events_bg+$16).w
tst.b (Not_ghost_flag).w
beq.s loc_367E8
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bne.s loc_367E8
move.w #$168,(Events_bg+$16).w
loc_367E8:
- move.b #-$80,(Update_HUD_timer).w
+ move.b #$80,(Update_HUD_timer).w
jsr sub_369C2(pc)
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
- move.b (_unkFEDA).w,d0
- cmp.b (_unkFEDD).w,d0
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
+ move.b (Competition_total_laps).w,d0
+ cmp.b (Competition_current_lap_2P).w,d0
bcc.s loc_3681E
move.b #6,$20(a0)
bclr #3,4(a0)
move.w #$78,(Events_bg+$16).w
- move.b #-$80,(_unkFEC7).w
+ move.b #$80,(Update_HUD_timer_P2).w
rts
; ---------------------------------------------------------------------------
@@ -64388,21 +64264,21 @@ loc_3681E:
; ---------------------------------------------------------------------------
loc_36824:
- cmp.b (_unkFEDD).w,d0
+ cmp.b (Competition_current_lap_2P).w,d0
bcc.s locret_36860
move.b #4,$20(a0)
bset #4,4(a0)
move.b #2,$3A(a0)
move.w #$78,(Events_bg+$16).w
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bne.s loc_3684E
move.w #$168,(Events_bg+$16).w
loc_3684E:
- move.b #-$80,(_unkFEC7).w
+ move.b #$80,(Update_HUD_timer_P2).w
bsr.w sub_36998
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
locret_36860:
rts
@@ -64411,20 +64287,20 @@ locret_36860:
loc_36862:
subq.b #1,d0
bne.w loc_36936
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
beq.s loc_3689A
tst.b (Update_HUD_timer).w
bpl.s locret_36898
tst.b (Not_ghost_flag).w
beq.s loc_36880
- tst.b (_unkFEC7).w
+ tst.b (Update_HUD_timer_P2).w
bpl.s locret_36898
loc_36880:
subq.w #1,(Events_bg+$16).w
bpl.s locret_36898
move.b #$40,(Game_mode).w
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bpl.s locret_36898
move.b #$50,(Game_mode).w
@@ -64433,15 +64309,15 @@ locret_36898:
; ---------------------------------------------------------------------------
loc_3689A:
- move.b (_unkFEDC).w,d0
+ move.b (Competition_current_lap).w,d0
tst.b (Update_HUD_timer).w
bpl.s loc_368AE
- move.b (_unkFEDD).w,d0
+ move.b (Competition_current_lap_2P).w,d0
tst.b (Update_HUD_timer).w
bmi.s loc_368B4
loc_368AE:
- cmp.b (_unkFEDA).w,d0
+ cmp.b (Competition_total_laps).w,d0
beq.s loc_368BA
loc_368B4:
@@ -64449,9 +64325,9 @@ loc_368B4:
bmi.s loc_368CE
loc_368BA:
- cmpi.l #$93B63,(_unkEE52).w
+ cmpi.l #$93B63,(Competition_time_record).w
bcc.s loc_368CE
- cmpi.l #$93B63,(_unkEE56).w
+ cmpi.l #$93B63,(Competition_time_record_P2).w
bcs.s locret_3692A
loc_368CE:
@@ -64460,14 +64336,14 @@ loc_368CE:
subi.b #$E,d0
move.b byte_36931(pc,d0.w),d0
lea ($FF7800).l,a1
- move.l (_unkEE52).w,(a1,d0.w)
- move.l (_unkEE56).w,$14(a1,d0.w)
+ move.l (Competition_time_record).w,(a1,d0.w)
+ move.l (Competition_time_record_P2).w,$14(a1,d0.w)
tst.b (Update_HUD_timer).w
bmi.s loc_368FC
move.l #$93B63,(a1,d0.w)
loc_368FC:
- tst.b (_unkFEC7).w
+ tst.b (Update_HUD_timer_P2).w
bmi.s loc_3690A
move.l #$93B63,$14(a1,d0.w)
@@ -64500,8 +64376,8 @@ byte_36931: dc.b 0
; ---------------------------------------------------------------------------
loc_36936:
- move.b (_unkFEDA).w,d0
- cmp.b (_unkFEDC).w,d0
+ move.b (Competition_total_laps).w,d0
+ cmp.b (Competition_current_lap).w,d0
bcc.s loc_36966
tst.b (Update_HUD_timer).w
bmi.s loc_36966
@@ -64509,21 +64385,21 @@ loc_36936:
bset #3,4(a0)
move.b #-$80,(Update_HUD_timer).w
move.w #$78,(Events_bg+$16).w
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
loc_36966:
- move.b (_unkFEDA).w,d0
- cmp.b (_unkFEDD).w,d0
+ move.b (Competition_total_laps).w,d0
+ cmp.b (Competition_current_lap_2P).w,d0
bcc.s locret_36996
- tst.b (_unkFEC7).w
+ tst.b (Update_HUD_timer_P2).w
bmi.s locret_36996
move.b #5,$20(a0)
bset #4,4(a0)
- move.b #-$80,(_unkFEC7).w
+ move.b #-$80,(Update_HUD_timer_P2).w
move.w #$78,(Events_bg+$16).w
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
locret_36996:
rts
@@ -64551,7 +64427,7 @@ locret_369C0:
sub_369C2:
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bpl.w locret_36A48
moveq #0,d0
move.b (Current_zone).w,d0
@@ -64559,7 +64435,7 @@ sub_369C2:
lsl.w #4,d0
lea (Competition_saved_data).w,a1
adda.w d0,a1
- move.l (_unkEE52).w,d0
+ move.l (Competition_time_record).w,d0
cmp.l (a1),d0
bcc.s loc_36A08
move.b $D(a1),$E(a1)
@@ -64568,7 +64444,7 @@ sub_369C2:
move.l 4(a1),8(a1)
move.l (a1),4(a1)
move.l d0,(a1)
- clr.b (_unkEE5A).w
+ clr.b (Competition_time_attack_new_top_record).w
bra.s loc_36A42
; ---------------------------------------------------------------------------
@@ -64579,7 +64455,7 @@ loc_36A08:
move.b (P1_character).w,$D(a1)
move.l 4(a1),8(a1)
move.l d0,4(a1)
- move.b #1,(_unkEE5A).w
+ move.b #1,(Competition_time_attack_new_top_record).w
bra.s loc_36A42
; ---------------------------------------------------------------------------
@@ -64588,7 +64464,7 @@ loc_36A2C:
bcc.s locret_36A48
move.b (P1_character).w,$E(a1)
move.l d0,8(a1)
- move.b #2,(_unkEE5A).w
+ move.b #2,(Competition_time_attack_new_top_record).w
loc_36A42:
jsr (Write_SaveGeneral).l
@@ -64601,7 +64477,7 @@ locret_36A48:
loc_36A4A:
move.l #Map_2PNeonDisplay,$C(a0)
- move.w #-$78AA,$A(a0)
+ move.w #$8756,$A(a0)
move.w #0,8(a0)
move.b #-$80,7(a0)
move.b #$28,6(a0)
@@ -64629,7 +64505,7 @@ Map_2PNeonDisplay:
loc_37220:
move.l #$FF7000,$C(a0)
- move.w #-$7A00,$A(a0)
+ move.w #$8600,$A(a0)
move.w #0,8(a0)
move.b #$40,7(a0)
move.b #$10,6(a0)
@@ -64650,9 +64526,9 @@ loc_3726E:
lea ($FF700A).l,a2
lea (Timer_minute).w,a3
moveq #0,d1
- move.b (_unkEE5C).w,d1
+ move.b (Competition_lap_count).w,d1
lea (Update_HUD_timer).w,a4
- lea (_unkEE52).w,a5
+ lea (Competition_time_record).w,a5
lea ($FF7828).l,a6
bra.s loc_3730E
; ---------------------------------------------------------------------------
@@ -64665,7 +64541,7 @@ loc_37292:
loc_3729E:
move.l #$FF7080,$C(a0)
- move.w #-$7A00,$A(a0)
+ move.w #$8600,$A(a0)
move.w #0,8(a0)
move.b #$40,7(a0)
move.b #$10,6(a0)
@@ -64686,9 +64562,9 @@ loc_372EC:
lea ($FF708A).l,a2
lea (Timer_minute_P2).w,a3
moveq #0,d1
- move.b (_unkEE5C+1).w,d1
- lea (_unkFEC7).w,a4
- lea (_unkEE56).w,a5
+ move.b (Competition_lap_count_2P).w,d1
+ lea (Update_HUD_timer_P2).w,a4
+ lea (Competition_time_record_P2).w,a5
lea ($FF7840).l,a6
loc_3730E:
@@ -64812,7 +64688,7 @@ word_37420: dc.w 2
loc_37454:
move.l #Map_2PItemIcon,$C(a0)
- move.w #-$78B0,$A(a0)
+ move.w #$8750,$A(a0)
move.w #0,8(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
@@ -64875,7 +64751,7 @@ loc_374F2:
Map_2PItemIcon: include "General/2P Zone/Map - Item Icon.asm"
; ---------------------------------------------------------------------------
move.l #Map_2PPosition,$C(a0)
- move.w #-$78A2,$A(a0)
+ move.w #$875E,$A(a0)
move.w #0,8(a0)
move.b #4,7(a0)
move.b #4,6(a0)
@@ -64961,7 +64837,7 @@ Obj_EMZDripper:
move.b #4,$1E(a0)
btst #0,$2A(a0)
beq.s loc_376DC
- move.w #-$3D00,$A(a0)
+ move.w #$C300,$A(a0)
move.b #3,$22(a0)
move.l #Draw_Sprite,(a0)
jmp (Draw_Sprite).l
@@ -65103,7 +64979,7 @@ loc_37870:
subq.w #2,d0
bcc.s loc_37870
move.l #loc_3788E,(a1)
- move.b #-$39,$28(a1)
+ move.b #$C7,$28(a1)
moveq #0,d0
loc_37888:
@@ -65189,8 +65065,8 @@ Obj_HCZWaterSplash:
loc_379B4:
ori.b #4,4(a0)
move.w #$300,8(a0)
- move.b #-$60,7(a0)
- move.b #-$80,6(a0)
+ move.b #$A0,7(a0)
+ move.b #$80,6(a0)
move.b #-1,$31(a0)
move.b #0,$2A(a0)
bset #6,4(a0)
@@ -65254,8 +65130,8 @@ loc_37A8A:
addq.b #2,d0
andi.b #$F,d0
bne.s loc_37AB2
- moveq #sfx_WaterSkid,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaterSkid),d0
+ jsr (Play_SFX).l
loc_37AB2:
subq.b #1,$24(a0)
@@ -65454,7 +65330,7 @@ loc_37CDC:
loc_37CEE:
move.b #4,4(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.b #8,6(a0)
move.w $14(a0),d2
move.w d2,$3C(a0)
@@ -65580,7 +65456,7 @@ loc_37E20:
loc_37E38:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_37E4C
@@ -65808,8 +65684,8 @@ loc_37FFE:
loc_38062:
move.w #0,$18(a3)
move.w #0,$1A(a3)
- moveq #sfx_BridgeCollapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_BridgeCollapse),d0
+ jmp (Play_SFX).l
; End of function sub_37FDC
; ---------------------------------------------------------------------------
@@ -66343,7 +66219,7 @@ word_3863A: dc.w $840
dc.l byte_3860C
; ---------------------------------------------------------------------------
-Obj_69_1:
+Obj_HCZTwistingLoop:
move.b $2C(a0),d0
andi.w #$7F,d0
lsl.w #3,d0
@@ -66731,8 +66607,8 @@ loc_38B00:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_38B12
- moveq #sfx_SlideSkidQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SlideSkidQuiet),d0
+ jsr (Play_SFX).l
loc_38B12:
cmpi.w #$1310,$10(a2)
@@ -66782,8 +66658,8 @@ loc_38B84:
move.b #$19,$20(a2)
move.b #0,$2E(a2)
move.w #$14,(Screen_shake_flag).w
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
move.w #2,(Tails_CPU_routine).w
loc_38BCA:
@@ -66798,8 +66674,8 @@ loc_38BCA:
bne.s loc_38BF0
loc_38BE8:
- moveq #sfx_GroundSlide,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GroundSlide),d0
+ jsr (Play_SFX).l
loc_38BF0:
jsr (sub_38C8C).l
@@ -66836,8 +66712,8 @@ loc_38C56:
move.b $22(a0),d0
cmp.b $32(a0),d0
beq.s loc_38C68
- moveq #sfx_GroundSlide,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GroundSlide),d0
+ jsr (Play_SFX).l
loc_38C68:
jsr (sub_38C8C).l
@@ -66862,7 +66738,7 @@ sub_38C7A:
sub_38C8C:
- move.w #-$3000,d4
+ move.w #$D000,d4
move.l #ArtUnc_SonicSnowboard,d6
lea (DPLC_SonicSnowboard).l,a2
@@ -67075,7 +66951,7 @@ sub_38F22:
move.w #$100,8(a1)
move.b #4,7(a1)
move.b #4,6(a1)
- move.b #-$7C,4(a1)
+ move.b #$84,4(a1)
move.w #1,$20(a1)
move.w $10(a2),$10(a1)
move.w $14(a2),$14(a1)
@@ -67204,8 +67080,8 @@ loc_390D0:
move.w #$5C0,(Dust_P2+y_pos).w
loc_39120:
- moveq #sfx_SandSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SandSplash),d0
+ jsr (Play_SFX).l
move.b #0,(Ctrl_1_locked).w
move.b #0,(Ctrl_2_locked).w
jmp (Delete_Current_Sprite).l
@@ -67282,8 +67158,8 @@ loc_391EC:
move.b #0,$2E(a2)
move.b #0,(Ctrl_1_locked).w
move.w #$14,(Screen_shake_flag).w
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -67316,14 +67192,14 @@ LevelSetup:
move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
- movea.l Offs_ScreenInit(pc,d0.w),a1
+ movea.l LevelSetupArray(pc,d0.w),a1
jsr (a1)
addq.w #2,a3
move.w #$E000,d7
move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
- movea.l Offs_BackgroundInit(pc,d0.w),a1
+ movea.l LevelSetupArray+4(pc,d0.w),a1
jsr (a1)
move.w (Camera_Y_pos_copy).w,(V_scroll_value).w
move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
@@ -67342,14 +67218,14 @@ ScreenEvents:
move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
- movea.l Offs_ScreenEvent(pc,d0.w),a1
+ movea.l LevelEventArray(pc,d0.w),a1
jsr (a1)
addq.w #2,a3
move.w #$E000,d7
move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
- movea.l Offs_BackgroundEvent(pc,d0.w),a1
+ movea.l LevelEventArray+4(pc,d0.w),a1
jsr (a1)
move.w (Camera_Y_pos_copy).w,(V_scroll_value).w
move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
@@ -67357,198 +67233,102 @@ ScreenEvents:
; End of function ScreenEvents
; ---------------------------------------------------------------------------
-Offs_ScreenInit:dc.l AIZ1_ScreenInit
-Offs_BackgroundInit:dc.l AIZ1_BackgroundInit
- dc.l AIZ2_ScreenInit
- dc.l AIZ2_BackgroundInit
-Offs_ScreenEvent:dc.l AIZ1_ScreenEvent
-Offs_BackgroundEvent:dc.l AIZ1_BackgroundEvent
- dc.l AIZ2_ScreenEvent
- dc.l AIZ2_BackgroundEvent
- dc.l HCZ1_ScreenInit
- dc.l HCZ1_BackgroundInit
- dc.l HCZ2_ScreenInit
- dc.l HCZ2_BackgroundInit
- dc.l HCZ1_ScreenEvent
- dc.l HCZ1_BackgroundEvent
- dc.l HCZ2_ScreenEvent
- dc.l HCZ2_BackgroundEvent
- dc.l MGZ1_ScreenInit
- dc.l MGZ1_BackgroundInit
- dc.l MGZ2_ScreenInit
- dc.l MGZ2_BackgroundInit
- dc.l MGZ1_ScreenEvent
- dc.l MGZ1_BackgroundEvent
- dc.l MGZ2_ScreenEvent
- dc.l MGZ2_BackgroundEvent
- dc.l CNZ1_ScreenInit
- dc.l CNZ1_BackgroundInit
- dc.l CNZ2_ScreenInit
- dc.l CNZ2_BackgroundInit
- dc.l CNZ1_ScreenEvent
- dc.l CNZ1_BackgroundEvent
- dc.l CNZ2_ScreenEvent
- dc.l CNZ2_BackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l ICZ1_ScreenInit
- dc.l ICZ1_BackgroundInit
- dc.l ICZ2_ScreenInit
- dc.l ICZ2_BackgroundInit
- dc.l ICZ1_ScreenEvent
- dc.l ICZ1_BackgroundEvent
- dc.l ICZ2_ScreenEvent
- dc.l ICZ2_BackgroundEvent
- dc.l LBZ1_ScreenInit
- dc.l LBZ1_BackgroundInit
- dc.l LBZ2_ScreenInit
- dc.l LBZ2_BackgroundInit
- dc.l LBZ1_ScreenEvent
- dc.l LBZ1_BackgroundEvent
- dc.l LBZ2_ScreenEvent
- dc.l LBZ2_BackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l Comp_ScreenInit
- dc.l ALZ_BackgroundInit
- dc.l Comp_ScreenInit
- dc.l ALZ_BackgroundInit
- dc.l Comp_ScreenEvent
- dc.l ALZ_BackgroundEvent
- dc.l Comp_ScreenEvent
- dc.l ALZ_BackgroundEvent
- dc.l Comp_ScreenInit
- dc.l BPZ_BackgroundInit
- dc.l Comp_ScreenInit
- dc.l BPZ_BackgroundInit
- dc.l Comp_ScreenEvent
- dc.l BPZ_BackgroundEvent
- dc.l Comp_ScreenEvent
- dc.l BPZ_BackgroundEvent
- dc.l Comp_ScreenInit
- dc.l DPZ_BackgroundInit
- dc.l Comp_ScreenInit
- dc.l DPZ_BackgroundInit
- dc.l Comp_ScreenEvent
- dc.l DPZ_BackgroundEvent
- dc.l Comp_ScreenEvent
- dc.l DPZ_BackgroundEvent
- dc.l Comp_ScreenInit
- dc.l CGZ_BackgroundInit
- dc.l Comp_ScreenInit
- dc.l CGZ_BackgroundInit
- dc.l CGZ_ScreenEvent
- dc.l CGZ_BackgroundEvent
- dc.l CGZ_ScreenEvent
- dc.l CGZ_BackgroundEvent
- dc.l Comp_ScreenInit
- dc.l EMZ_BackgroundInit
- dc.l Comp_ScreenInit
- dc.l EMZ_BackgroundInit
- dc.l Comp_ScreenEvent
- dc.l EMZ_BackgroundEvent
- dc.l Comp_ScreenEvent
- dc.l EMZ_BackgroundEvent
- dc.l Gumball_ScreenInit
- dc.l Gumball_BackgroundInit
- dc.l Gumball_ScreenInit
- dc.l Gumball_BackgroundInit
- dc.l Gumball_ScreenEvent
- dc.l Gumball_BackgroundEvent
- dc.l Gumball_ScreenEvent
- dc.l Gumball_BackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenInit
- dc.l NoBackgroundInit
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
- dc.l NoScreenEvent
- dc.l NoBackgroundEvent
+LevelSetupArray:dc.l AIZ1_ScreenInit, AIZ1_BackgroundInit
+ dc.l AIZ2_ScreenInit, AIZ2_BackgroundInit
+LevelEventArray:dc.l AIZ1_ScreenEvent, AIZ1_BackgroundEvent
+ dc.l AIZ2_ScreenEvent, AIZ2_BackgroundEvent
+ dc.l HCZ1_ScreenInit, HCZ1_BackgroundInit
+ dc.l HCZ2_ScreenInit, HCZ2_BackgroundInit
+ dc.l HCZ1_ScreenEvent, HCZ1_BackgroundEvent
+ dc.l HCZ2_ScreenEvent, HCZ2_BackgroundEvent
+ dc.l MGZ1_ScreenInit, MGZ1_BackgroundInit
+ dc.l MGZ2_ScreenInit, MGZ2_BackgroundInit
+ dc.l MGZ1_ScreenEvent, MGZ1_BackgroundEvent
+ dc.l MGZ2_ScreenEvent, MGZ2_BackgroundEvent
+ dc.l CNZ1_ScreenInit, CNZ1_BackgroundInit
+ dc.l CNZ2_ScreenInit, CNZ2_BackgroundInit
+ dc.l CNZ1_ScreenEvent, CNZ1_BackgroundEvent
+ dc.l CNZ2_ScreenEvent, CNZ2_BackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l ICZ1_ScreenInit, ICZ1_BackgroundInit
+ dc.l ICZ2_ScreenInit, ICZ2_BackgroundInit
+ dc.l ICZ1_ScreenEvent, ICZ1_BackgroundEvent
+ dc.l ICZ2_ScreenEvent, ICZ2_BackgroundEvent
+ dc.l LBZ1_ScreenInit, LBZ1_BackgroundInit
+ dc.l LBZ2_ScreenInit, LBZ2_BackgroundInit
+ dc.l LBZ1_ScreenEvent, LBZ1_BackgroundEvent
+ dc.l LBZ2_ScreenEvent, LBZ2_BackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l Comp_ScreenInit, ALZ_BackgroundInit
+ dc.l Comp_ScreenInit, ALZ_BackgroundInit
+ dc.l Comp_ScreenEvent, ALZ_BackgroundEvent
+ dc.l Comp_ScreenEvent, ALZ_BackgroundEvent
+ dc.l Comp_ScreenInit, BPZ_BackgroundInit
+ dc.l Comp_ScreenInit, BPZ_BackgroundInit
+ dc.l Comp_ScreenEvent, BPZ_BackgroundEvent
+ dc.l Comp_ScreenEvent, BPZ_BackgroundEvent
+ dc.l Comp_ScreenInit, DPZ_BackgroundInit
+ dc.l Comp_ScreenInit, DPZ_BackgroundInit
+ dc.l Comp_ScreenEvent, DPZ_BackgroundEvent
+ dc.l Comp_ScreenEvent, DPZ_BackgroundEvent
+ dc.l Comp_ScreenInit, CGZ_BackgroundInit
+ dc.l Comp_ScreenInit, CGZ_BackgroundInit
+ dc.l CGZ_ScreenEvent, CGZ_BackgroundEvent
+ dc.l CGZ_ScreenEvent, CGZ_BackgroundEvent
+ dc.l Comp_ScreenInit, EMZ_BackgroundInit
+ dc.l Comp_ScreenInit, EMZ_BackgroundInit
+ dc.l Comp_ScreenEvent, EMZ_BackgroundEvent
+ dc.l Comp_ScreenEvent, EMZ_BackgroundEvent
+ dc.l Gumball_ScreenInit, Gumball_BackgroundInit
+ dc.l Gumball_ScreenInit, Gumball_BackgroundInit
+ dc.l Gumball_ScreenEvent, Gumball_BackgroundEvent
+ dc.l Gumball_ScreenEvent, Gumball_BackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenInit, NoBackgroundInit
+ dc.l NoScreenEvent, NoBackgroundEvent
+ dc.l NoScreenEvent, NoBackgroundEvent
; =============== S U B R O U T I N E =======================================
@@ -67798,7 +67578,7 @@ loc_397C8:
Draw_TileColumn:
move.w (a6),d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
move.w (a5),d2
move.w d0,(a5)
move.w d2,d3
@@ -67829,7 +67609,7 @@ loc_397FE:
Draw_TileColumn2:
move.w (a6),d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
move.w (a5),d2
move.w d0,(a5)
move.w d2,d3
@@ -68275,7 +68055,7 @@ loc_39B8C:
; ---------------------------------------------------------------------------
-RefreshPlaneDirectVScroll:
+Refresh_PlaneDirectVScroll:
move.w (a4)+,d2
moveq #$1F,d3
@@ -68299,13 +68079,13 @@ loc_39BB8:
rts
; ---------------------------------------------------------------------------
-loc_39BD6:
+Refresh_PlaneFull_Competition:
movem.l d0-d2/d6/a0,-(sp)
jsr sub_39B20(pc)
jsr sub_39690(pc)
movem.l (sp)+,d0-d2/d6/a0
addi.w #$10,d0
- dbf d2,loc_39BD6
+ dbf d2,Refresh_PlaneFull_Competition
rts
; ---------------------------------------------------------------------------
@@ -68388,7 +68168,7 @@ loc_39CA2:
sub.w (a4)+,d6
bmi.s loc_39CB2
move.w (a6)+,d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
move.w d0,(a6)+
subq.w #1,d5
bra.s loc_39CA2
@@ -68430,7 +68210,7 @@ loc_39CF4:
subq.w #1,d5
beq.s locret_39D02
move.w (a6)+,d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
move.w d0,(a6)+
bra.s loc_39CF4
; ---------------------------------------------------------------------------
@@ -68986,7 +68766,7 @@ Reset_TileOffsetPositionActual:
Reset_TileOffsetPositionEff:
move.w (Camera_X_pos_BG_copy).w,d0
move.w d0,d1
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
move.w d0,d2
move.w d0,(Camera_X_pos_BG_rounded).w
move.w (Camera_Y_pos_BG_copy).w,d0
@@ -69206,21 +68986,21 @@ NoScreenEvent:
; ---------------------------------------------------------------------------
NoBackgroundInit:
- jsr sub_3A626(pc)
+ jsr No_Deform(pc)
jsr Reset_TileOffsetPositionEff(pc)
jsr Refresh_PlaneFull(pc)
jmp PlainDeformation(pc)
; ---------------------------------------------------------------------------
NoBackgroundEvent:
- jsr sub_3A626(pc)
+ jsr No_Deform(pc)
jsr DrawBGAsYouMove(pc)
jmp PlainDeformation(pc)
; =============== S U B R O U T I N E =======================================
-sub_3A626:
+No_Deform:
move.w (Camera_X_pos_copy).w,d0
asr.w #3,d0
move.w d0,(Camera_X_pos_BG_copy).w
@@ -69228,7 +69008,7 @@ sub_3A626:
asr.w #3,d0
move.w d0,(Camera_Y_pos_BG_copy).w
rts
-; End of function sub_3A626
+; End of function No_Deform
; ---------------------------------------------------------------------------
@@ -69255,10 +69035,8 @@ Comp_ScreenInit:
move.w (a1)+,d6
moveq #0,d1
move.w #$8000,d7
- jmp loc_39BD6(pc)
-
-; =============== S U B R O U T I N E =======================================
-
+ jmp Refresh_PlaneFull_Competition(pc)
+; ---------------------------------------------------------------------------
Comp_ScreenEvent:
jsr Update_CameraPositionP2(pc)
@@ -69271,8 +69049,6 @@ Comp_ScreenEvent:
jsr Adjust_BGDuringLoop(pc)
move.w (Camera_X_pos_P2_copy).w,d0
jmp Adjust_BGDuringLoop(pc)
-; End of function Comp_ScreenEvent
-
; ---------------------------------------------------------------------------
CGZ_ScreenEvent:
@@ -69311,7 +69087,7 @@ CGZ_BackgroundInit:
move.w d0,(Events_bg+$04).w
move.w d0,(Events_bg+$06).w
moveq #0,d0
- move.b (_unkFEDA).w,d0
+ move.b (Competition_total_laps).w,d0
addq.w #1,d0
lsl.w #8,d0
subi.w #$70,d0
@@ -69337,10 +69113,8 @@ Comp_BackgroundInit:
moveq #0,d0
moveq #0,d1
move.w #$A000,d7
- jmp loc_39BD6(pc)
-
-; =============== S U B R O U T I N E =======================================
-
+ jmp Refresh_PlaneFull_Competition(pc)
+; ---------------------------------------------------------------------------
ALZ_BackgroundEvent:
jsr ALZ_Deformation(pc)
@@ -69350,19 +69124,19 @@ ALZ_BackgroundEvent:
BPZ_BackgroundEvent:
jsr BPZ_Deformation(pc)
- lea BPZ_DeformArray(pc),a4
+ lea BPZ_BGDeformArray(pc),a4
bra.s loc_3A764
; ---------------------------------------------------------------------------
CGZ_BackgroundEvent:
jsr CGZ_Deformation(pc)
- lea CGZ_DeformArray(pc),a4
+ lea CGZ_BGDeformArray(pc),a4
bra.s loc_3A764
; ---------------------------------------------------------------------------
EMZ_BackgroundEvent:
jsr EMZ_Deformation(pc)
- lea EMZ_DeformArray(pc),a4
+ lea EMZ_BGDeformArray(pc),a4
loc_3A764:
lea (H_scroll_buffer).w,a1
@@ -69380,11 +69154,7 @@ loc_3A764:
moveq #$73,d1
jsr ApplyDeformation2(pc)
jmp Update_VScrollValueP2(pc)
-; End of function ALZ_BackgroundEvent
-
-
-; =============== S U B R O U T I N E =======================================
-
+; ---------------------------------------------------------------------------
DPZ_BackgroundEvent:
jsr DPZ_Deformation(pc)
@@ -69398,8 +69168,6 @@ DPZ_BackgroundEvent:
moveq #$1C,d2
bsr.s sub_3A7BA
jmp Update_VScrollValueP2(pc)
-; End of function DPZ_BackgroundEvent
-
; =============== S U B R O U T I N E =======================================
@@ -69432,7 +69200,7 @@ ALZ_Deformation:
move.w d0,(_unkEE74).w
addq.w #3,(Events_bg+$00).w
addi.l #$1000,(Events_bg+$02).w
- lea ALZ_AIZ2_BGDeformDelta(pc),a4
+ lea AIZ2_ALZ_BGDeformDelta(pc),a4
lea (HScroll_table).w,a1
move.w (Events_fg_1).w,d0
bsr.s sub_3A81E
@@ -69751,9 +69519,12 @@ Comp_ScreenInitArray:
dc.w $3FF, $1FF, $1F0, $C, $100, $100, $F, $40
ALZ_BGDeformArray:
dc.w $18, 8, 8, 8, 8, 8, $2E, 6, $D,$803F,$7FFF
-BPZ_DeformArray:dc.w $88, $16, $A, $28, $10, 8,$7FFF
-CGZ_DeformArray:dc.w $50, 8, $10, $10,$7FFF
-EMZ_DeformArray:dc.w $10, $10, $10, $10, 8, $C, $24, $38, $20,$7FFF
+BPZ_BGDeformArray:
+ dc.w $88, $16, $A, $28, $10, 8,$7FFF
+CGZ_BGDeformArray:
+ dc.w $50, 8, $10, $10,$7FFF
+EMZ_BGDeformArray:
+ dc.w $10, $10, $10, $10, 8, $C, $24, $38, $20,$7FFF
; ---------------------------------------------------------------------------
AIZ1_ScreenInit:
@@ -70478,9 +70249,12 @@ AIZ1_IntroDrawArray:
AIZ1_IntroDeformArray:
dc.w $3E0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
dc.w 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, $7FFF
-AIZ1_BGDrawArray:dc.w $220, $7FFF
-AIZ1_DeformArray:dc.w $D0, $20, $30, $30, $10, $10, $10, $800D, $F, 6, $E, $50, $20, $7FFF
-AIZ_FlameVScroll:dc.b 0, $FF, $FE, $FB, $F8, $F6, $F3, $F2, $F1, $F2, $F3, $F6, $F9, $FB, $FE, $FF
+AIZ1_BGDrawArray:
+ dc.w $220, $7FFF
+AIZ1_DeformArray:
+ dc.w $D0, $20, $30, $30, $10, $10, $10, $800D, $F, 6, $E, $50, $20, $7FFF
+AIZ_FlameVScroll:
+ dc.b 0, $FF, $FE, $FB, $F8, $F6, $F3, $F2, $F1, $F2, $F3, $F6, $F9, $FB, $FE, $FF
; ---------------------------------------------------------------------------
AIZ2_ScreenInit:
@@ -70515,7 +70289,7 @@ AIZ2SE_Normal:
move.w #5,(Draw_delayed_rowcount).w
clr.l (HScroll_table+$1F8).w
move.w (Camera_X_pos_copy).w,d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
subi.w #$10,d0
move.w d0,(HScroll_table+$1FE).w
move.b #1,(Scroll_lock).w
@@ -70580,7 +70354,7 @@ AIZ2SE_EndRefresh:
jsr Draw_PlaneVertBottomUp(pc)
bpl.s loc_3B368
move.w (Camera_X_pos_copy).w,d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
subi.w #$10,d0
move.w d0,(Camera_X_pos_rounded).w
move.w #$46C0,(Events_bg+$02).w
@@ -70598,9 +70372,11 @@ HInt6:
move.w (Camera_Y_pos_copy).w,(VDP_data_port).l
rte
; ---------------------------------------------------------------------------
-AIZ2SE_BGShipDrawArray1:dc.w $180
+AIZ2SE_BGShipDrawArray1:
+ dc.w $180
dc.w $7FFF
-AIZ2SE_BGShipDrawArray2:dc.w $A80
+AIZ2SE_BGShipDrawArray2:
+ dc.w $A80
dc.w $7FFF
; ---------------------------------------------------------------------------
@@ -70659,7 +70435,7 @@ AIZ2BGE_FireRedraw:
loc_3B480:
addq.w #2,a3
- move.w #-$2000,d7
+ move.w #$E000,d7
clr.w (Events_bg+$00).w
addq.w #4,(Events_routine_bg).w
@@ -70906,7 +70682,7 @@ loc_3B6D0:
lea (HScroll_table).w,a2
lea AIZ2_BGDeformArray(pc),a4
lea (HScroll_table+$1C0).w,a5
- lea ALZ_AIZ2_BGDeformDelta(pc),a6
+ lea AIZ2_ALZ_BGDeformDelta(pc),a6
move.w (Camera_Y_pos_BG_copy).w,d0
move.w #$DF,d1
move.w (Level_frame_counter).w,d2
@@ -70980,7 +70756,7 @@ AIZ2_DoShipLoop:
sub.w d1,(Player_2+x_pos).w
sub.w d1,d0
move.w d0,d1
- andi.w #-$10,d1
+ andi.w #$FFF0,d1
subi.w #$10,d1
move.w d1,(Camera_X_pos_rounded).w
move.w d1,(HScroll_table+$1FE).w
@@ -71071,8 +70847,8 @@ loc_3B87A:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_3B88E
- moveq #sfx_LargeShip,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LargeShip),d0
+ jsr (Play_SFX).l
loc_3B88E:
subq.w #1,$32(a0)
@@ -71150,8 +70926,8 @@ AIZShipBomb_Delay:
subq.w #1,$32(a0)
bne.s loc_3B97C
addq.b #4,5(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
loc_3B97C:
jsr Translate_Camera2ObjPosition(pc)
@@ -71170,8 +70946,8 @@ AIZShipBomb_Drop:
cmpi.w #-8,d1
bgt.s locret_3BA04
move.w #$10,(Screen_shake_flag).w
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite3).l
bne.s loc_3B9FE
lea AIZBombExplodeDat(pc),a2
@@ -71231,7 +71007,7 @@ loc_3BA40:
move.b #$20,7(a0)
move.w #$500,$A(a0)
move.l #Map_AIZ2BombExplode,$C(a0)
- move.b #-$75,$28(a0)
+ move.b #$8B,$28(a0)
bra.s loc_3BA70
; ---------------------------------------------------------------------------
@@ -71380,8 +71156,8 @@ loc_3BBE6:
subq.w #1,d0
andi.w #$F,d0
bne.s locret_3BC04
- moveq #sfx_EggmanSiren,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_RobotnikSiren),d0
+ jsr (Play_SFX).l
locret_3BC04:
rts
@@ -71415,7 +71191,7 @@ AIZ2_FGDeformDelta:
dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
-ALZ_AIZ2_BGDeformDelta:
+AIZ2_ALZ_BGDeformDelta:
dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
@@ -71817,7 +71593,8 @@ locret_3C58E:
; End of function HCZ1_Deform
; ---------------------------------------------------------------------------
-HCZ1_BGDeformArray:dc.w $40, 8, 8, 5, 5, 6, $F0, 6, 5, 5, 8, 8, $30, $80C0, $7FFF
+HCZ1_BGDeformArray:
+ dc.w $40, 8, 8, 5, 5, 6, $F0, 6, 5, 5, 8, 8, $30, $80C0, $7FFF
; ---------------------------------------------------------------------------
HCZ2_ScreenInit:
@@ -71970,8 +71747,8 @@ loc_3C70E:
tst.w (Screen_shake_flag).w
bpl.s loc_3C754
move.w #$E,(Screen_shake_flag).w
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
bra.s loc_3C754
; ---------------------------------------------------------------------------
@@ -71986,8 +71763,8 @@ loc_3C73C:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_3C754
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
loc_3C754:
move.w (Camera_Y_pos_copy).w,d0
@@ -72047,9 +71824,11 @@ loc_3C7AC:
; End of function HCZ2_Deform
; ---------------------------------------------------------------------------
-HCZ2_BGDeformArray:dc.w 8, 8, $90, $10, 8, $30, $18, 8, 8, $A8, $30, $18
+HCZ2_BGDeformArray:
+ dc.w 8, 8, $90, $10, 8, $30, $18, 8, 8, $A8, $30, $18
dc.w 8, 8, $A8, $30, $18, 8, 8, $B0, $10, 8, $7FFF
-HCZ2_BGDeformIndex:dc.b 3, $A
+HCZ2_BGDeformIndex:
+ dc.b 3, $A
dc.b $14,$1E
dc.b $2C, 2
dc.b $C,$16
@@ -72227,15 +72006,16 @@ Do_ShakeSound:
subq.w #1,d0
andi.w #$F,d0
bne.s locret_3C9F6
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
locret_3C9F6:
rts
; End of function Do_ShakeSound
; ---------------------------------------------------------------------------
-MGZ1_BGDeformArray:dc.w $10, 4, 4, 8, 8, 8, $D, $13, 8, 8, 8, 8, $18, $7FFF
+MGZ1_BGDeformArray:
+ dc.w $10, 4, 4, 8, 8, 8, $D, $13, 8, 8, 8, 8, $18, $7FFF
; ---------------------------------------------------------------------------
MGZ2_ScreenInit:
@@ -72402,8 +72182,8 @@ loc_3CBA4:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_3CBC8
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
loc_3CBC8:
tst.w d1
@@ -72515,7 +72295,7 @@ MGZ2_QuakeEvent1:
st (Screen_shake_flag).w
jsr (Create_New_Sprite).l
bne.s locret_3CCD2
- move.l #Obj_MGZ2DrillingEggman,(a1)
+ move.l #Obj_MGZ2DrillingRobotnik,(a1)
move.w #$8E0,$10(a1)
move.w #$690,$14(a1)
@@ -72536,7 +72316,7 @@ MGZ2_QuakeEvent2:
st (Screen_shake_flag).w
jsr (Create_New_Sprite).l
bne.s locret_3CD1C
- move.l #Obj_MGZ2DrillingEggman,(a1)
+ move.l #Obj_MGZ2DrillingRobotnik,(a1)
bset #0,4(a1)
move.w #$2FA0,$10(a1)
move.w #$2D0,$14(a1)
@@ -72558,7 +72338,7 @@ MGZ2_QuakeEvent3:
st (Screen_shake_flag).w
jsr (Create_New_Sprite).l
bne.s locret_3CD64
- move.l #Obj_MGZ2DrillingEggman,(a1)
+ move.l #Obj_MGZ2DrillingRobotnik,(a1)
bset #0,4(a1)
move.w #$3300,$10(a1)
move.w #$790,$14(a1)
@@ -72802,7 +72582,8 @@ MGZ2_ChunkEventArray:
dc.w $F68, $F78, $500, $580, $F00, $500
dc.w $3680, $3700, $2F0, $380, $3700, $280
dc.w $3000, $3080, $770, $800, $3080, $700
-MGZ2_ScreenRedrawArray:dc.w $40, 3
+MGZ2_ScreenRedrawArray:
+ dc.w $40, 3
dc.w $50, 3
dc.w $50, 4
dc.w $60, 4
@@ -72825,7 +72606,8 @@ MGZ2_ScreenRedrawArray:dc.w $40, 3
dc.w $C0, 3
dc.w $D0, 2
dc.w $E0, 1
-MGZ2_ChunkReplaceArray:dc.w $100, $500
+MGZ2_ChunkReplaceArray:
+ dc.w $100, $500
dc.w $180, $580
dc.w $200, $600
dc.w $280, $680
@@ -72849,8 +72631,10 @@ MGZ2_ChunkReplaceArray:dc.w $100, $500
dc.w 0, $F80
dc.w 0,$1000
dc.w $80, $480
-MGZ2_CollapseScrollDelay:dc.w $A, $10, 2, 8, $E, 6, 0, $C, $12, 4
-MGZ2_FGVScrollArray:dc.w $3CA0, $20, $20, $20, $20, $20, $20, $20, $20,$7FFF
+MGZ2_CollapseScrollDelay:
+ dc.w $A, $10, 2, 8, $E, 6, 0, $C, $12, 4
+MGZ2_FGVScrollArray:
+ dc.w $3CA0, $20, $20, $20, $20, $20, $20, $20, $20,$7FFF
; ---------------------------------------------------------------------------
MGZ2_BackgroundInit:
@@ -73270,8 +73054,8 @@ loc_3D426:
move.w (Events_bg+$02).w,d0
cmp.w $2E(a0),d0
bcs.s loc_3D444
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
move.w #$E,(Screen_shake_flag).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -73316,11 +73100,15 @@ loc_3D484:
sub.w d1,(Player_2+y_pos).w
rts
; ---------------------------------------------------------------------------
-MGZ2_BGDrawArray:dc.w $200, $7FFF
-MGZ2_BGDeformArray:dc.w $10, $10, $10, $10, $10, $18, 8, $10, 8, 8, $10, 8
+MGZ2_BGDrawArray:
+ dc.w $200, $7FFF
+MGZ2_BGDeformArray:
+ dc.w $10, $10, $10, $10, $10, $18, 8, $10, 8, 8, $10, 8
dc.w 8, 8, 5, $2B, $C, 6, 6, 8, 8, $18, $D8, $7FFF
-MGZ2_BGDeformIndex:dc.w $1C, $18, $1A, $C, 6, $14, 2, $10, $16, $12, $A, 0, 8, 4, $E
-MGZ2_BGDeformOffset:dc.w -5, -8, 9, $A, 2, -$C, 3, $10, -1, $D, -$F, 6, -$B, -4, $E
+MGZ2_BGDeformIndex:
+ dc.w $1C, $18, $1A, $C, 6, $14, 2, $10, $16, $12, $A, 0, 8, 4, $E
+MGZ2_BGDeformOffset:
+ dc.w -5, -8, 9, $A, 2, -$C, 3, $10, -1, $D, -$F, 6, -$B, -4, $E
dc.w -8, $10, 8, 0, -8, $10, 8, 0
; ---------------------------------------------------------------------------
@@ -73833,11 +73621,8 @@ loc_3DA1E:
st (Events_fg_5).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-CNZ1_BGDeformArray:dc.w $80
- dc.w $30
- dc.w $60
- dc.w $C0
- dc.w $7FFF
+CNZ1_BGDeformArray:
+ dc.w $80, $30, $60, $C0, $7FFF
; ---------------------------------------------------------------------------
CNZ2_ScreenInit:
@@ -74226,8 +74011,8 @@ ICZ1_BigSnowFall:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_3DE42
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
bra.s loc_3DE42
; ---------------------------------------------------------------------------
@@ -74278,11 +74063,6 @@ ICZ1_SetIntroPal:
loc_3DE92:
lea (Target_palette_line_4+2).w,a1
-; End of function ICZ1_SetIntroPal
-
-
-; =============== S U B R O U T I N E =======================================
-
sub_3DE96:
move.l #$EEE0EEC,(a1)+
@@ -74294,7 +74074,7 @@ sub_3DE96:
move.l #$AEC0CEA,(a1)+
move.w #$E80,(a1)
rts
-; End of function sub_3DE96
+; End of function ICZ1_SetIntroPal
; =============== S U B R O U T I N E =======================================
@@ -74308,11 +74088,6 @@ ICZ1_SetIndoorPal:
loc_3DED2:
lea (Target_palette_line_4+2).w,a1
-; End of function ICZ1_SetIndoorPal
-
-
-; =============== S U B R O U T I N E =======================================
-
sub_3DED6:
move.l #$EC00E40,(a1)+
@@ -74322,10 +74097,11 @@ sub_3DED6:
move.l #$E240A02,(a1)+
move.w #$402,(a1)
rts
-; End of function sub_3DED6
+; End of function ICZ1_SetIndoorPal
; ---------------------------------------------------------------------------
-ICZ1_IntroBGDeformArray:dc.w $44, $C, $B, $D, $18, $50, 2, 6, 8, $10, $18, $20, $28, $7FFF
+ICZ1_IntroBGDeformArray:
+ dc.w $44, $C, $B, $D, $18, $50, 2, 6, 8, $10, $18, $20, $28, $7FFF
; ---------------------------------------------------------------------------
ICZ2_ScreenInit:
@@ -74554,7 +74330,7 @@ loc_3E0E8:
move.w (Level_frame_counter).w,d1
lsr.w #2,d1
andi.w #$3E,d1
- lea ALZ_AIZ2_BGDeformDelta(pc),a5
+ lea AIZ2_ALZ_BGDeformDelta(pc),a5
adda.w d1,a5
moveq #7,d1
@@ -74625,11 +74401,6 @@ ICZ2_SetOutdoorsPal:
loc_3E1B6:
lea (Target_palette_line_4+2).w,a1
-; End of function ICZ2_SetOutdoorsPal
-
-
-; =============== S U B R O U T I N E =======================================
-
sub_3E1BA:
move.l #$EEE0EEA,(a1)+
@@ -74638,7 +74409,7 @@ sub_3E1BA:
move.l #$C400E20,(a1)+
move.l #$A000E00,(a1)
rts
-; End of function sub_3E1BA
+; End of function ICZ2_SetOutdoorsPal
; =============== S U B R O U T I N E =======================================
@@ -74652,11 +74423,6 @@ ICZ2_SetIndoorsPal:
loc_3E1E6:
lea (Target_palette_line_4+2).w,a1
-; End of function ICZ2_SetIndoorsPal
-
-
-; =============== S U B R O U T I N E =======================================
-
sub_3E1EA:
move.l #$EE20E24,(a1)+
@@ -74666,7 +74432,7 @@ sub_3E1EA:
move.l #$E400840,(a1)+
move.w #$600,(a1)
rts
-; End of function sub_3E1EA
+; End of function ICZ2_SetIndoorsPal
; =============== S U B R O U T I N E =======================================
@@ -74680,11 +74446,6 @@ ICZ2_SetICZ1Pal:
loc_3E21A:
lea (Target_palette_line_4+2).w,a1
-; End of function ICZ2_SetICZ1Pal
-
-
-; =============== S U B R O U T I N E =======================================
-
sub_3E21E:
move.l #$EEC0CC6,(a1)+
@@ -74693,11 +74454,13 @@ sub_3E21E:
move.l #$8200620,(a1)+
move.l #$2000600,(a1)
rts
-; End of function sub_3E21E
+; End of function ICZ2_SetICZ1Pal
; ---------------------------------------------------------------------------
-ICZ2_OutBGDeformArray:dc.w $5A, $26, $8030, $7FFF
-ICZ2_InBGDeformArray:dc.w $1A0, $40, $20, $18, $40, 8, 8, $18, $7FFF
+ICZ2_OutBGDeformArray:
+ dc.w $5A, $26, $8030, $7FFF
+ICZ2_InBGDeformArray:
+ dc.w $1A0, $40, $20, $18, $40, 8, 8, $18, $7FFF
; ---------------------------------------------------------------------------
LBZ1_ScreenInit:
@@ -74880,8 +74643,8 @@ loc_3E3EA:
bne.s loc_3E40A
tst.w d2
beq.s loc_3E40A
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
loc_3E40A:
tst.w d2
@@ -74896,8 +74659,8 @@ loc_3E40A:
loc_3E426:
clr.l (a1)+
dbf d0,loc_3E426
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
loc_3E434:
lea (HScroll_table+$100).w,a1
@@ -74954,8 +74717,6 @@ loc_3E48A:
move.w d2,(Events_bg+$00).w
lsr.w #1,d2
jmp LBZ1_LayoutModBranch-2(pc,d2.w)
-; End of function LBZ1_CheckLayoutMod
-
; ---------------------------------------------------------------------------
LBZ1_LayoutModBranch:
@@ -75061,6 +74822,9 @@ loc_3E536:
dbf d1,loc_3E536
rts
+; End of function LBZ1_CheckLayoutMod
+
+
; =============== S U B R O U T I N E =======================================
@@ -75098,16 +74862,20 @@ loc_3E56E:
move.w #$100,d3
jmp (SolidObjectFull2).l
; ---------------------------------------------------------------------------
-LBZ1_FGVScrollArray:dc.w $3B60, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $7FFF
-LBZ1_LayoutModRange:dc.w $13E0,$16A0, $100, $580
+LBZ1_FGVScrollArray:
+ dc.w $3B60, $10, $10, $10, $10, $10, $10, $10, $10, $10, $10, $7FFF
+LBZ1_LayoutModRange:
+ dc.w $13E0,$16A0, $100, $580
dc.w $2160,$2520, 0, $700
dc.w $3A60,$3BA0, 0, $600
dc.w $3DE0,$3FA0, 0, $300
-LBZ1_LayoutModExitRange:dc.w $1376,$170A
+LBZ1_LayoutModExitRange:
+ dc.w $1376,$170A
dc.w $20F6,$258A
dc.w $39F6,$3C0A
dc.w $3D76,$400A
-LBZ1_CollapseScrollSpeed:dc.w $1EE, $1F2, $C7, $1B3, $1B7, $198, $E, $139
+LBZ1_CollapseScrollSpeed:
+ dc.w $1EE, $1F2, $C7, $1B3, $1B7, $198, $E, $139
; ---------------------------------------------------------------------------
LBZ1_BackgroundInit:
@@ -75264,8 +75032,10 @@ loc_3E79A:
; End of function LBZ1_Deform
; ---------------------------------------------------------------------------
-LBZ1_BGDrawArray:dc.w $D0, $7FFF
-LBZ1_BGDeformArray:dc.w $D0
+LBZ1_BGDrawArray:
+ dc.w $D0, $7FFF
+LBZ1_BGDeformArray:
+ dc.w $D0
dc.w $18
dc.w 8
dc.w 8
@@ -75451,8 +75221,8 @@ loc_3E95A:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_3E96E
- moveq #sfx_DeathEggRiseLoud,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DeathEggRiseLoud),d0
+ jsr (Play_SFX).l
loc_3E96E:
tst.w (Events_fg_5).w
@@ -76113,12 +75883,16 @@ locret_3EEDE:
; End of function LBZ2_EndFallingAccel
; ---------------------------------------------------------------------------
-LBZ2_BGDeformArray:dc.w $C0, $40, $38, $18, $28, $10, $10, $10, $18, $40, $20, $10, $20
+LBZ2_BGDeformArray:
+ dc.w $C0, $40, $38, $18, $28, $10, $10, $10, $18, $40, $20, $10, $20
dc.w $70, $30, $80E0, $20, $7FFF
-LBZ2_DEBGDeformArray:dc.w $38, $18, $28, $10, $10, $10, $18, $40, $38, $18, $28, $10, $10
+LBZ2_DEBGDeformArray:
+ dc.w $38, $18, $28, $10, $10, $10, $18, $40, $38, $18, $28, $10, $10
dc.w $10, $18, $40, $20, $10, $20, $70, $60, $10, $805F, $7FFF
-LBZ2_CloudDeformArray:dc.w $16, $E, $A, $14, $C, 6, $18, $10, $12, 2, 8, 4, 0
-LBZ2_BGUWDeformRange:dc.w 7, 1, 3, 1, 7
+LBZ2_CloudDeformArray:
+ dc.w $16, $E, $A, $14, $C, 6, $18, $10, $12, 2, 8, 4, 0
+LBZ2_BGUWDeformRange:
+ dc.w 7, 1, 3, 1, 7
; ---------------------------------------------------------------------------
Gumball_ScreenInit:
@@ -76138,7 +75912,7 @@ Gumball_ScreenInit:
lea Gumball_VScrollArray(pc),a4
lea (HScroll_table).w,a5
move.w (Camera_X_pos_rounded).w,d0
- jmp RefreshPlaneDirectVScroll(pc)
+ jmp Refresh_PlaneDirectVScroll(pc)
; ---------------------------------------------------------------------------
Gumball_ScreenEvent:
@@ -76159,11 +75933,6 @@ Gumball_SetUpVScroll:
subi.w #$C8,d1
sub.w d0,d1
neg.w d1
-; End of function Gumball_SetUpVScroll
-
-
-; =============== S U B R O U T I N E =======================================
-
Gumball_VScroll:
lea (HScroll_table).w,a1
@@ -76174,10 +75943,11 @@ Gumball_VScroll:
move.w d1,4(a1)
move.w d1,$E(a1)
rts
-; End of function Gumball_VScroll
+; End of function Gumball_SetUpVScroll
; ---------------------------------------------------------------------------
-Gumball_VScrollArray:dc.w $C0, $80, $7FFF
+Gumball_VScrollArray:
+ dc.w $C0, $80, $7FFF
; ---------------------------------------------------------------------------
Gumball_BackgroundInit:
@@ -76275,8 +76045,8 @@ loc_3F0F4:
move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
move.w d0,(VDP_control_port).l
- moveq #mus_Continue,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Continue),d0
+ jsr (Play_Music).l
jsr (Pal_FadeFromBlack).l
loc_3F168:
@@ -76552,7 +76322,7 @@ loc_3F47E:
move.b 5(a0),d0
move.w off_3F49E(pc,d0.w),d1
jsr off_3F49E(pc,d1.w)
- lea (DPLCPtr_4575E).l,a2
+ lea (DPLCPtr_CutsceneKnux).l,a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -76740,7 +76510,8 @@ loc_3F664:
; End of function sub_3F650
; ---------------------------------------------------------------------------
-ChildObjDat_3F66E:dc.w 0
+ChildObjDat_3F66E:
+ dc.w 0
dc.l Obj_3F58E
off_3F674: dc.l byte_3F834
dc.l byte_3F834
@@ -76777,8 +76548,8 @@ ArtNem_ContinueDigits:
; ---------------------------------------------------------------------------
S3Credits:
- moveq #mus_Stop,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Stop),d0
+ jsr (Play_Music).l
jsr (Clear_Nem_Queue).l
jsr (Pal_FadeToBlack).l
lea (VDP_control_port).l,a6
@@ -76876,8 +76647,8 @@ loc_403FE:
loc_404AC:
move.l (a1)+,(a2)+
dbf d6,loc_404AC
- moveq #mus_Credits3,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Credits3),d0
+ jsr (Play_Music).l
move.w #$B4,(_unkFA82).w
move.b #$18,(V_int_routine).w
jsr (Wait_VSync).l
@@ -76995,7 +76766,7 @@ loc_405FA:
jsr (Pal_FadeToBlack).l
move.w #4,(_unkFA86).w
lea Pal_EndingEyecatchKnuckles(pc),a1
- cmpi.w #7,(Emerald_count).w
+ cmpi.w #7,(Chaos_emerald_count).w
bne.s loc_40616
lea Pal_EndingS3Logo(pc),a1
@@ -77016,7 +76787,7 @@ loc_4062E:
bset #0,(_unkFA88).w
clr.l (V_scroll_value).w
lea Child6_EndingS3Logo(pc),a1
- cmpi.w #7,(Emerald_count).w
+ cmpi.w #7,(Chaos_emerald_count).w
beq.s loc_40656
lea S3CreditsText_TryAgain(pc),a1
bsr.w sub_40A4A
@@ -77036,11 +76807,13 @@ loc_4065C:
jsr (Wait_VSync).l
jmp (Pal_FadeFromBlack).l
; ---------------------------------------------------------------------------
-Child6_EndingS3Logo:dc.w 2
+Child6_EndingS3Logo:
+ dc.w 2
dc.l loc_4069E
dc.l loc_4078C
dc.l loc_407FC
-Child6_EndingTryAgain:dc.w 1
+Child6_EndingTryAgain:
+ dc.w 1
dc.l loc_40896
dc.l loc_409A2
; ---------------------------------------------------------------------------
@@ -77452,11 +77225,13 @@ locret_40B1A:
; End of function sub_40A5C
; ---------------------------------------------------------------------------
-S3CreditsText_TryAgain:dc.w 0
+S3CreditsText_TryAgain:
+ dc.w 0
dc.w $996
dc.b "TRY AGAIN",0
even
-S3CreditsText_Main:dc.w word_40B7C-S3CreditsText_Main
+S3CreditsText_Main:
+ dc.w word_40B7C-S3CreditsText_Main
dc.w word_40B94-S3CreditsText_Main
dc.w word_40BC2-S3CreditsText_Main
dc.w word_40BEC-S3CreditsText_Main
@@ -77826,7 +77601,8 @@ word_4134C: dc.w 1
dc.w $78A
dc.b " SEGA ",0
even
-S3CreditsText_Dummy:dc.w word_4138C-S3CreditsText_Dummy
+S3CreditsText_Dummy:
+ dc.w word_4138C-S3CreditsText_Dummy
dc.w word_41396-S3CreditsText_Dummy
dc.w word_413A0-S3CreditsText_Dummy
dc.w word_413AA-S3CreditsText_Dummy
@@ -77902,7 +77678,8 @@ S3Credits_PlaneMapSmall:
dc.w $23, $18
dc.w $24, $F
dc.w $25, $26
-S3Credits_PlaneMapLarge:dc.w word_4146C-S3Credits_PlaneMapLarge
+S3Credits_PlaneMapLarge:
+ dc.w word_4146C-S3Credits_PlaneMapLarge
dc.w word_4147A-S3Credits_PlaneMapLarge
dc.w word_41488-S3Credits_PlaneMapLarge
dc.w word_41496-S3Credits_PlaneMapLarge
@@ -78005,7 +77782,8 @@ Pal_EndingS3LogoFlash:
even
Map_EndingGraphics:
include "General/Ending/Map - S3 Ending Graphics.asm"
-ChildObjDat_4192A:dc.w 0
+ChildObjDat_4192A:
+ dc.w 0
dc.l loc_40854
dc.w $1008
AniRaw_41932: dc.b $F, 1, 2, $FC
@@ -78019,36 +77797,40 @@ ArtNem_EndingGraphics:
binclude "General/Ending/Nemesis Art/S3 Ending Graphics.bin"
even
; ---------------------------------------------------------------------------
- movea.l ObjB0(pc,d6.w),a6
+
+Trap15_FuncDebug:
+ movea.l Func_Listing(pc,d6.w),a6
jsr (a6)
nop
nop
move sr,d5
move.w (sp),d6
andi.w #$1F,d5
- andi.w #-$20,d6
+ andi.w #$FFE0,d6
or.w d5,d6
move.w d6,(sp)
nop
nop
rte
; ---------------------------------------------------------------------------
+Func_Listing:
+; ---------------------------------------------------------------------------
-ObjB0:
+Obj_SonicOnSegaScr:
moveq #0,d0
move.b 5(a0),d0
- move.w ObjB0_Index(pc,d0.w),d1
- jmp ObjB0_Index(pc,d1.w)
+ move.w off_4316C(pc,d0.w),d1
+ jmp off_4316C(pc,d1.w)
; ---------------------------------------------------------------------------
-ObjB0_Index: dc.w ObjB0_Init-ObjB0_Index
- dc.w ObjB0_RunLeft-ObjB0_Index
- dc.w ObjB0_MidWipe-ObjB0_Index
- dc.w ObjB0_RunRight-ObjB0_Index
- dc.w ObjB0_EndWipe-ObjB0_Index
- dc.w locret_43340-ObjB0_Index
+off_4316C: dc.w SonicOnSegaScr_Init-off_4316C
+ dc.w SonicOnSegaScr_RunLeft-off_4316C
+ dc.w SonicOnSegaScr_MidWipe-off_4316C
+ dc.w SonicOnSegaScr_RunRight-off_4316C
+ dc.w SonicOnSegaScr_EndWipe-off_4316C
+ dc.w locret_43340-off_4316C
; ---------------------------------------------------------------------------
-ObjB0_Init:
+SonicOnSegaScr_Init:
lea ObjDat3_434E0(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #0,4(a0)
@@ -78119,11 +77901,11 @@ SonicRunningSpriteScaleData:
dc.b 3
; ---------------------------------------------------------------------------
-ObjB0_RunLeft:
+SonicOnSegaScr_RunLeft:
subi.w #$20,$10(a0)
subq.w #1,$2E(a0)
bmi.s loc_43254
- bsr.w ObjB0_Move_Streaks_Left
+ bsr.w SonicOnSegaScr_Move_Streaks_Left
lea (Ani_SonicOnSegaScr).l,a1
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
@@ -78137,11 +77919,11 @@ loc_43254:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-ObjB0_MidWipe:
+SonicOnSegaScr_MidWipe:
tst.w $2E(a0)
beq.s loc_4327E
subq.w #1,$2E(a0)
- bsr.w ObjB0_Move_Streaks_Left
+ bsr.w SonicOnSegaScr_Move_Streaks_Left
loc_4327E:
lea byte_433F4(pc),a1
@@ -78180,11 +77962,11 @@ locret_432D8:
rts
; ---------------------------------------------------------------------------
-ObjB0_RunRight:
+SonicOnSegaScr_RunRight:
subq.w #1,$2E(a0)
bmi.s loc_432FC
addi.w #$20,$10(a0)
- bsr.w ObjB0_Move_Streaks_Right
+ bsr.w SonicOnSegaScr_Move_Streaks_Right
lea (Ani_SonicOnSegaScr).l,a1
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
@@ -78198,11 +77980,11 @@ loc_432FC:
rts
; ---------------------------------------------------------------------------
-ObjB0_EndWipe:
+SonicOnSegaScr_EndWipe:
tst.w $2E(a0)
beq.s loc_43322
subq.w #1,$2E(a0)
- bsr.w ObjB0_Move_Streaks_Right
+ bsr.w SonicOnSegaScr_Move_Streaks_Right
loc_43322:
lea byte_4346A(pc),a1
@@ -78214,8 +77996,8 @@ loc_43322:
loc_4332E:
addq.b #2,5(a0)
st (_unkF660).w
- move.b #mus_FA,d0
- jsr (Play_Sound_2).l
+ move.b #mus_S2SEGA,d0
+ jsr (Play_SFX).l
locret_43340:
rts
@@ -78247,7 +78029,7 @@ ObjB1_Main:
; =============== S U B R O U T I N E =======================================
-ObjB0_Move_Streaks_Left:
+SonicOnSegaScr_Move_Streaks_Left:
lea (H_scroll_buffer+$138).w,a1
move.w #$22,d6
@@ -78256,13 +78038,13 @@ loc_43386:
addq.w #8,a1
dbf d6,loc_43386
rts
-; End of function ObjB0_Move_Streaks_Left
+; End of function SonicOnSegaScr_Move_Streaks_Left
; =============== S U B R O U T I N E =======================================
-ObjB0_Move_Streaks_Right:
+SonicOnSegaScr_Move_Streaks_Right:
lea (H_scroll_buffer+$13C).w,a1
move.w #$22,d6
@@ -78271,7 +78053,7 @@ loc_4339A:
addq.w #8,a1
dbf d6,loc_4339A
rts
-; End of function ObjB0_Move_Streaks_Right
+; End of function SonicOnSegaScr_Move_Streaks_Right
; =============== S U B R O U T I N E =======================================
@@ -78712,7 +78494,7 @@ loc_4380A:
; ---------------------------------------------------------------------------
-Obj_86:
+Obj_GumballMachine:
lea ObjDat3_43F7C(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_43892,(a0)
@@ -78765,8 +78547,8 @@ loc_438D2:
bset #0,4(a0)
loc_438E2:
- moveq #sfx_GumballTab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GumballTab),d0
+ jsr (Play_SFX).l
loc_438EA:
jmp (Draw_Sprite).l
@@ -78949,7 +78731,7 @@ loc_43B02:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_87:
+Obj_GumballTriangleBumper:
lea ObjDat3_43F70(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_43B18,(a0)
@@ -79014,8 +78796,8 @@ loc_43B8E:
move.w #$F,($FF2020).l
movea.w (_unkFAA4).w,a1
bset #0,$38(a1)
- moveq #sfx_Spring,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jsr (Play_SFX).l
rts
; End of function sub_43B6E
@@ -79125,8 +78907,8 @@ word_43CE4: dc.w $FFE8, $30, $FFE8, $30
loc_43CEC:
addq.b #1,(Life_count).w
addq.b #1,(Update_HUD_life_count).w
- moveq #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_ExtraLife),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_43CFC:
@@ -79190,46 +78972,46 @@ sub_43D42:
bclr #5,$2A(a1)
clr.b $40(a1)
move.b #1,$20(a0)
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_43D42
; ---------------------------------------------------------------------------
loc_43DA2:
lea (Player_1).w,a1
- move.l #Obj_Fire_Shield,(Shield).w
+ move.l #Obj_FireShield,(Shield).w
move.w a1,(Shield+parent).w
andi.b #-$72,$2B(a1)
bset #0,$2B(a1)
moveq #4,d0
bsr.w sub_43E20
- moveq #sfx_FireShield,d0
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_FireShield),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_43DCC:
lea (Player_1).w,a1
- move.l #Obj_Bubble_Shield,(Shield).w
+ move.l #Obj_BubbleShield,(Shield).w
move.w a1,(Shield+parent).w
andi.b #-$72,$2B(a1)
bset #0,$2B(a1)
moveq #6,d0
bsr.w sub_43E20
- moveq #sfx_BubbleShield,d0
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_BubbleShield),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_43DF6:
lea (Player_1).w,a1
- move.l #Obj_Lightning_Shield,(Shield).w
+ move.l #Obj_LightningShield,(Shield).w
move.w a1,(Shield+parent).w
andi.b #-$72,$2B(a1)
bset #0,$2B(a1)
moveq #5,d0
bsr.w sub_43E20
- moveq #sfx_ElectricShield,d0
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_LightningShield),d0
+ jmp (Play_Music).l
; =============== S U B R O U T I N E =======================================
@@ -79463,7 +79245,8 @@ ObjDat3_43FB8: dc.l Map_GumballBonus
dc.b $10
dc.b $17
dc.b 0
-ChildObjDat_43FC4:dc.w 6
+ChildObjDat_43FC4:
+ dc.w 6
dc.l loc_43932
dc.b 0
dc.b 0
@@ -79498,11 +79281,14 @@ word_43FF0: dc.w 3
dc.l loc_43986
dc.b $30
dc.b $E8
-ChildObjDat_4400A:dc.w $F
+ChildObjDat_4400A:
+ dc.w $F
dc.l loc_43BF8
-ChildObjDat_44010:dc.w 0
+ChildObjDat_44010:
+ dc.w 0
dc.l loc_43A94
-ChildObjDat_44016:dc.w 0
+ChildObjDat_44016:
+ dc.w 0
dc.l loc_43C84
byte_4401C: dc.b 3
dc.b 5
@@ -79564,7 +79350,8 @@ loc_44248:
jsr SSEntryRing_Index(pc,d1.w)
bra.w SSEntryRing_Display
; ---------------------------------------------------------------------------
-SSEntryRing_Index:dc.w SSEntryRing_Init-SSEntryRing_Index
+SSEntryRing_Index:
+ dc.w SSEntryRing_Init-SSEntryRing_Index
dc.w SSEntryRing_Main-SSEntryRing_Index
dc.w SSEntryRing_Animate-SSEntryRing_Index
; ---------------------------------------------------------------------------
@@ -79593,7 +79380,7 @@ loc_4429C:
lea (Player_1).w,a1
cmpi.b #6,5(a1)
bcc.s locret_4429A
- cmpi.w #7,(Emerald_count).w
+ cmpi.w #7,(Chaos_emerald_count).w
beq.s loc_442FE
move.b #4,5(a0)
move.b #-1,(Player_prev_frame).w
@@ -79607,8 +79394,8 @@ loc_4429C:
cmp.w $10(a0),d0
bcs.s locret_4429A
bset #0,4(a1)
- moveq #sfx_BigRing,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRing),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
SSEntry_Range: dc.w $FFE8
@@ -79618,8 +79405,8 @@ SSEntry_Range: dc.w $FFE8
; ---------------------------------------------------------------------------
loc_442FE:
- moveq #sfx_BigRing,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRing),d0
+ jsr (Play_SFX).l
move.b $2C(a0),d0
move.l (Collected_special_ring_array).w,d1
bset d0,d1
@@ -79642,7 +79429,8 @@ Obj_SSEntryFlash:
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-SSEntryFlash_Index:dc.w SSEntryFlash_Init-SSEntryFlash_Index
+SSEntryFlash_Index:
+ dc.w SSEntryFlash_Init-SSEntryFlash_Index
dc.w SSEntryFlash_Main-SSEntryFlash_Index
; ---------------------------------------------------------------------------
@@ -79677,10 +79465,10 @@ SSEntryFlash_Finished:
; ---------------------------------------------------------------------------
SSEntryFlash_GoSS:
- cmpi.w #7,(Emerald_count).w
+ cmpi.w #7,(Chaos_emerald_count).w
beq.s loc_443E4
- moveq #sfx_EnterSS,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_EnterSS),d0
+ jsr (Play_SFX).l
jsr (Clear_SpriteRingMem).l
jsr (Save_Level_Data2).l
move.b #1,(Special_bonus_entry_flag).w
@@ -79727,8 +79515,9 @@ loc_4443C:
jsr (Queue_Kos_Module).l
jmp (Go_Delete_SpriteSlotted).l
; ---------------------------------------------------------------------------
-ObjSlot_SSEntryRing:dc.w 0
- dc.w make_art_tile($5A0,1,0)
+ObjSlot_SSEntryRing:
+ dc.w 0
+ dc.w make_art_tile(ArtTile_Explosion,1,0)
dc.w $40
dc.w 4
dc.l Map_SSEntryRing
@@ -79738,7 +79527,8 @@ ObjSlot_SSEntryRing:dc.w 0
dc.b $20
dc.b 0
dc.b 0
-ObjSlot_SSEntryFlash:dc.w 0
+ObjSlot_SSEntryFlash:
+ dc.w 0
dc.w make_art_tile(ArtTile_Player_1,1,0)
dc.w $18
dc.w 6
@@ -79749,42 +79539,20 @@ ObjSlot_SSEntryFlash:dc.w 0
dc.b $20
dc.b 0
dc.b 0
-ChildObjDat_44476:dc.w 0
+ChildObjDat_44476:
+ dc.w 0
dc.l Obj_SSEntryFlash
-DPLCPtr_SSEntryRing:dc.l ArtUnc_SSEntryRing
+DPLCPtr_SSEntryRing:
+ dc.l ArtUnc_SSEntryRing
dc.l DPLC_SSEntryRing
-DPLCPtr_SSEntryFlash:dc.l ArtUnc_SSEntryFlash
+DPLCPtr_SSEntryFlash:
+ dc.l ArtUnc_SSEntryFlash
dc.l DPLC_SSEntryFlash
-AniRaw_SSEntryRing:dc.b 4
- dc.b 0
- dc.b 0
- dc.b 1
- dc.b 2
- dc.b 3
- dc.b 4
- dc.b 5
- dc.b 6
- dc.b 7
- dc.b $F8
- dc.b $C
- dc.b 6
- dc.b $A
- dc.b 9
- dc.b 8
- dc.b $B
- dc.b $FC
-AniRaw_SSEntryFlash:dc.b 0
- dc.b 0
- dc.b 0
- dc.b 1
- dc.b 2
- dc.b $43
- dc.b 3
- dc.b 2
- dc.b 1
- dc.b 0
- dc.b $F4
- dc.b 0
+AniRaw_SSEntryRing:
+ dc.b 4, 0, 0, 1, 2, 3, 4, 5, 6, 7, $F8, $C, 6, $A, 9, 8, $B, $FC
+AniRaw_SSEntryFlash:
+ dc.b 0, 0, 0, 1, 2, $43, 3, 2, 1, 0, $F4
+ even
Map_SSEntryRing:
include "General/Sprites/SS Entry/Map - Entry Ring.asm"
DPLC_SSEntryRing:
@@ -79817,7 +79585,7 @@ CutsceneKnux_AIZ1:
move.b 5(a0),d0
move.w off_4473E(pc,d0.w),d1
jsr off_4473E(pc,d1.w)
- lea DPLCPtr_4575E(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -79855,7 +79623,7 @@ loc_44790:
bset #7,$2A(a0)
move.w #-$600,$1A(a0)
move.w #$80,$18(a0)
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -79982,7 +79750,7 @@ CutsceneKnux_AIZ2:
move.b 5(a0),d0
move.w off_44944(pc,d0.w),d1
jsr off_44944(pc,d1.w)
- lea DPLCPtr_4575E(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -80003,7 +79771,7 @@ loc_44950:
bsr.w sub_456C6
move.w #$77,$2E(a0)
move.l #loc_449A8,$34(a0)
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_4572A(pc),a2
jsr (CreateChild6_Simple).l
@@ -80101,7 +79869,7 @@ loc_44A72:
loc_44A78:
movea.w $46(a0),a1
btst #7,$2A(a1)
- bne.s loc_44A9E
+ bne.s CutsceneKnux_Delete
move.b #8,7(a0)
moveq #$13,d1
move.w #$20,d2
@@ -80110,7 +79878,7 @@ loc_44A78:
jmp (SolidObjectFull2).l
; ---------------------------------------------------------------------------
-loc_44A9E:
+CutsceneKnux_Delete:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -80121,7 +79889,7 @@ CutsceneKnux_HCZ2:
move.b 5(a0),d0
move.w off_44ACC(pc,d0.w),d1
jsr off_44ACC(pc,d1.w)
- lea DPLCPtr_4575E(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -80141,8 +79909,8 @@ word_44ADA: dc.w $540
loc_44AE2:
lea ObjDat4_456DC(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
- move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w #$3940,(Camera_max_X_pos).w
rts
; ---------------------------------------------------------------------------
@@ -80176,7 +79944,7 @@ loc_44B42:
move.w #$1F,$2E(a0)
move.l #loc_44B82,$34(a0)
move.w #$5C0,(Camera_min_Y_pos).w
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -80217,13 +79985,12 @@ loc_44BE0:
jsr (Remove_From_TrackingSlot).l
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
-ChildObjDat_44BEC:dc.w 1
+ChildObjDat_44BEC:
+ dc.w 1
dc.l Obj_DecLevStartYGradual
- dc.b 0
- dc.b 0
+ dc.w 0
dc.l Obj_IncLevEndXGradual
- dc.b 0
- dc.b 0
+ dc.w 0
; ---------------------------------------------------------------------------
CutsceneKnux_CNZ2A:
@@ -80233,7 +80000,7 @@ CutsceneKnux_CNZ2A:
move.b 5(a0),d0
move.w off_44C22(pc,d0.w),d1
jsr off_44C22(pc,d1.w)
- lea DPLCPtr_4575E(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -80253,19 +80020,19 @@ loc_44C36:
lea ObjDat4_456DC(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
move.l #word_4578B,$30(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$78,$2E(a0)
move.b #mus_Knuckles,$26(a0)
- move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w
- move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w
- move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w
+ move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w
+ move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w #$280,(Camera_target_max_Y_pos).w
move.w #$1D00,$1C(a0)
move.w #$1D00,(Camera_max_X_pos).w
move.l #loc_44CAE,$34(a0)
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_45730(pc),a2
jmp (CreateChild1_Normal).l
@@ -80348,7 +80115,7 @@ loc_44D6E:
jsr (Load_PLC_Raw).l
lea ChildObjDat_44DC4(pc),a2
jsr (CreateChild1_Normal).l
- move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
+ move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_44DB8
move.l #Obj_Song_Fade_ToLevelMusic,(a1)
@@ -80357,7 +80124,8 @@ loc_44DB8:
jsr (Remove_From_TrackingSlot).l
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
-ChildObjDat_44DC4:dc.w 2
+ChildObjDat_44DC4:
+ dc.w 2
dc.l Obj_DecLevStartYGradual
dc.w 0
dc.l Obj_DecLevStartXGradual
@@ -80443,7 +80211,7 @@ CutsceneKnux_CNZ2B:
move.b 5(a0),d0
move.w off_44E8A(pc,d0.w),d1
jsr off_44E8A(pc,d1.w)
- lea DPLCPtr_4575E(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -80468,7 +80236,7 @@ loc_44EA2:
st (Ctrl_1_locked).w
move.b #-$80,(Player_1+object_control).w
bsr.w sub_456C6
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -80564,7 +80332,7 @@ CutsceneKnux_LBZ1:
move.b 5(a0),d0
move.w off_44FD8(pc,d0.w),d1
jsr off_44FD8(pc,d1.w)
- lea DPLCPtr_4575E(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -80586,7 +80354,7 @@ loc_44FE8:
jsr (SetUp_ObjAttributesSlotted).l
move.b #$16,$22(a0)
move.w #$A0,(Camera_min_Y_pos).w
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_45738(pc),a2
jmp (CreateChild1_Normal).l
@@ -80625,8 +80393,8 @@ loc_45064:
move.b #8,5(a0)
move.w #$F,$2E(a0)
move.l #loc_45096,$34(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
lea ChildObjDat_45740(pc),a2
jsr (CreateChild1_Normal).l
lea (PLC_BossExplosion).l,a1
@@ -80668,7 +80436,7 @@ loc_450FA:
clr.b (_unkFAA9).w
clr.b (Player_1+object_control).w
clr.b (Player_2+object_control).w
- move.w #$3B60,(Target_camera_max_X_pos).w
+ move.w #$3B60,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
move.w #$148,(Camera_target_max_Y_pos).w
@@ -80713,7 +80481,7 @@ sub_45174:
movea.w d0,a1
cmpi.b #6,5(a1)
bcc.s locret_4516C
- move.b #-$7F,$2E(a1)
+ move.b #$81,$2E(a1)
bclr #0,4(a1)
bclr #0,$2A(a1)
rts
@@ -80729,8 +80497,8 @@ loc_4519E:
move.l #loc_451C2,(a0)
move.w #-$200,$18(a0)
move.w #-$400,$1A(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
loc_451C2:
jsr (MoveSprite_LightGravity).l
@@ -80765,7 +80533,7 @@ CutsceneKnux_LBZ2:
move.b 5(a0),d0
move.w off_45234(pc,d0.w),d1
jsr off_45234(pc,d1.w)
- lea DPLCPtr_4575E(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -80784,7 +80552,7 @@ loc_45242:
bset #0,4(a0)
move.b #$20,$22(a0)
bsr.w sub_456C6
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_4574E(pc),a2
jmp (CreateChild3_NormalRepeated).l
@@ -80851,8 +80619,8 @@ loc_4530A:
move.w $14(a0),d0
cmp.w (Water_level).w,d0
bcs.s loc_45322
- moveq #sfx_Splash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Splash),d0
+ jsr (Play_SFX).l
move.b #$C,5(a0)
loc_45322:
@@ -80944,7 +80712,7 @@ loc_45410:
jmp (Sprite_CheckDeleteXY).l
; ---------------------------------------------------------------------------
-Obj_C8_1:
+Obj_LBZKnuxPillar:
lea ObjDat3_45712(pc),a1
jsr (SetUp_ObjAttributes).l
bclr #1,4(a0)
@@ -80968,7 +80736,7 @@ Map_LBZKnuxPillar:
include "Levels/LBZ/Misc Object Data/Map - Knuckles Pillar.asm"
; ---------------------------------------------------------------------------
-Obj_83:
+Obj_CutsceneButton:
lea ObjDat3_456EE(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_454C2,(a0)
@@ -81028,7 +80796,7 @@ loc_4552E:
loc_45534:
clr.b (Ctrl_1_locked).w
move.w #$1000,d0
- move.w d0,(Target_camera_max_Y_pos).w
+ move.w d0,(Camera_stored_max_Y_pos).w
move.w d0,(Camera_target_max_Y_pos).w
lea (Child6_IncLevY).l,a2
jmp (CreateChild6_Simple).l
@@ -81046,8 +80814,8 @@ loc_45556:
move.w d0,(Mean_water_level).w
move.w #$350,(Target_water_level).w
st (_unkFAA3).w
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s locret_45588
move.l #loc_44E04,(a1)
@@ -81070,7 +80838,7 @@ loc_4558A:
move.b #-$78,(a1)
jsr (Create_New_Sprite).l
bne.s loc_455D2
- move.l #Obj_48_1,(a1)
+ move.l #Obj_CNZVacuumTube,(a1)
move.w #$4740,$10(a1)
move.w #$828,$14(a1)
move.b #$4C,$2C(a1)
@@ -81078,7 +80846,7 @@ loc_4558A:
loc_455D2:
jsr (Create_New_Sprite).l
bne.s locret_455F2
- move.l #Obj_48_1,(a1)
+ move.l #Obj_CNZVacuumTube,(a1)
move.w #$4740,$10(a1)
move.w #$A28,$14(a1)
move.b #$20,$2C(a1)
@@ -81087,7 +80855,7 @@ locret_455F2:
rts
; ---------------------------------------------------------------------------
-Obj_88:
+Obj_CNZWaterLevelCorkFloor:
jsr (Obj_WaitOffscreen).l
move.l #loc_45624,(a0)
jsr (Create_New_Sprite3).l
@@ -81115,7 +80883,7 @@ loc_45646:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_89:
+Obj_CNZWaterLevelButton:
lea ObjDat3_456EE(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_4566A,(a0)
@@ -81139,8 +80907,8 @@ loc_4566A:
beq.s loc_456C0
clr.b (_unkFAA3).w
move.w #$A58,(Target_water_level).w
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s loc_456C0
move.l #loc_44E04,(a1)
@@ -81188,14 +80956,14 @@ ObjDat3_456FA: dc.l Map_LBZKnuxBomb
dc.b 0
dc.b 0
ObjDat3_45706: dc.l Map_LBZKnuxPillar
- dc.w $45A0
+ dc.w make_art_tile(ArtTile_Explosion,2,0)
dc.w $280
dc.b $10
dc.b $10
dc.b 0
dc.b 0
ObjDat3_45712: dc.l Map_LBZKnuxPillar
- dc.w $45A0
+ dc.w make_art_tile(ArtTile_Explosion,2,0)
dc.w $280
dc.b $10
dc.b $80
@@ -81208,27 +80976,35 @@ ObjDat3_4571E: dc.l Map_AIZCorkFloor
dc.b $18
dc.b 0
dc.b 0
-ChildObjDat_4572A:dc.w 0
+ChildObjDat_4572A:
+ dc.w 0
dc.l loc_44A78
-ChildObjDat_45730:dc.w 0
+ChildObjDat_45730:
+ dc.w 0
dc.l loc_44DD8
dc.w $E094
-ChildObjDat_45738:dc.w 0
+ChildObjDat_45738:
+ dc.w 0
dc.l loc_45136
dc.w $C000
-ChildObjDat_45740:dc.w 0
+ChildObjDat_45740:
+ dc.w 0
dc.l loc_4519E
dc.w $F8F0
-ChildObjDat_45748:dc.w 3
+ChildObjDat_45748:
+ dc.w 3
dc.l loc_451CE
-ChildObjDat_4574E:dc.w 3
+ChildObjDat_4574E:
+ dc.w 3
dc.l loc_45330
dc.b 2
dc.b $24
-ChildObjDat_45756:dc.w 0
+ChildObjDat_45756:
+ dc.w 0
dc.l loc_448EE
dc.w $18
-DPLCPtr_4575E: dc.l ArtUnc_CutsceneKnux
+DPLCPtr_CutsceneKnux:
+ dc.l ArtUnc_CutsceneKnux
dc.l DPLC_CutsceneKnux
byte_45766: dc.b 7
dc.b 1
@@ -81274,7 +81050,7 @@ byte_4579E: dc.b $20, 5
dc.b $21, 5
dc.b $20, 5
dc.b $F4, 0
-Pal_CutsceneKnux1:
+Pal_CutsceneKnux:
binclude "General/Sprites/Knuckles/Cutscene/Pal.bin"
even
Pal_CNZFlash: binclude "Levels/CNZ/Palettes/Flash.bin"
@@ -81319,7 +81095,7 @@ loc_45888:
move.w #$40,$2E(a0)
move.l #loc_458F6,$34(a0)
move.w #8,$40(a0)
- move.w #-$16E8,(Events_fg_1).w
+ move.w #$E918,(Events_fg_1).w
move.b #-1,(Player_prev_frame).w
lea (Player_1).w,a1
move.b #0,$22(a1)
@@ -81542,10 +81318,10 @@ loc_45B56:
move.b #$20,7(a0)
jsr Swing_Setup1(pc)
lea (ArtKosM_AIZIntroPlane).l,a1
- move.w #-$5AE0,d2
+ move.w #$A520,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_AIZIntroEmeralds).l,a1
- move.w #-$49E0,d2
+ move.w #$B620,d2
jsr (Queue_Kos_Module).l
lea ChildObjDat_45E3E(pc),a2
jmp (CreateChild1_Normal).l
@@ -81777,20 +81553,25 @@ ObjDat3_45E2A: dc.l Map_AIZIntroEmeralds
dc.b 4
dc.b 1
dc.b 0
-ChildObjDat_45E36:dc.w 0
+ChildObjDat_45E36:
+ dc.w 0
dc.l loc_45B56
dc.w $DE2C
-ChildObjDat_45E3E:dc.w 1
+ChildObjDat_45E3E:
+ dc.w 1
dc.l loc_45C00
dc.w $3804
dc.l loc_45C3E
dc.w $1818
-ChildObjDat_45E4C:dc.w 0
+ChildObjDat_45E4C:
+ dc.w 0
dc.l loc_45C7C
dc.w $18
-ChildObjDat_45E54:dc.w 0
+ChildObjDat_45E54:
+ dc.w 0
dc.l Obj_CutsceneKnuckles
-ChildObjDat_45E5A:dc.w 6
+ChildObjDat_45E5A:
+ dc.w 6
dc.l loc_45CDC
byte_45E60: dc.b 3, 8
dc.b $97, $96
@@ -81838,7 +81619,8 @@ Obj_RobotnikHead:
jsr RobotnikHead_Index(pc,d1.w)
jmp (Child_Draw_Sprite2).l
; ---------------------------------------------------------------------------
-RobotnikHead_Index:dc.w Obj_RobotnikHeadInit-RobotnikHead_Index
+RobotnikHead_Index:
+ dc.w Obj_RobotnikHeadInit-RobotnikHead_Index
dc.w Obj_RobotnikHeadMain-RobotnikHead_Index
dc.w Obj_RobotnikHeadEnd-RobotnikHead_Index
; ---------------------------------------------------------------------------
@@ -81889,7 +81671,8 @@ Obj_RobotnikHead2:
bne.w locret_45EE0
jmp (Child_Draw_Sprite2).l
; ---------------------------------------------------------------------------
-RobotnikHead2_Index:dc.w Obj_RobotnikHeadInit-RobotnikHead2_Index
+RobotnikHead2_Index:
+ dc.w Obj_RobotnikHeadInit-RobotnikHead2_Index
dc.w Obj_RobotnikHeadMain-RobotnikHead2_Index
dc.w Obj_RobotnikHeadEnd-RobotnikHead2_Index
; ---------------------------------------------------------------------------
@@ -81903,7 +81686,8 @@ Obj_FBZRobotnikHead:
jsr (Child_GetPriority).l
jmp (Child_Draw_Sprite2).l
; ---------------------------------------------------------------------------
-FBZRobotnikHead_Index:dc.w Obj_FBZRobotnikHeadInit-FBZRobotnikHead_Index
+FBZRobotnikHead_Index:
+ dc.w Obj_FBZRobotnikHeadInit-FBZRobotnikHead_Index
dc.w Obj_FBZRobotnikHeadMain-FBZRobotnikHead_Index
dc.w Obj_RobotnikHeadEnd-FBZRobotnikHead_Index
; ---------------------------------------------------------------------------
@@ -81955,7 +81739,8 @@ Obj_RobotnikHead3:
jsr RobotnikHead3_Index(pc,d1.w)
jmp (Child_Draw_Sprite2).l
; ---------------------------------------------------------------------------
-RobotnikHead3_Index:dc.w Obj_RobotnikHead3Init-RobotnikHead3_Index
+RobotnikHead3_Index:
+ dc.w Obj_RobotnikHead3Init-RobotnikHead3_Index
dc.w Obj_RobotnikHead3Main-RobotnikHead3_Index
dc.w Obj_RobotnikHeadEnd-RobotnikHead3_Index
; ---------------------------------------------------------------------------
@@ -82008,7 +81793,8 @@ loc_46048:
loc_46074:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikHead4_Index:dc.w Obj_RobotnikHead3Init-RobotnikHead4_Index
+RobotnikHead4_Index:
+ dc.w Obj_RobotnikHead3Init-RobotnikHead4_Index
dc.w Obj_RobotnikHead3Main-RobotnikHead4_Index
dc.w Obj_RobotnikHeadEnd-RobotnikHead4_Index
; ---------------------------------------------------------------------------
@@ -82022,7 +81808,8 @@ Obj_RobotnikShip:
bne.w locret_45EE0
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikShip_Index:dc.w loc_460A6-RobotnikShip_Index
+RobotnikShip_Index:
+ dc.w loc_460A6-RobotnikShip_Index
dc.w loc_460C2-RobotnikShip_Index
dc.w loc_460F8-RobotnikShip_Index
dc.w loc_4612A-RobotnikShip_Index
@@ -82092,7 +81879,8 @@ Obj_RobotnikShip2:
jsr RobotnikShip2_Index(pc,d1.w)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikShip2_Index:dc.w Obj_RobotnikShipInit-RobotnikShip2_Index
+RobotnikShip2_Index:
+ dc.w Obj_RobotnikShipInit-RobotnikShip2_Index
dc.w Obj_RobotnikShipMain-RobotnikShip2_Index
dc.w Obj_RobotnikShip2Wait-RobotnikShip2_Index
dc.w Obj_RobotnikShipReady-RobotnikShip2_Index
@@ -82122,7 +81910,8 @@ Obj_RobotnikShip3:
bne.s loc_461AC
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikShip3_Index:dc.w Obj_RobotnikShipInit-RobotnikShip3_Index
+RobotnikShip3_Index:
+ dc.w Obj_RobotnikShipInit-RobotnikShip3_Index
dc.w Obj_RobotnikShipMain-RobotnikShip3_Index
dc.w Obj_RobotnikShipWait-RobotnikShip3_Index
dc.w Obj_RobotnikShipReady-RobotnikShip3_Index
@@ -82215,7 +82004,8 @@ Obj_RobotnikShip4:
jsr RobotnikShip4_Index(pc,d1.w)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikShip4_Index:dc.w Obj_RobotnikShipInit-RobotnikShip4_Index
+RobotnikShip4_Index:
+ dc.w Obj_RobotnikShipInit-RobotnikShip4_Index
dc.w Obj_RobotnikShipMain-RobotnikShip4_Index
dc.w Obj_RobotnikShipWait-RobotnikShip4_Index
dc.w Obj_RobotnikShipReady-RobotnikShip4_Index
@@ -82229,7 +82019,8 @@ Obj_FBZRobotnikShip:
jsr FBZRobotnikShip_Index(pc,d1.w)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-FBZRobotnikShip_Index:dc.w Obj_FBZRobotnikShipInit-FBZRobotnikShip_Index
+FBZRobotnikShip_Index:
+ dc.w Obj_FBZRobotnikShipInit-FBZRobotnikShip_Index
dc.w Obj_FBZRobotnikShipMain-FBZRobotnikShip_Index
dc.w Obj_FBZRobotnikShipWait-FBZRobotnikShip_Index
dc.w Obj_FBZRobotnikShipFall-FBZRobotnikShip_Index
@@ -82328,45 +82119,54 @@ Obj_RobotnikShipFlameMain:
loc_463B6:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-ObjDat_RobotnikHead:dc.l Map_RobotnikShip
+ObjDat_RobotnikHead:
+ dc.l Map_RobotnikShip
dc.w $52E
dc.w $280
dc.b $10
dc.b 8
dc.b 0
dc.b 0
-ObjDat_FBZRobotnikHead:dc.l Map_FBZRobotnikHead
+ObjDat_FBZRobotnikHead:
+ dc.l Map_FBZRobotnikHead
dc.w $410
dc.w $280
dc.b $10
dc.b 8
dc.b 0
dc.b 0
-ObjDat_RobotnikShip:dc.l Map_RobotnikShip
+ObjDat_RobotnikShip:
+ dc.l Map_RobotnikShip
dc.w $52E
dc.w $280
dc.b $1C
dc.b $20
dc.b 8
dc.b 0
-ObjDat2_RoboShipFlame:dc.w $280
+ObjDat2_RoboShipFlame:
+ dc.w $280
dc.b 8
dc.b 4
dc.b 6
dc.b 0
-Child1_MakeRoboHead:dc.w 0
+Child1_MakeRoboHead:
+ dc.w 0
dc.l Obj_RobotnikHead
dc.w $E4
-Child1_MakeRoboHead2:dc.w 0
+Child1_MakeRoboHead2:
+ dc.w 0
dc.l Obj_RobotnikHead2
dc.w $E4
-Child1_MakeFBZRoboHead:dc.w 0
+Child1_MakeFBZRoboHead:
+ dc.w 0
dc.l Obj_FBZRobotnikHead
dc.w $E4
-Child1_MakeRoboHead3:dc.w 0
+Child1_MakeRoboHead3:
+ dc.w 0
dc.l Obj_RobotnikHead3
dc.w $E4
-Child1_MakeRoboHead4:dc.w 0
+Child1_MakeRoboHead4:
+ dc.w 0
dc.l loc_46048
dc.w $E4
word_4640E: dc.w 0
@@ -82375,25 +82175,27 @@ word_4640E: dc.w 0
dc.w 0
dc.l Obj_RobotnikShip2
dc.w 0
-Child1_MakeRoboShip3:dc.w 0
+Child1_MakeRoboShip3:
+ dc.w 0
dc.l Obj_RobotnikShip3
dc.w $FA04
-ChildObjDat_46426:dc.w 0
+ChildObjDat_46426:
+ dc.w 0
dc.l Obj_RobotnikShip4
dc.w $F8
-ChildObjDat_4642E:dc.w 0
+ChildObjDat_4642E:
+ dc.w 0
dc.l Obj_FBZRobotnikShip
dc.w 4
-Child1_MakeRoboShipFlame:dc.w 0
+Child1_MakeRoboShipFlame:
+ dc.w 0
dc.l Obj_RobotnikShipFlame
dc.w $1E00
-AniRaw_RobotnikHead:dc.b 5
- dc.b 0
- dc.b 1
- dc.b $FC
+AniRaw_RobotnikHead:
+ dc.b 5, 0, 1, $FC
; ---------------------------------------------------------------------------
-Obj_AIZ_Miniboss_Cutscene:
+Obj_AIZMinibossCutscene:
moveq #0,d0
move.b 5(a0),d0
move.w off_46454(pc,d0.w),d1
@@ -82411,7 +82213,7 @@ loc_4645E:
lea ObjDat3_46F14(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #$60,$29(a0)
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.b #1,(Boss_flag).w
moveq #$5A,d0
jmp (Load_PLC).l
@@ -82437,8 +82239,8 @@ loc_464AC:
move.w #$B4,$2E(a0)
move.w d5,(Camera_min_X_pos).w
move.w d5,(Camera_max_X_pos).w
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
locret_464C8:
rts
@@ -82462,8 +82264,8 @@ loc_464D0:
sub_464F2:
move.w #$100,$1A(a0)
move.w #$AF,$2E(a0)
- moveq #mus_Miniboss,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Miniboss),d0
+ jsr (Play_Music).l
rts
; End of function sub_464F2
@@ -82507,8 +82309,8 @@ loc_4654C:
loc_46566:
move.w #$40,$2E(a0)
- moveq #sfx_FlamethrowerQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerQuiet),d0
+ jsr (Play_SFX).l
lea Child1_AIZ_MinibossFlames(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -82525,8 +82327,8 @@ loc_46596:
lea Pal_AIZMiniboss(pc),a1
jsr (PalLoad_Line1).l
move.b #$F,$28(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$400,$18(a0)
clr.w $1A(a0)
move.w #$40,$2E(a0)
@@ -82549,7 +82351,7 @@ loc_465E0:
loc_465F2:
clr.b (Boss_flag).w
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
lea (PLC_Monitors).l,a1
jsr (Load_PLC_Raw).l
jmp (Go_Delete_Sprite_2).l
@@ -82716,8 +82518,8 @@ off_467A2: dc.w sub_467AA-off_467A2
sub_467AA:
lea word_46F40(pc),a1
jsr (SetUp_ObjAttributes2).l
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
move.l #byte_47062,$30(a0)
move.l #loc_467EA,$34(a0)
move.w #-$400,$1A(a0)
@@ -82741,8 +82543,8 @@ loc_467EA:
loc_46800:
move.b #6,5(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
move.w #$80,8(a0)
bset #1,4(a0)
move.l #Go_Delete_Sprite,$34(a0)
@@ -82803,7 +82605,7 @@ loc_468A6:
loc_468B2:
move.l #Map_BossExplosion,$C(a0)
- move.w #-$7B2E,$A(a0)
+ move.w #$84D2,$A(a0)
move.l #byte_4707A,$30(a0)
move.l #Go_Delete_Sprite,$34(a0)
cmpi.b #6,$2C(a0)
@@ -82871,7 +82673,7 @@ word_46968: dc.w 0
dc.w 8
; ---------------------------------------------------------------------------
-Obj_AIZ_Miniboss:
+Obj_AIZMiniboss:
moveq #0,d0
move.b 5(a0),d0
move.w off_46986(pc,d0.w),d1
@@ -82946,8 +82748,8 @@ loc_46A22:
loc_46A40:
move.b #$A,5(a0)
move.b #8,$39(a0)
- moveq #sfx_FlamethrowerQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerQuiet),d0
+ jsr (Play_SFX).l
lea Child1_AIZ_MinibossFlames(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -83157,8 +82959,8 @@ loc_46C84:
; ---------------------------------------------------------------------------
loc_46C96:
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
lea ChildObjDat_46FEE(pc),a2
jsr (CreateChild1_Normal).l
jmp (Go_Delete_Sprite).l
@@ -83397,8 +83199,8 @@ loc_46E80:
tst.b $20(a0)
bne.s loc_46EA6
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_46EA6:
@@ -83497,39 +83299,46 @@ word_46F6C: dc.w $200
dc.b $14
dc.b 0
dc.b 0
-ChildObjDat_46F72:dc.w 1
+ChildObjDat_46F72:
+ dc.w 1
dc.l loc_4660E
dc.w $20
dc.l loc_4665A
dc.w $DC08
-ChildObjDat_46F80:dc.w 5
+ChildObjDat_46F80:
+ dc.w 5
dc.l loc_46D18
dc.w 0
-ChildObjDat_46F88:dc.w 2
+ChildObjDat_46F88:
+ dc.w 2
dc.l loc_4667C
dc.w $E0
dc.l loc_4667C
dc.w $9E4
dc.l loc_4667C
dc.w $12E8
-ChildObjDat_46F9C:dc.w 2
+ChildObjDat_46F9C:
+ dc.w 2
dc.l loc_46B54
dc.w $E0
dc.l loc_46B54
dc.w $9E4
dc.l loc_46B54
dc.w $12E8
-ChildObjDat_46FB0:dc.w 1
+ChildObjDat_46FB0:
+ dc.w 1
dc.l loc_4675A
dc.w 4
dc.l loc_46794
dc.w 4
-ChildObjDat_46FBE:dc.w 1
+ChildObjDat_46FBE:
+ dc.w 1
dc.l loc_4675A
dc.w 4
dc.l loc_46BD8
dc.w 4
-Child1_AIZ_MinibossFlames:dc.w 3
+Child1_AIZ_MinibossFlames:
+ dc.w 3
dc.l Obj_AIZMiniboss_Flame
dc.w $9C04
dc.l Obj_AIZMiniboss_Flame
@@ -83538,10 +83347,12 @@ Child1_AIZ_MinibossFlames:dc.w 3
dc.w $BC04
dc.l Obj_AIZMiniboss_Flame
dc.w $D403
-ChildObjDat_46FE6:dc.w 0
+ChildObjDat_46FE6:
+ dc.w 0
dc.l loc_468E4
dc.w 0
-ChildObjDat_46FEE:dc.w 6
+ChildObjDat_46FEE:
+ dc.w 6
dc.l loc_46CAE
dc.w $DC
dc.l loc_46CAE
@@ -83556,10 +83367,12 @@ ChildObjDat_46FEE:dc.w 6
dc.w $4FC
dc.l loc_46CAE
dc.w $FCFC
-ChildObjDat_4701A:dc.w 0
+ChildObjDat_4701A:
+ dc.w 0
dc.l Obj_BossExplosionSpecial
dc.w 0
-ChildObjDat_47022:dc.w 3
+ChildObjDat_47022:
+ dc.w 3
dc.l loc_46DB6
dc.w $F0F8
dc.l loc_46DB6
@@ -83658,7 +83471,7 @@ Pal_AIZMiniboss:binclude "Levels/AIZ/Palettes/Miniboss.bin"
even
; ---------------------------------------------------------------------------
-Obj_AIZ_EndBoss:
+Obj_AIZEndBoss:
move.w #$4880,d0
cmp.w (Camera_X_pos).w,d0
bls.s loc_470BE
@@ -83670,9 +83483,9 @@ loc_470BE:
move.w d0,(Camera_max_X_pos).w
move.l #Obj_Wait,(a0)
move.w #$78,$2E(a0)
- move.l #Obj_AIZ_EndBossMusic,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ move.l #Obj_AIZEndBossMusic,$34(a0)
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.b #1,(Boss_flag).w
clr.b (_unkFAA3).w
moveq #$6B,d0
@@ -83684,14 +83497,14 @@ loc_470BE:
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
-Obj_AIZ_EndBossMusic:
- move.l #Obj_AIZ_EndBossMain,(a0)
- moveq #mus_EndBoss,d0
- jsr (Play_Sound).l
+Obj_AIZEndBossMusic:
+ move.l #Obj_AIZEndBossMain,(a0)
+ moveq #signextendB(mus_EndBoss),d0
+ jsr (Play_Music).l
rts
; ---------------------------------------------------------------------------
-Obj_AIZ_EndBossMain:
+Obj_AIZEndBossMain:
moveq #0,d0
move.b 5(a0),d0
move.w AIZ_EndBossIndex(pc,d0.w),d1
@@ -83700,7 +83513,8 @@ Obj_AIZ_EndBossMain:
bne.w locret_47246
jmp (Draw_And_Touch_Sprite).l
; ---------------------------------------------------------------------------
-AIZ_EndBossIndex:dc.w Obj_AIZ_EndBossInit-AIZ_EndBossIndex
+AIZ_EndBossIndex:
+ dc.w Obj_AIZEndBossInit-AIZ_EndBossIndex
dc.w loc_471C2-AIZ_EndBossIndex
dc.w loc_4720C-AIZ_EndBossIndex
dc.w loc_47248-AIZ_EndBossIndex
@@ -83710,7 +83524,7 @@ AIZ_EndBossIndex:dc.w Obj_AIZ_EndBossInit-AIZ_EndBossIndex
dc.w loc_47348-AIZ_EndBossIndex
; ---------------------------------------------------------------------------
-Obj_AIZ_EndBossInit:
+Obj_AIZEndBossInit:
lea ObjDat_AIZEndBoss(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #8,$29(a0)
@@ -83726,8 +83540,8 @@ loc_47176:
loc_47180:
move.b #2,5(a0)
- moveq #sfx_WaterfallSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaterfallSplash),d0
+ jsr (Play_SFX).l
ori.b #$48,$38(a0)
move.l #loc_471E2,$34(a0)
clr.b $28(a0)
@@ -83811,7 +83625,7 @@ loc_47292:
move.b #8,5(a0)
move.w #$3F,$2E(a0)
move.l #loc_472CC,$34(a0)
- andi.b #-$B,$38(a0)
+ andi.b #$F5,$38(a0)
rts
; ---------------------------------------------------------------------------
@@ -83829,8 +83643,8 @@ loc_472C2:
loc_472CC:
move.b #$A,5(a0)
- moveq #sfx_WaterfallSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaterfallSplash),d0
+ jsr (Play_SFX).l
move.l #loc_472FC,$34(a0)
clr.b $28(a0)
bsr.w sub_47AEA
@@ -83884,8 +83698,8 @@ loc_47360:
move.l #Obj_Wait,(a0)
bset #4,$38(a0)
move.w #$7F,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
lea ChildObjDat_47BBC(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -83896,7 +83710,7 @@ loc_47390:
loc_47396:
st (_unkFAA8).w
clr.b (Boss_flag).w
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
lea (PLC_EggCapsule).l,a1
jsr (Load_PLC_Raw).l
lea ChildObjDat_47BE2(pc),a2
@@ -83915,7 +83729,7 @@ loc_473C6:
jsr (Restore_PlayerControl2).l
clr.w (Ctrl_1_logical).w
st (Ctrl_1_locked).w
- move.w #$4A38,(Target_camera_max_X_pos).w
+ move.w #$4A38,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -84213,8 +84027,8 @@ loc_47718:
lea word_47B48(pc),a1
jsr (SetUp_ObjAttributes3).l
bset #4,$2B(a0)
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
move.b #$C,$1E(a0)
move.w #$9F,$2E(a0)
move.l #loc_4774E,(a0)
@@ -84491,8 +84305,8 @@ sub_47A20:
tst.b $20(a0)
bne.s loc_47A40
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_47A40:
bset #6,$2A(a0)
@@ -84586,7 +84400,8 @@ loc_47B08:
; End of function sub_47AFA
; ---------------------------------------------------------------------------
-ObjDat_AIZEndBoss:dc.l Map_AIZEndBoss
+ObjDat_AIZEndBoss:
+ dc.l Map_AIZEndBoss
dc.w $A180
dc.w $280
dc.b $28
@@ -84624,7 +84439,8 @@ word_47B54: dc.w $8180
dc.b $30
dc.b $24
dc.b 0
-ObjDat_AIZEndBoss2:dc.l Map_AIZEndBoss
+ObjDat_AIZEndBoss2:
+ dc.l Map_AIZEndBoss
dc.w $8180
dc.w $100
dc.b $18
@@ -84636,36 +84452,46 @@ word_47B68: dc.w $180
dc.b $10
dc.b 0
dc.b 0
-ChildObjDat_47B6E:dc.w 1
+ChildObjDat_47B6E:
+ dc.w 1
dc.l loc_47486
dc.w $14FC
dc.l loc_47486
dc.w $ECFC
-ChildObjDat_47B7C:dc.w 0
+ChildObjDat_47B7C:
+ dc.w 0
dc.l loc_4759C
dc.w $E400
-ChildObjDat_47B84:dc.w 0
+ChildObjDat_47B84:
+ dc.w 0
dc.l loc_47806
dc.w 0
-ChildObjDat_47B8C:dc.w 0
+ChildObjDat_47B8C:
+ dc.w 0
dc.l loc_477DC
dc.w $D0
-ChildObjDat_47B94:dc.w 0
+ChildObjDat_47B94:
+ dc.w 0
dc.l loc_4768A
dc.w $305
-ChildObjDat_47B9C:dc.w 0
+ChildObjDat_47B9C:
+ dc.w 0
dc.l loc_4768A
dc.w 7
-ChildObjDat_47BA4:dc.w 0
+ChildObjDat_47BA4:
+ dc.w 0
dc.l loc_4768A
dc.w $FD05
-ChildObjDat_47BAC:dc.w 0
+ChildObjDat_47BAC:
+ dc.w 0
dc.l loc_47718
dc.w 0
-ChildObjDat_47BB4:dc.w 0
+ChildObjDat_47BB4:
+ dc.w 0
dc.l loc_477A0
dc.w 0
-ChildObjDat_47BBC:dc.w 5
+ChildObjDat_47BBC:
+ dc.w 5
dc.l loc_47880
dc.w $F0F0
dc.l loc_47880
@@ -84678,9 +84504,11 @@ ChildObjDat_47BBC:dc.w 5
dc.w $F418
dc.l loc_47880
dc.w $C18
-ChildObjDat_47BE2:dc.w 0
- dc.l Obj_81
-ChildObjDat_47BE8:dc.w 0
+ChildObjDat_47BE2:
+ dc.w 0
+ dc.l Obj_EggCapsule
+ChildObjDat_47BE8:
+ dc.w 0
dc.l Obj_CutsceneKnuckles
byte_47BEE: dc.b $2B, 0
dc.b $2B, 0
@@ -84859,13 +84687,13 @@ loc_47D78:
; ---------------------------------------------------------------------------
loc_47D82:
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w $14(a0),$44(a0)
move.l #Obj_Wait,(a0)
move.w #$78,$2E(a0)
move.l #loc_47DBA,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
bset #3,$38(a0)
lea Pal_HCZMiniboss(pc),a1
jmp (PalLoad_Line1).l
@@ -84873,8 +84701,8 @@ loc_47D82:
loc_47DBA:
move.l #Obj_HCZ_MinibossLoop,(a0)
- moveq #mus_EndBoss,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_EndBoss),d0
+ jsr (Play_Music).l
locret_47DC8:
rts
@@ -84952,8 +84780,8 @@ loc_47E92:
loc_47E96:
move.b #$A,5(a0)
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
bset #6,$38(a0)
bclr #7,$38(a0)
move.w #$400,$1A(a0)
@@ -85050,8 +84878,8 @@ loc_47FAA:
loc_47FBC:
move.b #$14,5(a0)
- moveq #sfx_DoorClose,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorClose),d0
+ jsr (Play_SFX).l
bclr #3,$38(a0)
move.w #$9F,$2E(a0)
move.l #loc_47FE4,$34(a0)
@@ -85093,8 +84921,8 @@ loc_4804A:
move.b #$16,5(a0)
bclr #6,$38(a0)
move.w #-$400,$1A(a0)
- moveq #sfx_LavaBall,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LavaBall),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -85240,8 +85068,8 @@ loc_481F0:
move.b #4,$40(a0)
move.l #loc_48266,$34(a0)
bclr #6,$38(a0)
- moveq #sfx_LevelProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LevelProjectile),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -85359,7 +85187,7 @@ loc_48338:
loc_48348:
lea byte_48C7F(pc),a1
jsr (Animate_RawNoSST).l
- lea DPLCPtr_48C28(pc),a2
+ lea DPLCPtr_HCZMinibossSplash(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -85410,8 +85238,8 @@ loc_483C0:
move.b #6,5(a0)
move.l #byte_48C30,$30(a0)
move.l #loc_48400,$34(a0)
- moveq #sfx_FanBig,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanBig),d0
+ jsr (Play_SFX).l
lea ChildObjDat_48BD6(pc),a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -85434,8 +85262,8 @@ loc_4841C:
movea.w $46(a0),a1
btst #2,$38(a1)
beq.s loc_4843E
- moveq #sfx_BossRotate,d0
- jsr (sub_542A6).l
+ moveq #signextendB(sfx_BossRotate),d0
+ jsr (Play_SFX_Continuous).l
lea byte_48C55(pc),a1
jmp (Animate_RawNoSST).l
; ---------------------------------------------------------------------------
@@ -85657,7 +85485,7 @@ loc_486DA:
loc_486F2:
jsr (Restore_PlayerControl).l
- move.w #0,(Target_camera_min_Y_pos).w
+ move.w #0,(Camera_stored_min_Y_pos).w
jsr (Make_LevelSizeObj).l
loc_48704:
@@ -85923,8 +85751,8 @@ sub_488E4:
sub_488FA:
bset #7,$38(a0)
- moveq #sfx_Splash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Splash),d0
+ jsr (Play_SFX).l
clr.w (Slotted_object_bits).w
lea ChildObjDat_48BC2(pc),a2
jmp (CreateChild1_Normal).l
@@ -86063,7 +85891,7 @@ sub_489EC:
moveq #0,d0
move.b $3D(a2),d0
lsr.w #3,d0
- andi.w #-2,d0
+ andi.w #$FFFE,d0
move.w word_48A3C(pc,d0.w),8(a0)
lea byte_48A5C(pc,d0.w),a1
move.b (a1)+,d1
@@ -86140,8 +85968,8 @@ sub_48A8C:
tst.b $20(a0)
bne.s loc_48AAC
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_48AAC:
bset #6,$2A(a0)
@@ -86240,7 +86068,8 @@ byte_48B8C: dc.b 2
dc.b $24
dc.b 0
dc.b 0
-Child1_HCZMiniboss_RocketsEngine:dc.w 4
+Child1_HCZMiniboss_RocketsEngine:
+ dc.w 4
dc.l Obj_HCZMiniboss_Rockets
dc.w $1818
dc.l Obj_HCZMiniboss_Rockets
@@ -86251,28 +86080,35 @@ Child1_HCZMiniboss_RocketsEngine:dc.w 4
dc.w $18E8
dc.l Obj_HCZMiniboss_Engine
dc.w $24
-ChildObjDat_48BB2:dc.w 0
+ChildObjDat_48BB2:
+ dc.w 0
dc.l loc_48362
dc.w 0
-ChildObjDat_48BBA:dc.w 0
+ChildObjDat_48BBA:
+ dc.w 0
dc.l loc_482B0
dc.w 0
-ChildObjDat_48BC2:dc.w 2
+ChildObjDat_48BC2:
+ dc.w 2
dc.l loc_4830C
dc.w 0
dc.l loc_4830C
dc.w $F000
dc.l loc_4830C
dc.w $1000
-ChildObjDat_48BD6:dc.w $1D
+ChildObjDat_48BD6:
+ dc.w $1D
dc.l loc_484A0
-ChildObjDat_48BDC:dc.w 0
+ChildObjDat_48BDC:
+ dc.w 0
dc.l loc_48554
word_48BE2: dc.w 0
dc.l loc_48608
-ChildObjDat_48BE8:dc.w 1
+ChildObjDat_48BE8:
+ dc.w 1
dc.l loc_48608
-ChildObjDat_48BEE:dc.w 3
+ChildObjDat_48BEE:
+ dc.w 3
dc.l loc_4870A
dc.w $F4F4
dc.l loc_4870A
@@ -86281,7 +86117,8 @@ ChildObjDat_48BEE:dc.w 3
dc.w $CF4
dc.l loc_4870A
dc.w $C0C
-ChildObjDat_48C08:dc.w 4
+ChildObjDat_48C08:
+ dc.w 4
dc.l loc_48732
dc.w $DC
dc.l loc_48732
@@ -86292,7 +86129,8 @@ ChildObjDat_48C08:dc.w 4
dc.w $F430
dc.l loc_48732
dc.w $C30
-DPLCPtr_48C28: dc.l ArtUnc_DashDust
+DPLCPtr_HCZMinibossSplash:
+ dc.l ArtUnc_DashDust
dc.l DPLC_HCZMinibossSplash
byte_48C30: dc.b $16, 7
dc.b $17, 7
@@ -86369,11 +86207,11 @@ Obj_HCZEndBoss:
jsr (Check_CameraInRange).l
move.l #loc_48D2E,(a0)
move.b #1,(Boss_flag).w
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$78,$2E(a0)
move.b #mus_EndBoss,$26(a0)
- move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w
+ move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w
move.w #$738,(Camera_target_max_Y_pos).w
move.w #$4000,$1C(a0)
move.l #loc_48D34,$34(a0)
@@ -86534,8 +86372,8 @@ loc_48EF6:
bset #4,$38(a0)
move.w #$7F,$2E(a0)
move.l #loc_48F3C,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
moveq #$C,d0
jmp (Set_IndexedVelocity).l
; ---------------------------------------------------------------------------
@@ -86553,8 +86391,8 @@ loc_48F3C:
bclr #7,4(a0)
st (_unkFAA8).w
clr.b (Boss_flag).w
- jsr (Obj_PlayLevelMusic).l
- move.w #$4230,(Target_camera_max_X_pos).w
+ jsr (Restore_LevelMusic).l
+ move.w #$4230,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -86614,8 +86452,8 @@ loc_48FF0:
; ---------------------------------------------------------------------------
loc_4900E:
- moveq #sfx_FanBig,d0
- jsr (sub_542A6).l
+ moveq #signextendB(sfx_FanBig),d0
+ jsr (Play_SFX_Continuous).l
jmp (Animate_RawGetFaster).l
; ---------------------------------------------------------------------------
@@ -86631,8 +86469,8 @@ loc_49034:
movea.w $46(a0),a1
btst #3,$38(a1)
beq.s loc_4904E
- moveq #sfx_FanBig,d0
- jmp (sub_542A6).l
+ moveq #signextendB(sfx_FanBig),d0
+ jmp (Play_SFX_Continuous).l
; ---------------------------------------------------------------------------
loc_4904E:
@@ -87069,8 +86907,8 @@ loc_4953E:
loc_49544:
lea ChildObjDat_49C22(pc),a2
jsr (CreateChild6_Simple).l
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
lea ChildObjDat_49BF4(pc),a2
jsr (CreateChild1_Normal).l
jmp (Go_Delete_Sprite).l
@@ -87128,8 +86966,8 @@ loc_495FE:
move.b (V_int_run_count+3).w,d0
andi.b #7,d0
bne.s loc_49610
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
loc_49610:
jmp (Obj_Wait).l
@@ -87142,8 +86980,8 @@ loc_4961C:
lea ObjDat3_49BC0(pc),a1
jsr (SetUp_ObjAttributes).l
st (Screen_shake_flag).w
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
lea (Player_1).w,a1
move.w $10(a1),d0
move.w d0,$10(a0)
@@ -87588,8 +87426,8 @@ sub_49A06:
tst.b $20(a0)
bne.s loc_49A2A
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_49A2A:
bset #6,$2A(a0)
@@ -87773,7 +87611,7 @@ ObjDat3_49B9C: dc.l Map_HCZEndBoss
dc.b 8
dc.b 0
ObjDat3_49BA8: dc.l Map_Explosion
- dc.w $85A0
+ dc.w make_art_tile(ArtTile_Explosion,0,1)
dc.w $80
dc.b $C
dc.b $C
@@ -87793,7 +87631,8 @@ ObjDat3_49BC0: dc.l Map_HCZWaterWall
dc.b $60
dc.b 1
dc.b 0
-ChildObjDat_49BCC:dc.w 4
+ChildObjDat_49BCC:
+ dc.w 4
dc.l loc_493CE
dc.w $2312
dc.l loc_493CE
@@ -87808,31 +87647,40 @@ word_49BEC: dc.w 0
dc.l loc_493CE
dc.b $13
dc.b $A
-ChildObjDat_49BF4:dc.w 0
+ChildObjDat_49BF4:
+ dc.w 0
dc.l loc_49586
dc.w 0
-ChildObjDat_49BFC:dc.w 0
+ChildObjDat_49BFC:
+ dc.w 0
dc.l loc_49078
dc.w 0
-ChildObjDat_49C04:dc.w 0
+ChildObjDat_49C04:
+ dc.w 0
dc.l loc_491E8
dc.w 0
-ChildObjDat_49C0C:dc.w 1
+ChildObjDat_49C0C:
+ dc.w 1
dc.l loc_49260
dc.w $FC00
dc.l loc_49260
dc.w $400
-ChildObjDat_49C1A:dc.w 0
+ChildObjDat_49C1A:
+ dc.w 0
dc.l loc_492AC
dc.w 0
-ChildObjDat_49C22:dc.w 4
+ChildObjDat_49C22:
+ dc.w 4
dc.l loc_492CE
-ChildObjDat_49C28:dc.w $13
+ChildObjDat_49C28:
+ dc.w $13
dc.l loc_49316
-ChildObjDat_49C2E:dc.w 0
+ChildObjDat_49C2E:
+ dc.w 0
dc.l Obj_RobotnikShip2
dc.w $C
-ChildObjDat_49C36:dc.w 0
+ChildObjDat_49C36:
+ dc.w 0
dc.l loc_495C6
byte_49C3C: dc.b 7
dc.b 8
@@ -87959,14 +87807,14 @@ Pal_HCZEndBoss: binclude "Levels/HCZ/Palettes/End Boss.bin"
even
; ---------------------------------------------------------------------------
-Obj_MGZ2DrillingEggman:
+Obj_MGZ2DrillingRobotnik:
move.l #Obj_Wait,(a0)
move.b #1,(Boss_flag).w
move.w #$78,$2E(a0)
- move.l #Obj_MGZ2DrillingEggmanGo,$34(a0)
+ move.l #Obj_MGZ2DrillingRobotnikGo,$34(a0)
clr.b $2C(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
lea (ArtKosM_MGZEndBoss).l,a1
move.w #$67E0,d2
jsr (Queue_Kos_Module).l
@@ -87979,16 +87827,16 @@ Obj_MGZ2DrillingEggman:
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
-Obj_MGZ2DrillingEggmanGo:
- move.l #Obj_MGZ2DrillingEggmanStart,(a0)
- moveq #mus_EndBoss,d0
- jsr (Play_Sound).l
+Obj_MGZ2DrillingRobotnikGo:
+ move.l #Obj_MGZ2DrillingRobotnikStart,(a0)
+ moveq #signextendB(mus_EndBoss),d0
+ jsr (Play_Music).l
locret_49DD8:
rts
; ---------------------------------------------------------------------------
-Obj_MGZ2DrillingEggmanStart:
+Obj_MGZ2DrillingRobotnikStart:
moveq #0,d0
move.b 5(a0),d0
move.w off_49DF2(pc,d0.w),d1
@@ -88034,8 +87882,8 @@ loc_49E56:
tst.l (Nem_decomp_queue).w
bne.w locret_49DD8
move.b #4,5(a0)
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -88211,7 +88059,7 @@ loc_4A04A:
bset #5,$38(a0)
clr.b (Boss_flag).w
move.l #Delete_Current_Sprite,(a0)
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
lea (MGZ_8x8_Primary_KosM).l,a1
move.w #0,d2
jsr (Queue_Kos_Module).l
@@ -88221,10 +88069,10 @@ loc_4A04A:
moveq #$14,d0
jsr (Load_PLC).l
lea (ArtKosM_Spiker).l,a1
- move.w #-$5A00,d2
+ move.w #$A600,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_Mantis).l,a1
- move.w #-$5620,d2
+ move.w #$A9E0,d2
jsr (Queue_Kos_Module).l
lea (PLC_MonitorsSpikesSprings).l,a1
jsr (Load_PLC_Raw).l
@@ -88233,13 +88081,13 @@ loc_4A04A:
btst #0,4(a0)
bne.s loc_4A0DA
lea (Child6_IncLevX).l,a2
- move.w #$6000,(Target_camera_max_X_pos).w
+ move.w #$6000,(Camera_stored_max_X_pos).w
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
loc_4A0DA:
lea (Child6_DecLevX).l,a2
- move.w #0,(Target_camera_min_X_pos).w
+ move.w #0,(Camera_stored_min_X_pos).w
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -88248,7 +88096,7 @@ loc_4A0EC:
jmp (Obj_Wait).l
; ---------------------------------------------------------------------------
-Obj_A1_1_MGZ2_Boss:
+Obj_MGZEndBoss:
moveq #0,d0
move.b 5(a0),d0
move.w off_4A110(pc,d0.w),d1
@@ -88284,8 +88132,8 @@ loc_4A132:
move.b #1,(Boss_flag).w
move.b #$1C,$1E(a0)
move.w #$C,$26(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$78,$2E(a0)
move.l #loc_4A1C8,$34(a0)
lea (ArtKosM_MGZEndBoss).l,a1
@@ -88311,8 +88159,8 @@ loc_4A1C2:
loc_4A1C8:
move.b #4,5(a0)
- moveq #mus_EndBoss,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_EndBoss),d0
+ jsr (Play_Music).l
move.w #$80,$1A(a0)
move.w #$BF,$2E(a0)
move.l #loc_4A1F8,$34(a0)
@@ -88383,8 +88231,8 @@ loc_4A294:
move.l #loc_4A2CE,$34(a0)
st (Events_fg_4).w
st (Disable_death_plane).w
- moveq #sfx_BossHitFloor,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHitFloor),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s locret_4A2C6
move.l #Obj_MGZ2_BossTransition,(a1)
@@ -88488,8 +88336,8 @@ loc_4A3D4:
loc_4A3EA:
move.b #$1E,5(a0)
- moveq #sfx_BossZoom,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossZoom),d0
+ jsr (Play_SFX).l
bclr #3,$38(a0)
bclr #2,$38(a0)
move.w #$9F,$2E(a0)
@@ -88517,7 +88365,7 @@ loc_4A442:
rts
; ---------------------------------------------------------------------------
-Obj_A2_1:
+Obj_MGZEndBossKnux:
moveq #0,d0
move.b 5(a0),d0
move.w off_4A476(pc,d0.w),d1
@@ -88546,7 +88394,7 @@ loc_4A488:
loc_4A49A:
move.b #4,5(a0)
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w d0,(Camera_min_X_pos).w
move.w d0,(Camera_max_X_pos).w
move.w #$B4,$30(a0)
@@ -88629,8 +88477,8 @@ loc_4A592:
move.l #Obj_Wait,(a0)
bclr #7,4(a0)
bset #4,$38(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$7F,$2E(a0)
move.l #loc_4A5CA,$34(a0)
move.w #$200,8(a0)
@@ -88676,7 +88524,7 @@ loc_4A616:
lea word_4B396(pc),a1
jsr (SetUp_ObjAttributes3).l
movea.w $46(a0),a1
- cmpi.l #Obj_A1_1_MGZ2_Boss,(a1)
+ cmpi.l #Obj_MGZEndBoss,(a1)
bne.s loc_4A632
bclr #7,$A(a0)
@@ -89136,7 +88984,7 @@ loc_4AB4E:
beq.s loc_4AB84
move.w #$380,8(a0)
movea.w $46(a0),a1
- cmpi.l #Obj_A1_1_MGZ2_Boss,(a1)
+ cmpi.l #Obj_MGZEndBoss,(a1)
bne.s loc_4AB84
bclr #7,$A(a0)
@@ -89270,7 +89118,7 @@ loc_4ACFC:
lea ObjDat3_4B3C8(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_4AD68,(a0)
- move.w #-$72E0,$3A(a0)
+ move.w #$8D20,$3A(a0)
move.w (Camera_X_pos).w,d0
addi.w #$140,d0
move.w d0,$10(a0)
@@ -89358,7 +89206,7 @@ loc_4ADF4:
movea.l (sp)+,a0
move.w (_unkF740).w,d3
lsl.w #4,d3
- move.l #-$3000,d1
+ move.l #Kos_decomp_buffer,d1
move.w $3A(a0),d2
jsr (Add_To_DMA_Queue).l
@@ -89806,8 +89654,8 @@ loc_4B21C:
tst.b $20(a0)
bne.s loc_4B230
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_4B230:
bset #6,$2A(a0)
@@ -89951,7 +89799,8 @@ byte_4B380: dc.b 6
dc.b 4
dc.b 8
dc.b 6
-ObjDat_MGZDrillBoss:dc.l Map_MGZEndBoss
+ObjDat_MGZDrillBoss:
+ dc.l Map_MGZEndBoss
dc.w $233F
dc.w $300
dc.b $24
@@ -90008,7 +89857,8 @@ ObjDat3_4B3C8: dc.l Map_ScaledArt
dc.b $20
dc.b 0
dc.b 0
-ChildObjDat_4B3D4:dc.w 3
+ChildObjDat_4B3D4:
+ dc.w 3
dc.l loc_4A8D6
dc.w $EC0F
dc.l loc_4A5FC
@@ -90017,41 +89867,52 @@ ChildObjDat_4B3D4:dc.w 3
dc.w $818
dc.l loc_4AB4E
dc.w $F418
-ChildObjDat_4B3EE:dc.w 0
+ChildObjDat_4B3EE:
+ dc.w 0
dc.l loc_4A69C
dc.w $E900
-ChildObjDat_4B3F6:dc.w 0
+ChildObjDat_4B3F6:
+ dc.w 0
dc.l loc_4ABBE
dc.w $10
-ChildObjDat_4B3FE:dc.w 9
+ChildObjDat_4B3FE:
+ dc.w 9
dc.l loc_4AC36
dc.w $18C0
-ChildObjDat_4B406:dc.w 9
+ChildObjDat_4B406:
+ dc.w 9
dc.l loc_4AC36
dc.w $E8C0
-ChildObjDat_4B40E:dc.w 0
+ChildObjDat_4B40E:
+ dc.w 0
dc.l loc_4A902
dc.w $C00
-ChildObjDat_4B416:dc.w 7
+ChildObjDat_4B416:
+ dc.w 7
dc.l loc_4AA86
dc.w $F000
-ChildObjDat_4B41E:dc.w 7
+ChildObjDat_4B41E:
+ dc.w 7
dc.l loc_4AA86
dc.w $1000
-ChildObjDat_4B426:dc.w 0
+ChildObjDat_4B426:
+ dc.w 0
dc.l loc_4A976
dc.w 0
-ChildObjDat_4B42E:dc.w 0
+ChildObjDat_4B42E:
+ dc.w 0
dc.l loc_4A9CC
dc.w 0
-ChildObjDat_4B436:dc.w 2
+ChildObjDat_4B436:
+ dc.w 2
dc.l loc_4ACC6
dc.w $CEC
dc.l loc_4ACC6
dc.w $F008
dc.l loc_4ACC6
dc.w $1408
-ChildObjDat_4B44A:dc.w 0
+ChildObjDat_4B44A:
+ dc.w 0
dc.l loc_4ACFC
dc.w 0
dc.b 0, 5
@@ -90226,7 +90087,7 @@ Obj_CNZMiniboss:
; ---------------------------------------------------------------------------
loc_4B5B4:
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w #$1A0,(Camera_min_Y_pos).w
move.w d0,(Camera_min_X_pos).w
addi.w #$80,d0
@@ -90236,8 +90097,8 @@ loc_4B5B4:
move.l #Obj_Wait,(a0)
move.w #$78,$2E(a0)
move.l #Obj_CNZMinibossGo,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.b #1,(Boss_flag).w
moveq #$5D,d0
jsr (Load_PLC).l
@@ -90247,8 +90108,8 @@ loc_4B5B4:
Obj_CNZMinibossGo:
move.l #Obj_CNZMinibossStart,(a0)
- moveq #mus_Miniboss,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Miniboss),d0
+ jsr (Play_Music).l
jsr (Create_New_Sprite).l
bne.s locret_4B628
move.l #Obj_CNZMinibossScrollControl,(a1)
@@ -90268,7 +90129,8 @@ Obj_CNZMinibossStart:
bsr.w CNZMiniboss_CheckTopHit
jmp (Draw_And_Touch_Sprite).l
; ---------------------------------------------------------------------------
-CNZMiniboss_Index:dc.w Obj_CNZMinibossInit-CNZMiniboss_Index
+CNZMiniboss_Index:
+ dc.w Obj_CNZMinibossInit-CNZMiniboss_Index
dc.w Obj_CNZMinibossLower-CNZMiniboss_Index
dc.w Obj_CNZMinibossMove-CNZMiniboss_Index
dc.w Obj_CNZMinibossMove-CNZMiniboss_Index
@@ -90384,8 +90246,8 @@ Obj_CNZMinibossEnd:
bset #4,$38(a0)
move.w #$7F,$2E(a0)
move.l #Obj_CNZMinibossEndGo,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
lea Child6_CNZMinibossMakeDebris(pc),a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -90395,7 +90257,7 @@ Obj_CNZMinibossEnd:
Obj_CNZMinibossEndGo:
move.l #Obj_EndSignControlAwaitStart,(a0)
clr.b (Boss_flag).w
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
jsr AfterBoss_Cleanup(pc)
lea (PLC_EndSignStuff).l,a1
jmp (Load_PLC_Raw).l
@@ -90408,7 +90270,8 @@ loc_4B7E8:
jsr CNZMinibossTop_Index(pc,d1.w)
jmp (Draw_And_Touch_Sprite).l
; ---------------------------------------------------------------------------
-CNZMinibossTop_Index:dc.w Obj_CNZMinibossTopInit-CNZMinibossTop_Index
+CNZMinibossTop_Index:
+ dc.w Obj_CNZMinibossTopInit-CNZMinibossTop_Index
dc.w Obj_CNZMinibossTopWait-CNZMinibossTop_Index
dc.w Obj_CNZMinibossTopWait2-CNZMinibossTop_Index
dc.w Obj_CNZMinibossTopMain-CNZMinibossTop_Index
@@ -90606,11 +90469,11 @@ CNZMiniboss_BlockExplosion:
bne.s locret_4BA3A
move.b #6,$2C(a1)
move.w (Events_bg+$00).w,d0
- andi.w #-$20,d0
+ andi.w #$FFE0,d0
addi.w #$10,d0
move.w d0,$10(a1)
move.w (Events_bg+$02).w,d0
- andi.w #-$20,d0
+ andi.w #$FFE0,d0
addi.w #$10,d0
move.w d0,$14(a1)
@@ -90660,7 +90523,7 @@ loc_4BAB2:
loc_4BABE:
move.l #Obj_CNZMinibossCoilOpen,(a0)
- move.b #-$57,$28(a0)
+ move.b #$A9,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -90680,7 +90543,7 @@ Obj_CNZMinibossCoilOpen:
loc_4BAF2:
move.l #loc_4BB00,(a0)
- move.b #-$56,$28(a0)
+ move.b #$AA,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -90782,7 +90645,8 @@ word_4BC26: dc.w $F000
dc.w $34
dc.w $3C
dc.w $48
-CNZMinibossDebris_Frames:dc.b $12, $13, $14, $14, $14, $14, $14, $14, $15, 0
+CNZMinibossDebris_Frames:
+ dc.b $12, $13, $14, $14, $14, $14, $14, $14, $15, 0
; ---------------------------------------------------------------------------
SetUp_CNZMinibossSwing:
@@ -90836,8 +90700,8 @@ CNZMiniboss_CheckTopHit:
beq.s CNZMiniboss_BossDefeated
bset #6,$2A(a0)
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_4BCDA:
moveq #0,d0
@@ -91042,47 +90906,57 @@ loc_4BE7C:
; End of function CNZMinibossTop_CheckHitBase
; ---------------------------------------------------------------------------
-CNZMiniboss_BaseRange:dc.w $FFE8, $30
+CNZMiniboss_BaseRange:
+ dc.w $FFE8, $30
dc.w $FFF0, $20
-CNZMiniboss_CoilRange:dc.w $FFF4, $18
+CNZMiniboss_CoilRange:
+ dc.w $FFF4, $18
dc.w $10, $18
-CNZMiniboss_CoilOpenRange:dc.w $FFF4, $18
+CNZMiniboss_CoilOpenRange:
+ dc.w $FFF4, $18
dc.w $10, $38
-ObjDat_CNZMiniboss:dc.l Map_CNZMiniboss
+ObjDat_CNZMiniboss:
+ dc.l Map_CNZMiniboss
dc.w $A52E
dc.w $280
dc.b $18
dc.b $30
dc.b 0
dc.b $C
-ObjDat3_CNZMinibossTop:dc.w $200
+ObjDat3_CNZMinibossTop:
+ dc.w $200
dc.b $18
dc.b $10
dc.b 7
dc.b $AA
-ObjDat3_CNZMinibossSpark:dc.w $200
+ObjDat3_CNZMinibossSpark:
+ dc.w $200
dc.b $C
dc.b $18
dc.b $A
dc.b $92
-ObjDat3_CNZMbossBounceEffect:dc.w $100
+ObjDat3_CNZMbossBounceEffect:
+ dc.w $100
dc.b 8
dc.b 8
dc.b $C
dc.b 0
-ObjDat_CNZMinibossDebris:dc.l Map_CNZMiniboss
+ObjDat_CNZMinibossDebris:
+ dc.l Map_CNZMiniboss
dc.w $A52E
dc.w $100
dc.b $10
dc.b $10
dc.b 0
dc.b 0
-Child1_CNZMinibossMakeTop:dc.w 1
+Child1_CNZMinibossMakeTop:
+ dc.w 1
dc.l loc_4B7E8
dc.w $2C
dc.l Obj_CNZMinibossCoil
dc.w $1C
-Child1_CNZMinibossTimedSparks:dc.w 1
+Child1_CNZMinibossTimedSparks:
+ dc.w 1
dc.l Obj_CNZMinibossTimedSparks
dc.w $EC18
dc.l Obj_CNZMinibossTimedSparks
@@ -91090,66 +90964,46 @@ Child1_CNZMinibossTimedSparks:dc.w 1
dc.w 0
dc.l loc_4BAF2
dc.w $FC
-Child1_CNZCoilOpenSparks:dc.w 2
+Child1_CNZCoilOpenSparks:
+ dc.w 2
dc.l loc_4BB70
dc.w $FC28
dc.l loc_4BB70
dc.w $42C
dc.l loc_4BB70
dc.w $FC3C
-Child1_CNZBounceEffect:dc.w 0
+Child1_CNZBounceEffect:
+ dc.w 0
dc.l Obj_CNZMinibossBounceEffect
dc.w $FC
-Child1_CNZMinibossExplosion:dc.w 0
+Child1_CNZMinibossExplosion:
+ dc.w 0
dc.l Obj_CreateBossExplosion
dc.w 0
-Child6_CNZMinibossMakeDebris:dc.w 8
+Child6_CNZMinibossMakeDebris:
+ dc.w 8
dc.l Obj_CNZMinibossDebris
-AniRaw_CNZMinibossOpening:dc.b 0, 3
- dc.b 1, 3
- dc.b 2, 3
- dc.b 3, 3
- dc.b 4, 3
- dc.b 5, 3
- dc.b 6, 3
- dc.b $F4
-AniRaw_CNZMinibossClosing:dc.b 6, 3
- dc.b 5, 3
- dc.b 4, 3
- dc.b 3, 3
- dc.b 2, 3
- dc.b 1, 3
- dc.b 0, 3
- dc.b $F4
-AniRaw_CNZMinibossTop:dc.b 7, 8, 7, 8, 9, $FC
-AniRaw_CNZMinibossTop2:dc.b 0, 7, 8, 9, $FC
-AniRaw_CNZMinibossTimedSparkLeft:dc.b $A, 0
- dc.b $11, 2
- dc.b $B, 0
- dc.b $11, 2
- dc.b $FC
-AniRaw_CNZMinibossTimedSparkRight:dc.b $F, 0
- dc.b $11, 2
- dc.b $10, 0
- dc.b $11, 2
- dc.b $FC
-AniRaw_CNZMinibossSparks1:dc.b $A, 0
- dc.b $11, 7
- dc.b $B, 0
- dc.b $11, 7
- dc.b $FC
-AniRaw_CNZMinibossSparks2:dc.b $11, 0
- dc.b $F, 0
- dc.b $11, 7
- dc.b $10, 0
- dc.b $11, 9
- dc.b $FC
-AniRaw_CNZMinibossSparks3:dc.b $A, 0
- dc.b $11, 7
- dc.b $B, 0
- dc.b $11, $B
- dc.b $FC
-AniRaw_CNZMBossBoundEffect:dc.b $C, 0, $D, 1, $E, 1, $F4, 0
+AniRaw_CNZMinibossOpening:
+ dc.b 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, $F4
+AniRaw_CNZMinibossClosing:
+ dc.b 6, 3, 5, 3, 4, 3, 3, 3, 2, 3, 1, 3, 0, 3, $F4
+AniRaw_CNZMinibossTop:
+ dc.b 7, 8, 7, 8, 9, $FC
+AniRaw_CNZMinibossTop2:
+ dc.b 0, 7, 8, 9, $FC
+AniRaw_CNZMinibossTimedSparkLeft:
+ dc.b $A, 0, $11, 2, $B, 0, $11, 2, $FC
+AniRaw_CNZMinibossTimedSparkRight:
+ dc.b $F, 0, $11, 2, $10, 0, $11, 2, $FC
+AniRaw_CNZMinibossSparks1:
+ dc.b $A, 0, $11, 7, $B, 0, $11, 7, $FC
+AniRaw_CNZMinibossSparks2:
+ dc.b $11, 0, $F, 0, $11, 7, $10, 0, $11, 9, $FC
+AniRaw_CNZMinibossSparks3:
+ dc.b $A, 0, $11, 7, $B, 0, $11, $B, $FC
+AniRaw_CNZMBossBoundEffect:
+ dc.b $C, 0, $D, 1, $E, 1, $F4
+ even
Pal_CNZMiniboss:binclude "Levels/CNZ/Palettes/Miniboss.bin"
even
; ---------------------------------------------------------------------------
@@ -91159,11 +91013,11 @@ Obj_CNZEndBoss:
jsr (Check_CameraInRange).l
move.l #loc_4BFF4,(a0)
move.b #1,(Boss_flag).w
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$78,$2E(a0)
move.b #mus_EndBoss,$26(a0)
- move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w
+ move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w
move.w #$240,(Camera_target_max_Y_pos).w
move.w #$4760,$1C(a0)
move.w #$47E0,(Camera_max_X_pos).w
@@ -91378,8 +91232,8 @@ loc_4C1EA:
bset #4,$38(a0)
move.w #$7F,$2E(a0)
move.l #loc_4C21A,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
lea ChildObjDat_4C8D6(pc),a2
jmp CreateChild1_Normal(pc)
; ---------------------------------------------------------------------------
@@ -91388,8 +91242,8 @@ loc_4C21A:
move.l #loc_4C240,(a0)
st (_unkFAA8).w
clr.b (Boss_flag).w
- jsr (Obj_PlayLevelMusic).l
- move.w #$48F0,(Target_camera_max_X_pos).w
+ jsr (Restore_LevelMusic).l
+ move.w #$48F0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -91403,10 +91257,10 @@ loc_4C240:
jsr (Restore_PlayerControl).l
lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
- move.w #$200,(Target_camera_min_Y_pos).w
+ move.w #$200,(Camera_stored_min_Y_pos).w
lea (Child6_DecLevY).l,a2
jsr (CreateChild6_Simple).l
- move.w #$4A70,(Target_camera_max_X_pos).w
+ move.w #$4A70,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -91517,8 +91371,8 @@ loc_4C3AA:
; ---------------------------------------------------------------------------
loc_4C3BC:
- moveq #sfx_FloorThump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorThump),d0
+ jsr (Play_SFX).l
move.w $1A(a0),d0
cmpi.w #$80,d0
bcs.s loc_4C3D8
@@ -91745,8 +91599,8 @@ loc_4C5F6:
; ---------------------------------------------------------------------------
loc_4C600:
- moveq #sfx_GravityMachine,d0
- jsr (sub_542A6).l
+ moveq #signextendB(sfx_GravityMachine),d0
+ jsr (Play_SFX_Continuous).l
jsr Refresh_ChildPosition(pc)
jsr Animate_Raw(pc)
bsr.w sub_4C6F8
@@ -91932,8 +91786,8 @@ sub_4C778:
tst.b $20(a0)
bne.s loc_4C79C
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_4C79C:
bset #6,$2A(a0)
@@ -92058,26 +91912,32 @@ ObjDat3_4C896: dc.l Map_CNZEndBoss
dc.b $40
dc.b 6
dc.b $AB
-ChildObjDat_4C8A2:dc.w 0
+ChildObjDat_4C8A2:
+ dc.w 0
dc.l loc_4C33C
dc.w $14
-ChildObjDat_4C8AA:dc.w 3
+ChildObjDat_4C8AA:
+ dc.w 3
dc.l loc_4C45C
dc.w 8
-ChildObjDat_4C8B2:dc.w 0
+ChildObjDat_4C8B2:
+ dc.w 0
dc.l loc_4C5C6
dc.w $4C
-ChildObjDat_4C8BA:dc.w 1
+ChildObjDat_4C8BA:
+ dc.w 1
dc.l loc_4C5C6
dc.w $F454
dc.l loc_4C5C6
dc.w $C54
-ChildObjDat_4C8C8:dc.w 1
+ChildObjDat_4C8C8:
+ dc.w 1
dc.l loc_4C43A
dc.w $F800
dc.l loc_4C43A
dc.w $800
-ChildObjDat_4C8D6:dc.w 1
+ChildObjDat_4C8D6:
+ dc.w 1
dc.l loc_4C688
dc.w $EC00
dc.l loc_4C688
@@ -92114,7 +91974,7 @@ Pal_CNZEndBoss: binclude "Levels/CNZ/Palettes/End Boss.bin"
even
; ---------------------------------------------------------------------------
-Obj_AA_1_FBZ1_Boss:
+Obj_FBZMiniboss:
lea word_4C96E(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
@@ -92139,8 +91999,8 @@ loc_4C976:
jsr SetUp_ObjAttributes(pc)
move.b #6,$29(a0)
move.b #1,(Boss_flag).w
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
- move.w (Camera_max_Y_pos).w,(Target_camera_max_Y_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
+ move.w (Camera_max_Y_pos).w,(Camera_stored_max_Y_pos).w
move.w #$540,(Camera_target_max_Y_pos).w
move.w #$2E20,$3A(a0)
move.l #loc_4C9CA,$34(a0)
@@ -92158,7 +92018,7 @@ loc_4C9C4:
loc_4C9CA:
move.b #4,5(a0)
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w d0,(Camera_min_X_pos).w
addi.w #$40,d0
move.w d0,(Camera_max_X_pos).w
@@ -92175,8 +92035,8 @@ loc_4C9EE:
move.b #6,5(a0)
move.l #loc_4CA10,$34(a0)
move.w #$78,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
locret_4CA0A:
rts
@@ -92188,8 +92048,8 @@ loc_4CA0C:
loc_4CA10:
move.b #8,5(a0)
- moveq #mus_Miniboss,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Miniboss),d0
+ jsr (Play_Music).l
rts
; ---------------------------------------------------------------------------
@@ -92253,7 +92113,7 @@ loc_4CAA8:
loc_4CAB6:
move.l #loc_4CAD6,(a0)
move.l #Map_EggCapsule,$C(a0)
- move.w #-$7BB2,$A(a0)
+ move.w #$844E,$A(a0)
move.b #5,$22(a0)
addq.w #8,$14(a0)
rts
@@ -92627,7 +92487,7 @@ loc_4CE94:
lea word_4D486(pc),a1
move.w #3,$3E(a0)
jsr SetUp_ObjAttributes3(pc)
- move.b #-$7A,$28(a0)
+ move.b #$86,$28(a0)
movea.w $46(a0),a1
movea.w $46(a1),a1
movea.w $46(a1),a1
@@ -92901,7 +92761,7 @@ loc_4D188:
loc_4D196:
bsr.w sub_4D1B8
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_4D1B2
@@ -93224,8 +93084,8 @@ sub_4D3C6:
subq.b #1,$29(a0)
beq.s loc_4D40E
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_4D3E8:
moveq #0,d0
@@ -93333,7 +93193,8 @@ ObjDat3_4D4AA: dc.l Map_EggCapsule
dc.b $20
dc.b 1
dc.b 0
-ChildObjDat_4D4B6:dc.w 6
+ChildObjDat_4D4B6:
+ dc.w 6
dc.l loc_4CB84
dc.w $F0F8
dc.l loc_4CB84
@@ -93350,12 +93211,15 @@ ChildObjDat_4D4B6:dc.w 6
dc.w 0
word_4D4E2: dc.w 4
dc.l loc_4CE44
-ChildObjDat_4D4E8:dc.w 0
+ChildObjDat_4D4E8:
+ dc.w 0
dc.l loc_4CB46
dc.w $F8
-ChildObjDat_4D4F0:dc.w 0
+ChildObjDat_4D4F0:
+ dc.w 0
dc.l loc_4D188
-ChildObjDat_4D4F6:dc.w 4
+ChildObjDat_4D4F6:
+ dc.w 4
dc.l loc_54776
dc.w $FC
dc.l loc_54776
@@ -93378,17 +93242,15 @@ ChildObjDat_4D4F6:dc.w 4
dc.b $FC
Pal_FBZMiniboss:binclude "Levels/FBZ/Palettes/S3 Miniboss.bin"
even
-
word_4D540: palscriptptr .header, .data
dc.w 0
.header palscripthdr Normal_palette_line_2+$1E, 1, 7-1
-
.data palscriptdata 1, $EEE
palscriptdata 4, $644
palscriptrun
; ---------------------------------------------------------------------------
-Obj_AB_1_FBZ_Laser_Boss:
+Obj_FBZ2Subboss:
moveq #0,d0
move.b 5(a0),d0
move.w off_4D56E(pc,d0.w),d1
@@ -93409,12 +93271,12 @@ loc_4D57A:
jsr SetUp_ObjAttributes(pc)
move.b #$7F,$29(a0)
move.b #6,$39(a0)
- move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w
+ move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w
move.w #$240,(Camera_target_max_Y_pos).w
move.w #$78,$2E(a0)
move.l #loc_4D5EC,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.b #1,(Boss_flag).w
moveq #$6A,d0
jsr (Load_PLC).l
@@ -93440,8 +93302,8 @@ loc_4D5E8:
loc_4D5EC:
move.b #4,5(a0)
move.w #$3F,$2E(a0)
- moveq #mus_Miniboss,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Miniboss),d0
+ jsr (Play_Music).l
locret_4D600:
rts
@@ -93781,7 +93643,7 @@ loc_4D9A2:
clr.b $28(a0)
cmpi.b #8,$22(a0)
bne.s loc_4D9B4
- move.b #-$54,$28(a0)
+ move.b #$AC,$28(a0)
loc_4D9B4:
lea (Player_1).w,a2
@@ -93878,8 +93740,8 @@ sub_4DA98:
tst.b $20(a0)
bne.s loc_4DAB2
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_4DAB2:
bset #6,$2A(a0)
@@ -93941,18 +93803,22 @@ ObjDat3_4DB22: dc.l Map_FBZRobotnikStand
dc.b $20
dc.b 0
dc.b 0
-ChildObjDat_4DB2E:dc.w 3
+ChildObjDat_4DB2E:
+ dc.w 3
dc.l loc_4D74E
dc.w 0
-ChildObjDat_4DB36:dc.w 1
+ChildObjDat_4DB36:
+ dc.w 1
dc.l loc_4D7CA
dc.w 0
dc.l loc_4D814
dc.w 0
-ChildObjDat_4DB44:dc.w 1
+ChildObjDat_4DB44:
+ dc.w 1
dc.l loc_4D8BE
dc.w 0
-ChildObjDat_4DB4C:dc.w 0
+ChildObjDat_4DB4C:
+ dc.w 0
dc.l loc_4D936
dc.w 8
byte_4DB54: dc.b 0, 7
@@ -94003,7 +93869,7 @@ loc_4DBC0:
jsr SetUp_ObjAttributes(pc)
move.b #8,$29(a0)
move.b #1,(Boss_flag).w
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w #$3090,(Camera_max_X_pos).w
moveq #$6F,d0
jsr (Load_PLC).l
@@ -94011,8 +93877,8 @@ loc_4DBC0:
jsr (PalLoad_Line1).l
move.w #$78,$2E(a0)
move.l #loc_4DC30,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
lea (ChildObjDat_4642E).l,a2
jsr CreateChild1_Normal(pc)
bne.s loc_4DC1E
@@ -94031,8 +93897,8 @@ loc_4DC26:
loc_4DC30:
move.b #4,5(a0)
- moveq #mus_EndBoss,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_EndBoss),d0
+ jsr (Play_Music).l
locret_4DC3E:
rts
@@ -94130,8 +93996,8 @@ loc_4DD3C:
bset #4,$38(a0)
move.w #$7F,$2E(a0)
move.l #loc_4DD66,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
lea ChildObjDat_4E2EA(pc),a2
jmp CreateChild1_Normal(pc)
; ---------------------------------------------------------------------------
@@ -94142,13 +94008,13 @@ loc_4DD66:
st (_unkFAA8).w
move.w #$7F,$2E(a0)
move.l #loc_4DD8A,$34(a0)
- jmp (Obj_PlayLevelMusic).l
+ jmp (Restore_LevelMusic).l
; ---------------------------------------------------------------------------
loc_4DD8A:
move.l #loc_4DDA6,(a0)
clr.b (Boss_flag).w
- move.w #$3170,(Target_camera_max_X_pos).w
+ move.w #$3170,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -94161,7 +94027,7 @@ loc_4DDA6:
jsr Restore_PlayerControl(pc)
lea (Player_2).w,a1
jsr Restore_PlayerControl2(pc)
- move.w #$6000,(Target_camera_max_X_pos).w
+ move.w #$6000,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
jmp (Go_Delete_Sprite_2).l
@@ -94622,8 +94488,8 @@ sub_4E200:
tst.b $20(a0)
bne.s loc_4E224
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_4E224:
bset #6,$2A(a0)
@@ -94702,22 +94568,27 @@ ObjDat3_4E2B4: dc.l Map_FBZEndBossFlame
dc.b $10
dc.b 0
dc.b $8B
-ChildObjDat_4E2C0:dc.w 2
+ChildObjDat_4E2C0:
+ dc.w 2
dc.l loc_4DDDC
dc.w $D0B8
dc.l loc_4DDDC
dc.w $30B8
dc.l loc_4DF98
dc.w $D8
-ChildObjDat_4E2D4:dc.w 0
+ChildObjDat_4E2D4:
+ dc.w 0
dc.l loc_4DEB2
dc.w $20
-ChildObjDat_4E2DC:dc.w 3
+ChildObjDat_4E2DC:
+ dc.w 3
dc.l loc_4DF44
dc.w 0
-ChildObjDat_4E2E4:dc.w 8
+ChildObjDat_4E2E4:
+ dc.w 8
dc.l loc_4E00E
-ChildObjDat_4E2EA:dc.w 3
+ChildObjDat_4E2EA:
+ dc.w 3
dc.l loc_4E032
dc.w $EC08
dc.l loc_4E032
@@ -94779,12 +94650,12 @@ Obj_ICZMiniboss:
jsr (Check_CameraInRange).l
move.l #loc_4E3F4,(a0)
move.b #1,(Boss_flag).w
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$78,$2E(a0)
move.b #mus_Miniboss,$26(a0)
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
- move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
+ move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w
move.w #$2B8,(Camera_target_max_Y_pos).w
move.w #$6F0,$1C(a0)
move.w #$6F0,(Camera_max_X_pos).w
@@ -94890,8 +94761,8 @@ loc_4E4BE:
bset #2,$38(a0)
move.w #$7F,$2E(a0)
move.l #loc_4E4DC,$34(a0)
- moveq #sfx_TunnelBooster,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TunnelBooster),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -94918,8 +94789,8 @@ loc_4E50A:
neg.w $3E(a0)
move.w $3E(a0),$18(a0)
move.w #$5F,$2E(a0)
- moveq #sfx_BossRotate,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossRotate),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -95151,9 +95022,9 @@ loc_4E75E:
loc_4E768:
move.b #8,5(a0)
- move.b #-$75,$28(a0)
- moveq #sfx_BossRotate,d0
- jsr (Play_Sound_2).l
+ move.b #$8B,$28(a0)
+ moveq #signextendB(sfx_BossRotate),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -95244,8 +95115,8 @@ loc_4E84C:
loc_4E850:
move.b #$14,5(a0)
- moveq #sfx_LevelProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LevelProjectile),d0
+ jsr (Play_SFX).l
move.w #$400,$1A(a0)
clr.w $18(a0)
move.w #$45,$2E(a0)
@@ -95536,8 +95407,8 @@ sub_4EAC2:
tst.b $20(a0)
bne.s loc_4EAE2
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_4EAE2:
bset #6,$2A(a0)
@@ -95607,7 +95478,8 @@ word_4EB66: dc.w $180
dc.b $C
dc.b $B
dc.b 0
-ChildObjDat_4EB6C:dc.w 5
+ChildObjDat_4EB6C:
+ dc.w 5
dc.l loc_4E658
dc.w $F2F5
dc.l loc_4E658
@@ -95620,9 +95492,11 @@ ChildObjDat_4EB6C:dc.w 5
dc.w $EF5
dc.l loc_4E658
dc.w $E
-ChildObjDat_4EB92:dc.w 7
+ChildObjDat_4EB92:
+ dc.w 7
dc.l loc_4E6C2
-ChildObjDat_4EB98:dc.w 3
+ChildObjDat_4EB98:
+ dc.w 3
dc.l loc_4E886
dc.w $F4F4
dc.l loc_4E886
@@ -95652,7 +95526,6 @@ Pal_ICZMiniboss:binclude "Levels/ICZ/Palettes/Miniboss.bin"
even
word_4EBE2: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_4+$02, 10, 2-1
.data palscriptdata 8, $EEC, $CC6, $C80, $C60, $C40, $A40, $820, $620, $200, $600
palscriptdata 8, $EEC, $CC6, $C82, $C80, $C40, $A40, $820, $820, $200, $600
@@ -95672,11 +95545,11 @@ Obj_ICZEndBoss:
jsr (Check_CameraInRange).l
move.l #loc_4ED30,(a0)
move.b #1,(Boss_flag).w
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$78,$2E(a0)
move.b #mus_EndBoss,$26(a0)
- move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w
+ move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w
move.w #$5F8,(Camera_target_max_Y_pos).w
move.w #$4390,$1C(a0)
move.w #$4390,(Camera_max_X_pos).w
@@ -95778,8 +95651,8 @@ loc_4EDFA:
loc_4EE16:
move.l #loc_4EE3C,$34(a0)
- moveq #sfx_FrostPuff,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FrostPuff),d0
+ jsr (Play_SFX).l
bsr.w sub_4F1D2
cmpi.w #2,$26(a0)
bne.w locret_4ED3A
@@ -95815,8 +95688,8 @@ loc_4EE74:
bset #4,$38(a0)
move.w #$7F,$2E(a0)
move.l #loc_4EEA4,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
lea ChildObjDat_4F400(pc),a2
jmp CreateChild1_Normal(pc)
; ---------------------------------------------------------------------------
@@ -95825,8 +95698,8 @@ loc_4EEA4:
move.l #loc_4EECE,(a0)
st (_unkFAA8).w
clr.b (Boss_flag).w
- jsr (Obj_PlayLevelMusic).l
- move.w #$44C0,(Target_camera_max_X_pos).w
+ jsr (Restore_LevelMusic).l
+ move.w #$44C0,(Camera_stored_max_X_pos).w
jsr (Create_New_Sprite).l
bne.s locret_4EECC
move.l #Obj_IncLevEndXGradual,(a1)
@@ -95843,8 +95716,8 @@ loc_4EECE:
jsr Restore_PlayerControl(pc)
lea (Player_2).w,a1
jsr Restore_PlayerControl2(pc)
- move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
- move.w #$47C0,(Target_camera_max_X_pos).w
+ move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w
+ move.w #$47C0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
jmp (Go_Delete_Sprite_2).l
@@ -96096,7 +95969,7 @@ word_4F15E: dc.w $FFF0, $20, $FFF0, $20
loc_4F166:
move.l #loc_4F174,(a0)
- move.b #-$65,$28(a0)
+ move.b #$9B,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -96279,8 +96152,8 @@ sub_4F2F4:
loc_4F31C:
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_4F32A:
bset #6,$2A(a0)
@@ -96362,26 +96235,33 @@ word_4F3C4: dc.w $180
dc.b $10
dc.b 0
dc.b 0
-ChildObjDat_4F3CA:dc.w 0
+ChildObjDat_4F3CA:
+ dc.w 0
dc.l Obj_RobotnikShip4
dc.w 0
-ChildObjDat_4F3D2:dc.w 2
+ChildObjDat_4F3D2:
+ dc.w 2
dc.l loc_4EF0A
dc.w $1807
dc.l loc_4EF70
dc.w $B
dc.l loc_4F010
dc.w $2D
-ChildObjDat_4F3E6:dc.w 5
+ChildObjDat_4F3E6:
+ dc.w 5
dc.l loc_4F0CE
-ChildObjDat_4F3EC:dc.w 6
+ChildObjDat_4F3EC:
+ dc.w 6
dc.l loc_4F0CE
-ChildObjDat_4F3F2:dc.w 3
+ChildObjDat_4F3F2:
+ dc.w 3
dc.l loc_4F0CE
-ChildObjDat_4F3F8:dc.w 0
+ChildObjDat_4F3F8:
+ dc.w 0
dc.l loc_4F166
dc.w 8
-ChildObjDat_4F400:dc.w 2
+ChildObjDat_4F400:
+ dc.w 2
dc.l loc_4F190
dc.w $EC04
dc.l loc_4F190
@@ -96621,7 +96501,7 @@ loc_4F63E:
lea word_4F95A(pc),a1
jsr SetUp_ObjAttributes3(pc)
move.w #$100,$2E(a0)
- move.l #sub_4F68E,$34(a0)
+ move.l #loc_4F68E,$34(a0)
move.b #4,$3D(a0)
move.w #5,$3E(a0)
cmpi.b #$A,$2C(a0)
@@ -96642,11 +96522,9 @@ loc_4F682:
move.w $3E(a0),d2
jsr MoveSprite_CircularSimple(pc)
jmp Obj_Wait(pc)
+; ---------------------------------------------------------------------------
-; =============== S U B R O U T I N E =======================================
-
-
-sub_4F68E:
+loc_4F68E:
move.b #4,5(a0)
bsr.w sub_4F818
move.l #loc_4F6CA,$34(a0)
@@ -96712,12 +96590,12 @@ loc_4F726:
loc_4F73A:
bclr #1,$38(a0)
neg.b $3D(a0)
- bsr.w sub_4F68E
+ bsr.w loc_4F68E
cmpi.b #$A,$2C(a0)
bne.s loc_4F76A
move.b #$A,5(a0)
move.w #$3C,$2E(a0)
- move.l #sub_4F68E,$34(a0)
+ move.l #loc_4F68E,$34(a0)
bset #1,$38(a0)
loc_4F76A:
@@ -96738,8 +96616,6 @@ loc_4F786:
movea.l off_4F792(pc,d1.w),a1
move.b (a1,d0.w),$3C(a0)
rts
-; End of function sub_4F68E
-
; ---------------------------------------------------------------------------
off_4F792: dc.l byte_4F800
dc.l byte_4F806
@@ -96862,8 +96738,8 @@ loc_4F866:
move.b 5(a0),$3A(a0)
move.b #$A,5(a0)
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_4F886:
jsr BossFlash(pc)
@@ -96963,12 +96839,15 @@ word_4F95A: dc.w $180
dc.b 8
dc.b 6
dc.b $98
-ChildObjDat_4F960:dc.w 0
+ChildObjDat_4F960:
+ dc.w 0
dc.l loc_4F5C0
dc.w 0
-ChildObjDat_4F968:dc.w 5
+ChildObjDat_4F968:
+ dc.w 5
dc.l loc_4F616
-ChildObjDat_4F96E:dc.w 5
+ChildObjDat_4F96E:
+ dc.w 5
dc.l loc_4F610
byte_4F974: dc.b $F, 0
dc.b 1, 0
@@ -96986,7 +96865,7 @@ Pal_LBZMiniboss:binclude "Levels/LBZ/Palettes/Miniboss.bin"
even
; ---------------------------------------------------------------------------
-Obj_LBZ_FinalBoss1:
+Obj_LBZFinalBoss1:
moveq #0,d0
move.b 5(a0),d0
move.w off_4F9C2(pc,d0.w),d1
@@ -97143,7 +97022,7 @@ loc_4FB0A:
bclr #7,$A(a0)
jsr (Create_New_Sprite).l
bne.s loc_4FB46
- move.l #Obj_LBZ_FinalBoss2,(a1)
+ move.l #Obj_LBZFinalBoss2,(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
@@ -97424,8 +97303,8 @@ loc_4FE2E:
move.l #loc_4FE6A,(a0)
tst.b 4(a0)
bpl.s loc_4FE42
- moveq #sfx_Lazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Laser),d0
+ jsr (Play_SFX).l
loc_4FE42:
move.b #-$64,$28(a0)
@@ -97579,7 +97458,7 @@ loc_4FFC4:
addq.b #1,d0
move.b d0,$39(a0)
andi.b #3,d0
- andi.b #-4,4(a0)
+ andi.b #$FC,4(a0)
or.b d0,4(a0)
rts
@@ -97721,8 +97600,8 @@ sub_500DA:
move.b #6,5(a0)
move.b #$20,$20(a0)
bset #6,$2A(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
move.w $1A(a0),d0
asl.w #1,d0
cmpi.w #-$800,d0
@@ -97955,20 +97834,24 @@ ObjDat3_50312: dc.l Map_LBZFinalBoss1
dc.b $C
dc.b $10
dc.b 0
-ChildObjDat_5031E:dc.w 0
+ChildObjDat_5031E:
+ dc.w 0
dc.l loc_4FEF2
dc.w $10
-ChildObjDat_50326:dc.w 0
+ChildObjDat_50326:
+ dc.w 0
dc.l loc_4FF0A
dc.w 8
-ChildObjDat_5032E:dc.w 2
+ChildObjDat_5032E:
+ dc.w 2
dc.l loc_4FC30
dc.w 8
dc.l loc_4FC90
dc.w $30
dc.l loc_4FC98
dc.w $5C
-ChildObjDat_50342:dc.w 3
+ChildObjDat_50342:
+ dc.w 3
dc.l loc_4FCC8
dc.w $F0FC
dc.l loc_4FCC8
@@ -97977,7 +97860,8 @@ ChildObjDat_50342:dc.w 3
dc.w $F010
dc.l loc_4FCC8
dc.w $1010
-ChildObjDat_5035C:dc.w 5
+ChildObjDat_5035C:
+ dc.w 5
dc.l loc_4FCC8
dc.w $F0F8
dc.l loc_4FCC8
@@ -97990,30 +97874,37 @@ ChildObjDat_5035C:dc.w 5
dc.w $ECE0
dc.l loc_4FCC8
dc.w $14E0
-ChildObjDat_50382:dc.w 1
+ChildObjDat_50382:
+ dc.w 1
dc.l loc_4FD52
dc.w 0
-ChildObjDat_5038A:dc.w 0
+ChildObjDat_5038A:
+ dc.w 0
dc.l loc_4FD98
dc.w $F800
dc.w 0
dc.l loc_4FD98
dc.w $800
-ChildObjDat_5039A:dc.w 0
+ChildObjDat_5039A:
+ dc.w 0
dc.l loc_4FEAA
dc.w $2000
-ChildObjDat_503A2:dc.w 1
+ChildObjDat_503A2:
+ dc.w 1
dc.l loc_4FECE
dc.w $EC30
dc.l loc_4FECE
dc.w $1430
-ChildObjDat_503B0:dc.w 0
+ChildObjDat_503B0:
+ dc.w 0
dc.l loc_4FF80
dc.w 0
-ChildObjDat_503B8:dc.w 0
+ChildObjDat_503B8:
+ dc.w 0
dc.l loc_4FCF0
dc.w $EC
-ChildObjDat_503C0:dc.w 1
+ChildObjDat_503C0:
+ dc.w 1
dc.l loc_4FD1A
dc.w $F000
dc.l loc_4FD1A
@@ -98050,7 +97941,7 @@ Pal_LBZFinalBoss1:
even
; ---------------------------------------------------------------------------
-Obj_LBZ_EndBoss:
+Obj_LBZEndBoss:
lea word_5043C(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
@@ -98075,8 +97966,8 @@ loc_50444:
jsr SetUp_ObjAttributes(pc)
move.b #8,$29(a0)
move.b #1,(Boss_flag).w
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$78,$2E(a0)
move.b #mus_EndBoss,$26(a0)
move.w #$5A0,(Camera_target_max_Y_pos).w
@@ -98088,7 +97979,7 @@ loc_50444:
moveq #$77,d0
jsr (Load_PLC).l
lea (ArtKosM_LBZEndBoss).l,a1
- move.w #-$7B60,d2
+ move.w #$84A0,d2
jsr (Queue_Kos_Module).l
lea Pal_LBZEndBoss(pc),a1
jmp PalLoad_Line1(pc)
@@ -98131,8 +98022,8 @@ loc_504DC:
loc_504F2:
move.b #8,5(a0)
- moveq #sfx_Rising,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rising),d0
+ jsr (Play_SFX).l
move.w #-$40,$1A(a0)
move.w #$DF,$2E(a0)
move.l #loc_50526,$34(a0)
@@ -98169,8 +98060,8 @@ loc_5054C:
loc_50562:
move.b #$C,5(a0)
- moveq #sfx_TubeLauncher,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TubeLauncher),d0
+ jsr (Play_SFX).l
bra.w loc_509B6
; ---------------------------------------------------------------------------
@@ -98191,7 +98082,7 @@ loc_50594:
bset #5,$38(a0)
bclr #7,4(a0)
clr.b (Boss_flag).w
- jsr Obj_PlayLevelMusic(pc)
+ jsr Restore_LevelMusic(pc)
lea (Player_2).w,a1
bclr #4,$2A(a1)
move.l #Go_Delete_Sprite_2,(a0)
@@ -98209,7 +98100,7 @@ loc_505BA:
movea.w $46(a0),a1
btst #7,$2A(a1)
beq.s loc_505E4
- bsr.w sub_50690
+ bsr.w loc_50690
loc_505E4:
jmp Child_DrawTouch_Sprite(pc)
@@ -98244,7 +98135,7 @@ loc_50628:
loc_50638:
move.b #6,5(a0)
- move.l #sub_50690,$34(a0)
+ move.l #loc_50690,$34(a0)
move.w $26(a0),d0
clr.w $1A(a0)
rts
@@ -98269,19 +98160,15 @@ loc_50666:
bne.w locret_504DA
lea ChildObjDat_50C24(pc),a2
jmp CreateChild1_Normal(pc)
+; ---------------------------------------------------------------------------
-; =============== S U B R O U T I N E =======================================
-
-
-sub_50690:
+loc_50690:
move.l #Delete_Current_Sprite,(a0)
bset #7,$2A(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
lea ChildObjDat_50C2C(pc),a2
jmp CreateChild1_Normal(pc)
-; End of function sub_50690
-
; ---------------------------------------------------------------------------
loc_506AC:
@@ -98487,7 +98374,7 @@ off_5087E: dc.w loc_50884-off_5087E
; ---------------------------------------------------------------------------
loc_50884:
- lea off_50B84(pc),a1
+ lea ObjDat3_50B84(pc),a1
jsr SetUp_ObjAttributes(pc)
move.w #-$180,$18(a0)
move.l #byte_50C76,$30(a0)
@@ -98702,8 +98589,8 @@ sub_50A7A:
tst.b $20(a0)
bne.s loc_50A9E
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_50A9E:
bset #6,$2A(a0)
@@ -98732,7 +98619,7 @@ loc_50AD2:
bclr #7,4(a0)
move.w #$7F,$2E(a0)
bset #4,$38(a0)
- move.w #-$5BDB,$A(a0)
+ move.w #$A425,$A(a0)
move.w #-$200,$1A(a0)
move.l #loc_50594,$34(a0)
lea (Child6_CreateBossExplosion).l,a2
@@ -98741,7 +98628,7 @@ loc_50AD2:
move.b #4,$2C(a1)
loc_50B18:
- move.w #$3AB8,(Target_camera_max_X_pos).w
+ move.w #$3AB8,(Camera_stored_max_X_pos).w
lea Child6_IncLevX(pc),a2
jmp CreateChild6_Simple(pc)
; End of function sub_50A7A
@@ -98758,7 +98645,7 @@ loc_50B26:
loc_50B38:
move.l #MoveChkDel,(a0)
bset #7,$2A(a0)
- move.w #-$5BDB,$A(a0)
+ move.w #$A425,$A(a0)
moveq #0,d0
move.b $2C(a0),d0
move.w word_50B70(pc,d0.w),$18(a0)
@@ -98779,7 +98666,7 @@ ObjDat3_50B78: dc.l Map_LBZEndBoss
dc.b $10
dc.b 0
dc.b $18
-off_50B84: dc.l Map_FBZRobotnikRun
+ObjDat3_50B84: dc.l Map_FBZRobotnikRun
dc.w $4A9
dc.w $280
dc.b $20
@@ -98835,37 +98722,45 @@ ObjDat3_50BCC: dc.l Map_LBZEndBoss
dc.b 8
dc.b $E
dc.b 0
-ChildObjDat_50BD8:dc.w 1
+ChildObjDat_50BD8:
+ dc.w 1
dc.l loc_508EC
dc.w $F8
dc.l loc_5097A
dc.w $E8F0
-ChildObjDat_50BE6:dc.w 0
+ChildObjDat_50BE6:
+ dc.w 0
dc.l loc_5086A
dc.w $60E8
-ChildObjDat_50BEE:dc.w 2
+ChildObjDat_50BEE:
+ dc.w 2
dc.l loc_50710
dc.w $E838
dc.l loc_50710
dc.w $1838
dc.l loc_50710
dc.w $38
-ChildObjDat_50C02:dc.w 2
+ChildObjDat_50C02:
+ dc.w 2
dc.l loc_50780
dc.w $E8
dc.l loc_50780
dc.w $F8
dc.l loc_50780
dc.w 8
-ChildObjDat_50C16:dc.w 3
+ChildObjDat_50C16:
+ dc.w 3
dc.l loc_507AC
-ChildObjDat_50C1C:dc.w 0
+ChildObjDat_50C1C:
+ dc.w 0
dc.l loc_505BA
dc.w 0
-ChildObjDat_50C24:dc.w 0
+ChildObjDat_50C24:
+ dc.w 0
dc.l loc_506AC
dc.w $10
-ChildObjDat_50C2C:dc.w $B
+ChildObjDat_50C2C:
+ dc.w $B
dc.l loc_506FE
dc.w $F8F8
dc.l loc_506FE
@@ -98914,7 +98809,7 @@ Pal_LBZEndBoss: binclude "Levels/LBZ/Palettes/End Boss.bin"
even
; ---------------------------------------------------------------------------
-Obj_LBZ_FinalBoss2:
+Obj_LBZFinalBoss2:
moveq #0,d0
move.b 5(a0),d0
move.w off_50CC2(pc,d0.w),d1
@@ -99282,8 +99177,8 @@ loc_51042:
bset #1,$38(a0)
move.w #$14,(Screen_shake_flag).w
move.w #3,$2E(a0)
- moveq #sfx_BossHitFloor,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHitFloor),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -99355,9 +99250,9 @@ loc_510F8:
move.w a0,(_unkFAA4).w
clr.w (Ctrl_1_logical).w
st (Ctrl_1_locked).w
- move.b #-$80,(Player_1+object_control).w
+ move.b #$80,(Player_1+object_control).w
lea (ArtKosM_LBZ2DeathEggSmall).l,a1
- move.w #-$6A40,d2
+ move.w #$95C0,d2
jsr (Queue_Kos_Module).l
loc_51142:
@@ -99905,8 +99800,8 @@ sub_5174A:
addi.w #$80,d0
cmp.w $14(a0),d0
bcc.s locret_51762
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.l (sp),(a0)
locret_51762:
@@ -99928,10 +99823,10 @@ loc_5177E:
move.l (a1)+,(a2)+
dbf d0,loc_5177E
move.l #loc_517BA,(a0)
- moveq #sfx_FlamethrowerQuiet,d0
- jsr (Play_Sound_2).l
- moveq #mus_Ending,d0
- jsr (Play_Sound).l
+ moveq #signextendB(sfx_FlamethrowerQuiet),d0
+ jsr (Play_SFX).l
+ moveq #signextendB(mus_Ending),d0
+ jsr (Play_Music).l
jsr sub_5439C(pc)
lsl.w #2,d0
movea.l off_517AE(pc,d0.w),a1
@@ -100225,7 +100120,7 @@ loc_51B3C:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Obj_FleeingRobotnik_Unused:
+Obj_LBZ2UnusedRobotnik:
lea ObjDat3_51F9C(pc),a1
jsr SetUp_ObjAttributes(pc)
move.l #loc_51BB6,(a0)
@@ -100243,7 +100138,7 @@ Obj_FleeingRobotnik_Unused:
move.w #$800,$18(a0)
move.w #-$3C0,$1A(a0)
move.b #4,$40(a0)
- move.l #ArtScaled_FleeingRobotnik,$42(a0)
+ move.l #ArtScaled_LBZ2UnusedRobotnik,$42(a0)
move.b #1,$3E(a0)
bsr.w Perform_Art_Scaling
jmp (Draw_Sprite).l
@@ -100397,8 +100292,8 @@ sub_51CDE:
loc_51D06:
move.b #$3C,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
movea.w $44(a0),a1
clr.b $28(a1)
@@ -100562,13 +100457,13 @@ word_51E86: dc.w $20
dc.w 8
dc.w 8
dc.w $200
-off_51E94: dc.l ArtScaled_FleeingRobotnik
- dc.l ArtScaled_FleeingRobotnik
- dc.l ArtScaled_FleeingRobotnik+$1000
- dc.l ArtScaled_FleeingRobotnik+$2000
- dc.l ArtScaled_FleeingRobotnik+$3000
- dc.l ArtScaled_FleeingRobotnik+$4000
- dc.l ArtScaled_FleeingRobotnik+$5000
+off_51E94: dc.l ArtScaled_LBZ2UnusedRobotnik
+ dc.l ArtScaled_LBZ2UnusedRobotnik
+ dc.l ArtScaled_LBZ2UnusedRobotnik+$1000
+ dc.l ArtScaled_LBZ2UnusedRobotnik+$2000
+ dc.l ArtScaled_LBZ2UnusedRobotnik+$3000
+ dc.l ArtScaled_LBZ2UnusedRobotnik+$4000
+ dc.l ArtScaled_LBZ2UnusedRobotnik+$5000
; =============== S U B R O U T I N E =======================================
@@ -100716,7 +100611,8 @@ ObjDat3_51FA8: dc.l Map_SonicTailsEndPoses
dc.b $40
dc.b 0
dc.b 0
-ChildObjDat_51FB4:dc.w 3
+ChildObjDat_51FB4:
+ dc.w 3
dc.l loc_511E8
dc.w $1424
dc.l loc_511CE
@@ -100725,10 +100621,12 @@ ChildObjDat_51FB4:dc.w 3
dc.w $E8
dc.l loc_513AC
dc.w $38EC
-ChildObjDat_51FCE:dc.w 0
+ChildObjDat_51FCE:
+ dc.w 0
dc.l loc_513E8
dc.w $4CC
-ChildObjDat_51FD6:dc.w 3
+ChildObjDat_51FD6:
+ dc.w 3
dc.l loc_512FC
dc.w $D6FE
dc.l loc_512FC
@@ -100737,7 +100635,8 @@ ChildObjDat_51FD6:dc.w 3
dc.w 0
dc.l loc_5140A
dc.w $C0FE
-ChildObjDat_51FF0:dc.w 4
+ChildObjDat_51FF0:
+ dc.w 4
dc.l loc_514F6
dc.w $F4D4
dc.l loc_514F6
@@ -100748,9 +100647,11 @@ ChildObjDat_51FF0:dc.w 4
dc.w $F4FC
dc.l loc_514F6
dc.w $14FC
-ChildObjDat_52010:dc.w 1
+ChildObjDat_52010:
+ dc.w 1
dc.l loc_51524
-ChildObjDat_52016:dc.w 6
+ChildObjDat_52016:
+ dc.w 6
dc.l loc_516A4
dc.w 0
dc.l loc_516A4
@@ -100765,13 +100666,17 @@ ChildObjDat_52016:dc.w 6
dc.w $DCF8
dc.l loc_516A4
dc.w $B01C
-ChildObjDat_52042:dc.w 0
+ChildObjDat_52042:
+ dc.w 0
dc.l loc_51AB8
-ChildObjDat_52048:dc.w 0
+ChildObjDat_52048:
+ dc.w 0
dc.l loc_51B18
-ChildObjDat_5204E:dc.w 0
+ChildObjDat_5204E:
+ dc.w 0
dc.l loc_542B8
-ChildObjDat_52054:dc.w 0
+ChildObjDat_52054:
+ dc.w 0
dc.l loc_54322
byte_5205A: dc.b 9
dc.b 7
@@ -100863,9 +100768,10 @@ Pal_SuperSonicEndPose:
even
Map_SonicTailsEndPoses:
include "General/Ending/Map - Sonic Tails Ending Poses S3.asm"
-PalSPtr_LBZFinalBoss2_FadeIn: palscriptptr .header, .data
- dc.w 0
+PalSPtr_LBZFinalBoss2_FadeIn:
+ palscriptptr .header, .data
+ dc.w 0
.header palscripthdr Normal_palette_line_4+$16, 4, 2-1
.data palscriptdata 16, $ECE, $E8A, $E48, $E46
palscriptdata 16, $CAC, $C68, $C46, $A44
@@ -100873,9 +100779,9 @@ PalSPtr_LBZFinalBoss2_FadeIn: palscriptptr .header, .data
palscriptdata 16, $844, $622, $400, $200
palscriptrun
-PalSPtr_LBZFinalBoss2_FadeOut: palscriptptr .header, .data
+PalSPtr_LBZFinalBoss2_FadeOut:
+ palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_4+$16, 4, 2-1
.data palscriptdata 16, $844, $622, $400, $200
palscriptdata 16, $A88, $A46, $824, $622
@@ -100920,8 +100826,8 @@ Obj_HiddenMonitorMain:
bcs.s loc_52366
loc_52352:
- moveq #sfx_GroundSlide,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GroundSlide),d0
+ jsr (Play_SFX).l
move.l #Sprite_OnScreen_Test,(a0)
loc_52360:
@@ -100934,12 +100840,13 @@ loc_52366:
move.b #2,5(a0)
move.b #4,$3C(a0)
move.w #-$500,$1A(a0)
- moveq #sfx_BubbleAttack,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BubbleAttack),d0
+ jsr (Play_SFX).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
word_52392: dc.w $FFF2, $1C, $FF80, $C0
-ObjDat_HiddenMonitor:dc.l Map_Monitor
+ObjDat_HiddenMonitor:
+ dc.l Map_Monitor
dc.w ArtTile_Monitors
dc.w $180
dc.b $E
@@ -100979,8 +100886,8 @@ loc_523FA:
move.w (Camera_Y_pos).w,d0
subi.w #$20,d0
move.w d0,$14(a0)
- moveq #sfx_Signpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Signpost),d0
+ jsr (Play_SFX).l
lea Child1_EndSignStub(pc),a2
jmp CreateChild1_Normal(pc)
; ---------------------------------------------------------------------------
@@ -101044,7 +100951,8 @@ loc_524AA:
move.w #-$200,$1A(a0)
rts
; ---------------------------------------------------------------------------
-FrameArray_EndSign:dc.b 0, 0, 1, 2
+FrameArray_EndSign:
+ dc.b 0, 0, 1, 2
; ---------------------------------------------------------------------------
Obj_EndSignResults:
@@ -101076,7 +100984,8 @@ loc_52500:
jsr Remove_From_TrackingSlot(pc)
jmp Go_Delete_Sprite(pc)
; ---------------------------------------------------------------------------
-PLC_SpikesSprings:dc.w 0
+PLC_SpikesSprings:
+ dc.w 0
dc.l ArtNem_SpikesSprings
dc.w $9280
; ---------------------------------------------------------------------------
@@ -101166,8 +101075,8 @@ loc_525E8:
lsl.w #4,d0
move.w d0,$18(a0)
move.w #-$200,$1A(a0)
- moveq #sfx_Signpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Signpost),d0
+ jsr (Play_SFX).l
lea Child6_EndSignScore(pc),a2
jsr CreateChild6_Simple(pc)
moveq #$A,d0
@@ -101219,48 +101128,46 @@ locret_52658:
; End of function EndSign_CheckWall
; ---------------------------------------------------------------------------
-ObjSlot_EndSigns:dc.w 0, $4AC, $C, 0
+ObjSlot_EndSigns:
+ dc.w 0, $4AC, $C, 0
dc.l Map_EndSigns
dc.w $100
dc.b $18
dc.b $10
dc.b 0
dc.b 0
-ObjDat_SignpostStub:dc.l Map_SignpostStub
+ObjDat_SignpostStub:
+ dc.l Map_SignpostStub
dc.w $69E
dc.w $100
dc.b 4
dc.b 8
dc.b 0
dc.b 0
-ObjDat_SignpostSparkle:dc.l Map_Ring
+ObjDat_SignpostSparkle:
+ dc.l Map_Ring
dc.w make_art_tile(ArtTile_Ring,1,0)
dc.w $80
dc.b 8
dc.b 8
dc.b 4
dc.b 0
-Child1_EndSignStub:dc.w 0
+Child1_EndSignStub:
+ dc.w 0
dc.l Obj_SignpostStub
dc.w $18
-Child6_EndSignSparkle:dc.w 0
+Child6_EndSignSparkle:
+ dc.w 0
dc.l Obj_SignpostSparkle
-Child6_EndSignScore:dc.w 0
+Child6_EndSignScore:
+ dc.w 0
dc.l Obj_EnemyScore
PLCPtr_EndSigns:dc.l ArtUnc_EndSigns
dc.l DPLC_EndSigns
-AniRaw_EndSigns:dc.b 1, 0
- dc.b 4, 5
- dc.b 6, 1
- dc.b 4, 5
- dc.b 6, 2
- dc.b 4, 5
- dc.b 6, 3
- dc.b 4, 5
- dc.b 6, $FC
-AniRaw_SignpostSparkle:dc.b 1, 4
- dc.b 5, 6
- dc.b 7, $FC
+AniRaw_EndSigns:
+ dc.b 1, 0, 4, 5, 6, 1, 4, 5, 6, 2, 4, 5, 6, 3, 4, 5, 6, $FC
+AniRaw_SignpostSparkle:
+ dc.b 1, 4, 5, 6, 7, $FC
; =============== S U B R O U T I N E =======================================
@@ -101277,23 +101184,23 @@ AfterBoss_Cleanup:
; End of function AfterBoss_Cleanup
; ---------------------------------------------------------------------------
-off_526CE: dc.w loc_526EA-off_526CE
- dc.w loc_526FE-off_526CE
- dc.w locret_52714-off_526CE
- dc.w locret_52714-off_526CE
- dc.w loc_52716-off_526CE
- dc.w loc_52716-off_526CE
- dc.w locret_52720-off_526CE
- dc.w locret_52720-off_526CE
- dc.w locret_52720-off_526CE
- dc.w locret_52720-off_526CE
- dc.w locret_52720-off_526CE
- dc.w loc_52722-off_526CE
- dc.w locret_5272E-off_526CE
- dc.w locret_5272E-off_526CE
+off_526CE: dc.w AfterBoss_AIZ1-off_526CE
+ dc.w AfterBoss_AIZ2-off_526CE
+ dc.w AfterBoss_HCZ-off_526CE
+ dc.w AfterBoss_HCZ-off_526CE
+ dc.w AfterBoss_MGZ-off_526CE
+ dc.w AfterBoss_MGZ-off_526CE
+ dc.w AfterBoss_CNZ-off_526CE
+ dc.w AfterBoss_CNZ-off_526CE
+ dc.w AfterBoss_FBZ-off_526CE
+ dc.w AfterBoss_FBZ-off_526CE
+ dc.w AfterBoss_ICZ1-off_526CE
+ dc.w AfterBoss_ICZ2-off_526CE
+ dc.w AfterBoss_LBZ-off_526CE
+ dc.w AfterBoss_LBZ-off_526CE
; ---------------------------------------------------------------------------
-loc_526EA:
+AfterBoss_AIZ1:
lea (Pal_AIZ).l,a1
lea (Normal_palette_line_2).w,a2
moveq #$17,d0
@@ -101304,35 +101211,38 @@ loc_526F6:
rts
; ---------------------------------------------------------------------------
-loc_526FE:
+AfterBoss_AIZ2:
lea (Pal_AIZFire).l,a1
jsr (PalLoad_Line1).l
- lea PLC_52730(pc),a1
+ lea PLC_AfterMiniboss_AIZ(pc),a1
jmp (Load_PLC_Raw).l
; ---------------------------------------------------------------------------
-locret_52714:
+AfterBoss_HCZ:
rts
; ---------------------------------------------------------------------------
-loc_52716:
+AfterBoss_MGZ:
lea PLC_MonitorsSpikesSprings(pc),a1
jmp (Load_PLC_Raw).l
; ---------------------------------------------------------------------------
-locret_52720:
+AfterBoss_CNZ:
+AfterBoss_FBZ:
+AfterBoss_ICZ1:
rts
; ---------------------------------------------------------------------------
-loc_52722:
+AfterBoss_ICZ2:
lea (Pal_ICZ2).l,a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
-locret_5272E:
+AfterBoss_LBZ:
rts
; ---------------------------------------------------------------------------
-PLC_52730: dc.w 6
+PLC_AfterMiniboss_AIZ:
+ dc.w 6
dc.l ArtNem_Monitors
dc.w tiles_to_bytes(ArtTile_Monitors)
dc.l ArtNem_AIZMisc2
@@ -101347,9 +101257,14 @@ PLC_52730: dc.w 6
dc.w $8AC0
dc.l ArtNem_AIZCorkFloor2
dc.w $8800
- dc.w 0,$EEE,$EC0,$E60,$C22, $EE, $88,$60A, $8E, $2E,$844, $20,$EAA,$A66,$ECC, $44
- dc.w 0,$EEE,$EC0,$E60,$C22, $EE, $88, $8E, $2C,$822, 0, $20,$CAA,$866,$644, $44
-PLC_MonitorsSpikesSprings:dc.w 1
+Pal_AfterMiniboss_AIZ:
+ binclude "Levels/AIZ/Palettes/Miniboss After.bin"
+ even
+Pal_AfterMiniboss_ICZ:
+ binclude "Levels/ICZ/Palettes/Miniboss After.bin"
+ even
+PLC_MonitorsSpikesSprings:
+ dc.w 1
dc.l ArtNem_Monitors
dc.w tiles_to_bytes(ArtTile_Monitors)
dc.l ArtNem_SpikesSprings
@@ -101357,19 +101272,21 @@ PLC_MonitorsSpikesSprings:dc.w 1
PLC_Monitors: dc.w 0
dc.l ArtNem_Monitors
dc.w tiles_to_bytes(ArtTile_Monitors)
+PLC_AnimalsAndExplosion:
dc.w 2
dc.l ArtNem_Explosion
- dc.w $B400
+ dc.w tiles_to_bytes(ArtTile_Explosion)
dc.l ArtNem_Squirrel
dc.w $B000
dc.l ArtNem_BlueFlicky
dc.w $B240
-PLC_BossExplosion:dc.w 0
+PLC_BossExplosion:
+ dc.w 0
dc.l ArtNem_BossExplosion
dc.w $A000
PLC_Explosion: dc.w 0
dc.l ArtNem_Explosion
- dc.w $B400
+ dc.w tiles_to_bytes(ArtTile_Explosion)
PLC_EggCapsule: dc.w 0
dc.l ArtNem_EggCapsule
dc.w $9280
@@ -101427,8 +101344,8 @@ Obj_NormalExpControl:
sub_52850:
- moveq #sfx_Explode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Explode),d0
+ jsr (Play_SFX).l
lea Child6_MakeBossExplosion1(pc),a2
jsr CreateChild1_Normal(pc)
bne.w locret_5293E
@@ -101481,20 +101398,21 @@ loc_528BA:
move.b (a1)+,5(a0)
rts
; ---------------------------------------------------------------------------
-CreateBossExpParameterIndex:dc.w CreateBossExp_00-CreateBossExpParameterIndex
- dc.w CreateBossExp_02-CreateBossExpParameterIndex
- dc.w CreateBossExp_04-CreateBossExpParameterIndex
- dc.w CreateBossExp_06-CreateBossExpParameterIndex
- dc.w CreateBossExp_08-CreateBossExpParameterIndex
- dc.w CreateBossExp_0A-CreateBossExpParameterIndex
- dc.w CreateBossExp_0C-CreateBossExpParameterIndex
-CreateBossExp_00:dc.b $20, $20, $20, 2
-CreateBossExp_02:dc.b $28, $80, $80, 2
-CreateBossExp_04:dc.b $80, $20, $20, 4
-CreateBossExp_06:dc.b 4, 8, 8, 2
-CreateBossExp_08:dc.b 8, $20, $20, 2
-CreateBossExp_0A:dc.b $20, $20, $20, 2
-CreateBossExp_0C:dc.b $40, $80, $20, 2
+CreateBossExpParameterIndex:
+ dc.w CreateBossExp00-CreateBossExpParameterIndex
+ dc.w CreateBossExp02-CreateBossExpParameterIndex
+ dc.w CreateBossExp04-CreateBossExpParameterIndex
+ dc.w CreateBossExp06-CreateBossExpParameterIndex
+ dc.w CreateBossExp08-CreateBossExpParameterIndex
+ dc.w CreateBossExp0A-CreateBossExpParameterIndex
+ dc.w CreateBossExp0C-CreateBossExpParameterIndex
+CreateBossExp00:dc.b $20, $20, $20, 2
+CreateBossExp02:dc.b $28, $80, $80, 2
+CreateBossExp04:dc.b $80, $20, $20, 4
+CreateBossExp06:dc.b 4, 8, 8, 2
+CreateBossExp08:dc.b 8, $20, $20, 2
+CreateBossExp0A:dc.b $20, $20, $20, 2
+CreateBossExp0C:dc.b $40, $80, $20, 2
; ---------------------------------------------------------------------------
Obj_BossExplosionSpecial:
@@ -101540,28 +101458,27 @@ loc_5296A:
jsr Animate_RawMultiDelay(pc)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-ObjDat_BossExplosion:dc.l Map_BossExplosion
+ObjDat_BossExplosion:
+ dc.l Map_BossExplosion
dc.w $8500
dc.w 0
dc.b $C
dc.b $C
dc.b 0
dc.b 0
-AniRaw_BossExplosion:dc.b 0, 0
- dc.b 0, 1
- dc.b 1, 1
- dc.b 2, 2
- dc.b 3, 3
- dc.b 4, 4
- dc.b 5, 4
- dc.b $F4, 0
-Child6_MakeBossExplosion1:dc.w 0
+AniRaw_BossExplosion:
+ dc.b 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 4, $F4
+ even
+Child6_MakeBossExplosion1:
+ dc.w 0
dc.l loc_52940
dc.w 0
-Child6_CreateBossExplosion:dc.w 0
+Child6_CreateBossExplosion:
+ dc.w 0
dc.l Obj_CreateBossExplosion
dc.w 0
-Child6_MakeNormalExplosion:dc.w 0
+Child6_MakeNormalExplosion:
+ dc.w 0
dc.l Obj_Explosion
dc.w 0
@@ -102562,14 +102479,14 @@ Obj_IncLevEndXGradual:
move.l d1,$30(a0)
swap d1
add.w d1,d0
- cmp.w (Target_camera_max_X_pos).w,d0
+ cmp.w (Camera_stored_max_X_pos).w,d0
bcc.s loc_531BC
move.w d0,(Camera_max_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_531BC:
- move.w (Target_camera_max_X_pos).w,(Camera_max_X_pos).w
+ move.w (Camera_stored_max_X_pos).w,(Camera_max_X_pos).w
loc_531C2:
jmp (Delete_Current_Sprite).l
@@ -102582,14 +102499,14 @@ Obj_DecLevStartXGradual:
move.l d1,$30(a0)
swap d1
sub.w d1,d0
- cmp.w (Target_camera_min_X_pos).w,d0
+ cmp.w (Camera_stored_min_X_pos).w,d0
ble.s loc_531EA
move.w d0,(Camera_min_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_531EA:
- move.w (Target_camera_min_X_pos).w,(Camera_min_X_pos).w
+ move.w (Camera_stored_min_X_pos).w,(Camera_min_X_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -102600,14 +102517,14 @@ Obj_DecLevStartYGradual:
move.l d1,$30(a0)
swap d1
sub.w d1,d0
- cmp.w (Target_camera_min_Y_pos).w,d0
+ cmp.w (Camera_stored_min_Y_pos).w,d0
ble.s loc_53218
move.w d0,(Camera_min_Y_pos).w
rts
; ---------------------------------------------------------------------------
loc_53218:
- move.w (Target_camera_min_Y_pos).w,(Camera_min_Y_pos).w
+ move.w (Camera_stored_min_Y_pos).w,(Camera_min_Y_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -102618,14 +102535,14 @@ Obj_IncLevEndYGradual:
move.l d1,$30(a0)
swap d1
add.w d1,d0
- cmp.w (Target_camera_max_Y_pos).w,d0
+ cmp.w (Camera_stored_max_Y_pos).w,d0
bgt.s loc_53246
move.w d0,(Camera_max_Y_pos).w
rts
; ---------------------------------------------------------------------------
loc_53246:
- move.w (Target_camera_max_Y_pos).w,(Camera_max_Y_pos).w
+ move.w (Camera_stored_max_Y_pos).w,(Camera_max_Y_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Child6_IncLevX: dc.w 0
@@ -102834,7 +102751,8 @@ MoveSprite_AtAngleLookup:
; End of function MoveSprite_AtAngleLookup
; ---------------------------------------------------------------------------
-AtAngle_LookupIndex:dc.w AtAngle_00_3F-AtAngle_LookupIndex
+AtAngle_LookupIndex:
+ dc.w AtAngle_00_3F-AtAngle_LookupIndex
dc.w AtAngle_40_7F-AtAngle_LookupIndex
dc.w AtAngle_80_BF-AtAngle_LookupIndex
dc.w AtAngle_C0_FF-AtAngle_LookupIndex
@@ -102941,7 +102859,8 @@ MoveSprite_AngleYLookup:
; End of function MoveSprite_AngleYLookup
; ---------------------------------------------------------------------------
-AngleY_LookupIndex:dc.w loc_534B4-AngleY_LookupIndex
+AngleY_LookupIndex:
+ dc.w loc_534B4-AngleY_LookupIndex
dc.w loc_534BC-AngleY_LookupIndex
dc.w loc_534C6-AngleY_LookupIndex
dc.w loc_534D0-AngleY_LookupIndex
@@ -102986,7 +102905,8 @@ MoveSprite_AngleXLookupOffset:
; End of function MoveSprite_AngleXLookupOffset
; ---------------------------------------------------------------------------
-AngleX_LookupIndex:dc.w loc_534F6-AngleX_LookupIndex
+AngleX_LookupIndex:
+ dc.w loc_534F6-AngleX_LookupIndex
dc.w loc_534FE-AngleX_LookupIndex
dc.w loc_5350A-AngleX_LookupIndex
dc.w loc_5351A-AngleX_LookupIndex
@@ -103240,7 +103160,7 @@ locret_53702:
Sprite_CheckDelete:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_5371C
@@ -103261,7 +103181,7 @@ loc_53728:
Sprite_CheckDelete2:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_5374E
@@ -103280,7 +103200,7 @@ loc_5375A:
rts
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_5371C
@@ -103289,7 +103209,7 @@ loc_5375A:
Sprite_CheckDeleteXY:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite
@@ -103304,7 +103224,7 @@ Sprite_CheckDeleteXY:
Obj_FlickerMove:
jsr (MoveSprite).l
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite
@@ -103320,7 +103240,7 @@ Obj_FlickerMove:
Sprite_CheckDeleteTouch:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_5371C
@@ -103330,7 +103250,7 @@ Sprite_CheckDeleteTouch:
Sprite_CheckDeleteTouch2:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_5374E
@@ -103338,7 +103258,7 @@ Sprite_CheckDeleteTouch2:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_5371C
@@ -103347,7 +103267,7 @@ Sprite_CheckDeleteTouch2:
Sprite_CheckDeleteTouchXY:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite
@@ -103362,7 +103282,7 @@ Sprite_CheckDeleteTouchXY:
Sprite_CheckDeleteSlotted:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s Go_Delete_SpriteSlotted
@@ -103391,7 +103311,7 @@ Remove_From_TrackingSlot:
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s Go_Delete_SpriteSlotted
@@ -103402,7 +103322,7 @@ Sprite_CheckDeleteTouchSlotted:
tst.b $2A(a0)
bmi.s Go_Delete_SpriteSlotted3
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s Go_Delete_SpriteSlotted
@@ -103417,7 +103337,7 @@ Go_Delete_SpriteSlotted3:
tst.b $2A(a0)
bmi.s Go_Delete_SpriteSlotted3
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_SpriteSlotted
@@ -103425,14 +103345,14 @@ Go_Delete_SpriteSlotted3:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite
@@ -103440,14 +103360,14 @@ Go_Delete_SpriteSlotted3:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite_2
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite_2
@@ -103455,14 +103375,14 @@ Go_Delete_SpriteSlotted3:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_SpriteSlotted2
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_SpriteSlotted2
@@ -103471,7 +103391,7 @@ Go_Delete_SpriteSlotted3:
loc_539C4:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite_2
@@ -103517,7 +103437,8 @@ locret_53A1C:
; End of function Set_IndexedVelocity
; ---------------------------------------------------------------------------
-Obj_VelocityIndex:dc.w $FF00, $FF00
+Obj_VelocityIndex:
+ dc.w $FF00, $FF00
dc.w $100, $FF00
dc.w $FE00, $FE00
dc.w $200, $FE00
@@ -103554,7 +103475,7 @@ Find_SonicTails8Way:
divu.w d2,d3
tst.w d0
beq.s loc_53A9C
- cmpi.w #-$8000,d2
+ cmpi.w #$8000,d2
bcs.s loc_53AEC
tst.w d0
beq.s loc_53AE8
@@ -103562,7 +103483,7 @@ Find_SonicTails8Way:
; ---------------------------------------------------------------------------
loc_53A9C:
- cmpi.w #-$8000,d2
+ cmpi.w #$8000,d2
bcs.s loc_53AFC
tst.w d1
bne.s loc_53AF8
@@ -103575,7 +103496,7 @@ loc_53AAA:
divu.w d3,d2
tst.w d1
bne.s loc_53AC2
- cmpi.w #-$8000,d2
+ cmpi.w #$8000,d2
bcs.s loc_53AE4
tst.w d0
bne.s loc_53AE8
@@ -103583,7 +103504,7 @@ loc_53AAA:
; ---------------------------------------------------------------------------
loc_53AC2:
- cmpi.w #-$8000,d2
+ cmpi.w #$8000,d2
bcs.s loc_53AF4
tst.w d0
bne.s loc_53AF0
@@ -103905,17 +103826,12 @@ MoveSlowFall_AnimateRaw:
; ---------------------------------------------------------------------------
jsr Swing_UpAndDown(pc)
-; =============== S U B R O U T I N E =======================================
-
-
Move_AnimateRaw_Wait:
jsr (MoveSprite2).l
loc_53CD6:
jsr Animate_Raw(pc)
jmp Obj_Wait(pc)
-; End of function Move_AnimateRaw_Wait
-
; ---------------------------------------------------------------------------
Refresh_ChildPosWait:
@@ -103997,7 +103913,7 @@ loc_53D88:
move.w word_53DE8(pc,d0.w),d0
cmpi.w #$20,(Chain_bonus_counter).w
bcs.s loc_53DA2
- move.w #$3E8,d0
+ move.w #1000,d0
move.w #$A,$3E(a0)
loc_53DA2:
@@ -104023,10 +103939,10 @@ loc_53DDC:
subi.w #$100,$1A(a0)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-word_53DE8: dc.w $A
- dc.w $14
- dc.w $32
- dc.w $64
+word_53DE8: dc.w 10
+ dc.w 20
+ dc.w 50
+ dc.w 100
; =============== S U B R O U T I N E =======================================
@@ -104374,48 +104290,48 @@ Map_Offscreen: dc.w 0
Obj_Song_Fade_ToLevelMusic:
move.w #$78,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.l #loc_54048,(a0)
loc_54048:
subq.w #1,$2E(a0)
bpl.w locret_529CE
- bsr.w Obj_PlayLevelMusic
+ bsr.w Restore_LevelMusic
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Obj_Song_Fade_Transition:
move.w #$78,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.l #loc_5406E,(a0)
loc_5406E:
subq.w #1,$2E(a0)
bpl.w locret_529CE
move.b $2C(a0),d0
- jsr (Play_Sound).l
+ jsr (Play_Music).l
jmp (Delete_Current_Sprite).l
; =============== S U B R O U T I N E =======================================
-Obj_PlayLevelMusic:
+Restore_LevelMusic:
moveq #0,d0
lea (Apparent_zone_and_act).w,a1
move.b (a1)+,d0
add.b d0,d0
add.b (a1),d0
move.b PlayLevelMusic_Playlist(pc,d0.w),d0
- move.w d0,(Level_music).w
+ move.w d0,(Current_music).w
btst #1,(Player_1+status_secondary).w
beq.s loc_540A4
- moveq #mus_Invincibility,d0
+ moveq #signextendB(mus_Invincibility),d0
loc_540A4:
- jmp (Play_Sound).l
-; End of function Obj_PlayLevelMusic
+ jmp (Play_Music).l
+; End of function Restore_LevelMusic
; ---------------------------------------------------------------------------
PlayLevelMusic_Playlist:
@@ -104453,13 +104369,14 @@ Obj_EndSignControl:
bset #4,$38(a0)
move.w #$7F,$2E(a0)
move.l #Obj_EndSignControlDoSign,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
rts
; End of function Obj_EndSignControl
; ---------------------------------------------------------------------------
-PLC_EndSignStuff:dc.w 1
+PLC_EndSignStuff:
+ dc.w 1
dc.l ArtNem_SignpostStub
dc.w $D3C0
dc.l ArtNem_Monitors
@@ -104474,7 +104391,7 @@ Obj_EndSignControlWait:
Obj_EndSignControlDoSign:
move.l #Obj_EndSignControlAwaitStart,(a0)
clr.b (Boss_flag).w
- jsr Obj_PlayLevelMusic(pc)
+ jsr Restore_LevelMusic(pc)
lea Child6_EndSign(pc),a2
jsr CreateChild6_Simple(pc)
lea PLC_EndSignStuff(pc),a1
@@ -104551,7 +104468,7 @@ loc_541C8:
subq.w #1,$2E(a0)
bpl.s loc_541E6
move.b $26(a0),d0
- jsr (Play_Sound).l
+ jsr (Play_Music).l
bset #0,$38(a0)
loc_541E6:
@@ -104592,11 +104509,11 @@ Change_Act2Sizes:
lsl.w #4,d0
lea (LevelSizes).l,a1
lea 8(a1,d0.w),a1
- move.w (a1)+,(Target_camera_min_X_pos).w
- move.w (a1)+,(Target_camera_max_X_pos).w
- move.w (a1)+,(Target_camera_min_Y_pos).w
+ move.w (a1)+,(Camera_stored_min_X_pos).w
+ move.w (a1)+,(Camera_stored_max_X_pos).w
+ move.w (a1)+,(Camera_stored_min_Y_pos).w
move.w (a1)+,d1
- move.w d1,(Target_camera_max_Y_pos).w
+ move.w d1,(Camera_stored_max_Y_pos).w
move.w d1,(Camera_target_max_Y_pos).w
cmpi.b #$10,d0
beq.w locret_529CE
@@ -104612,7 +104529,8 @@ Make_LevelSizeObj:
; End of function Make_LevelSizeObj
; ---------------------------------------------------------------------------
-Child1_Act2LevelSize:dc.w 2
+Child1_Act2LevelSize:
+ dc.w 2
dc.l Obj_IncLevEndXGradual
dc.w 0
dc.l Obj_DecLevStartYGradual
@@ -104636,12 +104554,12 @@ StartNewLevel:
; =============== S U B R O U T I N E =======================================
-sub_542A6:
+Play_SFX_Continuous:
move.b (V_int_run_count+3).w,d1
andi.b #$F,d1
bne.w locret_529CE
- jmp (Play_Sound_2).l
-; End of function sub_542A6
+ jmp (Play_SFX).l
+; End of function Play_SFX_Continuous
; ---------------------------------------------------------------------------
@@ -104764,7 +104682,7 @@ sub_5439C:
move.w (Player_mode).w,d0
cmpi.w #2,d0
beq.s loc_543B2
- cmpi.w #7,(Emerald_count).w
+ cmpi.w #7,(Chaos_emerald_count).w
beq.s loc_543B6
moveq #0,d0
rts
@@ -104884,7 +104802,7 @@ AddRings:
lea (Update_HUD_ring_count).w,a3
lea (Extra_life_flags).w,a4
lea (Total_ring_count).w,a5
- move.w #$3E7,d1
+ move.w #999,d1
add.w d0,(a5)
cmp.w (a5),d1
bcc.s loc_544A0
@@ -104898,29 +104816,29 @@ loc_544A0:
loc_544A8:
ori.b #1,(a3)
- cmpi.w #$64,(a2)
+ cmpi.w #100,(a2)
bcs.s loc_544C4
bset #1,(a4)
beq.s loc_544CC
- cmpi.w #$C8,(a2)
+ cmpi.w #200,(a2)
bcs.s loc_544C4
bset #2,(a4)
beq.s loc_544CC
loc_544C4:
- moveq #sfx_RingRight,d0
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_RingRight),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_544CC:
addq.w #1,(Monitors_broken).w
addq.b #1,(Life_count).w
addq.b #1,(Update_HUD_life_count).w
- moveq #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_ExtraLife),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
-Obj_81:
+Obj_EggCapsule:
moveq #0,d0
move.b 5(a0),d0
move.w off_54504(pc,d0.w),d1
@@ -105351,7 +105269,7 @@ locret_5491A:
Set_PlayerEndingPose:
- move.b #-$7F,$2E(a1)
+ move.b #$81,$2E(a1)
move.b #$13,$20(a1)
clr.b $3D(a1)
clr.w $18(a1)
@@ -105545,18 +105463,22 @@ word_54AA0: dc.w $200
dc.b 4
dc.b 6
dc.b 0
-ChildObjDat_54AA6:dc.w 0
+ChildObjDat_54AA6:
+ dc.w 0
dc.l loc_54672
dc.w $D8
-ChildObjDat_54AAE:dc.w 0
+ChildObjDat_54AAE:
+ dc.w 0
dc.l loc_546AE
dc.w $28
-ChildObjDat_54AB6:dc.w 1
+ChildObjDat_54AB6:
+ dc.w 1
dc.l loc_54758
dc.w $ECDC
dc.l loc_54758
dc.w $14DC
-ChildObjDat_54AC4:dc.w 4
+ChildObjDat_54AC4:
+ dc.w 4
dc.l loc_5472C
dc.w $F8
dc.l loc_5472C
@@ -105567,7 +105489,8 @@ ChildObjDat_54AC4:dc.w 4
dc.w $E8F8
dc.l loc_5472C
dc.w $18F8
-ChildObjDat_54AE4:dc.w 8
+ChildObjDat_54AE4:
+ dc.w 8
dc.l loc_54776
dc.w $FC
dc.l loc_54776
@@ -105618,7 +105541,7 @@ loc_54B5A:
jmp (Sprite_CheckDeleteTouchXY).l
; ---------------------------------------------------------------------------
-Obj_Tulipon:
+Obj_Bloominator:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
@@ -105663,8 +105586,8 @@ loc_54BC2:
bne.s locret_54B9C
loc_54BD4:
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_54C26(pc),a2
jsr CreateChild2_Complex(pc)
bne.s locret_54BF6
@@ -105683,21 +105606,22 @@ loc_54BF8:
move.l #loc_54BAA,$34(a0)
rts
; ---------------------------------------------------------------------------
-ObjDat3_54C0E: dc.l Map_Tulipon
+ObjDat3_54C0E: dc.l Map_Bloominator
dc.w $252A
dc.w $200
dc.b $C
dc.b $18
dc.b 0
dc.b $23
-ObjDat3_54C1A: dc.l Map_Tulipon
+ObjDat3_54C1A: dc.l Map_Bloominator
dc.w $252A
dc.w $280
dc.b 8
dc.b 8
dc.b 4
dc.b $98
-ChildObjDat_54C26:dc.w 0
+ChildObjDat_54C26:
+ dc.w 0
dc.l loc_54B46
dc.l ObjDat3_54C1A
dc.l 0
@@ -105718,13 +105642,13 @@ byte_54C3E: dc.b 0, 7
dc.b $F4, 0
; ---------------------------------------------------------------------------
-Obj_RhinoBot:
+Obj_Rhinobot:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
move.w off_54C72(pc,d0.w),d1
jsr off_54C72(pc,d1.w)
- lea DPLCPtr_54F2E(pc),a2
+ lea DPLCPtr_AIZRhinobot(pc),a2
jsr Perform_DPLC(pc)
jmp Sprite_CheckDeleteTouchSlotted(pc)
; ---------------------------------------------------------------------------
@@ -105785,7 +105709,7 @@ loc_54CF8:
move.b 5(a0),d0
move.w off_54D1E(pc,d0.w),d1
jsr off_54D1E(pc,d1.w)
- lea DPLCPtr_54F2E(pc),a2
+ lea DPLCPtr_AIZRhinobot(pc),a2
jsr Perform_DPLC(pc)
jmp Child_Remember_Draw_Sprite(pc)
; ---------------------------------------------------------------------------
@@ -105840,8 +105764,8 @@ loc_54D8E:
move.w #$20,$2E(a0)
move.l #loc_54DCA,$34(a0)
bset #1,$38(a0)
- moveq #sfx_Blast,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Blast),d0
+ jsr (Play_SFX).l
lea ChildObjDat_54F26(pc),a2
jsr CreateChild1_Normal(pc)
bne.s locret_54DC8
@@ -105940,8 +105864,8 @@ loc_54E7A:
loc_54E80:
move.b d1,$22(a0)
- moveq #sfx_Blast,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Blast),d0
+ jsr (Play_SFX).l
lea ChildObjDat_54F1E(pc),a2
jsr CreateChild1_Normal(pc)
bne.s locret_54E9E
@@ -106012,7 +105936,7 @@ ObjDat4_54EFA: dc.w 1
dc.w $2500
dc.w $15
dc.w 0
- dc.l Map_RhinoBot
+ dc.l Map_Rhinobot
dc.w $280
dc.b $14
dc.b $10
@@ -106022,20 +105946,23 @@ ObjDat4_54F0C: dc.w 1
dc.w $44A
dc.w 6
dc.w 2
- dc.l Map_RhinoBot
+ dc.l Map_Rhinobot
dc.w $200
dc.b $C
dc.b 8
dc.b 4
dc.b 0
-ChildObjDat_54F1E:dc.w 0
+ChildObjDat_54F1E:
+ dc.w 0
dc.l loc_54CF8
dc.w $C08
-ChildObjDat_54F26:dc.w 0
+ChildObjDat_54F26:
+ dc.w 0
dc.l loc_54CF8
dc.w $1008
-DPLCPtr_54F2E: dc.l ArtUnc_AIZRhino
- dc.l DPLC_RhinoBot
+DPLCPtr_AIZRhinobot:
+ dc.l ArtUnc_AIZRhinobot
+ dc.l DPLC_Rhinobot
byte_54F36: dc.b 2, 4
dc.b 4, 5
dc.b 6, 7
@@ -106204,7 +106131,7 @@ loc_550EA:
btst #3,$38(a0)
beq.s loc_55104
addq.b #4,d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bcc.s loc_55112
move.b d0,$3C(a0)
rts
@@ -106212,7 +106139,7 @@ loc_550EA:
loc_55104:
subq.b #4,d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bls.s loc_55112
move.b d0,$3C(a0)
rts
@@ -106247,7 +106174,7 @@ loc_5512C:
loc_5514A:
move.b $41(a0),d1
bsr.w sub_5533C
- subi.b #-$80,d0
+ subi.b #$80,d0
cmpi.b #$60,d0
bcs.s loc_55168
@@ -106411,14 +106338,14 @@ loc_5527C:
move.b #8,$1E(a0)
move.w #-$200,$18(a0)
move.w #-$400,$1A(a0)
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_552B2:
jsr (MoveSprite_LightGravity).l
jsr Animate_RawMultiDelay(pc)
jsr ObjHitFloor_DoRoutine(pc)
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_552C6:
@@ -106427,7 +106354,7 @@ loc_552C6:
; ---------------------------------------------------------------------------
loc_552CE:
- jmp (loc_19CC4).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
movea.w $46(a0),a1
move.b 4(a1),d0
@@ -106587,8 +106514,8 @@ loc_553DC:
loc_55406:
bset #0,$38(a0)
move.b #4,$22(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
lea (ChildObjDat_55498).l,a2
jsr CreateChild2_Complex(pc)
bne.s locret_553DA
@@ -106643,9 +106570,11 @@ ObjDat3_55470: dc.l Map_MonkeyDude
dc.b $20
dc.b 6
dc.b $98
-ChildObjDat_5547C:dc.w 4
+ChildObjDat_5547C:
+ dc.w 4
dc.l loc_5504A
-ChildObjDat_55482:dc.w 4
+ChildObjDat_55482:
+ dc.w 4
dc.l loc_55044
dc.w 0
dc.l loc_5504A
@@ -106653,7 +106582,8 @@ ChildObjDat_55482:dc.w 4
dc.w 0
dc.l loc_5527C
dc.w 0
-ChildObjDat_55498:dc.w 0
+ChildObjDat_55498:
+ dc.w 0
dc.l loc_54B46
dc.l ObjDat3_55470
dc.w 0
@@ -106870,10 +106800,12 @@ word_5568E: dc.w $200
dc.b $10
dc.b 3
dc.b 0
-ChildObjDat_55694:dc.w 5
+ChildObjDat_55694:
+ dc.w 5
dc.l loc_55588
dc.w 0
-ChildObjDat_5569C:dc.w 0
+ChildObjDat_5569C:
+ dc.w 0
dc.l loc_55606
dc.w 0
byte_556A4: dc.b 3, 2
@@ -106978,8 +106910,8 @@ loc_55774:
bne.s locret_55772
tst.b 4(a0)
bpl.w locret_55772
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_557DE(pc),a2
jmp CreateChild5_ComplexAdjusted(pc)
; ---------------------------------------------------------------------------
@@ -107018,10 +106950,11 @@ ObjDat3_557D2: dc.l Map_Blastoid
dc.b 4
dc.b 2
dc.b $98
-ChildObjDat_557DE:dc.w 0
+ChildObjDat_557DE:
+ dc.w 0
dc.l loc_54B46
dc.l ObjDat3_557D2
- dc.l word_55805
+ dc.l byte_55805
dc.l Move_AnimateRaw
dc.b $EC
dc.b $F9
@@ -107035,9 +106968,9 @@ byte_557F6: dc.b 0, $7F
dc.b 1, 4
dc.b 0, $3F
dc.b $F4
-word_55805: dc.w 2
- dc.w $3FC
- dc.b 0
+byte_55805: dc.b 0, 2
+ dc.b 3, $FC
+ dc.b 0
; ---------------------------------------------------------------------------
Obj_Buggernaut:
@@ -107215,7 +107148,8 @@ word_55992: dc.w $280
dc.b $C
dc.b 3
dc.b 0
-ChildObjDat_55998:dc.w 0
+ChildObjDat_55998:
+ dc.w 0
dc.l Obj_Buggernaught_Baby
dc.w $2000
byte_559A0: dc.b 0, 0
@@ -107411,8 +107345,8 @@ loc_55B58:
loc_55B6C:
move.w d0,$18(a0)
move.w #-$400,$1A(a0)
- moveq #sfx_FloorLauncher,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorLauncher),d0
+ jsr (Play_SFX).l
lea ChildObjDat_55CD4(pc),a2
jsr CreateChild1_Normal(pc)
jmp Sprite_CheckDeleteTouchXY(pc)
@@ -107488,8 +107422,8 @@ loc_55C2E:
jsr SetUp_ObjAttributes2(pc)
move.l #loc_55C4C,(a0)
move.b $2C(a0),$2F(a0)
- moveq #sfx_Splash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Splash),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -107562,16 +107496,20 @@ ObjDat3_55CC0: dc.l Map_TurboSpikerHidden
dc.b $10
dc.b 0
dc.b 0
-ChildObjDat_55CCC:dc.w 0
+ChildObjDat_55CCC:
+ dc.w 0
dc.l loc_55B32
dc.w $400
-ChildObjDat_55CD4:dc.w 0
+ChildObjDat_55CD4:
+ dc.w 0
dc.l loc_55B94
dc.w $FC14
-ChildObjDat_55CDC:dc.w 0
+ChildObjDat_55CDC:
+ dc.w 0
dc.l loc_55C00
dc.w 4
-ChildObjDat_55CE4:dc.w 4
+ChildObjDat_55CE4:
+ dc.w 4
dc.l loc_55C2E
dc.w $4F8
dc.l loc_55C2E
@@ -107582,7 +107520,8 @@ ChildObjDat_55CE4:dc.w 4
dc.w $F800
dc.l loc_55C2E
dc.w $800
-ChildObjDat_55D04:dc.w 0
+ChildObjDat_55D04:
+ dc.w 0
dc.l loc_55C76
dc.w 0
byte_55D0C: dc.b 5, 0
@@ -107604,7 +107543,7 @@ Map_TurboSpikerHidden:
include "General/Sprites/Turbo Spiker/Map - Turbo Spiker Hidden.asm"
; ---------------------------------------------------------------------------
-Obj_MegaChomper:
+Obj_MegaChopper:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
@@ -107725,7 +107664,7 @@ loc_55E54:
btst #2,$38(a0)
beq.s loc_55E8C
move.w (Ctrl_1).w,d0
- andi.w #-$7374,d0
+ andi.w #$8C8C,d0
move.w d0,(Ctrl_1_logical).w
loc_55E8C:
@@ -107865,12 +107804,12 @@ sub_55FEA:
bne.s loc_56022
loc_5601C:
- ori.b #-$80,(Update_HUD_ring_count).w
+ ori.b #$80,(Update_HUD_ring_count).w
loc_56022:
move.w d0,(Ring_count).w
- moveq #sfx_RingRight,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_RingRight),d0
+ jsr (Play_SFX).l
loc_5602E:
moveq #0,d0
@@ -107880,7 +107819,7 @@ loc_5602E:
loc_56032:
bclr #7,$38(a0)
beq.s loc_5602E
- andi.b #-2,(Update_HUD_ring_count).w
+ andi.b #$FE,(Update_HUD_ring_count).w
moveq #0,d0
rts
; ---------------------------------------------------------------------------
@@ -107896,7 +107835,7 @@ loc_56044:
; End of function sub_55FEA
; ---------------------------------------------------------------------------
-ObjDat3_56058: dc.l Map_MegaChomper
+ObjDat3_56058: dc.l Map_MegaChopper
dc.w $254D
dc.w $280
dc.b $20
@@ -107951,7 +107890,7 @@ loc_560D2:
move.b #$A,$28(a0)
cmpi.b #2,$22(a0)
bne.s locret_560F8
- move.b #-$7A,$28(a0)
+ move.b #$86,$28(a0)
locret_560F8:
rts
@@ -107986,10 +107925,10 @@ Obj_BubblesBadnik:
move.b #$12,$28(a0)
cmpi.b #4,$22(a0)
bne.s loc_5614A
- move.b #-$7A,$28(a0)
+ move.b #$86,$28(a0)
loc_5614A:
- lea PLCPtr_56222(pc),a2
+ lea PLCPtr_BubblesBadnik(pc),a2
jsr Perform_DPLC(pc)
jmp Sprite_CheckDeleteTouchSlotted(pc)
; ---------------------------------------------------------------------------
@@ -108039,8 +107978,8 @@ loc_561D2:
beq.s loc_561E8
cmpi.b #4,$23(a0)
bne.s loc_561E8
- moveq #sfx_ChainTick,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ChainTick),d0
+ jsr (Play_SFX).l
loc_561E8:
jsr Swing_UpAndDown(pc)
@@ -108068,7 +108007,8 @@ ObjDat4_56210: dc.w 1
dc.b $18
dc.b 0
dc.b 0
-PLCPtr_56222: dc.l ArtUnc_BubblesBadnik
+PLCPtr_BubblesBadnik:
+ dc.l ArtUnc_BubblesBadnik
dc.l DPLC_BubblesBadnik
byte_5622A: dc.b 0, $F
dc.b 0, $77
@@ -108087,7 +108027,7 @@ byte_56239: dc.b 0, $7F
dc.b $FC
; ---------------------------------------------------------------------------
-Obj_MGZMiniBoss:
+Obj_Tunnelbot:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
@@ -108173,8 +108113,8 @@ loc_5632C:
add.w d0,$14(a0)
andi.b #7,d1
bne.s loc_56342
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
bsr.w sub_567FE
loc_56342:
@@ -108187,7 +108127,7 @@ loc_56346:
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
-Obj_9F_1:
+Obj_MGZMiniboss:
lea word_56388(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
@@ -108319,8 +108259,8 @@ loc_564E6:
add.w d0,$14(a0)
andi.b #7,d1
bne.s loc_564FC
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
bsr.w sub_567FE
loc_564FC:
@@ -108397,7 +108337,7 @@ loc_565B2:
loc_565C2:
move.l #loc_565D0,(a0)
- move.b #-$62,$28(a0)
+ move.b #$9E,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -108629,8 +108569,8 @@ sub_5682E:
tst.b $20(a0)
bne.s loc_56854
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_56854:
@@ -108665,7 +108605,7 @@ loc_56880:
word_568A2: dc.w Normal_palette_line_2+$18, Normal_palette_line_2+$1A, Normal_palette_line_2+$1C
word_568A8: dc.w $CAA, $866, $644
dc.w $EEE, $EEE, $EEE
-ObjDat3_568B4: dc.l Map_MGZMiniBoss
+ObjDat3_568B4: dc.l Map_MGZMiniboss
dc.w $254F
dc.w $280
dc.b $28
@@ -108698,15 +108638,18 @@ ObjDat3_568DE: dc.l Map_MGZMovingSpikePlatform
dc.b $30
dc.b 0
dc.b 0
-ChildObjDat_568EA:dc.w 1
+ChildObjDat_568EA:
+ dc.w 1
dc.l loc_565C2
dc.w $E4EA
dc.l loc_565C2
dc.w $1CEA
-ChildObjDat_568F8:dc.w 0
+ChildObjDat_568F8:
+ dc.w 0
dc.l loc_565EC
dc.w 0
-ChildObjDat_56900:dc.w 4
+ChildObjDat_56900:
+ dc.w 4
dc.l loc_56718
dc.w 0
dc.l loc_56718
@@ -108717,7 +108660,8 @@ ChildObjDat_56900:dc.w 4
dc.w $E4EA
dc.l loc_56718
dc.w $1CEA
-ChildObjDat_56920:dc.w 0
+ChildObjDat_56920:
+ dc.w 0
dc.l loc_56630
dc.w 0
dc.b 0, 5
@@ -108731,7 +108675,8 @@ byte_56931: dc.b 5, 4
byte_56937: dc.b 0, 0
dc.b 1, 2
dc.b $FC
-Map_MGZMinibossSpires:dc.w word_5693E-Map_MGZMinibossSpires
+Map_MGZMinibossSpires:
+ dc.w word_5693E-Map_MGZMinibossSpires
word_5693E: dc.w 1
dc.b $F0, 3, 0, 0, $FF, $FC
PLC_56946: dc.w 1
@@ -108916,8 +108861,8 @@ loc_56AC0:
beq.s locret_56AE4
cmpi.b #4,$22(a0)
bne.s locret_56AE4
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_56BF0(pc),a2
jsr CreateChild5_ComplexAdjusted(pc)
@@ -108973,7 +108918,7 @@ loc_56B52:
loc_56B56:
move.b #2,5(a0)
- move.b #-$36,$28(a0)
+ move.b #$CA,$28(a0)
rts
; =============== S U B R O U T I N E =======================================
@@ -108986,8 +108931,8 @@ sub_56B64:
move.b #2,5(a1)
clr.b $40(a1)
bclr #4,$2A(a1)
- moveq #sfx_Spring,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jsr (Play_SFX).l
rts
; End of function sub_56B64
@@ -109036,14 +108981,16 @@ ObjDat3_56BD0: dc.l Map_Spiker
dc.b 4
dc.b 5
dc.b $98
-ChildObjDat_56BDC:dc.w 2
+ChildObjDat_56BDC:
+ dc.w 2
dc.l loc_56A3A
dc.w $F00C
dc.l loc_56A3A
dc.w $100C
dc.l loc_56AEE
dc.w $F4
-ChildObjDat_56BF0:dc.w 0
+ChildObjDat_56BF0:
+ dc.w 0
dc.l loc_54B46
dc.l ObjDat3_56BD0
dc.l byte_56C1A
@@ -109214,7 +109161,8 @@ word_56D54: dc.w $200
dc.b 4
dc.b 5
dc.b 0
-ChildObjDat_56D5A:dc.w 0
+ChildObjDat_56D5A:
+ dc.w 0
dc.l loc_56D0E
dc.w $F7F5
byte_56D62: dc.b 0, 0
@@ -109234,7 +109182,7 @@ Obj_Clamer:
move.b 5(a0),d0
move.w off_56D92(pc,d0.w),d1
jsr off_56D92(pc,d1.w)
- lea PLCPtr_56F1C(pc),a2
+ lea PLCPtr_Clamer(pc),a2
jsr Perform_DPLC(pc)
jmp Sprite_CheckDeleteTouchSlotted(pc)
; ---------------------------------------------------------------------------
@@ -109364,8 +109312,8 @@ loc_56EA6:
move.b #$10,$20(a1)
move.b #2,5(a1)
clr.b $40(a1)
- moveq #sfx_Spring,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jsr (Play_SFX).l
rts
; End of function sub_56E8C
@@ -109392,10 +109340,12 @@ ObjDat3_56EF0: dc.l Map_Clamer
dc.b 8
dc.b 9
dc.b $98
-ChildObjDat_56EFC:dc.w 0
+ChildObjDat_56EFC:
+ dc.w 0
dc.l loc_56E4A
dc.w $F8
-ChildObjDat_56F04:dc.w 0
+ChildObjDat_56F04:
+ dc.w 0
dc.l loc_54B46
dc.l ObjDat3_56EF0
dc.l 0
@@ -109404,7 +109354,7 @@ ChildObjDat_56F04:dc.w 0
dc.b 2
dc.w $FE00
dc.w 0
-PLCPtr_56F1C: dc.l ArtUnc_Clamer
+PLCPtr_Clamer: dc.l ArtUnc_Clamer
dc.l DPLC_Clamer
byte_56F24: dc.b 1, 1
dc.b 0, $5F
@@ -109429,7 +109379,7 @@ byte_56F39: dc.b 0, 2
dc.b $F4
; ---------------------------------------------------------------------------
-Obj_CNZBlastoid:
+Obj_Sparkle:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
@@ -109494,8 +109444,8 @@ loc_56FD8:
add.w d0,$14(a0)
move.w #$20,$2E(a0)
move.l #loc_57002,$34(a0)
- moveq #sfx_Lightning,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Lightning),d0
+ jsr (Play_SFX).l
tst.b 4(a0)
bpl.w locret_56FA0
lea ChildObjDat_5710E(pc),a2
@@ -109609,7 +109559,7 @@ loc_570DC:
loc_570E8:
jmp (MoveSprite2).l
; ---------------------------------------------------------------------------
-ObjDat3_570EE: dc.l Map_CNZBlastoid
+ObjDat3_570EE: dc.l Map_Sparkle
dc.w $A524
dc.w $280
dc.b $C
@@ -109626,10 +109576,12 @@ word_57100: dc.w $280
dc.b 8
dc.b 6
dc.b $98
-ChildObjDat_57106:dc.w 0
+ChildObjDat_57106:
+ dc.w 0
dc.l loc_5700A
dc.w 0
-ChildObjDat_5710E:dc.w 1
+ChildObjDat_5710E:
+ dc.w 1
dc.l loc_57054
dc.w 0
byte_57116: dc.b 9, $10
@@ -109769,7 +109721,8 @@ word_5721A: dc.w $200
dc.b 4
dc.b 5
dc.b 0
-ChildObjDat_57220:dc.w 1
+ChildObjDat_57220:
+ dc.w 1
dc.l loc_5719C
dc.w $10
dc.l loc_571E2
@@ -110005,10 +109958,12 @@ ObjDat3_57456: dc.l Map_Blaster
dc.b 4
dc.b 7
dc.b 0
-ChildObjDat_57462:dc.w 0
+ChildObjDat_57462:
+ dc.w 0
dc.l loc_573EA
dc.w $E5EA
-ChildObjDat_5746A:dc.w 0
+ChildObjDat_5746A:
+ dc.w 0
dc.l loc_54B46
dc.l ObjDat3_5744A
dc.l byte_574AD
@@ -110017,7 +109972,8 @@ ChildObjDat_5746A:dc.w 0
dc.b $E0
dc.w $FE00
dc.w $FC00
-ChildObjDat_57482:dc.w 0
+ChildObjDat_57482:
+ dc.w 0
dc.l loc_54B46
dc.l ObjDat3_57456
dc.l byte_574B1
@@ -110269,7 +110225,8 @@ word_5770A: dc.w $280
dc.b 4
dc.b 2
dc.b 0
-ChildObjDat_57710:dc.w 0
+ChildObjDat_57710:
+ dc.w 0
dc.l loc_5764C
dc.w $1404
byte_57718: dc.b 0, 0
@@ -110704,8 +110661,8 @@ loc_57AF8:
lea ChildObjDat_57C3A(pc),a2
jsr CreateChild6_Simple(pc)
jsr Go_Delete_Sprite(pc)
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
word_57B12: dc.w $FFD0, $60, $FFC0, $80
@@ -110728,7 +110685,7 @@ loc_57B40:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Obj_BB_1:
+Obj_ICZIceBlock:
jsr (Obj_WaitOffscreen).l
lea ObjDat3_57BF8(pc),a1
jsr SetUp_ObjAttributes(pc)
@@ -110872,11 +110829,14 @@ ObjDat3_57C28: dc.l Map_ICZPlatforms
dc.b $C
dc.b $1C
dc.b 0
-ChildObjDat_57C34:dc.w 5
+ChildObjDat_57C34:
+ dc.w 5
dc.l loc_579FA
-ChildObjDat_57C3A:dc.w 8
+ChildObjDat_57C3A:
+ dc.w 8
dc.l loc_57A32
-ChildObjDat_57C40:dc.w 0
+ChildObjDat_57C40:
+ dc.w 0
dc.l loc_57B1A
dc.w $F010
byte_57C48: dc.b 2, $23
@@ -110993,8 +110953,8 @@ loc_57D38:
move.b #$10,5(a0)
move.w #$1F,$2E(a0)
move.l #loc_57D92,$34(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -111103,7 +111063,8 @@ word_57E2A: dc.w $280
dc.b $40
dc.b $D
dc.b 0
-ChildObjDat_57E30:dc.w 0
+ChildObjDat_57E30:
+ dc.w 0
dc.l loc_57DFC
dc.w 0
; ---------------------------------------------------------------------------
@@ -111124,8 +111085,8 @@ loc_57E4E:
clr.w $2E(a0)
clr.w $30(a0)
clr.b $39(a0)
- moveq #sfx_FrostPuff,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FrostPuff),d0
+ jsr (Play_SFX).l
loc_57E72:
jmp Sprite_CheckDeleteTouch(pc)
@@ -111160,8 +111121,8 @@ loc_57EBA:
loc_57EBE:
move.l #loc_57E4E,(a0)
bclr #1,$38(a0)
- moveq #mus_StopSFX,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(mus_StopSFX),d0
+ jsr (Play_SFX).l
jmp Sprite_CheckDeleteTouch(pc)
; ---------------------------------------------------------------------------
word_57ED6: dc.w $40
@@ -111564,22 +111525,28 @@ ObjDat3_5828C: dc.l Map_ICZPlatforms
dc.b 4
dc.b $C
dc.b 0
-ChildObjDat_58298:dc.w 0
+ChildObjDat_58298:
+ dc.w 0
dc.l loc_57F14
dc.w $C
-ChildObjDat_582A0:dc.w 0
+ChildObjDat_582A0:
+ dc.w 0
dc.l loc_57F14
dc.w $F4
-ChildObjDat_582A8:dc.w 0
+ChildObjDat_582A8:
+ dc.w 0
dc.l loc_57F40
dc.w $30
-ChildObjDat_582B0:dc.w 0
+ChildObjDat_582B0:
+ dc.w 0
dc.l loc_57F40
dc.w $D0
-ChildObjDat_582B8:dc.w 0
+ChildObjDat_582B8:
+ dc.w 0
dc.l loc_57FA6
dc.w 0
-ChildObjDat_582C0:dc.w $B
+ChildObjDat_582C0:
+ dc.w $B
dc.l loc_580B2
dc.w $F4F8
dc.l loc_580B2
@@ -111709,8 +111676,8 @@ loc_5840C:
move.l #loc_5836E,(a0)
bclr #0,$38(a0)
move.w #$10,(Screen_shake_flag).w
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
rts
; =============== S U B R O U T I N E =======================================
@@ -111750,8 +111717,8 @@ loc_58446:
jsr CreateChild1_Normal(pc)
jsr Displace_PlayerOffObject(pc)
jsr Go_Delete_Sprite(pc)
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
addq.w #4,sp
locret_58484:
@@ -111778,10 +111745,12 @@ word_584A6: dc.w $280
dc.b $10
dc.b $A
dc.b 0
-ChildObjDat_584AC:dc.w 2
+ChildObjDat_584AC:
+ dc.w 2
dc.l loc_58344
dc.w 0
-ChildObjDat_584B4:dc.w 3
+ChildObjDat_584B4:
+ dc.w 3
dc.l loc_58344
dc.w 0
; ---------------------------------------------------------------------------
@@ -112322,21 +112291,25 @@ word_58916: dc.w $300
dc.b 8
dc.b $27
dc.b 0
-ChildObjDat_5891C:dc.w 2
+ChildObjDat_5891C:
+ dc.w 2
dc.l loc_5865C
dc.w 8
dc.l loc_5868C
dc.w $1CF8
dc.l loc_586A2
dc.w 0
-ChildObjDat_58930:dc.w 7
+ChildObjDat_58930:
+ dc.w 7
dc.l loc_586F6
-ChildObjDat_58936:dc.w 1
+ChildObjDat_58936:
+ dc.w 1
dc.l Obj_ICZSnowdust
dc.w $1C10
dc.l Obj_ICZSnowdust
dc.w $1410
-ChildObjDat_58944:dc.w 0
+ChildObjDat_58944:
+ dc.w 0
dc.l Obj_ICZSnowdust
dc.w $1C10
; ---------------------------------------------------------------------------
@@ -112377,7 +112350,7 @@ loc_58998:
loc_589A4:
move.l #loc_589B2,(a0)
- move.b #-$7E,$28(a0)
+ move.b #$82,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -112390,8 +112363,8 @@ loc_589B2:
clr.b $28(a0)
lea ChildObjDat_58A4A(pc),a2
jsr CreateChild6_Simple(pc)
- moveq #sfx_FloorThump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorThump),d0
+ jsr (Play_SFX).l
loc_589DC:
jmp Sprite_CheckDeleteTouch(pc)
@@ -112444,7 +112417,8 @@ ObjDat3_58A3E: dc.l Map_ICZPlatforms
dc.b 4
dc.b $F
dc.b 0
-ChildObjDat_58A4A:dc.w $B
+ChildObjDat_58A4A:
+ dc.w $B
dc.l loc_589E8
dc.w $27
dc.b $F, $27
@@ -112470,7 +112444,7 @@ loc_58A80:
loc_58A84:
move.l #loc_58AA6,(a0)
- move.b #-$6E,$28(a0)
+ move.b #$92,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -112515,7 +112489,7 @@ locret_58AE6:
; ---------------------------------------------------------------------------
loc_58AE8:
- move.b #-$68,$28(a0)
+ move.b #$98,$28(a0)
jsr (Add_SpriteToCollisionResponseList).l
movea.w $46(a0),a1
btst #7,$2A(a1)
@@ -112529,10 +112503,12 @@ ObjDat3_58B08: dc.l Map_ICZWallAndColumn
dc.b $10
dc.b 5
dc.b 0
-ChildObjDat_58B14:dc.w 0
+ChildObjDat_58B14:
+ dc.w 0
dc.l loc_58AE8
dc.w $C
-ChildObjDat_58B1C:dc.w 0
+ChildObjDat_58B1C:
+ dc.w 0
dc.l loc_58AE8
dc.w $F4
; ---------------------------------------------------------------------------
@@ -112585,8 +112561,8 @@ loc_58B8A:
move.b #2,5(a1)
lea ChildObjDat_58C20(pc),a2
jsr CreateChild1_Normal(pc)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
jsr (Go_Delete_Sprite).l
locret_58BD0:
@@ -112624,7 +112600,8 @@ word_58C18: dc.w $C3B6
dc.b $20
dc.b $12
dc.b 0
-ChildObjDat_58C20:dc.w $B
+ChildObjDat_58C20:
+ dc.w $B
dc.l loc_58BD2
dc.w $F8
dc.l loc_58BD2
@@ -112681,8 +112658,8 @@ loc_58C98:
lea ChildObjDat_58CE2(pc),a2
jsr CreateChild6_Simple(pc)
jsr Go_Delete_Sprite(pc)
- moveq #sfx_IceSpikes,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_IceSpikes),d0
+ jsr (Play_SFX).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
word_58CC4: dc.w Player_1
@@ -112702,11 +112679,12 @@ ObjDat3_58CD6: dc.l Map_ICZPlatforms
dc.b $10
dc.b 4
dc.b $D7
-ChildObjDat_58CE2:dc.w $B
+ChildObjDat_58CE2:
+ dc.w $B
dc.l loc_589E8
; ---------------------------------------------------------------------------
-Obj_ICZ_SnowPile:
+Obj_ICZSnowPile:
jsr Obj_WaitOffscreen(pc)
moveq #0,d0
move.b $2C(a0),d0
@@ -113017,7 +112995,8 @@ word_58FDC: dc.w $43B6
dc.b 8
dc.b 9
dc.b 0
-ChildObjDat_58FE4:dc.w 5
+ChildObjDat_58FE4:
+ dc.w 5
dc.l loc_58F00
dc.w $F8F8
dc.l loc_58F00
@@ -113030,12 +113009,14 @@ ChildObjDat_58FE4:dc.w 5
dc.w $800
dc.l loc_58F00
dc.w $1800
-ChildObjDat_5900A:dc.w 1
+ChildObjDat_5900A:
+ dc.w 1
dc.l loc_58F00
dc.w $F8
dc.l loc_58F00
dc.w 8
-ChildObjDat_59018:dc.w 3
+ChildObjDat_59018:
+ dc.w 3
dc.l loc_58F00
dc.w $F8F8
dc.l loc_58F00
@@ -113046,7 +113027,7 @@ ChildObjDat_59018:dc.w 3
dc.w $808
; ---------------------------------------------------------------------------
-Obj_ICZ_TensionPlatform:
+Obj_ICZTensionPlatform:
lea ObjDat3_59254(pc),a1
jsr SetUp_ObjAttributes(pc)
move.l #loc_5904E,(a0)
@@ -113330,7 +113311,8 @@ word_59260: dc.w $43B6
dc.b $40
dc.b 8
dc.b 0
-ChildObjDat_59268:dc.w 1
+ChildObjDat_59268:
+ dc.w 1
dc.l loc_5905A
dc.w $C800
dc.l loc_5905A
@@ -113343,7 +113325,7 @@ Obj_Penguinator:
move.b 5(a0),d0
move.w off_59296(pc,d0.w),d1
jsr off_59296(pc,d1.w)
- lea DPLCPtr_5959A(pc),a2
+ lea DPLCPtr_Penguinator(pc),a2
jsr Perform_DPLC(pc)
jmp Sprite_CheckDeleteTouchSlotted(pc)
; ---------------------------------------------------------------------------
@@ -113620,8 +113602,8 @@ sub_5955A:
move.w $2E(a0),d0
andi.w #3,d0
bne.s locret_59502
- moveq #sfx_SlideSkidQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SlideSkidQuiet),d0
+ jsr (Play_SFX).l
lea ChildObjDat_59592(pc),a2
jmp CreateChild1_Normal(pc)
; End of function sub_5955A
@@ -113644,10 +113626,12 @@ ObjDat3_59586: dc.l Map_ICZSnowdust
dc.b $18
dc.b 0
dc.b 0
-ChildObjDat_59592:dc.w 0
+ChildObjDat_59592:
+ dc.w 0
dc.l Obj_ICZSnowdust
dc.w $C
-DPLCPtr_5959A: dc.l ArtUnc_Penguinator
+DPLCPtr_Penguinator:
+ dc.l ArtUnc_Penguinator
dc.l DPLC_Penguinator
byte_595A2: dc.b 7, $10
dc.b 0, 1
@@ -113812,7 +113796,8 @@ word_59732: dc.w $280
dc.b 8
dc.b 1
dc.b $8B
-ChildObjDat_59738:dc.w 3
+ChildObjDat_59738:
+ dc.w 3
dc.l loc_59648
dc.w 0
byte_59740: dc.b 3, 1, 2, 3, $F4, 0
@@ -113969,7 +113954,7 @@ off_598CC: dc.w loc_598D2-off_598CC
; ---------------------------------------------------------------------------
loc_598D2:
- lea word_59A04(pc),a1
+ lea word_59A14(pc),a1
jmp SetUp_ObjAttributes3(pc)
; ---------------------------------------------------------------------------
@@ -114009,7 +113994,7 @@ off_59928: dc.w loc_59930-off_59928
; ---------------------------------------------------------------------------
loc_59930:
- lea word_59A0A(pc),a1
+ lea word_59A1A(pc),a1
jmp SetUp_ObjAttributes3(pc)
; ---------------------------------------------------------------------------
@@ -114041,8 +114026,8 @@ loc_5996C:
bne.s locret_599AE
tst.b 4(a0)
bpl.s locret_599AE
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_59A30(pc),a2
jsr CreateChild2_Complex(pc)
movea.w $46(a0),a2
@@ -114106,12 +114091,12 @@ ObjDat3_599F8: dc.l Map_SnaleBlaster
dc.b $10
dc.b 0
dc.b $B
-word_59A04: dc.w $180
+word_59A14: dc.w $180
dc.b 4
dc.b $C
dc.b 5
dc.b 0
-word_59A0A: dc.w $200
+word_59A1A: dc.w $200
dc.b 4
dc.b 4
dc.b 7
@@ -114130,7 +114115,8 @@ word_59A1C: dc.w 2
dc.w $F807
dc.l loc_598B6
dc.w $F804
-ChildObjDat_59A30:dc.w 0
+ChildObjDat_59A30:
+ dc.w 0
dc.l loc_54B46
dc.l ObjDat3_59A10
dc.l 0
@@ -114517,29 +114503,36 @@ word_59D5C: dc.w $200
dc.b 4
dc.b 6
dc.b 0
-ChildObjDat_59D62:dc.w 1
+ChildObjDat_59D62:
+ dc.w 1
dc.l loc_59AFA
dc.w $F40C
dc.l loc_59AFA
dc.w $C0C
-ChildObjDat_59D70:dc.w 1
+ChildObjDat_59D70:
+ dc.w 1
dc.l loc_59AFA
dc.w $E800
dc.l loc_59AFA
dc.w $1800
-ChildObjDat_59D7E:dc.w 0
+ChildObjDat_59D7E:
+ dc.w 0
dc.l loc_59AFA
dc.w $F0
-ChildObjDat_59D86:dc.w 2
+ChildObjDat_59D86:
+ dc.w 2
dc.l loc_59C8A
dc.w $F4
-ChildObjDat_59D8E:dc.w 2
+ChildObjDat_59D8E:
+ dc.w 2
dc.l loc_59C8A
dc.w $C00
-ChildObjDat_59D96:dc.w 2
+ChildObjDat_59D96:
+ dc.w 2
dc.l loc_59C8A
dc.w $F400
-ChildObjDat_59D9E:dc.w 2
+ChildObjDat_59D9E:
+ dc.w 2
dc.l loc_59C8A
dc.w 0
byte_59DA6: dc.b 7
@@ -114653,7 +114646,8 @@ word_59E7A: dc.w $280
dc.b 8
dc.b 1
dc.b $8B
-ChildObjDat_59E80:dc.w 3
+ChildObjDat_59E80:
+ dc.w 3
dc.l loc_59E10
dc.w $10
dc.l loc_59E10
@@ -114843,8 +114837,8 @@ loc_5A03C:
jsr (SetUp_ObjAttributes2).l
move.l #loc_5A05C,(a0)
move.l #Go_Delete_Sprite,$34(a0)
- moveq #sfx_Lazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Laser),d0
+ jsr (Play_SFX).l
loc_5A05C:
addq.w #1,$3A(a0)
@@ -114869,16 +114863,20 @@ word_5A07A: dc.w $558
dc.b $50
dc.b 0
dc.b $A0
-ChildObjDat_5A082:dc.w 0
+ChildObjDat_5A082:
+ dc.w 0
dc.l loc_59F5A
dc.w $C
-ChildObjDat_5A08A:dc.w 0
+ChildObjDat_5A08A:
+ dc.w 0
dc.l loc_5A03C
dc.w $FC54
-ChildObjDat_5A092:dc.w 0
+ChildObjDat_5A092:
+ dc.w 0
dc.l loc_5A03C
dc.w $454
-ChildObjDat_5A09A:dc.w 0
+ChildObjDat_5A09A:
+ dc.w 0
dc.l loc_5A03C
dc.w $54
byte_5A0A2: dc.b 7
@@ -114945,7 +114943,7 @@ Obj_Flybot767:
move.b 5(a0),d0
move.w off_5A0FC(pc,d0.w),d1
jsr off_5A0FC(pc,d1.w)
- lea DPLCPtr_5A28C(pc),a2
+ lea DPLCPtr_Flybot767(pc),a2
jsr Perform_DPLC(pc)
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -115091,8 +115089,9 @@ ObjDat4_5A27A: dc.w 2
dc.b $10
dc.b 0
dc.b $1A
-DPLCPtr_5A28C: dc.l ArtUnc_Flybot
- dc.l DPLC_Flybot
+DPLCPtr_Flybot767:
+ dc.l ArtUnc_Flybot767
+ dc.l DPLC_Flybot767
byte_5A294: dc.b 4
dc.b 0
dc.b 1
@@ -115139,7 +115138,7 @@ byte_5A2B5: dc.b 3
dc.b 0
; ---------------------------------------------------------------------------
-Obj_C3_1:
+Obj_LBZ1Robotnik:
lea word_5A2F0(pc),a1
jsr Check_CameraInRange(pc)
moveq #0,d0
@@ -115246,7 +115245,7 @@ loc_5A3DE:
lea (ArtKosM_LBZMinibossBox).l,a1
move.w #-$7540,d2
jsr (Queue_Kos_Module).l
- move.w #$3EA0,(Target_camera_max_X_pos).w
+ move.w #$3EA0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -115336,14 +115335,14 @@ loc_5A4E4:
loc_5A4F8:
bset #3,$38(a0)
- moveq #sfx_BossActivate,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossActivate),d0
+ jsr (Play_SFX).l
lea ChildObjDat_5A810(pc),a2
jsr CreateChild1_Normal(pc)
jmp Go_Delete_Sprite_2(pc)
; ---------------------------------------------------------------------------
-Obj_C4_1:
+Obj_LBZMinibossBox:
tst.b (_unkFAAB).w
bne.s loc_5A572
move.l #loc_5A57A,(a0)
@@ -115589,8 +115588,8 @@ sub_5A7B4:
tst.b $20(a0)
bne.s loc_5A7D4
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_5A7D4:
@@ -115618,13 +115617,16 @@ ObjDat3_5A7F4: dc.l Map_LBZMinibossBox
dc.b $14
dc.b 0
dc.b 0
-ChildObjDat_5A800:dc.w 0
+ChildObjDat_5A800:
+ dc.w 0
dc.l loc_5A4AA
dc.w $34
-ChildObjDat_5A808:dc.w 9
+ChildObjDat_5A808:
+ dc.w 9
dc.l loc_5A5BC
dc.w 0
-ChildObjDat_5A810:dc.w 0
+ChildObjDat_5A810:
+ dc.w 0
dc.l Obj_LBZMiniboss
dc.w 0
byte_5A818: dc.b 0
@@ -115657,7 +115659,7 @@ byte_5A830: dc.b 0
dc.b $F4
; ---------------------------------------------------------------------------
-Obj_C6_1:
+Obj_LBZ2RobotnikShip:
move.w a0,(Events_bg+$00).w
lea ObjDat3_5AAEE(pc),a1
jsr (SetUp_ObjAttributes).l
@@ -115683,10 +115685,10 @@ loc_5A84E:
move.w #-$100,$1A(a0)
move.w #$3F,$2E(a0)
move.l #loc_5A8E6,$34(a0)
- moveq #sfx_Rising,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rising),d0
+ jsr (Play_SFX).l
st (Anim_Counters+$F).w
- move.w #$6000,(Target_camera_max_X_pos).w
+ move.w #$6000,(Camera_stored_max_X_pos).w
lea Child6_IncLevX(pc),a2
jsr CreateChild6_Simple(pc)
lea (Child1_MakeRoboShipFlame).l,a2
@@ -115759,8 +115761,8 @@ loc_5A990:
move.l #loc_5A9AC,(a0)
move.w #-$200,$18(a0)
move.w #-$200,$1A(a0)
- moveq #sfx_Thump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Thump),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -115815,7 +115817,7 @@ loc_5AA18:
clr.b $40(a1)
jsr (Create_New_Sprite).l
bne.s loc_5AA78
- move.l #Obj_LBZ_FinalBoss1,(a1)
+ move.l #Obj_LBZFinalBoss1,(a1)
move.w #$44A0,$10(a1)
move.w #$780,$14(a1)
@@ -115887,7 +115889,7 @@ ObjDat3_5AAEE: dc.l Map_RobotnikShip
dc.b $A
dc.b $CA
dc.w 0
- dc.l Obj_C6_1
+ dc.l Obj_LBZ2RobotnikShip
dc.w 0
dc.b 0
dc.b 5
@@ -115909,8 +115911,8 @@ LevelLoadBlock: levartptrs $B, $B, $A, AIZ1_8x8_Primary_KosM, AIZ1_8x8_Second
levartptrs $14, $14, $F, MGZ_8x8_Primary_KosM, MGZ2_8x8_Secondary_KosM, MGZ_16x16_Primary_Kos, MGZ2_16x16_Secondary_Kos, MGZ_128x128_Primary_Kos, MGZ2_128x128_Secondary_Kos
levartptrs $16, $17, $10, CNZ_8x8_KosM, CNZ_8x8_KosM, CNZ_16x16_Kos, CNZ_16x16_Kos, CNZ_128x128_Kos, CNZ_128x128_Kos
levartptrs $18, $19, $11, CNZ_8x8_KosM, CNZ_8x8_KosM, CNZ_16x16_Kos, CNZ_16x16_Kos, CNZ_128x128_Kos, CNZ_128x128_Kos
- levartptrs $1A, $1A, $12, ArtKosM_FBZ, ArtKosM_FBZ, FBZ_16x16_Kos, FBZ_16x16_Kos, FBZ_128x128_Kos, FBZ_128x128_Kos
- levartptrs $1C, $1C, $13, ArtKosM_FBZ, ArtKosM_FBZ, FBZ_16x16_Kos, FBZ_16x16_Kos, FBZ_128x128_Kos, FBZ_128x128_Kos
+ levartptrs $1A, $1A, $12, FBZ1_8x8_KosM, FBZ1_8x8_KosM, FBZ1_16x16_Kos, FBZ1_16x16_Kos, FBZ1_128x128_Kos, FBZ1_128x128_Kos
+ levartptrs $1C, $1C, $13, FBZ2_8x8_KosM, FBZ2_8x8_KosM, FBZ2_16x16_Kos, FBZ2_16x16_Kos, FBZ2_128x128_Kos, FBZ2_128x128_Kos
levartptrs $1E, $1E, $14, ICZ_8x8_Primary_KosM, ICZ1_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ1_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ1_128x128_Secondary_Kos
levartptrs $20, $20, $15, ICZ_8x8_Primary_KosM, ICZ2_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ2_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ2_128x128_Secondary_Kos
levartptrs $22, $22, $16, LBZ_8x8_Primary_KosM, LBZ1_8x8_Secondary_KosM, LBZ_16x16_Primary_Kos, LBZ1_16x16_Secondary_Kos, LBZ1_128x128_Kos, LBZ1_128x128_Kos
@@ -116077,7 +116079,7 @@ Offs_PLC: dc.w PLC_00-Offs_PLC
PLC_00: plrlistheader
plreq $7D4, ArtNem_SonicLifeIcon
plreq ArtTile_Ring, ArtNem_RingHUDText
- plreq $5E4, ArtNem_EnemyPtsStarPost
+ plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost
plreq ArtTile_Monitors, ArtNem_Monitors
PLC_00_End
@@ -116085,11 +116087,11 @@ PLC_01: plrlistheader
plreq $7D4, ArtNem_SonicLifeIcon
plreq ArtTile_Monitors, ArtNem_Monitors
plreq ArtTile_Ring, ArtNem_RingHUDText
- plreq $5E4, ArtNem_EnemyPtsStarPost
+ plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost
PLC_01_End
PLC_02: plrlistheader
- plreq $5A0, ArtNem_Explosion
+ plreq ArtTile_Explosion, ArtNem_Explosion
plreq $580, ArtNem_Squirrel
plreq $592, ArtNem_BlueFlicky
PLC_02_End
@@ -116116,7 +116118,7 @@ PLC_07: plrlistheader
plreq $7D4, ArtNem_TailsLifeIcon
plreq ArtTile_Monitors, ArtNem_Monitors
plreq ArtTile_Ring, ArtNem_RingHUDText
- plreq $5E4, ArtNem_EnemyPtsStarPost
+ plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost
PLC_07_End
PLC_08: plrlistheader
@@ -116421,8 +116423,8 @@ off_5B52E: dc.w loc_5B532-off_5B52E
loc_5B532:
addq.b #2,(Debug_placement_routine).w
- move.l $C(a0),(Debug_P1_mappings).w
- move.w $A(a0),(Debug_P2_mappings).w
+ move.l $C(a0),(Debug_saved_mappings).w
+ move.w $A(a0),(Debug_saved_art_tile).w
move.w (Screen_Y_wrap_value).w,d0
and.w d0,(Player_1+y_pos).w
and.w d0,(Camera_Y_pos).w
@@ -116593,8 +116595,8 @@ loc_5B708:
moveq #0,d0
move.w d0,(Debug_placement_mode).w
lea (Player_1).w,a1
- move.l (Debug_P1_mappings).w,$C(a1)
- move.w (Debug_P2_mappings).w,$A(a1)
+ move.l (Debug_saved_mappings).w,$C(a1)
+ move.w (Debug_saved_art_tile).w,$A(a1)
bsr.s sub_5B736
move.b #$13,$1E(a1)
move.b #9,$1F(a1)
@@ -116999,7 +117001,8 @@ AutoTunnel_00: dc.w $C
dc.w $F60, $578
dc.w $F60, $548
dc.w $F60, $378
-AutoTunnel_01_02:dc.w $38
+AutoTunnel_01_02:
+ dc.w $38
dc.w $D40, $770
dc.w $D48, $770
dc.w $D50, $770
@@ -117445,8 +117448,10 @@ Gumball2_Sprites:
Gumball1_Rings: dc.w $200, $200, $FFFF
Gumball2_Rings: dc.w $80, $7100, $FFFF
SpriteTerminatM:dc.w $FFFF, 0, 0
-Pachinko1_Sprites:dc.w $80, $80, 0, $FFFF, 0, 0
-Pachinko2_Sprites:dc.w $80, $80, 0, $FFFF, 0, 0
+Pachinko1_Sprites:
+ dc.w $80, $80, 0, $FFFF, 0, 0
+Pachinko2_Sprites:
+ dc.w $80, $80, 0, $FFFF, 0, 0
Pachinko1_Rings:dc.w $80, $7100, $FFFF
Pachinko2_Rings:dc.w $80, $7100, $FFFF
SpriteTerminatN:dc.w $FFFF, 0, 0
@@ -117500,8 +117505,8 @@ SolidIndexes: dc.l Solid_AIZ1
dc.l Solid_MGZ2
dc.l Solid_CNZ
dc.l Solid_CNZ
- dc.l Solid_FBZ
- dc.l Solid_FBZ
+ dc.l Solid_FBZ1
+ dc.l Solid_FBZ2
dc.l Solid_ICZ1
dc.l Solid_ICZ2
dc.l Solid_LBZ1
@@ -117554,7 +117559,8 @@ Solid_MGZ2: binclude "Levels/MGZ/Collision/2.bin"
even
Solid_CNZ: binclude "Levels/CNZ/Collision/1.bin"
even
-Solid_FBZ:
+Solid_FBZ1:
+Solid_FBZ2:
Solid_ICZ1: binclude "Levels/ICZ/Collision/1.bin"
even
Solid_ICZ2: binclude "Levels/ICZ/Collision/2.bin"
@@ -117673,11 +117679,11 @@ Layout_Slot_Special:
even
PalPoint: include "Levels/Misc/Palette pointers S3.asm"
-Pal_Unknown1: binclude "Levels/Misc/Palettes/Unknown 1.bin"
+Pal_S2Sega: binclude "General/Sprites/S2Menu/Palettes/Sega Screen.bin"
even
-Pal_Unknown2: binclude "Levels/Misc/Palettes/Unknown 2 S3.bin"
+Pal_S2Title: binclude "General/Sprites/S2Menu/Palettes/Title Screen.bin"
even
-Pal_Unknown3: binclude "Levels/Misc/Palettes/Unknown 3 S3.bin"
+Pal_S2LevSel: binclude "General/Sprites/S2Menu/Palettes/Proto Level Select.bin"
even
Pal_SonicTails: binclude "General/Sprites/Sonic/Palettes/SonicAndTails.bin"
even
@@ -117748,8 +117754,8 @@ Pal_Slot_Special:
ArtUnc_CNZCannon:
binclude "General/Sprites/CNZ Cannon/CNZ Cannon.bin"
even
-ArtUnc_AirCountDown:
- binclude "General/Sprites/Bubbles/Air Countdown.bin"
+ArtUnc_AirCountdown:
+ binclude "General/Sprites/Dash Dust/Air Countdown.bin"
even
ArtUnc_SONICMILES:
binclude "General/Sprites/S2Menu/SONICMILES.bin"
@@ -117799,7 +117805,7 @@ MapEni_SStageBG:binclude "General/Special Stage/Enigma Map/BG.bin"
ArtNem_SStageBG:binclude "General/Special Stage/Nemesis Art/BG.bin"
even
MapUnc_SStageLayout:
- binclude "General/Special Stage/Layout/S3 Plane Map.bin"
+ binclude "General/Special Stage/Uncompressed Map/Layout S3.bin"
even
ArtNem_SStageLayout:
binclude "General/Special Stage/Nemesis Art/Layout.bin"
@@ -118474,7 +118480,8 @@ DAC_B6_Setup2: dc.b $C
DAC_B7_Setup2: dc.b $18
dc.w 0
dc.w 0
-DAC_B8_B9_Setup2:dc.b $C
+DAC_B8_B9_Setup2:
+ dc.b $C
dc.w 0
dc.w 0
DAC_BA_Setup2: dc.b $18
@@ -118698,7 +118705,8 @@ DAC_B6_Setup3: dc.b $C
DAC_B7_Setup3: dc.b $18
dc.w $B104
dc.w $3FCE
-DAC_B8_B9_Setup3:dc.b $C
+DAC_B8_B9_Setup3:
+ dc.b $C
dc.w $3A06
dc.w $F0D2
DAC_BA_Setup3: dc.b $18
@@ -118963,11 +118971,11 @@ ArtUnc_Knuckles2P:
binclude "General/Sprites/Knuckles/Art/Knuckles 2P.bin"
even
Map_Sonic: include "General/Sprites/Sonic/Map - Sonic S3.asm"
-PLC_Sonic: include "General/Sprites/Sonic/Sonic pattern load cues S3.asm"
+PLC_Sonic: include "General/Sprites/Sonic/DPLC - Sonic S3.asm"
Map_Tails: include "General/Sprites/Tails/Map - Tails S3.asm"
-PLC_Tails: include "General/Sprites/Tails/Tails pattern load cues S3.asm"
+PLC_Tails: include "General/Sprites/Tails/DPLC - Tails S3.asm"
Map_Tails_Tail: include "General/Sprites/Tails/Map - Tails tails.asm"
-PLC_Tails_Tail: include "General/Sprites/Tails/Tails tails pattern load cues.asm"
+PLC_Tails_Tail: include "General/Sprites/Tails/DPLC - Tails tails.asm"
ICZSnowboard_Slope1:
binclude "Levels/ICZ/Misc/ICZ Snowboard Slope 1.bin"
even
@@ -119012,8 +119020,9 @@ ArtUnc_FireShield:
ArtUnc_LightningShield:
binclude "General/Sprites/Shields/Lightning Shield.bin"
even
-ArtUnc_Obj_Lightning_Shield_Sparks:
+ArtUnc_LightningShield_Sparks:
binclude "General/Sprites/Shields/Sparks.bin"
+ArtUnc_LightningShield_Sparks_end:
even
ArtUnc_BubbleShield:
binclude "General/Sprites/Shields/Bubble Shield.bin"
@@ -119104,13 +119113,13 @@ ArtNem_DiagonalSpring:
ArtNem_HUDText: binclude "General/Sprites/HUD Icon/HUD Text.bin"
even
ArtNem_SonicLifeIcon:
- binclude "General/Sprites/HUD Icon/Sonic life icon.bin"
+ binclude "General/Sprites/HUD Icon/Sonic Life icon.bin"
even
ArtNem_TailsLifeIcon:
binclude "General/Sprites/HUD Icon/Tails Life Icon.bin"
even
ArtNem_KnucklesLifeIcon:
- binclude "General/Sprites/HUD Icon/Knuckles life icon.bin"
+ binclude "General/Sprites/HUD Icon/Knuckles Life icon.bin"
even
ArtNem_Ring: binclude "General/Sprites/Ring/Ring.bin"
even
@@ -119181,16 +119190,14 @@ Map_LBZMiniboss:
Map_LBZMinibossBox:
include "Levels/LBZ/Misc Object Data/Map - Miniboss Box.asm"
Map_SnaleBlaster:
- include "General/Sprites/Snail Blaster/Map - Snail Blaster.asm"
+ include "General/Sprites/Snale Blaster/Map - Snale Blaster.asm"
Map_Orbinaut: include "General/Sprites/Orbinaut/Map - Orbinaut.asm"
Map_Ribot: include "General/Sprites/Ribot/Map - Ribot.asm"
Map_Corkey: include "General/Sprites/Corkey/Map - Corkey.asm"
-Map_Flybot767: include "General/Sprites/Flybot/Map - Flybot.asm"
-DPLC_Flybot: include "General/Sprites/Flybot/DPLC - Flybot.asm"
-Map_LBZEndBoss:
- include "Levels/LBZ/Misc Object Data/Map - End Boss.asm"
-Map_CNZEndBoss:
- include "Levels/CNZ/Misc Object Data/Map - End Boss.asm"
+Map_Flybot767: include "General/Sprites/Flybot767/Map - Flybot767.asm"
+DPLC_Flybot767: include "General/Sprites/Flybot767/DPLC - Flybot767.asm"
+Map_LBZEndBoss: include "Levels/LBZ/Misc Object Data/Map - End Boss.asm"
+Map_CNZEndBoss: include "Levels/CNZ/Misc Object Data/Map - End Boss.asm"
CNZEndBossMagnet_AngleX:
dc.b 0, 1, 2, 3, 4, 5, 6, 8, 9, $A, $B, $C, $D, $E, $F, $10
dc.b $11, $12, $13, $14, $15, $16, $17, $18, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E
@@ -119208,7 +119215,7 @@ Map_Blastoid: include "General/Sprites/Blastoid/Map - Blastoid.asm"
Map_Toxomister: include "General/Sprites/Toxomister/Map - Toxomister S3.asm"
Map_Poindexter: include "General/Sprites/Pointdexter/Map - Pointdexter.asm"
Map_Buggernaut: include "General/Sprites/Buggernaut/Map - Buggernaut.asm"
-Map_MegaChomper:include "General/Sprites/Mega Chomper/Map - Mega Chomper.asm"
+Map_MegaChopper:include "General/Sprites/Mega Chopper/Map - Mega Chopper.asm"
Map_Dragonfly: include "General/Sprites/Dragonfly/Map - Dragonfly.asm"
DPLC_Cluckoid: include "General/Sprites/Cluckoid/DPLC - Cluckoid.asm"
Map_CluckoidArrow:
@@ -119226,8 +119233,8 @@ Map_Jawz: include "General/Sprites/Jawz/Map - Jawz.asm"
Map_Mushmeanie: include "General/Sprites/Mushmeanie/Map - Mushmeanie.asm"
Map_Madmole: include "General/Sprites/Madmole/Map - Madmole S3.asm"
Map_Iwamodoki: include "General/Sprites/Iwamodoki/Map - Iwamodoki S3.asm"
-DPLC_RhinoBot: include "General/Sprites/Rhino/DPLC - RhinoBot.asm"
-Map_RhinoBot: include "General/Sprites/Rhino/Map - RhinoBot.asm"
+DPLC_Rhinobot: include "General/Sprites/Rhinobot/DPLC - Rhinobot.asm"
+Map_Rhinobot: include "General/Sprites/Rhinobot/Map - Rhinobot.asm"
dc.w $A
dc.w $1C
dc.w $24
@@ -119239,15 +119246,15 @@ Map_AIZMinibossFlame:
include "Levels/AIZ/Misc Object Data/Map - Miniboss Flame.asm"
Map_FBZEndBossFlame:
include "Levels/FBZ/Misc Object Data/Map - End Boss Flame.asm"
-Map_Tulipon: include "General/Sprites/Tulipon/Map - Tulipon.asm"
+Map_Bloominator:include "General/Sprites/Bloominator/Map - Bloominator.asm"
Map_MonkeyDude: include "General/Sprites/Monkey Dude/Map - Monkey Dude.asm"
Map_SOZMiniboss:include "Levels/SOZ/Misc Object Data/Map - Miniboss.asm"
-Map_MGZMiniBoss:include "Levels/MGZ/Misc Object Data/Map - Miniboss.asm"
+Map_MGZMiniboss:include "Levels/MGZ/Misc Object Data/Map - Miniboss.asm"
Map_CaterKillerJr:
include "General/Sprites/Caterkiller Jr/Map - Caterkiller Jr.asm"
DPLC_Clamer: include "General/Sprites/Clamer/DPLC - Clamer.asm"
Map_Clamer: include "General/Sprites/Clamer/Map - Clamer.asm"
-Map_CNZBlastoid:include "Levels/CNZ/Misc Object Data/Map - Blastoid.asm"
+Map_Sparkle: include "General/Sprites/Sparkle/Map - Sparkle.asm"
Map_Batbot: include "General/Sprites/Batbot/Map - Batbot.asm"
DPLC_BubblesBadnik:
include "General/Sprites/Bubbles Badnik/DPLC - Bubbles Badnik.asm"
@@ -119298,62 +119305,57 @@ Map_HCZMinibossSplash:
DPLC_HCZMinibossSplash:
include "Levels/HCZ/Misc Object Data/DPLC - Miniboss Splash.asm"
Map_ICZEndBoss: include "Levels/ICZ/Misc Object Data/Map - End Boss.asm"
-PalSPtr_CNZMinibossNormal: palscriptptr .header, .data
+
+PalSPtr_CNZMinibossNormal:
+ palscriptptr .header, .data
dc.w 0
.header palscripthdr Normal_palette_line_2+$14, 1, 3-1
-
.data palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 6, $020
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 4, $020
palscriptloop .headr3
-
.headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 2, $020
palscriptloop .headr4
-
.headr4 palscripthdr Normal_palette_line_2+$14, 1, $B-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 1, $020
palscriptrun
-PalSPtr_CNZMinibossSparks: palscriptptr .header, .data
+PalSPtr_CNZMinibossSparks:
+ palscriptptr .header, .data
dc.w 0
.header palscripthdr Normal_palette_line_2+$14, 1, $31-1
-
.data palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 1, $020
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 2, $020
palscriptloop .headr3
-
.headr3 palscripthdr Normal_palette_line_2+$14, 1, 4-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 4, $020
palscriptloop .headr4
-
.headr4 palscripthdr Normal_palette_line_2+$14, 1, 2-1
palscriptdata 96, $020
palscriptloop PalSPtr_CNZMinibossNormal.headr3
-PalSPtr_CNZMinibossOpen: palscriptptr .header, .data
+PalSPtr_CNZMinibossOpen:
+ palscriptptr .header, .data
dc.w 0
.header palscripthdr Normal_palette_line_2+$14, 1, 0
-
.data palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 2, $020
@@ -119366,33 +119368,29 @@ PalSPtr_CNZMinibossOpen: palscriptptr .header, .data
palscriptrept
Map_CNZMiniboss:include "Levels/CNZ/Misc Object Data/Map - Miniboss.asm"
+
word_16322C: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$14, 1, 3-1
.data palscriptdata 8, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 6, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr3
-
.headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 4, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr4
-
.headr4 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 2, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr5
-
.headr5 palscripthdr Normal_palette_line_2+$14, 1, 0
palscriptdata 1, $222
palscriptdata 1, $C22
@@ -119401,36 +119399,32 @@ word_16322C: palscriptptr .header, .data
word_163298: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$14, 1, 3-1
.data palscriptdata 2, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 4, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr3
-
.headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 6, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr4
-
.headr4 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 8, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr5
-
.headr5 palscripthdr Normal_palette_line_2+$14, 1, 5-1
palscriptdata 10,$222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptrun
+
ICZMiniboss_OrbAngleLookup:
dc.b 0, 1, 2, 4, 5, 6, 7, 8, 9, $B, $C, $D, $E, $F, $10, $11
dc.b $12, $13, $15, $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1E, $1E, $1F, $20, $21
@@ -119466,7 +119460,7 @@ Map_LBZFinalBoss1:
include "Levels/LBZ/Misc Object Data/Map - Final Boss 1.asm"
Map_LBZDeathEggSmall:
include "Levels/LBZ/Misc Object Data/Map - Death Egg Small.asm"
-Pal_MGZFadeCNZ: binclude "Levels/Misc/Palettes/MGZ Fade to CNZ.bin"
+Pal_MGZFadeCNZ: binclude "Levels/MGZ/Palettes/Fade to CNZ.bin"
even
Map_LBZFinalBoss2:
include "Levels/LBZ/Misc Object Data/Map - Final Boss 2.asm"
@@ -119479,10 +119473,11 @@ ArtKosM_AIZEndBoss:
ArtNem_AIZMinibossSmall:
binclude "Levels/AIZ/Nemesis Art/Miniboss Small.bin"
even
-ArtUnc_AIZRhino:binclude "General/Sprites/Rhino/Rhino.bin"
+ArtUnc_AIZRhinobot:
+ binclude "General/Sprites/Rhinobot/Rhinobot.bin"
even
-ArtKosM_AIZ_Tulipon:
- binclude "General/Sprites/Tulipon/Tulipon.bin"
+ArtKosM_AIZ_Bloominator:
+ binclude "General/Sprites/Bloominator/Bloominator.bin"
even
ArtKosM_AIZ_MonkeyDude:
binclude "General/Sprites/Monkey Dude/Monkey Dude.bin"
@@ -119603,8 +119598,8 @@ ArtKosM_LBZEndBoss:
ArtKosM_LBZFinalBoss2:
binclude "Levels/LBZ/KosinskiM Art/Final Boss 2.bin"
even
-ArtKosM_SnailBlaster:
- binclude "General/Sprites/Snail Blaster/Snail Blaster.bin"
+ArtKosM_SnaleBlaster:
+ binclude "General/Sprites/Snale Blaster/Snale Blaster.bin"
even
ArtKosM_Ribot: binclude "General/Sprites/Ribot/Ribot.bin"
even
@@ -119613,7 +119608,8 @@ ArtKosM_Orbinaut:
even
ArtKosM_Corkey: binclude "General/Sprites/Corkey/Corkey.bin"
even
-ArtUnc_Flybot: binclude "General/Sprites/Flybot/Flybot.bin"
+ArtUnc_Flybot767:
+ binclude "General/Sprites/Flybot767/Flybot767.bin"
even
ArtNem_LBZKnuxBomb:
binclude "Levels/LBZ/Nemesis Art/Knuckles Bomb.bin"
@@ -119621,7 +119617,7 @@ ArtNem_LBZKnuxBomb:
ArtKosM_LBZ2DeathEggSmall:
binclude "Levels/LBZ/KosinskiM Art/Act 2 Death Egg Small.bin"
even
-ArtScaled_FleeingRobotnik:
+ArtScaled_LBZ2UnusedRobotnik:
binclude "General/Sprites/Robotnik/Robotnik Fly Scaled.bin"
even
ArtKosM_LBZ2DeathEgg2_8x8:
@@ -119705,7 +119701,7 @@ ArtNem_AIZSlideRope:
binclude "Levels/AIZ/Nemesis Art/Zip Vine.bin"
even
ArtNem_AIZBackgroundTree:
- binclude "Levels/AIZ/Nemesis Art/BG Tree.bin"
+ binclude "Levels/AIZ/Nemesis Art/BG Tree.bin"
even
ArtNem_AIZMisc1:binclude "Levels/AIZ/Nemesis Art/Misc Art 1.bin"
even
@@ -119741,7 +119737,7 @@ ArtNem_HCZ2Slide:
binclude "Levels/HCZ/Nemesis Art/Act 2 Slide.bin"
even
ArtNem_HCZ2BlockPlat:
- binclude "Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin"
+ binclude "Levels/HCZ/Nemesis Art/Act 2 Block Platform.bin"
even
ArtUnc_HCZWaterSplash2:
binclude "Levels/HCZ/Animated Tiles/Water Splash 2.bin"
@@ -119750,7 +119746,7 @@ ArtUnc_HCZWaterSplash:
binclude "Levels/HCZ/Animated Tiles/Water Splash.bin"
even
ArtNem_HCZ2KnuxWall:
- binclude "Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin"
+ binclude "Levels/HCZ/Nemesis Art/Act 2 Knuckles Wall.bin"
even
ArtNem_MGZMisc1:binclude "Levels/MGZ/Nemesis Art/Misc Art 1.bin"
even
@@ -119822,7 +119818,6 @@ ArtKosM_SSResults:
dc.w $1220
ArtKos_SSResultsGeneral:
binclude "General/Special Stage/Kosinski Art/S3 SSResults General.bin"
- even
ArtKos_SSResultsTKIcons:
binclude "General/Special Stage/Kosinski Art/S3 SSResults Tails Knuckles Icons.bin"
even
@@ -119873,7 +119868,7 @@ Pal_SaveMenuBG: binclude "General/Save Menu/Palettes/BG.bin"
Pal_CompetitionMenuBG:
binclude "General/Competition Menu/Palettes/BG.bin"
even
-MapEni_S3MenuBG:binclude "General/Title/Enigma Map/S3 Menu BG.bin"
+MapEni_S3MenuBG:binclude "General/Save Menu/Enigma Map/Menu BG.bin"
even
ArtKos_S3MenuBG:binclude "General/Save Menu/Kosinski Art/Menu BG.bin"
even
@@ -120040,9 +120035,12 @@ CNZ_8x8_KosM: binclude "Levels/CNZ/Tiles/Primary.bin"
even
CNZ_128x128_Kos:binclude "Levels/CNZ/Chunks/Primary.bin"
even
-FBZ_16x16_Kos:
-ArtKosM_FBZ:
-FBZ_128x128_Kos:
+FBZ1_16x16_Kos:
+FBZ1_8x8_KosM:
+FBZ1_128x128_Kos:
+FBZ2_16x16_Kos:
+FBZ2_8x8_KosM:
+FBZ2_128x128_Kos:
ICZ_16x16_Primary_Kos:
binclude "Levels/ICZ/Blocks/Primary.bin"
even
diff --git a/s3.constants.asm b/s3.constants.asm
index 67738a4e..fba72d08 100644
--- a/s3.constants.asm
+++ b/s3.constants.asm
@@ -1,13 +1,14 @@
phase Level_layout_header+$400
-SStage_extra_sprites := * ; some extra sprite info for special stages
- ds.b $70 ; Sonic & Knuckles has a different address... So uh... Yes
+SStage_extra_sprites := * ; Sonic & Knuckles uses a different address
+ ds.b $70 ; some extra sprite info for special stages
ds.b $390 ; unused
-SStage_collision_response_list := * ; some extra sprite info for special stages
- ds.b $100 ; unused
-SStage_unkA500 := * ; unknown special stage array
- ds.b $100 ; Sonic & Knuckles has a different address... So uh... Yes
-SStage_unkA600 := * ; unknown special stage array
- ds.b $100 ; Sonic & Knuckles has a different address... So uh... Yes
+SStage_collision_response_list := * ; Sonic & Knuckles uses a different address
+ ds.b $100 ; some extra sprite info for special stages
+SStage_unkA500 := * ; Sonic & Knuckles uses a different address
+ ds.b $100 ; unknown special stage array
+SStage_unkA600 := * ; Sonic & Knuckles uses a different address
+ ds.b $100 ; unknown special stage array
+ dephase
phase Stat_table+$12
_unkE412 ds.w 1 ; unused, but referenced in sphere test
@@ -19,6 +20,7 @@ Save_pointer := Competition_saved_data+$B8; long ; pointer to the active save
Saved_data := Competition_saved_data+$CC; $34 bytes ; saved data from 1 player mode
H_int_jump := _tempF608 ; 6 bytes ; contains an instruction to jump to the H-int handler
H_int_addr := H_int_jump+2 ; long
+ dephase
phase _unkF712+8
CNZ_bumper_routine ds.b 1 ; left over from Sonic 2
@@ -27,50 +29,54 @@ CNZ_visible_bumpers_start ds.l 1 ; left over from Sonic 2
CNZ_Visible_bumpers_end ds.l 1 ; left over from Sonic 2
CNZ_Visible_bumpers_start_P2 ds.l 1 ; left over from Sonic 2
CNZ_Visible_bumpers_end_P2 ds.l 1 ; left over from Sonic 2
+ dephase
phase _tempFF88
Current_zone_2P ds.b 1 ; left over from Sonic 2
Current_act_2P ds.b 1 ; left over from Sonic 2
Options_menu_box = _tempFF8C ; byte ; left over from Sonic 2
_unkFF98 = _tempFF98 ; word ; unused
+ dephase
phase Demo_mode_flag
-Level_select_flag := *
- ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes
-Slow_motion_flag := *
- ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes
-Debug_cheat_flag := * ; set if the debug cheat's been entered
- ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes
-Level_select_cheat_counter := * ; progress entering level select cheat, unused
- ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes
-Debug_mode_cheat_counter := * ; progress entering debug mode cheat, unused
- ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes
-Competition_mode := *
- ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes
-P1_character := * ; 0 := Sonic, 1 := Tails, 2 := Knuckles
- ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes
-P2_character := *
- ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes
+Level_select_flag := * ; Sonic & Knuckles uses a different address
+ ds.b 1
+Slow_motion_flag := * ; Sonic & Knuckles uses a different address
+ ds.b 1
+Debug_cheat_flag := * ; Sonic & Knuckles uses a different address
+ ds.w 1 ; set if the debug cheat's been entered
+Level_select_cheat_counter := * ; Sonic & Knuckles uses a different address
+ ds.w 1 ; progress entering level select cheat, unused
+Debug_mode_cheat_counter := * ; Sonic & Knuckles uses a different address
+ ds.w 1 ; progress entering debug mode cheat, unused
+Competition_mode := * ; Sonic & Knuckles uses a different address
+ ds.w 1
+P1_character := * ; Sonic & Knuckles uses a different address
+ ds.b 1 ; 0 = Sonic, 1 = Tails, 2 = Knuckles
+P2_character := * ; Sonic & Knuckles uses a different address
+ ds.b 1
_dbgFFDC ds.b 1 ; seems like a leftover constant. Existed in Sonic 1 and Sonic 2 as well
_dbgFFDD ds.b 1 ; seems like a leftover constant. Existed in Sonic 1 and Sonic 2 as well
_dbgFFDE ds.b 1 ; seems like a leftover constant. Existed in Sonic 1 and Sonic 2 as well
_dbgFFDF ds.b 1 ; seems like a leftover constant. Existed in Sonic 1 and Sonic 2 as well
+ dephase
phase V_int_jump
-Demo_mode_flag := *
- ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes
-Next_demo_number := *
- ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes
+Demo_mode_flag := * ; Sonic & Knuckles uses a different address
+ ds.w 1
+Next_demo_number := * ; Sonic & Knuckles uses a different address
+ ds.w 1
Ending_demo_number ds.w 1 ; zone for the ending demos, unused
-V_blank_cycles := * ; the number of cycles between V-blanks
- ds.w 1 ; Sonic & Knuckles has a different address... So uh... Yes
-Graphics_flags := * ; bit 7 set := English system, bit 6 set := PAL system
- ds.b 1 ; Sonic & Knuckles has a different address... So uh... Yes
+V_blank_cycles := * ; Sonic & Knuckles uses a different address
+ ds.w 1 ; the number of cycles between V-blanks
+Graphics_flags := * ; Sonic & Knuckles uses a different address
+ ds.b 1 ; bit 7 set = English system, bit 6 set = PAL system
ds.b 1 ; unused
-Debug_mode_flag := *
- ds.w 1 ; Sonic 3 has a different address... So uh... Yes
-Checksum_string := * ; set to 'init' once the checksum routine has run
- ds.l 1 ; Sonic & Knuckles has a different address... So uh... Yes
+Debug_mode_flag := * ; Sonic & Knuckles uses a different address
+ ds.w 1
+Checksum_string := * ; Sonic & Knuckles uses a different address
+ ds.l 1 ; set to Ref_Checksum_String once the checksum routine has run
+Ref_Checksum_String := 'init'
dephase
!org 0
diff --git a/sonic3k.asm b/sonic3k.asm
index 6927ece3..47056bb6 100644
--- a/sonic3k.asm
+++ b/sonic3k.asm
@@ -69,12 +69,12 @@ RAMEndLoc: dc.l (RAM_start&$FFFFFF)+$FFFF
if Sonic3_Complete
CartRAM_Info: dc.b "RA"
CartRAM_Type: dc.w %1111100000100000
-CartRAMStartLoc: dc.l $00200001
+CartRAMStartLoc:dc.l $00200001
CartRAMEndLoc: dc.l $002003FF
else
CartRAM_Info: dc.b " "
CartRAM_Type: dc.w %10000000100000
-CartRAMStartLoc: dc.l $20202020
+CartRAMStartLoc:dc.l $20202020
CartRAMEndLoc: dc.l $20202020
endif
Modem_Info: dc.b " "
@@ -82,7 +82,7 @@ Modem_Info: dc.b " "
Unknown_Header: dc.w 0
dc.b " "
dc.w 0, 0
- dc.l EndOfROM-1 ; 0 ;CHECKLATER (ROM Bank Info)
+ dc.l EndOfROM-1 ; 0 ;CHECKLATER (ROM Bank Info)
dc.b " "
KiS2ROM_Info: dc.b "RO"
KiS2ROM_Type: dc.w %10000000100000
@@ -110,8 +110,8 @@ EntryPoint:
movem.l (a5)+,a0-a4
move.b HW_Version-Z80_bus_request(a1),d0 ; get hardware version
andi.b #$F,d0
- beq.s SkipSecurity ; branch if hardware is older than Genesis III
- move.l #'SEGA',Security_addr-Z80_bus_request(a1) ; satisfy the TMSS
+ beq.s SkipSecurity ; branch if hardware is older than Genesis III
+ move.l #'SEGA',Security_addr-Z80_bus_request(a1) ; satisfy the TMSS
SkipSecurity:
move.w (a4),d0 ; check if VDP works
@@ -139,7 +139,6 @@ WaitForZ80:
Init_SoundRAM:
move.b (a5)+,(a0)+
dbf d2,Init_SoundRAM
-
move.w d0,(a2)
move.w d0,(a1) ; start the Z80
move.w d7,(a2) ; reset the Z80
@@ -163,7 +162,7 @@ Init_ClearVSRAM:
moveq #PSGInitValues_End-PSGInitValues-1,d5
Init_InputPSG:
- move.b (a5)+,PSG_input-VDP_data_port(a3) ; reset the PSG
+ move.b (a5)+,PSG_input-VDP_data_port(a3) ; reset the PSG
dbf d5,Init_InputPSG
move.w d0,(a2)
movem.l (a6),d0-a6 ; clear all registers
@@ -172,19 +171,20 @@ Init_InputPSG:
Init_SkipPowerOn:
bra.s Test_LockOn
; ---------------------------------------------------------------------------
-SetupValues: dc.w $8000,bytesToLcnt($10000),$100
- dc.l Z80_RAM
- dc.l Z80_bus_request
- dc.l Z80_reset
- dc.l VDP_data_port, VDP_control_port
+SetupValues: dc.w $8000,bytesToLcnt($10000),$100
+ dc.l Z80_RAM
+ dc.l Z80_bus_request
+ dc.l Z80_reset
+ dc.l VDP_data_port, VDP_control_port
-VDPInitValues: ; values for VDP registers
+; values for VDP registers
+VDPInitValues:
dc.b 4 ; Command $8004 - HInt off, Enable HV counter read
dc.b $14 ; Command $8114 - Display off, VInt off, DMA on, PAL off
dc.b $30 ; Command $8230 - Scroll A Address $C000
dc.b $3C ; Command $833C - Window Address $F000
dc.b 7 ; Command $8407 - Scroll B Address $E000
- dc.b $6C ; Command $856C - Sprite Table Addres $D800
+ dc.b $6C ; Command $856C - Sprite Table Address $D800
dc.b 0 ; Command $8600 - Null
dc.b 0 ; Command $8700 - Background color Pal 0 Color 0
dc.b 0 ; Command $8800 - Null
@@ -204,16 +204,16 @@ VDPInitValues: ; values for VDP registers
dc.b 0 ; Command $9600 - See above
dc.b $80 ; Command $9700 - See above + VRAM fill mode
VDPInitValues_End:
- dc.l vdpComm($0000,VRAM,DMA) ; value for VRAM write mode
+ dc.l vdpComm($0000,VRAM,DMA) ; value for VRAM write mode
- ; Z80 instructions (not the sound driver; that gets loaded later)
+; Z80 instructions (not the sound driver; that gets loaded later)
Z80StartupCodeBegin:
if (*)+$26 < $10000
save
- CPU Z80 ; start assembling Z80 code
- phase 0 ; pretend we're at address 0
+ CPU Z80 ; start assembling Z80 code
+ phase 0 ; pretend we're at address 0
xor a ; clear a to 0
- ld bc,((Z80_RAM_end-Z80_RAM)-zStartupCodeEndLoc)-1 ; prepare to loop this many times
+ ld bc,((Z80_RAM_end-Z80_RAM)-zStartupCodeEndLoc)-1 ; prepare to loop this many times
ld de,zStartupCodeEndLoc+1 ; initial destination address
ld hl,zStartupCodeEndLoc ; initial source address
ld sp,hl ; set the address the stack starts at
@@ -235,24 +235,22 @@ Z80StartupCodeBegin:
ld sp,hl ; clear sp
di ; clear iff1 (for interrupt handler)
im 1 ; interrupt handling mode = 1
- ld (hl),0E9h ; replace the first instruction with a jump to itself
- jp (hl) ; jump to the first instruction (to stay there forever)
+ ld (hl),0E9h ; replace the first instruction with a jump to itself
+ jp (hl) ; jump to the first instruction (to stay there forever)
zStartupCodeEndLoc:
- dephase ; stop pretending
+ dephase ; stop pretending
restore
- padding off ; unfortunately our flags got reset so we have to set them again...
- else ; due to an address range limitation I could work around but don't think is worth doing so:
+ padding off ; unfortunately our flags got reset so we have to set them again...
+ else ; due to an address range limitation I could work around but don't think is worth doing so:
message "Warning: using pre-assembled Z80 startup code."
dc.w $AF01,$D91F,$1127,$0021,$2600,$F977,$EDB0,$DDE1,$FDE1,$ED47,$ED4F,$D1E1,$F108,$D9C1,$D1E1,$F1F9,$F3ED,$5636,$E9E9
endif
Z80StartupCodeEnd:
- dc.w $8104 ; value for VDP display mode
- dc.w $8F02 ; value for VDP increment
- dc.l vdpComm($0000,CRAM,WRITE) ; value for CRAM write mode
- dc.l vdpComm($0000,VSRAM,WRITE) ; value for VSRAM write mode
-
-PSGInitValues:
- dc.b $9F,$BF,$DF,$FF ; values for PSG channel volumes
+ dc.w $8104 ; value for VDP display mode
+ dc.w $8F02 ; value for VDP increment
+ dc.l vdpComm($0000,CRAM,WRITE) ; value for CRAM write mode
+ dc.l vdpComm($0000,VSRAM,WRITE) ; value for VSRAM write mode
+PSGInitValues: dc.b $9F,$BF,$DF,$FF ; values for PSG channel volumes
PSGInitValues_End:
; ---------------------------------------------------------------------------
@@ -332,13 +330,11 @@ S2orS3LockedOn:
jmp ($300000).l ; May be changed at a later date to become compatible with S2K disassembly
; ---------------------------------------------------------------------------
LockonSerialsText:
- dc.b "GM 00001051-00" ; Sonic 2 REV00/1/2
+ dc.b "GM 00001051-00" ; Sonic 2 REV00/1/2
dc.b "GM 00001051-01"
dc.b "GM 00001051-02"
dc.b "GM MK-1079 -00" ; Sonic 3
-
-SegaHeadersText:
- dc.b "SEGA MEGA DRIVE "
+SegaHeadersText:dc.b "SEGA MEGA DRIVE "
dc.b "SEGA GENESIS "
; ---------------------------------------------------------------------------
@@ -365,7 +361,7 @@ BlueSpheresStartup:
Test_Checksum:
btst #6,(HW_Expansion_Control).l
beq.s +
- cmpi.l #'SM&K',(Checksum_string).w
+ cmpi.l #Ref_Checksum_String,(Checksum_string).w
beq.w Test_Checksum_Done
+
movea.l #ErrorTrap,a6
@@ -387,7 +383,7 @@ Test_Checksum:
move.b (HW_Version).l,d6
andi.b #$C0,d6
move.b d6,(Graphics_flags).w
- move.l #'SM&K',(Checksum_string).w
+ move.l #Ref_Checksum_String,(Checksum_string).w
Test_Checksum_Done:
rts
@@ -439,9 +435,9 @@ JumpToSegaScreen:
move.b #0,(Game_mode).w
rts
; ---------------------------------------------------------------------------
-
; unused/dead code
; weird routine, makes the screen go haywire pretty much
+
ChecksumError2:
move.l d1,-(sp)
bsr.w Init_VDP
@@ -453,8 +449,8 @@ ChecksumError2_Loop:
addq.w #1,d7
bra.s ChecksumError2_Loop
; ---------------------------------------------------------------------------
-
; unused/dead code
+
ChecksumError:
move.l #vdpComm($0000,CRAM,WRITE),(VDP_control_port).l
moveq #$3F,d7
@@ -1272,25 +1268,25 @@ $$clearCRAM:
; ---------------------------------------------------------------------------
VDP_register_values:
- dc.w $8004 ; H-int disabled
- dc.w $8134 ; V-int enabled, display blanked, DMA enabled, 224 line display
- dc.w $8230 ; Scroll A PNT base $C000
- dc.w $8320 ; Window PNT base $8000
- dc.w $8407 ; Scroll B PNT base $E000
- dc.w $857C ; Sprite attribute table base $F800
+ dc.w $8004 ; H-int disabled
+ dc.w $8134 ; V-int enabled, display blanked, DMA enabled, 224 line display
+ dc.w $8230 ; Scroll A PNT base $C000
+ dc.w $8320 ; Window PNT base $8000
+ dc.w $8407 ; Scroll B PNT base $E000
+ dc.w $857C ; Sprite attribute table base $F800
dc.w $8600
- dc.w $8700 ; Backdrop color is color 0 of the first palette line
+ dc.w $8700 ; Backdrop color is color 0 of the first palette line
dc.w $8800
dc.w $8900
dc.w $8A00
- dc.w $8B00 ; Full-screen horizontal and vertical scrolling
- dc.w $8C81 ; 40 cell wide display, no interlace
- dc.w $8D3C ; Horizontal scroll table base $F000
+ dc.w $8B00 ; Full-screen horizontal and vertical scrolling
+ dc.w $8C81 ; 40 cell wide display, no interlace
+ dc.w $8D3C ; Horizontal scroll table base $F000
dc.w $8E00
- dc.w $8F02 ; Auto-ncrement is 2
- dc.w $9001 ; Scroll planes are 64x32 cells
+ dc.w $8F02 ; Auto-ncrement is 2
+ dc.w $9001 ; Scroll planes are 64x32 cells
dc.w $9100
- dc.w $9200 ; Window disabled
+ dc.w $9200 ; Window disabled
; =============== S U B R O U T I N E =======================================
@@ -1363,20 +1359,20 @@ SndDrvInit:
; =============== S U B R O U T I N E =======================================
-Play_Sound:
+Play_Music:
stopZ80
move.b d0,(Z80_RAM+zMusicNumber).l
startZ80
rts
-; End of function Play_Sound
+; End of function Play_Music
; ---------------------------------------------------------------------------
; plays a sound if the source object is on-screen
; unused/dead code, left over from Sonic 2
-Play_Sound_Local:
+Play_SFX_Local:
tst.b render_flags(a0)
- bpl.s Play_Sound_2_Done
+ bpl.s Play_SFX_Done
; ---------------------------------------------------------------------------
; Can handle up to two different indexes in one frame
@@ -1385,7 +1381,7 @@ Play_Sound_Local:
; =============== S U B R O U T I N E =======================================
-Play_Sound_2:
+Play_SFX:
stopZ80
cmp.b (Z80_RAM+zSFXNumber0).l,d0
beq.s ++
@@ -1399,9 +1395,9 @@ Play_Sound_2:
+
startZ80
-Play_Sound_2_Done:
+Play_SFX_Done:
rts
-; End of function Play_Sound_2
+; End of function Play_SFX
; =============== S U B R O U T I N E =======================================
@@ -1462,7 +1458,7 @@ Pause_NoSlowMo:
blo.s Pause_ChkStart ; if the zone is below ALZ
cmpi.b #$12,(Current_zone).w
bhi.s Pause_ChkStart ; if the zone is above EMZ
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bpl.s Pause_ChkStart
btst #4,(Ctrl_1_pressed).w
beq.s Pause_ChkStart
@@ -2397,7 +2393,6 @@ Eni_Decomp_Masks:
dc.w $3FFF
dc.w $7FFF
dc.w $FFFF
-
; ---------------------------------------------------------------------------
; Part of the Enigma decompressor, fetches the next byte if needed
; ---------------------------------------------------------------------------
@@ -2887,9 +2882,8 @@ GetSineCosine:
; End of function GetSineCosine
; ---------------------------------------------------------------------------
-SineTable: binclude "Levels/Misc/sine.bin" ; test
- even
-
+SineTable: binclude "Levels/Misc/sine.bin"
+ even
; ---------------------------------------------------------------------------
; Calculates the arctangent of y/x and returns it in d0 (360 degrees = 256)
; Inputs: d1 = input x, d2 = input y
@@ -2950,7 +2944,7 @@ GetArcTan_Zero:
; ---------------------------------------------------------------------------
ArcTanTable: binclude "Levels/Misc/arctan.bin"
- even
+ even
; ---------------------------------------------------------------------------
AnPal_Load:
@@ -2968,7 +2962,7 @@ AnPal_Load:
OffsAnPal: dc.w AnPal_AIZ1-OffsAnPal
dc.w AnPal_AIZ2-OffsAnPal
dc.w AnPal_HCZ1-OffsAnPal
- dc.w AnPal_None2-OffsAnPal
+ dc.w AnPal_HCZ2-OffsAnPal
dc.w AnPal_None-OffsAnPal
dc.w AnPal_None-OffsAnPal
dc.w AnPal_CNZ-OffsAnPal
@@ -3165,7 +3159,7 @@ locret_2380:
; ---------------------------------------------------------------------------
-AnPal_None2:
+AnPal_HCZ2:
rts
; ---------------------------------------------------------------------------
@@ -3796,33 +3790,33 @@ loc_2AE8:
locret_2AF4:
rts
; ---------------------------------------------------------------------------
-AnPal_PalAIZ1_1: dc.w $EE8,$EE2,$EA4,$E64,$EE2,$EA4,$E64,$EE8,$EA4,$E64,$EE8,$EE2,$E64,$EE8,$EE2,$EA4
+AnPal_PalAIZ1_1:dc.w $EE8,$EE2,$EA4,$E64,$EE2,$EA4,$E64,$EE8,$EA4,$E64,$EE8,$EE2,$E64,$EE8,$EE2,$EA4
-AnPal_PalAIZ1_3: dc.w $EEC,$EEE,$EE8,$E40,$EEC,$EE8,$EE8,$EEE,$EEA,$E86,$EE8,$EE8,$EE8,$E40,$EE8,$E86
- dc.w $EE6,$EEE,$EE8,$E40,$EEA,$EE8,$EE8,$EEE,$EE8,$E86,$EE8,$EE8,$EE8,$E40,$EE8,$E86
- dc.w $EE6,$EEE,$EE8,$E40,$EE8,$EE8,$EE8,$EEE,$EEA,$E86,$EE8,$EE8,$EEC,$E40,$EE8,$E86
- dc.w $EEC,$EEE,$EE8,$E40,$EEC,$EE8,$EE8,$EEE,$EEC,$E86,$EE8,$EE8,$EEC,$E40,$EE8,$E86
+AnPal_PalAIZ1_3:dc.w $EEC,$EEE,$EE8,$E40,$EEC,$EE8,$EE8,$EEE,$EEA,$E86,$EE8,$EE8,$EE8,$E40,$EE8,$E86
+ dc.w $EE6,$EEE,$EE8,$E40,$EEA,$EE8,$EE8,$EEE,$EE8,$E86,$EE8,$EE8,$EE8,$E40,$EE8,$E86
+ dc.w $EE6,$EEE,$EE8,$E40,$EE8,$EE8,$EE8,$EEE,$EEA,$E86,$EE8,$EE8,$EEC,$E40,$EE8,$E86
+ dc.w $EEC,$EEE,$EE8,$E40,$EEC,$EE8,$EE8,$EEE,$EEC,$E86,$EE8,$EE8,$EEC,$E40,$EE8,$E86
-AnPal_PalAIZ1_4: dc.w $CEC,$CEE,$EEE,$CEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE
- dc.w $EEE,$EEE,$EEE,$EEE,$EEE,$EE8,$EEE,$EEE,$EE8,$EE8,$EEE,$EE8,$EE8,$EE8,$EE8,$EE8
- dc.w $EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$AEC,$EE8,$AEC,$CEC,$AEC,$CEC,$CEC
+AnPal_PalAIZ1_4:dc.w $CEC,$CEE,$EEE,$CEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE,$EEE
+ dc.w $EEE,$EEE,$EEE,$EEE,$EEE,$EE8,$EEE,$EEE,$EE8,$EE8,$EEE,$EE8,$EE8,$EE8,$EE8,$EE8
+ dc.w $EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$EE8,$AEC,$EE8,$AEC,$CEC,$AEC,$CEC,$CEC
-AnPal_PalAIZ1_2: dc.w $EA4,$E60,$EE2,$EA4,$EE8,$EA4,$E60,$EE8,$EEE,$E60,$EE2,$EE2,$EE8,$EA4,$EA4,$EE2
- dc.w $E60,$E60,$EE2,$E60,$EEE,$EE2,$E60,$EE8
+AnPal_PalAIZ1_2:dc.w $EA4,$E60,$EE2,$EA4,$EE8,$EA4,$E60,$EE8,$EEE,$E60,$EE2,$EE2,$EE8,$EA4,$EA4,$EE2
+ dc.w $E60,$E60,$EE2,$E60,$EEE,$EE2,$E60,$EE8
-AnPal_PalAIZ2_1: dc.w $EE8,$EE2,$EC4,$EA4,$EE2,$EC4,$EA4,$EE8,$EC4,$EA4,$EE8,$EE2,$EA4,$EE8,$EE2,$EC4
+AnPal_PalAIZ2_1:dc.w $EE8,$EE2,$EC4,$EA4,$EE2,$EC4,$EA4,$EE8,$EC4,$EA4,$EE8,$EE2,$EA4,$EE8,$EE2,$EC4
-AnPal_PalAIZ2_2: dc.w $24, $44, $8E, $26, $46, $AE, $24, $48, $8E, $26, $4A, $AE, $24, $4C, $8E, $26
- dc.w $4A, $AE, $24, $48, $8E, $24, $46, $8E
+AnPal_PalAIZ2_2:dc.w $24, $44, $8E, $26, $46, $AE, $24, $48, $8E, $26, $4A, $AE, $24, $4C, $8E, $26
+ dc.w $4A, $AE, $24, $48, $8E, $24, $46, $8E
-AnPal_PalAIZ2_3: dc.w $24, $44, $C, $26, $46, $E, $24, $48, $C, $26, $4A, $E, $24, $4C, $C, $26
- dc.w $4A, $E, $24, $48, $C, $24, $46, $C
+AnPal_PalAIZ2_3:dc.w $24, $44, $C, $26, $46, $E, $24, $48, $C, $26, $4A, $E, $24, $4C, $C, $26
+ dc.w $4A, $E, $24, $48, $C, $24, $46, $C
-AnPal_PalAIZ2_4: dc.w $6E, $6E, $6E, $6E,$28E,$4AE,$6AE,$8CE,$8EE,$AEE,$AEE,$AEE,$AEE,$AEE,$8EE,$8EE
- dc.w $8EE,$8EE,$8CE,$8CE,$8CE,$6AE,$6AE,$4AE,$4AE,$28E
+AnPal_PalAIZ2_4:dc.w $6E, $6E, $6E, $6E,$28E,$4AE,$6AE,$8CE,$8EE,$AEE,$AEE,$AEE,$AEE,$AEE,$8EE,$8EE
+ dc.w $8EE,$8EE,$8CE,$8CE,$8CE,$6AE,$6AE,$4AE,$4AE,$28E
-AnPal_PalAIZ2_5: dc.w $C, $C, $C, $C, $2C, $E, $2E, $4E, $6E, $8E, $8E, $8E, $8E, $8E, $6E, $4E
- dc.w $4E, $4E, $2E, $2E, $2E, $E, $E, $2C, $2C, $2C
+AnPal_PalAIZ2_5:dc.w $C, $C, $C, $C, $2C, $E, $2E, $4E, $6E, $8E, $8E, $8E, $8E, $8E, $6E, $4E
+ dc.w $4E, $4E, $2E, $2E, $2E, $E, $E, $2C, $2C, $2C
AnPal_PalHCZ1: dc.w $EC8,$EC0,$EA0,$E80,$EC0,$EA0,$E80,$EC8,$EA0,$E80,$EC8,$EC0,$E80,$EC8,$EC0,$EA0
@@ -3875,43 +3869,49 @@ AnPal_PalSOZ1: dc.w $2CE,$6CE, $AE, $6C, $6C,$2CE,$6CE, $AE, $AE, $6C,$2CE,$6CE,
dc.w $424,$846,$224,$222,$222,$424,$846,$224,$224,$222,$424,$846,$846,$224,$222,$424
dc.w $602,$824,$402,$200,$200,$602,$824,$402,$402,$200,$602,$824,$824,$402,$200,$602
-AnPal_PalSOZ2_Light: dc.w $EEE
-
-AnPal_PalSOZ2_Light_2: dc.w $8EE,$4EE, $CE,$24C, 6, 0,$CEA,$886,$424, $E0,$EEE,$AEE,$6EE,$4AC, $68, $46
- dc.w $22,$8AA,$468,$224, 2,$28E,$4EE, $8C, $C,$8CE,$6CC,$4AC, $8A,$248, 4, 0
- dc.w $8A8,$664,$422, $80,$CEE,$ACC,$6CC,$48A,$266, $46, $22,$ACC,$468,$224, 2,$28E
- dc.w $6EE,$28C,$22C,$2CE,$28A,$268,$246,$224,$202, 0,$464,$222,$200, $40,$ACE,$8AA
- dc.w $688,$468,$244, $24, $22,$CCC,$468,$224, 2,$26C,$6EE,$28C,$24C,$88A,$668,$646
- dc.w $424,$224,$202, 0,$444,$222,$200, $40,$8CE,$888,$666,$446,$222, $22, $22,$EEE
- dc.w $468,$224, 2,$26A,$6EE,$48C,$26C,$C46,$824,$804,$402,$202,$200, 0,$422,$402
- dc.w $200, $40,$6AE,$664,$422,$402,$200, 0, 0,$EEE,$466,$224, 0, $46,$6EE,$48C
- dc.w $26A
-
-AnPal_PalLRZ12_1: dc.w $EE, $AE, $6E, $E, $AE, $6E, $E, $EE, $6E, $E, $EE,$2CE, $2E,$8EE,$4EE, $6E
- dc.w $AEE,$6EE, $8E, $4E,$4EE, $6E, $2E,$8EE, $6E, $E, $EE,$2CE, $E, $EE,$2CE, $6E
- dc.w $EE, $AE, $6E, $E, $8E, $4E, $C, $CE, $2E, $A, $AC, $6E, 8, $8E, $4C, $C
- dc.w $AC, $6E, $2E, $A, $8E, $4E, $C, $CE, $6E, $E, $EE, $AE, $E, $EE, $AE, $6E
-
-AnPal_PalLRZ12_2: dc.w $224,$224,$224,$424,$224,$426,$426,$224,$424,$224,$224,$224,$224,$224,$224,$422
- dc.w $422,$422
-
-AnPal_PalLRZ1_3: dc.w $624,$624,$624,$624,$624,$624,$626,$626,$826,$826,$826,$826,$826,$826,$826,$626
- dc.w $626
-
-AnPal_PalLRZ2_3: dc.w $824,$C44,$E2A,$EAE,$824,$C44,$E2A,$EAE,$824,$C44,$E2A,$EAE,$824,$C44,$E48,$EAC
- dc.w $822,$C44,$E66,$EAA,$822,$C44,$E66,$EAA,$822,$C44,$E66,$EAA,$842,$C64,$EA4,$EC6
- dc.w $642,$A82,$CC2,$EE0,$642,$A82,$CC2,$EE0,$642,$A82,$CC2,$EE0,$642,$882,$AC2,$CE0
- dc.w $642,$682,$8C2,$8E0,$642,$682,$8C2,$8E0,$642,$682,$8C2,$8E0,$642,$486,$4C8,$4E8
- dc.w $442,$288,$2CA,$2EC,$442,$288,$2CC,$2EE,$442,$288,$2CA,$2EC,$642,$486,$4C8,$4E8
- dc.w $642,$682,$8C2,$8E0,$642,$882,$AC2,$CE0,$642,$A82,$CC2,$EE0,$842,$C64,$EA4,$EC6
- dc.w $822,$C44,$E66,$EAA,$824,$C44,$E48,$EAC,$824,$C44,$E2A,$EAE,$826,$C46,$E4A,$E8E
- dc.w $624,$A48,$C6C,$E6E,$624,$A48,$C6C,$E6E,$624,$A48,$C6C,$E6E,$826,$C46,$E4A,$E8E
-
-AnPal_PalDEZ12_1: dc.w $E0, 0, 0,$E0E,$E00, 0, 0, $EE, $E, 0, 0,$EE0,$EE0, 0, 0, $E
- dc.w $EE, 0, 0,$E00,$E0E, 0, 0, $E0
-
-AnPal_PalDEZ12_2: dc.w $8E, $6C, $4A, $28,$6AE,$28C,$26A, $4A,$226,$4AC,$48A,$468,$248,$424,$4AA,$28C
- dc.w $26A, $4A,$226,$4AC
+AnPal_PalSOZ2_Light:
+ dc.w $EEE
+
+AnPal_PalSOZ2_Light_2:
+ dc.w $8EE,$4EE, $CE,$24C, 6, 0,$CEA,$886,$424, $E0,$EEE,$AEE,$6EE,$4AC, $68, $46
+ dc.w $22,$8AA,$468,$224, 2,$28E,$4EE, $8C, $C,$8CE,$6CC,$4AC, $8A,$248, 4, 0
+ dc.w $8A8,$664,$422, $80,$CEE,$ACC,$6CC,$48A,$266, $46, $22,$ACC,$468,$224, 2,$28E
+ dc.w $6EE,$28C,$22C,$2CE,$28A,$268,$246,$224,$202, 0,$464,$222,$200, $40,$ACE,$8AA
+ dc.w $688,$468,$244, $24, $22,$CCC,$468,$224, 2,$26C,$6EE,$28C,$24C,$88A,$668,$646
+ dc.w $424,$224,$202, 0,$444,$222,$200, $40,$8CE,$888,$666,$446,$222, $22, $22,$EEE
+ dc.w $468,$224, 2,$26A,$6EE,$48C,$26C,$C46,$824,$804,$402,$202,$200, 0,$422,$402
+ dc.w $200, $40,$6AE,$664,$422,$402,$200, 0, 0,$EEE,$466,$224, 0, $46,$6EE,$48C
+ dc.w $26A
+
+AnPal_PalLRZ12_1:
+ dc.w $EE, $AE, $6E, $E, $AE, $6E, $E, $EE, $6E, $E, $EE,$2CE, $2E,$8EE,$4EE, $6E
+ dc.w $AEE,$6EE, $8E, $4E,$4EE, $6E, $2E,$8EE, $6E, $E, $EE,$2CE, $E, $EE,$2CE, $6E
+ dc.w $EE, $AE, $6E, $E, $8E, $4E, $C, $CE, $2E, $A, $AC, $6E, 8, $8E, $4C, $C
+ dc.w $AC, $6E, $2E, $A, $8E, $4E, $C, $CE, $6E, $E, $EE, $AE, $E, $EE, $AE, $6E
+
+AnPal_PalLRZ12_2:
+ dc.w $224,$224,$224,$424,$224,$426,$426,$224,$424,$224,$224,$224,$224,$224,$224,$422
+ dc.w $422,$422
+
+AnPal_PalLRZ1_3:dc.w $624,$624,$624,$624,$624,$624,$626,$626,$826,$826,$826,$826,$826,$826,$826,$626
+ dc.w $626
+
+AnPal_PalLRZ2_3:dc.w $824,$C44,$E2A,$EAE,$824,$C44,$E2A,$EAE,$824,$C44,$E2A,$EAE,$824,$C44,$E48,$EAC
+ dc.w $822,$C44,$E66,$EAA,$822,$C44,$E66,$EAA,$822,$C44,$E66,$EAA,$842,$C64,$EA4,$EC6
+ dc.w $642,$A82,$CC2,$EE0,$642,$A82,$CC2,$EE0,$642,$A82,$CC2,$EE0,$642,$882,$AC2,$CE0
+ dc.w $642,$682,$8C2,$8E0,$642,$682,$8C2,$8E0,$642,$682,$8C2,$8E0,$642,$486,$4C8,$4E8
+ dc.w $442,$288,$2CA,$2EC,$442,$288,$2CC,$2EE,$442,$288,$2CA,$2EC,$642,$486,$4C8,$4E8
+ dc.w $642,$682,$8C2,$8E0,$642,$882,$AC2,$CE0,$642,$A82,$CC2,$EE0,$842,$C64,$EA4,$EC6
+ dc.w $822,$C44,$E66,$EAA,$824,$C44,$E48,$EAC,$824,$C44,$E2A,$EAE,$826,$C46,$E4A,$E8E
+ dc.w $624,$A48,$C6C,$E6E,$624,$A48,$C6C,$E6E,$624,$A48,$C6C,$E6E,$826,$C46,$E4A,$E8E
+
+AnPal_PalDEZ12_1:
+ dc.w $E0, 0, 0,$E0E,$E00, 0, 0, $EE, $E, 0, 0,$EE0,$EE0, 0, 0, $E
+ dc.w $EE, 0, 0,$E00,$E0E, 0, 0, $E0
+
+AnPal_PalDEZ12_2:
+ dc.w $8E, $6C, $4A, $28,$6AE,$28C,$26A, $4A,$226,$4AC,$48A,$468,$248,$424,$4AA,$28C
+ dc.w $26A, $4A,$226,$4AC
AnPal_PalDEZ1: dc.w $8AC,$68A,$468,$246,$246,$8AC,$68A,$468,$468,$246,$8AC,$68A,$68A,$468,$246,$8AC
dc.w $468,$246,$8AC,$68A,$246,$8AC,$68A,$468
@@ -3933,15 +3933,18 @@ AnPal_PalEMZ_1: dc.w 6, 8, $A, $C, $E, $E, $E, $E, $C, $A, 8, 6
AnPal_PalEMZ_2: dc.w 0, $E, 2, $C, 4, $A, 6, 8, 8, 6, $A, 4, $C, 2, $E, 0
dc.w $C, 2, $A, 4, 8, 6, 6, 8, 4, $A, 2, $C
-AnPal_PalSlots_1: dc.w $46,$488,$2EE, $8A, $68,$26A,$EEE, $AC, $8A, $46,$488,$2EE, $AC, $68,$26A,$EEE
- dc.w $2EE, $8A, $46,$488,$EEE, $AC, $68,$26A,$48A,$2EE, $8A, $46,$268,$EEE, $AC, $68
+AnPal_PalSlots_1:
+ dc.w $46,$488,$2EE, $8A, $68,$26A,$EEE, $AC, $8A, $46,$488,$2EE, $AC, $68,$26A,$EEE
+ dc.w $2EE, $8A, $46,$488,$EEE, $AC, $68,$26A,$48A,$2EE, $8A, $46,$268,$EEE, $AC, $68
-AnPal_PalSlots_2: dc.w $268,$EEE, $AC, $68,$EEE,$EEE,$EEE,$EEE,$48A,$2EE, $8A, $46, $EE, $EE, $EE, $EE
- dc.w $EEE, $AC, $68,$26A,$EEE,$EEE,$EEE,$EEE,$2EE, $8A, $46,$488,$E0E,$E0E,$E0E,$E0E
- dc.w $AC, $68,$26A,$EEE,$EEE,$EEE,$EEE,$EEE, $8A, $46,$488,$2EE,$EE0,$EE0,$EE0,$EE0
- dc.w $68,$26A,$EEE, $AC,$EEE,$EEE,$EEE,$EEE, $46,$488,$2EE, $8A, $E0, $E0, $E0, $E0
+AnPal_PalSlots_2:
+ dc.w $268,$EEE, $AC, $68,$EEE,$EEE,$EEE,$EEE,$48A,$2EE, $8A, $46, $EE, $EE, $EE, $EE
+ dc.w $EEE, $AC, $68,$26A,$EEE,$EEE,$EEE,$EEE,$2EE, $8A, $46,$488,$E0E,$E0E,$E0E,$E0E
+ dc.w $AC, $68,$26A,$EEE,$EEE,$EEE,$EEE,$EEE, $8A, $46,$488,$2EE,$EE0,$EE0,$EE0,$EE0
+ dc.w $68,$26A,$EEE, $AC,$EEE,$EEE,$EEE,$EEE, $46,$488,$2EE, $8A, $E0, $E0, $E0, $E0
-AnPal_PalSlots_3: dc.w $E02,$E24,$E46,$E68,$E8A,$EAC
+AnPal_PalSlots_3:
+ dc.w $E02,$E24,$E46,$E68,$E8A,$EAC
AnPal_PalLRZ3: dc.w $424, $AE,$424, $AE,$424, $AE,$426, $8E,$428, $6E,$42A, $4E,$42C, $2E,$42E, $E
dc.w $42E, $E,$42E, $E,$42C, $2E,$42A, $4E,$428, $6E,$426, $8E,$424, $AE
@@ -3989,7 +3992,7 @@ SuperHyper_PalCycle_FadeIn:
SuperHyper_PalCycle_SonicApply:
lea (Normal_palette+$4).w,a1
move.l (a0,d0.w),(a1)+ ; Write first two palette entries
- move.w 4(a0,d0.w),(a1) ; Write last palette entry
+ move.w 4(a0,d0.w),(a1) ; Write last palette entry
tst.b (Water_flag).w
beq.s locret_37EC
@@ -4003,7 +4006,7 @@ SuperHyper_PalCycle_SonicApply:
SuperHyper_PalCycle_ApplyUnderwater:
lea (Water_palette+$4).w,a1
move.l (a0,d0.w),(a1)+ ; Write first two palette entries
- move.w 4(a0,d0.w),(a1) ; Write last palette entry
+ move.w 4(a0,d0.w),(a1) ; Write last palette entry
locret_37EC:
rts
@@ -4096,12 +4099,12 @@ SuperHyper_PalCycle_HyperSonicApply:
; and other areas of code do branch to it instead of duplicating the code as seen here
lea (Normal_palette+$4).w,a1
move.l (a0,d0.w),(a1)+ ; Write first two palette entries
- move.w 4(a0,d0.w),(a1) ; Write last palette entry
+ move.w 4(a0,d0.w),(a1) ; Write last palette entry
tst.b (Water_flag).w
beq.w locret_37EC
lea (Water_palette+$4).w,a1
move.l (a0,d0.w),(a1)+ ; Write first two palette entries
- move.w 4(a0,d0.w),(a1) ; Write last palette entry
+ move.w 4(a0,d0.w),(a1) ; Write last palette entry
rts
; ---------------------------------------------------------------------------
@@ -4178,7 +4181,6 @@ PalCycle_SuperSonic:
dc.w $AEE,$8EE,$6CC
dc.w $8EE,$0EE,$0AA
dc.w $AEE,$8EE,$6CC
-
PalCycle_SuperSonicUnderwaterAIZICZ:
dc.w $A82,$860,$640
dc.w $E88,$C66,$844
@@ -4190,7 +4192,6 @@ PalCycle_SuperSonicUnderwaterAIZICZ:
dc.w $AEC,$8EC,$6CA
dc.w $8EC,$4EA,$4A8
dc.w $CEE,$CEC,$AEC
-
PalCycle_SuperSonicUnderwaterHCZCNZLBZ:
dc.w $C66,$A44,$624
dc.w $E88,$C66,$844
@@ -4202,7 +4203,6 @@ PalCycle_SuperSonicUnderwaterHCZCNZLBZ:
dc.w $AEC,$8EC,$6CA
dc.w $8EC,$4EA,$4A8
dc.w $CEE,$CEC,$AEC
-
PalCycle_HyperSonic:
dc.w $EEC,$ECA,$EA8
dc.w $EEE,$EEE,$EEE
@@ -4216,7 +4216,6 @@ PalCycle_HyperSonic:
dc.w $EEE,$EEE,$EEE
dc.w $EEE,$ECE,$CAC
dc.w $EEE,$EEE,$EEE
-
PalCycle_SuperTails:
dc.w $0AE,$08E,$46A
dc.w $4CE,$2AE,$46A
@@ -4224,7 +4223,6 @@ PalCycle_SuperTails:
dc.w $AEE,$8CE,$48E
dc.w $8CE,$4CE,$46C
dc.w $4CE,$2AE,$46A
-
PalCycle_SuperHyperKnuckles:
dc.w $A6E,$64E,$428
dc.w $C8E,$86E,$64A
@@ -4236,7 +4234,6 @@ PalCycle_SuperHyperKnuckles:
dc.w $C8E,$86E,$64A
dc.w $A6E,$64E,$428
dc.w $84E,$40C,$206
-
PalCycle_SuperHyperKnucklesRevert:
dc.w $64E,$20C,$206
@@ -4479,7 +4476,7 @@ loc_3C76:
; =============== S U B R O U T I N E =======================================
-Pal_FromBlackWhite:
+Pal_FadeFromWhite:
move.w #$3F,(Palette_fade_info).w
bsr.s Pal_FillWhite
move.w #$15,d4
@@ -4491,7 +4488,7 @@ loc_3C8E:
bsr.w Process_Nem_Queue_Init
dbf d4,loc_3C8E
rts
-; End of function Pal_FromBlackWhite
+; End of function Pal_FadeFromWhite
; =============== S U B R O U T I N E =======================================
@@ -4733,8 +4730,8 @@ Sega_Screen:
; ---------------------------------------------------------------------------
Title_Screen:
- moveq #mus_FadeOut,d0
- bsr.w Play_Sound ; Fade music if any is playing
+ moveq #signextendB(mus_FadeOut),d0
+ bsr.w Play_Music ; Fade music if any is playing
clr.w (Kos_decomp_queue_count).w
lea (Kos_decomp_stored_registers).w,a1
moveq #0,d0
@@ -4854,8 +4851,8 @@ loc_3F9E:
ori.b #$40,d0
move.w d0,(VDP_control_port).l ; Turn the display on
bsr.w Pal_FadeFromBlack ; Fade in to logo
- moveq #mus_SEGA,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_SEGA),d0
+ bsr.w Play_Music
move.w #$B4,(Demo_timer).w ; Set to wait for 3 seconds
Wait_SegaS3K:
@@ -4868,8 +4865,8 @@ Wait_SegaS3K:
bne.s Wait_SegaS3K
loc_3FE4:
- moveq #mus_StopSEGA,d0
- bsr.w Play_Sound ; Stop SEGA sound
+ moveq #signextendB(mus_StopSEGA),d0
+ bsr.w Play_Music ; Stop SEGA sound
lea (Pal_Title).l,a1
loc_3FF0:
@@ -4898,8 +4895,8 @@ loc_4040:
lea (ArtKos_S3TitleSonic8).l,a1
lea (RAM_start).l,a2
jsr (Queue_Kos).l ; Queue frame 8 of data into a2 since frame 1 is already in VRAM
- moveq #mus_TitleScreen,d0
- bsr.w Play_Sound ; Start playing the title screen music
+ moveq #signextendB(mus_TitleScreen),d0
+ bsr.w Play_Music ; Start playing the title screen music
Wait_TitleS3K:
move.b #4,(V_int_routine).w
@@ -5010,8 +5007,8 @@ loc_41D4:
move.b d0,(Continue_count).w
move.l #5000,(Next_extra_life_score).w
move.l #5000,(Next_extra_life_score_P2).w ;CHECKLATER
- moveq #mus_FadeOut,d0
- bsr.w Play_Sound ; Fade out the title screen music
+ moveq #signextendB(mus_FadeOut),d0
+ bsr.w Play_Music ; Fade out the title screen music
moveq #0,d0
move.b (Title_screen_option).w,d0 ; Selection is stored here.
bne.w loc_4264
@@ -5032,8 +5029,8 @@ loc_4270:
; ---------------------------------------------------------------------------
loc_4278:
- moveq #mus_FadeOut,d0
- bsr.w Play_Sound ; Fade out music
+ moveq #signextendB(mus_FadeOut),d0
+ bsr.w Play_Music ; Fade out music
move.w (Next_demo_number).w,d0 ; Get index of current demo to run
move.w d0,(Demo_number).w
andi.w #7,d0
@@ -5059,6 +5056,8 @@ loc_42B6:
moveq #0,d1
bra.s loc_42C8
; ---------------------------------------------------------------------------
+; unused/dead code, since it's not possible to reach the S3K title screen in S&K mode
+; Even if were, this sets the next demo to a S3 level, which would crash S&K when played
loc_42C0:
cmpi.w #3,d1
@@ -5073,7 +5072,7 @@ loc_42C8:
move.b #1,(Current_special_stage).w
move.b #1,(SK_special_stage_flag).w
move.b #7,(Current_zone).w
- clr.w (Emerald_count).w
+ clr.w (Emerald_counts).w
clr.l (Collected_emeralds_array).w
clr.w (Collected_emeralds_array+4).w
clr.b (Collected_emeralds_array+6).w
@@ -5099,14 +5098,13 @@ loc_4306:
move.l #5000,(Next_extra_life_score_P2).w
rts
; ---------------------------------------------------------------------------
-DemoLevels: dc.w 0 ; Angel Island
- dc.w $100 ; Hydrocity
- dc.w $200 ; Marble Garden
- dc.w $700 ; Mushroom Hill
- dc.w $400 ; Flying Battery
- dc.w $800 ; Sandopolis
- dc.w $FFFF
-
+DemoLevels: dc.w 0 ; Angel Island
+ dc.w $100 ; Hydrocity
+ dc.w $200 ; Marble Garden
+ dc.w $700 ; Mushroom Hill
+ dc.w $400 ; Flying Battery
+ dc.w $800 ; Sandopolis
+ dc.w $FFFF
; ---------------------------------------------------------------------------
@@ -5181,7 +5179,7 @@ loc_43F2:
; End of function Iterate_TitleSonicFrame
; ---------------------------------------------------------------------------
-SonicFrameIndex: dc.b 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $FF
+SonicFrameIndex:dc.b 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $FF
; =============== S U B R O U T I N E =======================================
@@ -5279,7 +5277,8 @@ loc_44E2:
; End of function TitleSonic_LoadFrame
; ---------------------------------------------------------------------------
-TitleSonic_Frames:dc.l ArtKos_S3TitleSonic1 ;S3DATA
+TitleSonic_Frames:
+ dc.l ArtKos_S3TitleSonic1 ;S3DATA
dc.l Pal_TitleSonic1
dc.l MapEni_S3TitleSonic1 ;S3DATA
dc.l ArtKos_S3TitleSonic1 ;S3DATA
@@ -5319,48 +5318,33 @@ TitleSonic_Frames:dc.l ArtKos_S3TitleSonic1 ;S3DATA
dc.l Pal_TitleSonicD
dc.l MapEni_S3TitleSonicD ;S3DATA
Pal_Title: binclude "General/Title/Palettes/S3.bin"
- even
-
+ even
Pal_TitleSonic1:binclude "General/Title/Palettes/S3 Sonic 1.bin"
- even
-
+ even
Pal_TitleSonic2:binclude "General/Title/Palettes/S3 Sonic 2.bin"
- even
-
+ even
Pal_TitleSonic3:binclude "General/Title/Palettes/S3 Sonic 3.bin"
- even
-
+ even
Pal_TitleSonic4:binclude "General/Title/Palettes/S3 Sonic 4.bin"
- even
-
+ even
Pal_TitleSonic5:binclude "General/Title/Palettes/S3 Sonic 5.bin"
- even
-
+ even
Pal_TitleSonic6:binclude "General/Title/Palettes/S3 Sonic 6.bin"
- even
-
+ even
Pal_TitleSonic7:binclude "General/Title/Palettes/S3 Sonic 7.bin"
- even
-
+ even
Pal_TitleSonic8:binclude "General/Title/Palettes/S3 Sonic 8.bin"
- even
-
+ even
Pal_TitleSonic9:binclude "General/Title/Palettes/S3 Sonic 9.bin"
- even
-
+ even
Pal_TitleSonicA:binclude "General/Title/Palettes/S3 Sonic A.bin"
- even
-
+ even
Pal_TitleSonicB:binclude "General/Title/Palettes/S3 Sonic B.bin"
- even
-
+ even
Pal_TitleSonicC:binclude "General/Title/Palettes/S3 Sonic C.bin"
- even
-
+ even
Pal_TitleSonicD:binclude "General/Title/Palettes/S3 Sonic D.bin"
- even
-
-
+ even
; ---------------------------------------------------------------------------
Obj_TitleBanner:
@@ -5426,8 +5410,9 @@ loc_48F2:
move.l Pal_TitleWaterRot(pc,d0.w),(Target_palette_line_3+$1A).w
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Pal_TitleWaterRot: binclude "General/Title/Palettes/S3 Water Anim.bin"
- even
+Pal_TitleWaterRot:
+ binclude "General/Title/Palettes/S3 Water Anim.bin"
+ even
; ---------------------------------------------------------------------------
Obj_TitleTM:
@@ -5467,8 +5452,8 @@ Obj_TitleANDKnuckles_Display:
move.w d0,$14(a0)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_TitleANDKnuckles: include "General/Title/Map - S3 ANDKnuckles.asm"
-
+Map_TitleANDKnuckles:
+ include "General/Title/Map - S3 ANDKnuckles.asm"
; ---------------------------------------------------------------------------
; Dead code
@@ -5486,8 +5471,8 @@ OldDebugCode:
tst.b 1(a1)
bne.s locret_4A10
move.w #$101,(Debug_cheat_flag).w
- moveq #sfx_RingLoss,d0
- bsr.w Play_Sound_2
+ moveq #signextendB(sfx_RingLoss),d0
+ bsr.w Play_SFX
loc_4A0A:
move.w #0,(Debug_mode_cheat_counter).w
@@ -5495,18 +5480,8 @@ loc_4A0A:
locret_4A10:
rts
; ---------------------------------------------------------------------------
-OldDebugCodeDat:dc.b $20
- dc.b $30
- dc.b $70
- dc.b $10
- dc.b $50
- dc.b $70
- dc.b $40
- dc.b $60
- dc.b $70
- dc.b $71
- dc.b $72
- dc.b 0
+OldDebugCodeDat:dc.b $20, $30, $70, $10, $50, $70, $40, $60, $70, $71, $72, 0
+ even
; ---------------------------------------------------------------------------
Obj_TitleCopyright:
@@ -5565,8 +5540,8 @@ loc_4AC8:
move.b d2,(Title_screen_option).w
andi.b #3,d0
beq.s loc_4ADE
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l ; Only play sound if selection was changed
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l ; Only play sound if selection was changed
loc_4ADE:
jmp (Draw_Sprite).l
@@ -5590,8 +5565,8 @@ Obj_TitleSonicFinger_Display:
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_TitleSonicFinger: include "General/Title/Anim - S3 Sonic Finger.asm"
-
+Ani_TitleSonicFinger:
+ include "General/Title/Anim - S3 Sonic Finger.asm"
; ---------------------------------------------------------------------------
Obj_TitleSonicWink:
@@ -5612,8 +5587,8 @@ Obj_TitleSonicWink_Display:
jsr (Animate_SpriteIrregularDelay).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_TitleSonicWink: include "General/Title/Anim - S3 Sonic Wink.asm"
-
+Ani_TitleSonicWink:
+ include "General/Title/Anim - S3 Sonic Wink.asm"
; ---------------------------------------------------------------------------
Obj_TitleTailsPlane:
@@ -5658,16 +5633,14 @@ loc_4C28:
loc_4C3E:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_TitleTailsPlane: include "General/Title/Anim - S3 Tails Plane.asm"
-
+Ani_TitleTailsPlane:
+ include "General/Title/Anim - S3 Tails Plane.asm"
; =============== S U B R O U T I N E =======================================
S3_Level_Select_Code:
rts
-; End of function S3_Level_Select_Code
-
; ---------------------------------------------------------------------------
lea (LSelect3CodeDat).l,a1
move.w (Level_select_cheat_counter).w,d0
@@ -5683,35 +5656,29 @@ S3_Level_Select_Code:
bne.s locret_4C90
move.w #$101,(Level_select_flag).w
move.w #$101,(Debug_cheat_flag).w
- moveq #sfx_RingRight,d0
- bsr.w Play_Sound_2
+ moveq #signextendB(sfx_RingRight),d0
+ bsr.w Play_SFX
loc_4C8A:
move.w #0,(Level_select_cheat_counter).w
locret_4C90:
rts
-; ---------------------------------------------------------------------------
-LSelect3CodeDat:dc.b 1
- dc.b 1
- dc.b 2
- dc.b 2
- dc.b 1
- dc.b 1
- dc.b 1
- dc.b 1
- dc.b 0
- dc.b 0
-Map_TitleScreenText: include "General/Title/Map - S3 Screen Text.asm"
-
-ArtNem_TitleScreenText:binclude "General/Title/Nemesis Art/S3 Screen Text.bin"
- even
-
-Map_TitleSonicAnim: include "General/Title/Map - S3 Sonic Anim.asm"
-
-Map_TitleTailsPlane: include "General/Title/Map - S3 Tails Plane.asm"
+; End of function S3_Level_Select_Code
; ---------------------------------------------------------------------------
+LSelect3CodeDat:dc.b 1, 1, 2, 2, 1, 1, 1, 1, 0
+ even
+Map_TitleScreenText:
+ include "General/Title/Map - S3 Screen Text.asm"
+ArtNem_TitleScreenText:
+ binclude "General/Title/Nemesis Art/S3 Screen Text.bin"
+ even
+Map_TitleSonicAnim:
+ include "General/Title/Map - S3 Sonic Anim.asm"
+Map_TitleTailsPlane:
+ include "General/Title/Map - S3 Tails Plane.asm"
+; ---------------------------------------------------------------------------
SK_Alone_Title_Screen:
lea (ArtKos_SKTitleScreenBG).l,a0
@@ -5819,8 +5786,8 @@ loc_51F4:
ori.b #$40,d0
move.w d0,(VDP_control_port).l ; Turn the display on
bsr.w Pal_FadeFromBlack ; Fade to Sega screen
- moveq #mus_SEGA,d0 ; SEGA sound
- bsr.w Play_Sound
+ moveq #signextendB(mus_SEGA),d0 ; SEGA sound
+ bsr.w Play_Music
loc_520C:
move.b #$14,(V_int_routine).w
@@ -5836,8 +5803,8 @@ loc_520C:
bne.s loc_520C ; Otherwise, wait for vsync timer to run out
loc_523A:
- moveq #mus_StopSEGA,d0
- bsr.w Play_Sound ; Stop the SEGA sound if necessary
+ moveq #signextendB(mus_StopSEGA),d0
+ bsr.w Play_Music ; Stop the SEGA sound if necessary
lea (Pal_SKTitle_Sonic).l,a0
lea (Target_palette).w,a1
moveq #$1F,d0
@@ -5853,8 +5820,8 @@ loc_524C:
move.l #Obj_SKTitle_SonicFall,(Player_1).w
move.l #Obj_SKTitle_DeathEgg,(Player_2).w
move.l #Obj_SKTitle_Mountain,(Reserved_object_3).w
- moveq #mus_TitleScreen,d0
- bsr.w Play_Sound ; Play the title screen music
+ moveq #signextendB(mus_TitleScreen),d0
+ bsr.w Play_Music ; Play the title screen music
move.b #3,(Life_count).w
move.w #$438,(Demo_timer).w ; 18 second delay (1080 frames NTSC)
btst #6,(Graphics_flags).w
@@ -5954,8 +5921,8 @@ loc_539A:
move.b d0,(Continue_count).w
move.l #5000,(Next_extra_life_score).w
move.l #5000,(Next_extra_life_score_P2).w
- moveq #mus_FadeOut,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_FadeOut),d0
+ bsr.w Play_Music
moveq #0,d0
move.b (Title_screen_option).w,d0
cmpi.b #2,d0
@@ -5968,7 +5935,7 @@ loc_539A:
move.w d0,(Apparent_zone_and_act).w
move.w d0,(Saved_zone_and_act).w
clr.w (Current_special_stage).w
- clr.w (Emerald_count).w
+ clr.w (Emerald_counts).w
clr.l (Collected_emeralds_array).w
clr.w (Collected_emeralds_array+4).w
clr.b (Collected_emeralds_array+6).w
@@ -5987,8 +5954,8 @@ locret_546A:
; ---------------------------------------------------------------------------
loc_546C:
- moveq #mus_FadeOut,d0 ; Start demo by fading out music
- bsr.w Play_Sound
+ moveq #signextendB(mus_FadeOut),d0 ; Start demo by fading out music
+ bsr.w Play_Music
move.w (Next_demo_number).w,d0 ; Get demo number
cmpi.w #3,d0
bhs.s loc_547E
@@ -6018,7 +5985,7 @@ loc_54AE:
move.b #1,(Current_special_stage).w
move.b #1,(SK_special_stage_flag).w
move.b #7,(Current_zone).w
- clr.w (Emerald_count).w
+ clr.w (Emerald_counts).w
clr.l (Collected_emeralds_array).w
clr.w (Collected_emeralds_array+4).w
clr.b (Collected_emeralds_array+6).w
@@ -6073,16 +6040,15 @@ Prep_MHZDemo:
; End of function Prep_MHZDemo
; ---------------------------------------------------------------------------
-Pal_SKTitle_Sonic: binclude "General/Title/Palettes/SK Sonic.bin" ;5588.bin"
- even
-
-Pal_SKTitle_SegaBG: binclude "General/Title/Palettes/SK Sega and BG.bin" ;55A8.bin"
- even
-
-Pal_SKTitle_Knux: binclude "General/Title/Palettes/SK Knuckles.bin" ;5608.bin"
- even
-
-
+Pal_SKTitle_Sonic:
+ binclude "General/Title/Palettes/SK Sonic.bin"
+ even
+Pal_SKTitle_SegaBG:
+ binclude "General/Title/Palettes/SK Sega and BG.bin"
+ even
+Pal_SKTitle_Knux:
+ binclude "General/Title/Palettes/SK Knuckles.bin"
+ even
; ---------------------------------------------------------------------------
Obj_SKTitle_SonicFall:
@@ -6109,7 +6075,7 @@ loc_5666:
addq.w #8,(Camera_Y_pos).w ; Otherwise scroll foreground by 8 pixels
cmpi.w #$C8,(Camera_Y_pos).w
bne.s loc_5698
- lea (ArtKosM_SonicLand).l,a1 ; Once foreground has hit C8 Y
+ lea (ArtKosM_SonicLand).l,a1 ; Once foreground has hit C8 Y
move.w #$8C40,d2
jsr (Queue_Kos_Module).l ; Queue the landing frames into VRAM
@@ -6447,13 +6413,16 @@ loc_5A80:
; End of function sub_5A50
; ---------------------------------------------------------------------------
-SKTitle_AnimSmile: dc.b 5, 0, 3, 6, $FE, 1
-SKTitle_AnimFinger: dc.b 3, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29
- dc.b $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, 0, 0, $29, $52, $29, 0, $29
- dc.b $52, $29, 0, $29, $52, $29, $FF
-SKTitle_AnimKnuckle1: dc.b 3, 0, 0, 0, 0, 0, 0, 0, 0, $2F, $5E, $2F, 0, $2F, $5E, $2F, $FF
-SKTitle_AnimKnuckle2: dc.b 3, 0, 0, $14, $28, $14, 0, 0, $FF, 0
-
+SKTitle_AnimSmile:
+ dc.b 5, 0, 3, 6, $FE, 1
+SKTitle_AnimFinger:
+ dc.b 3, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29
+ dc.b $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, $29, 0, 0, $29, $52, $29, 0, $29
+ dc.b $52, $29, 0, $29, $52, $29, $FF
+SKTitle_AnimKnuckle1:
+ dc.b 3, 0, 0, 0, 0, 0, 0, 0, 0, $2F, $5E, $2F, 0, $2F, $5E, $2F, $FF
+SKTitle_AnimKnuckle2:
+ dc.b 3, 0, 0, $14, $28, $14, 0, 0, $FF, 0
; ---------------------------------------------------------------------------
Obj_SKTitle_Icon:
@@ -6506,8 +6475,8 @@ loc_5B8C:
move.b d2,(Title_screen_option).w ; Move selection
andi.b #3,d0
beq.s loc_5B9E
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l ; Only play sound if selection was made
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l ; Only play sound if selection was made
loc_5B9E:
move.b $26(a0),d0
@@ -6570,8 +6539,8 @@ Obj_SKTitle_Icon2Display:
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_SKTitle_Icon: include "General/Title/Anim - SK Icon.asm"
-
+Ani_SKTitle_Icon:
+ include "General/Title/Anim - SK Icon.asm"
; ---------------------------------------------------------------------------
Obj_SKTitle_TM:
@@ -6823,53 +6792,56 @@ loc_5E8C:
; End of function SKTitle_DeformBG
; ---------------------------------------------------------------------------
-SKTitle_ShakeOffsets: dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0
- dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3
- dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0
- dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3, 1, 2
- even
-Map_SKTitle_Icon: include "General/Title/Map - SK Icon.asm" ;5ED8.asm"
- even
-Map_SKTitle_TM: include "General/Title/Map - SK TM.asm" ;5F62.asm"
- even
-Map_SKTitle_Copyright: include "General/Title/Map - SK Copyright.asm" ;5F6C.asm"
- even
+SKTitle_ShakeOffsets:
+ dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0
+ dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3
+ dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0
+ dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3, 1, 2
+ even
+Map_SKTitle_Icon:
+ include "General/Title/Map - SK Icon.asm"
+ even
+Map_SKTitle_TM:
+ include "General/Title/Map - SK TM.asm"
+ even
+Map_SKTitle_Copyright:
+ include "General/Title/Map - SK Copyright.asm"
+ even
; ---------------------------------------------------------------------------
-
LevelMusic_Playlist:
- dc.b mus_AIZ1, mus_AIZ2 ; ANGEL ISLAND ZONE
- dc.b mus_HCZ1, mus_HCZ2 ; HYDROCITY ZONE ACT
- dc.b mus_MGZ1, mus_MGZ2 ; MARBLE GARDEN ZONE
- dc.b mus_CNZ1, mus_CNZ2 ; CARNIVAL NIGHT ZONE
- dc.b mus_FBZ1, mus_FBZ2 ; FLYING BATTERY ZONE
- dc.b mus_ICZ1, mus_ICZ2 ; ICE CAP ZONE
- dc.b mus_LBZ1, mus_LBZ2 ; LAUNCH BASE ZONE
- dc.b mus_MHZ1, mus_MHZ2 ; MUSHROOM HILL ZONE
- dc.b mus_SOZ1, mus_SOZ2 ; SANDOPOLIS ZONE
- dc.b mus_LRZ1, mus_HPZ ; LAVA REEF ZONE
- dc.b mus_SSZ, mus_SSZ ; SKY SANCTUARY ZONE
- dc.b mus_DEZ1, mus_DEZ2 ; DEATH EGG ZONE
- dc.b mus_DDZ, mus_DDZ ; DOOMSDAY ZONE
- dc.b mus_SpecialStage, mus_SSZ ; AIZ INTRO & ENDING
- dc.b mus_ALZ, mus_ALZ ; AZURE LAKE ZONE
- dc.b mus_BPZ, mus_BPZ ; BALLOON PARK ZONE
- dc.b mus_DPZ, mus_DPZ ; DESERT PALACE ZONE
- dc.b mus_CGZ, mus_CGZ ; CHROME GADGET ZONE
- dc.b mus_EMZ, mus_EMZ ; ENDLESS MINE ZONE
- dc.b mus_Gumball, mus_Gumball ; GUMBALL
- dc.b mus_MagneticOrbs, mus_MagneticOrbs; PACHINKO
- dc.b mus_SlotMachine, mus_SlotMachine ; SLOTS
- dc.b mus_EndBoss, mus_HPZ ; LAVA REEF ZONE BOSS & HIDDEN PALACE ZONE
- dc.b mus_DEZ2, mus_HPZ ; FINAL BOSS & SPECIAL STAGE?
- even
+ dc.b mus_AIZ1, mus_AIZ2 ; ANGEL ISLAND ZONE
+ dc.b mus_HCZ1, mus_HCZ2 ; HYDROCITY ZONE
+ dc.b mus_MGZ1, mus_MGZ2 ; MARBLE GARDEN ZONE
+ dc.b mus_CNZ1, mus_CNZ2 ; CARNIVAL NIGHT ZONE
+ dc.b mus_FBZ1, mus_FBZ2 ; FLYING BATTERY ZONE
+ dc.b mus_ICZ1, mus_ICZ2 ; ICECAP ZONE
+ dc.b mus_LBZ1, mus_LBZ2 ; LAUNCH BASE ZONE
+ dc.b mus_MHZ1, mus_MHZ2 ; MUSHROOM HILL ZONE
+ dc.b mus_SOZ1, mus_SOZ2 ; SANDOPOLIS ZONE
+ dc.b mus_LRZ1, mus_LRZ2 ; LAVA REEF ZONE
+ dc.b mus_SSZ, mus_SSZ ; SKY SANCTUARY ZONE
+ dc.b mus_DEZ1, mus_DEZ2 ; DEATH EGG ZONE
+ dc.b mus_DDZ, mus_DDZ ; DOOMSDAY ZONE
+ dc.b mus_SpecialStage, mus_SSZ ; AIZ INTRO & ENDING
+ dc.b mus_ALZ, mus_ALZ ; AZURE LAKE ZONE
+ dc.b mus_BPZ, mus_BPZ ; BALLOON PARK ZONE
+ dc.b mus_DPZ, mus_DPZ ; DESERT PALACE ZONE
+ dc.b mus_CGZ, mus_CGZ ; CHROME GADGET ZONE
+ dc.b mus_EMZ, mus_EMZ ; ENDLESS MINE ZONE
+ dc.b mus_Gumball, mus_Gumball ; GUMBALL
+ dc.b mus_Pachinko, mus_Pachinko ; PACHINKO
+ dc.b mus_Slots, mus_Slots ; SLOTS
+ dc.b mus_EndBoss, mus_LRZ2 ; LAVA REEF ZONE BOSS & HIDDEN PALACE ZONE
+ dc.b mus_DEZ2, mus_LRZ2 ; FINAL BOSS & SPECIAL STAGE HUB
+ even
; ---------------------------------------------------------------------------
Level:
bset #7,(Game_mode).w ; Set bit 7 of F600 is indicate that we're loading the level
tst.w (Demo_mode_flag).w
bmi.s loc_5FC4
- moveq #mus_FadeOut,d0 ; If a demo
- bsr.w Play_Sound
+ moveq #signextendB(mus_FadeOut),d0 ; If a demo
+ bsr.w Play_Music
loc_5FC4:
clr.w (Ending_running_flag).w
@@ -6920,6 +6892,8 @@ loc_6034:
loc_6040:
move.w (Current_zone_and_act).w,d0
+
+ ; Useless code. Player_mode has not been set yet, and level $D00 has the same PLCs as level 0
bne.s loc_6058
cmpi.w #2,(Player_mode).w ; If level is Angel Island 1
bhs.s loc_6054
@@ -7092,7 +7066,7 @@ loc_61FC:
bne.s loc_622A
cmpi.b #3,(Last_star_post_hit).w
bne.s loc_622A
- moveq #mus_AIZ1,d0
+ moveq #signextendB(mus_AIZ1),d0
loc_622A:
cmpi.w #$700,(Current_zone_and_act).w
@@ -7103,11 +7077,11 @@ loc_622A:
beq.s loc_6248
tst.b (Last_star_post_hit).w
bne.s loc_6248
- moveq #mus_Knuckles,d0
+ moveq #signextendB(mus_Knuckles),d0
loc_6248:
- move.w d0,(Level_music).w
- bsr.w Play_Sound
+ move.w d0,(Current_music).w
+ bsr.w Play_Music
tst.w (Current_zone_and_act).w
bne.s loc_6268
cmpi.w #2,(Player_mode).w
@@ -7237,10 +7211,10 @@ loc_6404:
move.w d0,(Total_ring_count_P2).w
move.w d0,(Monitors_broken).w
move.w d0,(Monitors_broken_P2).w
- move.w d0,(_unkFEDE).w
+ move.w d0,(Loser_time_left).w
move.b d0,(LRZ_rocks_routine).w
move.b d0,(Super_Sonic_Knux_flag).w
- bsr.w sub_76E6
+ bsr.w OscillateNumInit
move.b #1,(Update_HUD_score).w
move.b #1,(Update_HUD_ring_count).w
move.b #1,(Update_HUD_timer).w
@@ -7321,12 +7295,12 @@ Level_NotLRZ:
jsr (Animate_Tiles).l
bsr.w Process_Nem_Queue_Init
jsr (Process_Kos_Module_Queue).l
- bsr.w sub_773C
- bsr.w sub_77D2
+ bsr.w OscillateNumDo
+ bsr.w ChangeRingFrame
jsr (Render_Sprites).l
cmpi.b #$15,(Current_zone).w
bne.s Level_NotSlots
- jsr (Ending_4B356).l
+ jsr (Slots_RenderLayout).l
jsr (Slots_CycleOptions).l
Level_NotSlots:
@@ -7524,7 +7498,7 @@ locret_67EC:
SpawnLevelMainSprites:
- move.l #Obj_Level_6C2C,(Reserved_object_3).w
+ move.l #Obj_ResetCollisionResponseList,(Reserved_object_3).w
bsr.w SpawnLevelMainSprites_SpawnPlayers
bsr.w SpawnLevelMainSprites_SpawnPowerup
tst.b (Last_star_post_hit).w
@@ -7708,7 +7682,7 @@ loc_6A02:
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #4,$2B(a1)
- move.l #Obj_Fire_Shield,(Shield).w
+ move.l #Obj_FireShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
@@ -7719,7 +7693,7 @@ loc_6A28:
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #5,$2B(a1)
- move.l #Obj_Lightning_Shield,(Shield).w
+ move.l #Obj_LightningShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
@@ -7730,7 +7704,7 @@ loc_6A4E:
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #6,$2B(a1)
- move.l #Obj_Bubble_Shield,(Shield).w
+ move.l #Obj_BubbleShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
@@ -7769,7 +7743,7 @@ loc_6AB8:
bne.s loc_6B1E
move.l #Obj_Sonic,(Player_1).w
move.l #Obj_DashDust,(Dust).w
- move.l #Obj_Insta_Shield,(Shield).w
+ move.l #Obj_InstaShield,(Shield).w
move.w #Player_1,(Shield+parent).w
move.l #Obj_Tails,(Player_2).w
move.w (Player_1+x_pos).w,(Player_2+x_pos).w
@@ -7786,7 +7760,7 @@ loc_6B1E:
bne.s loc_6B42
move.l #Obj_Sonic,(Player_1).w
move.l #Obj_DashDust,(Dust).w
- move.l #Obj_Insta_Shield,(Shield).w
+ move.l #Obj_InstaShield,(Shield).w
move.w #Player_1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
@@ -7871,11 +7845,10 @@ loc_6C04:
rts
; ---------------------------------------------------------------------------
Pal_Level_2P: binclude "Levels/Misc/Palettes/2P Level Secondary.bin"
- even
-
+ even
; ---------------------------------------------------------------------------
-Obj_Level_6C2C:
+Obj_ResetCollisionResponseList:
move.w #0,(Collision_response_list).w
rts
@@ -7985,9 +7958,9 @@ loc_6D26:
bsr.w sub_714E
rts
; ---------------------------------------------------------------------------
-StartingWaterHeights: binclude "Levels/Misc/StartingWaterHeights.bin"
- even
-
+StartingWaterHeights:
+ binclude "Levels/Misc/StartingWaterHeights.bin"
+ even
; =============== S U B R O U T I N E =======================================
@@ -8333,7 +8306,8 @@ locret_705A:
; End of function HCZ_WaterTunnels
; ---------------------------------------------------------------------------
-HCZ1_WaterTunLocs: dc.w $E
+HCZ1_WaterTunLocs:
+ dc.w $E
dc.w $380, $580, $5A0, $5C0, $3F0, $FFE0, 0 ; Min X, Min Y, Max X, Max Y, X Velo, Y Velo, Player can influence which axis flag (Set = X, Clear = Y)
dc.w $5A0, $560, $A80, $5C0, $3F0, $FFF0, 0
dc.w $1400, $A80, $15A0, $AC0, $400, 0, 0
@@ -8349,11 +8323,11 @@ HCZ1_WaterTunLocs: dc.w $E
dc.w $2EE0, $790, $2F50, $800, $300, $FD00, $100
dc.w $2F00, $700, $2F70, $790, $100, $FC00, $100
dc.w $2F30, $680, $2F70, $700, 0, $FC00, $100
-HCZ2_WaterTunLocs: dc.w 1
+HCZ2_WaterTunLocs:
+ dc.w 1
dc.w $3980, $800, $3AA0, $840, $400, 0, 0
dc.w $3AA0, $7C0, $3F00, $840, $400, $FFC0, 0
-
; =============== S U B R O U T I N E =======================================
@@ -8660,8 +8634,8 @@ loc_7402:
move.b (V_int_run_count+3).w,d0
andi.b #$F,d0
bne.s locret_7446
- moveq #sfx_SlideSkidQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SlideSkidQuiet),d0
+ jsr (Play_SFX).l
locret_7446:
rts
@@ -8698,13 +8672,10 @@ loc_747C:
; ---------------------------------------------------------------------------
dc.b $1C, $72, $83, $84, $8B, $91, $9F, $A0, $A5, $A6
byte_7498: dc.b $2E, $C6, $33, $C5, $24, $2A, $44, $1F, $27, $2B
-
byte_74A2: dc.b $F8, $F8, 8, 8, $F4, $F4, $F4, $C, $C, $C, $F, $13, $14, $15, $16, $17, $35, $6C, $6D, $76
dc.b $77, $7E, $7F, $85, $8A, $8C, $90
-
byte_74BD: dc.b $F8, 0, $F8, 0, $FA, 1, $FA, 2, $F8, 0, $F8, 0, $F8, 0, 6, 1, 0, 3, 6, 2
dc.b 8, 0, 8, 0, 8, 0, 8, 0, 8, 0, 0, 3, $F8, 0, 0
-
; ---------------------------------------------------------------------------
; Water palette transition tables
@@ -8970,64 +8941,48 @@ LoadSolids_SK_Interleaved_Format:
; =============== S U B R O U T I N E =======================================
-sub_76E6:
+OscillateNumInit:
lea (Oscillating_table).w,a1
- lea (word_76FA).l,a2
+ lea (Osc_Data).l,a2
moveq #(Oscillating_table_end-Oscillating_table)/2-1,d1
-loc_76F2:
+Osc_Loop:
move.w (a2)+,(a1)+
- dbf d1,loc_76F2
+ dbf d1,Osc_Loop
rts
-; End of function sub_76E6
+; End of function OscillateNumInit
; ---------------------------------------------------------------------------
-word_76FA: dc.w $7D
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $80
- dc.w 0
- dc.w $3848
- dc.w $EE
- dc.w $2080
- dc.w $B4
- dc.w $3080
- dc.w $10E
- dc.w $5080
- dc.w $1C2
- dc.w $7080
- dc.w $276
- dc.w $80
- dc.w 0
- dc.w $4000
- dc.w $FE
+Osc_Data: dc.w %0000000001111101 ; oscillation direction bitfield
+ dc.w $80, 0 ; baseline values
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $80, 0
+ dc.w $3848, $EE
+ dc.w $2080, $B4
+ dc.w $3080, $10E
+ dc.w $5080, $1C2
+ dc.w $7080, $276
+ dc.w $80, 0
+ dc.w $4000, $FE
; =============== S U B R O U T I N E =======================================
-sub_773C:
+OscillateNumDo:
tst.w (Competition_mode).w
bne.s loc_774A
cmpi.b #6,(Player_1+routine).w
- bhs.s locret_7790
+ bhs.s OscillateNumDo_Return
loc_774A:
lea (Oscillating_table).w,a1
- lea (word_7792).l,a2
+ lea (Osc_Data2).l,a2
move.w (a1)+,d3
moveq #$F,d1
@@ -9060,48 +9015,32 @@ loc_7786:
dbf d1,loc_7758
move.w d3,(Oscillating_table).w
-locret_7790:
+OscillateNumDo_Return:
rts
-; End of function sub_773C
+; End of function OscillateNumDo
; ---------------------------------------------------------------------------
-word_7792: dc.w 2
- dc.w $10
- dc.w 2
- dc.w $18
- dc.w 2
- dc.w $20
- dc.w 2
- dc.w $30
- dc.w 4
- dc.w $20
- dc.w 8
- dc.w 8
- dc.w 8
- dc.w $40
- dc.w 4
- dc.w $40
- dc.w 2
- dc.w $38
- dc.w 2
- dc.w $38
- dc.w 2
- dc.w $20
- dc.w 3
- dc.w $30
- dc.w 5
- dc.w $50
- dc.w 7
- dc.w $70
- dc.w 2
- dc.w $40
- dc.w 2
- dc.w $40
+Osc_Data2: dc.w 2, $10
+ dc.w 2, $18
+ dc.w 2, $20
+ dc.w 2, $30
+ dc.w 4, $20
+ dc.w 8, 8
+ dc.w 8, $40
+ dc.w 4, $40
+ dc.w 2, $38
+ dc.w 2, $38
+ dc.w 2, $20
+ dc.w 3, $30
+ dc.w 5, $50
+ dc.w 7, $70
+ dc.w 2, $40
+ dc.w 2, $40
; =============== S U B R O U T I N E =======================================
-sub_77D2:
+ChangeRingFrame:
subq.b #1,(Rings_frame_timer).w
bpl.s loc_77E8
move.b #7,(Rings_frame_timer).w
@@ -9123,7 +9062,7 @@ loc_77E8:
loc_780A:
addi.w #$180,(AIZ_vine_angle).w
rts
-; End of function sub_77D2
+; End of function ChangeRingFrame
; =============== S U B R O U T I N E =======================================
@@ -9315,7 +9254,7 @@ loc_7A22:
; ---------------------------------------------------------------------------
Pal_WaterKnux: binclude "Levels/Misc/Palettes/Water Knuckles Patch.bin"
- even
+ even
; ---------------------------------------------------------------------------
LevelSelect_S2Options:
@@ -9470,8 +9409,8 @@ loc_7BE4:
move.l (a1),(a2)+
clr.l (a1)+
dbf d1,loc_7BE4
- moveq #mus_DataSelect,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_DataSelect),d0
+ jsr (Play_Music).l
move.w #$707,(Demo_timer).w
clr.w (Competition_mode).w
clr.l (Camera_X_pos).w
@@ -9565,8 +9504,7 @@ LevelSelect_SpecialStageCheck:
move.b #1,(SK_special_stage_flag).w
bra.s LevelSelect_SpecialStage
; ---------------------------------------------------------------------------
-LS_Level_Order:
- dc.w 0 ; AIZ act 1
+LS_Level_Order: dc.w 0 ; AIZ act 1
dc.w 1 ; AIZ act 2
dc.w $100 ; HCZ act 1
dc.w $101 ; HCZ act 2
@@ -9622,8 +9560,8 @@ LevelSelect_CheckKnuckles:
LevelSelect_DenySelection:
- moveq #sfx_Error,d0 ; Play error buzzer sound
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Error),d0 ; Play error buzzer sound
+ jsr (Play_SFX).l
bra.w LevelSelect_Main
; ---------------------------------------------------------------------------
@@ -9674,10 +9612,10 @@ LevelSelect_StartZone:
move.w d0,(Demo_mode_flag).w
move.l #5000,(Next_extra_life_score).w
move.l #5000,(Next_extra_life_score_P2).w
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
moveq #0,d0
- move.w d0,(Competition_mode_monitors).w
+ move.w d0,(Competition_settings).w
move.w d0,(Competition_mode).w
cmpi.b #$E,(Current_zone).w
blo.s locret_7E62
@@ -9752,8 +9690,8 @@ loc_7EE4:
move.w d0,(Sound_test_sound).w
btst #4,d1
beq.s loc_7EF8
- moveq #mus_MutePSG,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_MutePSG),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_7EF8:
@@ -9765,14 +9703,14 @@ loc_7EF8:
blo.s .play_music
endif
if sfx_First<$ff
- cmpi.b #sfx__End,d0
+ cmpi.b #sfx_End,d0
bhi.s .play_music
endif
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
.play_music:
- jmp (Play_Sound).l
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
@@ -9794,7 +9732,7 @@ loc_7F1E:
rts
; ---------------------------------------------------------------------------
LevelSelect_SwitchTable:
- dc.b $12
+ dc.b $12 ; 0
dc.b $13 ; 1
dc.b $14 ; 2
dc.b $15 ; 3
@@ -9947,41 +9885,40 @@ loc_8036:
; ---------------------------------------------------------------------------
LevSel_MarkTable: ; 4 bytes per level select entry
; line primary, 2*column ($E fields), line secondary, 2*column secondary (1 field)
- dc.b 1, 6, 1,$24 ;0
+ dc.b 1, 6, 1,$24 ; 0
dc.b 1, 6, 2,$24
dc.b 4, 6, 4,$24
dc.b 4, 6, 5,$24
- dc.b 7, 6, 7,$24 ;4
+ dc.b 7, 6, 7,$24 ; 4
dc.b 7, 6, 8,$24
dc.b $A, 6, $A,$24
dc.b $A, 6, $B,$24
- dc.b $D, 6, $D,$24 ;8
+ dc.b $D, 6, $D,$24 ; 8
dc.b $D, 6, $E,$24
dc.b $10, 6,$10,$24
dc.b $10, 6,$11,$24
- dc.b $13, 6,$13,$24 ;$C
+ dc.b $13, 6,$13,$24 ; $C
dc.b $13, 6,$14,$24
dc.b $16, 6,$16,$24
dc.b $16, 6,$17,$24
- dc.b $19, 6,$19,$24 ;$10
+ dc.b $19, 6,$19,$24 ; $10
dc.b $19, 6,$1A,$24
; --- second column ---
dc.b 1,$2C, 1,$4A
dc.b 1,$2C, 2,$4A
- dc.b 4,$2C, 4,$4A ;$14
+ dc.b 4,$2C, 4,$4A ; $14
dc.b 4,$2C, 5,$4A
dc.b 7,$2C, 7,$4A
dc.b 7,$2C, 8,$4A
- dc.b $A,$2C, $A,$4A ;$18
+ dc.b $A,$2C, $A,$4A ; $18
dc.b $A,$2C, $B,$4A
dc.b $D,$2C, $D,$4A
dc.b $D,$2C, $E,$4A
- dc.b $10,$2C,$10,$4A ;$1C
+ dc.b $10,$2C,$10,$4A ; $1C
dc.b $10,$2C,$11,$4A
dc.b $13,$2C,$13,$4A
dc.b $13,$2C,$14,$4A
- dc.b $16,$2C,$16,$4A ;$20
-
+ dc.b $16,$2C,$16,$4A ; $20
LevSel_MappingOffsets:
dc.w planeLocH28(3,1)
dc.w planeLocH28(3,4)
@@ -10000,45 +9937,40 @@ LevSel_MappingOffsets:
dc.w planeLocH28($16,$10)
dc.w planeLocH28($16,$13)
dc.w planeLocH28($16,$16)
-
-LevelSelectText:
- levselstr "ANGEL ISLAND"
- levselstr "HYDROCITY"
- levselstr "MARBLE GARDEN"
- levselstr "CARNIVAL NIGHT"
- levselstr "ICECAP"
- levselstr "LAUNCH BASE"
- levselstr "MUSHROOM HILL"
- levselstr "FLYING BATTERY"
- levselstr "SANDOPOLIS"
- levselstr "LAVA REEF"
- levselstr "LAVA REEF"
- levselstr "SKY SANCTUARY"
- levselstr "DEATHEGG"
- levselstr "THE DOOMSDAY"
- levselstr "BONUS"
- levselstr "SPECIAL STAGE"
- levselstr "SOUND TEST *"
- even
-
-AniPLC_SONICMILES: zoneanimstart
+LevelSelectText:levselstr "ANGEL ISLAND"
+ levselstr "HYDROCITY"
+ levselstr "MARBLE GARDEN"
+ levselstr "CARNIVAL NIGHT"
+ levselstr "ICECAP"
+ levselstr "LAUNCH BASE"
+ levselstr "MUSHROOM HILL"
+ levselstr "FLYING BATTERY"
+ levselstr "SANDOPOLIS"
+ levselstr "LAVA REEF"
+ levselstr "LAVA REEF"
+ levselstr "SKY SANCTUARY"
+ levselstr "DEATHEGG"
+ levselstr "THE DOOMSDAY"
+ levselstr "BONUS"
+ levselstr "SPECIAL STAGE"
+ levselstr "SOUND TEST *"
+ even
+AniPLC_SONICMILES: zoneanimstart
; Sonic/Miles animated background
zoneanimdecl -1, ArtUnc_SONICMILES, 1, 6, $A
- dc.b 0,$C7
- dc.b $A, 5
- dc.b $14, 5
- dc.b $1E,$C7
- dc.b $14, 5
- dc.b $A, 5
- even
-
+ dc.b 0,$C7
+ dc.b $A, 5
+ dc.b $14, 5
+ dc.b $1E,$C7
+ dc.b $14, 5
+ dc.b $A, 5
+ even
zoneanimend
-
; ---------------------------------------------------------------------------
SpecialStage:
- moveq #mus_Stop,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_Stop),d0
+ bsr.w Play_Music
clr.w (Kos_decomp_queue_count).w
lea (Kos_decomp_stored_registers).w,a1
moveq #0,d0
@@ -10153,12 +10085,12 @@ loc_82A6:
move.l #$74000003,(VDP_control_port).l
lea (ArtNem_SStageShadow).l,a0
bsr.w Nem_Decomp
- lea (SSNum000_Map).l,a1
+ lea (MapUnc_SSNum000).l,a1
move.l #$40840003,d0
moveq #7,d1
moveq #2,d2
jsr (Plane_Map_To_VRAM).l
- lea (SSNum000_Map).l,a1
+ lea (MapUnc_SSNum000).l,a1
move.l #$40BC0003,d0
moveq #7,d1
moveq #2,d2
@@ -10211,12 +10143,12 @@ loc_8454:
move.w #$8C89,(VDP_control_port).l
move.w #$708,(Demo_timer).w
jsr (GetDemoPtr).l
- moveq #mus_SpecialStage,d0
- bsr.w Play_Sound
+ moveq #signextendB(mus_SpecialStage),d0
+ bsr.w Play_Music
move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
move.w d0,(VDP_control_port).l
- bsr.w Pal_FromBlackWhite
+ bsr.w Pal_FadeFromWhite
loc_84C2:
bsr.w Pause_Game
@@ -10277,7 +10209,8 @@ loc_8588:
bne.s loc_853E
rts
; ---------------------------------------------------------------------------
-SSLayoutOffs_RAM:dc.l RAM_start+$0000
+SSLayoutOffs_RAM:
+ dc.l RAM_start+$0000
dc.l RAM_start+$0408
dc.l RAM_start+$0810
dc.l RAM_start+$0C18
@@ -10297,7 +10230,7 @@ sub_85B0:
lea (RAM_start).l,a1
bsr.w Kos_Decomp
lea (SStageLayoutPtrs).l,a2
- move.b (Emerald_count).w,d3
+ move.b (Chaos_emerald_count).w,d3
tst.w (SK_alone_flag).w
beq.s loc_85E4
lea (SSLayoutOffs_RAM).l,a2
@@ -10632,59 +10565,42 @@ SS_Pal_Map_Ptrs:dc.l RAM_start+$5500
dc.l Pal_SStage_3_1
dc.l RAM_start+$6680
dc.l Pal_SStage_3_1
-Pal_SStage_Main: binclude "General/Special Stage/Palettes/Main.bin"
- even
-
-Pal_SStage_Knux: binclude "General/Special Stage/Palettes/Knux Patch.bin"
- even
-
-Pal_SStage_3_1: binclude "General/Special Stage/Palettes/3-1.bin"
- even
-
-Pal_SStage_3_2: binclude "General/Special Stage/Palettes/3-2.bin"
- even
-
-Pal_SStage_3_3: binclude "General/Special Stage/Palettes/3-3.bin"
- even
-
-Pal_SStage_3_4: binclude "General/Special Stage/Palettes/3-4.bin"
- even
-
-Pal_SStage_3_5: binclude "General/Special Stage/Palettes/3-5.bin"
- even
-
-Pal_SStage_3_6: binclude "General/Special Stage/Palettes/3-6.bin"
- even
-
-Pal_SStage_3_7: binclude "General/Special Stage/Palettes/3-7.bin"
- even
-
-Pal_SStage_3_8: binclude "General/Special Stage/Palettes/3-8.bin"
- even
-
-Pal_SStage_K_1: binclude "General/Special Stage/Palettes/K-1.bin"
- even
-
-Pal_SStage_K_2: binclude "General/Special Stage/Palettes/K-2.bin"
- even
-
-Pal_SStage_K_3: binclude "General/Special Stage/Palettes/K-3.bin"
- even
-
-Pal_SStage_K_4: binclude "General/Special Stage/Palettes/K-4.bin"
- even
-
-Pal_SStage_K_5: binclude "General/Special Stage/Palettes/K-5.bin"
- even
-
-Pal_SStage_K_6: binclude "General/Special Stage/Palettes/K-6.bin"
- even
-
-Pal_SStage_K_7: binclude "General/Special Stage/Palettes/K-7.bin"
- even
-
-Pal_SStage_K_8: binclude "General/Special Stage/Palettes/K-8.bin"
- even
+Pal_SStage_Main:binclude "General/Special Stage/Palettes/Main.bin"
+ even
+Pal_SStage_Knux:binclude "General/Special Stage/Palettes/Knux Patch.bin"
+ even
+Pal_SStage_3_1: binclude "General/Special Stage/Palettes/3-1.bin"
+ even
+Pal_SStage_3_2: binclude "General/Special Stage/Palettes/3-2.bin"
+ even
+Pal_SStage_3_3: binclude "General/Special Stage/Palettes/3-3.bin"
+ even
+Pal_SStage_3_4: binclude "General/Special Stage/Palettes/3-4.bin"
+ even
+Pal_SStage_3_5: binclude "General/Special Stage/Palettes/3-5.bin"
+ even
+Pal_SStage_3_6: binclude "General/Special Stage/Palettes/3-6.bin"
+ even
+Pal_SStage_3_7: binclude "General/Special Stage/Palettes/3-7.bin"
+ even
+Pal_SStage_3_8: binclude "General/Special Stage/Palettes/3-8.bin"
+ even
+Pal_SStage_K_1: binclude "General/Special Stage/Palettes/K-1.bin"
+ even
+Pal_SStage_K_2: binclude "General/Special Stage/Palettes/K-2.bin"
+ even
+Pal_SStage_K_3: binclude "General/Special Stage/Palettes/K-3.bin"
+ even
+Pal_SStage_K_4: binclude "General/Special Stage/Palettes/K-4.bin"
+ even
+Pal_SStage_K_5: binclude "General/Special Stage/Palettes/K-5.bin"
+ even
+Pal_SStage_K_6: binclude "General/Special Stage/Palettes/K-6.bin"
+ even
+Pal_SStage_K_7: binclude "General/Special Stage/Palettes/K-7.bin"
+ even
+Pal_SStage_K_8: binclude "General/Special Stage/Palettes/K-8.bin"
+ even
; =============== S U B R O U T I N E =======================================
@@ -10692,7 +10608,7 @@ Pal_SStage_K_8: binclude "General/Special Stage/Palettes/K-8.bin"
Draw_SSNum:
lea (SSNum_Precision).l,a2
moveq #2,d6
- lea SSNum_Map(pc),a1
+ lea MapUnc_SSNum(pc),a1
loc_8C6A:
moveq #0,d2
@@ -10724,15 +10640,13 @@ loc_8C76:
; End of function Draw_SSNum
; ---------------------------------------------------------------------------
-SSNum_Precision: dc.w $64
- dc.w $A
- dc.w 1 ;0 1 2 3 4 5 6 7 8 9
-SSNum_Map: dc.l $C781CF81, $C782C783, $C781CF81, $C781CF81, $C784C785, $C786C787, $C781CF81, $CF87C788, $C781CF81, $C781CF81
- dc.l $C78ACF8A, $C78BC78C, $C78DC78E, $C78FC790, $C791C792, $C793C794, $C795C796, $C797C798, $C799CF99, $DF96DF95
- dc.l $D781DF81, $C79BD783, $DF88D787, $D781DF81, $C79CC79D, $D781DF81, $D781DF81, $C79EC79F, $D781DF81, $D781DF81
-SSNum000_Map:dc.w $CF89, $C781, $CF81, $C781, $CF81, $C781, $CF81, $C789
- dc.w $CF9A, $C78A, $CF8A, $C78A, $CF8A, $C78A, $CF8A, $C79A
- dc.w $DF89, $D781, $DF81, $D781, $DF81, $D781, $DF81, $D789
+SSNum_Precision:dc.w 100
+ dc.w 10
+ dc.w 1
+MapUnc_SSNum: binclude "General/Special Stage/Uncompressed Map/HUD Numbers.bin"
+ even
+MapUnc_SSNum000:binclude "General/Special Stage/Uncompressed Map/HUD.bin"
+ even
; =============== S U B R O U T I N E =======================================
@@ -10780,7 +10694,6 @@ loc_8E2A:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
Map_SSIcons: include "General/Special Stage/Map - Icons.asm"
-
; ---------------------------------------------------------------------------
Obj_SStage_8E40:
@@ -10882,8 +10795,8 @@ loc_8F50:
move.w d0,$10(a0)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_GetBlueSpheres: include "General/Special Stage/Map - Get Blue Spheres.asm"
-
+Map_GetBlueSpheres:
+ include "General/Special Stage/Map - Get Blue Spheres.asm"
; ---------------------------------------------------------------------------
Obj_SStage_8FAA:
@@ -10989,8 +10902,8 @@ loc_90EE:
move.l #-$100000,$40(a0)
move.b #$80,(Special_stage_jumping).w
move.b #0,(Special_stage_turning).w
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
loc_911E:
tst.b (Special_stage_jumping).w
@@ -11066,11 +10979,8 @@ locret_91E6:
rts
; ---------------------------------------------------------------------------
byte_91E8: dc.b 2, 6, 7, 8, 7, 6, 2, 3, 4, 5, 4, 3, 1, 0
-
byte_91F6: dc.b 9, $B, $A, $B, 9, $B, $A, $B, 9, $B, $A, $B, $B, 0
-
byte_9204: dc.b 9, $A, $B, 9, $A, $B, 9, $A, $B, 9, $A, $B, $B, 0
-
; ---------------------------------------------------------------------------
Obj_SStage_9212:
@@ -11138,8 +11048,8 @@ loc_92C4:
bne.w loc_9304
move.l #$FFE80000,$40(a0)
move.b #$81,(Special_stage_jumping_P2).w
- moveq #sfx_Spring,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jsr (Play_SFX).l
loc_9304:
bsr.w sub_937C
@@ -11149,8 +11059,8 @@ loc_9304:
bne.s loc_932A
move.l #$FFF00000,$40(a0)
move.b #$80,(Special_stage_jumping_P2).w
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
loc_932A:
tst.b (Special_stage_jumping_P2).w
@@ -11601,8 +11511,8 @@ loc_978E:
ori.b #$80,(Last_star_post_hit).w
loc_97A0:
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
locret_97A8:
rts
@@ -11617,8 +11527,8 @@ loc_97AA:
move.l a1,4(a2)
loc_97BE:
- moveq #sfx_BlueSphere,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BlueSphere),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -11630,8 +11540,8 @@ loc_97C8:
move.w d1,(Special_stage_interact).w
move.b #1,(Special_stage_bumper_lock).w
move.b #0,(Special_stage_advancing).w
- moveq #sfx_Bumper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bumper),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -11647,8 +11557,8 @@ loc_97EE:
bne.w loc_9822
move.l #$FFE80000,$40(a0)
move.b #$81,(Special_stage_jumping).w
- moveq #sfx_Spring,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jsr (Play_SFX).l
loc_9822:
cmpi.b #4,d2
@@ -11663,13 +11573,13 @@ loc_9838:
beq.s loc_984C
subq.w #1,(Special_stage_rings_left).w
bne.s loc_984C
- moveq #sfx_Perfect,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Perfect),d0
+ jsr (Play_SFX).l
loc_984C:
addi.w #1,(Special_stage_ring_count).w
bset #7,(Special_stage_extra_life_flags).w
- moveq #sfx_RingRight,d0
+ moveq #signextendB(sfx_RingRight),d0
tst.b (Blue_spheres_stage_flag).w
bne.s loc_98A6
cmpi.w #50,(Special_stage_ring_count).w
@@ -11678,11 +11588,11 @@ loc_984C:
bne.s loc_987E
addq.b #1,(Continue_count).w
move.w #$FF00|sfx_Continue,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_987E:
- moveq #sfx_RingRight,d0
+ moveq #signextendB(sfx_RingRight),d0
cmpi.w #100,(Special_stage_ring_count).w
blo.s loc_98A6
bset #1,(Special_stage_extra_life_flags).w
@@ -11694,10 +11604,10 @@ loc_987E:
loc_98A0:
addq.b #1,(Life_count).w
- moveq #sfx_RingLoss,d0
+ moveq #signextendB(sfx_RingLoss),d0
loc_98A6:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -12014,8 +11924,8 @@ sub_9B62:
addq.w #2,(Special_stage_clear_timer).w
cmpi.w #2,(Special_stage_clear_timer).w
bne.s loc_9B8C
- moveq #sfx_AllSpheres,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_AllSpheres),d0
+ jsr (Play_SFX).l
loc_9B8C:
cmpi.w #$40,(Special_stage_clear_timer).w
@@ -12098,8 +12008,8 @@ loc_9C5C:
subq.b #1,(Special_stage_emerald_timer).w
bne.s locret_9C7E
addq.b #1,(Special_stage_clear_routine).w
- moveq #mus_Emerald,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Emerald),d0
+ jsr (Play_Music).l
locret_9C7E:
rts
@@ -12126,7 +12036,7 @@ loc_9C80:
bne.s locret_9D1C
tst.b (Blue_spheres_stage_flag).w
bne.s loc_9CE6
- lea (Emerald_count).w,a2
+ lea (Chaos_emerald_count).w,a2
move.b (SK_special_stage_flag).w,d2
beq.s loc_9CCE
lea (Super_emerald_count).w,a2
@@ -12155,17 +12065,17 @@ loc_9D02:
ori.b #$80,(Last_star_post_hit).w
loc_9D14:
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
locret_9D1C:
rts
; End of function sub_9B62
; ---------------------------------------------------------------------------
-Pal_SStage_Emeralds: binclude "General/Special Stage/Palettes/Emeralds.bin"
- even
-
+Pal_SStage_Emeralds:
+ binclude "General/Special Stage/Palettes/Emeralds.bin"
+ even
; =============== S U B R O U T I N E =======================================
@@ -12408,8 +12318,8 @@ loc_9F30:
dbf d0,loc_9F1A
subq.w #2,d1
bne.s loc_9F0E
- moveq #sfx_RingLoss,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_RingLoss),d0
+ jsr (Play_SFX).l
moveq #1,d1
locret_9F42:
@@ -12816,30 +12726,16 @@ GetScalars2:
; End of function GetScalars2
; ---------------------------------------------------------------------------
-ScalarTable2: dc.w 0, $192, $324, $4B5, $646, $7D6, $964, $AF1, $C7C, $E06, $F8D, $1112, $1294, $1413, $1590, $1709
- dc.w $187E, $19EF, $1B5D, $1CC6, $1E2B, $1F8C, $20E7, $223D, $238E, $24DA, $2620, $2760, $289A, $29CE, $2AFB, $2C21
- dc.w $2D41, $2E5A, $2F6C, $3076, $3179, $3274, $3368, $3453, $3537, $3612, $36E5, $37B0, $3871, $392B, $39DB, $3A82
- dc.w $3B21, $3BB6, $3C42, $3CC5, $3D3F, $3DAF, $3E15, $3E72, $3EC5, $3F0F, $3F4F, $3F85, $3FB1, $3FD4, $3FEC, $3FFB
- dc.w $4000, $3FFB, $3FEC, $3FD4, $3FB1, $3F85, $3F4F, $3F0F, $3EC5, $3E72, $3E15, $3DAF, $3D3F, $3CC5, $3C42, $3BB6
- dc.w $3B21, $3A82, $39DB, $392B, $3871, $37B0, $36E5, $3612, $3537, $3453, $3368, $3274, $3179, $3076, $2F6C, $2E5A
- dc.w $2D41, $2C21, $2AFB, $29CE, $289A, $2760, $2620, $24DA, $238E, $223D, $20E7, $1F8C, $1E2B, $1CC6, $1B5D, $19EF
- dc.w $187E, $1709, $1590, $1413, $1294, $1112, $F8D, $E06, $C7C, $AF1, $964, $7D6, $646, $4B5, $324, $192
- dc.w 0, $FE6E, $FCDC, $FB4B, $F9BA, $F82A, $F69C, $F50F, $F384, $F1FA, $F073, $EEEE, $ED6C, $EBED, $EA70, $E8F7
- dc.w $E782, $E611, $E4A3, $E33A, $E1D5, $E074, $DF19, $DDC3, $DC72, $DB26, $D9E0, $D8A0, $D766, $D632, $D505, $D3DF
- dc.w $D2BF, $D1A6, $D094, $CF8A, $CE87, $CD8C, $CC98, $CBAD, $CAC9, $C9EE, $C91B, $C850, $C78F, $C6D5, $C625, $C57E
- dc.w $C4DF, $C44A, $C3BE, $C33B, $C2C1, $C251, $C1EB, $C18E, $C13B, $C0F1, $C0B1, $C07B, $C04F, $C02C, $C014, $C005
- dc.w $C000, $C005, $C014, $C02C, $C04F, $C07B, $C0B1, $C0F1, $C13B, $C18E, $C1EB, $C251, $C2C1, $C33B, $C3BE, $C44A
- dc.w $C4DF, $C57E, $C625, $C6D5, $C78F, $C850, $C91B, $C9EE, $CAC9, $CBAD, $CC98, $CD8C, $CE87, $CF8A, $D094, $D1A6
- dc.w $D2BF, $D3DF, $D505, $D632, $D766, $D8A0, $D9E0, $DB26, $DC72, $DDC3, $DF19, $E074, $E1D5, $E33A, $E4A3, $E611
- dc.w $E782, $E8F7, $EA70, $EBED, $ED6C, $EEEE, $F073, $F1FA, $F384, $F50F, $F69C, $F82A, $F9BA, $FB4B, $FCDC, $FE6E
-Map_SStageSphere: include "General/Special Stage/Map - Sphere.asm"
-
-Map_SStageRing: include "General/Special Stage/Map - Ring.asm"
-
-Map_SStageChaosEmerald: include "General/Special Stage/Map - Chaos Emerald.asm"
-
-Map_SStageSuperEmerald: include "General/Special Stage/Map - Super Emerald.asm"
-
+ScalarTable2: binclude "General/Special Stage/Scalars.bin"
+ even
+Map_SStageSphere:
+ include "General/Special Stage/Map - Sphere.asm"
+Map_SStageRing:
+ include "General/Special Stage/Map - Ring.asm"
+Map_SStageChaosEmerald:
+ include "General/Special Stage/Map - Chaos Emerald.asm"
+Map_SStageSuperEmerald:
+ include "General/Special Stage/Map - Super Emerald.asm"
; ---------------------------------------------------------------------------
locret_A85C:
@@ -12939,8 +12835,8 @@ loc_A988:
jsr (Init_SpriteTable).l
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_CompetitionMenu,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_CompetitionMenu),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -12981,8 +12877,8 @@ loc_AA2E:
; ---------------------------------------------------------------------------
loc_AA36:
- clr.b (Competition_mode_type).w
- move.b (Competition_menu_monitors).w,(Competition_mode_monitors).w
+ clr.b (Competition_type).w
+ move.b (Competition_menu_items).w,(Competition_items).w
move.b (Ctrl_2_pressed).w,d0
andi.b #$E0,d0
sne (Not_ghost_flag).w
@@ -12991,8 +12887,8 @@ loc_AA36:
; ---------------------------------------------------------------------------
loc_AA54:
- move.b #3,(Competition_mode_type).w
- move.b (Competition_menu_monitors).w,(Competition_mode_monitors).w
+ move.b #3,(Competition_type).w
+ move.b (Competition_menu_items).w,(Competition_items).w
move.b (Ctrl_2_pressed).w,d0
andi.b #$E0,d0
sne (Not_ghost_flag).w
@@ -13004,7 +12900,7 @@ loc_AA74:
move.b (Ctrl_1_pressed).w,d2
andi.w #$E0,d2
beq.s loc_AAA6
- move.w #-1,(Competition_mode_monitors).w
+ move.w #-1,(Competition_settings).w
clr.b (Not_ghost_flag).w
move.b #-$40,(Game_mode).w
@@ -13016,8 +12912,8 @@ loc_AA8E:
loc_AA98:
move.l d0,(a1)+
dbf d1,loc_AA98
- moveq #sfx_Starpost,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_AAA6:
@@ -13025,7 +12921,7 @@ loc_AAA6:
move.b (Competition_menu_selection).w,d1
lsr.w #1,d0
bcc.s loc_AABA
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
subq.b #1,d1
bcc.s loc_AACA
moveq #3,d1
@@ -13035,7 +12931,7 @@ loc_AAA6:
loc_AABA:
lsr.w #1,d0
bcc.s loc_AACA
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
addq.b #1,d1
cmpi.b #3,d1
bls.s loc_AACA
@@ -13045,7 +12941,7 @@ loc_AACA:
move.b d1,(Competition_menu_selection).w
move.w d2,d0
beq.s loc_AAD8
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
loc_AAD8:
bra.w loc_A9E8
@@ -13074,14 +12970,14 @@ Obj_Competition_AB00:
or.b (Ctrl_2_pressed).w,d0
andi.w #$C,d0
beq.s loc_AB26
- tst.b (Competition_menu_monitors).w
- seq (Competition_menu_monitors).w
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ tst.b (Competition_menu_items).w
+ seq (Competition_menu_items).w
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_AB26:
move.w #$15C,d0
- tst.b (Competition_menu_monitors).w
+ tst.b (Competition_menu_items).w
beq.s loc_AB34
addi.w #$20,d0
@@ -13276,8 +13172,8 @@ loc_AD8A:
move.l #Map_CompetitionSelect,$C(a0)
addi.w #$C29F,$A(a0)
move.w #$B0,$10(a0)
- moveq #mus_CompetitionMenu,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_CompetitionMenu),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -13368,8 +13264,8 @@ loc_AE9A:
bcs.s loc_AED2
cmpi.b #4,(a0)
beq.s loc_AEF2
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
addq.b #1,(a0)
cmpi.b #4,(a0)
beq.s loc_AEF2
@@ -13382,8 +13278,8 @@ loc_AE9A:
loc_AED2:
tst.b (a0)
beq.s loc_AEF2
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
subq.b #1,(a0)
beq.s loc_AEF2
cmpi.b #3,(a0)
@@ -13395,8 +13291,8 @@ loc_AED2:
loc_AEF2:
andi.w #$E0,d1
beq.w loc_ADF2
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
moveq #0,d0
move.b (Competition_menu_zone).w,d0
move.b Comp_ZoneList(pc,d0.w),(Current_zone).w
@@ -13646,7 +13542,8 @@ sub_B0E4:
; End of function sub_B0E4
; ---------------------------------------------------------------------------
-VRAMDatList_CompetitionLevelSelect:dc.w $18
+VRAMDatList_CompetitionLevelSelect:
+ dc.w $18
dc.l RAM_start+$0000
dc.w $C098
dc.w $1A
@@ -13747,7 +13644,8 @@ VRAMDatList_CompetitionLevelSelect:dc.w $18
dc.w $D3D0
dc.w 8
dc.w 1
-ObjDat_CompetitionMatchRace: dc.w $B
+ObjDat_CompetitionMatchRace:
+ dc.w $B
dc.l Obj_Competition_ZoneSelect
dc.w $F4
dc.w 0
@@ -13820,7 +13718,8 @@ ObjDat_CompetitionMatchRace: dc.w $B
dc.w $2000
dc.b 5
dc.b 0
-ObjDat_CompetitionTimeAttack: dc.w 5
+ObjDat_CompetitionTimeAttack:
+ dc.w 5
dc.l Obj_Competition_ZoneSelect
dc.w $F4
dc.w $30
@@ -13970,8 +13869,8 @@ loc_B406:
jsr sub_C0AE(pc)
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_CompetitionMenu,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_CompetitionMenu),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -14054,8 +13953,8 @@ loc_B558:
andi.w #$C,d0
beq.w loc_B602
move.l d0,-(sp)
- moveq #sfx_GravityTunnel,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GravityTunnel),d0
+ jsr (Play_SFX).l
move.l (sp)+,d0
clr.b $34(a0)
move.b $2E(a0),$35(a0)
@@ -14137,8 +14036,8 @@ loc_B610:
beq.s loc_B626
st $2F(a0)
sf (a2)
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
loc_B626:
moveq #1,d0
@@ -14381,8 +14280,8 @@ loc_B8B4:
jsr (Init_SpriteTable).l
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_Continue,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Continue),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -14681,7 +14580,8 @@ ObjDat_BB4A: dc.w 7
dc.w 0
dc.b 0
dc.b 1
-VRAMDatList_BBAC:dc.w 8
+VRAMDatList_BBAC:
+ dc.w 8
dc.l RAM_start+$0000
dc.w $E000
dc.w $27
@@ -14855,8 +14755,8 @@ loc_BDE8:
jsr (Init_SpriteTable).l
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_Continue,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Continue),d0
+ jsr (Play_Music).l
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
move.w (VDP_reg_1_command).w,d0
@@ -14952,7 +14852,7 @@ loc_BF30:
move.l #loc_BF3E,(a0)
loc_BF3E:
- move.b (_unkEE5A).w,d0
+ move.b (Competition_time_attack_new_top_record).w,d0
cmp.b $2E(a0),d0
bne.s loc_BF50
btst #3,(Level_frame_counter+1).w
@@ -14996,7 +14896,8 @@ ObjDat_BF58: dc.w 4
dc.w 0
dc.b 0
dc.b 2
-VRAMDatList_BF96:dc.w 8
+VRAMDatList_BF96:
+ dc.w 8
dc.l RAM_start+$0000
dc.w $E000
dc.w $27
@@ -15033,7 +14934,8 @@ VRAMDatList_BF96:dc.w 8
dc.w $C944
dc.w 2
dc.w 7
-CompTimeAttack_LevelNameMaps:dc.l MapUnc_CompetitionAZURELAKE
+CompTimeAttack_LevelNameMaps:
+ dc.l MapUnc_CompetitionAZURELAKE
dc.l MapUnc_CompetitionBALLOONPARK
dc.l MapUnc_CompetitionDESERTPALACE
dc.l MapUnc_CompetitionCHROMEGADGET
@@ -15495,7 +15397,8 @@ Write_SaveGame:
; End of function Write_SaveGame
; ---------------------------------------------------------------------------
-SaveGame_NextLevel: dc.b 1, 1, 2, 2, 3, 3, 4, 4, 8, 8, 5, 5, 6, 6, 7, 7, 9, 9, $A, $A
+SaveGame_NextLevel:
+ dc.b 1, 1, 2, 2, 3, 3, 4, 4, 8, 8, 5, 5, 6, 6, 7, 7, 9, 9, $A, $A
dc.b $C, $C, $D, $D, $E, $E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
dc.b 0, 0, 0, 0, $A, $B, $D, 0
@@ -15517,7 +15420,7 @@ SaveGame:
beq.s loc_C464
cmp.b 3(a1),d0 ; If game is complete, make it uncomplete if last level is less than the current level
blo.s loc_C4B4 ; Think of, say, getting all the super emeralds then going to Doomsday on a completed save file
- andi.b #-4,(a1)
+ andi.b #$FC,(a1)
loc_C464:
move.b d0,3(a1) ; Move next level into current level
@@ -15525,7 +15428,7 @@ loc_C464:
bne.s loc_C478
cmpi.b #$C,d0
blo.s loc_C4B0
- bra.s loc_C498 ; If playing as Knuckles and level code is Death egg or higher, make it a completed save file
+ bra.s loc_C498 ; If playing as Knuckles and level code is Death Egg or higher, make it a completed save file
; ---------------------------------------------------------------------------
loc_C478:
@@ -15533,19 +15436,19 @@ loc_C478:
bne.s loc_C488
cmpi.b #$D,d0
blo.s loc_C4B0
- bra.s loc_C498 ; If playing as Knuckles and level code is Doomsday or higher, make it a completed save file
+ bra.s loc_C498 ; If playing as Tails and level code is Doomsday or higher, make it a completed save file
; ---------------------------------------------------------------------------
loc_C488:
cmpi.b #$D,d0
- bhi.s loc_C498 ; If next level above Doomsday's code, make it a completed save file
+ bhi.s loc_C498 ; If next level above Doomsday's code, make it a completed save file
bne.s loc_C4B0
- cmpi.b #7,(Emerald_count).w ; If next level IS Doomsday but the emeralds aren't collected, make it a completed save file
+ cmpi.b #7,(Chaos_emerald_count).w ; If next level IS Doomsday but the emeralds aren't collected, make it a completed save file
bhs.s loc_C4B0
loc_C498:
moveq #1,d0
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
blo.s loc_C4AE ; code 1 is completed without all emeralds
addq.b #1,d0
cmpi.b #7,(Super_emerald_count).w
@@ -15665,18 +15568,9 @@ SaveScreen:
andi.b #$BF,d0
move.w d0,(VDP_control_port).l
jsr (Clear_DisplayData).l
- lea (VDP_control_port).l,a5
- move.w #$8F01,(a5)
- move.l #$940F93FF,(a5)
- move.w #$9780,(a5)
- move.l #$50000083,(a5)
- move.w #0,(VDP_data_port).l
-loc_C5B0:
- move.w (a5),d1
- btst #1,d1
- bne.s loc_C5B0
- move.w #$8F02,(a5)
+ dmaFillVRAM 0,$D000,$1000
+
lea (VDP_control_port).l,a6
move.w #$8004,(a6)
move.w #$8238,(a6)
@@ -15812,8 +15706,8 @@ loc_C7A4:
loc_C7CC:
move.l (a0)+,(a1)+
dbf d0,loc_C7CC
- moveq #mus_DataSelect,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_DataSelect),d0
+ jsr (Play_Music).l
move.l #loc_C890,(_unkEF44_1).w
move.b #$1E,(V_int_routine).w
jsr (Wait_VSync).l
@@ -15857,8 +15751,8 @@ loc_C84E:
loc_C856:
cmpi.b #$4C,(Game_mode).w ; are we still in the savescreen mode?
beq.s SaveScreen_MainLoop ; if so, loop
- moveq #sfx_EnterSS,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_EnterSS),d0
+ jmp (Play_SFX).l
; =============== S U B R O U T I N E =======================================
@@ -15984,8 +15878,7 @@ loc_C94C:
; ---------------------------------------------------------------------------
; shows level number 1-14
; NOTE: $FF acts as zero
-byte_C95E:
- dc.b $FF, 1 ; 01
+byte_C95E: dc.b $FF, 1 ; 01
dc.b $FF, 2 ; 02
dc.b $FF, 3 ; 03
dc.b $FF, 4 ; 04
@@ -16115,55 +16008,73 @@ word_CA4E: dc.w $A49B
dc.w $8000
dc.w $8000
Pal_Save_Chars: binclude "General/Save Menu/Palettes/Chars.bin"
- even
-
-Pal_Save_Emeralds: binclude "General/Save Menu/Palettes/Emeralds.bin"
- even
-
-Pal_Save_FinishCard1: binclude "General/Save Menu/Palettes/Finish Card 1.bin"
- even
-Pal_Save_FinishCard2: binclude "General/Save Menu/Palettes/Finish Card 2.bin"
- even
-Pal_Save_FinishCard3: binclude "General/Save Menu/Palettes/Finish Card 3.bin"
- even
-
-Pal_Save_ZoneCard1: binclude "General/Save Menu/Palettes/Zone Card 1.bin"
- even
-Pal_Save_ZoneCard2: binclude "General/Save Menu/Palettes/Zone Card 2.bin"
- even
-Pal_Save_ZoneCard3: binclude "General/Save Menu/Palettes/Zone Card 3.bin"
- even
-Pal_Save_ZoneCard4: binclude "General/Save Menu/Palettes/Zone Card 4.bin"
- even
-Pal_Save_ZoneCard5: binclude "General/Save Menu/Palettes/Zone Card 5.bin"
- even
-Pal_Save_ZoneCard6: binclude "General/Save Menu/Palettes/Zone Card 6.bin"
- even
-Pal_Save_ZoneCard7: binclude "General/Save Menu/Palettes/Zone Card 7.bin"
- even
-Pal_Save_ZoneCard8: binclude "General/Save Menu/Palettes/Zone Card 8.bin"
- even
-Pal_Save_ZoneCard9: binclude "General/Save Menu/Palettes/Zone Card 9.bin"
- even
-Pal_Save_ZoneCardA: binclude "General/Save Menu/Palettes/Zone Card A.bin"
- even
-Pal_Save_ZoneCardB: binclude "General/Save Menu/Palettes/Zone Card B.bin"
- even
-Pal_Save_ZoneCardC: binclude "General/Save Menu/Palettes/Zone Card C.bin"
- even
-Pal_Save_ZoneCardD: binclude "General/Save Menu/Palettes/Zone Card D.bin"
- even
-Pal_Save_ZoneCardE: binclude "General/Save Menu/Palettes/Zone Card E.bin"
- even
-Pal_Save_ZoneCardF: binclude "General/Save Menu/Palettes/Zone Card F.bin"
- even
-Pal_Save_ZoneCard10: binclude "General/Save Menu/Palettes/Zone Card 10.bin"
- even
-Pal_Save_ZoneCard11: binclude "General/Save Menu/Palettes/Zone Card 11.bin"
- even
-Pal_Save_ZoneCard12: binclude "General/Save Menu/Palettes/Zone Card 12.bin"
- even
-
+ even
+Pal_Save_Emeralds:
+ binclude "General/Save Menu/Palettes/Emeralds.bin"
+ even
+Pal_Save_FinishCard1:
+ binclude "General/Save Menu/Palettes/Finish Card 1.bin"
+ even
+Pal_Save_FinishCard2:
+ binclude "General/Save Menu/Palettes/Finish Card 2.bin"
+ even
+Pal_Save_FinishCard3:
+ binclude "General/Save Menu/Palettes/Finish Card 3.bin"
+ even
+Pal_Save_ZoneCard1:
+ binclude "General/Save Menu/Palettes/Zone Card 1.bin"
+ even
+Pal_Save_ZoneCard2:
+ binclude "General/Save Menu/Palettes/Zone Card 2.bin"
+ even
+Pal_Save_ZoneCard3:
+ binclude "General/Save Menu/Palettes/Zone Card 3.bin"
+ even
+Pal_Save_ZoneCard4:
+ binclude "General/Save Menu/Palettes/Zone Card 4.bin"
+ even
+Pal_Save_ZoneCard5:
+ binclude "General/Save Menu/Palettes/Zone Card 5.bin"
+ even
+Pal_Save_ZoneCard6:
+ binclude "General/Save Menu/Palettes/Zone Card 6.bin"
+ even
+Pal_Save_ZoneCard7:
+ binclude "General/Save Menu/Palettes/Zone Card 7.bin"
+ even
+Pal_Save_ZoneCard8:
+ binclude "General/Save Menu/Palettes/Zone Card 8.bin"
+ even
+Pal_Save_ZoneCard9:
+ binclude "General/Save Menu/Palettes/Zone Card 9.bin"
+ even
+Pal_Save_ZoneCardA:
+ binclude "General/Save Menu/Palettes/Zone Card A.bin"
+ even
+Pal_Save_ZoneCardB:
+ binclude "General/Save Menu/Palettes/Zone Card B.bin"
+ even
+Pal_Save_ZoneCardC:
+ binclude "General/Save Menu/Palettes/Zone Card C.bin"
+ even
+Pal_Save_ZoneCardD:
+ binclude "General/Save Menu/Palettes/Zone Card D.bin"
+ even
+Pal_Save_ZoneCardE:
+ binclude "General/Save Menu/Palettes/Zone Card E.bin"
+ even
+Pal_Save_ZoneCardF:
+ binclude "General/Save Menu/Palettes/Zone Card F.bin"
+ even
+Pal_Save_ZoneCard10:
+ binclude "General/Save Menu/Palettes/Zone Card 10.bin"
+ even
+Pal_Save_ZoneCard11:
+ binclude "General/Save Menu/Palettes/Zone Card 11.bin"
+ even
+Pal_Save_ZoneCard12:
+ binclude "General/Save Menu/Palettes/Zone Card 12.bin"
+ even
word_CD58: dc.w $11
dc.l Chunk_table+$222
dc.w $C102
@@ -16238,7 +16149,6 @@ word_CD58: dc.w $11
dc.w $C
dc.w $A
Map_SaveScreen: include "General/Save Menu/Map - Save Screen General.asm"
-
ObjDat_SaveScreen:
dc.l Draw_Sprite ; "Data Select" Text
dc.w $120 ; x_pos, objoff_12 (x_pos copy)
@@ -16255,7 +16165,7 @@ ObjDat_SaveScreen:
dc.w $D8 ; y_pos
dc.b $D ; mapping_frame
dc.b 0 ; unused
- dc.l Obj_SaveScreen_NoSave_Slot ; Slot that starts a non-saving game
+ dc.l Obj_SaveScreen_NoSave_Slot ; Slot that starts a non-saving game
dc.w $B0 ; x_pos, objoff_12 (x_pos copy)
dc.w $C8 ; y_pos
dc.b 0 ; unused
@@ -16361,13 +16271,13 @@ loc_D238:
tst.b (Dataselect_entry).w
beq.s loc_D254
subq.b #1,(Dataselect_entry).w
- moveq #sfx_SlotMachine,d0
+ moveq #signextendB(sfx_SlotMachine),d0
tst.w (Events_bg+$12).w
beq.s loc_D24C
- moveq #sfx_SmallBumpers,d0
+ moveq #signextendB(sfx_SmallBumpers),d0
loc_D24C:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
moveq #-8,d0
loc_D254:
@@ -16376,13 +16286,13 @@ loc_D254:
cmpi.b #9,(Dataselect_entry).w
beq.s loc_D27A
addq.b #1,(Dataselect_entry).w
- moveq #sfx_SlotMachine,d0
+ moveq #signextendB(sfx_SlotMachine),d0
tst.w (Events_bg+$12).w
beq.s loc_D272
- moveq #sfx_SmallBumpers,d0
+ moveq #signextendB(sfx_SmallBumpers),d0
loc_D272:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
moveq #8,d0
loc_D27A:
@@ -16476,7 +16386,7 @@ Obj_SaveScreen_NoSave_Slot:
clr.w (Current_zone_and_act).w
clr.w (Apparent_zone_and_act).w
clr.w (Current_special_stage).w
- clr.w (Emerald_count).w
+ clr.w (Emerald_counts).w
clr.l (Collected_emeralds_array).w
clr.w (Collected_emeralds_array+4).w
clr.b (Collected_emeralds_array+6).w
@@ -16623,7 +16533,7 @@ loc_D4EE:
move.b (Ctrl_1_pressed).w,d0
btst #1,d0
beq.s loc_D508
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
subq.w #1,d1
bpl.s loc_D518
move.w d6,d1
@@ -16633,7 +16543,7 @@ loc_D4EE:
loc_D508:
btst #0,d0
beq.s loc_D518
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
addq.w #1,d1
cmp.w d6,d1
bls.s loc_D518
@@ -16642,7 +16552,7 @@ loc_D508:
loc_D518:
move.w d1,$36(a0)
move.l d2,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$1A,$1D(a0)
btst #4,(Level_frame_counter+1).w
beq.s loc_D53C
@@ -16686,7 +16596,7 @@ loc_D57A:
move.w 6(a1),d0
lea (Collected_emeralds_array).w,a2
jsr sub_DA1E(pc)
- move.b d1,(Emerald_count).w
+ move.b d1,(Chaos_emerald_count).w
move.b d2,(Super_emerald_count).w
move.l a1,(Save_pointer).w
jsr (Set_Lives_and_Continues).l
@@ -16732,7 +16642,7 @@ loc_D5FE:
clr.w (Current_zone_and_act).w
clr.w (Apparent_zone_and_act).w
clr.w (Current_special_stage).w
- clr.w (Emerald_count).w
+ clr.w (Emerald_counts).w
clr.l (Collected_emeralds_array).w
clr.w (Collected_emeralds_array+4).w
clr.b (Collected_emeralds_array+6).w
@@ -16782,7 +16692,7 @@ sub_D6D0:
move.b (Ctrl_1_pressed).w,d1
lsr.w #1,d1
bcc.s loc_D6EE
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
addq.w #1,d0
cmpi.w #3,d0
bls.s loc_D6FA
@@ -16793,7 +16703,7 @@ sub_D6D0:
loc_D6EE:
lsr.w #1,d1
bcc.s loc_D6FA
- moveq #sfx_Switch,d2
+ moveq #signextendB(sfx_Switch),d2
subq.w #1,d0
bpl.s loc_D6FA
moveq #3,d0
@@ -16803,7 +16713,7 @@ loc_D6FA:
beq.s locret_D70A
move.l d0,-(sp)
move.l d2,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.l (sp)+,d0
locret_D70A:
@@ -16886,8 +16796,8 @@ loc_D7C0:
move.b (Ctrl_1_pressed).w,d0
andi.w #$E0,d0
beq.w loc_D8A0
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
st (Events_bg+$12).w
addq.b #4,5(a0)
bra.w loc_D8A0
@@ -16914,8 +16824,8 @@ loc_D7EA:
movea.l d0,a1
tst.b (a1)
bmi.s loc_D854
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
st (Events_bg+$10).w
addq.b #8,5(a0)
@@ -16976,8 +16886,8 @@ loc_D8C4:
bne.s loc_D8FE
btst #2,(Ctrl_1_pressed).w
beq.s loc_D90C
- moveq #sfx_Perfect,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Perfect),d0
+ jsr (Play_SFX).l
movea.l $2E(a0),a1
move.w #$8000,(a1)
clr.l 2(a1)
@@ -17285,17 +17195,17 @@ byte_DB36: dc.b $20, $29, $22, $1E, $2F, $FF
; =============== S U B R O U T I N E =======================================
-sub_DB3C:
+Render_HUD_P1:
tst.w (Debug_mode_flag).w
- bne.s sub_DB44
+ bne.s Render_HUD
rts
-; End of function sub_DB3C
+; End of function Render_HUD_P1
; =============== S U B R O U T I N E =======================================
-sub_DB44:
+Render_HUD:
cmpi.b #$16,(Current_zone).w
bhs.s loc_DB68
cmpi.b #$13,(Current_zone).w
@@ -17343,15 +17253,15 @@ loc_DB92:
locret_DBB2:
rts
-; End of function sub_DB44
+; End of function Render_HUD
; =============== S U B R O U T I N E =======================================
-nullsub_2:
+Render_HUD_P2:
rts
-; End of function nullsub_2
+; End of function Render_HUD_P2
; ---------------------------------------------------------------------------
Map_HUD: include "General/Sprites/HUD Icon/Map - HUD.asm"
@@ -17363,7 +17273,7 @@ HUD_AddToScore:
move.b #1,(Update_HUD_score).w
lea (Score).w,a3
add.l d0,(a3) ; Add to score
- move.l #$F423F,d1 ; 9999990 maximum points
+ move.l #999999,d1 ; 9999990 maximum points
cmp.l (a3),d1
bhi.s loc_DCE2
move.l d1,(a3)
@@ -17376,7 +17286,7 @@ loc_DCE2:
addq.b #1,(Life_count).w ; Give an additional extra life
addq.b #1,(Update_HUD_life_count).w
move.w #mus_ExtraLife,d0 ; Play the 1up song
- jmp (Play_Sound).l
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
locret_DD04:
@@ -17588,7 +17498,6 @@ locret_DEEA:
; End of function HUD_DrawInitial
; ---------------------------------------------------------------------------
-
charset ' ',$FF
charset '0',0
charset '1',2
@@ -17977,11 +17886,12 @@ loc_E17E:
; End of function HUD_Lives
; ---------------------------------------------------------------------------
-ArtUnc_HUDDigits: binclude "General/Sprites/HUD Icon/HUD Digits.bin"
-
-ArtUnc_LivesDigits: binclude "General/Sprites/HUD Icon/Lives Digits.bin"
-
-ArtUnc_DebugDigits: binclude "General/Sprites/HUD Icon/Debug Digits.bin"
+ArtUnc_HUDDigits:
+ binclude "General/Sprites/HUD Icon/HUD Digits.bin"
+ArtUnc_LivesDigits:
+ binclude "General/Sprites/HUD Icon/Lives Digits.bin"
+ArtUnc_DebugDigits:
+ binclude "General/Sprites/HUD Icon/Debug Digits.bin"
; =============== S U B R O U T I N E =======================================
@@ -18384,7 +18294,7 @@ loc_EB7A:
; =============== S U B R O U T I N E =======================================
-sub_EB86:
+Render_Rings:
movea.l (Ring_start_addr_ROM).w,a0
move.l (Ring_end_addr_ROM).w,d2
sub.l a0,d2
@@ -18432,7 +18342,7 @@ loc_EBE6:
locret_EBEC:
rts
-; End of function sub_EB86
+; End of function Render_Rings
; ---------------------------------------------------------------------------
; Custom mappings format. Compare to Map_Ring.
@@ -18445,52 +18355,52 @@ locret_EBEC:
CMap_Ring:
;frame1:
- dc.w $FFF8
- dc.w $0005
- dc.w $0000+make_art_tile(ArtTile_Ring,1,0)
- dc.w $FFF8
+ dc.w $FFF8
+ dc.w $0005
+ dc.w $0000+make_art_tile(ArtTile_Ring,1,0)
+ dc.w $FFF8
;frame2:
- dc.w $FFF8
- dc.w $0005
- dc.w $0004+make_art_tile(ArtTile_Ring,1,0)
- dc.w $FFF8
+ dc.w $FFF8
+ dc.w $0005
+ dc.w $0004+make_art_tile(ArtTile_Ring,1,0)
+ dc.w $FFF8
;frame3:
- dc.w $FFF8
- dc.w $0001
- dc.w $0008+make_art_tile(ArtTile_Ring,1,0)
- dc.w $FFFC
+ dc.w $FFF8
+ dc.w $0001
+ dc.w $0008+make_art_tile(ArtTile_Ring,1,0)
+ dc.w $FFFC
;frame4:
- dc.w $FFF8
- dc.w $0005
- dc.w $0804+make_art_tile(ArtTile_Ring,1,0)
- dc.w $FFF8
+ dc.w $FFF8
+ dc.w $0005
+ dc.w $0804+make_art_tile(ArtTile_Ring,1,0)
+ dc.w $FFF8
;frame5:
- dc.w $FFF8
- dc.w $0005
- dc.w $000A+make_art_tile(ArtTile_Ring,1,0)
- dc.w $FFF8
+ dc.w $FFF8
+ dc.w $0005
+ dc.w $000A+make_art_tile(ArtTile_Ring,1,0)
+ dc.w $FFF8
;frame6:
- dc.w $FFF8
- dc.w $0005
- dc.w $180A+make_art_tile(ArtTile_Ring,1,0)
- dc.w $FFF8
+ dc.w $FFF8
+ dc.w $0005
+ dc.w $180A+make_art_tile(ArtTile_Ring,1,0)
+ dc.w $FFF8
;frame7:
- dc.w $FFF8
- dc.w $0005
- dc.w $080A+make_art_tile(ArtTile_Ring,1,0)
- dc.w $FFF8
+ dc.w $FFF8
+ dc.w $0005
+ dc.w $080A+make_art_tile(ArtTile_Ring,1,0)
+ dc.w $FFF8
;frame8:
- dc.w $FFF8
- dc.w $0005
- dc.w $100A+make_art_tile(ArtTile_Ring,1,0)
- dc.w $FFF8
+ dc.w $FFF8
+ dc.w $0005
+ dc.w $100A+make_art_tile(ArtTile_Ring,1,0)
+ dc.w $FFF8
; =============== S U B R O U T I N E =======================================
@@ -18881,8 +18791,8 @@ loc_EFA2:
move.b #1,$21(a0)
rts
; ---------------------------------------------------------------------------
-
-GetFloorPosition_BG:
+;GetFloorPosition_BG
+Find_Tile_BG:
lea (Level_layout_header).w,a1
move.w d2,d0
lsr.w #5,d0
@@ -18907,8 +18817,8 @@ GetFloorPosition_BG:
movea.l d1,a1
rts
; ---------------------------------------------------------------------------
-
-GetFloorPosition_FG:
+;GetFloorPosition_FG
+Find_Tile_FG:
lea (Level_layout_header).w,a1
move.w d2,d0
lsr.w #5,d0
@@ -18954,22 +18864,22 @@ ChunkAddrArray: dc.w 0, $80, $100, $180, $200, $280, $300, $380, $400, $480
FindFloor:
- lea (GetFloorPosition_FG).l,a5
+ lea (Find_Tile_FG).l,a5
tst.b (Background_collision_flag).w
beq.s sub_F264
bsr.s sub_F264
- move.b (a4),1(a4)
+ move.b (a4),Primary_Angle_save-Primary_Angle(a4)
move.w d1,-(sp)
sub.w (Camera_X_diff).w,d3
sub.w (Camera_Y_diff).w,d2
- lea (GetFloorPosition_BG).l,a5
+ lea (Find_Tile_BG).l,a5
bsr.s sub_F264
add.w (Camera_X_diff).w,d3
add.w (Camera_Y_diff).w,d2
move.w (sp)+,d0
cmp.w d0,d1
ble.s locret_F262
- move.b 1(a4),(a4)
+ move.b Primary_Angle_save-Primary_Angle(a4),(a4)
move.w d0,d1
locret_F262:
@@ -19134,24 +19044,24 @@ loc_F394:
; End of function sub_F30C
; ---------------------------------------------------------------------------
-
-loc_F3A4:
- lea (GetFloorPosition_FG).l,a5
+;loc_F3A4
+Ring_FindFloor:
+ lea (Find_Tile_FG).l,a5
tst.b (Background_collision_flag).w
beq.s sub_F3DE
bsr.s sub_F3DE
- move.b (a4),1(a4)
+ move.b (a4),Primary_Angle_save-Primary_Angle(a4)
move.w d1,-(sp)
sub.w (Camera_X_diff).w,d3
sub.w (Camera_Y_diff).w,d2
- lea (GetFloorPosition_BG).l,a5
+ lea (Find_Tile_BG).l,a5
bsr.s sub_F3DE
add.w (Camera_X_diff).w,d3
add.w (Camera_Y_diff).w,d2
move.w (sp)+,d0
cmp.w d0,d1
ble.s locret_F3DC
- move.b 1(a4),(a4)
+ move.b Primary_Angle_save-Primary_Angle(a4),(a4)
move.w d0,d1
locret_F3DC:
@@ -19240,11 +19150,11 @@ loc_F470:
FindWall:
- lea (GetFloorPosition_FG).l,a5
+ lea (Find_Tile_FG).l,a5
tst.b (Background_collision_flag).w
beq.s sub_F4DC
bsr.s sub_F4DC
- move.b (a4),1(a4)
+ move.b (a4),Primary_Angle_save-Primary_Angle(a4)
move.w d1,-(sp)
move.w a3,d0
bpl.s loc_F4A4
@@ -19259,7 +19169,7 @@ loc_F4A4:
loc_F4A8:
sub.w (Camera_Y_diff).w,d2
- lea (GetFloorPosition_BG).l,a5
+ lea (Find_Tile_BG).l,a5
bsr.s sub_F4DC
move.w a3,d0
bpl.s loc_F4C6
@@ -19277,7 +19187,7 @@ loc_F4CA:
move.w (sp)+,d0
cmp.w d0,d1
ble.s locret_F4DA
- move.b 1(a4),(a4)
+ move.b Primary_Angle_save-Primary_Angle(a4),(a4)
move.w d0,d1
locret_F4DA:
@@ -19561,7 +19471,7 @@ loc_F712:
andi.b #$C0,d0
beq.w sub_F828
cmpi.b #$80,d0
- beq.w sub_FBEE
+ beq.w CheckCeilingDist_WithRadius
cmpi.b #$40,d0
beq.w loc_FDC8
bra.w loc_FAA4
@@ -19660,8 +19570,8 @@ locret_F7F8:
; End of function Sonic_CheckFloor
; ---------------------------------------------------------------------------
+; unused/dead code
- ; a bit of unused/dead code here
CheckFloorDist:
move.w y_pos(a0),d2
move.w x_pos(a0),d3
@@ -19876,7 +19786,7 @@ RingCheckFloorDist:
movea.w #$10,a3
move.w #0,d6
moveq #$C,d5
- bra.w loc_F3A4
+ bra.w Ring_FindFloor
; End of function RingCheckFloorDist
@@ -20088,7 +19998,8 @@ sub_FB5A:
; End of function sub_FB5A
; ---------------------------------------------------------------------------
- ; a bit of unused/dead code here
+; unused/dead code
+
CheckCeilingDist:
move.w $14(a0),d2
move.w $10(a0),d3
@@ -20105,9 +20016,9 @@ CheckCeilingDist_Part2:
; =============== S U B R O U T I N E =======================================
-
-sub_FBEE:
- move.b $1F(a0),d0
+; sub_FBEE:
+CheckCeilingDist_WithRadius:
+ move.b x_radius(a0),d0
ext.w d0
sub.w d0,d2
eori.w #$F,d2
@@ -20117,7 +20028,7 @@ sub_FBEE:
bsr.w FindFloor
move.b #-$80,d2
bra.w loc_F81A
-; End of function sub_FBEE
+; End of function CheckCeilingDist_WithRadius
; =============== S U B R O U T I N E =======================================
@@ -20182,8 +20093,8 @@ locret_FC9E:
; =============== S U B R O U T I N E =======================================
-
-sub_FCA0:
+;sub_FCA0
+RingCheckFloorDist_ReverseGravity:
move.w $10(a0),d3
move.w $14(a0),d2
move.b $1E(a0),d0
@@ -20195,8 +20106,8 @@ sub_FCA0:
movea.w #-$10,a3
move.w #$800,d6
moveq #$C,d5
- bra.w loc_F3A4
-; End of function sub_FCA0
+ bra.w Ring_FindFloor
+; End of function RingCheckFloorDist_ReverseGravity
; =============== S U B R O U T I N E =======================================
@@ -20885,26 +20796,26 @@ loc_10320:
move.w #0,$1C(a0)
move.b #$1A,$20(a0)
move.b #$78,$34(a0)
- moveq #sfx_Death,d0
+ moveq #signextendB(sfx_Death),d0
cmpi.l #Obj_Spikes,(a2)
blo.s loc_10346
cmpi.l #sub_24280,(a2)
bhs.s loc_10346
- moveq #sfx_SpikeHit,d0
+ moveq #signextendB(sfx_SpikeHit),d0
loc_10346:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
moveq #-1,d0
rts
; ---------------------------------------------------------------------------
loc_10350:
- moveq #sfx_Death,d0
+ moveq #signextendB(sfx_Death),d0
cmpi.l #Obj_Spikes,(a2)
blo.s loc_10364
cmpi.l #sub_24280,(a2)
bhs.s loc_10364
- moveq #sfx_SpikeHit,d0
+ moveq #signextendB(sfx_SpikeHit),d0
loc_10364:
bra.s loc_1036E
@@ -20913,7 +20824,7 @@ loc_10364:
Kill_Character:
tst.w (Debug_placement_mode).w
bne.s loc_103B6
- moveq #sfx_Death,d0
+ moveq #signextendB(sfx_Death),d0
loc_1036E:
clr.b $2B(a0)
@@ -20927,9 +20838,9 @@ loc_1036E:
move.w #0,$18(a0)
move.w #0,$1C(a0)
move.b #$18,$20(a0)
- move.w $A(a0),(Debug_P2_mappings).w
+ move.w $A(a0),(Debug_saved_art_tile).w
bset #7,$A(a0)
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
loc_103B6:
moveq #-1,d0
@@ -21165,7 +21076,8 @@ HyperTouch_DestroyEnemy:
move.b #0,routine(a1)
rts
; ---------------------------------------------------------------------------
-HyperEnemy_Score: dc.w 10, 20, 50, 100
+HyperEnemy_Score:
+ dc.w 10, 20, 50, 100
; ---------------------------------------------------------------------------
HyperTouch_Harmful:
@@ -21223,11 +21135,11 @@ loc_1060E:
jmp off_1061C(pc,d1.w)
; ---------------------------------------------------------------------------
off_1061C: dc.w loc_10628-off_1061C
- dc.w loc_10740-off_1061C; 1
- dc.w loc_122BE-off_1061C; 2
- dc.w loc_12390-off_1061C; 3
- dc.w loc_1257C-off_1061C; 4
- dc.w loc_12590-off_1061C; 5
+ dc.w loc_10740-off_1061C
+ dc.w loc_122BE-off_1061C
+ dc.w loc_12390-off_1061C
+ dc.w loc_1257C-off_1061C
+ dc.w loc_12590-off_1061C
; ---------------------------------------------------------------------------
loc_10628:
@@ -21489,7 +21401,7 @@ loc_10918:
move.b #2,$20(a0)
addq.w #4,$14(a0)
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
tst.w $1C(a0)
bne.s locret_1094A
move.w #$200,$1C(a0)
@@ -21512,7 +21424,7 @@ sub_1094C:
beq.w locret_10996
move.b #9,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addq.l #4,sp
move.b #1,$3D(a0)
move.w #0,$3E(a0)
@@ -21560,8 +21472,8 @@ loc_109F0:
loc_109FE:
bset #2,$2A(a0)
move.b #0,$20(a6)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
bra.s loc_10A80
; ---------------------------------------------------------------------------
word_10A14: dc.w $800
@@ -21573,7 +21485,7 @@ word_10A14: dc.w $800
dc.w $B00
dc.w $B80
dc.w $C00
- dc.w $B00
+word_10A26: dc.w $B00
dc.w $B80
dc.w $C00
dc.w $C80
@@ -21599,7 +21511,7 @@ loc_10A50:
beq.w loc_10A80
move.w #$900,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addi.w #$200,$3E(a0)
cmpi.w #$800,$3E(a0)
blo.s loc_10A80
@@ -21829,8 +21741,8 @@ Sonic_ChkInvin: ; Checks if invincibility has expired and disables it if it has.
bne.s Sonic_RmvInvin
cmpi.b #$C,air_left(a0) ; Don't change music if drowning
blo.s Sonic_RmvInvin
- move.w (Level_music).w,d0
- jsr (Play_Sound).l ; stop playing invincibility theme and resume normal level music
+ move.w (Current_music).w,d0
+ jsr (Play_Music).l ; stop playing invincibility theme and resume normal level music
Sonic_RmvInvin:
bclr #Status_Invincible,status_secondary(a0)
@@ -21990,7 +21902,7 @@ Sonic_InWater:
addq.b #1,(Water_entered_counter).w
movea.l a0,a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Air_CountDown,(Breathing_bubbles).w ; load Sonic's breathing bubbles
+ move.l #Obj_AirCountdown,(Breathing_bubbles).w ; load Sonic's breathing bubbles
move.b #$81,(Breathing_bubbles+subtype).w
move.l a0,(Breathing_bubbles+$40).w
move.w #$300,Max_speed-Max_speed(a4)
@@ -22011,7 +21923,7 @@ loc_10E82:
beq.s locret_10E2C
move.w #$100,anim(a6) ; splash animation, write 1 to anim and clear prev_anim
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
Sonic_OutWater:
@@ -22052,7 +21964,7 @@ loc_10EFC:
loc_10F22:
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; End of function Sonic_Water
; ---------------------------------------------------------------------------
@@ -22599,7 +22511,7 @@ loc_11438:
tst.b $2D(a0)
bmi.s locret_11480
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bclr #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -22654,7 +22566,7 @@ loc_114BE:
tst.b $2D(a0)
bmi.s locret_11506
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bset #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -22960,7 +22872,7 @@ Player_Boundary_Bottom:
Player_Boundary_Sides:
move.w d0,x_pos(a0)
- move.w #0,2+x_pos(a0) ; subpixel x
+ move.w #0,2+x_pos(a0) ; subpixel x
move.w #0,x_vel(a0)
move.w #0,ground_vel(a0)
bra.s Player_Boundary_CheckBottom
@@ -22974,9 +22886,9 @@ SonicKnux_Roll:
tst.b status_secondary(a0)
bmi.s locret_1177E
move.b (Ctrl_1_logical).w,d0
- andi.b #button_left_mask|button_right_mask,d0 ; is left/right being pressed?
+ andi.b #button_left_mask|button_right_mask,d0 ; is left/right being pressed?
bne.s locret_1177E ; if yes, branch
- btst #button_down,(Ctrl_1_logical).w ; is down being pressed?
+ btst #button_down,(Ctrl_1_logical).w ; is down being pressed?
beq.s Player_ChkWalk ; if not, branch
move.w ground_vel(a0),d0
bpl.s loc_1176A
@@ -23018,7 +22930,7 @@ Player_DoRoll:
loc_117C2:
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
tst.w ground_vel(a0)
bne.s locret_117D8
move.w #$200,ground_vel(a0)
@@ -23037,7 +22949,7 @@ locret_117D8:
Sonic_Jump:
move.b (Ctrl_1_pressed_logical).w,d0
- andi.b #button_B_mask|button_C_mask|button_A_mask,d0 ; is A, B or C pressed?
+ andi.b #button_B_mask|button_C_mask|button_A_mask,d0 ; is A, B or C pressed?
beq.w locret_118B2 ; if not, return
moveq #0,d0
move.b angle(a0),d0
@@ -23081,7 +22993,7 @@ loc_1182E:
move.b #1,jumping(a0)
clr.b stick_to_convex(a0)
move.w #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b default_y_radius(a0),y_radius(a0)
move.b default_x_radius(a0),x_radius(a0)
btst #Status_Roll,status(a0)
@@ -23123,7 +23035,7 @@ Sonic_JumpHeight:
loc_118D2:
cmp.w y_vel(a0),d1 ; is y speed greater than 4? (2 if underwater)
- ble.w Sonic_InstaAndShieldMoves ; if not, branch
+ ble.w Sonic_ShieldMoves ; if not, branch
move.b (Ctrl_1_logical).w,d0
andi.b #$70,d0 ; are buttons A, B or C being pressed?
bne.s locret_118E8 ; if yes, branch
@@ -23144,7 +23056,7 @@ locret_118FE:
rts
; ---------------------------------------------------------------------------
-Sonic_InstaAndShieldMoves:
+Sonic_ShieldMoves:
tst.b double_jump_flag(a0) ; is Sonic currently performing a double jump?
bne.w locret_11A14 ; if yes, branch
move.b (Ctrl_1_pressed_logical).w,d0
@@ -23177,7 +23089,7 @@ loc_11958:
move.w #$2000,(H_scroll_frame_offset).w
bsr.w Reset_Player_Position_Array
move.w #sfx_FireAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
Sonic_LightningShield:
@@ -23188,7 +23100,7 @@ Sonic_LightningShield:
move.w #-$580,y_vel(a0) ; bounce Sonic up, creating the double jump effect
clr.b jumping(a0)
move.w #sfx_ElectricAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
Sonic_BubbleShield:
@@ -23200,7 +23112,7 @@ Sonic_BubbleShield:
move.w #0,ground_vel(a0) ; ...both ground and air
move.w #$800,y_vel(a0) ; force Sonic down
move.w #sfx_BubbleAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
; Code that transforms Sonic into Super/Hyper Sonic
; if he has enough rings and emeralds
@@ -23209,7 +23121,7 @@ Sonic_BubbleShield:
Sonic_CheckTransform:
cmpi.b #7,(Super_emerald_count).w ; does Sonic have all 7 Super Emeralds?
bhs.s loc_119E8 ; if yes, branch
- cmpi.b #7,(Emerald_count).w ; does Sonic have all 7 Chaos Emeralds?
+ cmpi.b #7,(Chaos_emerald_count).w ; does Sonic have all 7 Chaos Emeralds?
blo.s Sonic_InstaShield ; if not, branch
tst.b (Emeralds_converted_flag).w
bne.s Sonic_InstaShield
@@ -23226,7 +23138,7 @@ Sonic_InstaShield:
move.b #1,(Shield+anim).w
move.b #1,double_jump_flag(a0)
move.w #sfx_InstaAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_11A14:
@@ -23259,10 +23171,10 @@ Sonic_Transform:
move.w #$100,Deceleration-Max_speed(a4)
move.b #0,invincibility_timer(a0)
bset #Status_Invincible,status_secondary(a0)
- moveq #sfx_SuperTransform,d0
- jsr (Play_Sound_2).l
- moveq #mus_Invincibility,d0 ; play invincibility theme
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_SuperTransform),d0
+ jsr (Play_SFX).l
+ moveq #signextendB(mus_Invincibility),d0 ; play invincibility theme
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
Sonic_HyperDash:
@@ -23271,8 +23183,8 @@ Sonic_HyperDash:
bsr.w Reset_Player_Position_Array
move.b #1,double_jump_flag(a0)
move.b #1,(Invincibility_stars+anim).w ; This causes the screen flash, and sparks to come out of Sonic
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
move.b (Ctrl_1_logical).w,d0
andi.w #button_up_mask|button_down_mask|button_left_mask|button_right_mask,d0 ; Get D-pad input
beq.s .noInput
@@ -23398,7 +23310,7 @@ SonicKnux_Spindash:
beq.w locret_11C5C
move.b #9,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addq.l #4,sp
move.b #1,$3D(a0)
move.w #0,$3E(a0)
@@ -23476,8 +23388,8 @@ loc_11CCE:
loc_11CDC:
bset #2,$2A(a0)
move.b #0,$20(a6)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
bra.s loc_11D5E
; ---------------------------------------------------------------------------
word_11CF2: dc.w $800
@@ -23515,7 +23427,7 @@ loc_11D2E:
beq.w loc_11D5E
move.w #$900,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addi.w #$200,$3E(a0)
cmpi.w #$800,$3E(a0)
blo.s loc_11D5E
@@ -23852,7 +23764,7 @@ loc_11F9C:
; ---------------------------------------------------------------------------
loc_11FAE:
- move.w #0,x_vel(a0) ; stop Sonic since he hit a wall
+ move.w #0,x_vel(a0) ; stop Sonic since he hit a wall
cmpi.w #$FC0,y_vel(a0)
ble.s loc_11FC2
move.w #$FC0,y_vel(a0)
@@ -23911,9 +23823,9 @@ ChooseChkFloorEdge:
Player_HitLeftWall:
bsr.w CheckLeftWallDist
tst.w d1
- bpl.s Player_HitCeiling ; branch if distance is positive (not inside wall)
+ bpl.s Player_HitCeiling ; branch if distance is positive (not inside wall)
sub.w d1,x_pos(a0)
- move.w #0,x_vel(a0) ; stop Sonic since he hit a wall
+ move.w #0,x_vel(a0) ; stop Sonic since he hit a wall
move.w y_vel(a0),ground_vel(a0)
Player_HitCeiling:
@@ -23931,7 +23843,7 @@ loc_12042:
add.w d1,y_pos(a0)
tst.w y_vel(a0)
bpl.s locret_12052
- move.w #0,y_vel(a0) ; stop Sonic in y since he hit a ceiling
+ move.w #0,y_vel(a0) ; stop Sonic in y since he hit a ceiling
locret_12052:
rts
@@ -24001,7 +23913,7 @@ loc_120D2:
addi.b #$20,d0
andi.b #$40,d0
bne.s loc_120EA
- move.w #0,y_vel(a0) ; stop Sonic in y since he hit a ceiling
+ move.w #0,y_vel(a0) ; stop Sonic in y since he hit a ceiling
rts
; ---------------------------------------------------------------------------
@@ -24179,7 +24091,7 @@ loc_122AA:
sub.w d0,$14(a0)
move.b #2,(Shield+anim).w
move.w #sfx_BubbleAttack,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; End of function BubbleShield_Bounce
; ---------------------------------------------------------------------------
@@ -24334,8 +24246,8 @@ loc_12432:
subq.b #1,(Life_count).w
bne.s loc_12498
move.w #0,$3E(a0)
- move.l #loc_2D5C6,(Reserved_object_3).w
- move.l #loc_2D5C6,(Dynamic_object_RAM).w
+ move.l #Obj_GameOver,(Reserved_object_3).w
+ move.l #Obj_GameOver,(Dynamic_object_RAM).w
move.b #0,(Reserved_object_3+mapping_frame).w
move.b #1,(Dynamic_object_RAM+mapping_frame).w
move.w a0,(Reserved_object_3+objoff_3E).w
@@ -24343,10 +24255,10 @@ loc_12432:
loc_12478:
clr.b (Update_HUD_timer).w
- clr.b (_unkFEC7).w
+ clr.b (Update_HUD_timer_P2).w
move.b #8,5(a0)
move.w #mus_GameOver,d0
- jsr (Play_Sound).l
+ jsr (Play_Music).l
moveq #3,d0
jmp (Load_PLC_2).l
; ---------------------------------------------------------------------------
@@ -24355,8 +24267,8 @@ loc_12498:
tst.b (Time_over_flag).w
beq.s locret_124C6
move.w #0,$3E(a0)
- move.l #loc_2D5C6,(Reserved_object_3).w
- move.l #loc_2D5C6,(Dynamic_object_RAM).w
+ move.l #Obj_GameOver,(Reserved_object_3).w
+ move.l #Obj_GameOver,(Dynamic_object_RAM).w
move.b #2,(Reserved_object_3+mapping_frame).w
move.b #3,(Dynamic_object_RAM+mapping_frame).w
move.w a0,(Reserved_object_3+objoff_3E).w
@@ -25260,6 +25172,7 @@ loc_12F6A:
; ---------------------------------------------------------------------------
AniSonic2P: include "General/Sprites/Sonic/Anim - Sonic Knuckles 2P.asm"
+
; =============== S U B R O U T I N E =======================================
@@ -25438,7 +25351,7 @@ loc_132B4:
move.w (Ctrl_2).w,(Ctrl_2_logical).w
loc_132C0:
- bsr.w loc_138FE
+ bsr.w Tails_Display
btst #0,$2E(a0)
bne.s loc_132DE
moveq #0,d0
@@ -25583,8 +25496,8 @@ loc_13438:
addq.b #8,d0
andi.b #$F,d0
bne.s locret_13452
- moveq #sfx_FlyTired,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlyTired),d0
+ jsr (Play_SFX).l
locret_13452:
rts
@@ -25595,8 +25508,8 @@ loc_13454:
addq.b #8,d0
andi.b #$F,d0
bne.s locret_13468
- moveq #sfx_Flying,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Flying),d0
+ jsr (Play_SFX).l
locret_13468:
rts
@@ -25669,7 +25582,7 @@ loc_134EC:
move.b #2,$20(a0)
addq.w #4,$14(a0)
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
tst.w $1C(a0)
bne.s locret_1351E
move.w #$200,$1C(a0)
@@ -25692,7 +25605,7 @@ sub_13520:
beq.w locret_1356E
move.b #9,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addq.l #4,sp
move.b #1,$3D(a0)
move.w #0,$3E(a0)
@@ -25742,7 +25655,7 @@ loc_135D6:
bset #2,$2A(a0)
move.b #0,$20(a6)
move.w #$FF00|sfx_Dash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
bra.s loc_13648
; ---------------------------------------------------------------------------
word_135EE: dc.w $800
@@ -25771,7 +25684,7 @@ loc_13618:
beq.w loc_13648
move.w #$900,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addi.w #$200,$3E(a0)
cmpi.w #$800,$3E(a0)
blo.s loc_13648
@@ -25799,9 +25712,9 @@ Obj_Tails:
lea (Distance_from_top_P2).w,a5
lea (Dust_P2).w,a6
cmpi.w #2,(Player_mode).w
- bne.s loc_136AE
+ bne.s Tails_Normal
tst.w (Debug_placement_mode).w
- beq.s loc_136AE
+ beq.s Tails_Normal
cmpi.b #1,(Debug_placement_type).w
beq.s loc_136A8
btst #4,(Ctrl_1_pressed).w
@@ -25823,22 +25736,22 @@ loc_136A8:
jmp (DebugMode).l
; ---------------------------------------------------------------------------
-loc_136AE:
+Tails_Normal:
moveq #0,d0
move.b routine(a0),d0
- move.w off_136BC(pc,d0.w),d1
- jmp off_136BC(pc,d1.w)
+ move.w Tails_Index(pc,d0.w),d1
+ jmp Tails_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-off_136BC: dc.w loc_136CA-off_136BC
- dc.w loc_137C4-off_136BC
- dc.w loc_1569C-off_136BC
- dc.w loc_1578E-off_136BC
- dc.w loc_157E0-off_136BC
- dc.w loc_157F4-off_136BC
- dc.w loc_15810-off_136BC
+Tails_Index: dc.w Tails_Init-Tails_Index
+ dc.w Tails_Control-Tails_Index
+ dc.w loc_1569C-Tails_Index
+ dc.w loc_1578E-Tails_Index
+ dc.w loc_157E0-Tails_Index
+ dc.w loc_157F4-Tails_Index
+ dc.w loc_15810-Tails_Index
; ---------------------------------------------------------------------------
-loc_136CA:
+Tails_Init:
addq.b #2,routine(a0)
move.b #$F,y_radius(a0)
move.b #9,x_radius(a0)
@@ -25856,27 +25769,27 @@ loc_136CA:
cmpi.w #2,(Player_mode).w
bne.s loc_1375E
tst.b (Last_star_post_hit).w
- bne.s loc_13776
+ bne.s Tails_Init_Continued
move.w #ArtTile_Player_2,art_tile(a0)
move.b #$C,top_solid_bit(a0)
move.b #$D,lrb_solid_bit(a0)
cmpi.b #2,(Special_bonus_entry_flag).w
- beq.s loc_13776
+ beq.s Tails_Init_Continued
move.w x_pos(a0),(Saved_X_pos).w
move.w y_pos(a0),(Saved_Y_pos).w
move.w art_tile(a0),(Saved_art_tile).w
move.w top_solid_bit(a0),(Saved_solid_bits).w
- bra.s loc_13776
+ bra.s Tails_Init_Continued
; ---------------------------------------------------------------------------
loc_1375E:
move.w #ArtTile_Player_2,art_tile(a0)
move.w (Player_1+top_solid_bit).w,top_solid_bit(a0)
tst.w (Player_1+art_tile).w
- bpl.s loc_13776
+ bpl.s Tails_Init_Continued
ori.w #$8000,art_tile(a0)
-loc_13776:
+Tails_Init_Continued:
move.b #0,flips_remaining(a0)
move.b #4,flip_speed(a0)
move.b #0,(Super_Tails_flag).w
@@ -25896,7 +25809,7 @@ loc_137A4:
rts
; ---------------------------------------------------------------------------
-loc_137C4:
+Tails_Control:
cmpi.w #2,(Player_mode).w
bne.s loc_13808
tst.w (Debug_mode_flag).w
@@ -25965,8 +25878,8 @@ loc_13872:
moveq #0,d0
move.b $2A(a0),d0
andi.w #6,d0
- move.w off_138F6(pc,d0.w),d1
- jsr off_138F6(pc,d1.w)
+ move.w Tails_Modes(pc,d0.w),d1
+ jsr Tails_Modes(pc,d1.w)
movem.l (sp)+,a4-a6
loc_1388C:
@@ -25976,10 +25889,10 @@ loc_1388C:
and.w d0,$14(a0)
loc_1389C:
- bsr.s loc_138FE
+ bsr.s Tails_Display
bsr.w Tails_Super
bsr.w Sonic_RecordPos
- bsr.w sub_14632
+ bsr.w Tails_Water
move.b (Primary_Angle).w,$3A(a0)
move.b (Secondary_Angle).w,$3B(a0)
tst.b (WindTunnel_flag_P2).w
@@ -26008,13 +25921,13 @@ loc_138E4:
locret_138F4:
rts
; ---------------------------------------------------------------------------
-off_138F6: dc.w Tails_Stand_Path-off_138F6
- dc.w Tails_Stand_Freespace-off_138F6
- dc.w Tails_Spin_Path-off_138F6
- dc.w Tails_Spin_Freespace-off_138F6
+Tails_Modes: dc.w Tails_Stand_Path-Tails_Modes
+ dc.w Tails_Stand_Freespace-Tails_Modes
+ dc.w Tails_Spin_Path-Tails_Modes
+ dc.w Tails_Spin_Freespace-Tails_Modes
; ---------------------------------------------------------------------------
-loc_138FE:
+Tails_Display:
move.b $34(a0),d0
beq.s loc_1390C
subq.b #1,$34(a0)
@@ -26038,8 +25951,8 @@ loc_13912:
bne.s loc_13948
cmpi.b #$C,$2C(a0)
blo.s loc_13948
- move.w (Level_music).w,d0
- jsr (Play_Sound).l
+ move.w (Current_music).w,d0
+ jsr (Play_Music).l
loc_13948:
bclr #1,$2B(a0)
@@ -26246,7 +26159,7 @@ loc_13B78:
move.b d0,double_jump_flag(a0)
move.b #2,$2A(a0)
move.b #$1E,$2C(a0)
- move.b #-$7F,$2E(a0)
+ move.b #$81,$2E(a0)
move.b d0,$30(a0)
move.b d0,$31(a0)
move.w d0,$32(a0)
@@ -26262,7 +26175,7 @@ loc_13B78:
move.w d0,$3E(a0)
move.b d0,$40(a0)
move.b d0,$41(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
bsr.w Tails_Set_Flying_Animation
locret_13BF6:
@@ -26281,13 +26194,13 @@ Tails_FlySwim_Unknown:
move.b #2,$2A(a0)
move.w #0,$10(a0)
move.w #0,$14(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
bsr.w Tails_Set_Flying_Animation
rts
; ---------------------------------------------------------------------------
loc_13C3A:
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
ori.b #2,$2A(a0)
bsr.w Tails_Set_Flying_Animation
move.w #0,(Tails_CPU_flight_timer).w
@@ -26387,7 +26300,7 @@ loc_13D34:
; ---------------------------------------------------------------------------
loc_13D42:
- move.b #-$7F,$2E(a0)
+ move.b #$81,$2E(a0)
rts
; ---------------------------------------------------------------------------
@@ -26397,7 +26310,7 @@ loc_13D4A:
move.w #4,(Tails_CPU_routine).w
move.b #0,$3D(a0)
move.w #0,$3E(a0)
- move.b #-$7F,$2E(a0)
+ move.b #$81,$2E(a0)
move.b #2,$2A(a0)
move.b #$20,$20(a0)
rts
@@ -26488,12 +26401,12 @@ loc_13E50:
bset #0,$2A(a0)
loc_13E64:
- tst.b (_unkF70F).w
+ tst.b (Tails_CPU_auto_jump_flag).w
beq.s loc_13E7C
ori.w #$7000,d1
btst #1,$2A(a0)
bne.s loc_13EB8
- move.b #0,(_unkF70F).w
+ move.b #0,(Tails_CPU_auto_jump_flag).w
loc_13E7C:
move.w (Level_frame_counter).w,d0
@@ -26517,7 +26430,7 @@ loc_13E9C:
cmpi.b #8,$20(a0)
beq.s loc_13EB8
ori.w #$7070,d1
- move.b #1,(_unkF70F).w
+ move.b #1,(Tails_CPU_auto_jump_flag).w
loc_13EB8:
move.w d1,(Ctrl_2_logical).w
@@ -26640,7 +26553,7 @@ locret_13FC0:
loc_13FC2:
move.b #1,double_jump_flag(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.b #2,$2A(a0)
move.w #$100,$18(a0)
move.w #0,$1A(a0)
@@ -26674,7 +26587,7 @@ loc_14016:
andi.w #$7FFF,$A(a0)
tst.b $A(a1)
bpl.s loc_14068
- ori.w #-$8000,$A(a0)
+ ori.w #$8000,$A(a0)
loc_14068:
move.b $46(a1),$46(a0)
@@ -26717,7 +26630,7 @@ loc_140C6:
loc_140CE:
move.b #1,double_jump_flag(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.b #2,$2A(a0)
move.w #0,$18(a0)
move.w #0,$1A(a0)
@@ -26766,10 +26679,10 @@ loc_14164:
clr.b (_unkFAAC).w
btst #1,(Ctrl_1).w
beq.s loc_14198
- addq.b #1,(_unkF70E).w
- cmpi.b #-$40,(_unkF70E).w
+ addq.b #1,(Tails_CPU_auto_fly_timer).w
+ cmpi.b #$C0,(Tails_CPU_auto_fly_timer).w
blo.s loc_141D2
- move.b #0,(_unkF70E).w
+ move.b #0,(Tails_CPU_auto_fly_timer).w
ori.w #$7070,(Ctrl_2_logical).w
bra.s loc_141D2
; ---------------------------------------------------------------------------
@@ -26777,19 +26690,19 @@ loc_14164:
loc_14198:
btst #0,(Ctrl_1).w
beq.s loc_141BA
- addq.b #1,(_unkF70E).w
- cmpi.b #$20,(_unkF70E).w
+ addq.b #1,(Tails_CPU_auto_fly_timer).w
+ cmpi.b #$20,(Tails_CPU_auto_fly_timer).w
blo.s loc_141D2
- move.b #0,(_unkF70E).w
+ move.b #0,(Tails_CPU_auto_fly_timer).w
ori.w #$7070,(Ctrl_2_logical).w
bra.s loc_141D2
; ---------------------------------------------------------------------------
loc_141BA:
- addq.b #1,(_unkF70E).w
- cmpi.b #$58,(_unkF70E).w
+ addq.b #1,(Tails_CPU_auto_fly_timer).w
+ cmpi.b #$58,(Tails_CPU_auto_fly_timer).w
blo.s loc_141D2
- move.b #0,(_unkF70E).w
+ move.b #0,(Tails_CPU_auto_fly_timer).w
ori.w #$7070,(Ctrl_2_logical).w
loc_141D2:
@@ -26807,7 +26720,7 @@ loc_141E2:
loc_141F2:
move.b #1,double_jump_flag(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.b #2,$2A(a0)
move.w #0,$18(a0)
move.w #0,$1A(a0)
@@ -26835,13 +26748,13 @@ locret_14252:
; ---------------------------------------------------------------------------
loc_14254:
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
rts
; ---------------------------------------------------------------------------
loc_1425C:
move.b #1,double_jump_flag(a0)
- move.b #-$10,$25(a0)
+ move.b #$F0,$25(a0)
move.b #2,$2A(a0)
move.w #$100,$18(a0)
move.w #0,$1A(a0)
@@ -26887,10 +26800,10 @@ loc_142E2:
move.w #0,(Ctrl_2_logical).w
cmpi.w #$200,$1A(a0)
bge.s loc_14328
- addq.b #1,(_unkF70E).w
- cmpi.b #$58,(_unkF70E).w
+ addq.b #1,(Tails_CPU_auto_fly_timer).w
+ cmpi.b #$58,(Tails_CPU_auto_fly_timer).w
blo.s loc_1432E
- move.b #0,(_unkF70E).w
+ move.b #0,(Tails_CPU_auto_fly_timer).w
loc_14328:
ori.w #$7070,(Ctrl_2_logical).w
@@ -26911,7 +26824,7 @@ loc_14340:
move.w d1,d2
lsr.w #1,d2
add.w d2,d1
- move.w d1,(Target_camera_min_X_pos).w
+ move.w d1,(Camera_stored_min_X_pos).w
move.w $10(a1),d1
sub.w $10(a0),d1
bpl.s loc_14358
@@ -26919,7 +26832,7 @@ loc_14340:
loc_14358:
lsr.w #2,d1
- move.w d1,(Target_camera_max_X_pos).w
+ move.w d1,(Camera_stored_max_X_pos).w
bra.w loc_143AA
; ---------------------------------------------------------------------------
@@ -26929,7 +26842,7 @@ loc_14362:
move.w $10(a0),d0
move.w $14(a0),d1
subi.w #$10,d1
- move.w (Target_camera_max_X_pos).w,d2
+ move.w (Camera_stored_max_X_pos).w,d2
bclr #0,$2A(a0)
cmp.w $10(a1),d0
blo.s loc_14390
@@ -26940,7 +26853,7 @@ loc_14390:
add.w d2,$18(a0)
cmp.w $14(a1),d1
bhs.s loc_143AA
- move.w (Target_camera_min_X_pos).w,d2
+ move.w (Camera_stored_min_X_pos).w,d2
cmp.w $14(a1),d1
blo.s loc_143A6
neg.w d2
@@ -27044,11 +26957,11 @@ loc_144BA:
moveq #0,d1
move.b $23(a1),d1
addq.b #1,$23(a1)
- move.b byte_14522(pc,d1.w),d0
+ move.b AniRaw_Tails_Carry(pc,d1.w),d0
cmpi.b #-1,d0
bne.s loc_144E4
move.b #0,$23(a1)
- move.b byte_14522(pc),d0
+ move.b AniRaw_Tails_Carry(pc),d0
loc_144E4:
move.b d0,$22(a1)
@@ -27069,24 +26982,9 @@ loc_144F8:
movem.l (sp)+,d0-a6
rts
; ---------------------------------------------------------------------------
-byte_14522: dc.b $91
- dc.b $91
- dc.b $90
- dc.b $90
- dc.b $90
- dc.b $90
- dc.b $90
- dc.b $90
- dc.b $92
- dc.b $92
- dc.b $92
- dc.b $92
- dc.b $92
- dc.b $92
- dc.b $91
- dc.b $91
- dc.b $FF
- dc.b 0
+AniRaw_Tails_Carry:
+ dc.b $91, $91, $90, $90, $90, $90, $90, $90, $92, $92, $92, $92, $92, $92, $91, $91, $FF
+ even
; ---------------------------------------------------------------------------
loc_14534:
@@ -27120,8 +27018,8 @@ loc_1456C:
tst.b $3D(a1)
bne.s locret_1459C
bsr.s sub_1459E
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
move.b #1,(a2)
locret_1459C:
@@ -27170,7 +27068,7 @@ locret_14630:
; =============== S U B R O U T I N E =======================================
-sub_14632:
+Tails_Water:
tst.b (Water_flag).w
bne.s loc_1463A
@@ -27187,7 +27085,7 @@ loc_1463A:
addq.b #1,(Water_entered_counter).w
movea.l a0,a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Air_CountDown,(Breathing_bubbles_P2).w
+ move.l #Obj_AirCountdown,(Breathing_bubbles_P2).w
move.b #$81,(Breathing_bubbles_P2+subtype).w
move.l a0,(Breathing_bubbles_P2+$40).w
move.w #$300,Max_speed-Max_speed(a4)
@@ -27212,7 +27110,7 @@ loc_1469C:
beq.s locret_14638
move.w #$100,anim(a6)
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_146BA:
@@ -27256,8 +27154,8 @@ loc_14718:
loc_1473E:
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
-; End of function sub_14632
+ jmp (Play_SFX).l
+; End of function Tails_Water
; ---------------------------------------------------------------------------
@@ -27426,8 +27324,8 @@ loc_148CC:
addq.b #8,d0
andi.b #$F,d0
bne.s locret_148F2
- moveq #sfx_FlyTired,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlyTired),d0
+ jsr (Play_SFX).l
locret_148F2:
rts
@@ -27441,8 +27339,8 @@ loc_148F4:
addq.b #8,d0
andi.b #$F,d0
bne.s locret_14912
- moveq #sfx_Flying,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Flying),d0
+ jsr (Play_SFX).l
locret_14912:
rts
@@ -27826,7 +27724,7 @@ loc_14C62:
tst.b $2D(a0)
bmi.s locret_14CAA
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bclr #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -27881,7 +27779,7 @@ loc_14CE8:
tst.b $2D(a0)
bmi.s locret_14D30
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bset #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -28234,7 +28132,7 @@ loc_14FC4:
loc_14FEA:
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
tst.w $1C(a0)
bne.s locret_15000
move.w #$200,$1C(a0)
@@ -28288,7 +28186,7 @@ loc_1504C:
move.b #1,$40(a0)
clr.b $3C(a0)
move.w #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b $44(a0),$1E(a0)
move.b $45(a0),$1F(a0)
btst #2,$2A(a0)
@@ -28363,7 +28261,7 @@ Tails_Test_For_Flight:
bne.s loc_1515C
cmpi.b #7,(Super_emerald_count).w
blo.s loc_1515C
- cmpi.w #$32,(Ring_count).w
+ cmpi.w #50,(Ring_count).w
blo.s loc_1515C
tst.b (Update_HUD_timer).w
bne.s Tails_Transform
@@ -28413,10 +28311,10 @@ Tails_Transform:
move.w #$C0,Deceleration_P2-Max_speed_P2(a4)
move.b #0,invincibility_timer(a0)
bset #Status_Invincible,status_secondary(a0)
- moveq #sfx_SuperTransform,d0
- jsr (Play_Sound_2).l
- moveq #mus_Invincibility,d0 ; play invincibility theme
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_SuperTransform),d0
+ jsr (Play_SFX).l
+ moveq #signextendB(mus_Invincibility),d0 ; play invincibility theme
+ jmp (Play_Music).l
; End of function Tails_JumpHeight
@@ -28433,7 +28331,7 @@ Tails_Spindash:
beq.w locret_1527A
move.b #9,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addq.l #4,sp
move.b #1,$3D(a0)
move.w #0,$3E(a0)
@@ -28511,8 +28409,8 @@ loc_152EA:
loc_152F8:
bset #2,$2A(a0)
move.b #0,$20(a6)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
bra.s loc_1537A
; ---------------------------------------------------------------------------
word_1530E: dc.w $800
@@ -28550,7 +28448,7 @@ loc_1534A:
beq.w loc_1537A
move.w #$900,$20(a0)
move.w #$FF00|sfx_Spindash,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
addi.w #$200,$3E(a0)
cmpi.w #$800,$3E(a0)
blo.s loc_1537A
@@ -29335,7 +29233,6 @@ loc_15A92:
rts
; ---------------------------------------------------------------------------
AniTails: include "General/Sprites/Tails/Anim - Tails.asm"
-
; ---------------------------------------------------------------------------
Tails_Tail_Load_PLC:
@@ -29681,7 +29578,6 @@ loc_15F32:
; ---------------------------------------------------------------------------
AniTails2P: include "General/Sprites/Tails/Anim - Tails 2P.asm"
-
; =============== S U B R O U T I N E =======================================
@@ -29803,49 +29699,47 @@ loc_1615A:
; chooses which animation script to run depending on what Tails is doing
Obj_Tails_Tail_AniSelection:
- dc.b 0,0 ; TailsAni_Walk,Run ->
- dc.b 3 ; TailsAni_Roll -> Directional
- dc.b 3 ; TailsAni_Roll2 -> Directional
- dc.b 9 ; TailsAni_Push -> Pushing
- dc.b 1 ; TailsAni_Wait -> Swish
- dc.b 0 ; TailsAni_Balance -> Blank
- dc.b 2 ; TailsAni_LookUp -> Flick
- dc.b 1 ; TailsAni_Duck -> Swish
- dc.b 7 ; TailsAni_Spindash -> Spindash
- dc.b 0,0,0 ; TailsAni_Dummy1,2,3 ->
- dc.b 8 ; TailsAni_Stop -> Skidding
- dc.b 0,0 ; TailsAni_Float,2 ->
- dc.b 0 ; TailsAni_Spring ->
- dc.b 0 ; TailsAni_Hang ->
- dc.b 0 ;
- dc.b 0 ; TailsAni_Victory ->
- dc.b $A ; TailsAni_Hang2 -> Hanging
- dc.b 0 ; TailsAni_Bubble ->
- dc.b 0,0,0 ; TailsAni_Death,2,3 ->
- dc.b 0 ; TailsAni_Slide2? ->
- dc.b 0,0 ; TailsAni_Hurt,Slide ->
- dc.b 0 ; TailsAni_Blank ->
- dc.b 0,0 ; TailsAni_Dummy4,5 ->
- dc.b 0 ; TailsAni_HaulAss ->
- dc.b $B,$C ; TailsAni_Fly,2 -> Fly1,2
- dc.b $B ; TailsAni_Carry -> Fly1
- dc.b $C ; TailsAni_Ascend -> Fly2
- dc.b $B ; TailsAni_Tired -> Fly1
- dc.b 0,0 ; TailsAni_Swim,2 ->
- dc.b 0 ; TailsAni_Tired2 ->
- dc.b 0 ; TailsAni_Tired3 ->
- dc.b 0
- dc.b 0
- dc.b 0
- dc.b 0
- dc.b 0
- dc.b 0
- dc.b 0
- dc.b 0
- dc.b 0
-
+ dc.b 0,0 ; TailsAni_Walk,Run ->
+ dc.b 3 ; TailsAni_Roll -> Directional
+ dc.b 3 ; TailsAni_Roll2 -> Directional
+ dc.b 9 ; TailsAni_Push -> Pushing
+ dc.b 1 ; TailsAni_Wait -> Swish
+ dc.b 0 ; TailsAni_Balance -> Blank
+ dc.b 2 ; TailsAni_LookUp -> Flick
+ dc.b 1 ; TailsAni_Duck -> Swish
+ dc.b 7 ; TailsAni_Spindash -> Spindash
+ dc.b 0,0,0 ; TailsAni_Dummy1,2,3 ->
+ dc.b 8 ; TailsAni_Stop -> Skidding
+ dc.b 0,0 ; TailsAni_Float,2 ->
+ dc.b 0 ; TailsAni_Spring ->
+ dc.b 0 ; TailsAni_Hang ->
+ dc.b 0 ;
+ dc.b 0 ; TailsAni_Victory ->
+ dc.b $A ; TailsAni_Hang2 -> Hanging
+ dc.b 0 ; TailsAni_Bubble ->
+ dc.b 0,0,0 ; TailsAni_Death,2,3 ->
+ dc.b 0 ; TailsAni_Slide2? ->
+ dc.b 0,0 ; TailsAni_Hurt,Slide ->
+ dc.b 0 ; TailsAni_Blank ->
+ dc.b 0,0 ; TailsAni_Dummy4,5 ->
+ dc.b 0 ; TailsAni_HaulAss ->
+ dc.b $B,$C ; TailsAni_Fly,2 -> Fly1,2
+ dc.b $B ; TailsAni_Carry -> Fly1
+ dc.b $C ; TailsAni_Ascend -> Fly2
+ dc.b $B ; TailsAni_Tired -> Fly1
+ dc.b 0,0 ; TailsAni_Swim,2 ->
+ dc.b 0 ; TailsAni_Tired2 ->
+ dc.b 0 ; TailsAni_Tired3 ->
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
AniTails_Tail: include "General/Sprites/Tails/Anim - Tails Tail.asm"
-
; ---------------------------------------------------------------------------
Obj_Tails2P_Tail:
@@ -29895,10 +29789,32 @@ loc_1628C:
bsr.w Tails2P_Tail_Load_PLC
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-byte_162A0: dc.b 0, 0, 3, 3, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0
- dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+byte_162A0: dc.b 0,0
+ dc.b 3
+ dc.b 3
+ dc.b 0
+ dc.b 1
+ dc.b 1
+ dc.b 1
+ dc.b 1
+ dc.b 0
+ dc.b 1,1,1
+ dc.b 0
+ dc.b 0,0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0
+ dc.b 0,0,0
+ dc.b 0
+ dc.b 0,0
+ dc.b 0
+ dc.b 0,0
+ dc.b 0
+ dc.b 0,0
AniTails2P_Tail:include "General/Sprites/Tails/Anim - Tails 2P Tail.asm"
-
; ---------------------------------------------------------------------------
Obj_MGZ2_BossTransition:
@@ -30012,7 +29928,7 @@ Obj_Knuckles:
lea (Distance_from_top).w,a5
lea (Dust).w,a6
tst.w (Debug_placement_mode).w
- beq.s loc_1648E
+ beq.s Knuckles_Normal
cmpi.b #1,(Debug_placement_type).w
beq.s loc_16488
btst #4,(Ctrl_1_pressed).w
@@ -30034,22 +29950,22 @@ loc_16488:
jmp (DebugMode).l
; ---------------------------------------------------------------------------
-loc_1648E:
+Knuckles_Normal:
moveq #0,d0
move.b routine(a0),d0
- move.w off_1649C(pc,d0.w),d1
- jmp off_1649C(pc,d1.w)
+ move.w Knuckles_Index(pc,d0.w),d1
+ jmp Knuckles_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-off_1649C: dc.w loc_164AA-off_1649C
- dc.w loc_1656C-off_1649C; 1
- dc.w loc_17BB6-off_1649C; 2
- dc.w loc_17C88-off_1649C; 3
- dc.w loc_17CBA-off_1649C; 4
- dc.w loc_17CCE-off_1649C; 5
- dc.w loc_17CEA-off_1649C; 6
+Knuckles_Index: dc.w Knuckles_Init-Knuckles_Index
+ dc.w Knuckles_Control-Knuckles_Index
+ dc.w loc_17BB6-Knuckles_Index
+ dc.w loc_17C88-Knuckles_Index
+ dc.w loc_17CBA-Knuckles_Index
+ dc.w loc_17CCE-Knuckles_Index
+ dc.w loc_17CEA-Knuckles_Index
; ---------------------------------------------------------------------------
-loc_164AA:
+Knuckles_Init:
addq.b #2,routine(a0)
move.b #$13,y_radius(a0)
move.b #9,x_radius(a0)
@@ -30065,18 +29981,18 @@ loc_164AA:
move.w #$C,Acceleration-Max_speed(a4)
move.w #$80,Deceleration-Max_speed(a4)
tst.b (Last_star_post_hit).w
- bne.s loc_16534
+ bne.s Knuckles_Init_Continued
move.w #ArtTile_Player_1,art_tile(a0)
move.b #$C,top_solid_bit(a0)
move.b #$D,lrb_solid_bit(a0)
cmpi.b #2,(Special_bonus_entry_flag).w
- beq.s loc_16534
+ beq.s Knuckles_Init_Continued
move.w x_pos(a0),(Saved_X_pos).w
move.w y_pos(a0),(Saved_Y_pos).w
move.w art_tile(a0),(Saved_art_tile).w
move.w top_solid_bit(a0),(Saved_solid_bits).w
-loc_16534:
+Knuckles_Init_Continued:
move.b #0,flips_remaining(a0)
move.b #4,flip_speed(a0)
move.b #0,(Super_Sonic_Knux_flag).w
@@ -30089,7 +30005,7 @@ loc_16534:
rts
; ---------------------------------------------------------------------------
-loc_1656C:
+Knuckles_Control:
tst.w (Debug_mode_flag).w
beq.s loc_165A2
bclr #6,(Ctrl_1_pressed).w
@@ -30126,8 +30042,8 @@ loc_165BE:
moveq #0,d0
move.b $2A(a0),d0
andi.w #6,d0
- move.w off_16642(pc,d0.w),d1
- jsr off_16642(pc,d1.w)
+ move.w Knux_Modes(pc,d0.w),d1
+ jsr Knux_Modes(pc,d1.w)
movem.l (sp)+,a4-a6
loc_165D8:
@@ -30137,10 +30053,10 @@ loc_165D8:
and.w d0,$14(a0)
loc_165E8:
- bsr.s sub_1664A
+ bsr.s Knuckles_Display
bsr.w SonicKnux_SuperHyper
bsr.w Sonic_RecordPos
- bsr.w sub_166EE
+ bsr.w Knuckles_Water
move.b (Primary_Angle).w,$3A(a0)
move.b (Secondary_Angle).w,$3B(a0)
tst.b (WindTunnel_flag).w
@@ -30169,15 +30085,15 @@ loc_16630:
locret_16640:
rts
; ---------------------------------------------------------------------------
-off_16642: dc.w Knux_Stand_Path-off_16642
- dc.w Knux_Stand_Freespace-off_16642
- dc.w Knux_Spin_Path-off_16642
- dc.w Knux_Spin_Freespace-off_16642
+Knux_Modes: dc.w Knux_Stand_Path-Knux_Modes
+ dc.w Knux_Stand_Freespace-Knux_Modes
+ dc.w Knux_Spin_Path-Knux_Modes
+ dc.w Knux_Spin_Freespace-Knux_Modes
; =============== S U B R O U T I N E =======================================
-sub_1664A:
+Knuckles_Display:
move.b $34(a0),d0
beq.s loc_16658
subq.b #1,$34(a0)
@@ -30201,8 +30117,8 @@ loc_1665E:
bne.s loc_16694
cmpi.b #$C,$2C(a0)
blo.s loc_16694
- move.w (Level_music).w,d0
- jsr (Play_Sound).l
+ move.w (Current_music).w,d0
+ jsr (Play_Music).l
loc_16694:
bclr #1,$2B(a0)
@@ -30234,13 +30150,13 @@ loc_166DE:
locret_166EC:
rts
-; End of function sub_1664A
+; End of function Knuckles_Display
; =============== S U B R O U T I N E =======================================
-sub_166EE:
+Knuckles_Water:
tst.b (Water_flag).w
bne.s loc_166F6
@@ -30257,7 +30173,7 @@ loc_166F6:
addq.b #1,(Water_entered_counter).w
movea.l a0,a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Air_CountDown,(Breathing_bubbles).w
+ move.l #Obj_AirCountdown,(Breathing_bubbles).w
move.b #$81,(Breathing_bubbles+subtype).w
move.l a0,(Breathing_bubbles+$40).w
move.w #$300,Max_speed-Max_speed(a4)
@@ -30278,7 +30194,7 @@ loc_1674A:
beq.s locret_166F4
move.w #$100,anim(a6)
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_1676E:
@@ -30318,8 +30234,8 @@ loc_167C4:
loc_167EA:
move.w #sfx_Splash,d0
- jmp (Play_Sound_2).l
-; End of function sub_166EE
+ jmp (Play_SFX).l
+; End of function Knuckles_Water
; ---------------------------------------------------------------------------
@@ -30361,7 +30277,7 @@ Knux_Stand_Freespace:
tst.b double_jump_flag(a0)
bne.s Knux_Glide_Freespace
bsr.w Knux_JumpHeight
- bsr.w sub_17680
+ bsr.w Knux_ChgJumpDir
bsr.w Player_LevelBound
jsr (MoveSprite_TestGravity).l
btst #6,$2A(a0)
@@ -30397,613 +30313,841 @@ Knuckles_Glide:
beq.w Knuckles_Wall_Climb
cmpi.b #5,d0
beq.w Knuckles_Climb_Ledge
+
+ ; This function updates 'Gliding_collision_flags'.
bsr.w Knux_DoLevelCollision_CheckRet
- btst #1,(_unkF74E).w
+
+ btst #Status_InAir,(Gliding_collision_flags).w
beq.s Knux_Gliding_HitFloor
- btst #5,(_unkF74E).w
+
+ btst #Status_Push,(Gliding_collision_flags).w
bne.w Knuckles_Gliding_HitWall
+
move.b (Ctrl_1_logical).w,d0
- andi.b #$70,d0
- bne.s loc_1690A
+ andi.b #button_A_mask|button_B_mask|button_C_mask,d0
+ bne.s .continueGliding
+
+ ; The player has let go of the jump button, so exit the gliding state
+ ; and enter the falling state.
move.b #2,double_jump_flag(a0)
- move.b #$21,$20(a0)
- bclr #0,$2A(a0)
- tst.w $18(a0)
- bpl.s loc_168F4
- bset #0,$2A(a0)
+ move.b #$21,anim(a0)
+ bclr #Status_Facing,status(a0)
+ tst.w x_vel(a0)
+ bpl.s .skip1
+ bset #Status_Facing,status(a0)
+
+.skip1:
+ ; Divide Knuckles' X velocity by 4.
+ asr.w x_vel(a0)
+ asr.w x_vel(a0)
+
+ move.b default_y_radius(a0),y_radius(a0)
+ move.b default_x_radius(a0),x_radius(a0)
-loc_168F4:
- asr $18(a0)
- asr $18(a0)
- move.b $44(a0),$1E(a0)
- move.b $45(a0),$1F(a0)
rts
; ---------------------------------------------------------------------------
-
-loc_1690A:
+; loc_1690A:
+.continueGliding:
bra.w Knuckles_Set_Gliding_Animation
; ---------------------------------------------------------------------------
Knux_Gliding_HitFloor:
- bclr #0,$2A(a0)
- tst.w $18(a0)
- bpl.s loc_16920
- bset #0,$2A(a0)
-
-loc_16920:
- move.b $26(a0),d0
+ bclr #Status_Facing,status(a0)
+ tst.w x_vel(a0)
+ bpl.s +
+ bset #Status_Facing,status(a0)
++
+ move.b angle(a0),d0
addi.b #$20,d0
andi.b #$C0,d0
beq.s loc_1693E
- move.w $1C(a0),$18(a0)
- move.w #0,$1A(a0)
+
+ move.w ground_vel(a0),x_vel(a0)
+ move.w #0,y_vel(a0)
+
bra.w Knux_TouchFloor
; ---------------------------------------------------------------------------
loc_1693E:
move.b #3,double_jump_flag(a0)
- move.b #-$34,$22(a0)
- move.b #$7F,$24(a0)
- move.b #0,$23(a0)
- cmpi.b #$C,$2C(a0)
- blo.s locret_1696A
- move.b #6,5(a6)
- move.b #$15,$22(a6)
+ move.b #$CC,mapping_frame(a0)
+ move.b #$7F,anim_frame_timer(a0)
+ move.b #0,anim_frame(a0)
-locret_1696A:
+ ; The drowning countdown uses the dust clouds' VRAM, so don't create
+ ; dust if Knuckles is drowning.
+ cmpi.b #12,air_left(a0)
+ blo.s +
+ ; Create dust clouds.
+ move.b #6,routine(a6)
+ move.b #$15,mapping_frame(a6)
++
rts
; ---------------------------------------------------------------------------
Knuckles_Gliding_HitWall:
tst.b (Disable_wall_grab).w
- bmi.w loc_16A6E
- move.b $47(a0),d5
- move.b $25(a0),d0
+ bmi.w .fail
+
+ move.b lrb_solid_bit(a0),d5
+ move.b double_jump_property(a0),d0
addi.b #$40,d0
- bpl.s loc_16996
- bset #0,$2A(a0)
+ bpl.s .right
+
+;.left:
+ bset #Status_Facing,status(a0)
+
bsr.w CheckLeftCeilingDist
or.w d0,d1
- bne.s loc_16A00
- addq.w #1,$10(a0)
- bra.s loc_169A6
-; ---------------------------------------------------------------------------
+ bne.s .checkFloorLeft
+
+ addq.w #1,x_pos(a0)
+ bra.s .success
+
+.right:
+ bclr #Status_Facing,status(a0)
-loc_16996:
- bclr #0,$2A(a0)
bsr.w CheckRightCeilingDist
or.w d0,d1
- bne.w loc_16A58
-
-loc_169A6:
- moveq #sfx_Grab,d0
+ bne.w .checkFloorRight
+; loc_169A6:
+.success:
+ moveq #signextendB(sfx_Grab),d0
+
+ ; If Hyper Knuckles glides into a wall at a high-enough
+ ; speed, then make the screen shake and harm all enemies
+ ; on-screen.
tst.b (Super_Sonic_Knux_flag).w
- bpl.s loc_169C2
- cmpi.w #$480,$1C(a0)
- blo.s loc_169C2
+ bpl.s .noQuake
+
+ cmpi.w #$480,ground_vel(a0)
+ blo.s .noQuake
+
move.w #$14,(Glide_screen_shake).w
bsr.w HyperAttackTouchResponse
- moveq #sfx_Thump,d0
-
-loc_169C2:
- jsr (Play_Sound_2).l
- move.w #0,$1C(a0)
- move.w #0,$18(a0)
- move.w #0,$1A(a0)
+ moveq #signextendB(sfx_Thump),d0
+; loc_169C2:
+.noQuake:
+ jsr (Play_SFX).l
+ move.w #0,ground_vel(a0)
+ move.w #0,x_vel(a0)
+ move.w #0,y_vel(a0)
move.b #4,double_jump_flag(a0)
- move.b #-$49,$22(a0)
- move.b #$7F,$24(a0)
- move.b #0,$23(a0)
- move.b #3,$25(a0)
- move.w $10(a0),$12(a0)
+ move.b #$B7,mapping_frame(a0)
+ move.b #$7F,anim_frame_timer(a0)
+ move.b #0,anim_frame(a0)
+ move.b #3,double_jump_property(a0)
+ ; 'x_pos+2' holds the X coordinate that Knuckles was at when he first
+ ; latched onto the wall.
+ move.w x_pos(a0),x_pos+2(a0)
rts
; ---------------------------------------------------------------------------
-
-loc_16A00:
- move.w $10(a0),d3
- move.b $1E(a0),d0
+; loc_16A00:
+.checkFloorLeft:
+ ; This adds the Y radius to the X coordinate...
+ ; This appears to be a bug, but, luckily, the X and Y radius are both
+ ; 10, so this is harmless.
+ move.w x_pos(a0),d3
+ move.b y_radius(a0),d0
ext.w d0
sub.w d0,d3
subq.w #1,d3
- tst.b (Reverse_gravity_flag).w
- bne.s loc_16A34
-loc_16A14:
- move.w $14(a0),d2
- subi.w #$B,d2
+ tst.b (Reverse_gravity_flag).w
+ bne.s .reverseGravity
+; loc_16A14:
+.checkFloorCommon:
+ move.w y_pos(a0),d2
+ subi.w #11,d2
jsr (ChkFloorEdge_Part3).l
+
tst.w d1
- bmi.s loc_16A6E
- cmpi.w #$C,d1
- bhs.s loc_16A6E
- add.w d1,$14(a0)
- bra.w loc_169A6
+ bmi.s .fail
+ cmpi.w #12,d1
+ bhs.s .fail
+ add.w d1,y_pos(a0)
+ bra.w .success
; ---------------------------------------------------------------------------
-
-loc_16A34:
- move.w $14(a0),d2
- addi.w #$B,d2
+; loc_16A34:
+.reverseGravity:
+ move.w y_pos(a0),d2
+ addi.w #11,d2
eori.w #$F,d2
jsr (ChkFloorEdge_ReverseGravity_Part2).l
- tst.w d1
- bmi.s loc_16A6E
- cmpi.w #$C,d1
- bhs.s loc_16A6E
- sub.w d1,$14(a0)
- bra.w loc_169A6
-; ---------------------------------------------------------------------------
-loc_16A58:
- move.w $10(a0),d3
- move.b $1E(a0),d0
+ tst.w d1
+ bmi.s .fail
+ cmpi.w #12,d1
+ bhs.s .fail
+ sub.w d1,y_pos(a0)
+ bra.w .success
+; ---------------------------------------------------------------------------
+; loc_16A58:
+.checkFloorRight:
+ ; This adds the Y radius to the X coordinate...
+ ; This appears to be a bug, but, luckily, the X and Y radius are both
+ ; 10, so this is harmless.
+ move.w x_pos(a0),d3
+ move.b y_radius(a0),d0
ext.w d0
add.w d0,d3
addq.w #1,d3
+
tst.b (Reverse_gravity_flag).w
- bne.s loc_16A34
- bra.s loc_16A14
-; ---------------------------------------------------------------------------
+ bne.s Knuckles_Gliding_HitWall.reverseGravity
-loc_16A6E:
+ bra.s .checkFloorCommon
+; ---------------------------------------------------------------------------
+; loc_16A6E:
+.fail:
move.b #2,double_jump_flag(a0)
- move.b #$21,$20(a0)
- move.b $44(a0),$1E(a0)
- move.b $45(a0),$1F(a0)
- bset #1,(_unkF74E).w
+ move.b #$21,anim(a0)
+ move.b default_y_radius(a0),y_radius(a0)
+ move.b default_x_radius(a0),x_radius(a0)
+ bset #Status_InAir,(Gliding_collision_flags).w
rts
; ---------------------------------------------------------------------------
Knuckles_Fall_From_Glide:
- bsr.w sub_17680
- addi.w #$38,$1A(a0)
- btst #6,$2A(a0)
- beq.s loc_16AA6
- subi.w #$28,$1A(a0)
+ bsr.w Knux_ChgJumpDir
+
+ ; Apply gravity.
+ addi.w #$38,y_vel(a0)
+
+ ; Fall slower when underwater.
+ btst #Status_Underwater,status(a0)
+ beq.s .skip1
+ subi.w #$28,y_vel(a0)
-loc_16AA6:
+.skip1:
+ ; This function updates 'Gliding_collision_flags'.
bsr.w Knux_DoLevelCollision_CheckRet
- btst #1,(_unkF74E).w
- bne.s locret_16B04
- move.w #0,$1C(a0)
- move.w #0,$18(a0)
- move.w #0,$1A(a0)
- move.b $1E(a0),d0
- sub.b $44(a0),d0
+
+ btst #Status_InAir,(Gliding_collision_flags).w
+ bne.s .return
+
+ ; Knuckles has touched the ground.
+ move.w #0,ground_vel(a0)
+ move.w #0,x_vel(a0)
+ move.w #0,y_vel(a0)
+
+ move.b y_radius(a0),d0
+ sub.b default_y_radius(a0),d0
ext.w d0
tst.b (Reverse_gravity_flag).w
- beq.s loc_16AD6
+ beq.s .skip2
neg.w d0
-loc_16AD6:
- add.w d0,$14(a0)
- moveq #sfx_GlideLand,d0
- jsr (Play_Sound_2).l
- move.b $26(a0),d0
+.skip2:
+ add.w d0,y_pos(a0)
+
+ moveq #signextendB(sfx_GlideLand),d0
+ jsr (Play_SFX).l
+
+ move.b angle(a0),d0
addi.b #$20,d0
andi.b #$C0,d0
- beq.s loc_16AF4
+ beq.s .skip3
bra.w Knux_TouchFloor
-; ---------------------------------------------------------------------------
-loc_16AF4:
+.skip3:
bsr.w Knux_TouchFloor
- move.w #$F,$32(a0)
- move.b #$23,$20(a0)
-
-locret_16B04:
+ move.w #$F,move_lock(a0)
+ move.b #$23,anim(a0)
+; locret_16B04:
+.return:
rts
; ---------------------------------------------------------------------------
Knuckles_Sliding:
move.b (Ctrl_1_logical).w,d0
- andi.b #$70,d0
- beq.s loc_16B2A
- tst.w $18(a0)
- bpl.s loc_16B22
- addi.w #$20,$18(a0)
- bmi.s loc_16B20
- bra.s loc_16B2A
-; ---------------------------------------------------------------------------
+ andi.b #button_A_mask|button_B_mask|button_C_mask,d0
+ beq.s .getUp
-loc_16B20:
- bra.s loc_16B64
-; ---------------------------------------------------------------------------
+ tst.w x_vel(a0)
+ bpl.s .goingRight
-loc_16B22:
- subi.w #$20,$18(a0)
- bpl.s loc_16B64
+;.goingLeft:
+ addi.w #$20,x_vel(a0)
+ bmi.s .continueSliding2
-loc_16B2A:
- move.w #0,$1C(a0)
- move.w #0,$18(a0)
- move.w #0,$1A(a0)
- move.b $1E(a0),d0
- sub.b $44(a0),d0
+ bra.s .getUp
+; ---------------------------------------------------------------------------
+; loc_16B20:
+.continueSliding2:
+ bra.s .continueSliding
+; ---------------------------------------------------------------------------
+; loc_16B22:
+.goingRight:
+ subi.w #$20,x_vel(a0)
+ bpl.s .continueSliding
+; loc_16B2A:
+.getUp:
+ move.w #0,ground_vel(a0)
+ move.w #0,x_vel(a0)
+ move.w #0,y_vel(a0)
+
+ move.b y_radius(a0),d0
+ sub.b default_y_radius(a0),d0
ext.w d0
tst.b (Reverse_gravity_flag).w
- beq.s loc_16B4E
+ beq.s .skip1
neg.w d0
-loc_16B4E:
- add.w d0,$14(a0)
+.skip1:
+ add.w d0,y_pos(a0)
+
bsr.w Knux_TouchFloor
- move.w #$F,$32(a0)
- move.b #$22,$20(a0)
+
+ move.w #$F,move_lock(a0)
+ move.b #$22,anim(a0)
+
rts
; ---------------------------------------------------------------------------
-
-loc_16B64:
+; loc_16B64:
+.continueSliding:
bsr.w Knux_DoLevelCollision_CheckRet
+
+ ; Get distance from floor in 'd1', and angle of floor in 'd3'.
bsr.w sub_11FD6
- cmpi.w #$E,d1
- bge.s loc_16B96
+
+ ; If the distance from the floor is suddenly really high, then
+ ; Knuckles must have slid off a ledge, so make him enter his falling
+ ; state.
+ cmpi.w #14,d1
+ bge.s .fail
+
tst.b (Reverse_gravity_flag).w
- beq.s loc_16B7A
+ beq.s .skip2
neg.w d1
-loc_16B7A:
- add.w d1,$14(a0)
- move.b d3,$26(a0)
+.skip2:
+ add.w d1,y_pos(a0)
+ move.b d3,angle(a0)
+
+ ; Play the sliding sound every 8 frames.
move.b (Level_frame_counter+1).w,d0
andi.b #7,d0
- bne.s locret_16B94
- moveq #sfx_GroundSlide,d0
- jsr (Play_Sound_2).l
+ bne.s .skip3
-locret_16B94:
+ moveq #signextendB(sfx_GroundSlide),d0
+ jsr (Play_SFX).l
+.skip3:
rts
; ---------------------------------------------------------------------------
-
-loc_16B96:
+; loc_16B96:
+.fail:
move.b #2,double_jump_flag(a0)
- move.b #$21,$20(a0)
- move.b $44(a0),$1E(a0)
- move.b $45(a0),$1F(a0)
- bset #1,(_unkF74E).w
+ move.b #$21,anim(a0)
+
+ move.b default_y_radius(a0),y_radius(a0)
+ move.b default_x_radius(a0),x_radius(a0)
+
+ bset #Status_InAir,(Gliding_collision_flags).w
rts
; ---------------------------------------------------------------------------
Knuckles_Wall_Climb:
tst.b (Disable_wall_grab).w
- bmi.w loc_16ED2
- move.w $10(a0),d0
- cmp.w $12(a0),d0
- bne.w loc_16ED2
- btst #3,$2A(a0)
- bne.w loc_16ED2
- move.w #0,$1C(a0)
- move.w #0,$18(a0)
- move.w #0,$1A(a0)
+ bmi.w Knuckles_LetGoOfWall
+
+ ; If Knuckles' X coordinate is no longer the same as when he first
+ ; latched onto the wall, then detach him from the wall. This is
+ ; probably intended to detach Knuckles from the wall if something
+ ; physically pushes him away from it.
+ move.w x_pos(a0),d0
+ cmp.w x_pos+2(a0),d0
+ bne.w Knuckles_LetGoOfWall
+
+ ; If an object is now carrying Knuckles, then detach him from the
+ ; wall.
+ btst #Status_OnObj,status(a0)
+ bne.w Knuckles_LetGoOfWall
+
+ move.w #0,ground_vel(a0)
+ move.w #0,x_vel(a0)
+ move.w #0,y_vel(a0)
+
move.l (Primary_collision_addr).w,(Collision_addr).w
- cmpi.b #$D,$47(a0)
- beq.s loc_16BFA
+ cmpi.b #$D,lrb_solid_bit(a0)
+ beq.s +
move.l (Secondary_collision_addr).w,(Collision_addr).w
++
+ move.b lrb_solid_bit(a0),d5
-loc_16BFA:
- move.b $47(a0),d5
- moveq #0,d1
- btst #0,(Ctrl_1_logical).w
- beq.w loc_16D10
+ moveq #0,d1 ; Climbing animation delta: make the animation pause.
+
+ btst #button_up,(Ctrl_1_logical).w
+ beq.w .notClimbingUp
+
+;.climbingUp:
tst.b (Reverse_gravity_flag).w
- bne.w loc_16DA8
- move.w $14(a0),d2
- subi.w #$B,d2
- bsr.w sub_16F4E
+ bne.w .climbingUp_ReverseGravity
+
+ ; Get Knuckles' distance from the wall in 'd1'.
+ move.w y_pos(a0),d2
+ subi.w #11,d2
+ bsr.w GetDistanceFromWall
+
+ ; If the wall is far away from Knuckles, then we must have reached a
+ ; ledge, so make Knuckles climb up onto it.
cmpi.w #4,d1
- bge.w loc_16EBA
+ bge.w Knuckles_ClimbUp
+
+ ; If Knuckles has encountered a small dip in the wall, then make him
+ ; stop.
tst.w d1
- bne.w loc_16E60
- move.b $47(a0),d5
- move.w $14(a0),d2
+ bne.w .notMoving
+
+ ; Get Knuckles' distance from the ceiling in 'd1'.
+ move.b lrb_solid_bit(a0),d5
+ move.w y_pos(a0),d2
subq.w #8,d2
- move.w $10(a0),d3
- bsr.w sub_FBEE
+ move.w x_pos(a0),d3
+ bsr.w CheckCeilingDist_WithRadius
+
+ ; Check if Knuckles has room above him.
tst.w d1
- bpl.s loc_16C4C
- sub.w d1,$14(a0)
- moveq #1,d1
- bra.w loc_16E10
+ bpl.s .moveUp
+
+ ; Knuckles is bumping into the ceiling, so push him out.
+ sub.w d1,y_pos(a0)
+
+ moveq #1,d1 ; Climbing animation delta: make the animation play forwards.
+ bra.w .finishMoving
; ---------------------------------------------------------------------------
+; loc_16C4C:
+.moveUp:
+ subq.w #1,y_pos(a0)
-loc_16C4C:
- subq.w #1,$14(a0)
+ ; Super Knuckles and Hyper Knuckles climb walls faster.
tst.b (Super_Sonic_Knux_flag).w
- beq.s loc_16C5A
- subq.w #1,$14(a0)
+ beq.s .notSuperOrHyper1
+ subq.w #1,y_pos(a0)
-loc_16C5A:
- moveq #1,d1
+.notSuperOrHyper1:
+ moveq #1,d1 ; Climbing animation delta: make the animation play forwards.
+
+ ; Don't let Knuckles climb through the level's upper boundary.
move.w (Camera_min_Y_pos).w,d0
+
+ ; If the level wraps vertically, then don't bother with any of this.
cmpi.w #-$100,d0
- beq.w loc_16E10
- addi.w #$10,d0
- cmp.w $14(a0),d0
- ble.w loc_16E10
- move.w d0,$14(a0)
- bra.w loc_16E10
-; ---------------------------------------------------------------------------
+ beq.w .finishMoving
-loc_16C7C:
- cmpi.b #$BD,$22(a0)
- bne.s loc_16C9E
- move.b #$B7,$22(a0)
- subq.w #3,$14(a0)
- subq.w #3,$10(a0)
- btst #0,$2A(a0)
- beq.s loc_16C9E
- addq.w #6,$10(a0)
+ ; Check if Knuckles is over the level's top boundary.
+ addi.w #16,d0
+ cmp.w y_pos(a0),d0
+ ble.w .finishMoving
-loc_16C9E:
- move.w $14(a0),d2
- subi.w #$B,d2
- bsr.w sub_16F4E
+ ; Knuckles is climbing over the level's top boundary: push him back
+ ; down.
+ move.w d0,y_pos(a0)
+ bra.w .finishMoving
+; ---------------------------------------------------------------------------
+; loc_16C7C:
+.climbingDown_ReverseGravity:
+ ; Knuckles is climbing down.
+
+ ; ...I'm not sure what this code is for.
+ cmpi.b #$BD,mapping_frame(a0)
+ bne.s .skip3
+ move.b #$B7,mapping_frame(a0)
+ subq.w #3,y_pos(a0)
+ subq.w #3,x_pos(a0)
+ btst #Status_Facing,status(a0)
+ beq.s .skip3
+ addq.w #3*2,x_pos(a0)
+
+.skip3:
+ ; Get Knuckles' distance from the wall in 'd1'.
+ move.w y_pos(a0),d2
+ subi.w #11,d2
+ bsr.w GetDistanceFromWall
+
+ ; If Knuckles is no longer against the wall (he has climbed off the
+ ; bottom of it) then make him let go.
tst.w d1
- bne.w loc_16ED2
- move.b $46(a0),d5
- move.w $14(a0),d2
+ bne.w Knuckles_LetGoOfWall
+
+ ; Get Knuckles' distance from the floor in 'd1'.
+ move.b top_solid_bit(a0),d5
+ move.w y_pos(a0),d2
subi.w #9,d2
- move.w $10(a0),d3
- bsr.w sub_FBEE
+ move.w x_pos(a0),d3
+ bsr.w CheckCeilingDist_WithRadius
+
+ ; Check if Knuckles has room below him.
tst.w d1
- bpl.s loc_16CFC
- sub.w d1,$14(a0)
+ bpl.s .moveDown_ReverseGravity
+
+ ; Knuckles has reached the floor.
+ sub.w d1,y_pos(a0)
move.b (Primary_Angle).w,d0
addi.b #$40,d0
neg.b d0
subi.b #$40,d0
- move.b d0,$26(a0)
- move.w #0,$1C(a0)
- move.w #0,$18(a0)
- move.w #0,$1A(a0)
+ move.b d0,angle(a0)
+
+ move.w #0,ground_vel(a0)
+ move.w #0,x_vel(a0)
+ move.w #0,y_vel(a0)
+
bsr.w Knux_TouchFloor
- move.b #5,$20(a0)
+
+ move.b #5,anim(a0)
+
rts
; ---------------------------------------------------------------------------
+; loc_16CFC:
+.moveDown_ReverseGravity:
+ subq.w #1,y_pos(a0)
-loc_16CFC:
- subq.w #1,$14(a0)
+ ; Super Knuckles and Hyper Knuckles climb walls faster.
tst.b (Super_Sonic_Knux_flag).w
- beq.s loc_16D0A
- subq.w #1,$14(a0)
+ beq.s .notSuperOrHyper2
+ subq.w #1,y_pos(a0)
-loc_16D0A:
- moveq #-1,d1
- bra.w loc_16E10
+.notSuperOrHyper2:
+ moveq #-1,d1 ; Climbing animation delta: make the animation play backwards.
+ bra.w .finishMoving
; ---------------------------------------------------------------------------
+; loc_16D10:
+.notClimbingUp:
+ btst #button_down,(Ctrl_1_logical).w
+ beq.w .finishMoving
-loc_16D10:
- btst #1,(Ctrl_1_logical).w
- beq.w loc_16E10
+;.climbingDown:
tst.b (Reverse_gravity_flag).w
- bne.w loc_16C7C
- cmpi.b #$BD,$22(a0)
- bne.s loc_16D44
- move.b #$B7,$22(a0)
- addq.w #3,$14(a0)
- subq.w #3,$10(a0)
- btst #0,$2A(a0)
- beq.s loc_16D44
- addq.w #6,$10(a0)
+ bne.w .climbingDown_ReverseGravity
+
+ ; ...I'm not sure what this code is for.
+ cmpi.b #$BD,mapping_frame(a0)
+ bne.s .skip4
+ move.b #$B7,mapping_frame(a0)
+ addq.w #3,y_pos(a0)
+ subq.w #3,x_pos(a0)
+ btst #Status_Facing,status(a0)
+ beq.s .skip4
+ addq.w #3*2,x_pos(a0)
-loc_16D44:
- move.w $14(a0),d2
- addi.w #$B,d2
- bsr.w sub_16F4E
+.skip4:
+ ; Get Knuckles' distance from the wall in 'd1'.
+ move.w y_pos(a0),d2
+ addi.w #11,d2
+ bsr.w GetDistanceFromWall
+
+ ; If Knuckles is no longer against the wall (he has climbed off the
+ ; bottom of it) then make him let go.
tst.w d1
- bne.w loc_16ED2
- move.b $46(a0),d5
- move.w $14(a0),d2
+ bne.w Knuckles_LetGoOfWall
+
+ ; Get Knuckles' distance from the floor in 'd1'.
+ move.b top_solid_bit(a0),d5
+ move.w y_pos(a0),d2
addi.w #9,d2
- move.w $10(a0),d3
+ move.w x_pos(a0),d3
bsr.w sub_F828
+
+ ; Check if Knuckles has room below him.
tst.w d1
- bpl.s loc_16D96
+ bpl.s .moveDown
+; loc_16D6E:
+.reachedFloor:
+ ; Knuckles has reached the floor.
+ add.w d1,y_pos(a0)
+ move.b (Primary_Angle).w,angle(a0)
+
+ move.w #0,ground_vel(a0)
+ move.w #0,x_vel(a0)
+ move.w #0,y_vel(a0)
-loc_16D6E:
- add.w d1,$14(a0)
- move.b (Primary_Angle).w,$26(a0)
- move.w #0,$1C(a0)
- move.w #0,$18(a0)
- move.w #0,$1A(a0)
bsr.w Knux_TouchFloor
- move.b #5,$20(a0)
+
+ move.b #5,anim(a0)
+
rts
; ---------------------------------------------------------------------------
+; loc_16D96:
+.moveDown:
+ addq.w #1,y_pos(a0)
-loc_16D96:
- addq.w #1,$14(a0)
+ ; Super Knuckles and Hyper Knuckles climb walls faster.
tst.b (Super_Sonic_Knux_flag).w
- beq.s loc_16DA4
- addq.w #1,$14(a0)
+ beq.s .notSuperOrHyper3
+ addq.w #1,y_pos(a0)
-loc_16DA4:
- moveq #-1,d1
- bra.s loc_16E10
+.notSuperOrHyper3:
+ moveq #-1,d1 ; Climbing animation delta: make the animation play backwards.
+ bra.s .finishMoving
; ---------------------------------------------------------------------------
+; loc_16DA8:
+.climbingUp_ReverseGravity:
+ ; Get Knuckles' distance from the wall in 'd1'.
+ move.w y_pos(a0),d2
+ addi.w #11,d2
+ bsr.w GetDistanceFromWall
-loc_16DA8:
- move.w $14(a0),d2
- addi.w #$B,d2
- bsr.w sub_16F4E
+ ; If the wall is far away from Knuckles, then we must have reached a
+ ; ledge, so make Knuckles climb up onto it.
cmpi.w #4,d1
- bge.w loc_16EBA
+ bge.w Knuckles_ClimbUp
+
+ ; If Knuckles has encountered a small dip in the wall, then make him
+ ; stop.
tst.w d1
- bne.w loc_16E60
- move.b $47(a0),d5
- move.w $14(a0),d2
+ bne.w .notMoving
+
+ ; Get Knuckles' distance from the ceiling in 'd1'.
+ move.b lrb_solid_bit(a0),d5
+ move.w y_pos(a0),d2
addq.w #8,d2
- move.w $10(a0),d3
+ move.w x_pos(a0),d3
bsr.w sub_F828
+
+ ; Check if Knuckles has room above him.
tst.w d1
- bpl.s loc_16DE2
- add.w d1,$14(a0)
- moveq #1,d1
- bra.w loc_16E10
+ bpl.s .moveUp_ReverseGravity
+
+ ; Knuckles is bumping into the ceiling, so push him out.
+ add.w d1,y_pos(a0)
+
+ moveq #1,d1 ; Climbing animation delta: make the animation play forwards.
+ bra.w .finishMoving
; ---------------------------------------------------------------------------
+; loc_16DE2:
+.moveUp_ReverseGravity:
+ addq.w #1,y_pos(a0)
-loc_16DE2:
- addq.w #1,$14(a0)
+ ; Super Knuckles and Hyper Knuckles climb walls faster.
tst.b (Super_Sonic_Knux_flag).w
- beq.s loc_16DF0
- addq.w #1,$14(a0)
+ beq.s .notSuperOrHyper4
+ addq.w #1,y_pos(a0)
-loc_16DF0:
- moveq #1,d1
+.notSuperOrHyper4:
+ moveq #1,d1 ; Climbing animation delta: make the animation play forwards.
+
+ ; Don't let Knuckles climb through the level's upper boundary.
+
+ ; If the level wraps vertically, then don't bother with any of this.
cmpi.w #-$100,(Camera_min_Y_pos).w
- beq.w loc_16E10
+ beq.w .finishMoving
+
+ ; Check if Knuckles is over the level's top boundary.
move.w (Camera_max_Y_pos).w,d0
addi.w #$D0,d0
- cmp.w $14(a0),d0
- bge.w loc_16E10
- move.w d0,$14(a0)
+ cmp.w y_pos(a0),d0
+ bge.w .finishMoving
-loc_16E10:
- move.b (Ctrl_1_logical).w,d0
- andi.b #3,d0
- bne.s loc_16E34
- move.b $46(a0),d5
- move.w $14(a0),d2
+ ; Knuckles is climbing over the level's top boundary: push him back
+ ; down.
+ move.w d0,y_pos(a0)
+; loc_16E10:
+.finishMoving:
+ ; This block of code was not here in KiS2.
+ ; This code detaches Knuckles from the wall if there is
+ ; ground directly below him. Note that this code specifically
+ ; does not run if the player is holding up or down: this is
+ ; because similar code already runs if either of those
+ ; buttons are being held. Presumably, this check was added so
+ ; that Knuckles would properly detach from the wall if a
+ ; rising floor (think Marble Garden Zone Act 2) came up from
+ ; under him. With that said, KiS2 lacks this logic, and yet
+ ; Knuckles seems to detach from the wall in Hill Top Zone's
+ ; rising wall section just fine, so I'm not sure whether this
+ ; code was ever actually needed in the first place.
+ move.b (Ctrl_1_held_logical).w,d0
+ andi.b #button_up_mask|button_down_mask,d0
+ bne.s .isMovingUpOrDown
+
+ ; Get Knuckles' distance from the floor in 'd1'.
+ move.b top_solid_bit(a0),d5
+ move.w y_pos(a0),d2
addi.w #9,d2
- move.w $10(a0),d3
+ move.w x_pos(a0),d3
bsr.w sub_F828
+
+ ; Check if Knuckles has room below him.
tst.w d1
- bmi.w loc_16D6E
+ bmi.w .reachedFloor
-loc_16E34:
+ ; Bug! 'd1' has been overwritten by 'sub_F828', but the code
+ ; after this needs it for updating Knuckles' animation. This
+ ; bug is the reason why Knuckles resets to his first climbing
+ ; frame when the player is not holding up or down.
+
+.isMovingUpOrDown:
+ ; If Knuckles has not moved, skip this.
tst.w d1
- beq.s loc_16E60
- subq.b #1,$25(a0)
- bpl.s loc_16E60
- move.b #3,$25(a0)
- add.b $22(a0),d1
+ beq.s .notMoving
+
+ ; Only animate every 4 frames.
+ subq.b #1,double_jump_property(a0)
+ bpl.s .notMoving
+ move.b #3,double_jump_property(a0)
+
+ ; Add delta to animation frame.
+ add.b mapping_frame(a0),d1
+
+ ; Make the animation loop.
cmpi.b #$B7,d1
- bhs.s loc_16E52
+ bhs.s .noLoop1
move.b #$BC,d1
-loc_16E52:
+.noLoop1:
cmpi.b #$BC,d1
- bls.s loc_16E5C
+ bls.s .noLoop2
move.b #$B7,d1
-loc_16E5C:
- move.b d1,$22(a0)
+.noLoop2:
+ ; Apply the frame.
+ move.b d1,mapping_frame(a0)
+; loc_16E60:
+.notMoving:
+ move.b #$20,anim_frame_timer(a0)
+ move.b #0,anim_frame(a0)
-loc_16E60:
- move.b #$20,$24(a0)
- move.b #0,$23(a0)
move.w (Ctrl_1_logical).w,d0
- andi.w #$70,d0
- beq.s locret_16EB8
- move.w #-$380,$1A(a0)
- move.w #$400,$18(a0)
- bchg #0,$2A(a0)
- bne.s loc_16E8E
- neg.w $18(a0)
+ andi.w #button_A_mask|button_B_mask|button_C_mask,d0
+ beq.s .hasNotJumped
-loc_16E8E:
- bset #1,$2A(a0)
- move.b #1,$40(a0)
- move.b #$E,$1E(a0)
- move.b #7,$1F(a0)
- move.b #2,$20(a0)
- bset #2,$2A(a0)
- move.b #0,double_jump_flag(a0)
+ ; Knuckles has jumped off the wall.
+ move.w #-$380,y_vel(a0)
+ move.w #$400,x_vel(a0)
-locret_16EB8:
+ bchg #Status_Facing,status(a0)
+ bne.s .goingRight
+ neg.w x_vel(a0)
+
+.goingRight:
+ bset #Status_InAir,status(a0)
+ move.b #1,jumping(a0)
+
+ move.b #$E,y_radius(a0)
+ move.b #7,x_radius(a0)
+
+ move.b #2,anim(a0)
+ bset #Status_Roll,status(a0)
+ move.b #0,double_jump_flag(a0)
+; locret_16EB8:
+.hasNotJumped:
rts
; ---------------------------------------------------------------------------
-
-loc_16EBA:
+; loc_16EBA:
+Knuckles_ClimbUp:
move.b #5,double_jump_flag(a0)
- cmpi.b #-$43,$22(a0)
- beq.s locret_16ED0
- move.b #0,$25(a0)
- bsr.s sub_16EFE
-locret_16ED0:
+ cmpi.b #$BD,mapping_frame(a0)
+ beq.s +
+
+ move.b #0,double_jump_property(a0)
+ bsr.s Knuckles_DoLedgeClimbingAnimation
++
rts
; ---------------------------------------------------------------------------
-
-loc_16ED2:
+; loc_16ED2:
+Knuckles_LetGoOfWall:
move.b #2,double_jump_flag(a0)
- move.w #$2121,$20(a0)
- move.b #$CB,$22(a0)
- move.b #7,$24(a0)
- move.b #1,$23(a0)
- move.b $44(a0),$1E(a0)
- move.b $45(a0),$1F(a0)
+
+ move.w #$2121,anim(a0)
+ move.b #$CB,mapping_frame(a0)
+ move.b #7,anim_frame_timer(a0)
+ move.b #1,anim_frame(a0)
+
+ move.b default_y_radius(a0),y_radius(a0)
+ move.b default_x_radius(a0),x_radius(a0)
+
rts
; End of function Knuckles_Glide
; =============== S U B R O U T I N E =======================================
-
-sub_16EFE:
+; sub_16EFE:
+Knuckles_DoLedgeClimbingAnimation:
moveq #0,d0
- move.b $25(a0),d0
- lea byte_16F3E(pc,d0.w),a1
- move.b (a1)+,$22(a0)
+ move.b double_jump_property(a0),d0
+ lea Knuckles_ClimbLedge_Frames(pc,d0.w),a1
+
+ move.b (a1)+,mapping_frame(a0)
+
move.b (a1)+,d0
ext.w d0
- btst #0,$2A(a0)
- beq.s loc_16F1A
+ btst #Status_Facing,status(a0)
+ beq.s +
neg.w d0
++
+ add.w d0,x_pos(a0)
-loc_16F1A:
- add.w d0,$10(a0)
move.b (a1)+,d1
ext.w d1
tst.b (Reverse_gravity_flag).w
- beq.s loc_16F2A
+ beq.s +
neg.w d1
++
+ add.w d1,y_pos(a0)
-loc_16F2A:
- add.w d1,$14(a0)
- move.b (a1)+,$24(a0)
- addq.b #4,$25(a0)
- move.b #0,$23(a0)
+ move.b (a1)+,anim_frame_timer(a0)
+
+ addq.b #4,double_jump_property(a0)
+ move.b #0,anim_frame(a0)
rts
-; End of function sub_16EFE
+; End of function Knuckles_DoLedgeClimbingAnimation
; ---------------------------------------------------------------------------
-byte_16F3E: dc.b $BD, 3, $FD, 6, $BE, 8, $F6, 6, $BF, $F8, $F4, 6, $D2, 8, $FB, 6
+; Strangely, the last frame uses frame $D2. It will never be seen, however,
+; because it is immediately overwritten by Knuckles' waiting animation.
+
+Knuckles_ClimbLedge_Frames:
+ ; mapping_frame, x_pos, y_pos, anim_frame_timer
+ dc.b $BD, 3, -3, 6
+ dc.b $BE, 8, -10, 6
+ dc.b $BF, -8, -12, 6
+ dc.b $D2, 8, -5, 6
+Knuckles_ClimbLedge_Frames_End:
; =============== S U B R O U T I N E =======================================
+; sub_16F4E:
+GetDistanceFromWall:
+ move.b lrb_solid_bit(a0),d5
+ btst #Status_Facing,status(a0)
+ bne.s .facingLeft
-sub_16F4E:
- move.b $47(a0),d5
- btst #0,$2A(a0)
- bne.s loc_16F62
- move.w $10(a0),d3
+;.facingRight:
+ move.w x_pos(a0),d3
bra.w loc_FAA4
; ---------------------------------------------------------------------------
-
-loc_16F62:
- move.w $10(a0),d3
+; loc_16F62:
+.facingLeft:
+ move.w x_pos(a0),d3
subq.w #1,d3
bra.w loc_FDC8
-; End of function sub_16F4E
+; End of function GetDistanceFromWall
; ---------------------------------------------------------------------------
Knuckles_Climb_Ledge:
- tst.b $24(a0)
+ tst.b anim_frame_timer(a0)
bne.s locret_16FA6
- bsr.w sub_16EFE
- cmpi.b #$10,$25(a0)
+
+ bsr.w Knuckles_DoLedgeClimbingAnimation
+
+ ; Have we reached the end of the ledge-climbing animation?
+ cmpi.b #Knuckles_ClimbLedge_Frames_End-Knuckles_ClimbLedge_Frames,double_jump_property(a0)
bne.s locret_16FA6
- move.w #0,$1C(a0)
- move.w #0,$18(a0)
- move.w #0,$1A(a0)
- btst #0,$2A(a0)
- beq.s loc_16F9C
- subq.w #1,$10(a0)
-loc_16F9C:
+ ; Yes.
+ move.w #0,ground_vel(a0)
+ move.w #0,x_vel(a0)
+ move.w #0,y_vel(a0)
+
+ btst #Status_Facing,status(a0)
+ beq.s +
+ subq.w #1,x_pos(a0)
++
bsr.w Knux_TouchFloor
- move.b #5,$20(a0)
+ move.b #5,anim(a0)
locret_16FA6:
rts
@@ -31012,28 +31156,30 @@ locret_16FA6:
Knuckles_Set_Gliding_Animation:
- move.b #$20,$24(a0)
- move.b #0,$23(a0)
- move.w #$2020,$20(a0)
- bclr #5,$2A(a0)
- bclr #0,$2A(a0)
+ move.b #$20,anim_frame_timer(a0)
+ move.b #0,anim_frame(a0)
+ move.w #$2020,anim(a0)
+ bclr #Status_Push,status(a0)
+ bclr #Status_Facing,status(a0)
+
+ ; Update Knuckles' frame, depending on where he's facing.
moveq #0,d0
- move.b $25(a0),d0
+ move.b double_jump_property(a0),d0
addi.b #$10,d0
lsr.w #5,d0
- move.b byte_16FEE(pc,d0.w),d1
- move.b d1,$22(a0)
+ move.b RawAni_Knuckles_GlideTurn(pc,d0.w),d1
+ move.b d1,mapping_frame(a0)
cmpi.b #$C4,d1
- bne.s locret_16FEC
- bset #0,$2A(a0)
- move.b #$C0,$22(a0)
-
-locret_16FEC:
+ bne.s +
+ bset #Status_Facing,status(a0)
+ move.b #$C0,mapping_frame(a0)
++
rts
; End of function Knuckles_Set_Gliding_Animation
; ---------------------------------------------------------------------------
-byte_16FEE: dc.b $C0
+RawAni_Knuckles_GlideTurn:
+ dc.b $C0
dc.b $C1
dc.b $C2
dc.b $C3
@@ -31047,96 +31193,123 @@ byte_16FEE: dc.b $C0
Knuckles_Move_Glide:
cmpi.b #1,double_jump_flag(a0)
- bne.w loc_170B4
- move.w $1C(a0),d0
+ bne.w .doNotKillspeed
+
+ move.w ground_vel(a0),d0
cmpi.w #$400,d0
- bhs.s loc_1700E
+ bhs.s .mediumSpeed
+
+;.lowSpeed:
+ ; Increase Knuckles' speed.
addq.w #8,d0
- bra.s loc_17028
+ bra.s .applySpeed
; ---------------------------------------------------------------------------
-
-loc_1700E:
+; loc_1700E:
+.mediumSpeed:
+ ; If Knuckles is at his speed limit, then don't increase his speed.
cmpi.w #$1800,d0
- bhs.s loc_17028
- move.b $25(a0),d1
+ bhs.s .applySpeed
+
+ ; If Knuckles is turning, then don't increase his speed either.
+ move.b double_jump_property(a0),d1
andi.b #$7F,d1
- bne.s loc_17028
+ bne.s .applySpeed
+
+ ; Increase Knuckles' speed.
addq.w #4,d0
+
+ ; Super Knuckles and Hyper Knuckles glide faster.
tst.b (Super_Sonic_Knux_flag).w
- beq.s loc_17028
+ beq.s .applySpeed
addq.w #8,d0
+; loc_17028:
+.applySpeed:
+ move.w d0,ground_vel(a0)
-loc_17028:
- move.w d0,$1C(a0)
- move.b $25(a0),d0
- btst #2,(Ctrl_1_logical).w
- beq.s loc_17048
+ move.b double_jump_property(a0),d0
+ btst #button_left,(Ctrl_1_logical).w
+ beq.s .notHoldingLeft
+
+;.holdingLeft:
+ ; Playing is holding left.
cmpi.b #$80,d0
- beq.s loc_17048
+ beq.s .notHoldingLeft
tst.b d0
- bpl.s loc_17044
+ bpl.s .doNotNegate1
neg.b d0
-loc_17044:
+.doNotNegate1:
addq.b #2,d0
- bra.s loc_17066
+ bra.s .setNewTurningValue
; ---------------------------------------------------------------------------
+; loc_17048:
+.notHoldingLeft:
+ btst #button_right,(Ctrl_1_logical).w
+ beq.s .notHoldingRight
-loc_17048:
- btst #3,(Ctrl_1_logical).w
- beq.s loc_1705C
+;.holdingRight:
+ ; Playing is holding right.
tst.b d0
- beq.s loc_1705C
- bmi.s loc_17058
+ beq.s .notHoldingRight
+ bmi.s .doNotNegate2
neg.b d0
-loc_17058:
+.doNotNegate2:
addq.b #2,d0
- bra.s loc_17066
+ bra.s .setNewTurningValue
; ---------------------------------------------------------------------------
-
-loc_1705C:
+; loc_1705C:
+.notHoldingRight:
move.b d0,d1
andi.b #$7F,d1
- beq.s loc_17066
+ beq.s .setNewTurningValue
addq.b #2,d0
+; loc_17066:
+.setNewTurningValue:
+ move.b d0,double_jump_property(a0)
-loc_17066:
- move.b d0,$25(a0)
- move.b $25(a0),d0
+ move.b double_jump_property(a0),d0
jsr (GetSineCosine).l
- muls.w $1C(a0),d1
+ muls.w ground_vel(a0),d1
asr.l #8,d1
- move.w d1,$18(a0)
- cmpi.w #$80,$1A(a0)
- blt.s loc_1708E
- subi.w #$20,$1A(a0)
- bra.s loc_17094
-; ---------------------------------------------------------------------------
-
-loc_1708E:
- addi.w #$20,$1A(a0)
-
-loc_17094:
+ move.w d1,x_vel(a0)
+
+ ; Is Knuckles is falling at a high speed, then create a parachute
+ ; effect, where gliding makes Knuckles fall slower.
+ cmpi.w #$80,y_vel(a0)
+ blt.s .fallingSlow
+ subi.w #$20,y_vel(a0)
+ bra.s .fallingFast
+; ---------------------------------------------------------------------------
+; loc_1708E:
+.fallingSlow:
+ ; Apply gravity.
+ addi.w #$20,y_vel(a0)
+; loc_17094:
+.fallingFast:
+ ; If Knuckles is above the level's top boundary, then kill his
+ ; horizontal speed.
move.w (Camera_min_Y_pos).w,d0
cmpi.w #-$100,d0
- beq.w loc_170B4
+ beq.w .doNotKillspeed
+
addi.w #$10,d0
- cmp.w $14(a0),d0
- ble.w loc_170B4
- asr $18(a0)
- asr $1C(a0)
+ cmp.w y_pos(a0),d0
+ ble.w .doNotKillspeed
-loc_170B4:
+ asr.w x_vel(a0)
+ asr.w ground_vel(a0)
+; loc_170B4:
+.doNotKillspeed:
cmpi.w #$60,(a5)
- beq.s locret_170C0
- bcc.s loc_170BE
- addq.w #4,(a5)
+ beq.s .doNotModifyBias
+ bhs.s .goUp
+ addq.w #2*2,(a5)
-loc_170BE:
+.goUp:
subq.w #2,(a5)
-
-locret_170C0:
+; locret_170C0:
+.doNotModifyBias:
rts
; End of function Knuckles_Move_Glide
@@ -31180,7 +31353,7 @@ locret_17116:
Knux_Spin_Freespace:
bsr.w Knux_JumpHeight
- bsr.w sub_17680
+ bsr.w Knux_ChgJumpDir
bsr.w Player_LevelBound
jsr (MoveSprite_TestGravity).l
btst #6,$2A(a0)
@@ -31524,7 +31697,7 @@ loc_1746A:
tst.b $2D(a0)
bmi.s locret_174B2
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bclr #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -31579,7 +31752,7 @@ loc_174F0:
tst.b $2D(a0)
bmi.s locret_17538
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$D,$20(a0)
bset #0,$2A(a0)
cmpi.b #$C,$2C(a0)
@@ -31755,8 +31928,8 @@ loc_1767A:
; =============== S U B R O U T I N E =======================================
-
-sub_17680:
+; sub_17680:
+Knux_ChgJumpDir:
move.w (a4),d6
move.w 2(a4),d5
asl.w #1,d5
@@ -31827,7 +32000,7 @@ loc_1770A:
locret_1770E:
rts
-; End of function sub_17680
+; End of function Knux_ChgJumpDir
; =============== S U B R O U T I N E =======================================
@@ -31874,7 +32047,7 @@ loc_1775C:
move.b #1,$40(a0)
clr.b $3C(a0)
move.w #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b $44(a0),$1E(a0)
move.b $45(a0),$1F(a0)
btst #2,$2A(a0)
@@ -31947,13 +32120,13 @@ Knux_Test_For_Glide:
bne.s loc_1786C
cmpi.b #7,(Super_emerald_count).w
bhs.s loc_1785E
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
blo.s loc_1786C
tst.b (Emeralds_converted_flag).w
bne.s loc_1786C
loc_1785E:
- cmpi.w #$32,(Ring_count).w
+ cmpi.w #50,(Ring_count).w
blo.s loc_1786C
tst.b (Update_HUD_timer).w
bne.s Knux_Transform
@@ -31981,8 +32154,8 @@ loc_178AE:
move.w d0,$18(a0)
move.b d1,$25(a0)
move.w #0,$26(a0)
- move.b #0,(_unkF74E).w
- bset #1,(_unkF74E).w
+ move.b #0,(Gliding_collision_flags).w
+ bset #Status_InAir,(Gliding_collision_flags).w
bsr.w Knuckles_Set_Gliding_Animation
locret_178CC:
@@ -32013,10 +32186,10 @@ Knux_Transform:
move.w #$C0,Deceleration-Max_speed(a4)
move.b #0,invincibility_timer(a0)
bset #Status_Invincible,status_secondary(a0)
- moveq #sfx_SuperTransform,d0
- jsr (Play_Sound_2).l
- moveq #mus_Invincibility,d0 ; play invincibility theme
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_SuperTransform),d0
+ jsr (Play_SFX).l
+ moveq #signextendB(mus_Invincibility),d0 ; play invincibility theme
+ jmp (Play_Music).l
; End of function Knux_JumpHeight
@@ -32047,7 +32220,7 @@ loc_17952:
bpl.s loc_1799C
sub.w d1,$10(a0)
move.w #0,$18(a0)
- bset #5,(_unkF74E).w
+ bset #Status_Push,(Gliding_collision_flags).w
loc_1799C:
bsr.w CheckRightWallDist
@@ -32055,7 +32228,7 @@ loc_1799C:
bpl.s loc_179B4
add.w d1,$10(a0)
move.w #0,$18(a0)
- bset #5,(_unkF74E).w
+ bset #Status_Push,(Gliding_collision_flags).w
loc_179B4:
bsr.w sub_11FD6
@@ -32069,7 +32242,7 @@ loc_179C4:
add.w d1,$14(a0)
move.b d3,$26(a0)
move.w #0,$1A(a0)
- bclr #1,(_unkF74E).w
+ bclr #Status_InAir,(Gliding_collision_flags).w
locret_179D8:
rts
@@ -32081,7 +32254,7 @@ loc_179DA:
bpl.s loc_179F2
sub.w d1,$10(a0)
move.w #0,$18(a0)
- bset #5,(_unkF74E).w
+ bset #Status_Push,(Gliding_collision_flags).w
loc_179F2:
bsr.w sub_11FEE
@@ -32110,7 +32283,7 @@ loc_17A1C:
bpl.s locret_17A34
add.w d1,$10(a0)
move.w #0,$18(a0)
- bset #5,(_unkF74E).w
+ bset #Status_Push,(Gliding_collision_flags).w
locret_17A34:
rts
@@ -32130,7 +32303,7 @@ loc_17A4C:
add.w d1,$14(a0)
move.b d3,$26(a0)
move.w #0,$1A(a0)
- bclr #1,(_unkF74E).w
+ bclr #Status_InAir,(Gliding_collision_flags).w
locret_17A60:
rts
@@ -32142,7 +32315,7 @@ loc_17A62:
bpl.s loc_17A7A
sub.w d1,$10(a0)
move.w #0,$18(a0)
- bset #5,(_unkF74E).w
+ bset #Status_Push,(Gliding_collision_flags).w
loc_17A7A:
jsr (CheckRightWallDist).l
@@ -32150,7 +32323,7 @@ loc_17A7A:
bpl.s loc_17A94
add.w d1,$10(a0)
move.w #0,$18(a0)
- bset #5,(_unkF74E).w
+ bset #Status_Push,(Gliding_collision_flags).w
loc_17A94:
bsr.w sub_11FEE
@@ -32174,7 +32347,7 @@ loc_17AB0:
bpl.s loc_17ACA
add.w d1,$10(a0)
move.w #0,$18(a0)
- bset #5,(_unkF74E).w
+ bset #Status_Push,(Gliding_collision_flags).w
loc_17ACA:
bsr.w sub_11FEE
@@ -32208,15 +32381,15 @@ loc_17B02:
add.w d1,$14(a0)
move.b d3,$26(a0)
move.w #0,$1A(a0)
- bclr #1,(_unkF74E).w
+ bclr #Status_InAir,(Gliding_collision_flags).w
locret_17B16:
rts
; End of function Knux_DoLevelCollision_CheckRet
; ---------------------------------------------------------------------------
+; unused/dead code
-; Some unused code
Knux_TouchFloor_Check_Spindash:
tst.b $3D(a0)
bne.s loc_17B6A
@@ -32623,7 +32796,6 @@ loc_17EE4:
; ---------------------------------------------------------------------------
AniKnuckles: include "General/Sprites/Knuckles/Anim - Knuckles.asm"
-
; =============== S U B R O U T I N E =======================================
@@ -32667,10 +32839,9 @@ locret_18162:
; End of function Knuckles_Load_PLC
; ---------------------------------------------------------------------------
-; ----------------------------------------------------------------------------
; Small bubbles from Sonic's face while underwater
-; ----------------------------------------------------------------------------
-Obj_Air_CountDown:
+; ---------------------------------------------------------------------------
+Obj_AirCountdown:
moveq #0,d0
move.b routine(a0),d0
move.w AirCountdown_Index(pc,d0.w),d1
@@ -32714,7 +32885,7 @@ loc_181CC:
move.w #-$100,y_vel(a0)
AirCountdown_Animate:
- lea (Ani_Shields).l,a1
+ lea (Ani_AirCountdown).l,a1
jsr (Animate_Sprite).l
AirCountdown_ChkWater:
@@ -32763,7 +32934,7 @@ loc_1824E:
AirCountdown_Display:
bsr.s AirCountdown_ShowNumber
- lea (Ani_Shields).l,a1
+ lea (Ani_AirCountdown).l,a1
jsr (Animate_Sprite).l
bsr.w AirCountdown_Load_Art
jmp (Draw_Sprite).l
@@ -32785,7 +32956,7 @@ AirCountdown_AirLeft:
; ---------------------------------------------------------------------------
AirCountdown_Display2:
- lea (Ani_Shields).l,a1
+ lea (Ani_AirCountdown).l,a1
jsr (Animate_Sprite).l
bsr.w AirCountdown_Load_Art
tst.b render_flags(a0)
@@ -32802,7 +32973,7 @@ AirCountdown_DisplayNumber:
cmpi.b #$C,air_left(a2)
bhi.s AirCountdown_Delete
bsr.s AirCountdown_ShowNumber
- lea (Ani_Shields).l,a1
+ lea (Ani_AirCountdown).l,a1
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
@@ -32873,7 +33044,7 @@ AirCountdown_Load_Art:
add.w d1,d1
add.w d0,d1
lsl.w #6,d1
- addi.l #ArtUnc_AirCountDown,d1
+ addi.l #ArtUnc_AirCountdown,d1
move.w #tiles_to_bytes(ArtTile_DashDust),d2
tst.b parent+1(a0)
beq.s loc_1845A
@@ -32921,8 +33092,8 @@ AirCountdown_Countdown:
bne.s loc_184E8
tst.b parent+1(a0)
bne.s loc_184E8
- moveq #mus_Drowning,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Drowning),d0
+ jsr (Play_Music).l
loc_184E8:
subq.b #1,$36(a0)
@@ -32935,15 +33106,15 @@ loc_184E8:
AirCountdown_WarnSound:
tst.b parent+1(a0)
bne.s AirCountdown_ReduceAir
- moveq #sfx_AirDing,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_AirDing),d0
+ jsr (Play_SFX).l
AirCountdown_ReduceAir:
subq.b #1,air_left(a2)
bcc.w loc_18592
move.b #$81,object_control(a2)
move.w #sfx_Drown,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.b #$A,$38(a0)
move.w #1,$3A(a0)
move.w #$78,$30(a0)
@@ -33067,7 +33238,7 @@ Player_ResetAirTimer:
bhi.s loc_186BC ; branch if countdown hasn't started yet
cmpa.w #Player_1,a1
bne.s loc_186BC ; branch if it isn't player 1
- move.w (Level_music).w,d0 ; prepare to play current level's music
+ move.w (Current_music).w,d0 ; prepare to play current level's music
btst #Status_Invincible,status_secondary(a1)
beq.s loc_186A0 ; branch if Sonic is not invincible
move.w #mus_Invincibility,d0 ; prepare to play invincibility music
@@ -33083,7 +33254,7 @@ loc_186AC:
move.w #mus_MinibossK,d0 ; prepare to play boss music
loc_186B6:
- jsr (Play_Sound).l
+ jsr (Play_Music).l
loc_186BC:
move.b #$1E,air_left(a1) ; reset air to full
@@ -33091,45 +33262,45 @@ loc_186BC:
; End of function Player_ResetAirTimer
; ---------------------------------------------------------------------------
-Ani_Shields: include "General/Sprites/Shields/Anim - Shields.asm"
-
+Ani_AirCountdown:
+ include "General/Sprites/Dash Dust/Anim - Air Countdown.asm"
; ---------------------------------------------------------------------------
-Obj_Shield_S2:
+Obj_S2Shield:
moveq #0,d0
move.b routine(a0),d0
- move.w Obj_Shield_S2_Index(pc,d0.w),d1
- jmp Obj_Shield_S2_Index(pc,d1.w)
+ move.w Obj_S2Shield_Index(pc,d0.w),d1
+ jmp Obj_S2Shield_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-Obj_Shield_S2_Index:
- dc.w Obj_Shield_S2_Init-Obj_Shield_S2_Index
- dc.w Obj_Shield_S2_Main-Obj_Shield_S2_Index
+Obj_S2Shield_Index:
+ dc.w Obj_S2Shield_Init-Obj_S2Shield_Index
+ dc.w Obj_S2Shield_Main-Obj_S2Shield_Index
; ---------------------------------------------------------------------------
-Obj_Shield_S2_Init:
+Obj_S2Shield_Init:
addq.b #2,routine(a0)
- move.l #Map_Shield_S2,mappings(a0)
+ move.l #Map_S2Shield,mappings(a0)
move.b #4,render_flags(a0)
move.w #$80,priority(a0)
move.b #$18,width_pixels(a0)
move.w #ArtTile_Shield,art_tile(a0)
-Obj_Shield_S2_Main:
+Obj_S2Shield_Main:
movea.w parent(a0),a2
btst #Status_Invincible,status_secondary(a2)
bne.s locret_187D6
btst #Status_Shield,status_secondary(a2)
- beq.s Obj_Shield_S2_Destroy
+ beq.s Obj_S2Shield_Destroy
move.w x_pos(a2),x_pos(a0)
move.w y_pos(a2),y_pos(a0)
move.b status(a2),status(a0)
andi.w #drawing_mask,art_tile(a0)
tst.w art_tile(a2)
- bpl.s Obj_Shield_S2_Display
+ bpl.s Obj_S2Shield_Display
ori.w #high_priority,art_tile(a0)
-Obj_Shield_S2_Display:
- lea (Ani_Shield_S2).l,a1
+Obj_S2Shield_Display:
+ lea (Ani_S2Shield).l,a1
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -33138,11 +33309,10 @@ locret_187D6:
rts
; ---------------------------------------------------------------------------
-Obj_Shield_S2_Destroy:
+Obj_S2Shield_Destroy:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-off_187DE:
- dc.l byte_189ED
+off_187DE: dc.l byte_189ED
dc.w $B
dc.l byte_18A02
dc.w $160D
@@ -33303,22 +33473,18 @@ sub_1898A:
word_189A0: dc.w $F00, $F03, $E06, $D08, $B0B, $80D, $60E, $30F, $10, $FC0F, $F90E, $F70D, $F40B, $F208, $F106, $F003
dc.w $F000, $F0FC, $F1F9, $F2F7, $F4F4, $F7F2, $F9F1, $FCF0, $FFF0, $3F0, $6F1, $8F2, $BF4, $DF7, $EF9, $FFC
byte_189E0: dc.b 8, 5, 7, 6, 6, 7, 5, 8, 6, 7, 7, 6, $FF
-
byte_189ED: dc.b 8, 7, 6, 5, 4, 3, 4, 5, 6, 7, $FF, 3, 4, 5, 6, 7, 8, 7, 6, 5
dc.b 4
-
byte_18A02: dc.b 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, $FF, 2, 3, 4, 5, 6, 7, 8
dc.b 7, 6, 5, 4, 3
-
byte_18A1B: dc.b 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, $FF, 1, 2, 3, 4, 5, 6, 7
dc.b 6, 5, 4, 3, 2
-
-Ani_Shield_S2: include "General/Sprites/Shields/Anim - Shield S2.asm"
-
-Map_Shield_S2: include "General/Sprites/Shields/Map - Shield S2.asm"
-
-Map_Invincibility:include "General/Sprites/Shields/Map - Invincibility.asm"
-
+Ani_S2Shield:
+ include "General/Sprites/Shields/Anim - S2 Shield.asm"
+Map_S2Shield:
+ include "General/Sprites/Shields/Map - S2 Shield.asm"
+Map_Invincibility:
+ include "General/Sprites/Shields/Map - Invincibility.asm"
; ---------------------------------------------------------------------------
Obj_DashDust:
@@ -33328,9 +33494,9 @@ Obj_DashDust:
jmp off_18B4C(pc,d1.w)
; ---------------------------------------------------------------------------
off_18B4C: dc.w loc_18B54-off_18B4C
- dc.w loc_18BAA-off_18B4C; 1
- dc.w loc_18CB2-off_18B4C; 2
- dc.w loc_18CB6-off_18B4C; 3
+ dc.w loc_18BAA-off_18B4C
+ dc.w loc_18CB2-off_18B4C
+ dc.w loc_18CB6-off_18B4C
; ---------------------------------------------------------------------------
loc_18B54:
@@ -33543,12 +33709,12 @@ locret_18DBE:
; End of function DashDust_Load_DPLC
; ---------------------------------------------------------------------------
-Ani_DashSplashDrown:include "General/Sprites/Dash Dust/Anim - Dash Dust.asm"
-
-Map_DashDust: include "General/Sprites/Dash Dust/Map - Dash Dust.asm"
-
-DPLC_DashSplashDrown:include "General/Sprites/Dash Dust/DPLC - Dash Dust.asm"
-
+Ani_DashSplashDrown:
+ include "General/Sprites/Dash Dust/Anim - Dash Dust.asm"
+Map_DashDust:
+ include "General/Sprites/Dash Dust/Map - Dash Dust.asm"
+DPLC_DashSplashDrown:
+ include "General/Sprites/Dash Dust/DPLC - Dash Dust.asm"
; ---------------------------------------------------------------------------
Obj_DashDust2P:
@@ -33671,9 +33837,7 @@ locret_190F0:
rts
; ---------------------------------------------------------------------------
Ani_DashDust2P: include "General/Sprites/Dash Dust/Anim - Dash Dust 2P.asm"
-
Map_DashDust2P: include "General/Sprites/Dash Dust/Map - Dash Dust 2P.asm"
-
; ---------------------------------------------------------------------------
Obj_SuperSonicKnux_Stars:
@@ -33814,7 +33978,8 @@ loc_192CC:
bsr.w MoveSprite2
bra.w Draw_Sprite
; ---------------------------------------------------------------------------
-Map_SuperSonic_Stars: include "General/Sprites/Shields/Map - Super Sonic Stars.asm"
+Map_SuperSonic_Stars:
+ include "General/Sprites/Shields/Map - Super Sonic Stars.asm"
; ---------------------------------------------------------------------------
Obj_HyperSonic_Stars:
@@ -33870,7 +34035,7 @@ Obj_HyperSonic_Stars_Main:
move.w (Player_1+x_pos).w,x_pos(a0)
move.w (Player_1+y_pos).w,y_pos(a0)
moveq #2,d2
- bsr.w Obj_Lightning_Shield_Create_Spark_Part2
+ bsr.w Obj_LightningShield_CreateSpark_Part2
move.b #4,(Hyper_Sonic_flash_timer).w
.child:
@@ -33924,15 +34089,15 @@ loc_19480:
loc_19486:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_HyperSonicStars:include "General/Sprites/Sonic/Map - Hyper Sonic Stars.asm"
-
+Map_HyperSonicStars:
+ include "General/Sprites/Sonic/Map - Hyper Sonic Stars.asm"
; ---------------------------------------------------------------------------
-Obj_Insta_Shield:
+Obj_InstaShield:
; Init
move.l #Map_InstaShield,mappings(a0)
- move.l #DPLC_InstaShield,DPLC_Address(a0) ; Used by PLCLoad_Shields
- move.l #ArtUnc_InstaShield,Art_Address(a0) ; Used by PLCLoad_Shields
+ move.l #DPLC_InstaShield,shield_plc(a0) ; Used by PLCLoad_Shields
+ move.l #ArtUnc_InstaShield,shield_art(a0) ; Used by PLCLoad_Shields
move.b #4,render_flags(a0)
move.w #$80,priority(a0)
move.b #$18,width_pixels(a0)
@@ -33945,12 +34110,12 @@ Obj_Insta_Shield:
.nothighpriority:
move.w #1,anim(a0) ; Clear anim and set prev_anim to 1
- move.b #-1,LastLoadedDPLC(a0) ; Reset LastLoadedDPLC (used by PLCLoad_Shields)
- move.l #Obj_Insta_Shield_Main,(a0)
+ move.b #-1,shield_prev_frame(a0) ; Reset shield_prev_frame (used by PLCLoad_Shields)
+ move.l #Obj_InstaShield_Main,(a0)
-Obj_Insta_Shield_Main:
+Obj_InstaShield_Main:
movea.w parent(a0),a2
- btst #Status_Invincible,status_secondary(a2) ; Is the player invincible?
+ btst #Status_Invincible,status_secondary(a2) ; Is the player invincible?
bne.s locret_195A4 ; If so, return
move.w x_pos(a2),x_pos(a0) ; Inherit player's x_pos
move.w y_pos(a2),y_pos(a0) ; Inherit player's y_pos
@@ -33992,11 +34157,11 @@ locret_195A4:
rts
; ---------------------------------------------------------------------------
-Obj_Fire_Shield:
+Obj_FireShield:
; Init
move.l #Map_FireShield,mappings(a0)
- move.l #DPLC_FireShield,DPLC_Address(a0) ; Used by PLCLoad_Shields
- move.l #ArtUnc_FireShield,Art_Address(a0) ; Used by PLCLoad_Shields
+ move.l #DPLC_FireShield,shield_plc(a0) ; Used by PLCLoad_Shields
+ move.l #ArtUnc_FireShield,shield_art(a0) ; Used by PLCLoad_Shields
move.b #4,render_flags(a0)
move.w #$80,priority(a0)
move.b #$18,width_pixels(a0)
@@ -34009,19 +34174,19 @@ Obj_Fire_Shield:
loc_195F0:
move.w #1,anim(a0) ; Clear anim and set prev_anim to 1
- move.b #-1,LastLoadedDPLC(a0) ; Reset LastLoadedDPLC (used by PLCLoad_Shields)
- move.l #Obj_Fire_Shield_Main,(a0)
+ move.b #-1,shield_prev_frame(a0) ; Reset shield_prev_frame (used by PLCLoad_Shields)
+ move.l #Obj_FireShield_Main,(a0)
-Obj_Fire_Shield_Main:
+Obj_FireShield_Main:
movea.w parent(a0),a2
- btst #Status_Invincible,status_secondary(a2) ; Is player invincible?
+ btst #Status_Invincible,status_secondary(a2) ; Is player invincible?
bne.w locret_19690 ; If so, do not display and do not update variables
cmpi.b #$1C,anim(a2) ; Is player in their 'blank' animation?
beq.s locret_19690 ; If so, do not display and do not update variables
- btst #Status_Shield,status_secondary(a2) ; Should the player still have a shield?
- beq.w Obj_Fire_Shield_Destroy ; If not, change to Insta-Shield
+ btst #Status_Shield,status_secondary(a2) ; Should the player still have a shield?
+ beq.w Obj_FireShield_Destroy ; If not, change to Insta-Shield
btst #Status_Underwater,status(a2) ; Is player underwater?
- bne.s Obj_Fire_Shield_DestroyUnderwater ; If so, branch
+ bne.s Obj_FireShield_DestroyUnderwater ; If so, branch
move.w x_pos(a2),x_pos(a0)
move.w y_pos(a2),y_pos(a0)
tst.b anim(a0) ; Is shield in its 'dashing' state?
@@ -34055,31 +34220,31 @@ locret_19690:
rts
; ---------------------------------------------------------------------------
-Obj_Fire_Shield_DestroyUnderwater:
+Obj_FireShield_DestroyUnderwater:
andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0
jsr (Create_New_Sprite).l ; Set up for a new object
- bne.w Obj_Fire_Shield_Destroy ; If that can't happen, branch
+ bne.w Obj_FireShield_Destroy ; If that can't happen, branch
move.l #Obj_FireShield_Dissipate,(a1) ; Create dissipate object
move.w x_pos(a0),x_pos(a1) ; Put it at shields' x_pos
move.w y_pos(a0),y_pos(a1) ; Put it at shields' y_pos
-Obj_Fire_Shield_Destroy:
+Obj_FireShield_Destroy:
andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0
- move.l #Obj_Insta_Shield,(a0) ; Replace the Fire Shield with the Insta-Shield
+ move.l #Obj_InstaShield,(a0) ; Replace the Fire Shield with the Insta-Shield
rts
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield:
+Obj_LightningShield:
; init
; Load Spark art
- move.l #ArtUnc_Obj_Lightning_Shield_Sparks,d1 ; Load art source
+ move.l #ArtUnc_LightningShield_Sparks,d1 ; Load art source
move.w #tiles_to_bytes(ArtTile_Shield_Sparks),d2 ; Load art destination
- move.w #(ArtUnc_Obj_Lightning_Shield_Sparks_end-ArtUnc_Obj_Lightning_Shield_Sparks)/2,d3 ; Size of art (in words)
+ move.w #(ArtUnc_LightningShield_Sparks_end-ArtUnc_LightningShield_Sparks)/2,d3 ; Size of art (in words)
jsr (Add_To_DMA_Queue).l
move.l #Map_LightningShield,mappings(a0)
- move.l #DPLC_LightningShield,DPLC_Address(a0) ; Used by PLCLoad_Shields
- move.l #ArtUnc_LightningShield,Art_Address(a0) ; Used by PLCLoad_Shields
+ move.l #DPLC_LightningShield,shield_plc(a0) ; Used by PLCLoad_Shields
+ move.l #ArtUnc_LightningShield,shield_art(a0) ; Used by PLCLoad_Shields
move.b #4,render_flags(a0)
move.w #$80,priority(a0)
move.b #$18,width_pixels(a0)
@@ -34092,19 +34257,19 @@ Obj_Lightning_Shield:
.nothighpriority:
move.w #1,anim(a0) ; Clear anim and set prev_anim to 1
- move.b #-1,LastLoadedDPLC(a0) ; Reset LastLoadedDPLC (used by PLCLoad_Shields)
- move.l #Obj_Lightning_Shield_Main,(a0)
+ move.b #-1,shield_prev_frame(a0) ; Reset shield_prev_frame (used by PLCLoad_Shields)
+ move.l #Obj_LightningShield_Main,(a0)
-Obj_Lightning_Shield_Main:
+Obj_LightningShield_Main:
movea.w parent(a0),a2
btst #Status_Invincible,status_secondary(a2) ; Is player invincible?
bne.w locret_197C4 ; If so, do not display and do not update variables
cmpi.b #$1C,anim(a2) ; Is player in their 'blank' animation?
beq.s locret_197C4 ; If so, do not display and do not update variables
btst #Status_Shield,status_secondary(a2) ; Should the player still have a shield?
- beq.s Obj_Lightning_Shield_Destroy ; If not, change to Insta-Shield
+ beq.s Obj_LightningShield_Destroy ; If not, change to Insta-Shield
btst #Status_Underwater,status(a2) ; Is player underwater?
- bne.s Obj_Lightning_Shield_DestroyUnderwater ; If so, branch
+ bne.s Obj_LightningShield_DestroyUnderwater ; If so, branch
move.w x_pos(a2),x_pos(a0)
move.w y_pos(a2),y_pos(a0)
move.b status(a2),status(a0) ; Inherit status
@@ -34121,11 +34286,11 @@ Obj_Lightning_Shield_Main:
.nothighpriority:
tst.b anim(a0) ; Is shield in its 'double jump' state?
- beq.s Obj_Lightning_Shield_Display ; Is not, branch and display
- bsr.s Obj_Lightning_Shield_Create_Spark ; Create sparks
+ beq.s Obj_LightningShield_Display ; Is not, branch and display
+ bsr.s Obj_LightningShield_CreateSpark ; Create sparks
clr.b anim(a0) ; Once done, return to non-'double jump' state
-Obj_Lightning_Shield_Display:
+Obj_LightningShield_Display:
lea (Ani_LightningShield).l,a1
jsr (Animate_Sprite).l
move.w #$80,priority(a0) ; Layer shield over player sprite
@@ -34142,18 +34307,18 @@ locret_197C4:
rts
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_DestroyUnderwater:
+Obj_LightningShield_DestroyUnderwater:
tst.w (Palette_fade_timer).w
- beq.s Obj_Lightning_Shield_FlashWater
+ beq.s Obj_LightningShield_FlashWater
-Obj_Lightning_Shield_Destroy:
+Obj_LightningShield_Destroy:
andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0
- move.l #Obj_Insta_Shield,(a0) ; Replace the Lightning Shield with the Insta-Shield
+ move.l #Obj_InstaShield,(a0) ; Replace the Lightning Shield with the Insta-Shield
rts
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_FlashWater:
- move.l #Obj_Lightning_Shield_DestroyUnderwater2,(a0)
+Obj_LightningShield_FlashWater:
+ move.l #Obj_LightningShield_DestroyUnderwater2,(a0)
andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0
; Flashes the underwater palette white
@@ -34173,17 +34338,17 @@ loc_197F2:
; =============== S U B R O U T I N E =======================================
-Obj_Lightning_Shield_Create_Spark:
+Obj_LightningShield_CreateSpark:
moveq #1,d2
-Obj_Lightning_Shield_Create_Spark_Part2:
+Obj_LightningShield_CreateSpark_Part2:
lea (SparkVelocities).l,a2
moveq #3,d1
loc_19816:
bsr.w Create_New_Sprite ; Find free object slot
bne.s locret_19862 ; If one can't be found, return
- move.l #Obj_Lightning_Shield_Spark,(a1) ; Make new object a Spark
+ move.l #Obj_LightningShield_Spark,(a1) ; Make new object a Spark
move.w x_pos(a0),x_pos(a1) ; (Spark) Inherit x_pos from source object (Lightning Shield, Hyper Sonic Stars)
move.w y_pos(a0),y_pos(a1) ; (Spark) Inherit y_pos from source object (Lightning Shield, Hyper Sonic Stars)
move.l mappings(a0),mappings(a1) ; (Spark) Inherit mappings from source object (Lightning Shield, Hyper Sonic Stars)
@@ -34199,7 +34364,7 @@ loc_19816:
locret_19862:
rts
-; End of function Obj_Lightning_Shield_Create_Spark
+; End of function Obj_LightningShield_CreateSpark
; ---------------------------------------------------------------------------
SparkVelocities:dc.w -$200, -$200
@@ -34208,24 +34373,24 @@ SparkVelocities:dc.w -$200, -$200
dc.w $200, $200
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_Spark:
+Obj_LightningShield_Spark:
jsr (MoveSprite2).l
addi.w #$18,y_vel(a0)
lea (Ani_LightningShield).l,a1
jsr (Animate_Sprite).l
tst.b routine(a0) ; Changed by Animate_Sprite
- bne.s Obj_Lightning_Shield_Spark_Delete
+ bne.s Obj_LightningShield_Spark_Delete
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_Spark_Delete:
+Obj_LightningShield_Spark_Delete:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_Lightning_Shield_DestroyUnderwater2:
+Obj_LightningShield_DestroyUnderwater2:
subq.b #1,anim_frame_timer(a0) ; Is it time to end the white flash?
bpl.s locret_198BC ; If not, return
- move.l #Obj_Insta_Shield,(a0) ; Replace Lightning Shield with Insta-Shield
+ move.l #Obj_InstaShield,(a0) ; Replace Lightning Shield with Insta-Shield
lea (Target_water_palette).w,a1
lea (Water_palette).w,a2
move.w #($80/4)-1,d0 ; Size of Water_palette/4-1
@@ -34238,11 +34403,11 @@ locret_198BC:
rts
; ---------------------------------------------------------------------------
-Obj_Bubble_Shield:
+Obj_BubbleShield:
; Init
move.l #Map_BubbleShield,mappings(a0)
- move.l #DPLC_BubbleShield,DPLC_Address(a0) ; Used by PLCLoad_Shields
- move.l #ArtUnc_BubbleShield,Art_Address(a0) ; Used by PLCLoad_Shields
+ move.l #DPLC_BubbleShield,shield_plc(a0) ; Used by PLCLoad_Shields
+ move.l #ArtUnc_BubbleShield,shield_art(a0) ; Used by PLCLoad_Shields
move.b #4,render_flags(a0)
move.w #$80,priority(a0)
move.b #$18,width_pixels(a0)
@@ -34255,19 +34420,19 @@ Obj_Bubble_Shield:
.nothighpriority:
move.w #1,anim(a0) ; Clear anim and set prev_anim to 1
- move.b #-1,LastLoadedDPLC(a0) ; Reset LastLoadedDPLC (used by PLCLoad_Shields)
+ move.b #-1,shield_prev_frame(a0) ; Reset shield_prev_frame (used by PLCLoad_Shields)
movea.w parent(a0),a1
bsr.w Player_ResetAirTimer
- move.l #Obj_Bubble_Shield_Main,(a0)
+ move.l #Obj_BubbleShield_Main,(a0)
-Obj_Bubble_Shield_Main:
+Obj_BubbleShield_Main:
movea.w parent(a0),a2
btst #Status_Invincible,status_secondary(a2) ; Is player invincible?
bne.s locret_1998A ; If so, do not display and do not update variables
cmpi.b #$1C,anim(a2) ; Is player in their 'blank' animation?
beq.s locret_1998A ; If so, do not display and do not update variables
btst #Status_Shield,status_secondary(a2) ; Should the player still have a shield?
- beq.s Obj_Bubble_Shield_Destroy ; If not, change to Insta-Shield
+ beq.s Obj_BubbleShield_Destroy ; If not, change to Insta-Shield
move.w x_pos(a2),x_pos(a0)
move.w y_pos(a2),y_pos(a0)
move.b status(a2),status(a0) ; Inherit status
@@ -34293,9 +34458,9 @@ locret_1998A:
rts
; ---------------------------------------------------------------------------
-Obj_Bubble_Shield_Destroy:
+Obj_BubbleShield_Destroy:
andi.b #$8E,status_secondary(a2) ; Sets Status_Shield, Status_FireShield, Status_LtngShield, and Status_BublShield to 0
- move.l #Obj_Insta_Shield,(a0) ; Replace the Bubble Shield with the Insta-Shield
+ move.l #Obj_InstaShield,(a0) ; Replace the Bubble Shield with the Insta-Shield
rts
; =============== S U B R O U T I N E =======================================
@@ -34304,10 +34469,10 @@ Obj_Bubble_Shield_Destroy:
PLCLoad_Shields:
moveq #0,d0
move.b mapping_frame(a0),d0
- cmp.b LastLoadedDPLC(a0),d0
+ cmp.b shield_prev_frame(a0),d0
beq.s locret_199E8
- move.b d0,LastLoadedDPLC(a0)
- movea.l DPLC_Address(a0),a2
+ move.b d0,shield_prev_frame(a0)
+ movea.l shield_plc(a0),a2
add.w d0,d0
adda.w (a2,d0.w),a2
move.w (a2)+,d5
@@ -34324,7 +34489,7 @@ PLCLoad_Shields_ReadEntry:
addi.w #$10,d3
andi.w #$FFF,d1
lsl.l #5,d1
- add.l Art_Address(a0),d1
+ add.l shield_art(a0),d1
move.w d4,d2
add.w d3,d4
add.w d3,d4
@@ -34336,30 +34501,30 @@ locret_199E8:
; End of function PLCLoad_Shields
; ---------------------------------------------------------------------------
-Ani_InstaShield:include "General/Sprites/Shields/Anim - Insta-Shield.asm"
-
-Ani_FireShield: include "General/Sprites/Shields/Anim - Fire Shield.asm"
-
-Ani_LightningShield:include "General/Sprites/Shields/Anim - Lightning Shield.asm"
-
-Ani_BubbleShield:include "General/Sprites/Shields/Anim - Bubble Shield.asm"
-
-Map_FireShield: include "General/Sprites/Shields/Map - Fire Shield.asm"
-
-DPLC_FireShield:include "General/Sprites/Shields/DPLC - Fire Shield.asm"
-
-Map_LightningShield:include "General/Sprites/Shields/Map - Lightning Shield.asm"
-
-DPLC_LightningShield:include "General/Sprites/Shields/DPLC - Lightning Shield.asm"
-
-Map_BubbleShield:include "General/Sprites/Shields/Map - Bubble Shield.asm"
-
-DPLC_BubbleShield:include "General/Sprites/Shields/DPLC - Bubble Shield.asm"
-
-Map_InstaShield:include "General/Sprites/Shields/Map - Insta-Shield.asm"
-
-DPLC_InstaShield:include "General/Sprites/Shields/DPLC - Insta-Shield.asm"
-
+Ani_InstaShield:
+ include "General/Sprites/Shields/Anim - Insta-Shield.asm"
+Ani_FireShield:
+ include "General/Sprites/Shields/Anim - Fire Shield.asm"
+Ani_LightningShield:
+ include "General/Sprites/Shields/Anim - Lightning Shield.asm"
+Ani_BubbleShield:
+ include "General/Sprites/Shields/Anim - Bubble Shield.asm"
+Map_FireShield:
+ include "General/Sprites/Shields/Map - Fire Shield.asm"
+DPLC_FireShield:
+ include "General/Sprites/Shields/DPLC - Fire Shield.asm"
+Map_LightningShield:
+ include "General/Sprites/Shields/Map - Lightning Shield.asm"
+DPLC_LightningShield:
+ include "General/Sprites/Shields/DPLC - Lightning Shield.asm"
+Map_BubbleShield:
+ include "General/Sprites/Shields/Map - Bubble Shield.asm"
+DPLC_BubbleShield:
+ include "General/Sprites/Shields/DPLC - Bubble Shield.asm"
+Map_InstaShield:
+ include "General/Sprites/Shields/Map - Insta-Shield.asm"
+DPLC_InstaShield:
+ include "General/Sprites/Shields/DPLC - Insta-Shield.asm"
; ---------------------------------------------------------------------------
superTailsBirds_target_found = $30
superTailsBirds_search_delay = $32
@@ -34712,8 +34877,8 @@ loc_1A41A:
; End of function sub_1A434
; ---------------------------------------------------------------------------
-Map_SuperTails_Birds:include "General/Sprites/Tails/Map - Super Tails birds.asm"
-
+Map_SuperTails_Birds:
+ include "General/Sprites/Tails/Map - Super Tails birds.asm"
; ---------------------------------------------------------------------------
Obj_HyperSonicKnux_Trail:
@@ -34760,11 +34925,11 @@ Obj_Ring:
move.w Ring_Index(pc,d0.w),d1
jmp Ring_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-Ring_Index: dc.w Obj_RingInit-Ring_Index ; 0
- dc.w Obj_RingAnimate-Ring_Index ; 2
- dc.w Obj_RingCollect-Ring_Index ; 4
- dc.w Obj_RingSparkle-Ring_Index ; 6
- dc.w Obj_RingDelete-Ring_Index ; 8
+Ring_Index: dc.w Obj_RingInit-Ring_Index
+ dc.w Obj_RingAnimate-Ring_Index
+ dc.w Obj_RingCollect-Ring_Index
+ dc.w Obj_RingSparkle-Ring_Index
+ dc.w Obj_RingDelete-Ring_Index
; ---------------------------------------------------------------------------
Obj_RingInit:
@@ -34781,7 +34946,7 @@ Obj_RingInit:
Obj_RingAnimate:
move.b (Rings_frame).w,mapping_frame(a0)
- bra.w loc_1B662
+ bra.w Sprite_CheckDeleteTouch3
; ---------------------------------------------------------------------------
Obj_RingCollect:
@@ -34808,36 +34973,34 @@ GiveRing:
addq.w #1,(Total_ring_count).w ; add 1 to the number of collected rings
GiveRing_1P:
- move.w #sfx_RingRight,d0 ; prepare to play the ring sound
+ move.w #sfx_RingRight,d0 ; prepare to play the ring sound
cmpi.w #999,(Ring_count).w ; does the player 1 have 999 or more rings?
- bhs.s JmpTo_Play_Sound_2 ; if yes, play the ring sound
+ bhs.s JmpTo_Play_SFX ; if yes, play the ring sound
addq.w #1,(Ring_count).w ; add 1 to the ring count
ori.b #1,(Update_HUD_ring_count).w ; set flag to update the ring counter in the HUD
cmpi.w #100,(Ring_count).w ; does the player 1 have less than 100 rings?
- blo.s JmpTo_Play_Sound_2 ; if yes, play the ring sound
+ blo.s JmpTo_Play_SFX ; if yes, play the ring sound
bset #1,(Extra_life_flags).w ; test and set the flag for the first extra life
beq.s loc_1A5D8 ; if it was clear before, branch
cmpi.w #200,(Ring_count).w ; does the player 1 have less than 200 rings?
- blo.s JmpTo_Play_Sound_2 ; if yes, play the ring sound
+ blo.s JmpTo_Play_SFX ; if yes, play the ring sound
bset #2,(Extra_life_flags).w ; test and set the flag for the second extra life
- bne.s JmpTo_Play_Sound_2 ; if it was set before, play the ring sound
+ bne.s JmpTo_Play_SFX ; if it was set before, play the ring sound
loc_1A5D8:
addq.b #1,(Life_count).w ; add 1 to the life count
addq.b #1,(Update_HUD_life_count).w ; add 1 to the displayed life count
- moveq #mus_ExtraLife,d0 ; prepare to play the extra life jingle
- jmp (Play_Sound).l ; Sonic 2 wound up putting music in the stereo sound queue, this would have fixed it
+ moveq #signextendB(mus_ExtraLife),d0 ; prepare to play the extra life jingle
+ jmp (Play_Music).l ; Sonic 2 wound up putting music in the stereo sound queue, this would have fixed it
; ---------------------------------------------------------------------------
-JmpTo_Play_Sound_2:
- jmp (Play_Sound_2).l
-; End of function GiveRing
-
+JmpTo_Play_SFX:
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
rts
; ---------------------------------------------------------------------------
-loc_1A5F0:
+GiveRing_Tails:
cmpi.w #999,(Total_ring_count_P2).w
bhs.s loc_1A5FC
addq.w #1,(Total_ring_count_P2).w
@@ -34863,12 +35026,14 @@ loc_1A608:
loc_1A638:
addq.b #1,(Life_count_P2).w
- moveq #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_ExtraLife),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_1A644:
- jmp (Play_Sound_2).l
+ jmp (Play_SFX).l
+; End of function GiveRing
+
; ---------------------------------------------------------------------------
Obj_Bouncing_Ring:
@@ -34966,7 +35131,7 @@ loc_1A728:
loc_1A738:
move.w #$FF00|sfx_RingLoss,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
move.w #0,(Ring_count).w
move.b #$80,(Update_HUD_ring_count).w
move.b #0,(Extra_life_flags).w
@@ -35035,7 +35200,7 @@ loc_1A7E8:
bne.s loc_1A83C
tst.b 4(a0)
bpl.s loc_1A828
- jsr (sub_FCA0).l
+ jsr (RingCheckFloorDist_ReverseGravity).l
tst.w d1
bpl.s loc_1A828
sub.w d1,$14(a0)
@@ -35188,13 +35353,11 @@ AttractedRing_ApplyMovementY:
; End of function AttractedRing_Move
; ---------------------------------------------------------------------------
-Ani_RingSparkle: include "General/Sprites/Ring/Anim - Ring Sparkle.asm"
-
+Ani_RingSparkle:include "General/Sprites/Ring/Anim - Ring Sparkle.asm"
Map_Ring: include "General/Sprites/Ring/Map - Ring.asm"
-
; ---------------------------------------------------------------------------
-loc_1A9EE:
+Obj_SlotRing:
moveq #0,d0
move.b 5(a0),d0
move.w off_1A9FC(pc,d0.w),d1
@@ -35242,7 +35405,6 @@ loc_1AA62:
; ---------------------------------------------------------------------------
Ani_Ring: include "General/Sprites/Ring/Anim - Ring.asm"
-
; =============== S U B R O U T I N E =======================================
@@ -35668,8 +35830,8 @@ Render_Sprites:
lea (Sprite_table_buffer).w,a6
tst.b (Level_started_flag).w
beq.s loc_1AD4A
- jsr (sub_DB44).l
- jsr (sub_EB86).l
+ jsr (Render_HUD).l
+ jsr (Render_Rings).l
loc_1AD4A:
tst.w (a5)
@@ -35677,7 +35839,7 @@ loc_1AD4A:
lea 2(a5),a4
loc_1AD54:
- movea.w (a4)+,a0 ; a0=object
+ movea.w (a4)+,a0 ; a0=object
andi.b #$7F,render_flags(a0) ; clear on-screen flag
move.b render_flags(a0),d6
move.w x_pos(a0),d0
@@ -36287,7 +36449,7 @@ Render_Sprites_CompetitionMode:
loc_1B210:
tst.b (Level_started_flag).w
beq.s loc_1B21C
- jsr (sub_DB3C).l
+ jsr (Render_HUD_P1).l
loc_1B21C:
move.b 1(a5),(a5)
@@ -36386,7 +36548,7 @@ loc_1B2F6:
loc_1B312:
tst.b (Level_started_flag).w
beq.s loc_1B31E
- jsr (nullsub_2).l
+ jsr (Render_HUD_P2).l
loc_1B31E:
tst.b 1(a5)
@@ -36736,7 +36898,7 @@ loc_1B65E:
bra.w Delete_Current_Sprite
; ---------------------------------------------------------------------------
-loc_1B662:
+Sprite_CheckDeleteTouch3:
move.w $10(a0),d0
loc_1B666:
@@ -37455,55 +37617,55 @@ Get_LevelSizeStart:
move.w #-1,(Screen_Y_wrap_value).w
bra.w loc_1BE46
; ---------------------------------------------------------------------------
-; xstart xend ystart yend ; Level
-LevelSizes: dc.w $1308, $6000, $0, $390 ; AIZ1
- dc.w $0, $4640, $0, $590 ; AIZ2
- dc.w $0, $6000, $0, $1000 ; HCZ1
- dc.w $0, $6000, $0, $1000 ; HCZ2
- dc.w $0, $6000, -$100, $1000 ; MGZ1
- dc.w $0, $6000, $0, $1000 ; MGZ2
- dc.w $0, $6000, $0, $B20 ; CNZ1
- dc.w $0, $6000, $580, $1000 ; CNZ2
- dc.w $0, $2E60, $0, $B00 ; FBZ1
- dc.w $0, $6000, $0, $B00 ; FBZ2
- dc.w $0, $7000, -$100, $800 ; ICZ1
- dc.w $0, $7000, $0, $B20 ; ICZ2
- dc.w $0, $6000, $0, $1000 ; LBZ1
- dc.w $0, $6000, $0, $B20 ; LBZ2
- dc.w $0, $4298, $0, $AA0 ; MHZ1
- dc.w $98, $3C90, $620, $9A0 ; MHZ2
- dc.w $0, $4310, $0, $B20 ; SOZ1
- dc.w $0, $6000, -$100, $800 ; SOZ2
- dc.w $0, $2CC0, $0, $B20 ; LRZ1
- dc.w $940, $3EC0, $0, $B20 ; LRZ2
- dc.w $0, $19A0, -$100, $1000 ; SSZ1
- dc.w $0, $6000, $0, $400 ; SSZ2
- dc.w $0, $6000, $0, $B20 ; DEZ1
- dc.w $0, $6000, $0, $F10 ; DEZ2
- dc.w $0, $6000, $0, $1000 ; DDZ
- dc.w $0, $6000, $0, $1000 ; DDZ
- dc.w $0, $6000, $0, $1000 ; AIZ Intro (?)
- dc.w $0, $6000, $0, $1000 ; Ending scene
- dc.w $0, $12C0, $100, $190 ; ALZ
- dc.w $0, $12C0, $100, $190 ; ALZ
- dc.w $0, $12C0, $200, $390 ; BPZ
- dc.w $0, $12C0, $200, $390 ; BPZ
- dc.w $0, $12C0, $100, $190 ; DPZ
- dc.w $0, $12C0, $100, $190 ; DPZ
- dc.w $0, $12C0, -$100, $1000 ; CGZ
- dc.w $0, $12C0, $0, $90 ; CGZ
- dc.w $0, $12C0, $100, $190 ; EMZ
- dc.w $0, $12C0, $100, $190 ; EMZ
- dc.w $60, $60, $0, $240 ; Gumball
- dc.w $60, $60, $0, $240 ; Gumball
- dc.w $0, $140, $0, $F00 ; Pachinko
- dc.w $0, $140, $0, $F00 ; Pachinko
- dc.w $0, $6000, $0, $1000 ; Slots
- dc.w $0, $6000, $0, $1000 ; Slots
- dc.w $0, $EC0, $0, $430 ; LRZ Boss
- dc.w $0, $1880, $0, $B20 ; HPZ
- dc.w $0, $6000, $20, $20 ; DEZ Boss
- dc.w $1500, $1640, $320, $320 ; Special Stage Arena (HPZ)
+; xstart xend ystart yend ; Level
+LevelSizes: dc.w $1308, $6000, 0, $390 ; AIZ1
+ dc.w 0, $4640, 0, $590 ; AIZ2
+ dc.w 0, $6000, 0, $1000 ; HCZ1
+ dc.w 0, $6000, 0, $1000 ; HCZ2
+ dc.w 0, $6000, -$100, $1000 ; MGZ1
+ dc.w 0, $6000, 0, $1000 ; MGZ2
+ dc.w 0, $6000, 0, $B20 ; CNZ1
+ dc.w 0, $6000, $580, $1000 ; CNZ2
+ dc.w 0, $2E60, 0, $B00 ; FBZ1
+ dc.w 0, $6000, 0, $B00 ; FBZ2
+ dc.w 0, $7000, -$100, $800 ; ICZ1
+ dc.w 0, $7000, 0, $B20 ; ICZ2
+ dc.w 0, $6000, 0, $1000 ; LBZ1
+ dc.w 0, $6000, 0, $B20 ; LBZ2
+ dc.w 0, $4298, 0, $AA0 ; MHZ1
+ dc.w $98, $3C90, $620, $9A0 ; MHZ2
+ dc.w 0, $4310, 0, $B20 ; SOZ1
+ dc.w 0, $6000, -$100, $800 ; SOZ2
+ dc.w 0, $2CC0, 0, $B20 ; LRZ1
+ dc.w $940, $3EC0, 0, $B20 ; LRZ2
+ dc.w 0, $19A0, -$100, $1000 ; SSZ1
+ dc.w 0, $6000, 0, $400 ; SSZ2
+ dc.w 0, $6000, 0, $B20 ; DEZ1
+ dc.w 0, $6000, 0, $F10 ; DEZ2
+ dc.w 0, $6000, 0, $1000 ; DDZ
+ dc.w 0, $6000, 0, $1000 ; DDZ
+ dc.w 0, $6000, 0, $1000 ; AIZ Intro (?)
+ dc.w 0, $6000, 0, $1000 ; Ending scene
+ dc.w 0, $12C0, $100, $190 ; ALZ
+ dc.w 0, $12C0, $100, $190 ; ALZ
+ dc.w 0, $12C0, $200, $390 ; BPZ
+ dc.w 0, $12C0, $200, $390 ; BPZ
+ dc.w 0, $12C0, $100, $190 ; DPZ
+ dc.w 0, $12C0, $100, $190 ; DPZ
+ dc.w 0, $12C0, -$100, $1000 ; CGZ
+ dc.w 0, $12C0, 0, $90 ; CGZ
+ dc.w 0, $12C0, $100, $190 ; EMZ
+ dc.w 0, $12C0, $100, $190 ; EMZ
+ dc.w $60, $60, 0, $240 ; Gumball
+ dc.w $60, $60, 0, $240 ; Gumball
+ dc.w 0, $140, 0, $F00 ; Pachinko
+ dc.w 0, $140, 0, $F00 ; Pachinko
+ dc.w 0, $6000, 0, $1000 ; Slots
+ dc.w 0, $6000, 0, $1000 ; Slots
+ dc.w 0, $EC0, 0, $430 ; LRZ Boss
+ dc.w 0, $1880, 0, $B20 ; HPZ
+ dc.w 0, $6000, $20, $20 ; DEZ Boss
+ dc.w $1500, $1640, $320, $320 ; Special Stage Arena (HPZ)
; ---------------------------------------------------------------------------
loc_1BE46:
@@ -38170,54 +38332,55 @@ loc_1C3EA:
move.b #1,(Camera_max_Y_pos_changing).w
rts
; ---------------------------------------------------------------------------
-LevelResizeArray: dc.w AIZ1_Resize-LevelResizeArray
+LevelResizeArray:
+ dc.w AIZ1_Resize-LevelResizeArray
dc.w AIZ2_Resize-LevelResizeArray
dc.w HCZ1_Resize-LevelResizeArray
dc.w HCZ2_Resize-LevelResizeArray
- dc.w MGZ_Resize-LevelResizeArray
- dc.w MGZ_Resize-LevelResizeArray
- dc.w No_Resize2-LevelResizeArray
- dc.w No_Resize2-LevelResizeArray
- dc.w No_Resize2-LevelResizeArray
- dc.w No_Resize2-LevelResizeArray
+ dc.w MGZ1_Resize-LevelResizeArray
+ dc.w MGZ2_Resize-LevelResizeArray
+ dc.w CNZ1_Resize-LevelResizeArray
+ dc.w CNZ2_Resize-LevelResizeArray
+ dc.w FBZ1_Resize-LevelResizeArray
+ dc.w FBZ2_Resize-LevelResizeArray
dc.w ICZ1_Resize-LevelResizeArray
dc.w ICZ2_Resize-LevelResizeArray
- dc.w No_Resize-LevelResizeArray
+ dc.w LBZ1_Resize-LevelResizeArray
dc.w LBZ2_Resize-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
- dc.w No_Resize3-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
+ dc.w No_Resize-LevelResizeArray
; ---------------------------------------------------------------------------
AIZ1_Resize:
@@ -38377,21 +38540,21 @@ AIZ2_Resize:
move.w off_1C630(pc,d0.w),d0
jmp off_1C630(pc,d0.w)
; ---------------------------------------------------------------------------
-off_1C630: dc.w loc_1C64E-off_1C630 ;0
- dc.w AIZ2_SonicResize1-off_1C630 ;2
- dc.w AIZ2_SonicResize2-off_1C630 ;4
- dc.w AIZ2_SonicResize3-off_1C630 ;6
- dc.w AIZ2_SonicResize4-off_1C630 ;8
- dc.w AIZ2_SonicResize5-off_1C630 ;A
- dc.w AIZ2_SonicResize6-off_1C630 ;C
- dc.w AIZ2_SonicResize7-off_1C630 ;E
- dc.w AIZ2_SonicResizeEnd-off_1C630 ;10
- dc.w AIZ2_KnuxResize1-off_1C630 ;12
- dc.w AIZ2_KnuxResize2-off_1C630 ;14
- dc.w AIZ2_KnuxResize3-off_1C630 ;16
- dc.w AIZ2_KnuxResize4-off_1C630 ;18
- dc.w AIZ2_KnuxResize5-off_1C630 ;1A
- dc.w AIZ2_KnuxResizeEnd-off_1C630 ;1C
+off_1C630: dc.w loc_1C64E-off_1C630 ; 0
+ dc.w AIZ2_SonicResize1-off_1C630 ; 2
+ dc.w AIZ2_SonicResize2-off_1C630 ; 4
+ dc.w AIZ2_SonicResize3-off_1C630 ; 6
+ dc.w AIZ2_SonicResize4-off_1C630 ; 8
+ dc.w AIZ2_SonicResize5-off_1C630 ; A
+ dc.w AIZ2_SonicResize6-off_1C630 ; C
+ dc.w AIZ2_SonicResize7-off_1C630 ; E
+ dc.w AIZ2_SonicResizeEnd-off_1C630 ; 10
+ dc.w AIZ2_KnuxResize1-off_1C630 ; 12
+ dc.w AIZ2_KnuxResize2-off_1C630 ; 14
+ dc.w AIZ2_KnuxResize3-off_1C630 ; 16
+ dc.w AIZ2_KnuxResize4-off_1C630 ; 18
+ dc.w AIZ2_KnuxResize5-off_1C630 ; 1A
+ dc.w AIZ2_KnuxResizeEnd-off_1C630 ; 1C
; ---------------------------------------------------------------------------
loc_1C64E:
@@ -38436,7 +38599,7 @@ loc_1C6A0:
bne.s loc_1C6D6
jsr (Create_New_Sprite).l
bne.s loc_1C6D6
- move.l #Obj_AIZ_Miniboss,(a1) ; Make the miniboss
+ move.l #Obj_AIZMiniboss,(a1) ; Make the miniboss
move.w #$11F0,$10(a1)
move.w #$289,$14(a1) ; Set the position for Sonic's area area
@@ -38547,7 +38710,7 @@ loc_1C7C8:
bne.s loc_1C7FE
jsr (Create_New_Sprite).l
bne.s loc_1C7FE
- move.l #Obj_AIZ_Miniboss,(a1)
+ move.l #Obj_AIZMiniboss,(a1)
move.w #$11D0,$10(a1) ; Knuckles' version of the boss is further down obviously
move.w #$420,$14(a1)
@@ -38682,7 +38845,11 @@ locret_1C91A:
rts
; ---------------------------------------------------------------------------
-MGZ_Resize:
+MGZ1_Resize:
+ ; Bug: MGZ1 uses a dynamic resize routine meant for MGZ2
+ ; This causes the act 2 boss to spawn in out-of-bounds act 1
+
+MGZ2_Resize:
moveq #0,d0
move.b (Dynamic_resize_routine).w,d0
move.w off_1C92A(pc,d0.w),d0
@@ -38725,7 +38892,7 @@ loc_1C96E:
move.w d0,(Camera_target_min_X_pos).w
jsr (Create_New_Sprite).l
bne.s loc_1C9A2
- move.l #Obj_A1_1_MGZ2_Boss,(a1)
+ move.l #Obj_MGZEndBoss,(a1)
move.w #$3D20,$10(a1)
move.w #$668,$14(a1)
@@ -38751,7 +38918,10 @@ locret_1C9C8:
rts
; ---------------------------------------------------------------------------
-No_Resize2:
+CNZ1_Resize:
+CNZ2_Resize:
+FBZ1_Resize:
+FBZ2_Resize:
rts
; ---------------------------------------------------------------------------
@@ -38818,7 +38988,7 @@ locret_1CA3C:
rts
; ---------------------------------------------------------------------------
-No_Resize:
+LBZ1_Resize:
rts
; ---------------------------------------------------------------------------
@@ -38848,7 +39018,7 @@ loc_1CA52:
move.w #0,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_LBZ2DeathEgg2_8x8).l,a1
- move.w #$B400,d2
+ move.w #tiles_to_bytes(ArtTile_Explosion),d2
jsr (Queue_Kos_Module).l
locret_1CAA8:
@@ -38859,7 +39029,7 @@ locret_1CAAA:
rts
; ---------------------------------------------------------------------------
-No_Resize3:
+No_Resize:
rts
; =============== S U B R O U T I N E =======================================
@@ -38892,8 +39062,6 @@ Draw_LRZ_Special_Rock_Sprites:
move.b (LRZ_rocks_routine).w,d0
move.w off_1CADA(pc,d0.w),d0
jmp off_1CADA(pc,d0.w)
-; End of function Draw_LRZ_Special_Rock_Sprites
-
; ---------------------------------------------------------------------------
off_1CADA: dc.w loc_1CADE-off_1CADA
dc.w loc_1CB20-off_1CADA
@@ -38982,6 +39150,8 @@ loc_1CB5C:
bls.s loc_1CB5A
move.l a2,(LRZ_rocks_addr_back).w
rts
+; End of function Draw_LRZ_Special_Rock_Sprites
+
; =============== S U B R O U T I N E =======================================
@@ -39029,8 +39199,9 @@ locret_1CBBC:
; End of function sub_1CB68
; ---------------------------------------------------------------------------
-LRZ_Rock_SpriteData: binclude "Levels/LRZ/Misc/Rock Sprite Attribute Data.bin"
- even
+LRZ_Rock_SpriteData:
+ binclude "Levels/LRZ/Misc/Rock Sprite Attribute Data.bin"
+ even
; ---------------------------------------------------------------------------
Obj_PathSwap:
@@ -39356,10 +39527,9 @@ locret_1D058:
; ---------------------------------------------------------------------------
Map_PathSwap: include "General/Sprites/Level Misc/Map - Path Swap.asm"
-
; ---------------------------------------------------------------------------
-Obj_3A_2:
+Obj_SOZPathSwap:
move.l #Map_PathSwap,$C(a0)
move.w #make_art_tile(ArtTile_Ring,1,0),$A(a0)
ori.b #4,4(a0)
@@ -39786,8 +39956,7 @@ Obj_Monitor:
move.w Monitor_Index(pc,d0.w),d1
jmp Monitor_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-Monitor_Index:
- dc.w Obj_MonitorInit-Monitor_Index
+Monitor_Index: dc.w Obj_MonitorInit-Monitor_Index
dc.w Obj_MonitorMain-Monitor_Index
dc.w Obj_MonitorBreak-Monitor_Index
dc.w Obj_MonitorAnimate-Monitor_Index
@@ -39858,7 +40027,7 @@ Obj_MonitorFall:
move.b routine_secondary(a0),d0
beq.s locret_1D694
btst #1,render_flags(a0) ; Is monitor upside down?
- bne.s Obj_MonitorFallUpsideDown ; If so, branch
+ bne.s Obj_MonitorFallUpsideDown ; If so, branch
bsr.w MoveSprite
tst.w y_vel(a0) ; Is monitor moving up?
bmi.s locret_1D694 ; If so, return
@@ -39929,6 +40098,8 @@ SolidObject_Monitor_Tails:
cmpi.b #2,anim(a1) ; Is Tails in his rolling animation?
bne.w SolidObject_cont ; If not, branch
rts
+; End of function SolidObject_Monitor_Tails
+
; ---------------------------------------------------------------------------
Monitor_ChkOverEdge:
@@ -39958,8 +40129,6 @@ Monitor_CharStandOn:
bsr.w MvSonicOnPtfm
moveq #0,d4
rts
-; End of function SolidObject_Monitor_Tails
-
; ---------------------------------------------------------------------------
Obj_MonitorBreak:
@@ -40087,19 +40256,19 @@ loc_1D86C:
; End of function sub_1D820
; ---------------------------------------------------------------------------
-off_1D87C: dc.w loc_1D890-off_1D87C
+off_1D87C: dc.w Monitor_Give_Eggman-off_1D87C
dc.w Monitor_Give_1up-off_1D87C
- dc.w loc_1D890-off_1D87C
+ dc.w Monitor_Give_Eggman-off_1D87C
dc.w Monitor_Give_Rings-off_1D87C
- dc.w Monitor_Give_Super_Sneakers-off_1D87C
- dc.w Monitor_Give_Fire_Shield-off_1D87C
- dc.w Monitor_Give_Lightning_Shield-off_1D87C
- dc.w Monitor_Give_Bubble_Shield-off_1D87C
+ dc.w Monitor_Give_SpeedShoes-off_1D87C
+ dc.w Monitor_Give_FireShield-off_1D87C
+ dc.w Monitor_Give_LightningShield-off_1D87C
+ dc.w Monitor_Give_BubbleShield-off_1D87C
dc.w Monitor_Give_Invincibility-off_1D87C
dc.w Monitor_Give_SuperSonic-off_1D87C
; ---------------------------------------------------------------------------
-loc_1D890:
+Monitor_Give_Eggman:
addq.w #1,(a2)
jmp (sub_24280).l
; ---------------------------------------------------------------------------
@@ -40108,8 +40277,8 @@ Monitor_Give_1up:
addq.w #1,(Monitors_broken).w
addq.b #1,(Life_count).w
addq.b #1,(Update_HUD_life_count).w
- moveq #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_ExtraLife),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
Monitor_Give_Rings:
@@ -40118,40 +40287,40 @@ Monitor_Give_Rings:
lea (Update_HUD_ring_count).w,a3
lea (Extra_life_flags).w,a4
lea (Total_ring_count).w,a5
- addi.w #$A,(a5)
- cmpi.w #$3E7,(a5)
+ addi.w #10,(a5)
+ cmpi.w #999,(a5)
blo.s loc_1D8CC
- move.w #$3E7,(a5)
+ move.w #999,(a5)
loc_1D8CC:
- addi.w #$A,(a2)
- cmpi.w #$3E7,(a2)
+ addi.w #10,(a2)
+ cmpi.w #999,(a2)
blo.s loc_1D8DA
- move.w #$3E7,(a2)
+ move.w #999,(a2)
loc_1D8DA:
ori.b #1,(a3)
- cmpi.w #$64,(a2)
+ cmpi.w #100,(a2)
blo.s loc_1D8F6
bset #1,(a4)
beq.s loc_1D8FE
- cmpi.w #$C8,(a2)
+ cmpi.w #200,(a2)
blo.s loc_1D8F6
bset #2,(a4)
beq.s loc_1D8FE
loc_1D8F6:
- moveq #sfx_RingRight,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_RingRight),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_1D8FE:
cmpa.w #Player_1,a1
beq.w Monitor_Give_1up
- bra.w loc_1D890
+ bra.w Monitor_Give_Eggman
; ---------------------------------------------------------------------------
-Monitor_Give_Super_Sneakers:
+Monitor_Give_SpeedShoes:
addq.w #1,(a2)
bset #2,$2B(a1)
move.b #$96,$36(a1)
@@ -40175,62 +40344,62 @@ loc_1D94C:
jmp (Change_Music_Tempo).l
; ---------------------------------------------------------------------------
-Monitor_Give_Fire_Shield:
+Monitor_Give_FireShield:
addq.w #1,(a2)
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #4,$2B(a1)
- moveq #sfx_FireShield,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FireShield),d0
+ jsr (Play_SFX).l
tst.b $43(a0)
bne.s loc_1D984
- move.l #Obj_Fire_Shield,(Shield).w
+ move.l #Obj_FireShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
loc_1D984:
- move.l #Obj_Fire_Shield,(Shield_P2).w
+ move.l #Obj_FireShield,(Shield_P2).w
move.w a1,(Shield_P2+parent).w
rts
; ---------------------------------------------------------------------------
-Monitor_Give_Lightning_Shield:
+Monitor_Give_LightningShield:
addq.w #1,(a2)
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #5,$2B(a1)
- moveq #sfx_ElectricShield,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LightningShield),d0
+ jsr (Play_SFX).l
tst.b $43(a0)
bne.s loc_1D9C2
- move.l #Obj_Lightning_Shield,(Shield).w
+ move.l #Obj_LightningShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
loc_1D9C2:
- move.l #Obj_Lightning_Shield,(Shield_P2).w
+ move.l #Obj_LightningShield,(Shield_P2).w
move.w a1,(Shield_P2+parent).w
rts
; ---------------------------------------------------------------------------
-Monitor_Give_Bubble_Shield:
+Monitor_Give_BubbleShield:
addq.w #1,(a2)
andi.b #$8E,$2B(a1)
bset #0,$2B(a1)
bset #6,$2B(a1)
- moveq #sfx_BubbleShield,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BubbleShield),d0
+ jsr (Play_SFX).l
tst.b $43(a0)
bne.s loc_1DA00
- move.l #Obj_Bubble_Shield,(Shield).w
+ move.l #Obj_BubbleShield,(Shield).w
move.w a1,(Shield+parent).w
rts
; ---------------------------------------------------------------------------
loc_1DA00:
- move.l #Obj_Bubble_Shield,(Shield_P2).w
+ move.l #Obj_BubbleShield,(Shield_P2).w
move.w a1,(Shield_P2+parent).w
rts
; ---------------------------------------------------------------------------
@@ -40247,8 +40416,8 @@ Monitor_Give_Invincibility:
bne.s loc_1DA3E
cmpi.b #$C,$2C(a1)
bls.s loc_1DA3E
- moveq #mus_Invincibility,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Invincibility),d0
+ jsr (Play_Music).l
loc_1DA3E:
tst.b $43(a0)
@@ -40311,10 +40480,10 @@ Monitor_Give_SuperSonic:
move.b #$81,(Player_1+object_control).w
move.b #0,(Player_1+invincibility_timer).w
bset #Status_Invincible,status_secondary(a1)
- moveq #sfx_SuperTransform,d0
- jsr (Play_Sound_2).l
- moveq #mus_Invincibility,d0 ; play invincibility theme
- jmp (Play_Sound).l
+ moveq #signextendB(sfx_SuperTransform),d0
+ jsr (Play_SFX).l
+ moveq #signextendB(mus_Invincibility),d0 ; play invincibility theme
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
rts
; ---------------------------------------------------------------------------
@@ -40325,10 +40494,8 @@ loc_1DB2E:
bra.w Draw_Sprite
; ---------------------------------------------------------------------------
Ani_Monitor: include "General/Sprites/Monitors/Anim - Monitor.asm"
-
Map_Monitor: include "General/Sprites/Monitors/Map - Monitor.asm"
-
; =============== S U B R O U T I N E =======================================
@@ -41509,15 +41676,15 @@ loc_1E5F6:
move.w $3E(a0),$3E(a1)
loc_1E61A:
- moveq #sfx_Break,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Break),d0
+ jsr (Play_SFX).l
addq.b #2,5(a0)
loc_1E626:
move.l #Map_Explosion,$C(a0)
move.w $A(a0),d0
andi.w #$8000,d0
- ori.w #$5A0,d0
+ ori.w #ArtTile_Explosion,d0
move.w d0,$A(a0)
move.b #4,4(a0)
move.w #$80,8(a0)
@@ -41542,7 +41709,7 @@ loc_1E688:
Obj_FireShield_Dissipate:
move.l #Map_Explosion,$C(a0)
- move.w #$5A0,$A(a0)
+ move.w #ArtTile_Explosion,$A(a0)
move.b #4,4(a0)
move.w #$280,8(a0)
move.b #$C,7(a0)
@@ -41566,7 +41733,7 @@ loc_1E6E6:
loc_1E6EC:
move.l #Map_Explosion,$C(a0)
- move.w #$85A0,$A(a0)
+ move.w #make_art_tile(ArtTile_Explosion,0,1),$A(a0)
move.b #4,4(a0)
move.w #$100,8(a0)
move.b #$C,7(a0)
@@ -41597,10 +41764,9 @@ loc_1E752:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
Map_Explosion: include "General/Sprites/Enemy Misc/Map - Explosion.asm"
-
; ---------------------------------------------------------------------------
-Obj_09_1:
+Obj_AIZ1Tree:
move.l #Map_AIZ1Tree,$C(a0)
move.w #$180,8(a0)
move.b #8,7(a0)
@@ -41612,7 +41778,7 @@ loc_1E7B0:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Obj_0A_1:
+Obj_AIZ1ZiplinePeg:
move.l #Map_AIZ1ZiplinePeg,$C(a0)
move.w #$380,8(a0)
move.b #$20,7(a0)
@@ -41624,7 +41790,7 @@ loc_1E7DC:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Obj_26:
+Obj_AutoSpin:
move.l #Map_PathSwap,$C(a0)
move.w #ArtTile_Ring,$A(a0)
ori.b #4,4(a0)
@@ -41801,8 +41967,8 @@ loc_1E9C0:
move.b #7,$1F(a1)
move.b #2,$20(a1)
addq.w #5,$14(a1)
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
rts
; End of function sub_1E8C6
@@ -41935,14 +42101,14 @@ byte_1EB32: dc.b $96
dc.b 0
; ---------------------------------------------------------------------------
-Obj_27:
+Obj_S2LavaMarker:
moveq #0,d0
move.b $2C(a0),d0
move.b byte_1EB32(pc,d0.w),$28(a0)
- move.l #Map_Obj27,$C(a0)
+ move.l #Map_S2LavaMarker,$C(a0)
tst.w (Debug_placement_mode).w
beq.s loc_1EB58
- move.l #Map_Obj27_2,$C(a0)
+ move.l #Map_S2LavaMarkerDebug,$C(a0)
loc_1EB58:
move.w #make_art_tile(ArtTile_Ring,0,1),$A(a0)
@@ -41980,13 +42146,13 @@ loc_1EBAA:
loc_1EBB6:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_Obj27: include "General/Sprites/Unused/Map - Obj27 Unused.asm"
-
-Map_Obj27_2: include "General/Sprites/Unused/Map - Obj27 Unused 2.asm"
-
+Map_S2LavaMarker:
+ include "General/Sprites/Level Misc/Map - Lava Marker S2.asm"
+Map_S2LavaMarkerDebug:
+ include "General/Sprites/Level Misc/Map - Lava Marker S2 Debug.asm"
; ---------------------------------------------------------------------------
-Obj_28_Invisible_Barrier:
+Obj_InvisibleBlock:
move.l #Map_InvisibleBlock,$C(a0)
move.w #make_art_tile(ArtTile_Ring,0,1),$A(a0)
ori.b #4,4(a0)
@@ -42046,8 +42212,8 @@ loc_1ECAA:
move.w $10(a0),d4
bra.w SolidObjectFull2
; ---------------------------------------------------------------------------
-Map_InvisibleBlock:include "General/Sprites/Level Misc/Map - Invisible Block.asm"
-
+Map_InvisibleBlock:
+ include "General/Sprites/Level Misc/Map - Invisible Block.asm"
byte_1ED1A: dc.b $14
dc.b $28
dc.b $20
@@ -42062,8 +42228,8 @@ byte_1ED1A: dc.b $14
dc.b 2
; ---------------------------------------------------------------------------
-Obj_BreakableBar:
- move.l #Map_BreakableBar,$C(a0)
+Obj_HCZBreakableBar:
+ move.l #Map_HCZBreakableBar,$C(a0)
move.w #$43CA,$A(a0)
move.b #4,4(a0)
move.w #$200,8(a0)
@@ -42228,12 +42394,12 @@ locret_1EEEA:
loc_1EEEC:
tst.b $32(a0)
beq.s loc_1EEF8
- andi.b #-2,(Player_1+object_control).w
+ andi.b #$FE,(Player_1+object_control).w
loc_1EEF8:
tst.b $33(a0)
beq.s loc_1EF04
- andi.b #-2,(Player_2+object_control).w
+ andi.b #$FE,(Player_2+object_control).w
loc_1EF04:
clr.b (_unkF7C7).w
@@ -42320,7 +42486,7 @@ loc_1EFD8:
clr.b (a2)
move.b #$3C,2(a2)
bclr d2,(_unkF7C7).w
- andi.b #-2,$2E(a1)
+ andi.b #$FE,$2E(a1)
btst #6,$2C(a0)
bne.s locret_1F000
move.b #1,$3A(a0)
@@ -42391,12 +42557,12 @@ locret_1F098:
loc_1F09A:
tst.b $32(a0)
beq.s loc_1F0A6
- andi.b #-2,(Player_1+object_control).w
+ andi.b #$FE,(Player_1+object_control).w
loc_1F0A6:
tst.b $33(a0)
beq.s loc_1F0B2
- andi.b #-2,(Player_2+object_control).w
+ andi.b #$FE,(Player_2+object_control).w
loc_1F0B2:
clr.b (_unkF7C7).w
@@ -42416,7 +42582,6 @@ loc_1F0B2:
; ---------------------------------------------------------------------------
byte_1F0F0: dc.b 7, 5, 2, 0, 1, 3, 4, 6, 7, 5, 2, 0, 1, 3, 4, 6, 8, 9, $A, $B
dc.b $C, $D, $E, $F
-
word_1F108: dc.w 0, $FFE4
dc.w 0, $FFEC
dc.w 0, $FFF4
@@ -42488,8 +42653,8 @@ loc_1F1A0:
dbf d1,loc_1F198
loc_1F1FA:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_1F188
; ---------------------------------------------------------------------------
@@ -42556,8 +42721,8 @@ loc_1F2C4:
move.b $22(a0),1(a2)
bra.w Draw_Sprite
; ---------------------------------------------------------------------------
-Map_HCZWaveSplash:include "Levels/HCZ/Misc Object Data/Map - Wave Splash.asm"
-
+Map_HCZWaveSplash:
+ include "Levels/HCZ/Misc Object Data/Map - Wave Splash.asm"
byte_1F38A: dc.b $10
dc.b $10
dc.b $20
@@ -42595,12 +42760,12 @@ loc_1F3CA:
bra.w Sprite_OnScreen_Test
; ---------------------------------------------------------------------------
-Obj_6D_2:
+Obj_InvisibleShockBlock:
bset #5,$2B(a0)
bra.s Obj_InvisibleHurtBlockHorizontal
; ---------------------------------------------------------------------------
-Obj_6E_2:
+Obj_InvisibleLavaBlock:
bset #4,$2B(a0)
Obj_InvisibleHurtBlockHorizontal:
@@ -42662,7 +42827,7 @@ loc_1F494:
loc_1F4A2:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_1EBAA
@@ -43101,7 +43266,6 @@ loc_1F8FE:
; End of function sub_1F7CE
; ---------------------------------------------------------------------------
- ; unused/dead code
bra.w loc_1F88C
; =============== S U B R O U T I N E =======================================
@@ -43884,8 +44048,8 @@ loc_201B8:
dbf d1,loc_2015C
loc_201BC:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_2013A
; ---------------------------------------------------------------------------
@@ -43946,8 +44110,8 @@ loc_20206:
dbf d1,loc_20200
loc_20266:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_201DE
; ---------------------------------------------------------------------------
@@ -44132,10 +44296,10 @@ word_203C0: dc.w $C0
dc.w $FE40
dc.w $100
dc.w $FE20
-Map_LRZBreakableRock:include "Levels/LRZ/Misc Object Data/Map - Breakable Rock.asm"
-
-Map_LRZBreakableRock2:include "Levels/LRZ/Misc Object Data/Map - Breakable Rock 2.asm"
-
+Map_LRZBreakableRock:
+ include "Levels/LRZ/Misc Object Data/Map - Breakable Rock.asm"
+Map_LRZBreakableRock2:
+ include "Levels/LRZ/Misc Object Data/Map - Breakable Rock 2.asm"
; ---------------------------------------------------------------------------
Obj_CollapsingPlatform:
@@ -44855,16 +45019,19 @@ loc_20C98:
clr.w respawn_addr(a0)
loc_20CAE:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
byte_20CB6: dc.b $30, $2C, $28, $24, $20, $1C, $2E, $2A, $26, $22, $1E, $1A, $2C, $28, $24, $20, $1C, $18, $2A, $26
dc.b $22, $1E, $1A, $16, $28, $24, $20, $1C, $18, $14
byte_20CD4: dc.b $30, $2C, $28, $24, $20, $1C, $2E, $2A, $26, $22, $1E, $1A, $2C, $28, $24, $20, $1C, $18, $2A, $26
dc.b $22, $1E, $1A, $16, $28, $24, $20, $1C, $18, $14, $12, $10
-LBZBridgeCollapse_TimerArray: dc.b $20, $1C, $18, $14, $10, $C, 8, 4, $1E, $1A, $16, $12, $E, $A, 6, 2
-LBZBridgeCollapse_TimerFlipArray: dc.b $20, 4, 8, $C, $10, $14, $18, $1C, 2, 6, $A, $E, $12, $16, $1A, $1E
-LBZLedgeCollapse_TimerArray: dc.b $20, $18, $10, 8, $1E, $16, $E, 6, $1C, $14, $C, 4, $1A, $12
+LBZBridgeCollapse_TimerArray:
+ dc.b $20, $1C, $18, $14, $10, $C, 8, 4, $1E, $1A, $16, $12, $E, $A, 6, 2
+LBZBridgeCollapse_TimerFlipArray:
+ dc.b $20, 4, 8, $C, $10, $14, $18, $1C, 2, 6, $A, $E, $12, $16, $1A, $1E
+LBZLedgeCollapse_TimerArray:
+ dc.b $20, $18, $10, 8, $1E, $16, $E, 6, $1C, $14, $C, 4, $1A, $12
byte_20D22: dc.b $20, $1C, $18, $14, $10, $C, 8, 4, $1E, $1A, $16, $12, $E, $A, 6, 2
byte_20D32: dc.b $20, 4, 8, $C, $10, $14, $18, $1C, 2, 6, $A, $E, $12, $16, $1A, $1E
byte_20D42: dc.b $28, $24, $20, $1C, $18, $14, $10, $C, 8, 4, $26, $22, $1E, $1A, $16, $12, $E, $A, 6, 2
@@ -44899,16 +45066,14 @@ byte_20E9E: dc.b $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1
byte_20EDE: dc.b $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $30, $2F, $2F, $2F, $2F, $2F, $2F, $2F, $2F
dc.b $2F, $2F, $2F, $2F, $2E, $2E, $2E, $2E, $2E, $2E, $2E, $2E, $2D, $2D, $2D, $2D, $2D, $2D, $2D, $2D
dc.b $2D, $2D, $2D, $2D, $2D, $2C, $2B, $2A
-
-Map_LRZCollapsingPlatform:include "Levels/LRZ/Misc Object Data/Map - Collapsing Platform.asm"
-
-
-Map_HPZCollapsingBridge:include "Levels/HPZ/Misc Object Data/Map - Collapsing Bridge.asm"
-
-Map_FBZCollapsingBridge:include "Levels/FBZ/Misc Object Data/Map - Collapsing Bridge.asm"
-
-Map_SOZCollapsingBridge:include "Levels/SOZ/Misc Object Data/Map - Collapsing Bridge.asm"
-
+Map_LRZCollapsingPlatform:
+ include "Levels/LRZ/Misc Object Data/Map - Collapsing Platform.asm"
+Map_HPZCollapsingBridge:
+ include "Levels/HPZ/Misc Object Data/Map - Collapsing Bridge.asm"
+Map_FBZCollapsingBridge:
+ include "Levels/FBZ/Misc Object Data/Map - Collapsing Bridge.asm"
+Map_SOZCollapsingBridge:
+ include "Levels/SOZ/Misc Object Data/Map - Collapsing Bridge.asm"
; ---------------------------------------------------------------------------
Obj_BreakableWall:
@@ -45165,8 +45330,8 @@ loc_216AA:
sub_216B0:
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
move.w #$80,8(a0)
loc_216BE:
@@ -45569,12 +45734,12 @@ word_21A9A: dc.w $FA00
dc.w $600
dc.w $FC00
dc.w $500
-Map_CNZSOZBreakableWall:include "Levels/CNZ/Misc Object Data/Map - (&SOZ) Breakable Wall.asm"
-
-Map_MHZBreakableWall:include "Levels/MHZ/Misc Object Data/Map - Breakable Wall.asm"
-
-Map_LRZBreakableWall:include "Levels/LRZ/Misc Object Data/Map - Breakable Wall.asm"
-
+Map_CNZSOZBreakableWall:
+ include "Levels/CNZ/Misc Object Data/Map - (&SOZ) Breakable Wall.asm"
+Map_MHZBreakableWall:
+ include "Levels/MHZ/Misc Object Data/Map - Breakable Wall.asm"
+Map_LRZBreakableWall:
+ include "Levels/LRZ/Misc Object Data/Map - Breakable Wall.asm"
; ---------------------------------------------------------------------------
Obj_AIZRideVine:
@@ -46055,8 +46220,8 @@ sub_2219E:
move.b d1,(a4)
move.b d1,Slow_motion_flag-Level_select_flag(a4)
move.w d0,d1
- moveq #sfx_RingRight,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_RingRight),d0
+ jsr (Play_SFX).l
move.w d1,d0
loc_221DA:
@@ -46101,7 +46266,7 @@ loc_2221A:
loc_22224:
move.b $2A(a1),d1
andi.b #1,d1
- andi.b #-4,4(a1)
+ andi.b #$FC,4(a1)
or.b d1,4(a1)
moveq #0,d0
move.b $22(a1),d0
@@ -46142,9 +46307,9 @@ loc_2226C:
add.w d0,d0
move.b byte_222D4(pc,d0.w),$22(a1)
move.b #0,$20(a1)
- andi.w #-2,d0
+ andi.w #$FFFE,d0
move.b byte_222E4(pc,d0.w),d2
- move.b byte_222E5(pc,d0.w),d3
+ move.b byte_222E4+1(pc,d0.w),d3
ext.w d2
ext.w d3
btst #0,$2A(a1)
@@ -46155,7 +46320,7 @@ loc_2229A:
movea.w $3C(a0),a3
move.b $26(a3),d0
addq.b #4,d0
- andi.b #-8,d0
+ andi.b #$F8,d0
jsr (GetSineCosine).l
neg.w d0
addi.w #8,d0
@@ -46187,7 +46352,7 @@ byte_222D4: dc.b $78
dc.b $79
dc.b $79
byte_222E4: dc.b 0
-byte_222E5: dc.b $18
+ dc.b $18
dc.b $EE
dc.b $13
dc.b $E8
@@ -46235,10 +46400,10 @@ loc_22302:
move.b #$14,$20(a1)
move.b #0,$3D(a1)
move.b #3,$2E(a1)
- andi.b #-3,4(a1)
+ andi.b #$FD,4(a1)
move.b #1,(a2)
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
locret_2237C:
rts
@@ -46550,8 +46715,8 @@ loc_226C2:
andi.b #-8,d0
cmpi.b #$40,d0
bne.s loc_226E0
- moveq #sfx_GroundSlide,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GroundSlide),d0
+ jsr (Play_SFX).l
loc_226E0:
move.w #$200,8(a0)
@@ -46993,14 +47158,14 @@ loc_22B3C:
cmpi.w #$400,d0
blt.s loc_22B3C
move.b #-$7F,(a2)
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
locret_22B9C:
rts
; ---------------------------------------------------------------------------
-Map_AIZMHZRideVine:include "Levels/AIZ/Misc Object Data/Map - (&MHZ) Ride Vine.asm"
-
+Map_AIZMHZRideVine:
+ include "Levels/AIZ/Misc Object Data/Map - (&MHZ) Ride Vine.asm"
; =============== S U B R O U T I N E =======================================
@@ -47138,7 +47303,7 @@ loc_22E96:
move.w #$391,$A(a0)
cmpi.b #$12,(Current_zone).w
bne.s Spring_Common
- ori.w #-$8000,$A(a0)
+ ori.w #$8000,$A(a0)
Spring_Common:
move.b $2C(a0),d0
@@ -47267,8 +47432,8 @@ loc_23036:
move.b #$F,$47(a1)
loc_23048:
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_22F98
; ---------------------------------------------------------------------------
@@ -47451,8 +47616,8 @@ loc_2324C:
bclr #6,$2A(a0)
bclr #5,$2A(a1)
move.b #0,double_jump_flag(a1)
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_23190
@@ -47646,8 +47811,8 @@ loc_2346C:
clr.b $40(a1)
move.b #2,5(a1)
move.b #0,double_jump_flag(a1)
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_233CA
; ---------------------------------------------------------------------------
@@ -47752,8 +47917,8 @@ loc_235B8:
move.b #$F,$47(a1)
loc_235CA:
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_234E6
; ---------------------------------------------------------------------------
@@ -47840,8 +48005,8 @@ loc_236D0:
move.b #$F,$47(a1)
loc_236E2:
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_23624
; ---------------------------------------------------------------------------
@@ -47902,10 +48067,8 @@ byte_23706: dc.b $F4
dc.b 4
dc.b 4
Ani_Spring: include "General/Sprites/Level Misc/Anim - Spring.asm"
-
Map_Spring: include "General/Sprites/Level Misc/Map - Spring.asm"
-
-Map_2PSpring: include "General/Sprites/Level Misc/Map - 2P Spring.asm"
+Map_2PSpring: include "General/Sprites/Level Misc/Map - 2P Spring.asm"
; ---------------------------------------------------------------------------
Obj_RetractingSpring:
@@ -48008,8 +48171,8 @@ sub_23AB8:
bne.s locret_23B16
tst.b 4(a0)
bpl.s locret_23B16
- moveq #sfx_SpikeMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeMove),d0
+ jsr (Play_SFX).l
bra.s locret_23B16
; ---------------------------------------------------------------------------
@@ -48071,7 +48234,7 @@ loc_23B66:
move.l #loc_23F2A,(a1)
loc_23B8E:
- andi.b #-$10,$2C(a0)
+ andi.b #$F0,$2C(a0)
move.b (a2)+,d1
or.b d1,$2C(a0)
move.w $10(a0),$10(a1)
@@ -48218,8 +48381,8 @@ sub_23CDC:
bne.s locret_23D40
tst.b 4(a0)
bpl.s locret_23D40
- moveq #sfx_SpikeMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeMove),d0
+ jsr (Play_SFX).l
bra.s locret_23D40
; ---------------------------------------------------------------------------
@@ -48273,13 +48436,13 @@ loc_23D62:
bchg #1,$2A(a0)
bchg #1,4(a0)
andi.b #$F,$2C(a0)
- ori.b #-$10,$2C(a0)
+ ori.b #$F0,$2C(a0)
move.l #loc_23C12,(a0)
movea.w $3E(a0),a1
neg.w $32(a1)
loc_23DBC:
- cmpi.b #-$10,d0
+ cmpi.b #$F0,d0
bne.s loc_23DEE
subi.w #$16,$14(a0)
bchg #1,$2A(a0)
@@ -48404,7 +48567,8 @@ loc_23F2A:
locret_23F48:
rts
; ---------------------------------------------------------------------------
-Map_2PRetractingSpring: include "General/Sprites/Level Misc/Map - 2P Retracting Spring.asm"
+Map_2PRetractingSpring:
+ include "General/Sprites/Level Misc/Map - 2P Retracting Spring.asm"
byte_23F74: dc.b $10
dc.b $10
dc.b $20
@@ -48761,8 +48925,8 @@ sub_242F6:
bne.s locret_24354
tst.b 4(a0)
bpl.s locret_24354
- moveq #sfx_SpikeMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeMove),d0
+ jsr (Play_SFX).l
bra.s locret_24354
; ---------------------------------------------------------------------------
@@ -48877,8 +49041,8 @@ sub_243F6:
bne.s locret_24454
tst.b 4(a0)
bpl.s locret_24454
- moveq #sfx_SpikeMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeMove),d0
+ jsr (Play_SFX).l
bra.s locret_24454
; ---------------------------------------------------------------------------
@@ -48907,10 +49071,8 @@ locret_24454:
; ---------------------------------------------------------------------------
Map_Spikes: include "General/Sprites/Level Misc/Map - Spikes.asm"
-
Map_2PSpikes: include "General/2P Zone/Map - Spikes.asm"
-
; =============== S U B R O U T I N E =======================================
@@ -49665,10 +49827,9 @@ loc_24BD6:
rts
; ---------------------------------------------------------------------------
Map_ScaledArt: include "General/Sprites/Level Misc/Map - Scaled Art.asm"
-
; ---------------------------------------------------------------------------
-Obj_0E:
+Obj_TwistedRamp:
lea (Player_1).w,a1
bsr.s sub_24D9A
lea (Player_2).w,a1
@@ -50295,17 +50456,17 @@ loc_25322:
move.w d1,$10(a0)
rts
; ---------------------------------------------------------------------------
-Map_LBZMovingPlatform:include "Levels/LBZ/Misc Object Data/Map - Moving Platform.asm"
-
+Map_LBZMovingPlatform:
+ include "Levels/LBZ/Misc Object Data/Map - Moving Platform.asm"
; ---------------------------------------------------------------------------
-Obj_1D_1:
+Obj_LBZUnusedBarPlatform:
jsr (Create_New_Sprite3).l
bne.w loc_253BE
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.b $2A(a0),$2A(a1)
- move.l #Map_LBZPlatformUndersideUnused,$C(a1)
+ move.l #Map_LBZUnusedBarPlatform,$C(a1)
move.w #$42EA,$A(a1)
move.b #4,4(a1)
move.w #$180,8(a1)
@@ -50429,8 +50590,8 @@ locret_254E8:
; End of function sub_253FA
; ---------------------------------------------------------------------------
-Map_LBZPlatformUndersideUnused: include "Levels/LBZ/Misc Object Data/Map - Floating Platform Underside (Unused).asm"
-
+Map_LBZUnusedBarPlatform:
+ include "Levels/LBZ/Misc Object Data/Map - Unused Bar Platform.asm"
byte_254FA: dc.b $20
dc.b $20
dc.b 0
@@ -50548,12 +50709,12 @@ loc_25642:
loc_2564E:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_MGZFloatingPlatform:include "Levels/MGZ/Misc Object Data/Map - Floating Platform.asm"
-
-Map_HCZFloatingPlatform:include "Levels/HCZ/Misc Object Data/Map - Floating Platform.asm"
-
-Map_AIZFloatingPlatform:include "Levels/AIZ/Misc Object Data/Map - Floating Platform.asm"
-
+Map_MGZFloatingPlatform:
+ include "Levels/MGZ/Misc Object Data/Map - Floating Platform.asm"
+Map_HCZFloatingPlatform:
+ include "Levels/HCZ/Misc Object Data/Map - Floating Platform.asm"
+Map_AIZFloatingPlatform:
+ include "Levels/AIZ/Misc Object Data/Map - Floating Platform.asm"
; ---------------------------------------------------------------------------
Obj_HCZSnakeBlocks:
@@ -50870,9 +51031,8 @@ locret_259C2:
; End of function sub_25974
; ---------------------------------------------------------------------------
-Map_LRZSolidMovingPlatforms:include "Levels/LRZ/Misc Object Data/Map - Solid Moving Platforms.asm"
-
-
+Map_LRZSolidMovingPlatforms:
+ include "Levels/LRZ/Misc Object Data/Map - Solid Moving Platforms.asm"
; ---------------------------------------------------------------------------
Obj_DEZFloatingPlatform:
@@ -50919,8 +51079,8 @@ word_25AB8: dc.w locret_258CE-word_25AB8
dc.w loc_25938-word_25AB8
dc.w loc_2594C-word_25AB8
dc.w loc_25960-word_25AB8
-Map_DEZFloatingPlatform:include "Levels/DEZ/Misc Object Data/Map - Floating Platform.asm"
-
+Map_DEZFloatingPlatform:
+ include "Levels/DEZ/Misc Object Data/Map - Floating Platform.asm"
byte_25AF0: dc.b $10
dc.b $18
dc.b $20
@@ -50929,7 +51089,7 @@ byte_25AF0: dc.b $10
dc.b $68
; ---------------------------------------------------------------------------
-Obj_12_1:
+Obj_LBZUnusedElevator:
move.l #Map_LBZUnusedElevator,$C(a0)
move.w #$43C3,$A(a0)
move.b #4,4(a0)
@@ -51113,7 +51273,7 @@ Obj_LBZExplodingTrigger:
move.b #$10,7(a0)
move.b #$10,6(a0)
move.w #$280,8(a0)
- move.b #-$3A,$28(a0)
+ move.b #$C6,$28(a0)
move.l #loc_25CF0,(a0)
loc_25CF0:
@@ -51136,7 +51296,7 @@ loc_25D18:
bsr.s sub_25D2C
loc_25D26:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; =============== S U B R O U T I N E =======================================
@@ -51290,8 +51450,8 @@ loc_25EBA:
bclr #5,$2A(a1)
clr.b $40(a1)
clr.b $3D(a1)
- moveq #sfx_SmallBumpers,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jsr (Play_SFX).l
rts
; End of function sub_25EA6
@@ -51559,7 +51719,7 @@ sub_261F2:
move.l a1,-(sp)
jsr (Create_New_Sprite3).l
bne.w loc_2621E
- move.l #Obj_2629C,(a1)
+ move.l #loc_2629C,(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.b 4(a0),4(a1)
@@ -51611,13 +51771,13 @@ loc_26276:
bclr #5,$2A(a1)
loc_26294:
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_261F2
; ---------------------------------------------------------------------------
-Obj_2629C:
+loc_2629C:
move.l #Map_LBZPlayerLauncher,$C(a0)
move.w #$43C3,$A(a0)
ori.b #4,4(a0)
@@ -51745,12 +51905,12 @@ loc_263DC:
bne.s loc_2643C
jsr (Create_New_Sprite3).l
bne.w loc_2643C
- move.l #Obj_26460,(a1)
+ move.l #Obj_AutoSpin460,(a1)
bsr.s sub_263AA
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.b $2A(a0),$2A(a1)
- move.b #-$63,$28(a1)
+ move.b #$9D,$28(a1)
bset #4,$2B(a1)
addi.w #$40,$10(a1)
btst #0,$2A(a0)
@@ -51760,8 +51920,8 @@ loc_263DC:
loc_2642E:
tst.b 4(a0)
bpl.s loc_2643C
- moveq #sfx_FireAttack,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FireAttack),d0
+ jsr (Play_SFX).l
loc_2643C:
moveq #0,d1
@@ -51776,7 +51936,7 @@ loc_2643C:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Obj_26460:
+Obj_AutoSpin460:
lea (Ani_LBZFlameThrower).l,a1
jsr (Animate_Sprite).l
tst.b 5(a0)
@@ -51784,23 +51944,24 @@ Obj_26460:
move.w #$7FFF,$10(a0)
loc_26478:
- jmp (loc_1B662).l
-; ---------------------------------------------------------------------------
-Ani_LBZFlameThrower: include "Levels/LBZ/Misc Object Data/Anim - Flame Thrower.asm"
-
-LBZRideGrapple_Range: dc.w $A08, $C78 ;0
- dc.w $1208, $14F8 ;1
- dc.w $1A08, $1BB8 ;2
- dc.w $1C48, $2078 ;3
- dc.w $2688, $2878 ;4
- dc.w $2988, $2DF8 ;5
- dc.w $2F88, $3178 ;6
- dc.w $E68, $1098 ;7
- dc.w $CE8, $1498 ;8
- dc.w $E68, $1398 ;9
- dc.w $20E8, $2418 ;A
- dc.w $2B08, $2E98 ;B
- dc.w $39E8, $3C98 ;C
+ jmp (Sprite_CheckDeleteTouch3).l
+; ---------------------------------------------------------------------------
+Ani_LBZFlameThrower:
+ include "Levels/LBZ/Misc Object Data/Anim - Flame Thrower.asm"
+LBZRideGrapple_Range:
+ dc.w $A08, $C78 ; 0
+ dc.w $1208, $14F8 ; 1
+ dc.w $1A08, $1BB8 ; 2
+ dc.w $1C48, $2078 ; 3
+ dc.w $2688, $2878 ; 4
+ dc.w $2988, $2DF8 ; 5
+ dc.w $2F88, $3178 ; 6
+ dc.w $E68, $1098 ; 7
+ dc.w $CE8, $1498 ; 8
+ dc.w $E68, $1398 ; 9
+ dc.w $20E8, $2418 ; A
+ dc.w $2B08, $2E98 ; B
+ dc.w $39E8, $3C98 ; C
; ---------------------------------------------------------------------------
Obj_LBZRideGrapple:
@@ -51854,7 +52015,7 @@ loc_2656C:
loc_26588:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_265A2
@@ -52032,7 +52193,7 @@ loc_2673E:
move.b $2A(a1),$2A(a0)
move.b $2A(a1),d0
andi.b #1,d0
- andi.b #-2,4(a1)
+ andi.b #$FE,4(a1)
or.b d0,4(a1)
move.w $10(a3),$10(a1)
move.w $14(a3),$14(a1)
@@ -52225,8 +52386,8 @@ loc_2690C:
; End of function sub_2682E
; ---------------------------------------------------------------------------
-Map_LBZRideGrapple:include "Levels/LBZ/Misc Object Data/Map - Ride Grapple.asm"
-
+Map_LBZRideGrapple:
+ include "Levels/LBZ/Misc Object Data/Map - Ride Grapple.asm"
; ---------------------------------------------------------------------------
Obj_LBZCupElevator:
@@ -52350,17 +52511,17 @@ LBZCupElevator_Action:
; End of function LBZCupElevator_Action
; ---------------------------------------------------------------------------
-off_26B1E: dc.w LBZCupElev_WaitEnter-off_26B1E ;0
- dc.w LBZCupElev_MoveUp-off_26B1E ;2
- dc.w LBZCupElev_WaitExit1-off_26B1E ;4
- dc.w LBZCupElev_WaitEnter-off_26B1E ;6
- dc.w LBZCupElev_MoveDown-off_26B1E ;8
- dc.w LBZCupElev_WaitExit2-off_26B1E ;A
- dc.w LBZCupElev_Spin1-off_26B1E ;C
- dc.w LBZCupElev_Fling1-off_26B1E ;E
- dc.w LBZCupElev_Fling2-off_26B1E ;10
- dc.w LBZCupElev_Spin2-off_26B1E ;12
- dc.w LBZCupElev_Fling3-off_26B1E ;14
+off_26B1E: dc.w LBZCupElev_WaitEnter-off_26B1E ; 0
+ dc.w LBZCupElev_MoveUp-off_26B1E ; 2
+ dc.w LBZCupElev_WaitExit1-off_26B1E ; 4
+ dc.w LBZCupElev_WaitEnter-off_26B1E ; 6
+ dc.w LBZCupElev_MoveDown-off_26B1E ; 8
+ dc.w LBZCupElev_WaitExit2-off_26B1E ; A
+ dc.w LBZCupElev_Spin1-off_26B1E ; C
+ dc.w LBZCupElev_Fling1-off_26B1E ; E
+ dc.w LBZCupElev_Fling2-off_26B1E ; 10
+ dc.w LBZCupElev_Spin2-off_26B1E ; 12
+ dc.w LBZCupElev_Fling3-off_26B1E ; 14
; ---------------------------------------------------------------------------
LBZCupElev_WaitEnter:
@@ -52407,8 +52568,8 @@ loc_26B78:
tst.b $26(a0)
bpl.s locret_26BB6
move.w #$80,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_26BB6:
rts
@@ -52418,8 +52579,8 @@ loc_26BB8:
tst.b $26(a0)
bmi.s locret_26BCC
move.w #$200,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_26BCC:
rts
@@ -52467,8 +52628,8 @@ loc_26C08:
tst.b $26(a0)
bpl.s locret_26C46
move.w #$80,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_26C46:
rts
@@ -52478,8 +52639,8 @@ loc_26C48:
tst.b $26(a0)
bmi.s locret_26C5C
move.w #$200,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_26C5C:
rts
@@ -52533,8 +52694,8 @@ loc_26CCA:
tst.b $26(a0)
bpl.s locret_26CEE
move.w #$80,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_26CEE:
rts
@@ -52544,8 +52705,8 @@ loc_26CF0:
tst.b $26(a0)
bmi.s locret_26D04
move.w #$200,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_26D04:
rts
@@ -52576,8 +52737,8 @@ loc_26D38:
tst.b $26(a0)
bpl.s locret_26D5C
move.w #$80,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_26D5C:
rts
@@ -52587,8 +52748,8 @@ loc_26D5E:
tst.b $26(a0)
bmi.s locret_26D72
move.w #$200,8(a0)
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
locret_26D72:
rts
@@ -52638,8 +52799,8 @@ loc_26DD8:
loc_26DE0:
move.l #Obj_LBZElevatorCupFlicker,(a0)
- moveq #sfx_Death,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Death),d0
+ jsr (Play_SFX).l
lea $3C(a0),a2
lea (Player_1).w,a1
move.w #-$300,d0
@@ -52860,7 +53021,7 @@ Obj_LBZCupElevatorAttach:
move.w #$100,8(a0)
loc_27060:
- andi.b #-2,4(a0)
+ andi.b #$FE,4(a0)
subi.b #$40,d0
bpl.s loc_27072
ori.b #1,4(a0) ; Flip object if angle-$40 is negative
@@ -52908,8 +53069,8 @@ loc_27100:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Obj_1A_1:
- move.l #Map_LBZUnusedUnknown,$C(a0)
+Obj_LBZUnusedTiltingBridge:
+ move.l #Map_LBZUnusedTiltingBridge,$C(a0)
move.w #$43C3,$A(a0)
ori.b #4,4(a0)
move.b #$40,7(a0)
@@ -52920,7 +53081,7 @@ Obj_1A_1:
jsr (Create_New_Sprite3).l
bne.w loc_27190
move.l #loc_271E0,(a1)
- move.l #Map_LBZUnusedUnknown,$C(a1)
+ move.l #Map_LBZUnusedTiltingBridge,$C(a1)
move.w #$43C3,$A(a1)
ori.b #4,4(a1)
move.b #$40,7(a1)
@@ -53433,8 +53594,8 @@ loc_2769C:
dbf d1,loc_27692
loc_276D0:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_275F2
; ---------------------------------------------------------------------------
@@ -53490,7 +53651,6 @@ Animate_Tiles:
rts
; ---------------------------------------------------------------------------
Offs_AniFunc: dc.w AnimateTiles_AIZ1-Offs_AniFunc
-
Offs_AniPLC: dc.w AniPLC_AIZ1-Offs_AniFunc
dc.w AnimateTiles_AIZ2-Offs_AniFunc
dc.w AniPLC_AIZ2-Offs_AniFunc
@@ -55225,901 +55385,807 @@ AnimateTiles_DoAniPLC_Part2:
; otherwise the subroutine would spend so much time waiting for the art to be
; decompressed that the VBLANK window would close before all the animating was done.
-; zoneanimdecl -1, ArtUnc_Flowers1, ArtTile_ArtUnc_Flowers1, 6, 2
+; zoneanimdecl -1, ArtUnc_Flowers1, ArtTile_ArtUnc_Flowers1, 6, 2
; -1 Global frame duration. If -1, then each frame will use its own duration, instead
; ArtUnc_Flowers1 Source address
; ArtTile_ArtUnc_Flowers1 Destination VRAM address
; 6 Number of frames
; 2 Number of tiles to load into VRAM for each frame
-; dc.b 0,$7F ; Start of the script proper
+; dc.b 0,$7F ; Start of the script proper
; 0 Tile ID of first tile in ArtUnc_Flowers1 to transfer
; $7F Frame duration. Only here if global duration is -1
-AniPLC_AIZ1: zoneanimstart
-
+AniPLC_AIZ1: zoneanimstart
zoneanimdecl -1, ArtUnc_AniAIZ1_0, $2E6, 9, $C
- dc.b $3C,$4F
- dc.b $30, 5
- dc.b $18, 5
- dc.b $C, 5
- dc.b 0,$4F
- dc.b $C, 3
- dc.b $18, 3
- dc.b $24, 1
- dc.b $30, 1
- even
-
+ dc.b $3C,$4F
+ dc.b $30, 5
+ dc.b $18, 5
+ dc.b $C, 5
+ dc.b 0,$4F
+ dc.b $C, 3
+ dc.b $18, 3
+ dc.b $24, 1
+ dc.b $30, 1
+ even
zoneanimdecl -1, ArtUnc_AniAIZ1_0, $2F2, 8, $C
- dc.b $18, 5
- dc.b $24, 5
- dc.b $30, 5
- dc.b $3C,$27
- dc.b 0, 5
- dc.b $C, 5
- dc.b $18, 5
- dc.b $24, 5
- even
-
+ dc.b $18, 5
+ dc.b $24, 5
+ dc.b $30, 5
+ dc.b $3C,$27
+ dc.b 0, 5
+ dc.b $C, 5
+ dc.b $18, 5
+ dc.b $24, 5
+ even
zoneanimdecl -1, ArtUnc_AniAIZ1_1, $2FE, 8, 6
- dc.b 0, 7
- dc.b 6, 3
- dc.b $C, 3
- dc.b $12, 3
- dc.b $18, 7
- dc.b $12, 3
- dc.b $C, 3
- dc.b 6, 3
- even
-
+ dc.b 0, 7
+ dc.b 6, 3
+ dc.b $C, 3
+ dc.b $12, 3
+ dc.b $18, 7
+ dc.b $12, 3
+ dc.b $C, 3
+ dc.b 6, 3
+ even
zoneanimend
-AniPLC_AIZ2: zoneanimstart
-
+AniPLC_AIZ2: zoneanimstart
zoneanimdecl 3, ArtUnc_AniAIZ2_0, $B3, 4,$17
- dc.b 0
- dc.b $17
- dc.b $2E
- dc.b $45
- even
-
+ dc.b 0
+ dc.b $17
+ dc.b $2E
+ dc.b $45
+ even
zoneanimdecl -1, ArtUnc_AniAIZ2_1, $CA, 9, $C
- dc.b $3C,$4F
- dc.b $30, 5
- dc.b $18, 5
- dc.b $C, 5
- dc.b 0,$4F
- dc.b $C, 3
- dc.b $18, 3
- dc.b $24, 1
- dc.b $30, 1
- even
-
+ dc.b $3C,$4F
+ dc.b $30, 5
+ dc.b $18, 5
+ dc.b $C, 5
+ dc.b 0,$4F
+ dc.b $C, 3
+ dc.b $18, 3
+ dc.b $24, 1
+ dc.b $30, 1
+ even
zoneanimdecl -1, ArtUnc_AniAIZ2_1, $D6, 8, $C
- dc.b $18, 5
- dc.b $24, 5
- dc.b $30, 5
- dc.b $3C,$27
- dc.b 0, 5
- dc.b $C, 5
- dc.b $18, 5
- dc.b $24, 5
- even
-
+ dc.b $18, 5
+ dc.b $24, 5
+ dc.b $30, 5
+ dc.b $3C,$27
+ dc.b 0, 5
+ dc.b $C, 5
+ dc.b $18, 5
+ dc.b $24, 5
+ even
zoneanimdecl 3, ArtUnc_AniAIZ2_2, $E2, 4, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b $C
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b $C
+ even
zoneanimdecl 3, ArtUnc_AniAIZ2_3, $E6, 4,$18
- dc.b 0
- dc.b $18
- dc.b $30
- dc.b $48
- even
-
+ dc.b 0
+ dc.b $18
+ dc.b $30
+ dc.b $48
+ even
zoneanimend
-AniPLC_HCZ1: zoneanimstart
-
+AniPLC_HCZ1: zoneanimstart
zoneanimdecl -1, ArtUnc_AniHCZ1_0, $30C, 3,$24
- dc.b 0, 2
- dc.b $24, 1
- dc.b $48, 2
- even
-
+ dc.b 0, 2
+ dc.b $24, 1
+ dc.b $48, 2
+ even
zoneanimdecl -1, ArtUnc_AniHCZ__1, $115,$10, 6
- dc.b 0, 4
- dc.b 6, 3
- dc.b $C, 2
- dc.b $12, 1
- dc.b $18, 0
- dc.b $1E, 1
- dc.b $24, 2
- dc.b $2A, 3
- dc.b $30, 4
- dc.b $2A, 3
- dc.b $24, 2
- dc.b $1E, 1
- dc.b $18, 0
- dc.b $12, 1
- dc.b $C, 2
- dc.b 6, 3
- even
-
+ dc.b 0, 4
+ dc.b 6, 3
+ dc.b $C, 2
+ dc.b $12, 1
+ dc.b $18, 0
+ dc.b $1E, 1
+ dc.b $24, 2
+ dc.b $2A, 3
+ dc.b $30, 4
+ dc.b $2A, 3
+ dc.b $24, 2
+ dc.b $1E, 1
+ dc.b $18, 0
+ dc.b $12, 1
+ dc.b $C, 2
+ dc.b 6, 3
+ even
zoneanimend
-AniPLC_HCZ2: zoneanimstart
-
+AniPLC_HCZ2: zoneanimstart
zoneanimdecl 3, ArtUnc_AniHCZ2_0, $25E, 4,$15
- dc.b 0
- dc.b $15
- dc.b $2A
- dc.b $3F
- even
-
+ dc.b 0
+ dc.b $15
+ dc.b $2A
+ dc.b $3F
+ even
zoneanimdecl -1, ArtUnc_AniHCZ__1, $115,$10, 6
- dc.b 0, 4
- dc.b 6, 3
- dc.b $C, 2
- dc.b $12, 1
- dc.b $18, 0
- dc.b $1E, 1
- dc.b $24, 2
- dc.b $2A, 3
- dc.b $30, 4
- dc.b $2A, 3
- dc.b $24, 2
- dc.b $1E, 1
- dc.b $18, 0
- dc.b $12, 1
- dc.b $C, 2
- dc.b 6, 3
- even
-
+ dc.b 0, 4
+ dc.b 6, 3
+ dc.b $C, 2
+ dc.b $12, 1
+ dc.b $18, 0
+ dc.b $1E, 1
+ dc.b $24, 2
+ dc.b $2A, 3
+ dc.b $30, 4
+ dc.b $2A, 3
+ dc.b $24, 2
+ dc.b $1E, 1
+ dc.b $18, 0
+ dc.b $12, 1
+ dc.b $C, 2
+ dc.b 6, 3
+ even
zoneanimend
-AniPLC_MGZ: zoneanimstart
-
+AniPLC_MGZ: zoneanimstart
zoneanimdecl 9, ArtUnc_AniMGZ__0, $222, 6,$30
- dc.b 0
- dc.b $30
- dc.b $60
- dc.b $90
- dc.b $C0
- dc.b $F0
- even
-
+ dc.b 0
+ dc.b $30
+ dc.b $60
+ dc.b $90
+ dc.b $C0
+ dc.b $F0
+ even
zoneanimdecl -1, ArtUnc_AniMGZ__1, $252, 4, 1
- dc.b 0, 7
- dc.b 1, $E
- dc.b 2, 7
- dc.b 1, $E
- even
-
+ dc.b 0, 7
+ dc.b 1, $E
+ dc.b 2, 7
+ dc.b 1, $E
+ even
zoneanimend
-AniPLC_CNZ: zoneanimstart
-
+AniPLC_CNZ: zoneanimstart
zoneanimdecl 3, ArtUnc_AniCNZ__0, $2B2,$10, 9
- dc.b 0
- dc.b $12
- dc.b $24
- dc.b $36
- dc.b $48
- dc.b $5A
- dc.b $6C
- dc.b $7E
- dc.b 9
- dc.b $1B
- dc.b $2D
- dc.b $3F
- dc.b $51
- dc.b $63
- dc.b $75
- dc.b $87
- even
-
+ dc.b 0
+ dc.b $12
+ dc.b $24
+ dc.b $36
+ dc.b $48
+ dc.b $5A
+ dc.b $6C
+ dc.b $7E
+ dc.b 9
+ dc.b $1B
+ dc.b $2D
+ dc.b $3F
+ dc.b $51
+ dc.b $63
+ dc.b $75
+ dc.b $87
+ even
zoneanimdecl 3, ArtUnc_AniCNZ__0, $2BB,$10, 9
- dc.b 9
- dc.b $1B
- dc.b $2D
- dc.b $3F
- dc.b $51
- dc.b $63
- dc.b $75
- dc.b $87
- dc.b 0
- dc.b $12
- dc.b $24
- dc.b $36
- dc.b $48
- dc.b $5A
- dc.b $6C
- dc.b $7E
- even
-
+ dc.b 9
+ dc.b $1B
+ dc.b $2D
+ dc.b $3F
+ dc.b $51
+ dc.b $63
+ dc.b $75
+ dc.b $87
+ dc.b 0
+ dc.b $12
+ dc.b $24
+ dc.b $36
+ dc.b $48
+ dc.b $5A
+ dc.b $6C
+ dc.b $7E
+ even
zoneanimdecl 3, ArtUnc_AniCNZ__1, $2C4,$10,$10
- dc.b 0
- dc.b $10
- dc.b $20
- dc.b $30
- dc.b $40
- dc.b $50
- dc.b $60
- dc.b $70
- dc.b $80
- dc.b $90
- dc.b $A0
- dc.b $B0
- dc.b $C0
- dc.b $D0
- dc.b $E0
- dc.b $F0
- even
-
+ dc.b 0
+ dc.b $10
+ dc.b $20
+ dc.b $30
+ dc.b $40
+ dc.b $50
+ dc.b $60
+ dc.b $70
+ dc.b $80
+ dc.b $90
+ dc.b $A0
+ dc.b $B0
+ dc.b $C0
+ dc.b $D0
+ dc.b $E0
+ dc.b $F0
+ even
zoneanimdecl 3, ArtUnc_AniCNZ__2, $2D4, 8,$20
- dc.b 0
- dc.b $20
- dc.b $40
- dc.b $60
- dc.b $80
- dc.b $A0
- dc.b $C0
- dc.b $E0
- even
-
+ dc.b 0
+ dc.b $20
+ dc.b $40
+ dc.b $60
+ dc.b $80
+ dc.b $A0
+ dc.b $C0
+ dc.b $E0
+ even
zoneanimdecl 3, ArtUnc_AniCNZ__3, $2F4, 8,$10
- dc.b 0
- dc.b $10
- dc.b $20
- dc.b $30
- dc.b $40
- dc.b $50
- dc.b $60
- dc.b $70
- even
-
+ dc.b 0
+ dc.b $10
+ dc.b $20
+ dc.b $30
+ dc.b $40
+ dc.b $50
+ dc.b $60
+ dc.b $70
+ even
zoneanimdecl 3, ArtUnc_AniCNZ__4, $304, 6, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b 0
- dc.b 4
- dc.b 8
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ even
zoneanimdecl 1, ArtUnc_AniCNZ__5, $328, 4,$14
- dc.b 0
- dc.b $14
- dc.b $28
- dc.b $3C
- even
-
+ dc.b 0
+ dc.b $14
+ dc.b $28
+ dc.b $3C
+ even
zoneanimend
-AniPLC_FBZ1: zoneanimstart
-
+AniPLC_FBZ1: zoneanimstart
zoneanimdecl $3F, ArtUnc_AniFBZ__0, $210, 2,$20
- dc.b 0
- dc.b 0
- even
-
+ dc.b 0
+ dc.b 0
+ even
zoneanimdecl 7, ArtUnc_AniFBZ__1, $230, 6, 8
- dc.b 0
- dc.b 8
- dc.b $10
- dc.b 0
- dc.b 8
- dc.b $10
- even
-
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ even
zoneanimdecl 1, ArtUnc_AniFBZ__2, $238, 8,$10
- dc.b 0
- dc.b $10
- dc.b $20
- dc.b $30
- dc.b $40
- dc.b $50
- dc.b $60
- dc.b $70
- even
-
+ dc.b 0
+ dc.b $10
+ dc.b $20
+ dc.b $30
+ dc.b $40
+ dc.b $50
+ dc.b $60
+ dc.b $70
+ even
zoneanimdecl 7, ArtUnc_AniFBZ__3, $200, 2, 8
- dc.b 0
- dc.b 8
- even
-
+ dc.b 0
+ dc.b 8
+ even
zoneanimdecl 7, ArtUnc_AniFBZ__4, $208, 6, 8
- dc.b 0
- dc.b 8
- dc.b $10
- dc.b 0
- dc.b 8
- dc.b $10
- even
-
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ even
zoneanimend
-AniPLC_FBZ2: zoneanimstart
-
+AniPLC_FBZ2: zoneanimstart
zoneanimdecl 1, ArtUnc_AniFBZ__0, $210, 8,$20
- dc.b 0
- dc.b $20
- dc.b $40
- dc.b $60
- dc.b $80
- dc.b $A0
- dc.b $C0
- dc.b $E0
- even
-
+ dc.b 0
+ dc.b $20
+ dc.b $40
+ dc.b $60
+ dc.b $80
+ dc.b $A0
+ dc.b $C0
+ dc.b $E0
+ even
zoneanimdecl 7, ArtUnc_AniFBZ__1, $230, 6, 8
- dc.b 0
- dc.b 8
- dc.b $10
- dc.b 0
- dc.b 8
- dc.b $10
- even
-
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ even
zoneanimdecl 1, ArtUnc_AniFBZ__2, $238, 8,$10
- dc.b 0
- dc.b $10
- dc.b $20
- dc.b $30
- dc.b $40
- dc.b $50
- dc.b $60
- dc.b $70
- even
-
+ dc.b 0
+ dc.b $10
+ dc.b $20
+ dc.b $30
+ dc.b $40
+ dc.b $50
+ dc.b $60
+ dc.b $70
+ even
zoneanimdecl 7, ArtUnc_AniFBZ__3, $200, 2, 8
- dc.b 0
- dc.b 8
- even
-
+ dc.b 0
+ dc.b 8
+ even
zoneanimdecl 7, ArtUnc_AniFBZ__4, $208, 6, 8
- dc.b 0
- dc.b 8
- dc.b $10
- dc.b 0
- dc.b 8
- dc.b $10
- even
-
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ even
zoneanimend
-AniPLC_ICZ: zoneanimstart
-
+AniPLC_ICZ: zoneanimstart
zoneanimdecl 3, ArtUnc_AniICZ__0, $11E, 8, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b $C
- dc.b $10
- dc.b $14
- dc.b $18
- dc.b $1C
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b $C
+ dc.b $10
+ dc.b $14
+ dc.b $18
+ dc.b $1C
+ even
zoneanimend
-AniPLC_LBZ1: zoneanimstart
-
+AniPLC_LBZ1: zoneanimstart
zoneanimdecl 2, ArtUnc_AniLBZ1_0, $365, 4, 8
- dc.b 0
- dc.b 8
- dc.b $10
- dc.b $18
- even
-
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ dc.b $18
+ even
zoneanimend
-AniPLC_LBZSpec: zoneanimstart
-
+AniPLC_LBZSpec: zoneanimstart
zoneanimdecl 7, ArtUnc_AniLBZ2_0, $170, 4, 5
- dc.b 0
- dc.b 5
- dc.b $A
- dc.b $F
- even
-
+ dc.b 0
+ dc.b 5
+ dc.b $A
+ dc.b $F
+ even
zoneanimdecl 7, ArtUnc_AniLBZ2_1, $175, 6, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b $C
- dc.b $10
- dc.b $14
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b $C
+ dc.b $10
+ dc.b $14
+ even
zoneanimend
-AniPLC_LBZ2: zoneanimstart
-
+AniPLC_LBZ2: zoneanimstart
zoneanimdecl 7, ArtUnc_AniLBZ2_0, $170, 4, 5
- dc.b 0
- dc.b 5
- dc.b $A
- dc.b $F
- even
-
+ dc.b 0
+ dc.b 5
+ dc.b $A
+ dc.b $F
+ even
zoneanimdecl 7, ArtUnc_AniLBZ2_1, $175, 6, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b $C
- dc.b $10
- dc.b $14
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b $C
+ dc.b $10
+ dc.b $14
+ even
zoneanimend
-AniPLC_MHZ: zoneanimstart
-
+AniPLC_MHZ: zoneanimstart
zoneanimdecl -1, ArtUnc_AniMHZ__0, $25,$14, 4
- dc.b 0,$18
- dc.b 4, 0
- dc.b 0, 0
- dc.b 4, 0
- dc.b 8, 0
- dc.b 4, 0
- dc.b 8, 0
- dc.b $C, 0
- dc.b 8, 0
- dc.b $C, 0
- dc.b 8, 0
- dc.b $C, 0
- dc.b $10, 0
- dc.b $C, 0
- dc.b $10, 0
- dc.b $14, 0
- dc.b $10, 0
- dc.b $14,$31
- dc.b 0, 0
- dc.b $14, 0
- even
-
+ dc.b 0,$18
+ dc.b 4, 0
+ dc.b 0, 0
+ dc.b 4, 0
+ dc.b 8, 0
+ dc.b 4, 0
+ dc.b 8, 0
+ dc.b $C, 0
+ dc.b 8, 0
+ dc.b $C, 0
+ dc.b 8, 0
+ dc.b $C, 0
+ dc.b $10, 0
+ dc.b $C, 0
+ dc.b $10, 0
+ dc.b $14, 0
+ dc.b $10, 0
+ dc.b $14,$31
+ dc.b 0, 0
+ dc.b $14, 0
+ even
zoneanimdecl -1, ArtUnc_AniMHZ__1, $19, $C, 4
- dc.b 0,$1D
- dc.b 4, 0
- dc.b 0, 0
- dc.b 4, 0
- dc.b 0, 0
- dc.b 4, 0
- dc.b 0, 0
- dc.b 4, 1
- dc.b 8,$1D
- dc.b $C, 4
- dc.b $10, 4
- dc.b $14, 4
- even
-
+ dc.b 0,$1D
+ dc.b 4, 0
+ dc.b 0, 0
+ dc.b 4, 0
+ dc.b 0, 0
+ dc.b 4, 0
+ dc.b 0, 0
+ dc.b 4, 1
+ dc.b 8,$1D
+ dc.b $C, 4
+ dc.b $10, 4
+ dc.b $14, 4
+ even
zoneanimdecl -1, ArtUnc_AniMHZ__2, $5D, 8, 8
- dc.b 0, 4
- dc.b 8, 4
- dc.b $10, 6
- dc.b 8, 4
- dc.b 0, 4
- dc.b $18, 4
- dc.b $20, 6
- dc.b $18, 4
- even
-
+ dc.b 0, 4
+ dc.b 8, 4
+ dc.b $10, 6
+ dc.b 8, 4
+ dc.b 0, 4
+ dc.b $18, 4
+ dc.b $20, 6
+ dc.b $18, 4
+ even
zoneanimdecl -1, ArtUnc_AniMHZ__3, $1D, 8, 8
- dc.b $10, 6
- dc.b 8, 4
- dc.b 0, 4
- dc.b $18, 4
- dc.b $20, 6
- dc.b $18, 4
- dc.b 0, 4
- dc.b 8, 4
- even
-
+ dc.b $10, 6
+ dc.b 8, 4
+ dc.b 0, 4
+ dc.b $18, 4
+ dc.b $20, 6
+ dc.b $18, 4
+ dc.b 0, 4
+ dc.b 8, 4
+ even
zoneanimend
-AniPLC_LRZ1: zoneanimstart
-
+AniPLC_LRZ1: zoneanimstart
zoneanimdecl 5, ArtUnc_AniLRZ1_0, $354, 4, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b $C
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b $C
+ even
zoneanimdecl 5, ArtUnc_AniLRZ1_1, $350, 4, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b $C
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b $C
+ even
zoneanimend
-AniPLC_LRZ2: zoneanimstart
-
+AniPLC_LRZ2: zoneanimstart
zoneanimdecl -1, ArtUnc_AniLRZ2_0, $358, 3, 6
- dc.b 0, 2
- dc.b 6, 2
- dc.b $C, 1
- even
-
+ dc.b 0, 2
+ dc.b 6, 2
+ dc.b $C, 1
+ even
zoneanimdecl 1, ArtUnc_AniLRZ2_1, $350, 8, 8
- dc.b 0
- dc.b $38
- dc.b $30
- dc.b $28
- dc.b $20
- dc.b $18
- dc.b $10
- dc.b 8
- even
-
+ dc.b 0
+ dc.b $38
+ dc.b $30
+ dc.b $28
+ dc.b $20
+ dc.b $18
+ dc.b $10
+ dc.b 8
+ even
zoneanimend
-AniPLC_SSZ: zoneanimstart
-
+AniPLC_SSZ: zoneanimstart
zoneanimdecl 7, ArtUnc_AniSSZ__0, $1F3, 4,$24
- dc.b 0
- dc.b $24
- dc.b $48
- dc.b $6C
- even
-
+ dc.b 0
+ dc.b $24
+ dc.b $48
+ dc.b $6C
+ even
zoneanimdecl 7, ArtUnc_AniSSZ__1, $217, 4, 8
- dc.b 0
- dc.b 8
- dc.b $10
- dc.b $18
- even
-
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ dc.b $18
+ even
zoneanimdecl 7, ArtUnc_AniSSZ__2, $21F, 3, 8
- dc.b 0
- dc.b 8
- dc.b $10
- dc.b $18 ; Unused; frame count is 3. There is no frame 4 in ArtUnc_AniSSZ__2, anyway
- even
-
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ dc.b $18 ; Unused; frame count is 3. There is no frame 4 in ArtUnc_AniSSZ__2, anyway
+ even
zoneanimdecl 2, ArtUnc_AniSSZ__3, $1D9, 4, 9
- dc.b 0
- dc.b 9
- dc.b $12
- dc.b $1B
- even
-
+ dc.b 0
+ dc.b 9
+ dc.b $12
+ dc.b $1B
+ even
zoneanimdecl 2, ArtUnc_AniSSZ__4, $1E2, 4, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b $C
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b $C
+ even
zoneanimdecl 2, ArtUnc_AniSSZ__5, $1E6, 4, $D
- dc.b 0
- dc.b $D
- dc.b $1A
- dc.b $27
- even
-
+ dc.b 0
+ dc.b $D
+ dc.b $1A
+ dc.b $27
+ even
zoneanimend
-AniPLC_DEZ: zoneanimstart
-
+AniPLC_DEZ: zoneanimstart
zoneanimdecl 0, ArtUnc_AniDEZ__0, $E4, 2, 2
- dc.b 0
- dc.b 2
- even
-
+ dc.b 0
+ dc.b 2
+ even
zoneanimdecl 1, ArtUnc_AniDEZ__1, $1F4, 6,$1E
- dc.b 0
- dc.b $1E
- dc.b $3C
- dc.b 0
- dc.b $1E
- dc.b $3C
- even
-
+ dc.b 0
+ dc.b $1E
+ dc.b $3C
+ dc.b 0
+ dc.b $1E
+ dc.b $3C
+ even
zoneanimdecl 3, ArtUnc_AniDEZ__2, $EC, 8, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b $C
- dc.b $10
- dc.b $14
- dc.b $18
- dc.b $1C
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b $C
+ dc.b $10
+ dc.b $14
+ dc.b $18
+ dc.b $1C
+ even
zoneanimdecl -1, ArtUnc_AniDEZ__3, $5F, 4, 6
- dc.b 0, 9
- dc.b 6, 4
- dc.b $C, 9
- dc.b 6, 4
- even
-
+ dc.b 0, 9
+ dc.b 6, 4
+ dc.b $C, 9
+ dc.b 6, 4
+ even
zoneanimdecl 4, ArtUnc_AniDEZ__4, $4B, 4, 2
- dc.b 0
- dc.b 2
- dc.b 4
- dc.b 2
- even
-
+ dc.b 0
+ dc.b 2
+ dc.b 4
+ dc.b 2
+ even
zoneanimdecl 4, ArtUnc_AniDEZ__5, $6B, 6, 3
- dc.b 0
- dc.b 3
- dc.b 6
- dc.b 0
- dc.b 3
- dc.b 6
- even
-
+ dc.b 0
+ dc.b 3
+ dc.b 6
+ dc.b 0
+ dc.b 3
+ dc.b 6
+ even
zoneanimdecl 1, ArtUnc_AniDEZ__6, $28, 2, 8
- dc.b 0
- dc.b 8
- even
-
+ dc.b 0
+ dc.b 8
+ even
zoneanimdecl 0, ArtUnc_AniDEZ__7, $26D,$84, 5
- dc.b 0
- dc.b $2D
- dc.b 0
- dc.b $2D
- dc.b 0
- dc.b $2D
- dc.b 0
- dc.b $2D
- dc.b 0
- dc.b $2D
- dc.b 0
- dc.b $2D
- dc.b 5
- dc.b $2D
- dc.b 5
- dc.b $2D
- dc.b 5
- dc.b $2D
- dc.b 5
- dc.b $2D
- dc.b 5
- dc.b $2D
- dc.b 5
- dc.b $2D
- dc.b $A
- dc.b $2D
- dc.b $A
- dc.b $2D
- dc.b $A
- dc.b $2D
- dc.b $A
- dc.b $2D
- dc.b $A
- dc.b $2D
- dc.b $A
- dc.b $2D
- dc.b $F
- dc.b $2D
- dc.b $F
- dc.b $2D
- dc.b $F
- dc.b $2D
- dc.b $F
- dc.b $2D
- dc.b $F
- dc.b $2D
- dc.b $F
- dc.b $2D
- dc.b $14
- dc.b $2D
- dc.b $14
- dc.b $2D
- dc.b $14
- dc.b $2D
- dc.b $14
- dc.b $2D
- dc.b $14
- dc.b $2D
- dc.b $14
- dc.b $2D
- dc.b $19
- dc.b $2D
- dc.b $19
- dc.b $2D
- dc.b $19
- dc.b $2D
- dc.b $19
- dc.b $2D
- dc.b $19
- dc.b $2D
- dc.b $19
- dc.b $2D
- dc.b $1E
- dc.b $2D
- dc.b $1E
- dc.b $2D
- dc.b $1E
- dc.b $2D
- dc.b $1E
- dc.b $2D
- dc.b $1E
- dc.b $2D
- dc.b $1E
- dc.b $2D
- dc.b $23
- dc.b $2D
- dc.b $23
- dc.b $2D
- dc.b $23
- dc.b $2D
- dc.b $23
- dc.b $2D
- dc.b $23
- dc.b $2D
- dc.b $23
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- dc.b $28
- dc.b $2D
- even
-
+ dc.b 0
+ dc.b $2D
+ dc.b 0
+ dc.b $2D
+ dc.b 0
+ dc.b $2D
+ dc.b 0
+ dc.b $2D
+ dc.b 0
+ dc.b $2D
+ dc.b 0
+ dc.b $2D
+ dc.b 5
+ dc.b $2D
+ dc.b 5
+ dc.b $2D
+ dc.b 5
+ dc.b $2D
+ dc.b 5
+ dc.b $2D
+ dc.b 5
+ dc.b $2D
+ dc.b 5
+ dc.b $2D
+ dc.b $A
+ dc.b $2D
+ dc.b $A
+ dc.b $2D
+ dc.b $A
+ dc.b $2D
+ dc.b $A
+ dc.b $2D
+ dc.b $A
+ dc.b $2D
+ dc.b $A
+ dc.b $2D
+ dc.b $F
+ dc.b $2D
+ dc.b $F
+ dc.b $2D
+ dc.b $F
+ dc.b $2D
+ dc.b $F
+ dc.b $2D
+ dc.b $F
+ dc.b $2D
+ dc.b $F
+ dc.b $2D
+ dc.b $14
+ dc.b $2D
+ dc.b $14
+ dc.b $2D
+ dc.b $14
+ dc.b $2D
+ dc.b $14
+ dc.b $2D
+ dc.b $14
+ dc.b $2D
+ dc.b $14
+ dc.b $2D
+ dc.b $19
+ dc.b $2D
+ dc.b $19
+ dc.b $2D
+ dc.b $19
+ dc.b $2D
+ dc.b $19
+ dc.b $2D
+ dc.b $19
+ dc.b $2D
+ dc.b $19
+ dc.b $2D
+ dc.b $1E
+ dc.b $2D
+ dc.b $1E
+ dc.b $2D
+ dc.b $1E
+ dc.b $2D
+ dc.b $1E
+ dc.b $2D
+ dc.b $1E
+ dc.b $2D
+ dc.b $1E
+ dc.b $2D
+ dc.b $23
+ dc.b $2D
+ dc.b $23
+ dc.b $2D
+ dc.b $23
+ dc.b $2D
+ dc.b $23
+ dc.b $2D
+ dc.b $23
+ dc.b $2D
+ dc.b $23
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ dc.b $28
+ dc.b $2D
+ even
zoneanimend
-AniPLC_ALZ: zoneanimstart
-
+AniPLC_ALZ: zoneanimstart
zoneanimdecl 9, ArtUnc_AniALZ, $238, 3,$10
- dc.b 0
- dc.b $10
- dc.b $20
- even
-
+ dc.b 0
+ dc.b $10
+ dc.b $20
+ even
zoneanimend
-AniPLC_BPZ: zoneanimstart
-
+AniPLC_BPZ: zoneanimstart
zoneanimdecl 7, ArtUnc_AniBPZ__0, $118, 6, 7
- dc.b 0
- dc.b 7
- dc.b $E
- dc.b $15
- dc.b $1C
- dc.b $23
- even
-
+ dc.b 0
+ dc.b 7
+ dc.b $E
+ dc.b $15
+ dc.b $1C
+ dc.b $23
+ even
zoneanimdecl 5, ArtUnc_AniBPZ__1, $11F, $A, 8
- dc.b 0
- dc.b 8
- dc.b $10
- dc.b $18
- dc.b $20
- dc.b 0
- dc.b 8
- dc.b $10
- dc.b $18
- dc.b $20
- even
-
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ dc.b $18
+ dc.b $20
+ dc.b 0
+ dc.b 8
+ dc.b $10
+ dc.b $18
+ dc.b $20
+ even
zoneanimdecl 2, ArtUnc_AniBPZ__2, $127, 2, 3
- dc.b 0
- dc.b 3
- even
-
+ dc.b 0
+ dc.b 3
+ even
zoneanimdecl 4, ArtUnc_AniBPZ__3, $12A, 2, 1
- dc.b 0
- dc.b 1
- even
-
+ dc.b 0
+ dc.b 1
+ even
zoneanimend
-AniPLC_DPZ: zoneanimstart
-
+AniPLC_DPZ: zoneanimstart
zoneanimdecl $B, ArtUnc_AniDPZ, $147, 5, $C
- dc.b 0
- dc.b $C
- dc.b $18
- dc.b $24
- dc.b $30
- even
-
+ dc.b 0
+ dc.b $C
+ dc.b $18
+ dc.b $24
+ dc.b $30
+ even
zoneanimend
-AniPLC_Pachinko: zoneanimstart
-
+AniPLC_Pachinko: zoneanimstart
zoneanimdecl 0, ArtUnc_AniPachinko, $125, 8,$26
- dc.b $26
- dc.b 0
- dc.b $4C
- dc.b 0
- dc.b $72
- dc.b 0
- dc.b $98
- dc.b 0
- even
-
+ dc.b $26
+ dc.b 0
+ dc.b $4C
+ dc.b 0
+ dc.b $72
+ dc.b 0
+ dc.b $98
+ dc.b 0
+ even
zoneanimend
-AniPLC_NULL: zoneanimstart
-
+AniPLC_NULL: zoneanimstart
zoneanimend
-AniPLC_HPZ: zoneanimstart
-
+AniPLC_HPZ: zoneanimstart
zoneanimdecl 2, ArtUnc_AniHPZ__0, $2D0, 8, 3
- dc.b 0
- dc.b 3
- dc.b 6
- dc.b 9
- dc.b $C
- dc.b $F
- dc.b $12
- dc.b $15
- even
-
+ dc.b 0
+ dc.b 3
+ dc.b 6
+ dc.b 9
+ dc.b $C
+ dc.b $F
+ dc.b $12
+ dc.b $15
+ even
zoneanimdecl 3, ArtUnc_AniHPZ__1, $2D3, 6, 2
- dc.b 0
- dc.b 2
- dc.b 4
- dc.b 6
- dc.b 8
- dc.b $A
- even
-
+ dc.b 0
+ dc.b 2
+ dc.b 4
+ dc.b 6
+ dc.b 8
+ dc.b $A
+ even
zoneanimdecl 2, ArtUnc_AniHPZ__2, $2D5, 8, 4
- dc.b 0
- dc.b 4
- dc.b 8
- dc.b $C
- dc.b $10
- dc.b $14
- dc.b $18
- dc.b $1C
- even
-
+ dc.b 0
+ dc.b 4
+ dc.b 8
+ dc.b $C
+ dc.b $10
+ dc.b $14
+ dc.b $18
+ dc.b $1C
+ even
zoneanimdecl 3, ArtUnc_AniHPZ__3, $2D9, 6, 3
- dc.b 0
- dc.b 3
- dc.b 6
- dc.b 9
- dc.b $C
- dc.b $F
- even
-
+ dc.b 0
+ dc.b 3
+ dc.b 6
+ dc.b 9
+ dc.b $C
+ dc.b $F
+ even
zoneanimend
-
; ---------------------------------------------------------------------------
AnimateTiles_NULL3:
@@ -56449,7 +56515,7 @@ Obj_LBZLoweringGrapple:
move.b #4,4(a0)
move.b #$10,7(a0)
move.w #$80,8(a0)
- move.b #-$80,6(a0)
+ move.b #$80,6(a0)
move.w $14(a0),$3C(a0)
move.l #Map_LBZLoweringGrapple,$C(a0)
move.w #$42EA,$A(a0)
@@ -56607,8 +56673,8 @@ loc_291A2:
move.b #$14,$20(a1)
move.b #1,$2E(a1)
move.b #1,(a2)
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
locret_29214:
rts
@@ -56655,13 +56721,13 @@ loc_2927C:
move.b #1,$32(a0)
tst.b 4(a0)
bpl.s loc_292DC
- moveq #sfx_Crash,d0
+ moveq #signextendB(sfx_Crash),d0
cmpi.b #2,(Current_zone).w
beq.s loc_292C0
- moveq #sfx_MetalLand,d0
+ moveq #signextendB(sfx_MechaLand),d0
loc_292C0:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
bra.s loc_292DC
; ---------------------------------------------------------------------------
@@ -56744,10 +56810,10 @@ loc_29386:
bsr.s sub_293D0
move.w #$80,8(a1)
move.b #2,$22(a1)
- move.b #-$68,$28(a1)
+ move.b #$98,$28(a1)
move.l #loc_29416,(a1)
- moveq #sfx_EnergyZap,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_EnergyZap),d0
+ jsr (Play_SFX).l
loc_293CA:
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -56792,12 +56858,12 @@ loc_29440:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Obj_22_1:
+Obj_LBZAlarm:
move.b #4,4(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
move.w #$280,8(a0)
- move.b #-$29,$28(a0)
+ move.b #$D7,$28(a0)
move.l #loc_2946A,(a0)
loc_2946A:
@@ -56854,8 +56920,8 @@ loc_294E8:
move.w $30(a0),d0
andi.b #$1F,d0
bne.s locret_294FA
- moveq #sfx_Alarm,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Alarm),d0
+ jsr (Play_SFX).l
locret_294FA:
rts
@@ -56871,10 +56937,10 @@ word_29508: dc.w $C0, $FFA0
dc.w $FF40, $FFA0
; ---------------------------------------------------------------------------
-Obj_23_1:
+Obj_LBZUnusedForceFall:
move.b #4,4(a0)
move.b #$10,7(a0)
- move.b #-$80,6(a0)
+ move.b #$80,6(a0)
move.b #0,8(a0)
moveq #0,d0
move.b $2C(a0),d0
@@ -56970,7 +57036,8 @@ sub_2960E:
; End of function sub_2960E
; ---------------------------------------------------------------------------
-AutoTunnel_Index: dc.w Obj_AutoTunnelInit-AutoTunnel_Index
+AutoTunnel_Index:
+ dc.w Obj_AutoTunnelInit-AutoTunnel_Index
dc.w Obj_AutoTunnelRun-AutoTunnel_Index
dc.w Obj_AutoTunnelLastMove-AutoTunnel_Index
; ---------------------------------------------------------------------------
@@ -57004,8 +57071,8 @@ Obj_AutoTunnelInit:
move.w $14(a0),$14(a1) ;Lock player's position to object's position
clr.b 1(a4)
bsr.w AutoTunnel_GetPath ; Get the first path of the tunnel
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
btst #5,$2C(a0)
beq.s locret_296D2
tst.b (Current_act).w ; If bit 5 of object subtype is set and we're in an act 2
@@ -57055,8 +57122,8 @@ loc_2970A:
move.w #0,$1A(a1)
loc_2972C:
- moveq #sfx_TubeLauncher,d0
- jsr (Play_Sound_2).l ; Play that nifty little cannon shooting sound
+ moveq #signextendB(sfx_TubeLauncher),d0
+ jsr (Play_SFX).l ; Play that nifty little cannon shooting sound
btst #5,$2C(a0)
beq.s loc_29768
movea.l a1,a2 ; If bit 5 set (for LBZ2, again), make the waterfall
@@ -57483,13 +57550,13 @@ loc_29B6E:
add.w d0,d0
move.w d0,$2E(a1)
addi.w #$10,$10(a1)
- move.b #-$3A,$28(a1)
+ move.b #$C6,$28(a1)
loc_29BE8:
subq.w #1,$30(a0)
bpl.s loc_29BFA
move.w #$78,$30(a0)
- eori.b #-1,$32(a0)
+ eori.b #$FF,$32(a0)
loc_29BFA:
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -57522,7 +57589,7 @@ loc_29C38:
bsr.s sub_29C4C
loc_29C46:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; =============== S U B R O U T I N E =======================================
@@ -57546,8 +57613,8 @@ locret_29C88:
; End of function sub_29C4C
; ---------------------------------------------------------------------------
-Map_TunnelExhaust: include "Levels/LBZ/Misc Object Data/Map - (&LRZ) Tunnel Exhaust.asm"
-
+Map_TunnelExhaust:
+ include "Levels/LBZ/Misc Object Data/Map - (&LRZ) Tunnel Exhaust.asm"
; ---------------------------------------------------------------------------
Obj_LBZTubeElevator:
@@ -57679,7 +57746,8 @@ LBZTubeElevator_Action:
; End of function LBZTubeElevator_Action
; ---------------------------------------------------------------------------
-LBZTubeElevator_Index: dc.w LBZTubeElevator_WaitPlayer-LBZTubeElevator_Index
+LBZTubeElevator_Index:
+ dc.w LBZTubeElevator_WaitPlayer-LBZTubeElevator_Index
dc.w LBZTubeElevator_StartSpin-LBZTubeElevator_Index
dc.w LBZTubeElevator_MovePath-LBZTubeElevator_Index
dc.w LBZTubeElevator_SlowSpin-LBZTubeElevator_Index
@@ -57696,8 +57764,8 @@ LBZTubeElevator_WaitPlayer:
loc_29E52:
addq.b #2,(a4)
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
bra.s LBZTubeElevator_StartSpin
; ---------------------------------------------------------------------------
@@ -58035,7 +58103,7 @@ loc_2A1EC:
moveq #0,d0
move.b $26(a0),d0
move.b LBZTubeElevator_PlayerFrame(pc,d0.w),$22(a1)
- andi.b #-4,4(a1)
+ andi.b #$FC,4(a1)
move.b LBZTubeElevator_PlayerFlip(pc,d0.w),d0
or.b d0,4(a1)
moveq #0,d0
@@ -58045,7 +58113,8 @@ loc_2A1EC:
movea.l (sp)+,a2
rts
; ---------------------------------------------------------------------------
-LBZTubeElevator_PlayerFrame: dc.b $55
+LBZTubeElevator_PlayerFrame:
+ dc.b $55
dc.b $59
dc.b $5A
dc.b $5B
@@ -58057,7 +58126,8 @@ LBZTubeElevator_PlayerFrame: dc.b $55
dc.b $58
dc.b $57
dc.b $56
-LBZTubeElevator_PlayerFlip: dc.b 0
+LBZTubeElevator_PlayerFlip:
+ dc.b 0
dc.b 1
dc.b 1
dc.b 0
@@ -58141,8 +58211,8 @@ loc_2A2D6:
move.b #0,$36(a0)
tst.b 4(a0)
bpl.s loc_2A300
- moveq #sfx_WaterfallSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaterfallSplash),d0
+ jsr (Play_SFX).l
loc_2A300:
lea (Ani_AIZDisappearingFloor).l,a1
@@ -58190,8 +58260,8 @@ loc_2A394:
jsr (SolidObjectFull).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Ani_AIZDisappearingFloor: include "Levels/AIZ/Misc Object Data/Anim - Disappearing Floor.asm"
-
+Ani_AIZDisappearingFloor:
+ include "Levels/AIZ/Misc Object Data/Anim - Disappearing Floor.asm"
; ---------------------------------------------------------------------------
Obj_CorkFloor:
@@ -58354,7 +58424,7 @@ loc_2A5C0:
loc_2A5D8:
move.w $38(a0),(Chain_bonus_counter).w
- andi.b #-$19,$2A(a0)
+ andi.b #$E7,$2A(a0)
movea.l $3C(a0),a4
addq.b #1,$22(a0)
move.l #loc_2A5F8,(a0)
@@ -58564,7 +58634,7 @@ loc_2A810:
loc_2A816:
move.w $38(a0),(Chain_bonus_counter).w
- andi.b #-$19,$2A(a0)
+ andi.b #$E7,$2A(a0)
lea (word_2A84C).l,a4
moveq #0,d0
move.b $22(a0),d0
@@ -58637,14 +58707,14 @@ word_2A8E0: dc.w $FC00,$FC00
dc.w $FEC0,$FCC0
dc.w $140,$FCC0
dc.w $340,$FCC0
-Map_FBZCorkFloor:include "Levels/FBZ/Misc Object Data/Map - Cork Floor.asm"
-
+Map_FBZCorkFloor:
+ include "Levels/FBZ/Misc Object Data/Map - Cork Floor.asm"
; ---------------------------------------------------------------------------
Obj_AIZFlippingBridge:
move.l #Map_AIZFlippingBridge,$C(a0)
move.w #$42E9,$A(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.b #4,6(a0)
move.b #4,4(a0)
move.w #$200,8(a0)
@@ -58676,7 +58746,7 @@ loc_2A9B6:
move.l #Map_AIZFlippingBridge,$C(a1)
move.w #$42E9,$A(a1)
move.b #4,4(a1)
- move.b #-$80,7(a1)
+ move.b #$80,7(a1)
move.b #$40,6(a1)
move.w #$200,8(a1)
move.w $10(a0),$10(a1)
@@ -58756,8 +58826,8 @@ loc_2AAA8:
addq.b #3,d0
andi.b #7,d0
bne.s locret_2AAC8
- moveq #sfx_GlideLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GlideLand),d0
+ jsr (Play_SFX).l
locret_2AAC8:
rts
@@ -58777,8 +58847,8 @@ loc_2AAD0:
addq.b #3,d0
andi.b #7,d0
bne.s locret_2AAF0
- moveq #sfx_GlideLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GlideLand),d0
+ jsr (Play_SFX).l
locret_2AAF0:
rts
@@ -59014,7 +59084,7 @@ loc_2ADA8:
move.b d0,$35(a0)
move.b #8,$37(a0)
move.l #Map_AIZDrawBridgeFire,$C(a0)
- move.w #-$3D17,$A(a0)
+ move.w #$C2E9,$A(a0)
move.b #$60,7(a0)
move.b #8,6(a0)
move.b #4,4(a0)
@@ -59023,7 +59093,7 @@ loc_2ADA8:
bne.w loc_2AE66
move.l #loc_2AEB4,(a1)
move.l #Map_AIZDrawBridgeFire,$C(a1)
- move.w #-$3D17,$A(a1)
+ move.w #$C2E9,$A(a1)
ori.b #4,4(a1)
move.b #$60,7(a1)
move.b #8,6(a1)
@@ -59245,26 +59315,25 @@ loc_2B01E:
loc_2B05C:
move.w #0,$18(a3)
move.w #0,$1A(a3)
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; End of function sub_2AFFE
; ---------------------------------------------------------------------------
-Map_AIZCollapsingLogBridge:include "Levels/AIZ/Misc Object Data/Map - Collapsing Log Bridge.asm"
-
-
-Map_AIZDrawBridgeFire: include "Levels/AIZ/Misc Object Data/Map - Draw Bridge Fire.asm"
-
+Map_AIZCollapsingLogBridge:
+ include "Levels/AIZ/Misc Object Data/Map - Collapsing Log Bridge.asm"
+Map_AIZDrawBridgeFire:
+ include "Levels/AIZ/Misc Object Data/Map - Draw Bridge Fire.asm"
; ---------------------------------------------------------------------------
Obj_AIZDrawBridge:
move.l #Map_AIZDrawBridge,$C(a0)
- move.w #-$3D17,$A(a0)
+ move.w #$C2E9,$A(a0)
move.b #4,4(a0)
move.w #$280,8(a0)
move.b #8,7(a0)
move.b #$60,6(a0)
- ori.b #-$80,$2A(a0)
+ ori.b #$80,$2A(a0)
move.w $10(a0),$30(a0)
move.w $14(a0),$32(a0)
subi.w #$68,$14(a0)
@@ -59344,8 +59413,8 @@ loc_2B26C:
tst.b $36(a0)
bne.s loc_2B2B0
move.b #1,$36(a0)
- moveq #sfx_FlipBridge,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlipBridge),d0
+ jsr (Play_SFX).l
move.w #$68,d1
btst #0,$2A(a0)
beq.s loc_2B294
@@ -59368,8 +59437,8 @@ loc_2B2B0:
loc_2B2C4:
move.b #0,$36(a0)
- moveq #sfx_FlipBridge,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlipBridge),d0
+ jsr (Play_SFX).l
move.l #loc_2B2E8,(a0)
bra.s loc_2B2E2
; ---------------------------------------------------------------------------
@@ -59612,8 +59681,8 @@ loc_2B4D0:
loc_2B534:
move.w #0,$18(a3)
move.w #0,$1A(a3)
- moveq #sfx_BridgeCollapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_BridgeCollapse),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
byte_2B548: dc.b 8
dc.b $10
@@ -59631,8 +59700,8 @@ byte_2B548: dc.b 8
dc.b $A
dc.b 4
dc.b 2
-Map_AIZDrawBridge:include "Levels/AIZ/Misc Object Data/Map - Drawbridge.asm"
-
+Map_AIZDrawBridge:
+ include "Levels/AIZ/Misc Object Data/Map - Drawbridge.asm"
word_2B566: dc.w 1
dc.w 3
dc.w 7
@@ -59759,7 +59828,7 @@ loc_2B6D8:
move.w $10(a0),d4
jsr (SolidObjectTop).l
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2B70C
@@ -59815,7 +59884,7 @@ Obj_AIZSpikedLog:
bne.w loc_2B7AE
move.l #loc_2B8EE,(a1)
move.b #4,4(a1)
- move.b #-$64,$28(a1)
+ move.b #$9C,$28(a1)
move.w a0,$3C(a1)
move.w a1,$3C(a0)
@@ -59890,7 +59959,7 @@ loc_2B864:
move.b $23(a0),d0
addq.b #1,$23(a0)
move.b byte_2B88E(pc,d0.w),$22(a0)
- move.b byte_2B88F(pc,d0.w),d0
+ move.b byte_2B88E+1(pc,d0.w),d0
bpl.s loc_2B88C
move.b #0,$23(a0)
@@ -59898,7 +59967,7 @@ loc_2B88C:
bra.s loc_2B896
; ---------------------------------------------------------------------------
byte_2B88E: dc.b 7
-byte_2B88F: dc.b 8
+ dc.b 8
dc.b 9
dc.b $A
dc.b 9
@@ -59918,7 +59987,7 @@ loc_2B896:
move.w $10(a0),d4
jsr (SolidObjectFull).l
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2B8CE
@@ -59995,7 +60064,7 @@ Obj_StillSprite:
loc_2B962:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-word_2B968: dc.w $42E9 ; 0 AIZ2 Bridge Post
+word_2B968: dc.w $42E9 ; 0 AIZ2 Bridge Post
dc.w $300
dc.b $C
dc.b $C
@@ -60199,8 +60268,8 @@ word_2B968: dc.w $42E9 ; 0 AIZ2 Bridge Post
dc.w $80
dc.b $10
dc.b $24
-Map_StillSprites:include "Levels/Misc/Map - Still Sprites.asm"
-
+Map_StillSprites:
+ include "Levels/Misc/Map - Still Sprites.asm"
; ---------------------------------------------------------------------------
Obj_AnimatedStillSprite:
@@ -60257,10 +60326,10 @@ word_2BF6C: dc.w $62E9
dc.w $300
dc.b $54
dc.b 4
-Ani_AnimatedStillSprites: include "Levels/Misc/Anim - Animated Still Sprites.asm"
-
-Map_AnimatedStillSprites:include "Levels/Misc/Map - Animated Still Sprites.asm"
-
+Ani_AnimatedStillSprites:
+ include "Levels/Misc/Anim - Animated Still Sprites.asm"
+Map_AnimatedStillSprites:
+ include "Levels/Misc/Map - Animated Still Sprites.asm"
; ---------------------------------------------------------------------------
Obj_AIZForegroundPlant:
@@ -60418,13 +60487,13 @@ loc_2C37A:
jmp (Sprite_OnScreen_Test2).l
; ---------------------------------------------------------------------------
-Obj_31_1:
+Obj_LBZRollingDrum:
moveq #0,d0
move.b $2C(a0),d0
move.w d0,$32(a0)
neg.w d0
move.w d0,$30(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.l #loc_2C3CA,(a0)
loc_2C3CA:
@@ -60473,7 +60542,7 @@ loc_2C42C:
bne.s locret_2C46C
cmpi.w #8,d0
bhs.s loc_2C444
- move.b #-$7F,(a2)
+ move.b #$81,(a2)
loc_2C444:
cmpi.w #$9E,d0
@@ -60482,7 +60551,7 @@ loc_2C444:
loc_2C44E:
jsr (RideObject_SetRide).l
- move.b #-$80,$2D(a1)
+ move.b #$80,$2D(a1)
move.w #1,$20(a1)
tst.w $1C(a1)
bne.s locret_2C46C
@@ -60533,14 +60602,14 @@ loc_2C4BA:
add.w $14(a0),d1
move.w d1,$14(a1)
move.b (a2),d0
- addi.b #-$80,d0
+ addi.b #$80,d0
move.b d0,$27(a1)
addq.b #2,(a2)
- move.b #-$80,$2D(a1)
+ move.b #$80,$2D(a1)
tst.w $1C(a1)
bne.s loc_2C506
move.w #1,$1C(a1)
- move.b #-$7F,$2D(a1)
+ move.b #$81,$2D(a1)
loc_2C506:
bset #7,$A(a1)
@@ -60630,8 +60699,8 @@ loc_2C5FC:
loc_2C612:
tst.b (a3)
bne.s loc_2C61E
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_2C61E:
bset d3,(a3)
@@ -60671,8 +60740,8 @@ loc_2C666:
loc_2C67C:
tst.b (a3)
bne.s loc_2C688
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_2C688:
bset d3,(a3)
@@ -60715,8 +60784,8 @@ loc_2C6C0:
loc_2C704:
tst.b (a3)
bne.s loc_2C710
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_2C710:
bset d3,(a3)
@@ -60726,9 +60795,7 @@ loc_2C718:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
Map_Button: include "General/Sprites/Buttons/Map - Button.asm"
-
Map_LRZButton: include "Levels/LRZ/Misc Object Data/Map - Button.asm"
-
; ---------------------------------------------------------------------------
Obj_Animal:
@@ -61216,7 +61283,7 @@ sub_2CCD2:
Obj_EnemyScore:
move.l #Map_EnemyScore,$C(a0)
- move.w #-$7A1C,$A(a0)
+ move.w #make_art_tile(ArtTile_StarPost,0,1),$A(a0)
move.b #4,4(a0)
move.w #$80,8(a0)
move.b #8,7(a0)
@@ -61236,7 +61303,8 @@ Obj_Difficulty_2CD26:
jsr (CreateChild6_Simple).l
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-ChildObjDat_2CD36:dc.w 3
+ChildObjDat_2CD36:
+ dc.w 3
dc.l loc_2CD3C
; ---------------------------------------------------------------------------
@@ -61276,7 +61344,8 @@ Obj_Difficulty_2CD9A:
jsr (CreateChild6_Simple).l
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-ChildObjDat_2CDAA:dc.w 3
+ChildObjDat_2CDAA:
+ dc.w 3
dc.l loc_2CDB0
; ---------------------------------------------------------------------------
@@ -61321,7 +61390,8 @@ Obj_Difficulty_2CE2C:
jsr (CreateChild6_Simple).l
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-ChildObjDat_2CE3C:dc.w 3
+ChildObjDat_2CE3C:
+ dc.w 3
dc.l loc_2CE42
; ---------------------------------------------------------------------------
@@ -61374,17 +61444,11 @@ locret_2CEB8:
; ---------------------------------------------------------------------------
Map_Animals1: include "General/Sprites/Animals/Map - Animals 1.asm"
-
Map_Animals2: include "General/Sprites/Animals/Map - Animals 2.asm"
-
Map_Animals3: include "General/Sprites/Animals/Map - Animals 3.asm"
-
Map_Animals4: include "General/Sprites/Animals/Map - Animals 4.asm"
-
Map_Animals5: include "General/Sprites/Animals/Map - Animals 5.asm"
-
Map_EnemyScore: include "General/Sprites/Enemy Misc/Map - Enemy Points.asm"
-
; ---------------------------------------------------------------------------
Obj_StarPost:
@@ -61403,7 +61467,7 @@ off_2CFB6: dc.w loc_2CFC0-off_2CFB6
loc_2CFC0:
addq.b #2,5(a0)
move.l #Map_StarPost,$C(a0)
- move.w #$5EC,$A(a0)
+ move.w #ArtTile_StarPost+8,$A(a0)
move.b #4,4(a0)
move.b #8,7(a0)
move.b #$28,6(a0)
@@ -61449,8 +61513,8 @@ sub_2D028:
addi.w #$40,d0
cmpi.w #$68,d0
bhs.w locret_2D0E8
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s loc_2D0D0
move.l #Obj_StarPost,(a1)
@@ -61650,11 +61714,12 @@ locret_2D336:
; End of function Load_Starpost_Settings
; ---------------------------------------------------------------------------
-Ani_Starpost: include "General/Sprites/Starpost/Anim - Starpost.asm"
-
-Map_StarPost: include "General/Sprites/Starpost/Map - Starpost.asm"
-
-Map_StarpostStars: include "General/Sprites/Starpost/Map - Starpost Stars.asm"
+Ani_Starpost:
+ include "General/Sprites/Starpost/Anim - Starpost.asm"
+Map_StarPost:
+ include "General/Sprites/Starpost/Map - Starpost.asm"
+Map_StarpostStars:
+ include "General/Sprites/Starpost/Map - Starpost Stars.asm"
; =============== S U B R O U T I N E =======================================
@@ -61668,7 +61733,7 @@ loc_2D3CC:
bne.s loc_2D436
move.l (a0),(a1)
move.l #Map_StarpostStars,$C(a1)
- move.w #$5EC,$A(a1)
+ move.w #ArtTile_StarPost+8,$A(a1)
move.b #4,4(a1)
move.b #8,5(a1)
move.w $10(a0),d0
@@ -61811,7 +61876,7 @@ loc_2D56A:
; ---------------------------------------------------------------------------
loc_2D574:
- move.b #-$28,$28(a0)
+ move.b #$D8,$28(a0)
loc_2D57A:
cmpi.w #$180,d1
@@ -61839,14 +61904,14 @@ loc_2D58C:
loc_2D5B6:
move.b d0,$22(a0)
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_2D5C0:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-loc_2D5C6:
+Obj_GameOver:
tst.l (Nem_decomp_queue).w
beq.s loc_2D5CE
rts
@@ -61895,7 +61960,7 @@ loc_2D638:
bne.w loc_2D68A
move.b (Ctrl_1_pressed).w,d0
or.b (Ctrl_2_pressed).w,d0
- andi.b #-$10,d0
+ andi.b #$F0,d0
bne.s loc_2D666
tst.w $24(a0)
beq.s loc_2D666
@@ -61927,7 +61992,7 @@ Obj_TitleCard:
move.w TitleCard_Index(pc,d0.w),d1
jmp TitleCard_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-TitleCard_Index: dc.w Obj_TitleCardInit-TitleCard_Index
+TitleCard_Index:dc.w Obj_TitleCardInit-TitleCard_Index
dc.w Obj_TitleCardCreate-TitleCard_Index
dc.w Obj_TitleCardWait-TitleCard_Index
dc.w Obj_TitleCardWait2-TitleCard_Index
@@ -62066,7 +62131,7 @@ loc_2D810:
st (Update_HUD_ring_count).w ; Start updating timer and rings again
move.b #$1E,(Player_1+air_left).w
move.b #$1E,(Player_2+air_left).w ; Reset air
- jsr (Obj_PlayLevelMusic).l ; Play music
+ jsr (Restore_LevelMusic).l ; Play music
loc_2D84C:
clr.w $48(a0)
@@ -62095,7 +62160,7 @@ loc_2D86E:
bne.s loc_2D88A
jsr (Create_New_Sprite).l
bne.s loc_2D88A
- move.l #Obj_SOZ_Ghosts,(a1) ; If new level is Sandopolis 2, then load the ghosts
+ move.l #Obj_SOZGhosts,(a1) ; If new level is Sandopolis 2, then load the ghosts
loc_2D88A:
cmpi.b #$16,(Current_zone).w
@@ -62252,7 +62317,8 @@ loc_2D9FA:
loc_2DA10:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-TitleCard_LevelGfx: dc.l ArtKosM_AIZTitleCard
+TitleCard_LevelGfx:
+ dc.l ArtKosM_AIZTitleCard
dc.l ArtKosM_HCZTitleCard
dc.l ArtKosM_MGZTitleCard
dc.l ArtKosM_CNZTitleCard
@@ -62274,7 +62340,8 @@ TitleCard_LevelGfx: dc.l ArtKosM_AIZTitleCard
dc.l ArtKosM_BonusTitleCard
dc.l ArtKosM_BonusTitleCard
dc.l ArtKosM_BonusTitleCard
-ObjArray_TtlCard: dc.l Obj_TitleCardName
+ObjArray_TtlCard:
+ dc.l Obj_TitleCardName
dc.w $120
dc.w $260
dc.w $E0
@@ -62302,14 +62369,16 @@ ObjArray_TtlCard: dc.l Obj_TitleCardName
dc.b 1
dc.b 0
dc.w 1
-ObjArray_TtlCard2: dc.l Obj_TitleCardElement2
+ObjArray_TtlCard2:
+ dc.l Obj_TitleCardElement2
dc.w $15C
dc.w $21C
dc.w $BC
dc.b $12
dc.b $80
dc.w 1
-ObjArray_TtlCardBonus: dc.l Obj_TitleCardElement
+ObjArray_TtlCardBonus:
+ dc.l Obj_TitleCardElement
dc.w $C8
dc.w $188
dc.w $E8
@@ -62331,15 +62400,16 @@ Obj_LevelResults:
move.w LevelResults_Index(pc,d0.w),d1
jmp LevelResults_Index(pc,d1.w)
; ---------------------------------------------------------------------------
-LevelResults_Index: dc.w Obj_LevelResultsInit-LevelResults_Index
+LevelResults_Index:
+ dc.w Obj_LevelResultsInit-LevelResults_Index
dc.w Obj_LevelResultsCreate-LevelResults_Index
dc.w Obj_LevelResultsWait-LevelResults_Index
dc.w Obj_LevelResultsWait2-LevelResults_Index
; ---------------------------------------------------------------------------
Obj_LevelResultsInit:
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l ; Fade music
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l ; Fade music
lea (ArtKosM_ResultsGeneral).l,a1
move.w #$A400,d2
jsr (Queue_Kos_Module).l ; General art for
@@ -62371,7 +62441,7 @@ loc_2DB58:
move.w #$AF00,d2
tst.w $2C(a0)
beq.s loc_2DB66
- move.w #$B400,d2
+ move.w #tiles_to_bytes(ArtTile_Explosion),d2
loc_2DB66:
jsr (Queue_Kos_Module).l ; Load character name graphics
@@ -62382,7 +62452,7 @@ loc_2DB66:
moveq #0,d1
move.b (Timer_second).w,d1
add.w d1,d0
- cmpi.w #$257,d0
+ cmpi.w #599,d0
bne.s loc_2DB90
move.w #10000,(Time_bonus_countdown).w ; If clock is at 9:59 give an automatic 100000 point time bonus
bra.s loc_2DBA8
@@ -62455,22 +62525,22 @@ Obj_LevelResultsWait:
bne.s locret_2DC9E ; Play after eh, a second or so
move.b #$1E,(Player_1+air_left).w ; Reset air for Hydrocity
move.b #$1E,(Player_2+air_left).w
- moveq #mus_GotThroughAct,d0
- jmp (Play_Sound).l ; Play level complete theme
+ moveq #signextendB(mus_GotThroughAct),d0
+ jmp (Play_Music).l ; Play level complete theme
; ---------------------------------------------------------------------------
loc_2DC5C:
moveq #0,d0
tst.w (Time_bonus_countdown).w
beq.s loc_2DC6E
- addi.w #$A,d0
- subi.w #$A,(Time_bonus_countdown).w ; Get 100 points from the time bonus
+ addi.w #10,d0
+ subi.w #10,(Time_bonus_countdown).w ; Get 100 points from the time bonus
loc_2DC6E:
tst.w (Ring_bonus_countdown).w
beq.s loc_2DC7E
- addi.w #$A,d0
- subi.w #$A,(Ring_bonus_countdown).w ; Get 100 points from the ring bonus
+ addi.w #10,d0
+ subi.w #10,(Ring_bonus_countdown).w ; Get 100 points from the ring bonus
loc_2DC7E:
add.w d0,(Total_bonus_countup).w ; Add to total score for level
@@ -62480,8 +62550,8 @@ loc_2DC7E:
move.w (Level_frame_counter).w,d0
andi.w #3,d0
bne.s locret_2DC9E
- moveq #sfx_Switch,d0 ; Every four frames play the score countdown sound
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0 ; Every four frames play the score countdown sound
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_2DC9E:
@@ -62489,8 +62559,8 @@ locret_2DC9E:
; ---------------------------------------------------------------------------
loc_2DCA0:
- moveq #sfx_Register,d0 ; Play the cash register sound
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Register),d0 ; Play the cash register sound
+ jsr (Play_SFX).l
cmpi.w #$A00,(Current_zone_and_act).w
beq.s loc_2DCB6
tst.w $2C(a0)
@@ -62735,10 +62805,16 @@ loc_2DE70:
dc.b 0, 0, 4
dc.b 0, 0, 2
dc.b 0, 0, 1
-TimeBonus: dc.w $1388, $1388, $3E8, $1F4, $190, $12C, $64, $A
-
-
-ObjArray_LevResults: dc.l Obj_LevResultsCharName ; Object address
+TimeBonus: dc.w 5000
+ dc.w 5000
+ dc.w 1000
+ dc.w 500
+ dc.w 400
+ dc.w 300
+ dc.w 100
+ dc.w 10
+ObjArray_LevResults:
+ dc.l Obj_LevResultsCharName ; Object address
dc.w $E0 ; X destination
dc.w $FDE0 ; X position
dc.w $B8 ; Y position
@@ -62829,8 +62905,8 @@ locret_2DF62:
; ---------------------------------------------------------------------------
SpecialStage_Results:
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.b (Current_special_stage).w,d0
move.b d0,(Current_special_stage_2).w
move.b (HPZ_current_special_stage).w,d1
@@ -63023,7 +63099,7 @@ loc_2E226:
jsr (Init_SpriteTable).l
move.w #$98,(_unkEF68).w
st (HPZ_special_stage_completed).w
- move.l #loc_2E3B8,(Dynamic_object_RAM+(object_size*29)).w
+ move.l #Obj_SpecialStage_Results,(Dynamic_object_RAM+(object_size*29)).w
move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
move.w d0,(VDP_control_port).l
@@ -63104,9 +63180,7 @@ PLC_2E310: dc.w 0
dc.l ArtNem_RingHUDText
dc.w tiles_to_bytes(ArtTile_Ring)
Pal_Results: binclude "General/Special Stage/Palettes/Results.bin"
- even
-
-
+ even
word_2E398: dc.w $15A0
dc.w $1540
dc.w $1600
@@ -63125,7 +63199,7 @@ word_2E398: dc.w $15A0
dc.w $368
; ---------------------------------------------------------------------------
-loc_2E3B8:
+Obj_SpecialStage_Results:
moveq #0,d0
move.b 5(a0),d0
move.w off_2E3C6(pc,d0.w),d1
@@ -63154,7 +63228,7 @@ loc_2E3DA:
clr.w (Time_bonus_countdown).w
tst.w (Special_stage_rings_left).w
bne.s loc_2E404
- move.w #$1388,(Time_bonus_countdown).w
+ move.w #5000,(Time_bonus_countdown).w
loc_2E404:
move.w #$168,$2E(a0)
@@ -63189,8 +63263,8 @@ loc_2E410:
loc_2E474:
cmpi.w #$121,$2E(a0)
bne.s locret_2E4C2
- moveq #mus_GotThroughAct,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_GotThroughAct),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_2E484:
@@ -63213,8 +63287,8 @@ loc_2E4A6:
move.w (Level_frame_counter).w,d0
andi.w #3,d0
bne.s locret_2E4C2
- moveq #sfx_Switch,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_2E4C2:
@@ -63222,8 +63296,8 @@ locret_2E4C2:
; ---------------------------------------------------------------------------
loc_2E4C4:
- moveq #sfx_Register,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Register),d0
+ jsr (Play_SFX).l
move.w #$78,$2E(a0)
addq.b #2,5(a0)
@@ -63243,8 +63317,8 @@ loc_2E4EA:
move.w a1,(SStage_results_object_addr).w
move.l #loc_2EBE8,(a1)
move.w #$10E,$2E(a0)
- moveq #sfx_Continue,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Continue),d0
+ jsr (Play_SFX).l
loc_2E50E:
addq.b #2,5(a0)
@@ -63271,7 +63345,7 @@ loc_2E534:
loc_2E540:
tst.w (Special_stage_spheres_left).w
bne.s loc_2E5B8
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
blo.s loc_2E5B8
cmpi.w #3,(Player_mode).w
beq.s loc_2E570
@@ -63452,8 +63526,8 @@ loc_2E72E:
move.w #$1E,$2E(a0)
clr.w $30(a0)
addq.b #2,5(a0)
- moveq #sfx_Signpost,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Signpost),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_2E744:
@@ -63465,8 +63539,8 @@ loc_2E746:
beq.w locret_2E7D8
bmi.s loc_2E75C
st $30(a0)
- moveq #sfx_SuperEmerald,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SuperEmerald),d0
+ jsr (Play_SFX).l
loc_2E75C:
cmpi.b #7,(Super_emerald_count).w
@@ -63516,8 +63590,8 @@ loc_2E7A0:
loc_2E7C6:
move.w #$78,$2E(a0)
addq.b #2,5(a0)
- moveq #sfx_Signpost,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Signpost),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_2E7D8:
@@ -63776,8 +63850,8 @@ loc_2E9D8:
cmp.w -4(a0),d0
bne.s locret_2E9F4
clr.b (_unkFAC1).w
- moveq #sfx_Perfect,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Perfect),d0
+ jsr (Play_SFX).l
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -63928,7 +64002,7 @@ loc_2EB64:
bne.s loc_2EB88
loc_2EB7C:
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
blo.w loc_2EA4A
bra.s loc_2EB98
; ---------------------------------------------------------------------------
@@ -64067,7 +64141,7 @@ locret_2ECA6:
sub_2ECA8:
- lea (Emerald_count).w,a1
+ lea (Chaos_emerald_count).w,a1
tst.w (SK_alone_flag).w
bne.s locret_2ECBA
tst.b (SK_special_stage_flag).w
@@ -64196,12 +64270,9 @@ loc_2EDCA:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Map_GameOver: include "General/Sprites/Game Over/Map - Game Over.asm"
-
Map_TitleCard: include "General/Sprites/Title Card/Map - Title Card.asm"
-
Map_Results: include "General/Sprites/Results/Map - Results.asm"
-
; =============== S U B R O U T I N E =======================================
@@ -64273,7 +64344,7 @@ off_2F7BE: dc.w PLCKosM_AIZ-off_2F7BE
PLCKosM_AIZ: dc.w 2
dc.l ArtKosM_AIZ_MonkeyDude
dc.w $A900
- dc.l ArtKosM_AIZ_Tulipon
+ dc.l ArtKosM_AIZ_Bloominator
dc.w $A540
dc.l ArtKosM_AIZ_CaterkillerJr
dc.w $ABE0
@@ -64329,7 +64400,7 @@ PLCKosM_ICZ: dc.w 1
dc.l ArtKosM_StarPointer
dc.w $A900
PLCKosM_LBZ: dc.w 3
- dc.l ArtKosM_SnailBlaster
+ dc.l ArtKosM_SnaleBlaster
dc.w $A480
dc.l ArtKosM_Orbinaut
dc.w $ADC0
@@ -64378,7 +64449,8 @@ PLCKosM_DEZ: dc.w 1
PLCKosM_DDZ: dc.w 0
dc.l ArtKosM_EggRoboBadnik
dc.w $A000
-PLCKosM_Pachinko:dc.w 0
+PLCKosM_Pachinko:
+ dc.w 0
dc.l ArtKosM_Teleporter
dc.w $A5C0
PLCKosM_Slots: dc.w $FFFF
@@ -64402,7 +64474,7 @@ loc_2F952:
addq.b #2,5(a0)
move.l #Map_Bubbler,$C(a0)
move.w #$45C,$A(a0)
- move.b #-$7C,4(a0)
+ move.b #$84,4(a0)
move.b #$10,7(a0)
move.w #$80,8(a0)
move.b $2C(a0),d0
@@ -64564,7 +64636,7 @@ loc_2FB50:
loc_2FB5C:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_2FB7E
@@ -64637,8 +64709,8 @@ loc_2FBB2:
btst #6,$2B(a1)
bne.w locret_2FC7C
jsr (Player_ResetAirTimer).l
- moveq #sfx_Bubble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bubble),d0
+ jsr (Play_SFX).l
clr.w $18(a1)
clr.w $1A(a1)
clr.w $1C(a1)
@@ -64673,12 +64745,10 @@ locret_2FC7C:
rts
; ---------------------------------------------------------------------------
Ani_Bubbler: include "General/Sprites/Bubbles/Anim - Bubbler.asm"
-
Map_Bubbler: include "General/Sprites/Bubbles/Map - Bubbler.asm"
-
; ---------------------------------------------------------------------------
-Obj_37_1:
+Obj_HCZWaterRush:
move.l #Map_HCZWaterRush,$C(a0)
ori.b #4,4(a0)
move.w #$437A,$A(a0)
@@ -64786,7 +64856,7 @@ loc_2FF04:
loc_2FF14:
lea (ArtKosM_HCZGeyserHorz).l,a1
- move.w #-$6000,d2
+ move.w #$A000,d2
jsr (Queue_Kos_Module).l
move.l #loc_2FF2A,(a0)
@@ -64801,7 +64871,7 @@ loc_2FF32:
move.w #$300,8(a0)
move.l #Map_HCZWaterWall,$C(a0)
move.w #$4500,$A(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.b #$20,6(a0)
bset #6,4(a0)
move.w #1,$16(a0)
@@ -64817,8 +64887,8 @@ loc_2FF7C:
cmp.w $10(a0),d0
blo.w loc_30006
move.l #loc_3003C,(a0)
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
lea (byte_3000C).l,a3
move.w $10(a0),d2
addi.w #$60,d2
@@ -64831,7 +64901,7 @@ loc_2FFAE:
move.l #loc_3011A,(a1)
move.l #Map_HCZWaterWallDebris,$C(a1)
move.w #$4558,$A(a1)
- move.b #-$7C,4(a1)
+ move.b #$84,4(a1)
move.b (a3)+,d0
ext.w d0
add.w d2,d0
@@ -64929,9 +64999,9 @@ loc_300C8:
bmi.s loc_30100
clr.b (Palette_cycle_counters+$00).w
move.w #$FF00|mus_MutePSG,d0
- jsr (Play_Sound).l
+ jsr (Play_Music).l
move.w #$FF00|mus_StopSFX,d0
- jsr (Play_Sound).l
+ jsr (Play_Music).l
move.w #$96,$30(a0)
move.l #loc_30106,(a0)
rts
@@ -64974,7 +65044,7 @@ loc_30130:
move.l #loc_3023E,(a1)
move.l #Map_HCZWaterWall,$C(a1)
move.w #$2530,$A(a1)
- move.b #-$7C,4(a1)
+ move.b #$84,4(a1)
move.w $10(a0),$10(a1)
move.w (Water_level).w,$14(a1)
move.w #$200,8(a1)
@@ -65042,8 +65112,8 @@ loc_3023E:
bne.w loc_301D8
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_HCZWaterWall: include "Levels/HCZ/Misc Object Data/Anim - Water Wall.asm"
-
+Ani_HCZWaterWall:
+ include "Levels/HCZ/Misc Object Data/Anim - Water Wall.asm"
; ---------------------------------------------------------------------------
loc_30294:
@@ -65064,11 +65134,11 @@ loc_302B8:
loc_302BE:
lea (ArtKosM_HCZGeyserVert).l,a1
- move.w #-$6000,d2
+ move.w #$A000,d2
jsr (Queue_Kos_Module).l
move.b #1,$22(a0)
- move.b #-$7F,(Player_1+object_control).w
- move.b #-$7F,(Player_2+object_control).w
+ move.b #$81,(Player_1+object_control).w
+ move.b #$81,(Player_2+object_control).w
move.l #loc_302E6,(a0)
loc_302E6:
@@ -65105,8 +65175,8 @@ loc_30346:
move.b #$1A,(Player_1+anim).w
move.b #$1A,(Player_2+anim).w
move.l #loc_3041A,(a0)
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
move.b #1,(Palette_cycle_counters+$00).w
lea (byte_303EA).l,a3
move.w $10(a0),d2
@@ -65227,7 +65297,7 @@ loc_304D4:
sub_304DA:
move.l #loc_301DE,(a1)
move.l $C(a0),$C(a1)
- move.b #-$7C,4(a1)
+ move.b #$84,4(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
subi.w #$50,$14(a1)
@@ -65251,11 +65321,11 @@ loc_3052A:
tst.b 4(a0)
bmi.s loc_3056E
move.w #$FF00|mus_StopSFX,d0
- jsr (Play_Sound).l
+ jsr (Play_Music).l
move.w #$FF00|mus_MutePSG,d0
- jsr (Play_Sound).l ; this will actually never play... Why is any of this here?
+ jsr (Play_Music).l ; this will actually never play... Why is any of this here?
move.w #$FF00|mus_StopSFX,d0
- jsr (Play_Sound).l
+ jsr (Play_Music).l
move.b #0,(Palette_cycle_counters+$00).w
move.w respawn_addr(a0),d0
beq.s loc_30560
@@ -65381,8 +65451,8 @@ loc_306F2:
addq.b #1,d0
andi.b #$F,d0
bne.s loc_3070C
- moveq #sfx_FanSmall,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanSmall),d0
+ jsr (Play_SFX).l
loc_3070C:
btst #6,$2C(a0)
@@ -65493,8 +65563,8 @@ loc_30850:
bne.s loc_3087E
move.b #1,$42(a1)
move.w #0,$34(a1)
- moveq #sfx_FanLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanLatch),d0
+ jsr (Play_SFX).l
loc_3087E:
move.w $3A(a0),d1
@@ -65511,8 +65581,8 @@ loc_3088E:
beq.s loc_308AE
move.b #0,$42(a1)
move.b #0,$24(a1)
- moveq #sfx_FanLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanLatch),d0
+ jsr (Play_SFX).l
loc_308AE:
tst.w $30(a0)
@@ -65560,7 +65630,7 @@ loc_3091A:
loc_30926:
lea (ArtKosM_HCZLargeFan).l,a1
- move.w #-$6000,d2
+ move.w #$A000,d2
jsr (Queue_Kos_Module).l
move.l #loc_3093C,(a0)
@@ -65578,8 +65648,8 @@ loc_30944:
move.b #$18,7(a0)
move.b #$20,6(a0)
move.w #8,$30(a0)
- moveq #sfx_FanLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanLatch),d0
+ jsr (Play_SFX).l
move.l #loc_3097E,(a0)
loc_3097E:
@@ -65594,8 +65664,8 @@ loc_30994:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_309A6
- moveq #sfx_FanBig,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanBig),d0
+ jsr (Play_SFX).l
loc_309A6:
subq.b #1,$24(a0)
@@ -65796,8 +65866,8 @@ loc_30C16:
bne.s loc_30C34
move.b #0,$34(a0)
move.l #loc_30B58,(a0)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
bra.s loc_30C50
; ---------------------------------------------------------------------------
@@ -65931,8 +66001,8 @@ loc_30D6E:
tst.w (Debug_placement_mode).w
bne.s locret_30DEA
bset d6,$35(a0)
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
move.b #0,$20(a1)
move.b #$13,$1E(a1)
move.b #9,$1F(a1)
@@ -66055,13 +66125,13 @@ loc_30EBA:
addq.w #8,$30(a0)
cmpi.w #$40,$30(a0)
bne.s loc_30F28
- moveq #sfx_FanLatch,d0
+ moveq #signextendB(sfx_FanLatch),d0
cmpi.b #$B,(Current_zone).w
bne.s loc_30F02
- moveq #sfx_FanLatch,d0 ; this check and sfx selection is not really necessary?
+ moveq #signextendB(sfx_FanLatch),d0 ; this check and sfx selection is not really necessary?
loc_30F02:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
bra.s loc_30F28
; ---------------------------------------------------------------------------
@@ -66070,13 +66140,13 @@ loc_30F0A:
beq.s loc_30F34
subq.w #8,$30(a0)
bne.s loc_30F28
- moveq #sfx_FanLatch,d0
+ moveq #signextendB(sfx_FanLatch),d0
cmpi.b #$B,(Current_zone).w
bne.s loc_30F22
- moveq #sfx_FanLatch,d0 ; this check and sfx selection is not really necessary?
+ moveq #signextendB(sfx_FanLatch),d0 ; this check and sfx selection is not really necessary?
loc_30F22:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
loc_30F28:
move.w $32(a0),d0
@@ -66118,8 +66188,8 @@ locret_30F84:
; End of function sub_30F58
; ---------------------------------------------------------------------------
-Map_HCZCNZDEZDoor:include "Levels/HCZ/Misc Object Data/Map - (&CNZ &DEZ) Door.asm"
-
+Map_HCZCNZDEZDoor:
+ include "Levels/HCZ/Misc Object Data/Map - (&CNZ &DEZ) Door.asm"
byte_30FCE: dc.b $20
dc.b 8
dc.w $4416
@@ -66238,8 +66308,8 @@ locret_31106:
; End of function sub_310DA
; ---------------------------------------------------------------------------
-Map_CNZDoorHorizontal:include "Levels/CNZ/Misc Object Data/Map - Door Horizontal.asm"
-
+Map_CNZDoorHorizontal:
+ include "Levels/CNZ/Misc Object Data/Map - Door Horizontal.asm"
word_31124: dc.w $B28, $CD8
dc.w $BA8, $CD8
dc.w $BA8, $CD8
@@ -66309,12 +66379,12 @@ loc_311C4:
bsr.s sub_31226
move.w (Camera_X_pos_coarse_back).w,d1
move.w $3C(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
subi.w #$280,d0
cmp.w d0,d1
blo.s loc_31204
move.w $3E(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
cmp.w d0,d1
bhi.s loc_31204
rts
@@ -66400,7 +66470,7 @@ loc_312D4:
move.b #$5A,2(a2)
loc_312EA:
- andi.b #-4,$2E(a1)
+ andi.b #$FC,$2E(a1)
bset #1,$2A(a1)
move.b #1,$40(a1)
move.b #$E,$1E(a1)
@@ -66445,7 +66515,7 @@ loc_3132E:
clr.w $18(a1)
clr.w $1A(a1)
clr.w $1C(a1)
- andi.b #-4,4(a1)
+ andi.b #$FC,4(a1)
move.w $14(a0),d0
addi.w #$14,d0
move.w d0,$14(a1)
@@ -66483,14 +66553,14 @@ loc_313D6:
clr.w $18(a1)
clr.w $1A(a1)
clr.w $1C(a1)
- andi.b #-4,4(a1)
+ andi.b #$FC,4(a1)
move.w $14(a0),d0
subi.w #$14,d0
move.w d0,$14(a1)
move.b #0,$20(a1)
move.b #3,$2E(a1)
move.b #$65,$22(a1)
- move.b #-$80,4(a2)
+ move.b #$80,4(a2)
move.b #0,6(a2)
move.b #0,8(a2)
move.b #1,(a2)
@@ -66535,7 +66605,7 @@ loc_3147E:
loc_31480:
clr.w $1C(a1)
move.b 4(a2),d0
- subi.b #-$80,d0
+ subi.b #$80,d0
beq.s loc_314AA
bpl.s loc_3149A
addi.b #6,d0
@@ -66552,7 +66622,7 @@ loc_3149A:
moveq #0,d0
loc_314A2:
- addi.b #-$80,d0
+ addi.b #$80,d0
move.b d0,4(a2)
loc_314AA:
@@ -66591,7 +66661,7 @@ Obj_HCZConveryorSpike:
move.w #$280,8(a0)
move.b #$C,7(a0)
move.b #$C,6(a0)
- move.b #-$75,$28(a0)
+ move.b #$8B,$28(a0)
move.w $10(a0),$30(a0)
move.w $14(a0),$32(a0)
btst #0,$2A(a0)
@@ -66668,7 +66738,7 @@ loc_3160A:
loc_31626:
move.w (Camera_X_pos_coarse_back).w,d1
move.w $3C(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
subi.w #$280,d0
cmp.w d0,d1
blo.s loc_31652
@@ -66778,7 +66848,7 @@ Obj_CNZBalloon:
move.w #$280,8(a0)
move.b #$10,7(a0)
move.b #$20,6(a0)
- move.b #-$29,$28(a0)
+ move.b #$D7,$28(a0)
move.w $14(a0),$32(a0)
move.b $2C(a0),d0
add.b d0,d0
@@ -66819,7 +66889,7 @@ loc_3178E:
asr.w #5,d0
add.w $32(a0),d0
move.w d0,$14(a0)
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; =============== S U B R O U T I N E =======================================
@@ -66850,8 +66920,8 @@ sub_317AE:
loc_31808:
tst.b $34(a0)
bne.s locret_3181C
- moveq #sfx_Balloon,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Balloon),d0
+ jsr (Play_SFX).l
move.b #1,$34(a0)
locret_3181C:
@@ -66885,7 +66955,6 @@ locret_31858:
; ---------------------------------------------------------------------------
word_3185A: dc.w 0, $103
Ani_CNZBalloon: include "Levels/CNZ/Misc Object Data/Anim - Balloon.asm"
-
; ---------------------------------------------------------------------------
Obj_CNZCannon:
@@ -66948,8 +67017,8 @@ loc_31944:
move.b (Level_frame_counter+1).w,d0
andi.b #$1F,d0
bne.s locret_31972
- moveq #sfx_CannonTurn,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_CannonTurn),d0
+ jsr (Play_SFX).l
locret_31972:
rts
@@ -66974,7 +67043,7 @@ loc_31984:
subi.w #$18,$14(a1)
move.b $1D(a0),d0
lsl.b #4,d0
- addi.b #-$80,d0
+ addi.b #$80,d0
jsr (GetSineCosine).l
asl.w #3,d1
asl.w #3,d0
@@ -67015,7 +67084,7 @@ sub_319F4:
move.w #0,$18(a1)
move.w #0,$1A(a1)
move.w #0,$1C(a1)
- move.b #-$7F,$2E(a1)
+ move.b #$81,$2E(a1)
bset #2,$2A(a1)
bset #1,$2A(a1)
move.b #$E,$1E(a1)
@@ -67066,7 +67135,7 @@ loc_31AA0:
loc_31AA6:
move.b $1D(a0),d0
lsl.b #4,d0
- addi.b #-$80,d0
+ addi.b #$80,d0
jsr (GetSineCosine).l
asl.w #4,d1
asl.w #4,d0
@@ -67117,7 +67186,7 @@ sub_31B18:
move.w (a2)+,d5
subq.w #1,d5
bmi.s locret_31B70
- move.w #-$7700,d4
+ move.w #$8900,d4
loc_31B44:
moveq #0,d1
@@ -67141,7 +67210,6 @@ locret_31B70:
; ---------------------------------------------------------------------------
DPLC_CNZCannon: include "General/Sprites/CNZ Cannon/DPLC - CNZ Cannon.asm"
-
; ---------------------------------------------------------------------------
Obj_CNZRisingPlatform:
@@ -67166,8 +67234,8 @@ loc_31BD2:
jsr (Animate_Sprite).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Ani_CNZRisingPlatform: include "Levels/CNZ/Misc Object Data/Anim - Rising Platform.asm"
-
+Ani_CNZRisingPlatform:
+ include "Levels/CNZ/Misc Object Data/Anim - Rising Platform.asm"
; =============== S U B R O U T I N E =======================================
@@ -67220,8 +67288,8 @@ loc_31C86:
neg.w $1A(a0)
subi.w #$80,$1A(a0)
move.b #0,$30(a0)
- moveq #sfx_BalloonPlatform,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_BalloonPlatform),d0
+ jmp (Play_SFX).l
; End of function sub_31C0A
; ---------------------------------------------------------------------------
@@ -67263,16 +67331,15 @@ sub_31CFA:
cmpi.w #$20,d0
bhs.s locret_31D2C
move.b #1,$20(a0)
- moveq #sfx_TrapDoor,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TrapDoor),d0
+ jsr (Play_SFX).l
locret_31D2C:
rts
; End of function sub_31CFA
; ---------------------------------------------------------------------------
-Ani_CNZTrapDoor: include "Levels/CNZ/Misc Object Data/Anim - Trap Door.asm"
-
+Ani_CNZTrapDoor:include "Levels/CNZ/Misc Object Data/Anim - Trap Door.asm"
; ---------------------------------------------------------------------------
Obj_CNZLightBulb:
@@ -67363,8 +67430,8 @@ loc_31E36:
move.b (Level_frame_counter+1).w,d0
andi.b #$1F,d0
bne.s loc_31E5E
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
loc_31E5E:
move.w $30(a0),d0
@@ -67382,8 +67449,8 @@ loc_31E68:
move.b (Level_frame_counter+1).w,d0
andi.b #$1F,d0
bne.s loc_31E90
- moveq #sfx_Hoverpad,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Hoverpad),d0
+ jsr (Play_SFX).l
loc_31E90:
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -67439,7 +67506,7 @@ locret_31F2E:
; ---------------------------------------------------------------------------
-Obj_48_1:
+Obj_CNZVacuumTube:
move.b $2C(a0),d0
beq.s loc_31F46
add.b d0,d0
@@ -67508,8 +67575,8 @@ loc_31FD2:
add.w d0,$10(a1)
move.w $36(a0),d0
bne.s loc_31FE8
- moveq #sfx_TunnelBooster,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TunnelBooster),d0
+ jsr (Play_SFX).l
loc_31FE8:
addq.w #1,$36(a0)
@@ -67557,8 +67624,8 @@ sub_32010:
move.b #1,(a2)
move.b $34(a0),2(a2)
move.w d0,-(sp)
- moveq #sfx_Transporter,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Transporter),d0
+ jsr (Play_SFX).l
move.w (sp)+,d0
loc_3206A:
@@ -67922,10 +67989,10 @@ loc_323EC:
bpl.s loc_3242E
add.w d0,$26(a0)
move.b $26(a0),d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bhs.s loc_32416
andi.b #$7F,d0
- addi.b #-$80,d0
+ addi.b #$80,d0
move.b d0,$26(a0)
subq.b #1,$44(a0)
andi.b #3,$44(a0)
@@ -67933,9 +68000,9 @@ loc_323EC:
loc_32416:
move.w #$20,d2
move.b $26(a0),d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bhs.s loc_32456
- move.b #-$80,d0
+ move.b #$80,d0
move.b d0,$26(a0)
bra.s loc_32456
; ---------------------------------------------------------------------------
@@ -67943,10 +68010,10 @@ loc_32416:
loc_3242E:
add.w d0,$26(a0)
move.b $26(a0),d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bhs.s loc_32452
andi.b #$7F,d0
- addi.b #-$80,d0
+ addi.b #$80,d0
move.b d0,$26(a0)
addq.b #1,$44(a0)
andi.b #3,$44(a0)
@@ -68011,7 +68078,7 @@ sub_324C0:
sub.w $10(a0),d0
bpl.s loc_324E2
neg.w d0
- move.b #-$80,1(a2)
+ move.b #$80,1(a2)
loc_324E2:
move.b d0,2(a2)
@@ -68117,7 +68184,8 @@ loc_32610: ; Used by LBZ cup elevator
; End of function sub_324C0
; ---------------------------------------------------------------------------
-PlayerTwistFrames: dc.b $55
+PlayerTwistFrames:
+ dc.b $55
dc.b $59
dc.b $5A
dc.b $5B
@@ -68129,7 +68197,7 @@ PlayerTwistFrames: dc.b $55
dc.b $58
dc.b $57
dc.b $56
-PlayerTwistFlip: dc.b 0
+PlayerTwistFlip:dc.b 0
dc.b 1
dc.b 1
dc.b 0
@@ -68272,7 +68340,7 @@ sub_32784:
sub.w $10(a0),d0
bpl.s loc_327A6
neg.w d0
- move.b #-$80,1(a2)
+ move.b #$80,1(a2)
loc_327A6:
move.b d0,2(a2)
@@ -68358,7 +68426,7 @@ loc_328BE:
; ---------------------------------------------------------------------------
-Obj_49_1:
+Obj_CNZGiantWheel:
move.b #$60,$32(a0)
move.l #loc_328D0,(a0)
@@ -68455,7 +68523,7 @@ locret_3298E:
; ---------------------------------------------------------------------------
-Obj_4B_1:
+Obj_CNZTriangleBumpers:
moveq #0,d0
move.b $2C(a0),d0
move.w d0,$34(a0)
@@ -68528,13 +68596,13 @@ loc_32A5A:
bset #1,$2A(a1)
bclr #4,$2A(a1)
bclr #5,$2A(a1)
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_329B8
; ---------------------------------------------------------------------------
-Obj_4F_1:
+Obj_SinkingMud:
move.b $2C(a0),d0
lsl.w #3,d0
move.b d0,7(a0)
@@ -68723,7 +68791,7 @@ loc_32C54:
rts
; ---------------------------------------------------------------------------
-Obj_5D_1:
+Obj_CGZTriangleBumpers:
move.b #8,7(a0)
move.b #$40,6(a0)
move.b $2C(a0),d0
@@ -68731,7 +68799,7 @@ Obj_5D_1:
andi.b #7,d0
move.b d0,$22(a0)
beq.s loc_32C8C
- move.b #-$80,6(a0)
+ move.b #$80,6(a0)
loc_32C8C:
move.l #loc_32C92,(a0)
@@ -68851,8 +68919,8 @@ loc_32DD2:
bclr #6,$2A(a0)
bclr #5,$2A(a1)
bclr #4,$2A(a1)
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_32D16
; ---------------------------------------------------------------------------
@@ -68862,7 +68930,7 @@ Obj_Bumper:
move.b #$10,7(a0)
move.b #$10,6(a0)
move.w #$80,8(a0)
- move.b #-$29,$28(a0)
+ move.b #$D7,$28(a0)
move.w $10(a0),$30(a0)
move.w $14(a0),$32(a0)
cmpi.b #$14,(Current_zone).w
@@ -68916,7 +68984,7 @@ loc_32EB4:
lea (Ani_Bumper).l,a1
jsr (Animate_Sprite).l
move.w $30(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_32EDE
@@ -68943,7 +69011,7 @@ loc_32EF8:
lea (Ani_Bumper).l,a1
jsr (Animate_Sprite).l
move.w $14(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_Y_pos_coarse_back).w,d0
cmpi.w #$200,d0
bhi.s loc_32F22
@@ -69005,12 +69073,12 @@ sub_32F56:
bclr #5,$2A(a1)
clr.b $40(a1)
move.b #1,$20(a0)
- moveq #sfx_Bumper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bumper),d0
+ jsr (Play_SFX).l
move.w respawn_addr(a0),d0
beq.s loc_32FC4
movea.w d0,a2
- cmpi.b #-$76,(a2)
+ cmpi.b #$8A,(a2)
bhs.s locret_32FEE
addq.b #1,(a2)
@@ -69073,8 +69141,8 @@ sub_3301C:
bclr #5,$2A(a1)
clr.b $40(a1)
move.b #1,$20(a0)
- moveq #sfx_SmallBumpers,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jsr (Play_SFX).l
rts
; End of function sub_3301C
@@ -69086,13 +69154,13 @@ loc_3307C:
jsr (Add_SpriteToCollisionResponseList).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_Bumper: include "General/Sprites/Level Misc/Anim - Bumper.asm"
-
-Map_PachinkoBumper: include "Levels/Pachinko/Misc Object Data/Map - Bumper.asm"
-
+Ani_Bumper:
+ include "General/Sprites/Level Misc/Anim - Bumper.asm"
+Map_PachinkoBumper:
+ include "Levels/Pachinko/Misc Object Data/Map - Bumper.asm"
; ---------------------------------------------------------------------------
-Obj_4C_1:
+Obj_CNZSpiralTube:
lea (Player_1).w,a1
lea $30(a0),a4
bsr.s sub_330EE
@@ -69153,14 +69221,14 @@ loc_33102:
cmpi.w #$40,d0
bhs.s loc_33174
neg.w d1
- move.b #-$80,1(a4)
+ move.b #$80,1(a4)
loc_33174:
add.w $10(a0),d1
move.w d1,$10(a1)
move.w $14(a0),$14(a1)
move.w #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
locret_3318C:
rts
@@ -69564,7 +69632,7 @@ loc_33542:
andi.w #$7FFF,$A(a1)
cmpi.b #$34,d0
bhs.s loc_33554
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_33554:
tst.w 4(a2)
@@ -69662,7 +69730,7 @@ loc_33622:
loc_33648:
bsr.w sub_337D8
- move.b #-$20,$26(a1)
+ move.b #$E0,$26(a1)
move.b #3,$2D(a1)
locret_33658:
@@ -69709,7 +69777,7 @@ loc_336A0:
loc_336D2:
bsr.w sub_337D8
- move.b #-$20,$26(a1)
+ move.b #$E0,$26(a1)
move.b #3,$2D(a1)
locret_336E2:
@@ -69774,7 +69842,7 @@ loc_3376E:
andi.w #$7FFF,$A(a1)
cmpi.b #$4C,d0
blo.s loc_33780
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_33780:
tst.w 4(a2)
@@ -69834,7 +69902,7 @@ loc_337E8:
move.l a0,-(sp)
movea.l a1,a0
move.w a0,d1
- subi.w #-$5000,d1
+ subi.w #Player_1,d1
bne.s loc_3381C
cmpi.w #2,(Player_mode).w
beq.s loc_3381C
@@ -69857,7 +69925,7 @@ loc_33824:
; ---------------------------------------------------------------------------
-Obj_4E_1:
+Obj_CNZWireCage:
moveq #0,d0
move.b $2C(a0),d0
lsl.w #3,d0
@@ -69902,8 +69970,8 @@ loc_3385E:
addi.w #$80,d1
cmp.w d1,d0
bhs.s loc_338BE
- moveq #sfx_WaveHover,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaveHover),d0
+ jsr (Play_SFX).l
loc_338BE:
jmp (Delete_Sprite_If_Not_In_Range).l
@@ -69964,7 +70032,7 @@ loc_3394C:
loc_33958:
bsr.w sub_33C34
- move.b #-$80,(a2)
+ move.b #$80,(a2)
move.b #-$40,$26(a1)
move.w $10(a1),d0
sub.w $10(a0),d0
@@ -70068,9 +70136,9 @@ loc_33A6A:
moveq #0,d0
move.b (a2),d0
andi.w #$7FFF,$A(a1)
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
blo.s loc_33AA4
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_33AA4:
addi.b #$40,d0
@@ -70170,9 +70238,9 @@ loc_33BBA:
moveq #0,d0
move.b (a2),d0
andi.w #$7FFF,$A(a1)
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
blo.s loc_33BF4
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_33BF4:
addi.b #$40,d0
@@ -70220,7 +70288,7 @@ loc_33C62:
; ---------------------------------------------------------------------------
-Obj_50_1:
+Obj_MGZTwistingLoop:
moveq #0,d0
move.b $2C(a0),d0
lsl.w #4,d0
@@ -70296,9 +70364,9 @@ loc_33CE6:
sub.w $14(a0),d0
move.w d0,(a2)
bsr.w sub_33C34
- move.b #-$40,$26(a1)
+ move.b #$C0,$26(a1)
bclr #0,4(a1)
- move.b #-$80,5(a2)
+ move.b #$80,5(a2)
move.w $10(a1),d0
sub.w $10(a0),d0
bcs.s loc_33D70
@@ -70400,7 +70468,7 @@ loc_33E3C:
loc_33E7A:
btst #0,$2A(a0)
beq.s loc_33E88
- addi.b #-$80,$26(a1)
+ addi.b #$80,$26(a1)
loc_33E88:
bclr #2,$2A(a1)
@@ -70462,9 +70530,9 @@ loc_33EEC:
move.w d0,$14(a1)
moveq #0,d0
andi.w #$7FFF,$A(a1)
- cmpi.b #-$80,d2
+ cmpi.b #$80,d2
bhs.s loc_33F4A
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
loc_33F4A:
subi.b #$40,d2
@@ -70598,7 +70666,7 @@ Obj_MGZSwingingSpikeBall:
move.w $10(a0),$30(a0)
move.w $14(a0),$32(a0)
move.b #3,$22(a0)
- move.b #-$71,$28(a0)
+ move.b #$8F,$28(a0)
jsr (Create_New_Sprite3).l
bne.w loc_34180
move.l #loc_34244,(a1)
@@ -70629,7 +70697,7 @@ loc_34180:
beq.s loc_341A6
move.w #2,-2(a2)
move.b #2,$22(a1)
- move.w #-$8000,$34(a0)
+ move.w #$8000,$34(a0)
move.w #$100,$36(a0)
move.l #loc_341FA,(a0)
bra.s loc_341FA
@@ -70659,8 +70727,8 @@ loc_341BC:
beq.s loc_341F0
andi.b #$40,d0
beq.s loc_341F0
- moveq #sfx_SpikeBalls,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeBalls),d0
+ jsr (Play_SFX).l
loc_341F0:
move.w $30(a0),d0
@@ -70690,11 +70758,11 @@ loc_34216:
beq.s loc_3423E
andi.b #$40,d0
beq.s loc_3423E
- moveq #sfx_SpikeBalls,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeBalls),d0
+ jsr (Play_SFX).l
loc_3423E:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_34244:
@@ -70779,7 +70847,7 @@ loc_342E6:
Obj_MGZHeadTrigger:
move.l #Map_MGZHeadTrigger,$C(a0)
- move.w #-$5C01,$A(a0)
+ move.w #$A3FF,$A(a0)
ori.b #4,4(a0)
move.w #$280,8(a0)
move.b #$10,7(a0)
@@ -70846,7 +70914,7 @@ loc_343E6:
tst.b $29(a0)
bne.s loc_34432
move.l #Obj_Explosion,(a1)
- move.w #-$8000,$A(a1)
+ move.w #$8000,$A(a1)
move.b #2,5(a1)
move.b #1,$34(a0)
move.b #0,$22(a0)
@@ -70859,7 +70927,7 @@ loc_34432:
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.b 4(a0),4(a1)
- andi.b #-$41,4(a1)
+ andi.b #$BF,4(a1)
move.b $2A(a0),$2A(a1)
move.l $C(a0),$C(a1)
move.w $A(a0),$A(a1)
@@ -70869,8 +70937,8 @@ loc_34432:
move.b #2,$20(a1)
loc_34474:
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_3447C:
lea (Ani_MGZHeadTrigger).l,a1
@@ -70886,14 +70954,14 @@ loc_3447C:
addi.w #$10,$10(a1)
addi.w #$20,$14(a1)
move.b 4(a0),4(a1)
- andi.b #-$41,4(a1)
+ andi.b #$BF,4(a1)
move.l $C(a0),$C(a1)
move.w $A(a0),$A(a1)
andi.w #$7FFF,$A(a1)
move.w #$300,8(a1)
move.b #$10,7(a1)
move.b #4,6(a1)
- move.b #-$65,$28(a1)
+ move.b #$9B,$28(a1)
move.w #-$400,$18(a1)
btst #0,$2A(a0)
beq.s loc_3450A
@@ -70901,11 +70969,11 @@ loc_3447C:
subi.w #$20,$10(a1)
loc_3450A:
- moveq #sfx_LevelProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LevelProjectile),d0
+ jsr (Play_SFX).l
loc_34512:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_34518:
@@ -70925,9 +70993,20 @@ loc_34536:
jsr (Animate_Sprite).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Ani_MGZHeadTrigger: include "Levels/MGZ/Misc Object Data/Anim - Head Trigger.asm"
-
-byte_34568: dc.b $40, $1E, 0, $40, $20, $40, 1, $40, $20, $40, 1, $40
+Ani_MGZHeadTrigger:
+ include "Levels/MGZ/Misc Object Data/Anim - Head Trigger.asm"
+byte_34568: dc.b $40
+ dc.b $1E
+ dc.b 0
+ dc.b $40
+ dc.b $20
+ dc.b $40
+ dc.b 1
+ dc.b $40
+ dc.b $20
+ dc.b $40
+ dc.b 1
+ dc.b $40
; ---------------------------------------------------------------------------
Obj_MGZTriggerPlatform:
@@ -71162,7 +71241,7 @@ Obj_MGZPulley:
move.w $A(a0),$A(a1)
move.b 4(a0),4(a1)
move.b #$60,7(a1)
- move.b #-$40,6(a1)
+ move.b #$C0,6(a1)
move.w #$300,8(a1)
move.w $10(a0),$12(a1)
move.w $10(a0),$10(a1)
@@ -71395,8 +71474,8 @@ loc_34AD6:
loc_34B0E:
move.w #$10,$34(a0)
move.b #1,(a2)
- moveq #sfx_PulleyGrab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_PulleyGrab),d0
+ jsr (Play_SFX).l
locret_34B20:
rts
@@ -71851,7 +71930,7 @@ loc_34F84:
addi.b #$18,d0
move.b d0,$1E(a1)
bset #0,$2E(a1)
- move.b #-$80,$37(a1)
+ move.b #$80,$37(a1)
bclr d6,$2A(a0)
bclr #3,$2A(a1)
bset #1,$2A(a1)
@@ -71878,7 +71957,7 @@ loc_34FBC:
move.b #2,$20(a1)
bset #2,$2A(a1)
move.w #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
loc_3500A:
bclr #0,$2E(a1)
@@ -72417,17 +72496,17 @@ loc_3559E:
move.w d0,$1C(a0)
move.b $26(a0),d0
addi.b #$20,d0
- andi.b #-$40,d0
+ andi.b #$C0,d0
bne.s locret_355E2
cmpi.w #$400,d0
blt.s locret_355E2
move.b #$D,$20(a0)
bclr #0,$2A(a0)
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
movea.l a0,a2
- suba.w #-$5000,a2
- adda.w #-$33AC,a2
+ suba.w #Player_1,a2
+ adda.w #Dust,a2
move.b #6,5(a2)
move.b #$15,$22(a2)
@@ -72471,17 +72550,17 @@ loc_35620:
move.w d0,$1C(a0)
move.b $26(a0),d0
addi.b #$20,d0
- andi.b #-$40,d0
+ andi.b #$C0,d0
bne.s locret_35664
cmpi.w #-$400,d0
bgt.s locret_35664
move.b #$D,$20(a0)
bset #0,$2A(a0)
move.w #sfx_Skid,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
movea.l a0,a2
- suba.w #-$5000,a2
- adda.w #-$33AC,a2
+ suba.w #Player_1,a2
+ adda.w #Dust,a2
move.b #6,5(a2)
move.b #$15,$22(a2)
@@ -72778,8 +72857,8 @@ locret_35962:
; End of function sub_35868
; ---------------------------------------------------------------------------
-Map_MGZTopPlatform:include "Levels/MGZ/Misc Object Data/Map - Top Platform.asm"
-
+Map_MGZTopPlatform:
+ include "Levels/MGZ/Misc Object Data/Map - Top Platform.asm"
; ---------------------------------------------------------------------------
Obj_MGZTopLauncher:
@@ -72870,7 +72949,7 @@ Obj_CGZBladePlatform:
move.w $14(a0),$14(a1)
subi.w #$10,$10(a1)
addi.w #$C,$14(a1)
- move.b #-$5A,$28(a1)
+ move.b #$A6,$28(a1)
move.w a0,$3E(a1)
jsr (Create_New_Sprite3).l
bne.w loc_35B10
@@ -72879,7 +72958,7 @@ Obj_CGZBladePlatform:
move.w $14(a0),$14(a1)
addi.w #$10,$10(a1)
addi.w #$14,$14(a1)
- move.b #-$5A,$28(a1)
+ move.b #$A6,$28(a1)
move.w a0,$3E(a1)
loc_35B10:
@@ -72896,9 +72975,9 @@ loc_35B16:
loc_35B2E:
add.w d1,$36(a0)
- cmpi.w #-$8000,$36(a0)
+ cmpi.w #$8000,$36(a0)
blo.s loc_35B40
- move.w #-$8000,$36(a0)
+ move.w #$8000,$36(a0)
loc_35B40:
bra.s loc_35B56
@@ -72942,8 +73021,8 @@ loc_35BA6:
addi.w #$10,$14(a0)
jmp (Add_SpriteToCollisionResponseList).l
; ---------------------------------------------------------------------------
-Map_CGZBladePlatform:include "Levels/CGZ/Misc Object Data/Map - Blade Platform.asm"
-
+Map_CGZBladePlatform:
+ include "Levels/CGZ/Misc Object Data/Map - Blade Platform.asm"
; ---------------------------------------------------------------------------
Obj_BPZElephantBlock:
@@ -73063,8 +73142,8 @@ locret_35D58:
; End of function sub_35D22
; ---------------------------------------------------------------------------
-Map_BPZElephantBlock:include "Levels/BPZ/Misc Object Data/Map - Elephant Block.asm"
-
+Map_BPZElephantBlock:
+ include "Levels/BPZ/Misc Object Data/Map - Elephant Block.asm"
; ---------------------------------------------------------------------------
Obj_BPZBalloon:
@@ -73074,7 +73153,7 @@ Obj_BPZBalloon:
move.w #$200,8(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
- move.b #-$29,$28(a0)
+ move.b #$D7,$28(a0)
move.l #loc_35DB2,(a0)
loc_35DB2:
@@ -73128,8 +73207,8 @@ loc_35E2E:
bclr #4,$2A(a1)
bclr #5,$2A(a1)
clr.b $40(a1)
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_35DDE
; ---------------------------------------------------------------------------
@@ -73147,9 +73226,7 @@ loc_35E6E:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
Ani_BPZBalloon: include "Levels/BPZ/Misc Object Data/Anim - Balloon.asm"
-
Map_BPZBalloon: include "Levels/BPZ/Misc Object Data/Map - Balloon.asm"
-
; ---------------------------------------------------------------------------
Obj_DPZDisolvingSandBar:
@@ -73224,9 +73301,10 @@ loc_36020:
; ---------------------------------------------------------------------------
byte_36026: dc.b $11, $11, $11, $11, $10, $F, $E, $D, $C, $B, $A, 9, 8, 7, 6, 5, 4, 3, 2, 1
dc.b 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-Ani_DPZDissolvingSandBar: include "Levels/DPZ/Misc Object Data/Anim - Dissolving Sand Bar.asm"
-Map_DPZDissolvingSandBar: include "Levels/DPZ/Misc Object Data/Map - Dissolving Sand Bar.asm"
-
+Ani_DPZDissolvingSandBar:
+ include "Levels/DPZ/Misc Object Data/Anim - Dissolving Sand Bar.asm"
+Map_DPZDissolvingSandBar:
+ include "Levels/DPZ/Misc Object Data/Map - Dissolving Sand Bar.asm"
; ---------------------------------------------------------------------------
Obj_DPZButton:
@@ -73261,8 +73339,8 @@ loc_362CE:
loc_36310:
tst.b (a3)
bne.s loc_36322
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
move.b #0,$24(a0)
loc_36322:
@@ -73281,7 +73359,6 @@ loc_3634A:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
Map_DPZButton: include "Levels/DPZ/Misc Object Data/Map - Button.asm"
-
; ---------------------------------------------------------------------------
Obj_2PItem:
@@ -73305,7 +73382,7 @@ loc_363B4:
move.b d0,$27(a0)
move.b #3,$20(a0)
move.b #7,$20(a0)
- move.b #-$39,$28(a0)
+ move.b #$C7,$28(a0)
move.l #loc_363D0,(a0)
loc_363D0:
@@ -73509,7 +73586,7 @@ loc_365E8:
; ---------------------------------------------------------------------------
loc_3660C:
- jmp (loc_1A5F0).l
+ jmp (GiveRing_Tails).l
; ---------------------------------------------------------------------------
loc_36612:
@@ -73529,7 +73606,7 @@ loc_36628:
move.w $46(a2),$46(a1)
tst.w $A(a2)
bpl.s locret_36650
- ori.w #-$8000,$A(a1)
+ ori.w #$8000,$A(a1)
locret_36650:
rts
@@ -73592,7 +73669,7 @@ loc_366C4:
bpl.s loc_366E4
add.w d1,$14(a0)
move.l d2,(a0)
- move.b #-$39,$28(a0)
+ move.b #$C7,$28(a0)
loc_366E4:
cmpi.w #-$100,(Camera_min_Y_pos).w
@@ -73673,8 +73750,8 @@ loc_3676A:
neg.w $1C(a2)
loc_367BA:
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_3675E
; ---------------------------------------------------------------------------
@@ -73761,7 +73838,7 @@ loc_36884:
loc_3688E:
asl $1C(a2)
move.b #$1B,$20(a2)
- ori.b #-$80,$2B(a2)
+ ori.b #$80,$2B(a2)
move.w a2,$3E(a0)
move.b #$3C,$3C(a0)
@@ -73949,9 +74026,7 @@ locret_36A56:
; ---------------------------------------------------------------------------
Ani_2PItem: include "General/2P Zone/Anim - Item.asm"
-
Map_2PItem: include "General/2P Zone/Map - Item.asm"
-
; ---------------------------------------------------------------------------
Obj_2PGoalMarker:
@@ -73968,12 +74043,12 @@ Obj_2PGoalMarker:
lsl.w #3,d0
subi.w #$14,d0
move.w d0,$38(a0)
- move.b #5,(_unkFEDA).w
- clr.w (_unkFEDC).w
+ move.b #5,(Competition_total_laps).w
+ clr.w (Competition_current_lap).w
clr.w (Events_bg+$14).w
clr.b (Update_HUD_timer).w
clr.l (Timer).w
- clr.b (_unkFEC7).w
+ clr.b (Update_HUD_timer_P2).w
clr.l (Timer_P2).w
clr.w (Ring_count).w
clr.w (Ring_count_P2).w
@@ -74014,20 +74089,20 @@ loc_36CEA:
move.w $10(a0),d1
lea $34(a0),a2
lea (Player_1).w,a1
- lea (_unkFEDC).w,a3
+ lea (Competition_current_lap).w,a3
lea (_unkF74A).w,a4
lea (Timer).w,a5
lea ($FF7828).l,a6
bsr.w sub_36DFC
lea (Player_2).w,a1
- lea (_unkFEDD).w,a3
+ lea (Competition_current_lap_2P).w,a3
lea (_unkF74B).w,a4
lea (Timer_P2).w,a5
lea ($FF7840).l,a6
bsr.w sub_36DFC
lea (Ani_2PGoalMarker).l,a1
jsr (Animate_Sprite).l
- move.w $36(a0),(_unkEE5C).w
+ move.w $36(a0),(Competition_lap_count).w
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -74058,10 +74133,10 @@ loc_36D3E:
move.w #0,$32(a1)
loc_36DC0:
- clr.w (_unkFEDC).w
+ clr.w (Competition_current_lap).w
clr.b (Update_HUD_timer).w
clr.l (Timer).w
- clr.b (_unkFEC7).w
+ clr.b (Update_HUD_timer_P2).w
clr.l (Timer_P2).w
clr.b (Ctrl_1_locked).w
clr.b (Ctrl_2_locked).w
@@ -74160,8 +74235,8 @@ loc_36E9C:
eori.b #$18,4(a1)
loc_36EF2:
- moveq #sfx_Error,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Error),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_36EFA:
@@ -74221,9 +74296,9 @@ sub_36F5A:
loc_36F62:
clr.l (a1)+
dbf d0,loc_36F62
- clr.l (_unkEE52).w
- clr.l (_unkEE56).w
- st (_unkEE5A).w
+ clr.l (Competition_time_record).w
+ clr.l (Competition_time_record_P2).w
+ st (Competition_time_attack_new_top_record).w
rts
; End of function sub_36F5A
@@ -74265,7 +74340,7 @@ loc_36F9C:
sub_36FAA:
- tst.b (Competition_mode_monitors).w
+ tst.b (Competition_items).w
bne.s locret_36FD8
lea (byte_36FDA).l,a4
adda.w d0,a4
@@ -74277,7 +74352,7 @@ loc_36FBE:
cmpi.l #loc_363D0,(a1)
bne.s loc_36FD4
move.b (a4)+,$20(a1)
- move.b #-$39,$28(a1)
+ move.b #$C7,$28(a1)
loc_36FD4:
dbf d0,loc_36FBE
@@ -74289,16 +74364,15 @@ locret_36FD8:
; ---------------------------------------------------------------------------
byte_36FDA: dc.b 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 2, 3, 0, 1, 2, 3
dc.b 4, 5, 6, 0
-
-Ani_2PGoalMarker: include "General/2P Zone/Anim - Goal Marker.asm"
-
-Map_2PGoalMarker:include "General/2P Zone/Map - Goal Marker.asm"
-
+Ani_2PGoalMarker:
+ include "General/2P Zone/Anim - Goal Marker.asm"
+Map_2PGoalMarker:
+ include "General/2P Zone/Map - Goal Marker.asm"
; ---------------------------------------------------------------------------
loc_3703A:
move.l #Map_2PLapNumbers,$C(a0)
- move.w #-$7900,$A(a0)
+ move.w #$8700,$A(a0)
move.w #0,8(a0)
move.b #8,7(a0)
move.b #$C,6(a0)
@@ -74322,10 +74396,10 @@ loc_37086:
move.l #loc_37092,(a0)
loc_37092:
- move.b (_unkFEDC).w,d0
- cmp.b (_unkFEDA).w,d0
+ move.b (Competition_current_lap).w,d0
+ cmp.b (Competition_total_laps).w,d0
ble.s loc_370A0
- move.b (_unkFEDA).w,d0
+ move.b (Competition_total_laps).w,d0
loc_370A0:
subi.b #$A,d0
@@ -74336,10 +74410,10 @@ loc_370A0:
; ---------------------------------------------------------------------------
loc_370B4:
- move.b (_unkFEDD).w,d0
- cmp.b (_unkFEDA).w,d0
+ move.b (Competition_current_lap_2P).w,d0
+ cmp.b (Competition_total_laps).w,d0
ble.s loc_370C2
- move.b (_unkFEDA).w,d0
+ move.b (Competition_total_laps).w,d0
loc_370C2:
subi.b #$A,d0
@@ -74348,15 +74422,15 @@ loc_370C2:
move.b d0,$22(a0)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_2PLapNumbers: include "General/2P Zone/Map - Lap Numbers.asm"
-
+Map_2PLapNumbers:
+ include "General/2P Zone/Map - Lap Numbers.asm"
; ---------------------------------------------------------------------------
loc_3713A:
move.l #Map_2PNeonDisplay,$C(a0)
- move.w #-$78AA,$A(a0)
+ move.w #$8756,$A(a0)
move.w #0,8(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.b #$28,6(a0)
move.l #loc_3716C,(a0)
tst.b (Not_ghost_flag).w
@@ -74370,7 +74444,7 @@ loc_3716C:
bne.s loc_371AE
cmpi.b #5,$24(a0)
bne.s loc_371AE
- moveq #sfx_LaunchReady,d0
+ moveq #signextendB(sfx_LaunchReady),d0
move.b $23(a0),d1
cmpi.b #1,d1
beq.s loc_371A8
@@ -74378,12 +74452,12 @@ loc_3716C:
beq.s loc_371A8
cmpi.b #$15,d1
beq.s loc_371A8
- moveq #sfx_LaunchGo,d0
+ moveq #signextendB(sfx_LaunchGo),d0
cmpi.b #$1F,d1
bne.s loc_371AE
loc_371A8:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
loc_371AE:
bsr.s sub_371BE
@@ -74412,7 +74486,7 @@ loc_371D8:
cmpi.b #3,$22(a0)
bne.s locret_371F2
move.b #1,(Update_HUD_timer).w
- move.b #1,(_unkFEC7).w
+ move.b #1,(Update_HUD_timer_P2).w
move.b #1,$3A(a0)
locret_371F2:
@@ -74423,9 +74497,9 @@ loc_371F4:
subq.b #1,d0
bne.w loc_372D0
move.l #$93B63,d0
- cmp.l (_unkEE52).w,d0
+ cmp.l (Competition_time_record).w,d0
bls.s loc_3720C
- cmp.l (_unkEE56).w,d0
+ cmp.l (Competition_time_record_P2).w,d0
bhi.s loc_37218
loc_3720C:
@@ -74433,8 +74507,8 @@ loc_3720C:
move.w #$78,(Events_bg+$16).w
loc_37218:
- move.b (_unkFEDA).w,d0
- cmp.b (_unkFEDC).w,d0
+ move.b (Competition_total_laps).w,d0
+ cmp.b (Competition_current_lap).w,d0
bhs.s loc_37292
move.b #3,$20(a0)
tst.b (Not_ghost_flag).w
@@ -74447,22 +74521,22 @@ loc_37232:
move.w #$78,(Events_bg+$16).w
tst.b (Not_ghost_flag).w
beq.s loc_37256
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bne.s loc_37256
move.w #$168,(Events_bg+$16).w
loc_37256:
- move.b #-$80,(Update_HUD_timer).w
+ move.b #$80,(Update_HUD_timer).w
jsr sub_37430(pc)
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
- move.b (_unkFEDA).w,d0
- cmp.b (_unkFEDD).w,d0
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
+ move.b (Competition_total_laps).w,d0
+ cmp.b (Competition_current_lap_2P).w,d0
bhs.s loc_3728C
move.b #6,$20(a0)
bclr #3,4(a0)
move.w #$78,(Events_bg+$16).w
- move.b #-$80,(_unkFEC7).w
+ move.b #$80,(Update_HUD_timer_P2).w
rts
; ---------------------------------------------------------------------------
@@ -74472,21 +74546,21 @@ loc_3728C:
; ---------------------------------------------------------------------------
loc_37292:
- cmp.b (_unkFEDD).w,d0
+ cmp.b (Competition_current_lap_2P).w,d0
bhs.s locret_372CE
move.b #4,$20(a0)
bset #4,4(a0)
move.b #2,$3A(a0)
move.w #$78,(Events_bg+$16).w
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bne.s loc_372BC
move.w #$168,(Events_bg+$16).w
loc_372BC:
- move.b #-$80,(_unkFEC7).w
+ move.b #$80,(Update_HUD_timer_P2).w
bsr.w sub_37406
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
locret_372CE:
rts
@@ -74495,20 +74569,20 @@ locret_372CE:
loc_372D0:
subq.b #1,d0
bne.w loc_373A4
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
beq.s loc_37308
tst.b (Update_HUD_timer).w
bpl.s locret_37306
tst.b (Not_ghost_flag).w
beq.s loc_372EE
- tst.b (_unkFEC7).w
+ tst.b (Update_HUD_timer_P2).w
bpl.s locret_37306
loc_372EE:
subq.w #1,(Events_bg+$16).w
bpl.s locret_37306
move.b #$40,(Game_mode).w
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bpl.s locret_37306
move.b #$50,(Game_mode).w
@@ -74517,15 +74591,15 @@ locret_37306:
; ---------------------------------------------------------------------------
loc_37308:
- move.b (_unkFEDC).w,d0
+ move.b (Competition_current_lap).w,d0
tst.b (Update_HUD_timer).w
bpl.s loc_3731C
- move.b (_unkFEDD).w,d0
+ move.b (Competition_current_lap_2P).w,d0
tst.b (Update_HUD_timer).w
bmi.s loc_37322
loc_3731C:
- cmp.b (_unkFEDA).w,d0
+ cmp.b (Competition_total_laps).w,d0
beq.s loc_37328
loc_37322:
@@ -74533,9 +74607,9 @@ loc_37322:
bmi.s loc_3733C
loc_37328:
- cmpi.l #$93B63,(_unkEE52).w
+ cmpi.l #$93B63,(Competition_time_record).w
bhs.s loc_3733C
- cmpi.l #$93B63,(_unkEE56).w
+ cmpi.l #$93B63,(Competition_time_record_P2).w
blo.s locret_37398
loc_3733C:
@@ -74544,14 +74618,14 @@ loc_3733C:
subi.b #$E,d0
move.b byte_3739F(pc,d0.w),d0
lea ($FF7800).l,a1
- move.l (_unkEE52).w,(a1,d0.w)
- move.l (_unkEE56).w,$14(a1,d0.w)
+ move.l (Competition_time_record).w,(a1,d0.w)
+ move.l (Competition_time_record_P2).w,$14(a1,d0.w)
tst.b (Update_HUD_timer).w
bmi.s loc_3736A
move.l #$93B63,(a1,d0.w)
loc_3736A:
- tst.b (_unkFEC7).w
+ tst.b (Update_HUD_timer_P2).w
bmi.s loc_37378
move.l #$93B63,$14(a1,d0.w)
@@ -74584,8 +74658,8 @@ byte_3739F: dc.b 0
; ---------------------------------------------------------------------------
loc_373A4:
- move.b (_unkFEDA).w,d0
- cmp.b (_unkFEDC).w,d0
+ move.b (Competition_total_laps).w,d0
+ cmp.b (Competition_current_lap).w,d0
bhs.s loc_373D4
tst.b (Update_HUD_timer).w
bmi.s loc_373D4
@@ -74593,21 +74667,21 @@ loc_373A4:
bset #3,4(a0)
move.b #-$80,(Update_HUD_timer).w
move.w #$78,(Events_bg+$16).w
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
loc_373D4:
- move.b (_unkFEDA).w,d0
- cmp.b (_unkFEDD).w,d0
+ move.b (Competition_total_laps).w,d0
+ cmp.b (Competition_current_lap_2P).w,d0
bhs.s locret_37404
- tst.b (_unkFEC7).w
+ tst.b (Update_HUD_timer_P2).w
bmi.s locret_37404
move.b #5,$20(a0)
bset #4,4(a0)
- move.b #-$80,(_unkFEC7).w
+ move.b #-$80,(Update_HUD_timer_P2).w
move.w #$78,(Events_bg+$16).w
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
locret_37404:
rts
@@ -74635,7 +74709,7 @@ locret_3742E:
sub_37430:
- tst.b (Competition_mode_type).w
+ tst.b (Competition_type).w
bpl.w locret_374B6
moveq #0,d0
move.b (Current_zone).w,d0
@@ -74643,7 +74717,7 @@ sub_37430:
lsl.w #4,d0
lea (Competition_saved_data).w,a1
adda.w d0,a1
- move.l (_unkEE52).w,d0
+ move.l (Competition_time_record).w,d0
cmp.l (a1),d0
bhs.s loc_37476
move.b $D(a1),$E(a1)
@@ -74652,7 +74726,7 @@ sub_37430:
move.l 4(a1),8(a1)
move.l (a1),4(a1)
move.l d0,(a1)
- clr.b (_unkEE5A).w
+ clr.b (Competition_time_attack_new_top_record).w
bra.s loc_374B0
; ---------------------------------------------------------------------------
@@ -74663,7 +74737,7 @@ loc_37476:
move.b (P1_character).w,$D(a1)
move.l 4(a1),8(a1)
move.l d0,4(a1)
- move.b #1,(_unkEE5A).w
+ move.b #1,(Competition_time_attack_new_top_record).w
bra.s loc_374B0
; ---------------------------------------------------------------------------
@@ -74672,7 +74746,7 @@ loc_3749A:
bhs.s locret_374B6
move.b (P1_character).w,$E(a1)
move.l d0,8(a1)
- move.b #2,(_unkEE5A).w
+ move.b #2,(Competition_time_attack_new_top_record).w
loc_374B0:
jsr (Write_SaveGeneral).l
@@ -74685,7 +74759,7 @@ locret_374B6:
loc_374B8:
move.l #Map_2PNeonDisplay,$C(a0)
- move.w #-$78AA,$A(a0)
+ move.w #$8756,$A(a0)
move.w #0,8(a0)
move.b #-$80,7(a0)
move.b #$28,6(a0)
@@ -74705,15 +74779,15 @@ loc_374FC:
jsr (Animate_Sprite).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_2PNeonDisplay: include "General/2P Zone/Anim - Neon Display.asm"
-
-Map_2PNeonDisplay: include "General/2P Zone/Map - Neon Display.asm"
-
+Ani_2PNeonDisplay:
+ include "General/2P Zone/Anim - Neon Display.asm"
+Map_2PNeonDisplay:
+ include "General/2P Zone/Map - Neon Display.asm"
; ---------------------------------------------------------------------------
loc_37C8E:
move.l #$FF7000,$C(a0)
- move.w #-$7A00,$A(a0)
+ move.w #$8600,$A(a0)
move.w #0,8(a0)
move.b #$40,7(a0)
move.b #$10,6(a0)
@@ -74734,9 +74808,9 @@ loc_37CDC:
lea ($FF700A).l,a2
lea (Timer_minute).w,a3
moveq #0,d1
- move.b (_unkEE5C).w,d1
+ move.b (Competition_lap_count).w,d1
lea (Update_HUD_timer).w,a4
- lea (_unkEE52).w,a5
+ lea (Competition_time_record).w,a5
lea ($FF7828).l,a6
bra.s loc_37D7C
; ---------------------------------------------------------------------------
@@ -74749,7 +74823,7 @@ loc_37D00:
loc_37D0C:
move.l #$FF7080,$C(a0)
- move.w #-$7A00,$A(a0)
+ move.w #$8600,$A(a0)
move.w #0,8(a0)
move.b #$40,7(a0)
move.b #$10,6(a0)
@@ -74770,9 +74844,9 @@ loc_37D5A:
lea ($FF708A).l,a2
lea (Timer_minute_P2).w,a3
moveq #0,d1
- move.b (_unkEE5C+1).w,d1
- lea (_unkFEC7).w,a4
- lea (_unkEE56).w,a5
+ move.b (Competition_lap_count_2P).w,d1
+ lea (Update_HUD_timer_P2).w,a4
+ lea (Competition_time_record_P2).w,a5
lea ($FF7840).l,a6
loc_37D7C:
@@ -74896,7 +74970,7 @@ word_37E8E: dc.w 2
loc_37EC2:
move.l #Map_2PItemIcon,$C(a0)
- move.w #-$78B0,$A(a0)
+ move.w #$8750,$A(a0)
move.w #0,8(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
@@ -74957,10 +75031,9 @@ loc_37F60:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
Map_2PItemIcon: include "General/2P Zone/Map - Item Icon.asm"
-
; ---------------------------------------------------------------------------
move.l #Map_2PPosition,$C(a0)
- move.w #-$78A2,$A(a0)
+ move.w #$875E,$A(a0)
move.w #0,8(a0)
move.b #4,7(a0)
move.b #4,6(a0)
@@ -75033,7 +75106,6 @@ loc_380BC:
bra.s loc_38070
; ---------------------------------------------------------------------------
Map_2PPosition: include "General/2P Zone/Map - Position Icons (Unused).asm"
-
; ---------------------------------------------------------------------------
Obj_EMZDripper:
@@ -75047,7 +75119,7 @@ Obj_EMZDripper:
move.b #4,$1E(a0)
btst #0,$2A(a0)
beq.s loc_3814A
- move.w #-$3D00,$A(a0)
+ move.w #$C300,$A(a0)
move.b #3,$22(a0)
move.l #Draw_Sprite,(a0)
jmp (Draw_Sprite).l
@@ -75153,7 +75225,6 @@ loc_3824C:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
Map_EMZDripper: include "Levels/EMZ/Misc Object Data/Map - Dripper.asm"
-
; ---------------------------------------------------------------------------
locret_3827A:
@@ -75190,7 +75261,7 @@ loc_382DE:
subq.w #2,d0
bcc.s loc_382DE
move.l #loc_382FC,(a1)
- move.b #-$39,$28(a1)
+ move.b #$C7,$28(a1)
moveq #0,d0
loc_382F6:
@@ -75258,8 +75329,8 @@ loc_38390:
; End of function sub_38382
; ---------------------------------------------------------------------------
-Ani_HCZWaterDrop: include "Levels/HCZ/Misc Object Data/Anim - Water Drop.asm"
-
+Ani_HCZWaterDrop:
+ include "Levels/HCZ/Misc Object Data/Anim - Water Drop.asm"
; ---------------------------------------------------------------------------
Obj_HCZWaterSplash:
@@ -75274,8 +75345,8 @@ Obj_HCZWaterSplash:
loc_383DC:
ori.b #4,4(a0)
move.w #$300,8(a0)
- move.b #-$60,7(a0)
- move.b #-$80,6(a0)
+ move.b #$A0,7(a0)
+ move.b #$80,6(a0)
move.b #-1,$31(a0)
move.b #0,$2A(a0)
bset #6,4(a0)
@@ -75339,8 +75410,8 @@ loc_384B2:
addq.b #2,d0
andi.b #$F,d0
bne.s loc_384DA
- moveq #sfx_WaterSkid,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaterSkid),d0
+ jsr (Play_SFX).l
loc_384DA:
subq.b #1,$24(a0)
@@ -75529,7 +75600,7 @@ Obj_TensionBridge:
loc_386D0:
cmpi.b #9,(Current_zone).w
bne.s loc_386DE
- move.w #-$1EED,$A(a0)
+ move.w #$E113,$A(a0)
loc_386DE:
tst.b $2C(a0)
@@ -75539,7 +75610,7 @@ loc_386DE:
loc_386F0:
move.b #4,4(a0)
- move.b #-$80,7(a0)
+ move.b #$80,7(a0)
move.b #8,6(a0)
move.w $14(a0),d2
move.w d2,$3C(a0)
@@ -75665,7 +75736,7 @@ loc_38822:
loc_3883A:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_3884E
@@ -75893,8 +75964,8 @@ loc_38A00:
loc_38A64:
move.w #0,$18(a3)
move.w #0,$1A(a3)
- moveq #sfx_BridgeCollapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_BridgeCollapse),d0
+ jmp (Play_SFX).l
; End of function sub_389DE
; ---------------------------------------------------------------------------
@@ -76394,18 +76465,14 @@ BridgeBendData: dc.b $FF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
dc.b $19, $38, $50, $6D, $83, $9D, $B0, $C5, $D8, $E4, $F1, $F8, $FE, $FF, 0, 0
dc.b $19, $31, $4A, $67, $7E, $93, $A7, $BD, $CD, $DB, $E7, $F3, $F9, $FE, $FF, 0
dc.b $19, $31, $4A, $61, $78, $8E, $A2, $B5, $C5, $D4, $E1, $EC, $F4, $FB, $FE, $FF
-Map_ICZTensionBridge:include "Levels/ICZ/Misc Object Data/Map - ICZ Tension Bridge.asm"
-
-Map_TensionBridge:include "Levels/Misc/Map - Tension Bridge.asm"
-
+Map_ICZTensionBridge:
+ include "Levels/ICZ/Misc Object Data/Map - ICZ Tension Bridge.asm"
+Map_TensionBridge:
+ include "Levels/Misc/Map - Tension Bridge.asm"
byte_39006: dc.b 2, 4, 4, 4, 4, 4, $C, 0
-
byte_3900E: dc.b 2, 4, 6, 6, 6, 6, 8, 8, 8, 8, $A, $A, 0, 0
-
byte_3901C: dc.b 2, 4, 6, 6, 6, 6, 8, 8, 8, 8, $A, 0
-
byte_39028: dc.b 2, 4, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, $E, 0
-
word_3903C: dc.w $840
dc.w $120
dc.l byte_39006
@@ -76432,7 +76499,7 @@ word_3903C: dc.w $840
dc.l byte_3900E
; ---------------------------------------------------------------------------
-Obj_69_1:
+Obj_HCZTwistingLoop:
move.b $2C(a0),d0
andi.w #$7F,d0
lsl.w #3,d0
@@ -76785,8 +76852,8 @@ loc_3945E:
jsr (sub_3968E).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_SonicSnowboard: include "General/Sprites/Sonic/Anim - Sonic Snowboard.asm"
-
+Ani_SonicSnowboard:
+ include "General/Sprites/Sonic/Anim - Sonic Snowboard.asm"
; ---------------------------------------------------------------------------
loc_394A0:
@@ -76820,8 +76887,8 @@ loc_39502:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_39514
- moveq #sfx_SlideSkidQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SlideSkidQuiet),d0
+ jsr (Play_SFX).l
loc_39514:
cmpi.w #$1310,$10(a2)
@@ -76871,8 +76938,8 @@ loc_39586:
move.b #$19,$20(a2)
move.b #0,$2E(a2)
move.w #$14,(Screen_shake_flag).w
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
move.w #2,(Tails_CPU_routine).w
loc_395CC:
@@ -76887,8 +76954,8 @@ loc_395CC:
bne.s loc_395F2
loc_395EA:
- moveq #sfx_GroundSlide,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GroundSlide),d0
+ jsr (Play_SFX).l
loc_395F2:
jsr (sub_3968E).l
@@ -76925,8 +76992,8 @@ loc_39658:
move.b $22(a0),d0
cmp.b $32(a0),d0
beq.s loc_3966A
- moveq #sfx_GroundSlide,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GroundSlide),d0
+ jsr (Play_SFX).l
loc_3966A:
jsr (sub_3968E).l
@@ -77203,14 +77270,13 @@ loc_399A6:
loc_399CA:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Ani_SnowboardDust: include "General/Sprites/Snowboard/Anim - Snowboard Dust.asm"
-
-Map_SnowboardDust: include "General/Sprites/Snowboard/Map - Snowboard Dust.asm"
-
-ArtNem_SnowboardDust: binclude "General/Sprites/Snowboard/Snowboard Dust.bin"
- even
-
-
+Ani_SnowboardDust:
+ include "General/Sprites/Snowboard/Anim - Snowboard Dust.asm"
+Map_SnowboardDust:
+ include "General/Sprites/Snowboard/Map - Snowboard Dust.asm"
+ArtNem_SnowboardDust:
+ binclude "General/Sprites/Snowboard/Snowboard Dust.bin"
+ even
; ---------------------------------------------------------------------------
Obj_LevelIntro_PlayerLaunchFromGround:
@@ -77294,8 +77360,8 @@ loc_39AD2:
move.w #$5C0,(Dust_P2+y_pos).w
loc_39B22:
- moveq #sfx_SandSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SandSplash),d0
+ jsr (Play_SFX).l
move.b #0,(Ctrl_1_locked).w
move.b #0,(Ctrl_2_locked).w
jmp (Delete_Current_Sprite).l
@@ -77376,8 +77442,8 @@ loc_39BEE:
move.w d0,(Camera_min_Y_pos).w
move.w d0,(Camera_target_min_Y_pos).w
move.w d0,(Camera_min_Y_pos_P2).w
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -77390,7 +77456,7 @@ Obj_LRZCollapsingBridge:
move.b #4,4(a0)
move.w #$80,8(a0)
move.l #Map_LRZCollapsingBridge,$C(a0)
- move.w #-$3F2D,$A(a0)
+ move.w #$C0D3,$A(a0)
move.b $2C(a0),d0
move.b d0,d1
andi.w #$F,d0
@@ -77547,8 +77613,8 @@ loc_39E08:
clr.w respawn_addr(a0)
loc_39E18:
- moveq #sfx_Collapse,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
word_39E20: dc.w $15
dc.b $E0, 4, 7, $24
@@ -77573,11 +77639,11 @@ word_39E20: dc.w $15
dc.b $20, $18, 1, 4
dc.b $D4, $C, 4, $16
dc.b $2C, $C, 5, $14
-Map_LRZCollapsingBridge:include "Levels/LRZ/Misc Object Data/Map - Collapsing Bridge.asm"
-
+Map_LRZCollapsingBridge:
+ include "Levels/LRZ/Misc Object Data/Map - Collapsing Bridge.asm"
; ---------------------------------------------------------------------------
-Obj_6F_1:
+Obj_FBZWireCage:
move.b $2C(a0),d0
bpl.s loc_39F48
andi.w #$7F,d0
@@ -77851,7 +77917,7 @@ RawAni_3A220: dc.b $6D, $6D, $6E, $6E, $6F, $6F, $70, $70, $71, $71, $72, $72,
dc.b $77, $77, $6C, $6C, $6D, $6D
; ---------------------------------------------------------------------------
-Obj_70_1_FBZ_Twisting_Cylinders:
+Obj_FBZWireCageStationary:
moveq #0,d0
move.b $2C(a0),d0
lsl.w #8,d0
@@ -78048,8 +78114,7 @@ loc_3A426:
rts
; ---------------------------------------------------------------------------
byte_3A468: dc.b 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4
-RawAni_3A474:
- dc.b $49, $54, $53, $52, $53, $52, $53, $52, $53, $52, $54, $49
+RawAni_3A474: dc.b $49, $54, $53, $52, $53, $52, $53, $52, $53, $52, $54, $49
; ---------------------------------------------------------------------------
loc_3A480:
@@ -78282,11 +78347,11 @@ loc_3A724:
locret_3A740:
rts
; ---------------------------------------------------------------------------
-Map_FBZFloatingPlatform:include "Levels/FBZ/Misc Object Data/Map - Floating Platform.asm"
-
+Map_FBZFloatingPlatform:
+ include "Levels/FBZ/Misc Object Data/Map - Floating Platform.asm"
; ---------------------------------------------------------------------------
-Obj_FBZ_ChainLink:
+Obj_FBZChainLink:
move.b $2C(a0),d0
bpl.s loc_3A7E6
andi.w #$3F,d0
@@ -78494,8 +78559,8 @@ loc_3AA18:
move.b #$14,$20(a1)
move.b #1,$2E(a1)
move.b #1,(a2)
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
locret_3AA58:
rts
@@ -78619,8 +78684,8 @@ loc_3ABBE:
move.b 4(a2),d1
cmpi.b #2,d1
bne.s loc_3ABE4
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
loc_3ABE4:
subq.w #1,d1
@@ -78763,14 +78828,14 @@ loc_3AD10:
move.l a2,-(sp)
jsr (Perform_Player_DPLC).l
movea.l (sp)+,a2
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
locret_3AD88:
rts
; ---------------------------------------------------------------------------
-Map_FBZChainLink:include "Levels/FBZ/Misc Object Data/Map - Chain Link.asm"
-
+Map_FBZChainLink:
+ include "Levels/FBZ/Misc Object Data/Map - Chain Link.asm"
; ---------------------------------------------------------------------------
Obj_FBZMagneticSpikeBall:
@@ -78784,8 +78849,8 @@ Obj_FBZMagneticSpikeBall:
move.b #$10,7(a0)
move.b #$10,6(a0)
move.b #-$66,$28(a0)
- move.l #loc_1B662,(a0)
- jmp (loc_1B662).l
+ move.l #Sprite_CheckDeleteTouch3,(a0)
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_3B122:
@@ -78799,7 +78864,7 @@ loc_3B122:
; ---------------------------------------------------------------------------
loc_3B146:
- move.w #-$5BBE,$A(a0)
+ move.w #$A442,$A(a0)
move.b #$24,7(a0)
move.b #4,6(a0)
move.b #4,$22(a0)
@@ -78831,7 +78896,7 @@ loc_3B1B2:
move.l #loc_3B1C4,(a0)
loc_3B1BE:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_3B1C4:
@@ -78850,7 +78915,7 @@ loc_3B1EA:
move.l #loc_3B18C,(a0)
loc_3B1F6:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_3B1FC:
@@ -78867,8 +78932,8 @@ loc_3B214:
bne.s loc_3B22C
tst.b 4(a0)
bpl.s loc_3B22C
- moveq #sfx_MagneticSpike,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MagneticSpike),d0
+ jsr (Play_SFX).l
loc_3B22C:
jmp (Sprite_OnScreen_Test).l
@@ -78893,8 +78958,8 @@ loc_3B250:
loc_3B256:
jmp (Delete_Sprite_If_Not_In_Range).l
; ---------------------------------------------------------------------------
-Map_FBZMagneticSpikeBall:include "Levels/FBZ/Misc Object Data/Map - Magnetic Spike Ball.asm"
-
+Map_FBZMagneticSpikeBall:
+ include "Levels/FBZ/Misc Object Data/Map - Magnetic Spike Ball.asm"
; ---------------------------------------------------------------------------
Obj_FBZMagneticPlatform:
@@ -78976,8 +79041,8 @@ loc_3B3FA:
move.w d0,$14(a0)
move.w #0,$1A(a0)
move.l #loc_3B450,(a0)
- moveq #sfx_ChainTension,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ChainTension),d0
+ jsr (Play_SFX).l
bra.s loc_3B450
; ---------------------------------------------------------------------------
@@ -79002,7 +79067,7 @@ loc_3B462:
move.w #-9,d3
move.w $10(a0),d4
jsr SolidObjectFull_Offset
- jmp loc_1B662
+ jmp Sprite_CheckDeleteTouch3
; ---------------------------------------------------------------------------
loc_3B482:
@@ -79048,8 +79113,8 @@ locret_3B4DC:
; End of function sub_3B488
; ---------------------------------------------------------------------------
-Map_FBZMagneticPlatform:include "Levels/FBZ/Misc Object Data/Map - Magnetic Platform.asm"
-
+Map_FBZMagneticPlatform:
+ include "Levels/FBZ/Misc Object Data/Map - Magnetic Platform.asm"
; ---------------------------------------------------------------------------
Obj_FBZSnakePlatform:
@@ -79208,8 +79273,8 @@ loc_3B6AE:
; End of function FBZSnake_ChangeDir
; ---------------------------------------------------------------------------
-Map_FBZSnakePlatform: include "Levels/FBZ/Misc Object Data/Map - Snake Platform.asm"
-
+Map_FBZSnakePlatform:
+ include "Levels/FBZ/Misc Object Data/Map - Snake Platform.asm"
byte_3B6D8: dc.b $18
byte_3B6D9: dc.b $10
dc.b $10
@@ -79244,7 +79309,6 @@ loc_3B718:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
Map_FBZBentPipe:include "Levels/FBZ/Misc Object Data/Map - Bent Pipe.asm"
-
; ---------------------------------------------------------------------------
Obj_FBZRotatingPlatform:
@@ -79359,8 +79423,8 @@ loc_3B90C:
move.w $44(a0),d0
jmp (loc_1B666).l
; ---------------------------------------------------------------------------
-Map_FBZRotatingPlatform:include "Levels/FBZ/Misc Object Data/Map - Rotating Platform.asm"
-
+Map_FBZRotatingPlatform:
+ include "Levels/FBZ/Misc Object Data/Map - Rotating Platform.asm"
; ---------------------------------------------------------------------------
Obj_FBZDEZPlayerLauncher:
@@ -79444,8 +79508,8 @@ loc_3BA1E:
move.w d1,$18(a0)
move.b #$C,$30(a0)
move.b #4,$31(a0)
- moveq #sfx_FloorLauncher,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorLauncher),d0
+ jsr (Play_SFX).l
locret_3BA48:
rts
@@ -79479,8 +79543,8 @@ loc_3BA70:
move.w $44(a0),d0
jmp (Sprite_OnScreen_Test2).l
; ---------------------------------------------------------------------------
-Map_FBZDEZPlayerLauncher:include "Levels/FBZ/Misc Object Data/Map - DEZ Player Launcher.asm"
-
+Map_FBZDEZPlayerLauncher:
+ include "Levels/FBZ/Misc Object Data/Map - DEZ Player Launcher.asm"
word_3BAAA: dc.w $7F
dc.w $FF
dc.w $1FF
@@ -79566,11 +79630,10 @@ locret_3BB98:
; End of function sub_3BB86
; ---------------------------------------------------------------------------
-Ani_FBZDisappearingPlatform: include "Levels/FBZ/Misc Object Data/Anim - Disappearing Platform.asm"
-
-Map_FBZDisappearingPlatform:include "Levels/FBZ/Misc Object Data/Map - Disappearing Platform.asm"
-
-
+Ani_FBZDisappearingPlatform:
+ include "Levels/FBZ/Misc Object Data/Anim - Disappearing Platform.asm"
+Map_FBZDisappearingPlatform:
+ include "Levels/FBZ/Misc Object Data/Map - Disappearing Platform.asm"
byte_3BBE8: dc.b 8
byte_3BBE9: dc.b $20
dc.b $20
@@ -79622,8 +79685,8 @@ loc_3BC72:
tst.b (a3,d0.w)
beq.s loc_3BCF2
move.l #loc_3BC92,(a0)
- moveq #sfx_DoorOpen,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorOpen),d0
+ jsr (Play_SFX).l
loc_3BC92:
addq.b #1,$2E(a0)
@@ -79699,13 +79762,13 @@ loc_3BD54:
move.l #loc_3BC92,(a0)
bra.w loc_3BC92
; ---------------------------------------------------------------------------
-Ani_FBZScrewDoor: include "Levels/FBZ/Misc Object Data/Anim - Screw Door.asm"
-
-Map_FBZScrewDoor:include "Levels/FBZ/Misc Object Data/Map - Screw Door.asm"
-
+Ani_FBZScrewDoor:
+ include "Levels/FBZ/Misc Object Data/Anim - Screw Door.asm"
+Map_FBZScrewDoor:
+ include "Levels/FBZ/Misc Object Data/Map - Screw Door.asm"
; ---------------------------------------------------------------------------
-Obj_7B_1:
+Obj_FBZSpinningPole:
moveq #0,d0
move.b $2C(a0),d0
lsl.w #3,d0
@@ -79922,14 +79985,15 @@ loc_3C1EE:
moveq #0,d0
move.b (a2),d0
move.b CollisionEffects_3C208(pc,d0.w),$28(a0)
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
-CollisionEffects_3C208:dc.b $B6
+CollisionEffects_3C208:
+ dc.b $B6
dc.b 0
dc.b $B6
dc.b $B7
-Map_FBZPropeller:include "Levels/FBZ/Misc Object Data/Map - Propeller.asm"
-
+Map_FBZPropeller:
+ include "Levels/FBZ/Misc Object Data/Map - Propeller.asm"
; ---------------------------------------------------------------------------
Obj_FBZPiston:
@@ -79998,7 +80062,6 @@ loc_3C322:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Map_FBZPiston: include "Levels/FBZ/Misc Object Data/Map - Piston.asm"
-
byte_3C344: dc.b $10
byte_3C345: dc.b $10
dc.b $20
@@ -80077,13 +80140,13 @@ loc_3C3EE:
move.w $44(a0),d0
jmp (Sprite_OnScreen_Test2).l
; ---------------------------------------------------------------------------
-Map_FBZPlatformBlocks:include "Levels/FBZ/Misc Object Data/Map - Platform Blocks.asm"
-
+Map_FBZPlatformBlocks:
+ include "Levels/FBZ/Misc Object Data/Map - Platform Blocks.asm"
; ---------------------------------------------------------------------------
Obj_FBZMissileLauncher:
move.l #Map_FBZMissileLauncher,$C(a0)
- move.w #-$5CD5,$A(a0)
+ move.w #$A32B,$A(a0)
ori.b #4,4(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
@@ -80112,7 +80175,7 @@ Obj_FBZMissileLauncher:
move.w $10(a0),$44(a1)
move.b 4(a0),4(a1)
move.l $C(a0),$C(a1)
- move.w #-$3CD5,$A(a1)
+ move.w #$C32B,$A(a1)
move.w #$100,8(a1)
move.b #$20,7(a1)
move.b #8,6(a1)
@@ -80153,7 +80216,7 @@ loc_3C552:
subi.w #$44,$46(a1)
move.b 4(a0),4(a1)
move.l $C(a0),$C(a1)
- move.w #-$5CD5,$A(a1)
+ move.w #$A32B,$A(a1)
move.w #$80,8(a1)
move.b #8,7(a1)
move.b #$24,6(a1)
@@ -80170,8 +80233,8 @@ loc_3C552:
lsl.l #8,d0
move.l d0,$36(a1)
addq.b #2,$23(a0)
- moveq #sfx_LevelProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LevelProjectile),d0
+ jsr (Play_SFX).l
loc_3C5F4:
subq.b #1,$34(a0)
@@ -80213,7 +80276,7 @@ loc_3C648:
bne.w loc_3C67C
move.l #Obj_Explosion,(a1)
move.b #6,5(a1)
- move.w #-$8000,$A(a1)
+ move.w #$8000,$A(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
move.w (a2)+,d0
@@ -80225,8 +80288,8 @@ loc_3C67C:
dbf d1,loc_3C648
move.w #$7F00,$10(a0)
move.w $10(a0),$44(a0)
- moveq #sfx_TubeLauncher,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TubeLauncher),d0
+ jsr (Play_SFX).l
loc_3C694:
moveq #0,d1
@@ -80314,12 +80377,12 @@ loc_3C768:
move.b #6,5(a0)
clr.b $28(a0)
clr.b $29(a0)
- moveq #sfx_Explode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Explode),d0
+ jsr (Play_SFX).l
jmp (Obj_Explosion).l
; ---------------------------------------------------------------------------
-Map_FBZMissileLauncher:include "Levels/FBZ/Misc Object Data/Map - Missile Launcher.asm"
-
+Map_FBZMissileLauncher:
+ include "Levels/FBZ/Misc Object Data/Map - Missile Launcher.asm"
; ---------------------------------------------------------------------------
Obj_FBZWallMissile:
@@ -80360,8 +80423,8 @@ loc_3C828:
neg.w $18(a1)
loc_3C894:
- moveq #sfx_LevelProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LevelProjectile),d0
+ jsr (Play_SFX).l
loc_3C89C:
move.l #loc_3C8B6,(a0)
@@ -80404,8 +80467,8 @@ loc_3C8E8:
loc_3C900:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_FBZWallMissile: include "Levels/FBZ/Misc Object Data/Map - Wall Missile.asm"
-
+Map_FBZWallMissile:
+ include "Levels/FBZ/Misc Object Data/Map - Wall Missile.asm"
; ---------------------------------------------------------------------------
Obj_FBZMine:
@@ -80467,12 +80530,11 @@ loc_3C9E4:
move.b #6,5(a0)
clr.b $28(a0)
clr.b $29(a0)
- moveq #sfx_Explode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Explode),d0
+ jsr (Play_SFX).l
jmp (Obj_Explosion).l
; ---------------------------------------------------------------------------
Map_FBZMine: include "Levels/FBZ/Misc Object Data/Map - Mine.asm"
-
; ---------------------------------------------------------------------------
Obj_FBZElevator:
@@ -80530,7 +80592,6 @@ byte_3CAD0: dc.b $10, $10, $10, $10, $10, $10, $10, $11, $12, $12, $13, $13, $1
dc.b $16, $16, $17, $17, $17, $18, $18, $18, $19, $19, $19, $1A, $1A, $1A, $1B, $1B, $1B, $1C, $1C, $1C
dc.b $1D, $1D, $1D, $1E, $1E, $1E, $1F, $1F, $1F, $20, $20, $20, $21, $21, $21, $21, $21, $21, $21, $21
Map_FBZElevator:include "Levels/FBZ/Misc Object Data/Map - Elevator.asm"
-
; ---------------------------------------------------------------------------
Obj_FBZTrapSpring:
@@ -80614,15 +80675,15 @@ loc_3CC34:
neg.w $1C(a1)
loc_3CC44:
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_3CBCE
; ---------------------------------------------------------------------------
-Ani_FBZTrapSpring: include "Levels/FBZ/Misc Object Data/Anim - Trap Spring.asm"
-
-Map_FBZTrapSpring:include "Levels/FBZ/Misc Object Data/Map - Trap Spring.asm"
-
+Ani_FBZTrapSpring:
+ include "Levels/FBZ/Misc Object Data/Anim - Trap Spring.asm"
+Map_FBZTrapSpring:
+ include "Levels/FBZ/Misc Object Data/Map - Trap Spring.asm"
; ---------------------------------------------------------------------------
Obj_FBZFlamethrower:
@@ -80689,8 +80750,8 @@ loc_3CD4C:
bne.s loc_3CD6E
tst.b 4(a0)
bpl.s loc_3CD6E
- moveq #sfx_FlamethrowerLoud,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerLoud),d0
+ jsr (Play_SFX).l
loc_3CD6E:
tst.b 4(a0)
@@ -80728,8 +80789,8 @@ loc_3CDD0:
bne.w loc_3CDFC
andi.b #$F,d1
bne.s loc_3CDEC
- moveq #sfx_FlamethrowerLoud,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerLoud),d0
+ jsr (Play_SFX).l
loc_3CDEC:
tst.b 4(a0)
@@ -80902,8 +80963,8 @@ loc_3CFA2:
loc_3CFCA:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_FBZFlameThrower:include "Levels/FBZ/Misc Object Data/Map - Flamethrower.asm"
-
+Map_FBZFlameThrower:
+ include "Levels/FBZ/Misc Object Data/Map - Flamethrower.asm"
; ---------------------------------------------------------------------------
Obj_FBZSpiderCrane:
@@ -81073,8 +81134,8 @@ loc_3D2D2:
loc_3D2F6:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_FBZSpiderCrane:include "Levels/FBZ/Misc Object Data/Map - Spider Crane.asm"
-
+Map_FBZSpiderCrane:
+ include "Levels/FBZ/Misc Object Data/Map - Spider Crane.asm"
; ---------------------------------------------------------------------------
Obj_FBZMagneticPendulum:
@@ -81226,8 +81287,8 @@ loc_3D5C4:
clr.b $27(a0)
move.b d1,$2E(a0)
clr.b $2F(a0)
- moveq #sfx_Clank,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Clank),d0
+ jsr (Play_SFX).l
tst.b $32(a0)
beq.w loc_3D730
clr.b $32(a0)
@@ -81347,8 +81408,8 @@ loc_3D6C4:
lsl.w #3,d0
sub.w d2,d0
move.w d0,$1A(a2)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
loc_3D730:
jmp (Draw_Sprite).l
@@ -81578,8 +81639,8 @@ loc_3D98E:
dbf d4,loc_3D98E
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_FBZMagneticPendulum:include "Levels/FBZ/Misc Object Data/Map - Magnetic Pendulum.asm"
-
+Map_FBZMagneticPendulum:
+ include "Levels/FBZ/Misc Object Data/Map - Magnetic Pendulum.asm"
; ---------------------------------------------------------------------------
Obj_MHZ_Pollen_Spawner:
@@ -81710,7 +81771,7 @@ sub_3DB68:
tst.b (_unkF7C1).w
bne.s loc_3DB7E
move.l #Map_MHZPollen,$C(a1)
- move.w #-$1C98,$A(a1)
+ move.w #$E368,$A(a1)
rts
; ---------------------------------------------------------------------------
@@ -81721,13 +81782,13 @@ loc_3DB7E:
move.b byte_3DBB0(pc,d0.w),d0
bne.s loc_3DBA0
move.l #Map_MHZBigLeaves,$C(a1)
- move.w #-$1C9D,$A(a1)
+ move.w #$E363,$A(a1)
rts
; ---------------------------------------------------------------------------
loc_3DBA0:
move.l #Map_MHZPollen,$C(a1)
- move.w #-$1C9D,$A(a1)
+ move.w #$E363,$A(a1)
rts
; End of function sub_3DB68
@@ -81806,13 +81867,13 @@ locret_3DC5A:
; End of function sub_3DC3A
; ---------------------------------------------------------------------------
-Map_MHZPollen: include "Levels/MHZ/Misc Object Data/Map - Pollen Leaves.asm"
-
-Map_MHZBigLeaves: include "Levels/MHZ/Misc Object Data/Map - Big Leaves.asm"
-
+Map_MHZPollen:
+ include "Levels/MHZ/Misc Object Data/Map - Pollen Leaves.asm"
+Map_MHZBigLeaves:
+ include "Levels/MHZ/Misc Object Data/Map - Big Leaves.asm"
; ---------------------------------------------------------------------------
-Obj_03_2:
+Obj_MHZTwistedVine:
move.b #-$30,7(a0)
btst #0,$2A(a0)
beq.s loc_3DCB4
@@ -82282,18 +82343,18 @@ MHZMushroomCap_BounceCharacter:
clr.b spin_dash_flag(a1)
move.b #$10,anim(a1) ; Set character to 'spring-jumping' animation
move.b #2,routine(a1)
- moveq #sfx_MushroomBounce,d0
- jmp (Play_Sound_2).l ; Play bounce sound
+ moveq #signextendB(sfx_MushroomBounce),d0
+ jmp (Play_SFX).l ; Play bounce sound
.return:
rts
; End of function MHZMushroomCap_BounceCharacter
; ---------------------------------------------------------------------------
-Ani_MHZMushroomCap: include "Levels/MHZ/Misc Object Data/Anim - Mushroom Cap.asm"
-
-Map_MHZMushroomCap:include "Levels/MHZ/Misc Object Data/Map - Mushroom Cap.asm"
-
+Ani_MHZMushroomCap:
+ include "Levels/MHZ/Misc Object Data/Anim - Mushroom Cap.asm"
+Map_MHZMushroomCap:
+ include "Levels/MHZ/Misc Object Data/Map - Mushroom Cap.asm"
; ---------------------------------------------------------------------------
Obj_MHZPulleyLift:
@@ -82617,8 +82678,8 @@ loc_3E5CC:
move.b d1,(a4)
move.b d1,1(a4)
move.w d0,d1
- moveq #sfx_RingRight,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_RingRight),d0
+ jsr (Play_SFX).l
move.w d1,d0
loc_3E5E0:
@@ -82668,8 +82729,8 @@ loc_3E632:
beq.s loc_3E646
tst.b $2C(a3)
beq.s loc_3E646
- moveq #sfx_PulleyMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_PulleyMove),d0
+ jsr (Play_SFX).l
loc_3E646:
move.w $10(a0),$10(a1)
@@ -82732,16 +82793,16 @@ loc_3E690:
andi.b #-3,4(a1)
move.b #1,(a2)
move.b #-$70,d1
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
bra.w loc_3E658
; ---------------------------------------------------------------------------
locret_3E71E:
rts
; ---------------------------------------------------------------------------
-Map_MHZPulleyLift:include "Levels/MHZ/Misc Object Data/Map - Pulley Lift.asm"
-
+Map_MHZPulleyLift:
+ include "Levels/MHZ/Misc Object Data/Map - Pulley Lift.asm"
; ---------------------------------------------------------------------------
Obj_MHZCurledVine:
@@ -82968,8 +83029,8 @@ locret_3EA4A:
; End of function sub_3E9C6
; ---------------------------------------------------------------------------
-Map_MHZCurledVine:include "Levels/MHZ/Misc Object Data/Map - Curled Vine.asm"
-
+Map_MHZCurledVine:
+ include "Levels/MHZ/Misc Object Data/Map - Curled Vine.asm"
; ---------------------------------------------------------------------------
Obj_MHZStickyVine:
@@ -83248,8 +83309,8 @@ loc_3ED02:
loc_3ED0A:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_MHZStickyVine:include "Levels/MHZ/Misc Object Data/Map - Sticky Vine.asm"
-
+Map_MHZStickyVine:
+ include "Levels/MHZ/Misc Object Data/Map - Sticky Vine.asm"
; ---------------------------------------------------------------------------
Obj_MHZSwingBarHorizontal:
@@ -83443,8 +83504,8 @@ loc_3EF9C:
move.l a2,-(sp)
jsr (Perform_Player_DPLC).l
movea.l (sp)+,a2
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
locret_3EFB8:
rts
@@ -83506,9 +83567,8 @@ loc_3EFF2:
RawAni_3F01A: dc.b $94, $63, $64, $64, $65, $65, $65, $66, $66, $66, $66, $67, $67, $67, $68, $68, $95, $63, $64, $64
dc.b $65, $65, $65, $66, $66, $66, $66, $67, $67, $67, $68, $68
byte_3F03A: dc.b $14, $14, $B, $B, $F1, $F1, $F1, $EC, $EC, $EC, $EC, $F4, $F4, $F4, $FE, $FE
-Map_MHZSwingBarHorizontal:include "Levels/MHZ/Misc Object Data/Map - Swing Bar Horizontal.asm"
-
-
+Map_MHZSwingBarHorizontal:
+ include "Levels/MHZ/Misc Object Data/Map - Swing Bar Horizontal.asm"
; ---------------------------------------------------------------------------
Obj_MHZSwingBarVertical:
@@ -83734,14 +83794,14 @@ loc_3F346:
move.l a2,-(sp)
jsr (Perform_Player_DPLC).l
movea.l (sp)+,a2
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
locret_3F35E:
rts
; ---------------------------------------------------------------------------
-Map_MHZSwingBarVertical:include "Levels/MHZ/Misc Object Data/Map - Swing Bar Vertical.asm"
-
+Map_MHZSwingBarVertical:
+ include "Levels/MHZ/Misc Object Data/Map - Swing Bar Vertical.asm"
; ---------------------------------------------------------------------------
Obj_MHZMushroomPlatform:
@@ -83792,18 +83852,17 @@ loc_3F40A:
jsr (Animate_Sprite).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Ani_MHZMushroomPlatform: include "Levels/MHZ/Misc Object Data/Anim - Mushroom Platform.asm"
-
+Ani_MHZMushroomPlatform:
+ include "Levels/MHZ/Misc Object Data/Anim - Mushroom Platform.asm"
byte_3F42A: dc.b $C, $D, $E, $F, $10, $11, $12, $13, $13, $14, $14, $14, $14, $14, $14, $14, $14, $14, $14, $14
dc.b $14, $14, $14, $13, $13, $12, $11, $10, $F, $E, $D, $C
-
-Map_MHZMushroomPlatform:include "Levels/MHZ/Misc Object Data/Map - Mushroom Platform.asm"
-
+Map_MHZMushroomPlatform:
+ include "Levels/MHZ/Misc Object Data/Map - Mushroom Platform.asm"
; ---------------------------------------------------------------------------
Obj_MHZMushroomParachute:
move.l #Map_MHZMushroomParachute,$C(a0)
- move.w #-$3C33,$A(a0)
+ move.w #$C3CD,$A(a0)
ori.b #4,4(a0)
move.w #$280,8(a0)
move.b #$20,7(a0)
@@ -83988,8 +84047,7 @@ loc_3F6BC:
movea.l (sp)+,a2
rts
; ---------------------------------------------------------------------------
-RawAni_3F6EE:
- dc.b $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5, $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5
+RawAni_3F6EE: dc.b $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5, $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5
; ---------------------------------------------------------------------------
loc_3F6FE:
@@ -84033,8 +84091,8 @@ loc_3F70C:
move.w #$80,8(a0)
move.w $18(a0),$18(a1)
move.w $1A(a0),$1A(a1)
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
bra.w loc_3F6A6
; ---------------------------------------------------------------------------
@@ -84130,8 +84188,8 @@ locret_3F850:
; End of function sub_3F7E2
; ---------------------------------------------------------------------------
-Map_MHZMushroomParachute:include "Levels/MHZ/Misc Object Data/Map - Mushroom Parachute.asm"
-
+Map_MHZMushroomParachute:
+ include "Levels/MHZ/Misc Object Data/Map - Mushroom Parachute.asm"
; ---------------------------------------------------------------------------
Obj_MHZMushroomCatapult:
@@ -84308,8 +84366,8 @@ loc_3FA66:
clr.b $3D(a2)
move.b #$10,$20(a2)
move.b #2,5(a2)
- moveq #sfx_MushroomBounce,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_MushroomBounce),d0
+ jmp (Play_SFX).l
; End of function sub_3FA5A
; ---------------------------------------------------------------------------
@@ -84339,8 +84397,8 @@ loc_3FAC2:
cmpi.w #$18,$34(a1)
bne.s loc_3FB06
move.l #loc_3FB0C,(a0)
- moveq #sfx_Flipper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Flipper),d0
+ jsr (Play_SFX).l
move.w #$18,$36(a1)
move.w #-$800,$1A(a0)
tst.w $3A(a1)
@@ -84372,12 +84430,11 @@ loc_3FB4A:
; ---------------------------------------------------------------------------
byte_3FB50: dc.b 4, 5, 6, 7, 8, 9, $A, $B, $B, $C, $C, $C, $C, $C, $C, $C, $C, $C, $C, $C
dc.b $C, $C, $C, $B, $B, $A, 9, 8, 7, 6, 5, 4
-
-Map_MHZMushroomCatapult:include "Levels/MHZ/Misc Object Data/Map - Mushroom Catapult.asm"
-
+Map_MHZMushroomCatapult:
+ include "Levels/MHZ/Misc Object Data/Map - Mushroom Catapult.asm"
; ---------------------------------------------------------------------------
-Obj_14_2:
+Obj_Updraft:
move.b $2C(a0),d0
andi.w #$7F,d0
lsl.w #3,d0
@@ -84433,8 +84490,8 @@ loc_3FC0E:
move.b (V_int_run_count+3).w,d0
andi.b #$F,d0
bne.s loc_3FC4A
- moveq #sfx_WindQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WindQuiet),d0
+ jsr (Play_SFX).l
loc_3FC4A:
tst.b $2C(a0)
@@ -84492,7 +84549,7 @@ loc_3FCC6:
; ---------------------------------------------------------------------------
-Obj_38_2:
+Obj_SOZQuicksand:
moveq #0,d0
move.b $2C(a0),d0
andi.w #$3F,d0
@@ -84602,8 +84659,8 @@ loc_3FE04:
andi.w #$70,d5
beq.s loc_3FE18
move.w #-$800,$1A(a1)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
loc_3FE18:
tst.w $1A(a1)
@@ -84718,8 +84775,8 @@ loc_3FF3C:
move.b #$1E,(a2)
bclr #3,$2A(a1)
bclr d6,$2A(a0)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -84956,8 +85013,8 @@ loc_4020A:
bclr #4,$2A(a1)
move.b #0,double_jump_flag(a1)
move.b #1,$40(a1)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -85127,12 +85184,11 @@ loc_40432:
move.w $10(a0),d4
bra.w loc_403A2
; ---------------------------------------------------------------------------
-Map_SOZSpawningSandBlocks:include "Levels/SOZ/Misc Object Data/Map - Spawning Sand Blocks.asm"
-
-
+Map_SOZSpawningSandBlocks:
+ include "Levels/SOZ/Misc Object Data/Map - Spawning Sand Blocks.asm"
; ---------------------------------------------------------------------------
-Obj_3B_2:
+Obj_SOZLoopFallthrough:
move.b $2C(a0),d0
andi.w #$7F,d0
lsl.w #4,d0
@@ -85304,8 +85360,8 @@ loc_40654:
move.b (Level_frame_counter+1).w,d0
andi.b #$1F,d0
bne.s loc_40672
- moveq #sfx_BlockConveyor,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BlockConveyor),d0
+ jsr (Play_SFX).l
loc_40672:
tst.w $18(a0)
@@ -85428,13 +85484,13 @@ loc_4075E:
sub_4076E:
- moveq #sfx_PushBlock,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_PushBlock),d0
+ jmp (Play_SFX).l
; End of function sub_4076E
; ---------------------------------------------------------------------------
-Map_SOZPushableRock:include "Levels/SOZ/Misc Object Data/Map - Pushable Rock.asm"
-
+Map_SOZPushableRock:
+ include "Levels/SOZ/Misc Object Data/Map - Pushable Rock.asm"
; ---------------------------------------------------------------------------
Obj_SOZSpringVine:
@@ -85675,8 +85731,8 @@ loc_409DE:
move.b #$10,$20(a1)
move.b #2,5(a1)
move.b #0,double_jump_flag(a1)
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_4093E
@@ -85762,8 +85818,8 @@ byte_40AAA: dc.b 0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 7,
dc.b $1A, $1B, $1B, $1C, $1D, $1D, $1E, $1F, $1F, $20, $21, $21, $22, $23, $23, $24, $25, $25, $26, $27
dc.b $27, $28, $27, $27, $26, $25, $24, $23, $22, $21, $20, $1F, $1E, $1D, $1C, $1B, $1A, $19, $18, $17
dc.b $16, $15, $14, $13, $12, $11, $10, $F, $E, $D, $C, $B, $A, 9, 8, 7, 0, 0
-Map_SOZSpringVine:include "Levels/SOZ/Misc Object Data/Map - Spring Vine.asm"
-
+Map_SOZSpringVine:
+ include "Levels/SOZ/Misc Object Data/Map - Spring Vine.asm"
; ---------------------------------------------------------------------------
Obj_SOZRisingSandWall:
@@ -85814,8 +85870,8 @@ sub_40B62:
move.w $14(a0),(a2)+
move.w #0,(a2)+
move.b #3,$24(a0)
- moveq #sfx_SandwallRise,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SandwallRise),d0
+ jsr (Play_SFX).l
move.l #loc_40BCA,(a0)
locret_40BC8:
@@ -85881,8 +85937,8 @@ loc_40C66:
asr $1C(a1)
loc_40C80:
- moveq #sfx_SandSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SandSplash),d0
+ jsr (Play_SFX).l
move.l #loc_40CEC,(a0)
move.b #5,$24(a0)
move.b #1,$22(a0)
@@ -85925,8 +85981,8 @@ loc_40CEC:
loc_40D0A:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_SOZRisingSandWall:include "Levels/SOZ/Misc Object Data/Map - Rising Sand Wall.asm"
-
+Map_SOZRisingSandWall:
+ include "Levels/SOZ/Misc Object Data/Map - Rising Sand Wall.asm"
; ---------------------------------------------------------------------------
Obj_SOZLightSwitch:
@@ -86105,16 +86161,16 @@ loc_4101C:
move.b #$14,$20(a1)
move.b #1,$2E(a1)
move.b #1,(a2)
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
locret_4108E:
rts
; End of function sub_40F52
; ---------------------------------------------------------------------------
-Map_SOZLightSwitch:include "Levels/SOZ/Misc Object Data/Map - Light Switch.asm"
-
+Map_SOZLightSwitch:
+ include "Levels/SOZ/Misc Object Data/Map - Light Switch.asm"
byte_4116A: dc.b $20, $40, 0, 0
dc.b $20, $50, 1, $30
dc.b $20, $50, 2, $C
@@ -86275,8 +86331,8 @@ loc_412D6:
move.w d0,$14(a0)
rts
; ---------------------------------------------------------------------------
-Map_SOZFloatingPillar:include "Levels/SOZ/Misc Object Data/Map - Floating Pillar.asm"
-
+Map_SOZFloatingPillar:
+ include "Levels/SOZ/Misc Object Data/Map - Floating Pillar.asm"
; ---------------------------------------------------------------------------
Obj_SOZSwingingPlatform:
@@ -86504,8 +86560,8 @@ loc_416C0:
; End of function sub_41636
; ---------------------------------------------------------------------------
-Map_SOZSwingingPlatform:include "Levels/SOZ/Misc Object Data/Map - Swinging Platform.asm"
-
+Map_SOZSwingingPlatform:
+ include "Levels/SOZ/Misc Object Data/Map - Swinging Platform.asm"
; ---------------------------------------------------------------------------
Obj_SOZBreakableSandRock:
@@ -86599,8 +86655,8 @@ loc_417DE:
loc_417F6:
andi.b #-$19,$2A(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
move.l #loc_4180A,(a0)
loc_4180A:
@@ -86615,8 +86671,8 @@ loc_4180A:
loc_41828:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_SOZBreakableSandRock:include "Levels/SOZ/Misc Object Data/Map - Breakable Sand Rock.asm"
-
+Map_SOZBreakableSandRock:
+ include "Levels/SOZ/Misc Object Data/Map - Breakable Sand Rock.asm"
; ---------------------------------------------------------------------------
Obj_SOZPushSwitch:
@@ -86773,8 +86829,8 @@ sub_419FA:
andi.w #3,d0
bne.s loc_41A34
subq.w #1,$10(a1)
- moveq #sfx_PushBlock,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_PushBlock),d0
+ jsr (Play_SFX).l
loc_41A34:
moveq #1,d5
@@ -86793,8 +86849,8 @@ loc_41A38:
andi.w #3,d0
bne.s loc_41A34
addq.w #1,$10(a1)
- moveq #sfx_PushBlock,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_PushBlock),d0
+ jsr (Play_SFX).l
moveq #1,d5
locret_41A6A:
@@ -86816,16 +86872,16 @@ sub_41A6C:
loc_41A82:
tst.w $36(a0)
beq.s locret_41AA6
- moveq #sfx_DoorClose,d0
+ moveq #signextendB(sfx_DoorClose),d0
subq.w #1,$36(a0)
beq.s loc_41A9E
subq.b #1,$3A(a0)
bpl.s loc_41AA4
move.b #3,$3A(a0)
- moveq #sfx_DoorMove,d0
+ moveq #signextendB(sfx_DoorMove),d0
loc_41A9E:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
loc_41AA4:
moveq #1,d4
@@ -86908,8 +86964,8 @@ locret_41B54:
; End of function sub_41AA8
; ---------------------------------------------------------------------------
-Map_SOZPushSwitch:include "Levels/SOZ/Misc Object Data/Map - Push Switch.asm"
-
+Map_SOZPushSwitch:
+ include "Levels/SOZ/Misc Object Data/Map - Push Switch.asm"
; ---------------------------------------------------------------------------
Obj_SOZDoor:
@@ -87002,7 +87058,6 @@ loc_41C68:
bra.s loc_41C16
; ---------------------------------------------------------------------------
Map_SOZDoor: include "Levels/SOZ/Misc Object Data/Map - Door.asm"
-
; ---------------------------------------------------------------------------
Obj_SOZSandCork:
@@ -87053,7 +87108,7 @@ loc_41D48:
bsr.s sub_41D5C
loc_41D56:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; =============== S U B R O U T I N E =======================================
@@ -87080,8 +87135,8 @@ loc_41D82:
move.l #loc_41DF4,(a0)
addq.b #1,$22(a0)
move.w #0,8(a0)
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
jsr (loc_216BE).l
jsr (MoveSprite2).l
addi.w #$18,$1A(a0)
@@ -87162,8 +87217,8 @@ loc_41E78:
bne.s loc_41E90
tst.b 4(a0)
bpl.s loc_41E90
- moveq #sfx_SlideSkidQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SlideSkidQuiet),d0
+ jsr (Play_SFX).l
loc_41E90:
jmp (Sprite_OnScreen_Test).l
@@ -87175,7 +87230,6 @@ word_41E96: dc.w $FE00, $FE00
dc.w $60, $FE20
dc.w $1E0, $FE20
Map_SOZSandCork:include "Levels/SOZ/Misc Object Data/Map - Sand Cork.asm"
-
; ---------------------------------------------------------------------------
Obj_SOZSolidSprites:
@@ -87214,8 +87268,8 @@ loc_41FAC:
jsr (SolidObjectFull).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_SOZSolidSprites:include "Levels/SOZ/Misc Object Data/Map - Solid Sprites.asm"
-
+Map_SOZSolidSprites:
+ include "Levels/SOZ/Misc Object Data/Map - Solid Sprites.asm"
; ---------------------------------------------------------------------------
Obj_LevelIntro_PlayerFallIntoGround:
@@ -87268,8 +87322,8 @@ loc_42062:
cmp.w $14(a2),d0
bne.s loc_42080
bsr.w loc_42180
- moveq #sfx_SandSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SandSplash),d0
+ jsr (Play_SFX).l
lea (Player_2).w,a2
tst.l (a2)
beq.s loc_42080
@@ -87351,8 +87405,8 @@ loc_420FC:
bsr.w loc_42180
loc_4213C:
- moveq #sfx_SandSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SandSplash),d0
+ jsr (Play_SFX).l
move.b #0,(Ctrl_1_locked).w
move.b #0,(Ctrl_2_locked).w
jmp (Delete_Current_Sprite).l
@@ -87443,7 +87497,7 @@ loc_42248:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Obj_15_2:
+Obj_LRZCorkscrew:
move.b #-$30,7(a0)
move.l #loc_4225A,(a0)
@@ -87633,7 +87687,7 @@ byte_4250A: dc.b 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $C, $
dc.b $20, $21, $21, $21
; ---------------------------------------------------------------------------
-Obj_16_2:
+Obj_LRZWallRide:
move.b #-$30,7(a0)
move.l #loc_42556,(a0)
@@ -87875,8 +87929,8 @@ loc_42804:
jsr (SolidObjectFull).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_LRZSinkingRock:include "Levels/LRZ/Misc Object Data/Map - Sinking Rock.asm"
-
+Map_LRZSinkingRock:
+ include "Levels/LRZ/Misc Object Data/Map - Sinking Rock.asm"
; ---------------------------------------------------------------------------
Obj_LRZFallingSpike:
@@ -87918,7 +87972,7 @@ loc_428BE:
move.l #loc_428D6,(a0)
loc_428D0:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_428D6:
@@ -87929,11 +87983,11 @@ loc_428D6:
add.w d1,$14(a0)
move.b #0,$28(a0)
move.l #loc_42904,(a0)
- moveq #sfx_BossProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossProjectile),d0
+ jsr (Play_SFX).l
loc_428FE:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_42904:
@@ -87944,8 +87998,8 @@ loc_42904:
jsr (SolidObjectFull).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_LRZFallingSpike:include "Levels/LRZ/Misc Object Data/Map - Falling Spike.asm"
-
+Map_LRZFallingSpike:
+ include "Levels/LRZ/Misc Object Data/Map - Falling Spike.asm"
; ---------------------------------------------------------------------------
Obj_LRZDoor:
@@ -87972,8 +88026,8 @@ loc_42974:
tst.b (a3,d0.w)
beq.s loc_429BC
move.l #loc_42994,(a0)
- moveq #sfx_DoorOpen,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorOpen),d0
+ jsr (Play_SFX).l
loc_42994:
addq.b #1,$2E(a0)
@@ -88000,7 +88054,6 @@ loc_429BC:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
Map_LRZDoor: include "Levels/LRZ/Misc Object Data/Map - Door.asm"
-
; ---------------------------------------------------------------------------
Obj_LRZBigDoor:
@@ -88037,8 +88090,8 @@ loc_42A68:
blt.s loc_42B08
move.l #loc_42AAE,(a0)
move.w #-1,(Screen_shake_flag).w
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
move.w respawn_addr(a0),d0
beq.s loc_42AAE
movea.w d0,a2
@@ -88060,8 +88113,8 @@ loc_42AC6:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_42AEC
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
loc_42AEC:
move.w #$3B,d1
@@ -88081,7 +88134,6 @@ loc_42B08:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
Map_LRZBigDoor: include "Levels/LRZ/Misc Object Data/Map - Big Door.asm"
-
; ---------------------------------------------------------------------------
Obj_LRZFireballLauncher:
@@ -88125,8 +88177,8 @@ loc_42BF6:
subi.w #$10,$10(a1)
loc_42C72:
- moveq #sfx_LevelProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LevelProjectile),d0
+ jsr (Play_SFX).l
loc_42C7A:
jmp (Sprite_OnScreen_Test).l
@@ -88150,8 +88202,8 @@ loc_42C94:
loc_42CAC:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_LRZFireballLauncher:include "Levels/LRZ/Misc Object Data/Map - Fireball Launcher.asm"
-
+Map_LRZFireballLauncher:
+ include "Levels/LRZ/Misc Object Data/Map - Fireball Launcher.asm"
; ---------------------------------------------------------------------------
Obj_LRZButtonHorizontal:
@@ -88198,8 +88250,8 @@ loc_42D4E:
loc_42D62:
tst.b (a3)
bne.s loc_42D6E
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_42D6E:
bset d3,(a3)
@@ -88208,7 +88260,8 @@ loc_42D6E:
loc_42D76:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_LRZButtonHorizontal: include "Levels/LRZ/Misc Object Data/Map - Button Horizontal.asm"
+Map_LRZButtonHorizontal:
+ include "Levels/LRZ/Misc Object Data/Map - Button Horizontal.asm"
; ---------------------------------------------------------------------------
Obj_LRZShootingTrigger:
@@ -88253,8 +88306,8 @@ loc_42E00:
neg.w $18(a1)
loc_42E7C:
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
loc_42E84:
move.b $29(a0),d0
@@ -88276,7 +88329,7 @@ loc_42EAC:
bsr.s sub_42EC0
loc_42EBA:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; =============== S U B R O U T I N E =======================================
@@ -88309,8 +88362,8 @@ loc_42EE8:
loc_42F00:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_LRZShootingTrigger:include "Levels/LRZ/Misc Object Data/Map - Shooting Trigger.asm"
-
+Map_LRZShootingTrigger:
+ include "Levels/LRZ/Misc Object Data/Map - Shooting Trigger.asm"
; ---------------------------------------------------------------------------
Obj_LRZDashElevator:
@@ -88392,8 +88445,8 @@ loc_42FEE:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_43000
- moveq #sfx_ConveyorPlatform,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ConveyorPlatform),d0
+ jsr (Play_SFX).l
loc_43000:
move.w #$2B,d1
@@ -88466,8 +88519,8 @@ loc_43092:
; End of function sub_4301C
; ---------------------------------------------------------------------------
-Map_LRZDashElevator:include "Levels/LRZ/Misc Object Data/Map - Dash Elevator.asm"
-
+Map_LRZDashElevator:
+ include "Levels/LRZ/Misc Object Data/Map - Dash Elevator.asm"
; ---------------------------------------------------------------------------
Obj_LRZSmashingSpikePlatform:
@@ -88502,8 +88555,8 @@ loc_43128:
move.b #0,$23(a0)
tst.b 4(a0)
bpl.s loc_431E0
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
bra.s loc_431E0
; ---------------------------------------------------------------------------
@@ -88531,8 +88584,8 @@ loc_431AA:
move.b (Level_frame_counter+1).w,d0
andi.b #$1F,d0
bne.s loc_431E0
- moveq #sfx_Blast,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Blast),d0
+ jsr (Play_SFX).l
bra.s loc_431E0
; ---------------------------------------------------------------------------
@@ -88578,14 +88631,13 @@ loc_43234:
loc_43244:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_LRZSmashingSpikePlatform:include "Levels/LRZ/Misc Object Data/Map - Smashing Spike Platform.asm"
-
-
+Map_LRZSmashingSpikePlatform:
+ include "Levels/LRZ/Misc Object Data/Map - Smashing Spike Platform.asm"
; ---------------------------------------------------------------------------
Obj_LRZSwingingSpikeBall:
move.l #Map_LRZSwingingSpikeBall,$C(a0)
- move.w #-$5C5F,$A(a0)
+ move.w #$A3A1,$A(a0)
move.b #4,4(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
@@ -88596,7 +88648,7 @@ Obj_LRZSwingingSpikeBall:
tst.b (Current_act).w
beq.s loc_4354E
move.l #Map_LRZSwingingSpikeBall2,$C(a0)
- move.w #-$5BF3,$A(a0)
+ move.w #$A40D,$A(a0)
loc_4354E:
jsr (Create_New_Sprite3).l
@@ -88697,7 +88749,8 @@ loc_43636:
; End of function sub_43604
; ---------------------------------------------------------------------------
-Map_LRZSwingingSpikeBall: include "Levels/LRZ/Misc Object Data/Map - Swinging Spike Ball.asm"
+Map_LRZSwingingSpikeBall:
+ include "Levels/LRZ/Misc Object Data/Map - Swinging Spike Ball.asm"
; ---------------------------------------------------------------------------
Obj_LRZLavaFall:
@@ -88750,8 +88803,8 @@ loc_4374C:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_43764
- moveq #sfx_LavaFall,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LavaFall),d0
+ jsr (Play_SFX).l
loc_43764:
subq.w #1,$2E(a0)
@@ -88765,7 +88818,6 @@ loc_4377C:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Map_LRZLavaFall:include "Levels/LRZ/Misc Object Data/Map - Lava Fall.asm"
-
; ---------------------------------------------------------------------------
Obj_LRZSpikeBall:
@@ -88864,8 +88916,8 @@ loc_438CC:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_438FA
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
loc_438FA:
subi.w #4,$18(a0)
@@ -88913,7 +88965,7 @@ loc_43966:
; ---------------------------------------------------------------------------
loc_43978:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_4397E:
@@ -88933,8 +88985,8 @@ loc_439A4:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_439BC
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
loc_439BC:
bsr.w sub_439EC
@@ -88967,8 +89019,8 @@ sub_439EC:
move.w $14(a0),$14(a1)
addi.w #$20,$14(a1)
move.l #Map_LRZRockDebris,$C(a1)
- move.w #-$3F2D,$A(a1)
- ori.b #-$7C,4(a1)
+ move.w #$C0D3,$A(a1)
+ ori.b #$84,4(a1)
move.w #0,8(a1)
move.b #4,7(a1)
move.b #4,6(a1)
@@ -89001,10 +89053,10 @@ loc_43A6C:
loc_43A88:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_LRZSpikeBall:include "Levels/LRZ/Misc Object Data/Map - Spike Ball.asm"
-
-Map_LRZRockDebris: include "Levels/LRZ/Misc Object Data/Map - Rock Debris.asm"
-
+Map_LRZSpikeBall:
+ include "Levels/LRZ/Misc Object Data/Map - Spike Ball.asm"
+Map_LRZRockDebris:
+ include "Levels/LRZ/Misc Object Data/Map - Rock Debris.asm"
; ---------------------------------------------------------------------------
Obj_LRZOrbitingSpikeBallHorizontal:
@@ -89153,8 +89205,8 @@ loc_43D04:
move.w $44(a0),d0
jmp (loc_1B666).l
; ---------------------------------------------------------------------------
-Map_LRZOrbitingSpikeBall:include "Levels/LRZ/Misc Object Data/Map - Orbiting Spike Ball.asm"
-
+Map_LRZOrbitingSpikeBall:
+ include "Levels/LRZ/Misc Object Data/Map - Orbiting Spike Ball.asm"
; ---------------------------------------------------------------------------
Obj_LRZFlameThrower:
@@ -89203,8 +89255,8 @@ loc_43DF8:
bpl.w loc_43EF6
move.w #$78,$30(a0)
move.b #0,$2F(a0)
- moveq #sfx_FlamethrowerLoud,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerLoud),d0
+ jsr (Play_SFX).l
loc_43E14:
subq.b #1,$24(a0)
@@ -89222,8 +89274,8 @@ loc_43E2A:
bne.s loc_43E4E
cmpi.w #$1E,$30(a0)
blo.s loc_43E4E
- moveq #sfx_FlamethrowerLoud,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerLoud),d0
+ jsr (Play_SFX).l
loc_43E4E:
move.b $26(a0),d0
@@ -89287,8 +89339,8 @@ loc_43F2E:
bpl.w loc_4402C
move.w #$78,$30(a0)
move.b #0,$2F(a0)
- moveq #sfx_FlamethrowerLoud,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerLoud),d0
+ jsr (Play_SFX).l
loc_43F4A:
subq.b #1,$24(a0)
@@ -89306,8 +89358,8 @@ loc_43F60:
bne.s loc_43F84
cmpi.w #$1E,$30(a0)
blo.s loc_43F84
- moveq #sfx_FlamethrowerLoud,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerLoud),d0
+ jsr (Play_SFX).l
loc_43F84:
move.b $26(a0),d0
@@ -89379,8 +89431,8 @@ loc_44072:
loc_44084:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_LRZFlameThrower:include "Levels/LRZ/Misc Object Data/Map - Flamethrower.asm"
-
+Map_LRZFlameThrower:
+ include "Levels/LRZ/Misc Object Data/Map - Flamethrower.asm"
; ---------------------------------------------------------------------------
Obj_LRZSolidRock:
@@ -89435,8 +89487,8 @@ loc_44176:
btst #0,(a3,d0.w)
beq.s loc_441D6
move.l #loc_441D2,(a0)
- moveq #sfx_DoorOpen,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorOpen),d0
+ jsr (Play_SFX).l
move.w respawn_addr(a0),d0
beq.s loc_441A4
movea.w d0,a2
@@ -89453,8 +89505,8 @@ loc_441A6:
tst.b (a3,d0.w)
bpl.s loc_441D6
move.l #loc_441D2,(a0)
- moveq #sfx_DoorOpen,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorOpen),d0
+ jsr (Play_SFX).l
move.w respawn_addr(a0),d0
beq.s loc_441D2
movea.w d0,a2
@@ -89537,12 +89589,12 @@ loc_4427C:
; End of function sub_441F2
; ---------------------------------------------------------------------------
-Map_LRZSolidRock:include "Levels/LRZ/Misc Object Data/Map - Solid Rock.asm"
-
+Map_LRZSolidRock:
+ include "Levels/LRZ/Misc Object Data/Map - Solid Rock.asm"
; ---------------------------------------------------------------------------
Obj_LRZTurbineSprites:
- move.w #-$5C53,$A(a0)
+ move.w #$A3AD,$A(a0)
ori.b #4,4(a0)
move.w #$200,8(a0)
tst.b $2C(a0)
@@ -89579,8 +89631,8 @@ loc_442F2:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_44332
- moveq #sfx_FanBig,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanBig),d0
+ jsr (Play_SFX).l
loc_44332:
jmp (Sprite_OnScreen_Test).l
@@ -89767,9 +89819,10 @@ loc_44592:
lsr.b #1,d0
andi.b #3,d0
move.b d0,$22(a0)
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
-Map_LRZTurbineSprites: include "Levels/LRZ/Misc Object Data/Map - Turbine.asm"
+Map_LRZTurbineSprites:
+ include "Levels/LRZ/Misc Object Data/Map - Turbine.asm"
; ---------------------------------------------------------------------------
Obj_LRZSpikeBallLauncher:
@@ -89808,16 +89861,16 @@ loc_448A8:
bne.s loc_448D4
tst.b 4(a0)
bpl.s loc_448FA
- moveq #sfx_Charging,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Charging),d0
+ jsr (Play_SFX).l
bra.s loc_448FA
; ---------------------------------------------------------------------------
loc_448D4:
tst.b 4(a0)
bpl.s loc_448E2
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_448E2:
movea.w $3C(a0),a1
@@ -89856,12 +89909,12 @@ loc_44934:
move.l #loc_44954,(a0)
loc_44954:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
-Ani_LRZSpikeBallLauncher: include "Levels/LRZ/Misc Object Data/Anim - Spike Ball Launcher.asm"
-
-Map_LRZSpikeBallLauncher:include "Levels/LRZ/Misc Object Data/Map - Spike Ball Launcher.asm"
-
+Ani_LRZSpikeBallLauncher:
+ include "Levels/LRZ/Misc Object Data/Anim - Spike Ball Launcher.asm"
+Map_LRZSpikeBallLauncher:
+ include "Levels/LRZ/Misc Object Data/Map - Spike Ball Launcher.asm"
; ---------------------------------------------------------------------------
Obj_LevelIntro_PlayerRun:
@@ -89938,7 +89991,7 @@ Obj_SSZCollapsingColumn:
move.b #$21,6(a0)
move.b #$10,7(a0)
move.w #$180,8(a0)
- move.w #-$1D1C,$A(a0)
+ move.w #$E2E4,$A(a0)
move.l #Map_SSZFloatingPlatform,$C(a0)
move.b #2,$22(a0)
move.w $14(a0),$1A(a0)
@@ -89973,8 +90026,8 @@ loc_44B50:
dbne d2,loc_44B50
loc_44B7E:
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
clr.b $22(a0)
move.l #loc_44B90,(a0)
@@ -90006,7 +90059,7 @@ loc_44BCC:
move.b #8,6(a0)
move.b #8,7(a0)
move.w #$200,8(a0)
- move.w #-$1D1C,$A(a0)
+ move.w #$E2E4,$A(a0)
move.l #Map_SSZFloatingPlatform,$C(a0)
loc_44BF8:
@@ -90050,7 +90103,7 @@ Obj_SSZCollapsingBridge:
move.b #$10,6(a0)
move.b #$20,7(a0)
move.w #$180,8(a0)
- move.w #-$3D0C,$A(a0)
+ move.w #$C2F4,$A(a0)
move.l #Map_SSZCollapsingBridge,$C(a0)
bset #7,$2A(a0)
@@ -90152,7 +90205,7 @@ Obj_SSZCollapsingBridgeDiagonal:
move.b #$20,6(a0)
move.b #$40,7(a0)
move.w #$180,8(a0)
- move.w #-$3D0C,$A(a0)
+ move.w #$C2F4,$A(a0)
move.l #Map_SSZCollapsingBridge,$C(a0)
move.b #3,$22(a0)
bset #7,$2A(a0)
@@ -90329,12 +90382,12 @@ loc_44F4C:
jmp (Delete_Sprite_If_Not_In_Range).l
; ---------------------------------------------------------------------------
-Obj_77_2:
+Obj_SSZCutsceneBridge:
move.b #$44,4(a0)
move.b #$10,6(a0)
move.b #$60,7(a0)
move.w #$180,8(a0)
- move.w #-$3D0C,$A(a0)
+ move.w #$C2F4,$A(a0)
move.l #Map_SSZCollapsingBridge,$C(a0)
move.w $10(a0),$12(a0)
move.w #3,$16(a0)
@@ -90356,8 +90409,8 @@ loc_44FA2:
beq.s loc_45006
cmpi.w #$68,d1
bne.s loc_44FBA
- moveq #sfx_DoorOpen,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorOpen),d0
+ jsr (Play_SFX).l
loc_44FBA:
subq.w #2,d1
@@ -90421,7 +90474,7 @@ loc_45052:
move.b #$10,6(a0)
move.b #8,7(a0)
move.w #$200,8(a0)
- move.w #-$3D0C,$A(a0)
+ move.w #$C2F4,$A(a0)
move.l #Map_SSZCollapsingBridge,$C(a0)
loc_4507E:
@@ -90451,7 +90504,7 @@ Obj_SSZBouncyCloud:
move.b #$10,6(a0)
move.b #$20,7(a0)
move.w #$80,8(a0)
- move.w #-$1C2A,$A(a0)
+ move.w #$E3D6,$A(a0)
move.l #Map_SSZBouncyCloud,$C(a0)
clr.b $2D(a0)
move.w $14(a0),$1A(a0)
@@ -90557,8 +90610,8 @@ loc_451C2:
; ---------------------------------------------------------------------------
loc_451DC:
- moveq #sfx_Bouncy,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bouncy),d0
+ jsr (Play_SFX).l
move.w 2(a2),$18(a1)
move.w 4(a2),$1C(a1)
move.w #-$700,$1A(a1)
@@ -90686,7 +90739,7 @@ loc_45304:
move.b #4,6(a0)
move.b #4,7(a0)
move.w #$80,8(a0)
- move.w #-$1C2A,$A(a0)
+ move.w #$E3D6,$A(a0)
move.l #Map_SSZBouncyCloud,$C(a0)
move.b #2,$20(a0)
@@ -90778,8 +90831,8 @@ loc_45400:
bhs.w locret_45526
tst.w (Debug_placement_mode).w
bne.w locret_45526
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
st (a2)
move.w $14(a0),$14(a1)
add.w d1,$14(a1)
@@ -90844,8 +90897,8 @@ loc_454EA:
move.b #7,$1F(a1)
move.b #2,$20(a1)
bset #2,$2A(a1)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
locret_45526:
rts
@@ -90992,8 +91045,8 @@ loc_45660:
move.b #5,$20(a2)
move.l #loc_456F4,(a0)
move.w #-$100,$38(a0)
- moveq #sfx_Charging,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Charging),d0
+ jsr (Play_SFX).l
loc_456EE:
jmp (Sprite_OnScreen_Test).l
@@ -91052,8 +91105,8 @@ loc_4577E:
loc_45790:
clr.b (Events_bg+$05).w
- moveq #sfx_Transporter,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Transporter),d0
+ jsr (Play_SFX).l
st (Scroll_lock).w
bra.s loc_457B8
; ---------------------------------------------------------------------------
@@ -91171,10 +91224,10 @@ locret_458B2:
Obj_TeleporterBeam:
move.l #Obj_TeleporterBeamSpawn,(a0)
move.b #$44,4(a0) ; Multisprite mode
- move.b #-$80,6(a0)
+ move.b #$80,6(a0)
move.b #$18,7(a0)
move.w #$80,8(a0)
- move.w #-$1CA4,$A(a0)
+ move.w #$E35C,$A(a0)
move.l #Map_SSZHPZTeleporter,$C(a0)
move.w #1,$16(a0)
move.w $14(a0),$44(a0)
@@ -91350,7 +91403,7 @@ loc_45A84:
bne.s loc_45AD0
jsr (Create_New_Sprite).l
bne.s loc_45AAE
- move.l #Obj_A3_2,(a1)
+ move.l #Obj_SSZEndBoss,(a1)
move.w a1,(_unkFAA4).w
move.w a1,$30(a0)
st $2E(a0)
@@ -91385,8 +91438,8 @@ loc_45AD6:
move.w $14(a0),$14(a1)
move.l #loc_45B1C,(a0)
move.w #-$100,$38(a0)
- moveq #sfx_Charging,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Charging),d0
+ jsr (Play_SFX).l
loc_45B16:
jmp (Draw_Sprite).l
@@ -91420,8 +91473,8 @@ loc_45B66:
loc_45B6C:
clr.l (a1)
- moveq #sfx_Transporter,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Transporter),d0
+ jsr (Play_SFX).l
move.l #loc_45B8A,(a0)
bra.s loc_45B84
; ---------------------------------------------------------------------------
@@ -91445,8 +91498,8 @@ loc_45B94:
bhs.s locret_45BF2
cmpi.w #$B00,(Player_1+x_pos).w
blo.s locret_45BF2
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
st (SRAM_mask_interrupts_flag).w
jsr (SaveGame).l
move.w #$A01,d0
@@ -91612,8 +91665,8 @@ loc_45D2E:
clr.b $20(a1)
clr.b $22(a1)
clr.w (a2)
- moveq #sfx_Transporter,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Transporter),d0
+ jsr (Play_SFX).l
tst.w d6
beq.s loc_45D6E
st (a4)
@@ -91639,8 +91692,8 @@ loc_45D84:
loc_45D8A:
subq.b #1,2(a4)
bne.s locret_45DAC
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
st (SRAM_mask_interrupts_flag).w
jsr (SaveGame).l
move.w #$A00,d0
@@ -91751,8 +91804,8 @@ loc_45E90:
move.b #2,$20(a1)
move.b #$E,$1E(a1)
move.b #7,$1F(a1)
- moveq #sfx_Jump,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_45EEE:
@@ -91885,8 +91938,8 @@ loc_45FE4:
move.b #2,$20(a1)
move.b #$E,$1E(a1)
move.b #7,$1F(a1)
- moveq #sfx_Jump,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_46042:
@@ -92162,8 +92215,8 @@ locret_46348:
; ---------------------------------------------------------------------------
loc_4634A:
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
st (a3)
move.b #1,$2E(a1)
clr.w $1A(a1)
@@ -92208,8 +92261,8 @@ loc_4639A:
loc_463EC:
move.w d0,$18(a1)
move.w d0,$1C(a1)
- moveq #sfx_Dash,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_463FC:
@@ -92221,8 +92274,8 @@ loc_463FC:
clr.b $2E(a1)
bset #1,$2A(a1)
move.b #1,$40(a1)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
locret_46424:
rts
@@ -92278,8 +92331,8 @@ loc_464AE:
bhs.s loc_464C2
tst.b d1
bne.s loc_464C0
- moveq #sfx_SpringLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpringLatch),d0
+ jsr (Play_SFX).l
loc_464C0:
addq.b #1,d1
@@ -92381,8 +92434,8 @@ loc_46586:
or.b d2,4(a1)
move.b #3,$22(a0)
addq.b #1,(a2)
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_465B2:
@@ -92484,12 +92537,12 @@ word_46658: dc.w $FAFA
dc.w $1818
dc.w $1919
byte_46698: dc.b 0
- dc.b $A ;
- dc.b $12 ;
- dc.b $16 ;
- dc.b $17 ;
- dc.b $16 ;
- dc.b $12 ;
+ dc.b $A
+ dc.b $12
+ dc.b $16
+ dc.b $17
+ dc.b $16
+ dc.b $12
byte_4669F: dc.b $A
byte_466A0: dc.b 0, $FF, $FF, 0, 1, 2, 2, 1
dc.b 0, $FD, $FC, $FC, $FD, 0, 4, 6
@@ -92588,27 +92641,27 @@ byte_468C4: dc.b 1, $55
dc.b 1, $56
byte_468DC: dc.b $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $11, $10, $10, $F
dc.b $E, $D, $C, $B, 9, 7, 5, 2, $FF, $FB, $F4, $F4, $F4, $F4, $F4, $F4
-Map_SSZFloatingPlatform:include "Levels/SSZ/Misc Object Data/Map - Floating Platform.asm"
-
-Map_SSZCollapsingBridge:include "Levels/SSZ/Misc Object Data/Map - Collapsing Bridge.asm"
-
-Map_SSZBouncyCloud:include "Levels/SSZ/Misc Object Data/Map - Bouncy Cloud.asm"
-
-Ani_SSZBouncyCloud: include "Levels/SSZ/Misc Object Data/Anim - Bouncy Cloud.asm"
-
-Map_SSZElevatorBar:include "Levels/SSZ/Misc Object Data/Map - Elevator Bar.asm"
-
-Map_SSZHPZTeleporter:include "Levels/SSZ/Misc Object Data/Map - (&HPZ) Teleporter.asm"
-
-Map_SSZRotatingPlatform:include "Levels/SSZ/Misc Object Data/Map - Rotating Platform.asm"
-
-Ani_SSZRotatingPlatform: include "Levels/SSZ/Misc Object Data/Anim - Rotating Platform.asm"
-
-Map_SSZRetractingSpring:include "Levels/SSZ/Misc Object Data/Map - Retracting Spring.asm"
-
-; ---------------------------------------------------------------------------
-
-Obj_TiltingBridge:
+Map_SSZFloatingPlatform:
+ include "Levels/SSZ/Misc Object Data/Map - Floating Platform.asm"
+Map_SSZCollapsingBridge:
+ include "Levels/SSZ/Misc Object Data/Map - Collapsing Bridge.asm"
+Map_SSZBouncyCloud:
+ include "Levels/SSZ/Misc Object Data/Map - Bouncy Cloud.asm"
+Ani_SSZBouncyCloud:
+ include "Levels/SSZ/Misc Object Data/Anim - Bouncy Cloud.asm"
+Map_SSZElevatorBar:
+ include "Levels/SSZ/Misc Object Data/Map - Elevator Bar.asm"
+Map_SSZHPZTeleporter:
+ include "Levels/SSZ/Misc Object Data/Map - (&HPZ) Teleporter.asm"
+Map_SSZRotatingPlatform:
+ include "Levels/SSZ/Misc Object Data/Map - Rotating Platform.asm"
+Ani_SSZRotatingPlatform:
+ include "Levels/SSZ/Misc Object Data/Anim - Rotating Platform.asm"
+Map_SSZRetractingSpring:
+ include "Levels/SSZ/Misc Object Data/Map - Retracting Spring.asm"
+; ---------------------------------------------------------------------------
+
+Obj_DEZTiltingBridge:
move.w $10(a0),d2
move.w d2,$44(a0)
subi.w #$70,d2
@@ -92628,7 +92681,7 @@ loc_46DBC:
move.w $14(a0),$14(a1)
move.w $44(a0),$44(a1)
move.w $14(a0),$46(a1)
- move.l #Map_TiltingBridge,$C(a1)
+ move.l #Map_DEZTiltingBridge,$C(a1)
move.w #$234D,$A(a1)
ori.b #4,4(a1)
move.b #$10,7(a1)
@@ -92743,8 +92796,8 @@ loc_46F54:
move.w $44(a0),d0
jmp (Sprite_OnScreen_Test2).l
; ---------------------------------------------------------------------------
-Map_TiltingBridge:include "Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm"
-
+Map_DEZTiltingBridge:
+ include "Levels/DEZ/Misc Object Data/Map - Tilting Bridge.asm"
; ---------------------------------------------------------------------------
Obj_DEZHangCarrier:
@@ -92861,8 +92914,8 @@ loc_470D2:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s locret_470F6
- moveq #sfx_Rising,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rising),d0
+ jsr (Play_SFX).l
locret_470F6:
rts
@@ -92902,16 +92955,16 @@ loc_47104:
bclr #1,$2A(a1)
move.b #1,$2E(a1)
move.b #1,(a2)
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
locret_4717C:
rts
; End of function sub_4703E
; ---------------------------------------------------------------------------
-Map_DEZHangCarrier:include "Levels/DEZ/Misc Object Data/Map - Hang Carrier.asm"
-
+Map_DEZHangCarrier:
+ include "Levels/DEZ/Misc Object Data/Map - Hang Carrier.asm"
; ---------------------------------------------------------------------------
Obj_DEZTorpedoLauncher:
@@ -92953,8 +93006,8 @@ loc_471D6:
neg.w $18(a1)
loc_4724A:
- moveq #sfx_ChainTension,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ChainTension),d0
+ jsr (Play_SFX).l
loc_47252:
move.l #loc_4726C,(a0)
@@ -92990,8 +93043,8 @@ loc_4728A:
loc_472A2:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Map_TorpedoLauncher:include "Levels/DEZ/Misc Object Data/Map - Torpedo Launcher.asm"
-
+Map_TorpedoLauncher:
+ include "Levels/DEZ/Misc Object Data/Map - Torpedo Launcher.asm"
; ---------------------------------------------------------------------------
Obj_DEZLiftPad:
@@ -93180,8 +93233,8 @@ loc_47592:
tst.w (Debug_placement_mode).w
bne.w loc_4760E
move.b #1,$31(a0)
- moveq #sfx_GravityLift,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GravityLift),d0
+ jsr (Play_SFX).l
loc_475B6:
tst.b $30(a0)
@@ -93222,7 +93275,6 @@ loc_4760E:
; ---------------------------------------------------------------------------
Map_DEZLiftPad: include "Levels/DEZ/Misc Object Data/Map - Lift Pad.asm"
-
; ---------------------------------------------------------------------------
Obj_DEZStaircase:
@@ -93259,7 +93311,7 @@ loc_47680:
move.l #loc_476FE,(a1)
loc_47690:
- move.l #Map_TiltingBridge,$C(a1)
+ move.l #Map_DEZTiltingBridge,$C(a1)
move.w #$2480,$A(a1)
move.b 4(a0),4(a1)
move.w #$180,8(a1)
@@ -93330,8 +93382,8 @@ loc_47762:
subq.w #1,$30(a0)
bne.s locret_47760
addq.b #1,$2C(a0)
- moveq #sfx_FanBig,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_FanBig),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_47774:
@@ -93350,8 +93402,8 @@ loc_4778C:
subq.w #1,$30(a0)
bne.s loc_4779E
addq.b #1,$2C(a0)
- moveq #sfx_FanBig,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_FanBig),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_4779E:
@@ -93417,7 +93469,7 @@ locret_47814:
rts
; ---------------------------------------------------------------------------
-Obj_50_2:
+Obj_DEZConveyorBelt:
move.b $2C(a0),d0
andi.w #$7F,d0
lsl.w #3,d0
@@ -93481,8 +93533,8 @@ Obj_DEZLightning:
loc_478BE:
tst.b 4(a0)
bpl.s loc_478CC
- moveq #sfx_Lightning,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Lightning),d0
+ jsr (Play_SFX).l
loc_478CC:
moveq #0,d0
@@ -93503,7 +93555,7 @@ loc_478E2:
loc_47906:
cmpi.b #3,$22(a0)
bne.s loc_47914
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_47914:
@@ -93515,10 +93567,10 @@ loc_4791A:
bmi.s loc_478BE
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Ani_DEZLightning: include "Levels/DEZ/Misc Object Data/Anim - Lightning.asm"
-
-Map_DEZLightning:include "Levels/DEZ/Misc Object Data/Map - Lightning.asm"
-
+Ani_DEZLightning:
+ include "Levels/DEZ/Misc Object Data/Anim - Lightning.asm"
+Map_DEZLightning:
+ include "Levels/DEZ/Misc Object Data/Map - Lightning.asm"
; ---------------------------------------------------------------------------
Obj_DEZConveyorPad:
@@ -93577,8 +93629,8 @@ loc_47A14:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_47A38
- moveq #sfx_ConveyorPlatform,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ConveyorPlatform),d0
+ jsr (Play_SFX).l
loc_47A38:
bsr.w sub_47A88
@@ -93694,8 +93746,8 @@ loc_47B12:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_47B52
- moveq #sfx_ConveyorPlatform,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ConveyorPlatform),d0
+ jsr (Play_SFX).l
loc_47B52:
jmp (Sprite_OnScreen_Test).l
@@ -93769,9 +93821,10 @@ locret_47BF2:
; End of function sub_47B58
; ---------------------------------------------------------------------------
-Ani_DEZConveyorPad: include "Levels/DEZ/Misc Object Data/Anim - Conveyor Pad.asm"
-
-Map_DEZConveyorPad: include "Levels/DEZ/Misc Object Data/Map - Conveyor Pad.asm"
+Ani_DEZConveyorPad:
+ include "Levels/DEZ/Misc Object Data/Anim - Conveyor Pad.asm"
+Map_DEZConveyorPad:
+ include "Levels/DEZ/Misc Object Data/Map - Conveyor Pad.asm"
word_47DD6: dc.w $7F
dc.w $FF
dc.w $1FF
@@ -93870,8 +93923,8 @@ loc_47EBE:
move.b (Level_frame_counter+1).w,d0
andi.b #7,d0
bne.s loc_47EE2
- moveq #sfx_EnergyZap,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_EnergyZap),d0
+ jsr (Play_SFX).l
loc_47EE2:
jmp (Sprite_OnScreen_Test).l
@@ -93891,7 +93944,7 @@ locret_47EFA:
; ---------------------------------------------------------------------------
-Obj_56_2:
+Obj_DEZEnergyBridgeCurved:
move.l #Map_DEZEnergyBridgeCurved,$C(a0)
move.b #$50,7(a0)
move.b #$30,6(a0)
@@ -93943,8 +93996,8 @@ loc_47F62:
move.b (Level_frame_counter+1).w,d0
andi.b #7,d0
bne.s loc_47F96
- moveq #sfx_EnergyZap,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_EnergyZap),d0
+ jsr (Play_SFX).l
loc_47F96:
jmp (Sprite_OnScreen_Test).l
@@ -93987,9 +94040,10 @@ locret_47FF6:
; End of function sub_47F9C
; ---------------------------------------------------------------------------
-Map_DEZEnergyBridge:include "Levels/DEZ/Misc Object Data/Map - Energy Bridge.asm"
-
-Map_DEZEnergyBridgeCurved: include "Levels/DEZ/Misc Object Data/Map - Energy Bridge Curved.asm"
+Map_DEZEnergyBridge:
+ include "Levels/DEZ/Misc Object Data/Map - Energy Bridge.asm"
+Map_DEZEnergyBridgeCurved:
+ include "Levels/DEZ/Misc Object Data/Map - Energy Bridge Curved.asm"
word_4808A: dc.w $F000
dc.w $F600
; ---------------------------------------------------------------------------
@@ -94019,8 +94073,8 @@ loc_480D4:
beq.s loc_48124
tst.w $34(a0)
bne.s loc_480FC
- moveq #sfx_SpringLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpringLatch),d0
+ jsr (Play_SFX).l
loc_480FC:
addq.w #8,$34(a0)
@@ -94035,8 +94089,8 @@ loc_48102:
move.w $32(a0),d1
cmp.w $34(a0),d1
bne.s loc_48120
- moveq #sfx_SpringLatch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpringLatch),d0
+ jsr (Play_SFX).l
loc_48120:
subq.w #8,$34(a0)
@@ -94082,10 +94136,10 @@ loc_4818C:
move.w $44(a0),d0
jmp (Sprite_OnScreen_Test2).l
; ---------------------------------------------------------------------------
-Ani_DEZRetractingSpring: include "Levels/DEZ/Misc Object Data/Anim - Retracting Spring.asm"
-
-Map_DEZRetractingSpring:include "Levels/DEZ/Misc Object Data/Map - Retracting Spring.asm"
-
+Ani_DEZRetractingSpring:
+ include "Levels/DEZ/Misc Object Data/Anim - Retracting Spring.asm"
+Map_DEZRetractingSpring:
+ include "Levels/DEZ/Misc Object Data/Map - Retracting Spring.asm"
; ---------------------------------------------------------------------------
Obj_DEZTunnelLauncher:
@@ -94135,13 +94189,13 @@ Obj_DEZTunnelLauncher_Main:
tst.b $2F(a0)
beq.s loc_482F4
subq.b #1,$2F(a0)
- moveq #sfx_LaunchGo,d0
+ moveq #signextendB(sfx_LaunchGo),d0
cmpi.b #7,$2F(a0)
beq.s loc_482B2
- moveq #sfx_LaunchReady,d0
+ moveq #signextendB(sfx_LaunchReady),d0
loc_482B2:
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
cmpi.b #7,$2F(a0)
bne.s loc_482F4
jsr (Create_New_Sprite3).l
@@ -94236,14 +94290,14 @@ sub_48370:
move.b #2,dezTunnel_routine(a4)
tst.b $2F(a0)
bne.s locret_48422
- moveq #sfx_LaunchGrab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LaunchGrab),d0
+ jsr (Play_SFX).l
cmpa.w #Player_1,a1
bne.s loc_48410
move.w #$3C0A,$2E(a0)
move.b #$A,sub2_mapframe(a0)
- moveq #sfx_LaunchReady,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LaunchReady),d0
+ jsr (Play_SFX).l
tst.b mapping_frame(a0)
bne.s locret_4840E
move.b #7,mapping_frame(a0)
@@ -94263,8 +94317,8 @@ locret_48422:
; End of function sub_48370
; ---------------------------------------------------------------------------
-Map_DEZTunnelLauncher:include "Levels/DEZ/Misc Object Data/Map - Tunnel Launcher.asm"
-
+Map_DEZTunnelLauncher:
+ include "Levels/DEZ/Misc Object Data/Map - Tunnel Launcher.asm"
; ---------------------------------------------------------------------------
Obj_DEZTunnelControl:
@@ -94664,8 +94718,8 @@ DEZTransRing_NormalAnim:
move.b d0,anim(a1)
loc_4888E:
- moveq #sfx_LightTunnel,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LightTunnel),d0
+ jsr (Play_SFX).l
loc_48896:
tst.b object_control(a0)
@@ -94688,10 +94742,10 @@ Obj_DEZTransRing:
loc_488BC:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_DEZTransRings: include "Levels/DEZ/Misc Object Data/Anim - Transporter Rings.asm"
-
-Map_DEZTransRings: include "Levels/DEZ/Misc Object Data/Map - Transporter Rings.asm"
-
+Ani_DEZTransRings:
+ include "Levels/DEZ/Misc Object Data/Anim - Transporter Rings.asm"
+Map_DEZTransRings:
+ include "Levels/DEZ/Misc Object Data/Map - Transporter Rings.asm"
; ---------------------------------------------------------------------------
Obj_DEZGravitySwitch:
@@ -94731,8 +94785,8 @@ loc_48B16:
move.w d6,d2
move.w #$28,d3
bsr.s sub_48B40
- moveq #sfx_Transporter,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Transporter),d0
+ jsr (Play_SFX).l
loc_48B3A:
jmp (Sprite_OnScreen_Test).l
@@ -94803,11 +94857,11 @@ loc_48BDA:
loc_48BE4:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_DEZGravitySwitch:include "Levels/DEZ/Misc Object Data/Map - Gravity Switch.asm"
-
+Map_DEZGravitySwitch:
+ include "Levels/DEZ/Misc Object Data/Map - Gravity Switch.asm"
; ---------------------------------------------------------------------------
-Obj_59_2:
+Obj_DEZTeleporter:
lea (Player_1).w,a1
lea $30(a0),a4
bsr.s sub_48C30
@@ -94858,7 +94912,7 @@ loc_48C62:
btst #0,(_unkFAB8).w
bne.w locret_48D2A
movea.w $42(a1),a3
- cmpi.l #Obj_59_2,(a3)
+ cmpi.l #Obj_DEZTeleporter,(a3)
bne.s loc_48CB0
move.w a4,d0
sub.w a0,d0
@@ -94921,8 +94975,8 @@ loc_48D2C:
loc_48D58:
move.w d0,$1A(a1)
addq.b #2,(a4)
- moveq #sfx_SuperTransform,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SuperTransform),d0
+ jsr (Play_SFX).l
loc_48D66:
move.w 2(a4),d0
@@ -95060,7 +95114,7 @@ locret_48EAC:
rts
; ---------------------------------------------------------------------------
-Obj_5A_2:
+Obj_DEZGravityTube:
move.b $2C(a0),d0
bpl.s loc_48EC8
andi.w #$3F,d0
@@ -95217,8 +95271,8 @@ loc_49056:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s locret_49068
- moveq #sfx_GravityTunnel,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GravityTunnel),d0
+ jsr (Play_SFX).l
locret_49068:
rts
@@ -95338,8 +95392,8 @@ loc_49194:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_491CE
- moveq #sfx_GravityTunnel,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GravityTunnel),d0
+ jsr (Play_SFX).l
loc_491CE:
moveq #0,d0
@@ -95352,7 +95406,7 @@ RawAni_491DA: dc.b $6D, $6D, $6E, $6E, $6F, $6F, $70, $70, $71, $71, $72, $72,
dc.b $77, $77, $6C, $6C, $6D, $6D
; ---------------------------------------------------------------------------
-Obj_5B_2:
+Obj_DEZGravitySwap:
move.w #$20,$30(a0)
move.w $10(a0),d1
lea (Player_1).w,a1
@@ -95425,7 +95479,7 @@ loc_49270:
; ---------------------------------------------------------------------------
-Obj_5C_2:
+Obj_DEZGravityHub:
lea $30(a0),a2
lea (Player_1).w,a1
move.w (Ctrl_1_logical).w,d1
@@ -95512,8 +95566,8 @@ loc_4939C:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_493AE
- moveq #sfx_GravityTunnel,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GravityTunnel),d0
+ jsr (Play_SFX).l
loc_493AE:
moveq #0,d2
@@ -95675,8 +95729,8 @@ loc_49578:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_495B8
- moveq #sfx_MagneticSpike,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MagneticSpike),d0
+ jsr (Play_SFX).l
loc_495B8:
tst.b $27(a1)
@@ -95691,11 +95745,11 @@ locret_495D6:
; End of function sub_4952A
; ---------------------------------------------------------------------------
-Map_DEZHoverMachine:include "Levels/DEZ/Misc Object Data/Map - Hover Machine.asm"
-
+Map_DEZHoverMachine:
+ include "Levels/DEZ/Misc Object Data/Map - Hover Machine.asm"
; ---------------------------------------------------------------------------
-Obj_5F_2:
+Obj_DEZGravityRoom:
lea $30(a0),a2
lea (Player_1).w,a1
move.w (Ctrl_1_logical).w,d4
@@ -95830,8 +95884,8 @@ loc_49730:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s locret_49764
- moveq #sfx_TurbineHum,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TurbineHum),d0
+ jsr (Play_SFX).l
locret_49764:
rts
@@ -95927,8 +95981,8 @@ loc_49842:
sub_49848:
- moveq #sfx_Bumper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bumper),d0
+ jsr (Play_SFX).l
loc_49850:
bclr #0,$2A(a1)
@@ -95964,8 +96018,8 @@ locret_498C0:
; End of function sub_49848
; ---------------------------------------------------------------------------
-Map_DEZBumperWall:include "Levels/DEZ/Misc Object Data/Map - Bumper Wall.asm"
-
+Map_DEZBumperWall:
+ include "Levels/DEZ/Misc Object Data/Map - Bumper Wall.asm"
; ---------------------------------------------------------------------------
Obj_DEZGravityPuzzle:
@@ -96070,8 +96124,8 @@ loc_499FC:
sub_49A02:
- moveq #sfx_TunnelBooster,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TunnelBooster),d0
+ jsr (Play_SFX).l
bra.w loc_49850
; End of function sub_49A02
@@ -96135,13 +96189,13 @@ byte_49A5B: dc.b $E0
dc.b $1C
dc.b $20
dc.b 4
-Map_DEZGravityPuzzle:include "Levels/DEZ/Misc Object Data/Map - Gravity Puzzle.asm"
-
+Map_DEZGravityPuzzle:
+ include "Levels/DEZ/Misc Object Data/Map - Gravity Puzzle.asm"
; ---------------------------------------------------------------------------
Obj_PachinkoTriangleBumper:
move.l #Map_PachinkoTriangleBumper,$C(a0)
- move.w #-$1D15,$A(a0)
+ move.w #$E2EB,$A(a0)
ori.b #4,4(a0)
move.b #$14,7(a0)
move.b #$3C,6(a0)
@@ -96216,8 +96270,8 @@ loc_49B70:
sub_49B76:
- moveq #sfx_Bumper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bumper),d0
+ jsr (Play_SFX).l
bclr #0,$2A(a1)
move.w #$800,$18(a1)
move.w $10(a1),d0
@@ -96252,16 +96306,15 @@ loc_49BEE:
; End of function sub_49B76
; ---------------------------------------------------------------------------
-Ani_PachinkoTriangleBumper: include "Levels/Pachinko/Misc Object Data/Anim - Triangle Bumper.asm"
-
-Map_PachinkoTriangleBumper:include "Levels/Pachinko/Misc Object Data/Map - Triangle Bumper.asm"
-
-
+Ani_PachinkoTriangleBumper:
+ include "Levels/Pachinko/Misc Object Data/Anim - Triangle Bumper.asm"
+Map_PachinkoTriangleBumper:
+ include "Levels/Pachinko/Misc Object Data/Map - Triangle Bumper.asm"
; ---------------------------------------------------------------------------
Obj_PachinkoFlipper:
move.l #Map_PachinkoFlipper,$C(a0)
- move.w #-$7CD1,$A(a0)
+ move.w #$832F,$A(a0)
ori.b #4,4(a0)
move.b #$20,7(a0)
move.b #$1C,6(a0)
@@ -96392,8 +96445,8 @@ loc_49DBC:
move.b #2,5(a1)
move.b #0,$2E(a1)
move.b #0,(a3)
- moveq #sfx_Flipper,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Flipper),d0
+ jmp (Play_SFX).l
; End of function sub_49D72
; ---------------------------------------------------------------------------
@@ -96450,11 +96503,10 @@ loc_49E56:
; ---------------------------------------------------------------------------
byte_49E5A: dc.b $FC, $FC, $FC, $FC, $FC, $FC, $FC, $FC, $FC, $FB, $FA, $F9, $F8, $F7, $F6, $F5, $F4, $F3, $F2, $F1
dc.b $F0, $EF, $EE, $ED, $EC, $EB, $EA, $E9, $E8, $E7, $E6, $E5
-
-Ani_PachinkoFlipper: include "Levels/Pachinko/Misc Object Data/Anim - Flipper.asm"
-
-Map_PachinkoFlipper:include "Levels/Pachinko/Misc Object Data/Map - Flipper.asm"
-
+Ani_PachinkoFlipper:
+ include "Levels/Pachinko/Misc Object Data/Anim - Flipper.asm"
+Map_PachinkoFlipper:
+ include "Levels/Pachinko/Misc Object Data/Map - Flipper.asm"
; ---------------------------------------------------------------------------
Obj_PachinkoEnergyTrap:
@@ -96475,7 +96527,7 @@ loc_49EF4:
loc_49F20:
move.l #Map_PachinkoEnergyTrap,$C(a1)
- move.w #-$5CAE,$A(a1)
+ move.w #$A352,$A(a1)
ori.b #4,4(a1)
move.b #8,7(a1)
move.b #$18,6(a1)
@@ -96523,8 +96575,8 @@ loc_49FAE:
move.b (Level_frame_counter+1).w,d0
andi.b #$3F,d0
bne.s loc_49FD6
- moveq #sfx_Transporter,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Transporter),d0
+ jsr (Play_SFX).l
loc_49FD6:
bsr.s sub_49FE4
@@ -96555,8 +96607,8 @@ loc_49FFC:
move.w $14(a0),$14(a1)
tst.b $2E(a1)
bne.s loc_4A024
- moveq #sfx_Bouncy,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bouncy),d0
+ jsr (Play_SFX).l
loc_4A024:
move.b #-$7F,$2E(a1)
@@ -96588,15 +96640,15 @@ loc_4A07A:
move.w $14(a1),$14(a0)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_PachinkoEnergyTrap:include "Levels/Pachinko/Misc Object Data/Map - Energy Trap.asm"
-
+Map_PachinkoEnergyTrap:
+ include "Levels/Pachinko/Misc Object Data/Map - Energy Trap.asm"
; ---------------------------------------------------------------------------
Obj_PachinkoInvisibleUnknown:
move.l #Map_PachinkoInvisibleUnknown,$C(a0)
- move.w #-$1C9C,$A(a0)
+ move.w #$E364,$A(a0)
ori.b #4,4(a0)
- move.b #-$78,7(a0)
+ move.b #$88,7(a0)
move.b #8,6(a0)
move.w #$80,8(a0)
move.l #loc_4A0C6,(a0)
@@ -96624,9 +96676,8 @@ loc_4A10A:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
RawAni_4A110: dc.b 0, 1, 2, 3, 4, 3, 2, 1
-Map_PachinkoInvisibleUnknown:include "Levels/Pachinko/Misc Object Data/Map - Invisible Unknown.asm"
-
-
+Map_PachinkoInvisibleUnknown:
+ include "Levels/Pachinko/Misc Object Data/Map - Invisible Unknown.asm"
; ---------------------------------------------------------------------------
Obj_Pachinko_Platform:
@@ -96650,13 +96701,13 @@ loc_4A1B2:
jsr (SolidObjectTop).l
jmp (loc_49B22).l
; ---------------------------------------------------------------------------
-Map_PachinkoPlatform:include "Levels/Pachinko/Misc Object Data/Map - Platform.asm"
-
+Map_PachinkoPlatform:
+ include "Levels/Pachinko/Misc Object Data/Map - Platform.asm"
; ---------------------------------------------------------------------------
Obj_PachinkoItemOrb:
move.l #Map_PachinkoItemOrb,$C(a0)
- move.w #-$1C9C,$A(a0)
+ move.w #$E364,$A(a0)
ori.b #4,4(a0)
move.b #$10,7(a0)
move.b #$10,6(a0)
@@ -96680,8 +96731,8 @@ loc_4A238:
tst.b $29(a0)
bne.s loc_4A274
clr.b $22(a0)
- moveq #sfx_BlueSphere,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BlueSphere),d0
+ jsr (Play_SFX).l
move.b $14(a0),d1
andi.w #$F,d1
lsl.w #2,d1
@@ -96700,10 +96751,10 @@ loc_4A274:
jsr (Animate_Sprite).l
bra.w loc_4A31A
; ---------------------------------------------------------------------------
-Ani_PachinkoItemOrb: include "Levels/Pachinko/Misc Object Data/Anim - Item Orb.asm"
-
-Map_PachinkoItemOrb: include "Levels/Pachinko/Misc Object Data/Map - Item Orb.asm"
-
+Ani_PachinkoItemOrb:
+ include "Levels/Pachinko/Misc Object Data/Anim - Item Orb.asm"
+Map_PachinkoItemOrb:
+ include "Levels/Pachinko/Misc Object Data/Map - Item Orb.asm"
; ---------------------------------------------------------------------------
Obj_GumballItem:
@@ -96802,8 +96853,8 @@ sub_4A384:
; ---------------------------------------------------------------------------
loc_4A3AC:
- moveq #sfx_SmallBumpers,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -96817,11 +96868,11 @@ loc_4A3B6:
; End of function sub_4A384
; ---------------------------------------------------------------------------
-Map_PachinkoFItem:include "Levels/Pachinko/Misc Object Data/Map - F Item.asm"
-
+Map_PachinkoFItem:
+ include "Levels/Pachinko/Misc Object Data/Map - F Item.asm"
; ---------------------------------------------------------------------------
-Obj_EC_1:
+Obj_PachinkoMagnetOrb:
move.l #Map_PachinkoFItem,$C(a0)
move.w #$6378,$A(a0)
ori.b #4,4(a0)
@@ -96881,8 +96932,8 @@ loc_4A464:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s locret_4A4A2
- moveq #sfx_WaveHover,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaveHover),d0
+ jsr (Play_SFX).l
locret_4A4A2:
rts
@@ -97144,8 +97195,8 @@ loc_4A798:
move.b (Level_frame_counter+1).w,d0
andi.b #$F,d0
bne.s loc_4A7B0
- moveq #sfx_ChainTick,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ChainTick),d0
+ jsr (Play_SFX).l
loc_4A7B0:
move.w $34(a0),d0
@@ -97263,13 +97314,11 @@ off_4A914: dc.w word_4A91A-off_4A914
dc.w word_4A934-off_4A914
dc.w word_4A94E-off_4A914
word_4A91A: dc.w 3, 0, 0, 1, $FFE0, $70, 3, 0, $E0, 6, $20, $70, 8
-
word_4A934: dc.w 3, 0, 0, $11, $FFE0, $B0, $13, 0, $160, $16, $20, $B0, $18
-
word_4A94E: dc.w 7, 0, 0, $21, $FFE0, $72, $23, $FFE0, $F0, $23, $FFE0, $16E, $23, 0, $1E0, $26
dc.w $20, $16E, $28, $20, $F0, $28, $20, $72, $28
-Map_LRZChainedPlatforms:include "Levels/LRZ/Misc Object Data/Map - Chained Platforms.asm"
-
+Map_LRZChainedPlatforms:
+ include "Levels/LRZ/Misc Object Data/Map - Chained Platforms.asm"
; ---------------------------------------------------------------------------
Obj_SOZRapelWire:
@@ -97357,8 +97406,8 @@ loc_4AAA4:
addq.w #2,$32(a0)
cmpi.w #$C0,$32(a0)
bne.s loc_4AAC4
- moveq #sfx_GlideLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GlideLand),d0
+ jsr (Play_SFX).l
move.l #loc_4AAC8,(a0)
move.w #1,$2E(a0)
@@ -97376,8 +97425,8 @@ loc_4AAD8:
move.b (Ctrl_1_pressed_logical).w,d0
andi.w #$70,d0
beq.w loc_4AB6A
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
move.b $2C(a0),d1
andi.w #$F0,d1
bne.s loc_4AB16
@@ -97427,8 +97476,8 @@ loc_4AB7E:
addq.w #2,$32(a0)
subq.w #1,$30(a0)
bpl.s loc_4AB9A
- moveq #sfx_GlideLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GlideLand),d0
+ jsr (Play_SFX).l
move.l #loc_4AAC8,(a0)
loc_4AB9A:
@@ -97479,8 +97528,8 @@ loc_4AC02:
subq.w #1,$30(a0)
bpl.s loc_4AC24
move.w #0,$18(a0)
- moveq #sfx_GlideLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GlideLand),d0
+ jsr (Play_SFX).l
move.l #loc_4AAC8,(a0)
loc_4AC24:
@@ -97858,8 +97907,8 @@ loc_4AFF6:
move.b #7,$1F(a1)
move.b #2,$20(a1)
bset #2,$2A(a1)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -97919,8 +97968,7 @@ loc_4B0B0:
move.b RawAni_4B0CE(pc,d0.w),$22(a1)
bra.s loc_4B08E
; ---------------------------------------------------------------------------
-RawAni_4B0CE:
- dc.b $90, $90, $90, $90, $90, $90, $90, $90, $91, $92, $92, $92, $92, $92, $92, $91
+RawAni_4B0CE: dc.b $90, $90, $90, $90, $90, $90, $90, $90, $91, $92, $92, $92, $92, $92, $92, $91
; ---------------------------------------------------------------------------
loc_4B0DE:
@@ -97937,8 +97985,7 @@ loc_4B0DE:
or.b d0,$2A(a1)
bra.w loc_4B08E
; ---------------------------------------------------------------------------
-RawAni_4B110:
- dc.b $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5, $E4, $E8, $E9, $E9, $EA, $E9, $E9, $E8
+RawAni_4B110: dc.b $E4, $E5, $E6, $E6, $E7, $E6, $E6, $E5, $E4, $E8, $E9, $E9, $EA, $E9, $E9, $E8
byte_4B120: dc.b 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1
; ---------------------------------------------------------------------------
@@ -97980,21 +98027,21 @@ loc_4B13E:
andi.b #-4,$2A(a1)
or.b d0,$2A(a1)
move.b #1,(a2)
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
locret_4B1CE:
rts
; End of function sub_4AF80
; ---------------------------------------------------------------------------
-Map_SOZRapelWire:include "Levels/SOZ/Misc Object Data/Map - Rapel Wire.asm"
-
+Map_SOZRapelWire:
+ include "Levels/SOZ/Misc Object Data/Map - Rapel Wire.asm"
; =============== S U B R O U T I N E =======================================
-Ending_4B356:
+Slots_RenderLayout:
bsr.w sub_4B4C4
bsr.w sub_4B592
lea (Chunk_table+$7800).l,a1
@@ -98108,7 +98155,7 @@ loc_4B47C:
dbf d7,loc_4B424
move.b d5,(Sprites_drawn).w
rts
-; End of function Ending_4B356
+; End of function Slots_RenderLayout
; =============== S U B R O U T I N E =======================================
@@ -98168,31 +98215,31 @@ loc_4B4E8:
addq.w #8,a1
dbf d1,loc_4B4E8
lea (Chunk_table+$7005).l,a1
- subq.b #1,(_unkFEB0).w
+ subq.b #1,(Slot_machine_goal_frame_timer).w
bpl.s loc_4B526
- move.b #1,(_unkFEB0).w
+ move.b #1,(Slot_machine_goal_frame_timer).w
addq.b #1,$20(a1)
cmpi.b #3,$20(a1)
blo.s loc_4B514
move.b #0,$20(a1)
loc_4B514:
- addq.b #1,(_unkFEB1).w
- cmpi.b #6,(_unkFEB1).w
+ addq.b #1,(Slot_machine_goal_frame).w
+ cmpi.b #6,(Slot_machine_goal_frame).w
blo.s loc_4B526
- move.b #0,(_unkFEB1).w
+ move.b #0,(Slot_machine_goal_frame).w
loc_4B526:
- move.b (_unkFEB1).w,$48(a1)
+ move.b (Slot_machine_goal_frame).w,$48(a1)
move.b (Rings_frame).w,$40(a1)
- subq.b #1,(_unkFEB4).w
+ subq.b #1,(Slot_machine_peppermint_frame_timer).w
bpl.s loc_4B548
- move.b #3,(_unkFEB4).w
- addq.b #1,(_unkFEB5).w
- andi.b #3,(_unkFEB5).w
+ move.b #3,(Slot_machine_peppermint_frame_timer).w
+ addq.b #1,(Slot_machine_peppermint_frame).w
+ andi.b #3,(Slot_machine_peppermint_frame).w
loc_4B548:
- move.b (_unkFEB5).w,$38(a1)
+ move.b (Slot_machine_peppermint_frame).w,$38(a1)
rts
; End of function sub_4B4C4
@@ -98478,18 +98525,18 @@ SlotBonusMaps: dc.l Map_SB_ColoredWall
dc.w make_art_tile(ArtTile_Ring,1,0)
dc.l Map_SB_Ring+$7000000
dc.w make_art_tile(ArtTile_Ring,1,0)
-Map_SB_Slot: include "Levels/Slots/Misc Object Data/Map - Slot.asm"
-
-Map_SB_R_and_Peppermint: include "Levels/Slots/Misc Object Data/Map - R and Peppermint.asm"
-
-Map_SB_Goal: include "Levels/Slots/Misc Object Data/Map - Goal.asm"
-
-Map_SB_Bumper: include "Levels/Slots/Misc Object Data/Map - Bumper.asm"
-
-Map_SB_Ring: include "Levels/Slots/Misc Object Data/Map - Ring.asm"
-
-Map_SB_ColoredWall: include "Levels/Slots/Misc Object Data/Map - Colored Wall.asm"
-
+Map_SB_Slot:
+ include "Levels/Slots/Misc Object Data/Map - Slot.asm"
+Map_SB_R_and_Peppermint:
+ include "Levels/Slots/Misc Object Data/Map - R and Peppermint.asm"
+Map_SB_Goal:
+ include "Levels/Slots/Misc Object Data/Map - Goal.asm"
+Map_SB_Bumper:
+ include "Levels/Slots/Misc Object Data/Map - Bumper.asm"
+Map_SB_Ring:
+ include "Levels/Slots/Misc Object Data/Map - Ring.asm"
+Map_SB_ColoredWall:
+ include "Levels/Slots/Misc Object Data/Map - Colored Wall.asm"
; ---------------------------------------------------------------------------
Obj_Sonic_RotatingSlotBonus:
@@ -98537,8 +98584,8 @@ loc_4B9B6:
; ---------------------------------------------------------------------------
off_4B9BC: dc.w loc_4B9CE-off_4B9BC
- dc.w loc_4BA4E-off_4B9BC; 1
- dc.w loc_4BC1E-off_4B9BC; 2
+ dc.w loc_4BA4E-off_4B9BC
+ dc.w loc_4BC1E-off_4B9BC
off_4B9C2: dc.l Map_Sonic
dc.l Map_Tails
dc.l Map_Knuckles
@@ -98764,8 +98811,8 @@ sub_4BBB2:
asr.l #8,d0
move.w d0,$1A(a0)
bset #1,$2A(a0)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
locret_4BBF2:
rts
@@ -99006,13 +99053,13 @@ loc_4BDFC:
loc_4BE10:
jsr (GiveRing).l
- cmpi.w #$32,(Ring_count).w
+ cmpi.w #50,(Ring_count).w
blo.s loc_4BE32
bset #0,(Extra_life_flags).w
bne.s loc_4BE32
addq.b #1,(Continue_count).w
- moveq #sfx_Continue,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Continue),d0
+ jsr (Play_SFX).l
loc_4BE32:
moveq #0,d4
@@ -99076,16 +99123,16 @@ loc_4BE5A:
move.l d0,4(a2)
loc_4BEC8:
- moveq #sfx_Bumper,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Bumper),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_4BED0:
cmpi.b #4,d0
bne.s loc_4BEE4
addq.b #2,5(a0)
- moveq #sfx_Goal,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Goal),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -99104,8 +99151,8 @@ loc_4BEE4:
loc_4BF0C:
neg.w (SStage_scalar_index_1).w
- moveq #sfx_LaunchGo,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_LaunchGo),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_4BF18:
@@ -99136,8 +99183,8 @@ loc_4BF54:
move.b d0,4(a2)
loc_4BF58:
- moveq #sfx_Flipper,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Flipper),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
locret_4BF60:
@@ -99264,7 +99311,7 @@ loc_4C0BE:
bhs.w loc_4C16C
jsr (Create_New_Sprite).l
bne.w loc_4C16C
- move.l #loc_4C374,(a1)
+ move.l #Obj_SlotSpike,(a1)
move.l #Map_SlotSpike,$C(a1)
move.w #$2490,$A(a1)
move.b #4,4(a1)
@@ -99308,7 +99355,7 @@ loc_4C172:
bhs.w locret_4C21A
jsr (Create_New_Sprite).l
bne.w locret_4C21A
- move.l #loc_1A9EE,(a1)
+ move.l #Obj_SlotRing,(a1)
move.l #Map_Ring,$C(a1)
move.w #make_art_tile(ArtTile_Ring,1,0),$A(a1)
move.b #4,4(a1)
@@ -99350,8 +99397,8 @@ loc_4C21C:
move.b (V_int_run_count+3).w,d0
andi.w #$F,d0
bne.s locret_4C23C
- moveq #sfx_SlotMachine,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SlotMachine),d0
+ jsr (Play_SFX).l
locret_4C23C:
rts
@@ -99396,11 +99443,11 @@ loc_4C292:
locret_4C29E:
rts
; ---------------------------------------------------------------------------
-Map_SlotBonusCage: include "Levels/Slots/Misc Object Data/Map - Bonus Cage (Unused).asm"
-
+Map_SlotBonusCage:
+ include "Levels/Slots/Misc Object Data/Map - Bonus Cage (Unused).asm"
; ---------------------------------------------------------------------------
-loc_4C374:
+Obj_SlotSpike:
moveq #0,d1
move.w $3C(a0),d1
swap d1
@@ -99424,8 +99471,8 @@ loc_4C374:
cmpi.w #5,(SStage_scalar_index_2).w
blo.s loc_4C3CA
clr.w (SStage_scalar_index_2).w
- moveq #sfx_SpikeHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeHit),d0
+ jsr (Play_SFX).l
loc_4C3CA:
tst.w (Ring_count).w
@@ -99442,7 +99489,6 @@ loc_4C3E0:
; ---------------------------------------------------------------------------
Map_SlotSpike: include "Levels/Slots/Misc Object Data/Map - Spike.asm"
-
; =============== S U B R O U T I N E =======================================
@@ -100090,8 +100136,8 @@ loc_4C966:
; ---------------------------------------------------------------------------
BlueSpheresTitle:
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
jsr (Pal_FadeToBlack).l
bsr.w sub_4C8E4
bsr.w sub_4CCA6
@@ -100159,8 +100205,8 @@ loc_4CAA8:
move.l #Obj_SpheresTitle_4D986,(Reserved_object_3).w
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_Continue,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Continue),d0
+ jsr (Play_Music).l
move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
move.w d0,(VDP_control_port).l
@@ -100197,16 +100243,16 @@ loc_4CB2E:
; End of function sub_4CB1A
; ---------------------------------------------------------------------------
-Pal_SpheresTitle_1: binclude "General/Blue Sphere/Palettes/Title 1.bin"
- even
-
-Pal_SpheresTitle_2: binclude "General/Blue Sphere/Palettes/Title 2.bin"
- even
-
+Pal_SpheresTitle_1:
+ binclude "General/Blue Sphere/Palettes/Title 1.bin"
+ even
+Pal_SpheresTitle_2:
+ binclude "General/Blue Sphere/Palettes/Title 2.bin"
+ even
aNoWayNoWayNoWa:dc.b "NO WAY! NO WAY! NO WAY! NO WAY? ",0
-
+ even
aGetBlueSpheres:dc.b "GET BLUE SPHERES ! ",0
- dc.b 0 ;
+ even
; =============== S U B R O U T I N E =======================================
@@ -100451,8 +100497,8 @@ loc_4CEC8:
moveq #-1,d0
move.w d0,(Special_stage_spheres_left).w
move.w d0,(Special_stage_rings_left).w
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
move #$2700,sr
lea aGetBlueSpheres(pc),a1
move.w #$100,d2
@@ -100521,8 +100567,8 @@ loc_4CFB2:
tst.b (Blue_spheres_option).w
beq.s loc_4CFD4
subq.b #1,(Blue_spheres_option).w
- moveq #sfx_WeatherMachine,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WeatherMachine),d0
+ jsr (Play_SFX).l
loc_4CFD4:
btst #1,d1
@@ -100530,8 +100576,8 @@ loc_4CFD4:
cmpi.b #2,(Blue_spheres_option).w
bhs.s loc_4D000
addq.b #1,(Blue_spheres_option).w
- moveq #sfx_WeatherMachine,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WeatherMachine),d0
+ jsr (Play_SFX).l
cmpi.b #2,(Blue_spheres_option).w
bne.s loc_4D000
ori.b #$80,(Blue_spheres_menu_flag).w
@@ -100559,7 +100605,7 @@ locret_4D03C:
Obj_SpheresTitle_4D03E:
move.l #Map_BlueSpheresText,$C(a0)
- move.w #-$7AB2,$A(a0)
+ move.w #$854E,$A(a0)
move.w #$120,$10(a0)
move.w #$80,8(a0)
move.b #$14,7(a0)
@@ -100896,7 +100942,7 @@ Obj_SpheresTitle_4D302:
loc_4D30E:
move.l #Map_BlueSpheresText,$C(a0)
- move.w #-$7AB2,$A(a0)
+ move.w #$854E,$A(a0)
move.w #$D4,$10(a0)
move.w #$80,8(a0)
move.b #$14,7(a0)
@@ -100975,7 +101021,7 @@ loc_4D3EA:
addq.w #1,d0
mulu.w #object_size,d0
adda.w d0,a1
- move.w #-$7AB2,$A(a1)
+ move.w #$854E,$A(a1)
move.b (Ctrl_1_pressed).w,d1
btst #0,d1
beq.s loc_4D414
@@ -101014,14 +101060,14 @@ loc_4D456:
addq.w #1,d0
mulu.w #object_size,d0
adda.w d0,a1
- move.w #-$7A9E,$A(a1)
+ move.w #$8562,$A(a1)
loc_4D470:
move.b (Ctrl_1_pressed).w,d1
andi.b #$F,d1
beq.s loc_4D482
- moveq #sfx_WeatherMachine,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WeatherMachine),d0
+ jsr (Play_SFX).l
loc_4D482:
jmp (Draw_Sprite).l
@@ -101114,16 +101160,16 @@ loc_4D4FC:
move.b d2,(a2)+
lea (Normal_palette).w,a2
bsr.w sub_4CB1A
- moveq #sfx_Starpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Starpost),d0
+ jsr (Play_SFX).l
andi.b #$7F,(Blue_spheres_menu_flag).w
move.b #1,(Blue_spheres_option).w
rts
; ---------------------------------------------------------------------------
loc_4D58A:
- moveq #sfx_Error,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Error),d0
+ jsr (Play_SFX).l
andi.b #$7F,(Blue_spheres_menu_flag).w
move.b #1,(Blue_spheres_option).w
rts
@@ -101162,7 +101208,7 @@ loc_4D5BC:
sub_4D5C2:
move.l #Map_BlueSpheresNum,$C(a0)
- move.w #-$7AB2,$A(a0)
+ move.w #$854E,$A(a0)
move.w #$80,8(a0)
move.b #8,7(a0)
move.b #8,6(a0)
@@ -101201,7 +101247,7 @@ loc_4D60A:
Obj_SpheresTitle_4D610:
move.l #Map_BlueSpheresText,$C(a0)
- move.w #-$7AB2,$A(a0)
+ move.w #$854E,$A(a0)
move.w #$120,$10(a0)
move.w #$128,$14(a0)
move.w #$80,8(a0)
@@ -101216,10 +101262,10 @@ loc_4D648:
Obj_SpheresTitle_4D64E:
move.l #Map_BlueSpheresIcon,$C(a0)
- move.w #-$1A68,$A(a0)
+ move.w #$E598,$A(a0)
cmpi.w #3,(Player_option).w
bne.s loc_4D66A
- move.w #-$7A68,$A(a0)
+ move.w #$8598,$A(a0)
loc_4D66A:
move.w #$100,$10(a0)
@@ -101327,11 +101373,11 @@ loc_4D774:
beq.s loc_4D7A0
move.w $A(a0),d0
move.w #3,(Player_option).w
- move.w #-$7A68,$A(a0)
- cmpi.w #-$7A68,d0
+ move.w #$8598,$A(a0)
+ cmpi.w #$8598,d0
bne.s loc_4D7A0
move.w #1,(Player_option).w
- move.w #-$1A68,$A(a0)
+ move.w #$E598,$A(a0)
loc_4D7A0:
jmp (Draw_Sprite).l
@@ -101342,12 +101388,12 @@ word_4D7A6: dc.w $100, $AE
word_4D7B2: dc.w $140, $AE
dc.w $140, $126
dc.w $178, $142
-Map_BlueSpheresText: include "General/Blue Sphere/Map - Text.asm"
-
-Map_BlueSpheresNum: include "General/Blue Sphere/Map - Numbers.asm"
-
-Map_BlueSpheresIcon: include "General/Blue Sphere/Map - Rotating Icon.asm"
-
+Map_BlueSpheresText:
+ include "General/Blue Sphere/Map - Text.asm"
+Map_BlueSpheresNum:
+ include "General/Blue Sphere/Map - Numbers.asm"
+Map_BlueSpheresIcon:
+ include "General/Blue Sphere/Map - Rotating Icon.asm"
word_4D976: dc.w $B8, $100
dc.w $10C, $F8
dc.w $130, $F4
@@ -101393,13 +101439,13 @@ loc_4D9EC:
loc_4D9FE:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Ani_BlueSphereCharSprite: include "General/Blue Sphere/Anim - Character Sprites.asm"
-
+Ani_BlueSphereCharSprite:
+ include "General/Blue Sphere/Anim - Character Sprites.asm"
; ---------------------------------------------------------------------------
Obj_SpheresTitle_4DA30:
move.l #Map_BlueSpheresCopyright,$C(a0)
- move.w #-$7A4E,$A(a0)
+ move.w #$85B2,$A(a0)
move.w #$180,$10(a0)
move.w #$152,$14(a0)
move.w #$80,8(a0)
@@ -101410,13 +101456,13 @@ Obj_SpheresTitle_4DA30:
loc_4DA62:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_BlueSpheresCopyright: include "General/Blue Sphere/Map - Copyright.asm"
-
+Map_BlueSpheresCopyright:
+ include "General/Blue Sphere/Map - Copyright.asm"
; ---------------------------------------------------------------------------
BlueSpheresResults:
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
bsr.w sub_4C8E4
lea (Pal_SphereResults_012).l,a1
lea (Target_palette).w,a2
@@ -101465,12 +101511,12 @@ loc_4DA96:
move.l #Obj_Sphere_Results_4E012,(Dynamic_object_RAM+(object_size*26)).w
jsr (Process_Sprites).l
jsr (Render_Sprites).l
- moveq #mus_GotThroughAct,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_GotThroughAct),d0
+ jsr (Play_Music).l
move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
move.w d0,(VDP_control_port).l
- jsr (Pal_FromBlackWhite).l
+ jsr (Pal_FadeFromWhite).l
loc_4DB9E:
move.b #$1A,(V_int_routine).w
@@ -101510,8 +101556,8 @@ locret_4DC18:
; ---------------------------------------------------------------------------
loc_4DC1A:
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
jsr (Pal_FadeToBlack).l
bsr.w sub_4C8E4
lea (_unkFA80).w,a1
@@ -101555,15 +101601,15 @@ loc_4DC7E:
lea PLC_SphereResults_4DDE8(pc),a1
jsr (Load_PLC_Immediate).l
lea (RAM_start).l,a1
- lea (ArtKos_SKPoseBanner).l,a0
+ lea (ArtKosM_SKPoseBanner+2).l,a0
jsr (Kos_Decomp).l
- lea (ArtKos_ANDKnuckles).l,a0
+ lea (ArtKosM_ANDKnuckles+2).l,a0
jsr (Kos_Decomp).l
- lea (ArtKos_HPZMasterEmerald).l,a0
+ lea (ArtKosM_EndingMasterEmerald+2).l,a0
jsr (Kos_Decomp).l
- lea (ArtKos_RobotnikSmug).l,a0
+ lea (ArtKosM_RobotnikSmug+2).l,a0
jsr (Kos_Decomp).l
- lea (ArtKos_EggRoboHead).l,a0
+ lea (ArtKosM_EggRoboHead+2).l,a0
jsr (Kos_Decomp).l
move.w a1,d3
lsr.w #1,d3
@@ -101583,8 +101629,8 @@ loc_4DC7E:
clr.b (Super_Sonic_Knux_flag).w
clr.b (Super_palette_status).w
move.w #1,(Player_mode).w
- moveq #mus_Invincibility,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Invincibility),d0
+ jsr (Play_Music).l
move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
move.w d0,(VDP_control_port).l
@@ -101634,7 +101680,8 @@ loc_4DDE2:
locret_4DDE6:
rts
; ---------------------------------------------------------------------------
-PLC_SphereResults_4DDE8:dc.w 4
+PLC_SphereResults_4DDE8:
+ dc.w 4
dc.l ArtNem_RobotnikShip
dc.w $4DE0
dc.l ArtNem_Chicken
@@ -101645,14 +101692,16 @@ PLC_SphereResults_4DDE8:dc.w 4
dc.w $5C20
dc.l ArtNem_BlueSphereTails
dc.w $F400
-Pal_SphereResults_012: binclude "General/Blue Sphere/Palettes/Results Line 0-2.bin"
- even
-
-Pal_SphereResults_3: binclude "General/Blue Sphere/Palettes/Results Line 3.bin"
- even
-
-aCongratulation:dc.b "CONGRATULATIONS!",0,0
+Pal_SphereResults_012:
+ binclude "General/Blue Sphere/Palettes/Results Line 0-2.bin"
+ even
+Pal_SphereResults_3:
+ binclude "General/Blue Sphere/Palettes/Results Line 3.bin"
+ even
+aCongratulation:dc.b "CONGRATULATIONS!",0
+ even
aPerfect: dc.b "PERFECT",0
+ even
; =============== S U B R O U T I N E =======================================
@@ -101713,8 +101762,8 @@ loc_4DF04:
move.w #-$7A41,d6
jsr (sub_5B318).l
move #$2300,sr
- moveq #sfx_Continue,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Continue),d0
+ jsr (Play_SFX).l
move.w #$12C,$30(a0)
loc_4DF38:
@@ -101762,7 +101811,7 @@ locret_4DF84:
Obj_SphereResults_4DF86:
move.l #Map_Sonic,$C(a0)
- move.w #-$7980,$A(a0)
+ move.w #$8680,$A(a0)
move.w #$120,$10(a0)
move.w #$100,$14(a0)
move.w #$80,8(a0)
@@ -101846,7 +101895,7 @@ loc_4E074:
Obj_SphereResults_4E0A4:
move.l #Map_BlueSpheresText,$C(a0)
- move.w #-$7AB2,$A(a0)
+ move.w #$854E,$A(a0)
move.w #$120,$10(a0)
move.w #$140,$14(a0)
move.w #$80,8(a0)
@@ -101884,8 +101933,8 @@ loc_4E116:
beq.s loc_4E146
addq.b #1,(Blue_spheres_difficulty).w
bsr.s Difficulty_Level_Sprites_Display
- moveq #sfx_LaunchReady,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LaunchReady),d0
+ jsr (Play_SFX).l
loc_4E146:
move.b #4,$22(a0)
@@ -101913,7 +101962,8 @@ locret_4E178:
; End of function Difficulty_Level_Sprites_Display
; ---------------------------------------------------------------------------
-Difficulty_Sprites:dc.l Obj_DifficultySonic
+Difficulty_Sprites:
+ dc.l Obj_DifficultySonic
dc.l Obj_Difficulty_Tails
dc.l Obj_Difficulty_Knuckles
dc.l Obj_Difficulty_Eggman
@@ -101943,7 +101993,7 @@ loc_4E1BE:
Obj_DifficultySonic:
move.l #Map_Sonic,$C(a0)
- move.w #-$7980,$A(a0)
+ move.w #$8680,$A(a0)
move.w #$120,$10(a0)
move.w #$120,$14(a0)
bset #0,4(a0)
@@ -101984,7 +102034,7 @@ Obj_Difficulty_4E24C:
Obj_Difficulty_Tails:
move.l #Map_BSTailsPose,$C(a0)
- move.w #-$5860,$A(a0)
+ move.w #$A7A0,$A(a0)
move.w #$FC,$10(a0)
move.w #$11B,$14(a0)
bset #0,4(a0)
@@ -101996,13 +102046,12 @@ Obj_Difficulty_Tails:
loc_4E29C:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_BSTailsPose: include "General/Blue Sphere/Map - Tails Pose.asm"
-
+Map_BSTailsPose:include "General/Blue Sphere/Map - Tails Pose.asm"
; ---------------------------------------------------------------------------
Obj_Difficulty_Knuckles:
move.l #Map_Knuckles,$C(a0)
- move.w #-$5960,$A(a0)
+ move.w #$A6A0,$A(a0)
move.w #$138,$10(a0)
move.w #$118,$14(a0)
move.w #$80,8(a0)
@@ -102018,14 +102067,14 @@ loc_4E2F0:
cmp.b $30(a0),d0
beq.s loc_4E310
move.b d0,$30(a0)
- move.w #-$2C00,d4
+ move.w #$D400,d4
jsr (loc_18122).l
loc_4E310:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_BSResultsEmerald: include "General/Blue Sphere/Map - Results Emerald.asm"
-
+Map_BSResultsEmerald:
+ include "General/Blue Sphere/Map - Results Emerald.asm"
; ---------------------------------------------------------------------------
LevelSetup:
@@ -102060,19 +102109,21 @@ LevelSetup:
move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
- movea.l Offs_ScreenInit(pc,d0.w),a1
+ movea.l LevelSetupArray(pc,d0.w),a1
jsr (a1)
addq.w #2,a3
move.w #$E000,d7
move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
- movea.l Offs_BackgroundInit(pc,d0.w),a1
+ movea.l LevelSetupArray+4(pc,d0.w),a1
jsr (a1)
move.w (Camera_Y_pos_copy).w,(V_scroll_value).w
move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
rts
-; ---------------------------------------------------------------------------
+
+; =============== S U B R O U T I N E =======================================
+
ScreenEvents:
move.w (Camera_X_pos).w,(Camera_X_pos_copy).w
@@ -102085,211 +102136,117 @@ ScreenEvents:
move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
- movea.l Offs_ScreenEvent(pc,d0.w),a1
+ movea.l LevelEventArray(pc,d0.w),a1
jsr (a1)
addq.w #2,a3
move.w #$E000,d7
move.w (Current_zone_and_act).w,d0
ror.b #2,d0
lsr.w #3,d0
- movea.l Offs_BackgroundEvent(pc,d0.w),a1
+ movea.l LevelEventArray+4(pc,d0.w),a1
jsr (a1)
move.w (Camera_Y_pos_copy).w,(V_scroll_value).w
move.w (Camera_Y_pos_BG_copy).w,(V_scroll_value_BG).w
rts
-; ---------------------------------------------------------------------------
-Offs_ScreenInit:dc.l AIZ1_ScreenInit
-Offs_BackgroundInit:dc.l AIZ1_BackgroundInit ; 0
- dc.l AIZ2_ScreenInit ; 1
- dc.l AIZ2_BackgroundInit ; 2
-Offs_ScreenEvent:dc.l AIZ1_ScreenEvent
-Offs_BackgroundEvent:dc.l AIZ1_BackgroundEvent ; 0
- dc.l AIZ2_ScreenEvent ; 1
- dc.l AIZ2_BackgroundEvent ; 2
- dc.l HCZ1_ScreenInit ; 3
- dc.l HCZ1_BackgroundInit ; 4
- dc.l HCZ2_ScreenInit ; 5
- dc.l HCZ2_BackgroundInit ; 6
- dc.l HCZ1_ScreenEvent ; 7
- dc.l HCZ1_BackgroundEvent ; 8
- dc.l HCZ2_ScreenEvent ; 9
- dc.l HCZ2_BackgroundEvent ; 10
- dc.l MGZ1_ScreenInit ; 11
- dc.l MGZ1_BackgroundInit ; 12
- dc.l MGZ2_ScreenInit ; 13
- dc.l MGZ2_BackgroundInit ; 14
- dc.l MGZ1_ScreenEvent ; 15
- dc.l MGZ1_BackgroundEvent ; 16
- dc.l MGZ2_ScreenEvent ; 17
- dc.l MGZ2_BackgroundEvent ; 18
- dc.l CNZ1_ScreenInit ; 19
- dc.l CNZ1_BackgroundInit ; 20
- dc.l CNZ2_ScreenInit ; 21
- dc.l CNZ2_BackgroundInit ; 22
- dc.l CNZ1_ScreenEvent ; 23
- dc.l CNZ1_BackgroundEvent ; 24
- dc.l CNZ2_ScreenEvent ; 25
- dc.l CNZ2_BackgroundEvent ; 26
- dc.l FBZ1_ScreenInit ; 27
- dc.l FBZ1_BackgroundInit ; 28
- dc.l FBZ2_ScreenInit ; 29
- dc.l FBZ2_BackgroundInit ; 30
- dc.l FBZ1_ScreenEvent ; 31
- dc.l FBZ1_BackgroundEvent ; 32
- dc.l FBZ2_ScreenEvent ; 33
- dc.l FBZ2_BackgroundEvent ; 34
- dc.l ICZ1_ScreenInit ; 35
- dc.l ICZ1_BackgroundInit ; 36
- dc.l ICZ2_ScreenInit ; 37
- dc.l ICZ2_BackgroundInit ; 38
- dc.l ICZ1_ScreenEvent ; 39
- dc.l ICZ1_BackgroundEvent ; 40
- dc.l ICZ2_ScreenEvent ; 41
- dc.l ICZ2_BackgroundEvent ; 42
- dc.l LBZ1_ScreenInit ; 43
- dc.l LBZ1_BackgroundInit ; 44
- dc.l LBZ2_ScreenInit ; 45
- dc.l LBZ2_BackgroundInit ; 46
- dc.l LBZ1_ScreenEvent ; 47
- dc.l LBZ1_BackgroundEvent ; 48
- dc.l LBZ2_ScreenEvent ; 49
- dc.l LBZ2_BackgroundEvent ; 50
- dc.l MHZ1_ScreenInit ; 51
- dc.l MHZ1_BackgroundInit ; 52
- dc.l MHZ2_ScreenInit ; 53
- dc.l MHZ2_BackgroundInit ; 54
- dc.l MHZ1_ScreenEvent ; 55
- dc.l MHZ1_BackgroundEvent ; 56
- dc.l MHZ2_ScreenEvent ; 57
- dc.l MHZ2_BackgroundEvent ; 58
- dc.l SOZ1_ScreenInit ; 59
- dc.l SOZ1_BackgroundInit ; 60
- dc.l SOZ2_ScreenInit ; 61
- dc.l SOZ2_BackgroundInit ; 62
- dc.l SOZ1_ScreenEvent ; 63
- dc.l SOZ1_BackgroundEvent ; 64
- dc.l SOZ2_ScreenEvent ; 65
- dc.l SOZ2_BackgroundEvent ; 66
- dc.l LRZ1_ScreenInit ; 67
- dc.l LRZ1_BackgroundInit ; 68
- dc.l LRZ2_ScreenInit ; 69
- dc.l LRZ2_BackgroundInit ; 70
- dc.l LRZ1_ScreenEvent ; 71
- dc.l LRZ1_BackgroundEvent ; 72
- dc.l LRZ2_ScreenEvent ; 73
- dc.l LRZ2_BackgroundEvent ; 74
- dc.l SSZ1_ScreenInit ; 75
- dc.l SSZ1_BackgroundInit ; 76
- dc.l SSZ2_ScreenInit ; 77
- dc.l SSZ2_BackgroundInit ; 78
- dc.l SSZ1_ScreenEvent ; 79
- dc.l SSZ1_BackgroundEvent ; 80
- dc.l SSZ2_ScreenEvent ; 81
- dc.l SSZ2_BackgroundEvent ; 82
- dc.l DEZ1_ScreenInit ; 83
- dc.l DEZ1_BackgroundInit ; 84
- dc.l DEZ2_ScreenInit ; 85
- dc.l DEZ2_BackgroundInit ; 86
- dc.l DEZ1_ScreenEvent ; 87
- dc.l DEZ1_BackgroundEvent ; 88
- dc.l DEZ2_ScreenEvent ; 89
- dc.l DEZ2_BackgroundEvent ; 90
- dc.l DDZ_ScreenInit ; 91
- dc.l DDZ_BackgroundInit ; 92
- dc.l DDZ_ScreenInit ; 93
- dc.l DDZ_BackgroundInit ; 94
- dc.l DDZ_ScreenEvent ; 95
- dc.l DDZ_BackgroundEvent ; 96
- dc.l DDZ_ScreenEvent ; 97
- dc.l DDZ_BackgroundEvent ; 98
- dc.l Ending_ScreenInit ; 99
- dc.l Ending_BackgroundInit ; 100
- dc.l Ending_ScreenInit ; 101
- dc.l Ending_BackgroundInit ; 102
- dc.l Ending_ScreenEvent ; 103
- dc.l Ending_BackgroundEvent; 104
- dc.l Ending_ScreenEvent ; 105
- dc.l Ending_BackgroundEvent; 106
- dc.l Comp_ScreenInit ; 107
- dc.l ALZ_BackgroundInit ; 108
- dc.l Comp_ScreenInit ; 109
- dc.l ALZ_BackgroundInit ; 110
- dc.l Comp_ScreenEvent ; 111
- dc.l ALZ_BackgroundEvent ; 112
- dc.l Comp_ScreenEvent ; 113
- dc.l ALZ_BackgroundEvent ; 114
- dc.l Comp_ScreenInit ; 115
- dc.l BPZ_BackgroundInit ; 116
- dc.l Comp_ScreenInit ; 117
- dc.l BPZ_BackgroundInit ; 118
- dc.l Comp_ScreenEvent ; 119
- dc.l BPZ_BackgroundEvent ; 120
- dc.l Comp_ScreenEvent ; 121
- dc.l BPZ_BackgroundEvent ; 122
- dc.l Comp_ScreenInit ; 123
- dc.l DPZ_BackgroundInit ; 124
- dc.l Comp_ScreenInit ; 125
- dc.l DPZ_BackgroundInit ; 126
- dc.l Comp_ScreenEvent ; 127
- dc.l DPZ_BackgroundEvent ; 128
- dc.l Comp_ScreenEvent ; 129
- dc.l DPZ_BackgroundEvent ; 130
- dc.l Comp_ScreenInit ; 131
- dc.l CGZ_BackgroundInit ; 132
- dc.l Comp_ScreenInit ; 133
- dc.l CGZ_BackgroundInit ; 134
- dc.l CGZ_ScreenEvent ; 135
- dc.l CGZ_BackgroundEvent ; 136
- dc.l CGZ_ScreenEvent ; 137
- dc.l CGZ_BackgroundEvent ; 138
- dc.l Comp_ScreenInit ; 139
- dc.l EMZ_BackgroundInit ; 140
- dc.l Comp_ScreenInit ; 141
- dc.l EMZ_BackgroundInit ; 142
- dc.l Comp_ScreenEvent ; 143
- dc.l EMZ_BackgroundEvent ; 144
- dc.l Comp_ScreenEvent ; 145
- dc.l EMZ_BackgroundEvent ; 146
- dc.l Gumball_ScreenInit ; 147
- dc.l Gumball_BackgroundInit; 148
- dc.l Gumball_ScreenInit ; 149
- dc.l Gumball_BackgroundInit; 150
- dc.l Gumball_ScreenEvent; 151
- dc.l Gumball_BackgroundEvent; 152
- dc.l Gumball_ScreenEvent; 153
- dc.l Gumball_BackgroundEvent; 154
- dc.l Pachinko_ScreenInit; 155
- dc.l Pachinko_BackgroundInit; 156
- dc.l Pachinko_ScreenInit; 157
- dc.l Pachinko_BackgroundInit; 158
- dc.l Pachinko_ScreenEvent; 159
- dc.l Pachinko_BackgroundEvent; 160
- dc.l Pachinko_ScreenEvent; 161
- dc.l Pachinko_BackgroundEvent; 162
- dc.l Slots_ScreenInit ; 163
- dc.l Slots_BackgroundInit ; 164
- dc.l Slots_ScreenInit ; 165
- dc.l Slots_BackgroundInit ; 166
- dc.l Slots_ScreenEvent ; 167
- dc.l Slots_BackgroundEvent ; 168
- dc.l Slots_ScreenEvent ; 169
- dc.l Slots_BackgroundEvent ; 170
- dc.l LRZ3_ScreenInit ; 171
- dc.l LRZ3_BackgroundInit ; 172
- dc.l HPZ_ScreenInit ; 173
- dc.l HPZ_BackgroundInit ; 174
- dc.l LRZ3_ScreenEvent ; 175
- dc.l LRZ3_BackgroundEvent ; 176
- dc.l HPZ_ScreenEvent ; 177
- dc.l HPZ_BackgroundEvent ; 178
- dc.l DEZ3_ScreenInit ; 179
- dc.l DEZ3_BackgroundInit ; 180
- dc.l HPZS_ScreenInit ; 181
- dc.l HPZS_BackgroundInit ; 182
- dc.l DEZ3_ScreenEvent ; 183
- dc.l DEZ3_BackgroundEvent ; 184
- dc.l HPZS_ScreenEvent ; 185
- dc.l HPZS_BackgroundEvent ; 186
+; End of function ScreenEvents
+
+; ---------------------------------------------------------------------------
+LevelSetupArray:dc.l AIZ1_ScreenInit, AIZ1_BackgroundInit
+ dc.l AIZ2_ScreenInit, AIZ2_BackgroundInit
+LevelEventArray:dc.l AIZ1_ScreenEvent, AIZ1_BackgroundEvent
+ dc.l AIZ2_ScreenEvent, AIZ2_BackgroundEvent
+ dc.l HCZ1_ScreenInit, HCZ1_BackgroundInit
+ dc.l HCZ2_ScreenInit, HCZ2_BackgroundInit
+ dc.l HCZ1_ScreenEvent, HCZ1_BackgroundEvent
+ dc.l HCZ2_ScreenEvent, HCZ2_BackgroundEvent
+ dc.l MGZ1_ScreenInit, MGZ1_BackgroundInit
+ dc.l MGZ2_ScreenInit, MGZ2_BackgroundInit
+ dc.l MGZ1_ScreenEvent, MGZ1_BackgroundEvent
+ dc.l MGZ2_ScreenEvent, MGZ2_BackgroundEvent
+ dc.l CNZ1_ScreenInit, CNZ1_BackgroundInit
+ dc.l CNZ2_ScreenInit, CNZ2_BackgroundInit
+ dc.l CNZ1_ScreenEvent, CNZ1_BackgroundEvent
+ dc.l CNZ2_ScreenEvent, CNZ2_BackgroundEvent
+ dc.l FBZ1_ScreenInit, FBZ1_BackgroundInit
+ dc.l FBZ2_ScreenInit, FBZ2_BackgroundInit
+ dc.l FBZ1_ScreenEvent, FBZ1_BackgroundEvent
+ dc.l FBZ2_ScreenEvent, FBZ2_BackgroundEvent
+ dc.l ICZ1_ScreenInit, ICZ1_BackgroundInit
+ dc.l ICZ2_ScreenInit, ICZ2_BackgroundInit
+ dc.l ICZ1_ScreenEvent, ICZ1_BackgroundEvent
+ dc.l ICZ2_ScreenEvent, ICZ2_BackgroundEvent
+ dc.l LBZ1_ScreenInit, LBZ1_BackgroundInit
+ dc.l LBZ2_ScreenInit, LBZ2_BackgroundInit
+ dc.l LBZ1_ScreenEvent, LBZ1_BackgroundEvent
+ dc.l LBZ2_ScreenEvent, LBZ2_BackgroundEvent
+ dc.l MHZ1_ScreenInit, MHZ1_BackgroundInit
+ dc.l MHZ2_ScreenInit, MHZ2_BackgroundInit
+ dc.l MHZ1_ScreenEvent, MHZ1_BackgroundEvent
+ dc.l MHZ2_ScreenEvent, MHZ2_BackgroundEvent
+ dc.l SOZ1_ScreenInit, SOZ1_BackgroundInit
+ dc.l SOZ2_ScreenInit, SOZ2_BackgroundInit
+ dc.l SOZ1_ScreenEvent, SOZ1_BackgroundEvent
+ dc.l SOZ2_ScreenEvent, SOZ2_BackgroundEvent
+ dc.l LRZ1_ScreenInit, LRZ1_BackgroundInit
+ dc.l LRZ2_ScreenInit, LRZ2_BackgroundInit
+ dc.l LRZ1_ScreenEvent, LRZ1_BackgroundEvent
+ dc.l LRZ2_ScreenEvent, LRZ2_BackgroundEvent
+ dc.l SSZ1_ScreenInit, SSZ1_BackgroundInit
+ dc.l SSZ2_ScreenInit, SSZ2_BackgroundInit
+ dc.l SSZ1_ScreenEvent, SSZ1_BackgroundEvent
+ dc.l SSZ2_ScreenEvent, SSZ2_BackgroundEvent
+ dc.l DEZ1_ScreenInit, DEZ1_BackgroundInit
+ dc.l DEZ2_ScreenInit, DEZ2_BackgroundInit
+ dc.l DEZ1_ScreenEvent, DEZ1_BackgroundEvent
+ dc.l DEZ2_ScreenEvent, DEZ2_BackgroundEvent
+ dc.l DDZ_ScreenInit, DDZ_BackgroundInit
+ dc.l DDZ_ScreenInit, DDZ_BackgroundInit
+ dc.l DDZ_ScreenEvent, DDZ_BackgroundEvent
+ dc.l DDZ_ScreenEvent, DDZ_BackgroundEvent
+ dc.l Ending_ScreenInit, Ending_BackgroundInit
+ dc.l Ending_ScreenInit, Ending_BackgroundInit
+ dc.l Ending_ScreenEvent, Ending_BackgroundEvent
+ dc.l Ending_ScreenEvent, Ending_BackgroundEvent
+ dc.l Comp_ScreenInit, ALZ_BackgroundInit
+ dc.l Comp_ScreenInit, ALZ_BackgroundInit
+ dc.l Comp_ScreenEvent, ALZ_BackgroundEvent
+ dc.l Comp_ScreenEvent, ALZ_BackgroundEvent
+ dc.l Comp_ScreenInit, BPZ_BackgroundInit
+ dc.l Comp_ScreenInit, BPZ_BackgroundInit
+ dc.l Comp_ScreenEvent, BPZ_BackgroundEvent
+ dc.l Comp_ScreenEvent, BPZ_BackgroundEvent
+ dc.l Comp_ScreenInit, DPZ_BackgroundInit
+ dc.l Comp_ScreenInit, DPZ_BackgroundInit
+ dc.l Comp_ScreenEvent, DPZ_BackgroundEvent
+ dc.l Comp_ScreenEvent, DPZ_BackgroundEvent
+ dc.l Comp_ScreenInit, CGZ_BackgroundInit
+ dc.l Comp_ScreenInit, CGZ_BackgroundInit
+ dc.l CGZ_ScreenEvent, CGZ_BackgroundEvent
+ dc.l CGZ_ScreenEvent, CGZ_BackgroundEvent
+ dc.l Comp_ScreenInit, EMZ_BackgroundInit
+ dc.l Comp_ScreenInit, EMZ_BackgroundInit
+ dc.l Comp_ScreenEvent, EMZ_BackgroundEvent
+ dc.l Comp_ScreenEvent, EMZ_BackgroundEvent
+ dc.l Gumball_ScreenInit, Gumball_BackgroundInit
+ dc.l Gumball_ScreenInit, Gumball_BackgroundInit
+ dc.l Gumball_ScreenEvent, Gumball_BackgroundEvent
+ dc.l Gumball_ScreenEvent, Gumball_BackgroundEvent
+ dc.l Pachinko_ScreenInit, Pachinko_BackgroundInit
+ dc.l Pachinko_ScreenInit, Pachinko_BackgroundInit
+ dc.l Pachinko_ScreenEvent, Pachinko_BackgroundEvent
+ dc.l Pachinko_ScreenEvent, Pachinko_BackgroundEvent
+ dc.l Slots_ScreenInit, Slots_BackgroundInit
+ dc.l Slots_ScreenInit, Slots_BackgroundInit
+ dc.l Slots_ScreenEvent, Slots_BackgroundEvent
+ dc.l Slots_ScreenEvent, Slots_BackgroundEvent
+ dc.l LRZ3_ScreenInit, LRZ3_BackgroundInit
+ dc.l HPZ_ScreenInit, HPZ_BackgroundInit
+ dc.l LRZ3_ScreenEvent, LRZ3_BackgroundEvent
+ dc.l HPZ_ScreenEvent, HPZ_BackgroundEvent
+ dc.l DEZ3_ScreenInit, DEZ3_BackgroundInit
+ dc.l HPZS_ScreenInit, HPZS_BackgroundInit
+ dc.l DEZ3_ScreenEvent, DEZ3_BackgroundEvent
+ dc.l HPZS_ScreenEvent, HPZS_BackgroundEvent
; =============== S U B R O U T I N E =======================================
@@ -103042,12 +102999,11 @@ loc_4ECFA:
; End of function Refresh_PlaneTileDeform
; ---------------------------------------------------------------------------
-; Dead code
-RefreshPlaneDirectVScroll:
+
+Refresh_PlaneDirectVScroll:
move.w (a4)+,d2
moveq #$1F,d3
-; Dead code
loc_4ED1C:
cmp.w d2,d0
bmi.s loc_4ED26
@@ -103055,7 +103011,7 @@ loc_4ED1C:
addq.w #4,a5
bra.s loc_4ED1C
; ---------------------------------------------------------------------------
-; Dead code
+
loc_4ED26:
move.w (a5),d1
moveq #$10,d6
@@ -103067,7 +103023,7 @@ loc_4ED26:
dbf d3,loc_4ED1C
rts
; ---------------------------------------------------------------------------
-; Dead code
+
Refresh_PlaneFull_Competition:
movem.l d0-d2/d6/a0,-(sp)
jsr Setup_TileRowDraw_Competition(pc)
@@ -103177,7 +103133,7 @@ loc_4EE22:
sub.w (a4)+,d6
bmi.s loc_4EE32
move.w (a6)+,d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
move.w d0,(a6)+
subq.w #1,d5
bra.s loc_4EE22
@@ -103219,7 +103175,7 @@ loc_4EE74:
subq.w #1,d5
beq.s locret_4EE82
move.w (a6)+,d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
move.w d0,(a6)+
bra.s loc_4EE74
; ---------------------------------------------------------------------------
@@ -103997,7 +103953,7 @@ Reset_TileOffsetPositionActual:
Reset_TileOffsetPositionEff:
move.w (Camera_X_pos_BG_copy).w,d0
move.w d0,d1
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
move.w d0,d2
move.w d0,(Camera_X_pos_BG_rounded).w
move.w (Camera_Y_pos_BG_copy).w,d0
@@ -104006,12 +103962,16 @@ Reset_TileOffsetPositionEff:
rts
; End of function Reset_TileOffsetPositionEff
-; ---------------------------------------------------------------------------
+
+; =============== S U B R O U T I N E =======================================
+
Update_CameraPositionP2:
move.w (Camera_X_pos_P2).w,(Camera_X_pos_P2_copy).w
move.w (Camera_Y_pos_P2).w,(Camera_Y_pos_P2_copy).w
rts
+; End of function Update_CameraPositionP2
+
; ---------------------------------------------------------------------------
Update_VScrollValueP2:
@@ -104177,7 +104137,7 @@ ScreenShakeArray2:
dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3
dc.b 1, 2, 1, 3, 1, 2, 2, 1, 2, 3, 1, 2, 1, 2, 0, 0
dc.b 2, 0, 3, 2, 2, 3, 2, 2, 1, 3, 0, 0, 1, 0, 1, 3
-
+AIZ1_WaterFGDeformDelta:
dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
dc.w -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0
@@ -104196,7 +104156,7 @@ ScreenShakeArray2:
dc.w 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
dc.w 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0
dc.w 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
-
+AIZ1_WaterBGDeformDelta:
dc.w 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1
dc.w 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1
dc.w 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1
@@ -104218,7 +104178,6 @@ LBZ_WaterWaveArray:
dc.w 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1
dc.w 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1
-
; =============== S U B R O U T I N E =======================================
@@ -104460,7 +104419,6 @@ loc_4FADC:
; ---------------------------------------------------------------------------
word_4FAE4: dc.w $EE4, $EA6, $E62
-
word_4FAEA: dc.w $E40
; ---------------------------------------------------------------------------
@@ -104841,7 +104799,7 @@ AIZ2SE_Normal:
move.w #5,(Draw_delayed_rowcount).w
clr.l (HScroll_table+$1F8).w
move.w (Camera_X_pos_copy).w,d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
subi.w #$10,d0
move.w d0,(HScroll_table+$1FE).w
st (Scroll_lock).w ; Camera doesn't follow Sonic
@@ -104906,7 +104864,7 @@ AIZ2SE_EndRefresh:
jsr Draw_PlaneVertBottomUp(pc)
bpl.s loc_4FFF0
move.w (Camera_X_pos_copy).w,d0
- andi.w #-$10,d0
+ andi.w #$FFF0,d0
subi.w #$10,d0
move.w d0,(Camera_X_pos_rounded).w
move.w #$46C0,(Events_bg+$02).w ; Set level X start to 46C0
@@ -104987,7 +104945,7 @@ AIZ2BGE_FireRedraw:
loc_50110:
addq.w #2,a3
- move.w #-$2000,d7
+ move.w #$E000,d7
clr.w (Events_bg+$00).w
addq.w #4,(Events_routine_bg).w
@@ -105154,7 +105112,7 @@ AIZ2_DoShipLoop:
sub.w d1,(Player_2+x_pos).w ; Subtract $200 from X position of Sonic and Tails
sub.w d1,d0
move.w d0,d1
- andi.w #-$10,d1
+ andi.w #$FFF0,d1
subi.w #$10,d1
move.w d1,(Camera_X_pos_rounded).w
move.w d1,(HScroll_table+$1FE).w
@@ -105262,8 +105220,8 @@ loc_503EA:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_503FE
- moveq #sfx_LargeShip,d0 ; Replay the battleship flying sound every 16th frame
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LargeShip),d0 ; Replay the battleship flying sound every 16th frame
+ jsr (Play_SFX).l
loc_503FE:
subq.w #1,$32(a0) ; Wait for delay to finish
@@ -105341,8 +105299,8 @@ AIZShipBomb_Delay:
subq.w #1,$32(a0)
bne.s loc_504EE
addq.b #4,5(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l ; Play the drop sound after the delay
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l ; Play the drop sound after the delay
loc_504EE:
jsr Translate_Camera2ObjPosition(pc)
@@ -105361,8 +105319,8 @@ AIZShipBomb_Drop:
cmpi.w #-8,d1
bgt.s locret_50578
move.w #$10,(Screen_shake_flag).w ; If touching the floor, set up a timed screen shake
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l ; Play the bomb explosion sound
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l ; Play the bomb explosion sound
jsr (Create_New_Sprite3).l
bne.s loc_50572
lea (AIZBombExplodeDat).l,a2
@@ -105422,7 +105380,7 @@ loc_505B4:
move.b #$20,7(a0)
move.w #$500,$A(a0)
move.l #Map_AIZ2BombExplode,$C(a0)
- move.b #-$75,$28(a0)
+ move.b #$8B,$28(a0)
bra.s loc_505E4
; ---------------------------------------------------------------------------
@@ -105571,524 +105529,46 @@ loc_5075E:
subq.w #1,d0
andi.w #$F,d0
bne.s locret_5077C
- moveq #sfx_EggmanSiren,d0 ; Every sixteenth frame, play alarm sound
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_RobotnikSiren),d0 ; Every sixteenth frame, play alarm sound
+ jsr (Play_SFX).l
locret_5077C:
rts
; ---------------------------------------------------------------------------
-word_5077E: dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w 1
- dc.w 1
- dc.w 0
- dc.w 0
- dc.w $FFFE
- dc.w 1
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w 2
- dc.w 2
- dc.w 1
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w $FFFF
- dc.w $FFFF
- dc.w $FFFF
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w 2
- dc.w 2
- dc.w 1
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w $FFFF
- dc.w $FFFF
- dc.w $FFFF
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w 2
- dc.w 2
- dc.w 1
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w $FFFF
- dc.w $FFFF
- dc.w $FFFF
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w 2
- dc.w 2
- dc.w 1
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w $FFFF
- dc.w $FFFF
- dc.w $FFFF
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w 2
- dc.w 2
- dc.w 1
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w $FFFF
- dc.w $FFFF
- dc.w $FFFF
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w 2
- dc.w 2
- dc.w 1
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w $FFFF
- dc.w $FFFF
- dc.w $FFFF
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w 2
- dc.w 2
- dc.w 1
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w $FFFF
- dc.w $FFFF
- dc.w $FFFF
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w 2
- dc.w 2
- dc.w 1
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
- dc.w $FFFE
- dc.w $FFFE
- dc.w 1
- dc.w $FFFF
- dc.w $FFFF
- dc.w $FFFF
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w 0
- dc.w 0
- dc.w $FFFE
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 0
- dc.w $FFFE
- dc.w 2
- dc.w 2
- dc.w $FFFF
- dc.w $FFFE
+AIZ2_SOZ1_LRZ3_FGDeformDelta:
+ dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
+ dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
+ dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
+ dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
+ dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
+ dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
+ dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
+ dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
+ dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
+ dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
+ dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
+ dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
+ dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
+ dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
+ dc.w 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0
+ dc.w 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0
+AIZ2_ALZ_BGDeformDelta:
+ dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
+ dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
+ dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
+ dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
+ dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
+ dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
+ dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
+ dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
+ dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
+ dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
+ dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
+ dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
+ dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
+ dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
+ dc.w -2, 1, 2, 2, -1, 2, 2, 1, 2, -1, -2, -2, -2, 1, -1, -1
+ dc.w -1, 0, -2, 0, 0, 0, -2, 0, -2, 2, 0, -2, 2, 2, -1, -2
; ---------------------------------------------------------------------------
HCZ1_ScreenInit:
@@ -106565,8 +106045,8 @@ loc_5100C:
tst.w (Screen_shake_flag).w ; When wall has travelled $600 pixels
bpl.s loc_51052
move.w #$E,(Screen_shake_flag).w ; Set screen shake to timed
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l ; Play final crashing sound
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l ; Play final crashing sound
bra.s loc_51052
; ---------------------------------------------------------------------------
@@ -106581,8 +106061,8 @@ loc_5103A:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_51052
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l ; Play the screen shake sound every 16th frame
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l ; Play the screen shake sound every 16th frame
loc_51052:
move.w (Camera_Y_pos_copy).w,d0 ; Get BG camera Y
@@ -106787,8 +106267,8 @@ Do_ShakeSound:
subq.w #1,d0
andi.w #$F,d0
bne.s locret_512A4
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
locret_512A4:
rts
@@ -106967,8 +106447,8 @@ loc_5144C:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_51470
- moveq #sfx_BigRumble,d0 ; Play collapsing sound every 16 frames
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0 ; Play collapsing sound every 16 frames
+ jsr (Play_SFX).l
loc_51470:
tst.w d1
@@ -107097,7 +106577,7 @@ MGZ2_QuakeEvent1:
addi.w #$C,(Events_bg+$10).w ; Set next quake event routine
jsr (Create_New_Sprite).l
bne.s locret_515A2
- move.l #Obj_MGZ2DrillingEggman,(a1)
+ move.l #Obj_MGZ2DrillingRobotnik,(a1)
move.w #$8E0,$10(a1)
move.w #$690,$14(a1) ; Create drilling eggman boss sprite
st (Screen_shake_flag).w
@@ -107132,7 +106612,7 @@ loc_515CC:
addi.w #$C,(Events_bg+$10).w ; Set next quake event routine
jsr (Create_New_Sprite).l
bne.s locret_5160C
- move.l #Obj_MGZ2DrillingEggman,(a1)
+ move.l #Obj_MGZ2DrillingRobotnik,(a1)
bset #0,4(a1)
move.w #$2FA0,$10(a1)
move.w #$2D0,$14(a1) ; Set Robotnik drilling object
@@ -107154,7 +106634,7 @@ MGZ2_QuakeEvent3:
addi.w #$C,(Events_bg+$10).w
jsr (Create_New_Sprite).l
bne.s locret_51654
- move.l #Obj_MGZ2DrillingEggman,(a1)
+ move.l #Obj_MGZ2DrillingRobotnik,(a1)
bset #0,4(a1)
move.w #$3300,$10(a1)
move.w #$790,$14(a1)
@@ -107697,8 +107177,8 @@ loc_51B1C:
move.w (Events_bg+$02).w,d0
cmp.w $2E(a0),d0 ; Wait for BG offset to match given value
blo.s loc_51B44
- moveq #sfx_Crash,d0 ; Play final crashing sound
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0 ; Play final crashing sound
+ jsr (Play_SFX).l
move.w #$E,(Screen_shake_flag).w ; Do final screen shake
clr.w (Events_fg_0).w ; Disable constant screen shaking
bclr #7,(Disable_wall_grab).w ; Reenable Knuckles wall grab
@@ -108292,7 +107772,8 @@ locret_520FC:
; End of function CNZ1_ScrollToYStart
; ---------------------------------------------------------------------------
-CNZ1_BGDeformArray: dc.w $80
+CNZ1_BGDeformArray:
+ dc.w $80
dc.w $30
dc.w $60
dc.w $C0
@@ -108357,7 +107838,7 @@ loc_5216C:
move.l #Obj_CNZTeleporter,(a1)
jsr (CreateNewSprite4).l
bne.s loc_521BE
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
move.w #$4980,$10(a1)
move.w #$A20,$14(a1)
movem.l d7-a0/a2-a3,-(sp)
@@ -108377,9 +107858,9 @@ loc_521D2:
jsr (Create_New_Sprite).l
bne.s CNZ2SE_Normal
move.l #Obj_IncLevEndXGradual,(a1)
- move.w #$49A0,(Target_camera_max_X_pos).w
+ move.w #$49A0,(Camera_stored_max_X_pos).w
lea (a2),a6
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
lea (a6),a2
jsr (Restore_PlayerControl).l
addq.w #4,(Events_routine_fg).w
@@ -108498,8 +107979,8 @@ Obj_CNZTeleporterMain:
move.w d0,$10(a0)
move.w d0,$10(a1)
move.w #$A38,$14(a1) ; Set teleporter position/attributes
- moveq #sfx_Charging,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Charging),d0
+ jsr (Play_SFX).l
move.l #loc_5234A,(a0)
locret_52348:
@@ -108538,8 +108019,8 @@ loc_5238E:
move.w d0,$14(a1) ; Make player disappear!
move.b d0,$20(a1)
move.b d0,$22(a1)
- moveq #sfx_Transporter,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Transporter),d0
+ jsr (Play_SFX).l
st (Scroll_lock).w
bra.s locret_523C8
; ---------------------------------------------------------------------------
@@ -108557,8 +108038,8 @@ loc_523CA:
subi.w #$10,(Camera_Y_pos).w
cmpi.w #$780,(Camera_Y_pos).w
bhs.s locret_523EA
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$500,d0 ; Start Ice Cap
jmp (StartNewLevel).l
; ---------------------------------------------------------------------------
@@ -109079,7 +108560,8 @@ loc_52828:
; End of function FBZ1Screen_CheckInRange
; ---------------------------------------------------------------------------
-FBZ1_LayoutModRange: dc.w $400, $F00, $880, $A80
+FBZ1_LayoutModRange:
+ dc.w $400, $F00, $880, $A80
dc.w $880, $1100, $180, $300
dc.w $1400, $1B80, $900, $B00
dc.w $1A80, $2100, $80, $200
@@ -109646,7 +109128,8 @@ Obj_FBZOutdoorBGMotion:
move.w d0,(Events_bg+$08).w
rts
; ---------------------------------------------------------------------------
-FBZ_InBGDeformArray: dc.w $80
+FBZ_InBGDeformArray:
+ dc.w $80
dc.w $40
dc.w $20
dc.w 8
@@ -109681,7 +109164,8 @@ FBZ_InBGDeformArray: dc.w $80
dc.w $18
dc.w $30
dc.w $7FFF
-FBZ_OutBGDeformArray: dc.w $30
+FBZ_OutBGDeformArray:
+ dc.w $30
dc.w $20
dc.w $30
dc.w $10
@@ -109690,10 +109174,12 @@ FBZ_OutBGDeformArray: dc.w $30
dc.w $10
dc.w $10
dc.w $7FFF
-FBZ_InBGDeformIndex: dc.b 0, $C, 1, $A, $16, $A, 8, $14, $18, $1C, $20, $24, $28, $2C, $30, $34, $38, 2, 6, $12
+FBZ_InBGDeformIndex:
+ dc.b 0, $C, 1, $A, $16, $A, 8, $14, $18, $1C, $20, $24, $28, $2C, $30, $34, $38, 2, 6, $12
dc.b $3E, 0, $46, 7, 4, $10, $1E, $26, $2E, $36, $3A, $40, 3, $E, $22, $32, $3C, 1, 0, $44
dc.b 3, 2, $1A, $2A, $42, $FF
-FBZ_OutBGDeformIndex: dc.w $E
+FBZ_OutBGDeformIndex:
+ dc.w $E
dc.w 2
dc.w $A
dc.w 6
@@ -109702,11 +109188,12 @@ FBZ_OutBGDeformIndex: dc.w $E
dc.w 8
dc.w 0
dc.w $10
-
-Pal_FBZBGIndoors: binclude "Levels/FBZ/Palettes/FBZ BG Indoors.bin"
- even
-Pal_FBZBGOutdoors: binclude "Levels/FBZ/Palettes/FBZ BG Outdoors.bin"
- even
+Pal_FBZBGIndoors:
+ binclude "Levels/FBZ/Palettes/FBZ BG Indoors.bin"
+ even
+Pal_FBZBGOutdoors:
+ binclude "Levels/FBZ/Palettes/FBZ BG Outdoors.bin"
+ even
; ---------------------------------------------------------------------------
FBZ2_ScreenInit:
@@ -109907,7 +109394,8 @@ loc_52F7A:
; End of function SetUp_FBZ2BossEvent
; ---------------------------------------------------------------------------
-FBZ2_LayoutModRange: dc.w $D80, $1300, $A00, $B80
+FBZ2_LayoutModRange:
+ dc.w $D80, $1300, $A00, $B80
; ---------------------------------------------------------------------------
FBZ2_BackgroundInit:
@@ -110318,10 +109806,10 @@ loc_533B8:
Obj_FBZBossPillar:
move.l #Obj_FBZBossPillarMain,(a0)
move.b #$44,4(a0) ; Set up boss pillar object
- move.b #-1,6(a0)
+ move.b #$FF,6(a0)
move.b #$20,7(a0)
move.w #$300,8(a0)
- move.w #-$3C2B,$A(a0)
+ move.w #$C3D5,$A(a0)
move.l #Map_FBZ2Preboss,$C(a0)
move.w #2,$16(a0) ; 2 sprites
@@ -110361,8 +109849,8 @@ loc_53456:
beq.s loc_5346A
subq.w #8,$2E(a0) ; If player is not in range, decrease pillar offset
bne.s loc_5346A
- moveq #sfx_SpikeBalls,d0 ; Play sound only when pillar hits ground
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeBalls),d0 ; Play sound only when pillar hits ground
+ jsr (Play_SFX).l
loc_5346A:
sub.w $2E(a0),d5
@@ -110428,9 +109916,9 @@ Obj_FBZCloud:
move.b d0,$22(a0)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_FBZ2Preboss: include "Levels/FBZ/Misc Object Data/Map - Act 2 Preboss.asm"
-
-FBZ2_CloudDeformIndex: dc.w 4
+Map_FBZ2Preboss:include "Levels/FBZ/Misc Object Data/Map - Act 2 Preboss.asm"
+FBZ2_CloudDeformIndex:
+ dc.w 4
dc.w $E
dc.w 8
dc.w $10
@@ -110797,8 +110285,8 @@ ICZ1_BigSnowFall:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_539F0
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
bra.s loc_539F0
; ---------------------------------------------------------------------------
@@ -110878,8 +110366,8 @@ loc_53A5A:
move.b #7,$1F(a1)
move.b #2,$20(a1)
bset #2,$2A(a1)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l ; Perform jumping on player object manually
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l ; Perform jumping on player object manually
locret_53AD2:
rts
@@ -110970,7 +110458,8 @@ loc_53BFE:
dc.b $5A, $59
dc.b $59, $58
dc.b $57, $57
-ICZ1_SnowpileSlopeDef: dc.b $56, $56
+ICZ1_SnowpileSlopeDef:
+ dc.b $56, $56
dc.b $55, $55
dc.b $54, $54
dc.b $53, $53
@@ -111431,8 +110920,8 @@ loc_54062:
bne.s loc_54082
tst.w d2
beq.s loc_54082
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
loc_54082:
tst.w d2
@@ -111447,8 +110936,8 @@ loc_54082:
loc_5409E:
clr.l (a1)+
dbf d0,loc_5409E
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
loc_540AC:
lea (HScroll_table+$100).w,a1
@@ -111691,9 +111180,11 @@ loc_5432E:
lea (HScroll_table+$008).w,a5
jmp ApplyDeformation(pc)
; ---------------------------------------------------------------------------
-LBZ1_BGDrawArray: dc.w $D0
+LBZ1_BGDrawArray:
+ dc.w $D0
dc.w $7FFF
-LBZ1_BGDeformArray: dc.w $D0
+LBZ1_BGDeformArray:
+ dc.w $D0
dc.w $18
dc.w 8
dc.w 8
@@ -111904,8 +111395,8 @@ loc_5451A:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_5452E
- moveq #sfx_DeathEggRiseLoud,d0 ; Play death egg rumbling sound
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DeathEggRiseLoud),d0 ; Play death egg rumbling sound
+ jsr (Play_SFX).l
loc_5452E:
tst.w (Events_fg_5).w
@@ -112641,7 +112132,7 @@ loc_54B4E:
st (Events_bg+$00).w
jsr (Create_New_Sprite).l
bne.s loc_54B7C
- move.l #Obj_MHZ_Miniboss,(a1)
+ move.l #Obj_MHZMiniboss,(a1)
loc_54B7C:
jmp DrawTilesAsYouMove(pc)
@@ -112672,7 +112163,7 @@ locret_54BA2:
MHZ1_BackgroundInit:
move.w (Camera_X_pos_copy).w,(Events_fg_0).w
move.w (Camera_X_pos_copy).w,(Events_fg_1).w
- jsr sub_54C68(pc)
+ jsr MHZ_Deform(pc)
jsr Reset_TileOffsetPositionEff(pc)
moveq #0,d1
jsr Refresh_PlaneFull(pc)
@@ -112716,7 +112207,7 @@ loc_54C3C:
move.w #$100,d2
move.w #$200,d3
jsr Adjust_BGDuringLoop(pc)
- jsr sub_54C68(pc)
+ jsr MHZ_Deform(pc)
lea (Camera_Y_pos_BG_copy).w,a6
lea (Camera_Y_pos_BG_rounded).w,a5
moveq #0,d1
@@ -112727,7 +112218,7 @@ loc_54C3C:
; =============== S U B R O U T I N E =======================================
-sub_54C68:
+MHZ_Deform:
move.w (Camera_Y_pos_copy).w,d0
swap d0
clr.w d0
@@ -112757,7 +112248,7 @@ sub_54C68:
swap d0
move.w d0,(Events_bg+$12).w
rts
-; End of function sub_54C68
+; End of function MHZ_Deform
; ---------------------------------------------------------------------------
@@ -113222,12 +112713,9 @@ MHZ2_BGDrawArray3:
dc.w $100
dc.w $7FFF
Pal_MHZ2Ship: binclude "Levels/MHZ/Palettes/Act 2 Ship.bin"
- even
-
+ even
Pal_MHZ2Gold: binclude "Levels/MHZ/Palettes/Act 2 Gold.bin"
- even
-
-
+ even
word_5513E: dc.w $420, $4A0, $640, $6C0
dc.w $680, $980, $A00, $7C0
dc.w $800, $9C0, $2900, $2980
@@ -113250,7 +112738,7 @@ MHZ2_BackgroundInit:
; ---------------------------------------------------------------------------
loc_55198:
- jsr sub_54C68(pc)
+ jsr MHZ_Deform(pc)
loc_5519C:
jsr Reset_TileOffsetPositionEff(pc)
@@ -113307,7 +112795,7 @@ loc_551EE:
; ---------------------------------------------------------------------------
loc_5521E:
- jsr sub_54C68(pc)
+ jsr MHZ_Deform(pc)
loc_55222:
lea (Camera_Y_pos_BG_copy).w,a6
@@ -113333,7 +112821,7 @@ loc_5523A:
loc_55250:
cmpi.w #$500,(Player_1+y_pos).w
blo.s loc_5527A
- jsr sub_54C68(pc)
+ jsr MHZ_Deform(pc)
jsr Reset_TileOffsetPositionEff(pc)
addi.w #$E0,d0
and.w (Camera_Y_pos_mask).w,d0
@@ -113386,7 +112874,7 @@ loc_552E4:
; ---------------------------------------------------------------------------
loc_552F8:
- jsr sub_54C68(pc)
+ jsr MHZ_Deform(pc)
loc_552FC:
moveq #0,d1
@@ -113422,7 +112910,7 @@ loc_5535A:
move.w #$C,(Special_events_routine).w
movem.l d7-a0/a2-a3,-(sp)
lea (ArtKosM_MHZEndBossPillar).l,a1
- move.w #-$5000,d2
+ move.w #$B000,d2
jsr (Queue_Kos_Module).l
movem.l (sp)+,d7-a0/a2-a3
@@ -113788,7 +113276,7 @@ loc_556F8:
move.b #$18,6(a0)
move.b #$18,7(a0)
move.w #$80,8(a0)
- move.w #-$1A80,$A(a0)
+ move.w #$E580,$A(a0)
move.l #Map_MHZEndBossMisc,$C(a0)
move.w #$4238,$10(a0)
move.w #$2F0,$14(a0)
@@ -113876,7 +113364,7 @@ locret_55812:
loc_55814:
move.l #loc_5582E,(a0)
move.w #$380,8(a0)
- move.w #-$5B00,$A(a0)
+ move.w #$A500,$A(a0)
move.l #Map_MHZEndBossMisc,$C(a0)
loc_5582E:
@@ -113924,8 +113412,8 @@ loc_558AC:
subq.w #1,d0
andi.w #$F,d0
bne.s locret_558C0
- moveq #sfx_LargeShip,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LargeShip),d0
+ jsr (Play_SFX).l
locret_558C0:
rts
@@ -113965,10 +113453,10 @@ word_558E8: dc.w $102
dc.w $304
dc.w $200
dc.w $402
-Map_MHZEndBossMisc: include "Levels/MHZ/Misc Object Data/Map - End Boss Misc.asm"
-
-Ani_MHZEndPropellers: include "Levels/MHZ/Misc Object Data/Anim - End Propellers.asm"
-
+Map_MHZEndBossMisc:
+ include "Levels/MHZ/Misc Object Data/Map - End Boss Misc.asm"
+Ani_MHZEndPropellers:
+ include "Levels/MHZ/Misc Object Data/Anim - End Propellers.asm"
; ---------------------------------------------------------------------------
SOZ1_ScreenInit:
@@ -114300,8 +113788,8 @@ sub_55DB6:
subq.w #1,d0
andi.w #$F,d0
bne.s loc_55DD0
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
loc_55DD0:
move.w (Camera_Y_pos_copy).w,d0
@@ -114319,7 +113807,7 @@ loc_55DD0:
loc_55DF2:
lea (HScroll_table+$010).w,a1
- lea word_5077E(pc),a6
+ lea AIZ2_SOZ1_LRZ3_FGDeformDelta(pc),a6
move.w (Camera_Y_pos_copy).w,d0
move.w #$DF,d1
move.w (Level_frame_counter).w,d2
@@ -114335,7 +113823,7 @@ loc_55DF2:
lea (HScroll_table+$010).w,a2
lea word_560DC(pc),a4
lea (HScroll_table).w,a5
- lea word_5077E(pc),a6
+ lea AIZ2_SOZ1_LRZ3_FGDeformDelta(pc),a6
move.w (Camera_Y_pos_BG_copy).w,d0
move.w #$DF,d1
move.w (Level_frame_counter).w,d2
@@ -114351,7 +113839,7 @@ loc_55DF2:
sub_55E4C:
lea (H_scroll_buffer).w,a1
- lea word_5077E(pc),a6
+ lea AIZ2_SOZ1_LRZ3_FGDeformDelta(pc),a6
move.w (Camera_Y_pos_copy).w,d0
move.w (Level_frame_counter).w,d1
asr.w #1,d1
@@ -114494,7 +113982,7 @@ loc_55F7C:
bne.s locret_55F96
jsr (Create_New_Sprite).l
bne.s loc_55F90
- move.l #Obj_SOZ_Miniboss,(a1)
+ move.l #Obj_SOZMiniboss,(a1)
loc_55F90:
jmp (Delete_Current_Sprite).l
@@ -114529,7 +114017,7 @@ loc_55FDA:
move.b #4,4(a0)
move.b #$24,7(a0)
move.w #$380,8(a0)
- move.w #-$3FD7,$A(a0)
+ move.w #$C029,$A(a0)
move.l #Map_SOZ1EndDoor,$C(a0)
move.w #$439C,$18(a0)
move.w #$9D4,$1A(a0)
@@ -114543,8 +114031,8 @@ loc_56012:
; ---------------------------------------------------------------------------
loc_56020:
- moveq #sfx_DoorOpen,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorOpen),d0
+ jsr (Play_SFX).l
move.w #$F6,(Events_bg+$00).w
move.l #loc_56034,(a0)
@@ -114575,8 +114063,8 @@ loc_56062:
; ---------------------------------------------------------------------------
loc_56070:
- moveq #sfx_DoorOpen,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorOpen),d0
+ jsr (Play_SFX).l
move.l #loc_5607E,(a0)
loc_5607E:
@@ -114625,11 +114113,8 @@ word_560DC: dc.w $110
dc.w 8
dc.w $7FFF
word_560EA: dc.w $C46, $824, $804, $402, $202, $200, 0, $422, $402, $200, $40
-
word_56100: dc.w $6AE, $664, $422, $402, $200, 0, 0, $EEE, $466, $224, 0, $46, $6EE, $48C, $26A
-
-Map_SOZ1EndDoor: include "Levels/SOZ/Misc Object Data/Map - Act 1 End Door.asm"
-
+Map_SOZ1EndDoor:include "Levels/SOZ/Misc Object Data/Map - Act 1 End Door.asm"
; ---------------------------------------------------------------------------
SOZ2_ScreenInit:
@@ -115195,8 +114680,8 @@ loc_56770:
move.w d0,-(a1)
subq.w #1,d0
dbf d1,loc_56770
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
move.w #3,(Events_bg+$06).w
addq.w #4,(Events_bg+$08).w
@@ -115245,8 +114730,8 @@ loc_567EE:
move.w (a6)+,(a5)+
dbf d1,loc_567EE
clr.w (Events_bg+$00).w
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
addq.w #4,(Events_bg+$08).w
loc_5680A:
@@ -115288,8 +114773,8 @@ loc_5683A:
beq.w loc_56936
tst.w (Events_bg+$00).w
bne.w loc_56936
- moveq #sfx_BossRecovery,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossRecovery),d0
+ jsr (Play_SFX).l
st (Events_bg+$00).w
bra.w loc_56936
; ---------------------------------------------------------------------------
@@ -115627,7 +115112,7 @@ LRZ1_ScreenEvent:
beq.s loc_56B5E
bmi.s loc_56B2C
movea.w $40(a3),a1
- move.b #-$64,$A(a1)
+ move.b #$9C,$A(a1)
bra.s loc_56B54
; ---------------------------------------------------------------------------
@@ -115667,7 +115152,7 @@ loc_56B6C:
move.b #-$A,4(a1)
loc_56B88:
- jsr sub_56D40(pc)
+ jsr LRZ1_Deform(pc)
jsr (Reset_TileOffsetPositionEff).l
clr.l (HScroll_table).w
move.w d2,(HScroll_table+$006).w
@@ -115718,7 +115203,7 @@ loc_56BD2:
loc_56C28:
jsr sub_56DCA(pc)
- jsr sub_56D40(pc)
+ jsr LRZ1_Deform(pc)
loc_56C30:
lea LRZ1_BGDrawArray(pc),a4
@@ -115755,7 +115240,7 @@ loc_56C76:
; ---------------------------------------------------------------------------
loc_56C88:
- jsr sub_56D40(pc)
+ jsr LRZ1_Deform(pc)
loc_56C8C:
lea LRZ1_BGDrawArray(pc),a4
@@ -115796,7 +115281,7 @@ loc_56CAA:
clr.w (Events_routine_bg).w
loc_56D16:
- jsr sub_56D40(pc)
+ jsr LRZ1_Deform(pc)
lea LRZ1_BGDrawArray(pc),a4
lea (HScroll_table).w,a5
moveq #$20,d6
@@ -115810,7 +115295,7 @@ loc_56D16:
; =============== S U B R O U T I N E =======================================
-sub_56D40:
+LRZ1_Deform:
move.w (Camera_Y_pos_copy).w,d0
move.w (Screen_shake_offset).w,d1
sub.w d1,d0
@@ -115857,7 +115342,7 @@ loc_56D9E:
add.l d0,d2
dbf d3,loc_56D9E
rts
-; End of function sub_56D40
+; End of function LRZ1_Deform
; =============== S U B R O U T I N E =======================================
@@ -115977,7 +115462,7 @@ loc_56E66:
clr.w (Events_bg+$00).w
move.w (Camera_X_pos_BG_copy).w,(Events_bg+$02).w
move.w (Camera_Y_pos_BG_copy).w,(Events_bg+$04).w
- jsr sub_56D40(pc)
+ jsr LRZ1_Deform(pc)
jsr (Reset_TileOffsetPositionEff).l
move.w d2,(HScroll_table+$006).w
addi.w #$E0,d0
@@ -116293,8 +115778,8 @@ LRZ2_BGDeformArray:
dc.w $10
dc.w $20
dc.w $7FFF
-Map_LRZ2DeathEggBG: include "Levels/LRZ/Misc Object Data/Map - Act 2 BG Death Egg.asm"
-
+Map_LRZ2DeathEggBG:
+ include "Levels/LRZ/Misc Object Data/Map - Act 2 BG Death Egg.asm"
; ---------------------------------------------------------------------------
SSZ1_ScreenInit:
@@ -116797,26 +116282,16 @@ locret_57788:
; End of function sub_575EA
; ---------------------------------------------------------------------------
-word_5778A: dc.w $EE0
- dc.w $D00
- dc.w $11E0
- dc.w $CC0
- dc.w $1340
- dc.w $B20
- dc.w $7FFF
- dc.w 0
-word_5779A: dc.w $640
- dc.w $C60
- dc.w $880
- dc.w $CA0
- dc.w $1200
- dc.w $C60
- dc.w $1380
- dc.w $A80
- dc.w $13C0
- dc.w $660
- dc.w $7FFF
- dc.w $3E0
+word_5778A: dc.w $EE0, $D00
+ dc.w $11E0, $CC0
+ dc.w $1340, $B20
+ dc.w $7FFF, 0
+word_5779A: dc.w $640, $C60
+ dc.w $880, $CA0
+ dc.w $1200, $C60
+ dc.w $1380, $A80
+ dc.w $13C0, $660
+ dc.w $7FFF, $3E0
word_577B2: dc.w $19C0
dc.w $20
dc.w $20
@@ -116832,9 +116307,8 @@ dword_577C6: dc.l 9
dc.l $3000C
dc.l 9
dc.l $C0003
-Pal_SSZDeathEgg: binclude "Levels/SSZ/Palettes/Death Egg.bin"
- even
-
+Pal_SSZDeathEgg:binclude "Levels/SSZ/Palettes/Death Egg.bin"
+ even
; ---------------------------------------------------------------------------
SSZ1_BackgroundInit:
@@ -117193,7 +116667,7 @@ loc_57BB2:
move.b #$10,6(a0)
move.b #$30,7(a0)
move.w #0,8(a0)
- move.w #-$1CF0,$A(a0)
+ move.w #$E310,$A(a0)
move.l #Map_SSZRoamingClouds,$C(a0)
move.w $38(a0),$1A(a0)
jsr (Random_Number).l
@@ -117225,10 +116699,10 @@ loc_57C28:
move.w a1,$3C(a0)
move.l #Obj_TeleporterBeamExpand,(a1)
move.b #$44,4(a1)
- move.b #-$80,6(a1)
+ move.b #$80,6(a1)
move.b #$18,7(a1)
move.w #$80,8(a1)
- move.w #-$1CA4,$A(a1)
+ move.w #$E35C,$A(a1)
move.l #Map_SSZHPZTeleporter,$C(a1)
move.w $10(a0),$10(a1)
move.w $14(a0),$14(a1)
@@ -117409,8 +116883,8 @@ Obj_57E96:
move.w (Level_frame_counter).w,d0
andi.w #$F,d0
bne.s loc_57EB0
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
loc_57EB0:
moveq #0,d0
@@ -117448,8 +116922,8 @@ loc_57EDC:
loc_57F02:
move.l (a5)+,(a1)+
dbf d0,loc_57F02
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
addq.b #4,5(a0)
bra.w locret_57FBE
; ---------------------------------------------------------------------------
@@ -117483,8 +116957,8 @@ loc_57F5E:
addq.w #8,d0
andi.w #$F,d0
bne.s loc_57F7E
- moveq #sfx_DeathEggRiseLoud,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DeathEggRiseLoud),d0
+ jsr (Play_SFX).l
loc_57F7E:
move.w #$500,d0
@@ -117637,8 +117111,8 @@ sub_5806E:
move.w #-$680,$1A(a1)
clr.w $12(a1)
clr.w $16(a1)
- moveq #sfx_Jump,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_580CC:
@@ -117739,8 +117213,8 @@ loc_581D2:
bne.s locret_581F0
subq.w #1,4(a2)
bne.s locret_581F0
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$B00,d0
jmp (StartNewLevel).l
; ---------------------------------------------------------------------------
@@ -117756,7 +117230,7 @@ loc_581F2:
move.b #4,4(a0)
move.b #$1C,6(a0)
move.w #$80,8(a0)
- move.w #-$3CB8,$A(a0)
+ move.w #$C348,$A(a0)
move.l #Map_SSZCollapsingBridge,$C(a0)
move.b #9,$22(a0)
@@ -117773,7 +117247,7 @@ loc_58234:
move.b #4,4(a0)
move.b #$18,6(a0)
move.w #$80,8(a0)
- move.w #-$3D0C,$A(a0)
+ move.w #$C2F4,$A(a0)
move.l #Map_SSZCollapsingBridge,$C(a0)
move.b #6,$22(a0)
@@ -117880,7 +117354,7 @@ loc_58360:
move.b #4,4(a0)
move.b #$1C,6(a0)
move.w #$100,8(a0)
- move.w #-$3CB8,$A(a0)
+ move.w #$C348,$A(a0)
move.l #Map_SSZCollapsingBridge,$C(a0)
move.b #$A,$22(a0)
@@ -117920,8 +117394,8 @@ loc_583D2:
move.w (Level_frame_counter).w,d0
andi.w #$F,d0
bne.s loc_583E4
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
loc_583E4:
tst.w $30(a0)
@@ -118141,10 +117615,9 @@ word_58758: dc.w $10, $30, $FE00, 1
dc.w $78, $B0, $E600, 1
dc.w $AC, $1C0, $B600, 2
dc.w $D8, $140, $CE00, 1
-Map_SSZRoamingClouds: include "Levels/SSZ/Misc Object Data/Map - Roaming Clouds.asm"
-
+Map_SSZRoamingClouds:
+ include "Levels/SSZ/Misc Object Data/Map - Roaming Clouds.asm"
byte_587A8: dc.b $EF, $FA, $F9, $F8, $F7, $F6, $F5, $F4, $F3, $F2, $F1, $F0
-
byte_587B4: dc.b 0, 2, 5, 7, 9, $B, $E, $10, $12, $15, $17, $19, $1B, $1E, $20, $22, $25, $27, $29, $2B
dc.b $2E, $30, $32, $35, $37, $39, $3B, $3E, $40, $42, $45, $47, $49, $4B, $4E, $50, $52, $55, $57, $59
dc.b $5B, $5E, $60, $62, $65, $67, $69, $6B, $6E, $70, $72, $75, $77, $79, $7B, $7E, $80, $82, $85, $87
@@ -118349,8 +117822,8 @@ word_58894: dc.w $4000
dc.w $FFFD
dc.w $FFFF
dc.w $FFFF
-Map_SSZSpiralRampPieces: include "Levels/SSZ/Misc Object Data/Map - Spiral Ramp Pieces.asm"
-
+Map_SSZSpiralRampPieces:
+ include "Levels/SSZ/Misc Object Data/Map - Spiral Ramp Pieces.asm"
byte_58A3E: dc.b $1C
dc.b 8
dc.b $10
@@ -118480,7 +117953,7 @@ loc_58B9E:
movem.l (sp)+,d7-a0/a2-a3
cmpi.b #7,(Super_emerald_count).w
bhs.s loc_58BBC
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
blo.s loc_58C1A
loc_58BBC:
@@ -119044,7 +118517,7 @@ loc_590D6:
loc_590E4:
cmpi.b #7,(Super_emerald_count).w
bhs.s loc_590F4
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
blo.s loc_59146
loc_590F4:
@@ -119186,8 +118659,8 @@ loc_59246:
loc_5926A:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Map_KnuxEndingIslandMask: include "General/Ending/Map - Knuckles Ending Island Mask.asm"
-
+Map_KnuxEndingIslandMask:
+ include "General/Ending/Map - Knuckles Ending Island Mask.asm"
; =============== S U B R O U T I N E =======================================
@@ -119214,8 +118687,8 @@ locret_592BC:
; End of function sub_5928C
; ---------------------------------------------------------------------------
-Pal_EndingWater: binclude "General/Ending/Palettes/Water Cycle.bin"
- even
+Pal_EndingWater:binclude "General/Ending/Palettes/Water Cycle.bin"
+ even
; =============== S U B R O U T I N E =======================================
@@ -120384,7 +119857,7 @@ loc_59DF2:
loc_59DF8:
lea (H_scroll_buffer).w,a1
- lea (word_5077E).l,a5
+ lea (AIZ2_SOZ1_LRZ3_FGDeformDelta).l,a5
lea (a5),a6
move.w (Camera_Y_pos_copy).w,d0
move.w (Level_frame_counter).w,d1
@@ -120747,7 +120220,7 @@ HPZ_ScreenEvent:
bne.s loc_5A176
jsr (Create_New_Sprite).l
bne.s loc_5A172
- move.l #Obj_B1_2,(a1)
+ move.l #Obj_HPZPaletteControl,(a1)
loc_5A172:
st (Events_bg+$00).w
@@ -120969,8 +120442,7 @@ loc_5A388:
; End of function sub_5A334
; ---------------------------------------------------------------------------
-HPZ_BGDrawArray:
- dc.w $200
+HPZ_BGDrawArray:dc.w $200
dc.w $7FFF
HPZ_BGDeformArray:
dc.w $198
@@ -121446,7 +120918,7 @@ Obj_5A872:
move.b #$10,6(a0)
move.b #$C,7(a0)
move.w #$80,8(a0)
- move.w #-$3FFF,$A(a0)
+ move.w #$C001,$A(a0)
move.l #Map_DEZ3Blocks,$C(a0)
move.w #$F0,$14(a0)
move.w $10(a0),d0
@@ -121544,11 +121016,10 @@ locret_5A9AA:
rts
; ---------------------------------------------------------------------------
Map_DEZ3Blocks: include "Levels/DEZ/Misc Object Data/Map - Act 3 Blocks.asm"
-
; ---------------------------------------------------------------------------
HPZS_ScreenInit:
- tst.b (Emerald_count).w
+ tst.b (Chaos_emerald_count).w
beq.s loc_5AA14
move.b (Current_special_stage).w,d0
ori.b #$80,d0
@@ -121684,7 +121155,7 @@ loc_5AB66:
loc_5AB6E:
jsr sub_5AEEA(pc)
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
blo.s loc_5AB96
moveq #0,d0
move.w (Events_bg+$06).w,d0
@@ -122232,8 +121703,7 @@ Ending_BGDeformArray2:
dc.w $8080
dc.w $7FFF
Pal_5B16E: binclude "General/Ending/Palettes/Sky.bin"
- even
-
+ even
; =============== S U B R O U T I N E =======================================
@@ -122651,7 +122121,7 @@ PLC_5B504: dc.w 0
dc.l ArtNem_S3EndingGraphics
dc.w $8BA0
PLC_5B50C: dc.w 0
- dc.l ArtNem_Knux_Ending_Pose
+ dc.l ArtNem_KnuxEndPose
dc.w $5820
; =============== S U B R O U T I N E =======================================
@@ -122869,109 +122339,144 @@ off_5B6E6: dc.w byte_5B72E-off_5B6E6
dc.w byte_5B9A2-off_5B6E6
byte_5B72E: dc.b $F
dc.b 7
- dc.b "EXECUTIVE PRODUCER",0,0
+ dc.b "EXECUTIVE PRODUCER",0
+ even
byte_5B744: dc.b $11
dc.b $E
- dc.b "HAYAO NAKAYAMA",0,0
+ dc.b "HAYAO NAKAYAMA",0
+ even
byte_5B756: dc.b $21
dc.b $B
- dc.b "PROJECT MANAGERS",0,0
+ dc.b "PROJECT MANAGERS",0
+ even
byte_5B76A: dc.b $23
dc.b $10
- dc.b "HISASHI SUZUKI",0,0
+ dc.b "HISASHI SUZUKI",0
+ even
byte_5B77C: dc.b $24
dc.b $E
- dc.b "SHINOBU TOYODA",0,0
+ dc.b "SHINOBU TOYODA",0
+ even
byte_5B78E: dc.b $25
dc.b $E
dc.b "MASAHARU YOSHII",0
+ even
byte_5B7A0: dc.b $35
dc.b $19
- dc.b "PRODUCER",0,0
+ dc.b "PRODUCER",0
+ even
byte_5B7AC: dc.b $37
dc.b $18
dc.b "YUJI NAKA",0
+ even
byte_5B7B8: dc.b $47
dc.b $1B
- dc.b "DIRECTOR",0,0
+ dc.b "DIRECTOR",0
+ even
byte_5B7C4: dc.b $49
dc.b 8
dc.b "HIROKAZU YASUHARA",0
+ even
byte_5B7D8: dc.b $59
dc.b 9
- dc.b "LEAD GAME DESIGNER",0,0
+ dc.b "LEAD GAME DESIGNER",0
+ even
byte_5B7EE: dc.b $5B
dc.b 8
dc.b "HIROKAZU YASUHARA",0
+ even
byte_5B802: dc.b $6B
dc.b 3
dc.b "SENIOR GAME DESIGNERS",0
+ even
byte_5B81A: dc.b $6D
dc.b $A
dc.b "HISAYOSHI YOSHIDA",0
+ even
byte_5B82E: dc.b $6E
dc.b $10
- dc.b "TAKASHI IIZUKA",0,0
+ dc.b "TAKASHI IIZUKA",0
+ even
byte_5B840: dc.b $7E
dc.b $B
dc.b "LEAD PROGRAMMER",0
+ even
byte_5B852: dc.b $80
dc.b $18
dc.b "YUJI NAKA",0
+ even
byte_5B85E: dc.b $90
dc.b 7
- dc.b "SENIOR PROGRAMMERS",0,0
+ dc.b "SENIOR PROGRAMMERS",0
+ even
byte_5B874: dc.b $92
dc.b $C
dc.b "TAKAHIRO HAMANO",0
+ even
byte_5B886: dc.b $93
dc.b 8
dc.b "MASANOBU YAMAMOTO",0
+ even
byte_5B89A: dc.b $A3
dc.b 7
- dc.b "CHARACTER DESIGNER",0,0
+ dc.b "CHARACTER DESIGNER",0
+ even
byte_5B8B0: dc.b $A5
dc.b 6
dc.b "TAKASHI THOMAS YUDA",0
+ even
byte_5B8C6: dc.b $B5
dc.b $17
dc.b "C.G. ARTIST",0
+ even
byte_5B8D4: dc.b $B7
dc.b $12
dc.b "KUNITAKE AOKI",0
+ even
byte_5B8E4: dc.b $C7
dc.b $13
- dc.b "ENEMY ARTIST",0,0
+ dc.b "ENEMY ARTIST",0
+ even
byte_5B8F4: dc.b $C9
dc.b $A
- dc.b "SATOSHI YOKOKAWA",0,0
+ dc.b "SATOSHI YOKOKAWA",0
+ even
byte_5B908: dc.b $D9
dc.b $11
dc.b "SCENE ARTISTS",0
+ even
byte_5B918: dc.b $DB
dc.b $12
dc.b "KUNITAKE AOKI",0
+ even
byte_5B928: dc.b $DC
dc.b $14
- dc.b "CHIE YOSHIDA",0,0
+ dc.b "CHIE YOSHIDA",0
+ even
byte_5B938: dc.b $DD
dc.b $12
- dc.b "TSUNEKO AOKI",0,0
+ dc.b "TSUNEKO AOKI",0
+ even
byte_5B948: dc.b $DE
dc.b $10
dc.b "SHIGERU OKADA",0
+ even
byte_5B958: dc.b $DF
dc.b 6
dc.b "TAKASHI THOMAS YUDA",0
+ even
byte_5B96E: dc.b $E0
dc.b $A
- dc.b "SATOSHI YOKOKAWA",0,0
+ dc.b "SATOSHI YOKOKAWA",0
+ even
byte_5B982: dc.b $F0
dc.b $11
dc.b "ART ASSISTANT",0
+ even
byte_5B992: dc.b $F2
dc.b $12
- dc.b "OSAMU OHASHI",0,0
+ dc.b "OSAMU OHASHI",0
+ even
byte_5B9A2: dc.b $FF
dc.b $F8
off_5B9A4: dc.w byte_5B9F6-off_5B9A4
@@ -123018,124 +122523,164 @@ off_5B9A4: dc.w byte_5B9F6-off_5B9A4
byte_5B9F6: dc.b 2
dc.b $D
dc.b "MUSIC COMPOSERS",0
+ even
byte_5BA08: dc.b 4
dc.b $E
- dc.b "HOWARD DROSSIN",0,0
+ dc.b "HOWARD DROSSIN",0
+ even
byte_5BA1A: dc.b $14
dc.b $D
dc.b "SEGA SOUND TEAM",0
+ even
byte_5BA2C: dc.b $16
dc.b $24
- dc.b "BO",0,0
+ dc.b "BO",0
+ even
byte_5BA32: dc.b $17
dc.b $12
- dc.b "SACHIO OGAWA",0,0
+ dc.b "SACHIO OGAWA",0
+ even
byte_5BA42: dc.b $18
dc.b $20
dc.b "MILPO",0
+ even
byte_5BA4A: dc.b $19
dc.b $A
- dc.b "MASARU SETSUMARU",0,0
+ dc.b "MASARU SETSUMARU",0
+ even
byte_5BA5E: dc.b $1A
dc.b $C
dc.b "TATSUYUKI MAEDA",0
+ even
byte_5BA70: dc.b $1B
dc.b $C
dc.b "TOMONORI SAWADA",0
+ even
byte_5BA82: dc.b $1C
dc.b $E
- dc.b "MASAYUKI NAGAO",0,0
+ dc.b "MASAYUKI NAGAO",0
+ even
byte_5BA94: dc.b $1D
dc.b $16
- dc.b "JUN SENOUE",0,0
+ dc.b "JUN SENOUE",0
+ even
byte_5BAA2: dc.b $2D
dc.b 3
- dc.b "EXECUTIVE MANAGEMENT",0,0
+ dc.b "EXECUTIVE MANAGEMENT",0
+ even
byte_5BABA: dc.b $2F
dc.b 6
dc.b $53
dc.b "HOUICHIROU IRIMAJIRI",0
+ even
byte_5BAD2: dc.b $30
dc.b $12
- dc.b "TOM KALINSKE",0,0
+ dc.b "TOM KALINSKE",0
+ even
byte_5BAE2: dc.b $31
dc.b $16
- dc.b "PAUL RIOUX",0,0
+ dc.b "PAUL RIOUX",0
+ even
byte_5BAF0: dc.b $41
dc.b $D
dc.b "PRODUCT MANAGER",0
+ even
byte_5BB02: dc.b $43
dc.b $12
- dc.b "PAMELA KELLY",0,0
+ dc.b "PAMELA KELLY",0
+ even
byte_5BB12: dc.b $53
dc.b 3
dc.b "EXECUTIVE COORDINATOR",0
+ even
byte_5BB2A: dc.b $55
dc.b $E
- dc.b "MAMORU SHIGETA",0,0
+ dc.b "MAMORU SHIGETA",0
+ even
byte_5BB3C: dc.b $56
dc.b $14
- dc.b "TOMIO TAKAMI",0,0
+ dc.b "TOMIO TAKAMI",0
+ even
byte_5BB4C: dc.b $57
dc.b $A
dc.b "DIANE A. FORNASIER ",0
+ even
byte_5BB62: dc.b $58
dc.b $12
- dc.b "ROGER HECTOR",0,0
+ dc.b "ROGER HECTOR",0
+ even
byte_5BB72: dc.b $59
dc.b 4
dc.b "TAKAHARU UTSUNOMIYA",0
+ even
byte_5BB88: dc.b $69
dc.b $1B
dc.b "TESTERS",0
+ even
byte_5BB92: dc.b $6B
dc.b $16
dc.b "JASON KUO",0
+ even
byte_5BB9E: dc.b $6C
dc.b $16
- dc.b "RICK GREER",0,0
+ dc.b "RICK GREER",0
+ even
byte_5BBAC: dc.b $6D
dc.b $12
dc.b "MIKE WILLIAMS",0
+ even
byte_5BBBC: dc.b $7D
dc.b 5
- dc.b "SOUND SPECIAL THANKS",0,0
+ dc.b "SOUND SPECIAL THANKS",0
+ even
byte_5BBD4: dc.b $7F
dc.b $16
- dc.b "CUBE CORP.",0,0
+ dc.b "CUBE CORP.",0
+ even
byte_5BBE2: dc.b $80
dc.b $16
- dc.b "OPUS CORP.",0,0
+ dc.b "OPUS CORP.",0
+ even
byte_5BBF0: dc.b $81
dc.b 8
dc.b "MASANORI NAKAYAMA",0
+ even
byte_5BC04: dc.b $82
dc.b $14
- dc.b "(STUDIO WHO)",0,0
+ dc.b "(STUDIO WHO)",0
+ even
byte_5BC14: dc.b $92
dc.b $F
- dc.b "SPECIAL THANKS",0,0
+ dc.b "SPECIAL THANKS",0
+ even
byte_5BC26: dc.b $94
dc.b $10
dc.b "JINA ISHIWATARI",0
+ even
byte_5BC38: dc.b $95
dc.b $12
- dc.b "EMI KAWAMURA",0,0
+ dc.b "EMI KAWAMURA",0
+ even
byte_5BC48: dc.b $96
dc.b 8
dc.b "DEBORAH MCCRACKEN",0
+ even
byte_5BC5C: dc.b $97
dc.b $14
dc.b "TAKU MAKINO",0
+ even
byte_5BC6A: dc.b $AB
dc.b $13
- dc.b "PRESENTED BY",0,0
+ dc.b "PRESENTED BY",0
+ even
byte_5BC7A: dc.b $AD
dc.b $20
- dc.b "SEGA",0,0
+ dc.b "SEGA",0
+ even
byte_5BC82: dc.b $BD
dc.b $20
- dc.b " ",0,0
+ dc.b " ",0
+ even
byte_5BC88: dc.b $FF
dc.b $F4
off_5BC8A: dc.w byte_5BCD2-off_5BC8A
@@ -123176,109 +122721,144 @@ off_5BC8A: dc.w byte_5BCD2-off_5BC8A
dc.w byte_5BF46-off_5BC8A
byte_5BCD2: dc.b $F
dc.b 7
- dc.b "EXECUTIVE PRODUCER",0,0
+ dc.b "EXECUTIVE PRODUCER",0
+ even
byte_5BCE8: dc.b $11
dc.b $E
- dc.b "HAYAO NAKAYAMA",0,0
+ dc.b "HAYAO NAKAYAMA",0
+ even
byte_5BCFA: dc.b $21
dc.b $B
- dc.b "PROJECT MANAGERS",0,0
+ dc.b "PROJECT MANAGERS",0
+ even
byte_5BD0E: dc.b $23
dc.b $10
- dc.b "HISASHI SUZUKI",0,0
+ dc.b "HISASHI SUZUKI",0
+ even
byte_5BD20: dc.b $24
dc.b $E
- dc.b "SHINOBU TOYODA",0,0
+ dc.b "SHINOBU TOYODA",0
+ even
byte_5BD32: dc.b $25
dc.b $E
dc.b "MASAHARU YOSHII",0
+ even
byte_5BD44: dc.b $35
dc.b $19
- dc.b "PRODUCER",0,0
+ dc.b "PRODUCER",0
+ even
byte_5BD50: dc.b $37
dc.b $18
dc.b "YUJI NAKA",0
+ even
byte_5BD5C: dc.b $47
dc.b $1B
- dc.b "DIRECTOR",0,0
+ dc.b "DIRECTOR",0
+ even
byte_5BD68: dc.b $49
dc.b 8
dc.b "HIROKAZU YASUHARA",0
+ even
byte_5BD7C: dc.b $59
dc.b 9
- dc.b "LEAD GAME DESIGNER",0,0
+ dc.b "LEAD GAME DESIGNER",0
+ even
byte_5BD92: dc.b $5B
dc.b 8
dc.b "HIROKAZU YASUHARA",0
+ even
byte_5BDA6: dc.b $6B
dc.b 3
dc.b "SENIOR GAME DESIGNERS",0
+ even
byte_5BDBE: dc.b $6D
dc.b $A
dc.b "HISAYOSHI YOSHIDA",0
+ even
byte_5BDD2: dc.b $6E
dc.b $10
- dc.b "TAKASHI IIZUKA",0,0
+ dc.b "TAKASHI IIZUKA",0
+ even
byte_5BDE4: dc.b $7E
dc.b $B
dc.b "LEAD PROGRAMMER",0
+ even
byte_5BDF6: dc.b $80
dc.b $18
dc.b "YUJI NAKA",0
+ even
byte_5BE02: dc.b $90
dc.b 7
- dc.b "SENIOR PROGRAMMERS",0,0
+ dc.b "SENIOR PROGRAMMERS",0
+ even
byte_5BE18: dc.b $92
dc.b $C
dc.b "TAKAHIRO HAMANO",0
+ even
byte_5BE2A: dc.b $93
dc.b 8
dc.b "MASANOBU YAMAMOTO",0
+ even
byte_5BE3E: dc.b $A3
dc.b 7
- dc.b "CHARACTER DESIGNER",0,0
+ dc.b "CHARACTER DESIGNER",0
+ even
byte_5BE54: dc.b $A5
dc.b 6
dc.b "TAKASHI THOMAS YUDA",0
+ even
byte_5BE6A: dc.b $B5
dc.b $17
dc.b "C.G. ARTIST",0
+ even
byte_5BE78: dc.b $B7
dc.b $12
dc.b "KUNITAKE AOKI",0
+ even
byte_5BE88: dc.b $C7
dc.b $13
- dc.b "ENEMY ARTIST",0,0
+ dc.b "ENEMY ARTIST",0
+ even
byte_5BE98: dc.b $C9
dc.b $A
- dc.b "SATOSHI YOKOKAWA",0,0
+ dc.b "SATOSHI YOKOKAWA",0
+ even
byte_5BEAC: dc.b $D9
dc.b $11
dc.b "SCENE ARTISTS",0
+ even
byte_5BEBC: dc.b $DB
dc.b $12
dc.b "KUNITAKE AOKI",0
+ even
byte_5BECC: dc.b $DC
dc.b $14
- dc.b "CHIE YOSHIDA",0,0
+ dc.b "CHIE YOSHIDA",0
+ even
byte_5BEDC: dc.b $DD
dc.b $12
- dc.b "TSUNEKO AOKI",0,0
+ dc.b "TSUNEKO AOKI",0
+ even
byte_5BEEC: dc.b $DE
dc.b $10
dc.b "SHIGERU OKADA",0
+ even
byte_5BEFC: dc.b $DF
dc.b 6
dc.b "TAKASHI THOMAS YUDA",0
+ even
byte_5BF12: dc.b $E0
dc.b $A
- dc.b "SATOSHI YOKOKAWA",0,0
+ dc.b "SATOSHI YOKOKAWA",0
+ even
byte_5BF26: dc.b $F0
dc.b $11
dc.b "ART ASSISTANT",0
+ even
byte_5BF36: dc.b $F2
dc.b $12
- dc.b "OSAMU OHASHI",0,0
+ dc.b "OSAMU OHASHI",0
+ even
byte_5BF46: dc.b $FF
dc.b $F8
off_5BF48: dc.w byte_5BFAE-off_5BF48
@@ -123335,153 +122915,203 @@ off_5BF48: dc.w byte_5BFAE-off_5BF48
byte_5BFAE: dc.b 2
dc.b $D
dc.b "MUSIC COMPOSERS",0
+ even
byte_5BFC0: dc.b 4
dc.b $16
- dc.b "BRAD BUXER",0,0
+ dc.b "BRAD BUXER",0
+ even
byte_5BFCE: dc.b 5
dc.b $12
- dc.b "BOBBY BROOKS",0,0
+ dc.b "BOBBY BROOKS",0
+ even
byte_5BFDE: dc.b 6
dc.b $14
dc.b "DARRYL ROSS",0
+ even
byte_5BFEC: dc.b 7
dc.b $14
dc.b "GEOFF GRACE",0
+ even
byte_5BFFA: dc.b 8
dc.b $E
- dc.b "DOUG GRIGSBY III",0,0
+ dc.b "DOUG GRIGSBY III",0
+ even
byte_5C00E: dc.b 9
dc.b $1A
- dc.b "SCIROCCO",0,0
+ dc.b "SCIROCCO",0
+ even
byte_5C01A: dc.b $A
dc.b $E
- dc.b "HOWARD DROSSIN",0,0
+ dc.b "HOWARD DROSSIN",0
+ even
byte_5C02C: dc.b $1A
dc.b $D
dc.b "SEGA SOUND TEAM",0
+ even
byte_5C03E: dc.b $1C
dc.b $24
- dc.b "BO",0,0
+ dc.b "BO",0
+ even
byte_5C044: dc.b $1D
dc.b $12
- dc.b "SACHIO OGAWA",0,0
+ dc.b "SACHIO OGAWA",0
+ even
byte_5C054: dc.b $1E
dc.b $20
dc.b "MILPO",0
+ even
byte_5C05C: dc.b $1F
dc.b $A
- dc.b "MASARU SETSUMARU",0,0
+ dc.b "MASARU SETSUMARU",0
+ even
byte_5C070: dc.b $20
dc.b $C
dc.b "TATSUYUKI MAEDA",0
+ even
byte_5C082: dc.b $21
dc.b $C
dc.b "TOMONORI SAWADA",0
+ even
byte_5C094: dc.b $22
dc.b $E
- dc.b "MASAYUKI NAGAO",0,0
+ dc.b "MASAYUKI NAGAO",0
+ even
byte_5C0A6: dc.b $23
dc.b $16
- dc.b "JUN SENOUE",0,0
+ dc.b "JUN SENOUE",0
+ even
byte_5C0B4: dc.b $33
dc.b 9
dc.b "SOUND COORDINATOR",0
+ even
byte_5C0C8: dc.b $35
dc.b $14
dc.b "HISAKI NIMIYA",0
+ even
byte_5C0D8: dc.b $45
dc.b 3
- dc.b "EXECUTIVE MANAGEMENT",0,0
+ dc.b "EXECUTIVE MANAGEMENT",0
+ even
byte_5C0F0: dc.b $47
dc.b 6
dc.b "SHOUICHIROU IRIMAJIRI",0
+ even
byte_5C108: dc.b $48
dc.b $12
- dc.b "TOM KALINSKE",0,0
+ dc.b "TOM KALINSKE",0
+ even
byte_5C118: dc.b $49
dc.b $16
- dc.b "PAUL RIOUX",0,0
+ dc.b "PAUL RIOUX",0
+ even
byte_5C126: dc.b $59
dc.b $D
dc.b "PRODUCT MANAGER",0
+ even
byte_5C138: dc.b $5B
dc.b $12
- dc.b "PAMELA KELLY",0,0
+ dc.b "PAMELA KELLY",0
+ even
byte_5C148: dc.b $6B
dc.b 3
dc.b "EXECUTIVE COORDINATOR",0
+ even
byte_5C160: dc.b $6D
dc.b $E
- dc.b "MAMORU SHIGETA",0,0
+ dc.b "MAMORU SHIGETA",0
+ even
byte_5C172: dc.b $6E
dc.b $14
- dc.b "TOMIO TAKAMI",0,0
+ dc.b "TOMIO TAKAMI",0
+ even
byte_5C182: dc.b $6F
dc.b $A
dc.b "DIANE A. FORNASIER ",0
+ even
byte_5C198: dc.b $70
dc.b $12
- dc.b "ROGER HECTOR",0,0
+ dc.b "ROGER HECTOR",0
+ even
byte_5C1A8: dc.b $71
dc.b 4
dc.b "TAKAHARU UTSUNOMIYA",0
+ even
byte_5C1BE: dc.b $81
dc.b $1B
dc.b "TESTERS",0
+ even
byte_5C1C8: dc.b $83
dc.b $16
dc.b "JASON KUO",0
+ even
byte_5C1D4: dc.b $84
dc.b $16
- dc.b "RICK GREER",0,0
+ dc.b "RICK GREER",0
+ even
byte_5C1E2: dc.b $85
dc.b $12
dc.b "MIKE WILLIAMS",0
+ even
byte_5C1F2: dc.b $95
dc.b 5
- dc.b "SOUND SPECIAL THANKS",0,0
+ dc.b "SOUND SPECIAL THANKS",0
+ even
byte_5C20A: dc.b $97
dc.b 6
- dc.b "MAYUMI NINA SAKAZAKI",0,0
+ dc.b "MAYUMI NINA SAKAZAKI",0
+ even
byte_5C222: dc.b $98
dc.b $20
dc.b "(MRM)",0
+ even
byte_5C22A: dc.b $99
dc.b $16
- dc.b "CUBE CORP.",0,0
+ dc.b "CUBE CORP.",0
+ even
byte_5C238: dc.b $9A
dc.b $16
- dc.b "OPUS CORP.",0,0
+ dc.b "OPUS CORP.",0
+ even
byte_5C246: dc.b $9B
dc.b 8
dc.b "MASANORI NAKAYAMA",0
+ even
byte_5C25A: dc.b $9C
dc.b $14
- dc.b "(STUDIO WHO)",0,0
+ dc.b "(STUDIO WHO)",0
+ even
byte_5C26A: dc.b $AC
dc.b $F
- dc.b "SPECIAL THANKS",0,0
+ dc.b "SPECIAL THANKS",0
+ even
byte_5C27C: dc.b $AE
dc.b $10
dc.b "JINA ISHIWATARI",0
+ even
byte_5C28E: dc.b $AF
dc.b $12
- dc.b "EMI KAWAMURA",0,0
+ dc.b "EMI KAWAMURA",0
+ even
byte_5C29E: dc.b $B0
dc.b 8
dc.b "DEBORAH MCCRACKEN",0
+ even
byte_5C2B2: dc.b $B1
dc.b $14
dc.b "TAKU MAKINO",0
+ even
byte_5C2C0: dc.b $C5
dc.b $13
- dc.b "PRESENTED BY",0,0
+ dc.b "PRESENTED BY",0
+ even
byte_5C2D0: dc.b $C7
dc.b $20
- dc.b "SEGA",0,0
+ dc.b "SEGA",0
+ even
byte_5C2D8: dc.b $D7
dc.b $20
- dc.b " ",0,0
+ dc.b " ",0
+ even
byte_5C2DE: dc.b $FF
dc.b $F4
; ---------------------------------------------------------------------------
@@ -123569,8 +123199,8 @@ loc_5C3FE:
move.w (VDP_reg_1_command).w,d0
ori.b #$40,d0
move.w d0,(VDP_control_port).l
- moveq #mus_Continue,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_Continue),d0
+ jsr (Play_Music).l
jsr (Pal_FadeFromBlack).l
loc_5C454:
@@ -124207,13 +123837,15 @@ loc_5CB7E:
; End of function sub_5CB6A
; ---------------------------------------------------------------------------
-ChildObjDat_5CB88:dc.w 0
+ChildObjDat_5CB88:
+ dc.w 0
dc.l Obj_5CA78
off_5CB8E: dc.l byte_5CBAE
dc.l byte_5CBAE
dc.l byte_5CBB0
dc.l byte_5CBB2
aCONTINUE: dc.b "C O N T I N U E",0
+ even
byte_5CBAE: dc.b 0
dc.b 1
byte_5CBB0: dc.b 2
@@ -124242,23 +123874,22 @@ byte_5CBC5: dc.b $B
dc.b $BE
dc.b $FF
dc.b $FC
-Pal_ContinueScreen: binclude "General/Sprites/Continue/Palette.bin"
- even
-
-Map_ContinueSprites: include "General/Sprites/Continue/Map - Player Sprites.asm"
-
-Map_ContinueIcons: include "General/Sprites/Continue/Map - Player Icons.asm"
-
-ArtNem_ContinueSprites:binclude "General/Sprites/Continue/Player Sprites.bin"
- even
-
-ArtNem_ContinueIcons:binclude "General/Sprites/Continue/Player Icons.bin"
- even
-
-ArtNem_ContinueDigits: binclude "General/Sprites/Continue/Digits.bin"
- even
-
-
+Pal_ContinueScreen:
+ binclude "General/Sprites/Continue/Palette.bin"
+ even
+Map_ContinueSprites:
+ include "General/Sprites/Continue/Map - Player Sprites.asm"
+Map_ContinueIcons:
+ include "General/Sprites/Continue/Map - Player Icons.asm"
+ArtNem_ContinueSprites:
+ binclude "General/Sprites/Continue/Player Sprites.bin"
+ even
+ArtNem_ContinueIcons:
+ binclude "General/Sprites/Continue/Player Icons.bin"
+ even
+ArtNem_ContinueDigits:
+ binclude "General/Sprites/Continue/Digits.bin"
+ even
; ---------------------------------------------------------------------------
S3Credits:
@@ -124325,7 +123956,7 @@ loc_5D8BC:
bsr.w sub_5FC8E
jsr (Create_New_Sprite).l
bne.s loc_5D940
- move.l #Obj_5FDD4,(a1)
+ move.l #Obj_Ending_RevertSuperSonic,(a1)
loc_5D940:
bra.w loc_5D95C
@@ -124368,7 +123999,7 @@ loc_5D96A:
loc_5D9B8:
move.l (a1)+,(a2)+
dbf d6,loc_5D9B8
- lea (ArtKosM_HPZMasterEmerald).l,a1
+ lea (ArtKosM_EndingMasterEmerald).l,a1
move.w #-$5A40,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_SonicPlane).l,a1
@@ -124609,7 +124240,7 @@ loc_5DCA6:
jsr (MoveSprite2).l
cmpi.w #$140,$10(a0)
blo.s loc_5DCC4
- lea word_60253(pc),a1
+ lea AniRaw_60253(pc),a1
jsr (Animate_RawNoSSTMultiDelay).l
loc_5DCC4:
@@ -124731,8 +124362,8 @@ loc_5DE36:
blo.w locret_5FF1A
loc_5DE46:
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
clr.b (_unkFAC1).w
clr.b (_unkFAB8).w
st (Events_fg_4).w
@@ -124762,7 +124393,7 @@ loc_5DE80:
move.b #2,$22(a0)
tst.b $2C(a0)
bne.s loc_5DEC6
- move.w #-$3AD2,$A(a0)
+ move.w #$C52E,$A(a0)
move.w #$280,8(a0)
tst.b (_unkFA88).w
bpl.s locret_5DEC4
@@ -124904,8 +124535,8 @@ Obj_5DFEE:
move.w #$B0,$14(a0)
move.w #-$100,$18(a0)
bsr.w sub_6001E
- moveq #mus_CreditsK,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_CreditsK),d0
+ jsr (Play_Music).l
lea ChildObjDat_601CA(pc),a2
jsr (CreateChild6_Simple).l
lea ChildObjDat_601D0(pc),a2
@@ -124965,7 +124596,7 @@ off_5E0F0: dc.w loc_5E0F8-off_5E0F0
loc_5E0F8:
move.b #2,5(a0)
move.l #Map_Knuckles,$C(a0)
- move.w #-$7B26,$A(a0)
+ move.w #$84DA,$A(a0)
move.w #$180,8(a0)
move.b #7,$22(a0)
move.w #$1E0,$10(a0)
@@ -125040,8 +124671,8 @@ loc_5E1C2:
jsr (Swing_Setup1).l
cmpi.b #2,(_unkFA88).w
beq.s loc_5E1F0
- moveq #mus_CreditsK,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_CreditsK),d0
+ jsr (Play_Music).l
loc_5E1F0:
lea (Player_1).w,a1
@@ -125119,13 +124750,13 @@ loc_5E2C2:
moveq #8,d0
loc_5E316:
- move.w d0,(Target_camera_max_X_pos).w
+ move.w d0,(Camera_stored_max_X_pos).w
movea.l off_5E328(pc,d0.w),a1
move.w #$68E0,d2
jmp (Queue_Kos_Module).l
; ---------------------------------------------------------------------------
off_5E328: dc.l ArtKosM_TailsEndPose
- dc.l ArtKosM_NormalSonicEndPose
+ dc.l ArtKosM_SonicEndPose
dc.l ArtKosM_SuperSonicEndPose
; ---------------------------------------------------------------------------
@@ -125145,7 +124776,7 @@ loc_5E334:
move.b #3,$22(a0)
loc_5E37A:
- move.w (Target_camera_max_X_pos).w,d0
+ move.w (Camera_stored_max_X_pos).w,d0
movea.l off_5E3B4(pc,d0.w),a1
lea (Normal_palette_line_3).w,a2
moveq #7,d0
@@ -125163,7 +124794,7 @@ loc_5E39E:
move.b #$A,5(a0)
move.b #1,(Update_HUD_timer).w
clr.w (Palette_frame).w
- jmp (loc_8648C).l
+ jmp (Ending_Give_SuperSonic).l
; ---------------------------------------------------------------------------
off_5E3B4: dc.l Pal_TailsEndPose
dc.l Pal_SonicEndPose
@@ -125312,7 +124943,7 @@ word_5E554: dc.w $170, $B0
loc_5E568:
btst #3,(_unkFAB8).w
bne.w loc_5EC36
- lea byte_602A1(pc),a1
+ lea AniRaw_602A1(pc),a1
jsr (Animate_RawNoSST).l
subq.w #1,$2E(a0)
bpl.s loc_5E58E
@@ -125328,7 +124959,7 @@ loc_5E594:
bne.w loc_5EC36
jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
- lea byte_602A1(pc),a1
+ lea AniRaw_602A1(pc),a1
jsr (Animate_RawNoSST).l
move.w $3A(a0),d0
sub.w $10(a0),d0
@@ -125457,15 +125088,15 @@ loc_5E70E:
move.w d0,$14(a0)
lea ChildObjDat_601BA(pc),a2
jsr (CreateChild1_Normal).l
- move.l #byte_60236,$30(a0)
+ move.l #AniRaw_60236,$30(a0)
bsr.w sub_5FE82
tst.b (_unkFA88).w
bmi.s loc_5E7C0
move.b #4,$22(a0)
- move.l #byte_6023F,$30(a0)
+ move.l #AniRaw_6023F,$30(a0)
lea ChildObjDat_601B2(pc),a2
jsr (CreateChild1_Normal).l
- lea (ArtKosM_HPZMasterEmerald).l,a1
+ lea (ArtKosM_EndingMasterEmerald).l,a1
move.w #-$5A40,d2
jsr (Queue_Kos_Module).l
tst.b (_unkFA88).w
@@ -125497,14 +125128,14 @@ loc_5E7CC:
; ---------------------------------------------------------------------------
loc_5E80A:
- moveq #sfx_WindQuiet,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_WindQuiet),d0
+ jsr (Play_SFX_Continuous).l
jsr (Animate_RawMultiDelay).l
subq.w #1,$2E(a0)
bpl.s locret_5E830
move.b #4,5(a0)
move.w #-$6C0,$1A(a0)
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
locret_5E830:
rts
@@ -125520,7 +125151,7 @@ loc_5E832:
move.w #$B3,$2E(a0)
tst.b (_unkFA88).w
bmi.s locret_5E868
- lea (word_60244).l,a1
+ lea (AniRaw_60244).l,a1
jsr (Set_Raw_Animation).l
locret_5E868:
@@ -125550,7 +125181,7 @@ loc_5E890:
bhi.w locret_5FF1A
move.b #$A,5(a0)
move.l #Map_SonicPlaneEnding,$C(a0)
- move.w #-$7D92,$A(a0)
+ move.w #$826E,$A(a0)
move.b #1,$22(a0)
bset #0,4(a0)
bset #7,$2A(a0)
@@ -125559,7 +125190,7 @@ loc_5E890:
move.w d0,$14(a0)
move.w #-$200,$18(a0)
bsr.w sub_6001E
- lea word_60253(pc),a1
+ lea AniRaw_60253(pc),a1
jsr (Set_Raw_Animation).l
lea ChildObjDat_601D8(pc),a2
jsr (CreateChild1_Normal).l
@@ -125776,21 +125407,21 @@ off_5EB6A: dc.w loc_5EB72-off_5EB6A
loc_5EB72:
move.l #Map_SonicPlane,$C(a0)
- move.w #-$7E1D,$A(a0)
+ move.w #$81E3,$A(a0)
move.b #$C,$22(a0)
rts
; ---------------------------------------------------------------------------
loc_5EB88:
move.l #Map_SonicPlaneEnding,$C(a0)
- move.w #-$7D92,$A(a0)
+ move.w #$826E,$A(a0)
move.b #$B,$22(a0)
rts
; ---------------------------------------------------------------------------
loc_5EB9E:
move.l #Map_SonicPlaneEnding,$C(a0)
- move.w #-$7D92,$A(a0)
+ move.w #$826E,$A(a0)
move.b #$12,$22(a0)
rts
; ---------------------------------------------------------------------------
@@ -125915,10 +125546,14 @@ loc_5ECFC:
addq.b #1,d0
loc_5ED06:
- move.b RawAni_5ED0E(pc,d0.w),$22(a0)
+ move.b byte_5ED0E(pc,d0.w),$22(a0)
rts
; ---------------------------------------------------------------------------
-RawAni_5ED0E: dc.b $C, $E, $C, $E, $D, $F, $13, $14, $13, $15
+byte_5ED0E: dc.b $C, $E
+ dc.b $C, $E
+ dc.b $D, $F
+ dc.b $13, $14
+ dc.b $13, $15
; ---------------------------------------------------------------------------
loc_5ED18:
@@ -126019,7 +125654,7 @@ locret_5EE3A:
loc_5EE3C:
move.l #loc_5EF5C,(a0)
move.b #$1A,$22(a0)
- move.l #byte_60281,$30(a0)
+ move.l #AniRaw_60281,$30(a0)
tst.b $2D(a0)
beq.s locret_5EE5C
move.b #$18,$24(a0)
@@ -126031,7 +125666,7 @@ locret_5EE5C:
loc_5EE5E:
move.l #loc_5EF5C,(a0)
move.b #$1A,$22(a0)
- move.l #byte_60289,$30(a0)
+ move.l #AniRaw_60289,$30(a0)
tst.b $2C(a0)
cmpi.b #8,$2D(a0)
blo.s locret_5EE84
@@ -126057,9 +125692,9 @@ loc_5EE86:
locret_5EEB6:
rts
; ---------------------------------------------------------------------------
-off_5EEB8: dc.l byte_6028F
- dc.l byte_60295
- dc.l byte_6029B
+off_5EEB8: dc.l AniRaw_6028F
+ dc.l AniRaw_60295
+ dc.l AniRaw_6029B
; ---------------------------------------------------------------------------
loc_5EEC4:
@@ -126087,7 +125722,7 @@ loc_5EF08:
jsr (MoveSprite2).l
loc_5EF0E:
- lea byte_60276(pc),a1
+ lea AniRaw_60276(pc),a1
jsr (Animate_RawNoSST).l
btst #0,(V_int_run_count+3).w
bne.w locret_5FF1A
@@ -126095,7 +125730,7 @@ loc_5EF0E:
; ---------------------------------------------------------------------------
loc_5EF28:
- lea byte_6027C(pc),a1
+ lea AniRaw_6027C(pc),a1
jsr (Animate_RawNoSST).l
cmpi.w #3,(Player_mode).w
beq.s loc_5EF3E
@@ -126502,23 +126137,19 @@ loc_5F346:
locret_5F36C:
rts
; ---------------------------------------------------------------------------
-byte_5F36E: dc.b 0
- dc.b $40
- dc.b 0
- dc.b $40
- dc.b $E4
- dc.b $2C
- dc.b $E4
- dc.b $2C
+byte_5F36E: dc.b 0, $40
+ dc.b 0, $40
+ dc.b $E4, $2C
+ dc.b $E4, $2C
; ---------------------------------------------------------------------------
loc_5F376:
- lea byte_6025C(pc),a1
+ lea AniRaw_6025C(pc),a1
jsr (Animate_RawNoSST).l
btst #2,(_unkFAB8).w
beq.s loc_5F398
move.l #loc_5F39E,(a0)
- lea byte_60260(pc),a1
+ lea AniRaw_60260(pc),a1
jsr (Set_Raw_Animation).l
loc_5F398:
@@ -126540,18 +126171,14 @@ loc_5F3AA:
lea ChildObjDat_60204(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
-byte_5F3D2: dc.b $24
- dc.b $2C
- dc.b $24
- dc.b $2C
- dc.b 8
- dc.b $40
- dc.b $24
- dc.b $2C
+byte_5F3D2: dc.b $24, $2C
+ dc.b $24, $2C
+ dc.b 8, $40
+ dc.b $24, $2C
; ---------------------------------------------------------------------------
loc_5F3DA:
- lea byte_6026B(pc),a1
+ lea AniRaw_6026B(pc),a1
jsr (Animate_RawNoSST).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -126563,7 +126190,7 @@ loc_5F3EA:
move.l #loc_5F400,(a0)
loc_5F400:
- lea byte_6026F(pc),a1
+ lea AniRaw_6026F(pc),a1
jsr (Animate_RawNoSST).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -126592,14 +126219,10 @@ loc_5F43A:
locret_5F460:
rts
; ---------------------------------------------------------------------------
-byte_5F462: dc.b $E4
- dc.b $2C
- dc.b $E4
- dc.b $2C
- dc.b $1C
- dc.b $2C
- dc.b 0
- dc.b $40
+byte_5F462: dc.b $E4, $2C
+ dc.b $E4, $2C
+ dc.b $1C, $2C
+ dc.b 0, $40
; ---------------------------------------------------------------------------
loc_5F46A:
@@ -126618,7 +126241,7 @@ loc_5F480:
move.b #$40,6(a0)
move.w #$120,$10(a0)
move.w #$108,$14(a0)
- move.l #word_602CA,$30(a0)
+ move.l #AniRaw_602CA,$30(a0)
lea (Pal_KnuxEndPose).l,a1
lea (Normal_palette).w,a2
moveq #7,d6
@@ -126654,12 +126277,9 @@ loc_5F4FA:
lea byte_5F520(pc),a1
bra.w loc_5FFD4
; ---------------------------------------------------------------------------
-byte_5F520: dc.b $48
- dc.b 8
- dc.b $34
- dc.b $F0
- dc.b $48
- dc.b $CC
+byte_5F520: dc.b $48, 8
+ dc.b $34, $F0
+ dc.b $48, $CC
; ---------------------------------------------------------------------------
loc_5F526:
@@ -126706,7 +126326,7 @@ loc_5F59A:
; ---------------------------------------------------------------------------
loc_5F5B4:
- lea byte_602C6(pc),a1
+ lea AniRaw_602C6(pc),a1
jsr (Animate_RawNoSST).l
bra.w loc_5F2F8
; ---------------------------------------------------------------------------
@@ -126777,7 +126397,7 @@ locret_5F680:
; ---------------------------------------------------------------------------
loc_5F682:
- lea byte_602C2(pc),a1
+ lea AniRaw_602C2(pc),a1
jsr (Animate_RawNoSST).l
bra.w loc_5F2F8
; ---------------------------------------------------------------------------
@@ -126808,7 +126428,7 @@ locret_5F6D8:
; ---------------------------------------------------------------------------
loc_5F6DA:
- lea byte_602A7(pc),a1
+ lea AniRaw_602A7(pc),a1
jsr (Animate_RawNoSSTMultiDelay).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -126837,7 +126457,7 @@ loc_5F71E:
move.b 5(a0),d0
move.w off_5F73E(pc,d0.w),d1
jsr off_5F73E(pc,d1.w)
- lea (DPLCPtr_7D4D6).l,a2
+ lea (DPLCPtr_MechaSonic).l,a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -126941,8 +126561,8 @@ loc_5F85A:
move.b #$C,5(a0)
move.w #$CC,$14(a0)
move.l #loc_5F89A,$34(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
lea (byte_7D5AB).l,a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -126997,7 +126617,7 @@ loc_5F8FA:
move.w #Target_palette,$32(a1)
loc_5F92E:
- lea (ArtKosM_HPZMasterEmerald).l,a1
+ lea (ArtKosM_EndingMasterEmerald).l,a1
move.w #-$5A40,d2
jmp (Queue_Kos_Module).l
; ---------------------------------------------------------------------------
@@ -127213,7 +126833,7 @@ Obj_Difficulty_Eggman:
; ---------------------------------------------------------------------------
loc_5FB90:
- lea byte_602C6(pc),a1
+ lea AniRaw_602C6(pc),a1
jsr (Animate_RawNoSST).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -127241,9 +126861,9 @@ loc_5FBCE:
locret_5FBE0:
rts
; ---------------------------------------------------------------------------
-Pal_KnuxEndPoseSuper: binclude "General/Ending/Palettes/Super Knuckles End Pose.bin"
- even
-
+Pal_KnuxEndPoseSuper:
+ binclude "General/Ending/Palettes/Super Knuckles End Pose.bin"
+ even
; ---------------------------------------------------------------------------
loc_5FC1E:
@@ -127430,7 +127050,7 @@ locret_5FDD2:
; ---------------------------------------------------------------------------
-Obj_5FDD4:
+Obj_Ending_RevertSuperSonic:
move.w #$77,$2E(a0)
move.l #loc_5FDE0,(a0)
@@ -127510,7 +127130,7 @@ sub_5FE82:
cmpi.b #7,(Super_emerald_count).w
beq.s loc_5FEA2
moveq #0,d0
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
beq.s loc_5FEA2
moveq #-2,d0
@@ -127925,266 +127545,157 @@ word_601AC: dc.w $180
dc.b 8
dc.b 2
dc.b 0
-ChildObjDat_601B2:dc.w 0
+ChildObjDat_601B2:
+ dc.w 0
dc.l Obj_5EBC6
dc.b 4
dc.b $F0
-ChildObjDat_601BA:dc.w 0
+ChildObjDat_601BA:
+ dc.w 0
dc.l Obj_5EA52
dc.b $E0
dc.b $2B
-ChildObjDat_601C2:dc.w 0
+ChildObjDat_601C2:
+ dc.w 0
dc.l Obj_5EB32
dc.b 0
dc.b $F0
-ChildObjDat_601CA:dc.w 1
+ChildObjDat_601CA:
+ dc.w 1
dc.l loc_5ECB4
-ChildObjDat_601D0:dc.w 0
+ChildObjDat_601D0:
+ dc.w 0
dc.l loc_5EBF0
dc.w $1C00
-ChildObjDat_601D8:dc.w 0
+ChildObjDat_601D8:
+ dc.w 0
dc.l loc_5EC3C
dc.w $F60C
-ChildObjDat_601E0:dc.w 0
+ChildObjDat_601E0:
+ dc.w 0
dc.l loc_5EC94
dc.w $DEFE
-ChildObjDat_601E8:dc.w 0
+ChildObjDat_601E8:
+ dc.w 0
dc.l loc_5DF80
dc.w $C0FC
-ChildObjDat_601F0:dc.w 2
+ChildObjDat_601F0:
+ dc.w 2
dc.l loc_5F31C
dc.w 0
dc.l loc_5F3AA
dc.w 0
dc.l loc_5F410
dc.w 0
-ChildObjDat_60204:dc.w 0
+ChildObjDat_60204:
+ dc.w 0
dc.l loc_5F3EA
dc.w $F008
-ChildObjDat_6020C:dc.w 0
+ChildObjDat_6020C:
+ dc.w 0
dc.l loc_5ED36
dc.w $F005
-ChildObjDat_60214:dc.w 4
+ChildObjDat_60214:
+ dc.w 4
dc.l loc_5E504
-ChildObjDat_6021A:dc.w 1
+ChildObjDat_6021A:
+ dc.w 1
dc.l loc_5E612
-ChildObjDat_60220:dc.w 1
+ChildObjDat_60220:
+ dc.w 1
dc.l loc_5F690
dc.w $F0
dc.l loc_5F6A8
dc.w $EC
-ChildObjDat_6022E:dc.w 0
+ChildObjDat_6022E:
+ dc.w 0
dc.l loc_5ED6A
dc.w $FA07
-byte_60236: dc.b 5
- dc.b $B
- dc.b 6
- dc.b 5
- dc.b 7
- dc.b $B
- dc.b 6
- dc.b $B
- dc.b $FC
-byte_6023F: dc.b 4
- dc.b $7F
- dc.b 4
- dc.b $7F
- dc.b $FC
-word_60244: dc.w $400
- dc.w $43F
- dc.w $105
- dc.w $205
- dc.w $33F
- dc.w $47F
- dc.w $47F
- dc.b $FC
-word_60253: dc.w $10F
- dc.w $20F
- dc.w $37F
- dc.w $37F
- dc.b $FC
-byte_6025C: dc.b $F
- dc.b 1
- dc.b 2
- dc.b $FC
-byte_60260: dc.b 7
- dc.b 1
- dc.b 1
- dc.b 3
- dc.b 4
- dc.b $F8
- dc.b 7
- dc.b $7F
- dc.b 4
- dc.b 4
- dc.b $FC
-byte_6026B: dc.b $F
- dc.b $A
- dc.b $B
- dc.b $FC
-byte_6026F: dc.b $B
- dc.b 5
- dc.b 6
- dc.b 7
- dc.b 8
- dc.b 9
- dc.b $FC
-byte_60276: dc.b 7
- dc.b 0
- dc.b 1
- dc.b 2
- dc.b 3
- dc.b $FC
-byte_6027C: dc.b 7
- dc.b 4
- dc.b 5
- dc.b 6
- dc.b $FC
-byte_60281: dc.b 7
- dc.b 7
- dc.b 8
- dc.b 9
- dc.b $1A
- dc.b $1A
- dc.b $1A
- dc.b $FC
-byte_60289: dc.b 7
- dc.b $A
- dc.b $B
- dc.b $C
- dc.b $D
- dc.b $FC
-byte_6028F: dc.b $B
- dc.b $E
- dc.b $F
- dc.b $10
- dc.b $11
- dc.b $FC
-byte_60295: dc.b $B
- dc.b $12
- dc.b $13
- dc.b $14
- dc.b $15
- dc.b $FC
-byte_6029B: dc.b $B
- dc.b $16
- dc.b $17
- dc.b $18
- dc.b $19
- dc.b $FC
-byte_602A1: dc.b 5
- dc.b 2
- dc.b 3
- dc.b 4
- dc.b 3
- dc.b $FC
-byte_602A7: dc.b 2
- dc.b 0
- dc.b 2
- dc.b 1
- dc.b 6
- dc.b $F
- dc.b 2
- dc.b 1
- dc.b 6
- dc.b 7
- dc.b 2
- dc.b 1
- dc.b 6
- dc.b 3
- dc.b 2
- dc.b 1
- dc.b 6
- dc.b 1
- dc.b 2
- dc.b 1
- dc.b 6
- dc.b 1
- dc.b 2
- dc.b $13
- dc.b 3
- dc.b $3F
- dc.b $F4
-byte_602C2: dc.b $E
- dc.b 0
- dc.b 1
- dc.b $FC
-byte_602C6: dc.b $B
- dc.b 0
- dc.b 1
- dc.b $FC
-word_602CA: dc.w $500
- dc.w 1
- dc.w $2F8
- dc.w $77F
- dc.w $202
- dc.w $FC00
-Map_KnuxEnding: include "General/Sprites/Knuckles/Cutscene/Map - Ending Cutscene.asm"
-
-Map_SonicPlane: include "General/Ending/Map - Sonic Plane.asm"
-
-Map_SonicPlaneEnding: include "General/Ending/Map - Sonic Plane Ending.asm"
-
-Map_SKPoseBanner: include "General/Ending/Map - Sonic and Knuckles Pose Banner.asm"
-
-Map_S3PoseBanner: include "General/Ending/Map - Sonic 3 Pose Banner.asm"
-
-Map_IslandLiftGfx: include "General/Ending/Map - Island Lift Sprites.asm"
-
-Map_EndingAnimals: include "General/Ending/Map - Ending Pelican and Dolphin.asm"
-
-Map_SonicTailsEndPoses: include "General/Ending/Map - Sonic Tails Ending Poses.asm"
-
-Map_ANDKnuckles: include "General/Title/Map - ANDKnuckles Subtitle.asm"
-
-Map_EndingEyecatchEggRobo: include "General/Ending/Map - Ending Egg Robo Eyecatch.asm"
-
-Map_EndingEyecatchEggman: include "General/Ending/Map - Ending Eggman Eyecatch.asm"
-
-Map_KnuxEndPose: include "General/Ending/Map - Knuckles End Pose.asm"
-
-Pal_EndingSmallPlane: binclude "General/Ending/Palettes/Small Plane.bin"
- even
-
-
-Pal_EndingSKLogo: binclude "General/Ending/Palettes/SK Logo.bin"
- even
-
-
-Pal_EndingS3KLogo: binclude "General/Ending/Palettes/S3K Logo.bin"
- even
-
-
-Pal_EndingEyecatchKnuckles: binclude "General/Ending/Palettes/Knuckles Eyecatch.bin"
- even
-
-Pal_EndingMasterEmerald: binclude "General/Ending/Palettes/Master Emerald.bin"
- even
-
-Pal_FBZCloud: binclude "Levels/FBZ/Palettes/FBZ Cloud.bin"
- even
-
-Pal_TailsEndPose: binclude "General/Ending/Palettes/Tails End Pose.bin"
- even
-
-Pal_SonicEndPose: binclude "General/Ending/Palettes/Sonic End Pose.bin"
- even
-
-Pal_SuperSonicEndPose: binclude "General/Ending/Palettes/Super Sonic End Pose.bin"
- even
-
-Pal_EndingEyecatchEggRobo: binclude "General/Ending/Palettes/Egg Robo Eyecatch.bin"
- even
-
-Pal_EndingEyecatchEggman: binclude "General/Ending/Palettes/Eggman Eyecatch.bin"
- even
-
-Pal_KnuxEndPose: binclude "General/Ending/Palettes/Knuckles End Pose.bin"
- even
-
-PalSPtr_EndingSuperTails: palscriptptr .header, .data
+AniRaw_60236: dc.b 5, $B, 6, 5, 7, $B, 6, $B, $FC
+AniRaw_6023F: dc.b 4, $7F, 4, $7F, $FC
+AniRaw_60244: dc.b 4, 0, 4, $3F, 1, 5, 2, 5, 3, $3F, 4, $7F, 4, $7F, $FC
+AniRaw_60253: dc.b 1, $F, 2, $F, 3, $7F, 3, $7F, $FC
+AniRaw_6025C: dc.b $F, 1, 2, $FC
+AniRaw_60260: dc.b 7, 1, 1, 3, 4, $F8, 7, $7F, 4, 4, $FC
+AniRaw_6026B: dc.b $F, $A, $B, $FC
+AniRaw_6026F: dc.b $B, 5, 6, 7, 8, 9, $FC
+AniRaw_60276: dc.b 7, 0, 1, 2, 3, $FC
+AniRaw_6027C: dc.b 7, 4, 5, 6, $FC
+AniRaw_60281: dc.b 7, 7, 8, 9, $1A, $1A, $1A, $FC
+AniRaw_60289: dc.b 7, $A, $B, $C, $D, $FC
+AniRaw_6028F: dc.b $B, $E, $F, $10, $11, $FC
+AniRaw_60295: dc.b $B, $12, $13, $14, $15, $FC
+AniRaw_6029B: dc.b $B, $16, $17, $18, $19, $FC
+AniRaw_602A1: dc.b 5, 2, 3, 4, 3, $FC
+AniRaw_602A7: dc.b 2, 0, 2, 1, 6, $F, 2, 1, 6, 7, 2, 1, 6, 3, 2, 1
+ dc.b 6, 1, 2, 1, 6, 1, 2, $13, 3, $3F, $F4
+AniRaw_602C2: dc.b $E, 0, 1, $FC
+AniRaw_602C6: dc.b $B, 0, 1, $FC
+AniRaw_602CA: dc.b 5, 0, 0, 1, 2, $F8, 7, $7F, 2, 2, $FC
+ even
+Map_KnuxEnding:
+ include "General/Sprites/Knuckles/Cutscene/Map - Ending Cutscene.asm"
+Map_SonicPlane:
+ include "General/Ending/Map - Sonic Plane.asm"
+Map_SonicPlaneEnding:
+ include "General/Ending/Map - Sonic Plane Ending.asm"
+Map_SKPoseBanner:
+ include "General/Ending/Map - Sonic and Knuckles Pose Banner.asm"
+Map_S3PoseBanner:
+ include "General/Ending/Map - Sonic 3 Pose Banner.asm"
+Map_IslandLiftGfx:
+ include "General/Ending/Map - Island Lift Sprites.asm"
+Map_EndingAnimals:
+ include "General/Ending/Map - Ending Pelican and Dolphin.asm"
+Map_SonicTailsEndPoses:
+ include "General/Ending/Map - Sonic Tails Ending Poses.asm"
+Map_ANDKnuckles:
+ include "General/Ending/Map - ANDKnuckles Subtitle.asm"
+Map_EndingEyecatchEggRobo:
+ include "General/Ending/Map - Ending Egg Robo Eyecatch.asm"
+Map_EndingEyecatchEggman:
+ include "General/Ending/Map - Ending Eggman Eyecatch.asm"
+Map_KnuxEndPose:
+ include "General/Ending/Map - Knuckles End Pose.asm"
+Pal_EndingSmallPlane:
+ binclude "General/Ending/Palettes/Small Plane.bin"
+ even
+Pal_EndingSKLogo:
+ binclude "General/Ending/Palettes/SK Logo.bin"
+ even
+Pal_EndingS3KLogo:
+ binclude "General/Ending/Palettes/S3K Logo.bin"
+ even
+Pal_EndingEyecatchKnuckles:
+ binclude "General/Ending/Palettes/Knuckles Eyecatch.bin"
+ even
+Pal_EndingMasterEmerald:
+ binclude "General/Ending/Palettes/Master Emerald.bin"
+ even
+Pal_FBZCloud:
+ binclude "Levels/FBZ/Palettes/FBZ Cloud.bin"
+ even
+Pal_TailsEndPose:
+ binclude "General/Ending/Palettes/Tails End Pose.bin"
+ even
+Pal_SonicEndPose:
+ binclude "General/Ending/Palettes/Sonic End Pose.bin"
+ even
+Pal_SuperSonicEndPose:
+ binclude "General/Ending/Palettes/Super Sonic End Pose.bin"
+ even
+Pal_EndingEyecatchEggRobo:
+ binclude "General/Ending/Palettes/Egg Robo Eyecatch.bin"
+ even
+Pal_EndingEyecatchEggman:
+ binclude "General/Ending/Palettes/Eggman Eyecatch.bin"
+ even
+Pal_KnuxEndPose:
+ binclude "General/Ending/Palettes/Knuckles End Pose.bin"
+ even
+PalSPtr_EndingSuperTails:
+ palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_3+$04, 4, 0
.data palscriptdata 24,$06C, $08E, $0AE, $8CE
palscriptdata 8, $28E, $2AE, $2CE, $AEE
@@ -128195,7 +127706,7 @@ PalSPtr_EndingSuperTails: palscriptptr .header, .data
palscriptrept
; ---------------------------------------------------------------------------
-Obj_86:
+Obj_GumballMachine:
lea ObjDat3_613B0(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_60CB8,(a0)
@@ -128248,8 +127759,8 @@ loc_60CF8:
bset #0,4(a0)
loc_60D08:
- moveq #sfx_GumballTab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GumballTab),d0
+ jsr (Play_SFX).l
loc_60D10:
jmp (Draw_Sprite).l
@@ -128432,7 +127943,7 @@ loc_60F28:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_87:
+Obj_GumballTriangleBumper:
lea ObjDat3_613A4(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_60F3E,(a0)
@@ -128497,8 +128008,8 @@ loc_60FB4:
move.w #$F,($FF2020).l
movea.w (_unkFAA4).w,a1
bset #0,$38(a1)
- moveq #sfx_Spring,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jsr (Play_SFX).l
rts
; End of function sub_60F94
@@ -128618,8 +128129,8 @@ off_6110E: dc.w loc_61120-off_6110E
loc_61120:
addq.b #1,(Life_count).w
addq.b #1,(Update_HUD_life_count).w
- moveq #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_ExtraLife),d0
+ jmp (Play_Music).l
; ---------------------------------------------------------------------------
loc_61130:
@@ -128683,46 +128194,46 @@ sub_61176:
bclr #5,$2A(a1)
clr.b $40(a1)
move.b #1,$20(a0)
- moveq #sfx_SmallBumpers,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_SmallBumpers),d0
+ jmp (Play_SFX).l
; End of function sub_61176
; ---------------------------------------------------------------------------
loc_611D6:
lea (Player_1).w,a1
- move.l #Obj_Fire_Shield,(Shield).w
+ move.l #Obj_FireShield,(Shield).w
move.w a1,(Shield+parent).w
andi.b #-$72,$2B(a1)
bset #0,$2B(a1)
moveq #4,d0
bsr.w sub_61254
- moveq #sfx_FireShield,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_FireShield),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_61200:
lea (Player_1).w,a1
- move.l #Obj_Bubble_Shield,(Shield).w
+ move.l #Obj_BubbleShield,(Shield).w
move.w a1,(Shield+parent).w
andi.b #-$72,$2B(a1)
bset #0,$2B(a1)
moveq #6,d0
bsr.w sub_61254
- moveq #sfx_BubbleShield,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_BubbleShield),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_6122A:
lea (Player_1).w,a1
- move.l #Obj_Lightning_Shield,(Shield).w
+ move.l #Obj_LightningShield,(Shield).w
move.w a1,(Shield+parent).w
andi.b #-$72,$2B(a1)
bset #0,$2B(a1)
moveq #5,d0
bsr.w sub_61254
- moveq #sfx_ElectricShield,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_LightningShield),d0
+ jmp (Play_SFX).l
; =============== S U B R O U T I N E =======================================
@@ -128956,7 +128467,8 @@ ObjDat3_613EC: dc.l Map_GumballBonus
dc.b $10
dc.b $17
dc.b 0
-ChildObjDat_613F8:dc.w 6
+ChildObjDat_613F8:
+ dc.w 6
dc.l loc_60D58
dc.b 0
dc.b 0
@@ -128978,7 +128490,8 @@ ChildObjDat_613F8:dc.w 6
dc.l loc_60FFE
dc.b 0
dc.b $D8
-ChildObjDat_61424:dc.w 3
+ChildObjDat_61424:
+ dc.w 3
dc.l loc_60DAC
dc.b $D0
dc.b $E8
@@ -128991,11 +128504,14 @@ ChildObjDat_61424:dc.w 3
dc.l loc_60DAC
dc.b $30
dc.b $E8
-ChildObjDat_6143E:dc.w $F
+ChildObjDat_6143E:
+ dc.w $F
dc.l loc_6101E
-ChildObjDat_61444:dc.w 0
+ChildObjDat_61444:
+ dc.w 0
dc.l loc_60EBA
-ChildObjDat_6144A:dc.w 0
+ChildObjDat_6144A:
+ dc.w 0
dc.l loc_610B6
byte_61450: dc.b 3
dc.b 5
@@ -129037,8 +128553,8 @@ word_61482: dc.w $7F0F
dc.w $FFC
word_61486: dc.w $110
dc.w $11FC
-Map_GumballBonus: include "Levels/Gumball/Misc Object Data/Map - Gumball Bonus.asm"
-
+Map_GumballBonus:
+ include "Levels/Gumball/Misc Object Data/Map - Gumball Bonus.asm"
; ---------------------------------------------------------------------------
Obj_SSEntryRing:
@@ -129057,7 +128573,8 @@ loc_6167C:
jsr SSEntryRing_Index(pc,d1.w)
bra.w SSEntryRing_Display
; ---------------------------------------------------------------------------
-SSEntryRing_Index: dc.w SSEntryRing_Init-SSEntryRing_Index
+SSEntryRing_Index:
+ dc.w SSEntryRing_Init-SSEntryRing_Index
dc.w SSEntryRing_Main-SSEntryRing_Index
dc.w SSEntryRing_Animate-SSEntryRing_Index
; ---------------------------------------------------------------------------
@@ -129072,7 +128589,7 @@ SSEntryRing_Init:
bne.s SSEntryRing_Main ; If only Sonic and Knuckles, skip ahead
bsr.w SSEntry_CheckLevel
beq.s SSEntryRing_Main ; If in an S3 level, skip ahead since it's a normal ring
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
bne.s SSEntryRing_Main ; Only make this a super emerald ring if you actually have 7 chaos emeralds
loc_616C6:
@@ -129105,9 +128622,9 @@ loc_6170A:
lea (Player_1).w,a1 ; If collision was made
cmpi.b #6,5(a1)
bhs.s locret_61708 ; If player has died for whatever reason, don't do anything
- moveq #sfx_BigRing,d0
- jsr (Play_Sound_2).l ; Play the ring swish sound
- cmpi.b #7,(Emerald_count).w
+ moveq #signextendB(sfx_BigRing),d0
+ jsr (Play_SFX).l ; Play the ring swish sound
+ cmpi.b #7,(Chaos_emerald_count).w
bne.s loc_6173A ; If chaos emeralds aren't collected, branch
tst.w (SK_alone_flag).w
bne.s loc_61794 ; If only Sonic and Knuckles and the emeralds are collected, go claim 50 rings
@@ -129146,14 +128663,14 @@ SSEntry_Range: dc.w $FFE8
; ---------------------------------------------------------------------------
loc_61794:
- moveq #sfx_BigRing,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRing),d0
+ jsr (Play_SFX).l
move.b $2C(a0),d0
move.l (Collected_special_ring_array).w,d1
bset d0,d1
move.l d1,(Collected_special_ring_array).w ; Set the special stage ring as collected
bset #5,$38(a0)
- moveq #$32,d0 ; Add 50 rings
+ moveq #50,d0 ; Add 50 rings
jmp (AddRings).l
; ---------------------------------------------------------------------------
@@ -129170,7 +128687,8 @@ Obj_SSEntryFlash:
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-SSEntryFlash_Index: dc.w SSEntryFlash_Init-SSEntryFlash_Index
+SSEntryFlash_Index:
+ dc.w SSEntryFlash_Init-SSEntryFlash_Index
dc.w SSEntryFlash_Main-SSEntryFlash_Index
; ---------------------------------------------------------------------------
@@ -129214,8 +128732,8 @@ SSEntryFlash_Finished:
; ---------------------------------------------------------------------------
SSEntryFlash_GoSS:
- moveq #sfx_EnterSS,d0
- jsr (Play_Sound_2).l ; Play the special stage entry sound (you know the one)
+ moveq #signextendB(sfx_EnterSS),d0
+ jsr (Play_SFX).l ; Play the special stage entry sound (you know the one)
jsr (Clear_SpriteRingMem).l
jsr (Save_Level_Data2).l
tst.b $2C(a0)
@@ -129225,7 +128743,7 @@ SSEntryFlash_GoSS:
bne.s loc_61892 ; If SK alone, go directly to special stage
bsr.w SSEntry_CheckLevel
beq.s loc_61892 ; Otherwise, do so if S3 levels
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
bne.s loc_61892 ; or if chaos emeralds aren't collected
bra.w loc_618AC ; When conditions are met, go to HPZ
; ---------------------------------------------------------------------------
@@ -129314,8 +128832,9 @@ loc_6196A:
jsr (Queue_Kos_Module).l ; Restore the overwritten badnik explosion art
jmp (Go_Delete_SpriteSlotted).l
; ---------------------------------------------------------------------------
-ObjSlot_SSEntryRing: dc.w 0
- dc.w make_art_tile($5A0,1,0)
+ObjSlot_SSEntryRing:
+ dc.w 0
+ dc.w make_art_tile(ArtTile_Explosion,1,0)
dc.w $40
dc.w 4
dc.l Map_SSEntryRing
@@ -129325,7 +128844,8 @@ ObjSlot_SSEntryRing: dc.w 0
dc.b $20
dc.b 0
dc.b 0
-ObjSlot_SSEntryFlash: dc.w 0
+ObjSlot_SSEntryFlash:
+ dc.w 0
dc.w make_art_tile(ArtTile_Player_1,1,0)
dc.w $18
dc.w 6
@@ -129336,51 +128856,28 @@ ObjSlot_SSEntryFlash: dc.w 0
dc.b $20
dc.b 0
dc.b 0
-DPLCPtr_SSEntryRing: dc.l ArtUnc_SSEntryRing
+DPLCPtr_SSEntryRing:
+ dc.l ArtUnc_SSEntryRing
dc.l DPLC_SSEntryRing
-DPLCPtr_SSEntryFlash: dc.l ArtUnc_SSEntryFlash
+DPLCPtr_SSEntryFlash:
+ dc.l ArtUnc_SSEntryFlash
dc.l DPLC_SSEntryFlash
-AniRaw_SSEntryRing: dc.b 4
- dc.b 0
- dc.b 0
- dc.b 1
- dc.b 2
- dc.b 3
- dc.b 4
- dc.b 5
- dc.b 6
- dc.b 7
- dc.b $F8
- dc.b $C
- dc.b 6
- dc.b $A
- dc.b 9
- dc.b 8
- dc.b $B
- dc.b $FC
-AniRaw_SSEntryFlash: dc.b 0
- dc.b 0
- dc.b 0
- dc.b 1
- dc.b 2
- dc.b $43
- dc.b 3
- dc.b 2
- dc.b 1
- dc.b 0
- dc.b $F4
- dc.b 0
-Map_SSEntryRing: include "General/Sprites/SS Entry/Map - Entry Ring.asm"
-
-DPLC_SSEntryRing: include "General/Sprites/SS Entry/DPLC - Special Stage Entry Ring.asm"
-
-Map_SSEntryFlash: include "General/Sprites/SS Entry/Map - Entry Flash.asm"
-
-DPLC_SSEntryFlash: include "General/Sprites/SS Entry/DPLC - Special Stage Entry Flash.asm"
-
-PalSPtr_SSEntry: palscriptptr .header, .data
+AniRaw_SSEntryRing:
+ dc.b 4, 0, 0, 1, 2, 3, 4, 5, 6, 7, $F8, $C, 6, $A, 9, 8, $B, $FC
+AniRaw_SSEntryFlash:
+ dc.b 0, 0, 0, 1, 2, $43, 3, 2, 1, 0, $F4
+ even
+Map_SSEntryRing:
+ include "General/Sprites/SS Entry/Map - Entry Ring.asm"
+DPLC_SSEntryRing:
+ include "General/Sprites/SS Entry/DPLC - Special Stage Entry Ring.asm"
+Map_SSEntryFlash:
+ include "General/Sprites/SS Entry/Map - Entry Flash.asm"
+DPLC_SSEntryFlash:
+ include "General/Sprites/SS Entry/DPLC - Special Stage Entry Flash.asm"
+PalSPtr_SSEntry:
+ palscriptptr .header, .data
.header palscripthdr Normal_palette_line_2+$A, 2, 0
-
.data palscriptdata 3, $ECE, $A8A
palscriptdata 3, $AEE, $6EE
palscriptdata 3, $ECA, $A86
@@ -129402,9 +128899,9 @@ PalSPtr_SSEntry: palscriptptr .header, .data
palscriptdata 2, $8EE, $0CC
palscriptrept
-PalSPtr_SSEntry2: palscriptptr .header, .data
+PalSPtr_SSEntry2:
+ palscriptptr .header, .data
.header palscripthdr Normal_palette_line_2+$1E, 1, 0
-
.data palscriptdata 3, $868
palscriptdata 3, $0AA
palscriptdata 3, $864
@@ -129471,7 +128968,7 @@ CutsceneKnux_AIZ1:
move.b 5(a0),d0
move.w off_61DB0(pc,d0.w),d1
jsr off_61DB0(pc,d1.w)
- lea DPLCPtr_6666A(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -129509,7 +129006,7 @@ loc_61E02:
bset #7,$2A(a0)
move.w #-$600,$1A(a0)
move.w #$80,$18(a0)
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -129636,7 +129133,7 @@ CutsceneKnux_AIZ2:
move.b 5(a0),d0
move.w off_61FB6(pc,d0.w),d1
jsr off_61FB6(pc,d1.w)
- lea DPLCPtr_6666A(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -129657,7 +129154,7 @@ loc_61FC2:
bsr.w sub_65DD6
move.w #$77,$2E(a0)
move.l #loc_6201A,$34(a0)
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_6655A(pc),a2
jsr (CreateChild6_Simple).l
@@ -129755,7 +129252,7 @@ loc_620E4:
loc_620EA:
movea.w $46(a0),a1
btst #7,$2A(a1)
- bne.w loc_62158
+ bne.w CutsceneKnux_Delete
move.b #8,7(a0)
moveq #$13,d1
move.w #$20,d2
@@ -129766,14 +129263,14 @@ loc_620EA:
CutsceneKnux_HCZ2:
cmpi.b #2,(Player_1+character_id).w
- beq.s loc_62158
+ beq.s CutsceneKnux_Delete
lea word_62150(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
move.b 5(a0),d0
move.w off_62142(pc,d0.w),d1
jsr off_62142(pc,d1.w)
- lea DPLCPtr_6666A(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -129790,15 +129287,15 @@ word_62150: dc.w $540
dc.w $3940
; ---------------------------------------------------------------------------
-loc_62158:
+CutsceneKnux_Delete:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
loc_6215E:
lea ObjDat4_663BA(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
- move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w #$3940,(Camera_max_X_pos).w
lea ChildObjDat_665A2(pc),a2
jsr (CreateChild1_Normal).l
@@ -129839,7 +129336,7 @@ loc_621D6:
move.w #$1F,$2E(a0)
move.l #loc_62216,$34(a0)
move.w #$5C0,(Camera_min_Y_pos).w
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -129880,13 +129377,12 @@ loc_62274:
jsr (Remove_From_TrackingSlot).l
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
-ChildObjDat_62280:dc.w 1
+ChildObjDat_62280:
+ dc.w 1
dc.l Obj_DecLevStartYGradual
- dc.b 0
- dc.b 0
+ dc.w 0
dc.l Obj_IncLevEndXGradual
- dc.b 0
- dc.b 0
+ dc.w 0
word_6228E: dc.w $176
dc.w $300
dc.w $1C00
@@ -129899,14 +129395,14 @@ word_62296: dc.w $280
CutsceneKnux_CNZ2A:
cmpi.b #2,(Player_1+character_id).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
lea word_6228E(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
move.b 5(a0),d0
move.w off_622D0(pc,d0.w),d1
jsr off_622D0(pc,d1.w)
- lea DPLCPtr_6666A(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -129937,7 +129433,7 @@ loc_622E4:
loc_62318:
move.l (a1)+,(a2)+
dbf d6,loc_62318
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_66560(pc),a2
jmp (CreateChild1_Normal).l
@@ -130016,7 +129512,7 @@ loc_623FE:
bmi.w locret_6206C
lea ChildObjDat_66568(pc),a2
jsr (CreateChild1_Normal).l
- move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
+ move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w
loc_62422:
lea (Target_palette_line_2).w,a1
@@ -130042,7 +129538,7 @@ loc_6244C:
loc_62458:
movea.w $46(a0),a1
btst #7,$2A(a1)
- bne.w loc_62158
+ bne.w CutsceneKnux_Delete
move.b #8,7(a0)
moveq #$13,d1
move.w #$100,d2
@@ -130107,14 +129603,14 @@ word_624D0: dc.w 8
CutsceneKnux_CNZ2B:
cmpi.b #2,(Player_1+character_id).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
lea word_62520(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
move.b 5(a0),d0
move.w off_62510(pc,d0.w),d1
jsr off_62510(pc,d1.w)
- lea DPLCPtr_6666A(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -130139,7 +129635,7 @@ loc_62528:
st (Ctrl_1_locked).w
move.b #-$80,(Player_1+object_control).w
bsr.w sub_65DD6
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -130234,12 +129730,12 @@ loc_62630:
CutsceneKnux_LBZ1:
cmpi.b #2,(Player_1+character_id).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
moveq #0,d0
move.b 5(a0),d0
move.w off_62668(pc,d0.w),d1
jsr off_62668(pc,d1.w)
- lea DPLCPtr_6666A(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -130261,7 +129757,7 @@ loc_62678:
jsr (SetUp_ObjAttributesSlotted).l
move.b #$16,$22(a0)
move.w #$A0,(Camera_min_Y_pos).w
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_6657C(pc),a2
jmp (CreateChild1_Normal).l
@@ -130300,8 +129796,8 @@ loc_626F4:
move.b #8,5(a0)
move.w #$F,$2E(a0)
move.l #loc_62726,$34(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
lea ChildObjDat_66584(pc),a2
jsr (CreateChild1_Normal).l
lea (PLC_BossExplosion).l,a1
@@ -130343,7 +129839,7 @@ loc_6278A:
clr.b (_unkFAA9).w
clr.b (Player_1+object_control).w
clr.b (Player_2+object_control).w
- move.w #$3B60,(Target_camera_max_X_pos).w
+ move.w #$3B60,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
move.w #$148,(Camera_target_max_Y_pos).w
@@ -130356,7 +129852,7 @@ loc_6278A:
loc_627C6:
movea.w $46(a0),a1
btst #7,$2A(a1)
- bne.w loc_62158
+ bne.w CutsceneKnux_Delete
lea word_62822(pc),a1
jsr (Check_PlayerInRange).l
tst.l d0
@@ -130384,7 +129880,7 @@ sub_62800:
movea.w d0,a1
cmpi.b #6,5(a1)
bhs.s locret_627FE
- move.b #-$7F,$2E(a1)
+ move.b #$81,$2E(a1)
bclr #0,4(a1)
bclr #0,$2A(a1)
rts
@@ -130400,8 +129896,8 @@ loc_6282A:
move.l #loc_6284E,(a0)
move.w #-$200,$18(a0)
move.w #-$400,$1A(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
loc_6284E:
jsr (MoveSprite_LightGravity).l
@@ -130435,12 +129931,12 @@ loc_628A0:
CutsceneKnux_LBZ2:
cmpi.b #2,(Player_1+character_id).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
moveq #0,d0
move.b 5(a0),d0
move.w off_628D2(pc,d0.w),d1
jsr off_628D2(pc,d1.w)
- lea DPLCPtr_6666A(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -130459,7 +129955,7 @@ loc_628E0:
bset #0,4(a0)
move.b #$20,$22(a0)
bsr.w sub_65DD6
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_66592(pc),a2
jmp (CreateChild3_NormalRepeated).l
@@ -130526,8 +130022,8 @@ loc_629A8:
move.w $14(a0),d0
cmp.w (Water_level).w,d0
blo.s loc_629C0
- moveq #sfx_Splash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Splash),d0
+ jsr (Play_SFX).l
move.b #$C,5(a0)
loc_629C0:
@@ -130619,7 +130115,7 @@ loc_62AAE:
jmp (Sprite_CheckDeleteXY).l
; ---------------------------------------------------------------------------
-Obj_C8_1:
+Obj_LBZKnuxPillar:
lea ObjDat3_66426(pc),a1
jsr (SetUp_ObjAttributes).l
bclr #1,4(a0)
@@ -130639,8 +130135,8 @@ loc_62AEE:
add.w d0,$14(a0)
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Map_LBZKnuxPillar: include "Levels/LBZ/Misc Object Data/Map - Knuckles Pillar.asm"
-
+Map_LBZKnuxPillar:
+ include "Levels/LBZ/Misc Object Data/Map - Knuckles Pillar.asm"
; ---------------------------------------------------------------------------
CutsceneKnux_MHZ1:
@@ -130648,7 +130144,7 @@ CutsceneKnux_MHZ1:
move.b 5(a0),d0
move.w off_62B58(pc,d0.w),d1
jsr off_62B58(pc,d1.w)
- lea DPLCPtr_6666A(pc),a2
+ lea DPLCPtr_CutsceneKnux(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -130678,7 +130174,7 @@ loc_62B68:
loc_62BA2:
move.l (a1)+,(a2)+
dbf d6,loc_62BA2
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -130763,13 +130259,13 @@ loc_62C90:
jmp (MoveSprite2).l
; ---------------------------------------------------------------------------
-Obj_A8_2:
+Obj_MHZ1CutsceneKnuckles:
cmpi.b #2,(Player_1+character_id).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
tst.b (Last_star_post_hit).w
- bne.w loc_62158
+ bne.w CutsceneKnux_Delete
tst.w (SK_alone_flag).w
- bne.w loc_62158
+ bne.w CutsceneKnux_Delete
lea (Player_1).w,a1
moveq #0,d0
move.b (_unkFAB8).w,d0
@@ -130908,7 +130404,7 @@ loc_62E1A:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_A9_2:
+Obj_MHZ1CutsceneButton:
lea ObjDat3_6644A(pc),a1
jsr (SetUp_ObjAttributes).l
lea ChildObjDat_665B6(pc),a2
@@ -130952,8 +130448,8 @@ loc_62E92:
move.b #1,$22(a0)
bset #1,$38(a0)
st (_unkFAA9).w
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_62ECA:
jmp (Draw_Sprite).l
@@ -130985,14 +130481,14 @@ loc_62F0A:
beq.s loc_62F46
move.l #loc_62F4C,(a0)
move.b #1,$22(a0)
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
btst #2,$38(a0)
bne.s loc_62F46
bset #1,$38(a0)
not.b (_unkFAA9).w
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
loc_62F46:
jmp (Sprite_CheckDelete).l
@@ -131127,14 +130623,14 @@ CutsceneKnux_MHZ2:
cmpi.b #2,(Player_1+character_id).w
beq.s loc_6311A
cmpi.b #7,(Last_star_post_hit).w
- bhs.w loc_62158
+ bhs.w CutsceneKnux_Delete
lea word_630D0(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
move.b 5(a0),d0
move.w off_6312A(pc,d0.w),d1
jsr off_6312A(pc,d1.w)
- lea DPLCPtr_66672(pc),a2
+ lea DPLCPtr_MHZKnuxPress(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -131155,11 +130651,11 @@ loc_63134:
lea ObjDat4_663CC(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
move.l #loc_63182,$34(a0)
- move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w
+ move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w
move.w (word_630DC).l,(_unkFAB4).w
bsr.w sub_65DD6
st (Events_bg+$16).w
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
lea ChildObjDat_665BC(pc),a2
jmp (CreateChild1_Normal).l
@@ -131241,8 +130737,8 @@ loc_63220:
bsr.w sub_65E62
cmpi.b #8,$23(a0)
blo.s loc_63238
- moveq #sfx_LeafBlower,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_LeafBlower),d0
+ jsr (Play_SFX_Continuous).l
bsr.w sub_65EB4
loc_63238:
@@ -131263,8 +130759,8 @@ loc_63266:
bne.s locret_6327E
addq.b #1,$39(a0)
subq.w #4,$3E(a0)
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
locret_6327E:
rts
@@ -131301,13 +130797,13 @@ loc_632CA:
cmpi.b #2,(Player_1+character_id).w
bne.s loc_632F8
move.l #Sprite_OnScreen_Test,(a0)
- move.w #-$7AD8,$A(a0)
+ move.w #$8528,$A(a0)
movea.w $46(a0),a1
move.w $48(a1),$48(a0)
loc_632F8:
lea (ArtKosM_MHZKnuxSwitch).l,a1
- move.w #-$5B00,d2
+ move.w #$A500,d2
jmp (Queue_Kos_Module).l
; ---------------------------------------------------------------------------
@@ -131353,7 +130849,7 @@ loc_63372:
move.w (Camera_Y_pos).w,d0
subq.w #8,d0
cmp.w $14(a0),d0
- bhs.w loc_62158
+ bhs.w CutsceneKnux_Delete
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -131378,8 +130874,8 @@ loc_6339C:
; ---------------------------------------------------------------------------
loc_633D6:
- moveq #sfx_LeafBlower,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_LeafBlower),d0
+ jsr (Play_SFX_Continuous).l
jsr (MoveSprite_LightGravity).l
movea.w $44(a0),a1
move.w $10(a0),$10(a1)
@@ -131405,11 +130901,11 @@ loc_633D6:
CutsceneKnux_SKIntro:
cmpi.b #2,(Player_1+character_id).w
- bne.w loc_62158
+ bne.w CutsceneKnux_Delete
tst.b (Last_star_post_hit).w
- bne.w loc_62158
+ bne.w CutsceneKnux_Delete
tst.w (SK_alone_flag).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
move.l #loc_63466,(a0)
loc_63466:
@@ -131436,7 +130932,7 @@ off_63494: dc.w loc_6349A-off_63494
loc_6349A:
move.l #Map_KnuxIntroLay,$C(a0)
- lea DPLCPtr_6667A(pc),a2
+ lea DPLCPtr_KnuxIntroLay(pc),a2
jmp (Perform_DPLC).l
; ---------------------------------------------------------------------------
@@ -131447,7 +130943,7 @@ loc_634AC:
loc_634B8:
move.l #Map_HPZKnucklesGrab,$C(a0)
- lea DPLCPtr_66682(pc),a2
+ lea DPLCPtr_HPZKnucklesGrab(pc),a2
jmp (Perform_DPLC).l
; ---------------------------------------------------------------------------
@@ -131455,7 +130951,7 @@ loc_634CA:
lea ObjDat4_663DE(pc),a1
jsr (SetUp_ObjAttributesSlotted).l
move.w #$EF,$2E(a0)
- move.b #-$7D,(Player_1+object_control).w
+ move.b #$83,(Player_1+object_control).w
move.w #$560,(Camera_X_pos).w
move.w #$948,(Camera_Y_pos).w
st (Scroll_lock).w
@@ -131463,7 +130959,7 @@ loc_634CA:
clr.b (Level_started_flag).w
jsr (Create_New_Sprite).l
bne.s loc_63508
- move.l #loc_63682,(a1)
+ move.l #Obj_SkipIntro,(a1)
loc_63508:
lea ChildObjDat_66656(pc),a2
@@ -131582,7 +131078,7 @@ loc_6364E:
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
-loc_63682:
+Obj_SkipIntro:
btst #7,(Ctrl_1_pressed).w
bne.s loc_6364E
btst #7,(Ctrl_2_pressed).w
@@ -131688,8 +131184,8 @@ loc_63790:
move.w (Camera_Y_pos).w,d0
subi.w #$40,d0
move.w d0,$14(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
lea ChildObjDat_6665C(pc),a2
jsr (CreateChild1_Normal).l
lea (PLC_BossExplosion).l,a1
@@ -131710,8 +131206,8 @@ loc_637EC:
bpl.s loc_63840
add.w d1,$14(a0)
bset #0,(_unkFAB8).w
- moveq #sfx_FloorThump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorThump),d0
+ jsr (Play_SFX).l
move.w $1A(a0),d0
asr.w #2,d0
neg.w d0
@@ -131720,8 +131216,8 @@ loc_637EC:
blt.s loc_63840
move.l #loc_63846,(a0)
move.w #$77,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
loc_63840:
jmp (Draw_Sprite).l
@@ -131733,8 +131229,8 @@ loc_63846:
move.l #loc_638A2,(a0)
bset #7,$2A(a0)
bset #1,(_unkFAB8).w
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
lea (Normal_palette).w,a1
lea (Target_palette).w,a2
moveq #7,d6
@@ -131817,8 +131313,8 @@ loc_6395C:
lea (ObjDat_BossExplosion1).l,a1
jsr (SetUp_ObjAttributes).l
move.l #Go_Delete_Sprite,$34(a0)
- moveq #sfx_Explode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Explode),d0
+ jsr (Play_SFX).l
moveq #0,d0
move.b $2C(a0),d0
lea byte_639A2(pc,d0.w),a1
@@ -131874,8 +131370,8 @@ loc_639C8:
move.w (Camera_Y_pos).w,d0
subi.w #$60,d0
move.w d0,$14(a0)
- moveq #mus_EndBoss,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_EndBoss),d0
+ jsr (Play_Music).l
lea (ChildObjDat_919D0).l,a2
jsr (CreateChild1_Normal).l
lea (ArtKosM_EggRoboBadnik).l,a1
@@ -131912,7 +131408,7 @@ loc_63A52:
CutsceneKnux_LRZ2:
cmpi.b #2,(Player_1+character_id).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
moveq #0,d0
move.b 5(a0),d0
move.w off_63A8C(pc,d0.w),d1
@@ -131935,7 +131431,7 @@ loc_63A96:
move.b #$56,$22(a0)
move.w #$3A38,$10(a0)
move.w #$EC,$14(a0)
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -131971,9 +131467,9 @@ locret_63B20:
rts
; ---------------------------------------------------------------------------
-Obj_AE_2:
+Obj_LRZ2CutsceneKnuckles:
cmpi.b #2,(Player_1+character_id).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
move.l #loc_63B40,(a0)
jsr (Create_New_Sprite).l
bne.s loc_63B40
@@ -132076,8 +131572,8 @@ loc_63C7A:
; ---------------------------------------------------------------------------
loc_63C80:
- moveq #sfx_PushBlock,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_PushBlock),d0
+ jsr (Play_SFX_Continuous).l
bsr.w sub_65ED4
bsr.w sub_65EFE
jsr (MoveSprite2).l
@@ -132091,8 +131587,8 @@ loc_63CA6:
; ---------------------------------------------------------------------------
loc_63CAC:
- moveq #sfx_PushBlock,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_PushBlock),d0
+ jsr (Play_SFX_Continuous).l
bsr.w sub_65ED4
bsr.w sub_65EFE
jsr (MoveSprite_LightGravity).l
@@ -132103,8 +131599,8 @@ loc_63CAC:
bpl.s loc_63CE6
move.w #-$100,$1A(a0)
move.w #$14,(Screen_shake_flag).w
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
loc_63CE6:
jmp (Draw_Sprite).l
@@ -132134,7 +131630,7 @@ loc_63D0E:
loc_63D1A:
cmpi.b #2,(Player_1+character_id).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
lea word_63CEC(pc),a1
jsr (Check_CameraInRange).l
jsr (sub_85D6A).l
@@ -132168,7 +131664,7 @@ loc_63D5C:
loc_63DBC:
move.l (a1)+,(a2)+
dbf d6,loc_63DBC
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jsr (PalLoad_Line1).l
move.w #$88,(Normal_palette_line_2+$C).w
rts
@@ -132199,12 +131695,12 @@ loc_63E06:
; ---------------------------------------------------------------------------
loc_63E0A:
- lea DPLCPtr_66682(pc),a2
+ lea DPLCPtr_HPZKnucklesGrab(pc),a2
jmp (Perform_DPLC).l
; ---------------------------------------------------------------------------
loc_63E14:
- lea DPLCPtr_6668A(pc),a2
+ lea DPLCPtr_SSZKnucklesTired(pc),a2
jmp (Perform_DPLC).l
; ---------------------------------------------------------------------------
off_63E1E: dc.w loc_63E7C-off_63E1E
@@ -132403,8 +131899,8 @@ loc_64016:
loc_6401C:
move.b #$A,5(a0)
move.w #-$600,$1A(a0)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
lea byte_667C1(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -132520,8 +132016,8 @@ loc_64184:
move.b (V_int_run_count+3).w,d0
andi.b #$F,d0
bne.s loc_64196
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
loc_64196:
jsr (Animate_RawCheckResult).l
@@ -132609,8 +132105,8 @@ loc_64292:
loc_6429E:
bset #0,$38(a0)
- moveq #sfx_FloorThump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorThump),d0
+ jsr (Play_SFX).l
move.w #$300,d3
move.w $10(a1),d1
sub.w $10(a0),d1
@@ -132648,11 +132144,11 @@ loc_64310:
move.l #Map_HPZKnucklesGrab,$C(a0)
move.b #2,$22(a0)
bset #4,$38(a0)
- move.b #mus_HPZ,(Level_music+1).w
+ move.b #mus_LRZ2,(Current_music+1).w
jsr (Create_New_Sprite).l
bne.s locret_6434E
move.l #Obj_Song_Fade_Transition,(a1)
- move.b #mus_HPZ,$2C(a1)
+ move.b #mus_LRZ2,$2C(a1)
locret_6434E:
rts
@@ -132666,8 +132162,8 @@ loc_64356:
add.w d1,$14(a0)
move.b #$1A,5(a0)
move.l #loc_643A4,$34(a0)
- moveq #sfx_DoorMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorMove),d0
+ jsr (Play_SFX).l
lea byte_6680A(pc),a1
jsr (Set_Raw_Animation).l
lea (ArtKosM_HPZKnuxDizzy).l,a1
@@ -132679,8 +132175,8 @@ loc_6438A:
move.b (V_int_run_count+3).w,d0
andi.b #$1F,d0
bne.s loc_6439C
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
loc_6439C:
subq.w #1,$2E(a0)
@@ -132796,7 +132292,7 @@ loc_644DA:
move.l #Obj_DecLevStartYGradual,(a1)
loc_644E8:
- move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
+ move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_644FC
move.l #Obj_IncLevEndYGradual,(a1)
@@ -132833,8 +132329,8 @@ loc_6453C:
move.b #-$66,$22(a0)
move.w #$C0,$18(a0)
move.w #-$600,$1A(a0)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
lea byte_667C1(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -132869,8 +132365,8 @@ loc_645B0:
move.b #$2A,5(a0)
move.w #-$C0,$18(a0)
move.w #-$500,$1A(a0)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
lea byte_667C1(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -132954,8 +132450,8 @@ loc_646B8:
move.b #-$66,$22(a0)
move.w #$300,$18(a0)
move.w #-$500,$1A(a0)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
lea byte_667C1(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -132982,8 +132478,8 @@ loc_6471A:
move.b #-$66,$22(a0)
move.w #-$200,$18(a0)
move.w #-$200,$1A(a0)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
lea byte_667C1(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -133035,8 +132531,8 @@ word_647E4: dc.w $FFF0, $60, 0, $10
loc_647EC:
move.b #$38,5(a0)
move.w #-$600,$1A(a0)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
lea byte_667C1(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -133075,8 +132571,8 @@ loc_6485A:
move.b d0,$22(a0)
andi.b #3,d1
beq.s loc_6486C
- moveq #sfx_GravityMachine,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GravityMachine),d0
+ jsr (Play_SFX).l
loc_6486C:
bra.s loc_64812
@@ -133148,9 +132644,9 @@ loc_648FA:
clr.b (Scroll_lock).w
move.w #$5C0,d0
move.w d0,(Camera_target_max_Y_pos).w
- move.w d0,(Target_camera_max_Y_pos).w
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ move.w d0,(Camera_stored_max_Y_pos).w
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s loc_6492C
move.l #Obj_IncLevEndYGradual,(a1)
@@ -133267,8 +132763,8 @@ loc_64A6E:
cmpi.b #6,$23(a0)
bne.w locret_64A8C
st (_unkFAA2).w
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
locret_64A8C:
rts
@@ -133322,7 +132818,7 @@ loc_64B22:
bclr #0,4(a0)
move.w #$161C,$10(a0)
move.w #$62C,$14(a0)
- move.w #$1520,(Target_camera_min_X_pos).w
+ move.w #$1520,(Camera_stored_min_X_pos).w
jsr (Create_New_Sprite).l
bne.s loc_64B60
move.l #Obj_DecLevStartXGradual,(a1)
@@ -133347,8 +132843,8 @@ loc_64B80:
move.b #-$66,$22(a0)
move.w #-$1E0,$18(a0)
move.w #-$600,$1A(a0)
- moveq #sfx_Jump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Jump),d0
+ jsr (Play_SFX).l
lea byte_667C1(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -133389,7 +132885,7 @@ loc_64C24:
jsr (SetUp_ObjAttributes).l
movea.w $46(a0),a1
btst #0,$38(a1)
- bne.w loc_62158
+ bne.w CutsceneKnux_Delete
move.w $10(a1),$10(a0)
move.w $14(a1),$14(a0)
bclr #0,4(a0)
@@ -133758,8 +133254,8 @@ loc_650A6:
move.l #loc_650D4,(a0)
move.b #2,$22(a0)
move.w #$14,(Screen_shake_flag).w
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
lea ChildObjDat_6661E(pc),a2
jsr (CreateChild6_Simple).l
lea ChildObjDat_66638(pc),a2
@@ -134336,7 +133832,7 @@ loc_65692:
rts
; ---------------------------------------------------------------------------
-Obj_B1_2:
+Obj_HPZPaletteControl:
move.w $3A(a0),d0
moveq #0,d1
cmpi.w #$460,(Camera_X_pos).w
@@ -134376,7 +133872,7 @@ CutsceneKnux_SSZ:
loc_65702:
move.l #Map_SSZKnucklesTired,$C(a0)
- lea DPLCPtr_6668A(pc),a2
+ lea DPLCPtr_SSZKnucklesTired(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -134405,7 +133901,7 @@ loc_65730:
loc_6574E:
move.l (a1)+,(a2)+
dbf d6,loc_6574E
- lea Pal_CutsceneKnux1(pc),a1
+ lea Pal_CutsceneKnux(pc),a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
@@ -134440,8 +133936,8 @@ loc_657C4:
; ---------------------------------------------------------------------------
loc_657CE:
- moveq #sfx_DeathEggRiseQuiet,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_DeathEggRiseQuiet),d0
+ jsr (Play_SFX_Continuous).l
subq.w #1,$2E(a0)
bpl.w locret_6206C
move.b #8,5(a0)
@@ -134453,8 +133949,8 @@ loc_657CE:
; ---------------------------------------------------------------------------
loc_657FE:
- moveq #sfx_DeathEggRiseQuiet,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_DeathEggRiseQuiet),d0
+ jsr (Play_SFX_Continuous).l
btst #1,(_unkFAB8).w
bne.s loc_65814
jmp (Animate_RawMultiDelay).l
@@ -134536,8 +134032,8 @@ loc_658F2:
bset #6,$38(a0)
move.b #1,$22(a0)
st (Events_bg+$08).w
- moveq #sfx_Switch,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Switch),d0
+ jsr (Play_SFX).l
lea byte_6671F(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -134573,7 +134069,7 @@ loc_65998:
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
-Obj_AF_2:
+Obj_SSZCutsceneButton:
lea ObjDat3_6649E(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_659C6,(a0)
@@ -134652,7 +134148,7 @@ loc_65A8C:
move.w off_65AB0(pc,d0.w),d1
jsr off_65AB0(pc,d1.w)
jsr (MoveSprite_SSZBGAdjust).l
- lea DPLCPtr_66692(pc),a2
+ lea DPLCPtr_SSZDeathEggCloud(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -134751,9 +134247,9 @@ loc_65BC2:
jmp (Sprite_CheckDeleteXY).l
; ---------------------------------------------------------------------------
-Obj_83:
+Obj_CutsceneButton:
cmpi.b #2,(Player_1+character_id).w
- beq.w loc_62158
+ beq.w CutsceneKnux_Delete
lea ObjDat3_66402(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_65C04,(a0)
@@ -134790,7 +134286,6 @@ off_65C40: dc.w loc_65C56-off_65C40
dc.w loc_65C78-off_65C40
dc.w loc_65CAC-off_65C40
word_65C48: dc.w $FFE8, $30, $FFE8, $30
-
; ---------------------------------------------------------------------------
loc_65C50:
@@ -134800,7 +134295,7 @@ loc_65C50:
loc_65C56:
clr.b (Ctrl_1_locked).w
move.w #$1000,d0
- move.w d0,(Target_camera_max_Y_pos).w
+ move.w d0,(Camera_stored_max_Y_pos).w
move.w d0,(Camera_target_max_Y_pos).w
lea (Child6_IncLevY).l,a2
jmp (CreateChild6_Simple).l
@@ -134818,8 +134313,8 @@ loc_65C78:
move.w d0,(Mean_water_level).w
move.w #$350,(Target_water_level).w
st (_unkFAA3).w
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s locret_65CAA
move.l #loc_62480,(a1)
@@ -134842,7 +134337,7 @@ loc_65CAC:
move.b #-$78,(a1)
jsr (Create_New_Sprite).l
bne.s loc_65CF4
- move.l #Obj_48_1,(a1)
+ move.l #Obj_CNZVacuumTube,(a1)
move.w #$4740,$10(a1)
move.w #$828,$14(a1)
move.b #$4C,$2C(a1)
@@ -134850,7 +134345,7 @@ loc_65CAC:
loc_65CF4:
jsr (Create_New_Sprite).l
bne.s locret_65D14
- move.l #Obj_48_1,(a1)
+ move.l #Obj_CNZVacuumTube,(a1)
move.w #$4740,$10(a1)
move.w #$A28,$14(a1)
move.b #$20,$2C(a1)
@@ -134859,7 +134354,7 @@ locret_65D14:
rts
; ---------------------------------------------------------------------------
-Obj_88:
+Obj_CNZWaterLevelCorkFloor:
jsr (Obj_WaitOffscreen).l
move.l #loc_65D46,(a0)
jsr (Create_New_Sprite3).l
@@ -134887,7 +134382,7 @@ loc_65D68:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_89:
+Obj_CNZWaterLevelButton:
lea ObjDat3_66402(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_65D8C,(a0)
@@ -134907,8 +134402,8 @@ loc_65D8C:
beq.s loc_65DD0
clr.b (_unkFAA3).w
move.w #$A58,(Target_water_level).w
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s loc_65DD0
move.l #loc_62480,(a1)
@@ -135207,8 +134702,8 @@ sub_66054:
move.b (V_int_run_count+3).w,d0
andi.w #$1F,d0
bne.w locret_6206C
- moveq #sfx_MissileShoot,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileShoot),d0
+ jsr (Play_SFX).l
lea ChildObjDat_665F0(pc),a2
jmp (CreateChild6_Simple).l
; End of function sub_66054
@@ -135316,11 +134811,11 @@ loc_66134:
loc_66146:
movea.l 8(a3),a4
jmp (a4)
-; End of function sub_660E2
-
; ---------------------------------------------------------------------------
movea.l $C(a3),a4
jmp (a4)
+; End of function sub_660E2
+
; ---------------------------------------------------------------------------
word_66152: dc.w $FFE8, $30, $FFE8, $30
@@ -135568,8 +135063,8 @@ sub_66348:
tst.b $20(a0)
bne.s loc_66364
move.b #$30,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_66364:
subq.b #1,$20(a0)
@@ -135590,8 +135085,8 @@ sub_66372:
tst.b $20(a0)
bne.s loc_66392
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_66392:
@@ -135671,14 +135166,14 @@ ObjDat3_6640E: dc.l Map_LBZKnuxBomb
dc.b 0
dc.b 0
ObjDat3_6641A: dc.l Map_LBZKnuxPillar
- dc.w $45A0
+ dc.w make_art_tile(ArtTile_Explosion,2,0)
dc.w $280
dc.b $10
dc.b $10
dc.b 0
dc.b 0
ObjDat3_66426: dc.l Map_LBZKnuxPillar
- dc.w $45A0
+ dc.w make_art_tile(ArtTile_Explosion,2,0)
dc.w $280
dc.b $10
dc.b $80
@@ -135868,46 +135363,60 @@ ObjDat3_6654E: dc.l Map_HPZKnuxDizzyStars
dc.b 4
dc.b 1
dc.b 0
-ChildObjDat_6655A:dc.w 0
+ChildObjDat_6655A:
+ dc.w 0
dc.l loc_620EA
-ChildObjDat_66560:dc.w 0
+ChildObjDat_66560:
+ dc.w 0
dc.l loc_62458
dc.w $E094
-ChildObjDat_66568:dc.w 2
+ChildObjDat_66568:
+ dc.w 2
dc.l Obj_DecLevStartYGradual
dc.w 0
dc.l Obj_DecLevStartXGradual
dc.w 0
dc.l Obj_IncLevEndXGradual
dc.w 0
-ChildObjDat_6657C:dc.w 0
+ChildObjDat_6657C:
+ dc.w 0
dc.l loc_627C6
dc.w $C000
-ChildObjDat_66584:dc.w 0
+ChildObjDat_66584:
+ dc.w 0
dc.l loc_6282A
dc.w $F8F0
-ChildObjDat_6658C:dc.w 3
+ChildObjDat_6658C:
+ dc.w 3
dc.l loc_6285A
-ChildObjDat_66592:dc.w 3
+ChildObjDat_66592:
+ dc.w 3
dc.l loc_629CE
dc.b 2
dc.b $24
-ChildObjDat_6659A:dc.w 0
+ChildObjDat_6659A:
+ dc.w 0
dc.l loc_61F60
dc.w $18
-ChildObjDat_665A2:dc.w 0
- dc.l Obj_83
+ChildObjDat_665A2:
+ dc.w 0
+ dc.l Obj_CutsceneButton
dc.w $C
-ChildObjDat_665AA:dc.w 0
+ChildObjDat_665AA:
+ dc.w 0
dc.l Obj_CutsceneKnuckles
-ChildObjDat_665B0:dc.w 0
+ChildObjDat_665B0:
+ dc.w 0
dc.l loc_62F72
-ChildObjDat_665B6:dc.w 0
+ChildObjDat_665B6:
+ dc.w 0
dc.l loc_6300C
-ChildObjDat_665BC:dc.w 0
+ChildObjDat_665BC:
+ dc.w 0
dc.l loc_632CA
dc.w $F800
-ChildObjDat_665C4:dc.w 6
+ChildObjDat_665C4:
+ dc.w 6
dc.l loc_65B0E
dc.w 0
dc.l loc_65A8C
@@ -135922,59 +135431,83 @@ ChildObjDat_665C4:dc.w 6
dc.w $101D
dc.l loc_65B42
dc.w $281D
-ChildObjDat_665F0:dc.w 0
+ChildObjDat_665F0:
+ dc.w 0
dc.l loc_65B70
-ChildObjDat_665F6:dc.w 0
+ChildObjDat_665F6:
+ dc.w 0
dc.l loc_659CC
-ChildObjDat_665FC:dc.w 0
+ChildObjDat_665FC:
+ dc.w 0
dc.l loc_64C24
-ChildObjDat_66602:dc.w $F
+ChildObjDat_66602:
+ dc.w $F
dc.l loc_652A2
-ChildObjDat_66608:dc.w 0
+ChildObjDat_66608:
+ dc.w 0
dc.l loc_6502E
dc.w $23
-ChildObjDat_66610:dc.w 1
+ChildObjDat_66610:
+ dc.w 1
dc.l loc_65138
dc.w 0
dc.l loc_6515E
dc.w $D0
-ChildObjDat_6661E:dc.w $E
+ChildObjDat_6661E:
+ dc.w $E
dc.l loc_6518A
-ChildSpriteDat_66624:dc.w 1
+ChildSpriteDat_66624:
+ dc.w 1
dc.l loc_6531E
dc.w $8FC
-ChildObjDat3_6662C:dc.w 9
+ChildObjDat3_6662C:
+ dc.w 9
dc.l loc_65376
-ChildObjDat3_66632:dc.w 9
+ChildObjDat3_66632:
+ dc.w 9
dc.l loc_65360
-ChildObjDat_66638:dc.w 4
+ChildObjDat_66638:
+ dc.w 4
dc.l loc_65226
-ChildObjDat_6663E:dc.w 0
+ChildObjDat_6663E:
+ dc.w 0
dc.l loc_655B2
-ChildObjDat_66644:dc.w 0
+ChildObjDat_66644:
+ dc.w 0
dc.l loc_6563A
-ChildObjDat_6664A:dc.w $1F
+ChildObjDat_6664A:
+ dc.w $1F
dc.l loc_65602
-ChildObjDat_66650:dc.w 9
+ChildObjDat_66650:
+ dc.w 9
dc.l loc_6395C
-ChildObjDat_66656:dc.w 7
+ChildObjDat_66656:
+ dc.w 7
dc.l loc_63694
-ChildObjDat_6665C:dc.w 0
+ChildObjDat_6665C:
+ dc.w 0
dc.l loc_638DC
dc.w $EC
-ChildObjDat_66664:dc.w 0
+ChildObjDat_66664:
+ dc.w 0
dc.l loc_63916
-DPLCPtr_6666A: dc.l ArtUnc_CutsceneKnux
+DPLCPtr_CutsceneKnux:
+ dc.l ArtUnc_CutsceneKnux
dc.l DPLC_CutsceneKnux
-DPLCPtr_66672: dc.l ArtUnc_MHZKnuxPress
+DPLCPtr_MHZKnuxPress:
+ dc.l ArtUnc_MHZKnuxPress
dc.l DPLC_MHZKnuxPress
-DPLCPtr_6667A: dc.l ArtUnc_KnuxIntroLay
+DPLCPtr_KnuxIntroLay:
+ dc.l ArtUnc_KnuxIntroLay
dc.l DPLC_KnuxIntroLay
-DPLCPtr_66682: dc.l ArtUnc_HPZKnucklesGrab
+DPLCPtr_HPZKnucklesGrab:
+ dc.l ArtUnc_HPZKnucklesGrab
dc.l DPLC_HPZKnucklesGrab
-DPLCPtr_6668A: dc.l ArtUnc_SSZKnucklesTired
+DPLCPtr_SSZKnucklesTired:
+ dc.l ArtUnc_SSZKnucklesTired
dc.l DPLC_SSZKnucklesTired
-DPLCPtr_66692: dc.l ArtUnc_SSZDeathEggCloud
+DPLCPtr_SSZDeathEggCloud:
+ dc.l ArtUnc_SSZDeathEggCloud
dc.l DPLC_SSZDeathEggCloud
byte_6669A: dc.b 7
dc.b 1
@@ -136447,63 +135980,57 @@ byte_6690B: dc.b 5
dc.b 7
dc.b 8
dc.b $F4
-Pal_CutsceneKnux1: binclude "General/Sprites/Knuckles/Cutscene/Pal.bin"
- even
-
-
+Pal_CutsceneKnux:
+ binclude "General/Sprites/Knuckles/Cutscene/Pal.bin"
+ even
Pal_CNZFlash: binclude "Levels/CNZ/Palettes/Flash.bin"
- even
-
+ even
Pal_KnuxSSZEnd: binclude "General/Sprites/Knuckles/Palettes/SSZ End.bin"
- even
-
+ even
Pal_HPZ2_A: binclude "Levels/HPZ/Palettes/2_A.bin"
- even
-
+ even
Pal_HPZ2_B: binclude "Levels/HPZ/Palettes/2_B.bin"
- even
-
-Pal_SKIntroBomb: binclude "General/Sprites/Knuckles/Cutscene/Intro Bomb Pal.bin"
- even
-
-Map_MHZKnuxPeer: include "Levels/MHZ/Misc Object Data/Map - Knuckles Peering.asm"
-
-Map_MHZKnuxDoor: include "Levels/MHZ/Misc Object Data/Map - Knuckles Switch Door.asm"
-
-Map_MHZKnuxPullSwitch: include "General/Sprites/Knuckles/Cutscene/Map - MHZ2 Press.asm"
-
-DPLC_MHZKnuxPress: include "General/Sprites/Knuckles/Cutscene/DPLC - MHZ Press.asm"
-
-Map_MHZKnuxSwitch: include "Levels/MHZ/Misc Object Data/Map - Act 2 Knuckles Switch.asm"
-
-Map_MHZKnuxLeaves: include "Levels/MHZ/Misc Object Data/Map - Act 2 Knuckles Leaves.asm"
-
-Map_LRZKnuxBoulder: include "Levels/LRZ/Misc Object Data/Map - Knuckles Boulder.asm"
-
-Map_SSZKnucklesTired: include "General/Sprites/Knuckles/Cutscene/Map - SSZ Tired.asm"
-
-DPLC_SSZKnucklesTired: include "General/Sprites/Knuckles/Cutscene/DPLC - SSZ Tired.asm"
-
-Map_SSZDeathEggSmall: include "Levels/SSZ/Misc Object Data/Map - Death Egg Small.asm"
-
-Map_SSZDeathEggCloud: include "General/Sprites/SSZ Death Egg Cloud/Map - SSZ Death Egg Cloud.asm"
-
-DPLC_SSZDeathEggCloud: include "General/Sprites/SSZ Death Egg Cloud/DPLC - SSZ Death Egg Cloud.asm"
-
-Map_HPZKnucklesGrab: include "General/Sprites/Knuckles/Cutscene/Map - HPZ Grab.asm"
-
-DPLC_HPZKnucklesGrab: include "General/Sprites/Knuckles/Cutscene/DPLC - HPZ Grab.asm"
-
-Map_KnuxFinalBossCrane: include "General/Sprites/Robotnik/Map - Robotnik Ship Crane.asm"
-
-Map_HPZKnuxDizzyStars: include "Levels/HPZ/Misc Object Data/Map - Knuckles Dizzy Stars.asm"
-
-Map_KnuxIntroLay: include "General/Sprites/Knuckles/Cutscene/Map - Intro Laying.asm"
-
-DPLC_KnuxIntroLay: include "General/Sprites/Knuckles/Cutscene/DPLC - Intro Laying.asm"
-
-Map_KnuxIntroBomb: include "General/Sprites/Knuckles/Cutscene/Map - Intro Bomb.asm"
-
+ even
+Pal_SKIntroBomb:binclude "General/Sprites/Knuckles/Cutscene/Intro Bomb Pal.bin"
+ even
+Map_MHZKnuxPeer
+ include "Levels/MHZ/Misc Object Data/Map - Knuckles Peering.asm"
+Map_MHZKnuxDoor:
+ include "Levels/MHZ/Misc Object Data/Map - Knuckles Switch Door.asm"
+Map_MHZKnuxPullSwitch:
+ include "General/Sprites/Knuckles/Cutscene/Map - MHZ2 Press.asm"
+DPLC_MHZKnuxPress:
+ include "General/Sprites/Knuckles/Cutscene/DPLC - MHZ Press.asm"
+Map_MHZKnuxSwitch:
+ include "Levels/MHZ/Misc Object Data/Map - Act 2 Knuckles Switch.asm"
+Map_MHZKnuxLeaves:
+ include "Levels/MHZ/Misc Object Data/Map - Act 2 Knuckles Leaves.asm"
+Map_LRZKnuxBoulder:
+ include "Levels/LRZ/Misc Object Data/Map - Knuckles Boulder.asm"
+Map_SSZKnucklesTired:
+ include "General/Sprites/Knuckles/Cutscene/Map - SSZ Tired.asm"
+DPLC_SSZKnucklesTired:
+ include "General/Sprites/Knuckles/Cutscene/DPLC - SSZ Tired.asm"
+Map_SSZDeathEggSmall:
+ include "Levels/SSZ/Misc Object Data/Map - Death Egg Small.asm"
+Map_SSZDeathEggCloud:
+ include "General/Sprites/SSZ Death Egg Cloud/Map - SSZ Death Egg Cloud.asm"
+DPLC_SSZDeathEggCloud:
+ include "General/Sprites/SSZ Death Egg Cloud/DPLC - SSZ Death Egg Cloud.asm"
+Map_HPZKnucklesGrab:
+ include "General/Sprites/Knuckles/Cutscene/Map - HPZ Grab.asm"
+DPLC_HPZKnucklesGrab:
+ include "General/Sprites/Knuckles/Cutscene/DPLC - HPZ Grab.asm"
+Map_KnuxFinalBossCrane:
+ include "General/Sprites/Robotnik/Map - Robotnik Ship Crane.asm"
+Map_HPZKnuxDizzyStars:
+ include "Levels/HPZ/Misc Object Data/Map - Knuckles Dizzy Stars.asm"
+Map_KnuxIntroLay:
+ include "General/Sprites/Knuckles/Cutscene/Map - Intro Laying.asm"
+DPLC_KnuxIntroLay:
+ include "General/Sprites/Knuckles/Cutscene/DPLC - Intro Laying.asm"
+Map_KnuxIntroBomb:
+ include "General/Sprites/Knuckles/Cutscene/Map - Intro Bomb.asm"
; ---------------------------------------------------------------------------
Obj_AIZPlaneIntro:
@@ -136544,7 +136071,7 @@ loc_674AC:
move.w #$40,$2E(a0)
move.l #loc_6751A,$34(a0)
move.w #8,$40(a0)
- move.w #-$16E8,(Events_fg_1).w
+ move.w #$E918,(Events_fg_1).w
move.b #-1,(Player_prev_frame).w
lea (Player_1).w,a1
move.b #0,$22(a1)
@@ -136767,10 +136294,10 @@ loc_6777A:
move.b #$20,7(a0)
jsr Swing_Setup1(pc)
lea (ArtKosM_AIZIntroPlane).l,a1
- move.w #-$5AE0,d2
+ move.w #$A520,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_AIZIntroEmeralds).l,a1
- move.w #-$49E0,d2
+ move.w #$B620,d2
jsr (Queue_Kos_Module).l
lea ChildObjDat_67A62(pc),a2
jmp (CreateChild1_Normal).l
@@ -137002,20 +136529,25 @@ ObjDat3_67A4E: dc.l Map_AIZIntroEmeralds
dc.b 4
dc.b 1
dc.b 0
-ChildObjDat_67A5A:dc.w 0
+ChildObjDat_67A5A:
+ dc.w 0
dc.l loc_6777A
dc.w $DE2C
-ChildObjDat_67A62:dc.w 1
+ChildObjDat_67A62:
+ dc.w 1
dc.l loc_67824
dc.w $3804
dc.l loc_67862
dc.w $1818
-ChildObjDat_67A70:dc.w 0
+ChildObjDat_67A70:
+ dc.w 0
dc.l loc_678A0
dc.w $18
-ChildObjDat_67A78:dc.w 0
+ChildObjDat_67A78:
+ dc.w 0
dc.l Obj_CutsceneKnuckles
-ChildObjDat_67A7E:dc.w 6
+ChildObjDat_67A7E:
+ dc.w 6
dc.l loc_67900
byte_67A84: dc.b 3, 8
dc.b $97, $96
@@ -137050,9 +136582,9 @@ byte_67A9B: dc.b 0
dc.b 5
dc.b 1
dc.b $F4
-Pal_AIZIntroEmeralds: binclude "Levels/AIZ/Palettes/Intro Emeralds.bin"
- even
-
+Pal_AIZIntroEmeralds:
+ binclude "Levels/AIZ/Palettes/Intro Emeralds.bin"
+ even
; ---------------------------------------------------------------------------
Obj_RobotnikHead:
@@ -137063,7 +136595,8 @@ Obj_RobotnikHead:
jsr RobotnikHead_Index(pc,d1.w)
jmp (Child_Draw_Sprite2).l
; ---------------------------------------------------------------------------
-RobotnikHead_Index: dc.w Obj_RobotnikHeadInit-RobotnikHead_Index
+RobotnikHead_Index:
+ dc.w Obj_RobotnikHeadInit-RobotnikHead_Index
dc.w Obj_RobotnikHeadMain-RobotnikHead_Index
dc.w Obj_RobotnikHeadEnd-RobotnikHead_Index
; ---------------------------------------------------------------------------
@@ -137127,7 +136660,8 @@ Obj_RobotnikHead2:
bne.w Obj_RobotnikHeadEnd
jmp (Child_Draw_Sprite2).l
; ---------------------------------------------------------------------------
-RobotnikHead2_Index: dc.w Obj_RobotnikHeadInit-RobotnikHead2_Index
+RobotnikHead2_Index:
+ dc.w Obj_RobotnikHeadInit-RobotnikHead2_Index
dc.w Obj_RobotnikHeadMain-RobotnikHead2_Index
dc.w Obj_RobotnikHeadEnd-RobotnikHead2_Index
; ---------------------------------------------------------------------------
@@ -137141,7 +136675,8 @@ Obj_FBZRobotnikHead:
jsr (Child_GetPriority).l
jmp (Child_Draw_Sprite2).l
; ---------------------------------------------------------------------------
-FBZRobotnikHead_Index: dc.w Obj_FBZRobotnikHeadInit-FBZRobotnikHead_Index
+FBZRobotnikHead_Index:
+ dc.w Obj_FBZRobotnikHeadInit-FBZRobotnikHead_Index
dc.w Obj_FBZRobotnikHeadMain-FBZRobotnikHead_Index
dc.w Obj_RobotnikHeadEnd-FBZRobotnikHead_Index
; ---------------------------------------------------------------------------
@@ -137196,7 +136731,8 @@ Obj_RobotnikHead3:
jsr RobotnikHead3_Index(pc,d1.w)
jmp (Child_Draw_Sprite2).l
; ---------------------------------------------------------------------------
-RobotnikHead3_Index: dc.w Obj_RobotnikHead3Init-RobotnikHead3_Index
+RobotnikHead3_Index:
+ dc.w Obj_RobotnikHead3Init-RobotnikHead3_Index
dc.w Obj_RobotnikHead3Main-RobotnikHead3_Index
dc.w Obj_RobotnikHead3End-RobotnikHead3_Index
; ---------------------------------------------------------------------------
@@ -137262,7 +136798,8 @@ Obj_RobotnikHead4:
loc_67CFE:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikHead4_Index: dc.w Obj_RobotnikHead3Init-RobotnikHead4_Index
+RobotnikHead4_Index:
+ dc.w Obj_RobotnikHead3Init-RobotnikHead4_Index
dc.w Obj_RobotnikHead3Main-RobotnikHead4_Index
dc.w Obj_RobotnikHead3End-RobotnikHead4_Index
; ---------------------------------------------------------------------------
@@ -137296,7 +136833,8 @@ Obj_RobotnikShip:
bne.w Obj_RobotnikHeadEnd
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikShip_Index: dc.w loc_67D68-RobotnikShip_Index
+RobotnikShip_Index:
+ dc.w loc_67D68-RobotnikShip_Index
dc.w loc_67D84-RobotnikShip_Index
dc.w loc_67DD8-RobotnikShip_Index
dc.w loc_67E0A-RobotnikShip_Index
@@ -137378,7 +136916,8 @@ Obj_RobotnikShip2:
jsr RobotnikShip2_Index(pc,d1.w)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikShip2_Index: dc.w Obj_RobotnikShipInit-RobotnikShip2_Index
+RobotnikShip2_Index:
+ dc.w Obj_RobotnikShipInit-RobotnikShip2_Index
dc.w Obj_RobotnikShipMain-RobotnikShip2_Index
dc.w Obj_RobotnikShip2Wait-RobotnikShip2_Index
dc.w Obj_RobotnikShipReady-RobotnikShip2_Index
@@ -137408,7 +136947,8 @@ Obj_RobotnikShip3:
bne.s loc_67E8C
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikShip3_Index: dc.w Obj_RobotnikShipInit-RobotnikShip3_Index
+RobotnikShip3_Index:
+ dc.w Obj_RobotnikShipInit-RobotnikShip3_Index
dc.w Obj_RobotnikShipMain-RobotnikShip3_Index
dc.w Obj_RobotnikShipWait-RobotnikShip3_Index
dc.w Obj_RobotnikShipReady-RobotnikShip3_Index
@@ -137501,7 +137041,8 @@ Obj_RobotnikShip4:
jsr RobotnikShip4_Index(pc,d1.w)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-RobotnikShip4_Index: dc.w Obj_RobotnikShipInit-RobotnikShip4_Index
+RobotnikShip4_Index:
+ dc.w Obj_RobotnikShipInit-RobotnikShip4_Index
dc.w Obj_RobotnikShipMain-RobotnikShip4_Index
dc.w Obj_RobotnikShipWait-RobotnikShip4_Index
dc.w Obj_RobotnikShipReady-RobotnikShip4_Index
@@ -137515,7 +137056,8 @@ Obj_FBZRobotnikShip:
jsr FBZRobotnikShip_Index(pc,d1.w)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-FBZRobotnikShip_Index: dc.w Obj_FBZRobotnikShipInit-FBZRobotnikShip_Index
+FBZRobotnikShip_Index:
+ dc.w Obj_FBZRobotnikShipInit-FBZRobotnikShip_Index
dc.w Obj_FBZRobotnikShipMain-FBZRobotnikShip_Index
dc.w Obj_FBZRobotnikShipWait-FBZRobotnikShip_Index
dc.w Obj_FBZRobotnikShipFall-FBZRobotnikShip_Index
@@ -137652,52 +137194,62 @@ loc_68118:
jsr (Animate_RawNoSST).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-ObjDat_RobotnikHead: dc.l Map_RobotnikShip
+ObjDat_RobotnikHead:
+ dc.l Map_RobotnikShip
dc.w $52E
dc.w $280
dc.b $10
dc.b 8
dc.b 0
dc.b 0
-ObjDat_FBZRobotnikHead: dc.l Map_FBZRobotnikHead
+ObjDat_FBZRobotnikHead:
+ dc.l Map_FBZRobotnikHead
dc.w $430
dc.w $280
dc.b $10
dc.b 8
dc.b 0
dc.b 0
-ObjDat_RobotnikShip: dc.l Map_RobotnikShip
+ObjDat_RobotnikShip:
+ dc.l Map_RobotnikShip
dc.w $52E
dc.w $280
dc.b $1C
dc.b $20
dc.b 8
dc.b 0
-ObjDat2_RoboShipFlame: dc.w $280
+ObjDat2_RoboShipFlame:
+ dc.w $280
dc.b 8
dc.b 4
dc.b 6
dc.b 0
-ObjDat_MechaSonicHead: dc.l Map_MechaSonicHead
+ObjDat_MechaSonicHead:
+ dc.l Map_MechaSonicHead
dc.w $252E
dc.w $280
dc.b $14
dc.b $10
dc.b 0
dc.b 0
-Child1_MakeRoboHead:dc.w 0
+Child1_MakeRoboHead:
+ dc.w 0
dc.l Obj_RobotnikHead
dc.w $E4
-Child1_MakeRoboHead2:dc.w 0
+Child1_MakeRoboHead2:
+ dc.w 0
dc.l Obj_RobotnikHead2
dc.w $E4
-Child1_MakeFBZRoboHead:dc.w 0
+Child1_MakeFBZRoboHead:
+ dc.w 0
dc.l Obj_FBZRobotnikHead
dc.w $E4
-Child1_MakeRoboHead3:dc.w 0
+Child1_MakeRoboHead3:
+ dc.w 0
dc.l Obj_RobotnikHead3
dc.w $E4
-Child1_MakeRoboHead4:dc.w 0
+Child1_MakeRoboHead4:
+ dc.w 0
dc.l Obj_RobotnikHead4
dc.w $E4
word_6818C: dc.w 0
@@ -137706,47 +137258,49 @@ word_6818C: dc.w 0
dc.w 0
dc.l Obj_RobotnikShip2
dc.w 0
-Child1_MakeRoboShip3:dc.w 0
+Child1_MakeRoboShip3:
+ dc.w 0
dc.l Obj_RobotnikShip3
dc.w $FA04
-ChildObjDat_681A4:dc.w 0
+ChildObjDat_681A4:
+ dc.w 0
dc.l Obj_RobotnikShip4
dc.w $F8
-ChildObjDat_681AC:dc.w 0
+ChildObjDat_681AC:
+ dc.w 0
dc.l Obj_FBZRobotnikShip
dc.w 4
-Child1_MakeRoboShipFlame:dc.w 0
+Child1_MakeRoboShipFlame:
+ dc.w 0
dc.l Obj_RobotnikShipFlame
dc.w $1E00
-Child1_MakeMechaHead:dc.w 0
+Child1_MakeMechaHead:
+ dc.w 0
dc.l Obj_MechaSonicHead
dc.w $E0
-Child1_BlueSphereShipHead:dc.w 0
+Child1_BlueSphereShipHead:
+ dc.w 0
dc.l Obj_BlueSphere_ShipHead
dc.w $E4
-AniRaw_RobotnikHead: dc.b 5
- dc.b 0
- dc.b 1
- dc.b $FC
-AniRaw_EggRoboHead: dc.b $F
- dc.b 0
- dc.b 1
- dc.b $FC
-Map_EggRoboHead: include "General/Sprites/Robotnik/Map - Egg Robo Head.asm"
-
-Map_MechaSonicHead: include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Head.asm"
-
-Map_RobotnikShip: include "General/Sprites/Robotnik/Map - Robotnik Ship.asm"
-
-Map_FBZRobotnikRun: include "Levels/FBZ/Misc Object Data/Map - Robotnik Run.asm"
-
-Map_FBZRobotnikHead: include "Levels/FBZ/Misc Object Data/Map - Robotnik Head.asm"
-
-Map_FBZRobotnikStand: include "Levels/FBZ/Misc Object Data/Map - Robotnik Stand.asm"
-
-; ---------------------------------------------------------------------------
-
-Obj_AIZ_Miniboss_Cutscene:
+AniRaw_RobotnikHead:
+ dc.b 5, 0, 1, $FC
+AniRaw_EggRoboHead:
+ dc.b $F, 0, 1, $FC
+Map_EggRoboHead:
+ include "General/Sprites/Robotnik/Map - Egg Robo Head.asm"
+Map_MechaSonicHead:
+ include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Head.asm"
+Map_RobotnikShip:
+ include "General/Sprites/Robotnik/Map - Robotnik Ship.asm"
+Map_FBZRobotnikRun:
+ include "Levels/FBZ/Misc Object Data/Map - Robotnik Run.asm"
+Map_FBZRobotnikHead:
+ include "Levels/FBZ/Misc Object Data/Map - Robotnik Head.asm"
+Map_FBZRobotnikStand:
+ include "Levels/FBZ/Misc Object Data/Map - Robotnik Stand.asm"
+; ---------------------------------------------------------------------------
+
+Obj_AIZMinibossCutscene:
moveq #0,d0
move.b 5(a0),d0
move.w off_684FE(pc,d0.w),d1
@@ -137764,7 +137318,7 @@ loc_68508:
lea ObjDat3_68FFE(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #$60,$29(a0)
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.b #1,(Boss_flag).w
moveq #$5A,d0
jmp (Load_PLC).l
@@ -137790,8 +137344,8 @@ loc_68556:
move.w #$B4,$2E(a0)
move.w d5,(Camera_min_X_pos).w
move.w d5,(Camera_max_X_pos).w
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
locret_68572:
rts
@@ -137815,9 +137369,9 @@ loc_6857A:
sub_6859C:
move.w #$100,$1A(a0)
move.w #$AF,$2E(a0)
- moveq #mus_Miniboss,d0
- jsr (Play_Sound).l
- move.b #mus_Miniboss,(Level_music+1).w
+ moveq #signextendB(mus_Miniboss),d0
+ jsr (Play_Music).l
+ move.b #mus_Miniboss,(Current_music+1).w
rts
; End of function sub_6859C
@@ -137861,8 +137415,8 @@ loc_685FC:
loc_68616:
move.w #$40,$2E(a0)
- moveq #sfx_FlamethrowerQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerQuiet),d0
+ jsr (Play_SFX).l
lea Child1_AIZ_MinibossFlames(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -137879,8 +137433,8 @@ loc_68646:
lea Pal_AIZMiniboss(pc),a1
jsr (PalLoad_Line1).l
move.b #$F,$28(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$400,$18(a0)
clr.w $1A(a0)
move.w #$40,$2E(a0)
@@ -137903,7 +137457,7 @@ loc_68690:
loc_686A2:
clr.b (Boss_flag).w
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
lea (PLC_Monitors).l,a1
jsr (Load_PLC_Raw).l
jmp (Go_Delete_Sprite_2).l
@@ -138070,8 +137624,8 @@ off_68852: dc.w sub_6885A-off_68852
sub_6885A:
lea word_6902A(pc),a1
jsr (SetUp_ObjAttributes2).l
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
move.l #byte_6914C,$30(a0)
move.l #loc_6889A,$34(a0)
move.w #-$400,$1A(a0)
@@ -138093,8 +137647,8 @@ loc_6889A:
loc_688B0:
move.b #6,5(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
move.w #$80,8(a0)
bset #1,4(a0)
move.l #Go_Delete_Sprite,$34(a0)
@@ -138157,7 +137711,7 @@ loc_68956:
loc_68962:
move.l #Map_BossExplosion,$C(a0)
- move.w #-$7B2E,$A(a0)
+ move.w #$84D2,$A(a0)
move.l #byte_69164,$30(a0)
move.l #Go_Delete_Sprite,$34(a0)
cmpi.b #6,$2C(a0)
@@ -138225,7 +137779,7 @@ word_68A18: dc.w 0
dc.w 8
; ---------------------------------------------------------------------------
-Obj_AIZ_Miniboss:
+Obj_AIZMiniboss:
moveq #0,d0
move.b 5(a0),d0
move.w off_68A36(pc,d0.w),d1
@@ -138305,8 +137859,8 @@ loc_68ADE:
loc_68AFE:
move.b #$A,5(a0)
move.b #8,$39(a0)
- moveq #sfx_FlamethrowerQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FlamethrowerQuiet),d0
+ jsr (Play_SFX).l
lea Child1_AIZ_MinibossFlames(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -138525,8 +138079,8 @@ loc_68D5E:
; ---------------------------------------------------------------------------
loc_68D70:
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
lea ChildObjDat_690D8(pc),a2
jsr (CreateChild1_Normal).l
jmp (Go_Delete_Sprite).l
@@ -138773,8 +138327,8 @@ loc_68F62:
tst.b $20(a0)
bne.s loc_68F88
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_68F88:
@@ -138877,39 +138431,46 @@ word_69056: dc.w $200
dc.b $14
dc.b 0
dc.b 0
-ChildObjDat_6905C:dc.w 1
+ChildObjDat_6905C:
+ dc.w 1
dc.l loc_686BE
dc.w $20
dc.l loc_6870A
dc.w $DC08
-ChildObjDat_6906A:dc.w 5
+ChildObjDat_6906A:
+ dc.w 5
dc.l loc_68DFA
dc.w 0
-ChildObjDat_69072:dc.w 2
+ChildObjDat_69072:
+ dc.w 2
dc.l loc_6872C
dc.w $E0
dc.l loc_6872C
dc.w $9E4
dc.l loc_6872C
dc.w $12E8
-ChildObjDat_69086:dc.w 2
+ChildObjDat_69086:
+ dc.w 2
dc.l loc_68C12
dc.w $E0
dc.l loc_68C12
dc.w $9E4
dc.l loc_68C12
dc.w $12E8
-ChildObjDat_6909A:dc.w 1
+ChildObjDat_6909A:
+ dc.w 1
dc.l loc_6880A
dc.w 4
dc.l loc_68844
dc.w 4
-ChildObjDat_690A8:dc.w 1
+ChildObjDat_690A8:
+ dc.w 1
dc.l loc_6880A
dc.w 4
dc.l loc_68C96
dc.w 4
-Child1_AIZ_MinibossFlames:dc.w 3
+Child1_AIZ_MinibossFlames:
+ dc.w 3
dc.l Obj_AIZMiniboss_Flame
dc.w $9C04
dc.l Obj_AIZMiniboss_Flame
@@ -138918,10 +138479,12 @@ Child1_AIZ_MinibossFlames:dc.w 3
dc.w $BC04
dc.l Obj_AIZMiniboss_Flame
dc.w $D403
-ChildObjDat_690D0:dc.w 0
+ChildObjDat_690D0:
+ dc.w 0
dc.l loc_68994
dc.w 0
-ChildObjDat_690D8:dc.w 6
+ChildObjDat_690D8:
+ dc.w 6
dc.l loc_68D88
dc.w $DC
dc.l loc_68D88
@@ -138936,10 +138499,12 @@ ChildObjDat_690D8:dc.w 6
dc.w $4FC
dc.l loc_68D88
dc.w $FCFC
-ChildObjDat_69104:dc.w 0
+ChildObjDat_69104:
+ dc.w 0
dc.l Obj_BossExplosionSpecial
dc.w 0
-ChildObjDat_6910C:dc.w 3
+ChildObjDat_6910C:
+ dc.w 3
dc.l loc_68E98
dc.w $F0F8
dc.l loc_68E98
@@ -139034,11 +138599,9 @@ byte_6916F: dc.b 0
dc.b 4
dc.b 4
dc.b $F4
-Pal_AIZMiniboss: binclude "Levels/AIZ/Palettes/Miniboss.bin"
- even
-
-
-AIZBossSonicDat: dc.w $4880
+Pal_AIZMiniboss:binclude "Levels/AIZ/Palettes/Miniboss.bin"
+ even
+AIZBossSonicDat:dc.w $4880
dc.w $48E0
dc.w $15A
AIZBossKnuxDat: dc.w $4100
@@ -139046,8 +138609,8 @@ AIZBossKnuxDat: dc.w $4100
dc.w $5DA
; ---------------------------------------------------------------------------
-Obj_AIZ_EndBoss:
- move.l #Obj_AIZ_EndBossWait,(a0)
+Obj_AIZEndBoss:
+ move.l #Obj_AIZEndBossWait,(a0)
lea AIZBossSonicDat(pc),a1
cmpi.b #2,(Player_1+character_id).w
bne.s loc_691BE
@@ -139059,7 +138622,7 @@ loc_691BE:
move.w (a1)+,(a2)+
move.w (a1)+,(a2)+ ; Load relative positional data depending on the character
-Obj_AIZ_EndBossWait:
+Obj_AIZEndBossWait:
move.w (_unkFA82).w,d0
cmp.w (Camera_X_pos).w,d0
bls.s loc_691D4 ; Only branch if Sonic has reached the boss area
@@ -139071,9 +138634,9 @@ loc_691D4:
move.w d0,(Camera_max_X_pos).w
move.l #Obj_Wait,(a0) ; Set up object to wait $78 frames
move.w #$78,$2E(a0)
- move.l #Obj_AIZ_EndBossMusic,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ move.l #Obj_AIZEndBossMusic,$34(a0)
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.b #1,(Boss_flag).w ; Lock the screen
clr.b (_unkFAA2).w
clr.b (_unkFAA3).w
@@ -139086,15 +138649,15 @@ loc_691D4:
jmp (PalLoad_Line1).l ; Load the AIZ boss palette
; ---------------------------------------------------------------------------
-Obj_AIZ_EndBossMusic:
- move.l #Obj_AIZ_EndBossMain,(a0)
- moveq #mus_EndBoss,d0 ; Play the boss music
- jsr (Play_Sound).l
- move.b #mus_EndBoss,(Level_music+1).w
+Obj_AIZEndBossMusic:
+ move.l #Obj_AIZEndBossMain,(a0)
+ moveq #signextendB(mus_EndBoss),d0 ; Play the boss music
+ jsr (Play_Music).l
+ move.b #mus_EndBoss,(Current_music+1).w
rts
; ---------------------------------------------------------------------------
-Obj_AIZ_EndBossMain:
+Obj_AIZEndBossMain:
moveq #0,d0
move.b 5(a0),d0
move.w AIZ_EndBossIndex(pc,d0.w),d1
@@ -139103,7 +138666,8 @@ Obj_AIZ_EndBossMain:
bne.w locret_69366 ; Only draw and touch when boss has revealed itself
jmp (Draw_And_Touch_Sprite).l
; ---------------------------------------------------------------------------
-AIZ_EndBossIndex: dc.w Obj_AIZ_EndBossInit-AIZ_EndBossIndex
+AIZ_EndBossIndex:
+ dc.w Obj_AIZEndBossInit-AIZ_EndBossIndex
dc.w loc_692E2-AIZ_EndBossIndex
dc.w loc_6932C-AIZ_EndBossIndex
dc.w loc_69368-AIZ_EndBossIndex
@@ -139113,7 +138677,7 @@ AIZ_EndBossIndex: dc.w Obj_AIZ_EndBossInit-AIZ_EndBossIndex
dc.w loc_6946A-AIZ_EndBossIndex
; ---------------------------------------------------------------------------
-Obj_AIZ_EndBossInit:
+Obj_AIZEndBossInit:
lea ObjDat_AIZEndBoss(pc),a1
jsr (SetUp_ObjAttributes).l
move.b #8,$29(a0) ; 8 hits defeats it
@@ -139129,8 +138693,8 @@ loc_69296:
loc_692A0:
move.b #2,5(a0)
- moveq #sfx_WaterfallSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaterfallSplash),d0
+ jsr (Play_SFX).l
ori.b #$48,$38(a0)
move.l #loc_69302,$34(a0)
clr.b $28(a0)
@@ -139220,7 +138784,7 @@ loc_693C0:
move.b #8,5(a0)
move.w #$3F,$2E(a0)
move.l #loc_693FA,$34(a0)
- andi.b #-$B,$38(a0)
+ andi.b #$F5,$38(a0)
rts
; ---------------------------------------------------------------------------
@@ -139238,8 +138802,8 @@ loc_693F0:
loc_693FA:
move.b #$A,5(a0)
- moveq #sfx_WaterfallSplash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaterfallSplash),d0
+ jsr (Play_SFX).l
move.l #loc_6942A,$34(a0)
clr.b $28(a0)
bsr.w sub_69C94
@@ -139313,7 +138877,7 @@ loc_694D4:
jsr (Restore_PlayerControl).l
lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
st (Ctrl_1_locked).w
clr.w (Ctrl_1_logical).w
jsr (Create_New_Sprite).l
@@ -139323,7 +138887,7 @@ loc_694D4:
loc_6950E:
move.w (_unkFA84).w,d0
addi.w #$158,d0
- move.w d0,(Target_camera_max_X_pos).w
+ move.w d0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -139398,7 +138962,7 @@ loc_695CE:
move.b #-$35,$22(a1)
jsr (Player_Load_PLC).l
move.w #$1000,d0
- move.w d0,(Target_camera_max_Y_pos).w
+ move.w d0,(Camera_stored_max_Y_pos).w
move.w d0,(Camera_target_max_Y_pos).w
lea (Child6_IncLevY).l,a2
jmp (CreateChild6_Simple).l
@@ -139668,8 +139232,8 @@ loc_698D2:
lea word_69CF2(pc),a1
jsr (SetUp_ObjAttributes3).l
bset #4,$2B(a0)
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
move.b #$C,$1E(a0)
move.w #$9F,$2E(a0)
move.l #loc_69908,(a0)
@@ -139948,8 +139512,8 @@ sub_69BE2:
tst.b $20(a0)
bne.s loc_69C02
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_69C02:
bset #6,$2A(a0)
@@ -140028,7 +139592,8 @@ loc_69CB2:
; End of function sub_69CA4
; ---------------------------------------------------------------------------
-ObjDat_AIZEndBoss: dc.l Map_AIZEndBoss
+ObjDat_AIZEndBoss:
+ dc.l Map_AIZEndBoss
dc.w $A180 ; VRAM
dc.w $280 ; Priority
dc.b $28 ; Width
@@ -140066,7 +139631,8 @@ word_69CFE: dc.w $8180
dc.b $30
dc.b $24
dc.b 0
-ObjDat_AIZEndBoss2: dc.l Map_AIZEndBoss
+ObjDat_AIZEndBoss2:
+ dc.l Map_AIZEndBoss
dc.w $8180
dc.w $100
dc.b $18
@@ -140078,36 +139644,46 @@ word_69D12: dc.w $180
dc.b $10
dc.b 0
dc.b 0
-ChildObjDat_69D18:dc.w 1
+ChildObjDat_69D18:
+ dc.w 1
dc.l loc_69622
dc.w $14FC
dc.l loc_69622
dc.w $ECFC
-ChildObjDat_69D26:dc.w 0
+ChildObjDat_69D26:
+ dc.w 0
dc.l loc_69738
dc.w $E400
-ChildObjDat_69D2E:dc.w 0
+ChildObjDat_69D2E:
+ dc.w 0
dc.l loc_699C0
dc.w 0
-ChildObjDat_69D36:dc.w 0
+ChildObjDat_69D36:
+ dc.w 0
dc.l loc_69996
dc.w $D0
-ChildObjDat_69D3E:dc.w 0
+ChildObjDat_69D3E:
+ dc.w 0
dc.l loc_69844
dc.w $305
-ChildObjDat_69D46:dc.w 0
+ChildObjDat_69D46:
+ dc.w 0
dc.l loc_69844
dc.w 7
-ChildObjDat_69D4E:dc.w 0
+ChildObjDat_69D4E:
+ dc.w 0
dc.l loc_69844
dc.w $FD05
-ChildObjDat_69D56:dc.w 0
+ChildObjDat_69D56:
+ dc.w 0
dc.l loc_698D2
dc.w 0
-ChildObjDat_69D5E:dc.w 0
+ChildObjDat_69D5E:
+ dc.w 0
dc.l loc_6995A
dc.w 0
-ChildObjDat_69D66:dc.w 5
+ChildObjDat_69D66:
+ dc.w 5
dc.l loc_69A3A
dc.w $F0F0
dc.l loc_69A3A
@@ -140120,8 +139696,9 @@ ChildObjDat_69D66:dc.w 5
dc.w $F418
dc.l loc_69A3A
dc.w $C18
-ChildObjDat_69D8C:dc.w 0
- dc.l Obj_81
+ChildObjDat_69D8C:
+ dc.w 0
+ dc.l Obj_EggCapsule
dc.w 0
dc.l Obj_CutsceneKnuckles
byte_69D98: dc.b $2B, 0
@@ -140254,8 +139831,7 @@ byte_69E65: dc.b $2B, 0
dc.b $6B, 0
dc.b $F4
Pal_AIZEndBoss: binclude "Levels/AIZ/Palettes/End Boss.bin"
- even
-
+ even
; ---------------------------------------------------------------------------
Obj_HCZMiniboss:
@@ -140302,13 +139878,13 @@ loc_69F22:
; ---------------------------------------------------------------------------
loc_69F2C:
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w $14(a0),$44(a0)
move.l #Obj_Wait,(a0)
move.w #$78,$2E(a0)
move.l #loc_69F64,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
bset #3,$38(a0)
lea Pal_HCZMiniboss(pc),a1
jmp (PalLoad_Line1).l
@@ -140316,9 +139892,9 @@ loc_69F2C:
loc_69F64:
move.l #Obj_HCZ_MinibossLoop,(a0)
- moveq #mus_Miniboss,d0
- jsr (Play_Sound).l
- move.b #mus_Miniboss,(Level_music+1).w
+ moveq #signextendB(mus_Miniboss),d0
+ jsr (Play_Music).l
+ move.b #mus_Miniboss,(Current_music+1).w
locret_69F78:
rts
@@ -140396,8 +139972,8 @@ loc_6A042:
loc_6A046:
move.b #$A,5(a0)
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
bset #6,$38(a0)
bclr #7,$38(a0)
move.w #$400,$1A(a0)
@@ -140494,8 +140070,8 @@ loc_6A15A:
loc_6A16C:
move.b #$14,5(a0)
- moveq #sfx_DoorClose,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_DoorClose),d0
+ jsr (Play_SFX).l
bclr #3,$38(a0)
move.w #$9F,$2E(a0)
move.l #loc_6A194,$34(a0)
@@ -140537,8 +140113,8 @@ loc_6A1FA:
move.b #$16,5(a0)
bclr #6,$38(a0)
move.w #-$400,$1A(a0)
- moveq #sfx_LavaBall,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LavaBall),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -140684,8 +140260,8 @@ loc_6A3A0:
move.b #4,$40(a0)
move.l #loc_6A416,$34(a0)
bclr #6,$38(a0)
- moveq #sfx_LevelProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LevelProjectile),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -140805,7 +140381,7 @@ loc_6A4F4:
loc_6A504:
lea byte_6AE3B(pc),a1
jsr (Animate_RawNoSST).l
- lea DPLCPtr_6ADE4(pc),a2
+ lea DPLCPtr_HCZMinibossSplash(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -140856,8 +140432,8 @@ loc_6A57C:
move.b #6,5(a0)
move.l #byte_6ADEC,$30(a0)
move.l #loc_6A5BC,$34(a0)
- moveq #sfx_FanBig,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FanBig),d0
+ jsr (Play_SFX).l
lea ChildObjDat_6AD92(pc),a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -140880,8 +140456,8 @@ loc_6A5D8:
movea.w $46(a0),a1
btst #2,$38(a1)
beq.s loc_6A5FA
- moveq #sfx_BossRotate,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_BossRotate),d0
+ jsr (Play_SFX_Continuous).l
lea byte_6AE11(pc),a1
jmp (Animate_RawNoSST).l
; ---------------------------------------------------------------------------
@@ -141103,7 +140679,7 @@ loc_6A896:
loc_6A8AE:
jsr (Restore_PlayerControl).l
- move.w #0,(Target_camera_min_Y_pos).w
+ move.w #0,(Camera_stored_min_Y_pos).w
jsr (Make_LevelSizeObj).l
loc_6A8C0:
@@ -141368,8 +140944,8 @@ sub_6AAA0:
sub_6AAB6:
bset #7,$38(a0)
- moveq #sfx_Splash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Splash),d0
+ jsr (Play_SFX).l
clr.w (Slotted_object_bits).w
lea ChildObjDat_6AD7E(pc),a2
jmp (CreateChild1_Normal).l
@@ -141508,7 +141084,7 @@ sub_6ABA8:
moveq #0,d0
move.b $3D(a2),d0
lsr.w #3,d0
- andi.w #-2,d0
+ andi.w #$FFFE,d0
move.w word_6ABF8(pc,d0.w),8(a0)
lea byte_6AC18(pc,d0.w),a1
move.b (a1)+,d1
@@ -141585,8 +141161,8 @@ sub_6AC48:
tst.b $20(a0)
bne.s loc_6AC68
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_6AC68:
bset #6,$2A(a0)
@@ -141685,7 +141261,8 @@ byte_6AD48: dc.b 2
dc.b $24
dc.b 0
dc.b 0
-Child1_HCZMiniboss_RocketsEngine:dc.w 4
+Child1_HCZMiniboss_RocketsEngine:
+ dc.w 4
dc.l Obj_HCZMiniboss_Rockets
dc.w $1818
dc.l Obj_HCZMiniboss_Rockets
@@ -141696,28 +141273,36 @@ Child1_HCZMiniboss_RocketsEngine:dc.w 4
dc.w $18E8
dc.l Obj_HCZMiniboss_Engine
dc.w $24
-ChildObjDat_6AD6E:dc.w 0
+ChildObjDat_6AD6E:
+ dc.w 0
dc.l loc_6A51E
dc.w 0
-ChildObjDat_6AD76:dc.w 0
+ChildObjDat_6AD76:
+ dc.w 0
dc.l loc_6A460
dc.w 0
-ChildObjDat_6AD7E:dc.w 2
+ChildObjDat_6AD7E:
+ dc.w 2
dc.l loc_6A4C8
dc.w 0
dc.l loc_6A4C8
dc.w $F000
dc.l loc_6A4C8
dc.w $1000
-ChildObjDat_6AD92:dc.w $1D
+ChildObjDat_6AD92:
+ dc.w $1D
dc.l loc_6A65C
-ChildObjDat_6AD98:dc.w 0
+ChildObjDat_6AD98:
+ dc.w 0
dc.l loc_6A710
-ChildObjDat_6AD9E:dc.w 0
+ChildObjDat_6AD9E:
+ dc.w 0
dc.l loc_6A7C4
-ChildObjDat_6ADA4:dc.w 1
+ChildObjDat_6ADA4:
+ dc.w 1
dc.l loc_6A7C4
-ChildObjDat_6ADAA:dc.w 3
+ChildObjDat_6ADAA:
+ dc.w 3
dc.l loc_6A8C6
dc.w $F4F4
dc.l loc_6A8C6
@@ -141726,7 +141311,8 @@ ChildObjDat_6ADAA:dc.w 3
dc.w $CF4
dc.l loc_6A8C6
dc.w $C0C
-ChildObjDat_6ADC4:dc.w 4
+ChildObjDat_6ADC4:
+ dc.w 4
dc.l loc_6A8EE
dc.w $DC
dc.l loc_6A8EE
@@ -141737,7 +141323,8 @@ ChildObjDat_6ADC4:dc.w 4
dc.w $F430
dc.l loc_6A8EE
dc.w $C30
-DPLCPtr_6ADE4: dc.l ArtUnc_DashDust
+DPLCPtr_HCZMinibossSplash:
+ dc.l ArtUnc_DashDust
dc.l DPLC_HCZMinibossSplash
byte_6ADEC: dc.b $16, 7
dc.b $17, 7
@@ -141801,12 +141388,11 @@ word_6AE4E: dc.w 2
dc.w $16FC
word_6AE52: dc.w 3
dc.w $16FC
-Pal_HCZMiniboss: binclude "Levels/HCZ/Palettes/Miniboss.bin"
- even
-
-Pal_HCZMinibossWater: binclude "Levels/HCZ/Palettes/Miniboss Water.bin"
- even
-
+Pal_HCZMiniboss:binclude "Levels/HCZ/Palettes/Miniboss.bin"
+ even
+Pal_HCZMinibossWater:
+ binclude "Levels/HCZ/Palettes/Miniboss Water.bin"
+ even
byte_6AE96: dc.b 4, $38
dc.b 8, $38
dc.b $3F, 0
@@ -142006,14 +141592,14 @@ loc_6B0E8:
clr.b (Boss_flag).w
move.w (_unkFAB4).w,d0
addi.w #$180,d0
- move.w d0,(Target_camera_max_X_pos).w
+ move.w d0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
cmpi.b #2,(Player_1+character_id).w
beq.s loc_6B138
jsr (Create_New_Sprite).l
bne.s locret_6B136
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
move.w #$4250,$10(a1)
move.w #$7E0,$14(a1)
@@ -142024,7 +141610,7 @@ locret_6B136:
loc_6B138:
jsr (Create_New_Sprite).l
bne.s locret_6B152
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
move.w #$4760,$10(a1)
move.w #$360,$14(a1)
@@ -142044,7 +141630,7 @@ loc_6B154:
jsr (Restore_PlayerControl).l
lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
jsr (Create_New_Sprite).l
bne.s loc_6B19C
move.l #loc_6B7BC,(a1)
@@ -142091,8 +141677,8 @@ loc_6B1E6:
; ---------------------------------------------------------------------------
loc_6B204:
- moveq #sfx_FanBig,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_FanBig),d0
+ jsr (Play_SFX_Continuous).l
jmp (Animate_RawGetFaster).l
; ---------------------------------------------------------------------------
@@ -142108,8 +141694,8 @@ loc_6B22A:
movea.w $46(a0),a1
btst #3,$38(a1)
beq.s loc_6B244
- moveq #sfx_FanBig,d0
- jmp (sub_85E52).l
+ moveq #signextendB(sfx_FanBig),d0
+ jmp (Play_SFX_Continuous).l
; ---------------------------------------------------------------------------
loc_6B244:
@@ -142546,8 +142132,8 @@ loc_6B734:
loc_6B73A:
lea ChildObjDat_6BDE0(pc),a2
jsr (CreateChild6_Simple).l
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
lea ChildObjDat_6BDB2(pc),a2
jsr (CreateChild1_Normal).l
jmp (Go_Delete_Sprite).l
@@ -142603,8 +142189,8 @@ loc_6B7EC:
move.b (V_int_run_count+3).w,d0
andi.b #7,d0
bne.s loc_6B7FE
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
loc_6B7FE:
jmp (Obj_Wait).l
@@ -142636,8 +142222,8 @@ loc_6B832:
bne.s loc_6B860
st (Palette_cycle_counters+$00).w
st (Screen_shake_flag).w
- moveq #sfx_Geyser,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Geyser),d0
+ jsr (Play_SFX).l
lea (Player_1).w,a1
bra.w loc_6B864
; ---------------------------------------------------------------------------
@@ -143048,8 +142634,8 @@ sub_6BBC4:
tst.b $20(a0)
bne.s loc_6BBE8
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_6BBE8:
bset #6,$2A(a0)
@@ -143229,7 +142815,7 @@ ObjDat3_6BD5A: dc.l Map_HCZEndBoss
dc.b 8
dc.b 0
ObjDat3_6BD66: dc.l Map_Explosion
- dc.w $85A0
+ dc.w make_art_tile(ArtTile_Explosion,0,1)
dc.w $80
dc.b $C
dc.b $C
@@ -143249,7 +142835,8 @@ ObjDat3_6BD7E: dc.l Map_HCZWaterWall
dc.b $60
dc.b 1
dc.b 0
-ChildObjDat_6BD8A:dc.w 4
+ChildObjDat_6BD8A:
+ dc.w 4
dc.l loc_6B5C4
dc.w $2312
dc.l loc_6B5C4
@@ -143264,28 +142851,36 @@ word_6BDAA: dc.w 0
dc.l loc_6B5C4
dc.b $13
dc.b $A
-ChildObjDat_6BDB2:dc.w 0
+ChildObjDat_6BDB2:
+ dc.w 0
dc.l loc_6B77C
dc.w 0
-ChildObjDat_6BDBA:dc.w 0
+ChildObjDat_6BDBA:
+ dc.w 0
dc.l loc_6B26E
dc.w 0
-ChildObjDat_6BDC2:dc.w 0
+ChildObjDat_6BDC2:
+ dc.w 0
dc.l loc_6B3DE
dc.w 0
-ChildObjDat_6BDCA:dc.w 1
+ChildObjDat_6BDCA:
+ dc.w 1
dc.l loc_6B456
dc.w $FC00
dc.l loc_6B456
dc.w $400
-ChildObjDat_6BDD8:dc.w 0
+ChildObjDat_6BDD8:
+ dc.w 0
dc.l loc_6B4A2
dc.w 0
-ChildObjDat_6BDE0:dc.w 4
+ChildObjDat_6BDE0:
+ dc.w 4
dc.l loc_6B4C4
-ChildObjDat_6BDE6:dc.w $13
+ChildObjDat_6BDE6:
+ dc.w $13
dc.l loc_6B50C
-ChildObjDat_6BDEC:dc.w 0
+ChildObjDat_6BDEC:
+ dc.w 0
dc.l Obj_RobotnikShip2
dc.w $C
byte_6BDF4: dc.b 7
@@ -143410,18 +143005,17 @@ byte_6BEEB: dc.b 8, 0, 8, 0
byte_6BF02: dc.b 7, 0, 0, 1
dc.b 2, 3, 4, $F4
Pal_HCZEndBoss: binclude "Levels/HCZ/Palettes/End Boss.bin"
- even
-
+ even
; ---------------------------------------------------------------------------
-Obj_MGZ2DrillingEggman:
+Obj_MGZ2DrillingRobotnik:
move.l #Obj_Wait,(a0)
move.b #1,(Boss_flag).w
move.w #$78,$2E(a0)
- move.l #Obj_MGZ2DrillingEggmanGo,$34(a0)
+ move.l #Obj_MGZ2DrillingRobotnikGo,$34(a0)
clr.b $2C(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
lea (ArtKosM_MGZEndBoss).l,a1
move.w #$67E0,d2
jsr (Queue_Kos_Module).l
@@ -143434,17 +143028,17 @@ Obj_MGZ2DrillingEggman:
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
-Obj_MGZ2DrillingEggmanGo:
- move.l #Obj_MGZ2DrillingEggmanStart,(a0)
- moveq #mus_EndBoss,d0 ; Play boss music
- jsr (Play_Sound).l
- move.b #mus_EndBoss,(Level_music+1).w
+Obj_MGZ2DrillingRobotnikGo:
+ move.l #Obj_MGZ2DrillingRobotnikStart,(a0)
+ moveq #signextendB(mus_EndBoss),d0 ; Play boss music
+ jsr (Play_Music).l
+ move.b #mus_EndBoss,(Current_music+1).w
locret_6BF96:
rts
; ---------------------------------------------------------------------------
-Obj_MGZ2DrillingEggmanStart:
+Obj_MGZ2DrillingRobotnikStart:
moveq #0,d0
move.b 5(a0),d0
move.w off_6BFB0(pc,d0.w),d1
@@ -143488,8 +143082,8 @@ loc_6C00A:
loc_6C014:
move.b #4,5(a0)
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -143665,7 +143259,7 @@ loc_6C200:
bset #5,$38(a0)
clr.b (Boss_flag).w
move.l #Delete_Current_Sprite,(a0)
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
lea (MGZ_8x8_Primary_KosM).l,a1
move.w #0,d2
jsr (Queue_Kos_Module).l
@@ -143675,10 +143269,10 @@ loc_6C200:
moveq #$14,d0
jsr (Load_PLC).l
lea (ArtKosM_Spiker).l,a1
- move.w #-$5A00,d2
+ move.w #$A600,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_Mantis).l,a1
- move.w #-$5620,d2
+ move.w #$A9E0,d2
jsr (Queue_Kos_Module).l
lea (PLC_MonitorsSpikesSprings).l,a1
jsr (Load_PLC_Raw).l
@@ -143688,7 +143282,7 @@ loc_6C200:
st (Events_fg_2).w
btst #0,4(a0)
bne.s loc_6C29E
- move.w #$6000,(Target_camera_max_X_pos).w
+ move.w #$6000,(Camera_stored_max_X_pos).w
jsr (Create_New_Sprite).l
bne.s locret_6C29C
move.l #Obj_IncLevEndXGradual,(a1)
@@ -143698,7 +143292,7 @@ locret_6C29C:
; ---------------------------------------------------------------------------
loc_6C29E:
- clr.w (Target_camera_min_X_pos).w
+ clr.w (Camera_stored_min_X_pos).w
jsr (Create_New_Sprite).l
bne.s locret_6C2B0
move.l #Obj_DecLevStartXGradual,(a1)
@@ -143731,7 +143325,7 @@ loc_6C2EE:
bne.w locret_6BF96
move.l #locret_6C318,(a0)
bset #4,$38(a0)
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
jsr (Create_New_Sprite).l
bne.s locret_6C316
move.l #loc_6D104,(a1)
@@ -143744,7 +143338,7 @@ locret_6C318:
rts
; ---------------------------------------------------------------------------
-Obj_A1_1_MGZ2_Boss:
+Obj_MGZEndBoss:
moveq #0,d0
move.b 5(a0),d0
move.w off_6C332(pc,d0.w),d1
@@ -143780,8 +143374,8 @@ loc_6C354:
move.b #1,(Boss_flag).w
move.b #$1C,$1E(a0)
move.w #$C,$26(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$78,$2E(a0)
move.l #loc_6C3EC,$34(a0)
lea (ArtKosM_MGZEndBoss).l,a1
@@ -143810,9 +143404,9 @@ loc_6C3E6:
loc_6C3EC:
move.b #4,5(a0)
- moveq #mus_EndBoss,d0
- jsr (Play_Sound).l
- move.b #mus_EndBoss,(Level_music+1).w
+ moveq #signextendB(mus_EndBoss),d0
+ jsr (Play_Music).l
+ move.b #mus_EndBoss,(Current_music+1).w
move.w #$80,$1A(a0)
move.w #$BF,$2E(a0)
move.l #loc_6C422,$34(a0)
@@ -143883,8 +143477,8 @@ loc_6C4BE:
move.l #loc_6C4F8,$34(a0)
st (Events_fg_4).w
st (Disable_death_plane).w
- moveq #sfx_BossHitFloor,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHitFloor),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s locret_6C4F0
move.l #Obj_MGZ2_BossTransition,(a1)
@@ -143988,8 +143582,8 @@ loc_6C5FE:
loc_6C614:
move.b #$1E,5(a0)
- moveq #sfx_BossZoom,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossZoom),d0
+ jsr (Play_SFX).l
bclr #3,$38(a0)
bclr #2,$38(a0)
move.w #$9F,$2E(a0)
@@ -144020,7 +143614,7 @@ word_6C688: dc.w 0, $128, $3C78, $3E78
dc.w $28, $28, $3D78, $3D78
; ---------------------------------------------------------------------------
-Obj_A2_1:
+Obj_MGZEndBossKnux:
lea word_6C688(pc),a1
jsr (Check_CameraInRange).l
move.b #mus_Miniboss,$26(a0)
@@ -144123,8 +143717,8 @@ loc_6C7BC:
loc_6C7D8:
cmpi.w #$28,$2E(a0)
bne.s loc_6C7F2
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
lea ChildObjDat_6D83E(pc),a2
jsr (CreateChild6_Simple).l
@@ -144156,8 +143750,8 @@ loc_6C81A:
loc_6C83C:
cmpi.w #$48,$2E(a0)
bne.s loc_6C856
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
lea ChildObjDat_6D83E(pc),a2
jsr (CreateChild6_Simple).l
@@ -144195,14 +143789,14 @@ loc_6C8B4:
clr.b (Boss_flag).w
jsr (Create_New_Sprite).l
bne.s loc_6C8DC
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
move.w #$3F40,$10(a1)
move.w #$B0,$14(a1)
loc_6C8DC:
move.w (_unkFAB4).w,d0
addi.w #$118,d0
- move.w d0,(Target_camera_max_X_pos).w
+ move.w d0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -144214,7 +143808,7 @@ loc_6C8F4:
move.l #loc_6C932,(a0)
clr.b (_unkFAA8).w
jsr (Restore_PlayerControl).l
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
clr.w (Ctrl_1_logical).w
st (Ctrl_1_locked).w
clr.w $2E(a0)
@@ -144247,7 +143841,7 @@ loc_6C962:
lea word_6D782(pc),a1
jsr (SetUp_ObjAttributes3).l
movea.w $46(a0),a1
- cmpi.l #Obj_A1_1_MGZ2_Boss,(a1)
+ cmpi.l #Obj_MGZEndBoss,(a1)
bne.s loc_6C97E
bclr #7,$A(a0)
@@ -144378,8 +143972,8 @@ loc_6CACA:
bsr.w sub_6D42E
lea ChildObjDat_6D812(pc),a2
jsr (CreateChild1_Normal).l
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
lea ChildObjDat_6D83E(pc),a2
jsr (CreateChild6_Simple).l
@@ -144459,8 +144053,8 @@ loc_6CBCE:
move.b #2,$2C(a1)
loc_6CBF8:
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
lea ChildObjDat_6D83E(pc),a2
jsr (CreateChild6_Simple).l
bra.w loc_6CB04
@@ -144706,7 +144300,7 @@ loc_6CEB0:
beq.s loc_6CEE6
move.w #$380,8(a0)
movea.w $46(a0),a1
- cmpi.l #Obj_A1_1_MGZ2_Boss,(a1)
+ cmpi.l #Obj_MGZEndBoss,(a1)
bne.s loc_6CEE6
bclr #7,$A(a0)
@@ -144806,7 +144400,7 @@ loc_6CFF4:
lea ObjDat3_6D7B4(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_6D060,(a0)
- move.w #-$72E0,$3A(a0)
+ move.w #$8D20,$3A(a0)
move.w (Camera_X_pos).w,d0
addi.w #$140,d0
move.w d0,$10(a0)
@@ -145362,8 +144956,8 @@ loc_6D51A:
neg.w $18(a0)
loc_6D576:
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
lea ChildObjDat_6D83E(pc),a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -145405,8 +144999,8 @@ loc_6D5C2:
tst.b $20(a0)
bne.s loc_6D5D6
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0 ; Play hit sound
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0 ; Play hit sound
+ jsr (Play_SFX).l
loc_6D5D6:
bset #6,$2A(a0)
@@ -145444,8 +145038,8 @@ loc_6D61E:
tst.b $20(a0)
bne.s loc_6D644
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_6D644:
@@ -145569,7 +145163,8 @@ byte_6D76C: dc.b 6
dc.b 4
dc.b 8
dc.b 6
-ObjDat_MGZDrillBoss: dc.l Map_MGZEndBoss
+ObjDat_MGZDrillBoss:
+ dc.l Map_MGZEndBoss
dc.w $233F
dc.w $300
dc.b $24
@@ -145626,7 +145221,8 @@ ObjDat3_6D7B4: dc.l Map_ScaledArt
dc.b $20
dc.b 0
dc.b 0
-ChildObjDat_6D7C0:dc.w 3
+ChildObjDat_6D7C0:
+ dc.w 3
dc.l loc_6CC46
dc.w $EC0F
dc.l loc_6C948
@@ -145635,46 +145231,59 @@ ChildObjDat_6D7C0:dc.w 3
dc.w $818
dc.l loc_6CEB0
dc.w $F418
-ChildObjDat_6D7DA:dc.w 0
+ChildObjDat_6D7DA:
+ dc.w 0
dc.l loc_6C9E8
dc.w $E900
-ChildObjDat_6D7E2:dc.w 0
+ChildObjDat_6D7E2:
+ dc.w 0
dc.l loc_6CF20
dc.w $10
-ChildObjDat_6D7EA:dc.w 9
+ChildObjDat_6D7EA:
+ dc.w 9
dc.l loc_6CF9E
dc.w $18C0
-ChildObjDat_6D7F2:dc.w 9
+ChildObjDat_6D7F2:
+ dc.w 9
dc.l loc_6CF9E
dc.w $E8C0
-ChildObjDat_6D7FA:dc.w 0
+ChildObjDat_6D7FA:
+ dc.w 0
dc.l loc_6CC72
dc.w $C00
-ChildObjDat_6D802:dc.w 7
+ChildObjDat_6D802:
+ dc.w 7
dc.l loc_6CDE8
dc.w $F000
-ChildObjDat_6D80A:dc.w 7
+ChildObjDat_6D80A:
+ dc.w 7
dc.l loc_6CDE8
dc.w $1000
-ChildObjDat_6D812:dc.w 0
+ChildObjDat_6D812:
+ dc.w 0
dc.l loc_6CCE6
dc.w 0
-ChildObjDat_6D81A:dc.w 0
+ChildObjDat_6D81A:
+ dc.w 0
dc.l loc_6CD42
dc.w 0
-ChildObjDat_6D822:dc.w 2
+ChildObjDat_6D822:
+ dc.w 2
dc.l loc_6CFBE
dc.w $CEC
dc.l loc_6CFBE
dc.w $F008
dc.l loc_6CFBE
dc.w $1408
-ChildObjDat_6D836:dc.w 0
+ChildObjDat_6D836:
+ dc.w 0
dc.l loc_6CFF4
dc.w 0
-ChildObjDat_6D83E:dc.w 0
+ChildObjDat_6D83E:
+ dc.w 0
dc.l loc_6D16A
-ChildObjDat_6D844:dc.w 0
+ChildObjDat_6D844:
+ dc.w 0
dc.l loc_6D1BE
dc.b 0, 5
dc.b 1, 5
@@ -145836,9 +145445,7 @@ byte_6D95D: dc.b $F, 3
dc.b $11, 7
dc.b $F4
Pal_MGZEndBoss: binclude "Levels/MGZ/Palettes/End Boss.bin"
- even
-
-
+ even
; ---------------------------------------------------------------------------
Obj_CNZMiniboss:
@@ -145849,7 +145456,7 @@ Obj_CNZMiniboss:
; ---------------------------------------------------------------------------
loc_6D9A8:
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w ; X end to FFFA92
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w ; X end to FFFA92
move.w #$1C0,(Camera_min_Y_pos).w
move.w d0,(Camera_min_X_pos).w ; Set X start
addi.w #$80,d0
@@ -145859,8 +145466,8 @@ loc_6D9A8:
move.l #Obj_Wait,(a0)
move.w #$78,$2E(a0) ; Wait for 2 seconds
move.l #Obj_CNZMinibossGo,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l ; Fade out music
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l ; Fade out music
move.b #1,(Boss_flag).w ; Lock screen
moveq #$5D,d0
jsr (Load_PLC).l ; Load CNZ Miniboss PLC
@@ -145870,9 +145477,9 @@ loc_6D9A8:
Obj_CNZMinibossGo:
move.l #Obj_CNZMinibossStart,(a0)
- moveq #mus_Miniboss,d0
- jsr (Play_Sound).l ; Play miniboss music
- move.b #mus_Miniboss,(Level_music+1).w
+ moveq #signextendB(mus_Miniboss),d0
+ jsr (Play_Music).l ; Play miniboss music
+ move.b #mus_Miniboss,(Current_music+1).w
jsr (Create_New_Sprite).l
bne.s locret_6DA22
move.l #Obj_CNZMinibossScrollControl,(a1)
@@ -145892,7 +145499,8 @@ Obj_CNZMinibossStart:
bsr.w CNZMiniboss_CheckTopHit
jmp (Draw_And_Touch_Sprite).l
; ---------------------------------------------------------------------------
-CNZMiniboss_Index: dc.w Obj_CNZMinibossInit-CNZMiniboss_Index
+CNZMiniboss_Index:
+ dc.w Obj_CNZMinibossInit-CNZMiniboss_Index
dc.w Obj_CNZMinibossLower-CNZMiniboss_Index
dc.w Obj_CNZMinibossMove-CNZMiniboss_Index
dc.w Obj_CNZMinibossMove-CNZMiniboss_Index
@@ -146027,7 +145635,8 @@ Obj_CNZMinibossTop:
jsr CNZMinibossTop_Index(pc,d1.w)
jmp (Draw_And_Touch_Sprite).l
; ---------------------------------------------------------------------------
-CNZMinibossTop_Index: dc.w Obj_CNZMinibossTopInit-CNZMinibossTop_Index
+CNZMinibossTop_Index:
+ dc.w Obj_CNZMinibossTopInit-CNZMinibossTop_Index
dc.w Obj_CNZMinibossTopWait-CNZMinibossTop_Index
dc.w Obj_CNZMinibossTopWait2-CNZMinibossTop_Index
dc.w Obj_CNZMinibossTopMain-CNZMinibossTop_Index
@@ -146225,11 +145834,11 @@ CNZMiniboss_BlockExplosion:
bne.s locret_6DE24
move.b #6,$2C(a1)
move.w (Events_bg+$00).w,d0
- andi.w #-$20,d0
+ andi.w #$FFE0,d0
addi.w #$10,d0
move.w d0,$10(a1)
move.w (Events_bg+$02).w,d0
- andi.w #-$20,d0
+ andi.w #$FFE0,d0
addi.w #$10,d0
move.w d0,$14(a1)
@@ -146299,7 +145908,7 @@ Obj_CNZMinibossCoilOpen:
loc_6DEDE:
move.l #loc_6DEEC,(a0)
- move.b #-$56,$28(a0)
+ move.b #$AA,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -146401,7 +146010,8 @@ word_6E022: dc.w $F000
dc.w $34
dc.w $3C
dc.w $48
-CNZMinibossDebris_Frames: dc.b $12, $13, $14, $14, $14, $14, $14, $14, $15, 0
+CNZMinibossDebris_Frames:
+ dc.b $12, $13, $14, $14, $14, $14, $14, $14, $15, 0
; ---------------------------------------------------------------------------
SetUp_CNZMinibossSwing:
@@ -146455,8 +146065,8 @@ CNZMiniboss_CheckTopHit:
beq.s CNZMiniboss_BossDefeated
bset #6,$2A(a0) ; Set to indicate in hit stun
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l ; Play hit sound
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l ; Play hit sound
loc_6E0D6:
moveq #0,d0
@@ -146661,47 +146271,57 @@ loc_6E27C:
; End of function CNZMinibossTop_CheckHitBase
; ---------------------------------------------------------------------------
-CNZMiniboss_BaseRange: dc.w $FFE8, $30
+CNZMiniboss_BaseRange:
+ dc.w $FFE8, $30
dc.w $FFF0, $20
-CNZMiniboss_CoilRange: dc.w $FFF4, $18
+CNZMiniboss_CoilRange:
+ dc.w $FFF4, $18
dc.w $10, $18
-CNZMiniboss_CoilOpenRange: dc.w $FFF4, $18
+CNZMiniboss_CoilOpenRange:
+ dc.w $FFF4, $18
dc.w $10, $38
-ObjDat_CNZMiniboss: dc.l Map_CNZMiniboss
+ObjDat_CNZMiniboss:
+ dc.l Map_CNZMiniboss
dc.w $A52E
dc.w $280
dc.b $18
dc.b $30
dc.b 0
dc.b $C
-ObjDat3_CNZMinibossTop: dc.w $200
+ObjDat3_CNZMinibossTop:
+ dc.w $200
dc.b $18
dc.b $10
dc.b 7
dc.b $AA
-ObjDat3_CNZMinibossSpark: dc.w $200
+ObjDat3_CNZMinibossSpark:
+ dc.w $200
dc.b $C
dc.b $18
dc.b $A
dc.b $92
-ObjDat3_CNZMbossBounceEffect: dc.w $100
+ObjDat3_CNZMbossBounceEffect:
+ dc.w $100
dc.b 8
dc.b 8
dc.b $C
dc.b 0
-ObjDat_CNZMinibossDebris: dc.l Map_CNZMiniboss
+ObjDat_CNZMinibossDebris:
+ dc.l Map_CNZMiniboss
dc.w $A52E
dc.w $100
dc.b $10
dc.b $10
dc.b 0
dc.b 0
-Child1_CNZMinibossMakeTop:dc.w 1
+Child1_CNZMinibossMakeTop:
+ dc.w 1
dc.l Obj_CNZMinibossTop
dc.w $2C
dc.l Obj_CNZMinibossCoil
dc.w $1C
-Child1_CNZMinibossTimedSparks:dc.w 1
+Child1_CNZMinibossTimedSparks:
+ dc.w 1
dc.l Obj_CNZMinibossTimedSparks
dc.w $EC18
dc.l Obj_CNZMinibossTimedSparks
@@ -146709,128 +146329,98 @@ Child1_CNZMinibossTimedSparks:dc.w 1
dc.w 0
dc.l loc_6DEDE
dc.w $FC
-Child1_CNZCoilOpenSparks:dc.w 2
+Child1_CNZCoilOpenSparks:
+ dc.w 2
dc.l Obj_CNZMinibossSparks
dc.w $FC28
dc.l Obj_CNZMinibossSparks
dc.w $42C
dc.l Obj_CNZMinibossSparks
dc.w $FC3C
-Child1_CNZBounceEffect:dc.w 0
+Child1_CNZBounceEffect:
+ dc.w 0
dc.l Obj_CNZMinibossBounceEffect
dc.w $FC
-Child1_CNZMinibossExplosion:dc.w 0
+Child1_CNZMinibossExplosion:
+ dc.w 0
dc.l Obj_CreateBossExplosion
dc.w 0
-Child6_CNZMinibossMakeDebris:dc.w 8
+Child6_CNZMinibossMakeDebris:
+ dc.w 8
dc.l Obj_CNZMinibossDebris
-AniRaw_CNZMinibossOpening: dc.b 0, 3
- dc.b 1, 3
- dc.b 2, 3
- dc.b 3, 3
- dc.b 4, 3
- dc.b 5, 3
- dc.b 6, 3
- dc.b $F4
-AniRaw_CNZMinibossClosing: dc.b 6, 3
- dc.b 5, 3
- dc.b 4, 3
- dc.b 3, 3
- dc.b 2, 3
- dc.b 1, 3
- dc.b 0, 3
- dc.b $F4
-AniRaw_CNZMinibossTop: dc.b 7, 8, 7, 8, 9, $FC
-
-AniRaw_CNZMinibossTop2: dc.b 0, 7, 8, 9, $FC
-
-AniRaw_CNZMinibossTimedSparkLeft: dc.b $A, 0
- dc.b $11, 2
- dc.b $B, 0
- dc.b $11, 2
- dc.b $FC
-AniRaw_CNZMinibossTimedSparkRight: dc.b $F, 0
- dc.b $11, 2
- dc.b $10, 0
- dc.b $11, 2
- dc.b $FC
-AniRaw_CNZMinibossSparks1: dc.b $A, 0
- dc.b $11, 7
- dc.b $B, 0
- dc.b $11, 7
- dc.b $FC
-AniRaw_CNZMinibossSparks2: dc.b $11, 0
- dc.b $F, 0
- dc.b $11, 7
- dc.b $10, 0
- dc.b $11, 9
- dc.b $FC
-AniRaw_CNZMinibossSparks3: dc.b $A, 0
- dc.b $11, 7
- dc.b $B, 0
- dc.b $11, $B
- dc.b $FC
-AniRaw_CNZMBossBoundEffect: dc.b $C, 0, $D, 1, $E, 1, $F4, 0
-
-Pal_CNZMiniboss: binclude "Levels/CNZ/Palettes/Miniboss.bin"
- even
-
-PalSPtr_CNZMinibossNormal: palscriptptr .header, .data
+AniRaw_CNZMinibossOpening:
+ dc.b 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, $F4
+AniRaw_CNZMinibossClosing:
+ dc.b 6, 3, 5, 3, 4, 3, 3, 3, 2, 3, 1, 3, 0, 3, $F4
+AniRaw_CNZMinibossTop:
+ dc.b 7, 8, 7, 8, 9, $FC
+AniRaw_CNZMinibossTop2:
+ dc.b 0, 7, 8, 9, $FC
+AniRaw_CNZMinibossTimedSparkLeft:
+ dc.b $A, 0, $11, 2, $B, 0, $11, 2, $FC
+AniRaw_CNZMinibossTimedSparkRight:
+ dc.b $F, 0, $11, 2, $10, 0, $11, 2, $FC
+AniRaw_CNZMinibossSparks1:
+ dc.b $A, 0, $11, 7, $B, 0, $11, 7, $FC
+AniRaw_CNZMinibossSparks2:
+ dc.b $11, 0, $F, 0, $11, 7, $10, 0, $11, 9, $FC
+AniRaw_CNZMinibossSparks3:
+ dc.b $A, 0, $11, 7, $B, 0, $11, $B, $FC
+AniRaw_CNZMBossBoundEffect:
+ dc.b $C, 0, $D, 1, $E, 1, $F4
+ even
+Pal_CNZMiniboss:binclude "Levels/CNZ/Palettes/Miniboss.bin"
+ even
+PalSPtr_CNZMinibossNormal:
+ palscriptptr .header, .data
dc.w 0
.header palscripthdr Normal_palette_line_2+$14, 1, 3-1
-
.data palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 6, $020
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 4, $020
palscriptloop .headr3
-
.headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 2, $020
palscriptloop .headr4
-
.headr4 palscripthdr Normal_palette_line_2+$14, 1, $B-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 1, $020
palscriptrun
-PalSPtr_CNZMinibossSparks: palscriptptr .header, .data
+PalSPtr_CNZMinibossSparks:
+ palscriptptr .header, .data
dc.w 0
.header palscripthdr Normal_palette_line_2+$14, 1, $31-1
-
.data palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 1, $020
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 2, $020
palscriptloop .headr3
-
.headr3 palscripthdr Normal_palette_line_2+$14, 1, 4-1
palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 4, $020
palscriptloop .headr4
-
.headr4 palscripthdr Normal_palette_line_2+$14, 1, 2-1
palscriptdata 96, $020
palscriptloop PalSPtr_CNZMinibossNormal.headr3
-PalSPtr_CNZMinibossOpen: palscriptptr .header, .data
+PalSPtr_CNZMinibossOpen:
+ palscriptptr .header, .data
dc.w 0
.header palscripthdr Normal_palette_line_2+$14, 1, 0
-
.data palscriptdata 1, $EEE
palscriptdata 1, $A22
palscriptdata 2, $020
@@ -147071,10 +146661,10 @@ loc_6E6E4:
clr.b (Boss_flag).w
move.w (_unkFAB4).w,d0
addi.w #$190,d0
- move.w d0,(Target_camera_max_X_pos).w
+ move.w d0,(Camera_stored_max_X_pos).w
jsr (Create_New_Sprite).l
bne.s loc_6E718
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
move.w #$4990,$10(a1)
move.w #$2E0,$14(a1)
@@ -147091,13 +146681,13 @@ loc_6E724:
jsr (Restore_PlayerControl).l
lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
- jsr (Obj_PlayLevelMusic).l
- move.w #$200,(Target_camera_min_Y_pos).w
+ jsr (Restore_LevelMusic).l
+ move.w #$200,(Camera_stored_min_Y_pos).w
lea (Child6_DecLevY).l,a2
jsr (CreateChild6_Simple).l
move.w (_unkFAB4).w,d0
addi.w #$310,d0
- move.w d0,(Target_camera_max_X_pos).w
+ move.w d0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -147209,8 +146799,8 @@ loc_6E8A2:
; ---------------------------------------------------------------------------
loc_6E8B6:
- moveq #sfx_FloorThump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorThump),d0
+ jsr (Play_SFX).l
move.w $1A(a0),d0
cmpi.w #$80,d0
blo.s loc_6E8D2
@@ -147437,8 +147027,8 @@ loc_6EB0C:
; ---------------------------------------------------------------------------
loc_6EB16:
- moveq #sfx_GravityMachine,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_GravityMachine),d0
+ jsr (Play_SFX_Continuous).l
jsr (Refresh_ChildPosition).l
jsr (Animate_Raw).l
bsr.w sub_6EC1E
@@ -147624,8 +147214,8 @@ sub_6EC9E:
tst.b $20(a0)
bne.s loc_6ECC2
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_6ECC2:
bset #6,$2A(a0)
@@ -147750,26 +147340,32 @@ ObjDat3_6EDC0: dc.l Map_CNZEndBoss
dc.b $40
dc.b 6
dc.b $AB
-ChildObjDat_6EDCC:dc.w 0
+ChildObjDat_6EDCC:
+ dc.w 0
dc.l loc_6E82C
dc.w $14
-ChildObjDat_6EDD4:dc.w 3
+ChildObjDat_6EDD4:
+ dc.w 3
dc.l loc_6E95A
dc.w 8
-ChildObjDat_6EDDC:dc.w 0
+ChildObjDat_6EDDC:
+ dc.w 0
dc.l loc_6EADA
dc.w $4C
-ChildObjDat_6EDE4:dc.w 1
+ChildObjDat_6EDE4:
+ dc.w 1
dc.l loc_6EADA
dc.w $F454
dc.l loc_6EADA
dc.w $C54
-ChildObjDat_6EDF2:dc.w 1
+ChildObjDat_6EDF2:
+ dc.w 1
dc.l loc_6E936
dc.w $F800
dc.l loc_6E936
dc.w $800
-ChildObjDat_6EE00:dc.w 1
+ChildObjDat_6EE00:
+ dc.w 1
dc.l loc_6EBAC
dc.w $EC00
dc.l loc_6EBAC
@@ -147803,11 +147399,10 @@ byte_6EE3B: dc.b 9, $24, 6, 0
dc.b $FC, 7, 0, 1
dc.b $FC
Pal_CNZEndBoss: binclude "Levels/CNZ/Palettes/End Boss.bin"
- even
-
+ even
; ---------------------------------------------------------------------------
-Obj_AA_1_FBZ1_Boss:
+Obj_FBZMiniboss:
lea word_6EE98(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
@@ -147834,8 +147429,8 @@ loc_6EEA8:
jsr (SetUp_ObjAttributes).l
move.b #6,$29(a0)
move.b #1,(Boss_flag).w
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
- move.w (Camera_max_Y_pos).w,(Target_camera_max_Y_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
+ move.w (Camera_max_Y_pos).w,(Camera_stored_max_Y_pos).w
move.w #$540,(Camera_target_max_Y_pos).w
move.w #$2E20,$3A(a0)
move.l #loc_6EF14,$34(a0)
@@ -147856,7 +147451,7 @@ loc_6EF0E:
loc_6EF14:
move.b #4,5(a0)
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w $3A(a0),d0
move.w d0,(Camera_min_X_pos).w
addi.w #$80,d0
@@ -147874,8 +147469,8 @@ loc_6EF3C:
move.b #6,5(a0)
move.l #loc_6EF60,$34(a0)
move.w #$78,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
locret_6EF58:
rts
@@ -147887,9 +147482,9 @@ loc_6EF5A:
loc_6EF60:
move.b #8,5(a0)
- moveq #mus_Miniboss,d0
- jsr (Play_Sound).l
- move.b #mus_Miniboss,(Level_music+1).w
+ moveq #signextendB(mus_Miniboss),d0
+ jsr (Play_Music).l
+ move.b #mus_Miniboss,(Current_music+1).w
rts
; ---------------------------------------------------------------------------
@@ -148339,7 +147934,7 @@ loc_6F432:
lea word_6FA52(pc),a1
move.w #3,$3E(a0)
jsr (SetUp_ObjAttributes3).l
- move.b #-$7A,$28(a0)
+ move.b #$86,$28(a0)
movea.w $46(a0),a1
movea.w $46(a1),a1
movea.w $46(a1),a1
@@ -148584,8 +148179,8 @@ loc_6F702:
move.b #$1E,5(a0)
move.w #$1F,$2E(a0)
move.l #loc_6F72E,$34(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -148615,7 +148210,7 @@ loc_6F74C:
loc_6F764:
bsr.w sub_6F786
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_6F780
@@ -148938,8 +148533,8 @@ sub_6F994:
subq.b #1,$29(a0)
beq.s loc_6F9DE
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_6F9B6:
moveq #0,d0
@@ -149039,7 +148634,8 @@ word_6FA5E: dc.w $180
dc.b 8
dc.b 0
dc.b 0
-ChildObjDat_6FA76:dc.w 6
+ChildObjDat_6FA76:
+ dc.w 6
dc.l loc_6F10E
dc.w $F0F8
dc.l loc_6F10E
@@ -149056,10 +148652,12 @@ ChildObjDat_6FA76:dc.w 6
dc.w 0
word_6FAA2: dc.w 4
dc.l loc_6F3DE
-ChildObjDat_6FAA8:dc.w 0
+ChildObjDat_6FAA8:
+ dc.w 0
dc.l loc_6F0CE
dc.w $F8
-ChildObjDat_6FAB0:dc.w 0
+ChildObjDat_6FAB0:
+ dc.w 0
dc.l loc_6F74C
dc.b 3
dc.b 9
@@ -149071,24 +148669,21 @@ ChildObjDat_6FAB0:dc.w 0
dc.b $F
dc.b $10
dc.b $FC
-Pal_FBZMiniboss: binclude "Levels/FBZ/Palettes/FBZ Miniboss.bin"
- even
-
+Pal_FBZMiniboss:binclude "Levels/FBZ/Palettes/FBZ Miniboss.bin"
+ even
word_6FAE0: palscriptptr .header, .data
dc.w 0
.header palscripthdr Normal_palette_line_2+$1E, 1, 7-1
-
.data palscriptdata 1, $EEE
palscriptdata 4, $644
palscriptrun
-Map_FBZMiniboss: include "Levels/FBZ/Misc Object Data/Map - Miniboss.asm"
+Map_FBZMiniboss:include "Levels/FBZ/Misc Object Data/Map - Miniboss.asm"
word_6FCFC: dc.w $560, $660, $2900, $2C00
dc.w $5E0, $5E0, $2900, $2900
-
; ---------------------------------------------------------------------------
-Obj_AB_1_FBZ_Laser_Boss:
+Obj_FBZ2Subboss:
lea word_6FCFC(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
@@ -149111,7 +148706,7 @@ loc_6FD38:
move.b #$7F,$29(a0)
move.b #6,$39(a0)
move.b #1,(Boss_flag).w
- move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w
+ move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w
move.w #$2900,(Camera_min_X_pos).w
move.w #$5E0,(Camera_target_max_Y_pos).w
lea PLC_705B6(pc),a1
@@ -149402,7 +148997,7 @@ loc_7009A:
subq.w #4,$14(a0)
move.w #$200,$18(a0)
move.l #Map_FBZRobotnikRun,$C(a0)
- move.w #-$7B57,$A(a0)
+ move.w #$84A9,$A(a0)
clr.b $22(a0)
clr.b $24(a0)
clr.b $23(a0)
@@ -149491,8 +149086,8 @@ loc_701B4:
bmi.s loc_701D6
cmpi.b #4,$2E(a0)
bne.s loc_701E8
- moveq #sfx_Charging,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Charging),d0
+ jsr (Play_SFX).l
loc_701D6:
cmpi.b #$20,$2F(a0)
@@ -149511,8 +149106,8 @@ loc_701EE:
addi.w #$3C,$14(a0)
move.w #$1F,$2E(a0)
move.l #loc_70262,$34(a0)
- moveq #sfx_BossLazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossLaser),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -149520,7 +149115,7 @@ loc_70220:
clr.b $28(a0)
cmpi.b #8,$22(a0)
bne.s loc_70232
- move.b #-$54,$28(a0)
+ move.b #$AC,$28(a0)
loc_70232:
lea (Player_1).w,a2
@@ -149625,8 +149220,8 @@ sub_70330:
tst.b $20(a0)
bne.s loc_7034A
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_7034A:
bsr.w sub_70362
@@ -149696,20 +149291,25 @@ ObjDat3_703BC: dc.l Map_FBZRobotnikStand
dc.b $20
dc.b 0
dc.b 0
-ChildObjDat_703C8:dc.w 3
+ChildObjDat_703C8:
+ dc.w 3
dc.l loc_6FF5C
dc.w 0
-ChildObjDat_703D0:dc.w 1
+ChildObjDat_703D0:
+ dc.w 1
dc.l loc_6FFDC
dc.w 0
dc.l loc_7002A
dc.w 0
-ChildObjDat_703DE:dc.w 0
- dc.l Obj_8B
-ChildObjDat_703E4:dc.w 1
+ChildObjDat_703DE:
+ dc.w 0
+ dc.l Obj_SpriteMask
+ChildObjDat_703E4:
+ dc.w 1
dc.l loc_70118
dc.w 0
-ChildObjDat_703EC:dc.w 0
+ChildObjDat_703EC:
+ dc.w 0
dc.l loc_70192
dc.w 8
byte_703F4: dc.b 0, 7
@@ -149736,11 +149336,9 @@ byte_70419: dc.b 5, 0
dc.b 1, 2
dc.b 1, $FC
dc.b 0
-Pal_FBZ2Subboss: binclude "Levels/FBZ/Palettes/FBZ2 Subboss.bin"
- even
-
-Map_FBZ2Subboss: include "Levels/FBZ/Misc Object Data/Map - Act 2 Subboss.asm"
-
+Pal_FBZ2Subboss:binclude "Levels/FBZ/Palettes/FBZ2 Subboss.bin"
+ even
+Map_FBZ2Subboss:include "Levels/FBZ/Misc Object Data/Map - Act 2 Subboss.asm"
PLC_705B6: dc.w 3
dc.l ArtNem_FBZ2Subboss
dc.w $A5C0
@@ -149766,8 +149364,8 @@ Obj_FBZEndBoss:
move.b #1,(Boss_flag).w
move.w #$77,$2E(a0)
move.l #loc_70632,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
jsr (Create_New_Sprite).l
bne.s loc_70620
move.l #Obj_Song_Fade_Transition,(a1)
@@ -149974,12 +149572,12 @@ loc_70870:
clr.b (Boss_flag).w
jsr (Create_New_Sprite).l
bne.s loc_70898
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
move.w #$307C,$10(a1)
move.w #$660,$14(a1)
loc_70898:
- move.w #$2FDC,(Target_camera_max_X_pos).w
+ move.w #$2FDC,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -149995,14 +149593,14 @@ loc_708AA:
clr.w $2E(a0)
lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
jsr (Create_New_Sprite).l
bne.s loc_708EE
move.l #loc_863C0,(a1)
loc_708EE:
move.w #$1000,(Camera_target_max_Y_pos).w
- move.w #$3738,(Target_camera_max_X_pos).w
+ move.w #$3738,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
lea word_7091C(pc),a6
@@ -150256,8 +149854,8 @@ loc_70BA0:
; ---------------------------------------------------------------------------
loc_70BB0:
- moveq #sfx_FlamethrowerQuiet,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_FlamethrowerQuiet),d0
+ jsr (Play_SFX_Continuous).l
jsr (Child_GetPriority).l
jsr (Refresh_ChildPosition).l
jsr (Animate_RawMultiDelay).l
@@ -150308,8 +149906,8 @@ loc_70C4A:
move.w #$800,$18(a0)
lea (Player_1).w,a1
subq.w #8,$10(a1)
- moveq #sfx_FloorThump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorThump),d0
+ jsr (Play_SFX).l
loc_70C66:
jsr (MoveSprite_LightGravity).l
@@ -150324,8 +149922,8 @@ sub_70C72:
move.b $3C(a0),d0
andi.b #$7F,d0
bne.s locret_70C8C
- moveq #sfx_SpikeBalls,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeBalls),d0
+ jsr (Play_SFX).l
locret_70C8C:
rts
@@ -150524,8 +150122,8 @@ sub_70E10:
tst.b $20(a0)
bne.s loc_70E34
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_70E34:
bset #6,$2A(a0)
@@ -150604,29 +150202,35 @@ ObjDat3_70EC8: dc.l Map_FBZEndBossFlame
dc.b $10
dc.b 0
dc.b $8B
-ObjDat_FBZExitDoor: dc.l Map_FBZExitDoor
+ObjDat_FBZExitDoor:
+ dc.l Map_FBZExitDoor
dc.w $43E5
dc.w $80
dc.b 8
dc.b $20
dc.b 0
dc.b $D7
-ChildObjDat_70EE0:dc.w 2
+ChildObjDat_70EE0:
+ dc.w 2
dc.l loc_70948
dc.w $D048
dc.l loc_70948
dc.w $3048
dc.l loc_70AFC
dc.w $D8
-ChildObjDat_70EF4:dc.w 0
+ChildObjDat_70EF4:
+ dc.w 0
dc.l loc_70A46
dc.w $E0
-ChildObjDat_70EFC:dc.w 3
+ChildObjDat_70EFC:
+ dc.w 3
dc.l loc_70AA2
dc.w 0
-ChildObjDat_70F04:dc.w 8
+ChildObjDat_70F04:
+ dc.w 8
dc.l loc_70B8C
-ChildObjDat_70F0A:dc.w 3
+ChildObjDat_70F0A:
+ dc.w 3
dc.l loc_70BD0
dc.w $EC08
dc.l loc_70BD0
@@ -150635,7 +150239,8 @@ ChildObjDat_70F0A:dc.w 3
dc.w $F020
dc.l loc_70BD0
dc.w $1020
-ChildObjDat_70F24:dc.w 3
+ChildObjDat_70F24:
+ dc.w 3
dc.l loc_70BFE
dc.w $F8F0
dc.l loc_70BFE
@@ -150677,15 +150282,14 @@ byte_70F70: dc.b 0, 2
dc.b 3, 5
dc.b 4, 6
dc.b $F4, 0
-Map_FBZExitDoor: include "Levels/FBZ/Misc Object Data/Map - Exit Door.asm"
-
-Pal_FBZEndBoss: binclude "Levels/FBZ/Palettes/FBZ End Boss.bin"
- even
-
+Map_FBZExitDoor:
+ include "Levels/FBZ/Misc Object Data/Map - Exit Door.asm"
+Pal_FBZEndBoss:
+ binclude "Levels/FBZ/Palettes/FBZ End Boss.bin"
+ even
Map_FBZEndBoss: include "Levels/FBZ/Misc Object Data/Map - End Boss.asm"
-
-Map_FBZEndBossFlame: include "Levels/FBZ/Misc Object Data/Map - End Boss Flame.asm"
-
+Map_FBZEndBossFlame:
+ include "Levels/FBZ/Misc Object Data/Map - End Boss Flame.asm"
FBZEndBoss_CircleLookup1:
dc.b 0, 2, 4, 5, 7, 9, $B, $C, $E, $10, $11, $13, $15, $17, $18, $1A, $1C, $1D, $1F, $20
dc.b $22, $23, $25, $27, $28, $29, $2B, $2C, $2E, $2F, $30, $32, $33, $34, $35, $37, $38, $39, $3A, $3B
@@ -150824,8 +150428,8 @@ loc_7128A:
bset #2,$38(a0)
move.w #$7F,$2E(a0)
move.l #loc_712A8,$34(a0)
- moveq #sfx_TunnelBooster,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TunnelBooster),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -150852,8 +150456,8 @@ loc_712DA:
neg.w $3E(a0)
move.w $3E(a0),$18(a0)
move.w #$5F,$2E(a0)
- moveq #sfx_BossRotate,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossRotate),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -151089,9 +150693,9 @@ loc_7155A:
loc_71566:
move.b #8,5(a0)
- move.b #-$75,$28(a0)
- moveq #sfx_BossRotate,d0
- jsr (Play_Sound_2).l
+ move.b #$8B,$28(a0)
+ moveq #signextendB(sfx_BossRotate),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -151182,8 +150786,8 @@ loc_7164E:
loc_71654:
move.b #$14,5(a0)
- moveq #sfx_LevelProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_LevelProjectile),d0
+ jsr (Play_SFX).l
move.w #$400,$1A(a0)
clr.w $18(a0)
move.w #$45,$2E(a0)
@@ -151478,8 +151082,8 @@ sub_718DA:
tst.b $20(a0)
bne.s loc_718FA
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_718FA:
bset #6,$2A(a0)
@@ -151545,7 +151149,8 @@ word_7197E: dc.w $180
dc.b $C
dc.b $B
dc.b 0
-ChildObjDat_71984:dc.w 5
+ChildObjDat_71984:
+ dc.w 5
dc.l loc_71446
dc.w $F2F5
dc.l loc_71446
@@ -151558,9 +151163,11 @@ ChildObjDat_71984:dc.w 5
dc.w $EF5
dc.l loc_71446
dc.w $E
-ChildObjDat_719AA:dc.w 7
+ChildObjDat_719AA:
+ dc.w 7
dc.l loc_714B8
-ChildObjDat_719B0:dc.w 3
+ChildObjDat_719B0:
+ dc.w 3
dc.l loc_7168A
dc.w $F4F4
dc.l loc_7168A
@@ -151586,12 +151193,10 @@ ChildObjDat_719B0:dc.w 3
dc.b 3
dc.b $F4
dc.b 0
-Pal_ICZMiniboss: binclude "Levels/ICZ/Palettes/Miniboss.bin"
- even
-
+Pal_ICZMiniboss:binclude "Levels/ICZ/Palettes/Miniboss.bin"
+ even
word_719FA: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_4+$02, 10, 2-1
.data palscriptdata 8, $EEC, $CC6, $C80, $C60, $C40, $A40, $820, $620, $200, $600
palscriptdata 8, $EEC, $CC6, $C82, $C80, $C40, $A40, $820, $820, $200, $600
@@ -151607,31 +151212,26 @@ word_719FA: palscriptptr .header, .data
word_71AE6: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$14, 1, 3-1
.data palscriptdata 8, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 6, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr3
-
.headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 4, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr4
-
.headr4 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 2, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr5
-
.headr5 palscripthdr Normal_palette_line_2+$14, 1, 0
palscriptdata 1, $222
palscriptdata 1, $C22
@@ -151640,31 +151240,26 @@ word_71AE6: palscriptptr .header, .data
word_71B52: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$14, 1, 3-1
.data palscriptdata 2, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 4, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr3
-
.headr3 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 6, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr4
-
.headr4 palscripthdr Normal_palette_line_2+$14, 1, 3-1
palscriptdata 8, $222
palscriptdata 1, $C22
palscriptdata 1, $EE0
palscriptloop .headr5
-
.headr5 palscripthdr Normal_palette_line_2+$14, 1, 5-1
palscriptdata 10,$222
palscriptdata 1, $C22
@@ -151790,8 +151385,8 @@ loc_71D02:
loc_71D1E:
move.l #loc_71D46,$34(a0)
- moveq #sfx_FrostPuff,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FrostPuff),d0
+ jsr (Play_SFX).l
bsr.w sub_7213A
cmpi.w #2,$26(a0)
bne.w locret_71C14
@@ -151835,14 +151430,14 @@ loc_71D9E:
clr.b (Boss_flag).w
jsr (Create_New_Sprite).l
bne.s loc_71DC6
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
move.w #$4560,$10(a1)
move.w #$6A3,$14(a1)
loc_71DC6:
move.w (_unkFAB4).w,d0
addi.w #$130,d0
- move.w d0,(Target_camera_max_X_pos).w
+ move.w d0,(Camera_stored_max_X_pos).w
jsr (Create_New_Sprite).l
bne.s locret_71DE0
move.l #Obj_IncLevEndXGradual,(a1)
@@ -151859,9 +151454,9 @@ loc_71DE2:
jsr (Restore_PlayerControl).l
lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
- jsr (Obj_PlayLevelMusic).l
- move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
- move.w #$47C0,(Target_camera_max_X_pos).w
+ jsr (Restore_LevelMusic).l
+ move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w
+ move.w #$47C0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
jmp (Go_Delete_Sprite_2).l
@@ -152117,7 +151712,7 @@ word_720BE: dc.w $FFF0, $20, $FFF0, $20
loc_720C6:
move.l #loc_720D4,(a0)
- move.b #-$65,$28(a0)
+ move.b #$9B,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -152300,8 +151895,8 @@ sub_7225C:
loc_72284:
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_72292:
bset #6,$2A(a0)
@@ -152383,26 +151978,33 @@ word_72330: dc.w $180
dc.b $10
dc.b 0
dc.b 0
-ChildObjDat_72336:dc.w 0
+ChildObjDat_72336:
+ dc.w 0
dc.l Obj_RobotnikShip4
dc.w 0
-ChildObjDat_7233E:dc.w 2
+ChildObjDat_7233E:
+ dc.w 2
dc.l loc_71E28
dc.w $1807
dc.l loc_71E98
dc.w $B
dc.l loc_71F30
dc.w $2D
-ChildObjDat_72352:dc.w 5
+ChildObjDat_72352:
+ dc.w 5
dc.l loc_72020
-ChildObjDat_72358:dc.w 6
+ChildObjDat_72358:
+ dc.w 6
dc.l loc_72020
-ChildObjDat_7235E:dc.w 3
+ChildObjDat_7235E:
+ dc.w 3
dc.l loc_72020
-ChildObjDat_72364:dc.w 0
+ChildObjDat_72364:
+ dc.w 0
dc.l loc_720C6
dc.w 8
-ChildObjDat_7236C:dc.w 2
+ChildObjDat_7236C:
+ dc.w 2
dc.l loc_720F2
dc.w $EC04
dc.l loc_720F2
@@ -152435,8 +152037,7 @@ byte_7239C: dc.b $10, 1
dc.b 0, 1
dc.b $FC, 0
Pal_ICZEndBoss: binclude "Levels/ICZ/Palettes/End Boss.bin"
- even
-
+ even
byte_723D0: dc.b 0, 2
dc.b 4, 2
dc.b 0, 2
@@ -152906,8 +152507,8 @@ loc_7285A:
move.b 5(a0),$3A(a0)
move.b #$A,5(a0)
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_7287A:
jsr (BossFlash).l
@@ -153011,12 +152612,15 @@ word_72968: dc.w $180
dc.b 8
dc.b 6
dc.b $98
-ChildObjDat_7296E:dc.w 0
+ChildObjDat_7296E:
+ dc.w 0
dc.l loc_72596
dc.w 0
-ChildObjDat_72976:dc.w 5
+ChildObjDat_72976:
+ dc.w 5
dc.l loc_725F4
-ChildObjDat_7297C:dc.w 5
+ChildObjDat_7297C:
+ dc.w 5
dc.l loc_725EE
byte_72982: dc.b $F, 0
dc.b 1, 0
@@ -153030,12 +152634,11 @@ byte_72988: dc.b 7, 3
dc.b 7, 5
dc.b 4, 3
dc.b 4, $FC
-Pal_LBZMiniboss: binclude "Levels/LBZ/Palettes/Miniboss.bin"
- even
-
+Pal_LBZMiniboss:binclude "Levels/LBZ/Palettes/Miniboss.bin"
+ even
; ---------------------------------------------------------------------------
-Obj_LBZ_FinalBoss1:
+Obj_LBZFinalBoss1:
moveq #0,d0
move.b 5(a0),d0
move.w off_729D2(pc,d0.w),d1
@@ -153222,7 +152825,7 @@ loc_72B96:
tst.b (End_of_level_flag).w
beq.w locret_72B02
move.l #loc_72BBC,(a0)
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
move.w #$1F,$2E(a0)
lea (PLC_BossExplosion).l,a1
jmp (Load_PLC_Raw).l
@@ -153245,7 +152848,7 @@ loc_72BBC:
loc_72BFA:
lea (ArtKosM_LBZ2DeathEggSmall).l,a1
- move.w #-$6A40,d2
+ move.w #$95C0,d2
jmp (Queue_Kos_Module).l
; ---------------------------------------------------------------------------
@@ -153299,18 +152902,13 @@ loc_72C68:
; clears player 1's anim here, as P2 is absent from the final boss.
clr.b $20(a0)
-; =============== S U B R O U T I N E =======================================
-
-
sub_72C8E:
- move.b #-$7D,$2E(a1)
+ move.b #$83,$2E(a1)
clr.b $24(a1)
clr.b $23(a1)
locret_72C9C:
rts
-; End of function sub_72C8E
-
; ---------------------------------------------------------------------------
loc_72C9E:
@@ -153595,7 +153193,7 @@ word_72FEA: dc.w 0, $428, $4280, $4380
dc.w $328, $328, $4300, $4300
; ---------------------------------------------------------------------------
-Obj_CD_1_LBZ2_TallBoss:
+Obj_LBZFinalBossKnux:
lea word_72FEA(pc),a1
jsr (Check_CameraInRange).l
move.b #mus_EndBoss,$26(a0)
@@ -153628,7 +153226,7 @@ loc_73046:
; ---------------------------------------------------------------------------
loc_7304C:
- move.l #Obj_LBZ_FinalBoss1,(a0)
+ move.l #Obj_LBZFinalBoss1,(a0)
rts
; ---------------------------------------------------------------------------
@@ -153648,7 +153246,7 @@ loc_73070:
bset #5,$38(a0)
jsr (Create_New_Sprite).l
bne.s loc_73088
- move.l #Obj_LBZ_FinalBoss2,(a1)
+ move.l #Obj_LBZFinalBoss2,(a1)
loc_73088:
jmp (Go_Delete_Sprite_2).l
@@ -153845,8 +153443,8 @@ loc_732BA:
move.l #loc_732F6,(a0)
tst.b 4(a0)
bpl.s loc_732CE
- moveq #sfx_Lazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Laser),d0
+ jsr (Play_SFX).l
loc_732CE:
move.b #-$64,$28(a0)
@@ -153940,7 +153538,7 @@ loc_733E2:
addq.b #1,d0
move.b d0,$39(a0)
andi.b #3,d0
- andi.b #-4,4(a0)
+ andi.b #$FC,4(a0)
or.b d0,4(a0)
rts
@@ -154080,8 +153678,8 @@ sub_734FA:
move.b #6,5(a0)
move.b #$20,$20(a0)
bset #6,$2A(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
move.w $1A(a0),d0
asl.w #1,d0
cmpi.w #-$800,d0
@@ -154329,14 +153927,16 @@ ObjDat3_7375A: dc.l Map_LBZDeathEggSmall
dc.b 4
dc.b 4
dc.b 0
-ChildObjDat_73766:dc.w 2
+ChildObjDat_73766:
+ dc.w 2
dc.l loc_7308E
dc.w 8
dc.l loc_730F8
dc.w $30
dc.l loc_73100
dc.w $5C
-ChildObjDat_7377A:dc.w 3
+ChildObjDat_7377A:
+ dc.w 3
dc.l loc_73138
dc.w $F0FC
dc.l loc_73138
@@ -154345,7 +153945,8 @@ ChildObjDat_7377A:dc.w 3
dc.w $F010
dc.l loc_73138
dc.w $1010
-ChildObjDat_73794:dc.w 5
+ChildObjDat_73794:
+ dc.w 5
dc.l loc_73138
dc.w $F0F8
dc.l loc_73138
@@ -154358,37 +153959,46 @@ ChildObjDat_73794:dc.w 5
dc.w $ECE0
dc.l loc_73138
dc.w $14E0
-ChildObjDat_737BA:dc.w 1
+ChildObjDat_737BA:
+ dc.w 1
dc.l loc_731CE
dc.w 0
-ChildObjDat_737C2:dc.w 0
+ChildObjDat_737C2:
+ dc.w 0
dc.l loc_7321A
dc.w $F800
dc.w 0
dc.l loc_7321A
dc.w $800
-ChildObjDat_737D2:dc.w 0
+ChildObjDat_737D2:
+ dc.w 0
dc.l loc_7333A
dc.w $2000
-ChildObjDat_737DA:dc.w 1
+ChildObjDat_737DA:
+ dc.w 1
dc.l loc_73364
dc.w $EC30
dc.l loc_73364
dc.w $1430
-ChildObjDat_737E8:dc.w 0
+ChildObjDat_737E8:
+ dc.w 0
dc.l loc_73396
dc.w 0
-ChildObjDat_737F0:dc.w 0
+ChildObjDat_737F0:
+ dc.w 0
dc.l loc_73164
dc.w $EC
-ChildObjDat_737F8:dc.w 1
+ChildObjDat_737F8:
+ dc.w 1
dc.l loc_73192
dc.w $F000
dc.l loc_73192
dc.w $1000
-ChildObjDat_73806:dc.w 1
+ChildObjDat_73806:
+ dc.w 1
dc.l loc_72D24
-ChildObjDat_7380C:dc.w 6
+ChildObjDat_7380C:
+ dc.w 6
dc.l loc_72E9E
dc.w 0
dc.l loc_72E9E
@@ -154403,9 +154013,11 @@ ChildObjDat_7380C:dc.w 6
dc.w $DCF8
dc.l loc_72E9E
dc.w $B01C
-ChildObjDat_73838:dc.w 0
+ChildObjDat_73838:
+ dc.w 0
dc.l loc_72F4C
-ChildObjDat_7383E:dc.w 0
+ChildObjDat_7383E:
+ dc.w 0
dc.l loc_72FB2
byte_73844: dc.b 2, 9
dc.b $A, $B
@@ -154454,17 +154066,18 @@ byte_73874: dc.b 5, $C4
dc.b 1, $5A
dc.b 1, $5A
dc.b 1, 0
-Pal_LBZFinalBoss1: binclude "Levels/LBZ/Palettes/Final Boss 1.bin"
- even
-
+Pal_LBZFinalBoss1:
+ binclude "Levels/LBZ/Palettes/Final Boss 1.bin"
+ even
Pal_LBZEnding: binclude "Levels/LBZ/Palettes/Ending.bin"
- even
-
-word_738C6: dc.w $460, $6A0, $3900, $3B20
-word_738CE: dc.w $5A0, $5A0, $3A20, $3A20
+ even
+word_738C6: dc.w $460, $6A0
+ dc.w $3900, $3B20
+word_738CE: dc.w $5A0, $5A0
+ dc.w $3A20, $3A20
; ---------------------------------------------------------------------------
-Obj_LBZ_EndBoss:
+Obj_LBZEndBoss:
lea word_738C6(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
@@ -154496,7 +154109,7 @@ loc_73906:
moveq #$77,d0
jsr (Load_PLC).l
lea (ArtKosM_LBZEndBoss).l,a1
- move.w #-$7B60,d2
+ move.w #$84A0,d2
jsr (Queue_Kos_Module).l
lea Pal_LBZEndBoss(pc),a1
jmp (PalLoad_Line1).l
@@ -154545,8 +154158,8 @@ loc_739B2:
move.w d0,(Camera_X_pos).w
move.b #8,5(a0)
clr.b (Scroll_lock).w
- moveq #sfx_Rising,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rising),d0
+ jsr (Play_SFX).l
move.w #-$40,$1A(a0)
move.w #$DF,$2E(a0)
move.l #loc_739F2,$34(a0)
@@ -154584,8 +154197,8 @@ loc_73A20:
loc_73A36:
move.b #$C,5(a0)
- moveq #sfx_TubeLauncher,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TubeLauncher),d0
+ jsr (Play_SFX).l
bra.w loc_73F1C
; ---------------------------------------------------------------------------
@@ -154606,7 +154219,7 @@ loc_73A6A:
bset #5,$38(a0)
bclr #7,4(a0)
clr.b (Boss_flag).w
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
lea (Player_2).w,a1
bclr #4,$2A(a1)
move.l #Go_Delete_Sprite_2,(a0)
@@ -154624,7 +154237,7 @@ loc_73A92:
movea.w $46(a0),a1
btst #7,$2A(a1)
beq.s loc_73ABE
- bsr.w sub_73B82
+ bsr.w loc_73B82
loc_73ABE:
jmp (Child_DrawTouch_Sprite).l
@@ -154664,7 +154277,7 @@ loc_73B12:
loc_73B24:
move.b #6,5(a0)
- move.l #sub_73B82,$34(a0)
+ move.l #loc_73B82,$34(a0)
move.w $26(a0),d0
clr.w $1A(a0)
rts
@@ -154689,19 +154302,15 @@ loc_73B56:
bne.w locret_7399C
lea ChildObjDat_74198(pc),a2
jmp (CreateChild1_Normal).l
+; ---------------------------------------------------------------------------
-; =============== S U B R O U T I N E =======================================
-
-
-sub_73B82:
+loc_73B82:
move.l #Delete_Current_Sprite,(a0)
bset #7,$2A(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
lea ChildObjDat_741A0(pc),a2
jmp (CreateChild1_Normal).l
-; End of function sub_73B82
-
; ---------------------------------------------------------------------------
loc_73BA0:
@@ -155146,8 +154755,8 @@ sub_73FE2:
tst.b $20(a0)
bne.s loc_74006
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_74006:
bset #6,$2A(a0)
@@ -155177,7 +154786,7 @@ loc_7403A:
bclr #7,4(a0)
move.w #$7F,$2E(a0)
bset #4,$38(a0)
- move.w #-$5BDB,$A(a0)
+ move.w #$A425,$A(a0)
move.w #-$200,$1A(a0)
move.l #loc_73A6A,$34(a0)
lea (Child6_CreateBossExplosion).l,a2
@@ -155186,7 +154795,7 @@ loc_7403A:
move.b #4,$2C(a1)
loc_74086:
- move.w #$3AB8,(Target_camera_max_X_pos).w
+ move.w #$3AB8,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; End of function sub_73FE2
@@ -155203,7 +154812,7 @@ loc_74098:
loc_740AA:
move.l #MoveChkDel,(a0)
bset #7,$2A(a0)
- move.w #-$5BDB,$A(a0)
+ move.w #$A425,$A(a0)
moveq #0,d0
move.b $2C(a0),d0
move.w word_740E4(pc,d0.w),$18(a0)
@@ -155280,37 +154889,45 @@ ObjDat3_74140: dc.l Map_LBZEndBoss
dc.b 8
dc.b $E
dc.b 0
-ChildObjDat_7414C:dc.w 1
+ChildObjDat_7414C:
+ dc.w 1
dc.l loc_73E0E
dc.w $F8
dc.l loc_73EA2
dc.w $E890
-ChildObjDat_7415A:dc.w 0
+ChildObjDat_7415A:
+ dc.w 0
dc.l loc_73D74
dc.w $70E8
-ChildObjDat_74162:dc.w 2
+ChildObjDat_74162:
+ dc.w 2
dc.l loc_73C0A
dc.w $E838
dc.l loc_73C0A
dc.w $1838
dc.l loc_73C0A
dc.w $38
-ChildObjDat_74176:dc.w 2
+ChildObjDat_74176:
+ dc.w 2
dc.l loc_73C82
dc.w $E8
dc.l loc_73C82
dc.w $F8
dc.l loc_73C82
dc.w 8
-ChildObjDat_7418A:dc.w 3
+ChildObjDat_7418A:
+ dc.w 3
dc.l loc_73CB0
-ChildObjDat_74190:dc.w 0
+ChildObjDat_74190:
+ dc.w 0
dc.l loc_73A92
dc.w 0
-ChildObjDat_74198:dc.w 0
+ChildObjDat_74198:
+ dc.w 0
dc.l loc_73BA0
dc.w $10
-ChildObjDat_741A0:dc.w $B
+ChildObjDat_741A0:
+ dc.w $B
dc.l loc_73BF6
dc.w $F8F8
dc.l loc_73BF6
@@ -155356,7 +154973,7 @@ byte_741F8: dc.b 5
dc.b 9
dc.b $F4
Pal_LBZEndBoss: binclude "Levels/LBZ/Palettes/End Boss.bin"
- even
+ even
Map_7421E: dc.w word_74222-Map_7421E
dc.w word_74254-Map_7421E
word_74222: dc.w 8
@@ -155371,10 +154988,9 @@ word_74222: dc.w 8
word_74254: dc.w 2
dc.b $EC, $07, 0, 0, $FF, $F8
dc.b $F4, $07, 0, 0, $FF, $F8
-
; ---------------------------------------------------------------------------
-Obj_LBZ_FinalBoss2:
+Obj_LBZFinalBoss2:
moveq #0,d0
move.b 5(a0),d0
move.w off_7427C(pc,d0.w),d1
@@ -155723,8 +155339,8 @@ loc_745F6:
bset #1,$38(a0)
move.w #$14,(Screen_shake_flag).w
move.w #3,$2E(a0)
- moveq #sfx_BossHitFloor,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHitFloor),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -155781,8 +155397,8 @@ loc_7468C:
clr.b $3D(a1)
move.b #2,$20(a1)
move.b #2,5(a1)
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_746C8:
@@ -156343,10 +155959,10 @@ loc_74DA4:
lea (ChildObjDat_690D8).l,a2
jsr (CreateChild1_Normal).l
move.w #$1000,d0
- move.w d0,(Target_camera_max_Y_pos).w
+ move.w d0,(Camera_stored_max_Y_pos).w
move.w d0,(Camera_target_max_Y_pos).w
- move.w #$6000,(Target_camera_max_X_pos).w
- move.w #0,(Target_camera_min_Y_pos).w
+ move.w #$6000,(Camera_stored_max_X_pos).w
+ move.w #0,(Camera_stored_min_Y_pos).w
lea (Child1_Act2LevelSize).l,a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -156559,8 +156175,8 @@ sub_74FD2:
loc_74FFA:
move.b #$3C,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
movea.w $44(a0),a1
clr.b $28(a1)
@@ -156685,7 +156301,8 @@ ObjDat3_75116: dc.l Map_LBZFinalBoss1
dc.b 4
dc.b $15
dc.b 0
-ChildObjDat_75122:dc.w 3
+ChildObjDat_75122:
+ dc.w 3
dc.l loc_749D0
dc.w $1424
dc.l loc_749AE
@@ -156694,10 +156311,12 @@ ChildObjDat_75122:dc.w 3
dc.w $E8
dc.l loc_74BC0
dc.w $38EC
-ChildObjDat_7513C:dc.w 0
+ChildObjDat_7513C:
+ dc.w 0
dc.l loc_74C00
dc.w $4CC
-ChildObjDat_75144:dc.w 3
+ChildObjDat_75144:
+ dc.w 3
dc.l loc_74AFA
dc.w $D6FE
dc.l loc_74AFA
@@ -156706,7 +156325,8 @@ ChildObjDat_75144:dc.w 3
dc.w 0
dc.l loc_74C24
dc.w $C0FE
-ChildObjDat_7515E:dc.w 4
+ChildObjDat_7515E:
+ dc.w 4
dc.l loc_74D14
dc.w $F4D4
dc.l loc_74D14
@@ -156717,13 +156337,16 @@ ChildObjDat_7515E:dc.w 4
dc.w $F4FC
dc.l loc_74D14
dc.w $14FC
-ChildObjDat_7517E:dc.w 0
+ChildObjDat_7517E:
+ dc.w 0
dc.l loc_74D48
dc.w 8
-ChildObjDat_75186:dc.w 0
+ChildObjDat_75186:
+ dc.w 0
dc.l loc_74E12
dc.w $10
-ChildObjDat_7518E:dc.w 0
+ChildObjDat_7518E:
+ dc.w 0
dc.l loc_74E30
byte_75194: dc.b 9
dc.b 7
@@ -156747,12 +156370,12 @@ byte_7519C: dc.b 9
dc.b 5
dc.b 6
dc.b $F4
-Pal_LBZFinalBoss2: binclude "Levels/LBZ/Palettes/Final Boss 2.bin"
- even
-
+Pal_LBZFinalBoss2:
+ binclude "Levels/LBZ/Palettes/Final Boss 2.bin"
+ even
; ---------------------------------------------------------------------------
-Obj_MHZ_Miniboss:
+Obj_MHZMiniboss:
moveq #0,d0
move.b 5(a0),d0
move.w off_751F0(pc,d0.w),d1
@@ -156876,7 +156499,7 @@ loc_75356:
move.w #$4F,$2E(a0)
move.l #loc_753A4,$34(a0)
move.w #$6000,(Camera_target_max_X_pos).w
- move.w #$6000,(Target_camera_max_X_pos).w
+ move.w #$6000,(Camera_stored_max_X_pos).w
jsr (Create_New_Sprite).l
bne.s locret_75390
move.l #loc_75E1A,(a1)
@@ -156944,8 +156567,8 @@ loc_7541A:
cmpi.b #$A,$23(a0)
bne.s locret_75442
subq.b #1,$42(a0)
- moveq #sfx_ChopTree,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ChopTree),d0
+ jsr (Play_SFX).l
locret_75442:
rts
@@ -157012,8 +156635,8 @@ loc_754E0:
beq.s locret_75506
cmpi.b #$12,$22(a0)
bne.s loc_754F8
- moveq #sfx_ChopStuck,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ChopStuck),d0
+ jsr (Play_SFX).l
loc_754F8:
cmpi.b #$C,$23(a0)
@@ -157030,8 +156653,8 @@ loc_75508:
move.l #byte_75EF3,$30(a0)
move.w #-$400,$18(a0)
move.w #-$400,$1A(a0)
- moveq #sfx_ChopStuck,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ChopStuck),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -157514,7 +157137,7 @@ loc_75A7E:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_91_2:
+Obj_MHZMinibossTree:
lea ObjDat3_75E66(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_75A94,(a0)
@@ -157523,7 +157146,7 @@ loc_75A94:
move.w (_unkFAA4).w,d0
beq.s loc_75ACE
movea.w d0,a1
- cmpi.l #Obj_MHZ_Miniboss,(a1)
+ cmpi.l #Obj_MHZMiniboss,(a1)
bne.s loc_75ACE
tst.b 4(a0)
bmi.s loc_75AB0
@@ -157855,8 +157478,8 @@ sub_75D80:
tst.b $20(a0)
bne.s loc_75DA0
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_75DA0:
@@ -157914,7 +157537,7 @@ loc_75E1A:
move.l d1,$30(a0)
swap d1
add.w d1,d0
- cmp.w (Target_camera_max_X_pos).w,d0
+ cmp.w (Camera_stored_max_X_pos).w,d0
bhs.s loc_75E46
move.w d0,(Camera_max_X_pos).w
move.w d0,$34(a0)
@@ -157922,7 +157545,7 @@ loc_75E1A:
; ---------------------------------------------------------------------------
loc_75E46:
- move.w (Target_camera_max_X_pos).w,(Camera_max_X_pos).w
+ move.w (Camera_stored_max_X_pos).w,(Camera_max_X_pos).w
loc_75E4C:
jmp (Delete_Current_Sprite).l
@@ -157959,19 +157582,23 @@ word_75E7E: dc.w $300
dc.b 8
dc.b $18
dc.b $8B
-ChildObjDat_75E84:dc.w 1
+ChildObjDat_75E84:
+ dc.w 1
dc.l loc_757C0
dc.w 0
dc.l loc_757C0
dc.w 0
dc.l loc_75B64
dc.w 0
-ChildObjDat_75E98:dc.w 0
+ChildObjDat_75E98:
+ dc.w 0
dc.l loc_75AD4
-ChildObjDat_75E9E:dc.w 0
+ChildObjDat_75E9E:
+ dc.w 0
dc.l loc_7583A
dc.w $F8
-ChildObjDat_75EA6:dc.w 0
+ChildObjDat_75EA6:
+ dc.w 0
dc.l loc_759C0
dc.w $113
byte_75EAE: dc.b 0, $B
@@ -158038,15 +157665,14 @@ byte_75F1C: dc.b $18, 3
dc.b $1B, 3
dc.b $1C, $B
dc.b $FC, 0
-Pal_MHZMiniboss: binclude "Levels/MHZ/Palettes/Miniboss.bin"
- even
-
+Pal_MHZMiniboss:binclude "Levels/MHZ/Palettes/Miniboss.bin"
+ even
PLC_75F48: dc.w 0
dc.l ArtNem_BossExplosion
dc.w $9A40
; ---------------------------------------------------------------------------
-Obj_MHZ_EndBoss:
+Obj_MHZEndBoss:
lea word_769F4(pc),a1
jsr (Check_CameraInRange).l
move.l #loc_75FD4,(a0)
@@ -158121,8 +157747,8 @@ loc_7603E:
move.w #-$200,$1A(a0)
move.w #$23,$2E(a0)
move.l #loc_7606E,$34(a0)
- moveq #sfx_Rising,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rising),d0
+ jsr (Play_SFX).l
locret_76060:
rts
@@ -158152,8 +157778,8 @@ loc_7609A:
move.w #$400,$18(a0)
move.w #$3F,$2E(a0)
move.l #loc_760C4,$34(a0)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -158169,7 +157795,7 @@ loc_760C4:
move.l #loc_76896,(a1)
loc_760F4:
- move.w #$45A0,(Target_camera_max_X_pos).w
+ move.w #$45A0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -158255,7 +157881,7 @@ loc_761E8:
jsr (PLCLoad_AnimalsAndExplosion).l
jsr (Create_New_Sprite).l
bne.s loc_76236
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
move.w #$4640,$10(a1)
move.w #$320,$14(a1)
@@ -158299,7 +157925,7 @@ loc_76270:
lea (Player_2).w,a1
bset #7,$A(a1)
jsr (Restore_PlayerControl2).l
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
st (Ctrl_1_locked).w
move.w #$101,(Ctrl_1_logical).w
st (Ctrl_2_locked).w
@@ -158307,7 +157933,7 @@ loc_76270:
jsr (sub_8638A).l
move.w #$1BF,$2E(a0)
move.w #$55,(Events_fg_4).w
- move.w #$5000,(Target_camera_max_X_pos).w
+ move.w #$5000,(Camera_stored_max_X_pos).w
bclr #5,$38(a0)
lea ChildObjDat_7699C(pc),a2
jsr (CreateChild1_Normal).l
@@ -158338,8 +157964,8 @@ loc_76318:
; ---------------------------------------------------------------------------
loc_76356:
- moveq #sfx_EggmanSiren,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_RobotnikSiren),d0
+ jsr (Play_SFX_Continuous).l
jsr (sub_8638A).l
moveq #0,d1
move.w (Camera_X_pos).w,d0
@@ -158404,8 +158030,8 @@ loc_76404:
bset #0,4(a1)
bset #0,$2A(a1)
move.w #$5F,$2E(a0)
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s loc_76456
move.l #loc_7646E,(a1)
@@ -158500,8 +158126,8 @@ loc_7654A:
andi.w #$F,d0
addq.w #8,d0
move.w d0,$2E(a0)
- moveq #sfx_WeatherMachine,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WeatherMachine),d0
+ jsr (Play_SFX).l
loc_7656E:
jmp (Draw_And_Touch_Sprite).l
@@ -158731,8 +158357,8 @@ loc_767B0:
tst.b $20(a0)
bne.s loc_767E8
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
clr.b $28(a0)
clr.b $28(a4)
@@ -158902,11 +158528,14 @@ ObjDat3_7696A: dc.l Map_MHZEndBoss
dc.b $80
dc.b 0
dc.b 0
-ChildObjDat_76976:dc.w 1
+ChildObjDat_76976:
+ dc.w 1
dc.l loc_76502
-ChildObjDat_7697C:dc.w 0
+ChildObjDat_7697C:
+ dc.w 0
dc.l loc_764D0
-ChildObjDat_76982:dc.w 3
+ChildObjDat_76982:
+ dc.w 3
dc.l loc_7665E
dc.w $EC18
dc.l loc_7665E
@@ -158915,14 +158544,18 @@ ChildObjDat_76982:dc.w 3
dc.w $11AF
dc.l loc_764A0
dc.w $21F0
-ChildObjDat_7699C:dc.w 0
+ChildObjDat_7699C:
+ dc.w 0
dc.l Obj_RobotnikHead4
dc.w $E4
-ChildObjDat_769A4:dc.w 1
+ChildObjDat_769A4:
+ dc.w 1
dc.l loc_76604
-ChildObjDat_769AA:dc.w 3
+ChildObjDat_769AA:
+ dc.w 3
dc.l loc_76636
-ChildObjDat_769B0:dc.w 5
+ChildObjDat_769B0:
+ dc.w 5
dc.l loc_766CA
byte_769B6: dc.b 5, 1
dc.b 6, 3
@@ -158941,9 +158574,7 @@ byte_769CE: dc.b 1, $D
dc.b $E, $F
dc.b $10, $FC
Pal_MHZEndBoss: binclude "Levels/MHZ/Palettes/End Boss.bin"
- even
-
-
+ even
word_769F4: dc.w 0
dc.w $300
dc.w $3AA0
@@ -158956,10 +158587,10 @@ PLC_76A04: dc.w 1
dc.l ArtNem_EggCapsule
dc.w $9280
dc.l ArtNem_Explosion
- dc.w $B400
+ dc.w tiles_to_bytes(ArtTile_Explosion)
; ---------------------------------------------------------------------------
-Obj_SOZ_Miniboss:
+Obj_SOZMiniboss:
move.l #Obj_Wait,(a0)
move.w #$439D,$10(a0)
move.w #$9F7,$14(a0)
@@ -158979,8 +158610,8 @@ loc_76A42:
dbf d6,loc_76A42
move.l #loc_76A8A,$34(a0)
move.w #$78,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
lea (ArtKosM_SOZMiniboss).l,a1
move.w #$76A0,d2
jsr (Queue_Kos_Module).l
@@ -159026,9 +158657,9 @@ loc_76AC8:
move.w 8(a0),$3C(a0)
move.b #$3B,$1E(a0)
move.l #loc_76B30,$34(a0)
- moveq #mus_Miniboss,d0
- jsr (Play_Sound).l
- move.b #mus_Miniboss,(Level_music+1).w
+ moveq #signextendB(mus_Miniboss),d0
+ jsr (Play_Music).l
+ move.b #mus_Miniboss,(Current_music+1).w
move.w #$3F,$2E(a0)
move.l #loc_76B30,$34(a0)
jsr (Create_New_Sprite).l
@@ -159164,8 +158795,8 @@ loc_76C5E:
loc_76C72:
move.l #byte_7746A,$30(a0)
move.w #$14,(Screen_shake_flag).w
- moveq #sfx_BossHitFloor,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHitFloor),d0
+ jsr (Play_SFX).l
lea ChildObjDat_77402(pc),a2
jmp (CreateChild3_NormalRepeated).l
; ---------------------------------------------------------------------------
@@ -159182,8 +158813,8 @@ loc_76CA2:
clr.w $18(a0)
clr.w $1A(a0)
move.w #8,(Screen_shake_flag).w
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
lea ChildObjDat_7740A(pc),a2
jmp (CreateChild3_NormalRepeated).l
; ---------------------------------------------------------------------------
@@ -159405,9 +159036,9 @@ loc_76F0E:
lea word_773B8(pc),a1
jsr (SetUp_ObjAttributes3).l
move.w 8(a0),$3C(a0)
- move.l #loc_76F24,(a0)
+ move.l #Osc_Loop4,(a0)
-loc_76F24:
+Osc_Loop4:
bsr.w sub_770EA
movea.w $46(a0),a1
moveq #8,d0
@@ -159776,8 +159407,8 @@ sub_772F6:
move.b d0,$24(a0)
move.b d0,$3A(a0)
move.b d0,$39(a0)
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
movea.w $44(a0),a1
move.w #$200,d0
move.w $10(a1),d1
@@ -159797,8 +159428,8 @@ loc_77364:
move.w #$40,$1A(a0)
move.w #$BF,$2E(a0)
clr.b (Update_HUD_timer).w
- move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w (Camera_X_pos).w,(Camera_min_X_pos).w
move.w (Camera_X_pos).w,(Camera_max_X_pos).w
lea (Child6_CreateBossExplosion).l,a2
@@ -159840,34 +159471,40 @@ ObjDat3_773CA: dc.l Map_SOZMinibossDust
dc.b 8
dc.b 0
dc.b 0
-ChildObjDat_773D6:dc.w 7
+ChildObjDat_773D6:
+ dc.w 7
dc.l loc_76F0E
dc.w 0
-ChildObjDat_773DE:dc.w 0
+ChildObjDat_773DE:
+ dc.w 0
dc.l loc_77022
dc.w $40
-ChildObjDat_773E6:dc.w 1
+ChildObjDat_773E6:
+ dc.w 1
dc.l loc_76F46
dc.w $F4E4
dc.l loc_76F46
dc.w 0
-ChildObjDat_773F4:dc.w 1
+ChildObjDat_773F4:
+ dc.w 1
dc.l Obj_DecLevStartXGradual
dc.w 0
dc.l Obj_IncLevEndXGradual
dc.w 0
-ChildObjDat_77402:dc.w 5
+ChildObjDat_77402:
+ dc.w 5
dc.l loc_7706C
dc.w $FC38
-ChildObjDat_7740A:dc.w 5
+ChildObjDat_7740A:
+ dc.w 5
dc.l loc_7706C
dc.w 4
-Pal_SOZMinibossFade: binclude "Levels/SOZ/Palettes/Miniboss Fade.bin"
- even
-
-Pal_SOZMinibossMain: binclude "Levels/SOZ/Palettes/Miniboss Main.bin"
- even
-
+Pal_SOZMinibossFade:
+ binclude "Levels/SOZ/Palettes/Miniboss Fade.bin"
+ even
+Pal_SOZMinibossMain:
+ binclude "Levels/SOZ/Palettes/Miniboss Main.bin"
+ even
byte_77452: dc.b 0, 9
dc.b 0, $1F
dc.b 9, 9
@@ -159913,13 +159550,12 @@ byte_7749B: dc.b 0, 3
dc.b 2, 5
dc.b 3, 7
dc.b $F4
-Map_SOZMiniboss: include "Levels/SOZ/Misc Object Data/Map - Miniboss.asm"
-
-Map_SOZMinibossDust: include "Levels/SOZ/Misc Object Data/Map - Miniboss Landing Dust.asm"
-
+Map_SOZMiniboss:include "Levels/SOZ/Misc Object Data/Map - Miniboss.asm"
+Map_SOZMinibossDust:
+ include "Levels/SOZ/Misc Object Data/Map - Miniboss Landing Dust.asm"
; ---------------------------------------------------------------------------
-Obj_SOZ_EndBoss:
+Obj_SOZEndBoss:
moveq #0,d0
move.b 5(a0),d0
move.w off_7766E(pc,d0.w),d1
@@ -159972,8 +159608,8 @@ loc_776EA:
bhs.s locret_7770E
move.b #4,5(a0)
move.w #$3B,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
locret_7770E:
rts
@@ -159983,9 +159619,9 @@ loc_77710:
subq.w #1,$2E(a0)
bpl.w locret_77AF6
move.b #6,5(a0)
- moveq #mus_EndBoss,d0
- jsr (Play_Sound).l
- move.b #mus_EndBoss,(Level_music+1).w
+ moveq #signextendB(mus_EndBoss),d0
+ jsr (Play_Music).l
+ move.b #mus_EndBoss,(Current_music+1).w
loc_7772C:
lea word_7775A(pc),a1
@@ -160031,8 +159667,8 @@ loc_77790:
move.b #$A,5(a0)
move.w $46(a0),$2E(a0)
move.w #$14,(Screen_shake_flag).w
- moveq #sfx_ThumpBoss,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ThumpBoss),d0
+ jsr (Play_SFX).l
locret_777CA:
rts
@@ -160094,7 +159730,7 @@ loc_77848:
jsr (Swing_Setup1).l
jsr (Create_New_Sprite).l
bne.s loc_77882
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
move.w #$5360,$10(a1)
move.w #$720,$14(a1)
@@ -160141,7 +159777,7 @@ loc_778F2:
bne.w locret_77AF6
move.l #loc_77966,(a0)
jsr (Restore_PlayerControl).l
- jsr (Obj_PlayLevelMusic).l
+ jsr (Restore_LevelMusic).l
clr.w (Ctrl_1_logical).w
st (Ctrl_1_locked).w
clr.w $2E(a0)
@@ -160159,7 +159795,7 @@ loc_77936:
loc_77944:
move.w #-$100,(Camera_min_Y_pos).w
move.w #$800,(Camera_target_max_Y_pos).w
- move.w #$5440,(Target_camera_max_X_pos).w
+ move.w #$5440,(Camera_stored_max_X_pos).w
jsr (Create_New_Sprite).l
bne.s locret_77964
move.l #Obj_IncLevEndXGradual,(a1)
@@ -160282,7 +159918,7 @@ loc_77AB4:
loc_77AB8:
move.l #Map_SOZEndBoss,$C(a0)
- move.w #-$1C5C,$A(a0)
+ move.w #$E3A4,$A(a0)
moveq #0,d0
move.b $2C(a0),d0
move.w off_77AD4(pc,d0.w),d0
@@ -160598,8 +160234,8 @@ loc_77E4A:
loc_77E56:
move.l #loc_77E74,(a0)
move.w #8,$2E(a0)
- moveq #sfx_Lazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Laser),d0
+ jsr (Play_SFX).l
lea ChildObjDat_7833A(pc),a2
jsr (CreateChild1_Normal).l
@@ -160790,8 +160426,8 @@ sub_7806C:
subq.w #1,(_unkFA82).w
bpl.w locret_77AF6
move.w #$200,(_unkFA82).w
- moveq #sfx_Charging,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Charging),d0
+ jsr (Play_SFX).l
lea ChildObjDat_7832C(pc),a2
jmp (CreateChild1_Normal).l
; End of function sub_7806C
@@ -160981,8 +160617,8 @@ loc_781E4:
bne.s loc_7820A
bset #6,$2A(a0)
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_7820A:
moveq #0,d0
@@ -161102,7 +160738,8 @@ ObjDat3_782EE: dc.l Map_SpriteMask
dc.b $20
dc.b 4
dc.b 0
-ChildObjDat_782FA:dc.w 5
+ChildObjDat_782FA:
+ dc.w 5
dc.l loc_77CB4
dc.w $EC
dc.l loc_77D1A
@@ -161115,16 +160752,21 @@ ChildObjDat_782FA:dc.w 5
dc.w $24
dc.l Obj_RobotnikHead4
dc.w $E4
-ChildObjDat_78320:dc.w 2
+ChildObjDat_78320:
+ dc.w 2
dc.l loc_77AB8
-ChildObjDat_78326:dc.w 2
+ChildObjDat_78326:
+ dc.w 2
dc.l loc_77AB4
-ChildObjDat_7832C:dc.w 0
+ChildObjDat_7832C:
+ dc.w 0
dc.l loc_77DF8
dc.w $E8D2
-ChildObjDat_78334:dc.w $13
+ChildObjDat_78334:
+ dc.w $13
dc.l loc_77E7C
-ChildObjDat_7833A:dc.w 1
+ChildObjDat_7833A:
+ dc.w 1
dc.l loc_77FCE
dc.w $EC
dc.l loc_77F3E
@@ -161136,15 +160778,13 @@ byte_78348: dc.b 7
dc.b $C
dc.b $F4
Map_SOZEndBoss: include "Levels/SOZ/Misc Object Data/Map - End Boss.asm"
+Map_SOZEndBossBody:
+ include "Levels/SOZ/Misc Object Data/Map - End Boss Body.asm"
-Map_SOZEndBossBody: include "Levels/SOZ/Misc Object Data/Map - End Boss Body.asm"
-
-Pal_SOZEndBoss1: binclude "Levels/SOZ/Palettes/End Boss 1.bin"
- even
-
-Pal_SOZEndBoss2: binclude "Levels/SOZ/Palettes/End Boss 2.bin"
- even
-
+Pal_SOZEndBoss1:binclude "Levels/SOZ/Palettes/End Boss 1.bin"
+ even
+Pal_SOZEndBoss2:binclude "Levels/SOZ/Palettes/End Boss 2.bin"
+ even
byte_784E0: dc.b 6, $10
dc.b 8, $10
dc.b $2B, 0
@@ -161155,7 +160795,7 @@ byte_784E8: dc.b 7, $10
dc.b $2C, 0
; ---------------------------------------------------------------------------
-Obj_LRZ_Miniboss:
+Obj_LRZMiniboss:
lea byte_784E0(pc),a1
jsr (Check_CameraInRange).l
move.l #loc_78522,(a0)
@@ -161252,8 +160892,8 @@ loc_78606:
move.b #$A,5(a0)
clr.w $18(a0)
move.w #-$400,$1A(a0)
- moveq #sfx_BossHand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHand),d0
+ jsr (Play_SFX).l
lea byte_78DE2(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -161330,8 +160970,8 @@ loc_786EA:
move.w #$5F,$2E(a0)
move.l #loc_7873A,$34(a0)
move.w #$14,(Screen_shake_flag).w
- moveq #sfx_ThumpBoss,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ThumpBoss),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -161595,8 +161235,8 @@ loc_789CA:
move.w #$FFF,$2E(a0)
loc_789E6:
- moveq #sfx_BossProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossProjectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_78D90(pc),a2
jsr (CreateChild10_NormalAdjusted).l
bne.s locret_78A00
@@ -161816,8 +161456,8 @@ sub_78C14:
tst.b $20(a0)
bne.s loc_78C3A
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_78C3A:
@@ -161900,8 +161540,8 @@ sub_78CF4:
tst.b $20(a0)
bne.s loc_78D1E
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
lea ChildObjDat_78D98(pc),a2
jsr (CreateChild6_Simple).l
@@ -161964,16 +161604,21 @@ word_78D7E: dc.w $80
dc.b $14
dc.b $C
dc.b 0
-ChildObjDat_78D84:dc.w $B
+ChildObjDat_78D84:
+ dc.w $B
dc.l loc_7880A
-ChildObjDat_78D8A:dc.w $B
+ChildObjDat_78D8A:
+ dc.w $B
dc.l loc_787FE
-ChildObjDat_78D90:dc.w 0
+ChildObjDat_78D90:
+ dc.w 0
dc.l loc_78A02
dc.w $800
-ChildObjDat_78D98:dc.w 0
+ChildObjDat_78D98:
+ dc.w 0
dc.l loc_78A28
-ChildObjDat_78D9E:dc.w $A
+ChildObjDat_78D9E:
+ dc.w $A
dc.l loc_78A70
dc.w $F4
dc.l loc_78A70
@@ -162018,17 +161663,17 @@ byte_78DF8: dc.b 4, 3
byte_78E05: dc.b 1, 6
dc.b 7, $B
dc.b $FC
-Pal_LRZMiniboss1: binclude "Levels/LRZ/Palettes/Miniboss 1.bin"
- even
-
-Pal_LRZMiniboss2: binclude "Levels/LRZ/Palettes/Miniboss 2.bin"
- even
-
-Pal_LRZMiniboss3: binclude "Levels/LRZ/Palettes/Miniboss 3.bin"
- even
+Pal_LRZMiniboss1:
+ binclude "Levels/LRZ/Palettes/Miniboss 1.bin"
+ even
+Pal_LRZMiniboss2:
+ binclude "Levels/LRZ/Palettes/Miniboss 2.bin"
+ even
+Pal_LRZMiniboss3:
+ binclude "Levels/LRZ/Palettes/Miniboss 3.bin"
+ even
word_78EAA: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_3+$02, 5, 2-1
.data palscriptdata 4, $0EE, $0AE, $06E, $00E, $00A
palscriptdata 4, $0CC, $08C, $04A, $00A, $008
@@ -162046,7 +161691,7 @@ word_78EAA: palscriptptr .header, .data
palscriptrun
; ---------------------------------------------------------------------------
-Obj_9E_2:
+Obj_LRZ3Autoscroll:
move.l #loc_78F82,(a0)
move.w #$3B,$2E(a0)
lea (ArtKosM_LRZ3DeathEggFlash).l,a1
@@ -162104,8 +161749,8 @@ off_79016: dc.w loc_7901A-off_79016
; ---------------------------------------------------------------------------
loc_7901A:
- moveq #sfx_EggmanSiren,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_RobotnikSiren),d0
+ jsr (Play_SFX_Continuous).l
loc_79022:
jsr (Swing_UpAndDown).l
@@ -162134,8 +161779,8 @@ loc_79054:
loc_79072:
tst.b 4(a0)
bpl.s loc_790A6
- moveq #sfx_EggmanSiren,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_RobotnikSiren),d0
+ jsr (Play_SFX_Continuous).l
jsr (Swing_UpAndDown).l
jsr (MoveSprite2).l
move.w $2E(a0),d0
@@ -162179,8 +161824,8 @@ loc_790D8:
loc_790E8:
move.l #loc_7910A,(a0)
- moveq #sfx_Targeting,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Targeting),d0
+ jsr (Play_SFX).l
lea ChildObjDat_79672(pc),a2
jsr (CreateChild6_Simple).l
lea ChildObjDat_79658(pc),a2
@@ -162198,8 +161843,8 @@ loc_79118:
subi.w #$40,d0
move.w d0,(Events_bg+$0C).w
move.w #$480,(Events_bg+$0E).w
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
lea ChildObjDat_79686(pc),a2
jsr (CreateChild6_Simple).l
jmp (Go_Delete_Sprite).l
@@ -162376,8 +162021,8 @@ loc_79334:
loc_79346:
move.l #loc_7935E,(a0)
- moveq #sfx_MissileShoot,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileShoot),d0
+ jsr (Play_SFX).l
lea ChildObjDat_7964C(pc),a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -162436,8 +162081,8 @@ loc_79416:
move.l #loc_79486,(a0)
move.b #-$80,(Palette_cycle_counters+$00).w
move.w #$F,$2E(a0)
- moveq #sfx_SuperTransform,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SuperTransform),d0
+ jsr (Play_SFX).l
lea (Normal_palette).w,a1
lea (Target_palette).w,a2
moveq #7,d6
@@ -162473,8 +162118,8 @@ loc_79486:
move.b #1,(Palette_cycle_counters+$00).w
bset #0,(_unkFAB8).w
st (Events_fg_4).w
- moveq #sfx_SuperEmerald,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SuperEmerald),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s loc_794BE
move.l #loc_85EE6,(a1)
@@ -162644,7 +162289,8 @@ ObjDat3_7960E: dc.l Map_LRZ3Debris
dc.b $C
dc.b 0
dc.b 0
-ChildObjDat_7961A:dc.w 7
+ChildObjDat_7961A:
+ dc.w 7
dc.l loc_792AC
dc.w $F40C
dc.l loc_792AC
@@ -162661,11 +162307,14 @@ ChildObjDat_7961A:dc.w 7
dc.w $E804
dc.l loc_792AC
dc.w $1804
-ChildObjDat_7964C:dc.w 0
+ChildObjDat_7964C:
+ dc.w 0
dc.l loc_79374
-ChildObjDat_79652:dc.w 3
+ChildObjDat_79652:
+ dc.w 3
dc.l loc_790AC
-ChildObjDat_79658:dc.w 3
+ChildObjDat_79658:
+ dc.w 3
dc.l loc_79142
dc.w $F000
dc.l loc_79142
@@ -162674,14 +162323,18 @@ ChildObjDat_79658:dc.w 3
dc.w $F0
dc.l loc_79142
dc.w $10
-ChildObjDat_79672:dc.w 1
+ChildObjDat_79672:
+ dc.w 1
dc.l loc_791D4
-ChildObjDat_79678:dc.w 0
+ChildObjDat_79678:
+ dc.w 0
dc.l loc_79278
-ChildObjDat_7967E:dc.w 0
+ChildObjDat_7967E:
+ dc.w 0
dc.l loc_793A8
dc.w $18
-ChildObjDat_79686:dc.w $11
+ChildObjDat_79686:
+ dc.w $11
dc.l loc_794DE
byte_7968C: dc.b 4, 0
dc.b 0, 1
@@ -162761,10 +162414,8 @@ byte_796B9: dc.b 6, 2
dc.b $EE, 0
dc.b $EE, 0
dc.b $AE
-Pal_LRZBossFire: binclude "Levels/LRZ/Palettes/Boss Act Fire.bin"
- even
-
-
+Pal_LRZBossFire:binclude "Levels/LRZ/Palettes/Boss Act Fire.bin"
+ even
; ---------------------------------------------------------------------------
Obj_LRZEndBoss:
@@ -162794,7 +162445,7 @@ loc_797C6:
loc_797EC:
move.l #loc_797FA,(a0)
- move.b #mus_EndBoss,(Level_music+1).w
+ move.b #mus_EndBoss,(Current_music+1).w
locret_797F8:
rts
@@ -162824,8 +162475,8 @@ loc_7981E:
move.b #$E,$29(a0)
move.w #-$12,$26(a0)
move.w #-$580,$1A(a0)
- moveq #sfx_BossMagma,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossMagma),d0
+ jsr (Play_SFX).l
lea ChildObjDat_7A18C(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -162877,8 +162528,8 @@ loc_798C6:
bmi.s loc_798EA
subi.w #$10,$3A(a0)
move.w $3A(a0),$2E(a0)
- moveq #sfx_BossProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossProjectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_7A19A(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -162934,8 +162585,8 @@ loc_7995E:
loc_7997A:
move.w d1,$10(a0)
- moveq #sfx_BossMagma,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossMagma),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -162954,7 +162605,7 @@ loc_79998:
clr.b (Boss_flag).w
jsr (Create_New_Sprite).l
bne.s loc_799C6
- move.l #Obj_81,(a1)
+ move.l #Obj_EggCapsule,(a1)
bset #1,4(a1)
loc_799C6:
@@ -162975,14 +162626,14 @@ loc_799E0:
jsr (Create_New_Sprite).l
bne.s loc_79A08
move.l #Obj_Song_Fade_Transition,(a1)
- move.b #mus_HPZ,$2C(a1)
+ move.b #mus_LRZ2,$2C(a1)
loc_79A08:
jsr (Restore_PlayerControl).l
lea (Player_2).w,a1
jsr (Restore_PlayerControl2).l
clr.w (Ctrl_1_logical).w
- move.w #$EC0,(Target_camera_max_X_pos).w
+ move.w #$EC0,(Camera_stored_max_X_pos).w
jsr (Create_New_Sprite).l
bne.s loc_79A30
move.l #Obj_IncLevEndXGradual,(a1)
@@ -162990,7 +162641,7 @@ loc_79A08:
loc_79A30:
jsr (Create_New_Sprite).l
bne.s locret_79A50
- move.l #Obj_B3_2,(a1)
+ move.l #Obj_StartNewLevel,(a1)
move.b #$2D,$2C(a1)
move.w #$FE8,$10(a1)
move.w #$5E0,$14(a1)
@@ -163183,7 +162834,7 @@ loc_79C4C:
jmp (Child_Draw_Sprite2).l
; ---------------------------------------------------------------------------
-Obj_AD_2:
+Obj_LRZ3Platform:
moveq #0,d0
move.b $2C(a0),d0
lsl.w #2,d0
@@ -163428,8 +163079,8 @@ loc_79EE6:
loc_79EFA:
jsr (Delete_Current_Sprite).l
- moveq #sfx_ThumpBoss,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ThumpBoss),d0
+ jsr (Play_SFX).l
addq.w #4,sp
rts
; End of function sub_79EB6
@@ -163485,8 +163136,8 @@ sub_79F58:
subq.b #1,$29(a0)
beq.s loc_79F9A
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_79F7A:
moveq #0,d0
@@ -163551,8 +163202,8 @@ sub_79FFE:
jsr (CreateChild6_Simple).l
jsr (Go_Delete_Sprite).l
jsr (Displace_PlayerOffObject).l
- moveq #sfx_Clank,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Clank),d0
+ jsr (Play_SFX).l
addq.w #4,sp
rts
; End of function sub_79FFE
@@ -163723,24 +163374,30 @@ word_7A184: dc.w $4001
dc.b 8
dc.b 2
dc.b 0
-ChildObjDat_7A18C:dc.w 1
+ChildObjDat_7A18C:
+ dc.w 1
dc.l loc_79BE6
dc.w $EE
dc.l loc_79C0C
dc.w $EB01
-ChildObjDat_7A19A:dc.w 1
+ChildObjDat_7A19A:
+ dc.w 1
dc.l loc_79AAE
dc.w $E8
dc.l loc_79B7E
dc.w $C9
-ChildObjDat_7A1A8:dc.w 0
+ChildObjDat_7A1A8:
+ dc.w 0
dc.l loc_79BAC
dc.w $10
-ChildObjDat_7A1B0:dc.w 0
+ChildObjDat_7A1B0:
+ dc.w 0
dc.l loc_79D28
-ChildObjDat_7A1B6:dc.w 0
+ChildObjDat_7A1B6:
+ dc.w 0
dc.l loc_79E6C
-ChildObjDat_7A1BC:dc.w 9
+ChildObjDat_7A1BC:
+ dc.w 9
dc.l loc_79E9C
byte_7A1C2: dc.b 2, 1
dc.b 2, 3
@@ -163767,8 +163424,7 @@ byte_7A1E9: dc.b 7, 4
dc.b 5, $FC
dc.b 0
Pal_LRZEndBoss: binclude "Levels/LRZ/Palettes/End Boss.bin"
- even
-
+ even
; ---------------------------------------------------------------------------
Obj_SSZGHZBoss:
@@ -163776,8 +163432,8 @@ Obj_SSZGHZBoss:
move.b #1,(Boss_flag).w
move.w #$1F,$2E(a0)
move.l #loc_7A294,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
jsr (Create_New_Sprite).l
bne.s loc_7A244
move.l #Obj_Song_Fade_Transition,(a1)
@@ -164099,8 +163755,8 @@ sub_7A5A0:
tst.b $20(a0)
bne.s loc_7A5C6
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_7A5C6:
@@ -164197,14 +163853,16 @@ ObjDat3_7A678: dc.l Map_SSZGHZMisc
dc.b 8
dc.b 0
dc.b $8F
-ChildObjDat_7A684:dc.w 5
+ChildObjDat_7A684:
+ dc.w 5
dc.l loc_7A428
dc.l loc_7A4D0
dc.l loc_7A4D0
dc.l loc_7A4D0
dc.l loc_7A4D0
dc.l loc_7A514
-ChildObjDat_7A69E:dc.w 0
+ChildObjDat_7A69E:
+ dc.w 0
dc.l loc_7A558
dc.w $1E00
; ---------------------------------------------------------------------------
@@ -164214,8 +163872,8 @@ Obj_SSZMTZBoss:
move.b #1,(Boss_flag).w
move.w #$1F,$2E(a0)
move.l #loc_7A712,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
jsr (Create_New_Sprite).l
bne.s loc_7A6DC
move.l #Obj_Song_Fade_Transition,(a1)
@@ -164268,10 +163926,10 @@ loc_7A72C:
move.b #$11,$28(a0)
move.b #8,$29(a0)
move.b #7,$3C(a0)
- move.w $10(a0),(_unkFAF0).w
- move.w $14(a0),(_unkFAF4).w
- move.w #0,(_unkFAF8).w
- move.w #$100,(_unkFAFA).w
+ move.w $10(a0),(SSZ_MTZ_boss_X_pos).w
+ move.w $14(a0),(SSZ_MTZ_boss_Y_pos).w
+ move.w #0,(SSZ_MTZ_boss_X_vel).w
+ move.w #$100,(SSZ_MTZ_boss_Y_vel).w
move.b #$20,7(a0)
clr.b $2E(a0)
clr.b $30(a0)
@@ -164313,19 +163971,19 @@ off_7A7F0: dc.w loc_7A800-off_7A7F0
; ---------------------------------------------------------------------------
loc_7A800:
- bsr.w sub_7B12E
- move.w (_unkFAF4).w,$14(a0)
- cmpi.w #$420,(_unkFAF4).w
+ bsr.w Boss_MoveObject
+ move.w (SSZ_MTZ_boss_Y_pos).w,$14(a0)
+ cmpi.w #$420,(SSZ_MTZ_boss_Y_pos).w
blo.s loc_7A84A
addq.b #2,$26(a0)
- move.w #0,(_unkFAFA).w
- move.w #-$100,(_unkFAF8).w
+ move.w #0,(SSZ_MTZ_boss_Y_vel).w
+ move.w #-$100,(SSZ_MTZ_boss_X_vel).w
bclr #7,$2E(a0)
bclr #0,4(a0)
move.w (Player_1+x_pos).w,d0
- cmp.w (_unkFAF0).w,d0
+ cmp.w (SSZ_MTZ_boss_X_pos).w,d0
blo.s loc_7A84A
- move.w #$100,(_unkFAF8).w
+ move.w #$100,(SSZ_MTZ_boss_X_vel).w
bset #7,$2E(a0)
bset #0,4(a0)
@@ -164341,7 +163999,7 @@ sub_7A85A:
move.b $1D(a0),d0
jsr (GetSineCosine).l
asr.w #6,d0
- add.w (_unkFAF4).w,d0
+ add.w (SSZ_MTZ_boss_Y_pos).w,d0
move.w d0,$14(a0)
addq.b #4,$1D(a0)
rts
@@ -164350,34 +164008,34 @@ sub_7A85A:
; ---------------------------------------------------------------------------
loc_7A874:
- bsr.w sub_7B12E
+ bsr.w Boss_MoveObject
btst #7,$2E(a0)
bne.s loc_7A8AE
- cmpi.w #$1680,(_unkFAF0).w
+ cmpi.w #$1680,(SSZ_MTZ_boss_X_pos).w
bhs.s loc_7A8DA
bchg #7,$2E(a0)
- move.w #$100,(_unkFAF8).w
+ move.w #$100,(SSZ_MTZ_boss_X_vel).w
bset #0,4(a0)
bset #6,$2E(a0)
beq.s loc_7A8DA
addq.b #2,$26(a0)
- move.w #-$100,(_unkFAFA).w
+ move.w #-$100,(SSZ_MTZ_boss_Y_vel).w
bra.s loc_7A8DA
; ---------------------------------------------------------------------------
loc_7A8AE:
- cmpi.w #$1780,(_unkFAF0).w
+ cmpi.w #$1780,(SSZ_MTZ_boss_X_pos).w
blo.s loc_7A8DA
bchg #7,$2E(a0)
- move.w #-$100,(_unkFAF8).w
+ move.w #-$100,(SSZ_MTZ_boss_X_vel).w
bclr #0,4(a0)
bset #6,$2E(a0)
beq.s loc_7A8DA
addq.b #2,$26(a0)
- move.w #-$100,(_unkFAFA).w
+ move.w #-$100,(SSZ_MTZ_boss_Y_vel).w
loc_7A8DA:
- move.w (_unkFAF0).w,$10(a0)
+ move.w (SSZ_MTZ_boss_X_pos).w,$10(a0)
bsr.w sub_7A85A
loc_7A8E4:
@@ -164387,28 +164045,28 @@ loc_7A8E4:
; ---------------------------------------------------------------------------
loc_7A8F4:
- bsr.w sub_7B12E
- cmpi.w #$3F0,(_unkFAF4).w
+ bsr.w Boss_MoveObject
+ cmpi.w #$3F0,(SSZ_MTZ_boss_Y_pos).w
bhs.s loc_7A906
- move.w #0,(_unkFAFA).w
+ move.w #0,(SSZ_MTZ_boss_Y_vel).w
loc_7A906:
btst #7,$2E(a0)
bne.s loc_7A91E
- cmpi.w #$1700,(_unkFAF0).w
+ cmpi.w #$1700,(SSZ_MTZ_boss_X_pos).w
bhs.s loc_7A92C
- move.w #0,(_unkFAF8).w
+ move.w #0,(SSZ_MTZ_boss_X_vel).w
bra.s loc_7A92C
; ---------------------------------------------------------------------------
loc_7A91E:
- cmpi.w #$1700,(_unkFAF0).w
+ cmpi.w #$1700,(SSZ_MTZ_boss_X_pos).w
blo.s loc_7A92C
- move.w #0,(_unkFAF8).w
+ move.w #0,(SSZ_MTZ_boss_X_vel).w
loc_7A92C:
- move.w (_unkFAF8).w,d0
- or.w (_unkFAFA).w,d0
+ move.w (SSZ_MTZ_boss_X_vel).w,d0
+ or.w (SSZ_MTZ_boss_Y_vel).w,d0
bne.s loc_7A93A
addq.b #2,$26(a0)
@@ -164444,7 +164102,7 @@ loc_7A968:
addq.b #1,$3A(a0)
cmpi.b #$27,$3A(a0)
blo.s loc_7A986
- move.w #$100,(_unkFAFA).w
+ move.w #$100,(SSZ_MTZ_boss_Y_vel).w
move.b #0,$26(a0)
bclr #6,$2E(a0)
@@ -164468,10 +164126,10 @@ loc_7A99C:
subq.b #1,$38(a0)
loc_7A9A8:
- bsr.w sub_7B12E
- cmpi.w #$3B0,(_unkFAF4).w
+ bsr.w Boss_MoveObject
+ cmpi.w #$3B0,(SSZ_MTZ_boss_Y_pos).w
bhs.s loc_7A9BA
- move.w #0,(_unkFAFA).w
+ move.w #0,(SSZ_MTZ_boss_Y_vel).w
loc_7A9BA:
tst.b $30(a0)
@@ -164499,19 +164157,19 @@ loc_7A9D4:
; ---------------------------------------------------------------------------
loc_7A9EE:
- move.w #$100,(_unkFAFA).w
+ move.w #$100,(SSZ_MTZ_boss_Y_vel).w
move.b #0,$26(a0)
bclr #6,$2E(a0)
bra.s loc_7AA40
; ---------------------------------------------------------------------------
loc_7AA02:
- move.w #-$180,(_unkFAFA).w
- move.w #-$100,(_unkFAF8).w
+ move.w #-$180,(SSZ_MTZ_boss_Y_vel).w
+ move.w #-$100,(SSZ_MTZ_boss_X_vel).w
bclr #0,4(a0)
btst #7,$2E(a0)
beq.s loc_7AA28
- move.w #$100,(_unkFAF8).w
+ move.w #$100,(SSZ_MTZ_boss_X_vel).w
bset #0,4(a0)
loc_7AA28:
@@ -164543,31 +164201,31 @@ off_7AA60: dc.w loc_7AA66-off_7AA60
; ---------------------------------------------------------------------------
loc_7AA66:
- bsr.w sub_7B12E
- cmpi.w #$3B0,(_unkFAF4).w
+ bsr.w Boss_MoveObject
+ cmpi.w #$3B0,(SSZ_MTZ_boss_Y_pos).w
bhs.s loc_7AA78
- move.w #0,(_unkFAFA).w
+ move.w #0,(SSZ_MTZ_boss_Y_vel).w
loc_7AA78:
btst #7,$2E(a0)
bne.s loc_7AAA6
- cmpi.w #$16A0,(_unkFAF0).w
+ cmpi.w #$16A0,(SSZ_MTZ_boss_X_pos).w
bhs.s loc_7AACA
addq.b #2,$32(a0)
- move.w #$180,(_unkFAFA).w
+ move.w #$180,(SSZ_MTZ_boss_Y_vel).w
move.b #3,$31(a0)
- move.w #$1E,(_unkFAFC).w
+ move.w #$1E,(SSZ_MTZ_boss_laser_timer).w
bset #0,4(a0)
bra.s loc_7AACA
; ---------------------------------------------------------------------------
loc_7AAA6:
- cmpi.w #$1760,(_unkFAF0).w
+ cmpi.w #$1760,(SSZ_MTZ_boss_X_pos).w
blo.s loc_7AACA
addq.b #2,$32(a0)
- move.w #$180,(_unkFAFA).w
+ move.w #$180,(SSZ_MTZ_boss_Y_vel).w
move.b #3,$31(a0)
- move.w #$1E,(_unkFAFC).w
+ move.w #$1E,(SSZ_MTZ_boss_laser_timer).w
bclr #0,4(a0)
loc_7AACA:
@@ -164575,10 +164233,10 @@ loc_7AACA:
; ---------------------------------------------------------------------------
loc_7AACE:
- bsr.w sub_7B12E
- cmpi.w #$420,(_unkFAF4).w
+ bsr.w Boss_MoveObject
+ cmpi.w #$420,(SSZ_MTZ_boss_Y_pos).w
blo.s loc_7AAEC
- move.w #-$180,(_unkFAFA).w
+ move.w #-$180,(SSZ_MTZ_boss_Y_vel).w
addq.b #2,$32(a0)
bchg #7,$2E(a0)
bra.s loc_7AB12
@@ -164587,16 +164245,16 @@ loc_7AACE:
loc_7AAEC:
btst #7,$2E(a0)
bne.s loc_7AB04
- cmpi.w #$1680,(_unkFAF0).w
+ cmpi.w #$1680,(SSZ_MTZ_boss_X_pos).w
bhs.s loc_7AB12
- move.w #0,(_unkFAF8).w
+ move.w #0,(SSZ_MTZ_boss_X_vel).w
bra.s loc_7AB12
; ---------------------------------------------------------------------------
loc_7AB04:
- cmpi.w #$1780,(_unkFAF0).w
+ cmpi.w #$1780,(SSZ_MTZ_boss_X_pos).w
blo.s loc_7AB12
- move.w #0,(_unkFAF8).w
+ move.w #0,(SSZ_MTZ_boss_X_vel).w
loc_7AB12:
bsr.w sub_7AB56
@@ -164604,18 +164262,18 @@ loc_7AB12:
; ---------------------------------------------------------------------------
loc_7AB1A:
- bsr.w sub_7B12E
- cmpi.w #$3F0,(_unkFAF4).w
+ bsr.w Boss_MoveObject
+ cmpi.w #$3F0,(SSZ_MTZ_boss_Y_pos).w
bhs.s loc_7AB3A
- move.w #$100,(_unkFAF8).w
+ move.w #$100,(SSZ_MTZ_boss_X_vel).w
btst #7,$2E(a0)
bne.s loc_7AB3A
- move.w #-$100,(_unkFAF8).w
+ move.w #-$100,(SSZ_MTZ_boss_X_vel).w
loc_7AB3A:
- cmpi.w #$3B0,(_unkFAF4).w
+ cmpi.w #$3B0,(SSZ_MTZ_boss_Y_pos).w
bhs.s loc_7AB4E
- move.w #0,(_unkFAFA).w
+ move.w #0,(SSZ_MTZ_boss_Y_vel).w
move.b #0,$32(a0)
loc_7AB4E:
@@ -164626,13 +164284,13 @@ loc_7AB4E:
sub_7AB56:
- subi.w #1,(_unkFAFC).w
+ subi.w #1,(SSZ_MTZ_boss_laser_timer).w
bne.s locret_7AB7E
tst.b $31(a0)
beq.s locret_7AB7E
subq.b #1,$31(a0)
move.b #$10,$33(a0)
- move.w #$1E,(_unkFAFC).w
+ move.w #$1E,(SSZ_MTZ_boss_laser_timer).w
lea ChildObjDat_7AB80(pc),a2
jsr (CreateChild1_Normal).l
@@ -164641,7 +164299,8 @@ locret_7AB7E:
; End of function sub_7AB56
; ---------------------------------------------------------------------------
-ChildObjDat_7AB80:dc.w 1
+ChildObjDat_7AB80:
+ dc.w 1
dc.l loc_7AB8E
dc.w $F4FC
dc.l loc_7AB8E
@@ -164679,8 +164338,8 @@ loc_7ABCE:
loc_7ABE2:
move.w d0,$18(a0)
- moveq #sfx_Lazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Laser),d0
+ jsr (Play_SFX).l
loc_7ABEE:
jsr (MoveSprite2).l
@@ -164708,12 +164367,12 @@ sub_7AC06:
tst.b $3C(a0)
beq.s loc_7AC42
move.b #$A,$26(a0)
- move.w #-$180,(_unkFAFA).w
+ move.w #-$180,(SSZ_MTZ_boss_Y_vel).w
subq.b #1,$3C(a0)
- move.w #0,(_unkFAF8).w
+ move.w #0,(SSZ_MTZ_boss_X_vel).w
loc_7AC42:
- move.w #0,(_unkFAF8).w
+ move.w #0,(SSZ_MTZ_boss_X_vel).w
rts
; ---------------------------------------------------------------------------
@@ -164772,9 +164431,9 @@ loc_7ACC0:
move.b $1D(a0),d0
jsr (GetSineCosine).l
asr.w #6,d0
- add.w (_unkFAF4).w,d0
+ add.w (SSZ_MTZ_boss_Y_pos).w,d0
move.w d0,$14(a0)
- move.w (_unkFAF0).w,$10(a0)
+ move.w (SSZ_MTZ_boss_X_pos).w,$10(a0)
addq.b #2,$1D(a0)
; =============== S U B R O U T I N E =======================================
@@ -164790,8 +164449,8 @@ sub_7ACF2:
tst.b $1C(a0)
bne.s loc_7AD1A
move.b #$20,$1C(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_7AD1A:
moveq #0,d0
@@ -165194,30 +164853,32 @@ word_7B10E: dc.w Player_1
; ---------------------------------------------------------------------------
loc_7B116:
- moveq #sfx_Balloon,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Balloon),d0
+ jsr (Play_SFX).l
movea.l $34(a0),a1
subi.b #1,$30(a1)
jmp (Delete_Current_Sprite).l
; =============== S U B R O U T I N E =======================================
-
-sub_7B12E:
- move.l (_unkFAF0).w,d2
- move.l (_unkFAF4).w,d3
- move.w (_unkFAF8).w,d0
+; This routine comes from Sonic 2, and is used in Sky Sanctuary by Mecha
+; Sonic cosplaying as the Metropolis Zone boss.
+;sub_7B12E:
+Boss_MoveObject:
+ move.l (SSZ_MTZ_boss_X_pos).w,d2
+ move.l (SSZ_MTZ_boss_Y_pos).w,d3
+ move.w (SSZ_MTZ_boss_X_vel).w,d0
ext.l d0
asl.l #8,d0
add.l d0,d2
- move.w (_unkFAFA).w,d0
+ move.w (SSZ_MTZ_boss_Y_vel).w,d0
ext.l d0
asl.l #8,d0
add.l d0,d3
- move.l d2,(_unkFAF0).w
- move.l d3,(_unkFAF4).w
+ move.l d2,(SSZ_MTZ_boss_X_pos).w
+ move.l d3,(SSZ_MTZ_boss_Y_pos).w
rts
-; End of function sub_7B12E
+; End of function Boss_MoveObject
; ---------------------------------------------------------------------------
moveq #0,d6
@@ -165335,13 +164996,11 @@ locret_7B21A:
; ---------------------------------------------------------------------------
Ani_SSZMTZOrbs: include "Levels/SSZ/Misc Object Data/Anim - MTZOrbs.asm"
-
Pal_SSZMTZOrbs: binclude "Levels/SSZ/Palettes/MTZOrbs.bin"
- even
-
+ even
; ---------------------------------------------------------------------------
-Obj_A3_2:
+Obj_SSZEndBoss:
moveq #0,d0
move.b 5(a0),d0
move.w off_7B2B2(pc,d0.w),d1
@@ -165349,7 +165008,7 @@ Obj_A3_2:
lea sub_7D35A(pc),a4
bsr.w sub_7D312
bsr.w sub_7D2D8
- lea DPLCPtr_7D4D6(pc),a2
+ lea DPLCPtr_MechaSonic(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_And_Touch_Sprite).l
; ---------------------------------------------------------------------------
@@ -165534,8 +165193,8 @@ loc_7B4EC:
clr.w $16(a0)
clr.b $23(a0)
clr.b $24(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
btst #3,$38(a0)
bne.s loc_7B520
move.l #byte_7D596,$30(a0)
@@ -165662,8 +165321,8 @@ loc_7B666:
move.w d0,$18(a0)
move.w d1,$40(a0)
clr.w $1A(a0)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -165699,8 +165358,8 @@ loc_7B6C0:
add.w d1,$14(a0)
move.b #$1C,5(a0)
move.w #-$900,$1A(a0)
- moveq #sfx_Thump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Thump),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -165731,8 +165390,8 @@ loc_7B70E:
move.w #$F,$2E(a0)
move.l #loc_7B754,$34(a0)
bset #2,$38(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
lea ChildObjDat_7D480(pc),a2
jsr (CreateChild6_Simple).l
bne.s locret_7B70C
@@ -165778,8 +165437,8 @@ loc_7B790:
loc_7B7A8:
move.w d0,$18(a0)
move.w d1,$40(a0)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -165820,7 +165479,7 @@ loc_7B81A:
move.b 5(a0),d0
move.w off_7B838(pc,d0.w),d1
jsr off_7B838(pc,d1.w)
- lea DPLCPtr_7D4D6(pc),a2
+ lea DPLCPtr_MechaSonic(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -165866,8 +165525,8 @@ loc_7B888:
bsr.w sub_7C678
lea ChildObjDat_7D48C(pc),a2
jsr (CreateChild6_Simple).l
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
tst.b (Current_act).w
bne.s loc_7B8E6
move.b #4,5(a0)
@@ -165890,8 +165549,8 @@ loc_7B8E6:
move.b #8,5(a0)
move.w #$BF,$2E(a0)
move.l #loc_7B996,$34(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
st (Ctrl_2_locked).w
rts
; ---------------------------------------------------------------------------
@@ -165945,11 +165604,11 @@ loc_7B996:
clr.b $2A(a0)
clr.b $38(a0)
ori.b #$50,$38(a0)
- moveq #mus_DDZ,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_DDZ),d0
+ jsr (Play_Music).l
lea ChildObjDat_7D492(pc),a2
jsr (CreateChild1_Normal).l
- lea (ArtKosM_HPZMasterEmerald).l,a1
+ lea (ArtKosM_EndingMasterEmerald).l,a1
move.w #-$5A40,d2
jmp (Queue_Kos_Module).l
; ---------------------------------------------------------------------------
@@ -165985,8 +165644,8 @@ loc_7BA22:
; ---------------------------------------------------------------------------
loc_7BA28:
- moveq #sfx_Spindash,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_Spindash),d0
+ jsr (Play_SFX_Continuous).l
subq.w #1,$2E(a0)
bmi.s loc_7BA38
rts
@@ -166090,8 +165749,8 @@ loc_7BB20:
loc_7BB7C:
clr.b $38(a0)
bset #7,$38(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
lea (word_7D9EA).l,a1
bsr.w sub_7C678
lea ChildObjDat_7D48C(pc),a2
@@ -166104,8 +165763,8 @@ locret_7BBAA:
; ---------------------------------------------------------------------------
loc_7BBAC:
- moveq #sfx_MetalTransform,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_MechaTransform),d0
+ jsr (Play_SFX_Continuous).l
jsr (Run_PalRotationScript).l
bchg #6,(_unkFAB8).w
jmp (Animate_RawMultiDelay).l
@@ -166152,8 +165811,8 @@ loc_7BC3E:
move.w #$1F,$2E(a0)
move.l #loc_7BC70,$34(a0)
bclr #7,4(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
addi.w #$20,$14(a0)
lea ChildObjDat_7D4CA(pc),a2
jmp (CreateChild6_Simple).l
@@ -166226,8 +165885,8 @@ sub_7BD30:
move.w #$1F,$3A(a0)
subq.b #1,$39(a0)
bmi.s locret_7BD4A
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
locret_7BD4A:
rts
@@ -166243,7 +165902,7 @@ Obj_SSZ2_Boss:
lea loc_7D39E(pc),a4
bsr.w sub_7D312
bsr.w sub_7D2D8
- lea DPLCPtr_7D4D6(pc),a2
+ lea DPLCPtr_MechaSonic(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_And_Touch_Sprite).l
; ---------------------------------------------------------------------------
@@ -166286,8 +165945,8 @@ off_7BD76: dc.w loc_7BDBE-off_7BD76
; ---------------------------------------------------------------------------
loc_7BDBE:
- moveq #sfx_MetalTransform,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_MechaTransform),d0
+ jsr (Play_SFX_Continuous).l
jsr (Run_PalRotationScript).l
bchg #6,(_unkFAB8).w
jmp (Animate_RawMultiDelay).l
@@ -166351,8 +166010,8 @@ loc_7BE7E:
move.l #loc_7D09C,(a1)
loc_7BE92:
- moveq #sfx_SuperTransform,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SuperTransform),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -166526,8 +166185,8 @@ loc_7C06E:
move.b #$12,5(a0)
move.w #$1F,$2E(a0)
move.l #loc_7C12E,$34(a0)
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
lea (Player_1).w,a1
moveq #0,d0
move.w $10(a1),d0
@@ -166555,8 +166214,8 @@ loc_7C0B6:
loc_7C0E0:
move.w d1,$40(a0)
- moveq #sfx_MissileShoot,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileShoot),d0
+ jsr (Play_SFX).l
lea byte_7D652(pc),a1
jsr (Set_Raw_Animation).l
bset #6,$38(a0)
@@ -166596,8 +166255,8 @@ loc_7C15C:
move.b #$16,5(a0)
move.w #$3F,$2E(a0)
move.l #loc_7C17A,$34(a0)
- moveq #sfx_Crash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Crash),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -166665,8 +166324,8 @@ loc_7C232:
move.b #$20,5(a0)
move.b #$1F,$1E(a0)
move.l #loc_7C274,$34(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -166688,8 +166347,8 @@ loc_7C274:
move.w d0,$40(a0)
clr.w $1A(a0)
move.l #loc_7C2BE,$34(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
lea byte_7D556(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -166805,8 +166464,8 @@ loc_7C3F8:
loc_7C410:
move.b #$30,5(a0)
move.l #loc_7C436,$34(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
lea byte_7D510(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -166832,8 +166491,8 @@ loc_7C458:
loc_7C46A:
move.b #$34,5(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
bset #0,4(a0)
move.w #$400,d0
move.w $10(a0),d1
@@ -166887,8 +166546,8 @@ loc_7C4F8:
add.w d1,$14(a0)
move.b #$38,5(a0)
move.l #loc_7C522,$34(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
lea byte_7D5C1(pc),a1
jmp (Set_Raw_Animation).l
; ---------------------------------------------------------------------------
@@ -166925,8 +166584,8 @@ loc_7C55E:
loc_7C578:
move.b #0,5(a0)
move.l #loc_7BDD8,$34(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
lea byte_7D5B6(pc),a1
jsr Set_Raw_Animation(pc)
bra.w loc_7BB7C
@@ -167068,8 +166727,8 @@ loc_7C6F0:
beq.w locret_7B448
cmpi.b #8,$23(a0)
bne.w locret_7B448
- moveq #sfx_BossProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossProjectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_7D4A8(pc),a2
jmp CreateChild6_Simple(pc)
; ---------------------------------------------------------------------------
@@ -167105,8 +166764,8 @@ loc_7C756:
loc_7C764:
move.l #loc_7C77A,(a0)
- moveq #sfx_BossLazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossLaser),d0
+ jsr (Play_SFX).l
moveq #2,d5
jmp (loc_861C0).l
; ---------------------------------------------------------------------------
@@ -167247,8 +166906,8 @@ loc_7C902:
jsr SetUp_ObjAttributes(pc)
move.l #loc_7C91C,(a0)
bsr.w sub_7D236
- moveq #sfx_Roll,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Roll),d0
+ jsr (Play_SFX).l
loc_7C91C:
lea byte_7D65F(pc),a1
@@ -167266,7 +166925,7 @@ loc_7C942:
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
-Obj_MetalSonic_Sparks:
+Obj_MechaSonic_Sparks:
lea ObjDat3_7D40E(pc),a1
jsr SetUp_ObjAttributes(pc)
move.l #loc_7C964,(a0)
@@ -167280,8 +166939,8 @@ loc_7C964:
bne.w loc_7C8F8
cmpi.w #$E88,(Normal_palette_line_2+$12).w
bne.w locret_7B448
- moveq #sfx_MetalSpark,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaSpark),d0
+ jsr (Play_SFX).l
moveq #0,d0
bchg #0,$39(a0)
bne.s loc_7C990
@@ -167349,7 +167008,7 @@ loc_7CA12:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_B2_2:
+Obj_KnuxFinalBossCrane:
move.l #loc_7CA3A,(a0)
move.w (Camera_min_X_pos).w,(Camera_max_X_pos).w
lea PLC_7CA32(pc),a1
@@ -167455,7 +167114,7 @@ loc_7CB64:
loc_7CB82:
jsr (Create_New_Sprite).l
bne.s loc_7CB90
- move.l #Obj_A3_2,(a1)
+ move.l #Obj_SSZEndBoss,(a1)
loc_7CB90:
move.w a1,(_unkFAA4).w
@@ -167639,8 +167298,8 @@ loc_7CDD2:
clr.b $40(a1)
clr.b $3D(a1)
jsr (Player_Load_PLC).l
- moveq #sfx_Grab,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Grab),d0
+ jsr (Play_SFX).l
loc_7CE12:
jsr (Refresh_ChildPositionAdjusted).l
@@ -167801,7 +167460,7 @@ Obj_Difficulty_7CFA4:
move.b 5(a0),d0
move.w off_7CFC2(pc,d0.w),d1
jsr off_7CFC2(pc,d1.w)
- lea DPLCPtr_7D4D6(pc),a2
+ lea DPLCPtr_MechaSonic(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -168255,8 +167914,8 @@ sub_7D312:
tst.b $20(a0)
bne.s loc_7D338
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_7D338:
@@ -168409,46 +168068,59 @@ ObjDat3_7D468: dc.l Map_MechaSonicPieces
dc.b 8
dc.b 0
dc.b 0
-ChildObjDat_7D474:dc.w 0
+ChildObjDat_7D474:
+ dc.w 0
dc.l loc_7C9BA
-ChildObjDat_7D47A:dc.w 1
+ChildObjDat_7D47A:
+ dc.w 1
dc.l loc_7C902
-ChildObjDat_7D480:dc.b 0
+ChildObjDat_7D480:
+ dc.b 0
dc.b 0
dc.l loc_7C902
-ChildObjDat_7D486:dc.w 1
+ChildObjDat_7D486:
+ dc.w 1
dc.l loc_7C8FE
-ChildObjDat_7D48C:dc.w 0
- dc.l Obj_MetalSonic_Sparks
-ChildObjDat_7D492:dc.w 0
+ChildObjDat_7D48C:
+ dc.w 0
+ dc.l Obj_MechaSonic_Sparks
+ChildObjDat_7D492:
+ dc.w 0
dc.l loc_7C886
dc.b $FC
dc.b $C
-ChildObjDat_7D49A:dc.w 0
+ChildObjDat_7D49A:
+ dc.w 0
dc.l loc_7C78E
dc.w $14FC
byte_7D4A2: dc.b 0
dc.b 0
dc.l loc_7C7D4
-ChildObjDat_7D4A8:dc.w 7
+ChildObjDat_7D4A8:
+ dc.w 7
dc.l loc_7C726
-ChildObjDat_7D4AE:dc.b 0
+ChildObjDat_7D4AE:
+ dc.b 0
dc.b 0
dc.l loc_7C744
dc.w $F9F8
dc.w 0
dc.l loc_7C818
-ChildObjDat_7D4BC:dc.w 0
+ChildObjDat_7D4BC:
+ dc.w 0
dc.l loc_7CCFE
dc.w $23
word_7D4C4: dc.w 3
dc.l loc_7CE6C
-ChildObjDat_7D4CA:dc.w $F
+ChildObjDat_7D4CA:
+ dc.w $F
dc.l loc_7CE90
-ChildObjDat_7D4D0:dc.b 0
+ChildObjDat_7D4D0:
+ dc.b 0
dc.b 2
dc.l loc_7CF14
-DPLCPtr_7D4D6: dc.l ArtUnc_MechaSonic
+DPLCPtr_MechaSonic:
+ dc.l ArtUnc_MechaSonic
dc.l DPLC_MechaSonic
byte_7D4DE: dc.b 3, 0
dc.b 4, 1
@@ -168696,90 +168368,83 @@ byte_7D6B3: dc.b 0, $B, $B, $D
dc.b $A, 0, $A, 0
dc.b $A, 0, $A, 0
dc.b $F4
-Map_RoboshipPieces: include "Levels/SSZ/Misc Object Data/Map - Robotnik Ship Pieces.asm"
-
-Map_SSZMasterEmerald: include "Levels/SSZ/Misc Object Data/Map - Master Emerald.asm"
-
-Map_MechaSonicPieces: include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Pieces.asm"
+Map_RoboshipPieces:
+ include "Levels/SSZ/Misc Object Data/Map - Robotnik Ship Pieces.asm"
+Map_SSZMasterEmerald:
+ include "Levels/SSZ/Misc Object Data/Map - Master Emerald.asm"
+Map_MechaSonicPieces:
+ include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Pieces.asm"
word_7D842: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$00, 16, 0
-.data palscriptdata 50,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
- palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
- palscriptdata 5, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
- palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
- palscriptdata 50,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
- palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
- palscriptdata 20,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
- palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
+.data palscriptfile 50,"General/Sprites/Mecha Sonic/Palettes/Main.bin"
+ palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
+ palscriptfile 5, "General/Sprites/Mecha Sonic/Palettes/Main.bin"
+ palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
+ palscriptfile 50,"General/Sprites/Mecha Sonic/Palettes/Main.bin"
+ palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
+ palscriptfile 20,"General/Sprites/Mecha Sonic/Palettes/Main.bin"
+ palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
palscriptrept
Pal_SSZGHZMisc = word_7D842.data ; yeah Sonic 3 is a fun game
word_7D9EA: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$00, 16, 0
-.data palscriptdata 3, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
- palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 1, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
+.data palscriptfile 3, "General/Sprites/Mecha Sonic/Palettes/Main.bin"
+ palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 1, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
palscriptrept
word_7DA60: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$00, 16, 2-1
-.data palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
- palscriptdata 6, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 30,$000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $EEE, $EEE, $EEE, $ECC, $642, $044
+.data palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
+ palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 30,"General/Sprites/Mecha Sonic/Palettes/Flash 3.bin"
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$00, 16, 0
- palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $4EE, $4AE, $06E, $24A, $228, $ECC, $004, $044
- palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $2EE, $2AE, $06C, $248, $226, $ECC, $004, $044
- palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $0EE, $0AE, $06A, $246, $224, $ECC, $002, $044
- palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $2EE, $2AE, $06C, $248, $226, $ECC, $004, $044
+ palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Super 1.bin"
+ palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Super 2.bin"
+ palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Super 3.bin"
+ palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Super 2.bin"
palscriptrept
word_7DB66: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$00, 16, 2-1
-.data palscriptdata 6, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 6, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
- palscriptdata 128,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
+.data palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 6, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
+ palscriptfile 128,"General/Sprites/Mecha Sonic/Palettes/Main.bin"
palscriptloop .headr2
-
.headr2 palscripthdr Normal_palette_line_2+$00, 16, 0
- palscriptdata 128,$000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
+ palscriptfile 128,"General/Sprites/Mecha Sonic/Palettes/Main.bin"
palscriptrept
word_7DC06: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$00, 16, 2-1
-.data palscriptdata 8, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
- palscriptdata 8, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 8, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
+.data palscriptfile 8, "General/Sprites/Mecha Sonic/Palettes/Main.bin"
+ palscriptfile 8, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 8, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
palscriptloop word_7DA60.headr2
word_7DC7E: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$00, 16, 2-1
-.data palscriptdata 2, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 2, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
- palscriptdata 2, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
- palscriptdata 4, $000, $EEE, $08E, $04E, $02C, $0EE, $088, $028, $EEE, $EEE, $E88, $C66, $A24, $ECC, $642, $044
- palscriptdata 4, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $EEE, $E88, $C44, $A24, $624, $ECC, $422, $044
- palscriptdata 4, $000, $EEE, $04E, $02A, $008, $0EE, $088, $004, $E88, $C44, $A24, $624, $422, $ECC, $020, $044
+.data palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
+ palscriptfile 2, "General/Sprites/Mecha Sonic/Palettes/Main.bin"
+ palscriptfile 4, "General/Sprites/Mecha Sonic/Palettes/Flash 2.bin"
+ palscriptfile 4, "General/Sprites/Mecha Sonic/Palettes/Flash 1.bin"
+ palscriptfile 4, "General/Sprites/Mecha Sonic/Palettes/Main.bin"
palscriptrun
off_7DD5A: dc.l off_7DD7A
@@ -168829,7 +168494,7 @@ word_7DDA4: dc.w $18C
dc.w $36C0
; ---------------------------------------------------------------------------
-Obj_DEZ_Miniboss:
+Obj_DEZMiniboss:
lea word_7DDA4(pc),a1
jsr (Check_CameraInRange).l
move.b #mus_Miniboss,$26(a0)
@@ -168895,8 +168560,8 @@ loc_7DE6E:
move.b (V_int_run_count+3).w,d0
andi.b #$1F,d0
bne.s loc_7DE8E
- moveq #sfx_GravityTunnel,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GravityTunnel),d0
+ jsr (Play_SFX).l
loc_7DE8E:
bra.w loc_7EE36
@@ -168918,7 +168583,7 @@ loc_7DEA2:
loc_7DEA6:
move.b #2,5(a0)
move.w #$F,$2E(a0)
- move.l #sub_7DEF6,$34(a0)
+ move.l #loc_7DEF6,$34(a0)
move.b #2,$39(a0)
clr.w $40(a0)
rts
@@ -168936,23 +168601,19 @@ loc_7DEC6:
neg.w d0
subq.b #1,$39(a0)
bpl.s loc_7DEEC
- bsr.w sub_7DEF6
+ bsr.w loc_7DEF6
loc_7DEEC:
move.w d0,$40(a0)
move.w d1,$3C(a0)
rts
+; ---------------------------------------------------------------------------
-; =============== S U B R O U T I N E =======================================
-
-
-sub_7DEF6:
+loc_7DEF6:
move.b #4,5(a0)
move.w #$9F,$2E(a0)
move.l #loc_7DF0C,$34(a0)
rts
-; End of function sub_7DEF6
-
; ---------------------------------------------------------------------------
loc_7DF0C:
@@ -169082,7 +168743,7 @@ loc_7E044:
jsr (Create_New_Sprite).l
bne.s sub_7E08C
move.w a0,$46(a1)
- move.l #Obj_8B,(a1)
+ move.l #Obj_SpriteMask,(a1)
move.w #$3740,$10(a1)
move.w #$360,$14(a1)
move.b #-$77,$2C(a1)
@@ -169105,8 +168766,8 @@ loc_7E0A6:
move.b (V_int_run_count+3).w,d0
andi.b #$3F,d0
bne.s loc_7E0B8
- moveq #sfx_WaveHover,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaveHover),d0
+ jsr (Play_SFX).l
loc_7E0B8:
bsr.w sub_7EE88
@@ -169342,20 +169003,20 @@ loc_7E342:
bpl.s locret_7E382
move.l #loc_7E384,(a0)
st (Events_fg_4).w
- move.w #0,(Target_camera_min_Y_pos).w
+ move.w #0,(Camera_stored_min_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_7E366
move.l #Obj_DecLevStartYGradual,(a1)
loc_7E366:
- move.w #$2000,(Target_camera_max_Y_pos).w
+ move.w #$2000,(Camera_stored_max_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_7E37A
move.l #Obj_IncLevEndYGradual,(a1)
loc_7E37A:
- moveq #sfx_BigRumble,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX).l
locret_7E382:
rts
@@ -169400,8 +169061,8 @@ loc_7E3EC:
lea (Player_1).w,a1
move.w $10(a1),$10(a0)
move.w $14(a1),$14(a0)
- moveq #sfx_SuperTransform,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SuperTransform),d0
+ jsr (Play_SFX).l
loc_7E416:
subi.w #$10,(Player_1+y_pos).w
@@ -169998,8 +169659,8 @@ loc_7EA3C:
move.b (V_int_run_count+3).w,d0
andi.b #$1F,d0
bne.s loc_7EA5E
- moveq #sfx_BossPanic,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossPanic),d0
+ jsr (Play_SFX).l
loc_7EA5E:
bsr.w sub_7EB34
@@ -170462,8 +170123,8 @@ sub_7EDD0:
tst.b $20(a0)
bne.s loc_7EDF2
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
movea.w $46(a0),a1
addq.b #1,$29(a1)
@@ -170672,31 +170333,40 @@ word_7EF88: dc.w $100
dc.b $14
dc.b $23
dc.b 0
-ChildObjDat_7EF8E:dc.w 0
+ChildObjDat_7EF8E:
+ dc.w 0
dc.l loc_7E768
dc.w $FC
-ChildObjDat_7EF96:dc.w 7
+ChildObjDat_7EF96:
+ dc.w 7
dc.l loc_7E80E
-ChildObjDat_7EF9C:dc.w 7
+ChildObjDat_7EF9C:
+ dc.w 7
dc.l loc_7E916
-ChildObjDat_7EFA2:dc.w 0
+ChildObjDat_7EFA2:
+ dc.w 0
dc.l loc_7EAB6
-ChildObjDat_7EFA8:dc.w 1
+ChildObjDat_7EFA8:
+ dc.w 1
dc.l loc_7EACC
dc.w $D800
dc.l loc_7EACC
dc.w $2800
-ChildObjDat_7EFB6:dc.w 1
+ChildObjDat_7EFB6:
+ dc.w 1
dc.l loc_7E4CE
-ChildObjDat_7EFBC:dc.w 0
+ChildObjDat_7EFBC:
+ dc.w 0
dc.l loc_7E74A
dc.w 4
ChildObj_7EFC4: dc.w 0
dc.l loc_7E97E
dc.w $1E
-ChildObjDat_7EFCC:dc.w 1
+ChildObjDat_7EFCC:
+ dc.w 1
dc.l loc_7EA6C
-ChildObjDat_7EFD2:dc.w 3
+ChildObjDat_7EFD2:
+ dc.w 3
dc.l loc_7EB0E
dc.w $F000
dc.l loc_7EB0E
@@ -170717,15 +170387,14 @@ byte_7EFF4: dc.b 0, 8
dc.b 7, 9
dc.b 7, $A
dc.b 7, $FC
-Pal_DEZMiniboss1: binclude "Levels/DEZ/Palettes/Miniboss 1.bin"
- even
-
-Pal_DEZMiniboss2: binclude "Levels/DEZ/Palettes/Miniboss 2.bin"
- even
-
+Pal_DEZMiniboss1:
+ binclude "Levels/DEZ/Palettes/Miniboss 1.bin"
+ even
+Pal_DEZMiniboss2:
+ binclude "Levels/DEZ/Palettes/Miniboss 2.bin"
+ even
word_7F03C: palscriptptr .header, .data
dc.w 0
-
.header palscripthdr Normal_palette_line_2+$16, 3, 11-1
.data palscriptdata 8, $66A, $448, $226
palscriptdata 8, $66C, $44A, $228
@@ -170734,7 +170403,7 @@ word_7F03C: palscriptptr .header, .data
palscriptrun
; ---------------------------------------------------------------------------
-Obj_DEZ_EndBoss:
+Obj_DEZEndBoss:
lea word_7F0BE(pc),a1
jsr (Check_CameraInRange).l
move.l #loc_7F0CE,(a0)
@@ -170777,8 +170446,8 @@ loc_7F0DA:
move.b (V_int_run_count+3).w,d0
andi.b #$3F,d0
bne.s loc_7F0FE
- moveq #sfx_WaveHover,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_WaveHover),d0
+ jsr (Play_SFX).l
loc_7F0FE:
jmp Draw_And_Touch_Sprite(pc)
@@ -170898,8 +170567,8 @@ loc_7F234:
jsr CreateChild6_Simple(pc)
lea (Child6_CreateBossExplosion).l,a2
jsr (CreateChild6_Simple).l
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
rts
; ---------------------------------------------------------------------------
@@ -170932,9 +170601,9 @@ loc_7F29A:
loc_7F2B4:
move.l #loc_7F2DC,(a0)
clr.b (Boss_flag).w
- moveq #mus_DEZ2,d0
- jsr (Play_Sound).l
- move.w #$3620,(Target_camera_max_X_pos).w
+ moveq #signextendB(mus_DEZ2),d0
+ jsr (Play_Music).l
+ move.w #$3620,(Camera_stored_max_X_pos).w
jsr (Create_New_Sprite).l
bne.s locret_7F2DA
move.l #Obj_IncLevEndXGradual,(a1)
@@ -171050,8 +170719,8 @@ loc_7F3F6:
subq.w #1,$2E(a0)
bpl.s loc_7F40A
move.l #loc_7F414,(a0)
- moveq #sfx_MushroomBounce,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MushroomBounce),d0
+ jsr (Play_SFX).l
loc_7F40A:
movea.w $46(a0),a1
@@ -171752,8 +171421,8 @@ sub_7FA7E:
bclr #5,$2A(a1)
clr.b $40(a1)
move.b #1,$20(a0)
- moveq #sfx_Bumper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bumper),d0
+ jsr (Play_SFX).l
locret_7FACA:
rts
@@ -171882,8 +171551,8 @@ sub_7FB92:
subq.b #1,$29(a0)
beq.s loc_7FBD6
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
loc_7FBB2:
moveq #0,d0
@@ -171989,30 +171658,37 @@ ObjDat3_7FC80: dc.l Map_DEZEndBoss
dc.b $14
dc.b $14
dc.b 0
-ChildObjDat_7FC8C:dc.w 1
+ChildObjDat_7FC8C:
+ dc.w 1
dc.l loc_7F71C
dc.w 0
dc.l loc_7F782
dc.w 0
-ChildObjDat_7FC9A:dc.w 0
+ChildObjDat_7FC9A:
+ dc.w 0
dc.l loc_7F336
-ChildObjDat_7FCA0:dc.w 1
+ChildObjDat_7FCA0:
+ dc.w 1
dc.l loc_7F64A
dc.w $14
dc.l loc_7F398
dc.w $C
-ChildObjDat_7FCAE:dc.w 0
+ChildObjDat_7FCAE:
+ dc.w 0
dc.l loc_7F6FA
-ChildObjDat_7FCB4:dc.w 2
+ChildObjDat_7FCB4:
+ dc.w 2
dc.l loc_7F60A
dc.w $F0F7
dc.l loc_7F60A
dc.w $F4
dc.l loc_7F60A
dc.w $10F7
-ChildObjDat_7FCC8:dc.w 5
+ChildObjDat_7FCC8:
+ dc.w 5
dc.l loc_7F7CE
-ChildObjDat_7FCCE:dc.w 1
+ChildObjDat_7FCCE:
+ dc.w 1
dc.l loc_7F7F6
byte_7FCD4: dc.b 3, 0
dc.b 1, 2
@@ -172043,8 +171719,7 @@ byte_7FCEF: dc.b $16, 0
dc.b $1E, 1
dc.b $FC
Pal_DEZEndBoss: binclude "Levels/DEZ/Palettes/End Boss.bin"
- even
-
+ even
byte_7FD28: dc.b 0
dc.b 1
dc.b 2
@@ -172319,8 +171994,8 @@ loc_7FF6A:
move.b #$E,5(a0)
move.w #$1F,$2E(a0)
move.w #$14,(Screen_shake_flag).w
- moveq #sfx_ThumpBoss,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ThumpBoss),d0
+ jsr (Play_SFX).l
moveq #0,d0
move.b $30(a0),d0
jmp loc_7FF8E(pc,d0.w)
@@ -172450,7 +172125,7 @@ loc_80082:
move.w a0,$46(a1)
loc_800C0:
- lea (ArtKosM_MasterEmerald).l,a1
+ lea (ArtKosM_BossMasterEmerald).l,a1
move.w #-$6600,d2
jsr (Queue_Kos_Module).l
@@ -172720,7 +172395,7 @@ loc_803D6:
jsr (Go_Delete_Sprite).l
cmpi.w #2,(Player_mode).w
bhs.s loc_8040C
- cmpi.b #7,(Emerald_count).w
+ cmpi.b #7,(Chaos_emerald_count).w
bne.s loc_8040C
move.w #$C00,d0
jmp (StartNewLevel).l
@@ -173038,7 +172713,6 @@ loc_8076A:
beq.s loc_8077C
move.l #loc_80782,(a0)
-
loc_8077C:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
@@ -173076,8 +172750,8 @@ loc_807BC:
move.w #4,$44(a0)
move.l #loc_80802,$34(a0)
move.b #$13,$39(a0)
- moveq #sfx_Charging,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Charging),d0
+ jsr (Play_SFX).l
loc_807EE:
bsr.w sub_80FFA
@@ -173119,8 +172793,8 @@ loc_8083C:
jsr Set_Raw_Animation(pc)
move.l #loc_80888,$34(a0)
bclr #7,4(a0)
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
loc_8086C:
jsr Animate_RawMultiDelay(pc)
@@ -173212,8 +172886,8 @@ loc_80956:
clr.b $23(a0)
move.w #$B0,$42(a0)
move.w #-$18,$44(a0)
- moveq #sfx_Blast,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Blast),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -173515,8 +173189,8 @@ loc_80C60:
lsl.w #2,d0
andi.w #$C,d0
move.w d0,(Screen_shake_flag).w
- moveq #sfx_ThumpBoss,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ThumpBoss),d0
+ jsr (Play_SFX).l
locret_80C88:
rts
@@ -173669,8 +173343,8 @@ sub_80E2C:
tst.b $20(a0)
bne.s loc_80E70
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
btst #7,$38(a0)
beq.s loc_80E70
@@ -173981,8 +173655,8 @@ sub_810FA:
tst.b $20(a0)
bne.s loc_81128
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_81128:
@@ -174045,8 +173719,8 @@ sub_8119A:
tst.b $20(a0)
bne.s loc_811DA
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
lea (Player_1).w,a1
tst.b $1C(a0)
beq.s loc_811C8
@@ -174210,18 +173884,22 @@ ObjDat3_81304: dc.l Map_DEZFinalBossDebris
dc.b $10
dc.b 0
dc.b 0
-ChildObjDat_81310:dc.w 1
+ChildObjDat_81310:
+ dc.w 1
dc.l loc_80B22
-ChildObjDat_81316:dc.w 2
+ChildObjDat_81316:
+ dc.w 2
dc.l loc_80CE2
dc.w $F0
dc.l loc_80CE2
dc.w $E0F0
dc.l loc_80CE2
dc.w $20F0
-ChildObjDat_8132A:dc.w 0
+ChildObjDat_8132A:
+ dc.w 0
dc.l loc_808AE
-ChildObjDat_81330:dc.w 1
+ChildObjDat_81330:
+ dc.w 1
dc.l loc_804B0
dc.w $23
dc.l loc_806DA
@@ -174285,7 +173963,6 @@ byte_81397: dc.b 0, 0
word_813AA: palscriptptr .hdr1, .data1
palscriptptr .hdr2, .data2
-
.hdr1 palscripthdr Normal_palette_line_3+$12, 1, 0
.data1 palscriptdata 15,$660
palscriptdata 18,$680
@@ -174298,7 +173975,6 @@ word_813AA: palscriptptr .hdr1, .data1
palscriptdata 7, $880
palscriptdata 18,$680
palscriptrept
-
.hdr2 palscripthdr Normal_palette_line_3+$16, 1, 0
.data2 palscriptdata 15,$6A0
palscriptdata 9, $8C0
@@ -174316,7 +173992,6 @@ word_813AA: palscriptptr .hdr1, .data1
word_8141E: palscriptptr .hdr1, .data1
palscriptptr .hdr2, .data2
-
.hdr1 palscripthdr Normal_palette_line_4+$12, 1, 0
.data1 palscriptdata 15,$660
palscriptdata 18,$680
@@ -174329,7 +174004,6 @@ word_8141E: palscriptptr .hdr1, .data1
palscriptdata 7, $880
palscriptdata 18,$680
palscriptrept
-
.hdr2 palscripthdr Normal_palette_line_4+$16, 1, 0
.data2 palscriptdata 15,$6A0
palscriptdata 9, $8C0
@@ -174371,11 +174045,11 @@ loc_814B8:
move.l (Camera_X_pos).w,d0
move.l d0,(_unkFA86).w
swap d0
- move.w d0,(Target_camera_min_X_pos).w
+ move.w d0,(Camera_stored_min_X_pos).w
move.w d0,(Camera_min_X_pos).w
move.w d0,(Camera_max_X_pos).w
addi.w #$140,d0
- move.w d0,(Target_camera_max_X_pos).w
+ move.w d0,(Camera_stored_max_X_pos).w
jsr (Create_New_Sprite).l
bne.s loc_81504
move.l #Obj_DecLevStartXGradual,(a1)
@@ -174484,8 +174158,8 @@ loc_8160A:
move.w #$100,(Deceleration).w
move.b #0,(Player_1+invincibility_timer).w
bset #Status_Invincible,(Player_1+status_secondary).w
- moveq #sfx_SuperAlt,d0 ; This is not the normal Super transformation SFX
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Whistle),d0 ; This is not the normal Super transformation SFX
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_8167C:
@@ -174597,7 +174271,7 @@ loc_8179E:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_B6_2:
+Obj_DDZEndBoss:
move.w (_unkFAAE).w,d0
sub.w d0,$10(a0)
moveq #0,d0
@@ -174646,7 +174320,7 @@ loc_81856:
bset #3,$38(a0)
move.w (Camera_min_X_pos).w,d0
subi.w #$100,d0
- move.w d0,(Target_camera_min_X_pos).w
+ move.w d0,(Camera_stored_min_X_pos).w
jsr (Create_New_Sprite).l
bne.s loc_81890
move.l #Obj_DecLevStartXGradual,(a1)
@@ -174726,8 +174400,8 @@ loc_81974:
dbf d0,loc_81974
loc_8197C:
- moveq #sfx_Rumble2,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX_Continuous).l
move.w #$160,d2
move.w #$130,d3
bsr.w sub_830C0
@@ -174739,8 +174413,8 @@ loc_8197C:
move.b #$A,5(a0)
ori.b #$30,$38(a0)
move.w #$1F,$2E(a0)
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
jsr (Create_New_Sprite).l
bne.s loc_819CE
move.l #loc_83108,(a1)
@@ -174760,7 +174434,7 @@ loc_819DA:
loc_819EA:
move.l (a1)+,(a2)+
dbf d6,loc_819EA
- lea (ArtKosM_MasterEmerald).l,a1
+ lea (ArtKosM_BossMasterEmerald).l,a1
move.w #-$6600,d2
jmp (Queue_Kos_Module).l
; ---------------------------------------------------------------------------
@@ -174805,8 +174479,8 @@ loc_81A74:
blo.s loc_81A9C
bset #7,$38(a0)
bne.s loc_81A9C
- moveq #sfx_Blast,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Blast),d0
+ jsr (Play_SFX).l
clr.w $1A(a0)
loc_81A9C:
@@ -174824,7 +174498,7 @@ loc_81A9C:
clr.w $18(a0)
jsr (Swing_Setup1).l
move.w #0,d0
- move.w d0,(Target_camera_min_Y_pos).w
+ move.w d0,(Camera_stored_min_Y_pos).w
addi.w #$C0,d0
move.w d0,$14(a0)
jsr (Create_New_Sprite).l
@@ -174833,7 +174507,7 @@ loc_81A9C:
loc_81AFC:
move.w #$120,d0
- move.w d0,(Target_camera_max_Y_pos).w
+ move.w d0,(Camera_stored_max_Y_pos).w
move.w d0,(Camera_target_max_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_81B16
@@ -174955,8 +174629,8 @@ loc_81C2C:
move.b (V_int_run_count+3).w,d0
andi.b #7,d0
bne.s loc_81C3E
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
loc_81C3E:
addi.w #$10,$1A(a0)
@@ -175286,8 +174960,8 @@ loc_81FB0:
move.b d2,$39(a1)
addq.w #1,d2
dbf d1,loc_81FB0
- moveq #sfx_TubeLauncher,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TubeLauncher),d0
+ jsr (Play_SFX).l
loc_81FDA:
movea.w $46(a0),a1
@@ -175328,8 +175002,8 @@ loc_82038:
tst.b 4(a0)
bpl.s loc_8204C
move.l #loc_8204C,(a0)
- moveq #sfx_Dash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Dash),d0
+ jsr (Play_SFX).l
loc_8204C:
move.w (_unkFAAE).w,d0
@@ -175479,7 +175153,7 @@ loc_821C2:
Obj_DDZAsteroid:
move.l #loc_821FC,(a0)
move.l #Map_DDZMissileAsteroid,$C(a0)
- move.w #-$5D25,$A(a0)
+ move.w #$A2DB,$A(a0)
move.w #0,8(a0)
bsr.w sub_83146
@@ -175503,8 +175177,8 @@ loc_82224:
; ---------------------------------------------------------------------------
loc_8222A:
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
move.w (_unkFA8E).w,d0
beq.s loc_82240
movea.w d0,a2
@@ -175789,8 +175463,8 @@ loc_824F4:
move.w $14(a1),d0
addi.w #$20,d0
move.w d0,$14(a0)
- moveq #sfx_TubeLauncher,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TubeLauncher),d0
+ jsr (Play_SFX).l
lea ChildObjDat_83294(pc),a2
jmp CreateChild1_Normal(pc)
; ---------------------------------------------------------------------------
@@ -176481,7 +176155,6 @@ loc_82BAC:
; ---------------------------------------------------------------------------
word_82BB4: dc.w 0, $38, $FFD4, $18
-
off_82BBC: dc.w word_82BC4-word_82BB4
dc.w word_82BCC-word_82BB4
dc.w word_82BD4-word_82BB4
@@ -176519,8 +176192,8 @@ sub_82BE4:
jsr Check_InMyRange(pc)
beq.s locret_82C1E
move.b #$3B,$34(a1)
- moveq #sfx_Explode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Explode),d0
+ jsr (Play_SFX).l
loc_82C18:
jsr (Go_Delete_Sprite).l
@@ -176657,8 +176330,8 @@ loc_82D18:
tst.b $20(a0)
bne.s loc_82D3E
move.b #$20,$20(a0)
- moveq #sfx_ThumpBoss,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ThumpBoss),d0
+ jsr (Play_SFX).l
loc_82D3E:
moveq #0,d0
@@ -176721,8 +176394,8 @@ loc_82DCE:
bmi.s loc_82E2C
move.b #$20,$20(a0)
move.b #$5A,(Player_1+invulnerability_timer).w
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bsr.w sub_82C6A
move.w (_unkFA8E).w,d0
beq.s loc_82E14
@@ -176779,8 +176452,8 @@ loc_82E9A:
bpl.s loc_82EEE
moveq #$18,d0
bsr.w sub_82D72
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
move.w #$1F,$2E(a0)
moveq #0,d1
move.b $39(a0),d1
@@ -176824,8 +176497,8 @@ loc_82F1C:
subq.w #1,$2E(a0)
bpl.s locret_82F6A
move.w #$1F,$2E(a0)
- moveq #sfx_MissileExplode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileExplode),d0
+ jsr (Play_SFX).l
moveq #0,d1
move.b $39(a0),d1
lea word_82F6C(pc,d1.w),a2
@@ -176958,8 +176631,8 @@ sub_8307C:
addi.w #$68,d0
cmp.w (Player_1+y_pos).w,d0
bhs.s loc_830B8
- moveq #sfx_BossProjectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossProjectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_83288(pc),a2
jmp CreateChild6_Simple(pc)
; ---------------------------------------------------------------------------
@@ -177184,35 +176857,48 @@ ObjDat3_83244: dc.l Map_DDZMissileAsteroid
dc.b 8
dc.b $25
dc.b 0
-ChildObjDat_83250:dc.w 0
+ChildObjDat_83250:
+ dc.w 0
dc.l loc_8214A
-ChildObjDat_83256:dc.w 0
+ChildObjDat_83256:
+ dc.w 0
dc.l loc_8218E
-ChildObjDat_8325C:dc.w 0
+ChildObjDat_8325C:
+ dc.w 0
dc.l loc_81E3C
-ChildObjDat_83262:dc.w 2
+ChildObjDat_83262:
+ dc.w 2
dc.l loc_81F36
-ChildObjDat_83268:dc.w 2
+ChildObjDat_83268:
+ dc.w 2
dc.l loc_81E82
-ChildObjDat_8326E:dc.w 0
+ChildObjDat_8326E:
+ dc.w 0
dc.l loc_81F14
-ChildObjDat_83274:dc.w 2
+ChildObjDat_83274:
+ dc.w 2
dc.l loc_81D72
-ChildObjDat_8327A:dc.w 0
+ChildObjDat_8327A:
+ dc.w 0
dc.l loc_81CC6
dc.w $1CFC
-ChildObjDat_83282:dc.w 1
+ChildObjDat_83282:
+ dc.w 1
dc.l loc_81F7E
-ChildObjDat_83288:dc.w 3
+ChildObjDat_83288:
+ dc.w 3
dc.l loc_825CA
-ChildObjDat_8328E:dc.w 3
+ChildObjDat_8328E:
+ dc.w 3
dc.l loc_8249A
-ChildObjDat_83294:dc.w 1
+ChildObjDat_83294:
+ dc.w 1
dc.l loc_82588
dc.w $800
dc.l loc_825BC
dc.w $E800
-ChildObjDat_832A2:dc.w 0
+ChildObjDat_832A2:
+ dc.w 0
dc.l loc_826A0
byte_832A8: dc.b 3
dc.b $29
@@ -177251,8 +176937,8 @@ byte_832D9: dc.b $3D, $2F
dc.b $3F, 9
dc.b $3E, 9
dc.b $FC
-Map_DDZMissileAsteroid:include "Levels/DDZ/Misc Object Data/Map - Missile Asteroid.asm"
-
+Map_DDZMissileAsteroid:
+ include "Levels/DDZ/Misc Object Data/Map - Missile Asteroid.asm"
; ---------------------------------------------------------------------------
Obj_HiddenMonitor:
@@ -177293,8 +176979,8 @@ Obj_HiddenMonitorMain:
blo.s loc_83760
loc_8374C:
- moveq #sfx_GroundSlide,d0 ; If signpost has landed
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GroundSlide),d0 ; If signpost has landed
+ jsr (Play_SFX).l
move.l #Sprite_OnScreen_Test,(a0)
loc_8375A:
@@ -177307,8 +176993,8 @@ loc_83760:
move.b #2,5(a0)
move.b #4,$3C(a0)
move.w #-$500,$1A(a0)
- moveq #sfx_BubbleAttack,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BubbleAttack),d0
+ jsr (Play_SFX).l
bclr #0,4(a0)
beq.s loc_83798
bset #7,$A(a0)
@@ -177318,7 +177004,8 @@ loc_83798:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
word_8379E: dc.w $FFF2, $1C, $FF80, $C0
-ObjDat_HiddenMonitor: dc.l Map_Monitor
+ObjDat_HiddenMonitor:
+ dc.l Map_Monitor
dc.w ArtTile_Monitors
dc.w $280
dc.b $E
@@ -177363,8 +177050,8 @@ loc_83816:
move.w (Camera_Y_pos).w,d0
subi.w #$20,d0
move.w d0,$14(a0) ; Place vertical position at top of screen
- moveq #sfx_Signpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Signpost),d0
+ jsr (Play_SFX).l
lea Child1_EndSignStub(pc),a2 ; Make the little stub at the bottom of the signpost
jmp CreateChild1_Normal(pc)
; ---------------------------------------------------------------------------
@@ -177450,7 +177137,8 @@ loc_838FA:
move.w #-$200,$1A(a0)
rts
; ---------------------------------------------------------------------------
-FrameArray_EndSign: dc.b 0, 0, 1, 2
+FrameArray_EndSign:
+ dc.b 0, 0, 1, 2
; ---------------------------------------------------------------------------
Obj_EndSignResults:
@@ -177504,7 +177192,8 @@ loc_83988:
jsr Remove_From_TrackingSlot(pc)
jmp Go_Delete_Sprite(pc)
; ---------------------------------------------------------------------------
-PLC_SpikesSprings: dc.w 0
+PLC_SpikesSprings:
+ dc.w 0
dc.l ArtNem_SpikesSprings
dc.w $9280
; ---------------------------------------------------------------------------
@@ -177602,8 +177291,8 @@ loc_83A92:
lsl.w #4,d0
move.w d0,$18(a0) ; Modify strength of X velocity based on how far to the left/right player is
move.w #-$200,$1A(a0) ; New vertical velocity is always the same
- moveq #sfx_Signpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Signpost),d0
+ jsr (Play_SFX).l
lea Child6_EndSignScore(pc),a2
jsr CreateChild6_Simple(pc)
moveq #$A,d0
@@ -177655,59 +177344,54 @@ locret_83B02:
; End of function EndSign_CheckWall
; ---------------------------------------------------------------------------
-ObjSlot_EndSigns: dc.w 0, $4AC, $C, 0
+ObjSlot_EndSigns:
+ dc.w 0, $4AC, $C, 0
dc.l Map_EndSigns
dc.w $300
dc.b $18
dc.b $10
dc.b 0
dc.b 0
-ObjDat_SignpostStub: dc.l Map_SignpostStub
+ObjDat_SignpostStub:
+ dc.l Map_SignpostStub
dc.w $69E
dc.w $300
dc.b 4
dc.b 8
dc.b 0
dc.b 0
-ObjDat_SignpostSparkle: dc.l Map_Ring
+ObjDat_SignpostSparkle:
+ dc.l Map_Ring
dc.w make_art_tile(ArtTile_Ring,1,0)
dc.w $280
dc.b 8
dc.b 8
dc.b 4
dc.b 0
-Child1_EndSignStub:dc.w 0
+Child1_EndSignStub:
+ dc.w 0
dc.l Obj_SignpostStub
dc.b 0, $18
-Child6_EndSignSparkle:dc.w 0
+Child6_EndSignSparkle:
+ dc.w 0
dc.l Obj_SignpostSparkle
-Child6_EndSignScore:dc.w 0
+Child6_EndSignScore:
+ dc.w 0
dc.l Obj_EnemyScore
-PLCPtr_EndSigns: dc.l ArtUnc_EndSigns
+PLCPtr_EndSigns:dc.l ArtUnc_EndSigns
dc.l DPLC_EndSigns
-AniRaw_EndSigns1: dc.b 1, 0
- dc.b 4, 5
- dc.b 6, 1
- dc.b 4, 5
- dc.b 6, 3
- dc.b 4, 5
- dc.b 6, $FC
-AniRaw_EndSigns2: dc.b 1, 1
- dc.b 4, 5
- dc.b 6, 2
- dc.b 4, 5
- dc.b 6, 3
- dc.b 4, 5
- dc.b 6, $FC
-AniRaw_SignpostSparkle: dc.b 1, 4
- dc.b 5, 6
- dc.b 7, $FC
-DPLC_EndSigns: include "General/Sprites/Signpost/DPLC - End Signs.asm"
-
-Map_EndSigns: include "General/Sprites/Signpost/Map - End Signs.asm"
-
-Map_SignpostStub: include "General/Sprites/Signpost/Map - Signpost Stub.asm"
-
+AniRaw_EndSigns1:
+ dc.b 1, 0, 4, 5, 6, 1, 4, 5, 6, 3, 4, 5, 6, $FC
+AniRaw_EndSigns2:
+ dc.b 1, 1, 4, 5, 6, 2, 4, 5, 6, 3, 4, 5, 6, $FC
+AniRaw_SignpostSparkle:
+ dc.b 1, 4, 5, 6, 7, $FC
+DPLC_EndSigns:
+ include "General/Sprites/Signpost/DPLC - End Signs.asm"
+Map_EndSigns:
+ include "General/Sprites/Signpost/Map - End Signs.asm"
+Map_SignpostStub:
+ include "General/Sprites/Signpost/Map - Signpost Stub.asm"
; =============== S U B R O U T I N E =======================================
@@ -177724,57 +177408,57 @@ AfterBoss_Cleanup:
; End of function AfterBoss_Cleanup
; ---------------------------------------------------------------------------
-off_83C1C: dc.w loc_83C7C-off_83C1C
- dc.w loc_83C90-off_83C1C
- dc.w locret_83CA6-off_83C1C
- dc.w locret_83CA6-off_83C1C
- dc.w loc_83CA8-off_83C1C
- dc.w loc_83CA8-off_83C1C
- dc.w locret_83CB2-off_83C1C
- dc.w locret_83CB2-off_83C1C
- dc.w locret_83CB2-off_83C1C
- dc.w locret_83CB2-off_83C1C
- dc.w locret_83CB2-off_83C1C
- dc.w loc_83CB4-off_83C1C
- dc.w loc_83CC0-off_83C1C
- dc.w loc_83CC0-off_83C1C
- dc.w loc_83CC0-off_83C1C
- dc.w loc_83CC0-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
- dc.w locret_83CCC-off_83C1C
-; ---------------------------------------------------------------------------
-
-loc_83C7C:
+off_83C1C: dc.w AfterBoss_AIZ1-off_83C1C
+ dc.w AfterBoss_AIZ2-off_83C1C
+ dc.w AfterBoss_HCZ-off_83C1C
+ dc.w AfterBoss_HCZ-off_83C1C
+ dc.w AfterBoss_MGZ-off_83C1C
+ dc.w AfterBoss_MGZ-off_83C1C
+ dc.w AfterBoss_CNZ-off_83C1C
+ dc.w AfterBoss_CNZ-off_83C1C
+ dc.w AfterBoss_FBZ-off_83C1C
+ dc.w AfterBoss_FBZ-off_83C1C
+ dc.w AfterBoss_ICZ1-off_83C1C
+ dc.w AfterBoss_ICZ2-off_83C1C
+ dc.w AfterBoss_LBZ-off_83C1C
+ dc.w AfterBoss_LBZ-off_83C1C
+ dc.w AfterBoss_MHZ-off_83C1C
+ dc.w AfterBoss_MHZ-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+ dc.w AfterBoss_None-off_83C1C
+; ---------------------------------------------------------------------------
+
+AfterBoss_AIZ1:
lea (Pal_AIZ).l,a1
lea (Normal_palette_line_2).w,a2
moveq #$17,d0
@@ -177785,40 +177469,47 @@ loc_83C88:
rts
; ---------------------------------------------------------------------------
-loc_83C90:
+AfterBoss_AIZ2:
lea (Pal_AIZFire).l,a1
jsr (PalLoad_Line1).l
- lea PLC_83CCE(pc),a1
+ lea PLC_AfterMiniboss_AIZ(pc),a1
jmp (Load_PLC_Raw).l
; ---------------------------------------------------------------------------
-locret_83CA6:
+AfterBoss_HCZ:
rts
; ---------------------------------------------------------------------------
-loc_83CA8:
+AfterBoss_MGZ:
lea PLC_MonitorsSpikesSprings(pc),a1
jmp (Load_PLC_Raw).l
; ---------------------------------------------------------------------------
-locret_83CB2:
+AfterBoss_CNZ:
+AfterBoss_FBZ:
+AfterBoss_ICZ1:
rts
; ---------------------------------------------------------------------------
-loc_83CB4:
+AfterBoss_ICZ2:
lea (Pal_ICZ2).l,a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
-loc_83CC0:
+AfterBoss_LBZ:
+ ; Bug: LBZ uses a post-boss routine meant for MHZ
+ ; This makes the MHZ object palette load during LBZ1's results
+
+AfterBoss_MHZ:
lea (Pal_MHZ2).l,a1
jmp (PalLoad_Line1).l
; ---------------------------------------------------------------------------
-locret_83CCC:
+AfterBoss_None:
rts
; ---------------------------------------------------------------------------
-PLC_83CCE: dc.w 6
+PLC_AfterMiniboss_AIZ:
+ dc.w 6
dc.l ArtNem_Monitors
dc.w tiles_to_bytes(ArtTile_Monitors)
dc.l ArtNem_AIZMisc2
@@ -177833,9 +177524,14 @@ PLC_83CCE: dc.w 6
dc.w $8AC0
dc.l ArtNem_AIZCorkFloor2
dc.w $8800
- dc.w 0,$EEE,$EC0,$E60,$C22, $EE, $88,$60A, $8E, $2E,$844, $20,$EAA,$A66,$ECC, $44
- dc.w 0,$EEE,$EC0,$E60,$C22, $EE, $88, $8E, $2C,$822, 0, $20,$CAA,$866,$644, $44
-PLC_MonitorsSpikesSprings: dc.w 1
+Pal_AfterMiniboss_AIZ:
+ binclude "Levels/AIZ/Palettes/Miniboss After.bin"
+ even
+Pal_AfterMiniboss_ICZ:
+ binclude "Levels/ICZ/Palettes/Miniboss After.bin"
+ even
+PLC_MonitorsSpikesSprings:
+ dc.w 1
dc.l ArtNem_Monitors
dc.w tiles_to_bytes(ArtTile_Monitors)
dc.l ArtNem_SpikesSprings
@@ -177845,21 +177541,23 @@ PLC_Monitors: dc.w 0
dc.w tiles_to_bytes(ArtTile_Monitors)
dc.w 2
dc.l ArtNem_Explosion
- dc.w $B400
+ dc.w tiles_to_bytes(ArtTile_Explosion)
dc.l ArtNem_Squirrel
dc.w $B000
dc.l ArtNem_BlueFlicky
dc.w $B240
-PLC_BossExplosion: dc.w 0
+PLC_BossExplosion:
+ dc.w 0
dc.l ArtNem_BossExplosion
dc.w $A000
PLC_Explosion: dc.w 0
dc.l ArtNem_Explosion
- dc.w $B400
+ dc.w tiles_to_bytes(ArtTile_Explosion)
PLC_EggCapsule: dc.w 0
dc.l ArtNem_EggCapsule
dc.w $9280
-PLC_RobotnikShip: dc.w 0
+PLC_RobotnikShip:
+ dc.w 0
dc.l ArtNem_RobotnikShip
dc.w $A5C0
; ---------------------------------------------------------------------------
@@ -177879,7 +177577,8 @@ Obj_CreateBossExplosion:
move.l (a1)+,$34(a0)
jmp (a2)
; ---------------------------------------------------------------------------
-CreateBossExpRoutineSet: dc.l Obj_Wait
+CreateBossExpRoutineSet:
+ dc.l Obj_Wait
dc.l Obj_BossExpControl1
dc.l Obj_WaitForParent
dc.l Obj_BossExpControl1
@@ -177893,40 +177592,41 @@ CreateBossExpRoutineSet: dc.l Obj_Wait
dc.l Obj_NormalExpControl
dc.l Obj_WaitForParent
dc.l Obj_BossExpControlOff
-CreateBossExpParameterIndex: dc.w CreateBossExp_00-CreateBossExpParameterIndex
- dc.w CreateBossExp_02-CreateBossExpParameterIndex
- dc.w CreateBossExp_04-CreateBossExpParameterIndex
- dc.w CreateBossExp_06-CreateBossExpParameterIndex
- dc.w CreateBossExp_08-CreateBossExpParameterIndex
- dc.w CreateBossExp_0A-CreateBossExpParameterIndex
- dc.w CreateBossExp_0C-CreateBossExpParameterIndex
- dc.w CreateBossExp_0E-CreateBossExpParameterIndex
- dc.w CreateBossExp_10-CreateBossExpParameterIndex
- dc.w CreateBossExp_12-CreateBossExpParameterIndex
- dc.w CreateBossExp_14-CreateBossExpParameterIndex
- dc.w CreateBossExp_16-CreateBossExpParameterIndex
- dc.w CreateBossExp_18-CreateBossExpParameterIndex
- dc.w CreateBossExp_1A-CreateBossExpParameterIndex
- dc.w CreateBossExp_1C-CreateBossExpParameterIndex
- dc.w CreateBossExp_1E-CreateBossExpParameterIndex
- dc.w CreateBossExp_20-CreateBossExpParameterIndex
-CreateBossExp_00: dc.b $20, $20, $20, 0 ; Explosion timer, X offset range, Y offset range, routine set
-CreateBossExp_02: dc.b $28, $80, $80, $18
-CreateBossExp_04: dc.b $80, $20, $20, 8
-CreateBossExp_06: dc.b 4, $10, $10, 0
-CreateBossExp_08: dc.b 8, $20, $20, $10
-CreateBossExp_0A: dc.b $20, $20, $20, 0
-CreateBossExp_0C: dc.b $40, $80, $20, 0
-CreateBossExp_0E: dc.b $80, $40, $40, 8
-CreateBossExp_10: dc.b $20, $20, $20, $18
-CreateBossExp_12: dc.b $80, $20, $20, $20
-CreateBossExp_14: dc.b 8, $80, $20, $10
-CreateBossExp_16: dc.b $80, $80, $80, 8
-CreateBossExp_18: dc.b $80, $80, $80, $28
-CreateBossExp_1A: dc.b $80, $40, $40, $28
-CreateBossExp_1C: dc.b $80, $80, $40, 8
-CreateBossExp_1E: dc.b $80, $10, $10, 8
-CreateBossExp_20: dc.b $80, $20, $20, $30
+CreateBossExpParameterIndex:
+ dc.w CreateBossExp00-CreateBossExpParameterIndex
+ dc.w CreateBossExp02-CreateBossExpParameterIndex
+ dc.w CreateBossExp04-CreateBossExpParameterIndex
+ dc.w CreateBossExp06-CreateBossExpParameterIndex
+ dc.w CreateBossExp08-CreateBossExpParameterIndex
+ dc.w CreateBossExp0A-CreateBossExpParameterIndex
+ dc.w CreateBossExp0C-CreateBossExpParameterIndex
+ dc.w CreateBossExp0E-CreateBossExpParameterIndex
+ dc.w CreateBossExp10-CreateBossExpParameterIndex
+ dc.w CreateBossExp12-CreateBossExpParameterIndex
+ dc.w CreateBossExp14-CreateBossExpParameterIndex
+ dc.w CreateBossExp16-CreateBossExpParameterIndex
+ dc.w CreateBossExp18-CreateBossExpParameterIndex
+ dc.w CreateBossExp1A-CreateBossExpParameterIndex
+ dc.w CreateBossExp1C-CreateBossExpParameterIndex
+ dc.w CreateBossExp1E-CreateBossExpParameterIndex
+ dc.w CreateBossExp20-CreateBossExpParameterIndex
+CreateBossExp00:dc.b $20, $20, $20, 0 ; Explosion timer, X offset range, Y offset range, routine set
+CreateBossExp02:dc.b $28, $80, $80, $18
+CreateBossExp04:dc.b $80, $20, $20, 8
+CreateBossExp06:dc.b 4, $10, $10, 0
+CreateBossExp08:dc.b 8, $20, $20, $10
+CreateBossExp0A:dc.b $20, $20, $20, 0
+CreateBossExp0C:dc.b $40, $80, $20, 0
+CreateBossExp0E:dc.b $80, $40, $40, 8
+CreateBossExp10:dc.b $20, $20, $20, $18
+CreateBossExp12:dc.b $80, $20, $20, $20
+CreateBossExp14:dc.b 8, $80, $20, $10
+CreateBossExp16:dc.b $80, $80, $80, 8
+CreateBossExp18:dc.b $80, $80, $80, $28
+CreateBossExp1A:dc.b $80, $40, $40, $28
+CreateBossExp1C:dc.b $80, $80, $40, 8
+CreateBossExp1E:dc.b $80, $10, $10, 8
+CreateBossExp20:dc.b $80, $20, $20, $30
; ---------------------------------------------------------------------------
Obj_WaitForParent:
@@ -178039,8 +177739,8 @@ Obj_BossExplosion1:
loc_83F52:
move.l #Obj_BossExplosionAnim,(a0)
move.l #Go_Delete_Sprite,$34(a0)
- moveq #sfx_Explode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Explode),d0
+ jsr (Play_SFX).l
Obj_BossExplosionAnim:
lea AniRaw_BossExplosion(pc),a1
@@ -178059,8 +177759,8 @@ Obj_BossExplosionOffset:
jsr SetUp_ObjAttributes(pc)
move.l #Obj_BossExplosionOffsetAnim,(a0)
move.l #Go_Delete_Sprite,$34(a0)
- moveq #sfx_Explode,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Explode),d0
+ jsr (Play_SFX).l
Obj_BossExplosionOffsetAnim:
move.w (Level_repeat_offset).w,d0
@@ -178069,42 +177769,44 @@ Obj_BossExplosionOffsetAnim:
jsr Animate_RawNoSSTMultiDelay(pc)
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-ObjDat_BossExplosion1: dc.l Map_BossExplosion
+ObjDat_BossExplosion1:
+ dc.l Map_BossExplosion
dc.w $8500
dc.w 0
dc.b $C
dc.b $C
dc.b 0
dc.b 0
-ObjDat_BossExplosion2: dc.l Map_BossExplosion
+ObjDat_BossExplosion2:
+ dc.l Map_BossExplosion
dc.w $84D2
dc.w 0
dc.b $C
dc.b $C
dc.b 0
dc.b 0
-AniRaw_BossExplosion: dc.b 0, 0
- dc.b 0, 1
- dc.b 1, 1
- dc.b 2, 2
- dc.b 3, 3
- dc.b 4, 4
- dc.b 5, 4
- dc.b $F4, 0
-Child6_MakeBossExplosion1: dc.w 0
+AniRaw_BossExplosion:
+ dc.b 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 4, $F4
+ even
+Child6_MakeBossExplosion1:
+ dc.w 0
dc.l Obj_BossExplosion1
-Child6_MakeBossExplosion2: dc.w 0
+Child6_MakeBossExplosion2:
+ dc.w 0
dc.l Obj_BossExplosion2
-Child6_MakeBossExplosionOff: dc.w 0
+Child6_MakeBossExplosionOff:
+ dc.w 0
dc.l Obj_BossExplosionOffset
-Child6_CreateBossExplosion:dc.w 0
+Child6_CreateBossExplosion:
+ dc.w 0
dc.l Obj_CreateBossExplosion
dc.b 0
dc.b 0
-Child6_MakeNormalExplosion:dc.w 0
+Child6_MakeNormalExplosion:
+ dc.w 0
dc.l Obj_Explosion
-Map_BossExplosion: include "General/Sprites/Boss Explosion/Map - Boss Explosion.asm"
-
+Map_BossExplosion:
+ include "General/Sprites/Boss Explosion/Map - Boss Explosion.asm"
; =============== S U B R O U T I N E =======================================
@@ -179090,8 +178792,8 @@ loc_847C6:
Swing_UpAndDown:
move.w $40(a0),d0 ; Acceleration
- move.w $1A(a0),d1 ; Velocity
- move.w $3E(a0),d2 ; Maximum acceleration before "swinging"
+ move.w $1A(a0),d1 ; Velocity
+ move.w $3E(a0),d2 ; Maximum acceleration before "swinging"
moveq #0,d3
btst #0,$38(a0)
bne.s loc_84812
@@ -179398,14 +179100,14 @@ Obj_IncLevEndXGradual:
move.l d1,$30(a0)
swap d1
add.w d1,d0
- cmp.w (Target_camera_max_X_pos).w,d0
+ cmp.w (Camera_stored_max_X_pos).w,d0
bhs.s loc_84A6A
move.w d0,(Camera_max_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_84A6A:
- move.w (Target_camera_max_X_pos).w,(Camera_max_X_pos).w
+ move.w (Camera_stored_max_X_pos).w,(Camera_max_X_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -179416,14 +179118,14 @@ Obj_DecLevStartXGradual:
move.l d1,$30(a0)
swap d1
sub.w d1,d0
- cmp.w (Target_camera_min_X_pos).w,d0
+ cmp.w (Camera_stored_min_X_pos).w,d0
ble.s loc_84A98
move.w d0,(Camera_min_X_pos).w
rts
; ---------------------------------------------------------------------------
loc_84A98:
- move.w (Target_camera_min_X_pos).w,(Camera_min_X_pos).w
+ move.w (Camera_stored_min_X_pos).w,(Camera_min_X_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -179434,14 +179136,14 @@ Obj_DecLevStartYGradual:
move.l d1,$30(a0)
swap d1
sub.w d1,d0
- cmp.w (Target_camera_min_Y_pos).w,d0
+ cmp.w (Camera_stored_min_Y_pos).w,d0
ble.s loc_84AC6
move.w d0,(Camera_min_Y_pos).w
rts
; ---------------------------------------------------------------------------
loc_84AC6:
- move.w (Target_camera_min_Y_pos).w,(Camera_min_Y_pos).w
+ move.w (Camera_stored_min_Y_pos).w,(Camera_min_Y_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
@@ -179452,14 +179154,14 @@ Obj_IncLevEndYGradual:
move.l d1,$30(a0)
swap d1
add.w d1,d0
- cmp.w (Target_camera_max_Y_pos).w,d0
+ cmp.w (Camera_stored_max_Y_pos).w,d0
bgt.s loc_84AF4
move.w d0,(Camera_max_Y_pos).w
rts
; ---------------------------------------------------------------------------
loc_84AF4:
- move.w (Target_camera_max_Y_pos).w,(Camera_max_Y_pos).w
+ move.w (Camera_stored_max_Y_pos).w,(Camera_max_Y_pos).w
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Child6_IncLevX: dc.w 0
@@ -179753,7 +179455,8 @@ MoveSprite_AtAngleLookup:
; End of function MoveSprite_AtAngleLookup
; ---------------------------------------------------------------------------
-AtAngle_LookupIndex: dc.w AtAngle_00_3F-AtAngle_LookupIndex
+AtAngle_LookupIndex:
+ dc.w AtAngle_00_3F-AtAngle_LookupIndex
dc.w AtAngle_40_7F-AtAngle_LookupIndex
dc.w AtAngle_80_BF-AtAngle_LookupIndex
dc.w AtAngle_C0_FF-AtAngle_LookupIndex
@@ -179860,7 +179563,8 @@ MoveSprite_AngleYLookup:
; End of function MoveSprite_AngleYLookup
; ---------------------------------------------------------------------------
-AngleY_LookupIndex: dc.w loc_84E16-AngleY_LookupIndex
+AngleY_LookupIndex:
+ dc.w loc_84E16-AngleY_LookupIndex
dc.w loc_84E1E-AngleY_LookupIndex
dc.w loc_84E28-AngleY_LookupIndex
dc.w loc_84E32-AngleY_LookupIndex
@@ -179905,7 +179609,8 @@ MoveSprite_AngleXLookupOffset:
; End of function MoveSprite_AngleXLookupOffset
; ---------------------------------------------------------------------------
-AngleX_LookupIndex: dc.w loc_84E58-AngleX_LookupIndex
+AngleX_LookupIndex:
+ dc.w loc_84E58-AngleX_LookupIndex
dc.w loc_84E60-AngleX_LookupIndex
dc.w loc_84E6C-AngleX_LookupIndex
dc.w loc_84E7C-AngleX_LookupIndex
@@ -180162,7 +179867,7 @@ locret_8506E:
Sprite_CheckDelete:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_85088
@@ -180183,7 +179888,7 @@ loc_85094:
Sprite_CheckDelete2:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s loc_850BA
@@ -180204,7 +179909,7 @@ loc_850C6:
Sprite_CheckDeleteXY:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite
@@ -180219,7 +179924,7 @@ Sprite_CheckDeleteXY:
Obj_FlickerMove:
jsr (MoveSprite).l
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite_3
@@ -180235,7 +179940,7 @@ Obj_FlickerMove:
Sprite_CheckDeleteTouch:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_85088
@@ -180245,7 +179950,7 @@ Sprite_CheckDeleteTouch:
Sprite_CheckDeleteTouch2:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_850BA
@@ -180255,7 +179960,7 @@ Sprite_CheckDeleteTouch2:
Sprite_CheckDeleteTouchXY:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_Sprite
@@ -180270,7 +179975,7 @@ Sprite_CheckDeleteTouchXY:
Sprite_CheckDeleteSlotted:
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s Go_Delete_SpriteSlotted
@@ -180299,7 +180004,7 @@ Remove_From_TrackingSlot:
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s Go_Delete_SpriteSlotted
@@ -180310,7 +180015,7 @@ Sprite_CheckDeleteTouchSlotted:
tst.b $2A(a0)
bmi.s Go_Delete_SpriteSlotted3
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.s Go_Delete_SpriteSlotted
@@ -180325,7 +180030,7 @@ Go_Delete_SpriteSlotted3:
tst.b $2A(a0) ; Unused, seems to be identical to the above
bmi.s Go_Delete_SpriteSlotted3
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w Go_Delete_SpriteSlotted
@@ -180333,21 +180038,21 @@ Go_Delete_SpriteSlotted3:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
move.w $10(a0),d0 ; Next three are unused, virtually the same
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_85088
rts
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_85088
rts
; ---------------------------------------------------------------------------
move.w $10(a0),d0
- andi.w #-$80,d0
+ andi.w #$FF80,d0
sub.w (Camera_X_pos_coarse_back).w,d0
cmpi.w #$280,d0
bhi.w loc_85088
@@ -180400,7 +180105,8 @@ locret_852F2:
; End of function Set_IndexedVelocity
; ---------------------------------------------------------------------------
-Obj_VelocityIndex: dc.w $FF00, $FF00
+Obj_VelocityIndex:
+ dc.w $FF00, $FF00
dc.w $100, $FF00
dc.w $FE00, $FE00
dc.w $200, $FE00
@@ -180452,7 +180158,7 @@ Find_SonicTails8Way:
divu.w d2,d3
tst.w d0
beq.s loc_853AE
- cmpi.w #-$8000,d2 ; If Y was closer and Sonic is to right of object
+ cmpi.w #$8000,d2 ; If Y was closer and Sonic is to right of object
blo.s loc_853FE
tst.w d0
beq.s loc_853FA
@@ -180460,7 +180166,7 @@ Find_SonicTails8Way:
; ---------------------------------------------------------------------------
loc_853AE:
- cmpi.w #-$8000,d2 ; If Y was closer and Sonic is to left of object
+ cmpi.w #$8000,d2 ; If Y was closer and Sonic is to left of object
blo.s loc_8540E
tst.w d1
bne.s loc_8540A
@@ -180473,7 +180179,7 @@ loc_853BC:
divu.w d3,d2
tst.w d1
bne.s loc_853D4
- cmpi.w #-$8000,d2
+ cmpi.w #$8000,d2
blo.s loc_853F6
tst.w d0
bne.s loc_853FA
@@ -180481,7 +180187,7 @@ loc_853BC:
; ---------------------------------------------------------------------------
loc_853D4:
- cmpi.w #-$8000,d2
+ cmpi.w #$8000,d2
blo.s loc_85406
tst.w d0
bne.s loc_85402
@@ -180858,17 +180564,12 @@ MoveSlowFall_AnimateRaw:
; ---------------------------------------------------------------------------
jsr Swing_UpAndDown(pc)
-; =============== S U B R O U T I N E =======================================
-
-
Move_AnimateRaw_Wait:
jsr (MoveSprite2).l
loc_85652:
jsr Animate_Raw(pc)
jmp Obj_Wait(pc)
-; End of function Move_AnimateRaw_Wait
-
; ---------------------------------------------------------------------------
Refresh_ChildPosWait:
@@ -181007,7 +180708,7 @@ loc_8577C:
move.w word_857AC(pc,d0.w),d0
cmpi.w #$20,(Chain_bonus_counter).w
blo.s loc_85796
- move.w #$3E8,d0 ; 10000 points
+ move.w #1000,d0 ; 10000 points
move.w #$A,$3E(a0)
loc_85796:
@@ -181019,10 +180720,10 @@ loc_85796:
; End of function EnemyDefeat_Score
; ---------------------------------------------------------------------------
-word_857AC: dc.w $A ;100 points
- dc.w $14 ;200 points
- dc.w $32 ;500 points
- dc.w $64 ;1000 points
+word_857AC: dc.w 10 ; 100 points
+ dc.w 20 ; 200 points
+ dc.w 50 ; 500 points
+ dc.w 100 ; 1000 points
; =============== S U B R O U T I N E =======================================
@@ -181522,35 +181223,35 @@ Map_Offscreen: dc.w 0
Obj_Song_Fade_ToLevelMusic:
move.w #$78,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.l #loc_85B1E,(a0)
loc_85B1E:
subq.w #1,$2E(a0)
bpl.w locret_8405E
- bsr.w Obj_PlayLevelMusic
+ bsr.w Restore_LevelMusic
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
Obj_Song_Fade_Transition:
move.w #$5A,$2E(a0)
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.l #loc_85B44,(a0)
loc_85B44:
subq.w #1,$2E(a0)
bpl.w locret_8405E
move.b $2C(a0),d0
- move.b d0,(Level_music+1).w
- jsr (Play_Sound).l
+ move.b d0,(Current_music+1).w
+ jsr (Play_Music).l
jmp (Delete_Current_Sprite).l
; =============== S U B R O U T I N E =======================================
-Obj_PlayLevelMusic:
+Restore_LevelMusic:
moveq #0,d0
lea (Apparent_zone_and_act).w,a1
move.b (a1)+,d0
@@ -181558,14 +181259,14 @@ Obj_PlayLevelMusic:
add.b (a1),d0
lea (LevelMusic_Playlist).l,a2
move.b (a2,d0.w),d0
- move.w d0,(Level_music).w
+ move.w d0,(Current_music).w
btst #Status_Invincible,(Player_1+status_secondary).w
beq.s loc_85B84
- moveq #mus_Invincibility,d0 ; If invincible, play invincibility
+ moveq #signextendB(mus_Invincibility),d0 ; If invincible, play invincibility
loc_85B84:
- jmp (Play_Sound).l
-; End of function Obj_PlayLevelMusic
+ jmp (Play_Music).l
+; End of function Restore_LevelMusic
; =============== S U B R O U T I N E =======================================
@@ -181597,7 +181298,8 @@ Obj_EndSignControl:
; End of function Obj_EndSignControl
; ---------------------------------------------------------------------------
-PLC_EndSignStuff: dc.w 1
+PLC_EndSignStuff:
+ dc.w 1
dc.l ArtNem_SignpostStub
dc.w $D3C0
dc.l ArtNem_Monitors
@@ -181699,8 +181401,8 @@ loc_85CA4:
subq.w #1,$2E(a0)
bpl.s loc_85CC6
move.b $26(a0),d0
- move.b d0,(Level_music+1).w
- jsr (Play_Sound).l
+ move.b d0,(Current_music+1).w
+ jsr (Play_Music).l
bset #0,$27(a0)
loc_85CC6:
@@ -181769,15 +181471,15 @@ sub_85D6A:
move.b #1,(Boss_flag).w
loc_85D70:
- moveq #mus_FadeOut,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_FadeOut),d0
+ jsr (Play_Music).l
move.w #$78,$2E(a0)
loc_85D7E:
- move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w
- move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w
- move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w
+ move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w
+ move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w (a1)+,(_unkFAB0).w
move.w (a1)+,(_unkFAB2).w
move.w (a1)+,(_unkFAB4).w
@@ -181797,11 +181499,11 @@ Change_Act2Sizes:
lsl.w #4,d0
lea (LevelSizes).l,a1
lea 8(a1,d0.w),a1 ; Get level sizes for act 2
- move.w (a1)+,(Target_camera_min_X_pos).w
- move.w (a1)+,(Target_camera_max_X_pos).w
- move.w (a1)+,(Target_camera_min_Y_pos).w
+ move.w (a1)+,(Camera_stored_min_X_pos).w
+ move.w (a1)+,(Camera_stored_max_X_pos).w
+ move.w (a1)+,(Camera_stored_min_Y_pos).w
move.w (a1)+,d1
- move.w d1,(Target_camera_max_Y_pos).w ; Put level sizes into the target size memory
+ move.w d1,(Camera_stored_max_Y_pos).w ; Put level sizes into the target size memory
move.w d1,(Camera_target_max_Y_pos).w
cmpi.b #$10,d0
beq.w locret_8405E ; If we're in HCZ, don't immediately apply these changes. There's another event to do.
@@ -181817,7 +181519,8 @@ Make_LevelSizeObj:
; End of function Make_LevelSizeObj
; ---------------------------------------------------------------------------
-Child1_Act2LevelSize:dc.w 2
+Child1_Act2LevelSize:
+ dc.w 2
dc.l Obj_IncLevEndXGradual
dc.w 0
dc.l Obj_DecLevStartYGradual
@@ -181838,11 +181541,11 @@ loc_85E0E:
add.w d1,d0
lea (LevelSizes).l,a1
lea (a1,d0.w),a1
- move.w (a1)+,(Target_camera_min_X_pos).w
- move.w (a1)+,(Target_camera_max_X_pos).w
- move.w (a1)+,(Target_camera_min_Y_pos).w
+ move.w (a1)+,(Camera_stored_min_X_pos).w
+ move.w (a1)+,(Camera_stored_max_X_pos).w
+ move.w (a1)+,(Camera_stored_min_Y_pos).w
move.w (a1)+,d1
- move.w d1,(Target_camera_max_Y_pos).w
+ move.w d1,(Camera_stored_max_Y_pos).w
move.w d1,(Camera_target_max_Y_pos).w
lea (Child7_ChangeLevSize).l,a2
jmp CreateChild7_Normal2(pc)
@@ -181863,12 +181566,12 @@ StartNewLevel:
; =============== S U B R O U T I N E =======================================
-sub_85E52:
+Play_SFX_Continuous:
move.b (V_int_run_count+3).w,d1
andi.b #$F,d1
bne.w locret_8405E
- jmp (Play_Sound_2).l
-; End of function sub_85E52
+ jmp (Play_SFX).l
+; End of function Play_SFX_Continuous
; ---------------------------------------------------------------------------
@@ -182003,7 +181706,7 @@ loc_85F62:
move.w (Player_mode).w,d0
cmpi.w #2,d0
beq.s loc_85F7E
- cmpi.w #7,(Emerald_count).w
+ cmpi.w #7,(Emerald_counts).w
beq.s loc_85F82
moveq #0,d0
rts
@@ -182194,7 +181897,7 @@ AddRings:
lea (Update_HUD_ring_count).w,a3
lea (Extra_life_flags).w,a4
lea (Total_ring_count).w,a5
- move.w #$3E7,d1
+ move.w #999,d1
add.w d0,(a5)
cmp.w (a5),d1
bhs.s loc_8610E
@@ -182208,26 +181911,26 @@ loc_8610E:
loc_86116:
ori.b #1,(a3)
- cmpi.w #$64,(a2)
+ cmpi.w #100,(a2)
blo.s loc_86132
bset #1,(a4)
beq.s loc_8613A
- cmpi.w #$C8,(a2)
+ cmpi.w #200,(a2)
blo.s loc_86132
bset #2,(a4)
beq.s loc_8613A
loc_86132:
- moveq #sfx_RingRight,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_RingRight),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_8613A:
addq.w #1,(Monitors_broken).w ; Add an extra life
addq.b #1,(Life_count).w
addq.b #1,(Update_HUD_life_count).w
- moveq #mus_ExtraLife,d0
- jmp (Play_Sound).l
+ moveq #signextendB(mus_ExtraLife),d0
+ jmp (Play_Music).l
; =============== S U B R O U T I N E =======================================
@@ -182449,7 +182152,7 @@ loc_862A6:
rts
; ---------------------------------------------------------------------------
-Obj_8B:
+Obj_SpriteMask:
bset #2,4(a0)
loc_862B4:
@@ -182530,8 +182233,8 @@ sub_8635E:
clr.b $3D(a1)
move.b #$10,$20(a1)
move.b #2,5(a1)
- moveq #sfx_Spring,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jmp (Play_SFX).l
; End of function sub_8635E
@@ -182586,7 +182289,7 @@ loc_863E6:
jmp (Delete_Current_Sprite).l
; ---------------------------------------------------------------------------
-Obj_B3_2:
+Obj_StartNewLevel:
lea (Player_1).w,a1
lea word_86426(pc),a2
jsr (Check_InMyRange).l
@@ -182618,8 +182321,8 @@ loc_86438:
move.b (V_int_run_count+3).w,d1
andi.b #$F,d1
bne.w locret_8405E
- moveq #sfx_Rumble2,d0
- jmp (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jmp (Play_SFX).l
; ---------------------------------------------------------------------------
loc_86452:
@@ -182656,7 +182359,7 @@ loc_86478:
; ---------------------------------------------------------------------------
-loc_8648C:
+Ending_Give_SuperSonic:
addi.w #50,(Ring_count).w
move.b #1,(Super_palette_status).w
move.b #$F,(Palette_timer).w
@@ -182687,6 +182390,9 @@ loc_8648C:
move.w #$30,(Acceleration).w
move.w #$100,(Deceleration).w
move.l #Obj_HyperSonic_Stars,(Invincibility_stars).w
+ ; This is bugged: Sonic turns Hyper after the credits no matter which emeralds he has
+ ; Note that he doesn't get his Hyper after-images even when he should
+ ;move.l #Obj_HyperSonicKnux_Trail,(Super_stars).w
bra.s .continued
; ---------------------------------------------------------------------------
@@ -182702,7 +182408,7 @@ loc_8648C:
rts
; ---------------------------------------------------------------------------
-Obj_81:
+Obj_EggCapsule:
moveq #0,d0
move.b 5(a0),d0
move.w off_86566(pc,d0.w),d1
@@ -183180,7 +182886,7 @@ locret_869C4:
Set_PlayerEndingPose:
- move.b #-$7F,$2E(a1)
+ move.b #$81,$2E(a1)
move.b #$13,$20(a1)
clr.b $3D(a1)
clr.w $18(a1)
@@ -183379,18 +183085,22 @@ word_86B56: dc.w $200
dc.b 4
dc.b 6
dc.b 0
-ChildObjDat_86B5C:dc.w 0
+ChildObjDat_86B5C:
+ dc.w 0
dc.l loc_8671C
dc.w $DC
-ChildObjDat_86B64:dc.w 0
+ChildObjDat_86B64:
+ dc.w 0
dc.l loc_8675C
dc.w $24
-ChildObjDat_86B6C:dc.w 1
+ChildObjDat_86B6C:
+ dc.w 1
dc.l loc_86802
dc.w $ECDC
dc.l loc_86802
dc.w $14DC
-ChildObjDat_86B7A:dc.w 4
+ChildObjDat_86B7A:
+ dc.w 4
dc.l loc_867D6
dc.w $F8
dc.l loc_867D6
@@ -183401,7 +183111,8 @@ ChildObjDat_86B7A:dc.w 4
dc.w $E8F8
dc.l loc_867D6
dc.w $18F8
-ChildObjDat_86B9A:dc.w 8
+ChildObjDat_86B9A:
+ dc.w 8
dc.l loc_86820
dc.w $FC
dc.l loc_86820
@@ -183439,10 +183150,9 @@ byte_86BF6: dc.b 0
dc.b 9
dc.b $FC
Map_EggCapsule: include "General/Sprites/Robotnik/Map - Egg Capsule.asm"
-
; ---------------------------------------------------------------------------
-Obj_8A:
+Obj_FBZExitHall:
move.l #Sprite_OnScreen_Test,(a0)
moveq #0,d0
move.b $2C(a0),d0
@@ -183465,7 +183175,6 @@ word_86D22: dc.w $43F4
dc.b 1
dc.b 0
Map_FBZExitHall:include "Levels/FBZ/Misc Object Data/Map - Exit Hall.asm"
-
; ---------------------------------------------------------------------------
loc_86D4A:
@@ -183480,7 +183189,7 @@ loc_86D5E:
jmp (Sprite_CheckDeleteTouchXY).l
; ---------------------------------------------------------------------------
-Obj_Tulipon:
+Obj_Bloominator:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
@@ -183525,8 +183234,8 @@ loc_86DC6:
bne.s locret_86DA0
loc_86DD8:
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_86E2A(pc),a2
jsr CreateChild2_Complex(pc)
bne.s locret_86DFA
@@ -183545,21 +183254,22 @@ loc_86DFC:
move.l #loc_86DAE,$34(a0)
rts
; ---------------------------------------------------------------------------
-ObjDat3_86E12: dc.l Map_Tulipon
+ObjDat3_86E12: dc.l Map_Bloominator
dc.w $252A
dc.w $200
dc.b $C
dc.b $18
dc.b 0
dc.b $23
-ObjDat3_86E1E: dc.l Map_Tulipon
+ObjDat3_86E1E: dc.l Map_Bloominator
dc.w $252A
dc.w $280
dc.b 8
dc.b 8
dc.b 4
dc.b $98
-ChildObjDat_86E2A:dc.w 0
+ChildObjDat_86E2A:
+ dc.w 0
dc.l loc_86D4A
dc.l ObjDat3_86E1E
dc.l 0
@@ -183580,13 +183290,13 @@ byte_86E42: dc.b 0, 7
dc.b $F4, 0
; ---------------------------------------------------------------------------
-Obj_RhinoBot:
+Obj_Rhinobot:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
move.w off_86E76(pc,d0.w),d1
jsr off_86E76(pc,d1.w)
- lea DPLCPtr_87132(pc),a2
+ lea DPLCPtr_AIZRhinobot(pc),a2
jsr Perform_DPLC(pc)
jmp Sprite_CheckDeleteTouchSlotted(pc)
; ---------------------------------------------------------------------------
@@ -183647,7 +183357,7 @@ loc_86EFC:
move.b 5(a0),d0
move.w off_86F22(pc,d0.w),d1
jsr off_86F22(pc,d1.w)
- lea DPLCPtr_87132(pc),a2
+ lea DPLCPtr_AIZRhinobot(pc),a2
jsr Perform_DPLC(pc)
jmp Child_Remember_Draw_Sprite(pc)
; ---------------------------------------------------------------------------
@@ -183702,8 +183412,8 @@ loc_86F92:
move.w #$20,$2E(a0)
move.l #loc_86FCE,$34(a0)
bset #1,$38(a0)
- moveq #sfx_Blast,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Blast),d0
+ jsr (Play_SFX).l
lea ChildObjDat_8712A(pc),a2
jsr CreateChild1_Normal(pc)
bne.s locret_86FCC
@@ -183802,8 +183512,8 @@ loc_8707E:
loc_87084:
move.b d1,$22(a0)
- moveq #sfx_Blast,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Blast),d0
+ jsr (Play_SFX).l
lea ChildObjDat_87122(pc),a2
jsr CreateChild1_Normal(pc)
bne.s locret_870A2
@@ -183874,7 +183584,7 @@ ObjDat4_870FE: dc.w 1
dc.w $2500
dc.w $15
dc.w 0
- dc.l Map_RhinoBot
+ dc.l Map_Rhinobot
dc.w $280
dc.b $14
dc.b $10
@@ -183884,20 +183594,23 @@ ObjDat4_87110: dc.w 1
dc.w $44A
dc.w 6
dc.w 2
- dc.l Map_RhinoBot
+ dc.l Map_Rhinobot
dc.w $200
dc.b $C
dc.b 8
dc.b 4
dc.b 0
-ChildObjDat_87122:dc.w 0
+ChildObjDat_87122:
+ dc.w 0
dc.l loc_86EFC
dc.w $C08
-ChildObjDat_8712A:dc.w 0
+ChildObjDat_8712A:
+ dc.w 0
dc.l loc_86EFC
dc.w $1008
-DPLCPtr_87132: dc.l ArtUnc_AIZRhino
- dc.l DPLC_RhinoBot
+DPLCPtr_AIZRhinobot:
+ dc.l ArtUnc_AIZRhinobot
+ dc.l DPLC_Rhinobot
byte_8713A: dc.b 2, 4
dc.b 4, 5
dc.b 6, 7
@@ -184066,7 +183779,7 @@ loc_872EE:
btst #3,$38(a0)
beq.s loc_87308
addq.b #4,d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bhs.s loc_87316
move.b d0,$3C(a0)
rts
@@ -184074,7 +183787,7 @@ loc_872EE:
loc_87308:
subq.b #4,d0
- cmpi.b #-$80,d0
+ cmpi.b #$80,d0
bls.s loc_87316
move.b d0,$3C(a0)
rts
@@ -184109,7 +183822,7 @@ loc_87330:
loc_8734E:
move.b $41(a0),d1
bsr.w sub_87540
- subi.b #-$80,d0
+ subi.b #$80,d0
cmpi.b #$60,d0
blo.s loc_8736C
@@ -184273,14 +183986,14 @@ loc_87480:
move.b #8,$1E(a0)
move.w #-$200,$18(a0)
move.w #-$400,$1A(a0)
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_874B6:
jsr (MoveSprite_LightGravity).l
jsr Animate_RawMultiDelay(pc)
jsr ObjHitFloor_DoRoutine(pc)
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
loc_874CA:
@@ -184289,7 +184002,7 @@ loc_874CA:
; ---------------------------------------------------------------------------
loc_874D2:
- jmp (loc_1B662).l
+ jmp (Sprite_CheckDeleteTouch3).l
; ---------------------------------------------------------------------------
movea.w $46(a0),a1
move.b 4(a1),d0
@@ -184449,8 +184162,8 @@ loc_875E0:
loc_8760A:
bset #0,$38(a0)
move.b #4,$22(a0)
- moveq #sfx_MissileThrow,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MissileThrow),d0
+ jsr (Play_SFX).l
lea (ChildObjDat_8769C).l,a2
jsr CreateChild2_Complex(pc)
bne.s locret_875DE
@@ -184505,9 +184218,11 @@ ObjDat3_87674: dc.l Map_MonkeyDude
dc.b $20
dc.b 6
dc.b $98
-ChildObjDat_87680:dc.w 4
+ChildObjDat_87680:
+ dc.w 4
dc.l loc_8724E
-ChildObjDat_87686:dc.w 4
+ChildObjDat_87686:
+ dc.w 4
dc.l loc_87248
dc.w 0
dc.l loc_8724E
@@ -184515,7 +184230,8 @@ ChildObjDat_87686:dc.w 4
dc.w 0
dc.l loc_87480
dc.w 0
-ChildObjDat_8769C:dc.w 0
+ChildObjDat_8769C:
+ dc.w 0
dc.l loc_86D4A
dc.l ObjDat3_87674
dc.w 0
@@ -184732,10 +184448,12 @@ word_87892: dc.w $200
dc.b $10
dc.b 3
dc.b 0
-ChildObjDat_87898:dc.w 5
+ChildObjDat_87898:
+ dc.w 5
dc.l loc_8778C
dc.w 0
-ChildObjDat_878A0:dc.w 0
+ChildObjDat_878A0:
+ dc.w 0
dc.l loc_8780A
dc.w 0
byte_878A8: dc.b 3, 2
@@ -184839,8 +184557,8 @@ loc_87976:
bne.s locret_87974
tst.b 4(a0)
bpl.w locret_87974
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_879F8(pc),a2
jmp CreateChild5_ComplexAdjusted(pc)
; ---------------------------------------------------------------------------
@@ -184887,10 +184605,11 @@ ObjDat3_879EC: dc.l Map_Blastoid
dc.b 4
dc.b 2
dc.b $98
-ChildObjDat_879F8:dc.w 0
+ChildObjDat_879F8:
+ dc.w 0
dc.l loc_86D4A
dc.l ObjDat3_879EC
- dc.l word_87A1F
+ dc.l byte_87A1F
dc.l Move_AnimateRaw
dc.b $EC
dc.b $F9
@@ -184904,9 +184623,9 @@ byte_87A10: dc.b 0, $7F
dc.b 1, 4
dc.b 0, $3F
dc.b $F4
-word_87A1F: dc.w 2
- dc.w $3FC
- dc.b 0
+byte_87A1F: dc.b 0, 2
+ dc.b 3, $FC
+ dc.b 0
; ---------------------------------------------------------------------------
Obj_Buggernaut:
@@ -185084,7 +184803,8 @@ word_87BAC: dc.w $280
dc.b $C
dc.b 3
dc.b 0
-ChildObjDat_87BB2:dc.w 0
+ChildObjDat_87BB2:
+ dc.w 0
dc.l Obj_Buggernaught_Baby
dc.w $2000
byte_87BBA: dc.b 0, 0
@@ -185280,8 +185000,8 @@ loc_87D72:
loc_87D86:
move.w d0,$18(a0)
move.w #-$400,$1A(a0)
- moveq #sfx_FloorLauncher,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorLauncher),d0
+ jsr (Play_SFX).l
lea ChildObjDat_87EEE(pc),a2
jsr CreateChild1_Normal(pc)
jmp Sprite_CheckDeleteTouchXY(pc)
@@ -185357,8 +185077,8 @@ loc_87E48:
jsr SetUp_ObjAttributes2(pc)
move.l #loc_87E66,(a0)
move.b $2C(a0),$2F(a0)
- moveq #sfx_Splash,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Splash),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -185431,16 +185151,20 @@ ObjDat3_87EDA: dc.l Map_TurboSpikerHidden
dc.b $10
dc.b 0
dc.b 0
-ChildObjDat_87EE6:dc.w 0
+ChildObjDat_87EE6:
+ dc.w 0
dc.l loc_87D4C
dc.w $400
-ChildObjDat_87EEE:dc.w 0
+ChildObjDat_87EEE:
+ dc.w 0
dc.l loc_87DAE
dc.w $FC14
-ChildObjDat_87EF6:dc.w 0
+ChildObjDat_87EF6:
+ dc.w 0
dc.l loc_87E1A
dc.w 4
-ChildObjDat_87EFE:dc.w 4
+ChildObjDat_87EFE:
+ dc.w 4
dc.l loc_87E48
dc.w $4F8
dc.l loc_87E48
@@ -185451,7 +185175,8 @@ ChildObjDat_87EFE:dc.w 4
dc.w $F800
dc.l loc_87E48
dc.w $800
-ChildObjDat_87F1E:dc.w 0
+ChildObjDat_87F1E:
+ dc.w 0
dc.l loc_87E90
dc.w 0
byte_87F26: dc.b 5, 0
@@ -185469,11 +185194,11 @@ byte_87F37: dc.b 1, 8
dc.b $B, $C
dc.b $D, $F4
dc.b 0
-Map_TurboSpikerHidden: include "General/Sprites/Turbo Spiker/Map - Turbo Spiker Hidden.asm"
-
+Map_TurboSpikerHidden:
+ include "General/Sprites/Turbo Spiker/Map - Turbo Spiker Hidden.asm"
; ---------------------------------------------------------------------------
-Obj_MegaChomper:
+Obj_MegaChopper:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
@@ -185599,7 +185324,7 @@ loc_88076:
btst #2,$38(a0)
beq.s loc_880AE
move.w (Ctrl_1).w,d0
- andi.w #-$7374,d0
+ andi.w #$8C8C,d0
move.w d0,(Ctrl_1_logical).w
loc_880AE:
@@ -185704,9 +185429,9 @@ loc_881C8:
locret_881E8:
rts
; ---------------------------------------------------------------------------
-word_881EA: dc.w Player_1, Ctrl_1
- dc.w Player_2, Ctrl_2
- dc.w Player_1, Ctrl_1
+word_881EA: dc.w Player_1, Ctrl_1
+ dc.w Player_2, Ctrl_2
+ dc.w Player_1, Ctrl_1
; ---------------------------------------------------------------------------
loc_881F6:
@@ -185732,12 +185457,12 @@ sub_881FE:
bne.s loc_88236
loc_88230:
- ori.b #-$80,(Update_HUD_ring_count).w
+ ori.b #$80,(Update_HUD_ring_count).w
loc_88236:
move.w d0,(Ring_count).w
- moveq #sfx_RingRight,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_RingRight),d0
+ jsr (Play_SFX).l
loc_88242:
moveq #0,d0
@@ -185747,7 +185472,7 @@ loc_88242:
loc_88246:
bclr #7,$38(a0)
beq.s loc_88242
- andi.b #-2,(Update_HUD_ring_count).w
+ andi.b #$FE,(Update_HUD_ring_count).w
moveq #0,d0
rts
; ---------------------------------------------------------------------------
@@ -185763,7 +185488,7 @@ loc_88258:
; End of function sub_881FE
; ---------------------------------------------------------------------------
-ObjDat3_8826C: dc.l Map_MegaChomper
+ObjDat3_8826C: dc.l Map_MegaChopper
dc.w $254D
dc.w $280
dc.b $20
@@ -185818,7 +185543,7 @@ loc_882E6:
move.b #$A,$28(a0)
cmpi.b #2,$22(a0)
bne.s locret_8830C
- move.b #-$7A,$28(a0)
+ move.b #$86,$28(a0)
locret_8830C:
rts
@@ -185853,10 +185578,10 @@ Obj_BubblesBadnik:
move.b #$12,$28(a0)
cmpi.b #4,$22(a0)
bne.s loc_8835E
- move.b #-$7A,$28(a0)
+ move.b #$86,$28(a0)
loc_8835E:
- lea PLCPtr_88436(pc),a2
+ lea PLCPtr_BubblesBadnik(pc),a2
jsr Perform_DPLC(pc)
jmp Sprite_CheckDeleteTouchSlotted(pc)
; ---------------------------------------------------------------------------
@@ -185906,8 +185631,8 @@ loc_883E6:
beq.s loc_883FC
cmpi.b #4,$23(a0)
bne.s loc_883FC
- moveq #sfx_ChainTick,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_ChainTick),d0
+ jsr (Play_SFX).l
loc_883FC:
jsr Swing_UpAndDown(pc)
@@ -185935,7 +185660,8 @@ ObjDat4_88424: dc.w 1
dc.b $18
dc.b 0
dc.b 0
-PLCPtr_88436: dc.l ArtUnc_BubblesBadnik
+PLCPtr_BubblesBadnik:
+ dc.l ArtUnc_BubblesBadnik
dc.l DPLC_BubblesBadnik
byte_8843E: dc.b 0, $F
dc.b 0, $77
@@ -185954,7 +185680,7 @@ byte_8844D: dc.b 0, $7F
dc.b $FC
; ---------------------------------------------------------------------------
-Obj_MGZMiniBoss:
+Obj_Tunnelbot:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
@@ -186040,8 +185766,8 @@ loc_88540:
add.w d0,$14(a0)
andi.b #7,d1
bne.s loc_88556
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
bsr.w sub_88A32
loc_88556:
@@ -186054,7 +185780,7 @@ loc_8855A:
jmp (Go_Delete_Sprite).l
; ---------------------------------------------------------------------------
-Obj_9F_1:
+Obj_MGZMiniboss:
lea word_8859C(pc),a1
jsr (Check_CameraInRange).l
moveq #0,d0
@@ -186186,8 +185912,8 @@ loc_886FC:
add.w d0,$14(a0)
andi.b #7,d1
bne.s loc_88712
- moveq #sfx_Rumble2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rumble2),d0
+ jsr (Play_SFX).l
bsr.w sub_88A32
loc_88712:
@@ -186274,7 +186000,7 @@ loc_887DA:
loc_887F6:
move.l #loc_88804,(a0)
- move.b #-$62,$28(a0)
+ move.b #$9E,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -186506,8 +186232,8 @@ sub_88A62:
tst.b $20(a0)
bne.s loc_88A88
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_88A88:
@@ -186547,7 +186273,7 @@ loc_88AD4:
word_88AE4: dc.w Normal_palette_line_2+$18, Normal_palette_line_2+$1A, Normal_palette_line_2+$1C
word_88AEA: dc.w $CAA, $866, $644
dc.w $EEE, $EEE, $EEE
-ObjDat3_88AF6: dc.l Map_MGZMiniBoss
+ObjDat3_88AF6: dc.l Map_MGZMiniboss
dc.w $254F
dc.w $280
dc.b $28
@@ -186580,15 +186306,18 @@ ObjDat3_88B20: dc.l Map_MGZMovingSpikePlatform
dc.b $30
dc.b 0
dc.b 0
-ChildObjDat_88B2C:dc.w 1
+ChildObjDat_88B2C:
+ dc.w 1
dc.l loc_887F6
dc.w $E4EA
dc.l loc_887F6
dc.w $1CEA
-ChildObjDat_88B3A:dc.w 0
+ChildObjDat_88B3A:
+ dc.w 0
dc.l loc_88820
dc.w 0
-ChildObjDat_88B42:dc.w 4
+ChildObjDat_88B42:
+ dc.w 4
dc.l loc_8894C
dc.w 0
dc.l loc_8894C
@@ -186599,7 +186328,8 @@ ChildObjDat_88B42:dc.w 4
dc.w $E4EA
dc.l loc_8894C
dc.w $1CEA
-ChildObjDat_88B62:dc.w 0
+ChildObjDat_88B62:
+ dc.w 0
dc.l loc_88864
dc.w 0
dc.b 0, 5
@@ -186613,8 +186343,8 @@ byte_88B73: dc.b 5, 4
byte_88B79: dc.b 0, 0
dc.b 1, 2
dc.b $FC
-Map_MGZMinibossSpires: include "Levels/MGZ/Misc Object Data/Map - Miniboss Spires.asm"
-
+Map_MGZMinibossSpires:
+ include "Levels/MGZ/Misc Object Data/Map - Miniboss Spires.asm"
PLC_88B88: dc.w 1
dc.l ArtNem_BossExplosion
dc.w $A000
@@ -186797,8 +186527,8 @@ loc_88D02:
beq.s locret_88D26
cmpi.b #4,$22(a0)
bne.s locret_88D26
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_88E32(pc),a2
jsr CreateChild5_ComplexAdjusted(pc)
@@ -186854,7 +186584,7 @@ loc_88D94:
loc_88D98:
move.b #2,5(a0)
- move.b #-$36,$28(a0)
+ move.b #$CA,$28(a0)
rts
; =============== S U B R O U T I N E =======================================
@@ -186867,8 +186597,8 @@ sub_88DA6:
move.b #2,5(a1)
clr.b $40(a1)
bclr #4,$2A(a1)
- moveq #sfx_Spring,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jsr (Play_SFX).l
rts
; End of function sub_88DA6
@@ -186917,14 +186647,16 @@ ObjDat3_88E12: dc.l Map_Spiker
dc.b 4
dc.b 5
dc.b $98
-ChildObjDat_88E1E:dc.w 2
+ChildObjDat_88E1E:
+ dc.w 2
dc.l loc_88C7C
dc.w $F00C
dc.l loc_88C7C
dc.w $100C
dc.l loc_88D30
dc.w $F4
-ChildObjDat_88E32:dc.w 0
+ChildObjDat_88E32:
+ dc.w 0
dc.l loc_86D4A
dc.l ObjDat3_88E12
dc.l byte_88E5C
@@ -187095,7 +186827,8 @@ word_88F96: dc.w $200
dc.b 4
dc.b 5
dc.b 0
-ChildObjDat_88F9C:dc.w 0
+ChildObjDat_88F9C:
+ dc.w 0
dc.l loc_88F50
dc.w $F7F5
byte_88FA4: dc.b 0, 0
@@ -187115,7 +186848,7 @@ Obj_Clamer:
move.b 5(a0),d0
move.w off_88FD4(pc,d0.w),d1
jsr off_88FD4(pc,d1.w)
- lea PLCPtr_89168(pc),a2
+ lea PLCPtr_Clamer(pc),a2
jsr Perform_DPLC(pc)
jmp Sprite_CheckDeleteTouchSlotted(pc)
; ---------------------------------------------------------------------------
@@ -187247,8 +186980,8 @@ loc_890F2:
move.b #$10,$20(a1)
move.b #2,5(a1)
clr.b $40(a1)
- moveq #sfx_Spring,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Spring),d0
+ jsr (Play_SFX).l
rts
; End of function sub_890D8
@@ -187275,10 +187008,12 @@ ObjDat3_8913C: dc.l Map_Clamer
dc.b 8
dc.b 9
dc.b $98
-ChildObjDat_89148:dc.w 0
+ChildObjDat_89148:
+ dc.w 0
dc.l loc_8908C
dc.w $F8
-ChildObjDat_89150:dc.w 0
+ChildObjDat_89150:
+ dc.w 0
dc.l loc_86D4A
dc.l ObjDat3_8913C
dc.l 0
@@ -187287,7 +187022,7 @@ ChildObjDat_89150:dc.w 0
dc.b 2
dc.w $FE00
dc.w 0
-PLCPtr_89168: dc.l ArtUnc_Clamer
+PLCPtr_Clamer: dc.l ArtUnc_Clamer
dc.l DPLC_Clamer
byte_89170: dc.b 1, 1
dc.b 0, $5F
@@ -187312,7 +187047,7 @@ byte_89185: dc.b 0, 2
dc.b $F4
; ---------------------------------------------------------------------------
-Obj_CNZBlastoid:
+Obj_Sparkle:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
@@ -187377,8 +187112,8 @@ loc_89224:
add.w d0,$14(a0)
move.w #$20,$2E(a0)
move.l #loc_8924E,$34(a0)
- moveq #sfx_Lightning,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Lightning),d0
+ jsr (Play_SFX).l
tst.b 4(a0)
bpl.w locret_891EC
lea ChildObjDat_8935A(pc),a2
@@ -187492,7 +187227,7 @@ loc_89328:
loc_89334:
jmp (MoveSprite2).l
; ---------------------------------------------------------------------------
-ObjDat3_8933A: dc.l Map_CNZBlastoid
+ObjDat3_8933A: dc.l Map_Sparkle
dc.w $A524
dc.w $280
dc.b $C
@@ -187509,10 +187244,12 @@ word_8934C: dc.w $280
dc.b 8
dc.b 6
dc.b $98
-ChildObjDat_89352:dc.w 0
+ChildObjDat_89352:
+ dc.w 0
dc.l loc_89256
dc.w 0
-ChildObjDat_8935A:dc.w 1
+ChildObjDat_8935A:
+ dc.w 1
dc.l loc_892A0
dc.w 0
byte_89362: dc.b 9, $10
@@ -187652,7 +187389,8 @@ word_89466: dc.w $200
dc.b 4
dc.b 5
dc.b 0
-ChildObjDat_8946C:dc.w 1
+ChildObjDat_8946C:
+ dc.w 1
dc.l loc_893E8
dc.w $10
dc.l loc_8942E
@@ -187933,10 +187671,12 @@ ObjDat3_8971A: dc.l Map_Blaster
dc.b 4
dc.b 7
dc.b 0
-ChildObjDat_89726:dc.w 0
+ChildObjDat_89726:
+ dc.w 0
dc.l loc_89626
dc.w $E5EA
-ChildObjDat_8972E:dc.w 0
+ChildObjDat_8972E:
+ dc.w 0
dc.l loc_86D4A
dc.l ObjDat3_8970E
dc.l byte_89771
@@ -187945,7 +187685,8 @@ ChildObjDat_8972E:dc.w 0
dc.b $E0
dc.w $FE00
dc.w $FC00
-ChildObjDat_89746:dc.w 0
+ChildObjDat_89746:
+ dc.w 0
dc.l loc_86D4A
dc.l ObjDat3_8971A
dc.l byte_89775
@@ -187972,7 +187713,6 @@ byte_89775: dc.b 2, 7
dc.b $A, $FC
dc.b 0
Map_Blaster: include "General/Sprites/Blaster/Map - Blaster.asm"
-
; ---------------------------------------------------------------------------
Obj_TechnoSqueek:
@@ -188254,7 +187994,8 @@ word_89B1E: dc.w $280
dc.b 4
dc.b 2
dc.b 0
-ChildObjDat_89B24:dc.w 0
+ChildObjDat_89B24:
+ dc.w 0
dc.l loc_899B4
dc.w $1404
byte_89B2C: dc.b 0, 0
@@ -188299,8 +188040,8 @@ byte_89B68: dc.b 3, 5
byte_89B73: dc.b 3, 7
dc.b 8, 9
dc.b $FC
-Map_TechnoSqueek:include "General/Sprites/Technosqueek/Map - Technosqueek.asm"
-
+Map_TechnoSqueek:
+ include "General/Sprites/Technosqueek/Map - Technosqueek.asm"
; ---------------------------------------------------------------------------
Obj_FBZEggPrison:
@@ -188485,7 +188226,7 @@ loc_89DC4:
loc_89DCC:
move.w #$FF00|sfx_RingLoss,d0
- jsr (Play_Sound_2).l
+ jsr (Play_SFX).l
lea ChildObjDat_89EF0(pc),a2
jmp CreateChild1_Normal(pc)
; ---------------------------------------------------------------------------
@@ -188578,10 +188319,12 @@ ObjDat3_89E9C: dc.l Map_Ring
dc.b 8
dc.b 0
dc.b $47
-ChildObjDat_89EA8:dc.w 0
+ChildObjDat_89EA8:
+ dc.w 0
dc.l loc_89C5C
dc.w $DC
-ChildObjDat_89EB0:dc.w 4
+ChildObjDat_89EB0:
+ dc.w 4
dc.l loc_89D78
dc.w $F8
dc.l loc_89D78
@@ -188592,7 +188335,8 @@ ChildObjDat_89EB0:dc.w 4
dc.w $E8F8
dc.l loc_89D78
dc.w $18F8
-ChildObjDat_89ED0:dc.w 4
+ChildObjDat_89ED0:
+ dc.w 4
dc.l loc_89CE2
dc.w $FC
dc.l loc_89CE2
@@ -188603,7 +188347,8 @@ ChildObjDat_89ED0:dc.w 4
dc.w $1CFC
dc.l loc_89CE2
dc.w $E4FC
-ChildObjDat_89EF0:dc.w 5
+ChildObjDat_89EF0:
+ dc.w 5
dc.l loc_89D44
dc.w $F8FC
dc.l loc_89D44
@@ -188616,12 +188361,14 @@ ChildObjDat_89EF0:dc.w 5
dc.w $18FC
dc.l loc_89D44
dc.w $E8FC
-ChildObjDat_89F16:dc.w 1
+ChildObjDat_89F16:
+ dc.w 1
dc.l loc_89650
dc.w $E8FC
dc.l loc_89650
dc.w $18FC
-ChildObjDat_89F24:dc.w 1
+ChildObjDat_89F24:
+ dc.w 1
dc.l loc_89A5A
dc.w $F8FC
dc.l loc_89A5A
@@ -189026,8 +188773,8 @@ loc_8A2E2:
lea ChildObjDat_8A430(pc),a2
jsr CreateChild6_Simple(pc)
jsr Go_Delete_Sprite(pc)
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
word_8A2FC: dc.w $FFD0, $60, $FFC0, $80
@@ -189050,7 +188797,7 @@ loc_8A32A:
jmp (Sprite_OnScreen_Test).l
; ---------------------------------------------------------------------------
-Obj_BB_1:
+Obj_ICZIceBlock:
jsr (Obj_WaitOffscreen).l
lea ObjDat3_8A3EE(pc),a1
jsr SetUp_ObjAttributes(pc)
@@ -189200,11 +188947,14 @@ ObjDat3_8A41E: dc.l Map_ICZPlatforms
dc.b $C
dc.b $1C
dc.b 0
-ChildObjDat_8A42A:dc.w 5
+ChildObjDat_8A42A:
+ dc.w 5
dc.l loc_8A1D4
-ChildObjDat_8A430:dc.w 8
+ChildObjDat_8A430:
+ dc.w 8
dc.l loc_8A20C
-ChildObjDat_8A436:dc.w 0
+ChildObjDat_8A436:
+ dc.w 0
dc.l loc_8A304
dc.w $F010
byte_8A43E: dc.b 2, $23
@@ -189332,8 +189082,8 @@ loc_8A540:
move.b #$12,5(a0)
move.w #$1F,$2E(a0)
move.l #loc_8A59A,$34(a0)
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -189442,7 +189192,8 @@ word_8A632: dc.w $280
dc.b $40
dc.b $D
dc.b 0
-ChildObjDat_8A638:dc.w 0
+ChildObjDat_8A638:
+ dc.w 0
dc.l loc_8A604
dc.w 0
; ---------------------------------------------------------------------------
@@ -189463,8 +189214,8 @@ loc_8A656:
clr.w $2E(a0)
clr.w $30(a0)
clr.b $39(a0)
- moveq #sfx_FrostPuff,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FrostPuff),d0
+ jsr (Play_SFX).l
loc_8A67A:
jmp Sprite_CheckDeleteTouch(pc)
@@ -189499,8 +189250,8 @@ loc_8A6C2:
loc_8A6C6:
move.l #loc_8A656,(a0)
bclr #1,$38(a0)
- moveq #mus_StopSFX,d0
- jsr (Play_Sound).l
+ moveq #signextendB(mus_StopSFX),d0
+ jsr (Play_Music).l
jmp Sprite_CheckDeleteTouch(pc)
; ---------------------------------------------------------------------------
word_8A6DE: dc.w $40
@@ -189840,7 +189591,6 @@ locret_8AA2E:
; ---------------------------------------------------------------------------
word_8AA30: dc.w $FFF0, $20, $FFD8, $50
-
; =============== S U B R O U T I N E =======================================
@@ -189919,22 +189669,28 @@ ObjDat3_8AAB6: dc.l Map_ICZPlatforms
dc.b 4
dc.b $C
dc.b 0
-ChildObjDat_8AAC2:dc.w 0
+ChildObjDat_8AAC2:
+ dc.w 0
dc.l loc_8A71C
dc.w $C
-ChildObjDat_8AACA:dc.w 0
+ChildObjDat_8AACA:
+ dc.w 0
dc.l loc_8A71C
dc.w $F4
-ChildObjDat_8AAD2:dc.w 0
+ChildObjDat_8AAD2:
+ dc.w 0
dc.l loc_8A748
dc.w $30
-ChildObjDat_8AADA:dc.w 0
+ChildObjDat_8AADA:
+ dc.w 0
dc.l loc_8A748
dc.w $D0
-ChildObjDat_8AAE2:dc.w 0
+ChildObjDat_8AAE2:
+ dc.w 0
dc.l loc_8A7AE
dc.w 0
-ChildObjDat_8AAEA:dc.w $B
+ChildObjDat_8AAEA:
+ dc.w $B
dc.l loc_8A8DC
dc.w $F4F8
dc.l loc_8A8DC
@@ -190079,8 +189835,8 @@ loc_8AC54:
move.l #loc_8ABB0,(a0)
bclr #0,$38(a0)
move.w #$10,(Screen_shake_flag).w
- moveq #sfx_MetalLand,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_MechaLand),d0
+ jsr (Play_SFX).l
rts
; =============== S U B R O U T I N E =======================================
@@ -190120,8 +189876,8 @@ loc_8AC8E:
jsr CreateChild1_Normal(pc)
jsr Displace_PlayerOffObject(pc)
jsr Go_Delete_Sprite(pc)
- moveq #sfx_Collapse,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Collapse),d0
+ jsr (Play_SFX).l
addq.w #4,sp
locret_8ACCC:
@@ -190148,10 +189904,12 @@ word_8ACEE: dc.w $280
dc.b $10
dc.b $A
dc.b 0
-ChildObjDat_8ACF4:dc.w 2
+ChildObjDat_8ACF4:
+ dc.w 2
dc.l loc_8AB86
dc.w 0
-ChildObjDat_8ACFC:dc.w 3
+ChildObjDat_8ACFC:
+ dc.w 3
dc.l loc_8AB86
dc.w 0
; ---------------------------------------------------------------------------
@@ -190692,21 +190450,25 @@ word_8B15E: dc.w $300
dc.b 8
dc.b $27
dc.b 0
-ChildObjDat_8B164:dc.w 2
+ChildObjDat_8B164:
+ dc.w 2
dc.l loc_8AEA4
dc.w 8
dc.l loc_8AED4
dc.w $1CF8
dc.l loc_8AEEA
dc.w 0
-ChildObjDat_8B178:dc.w 7
+ChildObjDat_8B178:
+ dc.w 7
dc.l loc_8AF3E
-ChildObjDat_8B17E:dc.w 1
+ChildObjDat_8B17E:
+ dc.w 1
dc.l Obj_ICZSnowdust
dc.w $1C10
dc.l Obj_ICZSnowdust
dc.w $1410
-ChildObjDat_8B18C:dc.w 0
+ChildObjDat_8B18C:
+ dc.w 0
dc.l Obj_ICZSnowdust
dc.w $1C10
; ---------------------------------------------------------------------------
@@ -190747,7 +190509,7 @@ loc_8B1E0:
loc_8B1EC:
move.l #loc_8B1FA,(a0)
- move.b #-$7E,$28(a0)
+ move.b #$82,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -190760,8 +190522,8 @@ loc_8B1FA:
clr.b $28(a0)
lea ChildObjDat_8B292(pc),a2
jsr CreateChild6_Simple(pc)
- moveq #sfx_FloorThump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_FloorThump),d0
+ jsr (Play_SFX).l
loc_8B224:
jmp Sprite_CheckDeleteTouch(pc)
@@ -190814,7 +190576,8 @@ ObjDat3_8B286: dc.l Map_ICZPlatforms
dc.b 4
dc.b $F
dc.b 0
-ChildObjDat_8B292:dc.w $B
+ChildObjDat_8B292:
+ dc.w $B
dc.l loc_8B230
dc.w $27
dc.b $F, $27
@@ -190840,7 +190603,7 @@ loc_8B2C8:
loc_8B2CC:
move.l #loc_8B2EE,(a0)
- move.b #-$6E,$28(a0)
+ move.b #$92,$28(a0)
rts
; ---------------------------------------------------------------------------
@@ -190885,7 +190648,7 @@ locret_8B32E:
; ---------------------------------------------------------------------------
loc_8B330:
- move.b #-$68,$28(a0)
+ move.b #$98,$28(a0)
jsr (Add_SpriteToCollisionResponseList).l
movea.w $46(a0),a1
btst #7,$2A(a1)
@@ -190899,10 +190662,12 @@ ObjDat3_8B350: dc.l Map_ICZWallAndColumn
dc.b $10
dc.b 5
dc.b 0
-ChildObjDat_8B35C:dc.w 0
+ChildObjDat_8B35C:
+ dc.w 0
dc.l loc_8B330
dc.w $C
-ChildObjDat_8B364:dc.w 0
+ChildObjDat_8B364:
+ dc.w 0
dc.l loc_8B330
dc.w $F4
; ---------------------------------------------------------------------------
@@ -190962,8 +190727,8 @@ loc_8B3D2:
loc_8B41A:
lea ChildObjDat_8B480(pc),a2
jsr CreateChild1_Normal(pc)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
jsr (Go_Delete_Sprite).l
locret_8B430:
@@ -191001,7 +190766,8 @@ word_8B478: dc.w $C3B6
dc.b $20
dc.b $12
dc.b 0
-ChildObjDat_8B480:dc.w $B
+ChildObjDat_8B480:
+ dc.w $B
dc.l loc_8B432
dc.w $F8
dc.l loc_8B432
@@ -191062,8 +190828,8 @@ loc_8B512:
lea ChildObjDat_8B54A(pc),a2
jsr CreateChild6_Simple(pc)
jsr Go_Delete_Sprite(pc)
- moveq #sfx_IceSpikes,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_IceSpikes),d0
+ jsr (Play_SFX).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
word_8B52C: dc.w Player_1
@@ -191083,11 +190849,12 @@ ObjDat3_8B53E: dc.l Map_ICZPlatforms
dc.b $10
dc.b 4
dc.b $D7
-ChildObjDat_8B54A:dc.w $B
+ChildObjDat_8B54A:
+ dc.w $B
dc.l loc_8B230
; ---------------------------------------------------------------------------
-Obj_ICZ_SnowPile:
+Obj_ICZSnowPile:
jsr Obj_WaitOffscreen(pc)
moveq #0,d0
move.b $2C(a0),d0
@@ -191398,7 +191165,8 @@ word_8B844: dc.w $43B6
dc.b 8
dc.b 9
dc.b 0
-ChildObjDat_8B84C:dc.w 5
+ChildObjDat_8B84C:
+ dc.w 5
dc.l loc_8B768
dc.w $F8F8
dc.l loc_8B768
@@ -191411,12 +191179,14 @@ ChildObjDat_8B84C:dc.w 5
dc.w $800
dc.l loc_8B768
dc.w $1800
-ChildObjDat_8B872:dc.w 1
+ChildObjDat_8B872:
+ dc.w 1
dc.l loc_8B768
dc.w $F8
dc.l loc_8B768
dc.w 8
-ChildObjDat_8B880:dc.w 3
+ChildObjDat_8B880:
+ dc.w 3
dc.l loc_8B768
dc.w $F8F8
dc.l loc_8B768
@@ -191427,7 +191197,7 @@ ChildObjDat_8B880:dc.w 3
dc.w $808
; ---------------------------------------------------------------------------
-Obj_ICZ_TensionPlatform:
+Obj_ICZTensionPlatform:
lea ObjDat3_8BABC(pc),a1
jsr SetUp_ObjAttributes(pc)
move.l #loc_8B8B6,(a0)
@@ -191711,7 +191481,8 @@ word_8BAC8: dc.w $43B6
dc.b $40
dc.b 8
dc.b 0
-ChildObjDat_8BAD0:dc.w 1
+ChildObjDat_8BAD0:
+ dc.w 1
dc.l loc_8B8C2
dc.w $C800
dc.l loc_8B8C2
@@ -191724,7 +191495,7 @@ Obj_Penguinator:
move.b 5(a0),d0
move.w off_8BAFE(pc,d0.w),d1
jsr off_8BAFE(pc,d1.w)
- lea DPLCPtr_8BE02(pc),a2
+ lea DPLCPtr_Penguinator(pc),a2
jsr Perform_DPLC(pc)
jmp Sprite_CheckDeleteTouchSlotted(pc)
; ---------------------------------------------------------------------------
@@ -192001,8 +191772,8 @@ sub_8BDC2:
move.w $2E(a0),d0
andi.w #3,d0
bne.s locret_8BD6A
- moveq #sfx_SlideSkidQuiet,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SlideSkidQuiet),d0
+ jsr (Play_SFX).l
lea ChildObjDat_8BDFA(pc),a2
jmp CreateChild1_Normal(pc)
; End of function sub_8BDC2
@@ -192025,10 +191796,12 @@ ObjDat3_8BDEE: dc.l Map_ICZSnowdust
dc.b $18
dc.b 0
dc.b 0
-ChildObjDat_8BDFA:dc.w 0
+ChildObjDat_8BDFA:
+ dc.w 0
dc.l Obj_ICZSnowdust
dc.w $C
-DPLCPtr_8BE02: dc.l ArtUnc_Penguinator
+DPLCPtr_Penguinator:
+ dc.l ArtUnc_Penguinator
dc.l DPLC_Penguinator
byte_8BE0A: dc.b 7, $10
dc.b 0, 1
@@ -192043,7 +191816,6 @@ byte_8BE16: dc.b 3, 8
dc.b 4, 3
dc.b $F4
byte_8BE1F: dc.b 0, 0, 0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0, $F4, 0
-
; ---------------------------------------------------------------------------
Obj_StarPointer:
@@ -192194,7 +191966,8 @@ word_8BF9A: dc.w $280
dc.b 8
dc.b 1
dc.b $8B
-ChildObjDat_8BFA0:dc.w 3
+ChildObjDat_8BFA0:
+ dc.w 3
dc.l loc_8BEB0
dc.w 0
byte_8BFA8: dc.b 3, 1, 2, 3, $F4, 0
@@ -192423,8 +192196,8 @@ loc_8C1D8:
bne.s locret_8C21C
tst.b 4(a0)
bpl.s locret_8C21C
- moveq #sfx_Projectile,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Projectile),d0
+ jsr (Play_SFX).l
lea ChildObjDat_8C29E(pc),a2
jsr (CreateChild2_Complex).l
movea.w $46(a0),a2
@@ -192505,14 +192278,16 @@ ObjDat3_8C27E: dc.l Map_SnaleBlaster
dc.b 4
dc.b 9
dc.b $98
-ChildObjDat_8C28A:dc.w 2
+ChildObjDat_8C28A:
+ dc.w 2
dc.l loc_8C17C
dc.w $F800
dc.l loc_8C17C
dc.w $F807
dc.l loc_8C11E
dc.w $F804
-ChildObjDat_8C29E:dc.w 0
+ChildObjDat_8C29E:
+ dc.w 0
dc.l loc_86D4A
dc.l ObjDat3_8C27E
dc.l 0
@@ -192575,7 +192350,6 @@ Obj_Ribot:
jsr off_8C2FA(pc,d1.w)
jmp Sprite_CheckDeleteTouch(pc)
; ---------------------------------------------------------------------------
-
off_8C2FA: dc.w loc_8C2FE-off_8C2FA
dc.w loc_8C34E-off_8C2FA
; ---------------------------------------------------------------------------
@@ -192900,29 +192674,36 @@ word_8C5DC: dc.w $200
dc.b 4
dc.b 6
dc.b 0
-ChildObjDat_8C5E2:dc.w 1
+ChildObjDat_8C5E2:
+ dc.w 1
dc.l loc_8C370
dc.w $F40C
dc.l loc_8C370
dc.w $C0C
-ChildObjDat_8C5F0:dc.w 1
+ChildObjDat_8C5F0:
+ dc.w 1
dc.l loc_8C370
dc.w $E800
dc.l loc_8C370
dc.w $1800
-ChildObjDat_8C5FE:dc.w 0
+ChildObjDat_8C5FE:
+ dc.w 0
dc.l loc_8C370
dc.w $F0
-ChildObjDat_8C606:dc.w 2
+ChildObjDat_8C606:
+ dc.w 2
dc.l loc_8C502
dc.w $F4
-ChildObjDat_8C60E:dc.w 2
+ChildObjDat_8C60E:
+ dc.w 2
dc.l loc_8C502
dc.w $C00
-ChildObjDat_8C616:dc.w 2
+ChildObjDat_8C616:
+ dc.w 2
dc.l loc_8C502
dc.w $F400
-ChildObjDat_8C61E:dc.w 2
+ChildObjDat_8C61E:
+ dc.w 2
dc.l loc_8C502
dc.w 0
byte_8C626: dc.b 7
@@ -193036,7 +192817,8 @@ word_8C6FE: dc.w $280
dc.b 8
dc.b 1
dc.b $8B
-ChildObjDat_8C704:dc.w 3
+ChildObjDat_8C704:
+ dc.w 3
dc.l loc_8C692
dc.w $10
dc.l loc_8C692
@@ -193226,8 +193008,8 @@ loc_8C8C6:
jsr (SetUp_ObjAttributes2).l
move.l #loc_8C8E6,(a0)
move.l #Go_Delete_Sprite,$34(a0)
- moveq #sfx_Lazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Laser),d0
+ jsr (Play_SFX).l
loc_8C8E6:
addq.w #1,$3A(a0)
@@ -193252,16 +193034,20 @@ word_8C906: dc.w $558
dc.b $50
dc.b 0
dc.b $A0
-ChildObjDat_8C90E:dc.w 0
+ChildObjDat_8C90E:
+ dc.w 0
dc.l loc_8C7DE
dc.w $C
-ChildObjDat_8C916:dc.w 0
+ChildObjDat_8C916:
+ dc.w 0
dc.l loc_8C8C6
dc.w $FC54
-ChildObjDat_8C91E:dc.w 0
+ChildObjDat_8C91E:
+ dc.w 0
dc.l loc_8C8C6
dc.w $454
-ChildObjDat_8C926:dc.w 0
+ChildObjDat_8C926:
+ dc.w 0
dc.l loc_8C8C6
dc.w $54
byte_8C92E: dc.b 7
@@ -193328,7 +193114,7 @@ Obj_Flybot767:
move.b 5(a0),d0
move.w off_8C988(pc,d0.w),d1
jsr off_8C988(pc,d1.w)
- lea DPLCPtr_8CB22(pc),a2
+ lea DPLCPtr_Flybot767(pc),a2
jsr Perform_DPLC(pc)
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -193474,8 +193260,9 @@ ObjDat4_8CB10: dc.w 2
dc.b $10
dc.b 0
dc.b $1A
-DPLCPtr_8CB22: dc.l ArtUnc_Flybot
- dc.l DPLC_Flybot
+DPLCPtr_Flybot767:
+ dc.l ArtUnc_Flybot767
+ dc.l DPLC_Flybot767
byte_8CB2A: dc.b 4
dc.b 0
dc.b 1
@@ -193522,7 +193309,7 @@ byte_8CB4B: dc.b 3
dc.b 0
; ---------------------------------------------------------------------------
-Obj_C3_1:
+Obj_LBZ1Robotnik:
cmpi.b #2,(Player_1+character_id).w
beq.s loc_8CB90
lea word_8CB96(pc),a1
@@ -193636,7 +193423,7 @@ loc_8CC8C:
lea (ArtKosM_LBZMinibossBox).l,a1
move.w #-$7540,d2
jsr (Queue_Kos_Module).l
- move.w #$3EA0,(Target_camera_max_X_pos).w
+ move.w #$3EA0,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jmp (CreateChild6_Simple).l
; ---------------------------------------------------------------------------
@@ -193723,14 +193510,14 @@ loc_8CD98:
loc_8CD9C:
bset #3,$38(a0)
- moveq #sfx_BossActivate,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossActivate),d0
+ jsr (Play_SFX).l
lea ChildObjDat_8D264(pc),a2
jsr (CreateChild1_Normal).l
jmp Go_Delete_Sprite_2(pc)
; ---------------------------------------------------------------------------
-Obj_C4_1:
+Obj_LBZMinibossBox:
cmpi.b #2,(Player_1+character_id).w
beq.s loc_8CDEA
tst.b (_unkFAAB).w
@@ -193906,7 +193693,7 @@ word_8CF70: dc.w $7B6, $9C0, $3BA0, $3CA0
dc.w $7B6, $936, $3BC0, $3C80
; ---------------------------------------------------------------------------
-Obj_C5_1:
+Obj_LBZMinibossBoxKnux:
lea word_8CF70(pc),a1
jsr (Check_CameraInRange).l
move.w (a1)+,(Camera_min_Y_pos).w
@@ -193937,7 +193724,7 @@ loc_8CFC8:
move.l #loc_8D018,(a0)
move.w #$1F,$2E(a0)
move.w #$A80,d0
- move.w d0,(Target_camera_max_Y_pos).w
+ move.w d0,(Camera_stored_max_Y_pos).w
move.w d0,(Camera_target_max_Y_pos).w
jsr (Create_New_Sprite).l
bne.s loc_8CFFE
@@ -193996,8 +193783,8 @@ locret_8D080:
loc_8D082:
bset #3,$38(a0)
- moveq #sfx_BossActivate,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossActivate),d0
+ jsr (Play_SFX).l
lea ChildObjDat_8D264(pc),a2
jsr (CreateChild1_Normal).l
bne.s loc_8D0AA
@@ -194128,8 +193915,8 @@ sub_8D1FC:
tst.b $20(a0)
bne.s loc_8D21C
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
bset #6,$2A(a0)
loc_8D21C:
@@ -194164,21 +193951,26 @@ ObjDat3_8D23C: dc.l Map_LBZMinibossBox
dc.b 8
dc.b 0
dc.b 0
-ChildObjDat_8D254:dc.w 0
+ChildObjDat_8D254:
+ dc.w 0
dc.l loc_8CD5C
dc.w $34
-ChildObjDat_8D25C:dc.w 9
+ChildObjDat_8D25C:
+ dc.w 9
dc.l loc_8CE34
dc.w 0
-ChildObjDat_8D264:dc.w 0
+ChildObjDat_8D264:
+ dc.w 0
dc.l Obj_LBZMiniboss
dc.w 0
-ChildObjDat_8D26C:dc.w 1
+ChildObjDat_8D26C:
+ dc.w 1
dc.l loc_8D046
dc.w $E000
dc.l loc_8D046
dc.w $2000
-ChildObjDat_8D27A:dc.w 4
+ChildObjDat_8D27A:
+ dc.w 4
dc.l loc_8D0AE
byte_8D280: dc.b 0
dc.b 6
@@ -194210,7 +194002,7 @@ byte_8D298: dc.b 0
dc.b $F4
; ---------------------------------------------------------------------------
-Obj_C6_1:
+Obj_LBZ2RobotnikShip:
move.w a0,(Events_bg+$00).w
lea ObjDat3_8D562(pc),a1
jsr (SetUp_ObjAttributes).l
@@ -194236,10 +194028,10 @@ loc_8D2B6:
move.w #-$100,$1A(a0)
move.w #$3F,$2E(a0)
move.l #loc_8D344,$34(a0)
- moveq #sfx_Rising,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Rising),d0
+ jsr (Play_SFX).l
st (Anim_Counters+$F).w
- move.w #$6000,(Target_camera_max_X_pos).w
+ move.w #$6000,(Camera_stored_max_X_pos).w
lea (Child6_IncLevX).l,a2
jsr (CreateChild6_Simple).l
lea (Child1_MakeRoboShipFlame).l,a2
@@ -194307,8 +194099,8 @@ loc_8D3F2:
move.l #loc_8D40E,(a0)
move.w #-$200,$18(a0)
move.w #-$200,$1A(a0)
- moveq #sfx_Thump,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Thump),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -194380,7 +194172,7 @@ loc_8D4CC:
loc_8D4E4:
jsr (Create_New_Sprite).l
bne.w locret_8D47A
- move.l #Obj_LBZ_FinalBoss1,(a1)
+ move.l #Obj_LBZFinalBoss1,(a1)
move.w #$44A0,$10(a1)
move.w #$780,$14(a1)
jmp (Go_Delete_Sprite_2).l
@@ -194440,7 +194232,7 @@ ObjDat3_8D562: dc.l Map_RobotnikShip
dc.b $A
dc.b $CA
dc.w 0
- dc.l Obj_C6_1
+ dc.l Obj_LBZ2RobotnikShip
dc.w 0
dc.b 0
dc.b 5
@@ -194565,8 +194357,8 @@ loc_8D67A:
loc_8D680:
move.l #byte_8D9DD,$30(a0)
move.l #loc_8D6AE,$34(a0)
- moveq #sfx_SpikeMove,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SpikeMove),d0
+ jsr (Play_SFX).l
lea ChildObjDat_8D9C8(pc),a2
btst #0,4(a0)
beq.s loc_8D6A8
@@ -194733,8 +194525,8 @@ loc_8D846:
cmpi.w #$A00,$1A(a0)
bge.s loc_8D85E
move.w #-$500,$1A(a0)
- moveq #sfx_Flipper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Flipper),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -194816,8 +194608,8 @@ sub_8D8E6:
bne.s locret_8D942
move.w a2,$44(a0)
move.b #6,5(a0)
- moveq #sfx_Flipper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Flipper),d0
+ jsr (Play_SFX).l
move.w $18(a0),d0
lsl.w #1,d0
move.w d0,$18(a2)
@@ -194855,8 +194647,8 @@ sub_8D94A:
move.b #8,5(a0)
move.w #0,8(a0)
move.l #loc_8D846,$34(a0)
- moveq #sfx_Flipper,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Flipper),d0
+ jsr (Play_SFX).l
bset #1,$2A(a2)
move.b #1,$2E(a2)
move.b #$1A,$20(a2)
@@ -194884,13 +194676,16 @@ word_8D9BA: dc.w $280
dc.b 8
dc.b 5
dc.b $D8
-ChildObjDat_8D9C0:dc.w 0
+ChildObjDat_8D9C0:
+ dc.w 0
dc.l loc_8D602
dc.w $10
-ChildObjDat_8D9C8:dc.w 0
+ChildObjDat_8D9C8:
+ dc.w 0
dc.l loc_8D6E6
dc.w $F2F4
-ChildObjDat_8D9D0:dc.w 0
+ChildObjDat_8D9D0:
+ dc.w 0
dc.l loc_8D6E6
dc.w $EF4
byte_8D9D8: dc.b 2
@@ -194920,7 +194715,6 @@ byte_8D9E7: dc.b 2
dc.b $FC
dc.b 0
Map_Madmole: include "General/Sprites/Madmole/Map - Madmole.asm"
-
; ---------------------------------------------------------------------------
Obj_Mushmeanie:
@@ -195122,7 +194916,8 @@ word_8DCD6: dc.w $456D
dc.b 8
dc.b 0
dc.b 0
-ChildObjDat_8DCDE:dc.w 0
+ChildObjDat_8DCDE:
+ dc.w 0
dc.l loc_8DC14
dc.w 0
byte_8DCE6: dc.b 1
@@ -195144,7 +194939,6 @@ byte_8DCED: dc.b 3
dc.b 0
dc.b $F4
Map_Mushmeanie: include "General/Sprites/Mushmeanie/Map - Mushmeanie.asm"
-
; ---------------------------------------------------------------------------
Obj_Dragonfly:
@@ -195391,10 +195185,12 @@ word_8DFA8: dc.w $280
dc.b 4
dc.b 5
dc.b $98
-ChildObjDat_8DFAE:dc.w 0
+ChildObjDat_8DFAE:
+ dc.w 0
dc.l loc_8DF3C
dc.w 0
-ChildObjDat_8DFB6:dc.w 6
+ChildObjDat_8DFB6:
+ dc.w 6
dc.l loc_8DE26
byte_8DFBC: dc.b 0, 7, 9, 8, 9, $FC
byte_8DFC2: dc.b 3
@@ -195422,7 +195218,6 @@ byte_8DFCE: dc.b 3
dc.b 0
dc.b $FC
Map_Dragonfly: include "General/Sprites/Dragonfly/Map - Dragonfly.asm"
-
; ---------------------------------------------------------------------------
Obj_Butterdroid:
@@ -195431,7 +195226,7 @@ Obj_Butterdroid:
move.b 5(a0),d0
move.w off_8E0C2(pc,d0.w),d1
jsr off_8E0C2(pc,d1.w)
- lea DPLCPtr_8E11C(pc),a2
+ lea DPLCPtr_Butterdroid(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -195470,7 +195265,8 @@ ObjDat4_8E10A: dc.w 3
dc.b $C
dc.b 0
dc.b $17
-DPLCPtr_8E11C: dc.l ArtUnc_Butterdroid
+DPLCPtr_Butterdroid:
+ dc.l ArtUnc_Butterdroid
dc.l DPLC_Butterdroid
byte_8E124: dc.b 7
dc.b 0
@@ -195482,10 +195278,10 @@ byte_8E124: dc.b 7
dc.b 2
dc.b 1
dc.b $FC
-Map_Butterdroid:include "General/Sprites/Butterdroid/Map - Butterdroid.asm"
-
-DPLC_Butterdroid: include "General/Sprites/Butterdroid/DPLC - Butterdroid.asm"
-
+Map_Butterdroid:
+ include "General/Sprites/Butterdroid/Map - Butterdroid.asm"
+DPLC_Butterdroid:
+ include "General/Sprites/Butterdroid/DPLC - Butterdroid.asm"
; ---------------------------------------------------------------------------
Obj_Cluckoid:
@@ -195494,7 +195290,7 @@ Obj_Cluckoid:
move.b 5(a0),d0
move.w off_8E1A2(pc,d0.w),d1
jsr off_8E1A2(pc,d1.w)
- lea DPLCPtr_8E410(pc),a2
+ lea DPLCPtr_Cluckoid(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteTouchSlotted).l
; ---------------------------------------------------------------------------
@@ -195533,8 +195329,8 @@ loc_8E1E2:
blo.s loc_8E202
bset #7,$38(a0)
bne.s loc_8E1FA
- moveq #sfx_EnemyBreath,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_EnemyBreath),d0
+ jsr (Play_SFX).l
loc_8E1FA:
bsr.w sub_8E37C
@@ -195776,12 +195572,15 @@ ObjDat3_8E3F6: dc.l Map_MHZPollen
dc.b 8
dc.b 0
dc.b 0
-ChildObjDat_8E402:dc.w 0
+ChildObjDat_8E402:
+ dc.w 0
dc.l loc_8E2BE
dc.w $1C
-ChildObjDat_8E40A:dc.w 0
+ChildObjDat_8E40A:
+ dc.w 0
dc.l loc_8E236
-DPLCPtr_8E410: dc.l ArtUnc_Cluckoid
+DPLCPtr_Cluckoid:
+ dc.l ArtUnc_Cluckoid
dc.l DPLC_Cluckoid
byte_8E418: dc.b 0
dc.b 7
@@ -195847,12 +195646,12 @@ word_8E438: dc.w $10, $28
dc.w $50, $48
dc.w $60, $48
dc.w $80, $68
-DPLC_Cluckoid: include "General/Sprites/Cluckoid/DPLC - Cluckoid.asm"
-
-Map_CluckoidArrow: include "General/Sprites/Cluckoid/Map - Cluckoid Arrow.asm"
-
-Map_Cluckoid: include "General/Sprites/Cluckoid/Map - Cluckoid.asm"
-
+DPLC_Cluckoid:
+ include "General/Sprites/Cluckoid/DPLC - Cluckoid.asm"
+Map_CluckoidArrow:
+ include "General/Sprites/Cluckoid/Map - Cluckoid Arrow.asm"
+Map_Cluckoid:
+ include "General/Sprites/Cluckoid/Map - Cluckoid.asm"
; ---------------------------------------------------------------------------
Obj_Skorp:
@@ -196306,7 +196105,8 @@ word_8EA54: dc.w $180
dc.b $14
dc.b 3
dc.b 0
-ChildObjDat_8EA5A:dc.w 5
+ChildObjDat_8EA5A:
+ dc.w 5
dc.l loc_8E744
byte_8EA60: dc.b 9, 1, 0, 1, 2, $FC
; ---------------------------------------------------------------------------
@@ -196368,8 +196168,8 @@ loc_8EB0A:
move.w d1,$18(a0)
btst #7,$38(a0)
beq.w locret_8EBE0
- moveq #sfx_Splash2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Splash2),d0
+ jsr (Play_SFX).l
lea ChildObjDat_8ED74(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -196387,8 +196187,8 @@ loc_8EB2E:
move.l #loc_8EB7E,$34(a0)
btst #7,$38(a0)
beq.w locret_8EBE0
- moveq #sfx_Splash2,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Splash2),d0
+ jsr (Play_SFX).l
lea ChildObjDat_8ED74(pc),a2
jmp (CreateChild1_Normal).l
; ---------------------------------------------------------------------------
@@ -196575,12 +196375,15 @@ word_8ED60: dc.w $280
dc.b 8
dc.b 1
dc.b 0
-ChildObjDat_8ED66:dc.w 4
+ChildObjDat_8ED66:
+ dc.w 4
dc.l loc_8EB8E
-ChildObjDat_8ED6C:dc.w 7
+ChildObjDat_8ED6C:
+ dc.w 7
dc.l loc_8EBE2
dc.w $F8
-ChildObjDat_8ED74:dc.w 2
+ChildObjDat_8ED74:
+ dc.w 2
dc.l loc_8EC74
dc.w 4
dc.l loc_8EC74
@@ -196910,19 +196713,21 @@ ObjDat3_8F066: dc.l Map_Rockn
dc.b $10
dc.b 4
dc.b 0
-ChildObjDat_8F072:dc.w 0
+ChildObjDat_8F072:
+ dc.w 0
dc.l loc_8EF3C
dc.w $F8
-ChildObjDat_8F07A:dc.w 0
+ChildObjDat_8F07A:
+ dc.w 0
dc.l loc_8F00E
byte_8F080: dc.b 8, 0, 1, 0, 2, $FC
-Map_Rockn:include "General/Sprites/Rockn/Map - Rock'n.asm"
+Map_Rockn: include "General/Sprites/Rockn/Map - Rock'n.asm"
; ' <-- lol TextWrangler; it assumes ' is the string delimiter for all assembly files; I don't want
; my screen to be filled with pink
; ---------------------------------------------------------------------------
-Obj_SOZ_Ghosts:
+Obj_SOZGhosts:
move.l #loc_8F0CA,(a0)
move.w #$120,$10(a0)
move.w #$A0,$14(a0)
@@ -196971,7 +196776,7 @@ loc_8F11E:
move.b 5(a0),d0
move.w off_8F19A(pc,d0.w),d1
jsr off_8F19A(pc,d1.w)
- lea DPLCPtr_8F67A(pc),a2
+ lea DPLCPtr_SOZGhosts(pc),a2
jsr (Perform_DPLC).l
tst.b 4(a0)
bpl.s loc_8F16A
@@ -197000,8 +196805,8 @@ loc_8F174:
move.l #loc_8F16A,$34(a0)
lea byte_8F6BF(pc),a1
jsr (Set_Raw_Animation).l
- moveq #sfx_Bouncy,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bouncy),d0
+ jsr (Play_SFX).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
off_8F19A: dc.w loc_8F1AC-off_8F19A
@@ -197023,8 +196828,8 @@ loc_8F1AC:
move.b (_unkF7C3).w,$42(a0)
move.b (_unkFAAD).w,$43(a0)
bsr.w sub_8F538
- moveq #sfx_GhostAppear,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_GhostAppear),d0
+ jsr (Play_SFX).l
loc_8F1DA:
jsr (Animate_RawMultiDelay).l
@@ -197178,12 +196983,12 @@ loc_8F36E:
loc_8F37A:
jsr (Animate_RawMultiDelay).l
- lea DPLCPtr_8F67A(pc),a2
+ lea DPLCPtr_SOZGhosts(pc),a2
jsr (Perform_DPLC).l
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Obj_AB_2:
+Obj_SOZGhostCapsuleLoadArt:
moveq #0,d0
move.b $2C(a0),d0
movea.l off_8F3BE(pc,d0.w),a1
@@ -197219,7 +197024,7 @@ loc_8F3F0:
jmp (LoadEnemyArt).l
; ---------------------------------------------------------------------------
-Obj_AC_2_SOZ2_Ghost_Capsule:
+Obj_SOZGhostCapsule:
lea ObjDat3_8F62E(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_89C14,(a0)
@@ -197260,7 +197065,7 @@ loc_8F45E:
jsr off_8F488(pc,d1.w)
tst.b $2C(a0)
bne.s loc_8F482
- lea DPLCPtr_8F67A(pc),a2
+ lea DPLCPtr_SOZGhosts(pc),a2
jsr (Perform_DPLC).l
jmp (Sprite_CheckDeleteSlotted).l
; ---------------------------------------------------------------------------
@@ -197457,10 +197262,12 @@ ObjDat3_8F63A: dc.l Map_SOZGhosts
dc.b $20
dc.b 0
dc.b 0
-ChildObjDat_8F646:dc.w 0
+ChildObjDat_8F646:
+ dc.w 0
dc.l loc_8F438
dc.w $DC
-ChildObjDat_8F64E:dc.w 5
+ChildObjDat_8F64E:
+ dc.w 5
dc.l loc_8F45E
dc.w $F8FC
dc.l loc_8F45E
@@ -197473,9 +197280,11 @@ ChildObjDat_8F64E:dc.w 5
dc.w $18FC
dc.l loc_8F45E
dc.w $E8FC
-ChildObjDat_8F674:dc.w 0
+ChildObjDat_8F674:
+ dc.w 0
dc.l loc_8F11E
-DPLCPtr_8F67A: dc.l ArtUnc_SOZGhosts
+DPLCPtr_SOZGhosts:
+ dc.l ArtUnc_SOZGhosts
dc.l DPLC_SOZGhosts
byte_8F682: dc.b $11, 3
dc.b $11, 3
@@ -197528,7 +197337,6 @@ byte_8F6D4: dc.b 8, 7
dc.b 9, 7
dc.b $F8, $E4
DPLC_SOZGhosts: include "General/Sprites/SOZ Ghosts/DPLC - SOZ Ghosts.asm"
-
; ---------------------------------------------------------------------------
Obj_Fireworm:
@@ -197576,7 +197384,7 @@ loc_8F7A4:
move.b 5(a0),d0
move.w off_8F7E0(pc,d0.w),d1
jsr off_8F7E0(pc,d1.w)
- lea DPLCPtr_8FA38(pc),a2
+ lea DPLCPtr_Fireworm(pc),a2
jsr (Perform_DPLC).l
move.w $10(a0),d0
andi.w #-$80,d0
@@ -197799,10 +197607,12 @@ word_8FA08: dc.w $180
dc.b 8
dc.b 3
dc.b $98
-ChildObjDat_8FA0E:dc.w 0
+ChildObjDat_8FA0E:
+ dc.w 0
dc.l loc_8F7A4
dc.w $F8
-ChildObjDat_8FA16:dc.w 3
+ChildObjDat_8FA16:
+ dc.w 3
dc.l loc_8F8F0
dc.w 0
dc.l loc_8F8F0
@@ -197811,10 +197621,12 @@ ChildObjDat_8FA16:dc.w 3
dc.w 0
dc.l loc_8F8F0
dc.w 0
-ChildObjDat_8FA30:dc.w 0
+ChildObjDat_8FA30:
+ dc.w 0
dc.l loc_8F95C
dc.w $F2
-DPLCPtr_8FA38: dc.l ArtUnc_Fireworm
+DPLCPtr_Fireworm:
+ dc.l ArtUnc_Fireworm
dc.l DPLC_Fireworm
byte_8FA40: dc.b 1, 3
dc.b 1, 6
@@ -197831,15 +197643,15 @@ byte_8FA4D: dc.b 3, 7
byte_8FA56: dc.b 3, 4
dc.b 4, 5
dc.b 6, $F4
-Map_FirewormSegments: include "General/Sprites/Fireworm/Map - Fireworm Segments.asm"
-
-DPLC_Fireworm: include "General/Sprites/Fireworm/DPLC - Fireworm.asm"
-
-Map_Fireworm: include "General/Sprites/Fireworm/Map - Fireworm.asm"
-
+Map_FirewormSegments:
+ include "General/Sprites/Fireworm/Map - Fireworm Segments.asm"
+DPLC_Fireworm:
+ include "General/Sprites/Fireworm/DPLC - Fireworm.asm"
+Map_Fireworm:
+ include "General/Sprites/Fireworm/Map - Fireworm.asm"
; ---------------------------------------------------------------------------
-Obj_LRZExplodingRock:
+Obj_Iwamodoki:
jsr (Obj_WaitOffscreen).l
moveq #0,d0
move.b 5(a0),d0
@@ -197930,7 +197742,8 @@ word_8FBD0: dc.w $280
dc.b 4
dc.b 0
dc.b $98
-ChildObjDat_8FBD6:dc.w 3
+ChildObjDat_8FBD6:
+ dc.w 3
dc.l loc_8FB90
dc.l word_8FBD0
dc.l byte_8FC8B
@@ -198016,8 +197829,7 @@ byte_8FC8B: dc.b 0
dc.b 9
dc.b $FC
dc.b 0
-Map_Iwamodoki:include "General/Sprites/Iwamodoki/Map - Iwamodoki.asm"
-
+Map_Iwamodoki: include "General/Sprites/Iwamodoki/Map - Iwamodoki.asm"
; ---------------------------------------------------------------------------
Obj_Toxomister:
@@ -198217,8 +198029,8 @@ sub_8FF5A:
sub_8FF72:
- moveq #sfx_EnemyBreath,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_EnemyBreath),d0
+ jsr (Play_SFX).l
lea ChildObjDat_90040(pc),a2
jsr (CreateChild10_NormalAdjusted).l
bne.s locret_8FF8A
@@ -198308,10 +198120,12 @@ word_9003A: dc.w 0
dc.b 8
dc.b 2
dc.b 0
-ChildObjDat_90040:dc.w 0
+ChildObjDat_90040:
+ dc.w 0
dc.l loc_8FDBA
dc.w $F408
-ChildObjDat_90048:dc.w 6
+ChildObjDat_90048:
+ dc.w 6
dc.l loc_8FE8E
dc.w $F404
dc.l loc_8FE8E
@@ -198353,7 +198167,6 @@ byte_90085: dc.b 7
dc.b $F4
dc.b 0
Map_Toxomister: include "General/Sprites/Toxomister/Map - Toxomister.asm"
-
; ---------------------------------------------------------------------------
Obj_LRZRockCrusher:
@@ -198365,10 +198178,10 @@ Obj_LRZRockCrusher:
loc_900FE:
jsr (Check_CameraInRange).l
move.l #loc_901D0,(a0)
- move.w (Camera_min_Y_pos).w,(Target_camera_min_Y_pos).w
- move.w (Camera_target_max_Y_pos).w,(Target_camera_max_Y_pos).w
- move.w (Camera_min_X_pos).w,(Target_camera_min_X_pos).w
- move.w (Camera_max_X_pos).w,(Target_camera_max_X_pos).w
+ move.w (Camera_min_Y_pos).w,(Camera_stored_min_Y_pos).w
+ move.w (Camera_target_max_Y_pos).w,(Camera_stored_max_Y_pos).w
+ move.w (Camera_min_X_pos).w,(Camera_stored_min_X_pos).w
+ move.w (Camera_max_X_pos).w,(Camera_stored_max_X_pos).w
move.w (a1),$1C(a0)
move.w (a1)+,(Camera_max_X_pos).w
move.w (a1)+,(Camera_target_max_Y_pos).w
@@ -198476,8 +198289,8 @@ locret_9026C:
; ---------------------------------------------------------------------------
loc_9026E:
- moveq #sfx_BigRumble,d0
- jsr (sub_85E52).l
+ moveq #signextendB(sfx_BigRumble),d0
+ jsr (Play_SFX_Continuous).l
moveq #1,d0
bchg #0,$38(a0)
beq.s loc_90282
@@ -198511,7 +198324,7 @@ loc_902BE:
moveq #0,d0
move.b $2C(a0),d0
move.w word_902EC(pc,d0.w),$3A(a0)
- move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
+ move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w
lea Child7_ChangeLevSize(pc),a2
jmp (CreateChild7_Normal2).l
; ---------------------------------------------------------------------------
@@ -198751,7 +198564,7 @@ loc_9056E:
move.w #$860,$14(a1)
loc_90592:
- move.w (Target_camera_max_Y_pos).w,(Camera_target_max_Y_pos).w
+ move.w (Camera_stored_max_Y_pos).w,(Camera_target_max_Y_pos).w
lea Child7_ChangeLevSize(pc),a2
jsr (CreateChild7_Normal2).l
jmp (Delete_Current_Sprite).l
@@ -198765,8 +198578,8 @@ sub_905A8:
tst.b $20(a0)
bne.s loc_905C8
move.b #$20,$20(a0)
- moveq #sfx_BossHit,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossHit),d0
+ jsr (Play_SFX).l
move.b #-1,$29(a0)
loc_905C8:
@@ -198818,7 +198631,8 @@ ObjDat3_9061A: dc.l Map_LRZRockDebris
dc.b 4
dc.b 0
dc.b 0
-ChildObjDat_90626:dc.w 7
+ChildObjDat_90626:
+ dc.w 7
dc.l loc_9039A
dc.w $E41C
dc.l loc_9039A
@@ -198835,10 +198649,12 @@ ChildObjDat_90626:dc.w 7
dc.w $DCDC
dc.l loc_9039A
dc.w $24DC
-ChildObjDat_90658:dc.w 1
+ChildObjDat_90658:
+ dc.w 1
dc.l loc_904BA
dc.w $C
-Child7_ChangeLevSize:dc.w 3
+Child7_ChangeLevSize:
+ dc.w 3
dc.l Obj_DecLevStartYGradual
dc.w 0
dc.l Obj_IncLevEndYGradual
@@ -198847,14 +198663,15 @@ Child7_ChangeLevSize:dc.w 3
dc.w 0
dc.l Obj_IncLevEndXGradual
dc.w 0
-ChildObjDat_9067A:dc.w 0
- dc.l Obj_8B
-Pal_LRZRockCrusher: binclude "Levels/LRZ/Palettes/Rock Crusher.bin"
- even
-
+ChildObjDat_9067A:
+ dc.w 0
+ dc.l Obj_SpriteMask
+Pal_LRZRockCrusher:
+ binclude "Levels/LRZ/Palettes/Rock Crusher.bin"
+ even
; ---------------------------------------------------------------------------
-Obj_B0_2:
+Obj_HPZMasterEmerald:
lea ObjDat3_90FAC(pc),a1
jsr (SetUp_ObjAttributes).l
move.l #loc_90700,(a0)
@@ -198919,7 +198736,7 @@ loc_90744:
RawAni_90768: dc.b $1D, $1D, $1D, $C, $D, $E, $1D, $F, $10, $11, $1D, $1D
; ---------------------------------------------------------------------------
-Obj_B4_2:
+Obj_HPZSuperEmerald:
lea ObjDat3_90FC0(pc),a1
jsr (SetUp_ObjAttributes).l
moveq #0,d0
@@ -198944,7 +198761,7 @@ loc_907A2:
loc_907A8:
move.l #loc_908DE,(a0)
- move.w #-$7B89,$A(a0)
+ move.w #$8477,$A(a0)
bset #0,$38(a0)
bsr.w sub_9084E
bsr.w sub_90832
@@ -199047,7 +198864,7 @@ loc_90880:
beq.s loc_9089E
move.l #loc_908DE,(a0)
move.b #$1E,$22(a0)
- move.w #-$7B89,$A(a0)
+ move.w #$8477,$A(a0)
bra.w loc_908DE
; ---------------------------------------------------------------------------
@@ -199058,7 +198875,7 @@ loc_9089E:
cmp.b $2C(a0),d0
bne.s loc_908BE
move.b #$1E,$22(a0)
- move.w #-$7B89,$A(a0)
+ move.w #$8477,$A(a0)
bra.w loc_908DE
; ---------------------------------------------------------------------------
@@ -199068,7 +198885,7 @@ loc_908BE:
btst #0,(V_int_run_count+3).w
beq.s loc_908DE
move.b #7,$22(a0)
- move.w #-$7C4B,$A(a0)
+ move.w #$83B5,$A(a0)
loc_908DE:
move.w #$1B,d1
@@ -199093,8 +198910,8 @@ loc_90920:
loc_90926:
subq.w #1,$2E(a0)
bpl.s loc_9095E
- moveq #sfx_EnterSS,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_EnterSS),d0
+ jsr (Play_SFX).l
move.b $2C(a0),(Current_special_stage).w
move.b #1,(Special_bonus_entry_flag).w
move.b #$34,(Game_mode).w
@@ -199107,14 +198924,14 @@ loc_9095E:
jmp (Draw_Sprite).l
; ---------------------------------------------------------------------------
-Obj_B5_2:
+Obj_HPZSSEntryControl:
lea (ArtKosM_HPZSmallEmeralds).l,a1
move.w #-$6A80,d2
jsr (Queue_Kos_Module).l
lea (ArtKosM_Teleporter).l,a1
move.w #-$6F00,d2
jsr (Queue_Kos_Module).l
- lea (Pal_CutsceneKnux1).l,a1
+ lea (Pal_CutsceneKnux).l,a1
cmpi.w #3,(Player_mode).w
bne.s loc_90998
lea (Pal_SonicTails).l,a1
@@ -199136,7 +198953,7 @@ loc_909B0:
move.l #$6A00660,(Target_palette_line_4+$2).w
jsr (Create_New_Sprite).l
bne.s loc_909CC
- move.l #Obj_B0_2,(a1)
+ move.l #Obj_HPZMasterEmerald,(a1)
loc_909CC:
jsr (Create_New_Sprite).l
@@ -199154,7 +198971,7 @@ loc_909EA:
loc_909F4:
jsr (Create_New_Sprite).l
- move.l #Obj_B4_2,(a1)
+ move.l #Obj_HPZSuperEmerald,(a1)
move.b d2,$2C(a1)
addq.w #1,d2
dbf d3,loc_909F4
@@ -199173,7 +198990,7 @@ loc_90A26:
cmp.b (a2)+,d1
bhi.s loc_90A3A
jsr (Create_New_Sprite).l
- move.l #Obj_B4_2,(a1)
+ move.l #Obj_HPZSuperEmerald,(a1)
move.b d2,$2C(a1)
loc_90A3A:
@@ -199412,8 +199229,8 @@ loc_90C58:
beq.s locret_90CA0
btst #5,$38(a0)
beq.s locret_90CA0
- moveq #sfx_EnterSS,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_EnterSS),d0
+ jsr (Play_SFX).l
move.w #1,(Restart_level_flag).w
move.b (Saved2_last_star_post_hit).w,(Last_star_post_hit).w
move.w (Saved2_zone_and_act).w,(Current_zone_and_act).w
@@ -199459,8 +199276,8 @@ loc_90CF4:
move.l #loc_90D30,(a0)
move.w #$3F,$2E(a0)
move.w #8,(Screen_shake_flag).w
- moveq #sfx_BossLazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_BossLaser),d0
+ jsr (Play_SFX).l
loc_90D20:
btst #0,(V_int_run_count+3).w
@@ -199503,8 +199320,8 @@ loc_90D78:
bset #2,4(a0)
move.w #-$80,$1A(a0)
move.w #$7F,$2E(a0)
- moveq #sfx_Signpost,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Signpost),d0
+ jsr (Play_SFX).l
lea ChildObjDat_90FF0(pc),a2
jsr (CreateChild6_Simple).l
@@ -199545,8 +199362,8 @@ loc_90DDC:
bset #2,$38(a0)
bset #7,$38(a0)
bne.s locret_90DFA
- moveq #sfx_SuperEmerald,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_SuperEmerald),d0
+ jsr (Play_SFX).l
locret_90DFA:
rts
@@ -199648,7 +199465,7 @@ loc_90ED0:
addq.b #1,(a1,d0.w)
jsr (Create_New_Sprite).l
bne.s loc_90EFC
- move.l #Obj_B4_2,(a1)
+ move.l #Obj_HPZSuperEmerald,(a1)
move.b $2C(a0),$2C(a1)
bset #7,$38(a1)
move.w a1,$44(a0)
@@ -199767,46 +199584,34 @@ ObjDat3_90FD8: dc.l Map_HPZChaosEmeralds
dc.b 4
dc.b 0
dc.b 0
-ChildObjDat_90FE4:dc.w 0
+ChildObjDat_90FE4:
+ dc.w 0
dc.l loc_90734
word_90FEA: dc.w 0
dc.l loc_90D78
-ChildObjDat_90FF0:dc.w 6
+ChildObjDat_90FF0:
+ dc.w 6
dc.l loc_90DFC
byte_90FF6: dc.b 0, $1D, $1F, $1D, $20, $1D, $21, $1D, $22, $1D, $23, $1D, $24, $1D, $F4, 0
-
-Map_HPZEmeraldMisc: include "Levels/HPZ/Misc Object Data/Map - Emerald Misc Art.asm"
-
-Map_HPZChaosEmeralds: include "Levels/HPZ/Misc Object Data/Map - Chaos Emeralds.asm"
-
+Map_HPZEmeraldMisc:
+ include "Levels/HPZ/Misc Object Data/Map - Emerald Misc Art.asm"
+Map_HPZChaosEmeralds:
+ include "Levels/HPZ/Misc Object Data/Map - Chaos Emeralds.asm"
off_914CE: dc.l off_914EE
dc.w 1
-
- ; this data here seems completely broken
- dc.b 0
- dc.b $F
- dc.b 1
- dc.b 9
- dc.b 2
- dc.b 9
- dc.b 3
- dc.b 7
- dc.b 4
- dc.b 7
- dc.b 5
- dc.b 5
- dc.b 6
- dc.b 5
- dc.b 5
- dc.b 5
- dc.b 4
- dc.b 7
- dc.b 3
- dc.b 7
- dc.b 2
- dc.b 9
- dc.b 1
- dc.b 9
+ ; this data here seems completely broken
+ dc.w $F
+ dc.w $109
+ dc.w $209
+ dc.w $307
+ dc.w $407
+ dc.w $505
+ dc.w $605
+ dc.w $505
+ dc.w $407
+ dc.w $307
+ dc.w $209
+ dc.w $109
dc.w $FFFC
off_914EE: dc.w word_914FC-off_914EE
dc.w word_91500-off_914EE
@@ -200053,8 +199858,8 @@ loc_91778:
loc_917A2:
move.w d0,$18(a0)
- moveq #sfx_Lazer,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Laser),d0
+ jsr (Play_SFX).l
loc_917AE:
jmp (Child_DrawTouch_Sprite).l
@@ -200282,18 +200087,21 @@ word_919CA: dc.w $280
dc.b 4
dc.b 7
dc.b 0
-ChildObjDat_919D0:dc.w 1
+ChildObjDat_919D0:
+ dc.w 1
dc.l loc_916A8
dc.b $F4
dc.b $1C
dc.l loc_916EE
dc.b $E4
dc.b $FC
-ChildObjDat_919DE:dc.w 0
+ChildObjDat_919DE:
+ dc.w 0
dc.l loc_91756
dc.b $B
dc.b $FC
-ChildObjDat_919E6:dc.w 0
+ChildObjDat_919E6:
+ dc.w 0
dc.l loc_917C0
; ---------------------------------------------------------------------------
@@ -200361,8 +200169,8 @@ loc_91A88:
loc_91A9A:
move.b #4,5(a0)
bset #3,$38(a0)
- moveq #sfx_Bouncy,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_Bouncy),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -200532,10 +200340,12 @@ word_91C26: dc.w $200
dc.b $10
dc.b 1
dc.b $9A
-ChildObjDat_91C2C:dc.w 0
+ChildObjDat_91C2C:
+ dc.w 0
dc.l loc_91AD2
dc.w $14
-ChildObjDat_91C34:dc.w 0
+ChildObjDat_91C34:
+ dc.w 0
dc.l loc_91BA8
dc.w 0
; ---------------------------------------------------------------------------
@@ -200583,8 +200393,8 @@ loc_91CA6:
move.b #4,5(a0)
move.w $3E(a0),$18(a0)
move.w $3C(a0),$40(a0)
- moveq #sfx_TunnelBooster,d0
- jsr (Play_Sound_2).l
+ moveq #signextendB(sfx_TunnelBooster),d0
+ jsr (Play_SFX).l
rts
; ---------------------------------------------------------------------------
@@ -200822,7 +200632,8 @@ word_91EE6: dc.w $280
dc.b $80
dc.b 2
dc.b $98
-ChildObjDat_91EEC:dc.w 3
+ChildObjDat_91EEC:
+ dc.w 3
dc.l loc_91D52
dc.w $14
dc.l loc_91D52
@@ -200850,8 +200661,8 @@ LevelLoadBlock:
levartptrs $18, $19, $11, CNZ_8x8_KosM, CNZ_8x8_KosM, CNZ_16x16_Kos, CNZ_16x16_Kos, CNZ_128x128_Kos, CNZ_128x128_Kos ; CARNIVAL NIGHT ZONE ACT 2
levartptrs $1A, $1A, $12, ArtKosM_FBZ, ArtKosM_FBZ, FBZ_16x16_Kos, FBZ_16x16_Kos, FBZ_128x128_Kos, FBZ_128x128_Kos ; FLYING BATTERY ZONE ACT 1
levartptrs $1C, $1C, $13, ArtKosM_FBZ, ArtKosM_FBZ, FBZ_16x16_Kos, FBZ_16x16_Kos, FBZ_128x128_Kos, FBZ_128x128_Kos ; FLYING BATTERY ZONE ACT 2
- levartptrs $1E, $1E, $14, ICZ_8x8_Primary_KosM, ICZ1_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ1_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ1_128x128_Secondary_Kos ; ICE CAP ZONE ACT 1
- levartptrs $20, $20, $15, ICZ_8x8_Primary_KosM, ICZ2_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ2_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ2_128x128_Secondary_Kos ; ICE CAP ZONE ACT 2
+ levartptrs $1E, $1E, $14, ICZ_8x8_Primary_KosM, ICZ1_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ1_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ1_128x128_Secondary_Kos ; ICECAP ZONE ACT 1
+ levartptrs $20, $20, $15, ICZ_8x8_Primary_KosM, ICZ2_8x8_Secondary_KosM, ICZ_16x16_Primary_Kos, ICZ2_16x16_Secondary_Kos, ICZ_128x128_Primary_Kos, ICZ2_128x128_Secondary_Kos ; ICECAP ZONE ACT 2
levartptrs $22, $22, $16, LBZ_8x8_Primary_KosM, LBZ1_8x8_Secondary_KosM, LBZ_16x16_Primary_Kos, LBZ1_16x16_Secondary_Kos, LBZ1_128x128_Kos, LBZ1_128x128_Kos ; LAUNCH BASE ZONE ACT 1
levartptrs $24, $25, $17, LBZ_8x8_Primary_KosM, LBZ2_8x8_Secondary_KosM, LBZ_16x16_Primary_Kos, LBZ2_16x16_Secondary_Kos, LBZ2_128x128_Kos, LBZ2_128x128_Kos ; LAUNCH BASE ZONE ACT 2
levartptrs $26, $26, $18, ArtKosM_MHZ_Primary, ArtKosM_MHZ_Secondary, MHZ_16x16_Primary_Kos, MHZ_16x16_Secondary_Kos, MHZ_128x128_Primary_Kos, MHZ_128x128_Secondary_Kos ; MUSHROOM HILL ZONE ACT 1
@@ -200894,8 +200705,7 @@ LevelLoadBlock:
levartptrs $48, $48, $3F, ArtKosM_HPZ_Primary, ArtKosM_HPZ_Secondary, HPZ_16x16_Primary_Kos, HPZ_16x16_Secondary_Kos, HPZ_128x128_Primary_Kos, HPZ_128x128_Secondary_Kos ; SPECIAL STAGE HUB
; ---------------------------------------------------------------------------
-
-Offs_PLC: dc.w PLC_00-Offs_PLC ; Unused
+Offs_PLC: dc.w PLC_00-Offs_PLC ; Unused
dc.w PLC_01-Offs_PLC ; Sonic life icon/universal level graphics
dc.w PLC_02-Offs_PLC ; Explosions + Squirrel/Flicky
dc.w PLC_03-Offs_PLC ; Game Over text
@@ -200917,7 +200727,7 @@ Offs_PLC: dc.w PLC_00-Offs_PLC ; Unused
dc.w PLC_12_13-Offs_PLC ; MGZ 1
dc.w PLC_14_15-Offs_PLC ; MGZ 2
dc.w PLC_14_15-Offs_PLC ; MGZ 2
- dc.w PLC_16_17_18_19-Offs_PLC ; CNZ
+ dc.w PLC_16_17_18_19-Offs_PLC ; CNZ
dc.w PLC_16_17_18_19-Offs_PLC
dc.w PLC_16_17_18_19-Offs_PLC
dc.w PLC_16_17_18_19-Offs_PLC
@@ -201023,7 +200833,7 @@ Offs_PLC: dc.w PLC_00-Offs_PLC ; Unused
PLC_00: plrlistheader
plreq $7D4, ArtNem_SonicLifeIcon ; Unused evidently
plreq ArtTile_Ring, ArtNem_RingHUDText
- plreq $5E4, ArtNem_EnemyPtsStarPost
+ plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost
plreq ArtTile_Monitors, ArtNem_Monitors
PLC_00_End
@@ -201031,11 +200841,11 @@ PLC_01: plrlistheader
plreq $7D4, ArtNem_SonicLifeIcon
plreq ArtTile_Monitors, ArtNem_Monitors
plreq ArtTile_Ring, ArtNem_RingHUDText
- plreq $5E4, ArtNem_EnemyPtsStarPost
+ plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost
PLC_01_End
PLC_02: plrlistheader
- plreq $5A0, ArtNem_Explosion
+ plreq ArtTile_Explosion, ArtNem_Explosion
plreq $580, ArtNem_Squirrel
plreq $592, ArtNem_BlueFlicky
PLC_02_End
@@ -201052,7 +200862,7 @@ PLC_05: plrlistheader
plreq $7D4, ArtNem_KnucklesLifeIcon
plreq ArtTile_Monitors, ArtNem_Monitors
plreq ArtTile_Ring, ArtNem_RingHUDText
- plreq $5E4, ArtNem_EnemyPtsStarPost
+ plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost
PLC_05_End
PLC_06: plrlistheader
@@ -201065,7 +200875,7 @@ PLC_07: plrlistheader
plreq $7D4, ArtNem_TailsLifeIcon
plreq ArtTile_Monitors, ArtNem_Monitors
plreq ArtTile_Ring, ArtNem_RingHUDText
- plreq $5E4, ArtNem_EnemyPtsStarPost
+ plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost
PLC_07_End
PLC_08: plrlistheader
@@ -201327,7 +201137,7 @@ PLC_52: plrlistheader
plreq $7D4, ArtNem_MilesLifeIcon
plreq ArtTile_Monitors, ArtNem_Monitors
plreq ArtTile_Ring, ArtNem_RingHUDText
- plreq $5E4, ArtNem_EnemyPtsStarPost
+ plreq ArtTile_StarPost, ArtNem_EnemyPtsStarPost
PLC_52_End
PLC_53_Through_5A: plrlistheader
@@ -201452,10 +201262,10 @@ off_92A1C: dc.w loc_92A20-off_92A1C
loc_92A20:
addq.b #2,(Debug_placement_routine).w
- move.l $C(a0),(Debug_P1_mappings).w
+ move.l $C(a0),(Debug_saved_mappings).w
cmpi.b #6,5(a0)
bhs.s loc_92A38
- move.w $A(a0),(Debug_P2_mappings).w
+ move.w $A(a0),(Debug_saved_art_tile).w
loc_92A38:
move.w (Screen_Y_wrap_value).w,d0
@@ -201638,8 +201448,8 @@ loc_92C0C:
move.b #-$80,(Update_HUD_ring_count).w
move #$2300,sr
lea (Player_1).w,a1
- move.l (Debug_P1_mappings).w,$C(a1)
- move.w (Debug_P2_mappings).w,$A(a1)
+ move.l (Debug_saved_mappings).w,$C(a1)
+ move.w (Debug_saved_art_tile).w,$A(a1)
bsr.s sub_92C54
move.b #$13,$1E(a1)
move.b #9,$1F(a1)
@@ -201692,123 +201502,123 @@ sub_92C88:
DebugOffs: include "Levels/Misc/Debug list pointers.asm"
Debug_AIZ1: dbglistheader
- include "Levels/AIZ/Debug/Act 1.asm"
+ include "Levels/AIZ/Debug/Act 1.asm"
Debug_AIZ1_End
Debug_AIZ2: dbglistheader
- include "Levels/AIZ/Debug/Act 2.asm"
+ include "Levels/AIZ/Debug/Act 2.asm"
Debug_AIZ2_End
Debug_HCZ: dbglistheader
- include "Levels/HCZ/Debug/Main.asm"
+ include "Levels/HCZ/Debug/Main.asm"
Debug_HCZ_End
Debug_MGZ: dbglistheader
- include "Levels/MGZ/Debug/Main.asm"
+ include "Levels/MGZ/Debug/Main.asm"
Debug_MGZ_End
Debug_CNZ: dbglistheader
- include "Levels/CNZ/Debug/Main.asm"
+ include "Levels/CNZ/Debug/Main.asm"
Debug_CNZ_End
Debug_FBZ1: dbglistheader
- include "Levels/FBZ/Debug/Act 1.asm"
+ include "Levels/FBZ/Debug/Act 1.asm"
Debug_FBZ1_End
Debug_FBZ2: dbglistheader
- include "Levels/FBZ/Debug/Act 2.asm"
+ include "Levels/FBZ/Debug/Act 2.asm"
Debug_FBZ2_End
Debug_ICZ1: dbglistheader
- include "Levels/ICZ/Debug/Act 1.asm"
+ include "Levels/ICZ/Debug/Act 1.asm"
Debug_ICZ1_End
Debug_ICZ2: dbglistheader
- include "Levels/ICZ/Debug/Act 2.asm"
+ include "Levels/ICZ/Debug/Act 2.asm"
Debug_ICZ2_End
Debug_LBZ1: dbglistheader
- include "Levels/LBZ/Debug/Act 1.asm"
+ include "Levels/LBZ/Debug/Act 1.asm"
Debug_LBZ1_End
Debug_LBZ2: dbglistheader
- include "Levels/LBZ/Debug/Act 2.asm"
+ include "Levels/LBZ/Debug/Act 2.asm"
Debug_LBZ2_End
Debug_MHZ: dbglistheader
- include "Levels/MHZ/Debug/Main.asm"
+ include "Levels/MHZ/Debug/Main.asm"
Debug_MHZ_End
Debug_SOZ1: dbglistheader
- include "Levels/SOZ/Debug/Act 1.asm"
+ include "Levels/SOZ/Debug/Act 1.asm"
Debug_SOZ1_End
Debug_SOZ2: dbglistheader
- include "Levels/SOZ/Debug/Act 2.asm"
+ include "Levels/SOZ/Debug/Act 2.asm"
Debug_SOZ2_End
Debug_LRZ1: dbglistheader
- include "Levels/LRZ/Debug/Act 1.asm"
+ include "Levels/LRZ/Debug/Act 1.asm"
Debug_LRZ1_End
Debug_LRZ2: dbglistheader
- include "Levels/LRZ/Debug/Act 2.asm"
+ include "Levels/LRZ/Debug/Act 2.asm"
Debug_LRZ2_End
Debug_SSZ: dbglistheader
- include "Levels/SSZ/Debug/Main.asm"
+ include "Levels/SSZ/Debug/Main.asm"
Debug_SSZ_End
Debug_DEZ1: dbglistheader
- include "Levels/DEZ/Debug/Act 1.asm"
+ include "Levels/DEZ/Debug/Act 1.asm"
Debug_DEZ1_End
Debug_DEZ2: dbglistheader
- include "Levels/DEZ/Debug/Act 2.asm"
+ include "Levels/DEZ/Debug/Act 2.asm"
Debug_DEZ2_End
Debug_DDZ1: dbglistheader
- include "Levels/DDZ/Debug/Main.asm"
+ include "Levels/DDZ/Debug/Main.asm"
Debug_DDZ1_End
Debug_DDZ2: dbglistheader
- include "Levels/DEZ/Debug/Boss.asm"
+ include "Levels/DEZ/Debug/Boss.asm"
Debug_DDZ2_End
Debug_Ending: dbglistheader
- include "Levels/SSZ/Debug/Ending.asm"
+ include "Levels/SSZ/Debug/Ending.asm"
Debug_Ending_End
Debug_ALZ: dbglistheader
- include "Levels/ALZ/Debug/Main.asm"
+ include "Levels/ALZ/Debug/Main.asm"
Debug_ALZ_End
Debug_BPZ: dbglistheader
- include "Levels/BPZ/Debug/Main.asm"
+ include "Levels/BPZ/Debug/Main.asm"
Debug_BPZ_End
Debug_DPZ: dbglistheader
- include "Levels/DPZ/Debug/Main.asm"
+ include "Levels/DPZ/Debug/Main.asm"
Debug_DPZ_End
Debug_CGZ: dbglistheader
- include "Levels/CGZ/Debug/Main.asm"
+ include "Levels/CGZ/Debug/Main.asm"
Debug_CGZ_End
Debug_EMZ: dbglistheader
- include "Levels/EMZ/Debug/Main.asm"
+ include "Levels/EMZ/Debug/Main.asm"
Debug_EMZ_End
Debug_Pachinko_Special: dbglistheader
- include "Levels/Pachinko/Debug/Main.asm"
+ include "Levels/Pachinko/Debug/Main.asm"
Debug_Pachinko_Special_End
Debug_HPZ: dbglistheader
- include "Levels/HPZ/Debug/Main.asm"
+ include "Levels/HPZ/Debug/Main.asm"
Debug_HPZ_End
Debug_Gumball_Special: dbglistheader
- include "Levels/Gumball/Debug/Main.asm"
+ include "Levels/Gumball/Debug/Main.asm"
Debug_Gumball_Special_End
Sprite_Listing3:include "Levels/Misc/Object pointers - SK Set 1.asm"
@@ -201821,21 +201631,19 @@ Sprite_ListingK:include "Levels/Misc/Object pointers - SK Set 2.asm"
endif
AngleArray: binclude "Levels/Misc/angles.bin"
- even
-
+ even
HeightMaps: binclude "Levels/Misc/Height Maps.bin"
- even
+ even
HeightMapsRot: binclude "Levels/Misc/Height Maps Rotated.bin"
- even
+ even
- if Sonic3_Complete=0
+ if Sonic3_Complete=0
Noninterleaved_Solid_Flag EQU 0
- else
+ else
Noninterleaved_Solid_Flag EQU (1<<31)
- endif
+ endif
-SolidIndexes:
- dc.l Solid_AIZ1+1+Noninterleaved_Solid_Flag
+SolidIndexes: dc.l Solid_AIZ1+1+Noninterleaved_Solid_Flag
dc.l Solid_AIZ2+1+Noninterleaved_Solid_Flag
dc.l Solid_HCZ1+1+Noninterleaved_Solid_Flag
dc.l Solid_HCZ2+1+Noninterleaved_Solid_Flag
@@ -201883,562 +201691,597 @@ SolidIndexes:
dc.l Solid_HPZ
dc.l Solid_HPZ
dc.l Solid_HPZ
+Solid_FBZ: binclude "Levels/FBZ/Collision/1.bin"
+ even
+Solid_MHZ: binclude "Levels/MHZ/Collision/1.bin"
+ even
+Solid_Unknown: binclude "Levels/Misc/Unknown Collision.bin"
+ even
+Solid_SOZ: binclude "Levels/SOZ/Collision/1.bin"
+ even
+Solid_LRZ1: binclude "Levels/LRZ/Collision/1.bin"
+ even
+Solid_LRZ2: binclude "Levels/LRZ/Collision/2.bin"
+ even
+Solid_SSZ1: binclude "Levels/SSZ/Collision/1.bin"
+ even
+Solid_SSZ2: binclude "Levels/SSZ/Collision/2.bin"
+ even
+Solid_DEZ: binclude "Levels/DEZ/Collision/1.bin"
+ even
+Solid_DDZ: binclude "Levels/DDZ/Collision/1.bin"
+ even
+Solid_Pachinko_Special:
+ binclude "Levels/Pachinko/Collision/1.bin"
+ even
+Solid_Slots_Special:
+ binclude "Levels/Slots/Collision/1.bin"
+ even
-Solid_FBZ: binclude "Levels/FBZ/Collision/1.bin"
- even
-Solid_MHZ: binclude "Levels/MHZ/Collision/1.bin"
- even
-Solid_Unknown: binclude "Levels/Misc/Unknown Collision.bin"
- even
-Solid_SOZ: binclude "Levels/SOZ/Collision/1.bin"
- even
-Solid_LRZ1: binclude "Levels/LRZ/Collision/1.bin"
- even
-Solid_LRZ2: binclude "Levels/LRZ/Collision/2.bin"
- even
-Solid_SSZ1: binclude "Levels/SSZ/Collision/1.bin"
- even
-Solid_SSZ2: binclude "Levels/SSZ/Collision/2.bin"
- even
-Solid_DEZ: binclude "Levels/DEZ/Collision/1.bin"
- even
-Solid_DDZ: binclude "Levels/DDZ/Collision/1.bin"
- even
-Solid_Pachinko_Special: binclude "Levels/Pachinko/Collision/1.bin"
- even
-Solid_Slots_Special: binclude "Levels/Slots/Collision/1.bin"
- even
-Solid_LRZBoss: binclude "Levels/LRZ/Collision/3.bin"
- even
-Solid_HPZ: binclude "Levels/HPZ/Collision/1.bin"
- even
-LevelPtrs: dc.l Layout_AIZ1 ; 0
- dc.l Layout_AIZ2 ; 1
- dc.l Layout_HCZ1 ; 2
- dc.l Layout_HCZ2 ; 3
- dc.l Layout_MGZ1 ; 4
- dc.l Layout_MGZ2 ; 5
- dc.l Layout_CNZ1 ; 6
- dc.l Layout_CNZ2 ; 7
- dc.l Layout_FBZ1 ; 8
- dc.l Layout_FBZ2 ; 9
- dc.l Layout_ICZ1 ; 10
- dc.l Layout_ICZ2 ; 11
- dc.l Layout_LBZ1 ; 12
- dc.l Layout_LBZ2 ; 13
- dc.l Layout_MHZ1 ; 14
- dc.l Layout_MHZ2 ; 15
- dc.l Layout_SOZ1 ; 16
- dc.l Layout_SOZ2 ; 17
- dc.l Layout_LRZ1 ; 18
- dc.l Layout_LRZ2 ; 19
- dc.l Layout_SSZ1 ; 20
- dc.l Layout_SSZ2 ; 21
- dc.l Layout_DEZ1 ; 22
- dc.l Layout_DEZ2 ; 23
- dc.l Layout_DDZ ; 24
- dc.l Layout_DDZ ; 25
- dc.l Layout_SSZ2 ; 26
- dc.l Layout_SSZ2 ; 27
- dc.l Layout_ALZ ; 28
- dc.l Layout_ALZ ; 29
- dc.l Layout_BPZ ; 30
- dc.l Layout_BPZ ; 31
- dc.l Layout_DPZ ; 32
- dc.l Layout_DPZ ; 33
- dc.l Layout_CGZ ; 34
- dc.l Layout_CGZ ; 35
- dc.l Layout_EMZ ; 36
- dc.l Layout_EMZ ; 37
- dc.l Layout_Gumball_Special; 38
- dc.l Layout_Gumball_Special; 39
- dc.l Layout_Pachinko_Special; 40
- dc.l Layout_Pachinko_Special; 41
- dc.l Layout_Slots_Special; 42
- dc.l Layout_Slots_Special; 43
- dc.l Layout_LRZBoss ; 44
- dc.l Layout_HPZ ; 45
- dc.l Layout_DEZBoss ; 46
- dc.l Layout_HPZ ; 47
+Solid_LRZBoss: binclude "Levels/LRZ/Collision/3.bin"
+ even
+Solid_HPZ: binclude "Levels/HPZ/Collision/1.bin"
+ even
+LevelPtrs: dc.l Layout_AIZ1
+ dc.l Layout_AIZ2
+ dc.l Layout_HCZ1
+ dc.l Layout_HCZ2
+ dc.l Layout_MGZ1
+ dc.l Layout_MGZ2
+ dc.l Layout_CNZ1
+ dc.l Layout_CNZ2
+ dc.l Layout_FBZ1
+ dc.l Layout_FBZ2
+ dc.l Layout_ICZ1
+ dc.l Layout_ICZ2
+ dc.l Layout_LBZ1
+ dc.l Layout_LBZ2
+ dc.l Layout_MHZ1
+ dc.l Layout_MHZ2
+ dc.l Layout_SOZ1
+ dc.l Layout_SOZ2
+ dc.l Layout_LRZ1
+ dc.l Layout_LRZ2
+ dc.l Layout_SSZ1
+ dc.l Layout_SSZ2
+ dc.l Layout_DEZ1
+ dc.l Layout_DEZ2
+ dc.l Layout_DDZ
+ dc.l Layout_DDZ
+ dc.l Layout_SSZ2
+ dc.l Layout_SSZ2
+ dc.l Layout_ALZ
+ dc.l Layout_ALZ
+ dc.l Layout_BPZ
+ dc.l Layout_BPZ
+ dc.l Layout_DPZ
+ dc.l Layout_DPZ
+ dc.l Layout_CGZ
+ dc.l Layout_CGZ
+ dc.l Layout_EMZ
+ dc.l Layout_EMZ
+ dc.l Layout_Gumball_Special
+ dc.l Layout_Gumball_Special
+ dc.l Layout_Pachinko_Special
+ dc.l Layout_Pachinko_Special
+ dc.l Layout_Slots_Special
+ dc.l Layout_Slots_Special
+ dc.l Layout_LRZBoss
+ dc.l Layout_HPZ
+ dc.l Layout_DEZBoss
+ dc.l Layout_HPZ
Layout_FBZ1: binclude "Levels/FBZ/Layout/1.bin"
- even
+ even
Layout_FBZ2: binclude "Levels/FBZ/Layout/2.bin"
- even
+ even
Layout_MHZ1: binclude "Levels/MHZ/Layout/1.bin"
- even
+ even
Layout_MHZ2: binclude "Levels/MHZ/Layout/2.bin"
- even
+ even
Layout_SOZ1: binclude "Levels/SOZ/Layout/1.bin"
- even
+ even
Layout_SOZ2: binclude "Levels/SOZ/Layout/2.bin"
- even
+ even
Layout_LRZ1: binclude "Levels/LRZ/Layout/1.bin"
- even
+ even
Layout_LRZ2: binclude "Levels/LRZ/Layout/2.bin"
- even
+ even
Layout_SSZ1: binclude "Levels/SSZ/Layout/1.bin"
- even
+ even
Layout_SSZ2: binclude "Levels/SSZ/Layout/2.bin"
- even
+ even
Layout_DEZ1: binclude "Levels/DEZ/Layout/1.bin"
- even
+ even
Layout_DEZ2: binclude "Levels/DEZ/Layout/2.bin"
- even
+ even
Layout_DDZ: binclude "Levels/DDZ/Layout/1.bin"
- even
-Layout_Pachinko_Special:binclude "Levels/Pachinko/Layout/1.bin"
- even
-Layout_Slots_Special:binclude "Levels/Slots/Layout/1.bin"
- even
+ even
+Layout_Pachinko_Special:
+ binclude "Levels/Pachinko/Layout/1.bin"
+ even
+Layout_Slots_Special:
+ binclude "Levels/Slots/Layout/1.bin"
+ even
+
Layout_LRZBoss: binclude "Levels/LRZ/Layout/3.bin"
- even
+ even
Layout_HPZ: binclude "Levels/HPZ/Layout/1.bin"
- even
-
+ even
Layout_DEZBoss: binclude "Levels/DEZ/Layout/3.bin"
- even
-MHZ_Custom_Layout:binclude "Levels/MHZ/Layout/3.bin"
- even
-PalPoint:
- include "Levels/Misc/Palette pointers.asm"
-Pal_Unknown1: binclude "Levels/Misc/Palettes/Unknown 1.bin"
- even
-
-Pal_Unknown2: binclude "Levels/Misc/Palettes/Unknown 2.bin"
- even
-
-Pal_Unknown3: binclude "Levels/Misc/Palettes/Unknown 3.bin"
- even
-
-Pal_SonicTails: binclude "General/Sprites/Sonic/Palettes/SonicAndTails.bin"
- even
+ even
+MHZ_Custom_Layout:
+ binclude "Levels/MHZ/Layout/3.bin"
+ even
+PalPoint: include "Levels/Misc/Palette pointers.asm"
+Pal_S2Sega: binclude "General/Sprites/S2Menu/Palettes/Sega Screen.bin"
+ even
+Pal_S2Title: binclude "General/Sprites/S2Menu/Palettes/Title Screen SK.bin"
+ even
+Pal_S2LevSel: binclude "General/Sprites/S2Menu/Palettes/Proto Level Select SK.bin"
+ even
+Pal_SonicTails: binclude "General/Sprites/Sonic/Palettes/SonicAndTails.bin"
+ even
Pal_S2Menu: binclude "General/Sprites/S2Menu/Palettes/Main.bin"
- even
-
+ even
Pal_Knuckles: binclude "General/Sprites/Knuckles/Palettes/Main.bin"
- even
-
+ even
Pal_AIZIntro: binclude "Levels/AIZ/Palettes/Intro.bin"
- even
-
+ even
Pal_AIZ: binclude "Levels/AIZ/Palettes/Main.bin"
- even
-
+ even
Pal_AIZFire: binclude "Levels/AIZ/Palettes/Fire.bin"
- even
-
+ even
Pal_AIZBoss: binclude "Levels/AIZ/Palettes/Boss.bin"
- even
-
+ even
Pal_AIZ_Water: binclude "Levels/AIZ/Palettes/Water.bin"
- even
-
+ even
Pal_AIZ2_Water: binclude "Levels/AIZ/Palettes/Act 2 Water.bin"
- even
-
+ even
Pal_HCZ1: binclude "Levels/HCZ/Palettes/1.bin"
- even
-
+ even
Pal_HCZ2: binclude "Levels/HCZ/Palettes/2.bin"
- even
-
+ even
Pal_HCZ1_Water: binclude "Levels/HCZ/Palettes/Act 1 Water.bin"
- even
-
+ even
Pal_HCZ2_Water: binclude "Levels/HCZ/Palettes/Act 2 Water.bin"
- even
-
+ even
Pal_MGZ: binclude "Levels/MGZ/Palettes/Main.bin"
- even
-
-
+ even
Pal_CNZ: binclude "Levels/CNZ/Palettes/Main.bin"
- even
-
+ even
Pal_CNZ_Water: binclude "Levels/CNZ/Palettes/Water.bin"
- even
-
+ even
Pal_FBZ1: binclude "Levels/FBZ/Palettes/FBZ1.bin"
- even
-
+ even
Pal_FBZ2: binclude "Levels/FBZ/Palettes/FBZ2.bin"
- even
-
+ even
Pal_ICZ1: binclude "Levels/ICZ/Palettes/1.bin"
- even
-
+ even
Pal_ICZ2: binclude "Levels/ICZ/Palettes/2.bin"
- even
-
-
+ even
Pal_ICZ2_Water: binclude "Levels/ICZ/Palettes/Act 2 Water.bin"
- even
-
+ even
Pal_LBZ1: binclude "Levels/LBZ/Palettes/1.bin"
- even
-
-
+ even
Pal_LBZ2: binclude "Levels/LBZ/Palettes/2.bin"
- even
-
+ even
Pal_LBZ_Water: binclude "Levels/LBZ/Palettes/Act 2 Water.bin"
- even
-
-
+ even
Pal_LBZ_Water2: binclude "Levels/LBZ/Palettes/Act 2 Water 2.bin"
- even
-
+ even
Pal_MHZ1: binclude "Levels/MHZ/Palettes/1.bin"
- even
-
+ even
Pal_MHZ2: binclude "Levels/MHZ/Palettes/2.bin"
- even
-
-
+ even
Pal_SOZ1: binclude "Levels/SOZ/Palettes/1.bin"
- even
-
+ even
Pal_S0Z2: binclude "Levels/SOZ/Palettes/2.bin"
- even
-
+ even
Pal_SOZ1_Clone: binclude "Levels/SOZ/Palettes/Act 1 Clone.bin"
- even
-
+ even
Pal_SOZ2_Extra: binclude "Levels/SOZ/Palettes/Act 2 Extra.bin"
- even
-
+ even
Pal_LRZ1: binclude "Levels/LRZ/Palettes/1.bin"
- even
-
-
+ even
Pal_LRZ2: binclude "Levels/LRZ/Palettes/2.bin"
- even
-
-
+ even
Pal_SSZ1: binclude "Levels/SSZ/Palettes/1.bin"
- even
-
-
+ even
Pal_SSZ2: binclude "Levels/SSZ/Palettes/2.bin"
- even
-
-Pal_EndingObjects: binclude "General/Ending/Palettes/Objects.bin"
- even
-
-
+ even
+Pal_EndingObjects:
+ binclude "General/Ending/Palettes/Objects.bin"
+ even
Pal_Ending1: binclude "General/Ending/Palettes/Ending 1.bin"
- even
-
-
+ even
Pal_Ending2: binclude "General/Ending/Palettes/Ending 2.bin"
- even
-
-
+ even
Pal_DEZ1: binclude "Levels/DEZ/Palettes/1.bin"
- even
-
+ even
Pal_DEZ2: binclude "Levels/DEZ/Palettes/2.bin"
- even
-
+ even
Pal_DDZ: binclude "Levels/DDZ/Palettes/Main.bin"
- even
-
-
+ even
Pal_ALZ: binclude "Levels/ALZ/Palettes/Main.bin"
- even
-
-
+ even
Pal_BPZ: binclude "Levels/BPZ/Palettes/Main.bin"
- even
-
-
+ even
Pal_DPZ: binclude "Levels/DPZ/Palettes/Main.bin"
- even
-
+ even
Pal_CGZ: binclude "Levels/CGZ/Palettes/Main.bin"
- even
-
+ even
Pal_EMZ: binclude "Levels/EMZ/Palettes/Main.bin"
- even
-
-Pal_Gumball_Special:binclude "Levels/Gumball/Palettes/Main.bin"
- even
-
-Pal_Pachinko_Special:binclude "Levels/Pachinko/Palettes/Main.bin"
- even
-
-Pal_Slot_Special:binclude "Levels/Slots/Palettes/Main.bin"
- even
+ even
+Pal_Gumball_Special:
+ binclude "Levels/Gumball/Palettes/Main.bin"
+ even
+Pal_Pachinko_Special:
+ binclude "Levels/Pachinko/Palettes/Main.bin"
+ even
+Pal_Slot_Special:
+ binclude "Levels/Slots/Palettes/Main.bin"
+ even
Pal_LRZBoss: binclude "Levels/LRZ/Palettes/Boss Act.bin"
- even
-
+ even
Pal_HPZ_A: binclude "Levels/HPZ/Palettes/1_A.bin"
- even
-
-
+ even
Pal_HPZ_B: binclude "Levels/HPZ/Palettes/1_B.bin"
- even
-
+ even
Pal_DEZBoss: binclude "Levels/DEZ/Palettes/Boss.bin"
- even
-
-ArtUnc_AirCountDown:binclude "General/Sprites/Bubbles/Air Countdown.bin"
- even
-
-ArtUnc_SONICMILES:binclude "General/Sprites/S2Menu/SONICMILES.bin"
- even
-
-ArtUnc_SStageSonic:binclude "General/Sprites/Sonic/Art/SStage Sonic.bin"
- even
-Map_SStageSonic:include "General/Sprites/Sonic/Map - SStage Sonic.asm"
-
-ArtUnc_SStageKnuckles:binclude "General/Sprites/Knuckles/Art/SStage Knuckles.bin"
- even
-Map_SStageKnuckles:include "General/Sprites/Knuckles/Map - SStage Knuckles.asm"
-
-ArtNem_SStageShadow: binclude "General/Special Stage/Nemesis Art/Shadow.bin"
- even
-ArtNem_GetBlueSpheres: binclude "General/Special Stage/Nemesis Art/Get Blue Spheres.bin"
- even
-ArtNem_GBSArrow: binclude "General/Special Stage/Nemesis Art/Get Blue Spheres Arrow.bin"
- even
-ArtNem_SStageDigits: binclude "General/Special Stage/Nemesis Art/Digits.bin"
- even
-ArtNem_SStageIcons: binclude "General/Special Stage/Nemesis Art/Icons.bin"
- even
-ArtNem_SStageSphere: binclude "General/Special Stage/Nemesis Art/Sphere.bin"
- even
-ArtNem_SStageRing: binclude "General/Special Stage/Nemesis Art/Ring.bin"
- even
-ArtKosM_SStageChaosEmerald:binclude "General/Special Stage/KosinskiM Art/Special Stage Chaos Emerald.bin"
- even
-ArtKosM_SStageSuperEmerald:binclude "General/Special Stage/KosinskiM Art/Special Stage Super Emerald.bin"
- even
-MapEni_SStageBG: binclude "General/Special Stage/Enigma Map/BG.bin"
- even
-ArtNem_SStageBG: binclude "General/Special Stage/Nemesis Art/BG.bin"
- even
-MapEni_SStageLayout: binclude "General/Special Stage/Enigma Map/Layout.bin"
- even
-ArtNem_SStageLayout: binclude "General/Special Stage/Nemesis Art/Layout.bin"
- even
-SStageKos_PerspectiveMaps: binclude "General/Special Stage/Layout/Perspective Maps.bin"
- even
+ even
+ArtUnc_AirCountdown:
+ binclude "General/Sprites/Dash Dust/Air Countdown.bin"
+ even
+ArtUnc_SONICMILES:
+ binclude "General/Sprites/S2Menu/SONICMILES.bin"
+ even
+ArtUnc_SStageSonic:
+ binclude "General/Sprites/Sonic/Art/SStage Sonic.bin"
+ even
+Map_SStageSonic:
+ include "General/Sprites/Sonic/Map - SStage Sonic.asm"
+
+ArtUnc_SStageKnuckles:
+ binclude "General/Sprites/Knuckles/Art/SStage Knuckles.bin"
+ even
+Map_SStageKnuckles:
+ include "General/Sprites/Knuckles/Map - SStage Knuckles.asm"
+
+ArtNem_SStageShadow:
+ binclude "General/Special Stage/Nemesis Art/Shadow.bin"
+ even
+ArtNem_GetBlueSpheres:
+ binclude "General/Special Stage/Nemesis Art/Get Blue Spheres.bin"
+ even
+ArtNem_GBSArrow:
+ binclude "General/Special Stage/Nemesis Art/Get Blue Spheres Arrow.bin"
+ even
+ArtNem_SStageDigits:
+ binclude "General/Special Stage/Nemesis Art/Digits.bin"
+ even
+ArtNem_SStageIcons:
+ binclude "General/Special Stage/Nemesis Art/Icons.bin"
+ even
+ArtNem_SStageSphere:
+ binclude "General/Special Stage/Nemesis Art/Sphere.bin"
+ even
+ArtNem_SStageRing:
+ binclude "General/Special Stage/Nemesis Art/Ring.bin"
+ even
+ArtKosM_SStageChaosEmerald:
+ binclude "General/Special Stage/KosinskiM Art/Special Stage Chaos Emerald.bin"
+ even
+ArtKosM_SStageSuperEmerald:
+ binclude "General/Special Stage/KosinskiM Art/Special Stage Super Emerald.bin"
+ even
+MapEni_SStageBG:
+ binclude "General/Special Stage/Enigma Map/BG.bin"
+ even
+ArtNem_SStageBG:
+ binclude "General/Special Stage/Nemesis Art/BG.bin"
+ even
+MapEni_SStageLayout:
+ binclude "General/Special Stage/Enigma Map/Layout.bin"
+ even
+ArtNem_SStageLayout:
+ binclude "General/Special Stage/Nemesis Art/Layout.bin"
+ even
+SStageKos_PerspectiveMaps:
+ binclude "General/Special Stage/Layout/Perspective Maps.bin"
+ even
if ~~strip_padding
cnop0 -$40,$100
endif
-ArtUnc_AniFBZ__0: binclude "Levels/FBZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniFBZ__1: binclude "Levels/FBZ/Animated Tiles/1.bin"
- even
-ArtUnc_AniFBZ__2: binclude "Levels/FBZ/Animated Tiles/2.bin"
- even
-ArtUnc_AniFBZ__3: binclude "Levels/FBZ/Animated Tiles/3.bin"
- even
-ArtUnc_AniFBZ__4: binclude "Levels/FBZ/Animated Tiles/4.bin"
- even
-ArtUnc_AniMHZ__BG: binclude "Levels/MHZ/Animated Tiles/BG 1.bin"
- even
-ArtUnc_AniMHZ__BG2: binclude "Levels/MHZ/Animated Tiles/BG 2.bin"
- even
-ArtUnc_AniMHZ__0: binclude "Levels/MHZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniMHZ__1: binclude "Levels/MHZ/Animated Tiles/1.bin"
- even
-ArtUnc_AniMHZ__2: binclude "Levels/MHZ/Animated Tiles/2.bin"
- even
-ArtUnc_AniMHZ__3: binclude "Levels/MHZ/Animated Tiles/3.bin"
- even
-ArtUnc_AniSOZ1_BG: binclude "Levels/SOZ/Animated Tiles/Act1 BG 1.bin"
- even
-ArtUnc_AniSOZ1_BG2: binclude "Levels/SOZ/Animated Tiles/Act1 BG 2.bin"
- even
-ArtUnc_AniSOZ2_BG: binclude "Levels/SOZ/Animated Tiles/Act2 BG.bin"
- even
-ArtUnc_AniLRZ__BG: binclude "Levels/LRZ/Animated Tiles/BG 1.bin"
- even
-ArtUnc_AniLRZ__BG2: binclude "Levels/LRZ/Animated Tiles/BG 2.bin"
- even
-ArtUnc_AniLRZ1_0: binclude "Levels/LRZ/Animated Tiles/Act1 0.bin"
- even
-ArtUnc_AniLRZ1_1: binclude "Levels/LRZ/Animated Tiles/Act1 1.bin"
- even
-ArtUnc_AniLRZ2_0: binclude "Levels/LRZ/Animated Tiles/Act2 0.bin"
- even
-ArtUnc_AniLRZ2_1: binclude "Levels/LRZ/Animated Tiles/Act2 1.bin"
- even
-ArtUnc_AniHPZ__0: binclude "Levels/HPZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniHPZ__1: binclude "Levels/HPZ/Animated Tiles/1.bin"
- even
-ArtUnc_AniHPZ__2: binclude "Levels/HPZ/Animated Tiles/2.bin"
- even
-ArtUnc_AniHPZ__3: binclude "Levels/HPZ/Animated Tiles/3.bin"
- even
-ArtUnc_AniSSZ__0: binclude "Levels/SSZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniSSZ__1: binclude "Levels/SSZ/Animated Tiles/1.bin"
- even
-ArtUnc_AniSSZ__2: binclude "Levels/SSZ/Animated Tiles/2.bin"
- even
-ArtUnc_AniSSZ__3: binclude "Levels/SSZ/Animated Tiles/3.bin"
- even
-ArtUnc_AniSSZ__4: binclude "Levels/SSZ/Animated Tiles/4.bin"
- even
-ArtUnc_AniSSZ__5: binclude "Levels/SSZ/Animated Tiles/5.bin"
- even
-ArtUnc_AniDEZ__0: binclude "Levels/DEZ/Animated Tiles/0.bin"
- even
-ArtUnc_AniDEZ__1: binclude "Levels/DEZ/Animated Tiles/1.bin"
- even
-ArtUnc_AniDEZ__2: binclude "Levels/DEZ/Animated Tiles/2.bin"
- even
-ArtUnc_AniDEZ__3: binclude "Levels/DEZ/Animated Tiles/3.bin"
- even
-ArtUnc_AniDEZ__4: binclude "Levels/DEZ/Animated Tiles/4.bin"
- even
-ArtUnc_AniDEZ__5: binclude "Levels/DEZ/Animated Tiles/5.bin"
- even
-ArtUnc_AniDEZ__6: binclude "Levels/DEZ/Animated Tiles/6.bin"
- even
-ArtUnc_AniDEZ__7: binclude "Levels/DEZ/Animated Tiles/7.bin"
- even
-ArtUnc_AniPachinko:binclude "Levels/Pachinko/Animated Tiles/0.bin"
- even
-ArtNem_S22POptions:binclude "General/Sprites/S2Menu/2P Options.bin"
- even
-
-MapEni_S22POptions:binclude "General/Sprites/S2Menu/Enigma Map/2P Options.bin"
- even
-
-LRZ1_Rock_Placement: dc.w 0, 0, 0
- binclude "Levels/LRZ/Misc/Act 1 Rock Placement.bin"
- even
-
-LRZ2_Rock_Placement: dc.w 0, 0, 0
- binclude "Levels/LRZ/Misc/Act 2 Rock Placement.bin"
- even
-
-Map_SKTitle_SonicFall: include "General/Title/Map - SK Sonic Falling.asm"
- even
-Map_SKTitle_DeathEgg: include "General/Title/Map - SK Death Egg.asm"
- even
-Map_SKTitle_Banner: include "General/Title/Map - SK Banner.asm"
- even
-Map_SKTitle_Mountain: include "General/Title/Map - SK Mountain.asm"
- even
-MapEni_SKTitle_Sega: binclude "General/Title/Enigma Map/SK SEGA.bin"
- even
-MapEni_SKTitle_Frame1: binclude "General/Title/Enigma Map/SK SonicKnux Frame 1.bin"
- even
-MapEni_SKTitle_Frame2: binclude "General/Title/Enigma Map/SK SonicKnux Frame 2.bin"
- even
-MapEni_SKTitle_Frame3: binclude "General/Title/Enigma Map/SK SonicKnux Frame 3.bin"
- even
-MapEni_SKTitle_Frame4: binclude "General/Title/Enigma Map/SK SonicKnux Frame 4.bin"
- even
-MapEni_SKTitle_Background: binclude "General/Title/Enigma Map/SK Background.bin"
- even
-ArtKos_BigSEGA: binclude "General/Title/Kosinski Art/SK Big SEGA.bin"
- even
-ArtKos_SKTitleScreenBG: binclude "General/Title/Kosinski Art/SK Screen Background.bin"
- even
-ArtKosM_SonicKnuxStand: binclude "General/Title/KosinskiM Art/SK Sonic Knuckles.bin"
- even
-ArtKosM_SonicLand: binclude "General/Title/KosinskiM Art/SK Sonic Land Frames.bin"
- even
-ArtKos_SKTitle_SonicFall: binclude "General/Title/Kosinski Art/SK Sonic Falling.bin"
- even
-ArtKos_SKTitle_DeathEgg: binclude "General/Title/Kosinski Art/SK Death Egg.bin"
- even
-ArtKos_SKTitle_Mountain: binclude "General/Title/Kosinski Art/SK Mountain Sprite.bin"
- even
-ArtKosM_SKTitle_Banner: binclude "General/Title/KosinskiM Art/SK Banner.bin"
- even
-ArtKos_SKTitle_SonKnuxHand: binclude "General/Title/Kosinski Art/SK Sonic and Knuckles Hands.bin"
- even
-ArtKosM_SKTitle_Menu: binclude "General/Title/KosinskiM Art/SK Menu.bin"
- even
-ArtNem_Title_ANDKnuckles: binclude "General/Title/Nemesis Art/SK ANDKnuckles.bin"
- even
-ArtKosM_ResultsKNUCKLES: binclude "General/Sprites/Results/Results KNUCKLES.bin"
- even
-ArtKosM_ResultsGeneral: binclude "General/Sprites/Results/Results General.bin"
- even
-ArtKosM_TitleCardNum1: binclude "General/Sprites/Title Card/Title Card Number 1.bin"
- even
-
-ArtKosM_TitleCardNum2: binclude "General/Sprites/Title Card/Title Card Number 2.bin"
- even
-
-ArtKosM_TitleCardRedAct: binclude "General/Sprites/Title Card/Title Card Red ACT.bin"
- even
-ArtKosM_FBZTitleCard: binclude "Levels/FBZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_BonusTitleCard: binclude "General/Sprites/Title Card/Bonus Title Card.bin"
- even
-ArtNem_BossExplosion: binclude "General/Sprites/Boss Explosion/Boss Explosion.bin"
- even
-
-ArtNem_RobotnikShip: binclude "General/Sprites/Robotnik/Ship.bin"
- even
-
-ArtNem_FBZRobotnikHead: binclude "General/Sprites/Robotnik/FBZ Robotnik Head.bin"
- even
-ArtNem_FBZRobotnikStand: binclude "General/Sprites/Robotnik/FBZ Robotnik Stand.bin"
- even
-
-ArtNem_FBZRobotnikRun: binclude "General/Sprites/Robotnik/FBZ Robotnik Run.bin"
- even
-
-ArtUnc_SSEntryRing: binclude "General/Sprites/SS Entry/Entry Ring.bin"
- even
-ArtUnc_SSEntryFlash: binclude "General/Sprites/SS Entry/Entry Flash.bin"
- even
-ArtKosM_BadnikExplosion: binclude "General/Sprites/SS Entry/Badnik Explosion.bin"
- even
-ArtNem_FBZMinibossUnused: binclude "Levels/FBZ/Nemesis Art/S3 Miniboss.bin"
- even
-ArtNem_FBZ2Subboss: binclude "Levels/FBZ/Nemesis Art/Act 2 Subboss.bin"
- even
-
-ArtNem_FBZEndBoss: binclude "Levels/FBZ/Nemesis Art/End Boss.bin"
- even
-ArtKosM_Blaster: binclude "General/Sprites/Blaster/Blaster.bin"
- even
-ArtKosM_Technosqueek: binclude "General/Sprites/Technosqueek/Technosqueek.bin"
- even
-ArtUnc_EndSigns: binclude "General/Sprites/Signpost/End Signs.bin"
- even
-ArtNem_SignpostStub: binclude "General/Sprites/Signpost/Stub.bin"
- even
-ArtNem_EggCapsule: binclude "General/Sprites/Robotnik/Egg Capsule.bin"
- even
-
-ArtNem_BlueSphereText: binclude "General/Blue Sphere/Nemesis Art/Large Text.bin"
- even
-
-ArtNem_FBZEndBossFlame: binclude "Levels/FBZ/Nemesis Art/End Boss Flame.bin"
- even
-ArtKosM_ANDKnuckles:dc.w $4C0
-ArtKos_ANDKnuckles: binclude "General/Title/Kosinski Art/SK ANDKnuckles Subtitle.bin"
- even
+ArtUnc_AniFBZ__0:
+ binclude "Levels/FBZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniFBZ__1:
+ binclude "Levels/FBZ/Animated Tiles/1.bin"
+ even
+ArtUnc_AniFBZ__2:
+ binclude "Levels/FBZ/Animated Tiles/2.bin"
+ even
+ArtUnc_AniFBZ__3:
+ binclude "Levels/FBZ/Animated Tiles/3.bin"
+ even
+ArtUnc_AniFBZ__4:
+ binclude "Levels/FBZ/Animated Tiles/4.bin"
+ even
+ArtUnc_AniMHZ__BG:
+ binclude "Levels/MHZ/Animated Tiles/BG 1.bin"
+ even
+ArtUnc_AniMHZ__BG2:
+ binclude "Levels/MHZ/Animated Tiles/BG 2.bin"
+ even
+ArtUnc_AniMHZ__0:
+ binclude "Levels/MHZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniMHZ__1:
+ binclude "Levels/MHZ/Animated Tiles/1.bin"
+ even
+ArtUnc_AniMHZ__2:
+ binclude "Levels/MHZ/Animated Tiles/2.bin"
+ even
+ArtUnc_AniMHZ__3:
+ binclude "Levels/MHZ/Animated Tiles/3.bin"
+ even
+ArtUnc_AniSOZ1_BG:
+ binclude "Levels/SOZ/Animated Tiles/Act1 BG 1.bin"
+ even
+ArtUnc_AniSOZ1_BG2:
+ binclude "Levels/SOZ/Animated Tiles/Act1 BG 2.bin"
+ even
+ArtUnc_AniSOZ2_BG:
+ binclude "Levels/SOZ/Animated Tiles/Act2 BG.bin"
+ even
+ArtUnc_AniLRZ__BG:
+ binclude "Levels/LRZ/Animated Tiles/BG 1.bin"
+ even
+ArtUnc_AniLRZ__BG2:
+ binclude "Levels/LRZ/Animated Tiles/BG 2.bin"
+ even
+ArtUnc_AniLRZ1_0:
+ binclude "Levels/LRZ/Animated Tiles/Act1 0.bin"
+ even
+ArtUnc_AniLRZ1_1:
+ binclude "Levels/LRZ/Animated Tiles/Act1 1.bin"
+ even
+ArtUnc_AniLRZ2_0:
+ binclude "Levels/LRZ/Animated Tiles/Act2 0.bin"
+ even
+ArtUnc_AniLRZ2_1:
+ binclude "Levels/LRZ/Animated Tiles/Act2 1.bin"
+ even
+ArtUnc_AniHPZ__0:
+ binclude "Levels/HPZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniHPZ__1:
+ binclude "Levels/HPZ/Animated Tiles/1.bin"
+ even
+ArtUnc_AniHPZ__2:
+ binclude "Levels/HPZ/Animated Tiles/2.bin"
+ even
+ArtUnc_AniHPZ__3:
+ binclude "Levels/HPZ/Animated Tiles/3.bin"
+ even
+ArtUnc_AniSSZ__0:
+ binclude "Levels/SSZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniSSZ__1:
+ binclude "Levels/SSZ/Animated Tiles/1.bin"
+ even
+ArtUnc_AniSSZ__2:
+ binclude "Levels/SSZ/Animated Tiles/2.bin"
+ even
+ArtUnc_AniSSZ__3:
+ binclude "Levels/SSZ/Animated Tiles/3.bin"
+ even
+ArtUnc_AniSSZ__4:
+ binclude "Levels/SSZ/Animated Tiles/4.bin"
+ even
+ArtUnc_AniSSZ__5:
+ binclude "Levels/SSZ/Animated Tiles/5.bin"
+ even
+ArtUnc_AniDEZ__0:
+ binclude "Levels/DEZ/Animated Tiles/0.bin"
+ even
+ArtUnc_AniDEZ__1:
+ binclude "Levels/DEZ/Animated Tiles/1.bin"
+ even
+ArtUnc_AniDEZ__2:
+ binclude "Levels/DEZ/Animated Tiles/2.bin"
+ even
+ArtUnc_AniDEZ__3:
+ binclude "Levels/DEZ/Animated Tiles/3.bin"
+ even
+ArtUnc_AniDEZ__4:
+ binclude "Levels/DEZ/Animated Tiles/4.bin"
+ even
+ArtUnc_AniDEZ__5:
+ binclude "Levels/DEZ/Animated Tiles/5.bin"
+ even
+ArtUnc_AniDEZ__6:
+ binclude "Levels/DEZ/Animated Tiles/6.bin"
+ even
+ArtUnc_AniDEZ__7:
+ binclude "Levels/DEZ/Animated Tiles/7.bin"
+ even
+ArtUnc_AniPachinko:
+ binclude "Levels/Pachinko/Animated Tiles/0.bin"
+ even
+ArtNem_S22POptions:
+ binclude "General/Sprites/S2Menu/2P Options.bin"
+ even
+MapEni_S22POptions:
+ binclude "General/Sprites/S2Menu/Enigma Map/2P Options.bin"
+ even
+LRZ1_Rock_Placement:
+ dc.w 0, 0, 0
+ binclude "Levels/LRZ/Misc/Act 1 Rock Placement.bin"
+ even
+LRZ2_Rock_Placement:
+ dc.w 0, 0, 0
+ binclude "Levels/LRZ/Misc/Act 2 Rock Placement.bin"
+ even
+Map_SKTitle_SonicFall:
+ include "General/Title/Map - SK Sonic Falling.asm"
+ even
+Map_SKTitle_DeathEgg:
+ include "General/Title/Map - SK Death Egg.asm"
+ even
+Map_SKTitle_Banner:
+ include "General/Title/Map - SK Banner.asm"
+ even
+Map_SKTitle_Mountain:
+ include "General/Title/Map - SK Mountain.asm"
+ even
+MapEni_SKTitle_Sega:
+ binclude "General/Title/Enigma Map/SK SEGA.bin"
+ even
+MapEni_SKTitle_Frame1:
+ binclude "General/Title/Enigma Map/SK SonicKnux Frame 1.bin"
+ even
+MapEni_SKTitle_Frame2:
+ binclude "General/Title/Enigma Map/SK SonicKnux Frame 2.bin"
+ even
+MapEni_SKTitle_Frame3:
+ binclude "General/Title/Enigma Map/SK SonicKnux Frame 3.bin"
+ even
+MapEni_SKTitle_Frame4:
+ binclude "General/Title/Enigma Map/SK SonicKnux Frame 4.bin"
+ even
+MapEni_SKTitle_Background:
+ binclude "General/Title/Enigma Map/SK Background.bin"
+ even
+ArtKos_BigSEGA:
+ binclude "General/Title/Kosinski Art/SK Big SEGA.bin"
+ even
+ArtKos_SKTitleScreenBG:
+ binclude "General/Title/Kosinski Art/SK Screen Background.bin"
+ even
+ArtKosM_SonicKnuxStand:
+ binclude "General/Title/KosinskiM Art/SK Sonic Knuckles.bin"
+ even
+ArtKosM_SonicLand:
+ binclude "General/Title/KosinskiM Art/SK Sonic Land Frames.bin"
+ even
+ArtKos_SKTitle_SonicFall:
+ binclude "General/Title/Kosinski Art/SK Sonic Falling.bin"
+ even
+ArtKos_SKTitle_DeathEgg:
+ binclude "General/Title/Kosinski Art/SK Death Egg.bin"
+ even
+ArtKos_SKTitle_Mountain:
+ binclude "General/Title/Kosinski Art/SK Mountain Sprite.bin"
+ even
+ArtKosM_SKTitle_Banner:
+ binclude "General/Title/KosinskiM Art/SK Banner.bin"
+ even
+ArtKos_SKTitle_SonKnuxHand:
+ binclude "General/Title/Kosinski Art/SK Sonic and Knuckles Hands.bin"
+ even
+ArtKosM_SKTitle_Menu:
+ binclude "General/Title/KosinskiM Art/SK Menu.bin"
+ even
+ArtNem_Title_ANDKnuckles:
+ binclude "General/Title/Nemesis Art/SK ANDKnuckles.bin"
+ even
+ArtKosM_ResultsKNUCKLES:
+ binclude "General/Sprites/Results/Results KNUCKLES.bin"
+ even
+ArtKosM_ResultsGeneral:
+ binclude "General/Sprites/Results/Results General.bin"
+ even
+ArtKosM_TitleCardNum1:
+ binclude "General/Sprites/Title Card/Title Card Number 1.bin"
+ even
+ArtKosM_TitleCardNum2:
+ binclude "General/Sprites/Title Card/Title Card Number 2.bin"
+ even
+ArtKosM_TitleCardRedAct:
+ binclude "General/Sprites/Title Card/Title Card Red ACT.bin"
+ even
+ArtKosM_FBZTitleCard:
+ binclude "Levels/FBZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_BonusTitleCard:
+ binclude "General/Sprites/Title Card/Bonus Title Card.bin"
+ even
+ArtNem_BossExplosion:
+ binclude "General/Sprites/Boss Explosion/Boss Explosion.bin"
+ even
+ArtNem_RobotnikShip:
+ binclude "General/Sprites/Robotnik/Ship.bin"
+ even
+ArtNem_FBZRobotnikHead:
+ binclude "General/Sprites/Robotnik/FBZ Robotnik Head.bin"
+ even
+ArtNem_FBZRobotnikStand:
+ binclude "General/Sprites/Robotnik/FBZ Robotnik Stand.bin"
+ even
+ArtNem_FBZRobotnikRun:
+ binclude "General/Sprites/Robotnik/FBZ Robotnik Run.bin"
+ even
+ArtUnc_SSEntryRing:
+ binclude "General/Sprites/SS Entry/Entry Ring.bin"
+ even
+ArtUnc_SSEntryFlash:
+ binclude "General/Sprites/SS Entry/Entry Flash.bin"
+ even
+ArtKosM_BadnikExplosion:
+ binclude "General/Sprites/SS Entry/Badnik Explosion.bin"
+ even
+ArtNem_FBZMinibossUnused:
+ binclude "Levels/FBZ/Nemesis Art/S3 Miniboss.bin"
+ even
+ArtNem_FBZ2Subboss:
+ binclude "Levels/FBZ/Nemesis Art/Act 2 Subboss.bin"
+ even
+ArtNem_FBZEndBoss:
+ binclude "Levels/FBZ/Nemesis Art/End Boss.bin"
+ even
+ArtKosM_Blaster:
+ binclude "General/Sprites/Blaster/Blaster.bin"
+ even
+ArtKosM_Technosqueek:
+ binclude "General/Sprites/Technosqueek/Technosqueek.bin"
+ even
+ArtUnc_EndSigns:
+ binclude "General/Sprites/Signpost/End Signs.bin"
+ even
+ArtNem_SignpostStub:
+ binclude "General/Sprites/Signpost/Stub.bin"
+ even
+ArtNem_EggCapsule:
+ binclude "General/Sprites/Robotnik/Egg Capsule.bin"
+ even
+ArtNem_BlueSphereText:
+ binclude "General/Blue Sphere/Nemesis Art/Large Text.bin"
+ even
+ArtNem_FBZEndBossFlame:
+ binclude "Levels/FBZ/Nemesis Art/End Boss Flame.bin"
+ even
+ArtKosM_ANDKnuckles:
+ binclude "General/Ending/KosinskiM Art/ANDKnuckles Subtitle.bin"
+ even
if ~~strip_padding
cnop -$600,$1000
endif
-ArtNem_Knux_Ending_Pose:binclude "General/Ending/Nemesis Art/Knuckles Ending Pose.bin"
- even
+ArtNem_KnuxEndPose:
+ binclude "General/Ending/Nemesis Art/Knuckles Ending Pose.bin"
+ even
if Sonic3_Complete=0
; Some sprite pointers below point to S2 or S2K data, which we're not dealing with in this disassembly for the time being
; As such, they are intentionally left unlabelled
-S2K_Sprite_Lists:dc.l S2KSprite_EHZ1 ; 0
+S2K_Sprite_Lists:
+ dc.l S2KSprite_EHZ1 ; 0
dc.l S2KSprite_EHZ2 ; 1
dc.l S2KSprite_NULL ; 2
dc.l S2KSprite_NULL ; 3
@@ -202454,374 +202297,481 @@ S2K_Sprite_Lists:dc.l S2KSprite_EHZ1 ; 0
dc.l S2KSprite_WFZ2 ; 13
dc.l S2KSprite_HTZ1 ; 14
dc.l S2KSprite_HTZ2 ; 15
- dc.l $2E8C80 ;byte_2E8C80 ; 16
- dc.l $2E8D94 ;byte_2E8D94 ; 17
+ dc.l $2E8C80 ;byte_2E8C80 ; 16
+ dc.l $2E8D94 ;byte_2E8D94 ; 17
dc.l S2KSprite_NULL ; 18
dc.l S2KSprite_NULL ; 19
dc.l S2KSprite_OOZ1 ; 20
dc.l S2KSprite_OOZ2 ; 21
dc.l S2KSprite_MCZ1 ; 22
dc.l S2KSprite_MCZ2 ; 23
- dc.l $33F06E ;byte_33F06E ; 24
- dc.l $33F74C ;byte_33F74C ; 25
+ dc.l $33F06E ;byte_33F06E ; 24
+ dc.l $33F74C ;byte_33F74C ; 25
dc.l S2KSprite_CPZ1 ; 26
dc.l S2KSprite_CPZ2 ; 27
- dc.l $2EB230 ;byte_2EB230 ; 28
- dc.l $2EB254 ;byte_2EB254 ; 29
+ dc.l $2EB230 ;byte_2EB230 ; 28
+ dc.l $2EB254 ;byte_2EB254 ; 29
dc.l S2KSprite_ARZ1 ; 30
dc.l S2KSprite_ARZ2 ; 31
- dc.l $2EBBDE ;byte_2EBBDE ; 32
- dc.l $2EBD4C ;byte_2EBD4C ; 33
+ dc.l $2EBBDE ;byte_2EBBDE ; 32
+ dc.l $2EBD4C ;byte_2EBD4C ; 33
dc.w $FFFF, 0, 0
-S2KSprite_EHZ1: binclude "Levels/Misc/S2K Object Pos/EHZ_1.bin"
- even
-S2KSprite_EHZ2: binclude "Levels/Misc/S2K Object Pos/EHZ_2.bin"
- even
-S2KSprite_MTZ1: binclude "Levels/Misc/S2K Object Pos/MTZ_1.bin"
- even
-S2KSprite_MTZ2: binclude "Levels/Misc/S2K Object Pos/MTZ_2.bin"
- even
-S2KSprite_MTZ3: binclude "Levels/Misc/S2K Object Pos/MTZ_3.bin"
- even
-S2KSprite_WFZ1: binclude "Levels/Misc/S2K Object Pos/WFZ_1.bin"
- even
-S2KSprite_WFZ2: binclude "Levels/Misc/S2K Object Pos/WFZ_2.bin"
- even
-S2KSprite_HTZ1: binclude "Levels/Misc/S2K Object Pos/HTZ_1.bin"
- even
-S2KSprite_HTZ2: binclude "Levels/Misc/S2K Object Pos/HTZ_2.bin"
- even
-S2KSprite_OOZ1: binclude "Levels/Misc/S2K Object Pos/OOZ_1.bin"
- even
-S2KSprite_OOZ2: binclude "Levels/Misc/S2K Object Pos/OOZ_2.bin"
- even
-S2KSprite_MCZ1: binclude "Levels/Misc/S2K Object Pos/MCZ_1.bin"
- even
-S2KSprite_MCZ2: binclude "Levels/Misc/S2K Object Pos/MCZ_2.bin"
- even
-S2KSprite_CPZ1: binclude "Levels/Misc/S2K Object Pos/CPZ_1.bin"
- even
-S2KSprite_CPZ2: binclude "Levels/Misc/S2K Object Pos/CPZ_2.bin"
- even
-S2KSprite_ARZ1: binclude "Levels/Misc/S2K Object Pos/ARZ_1.bin"
- even
-S2KSprite_ARZ2: binclude "Levels/Misc/S2K Object Pos/ARZ_2.bin"
- even
+S2KSprite_EHZ1: binclude "Levels/Misc/S2K Object Pos/EHZ_1.bin"
+ even
+S2KSprite_EHZ2: binclude "Levels/Misc/S2K Object Pos/EHZ_2.bin"
+ even
+S2KSprite_MTZ1: binclude "Levels/Misc/S2K Object Pos/MTZ_1.bin"
+ even
+S2KSprite_MTZ2: binclude "Levels/Misc/S2K Object Pos/MTZ_2.bin"
+ even
+S2KSprite_MTZ3: binclude "Levels/Misc/S2K Object Pos/MTZ_3.bin"
+ even
+S2KSprite_WFZ1: binclude "Levels/Misc/S2K Object Pos/WFZ_1.bin"
+ even
+S2KSprite_WFZ2: binclude "Levels/Misc/S2K Object Pos/WFZ_2.bin"
+ even
+S2KSprite_HTZ1: binclude "Levels/Misc/S2K Object Pos/HTZ_1.bin"
+ even
+S2KSprite_HTZ2: binclude "Levels/Misc/S2K Object Pos/HTZ_2.bin"
+ even
+S2KSprite_OOZ1: binclude "Levels/Misc/S2K Object Pos/OOZ_1.bin"
+ even
+S2KSprite_OOZ2: binclude "Levels/Misc/S2K Object Pos/OOZ_2.bin"
+ even
+S2KSprite_MCZ1: binclude "Levels/Misc/S2K Object Pos/MCZ_1.bin"
+ even
+S2KSprite_MCZ2: binclude "Levels/Misc/S2K Object Pos/MCZ_2.bin"
+ even
+S2KSprite_CPZ1: binclude "Levels/Misc/S2K Object Pos/CPZ_1.bin"
+ even
+S2KSprite_CPZ2: binclude "Levels/Misc/S2K Object Pos/CPZ_2.bin"
+ even
+S2KSprite_ARZ1: binclude "Levels/Misc/S2K Object Pos/ARZ_1.bin"
+ even
+S2KSprite_ARZ2: binclude "Levels/Misc/S2K Object Pos/ARZ_2.bin"
+ even
S2KSprite_NULL: dc.w $FFFF, 0, 0
endif
include "Sound/Flamedriver.asm"
-
align $8000
ArtUnc_Sonic: binclude "General/Sprites/Sonic/Art/Sonic.bin"
- even
+ even
ArtUnc_Knux: binclude "General/Sprites/Knuckles/Art/Knuckles.bin"
- even
-ArtUnc_Sonic_Extra:binclude "General/Sprites/Sonic/Art/Sonic Extra.bin"
- even
-ArtUnc_Tails_Extra:binclude "General/Sprites/Tails/Art/Tails Extra.bin"
- even
+ even
+ArtUnc_Sonic_Extra:
+ binclude "General/Sprites/Sonic/Art/Sonic Extra.bin"
+ even
+ArtUnc_Tails_Extra:
+ binclude "General/Sprites/Tails/Art/Tails Extra.bin"
+ even
Map_Sonic: include "General/Sprites/Sonic/Map - Sonic.asm"
-
-PLC_Sonic: include "General/Sprites/Sonic/Sonic pattern load cues.asm"
-
+PLC_Sonic: include "General/Sprites/Sonic/DPLC - Sonic.asm"
Map_Tails: include "General/Sprites/Tails/Map - Tails.asm"
-
-PLC_Tails: include "General/Sprites/Tails/Tails pattern load cues.asm"
-
+PLC_Tails: include "General/Sprites/Tails/DPLC - Tails.asm"
Map_Knuckles: include "General/Sprites/Knuckles/Map - Knuckles.asm"
-
-PLC_Knuckles: include "General/Sprites/Knuckles/Knuckles pattern load cues.asm"
-
-ArtKosM_HyperSonicStars:binclude "General/Sprites/Sonic/Art/Hyper Sonic Stars.bin"
- even
-ArtKosM_SuperTailsBirds:binclude "General/Sprites/Tails/Art/Super Tails birds.bin"
- even
-ArtNem_FBZMisc: binclude "Levels/FBZ/Nemesis Art/Misc Art 1.bin"
- even
-
-ArtNem_FBZOutdoors: binclude "Levels/FBZ/Nemesis Art/Outdoors.bin"
- even
-ArtNem_FBZMisc2: binclude "Levels/FBZ/Nemesis Art/Misc Art 2.bin"
- even
-ArtNem_MHZMisc: binclude "Levels/MHZ/Nemesis Art/Misc Art.bin"
- even
-ArtNem_SOZMisc: binclude "Levels/SOZ/Nemesis Art/Misc Art.bin"
- even
-
-ArtNem_SOZTile: binclude "Levels/SOZ/Nemesis Art/Tile.bin"
- even
-ArtNem_SOZ2Extra: binclude "Levels/SOZ/Nemesis Art/Act 2 Extra Art.bin"
- even
-ArtNem_LRZMisc: binclude "Levels/LRZ/Nemesis Art/Misc Art.bin"
- even
-ArtNem_LRZSpikes: binclude "Levels/LRZ/Nemesis Art/Spike Crush.bin"
- even
-ArtNem_LRZBigSpike: binclude "Levels/LRZ/Nemesis Art/Big Spike Ball.bin"
- even
-ArtNem_LRZ2Misc: binclude "Levels/LRZ/Nemesis Art/Act 2 Misc Art.bin"
- even
-ArtNem_LRZ2Drum: binclude "Levels/LRZ/Nemesis Art/Act 2 Spinning Drum.bin"
- even
-ArtNem_SSZMisc: binclude "Levels/SSZ/Nemesis Art/Misc.bin"
- even
-ArtKosM_SSZSpiralRamp: binclude "Levels/SSZ/KosinskiM Art/Spiral Ramp.bin"
- even
-ArtNem_DEZMisc: binclude "Levels/DEZ/Nemesis Art/Misc Art.bin"
- even
-
-ArtNem_DEZMiniboss: binclude "Levels/DEZ/Nemesis Art/Miniboss.bin"
- even
-ArtNem_DEZ2Extra: binclude "Levels/DEZ/Nemesis Art/Act 2 Extra Art.bin"
- even
-ArtNem_PachinkoMain: binclude "Levels/Pachinko/Nemesis Art/Main.bin"
- even
-ArtKos_PachinkoBG1: binclude "Levels/Pachinko/Kosinski Art/Animated BG 1.bin"
- even
-ArtKos_PachinkoBG2: binclude "Levels/Pachinko/Kosinski Art/Animated BG 2.bin"
- even
-PalKos_Pachinko: binclude "Levels/Pachinko/Palettes/Compressed Pal.bin"
- even
-ArtNem_SlotsBlocks: binclude "Levels/Slots/Nemesis Art/Blocks.bin"
- even
-ArtUnc_SlotOptions: binclude "Levels/Slots/Uncompressed Art/Options.bin"
- even
-ArtKosM_SSZTeleport: binclude "Levels/SSZ/KosinskiM Art/Teleporter Beam.bin"
- even
-ArtNem_ICZTeleport: binclude "Levels/ICZ/Nemesis Art/Teleporter Beam.bin"
- even
-ArtKosM_MHZEndBossPillar: binclude "Levels/MHZ/KosinskiM Art/End Boss Pillar.bin"
- even
-ArtKosM_MHZShipPropeller: binclude "Levels/MHZ/KosinskiM Art/Ship Propeller.bin"
- even
-ArtKosM_LRZ2DeathEggBG: binclude "Levels/LRZ/KosinskiM Art/BG Death Egg.bin"
- even
-ArtUnc_DEZFBLaser: binclude "Levels/DEZ/Uncompressed Art/Final Boss Laser.bin"
- even
-
-ArtKos_SaveScreen:binclude "General/Save Menu/Kosinski Art/SK Extra.bin"
- even
-ArtKosM_SSResultsSUPER: binclude "General/Special Stage/KosinskiM Art/SSResults SUPER.bin"
- even
-ArtKosM_SSResultsSUPERk: binclude "General/Special Stage/KosinskiM Art/SSResults SUPER (K).bin"
- even
-ArtKosM_SSResultsHYPER: binclude "General/Special Stage/KosinskiM Art/SSResults HYPER.bin"
- even
-ArtKosM_SSResultsHYPERk: binclude "General/Special Stage/KosinskiM Art/SSResults HYPER (K).bin"
- even
-ArtKosM_ResultsSONIC: binclude "General/Sprites/Results/Results SONIC.bin"
- even
-ArtKosM_SSResults: dc.w $12A0
-ArtKos_SSResultsGeneral: binclude "General/Special Stage/Kosinski Art/SSResults General.bin"
- even
-ArtKos_SSResultsTKIcons: binclude "General/Special Stage/Kosinski Art/SSResults Tails Knuckles Icons.bin"
- even
-ArtKosM_TitleCardSKZone:binclude "General/Sprites/Title Card/Title Card SK Zone.bin"
- even
-ArtKosM_TitleCardS3KZone:binclude "General/Sprites/Title Card/Title Card S3K Zone.bin"
- even
-ArtKosM_MHZTitleCard:binclude "Levels/MHZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_SOZTitleCard:binclude "Levels/SOZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_LRZTitleCard:binclude "Levels/LRZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_SSZTitleCard:binclude "Levels/SSZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_DEZTitleCard:binclude "Levels/DEZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_DDZTitleCard:binclude "Levels/DDZ/KosinskiM Art/Title Card.bin"
- even
-ArtKosM_HPZTitleCard:binclude "Levels/HPZ/KosinskiM Art/Title Card.bin"
- even
-ArtKos_SaveScreenSKZone: binclude "General/Save Menu/Kosinski Art/SK Zone Art.bin"
- even
-ArtKos_SaveScreenPortrait: binclude "General/Save Menu/Kosinski Art/Portraits.bin"
- even
+PLC_Knuckles: include "General/Sprites/Knuckles/DPLC - Knuckles.asm"
+ArtKosM_HyperSonicStars:
+ binclude "General/Sprites/Sonic/Art/Hyper Sonic Stars.bin"
+ even
+ArtKosM_SuperTailsBirds:
+ binclude "General/Sprites/Tails/Art/Super Tails birds.bin"
+ even
+ArtNem_FBZMisc:
+ binclude "Levels/FBZ/Nemesis Art/Misc Art 1.bin"
+ even
+ArtNem_FBZOutdoors:
+ binclude "Levels/FBZ/Nemesis Art/Outdoors.bin"
+ even
+ArtNem_FBZMisc2:
+ binclude "Levels/FBZ/Nemesis Art/Misc Art 2.bin"
+ even
+ArtNem_MHZMisc:
+ binclude "Levels/MHZ/Nemesis Art/Misc Art.bin"
+ even
+ArtNem_SOZMisc:
+ binclude "Levels/SOZ/Nemesis Art/Misc Art.bin"
+ even
+ArtNem_SOZTile:
+ binclude "Levels/SOZ/Nemesis Art/Tile.bin"
+ even
+ArtNem_SOZ2Extra:
+ binclude "Levels/SOZ/Nemesis Art/Act 2 Extra Art.bin"
+ even
+ArtNem_LRZMisc:
+ binclude "Levels/LRZ/Nemesis Art/Misc Art.bin"
+ even
+ArtNem_LRZSpikes:
+ binclude "Levels/LRZ/Nemesis Art/Spike Crush.bin"
+ even
+ArtNem_LRZBigSpike:
+ binclude "Levels/LRZ/Nemesis Art/Big Spike Ball.bin"
+ even
+ArtNem_LRZ2Misc:
+ binclude "Levels/LRZ/Nemesis Art/Act 2 Misc Art.bin"
+ even
+ArtNem_LRZ2Drum:
+ binclude "Levels/LRZ/Nemesis Art/Act 2 Spinning Drum.bin"
+ even
+ArtNem_SSZMisc:
+ binclude "Levels/SSZ/Nemesis Art/Misc.bin"
+ even
+ArtKosM_SSZSpiralRamp:
+ binclude "Levels/SSZ/KosinskiM Art/Spiral Ramp.bin"
+ even
+ArtNem_DEZMisc:
+ binclude "Levels/DEZ/Nemesis Art/Misc Art.bin"
+ even
+ArtNem_DEZMiniboss:
+ binclude "Levels/DEZ/Nemesis Art/Miniboss.bin"
+ even
+ArtNem_DEZ2Extra:
+ binclude "Levels/DEZ/Nemesis Art/Act 2 Extra Art.bin"
+ even
+ArtNem_PachinkoMain:
+ binclude "Levels/Pachinko/Nemesis Art/Main.bin"
+ even
+ArtKos_PachinkoBG1:
+ binclude "Levels/Pachinko/Kosinski Art/Animated BG 1.bin"
+ even
+ArtKos_PachinkoBG2:
+ binclude "Levels/Pachinko/Kosinski Art/Animated BG 2.bin"
+ even
+PalKos_Pachinko:
+ binclude "Levels/Pachinko/Palettes/Compressed Pal.bin"
+ even
+ArtNem_SlotsBlocks:
+ binclude "Levels/Slots/Nemesis Art/Blocks.bin"
+ even
+ArtUnc_SlotOptions:
+ binclude "Levels/Slots/Uncompressed Art/Options.bin"
+ even
+ArtKosM_SSZTeleport:
+ binclude "Levels/SSZ/KosinskiM Art/Teleporter Beam.bin"
+ even
+ArtNem_ICZTeleport:
+ binclude "Levels/ICZ/Nemesis Art/Teleporter Beam.bin"
+ even
+ArtKosM_MHZEndBossPillar:
+ binclude "Levels/MHZ/KosinskiM Art/End Boss Pillar.bin"
+ even
+ArtKosM_MHZShipPropeller:
+ binclude "Levels/MHZ/KosinskiM Art/Ship Propeller.bin"
+ even
+ArtKosM_LRZ2DeathEggBG:
+ binclude "Levels/LRZ/KosinskiM Art/BG Death Egg.bin"
+ even
+ArtUnc_DEZFBLaser:
+ binclude "Levels/DEZ/Uncompressed Art/Final Boss Laser.bin"
+ even
+ArtKos_SaveScreen:
+ binclude "General/Save Menu/Kosinski Art/SK Extra.bin"
+ even
+ArtKosM_SSResultsSUPER:
+ binclude "General/Special Stage/KosinskiM Art/SSResults SUPER.bin"
+ even
+ArtKosM_SSResultsSUPERk:
+ binclude "General/Special Stage/KosinskiM Art/SSResults SUPER (K).bin"
+ even
+ArtKosM_SSResultsHYPER:
+ binclude "General/Special Stage/KosinskiM Art/SSResults HYPER.bin"
+ even
+ArtKosM_SSResultsHYPERk:
+ binclude "General/Special Stage/KosinskiM Art/SSResults HYPER (K).bin"
+ even
+ArtKosM_ResultsSONIC:
+ binclude "General/Sprites/Results/Results SONIC.bin"
+ even
+ArtKosM_SSResults:
+ dc.w $12A0
+ArtKos_SSResultsGeneral:
+ binclude "General/Special Stage/Kosinski Art/SSResults General.bin"
+ArtKos_SSResultsTKIcons:
+ binclude "General/Special Stage/Kosinski Art/SSResults Tails Knuckles Icons.bin"
+ even
+ArtKosM_TitleCardSKZone:
+ binclude "General/Sprites/Title Card/Title Card SK Zone.bin"
+ even
+ArtKosM_TitleCardS3KZone:
+ binclude "General/Sprites/Title Card/Title Card S3K Zone.bin"
+ even
+ArtKosM_MHZTitleCard:
+ binclude "Levels/MHZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_SOZTitleCard:
+ binclude "Levels/SOZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_LRZTitleCard:
+ binclude "Levels/LRZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_SSZTitleCard:
+ binclude "Levels/SSZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_DEZTitleCard:
+ binclude "Levels/DEZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_DDZTitleCard:
+ binclude "Levels/DDZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKosM_HPZTitleCard:
+ binclude "Levels/HPZ/KosinskiM Art/Title Card.bin"
+ even
+ArtKos_SaveScreenSKZone:
+ binclude "General/Save Menu/Kosinski Art/SK Zone Art.bin"
+ even
+ArtKos_SaveScreenPortrait:
+ binclude "General/Save Menu/Kosinski Art/Portraits.bin"
+ even
DemoDat_MHZ: binclude "Levels/MHZ/Demodata/1.bin"
- even
-
+ even
DemoDat_FBZ: binclude "Levels/FBZ/Demodata/1.bin"
- even
-
+ even
DemoDat_SOZ: binclude "Levels/SOZ/Demodata/1.bin"
- even
-
-DemoDat_SpecialStage: binclude "General/Special Stage/Demodata/1.bin"
- even
-ArtKosM_EggRoboHead:dc.w $400
- even
-ArtKos_EggRoboHead: binclude "General/Sprites/Robotnik/Egg Robo Head.bin"
- even
-ArtNem_EggRoboRun: binclude "General/Sprites/Robotnik/Egg Robo Run.bin"
- even
-ArtNem_EggRoboStand: binclude "General/Sprites/Robotnik/Egg Robo Stand.bin"
- even
-ArtKosM_KnuxFinalBossCrane: binclude "General/Sprites/Robotnik/Robotnik Ship Crane.bin"
- even
-ArtKosM_IslandLiftGfx: binclude "General/Ending/KosinskiM Art/Island Lift Animated Tiles.bin"
- even
-ArtKosM_EndingAnimals: binclude "General/Ending/KosinskiM Art/Pelican and Dolphin.bin"
- even
-ArtKosM_EggRoboSKEnding: binclude "General/Ending/KosinskiM Art/Egg Robo.bin"
- even
-ArtKosM_NormalSonicEndPose: binclude "General/Ending/KosinskiM Art/Normal Sonic Ending Pose.bin"
- even
-ArtKosM_SuperSonicEndPose: binclude "General/Ending/KosinskiM Art/Super Sonic Ending Pose.bin"
- even
-ArtKosM_SonicPlaneEnding: binclude "General/Ending/KosinskiM Art/Sonic Plane Ending.bin"
- even
-ArtKosM_RobotnikSmug: dc.w $7A0
-ArtKos_RobotnikSmug: binclude "General/Ending/Kosinski Art/Robotnik Standing Smug.bin"
- even
-ArtKosM_SonicPlane: binclude "General/Ending/KosinskiM Art/Sonic Plane.bin"
- even
-ArtKosM_KnuxEnding: binclude "General/Sprites/Knuckles/Cutscene/Knuckles Ending Cutscene.bin"
- even
-ArtKosM_SKPoseBanner: dc.w $900
-ArtKos_SKPoseBanner: binclude "General/Ending/Kosinski Art/Sonic Knuckles Pose Banner.bin"
- even
-ArtKosM_S3PoseBanner: binclude "General/Ending/KosinskiM Art/Sonic 3 Pose Banner.bin"
- even
-ArtUnc_KnuxIntroLay: binclude "General/Sprites/Knuckles/Cutscene/Intro Laying.bin"
- even
-ArtKosM_KnuxIntroBomb: binclude "General/Sprites/Knuckles/Cutscene/Knuckles Intro Bomb.bin"
- even
-ArtKosM_FBZExitHall: binclude "Levels/FBZ/KosinskiM Art/Exit Hall.bin"
- even
-ArtKosM_FBZMiniboss: binclude "Levels/FBZ/KosinskiM Art/Miniboss.bin"
- even
-ArtKosM_FBZCloud: binclude "Levels/FBZ/KosinskiM Art/Cloud.bin"
- even
-ArtKosM_FBZBossPillar: binclude "Levels/FBZ/KosinskiM Art/Before Boss Pillar.bin"
- even
-ArtKosM_FBZExitDoor: binclude "Levels/FBZ/KosinskiM Art/Exit Door.bin"
- even
-ArtNem_FBZEggCapsule: binclude "Levels/FBZ/Nemesis Art/Egg Capsule.bin"
- even
-
-ArtKosM_FBZButton: binclude "Levels/FBZ/KosinskiM Art/Button.bin"
- even
-ArtKosM_Madmole: binclude "General/Sprites/Madmole/Madmole.bin"
- even
-
-ArtKosM_Mushmeanie: binclude "General/Sprites/Mushmeanie/Mushmeanie.bin"
- even
-
-ArtKosM_Dragonfly: binclude "General/Sprites/Dragonfly/Dragonfly.bin"
- even
-
-ArtKosM_CluckoidArrow: binclude "General/Sprites/Cluckoid/Cluckoid Arrow.bin"
- even
-ArtUnc_Butterdroid: binclude "General/Sprites/Butterdroid/Butterdroid.bin"
- even
-ArtUnc_Cluckoid: binclude "General/Sprites/Cluckoid/Cluckoid.bin"
- even
-ArtKosM_MHZMiniboss: binclude "Levels/MHZ/KosinskiM Art/Miniboss.bin"
- even
-ArtKosM_MHZMinibossLog: binclude "Levels/MHZ/KosinskiM Art/Miniboss Log.bin"
- even
-ArtKosM_MHZEndBossSpikes: binclude "Levels/MHZ/KosinskiM Art/End Boss Spikes.bin"
- even
-ArtKosM_MHZKnuxPeer: binclude "General/Sprites/Knuckles/Cutscene/Knuckles Peering.bin"
- even
-ArtUnc_MHZKnuxPress: binclude "General/Sprites/Knuckles/Cutscene/MHZ2 Press.bin"
- even
-ArtKosM_MHZKnuxSwitch: binclude "General/Sprites/Knuckles/Cutscene/Knuckles MHZ Switch.bin"
- even
-ArtKosM_MHZEndBoss: binclude "Levels/MHZ/KosinskiM Art/End Boss.bin"
- even
-ArtKosM_Skorp:binclude "General/Sprites/Skorp/Skorp.bin"
- even
-ArtKosM_Sandworm:binclude "General/Sprites/Sandworm/Sandworm.bin"
- even
-ArtKosM_Rockn:binclude "General/Sprites/Rockn/Rock'n.bin"
- even
-ArtUnc_SOZGhosts: binclude "General/Sprites/SOZ Ghosts/SOZ Ghosts.bin"
- even
-ArtKosM_SOZMiniboss: binclude "Levels/SOZ/KosinskiM Art/Miniboss.bin"
- even
-ArtKosM_SOZSand: binclude "Levels/SOZ/KosinskiM Art/Sand Particles.bin"
- even
-ArtKosM_SOZEndBoss: binclude "Levels/SOZ/KosinskiM Art/End Boss.bin"
- even
-ArtUnc_Fireworm: binclude "General/Sprites/Fireworm/Fireworm.bin"
- even
-ArtKosM_FirewormSegments:binclude "General/Sprites/Fireworm/Fireworm Segments.bin"
- even
-ArtKosM_Iwamodoki:binclude "General/Sprites/Iwamodoki/Iwamodoki.bin"
- even
-ArtKosM_Toxomister:binclude "General/Sprites/Toxomister/Toxomister.bin"
- even
-ArtKosM_LRZRockCrusher: binclude "Levels/LRZ/KosinskiM Art/Rock Crusher.bin"
- even
-ArtKosM_LRZMiniboss: binclude "Levels/LRZ/KosinskiM Art/Miniboss.bin"
- even
-ArtKosM_LRZ3Autoscroll: binclude "Levels/LRZ/KosinskiM Art/Autoscroll.bin"
- even
-ArtKosM_LRZ3DeathEggFlash: binclude "Levels/LRZ/KosinskiM Art/Death Egg Flash.bin"
- even
-ArtKosM_LRZ3PlatformDebris: binclude "Levels/LRZ/KosinskiM Art/Platform Debris.bin"
- even
-ArtKosM_LRZEndBoss: binclude "Levels/LRZ/KosinskiM Art/End Boss.bin"
- even
-ArtKosM_LRZKnuxBoulder: binclude "Levels/LRZ/KosinskiM Art/Knuckles Boulder.bin"
- even
-ArtUnc_HPZKnucklesGrab: binclude "General/Sprites/Knuckles/Cutscene/HPZ Emerald Grab.bin"
- even
-ArtKosM_HPZKnuxDizzy: binclude "Levels/HPZ/KosinskiM Art/Knuckles Dizzy Stars.bin"
- even
-ArtNem_HPZEmeraldMisc: binclude "Levels/HPZ/Nemesis Art/Emerald Misc Art.bin"
- even
-ArtNem_HPZGrayEmerald: binclude "Levels/HPZ/Nemesis Art/Gray Emerald.bin"
- even
-ArtKosM_Teleporter:binclude "General/Sprites/Teleporter/Teleporter.bin"
- even
-
-ArtKosM_HPZSmallEmeralds: binclude "Levels/HPZ/KosinskiM Art/Special Stage Emeralds.bin"
- even
-ArtUnc_MechaSonic: binclude "General/Sprites/Mecha Sonic/Mecha Sonic.bin"
- even
-ArtKosM_EggRoboBadnik:binclude "General/Sprites/Egg Robo Badnik/Egg Robo Badnik.bin"
- even
-
-ArtScaled_EggRoboFly: binclude "General/Sprites/Robotnik/Egg Robo Fly Scaled.bin"
- even
-ArtKosM_MechaSonicHead: binclude "General/Sprites/Mecha Sonic/Mecha Sonic Head.bin"
- even
-ArtUnc_SSZDeathEggCloud: binclude "General/Sprites/SSZ Death Egg Cloud/SSZ Death Egg Cloud.bin"
- even
-ArtKosM_SSZDeathEggSmall: binclude "Levels/SSZ/KosinskiM Art/Death Egg Small.bin"
- even
-ArtUnc_SSZKnucklesTired: binclude "General/Sprites/Knuckles/Cutscene/SSZ Tired.bin"
- even
-ArtKosM_SSZGHZMisc: binclude "Levels/SSZ/KosinskiM Art/GHZ Ball and Chain.bin"
- even
-ArtKosM_SSZMTZOrbs: binclude "Levels/SSZ/KosinskiM Art/MTZ Orbs.bin"
- even
-ArtKosM_MechaSonicExtra: binclude "General/Sprites/Mecha Sonic/Mecha Sonic Extra Art.bin"
- even
-ArtKosM_HPZMasterEmerald: dc.w $880
- even
-ArtKos_HPZMasterEmerald: binclude "Levels/HPZ/Kosinski Art/Master Emerald.bin"
- even
-ArtKosM_Spikebonker:binclude "General/Sprites/Spikebonker/Spikebonker.bin"
- even
-ArtKosM_Chainspike:binclude "General/Sprites/Chainspike/Chainspike.bin"
- even
-ArtKosM_DEZMinibossMisc: binclude "Levels/DEZ/KosinskiM Art/Miniboss Misc Art.bin"
- even
-ArtKosM_DEZEndBoss: binclude "Levels/DEZ/KosinskiM Art/End Boss.bin"
- even
-ArtKosM_DEZFinalBossMisc: binclude "Levels/DEZ/KosinskiM Art/Final Boss Misc Art.bin"
- even
-ArtKosM_MasterEmerald: binclude "General/Sprites/Master Emerald/Master Emerald.bin"
- even
-ArtKosM_DEZFinalBossDebris: binclude "Levels/DEZ/KosinskiM Art/Final Boss Debris.bin"
- even
-ArtKosM_DDZMisc: binclude "Levels/DDZ/KosinskiM Art/Misc Art.bin"
- even
+ even
+DemoDat_SpecialStage:
+ binclude "General/Special Stage/Demodata/1.bin"
+ even
+ArtKosM_EggRoboHead:
+ binclude "General/Sprites/Robotnik/Egg Robo Head.bin"
+ even
+ArtNem_EggRoboRun:
+ binclude "General/Sprites/Robotnik/Egg Robo Run.bin"
+ even
+ArtNem_EggRoboStand:
+ binclude "General/Sprites/Robotnik/Egg Robo Stand.bin"
+ even
+ArtKosM_KnuxFinalBossCrane:
+ binclude "General/Sprites/Robotnik/Robotnik Ship Crane.bin"
+ even
+ArtKosM_IslandLiftGfx:
+ binclude "General/Ending/KosinskiM Art/Island Lift Animated Tiles.bin"
+ even
+ArtKosM_EndingAnimals:
+ binclude "General/Ending/KosinskiM Art/Pelican and Dolphin.bin"
+ even
+ArtKosM_EggRoboSKEnding:
+ binclude "General/Ending/KosinskiM Art/Egg Robo.bin"
+ even
+ArtKosM_SonicEndPose:
+ binclude "General/Ending/KosinskiM Art/Sonic Ending Pose.bin"
+ even
+ArtKosM_SuperSonicEndPose:
+ binclude "General/Ending/KosinskiM Art/Super Sonic Ending Pose.bin"
+ even
+ArtKosM_SonicPlaneEnding:
+ binclude "General/Ending/KosinskiM Art/Sonic Plane Ending.bin"
+ even
+ArtKosM_RobotnikSmug:
+ binclude "General/Ending/KosinskiM Art/Robotnik Standing Smug.bin"
+ even
+ArtKosM_SonicPlane:
+ binclude "General/Ending/KosinskiM Art/Sonic Plane.bin"
+ even
+ArtKosM_KnuxEnding:
+ binclude "General/Sprites/Knuckles/Cutscene/Knuckles Ending Cutscene.bin"
+ even
+ArtKosM_SKPoseBanner:
+ binclude "General/Ending/KosinskiM Art/Sonic Knuckles Pose Banner.bin"
+ even
+ArtKosM_S3PoseBanner:
+ binclude "General/Ending/KosinskiM Art/Sonic 3 Pose Banner.bin"
+ even
+ArtUnc_KnuxIntroLay:
+ binclude "General/Sprites/Knuckles/Cutscene/Intro Laying.bin"
+ even
+ArtKosM_KnuxIntroBomb:
+ binclude "General/Sprites/Knuckles/Cutscene/Knuckles Intro Bomb.bin"
+ even
+ArtKosM_FBZExitHall:
+ binclude "Levels/FBZ/KosinskiM Art/Exit Hall.bin"
+ even
+ArtKosM_FBZMiniboss:
+ binclude "Levels/FBZ/KosinskiM Art/Miniboss.bin"
+ even
+ArtKosM_FBZCloud:
+ binclude "Levels/FBZ/KosinskiM Art/Cloud.bin"
+ even
+ArtKosM_FBZBossPillar:
+ binclude "Levels/FBZ/KosinskiM Art/Before Boss Pillar.bin"
+ even
+ArtKosM_FBZExitDoor:
+ binclude "Levels/FBZ/KosinskiM Art/Exit Door.bin"
+ even
+ArtNem_FBZEggCapsule:
+ binclude "Levels/FBZ/Nemesis Art/Egg Capsule.bin"
+ even
+ArtKosM_FBZButton:
+ binclude "Levels/FBZ/KosinskiM Art/Button.bin"
+ even
+ArtKosM_Madmole:
+ binclude "General/Sprites/Madmole/Madmole.bin"
+ even
+ArtKosM_Mushmeanie:
+ binclude "General/Sprites/Mushmeanie/Mushmeanie.bin"
+ even
+ArtKosM_Dragonfly:
+ binclude "General/Sprites/Dragonfly/Dragonfly.bin"
+ even
+ArtKosM_CluckoidArrow:
+ binclude "General/Sprites/Cluckoid/Cluckoid Arrow.bin"
+ even
+ArtUnc_Butterdroid:
+ binclude "General/Sprites/Butterdroid/Butterdroid.bin"
+ even
+ArtUnc_Cluckoid:
+ binclude "General/Sprites/Cluckoid/Cluckoid.bin"
+ even
+ArtKosM_MHZMiniboss:
+ binclude "Levels/MHZ/KosinskiM Art/Miniboss.bin"
+ even
+ArtKosM_MHZMinibossLog:
+ binclude "Levels/MHZ/KosinskiM Art/Miniboss Log.bin"
+ even
+ArtKosM_MHZEndBossSpikes:
+ binclude "Levels/MHZ/KosinskiM Art/End Boss Spikes.bin"
+ even
+ArtKosM_MHZKnuxPeer:
+ binclude "General/Sprites/Knuckles/Cutscene/Knuckles Peering.bin"
+ even
+ArtUnc_MHZKnuxPress:
+ binclude "General/Sprites/Knuckles/Cutscene/MHZ2 Press.bin"
+ even
+ArtKosM_MHZKnuxSwitch:
+ binclude "General/Sprites/Knuckles/Cutscene/Knuckles MHZ Switch.bin"
+ even
+ArtKosM_MHZEndBoss:
+ binclude "Levels/MHZ/KosinskiM Art/End Boss.bin"
+ even
+ArtKosM_Skorp:
+ binclude "General/Sprites/Skorp/Skorp.bin"
+ even
+ArtKosM_Sandworm:
+ binclude "General/Sprites/Sandworm/Sandworm.bin"
+ even
+ArtKosM_Rockn:
+ binclude "General/Sprites/Rockn/Rock'n.bin"
+ even
+ArtUnc_SOZGhosts:
+ binclude "General/Sprites/SOZ Ghosts/SOZ Ghosts.bin"
+ even
+ArtKosM_SOZMiniboss:
+ binclude "Levels/SOZ/KosinskiM Art/Miniboss.bin"
+ even
+ArtKosM_SOZSand:
+ binclude "Levels/SOZ/KosinskiM Art/Sand Particles.bin"
+ even
+ArtKosM_SOZEndBoss:
+ binclude "Levels/SOZ/KosinskiM Art/End Boss.bin"
+ even
+ArtUnc_Fireworm:
+ binclude "General/Sprites/Fireworm/Fireworm.bin"
+ even
+ArtKosM_FirewormSegments:
+ binclude "General/Sprites/Fireworm/Fireworm Segments.bin"
+ even
+ArtKosM_Iwamodoki:
+ binclude "General/Sprites/Iwamodoki/Iwamodoki.bin"
+ even
+ArtKosM_Toxomister:
+ binclude "General/Sprites/Toxomister/Toxomister.bin"
+ even
+ArtKosM_LRZRockCrusher:
+ binclude "Levels/LRZ/KosinskiM Art/Rock Crusher.bin"
+ even
+ArtKosM_LRZMiniboss:
+ binclude "Levels/LRZ/KosinskiM Art/Miniboss.bin"
+ even
+ArtKosM_LRZ3Autoscroll:
+ binclude "Levels/LRZ/KosinskiM Art/Autoscroll.bin"
+ even
+ArtKosM_LRZ3DeathEggFlash:
+ binclude "Levels/LRZ/KosinskiM Art/Death Egg Flash.bin"
+ even
+ArtKosM_LRZ3PlatformDebris:
+ binclude "Levels/LRZ/KosinskiM Art/Platform Debris.bin"
+ even
+ArtKosM_LRZEndBoss:
+ binclude "Levels/LRZ/KosinskiM Art/End Boss.bin"
+ even
+ArtKosM_LRZKnuxBoulder:
+ binclude "Levels/LRZ/KosinskiM Art/Knuckles Boulder.bin"
+ even
+ArtUnc_HPZKnucklesGrab:
+ binclude "General/Sprites/Knuckles/Cutscene/HPZ Emerald Grab.bin"
+ even
+ArtKosM_HPZKnuxDizzy:
+ binclude "Levels/HPZ/KosinskiM Art/Knuckles Dizzy Stars.bin"
+ even
+ArtNem_HPZEmeraldMisc:
+ binclude "Levels/HPZ/Nemesis Art/Emerald Misc Art.bin"
+ even
+ArtNem_HPZGrayEmerald:
+ binclude "Levels/HPZ/Nemesis Art/Gray Emerald.bin"
+ even
+ArtKosM_Teleporter:
+ binclude "General/Sprites/Teleporter/Teleporter.bin"
+ even
+ArtKosM_HPZSmallEmeralds:
+ binclude "Levels/HPZ/KosinskiM Art/Special Stage Emeralds.bin"
+ even
+ArtUnc_MechaSonic:
+ binclude "General/Sprites/Mecha Sonic/Mecha Sonic.bin"
+ even
+ArtKosM_EggRoboBadnik:
+ binclude "General/Sprites/Egg Robo Badnik/Egg Robo Badnik.bin"
+ even
+ArtScaled_EggRoboFly:
+ binclude "General/Sprites/Robotnik/Egg Robo Fly Scaled.bin"
+ even
+ArtKosM_MechaSonicHead:
+ binclude "General/Sprites/Mecha Sonic/Mecha Sonic Head.bin"
+ even
+ArtUnc_SSZDeathEggCloud:
+ binclude "General/Sprites/SSZ Death Egg Cloud/SSZ Death Egg Cloud.bin"
+ even
+ArtKosM_SSZDeathEggSmall:
+ binclude "Levels/SSZ/KosinskiM Art/Death Egg Small.bin"
+ even
+ArtUnc_SSZKnucklesTired:
+ binclude "General/Sprites/Knuckles/Cutscene/SSZ Tired.bin"
+ even
+ArtKosM_SSZGHZMisc:
+ binclude "Levels/SSZ/KosinskiM Art/GHZ Ball and Chain.bin"
+ even
+ArtKosM_SSZMTZOrbs:
+ binclude "Levels/SSZ/KosinskiM Art/MTZ Orbs.bin"
+ even
+ArtKosM_MechaSonicExtra:
+ binclude "General/Sprites/Mecha Sonic/Mecha Sonic Extra Art.bin"
+ even
+ArtKosM_EndingMasterEmerald:
+ binclude "General/Ending/KosinskiM Art/Master Emerald.bin"
+ even
+ArtKosM_Spikebonker:
+ binclude "General/Sprites/Spikebonker/Spikebonker.bin"
+ even
+ArtKosM_Chainspike:
+ binclude "General/Sprites/Chainspike/Chainspike.bin"
+ even
+ArtKosM_DEZMinibossMisc:
+ binclude "Levels/DEZ/KosinskiM Art/Miniboss Misc Art.bin"
+ even
+ArtKosM_DEZEndBoss:
+ binclude "Levels/DEZ/KosinskiM Art/End Boss.bin"
+ even
+ArtKosM_DEZFinalBossMisc:
+ binclude "Levels/DEZ/KosinskiM Art/Final Boss Misc Art.bin"
+ even
+ArtKosM_BossMasterEmerald:
+ binclude "General/Sprites/Master Emerald/Master Emerald.bin"
+ even
+ArtKosM_DEZFinalBossDebris:
+ binclude "Levels/DEZ/KosinskiM Art/Final Boss Debris.bin"
+ even
+ArtKosM_DDZMisc:
+ binclude "Levels/DDZ/KosinskiM Art/Misc Art.bin"
+ even
AngleLookup_1: dc.b 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5
dc.b 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, $A, $A
dc.b $A, $A, $A, $A, $B, $B, $B, $B, $B, $B, $B, $B, $B, $C, $C, $C, $C, $C, $C, $C
@@ -202834,349 +202784,423 @@ AngleLookup_3: dc.b 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, $A,
dc.b $11, $12, $13, $13, $14, $15, $15, $16, $17, $18, $18, $19, $19, $1A, $1B, $1B, $1C, $1C, $1D, $1D
dc.b $1E, $1E, $1F, $1F, $20, $20, $21, $21, $21, $22, $22, $22, $22, $23, $23, $23, $23, $23, $24, $24
dc.b $24, $24, $24, $24
- even
-Map_Spikebonker:include "General/Sprites/Spikebonker/Map - Spikebonker.asm"
-
-Map_Chainspike: include "General/Sprites/Chainspike/Map - Chainspike.asm"
-
-Map_EggRobo: include "General/Sprites/Robotnik/Map - Eggrobo.asm"
-
-Map_DEZMiniboss: include "Levels/DEZ/Misc Object Data/Map - Miniboss.asm"
-
-Map_MechaSonic: include "General/Sprites/Mecha Sonic/Map - Mecha Sonic.asm"
-
-Map_MechaSonicExtra: include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Extra.asm"
-
-DPLC_MechaSonic: include "General/Sprites/Mecha Sonic/DPLC - Mecha Sonic.asm"
-
-Map_SpriteMask: include "General/Sprites/Level Misc/Map - Sprite Mask.asm"
-
-Map_DEZEndBoss: include "Levels/DEZ/Misc Object Data/Map - End Boss.asm"
-
-Map_MHZEndBoss: include "Levels/MHZ/Misc Object Data/Map - End Boss.asm"
-
-Map_MHZMiniboss: include "Levels/MHZ/Misc Object Data/Map - Miniboss.asm"
-
-Map_MHZMinibossTree: include "Levels/MHZ/Misc Object Data/Map - Miniboss Tree.asm"
-
-Map_MHZMinibossLog: include "Levels/MHZ/Misc Object Data/Map - Miniboss Log.asm"
-
-Map_EggRoboStand: include "General/Sprites/Robotnik/Map - Egg Robo Stand.asm"
-
-Map_EggRoboRun: include "General/Sprites/Robotnik/Map - Egg Robo Run.asm"
-
-Map_Skorp: include "General/Sprites/Skorp/Map - Skorp.asm"
-
-Map_Sandworm: include "General/Sprites/Sandworm/Map - Sandworm.asm"
-
-Map_LRZRockCrusher: include "Levels/LRZ/Misc Object Data/Map - Rock Crusher.asm"
-
-Map_SSZMTZOrbs: include "Levels/SSZ/Misc Object Data/Map - MTZ Orbs.asm"
-
-Map_SSZGHZMisc: include "Levels/SSZ/Misc Object Data/Map - GHZ Misc.asm"
-
-Map_LRZMiniboss: include "Levels/LRZ/Misc Object Data/Map - Miniboss.asm"
-
-Map_FBZEggCapsule: include "Levels/FBZ/Misc Object Data/Map - Egg Capsule.asm"
-
-Map_SOZGhosts: include "General/Sprites/SOZ Ghosts/Map - SOZ Ghosts.asm"
-
-Map_LRZEndBoss: include "Levels/LRZ/Misc Object Data/Map - End Boss.asm"
-
-Map_LRZ3Platform: include "Levels/LRZ/Misc Object Data/Map - Act 3 Platform.asm"
-
-Map_LRZ3Autoscroll: include "Levels/LRZ/Misc Object Data/Map - Act 3 Autoscroll.asm"
-
-Map_LRZ3DeathEggFlash: include "Levels/LRZ/Misc Object Data/Map - Act 3 Death Egg Flash.asm"
-
-Map_LRZ3Debris: include "Levels/LRZ/Misc Object Data/Map - Act 3 Platform Debris.asm"
-
-Map_DEZFinalBossMisc: include "Levels/DEZ/Misc Object Data/Map - Final Boss Misc.asm"
-
-Map_BossMasterEmerald: include "Levels/DEZ/Misc Object Data/Map - Final Boss Master Emerald.asm"
-
-Map_DEZFinalBossDebris: include "Levels/DEZ/Misc Object Data/Map - Final Boss Debris.asm"
- even
-ArtKosM_StarPost_Stars1:binclude "General/Sprites/Starpost/Starpost Stars 1.bin"
- even
-ArtKosM_StarPostStars2:binclude "General/Sprites/Starpost/Starpost Stars 2.bin"
- even
-ArtKosM_StarPostStars3:binclude "General/Sprites/Starpost/Starpost Stars 3.bin"
- even
-MapEni_BlueSphereTitleFG:binclude "General/Blue Sphere/Enigma Map/Title FG.bin"
- even
-ArtKos_BlueSphereChar: binclude "General/Blue Sphere/Kosinski Art/Characters.bin"
- even
-Map_BlueSphereCharSprite: include "General/Blue Sphere/Map - Character Sprites.asm"
- even
-ArtKos_BlueSphereCharSprite: binclude "General/Blue Sphere/Kosinski Art/Character Sprites.bin"
- even
-ArtKos_BlueSphereNormalText: binclude "General/Blue Sphere/Kosinski Art/Normal Text.bin"
- even
-MapEni_BlueSphereTitleBG: binclude "General/Blue Sphere/Enigma Map/Title BG.bin"
- even
-
-ArtNem_BlueSphereSKLogo: binclude "General/Blue Sphere/Nemesis Art/SK Logo.bin"
- even
-
-ArtNem_BlueSphereTails: binclude "General/Blue Sphere/Nemesis Art/Tails Pose.bin"
- even
-ArtNem_MilesLifeIcon: binclude "General/Sprites/HUD Icon/Miles Life Icon.bin"
- even
-ArtUnc_Invincibility: binclude "General/Sprites/Shields/Invincibility.bin"
- even
-
-ArtUnc_DashDust:binclude "General/Sprites/Dash Dust/Dash Dust.bin"
- even
-
-ArtUnc_SuperSonic_Stars:binclude "General/Sprites/Shields/Super Sonic Stars.bin"
- even
-
-ArtUnc_InstaShield:binclude "General/Sprites/Shields/Insta-Shield.bin"
- even
-ArtUnc_FireShield:binclude "General/Sprites/Shields/Fire Shield.bin"
- even
-ArtUnc_LightningShield:binclude "General/Sprites/Shields/Lightning Shield.bin"
- even
-
-ArtUnc_Obj_Lightning_Shield_Sparks:
- binclude "General/Sprites/Shields/Sparks.bin"
-ArtUnc_Obj_Lightning_Shield_Sparks_end
- even
-
-ArtUnc_BubbleShield:binclude "General/Sprites/Shields/Bubble Shield.bin"
- even
-ArtNem_GrayButton:binclude "General/Sprites/Buttons/Gray Button.bin"
- even
-
-ArtNem_DiagonalSpring: binclude "General/Sprites/Level Misc/Diagonal Spring.bin"
- even
-
-ArtNem_SonicLifeIcon:binclude "General/Sprites/HUD Icon/Sonic life icon.bin"
- even
-
-ArtNem_KnucklesLifeIcon:binclude "General/Sprites/HUD Icon/Knuckles life icon.bin"
- even
-ArtNem_Monitors:binclude "General/Sprites/Monitors/Monitors.bin"
- even
-
-ArtNem_S2Signpost: binclude "General/Sprites/S2Menu/Signpost.bin"
- even
-ArtNem_Bubbles: binclude "General/Sprites/Bubbles/Bubbles.bin"
- even
-
-ArtNem_GameOver: binclude "General/Sprites/Game Over/GameOver.bin"
- even
-ArtNem_Explosion:binclude "General/Sprites/Enemy Misc/Explosion.bin"
- even
-ArtNem_ContinueTails:binclude "General/Sprites/S2Menu/Tails Continue Sprites.bin"
- even
-ArtNem_MiniSonic:binclude "General/Sprites/S2Menu/Sonic Continue Icon.bin"
- even
-
-ArtNem_SpikesSprings: binclude "General/Sprites/Level Misc/SpikesSprings.bin"
- even
-
-ArtNem_RingHUDText: binclude "General/Sprites/Ring/RingHUDText.bin"
- even
-
-ArtNem_EnemyPtsStarPost:binclude "General/Sprites/Enemy Misc/EnemyPtsStarpost.bin"
- even
-
-ArtNem_Seal: binclude "General/Sprites/Animals/Seal.bin"
- even
-ArtNem_Pig: binclude "General/Sprites/Animals/Pig.bin"
- even
-
-ArtNem_BlueFlicky: binclude "General/Sprites/Animals/Blue Flicky.bin"
- even
-
-ArtNem_Chicken: binclude "General/Sprites/Animals/Chicken.bin"
- even
-
-ArtNem_Penguin: binclude "General/Sprites/Animals/Penguin.bin"
- even
-ArtNem_Squirrel: binclude "General/Sprites/Animals/Squirrel.bin"
- even
-
-ArtNem_Rabbit: binclude "General/Sprites/Animals/Rabbit.bin"
- even
-
-ArtNem_BonusStage: binclude "General/Sprites/Bonus/Bonus Stage.bin"
- even
+ even
+Map_Spikebonker:
+ include "General/Sprites/Spikebonker/Map - Spikebonker.asm"
+Map_Chainspike:
+ include "General/Sprites/Chainspike/Map - Chainspike.asm"
+Map_EggRobo:
+ include "General/Sprites/Robotnik/Map - Eggrobo.asm"
+Map_DEZMiniboss:
+ include "Levels/DEZ/Misc Object Data/Map - Miniboss.asm"
+Map_MechaSonic:
+ include "General/Sprites/Mecha Sonic/Map - Mecha Sonic.asm"
+Map_MechaSonicExtra:
+ include "General/Sprites/Mecha Sonic/Map - Mecha Sonic Extra.asm"
+DPLC_MechaSonic:
+ include "General/Sprites/Mecha Sonic/DPLC - Mecha Sonic.asm"
+Map_SpriteMask:
+ include "General/Sprites/Level Misc/Map - Sprite Mask.asm"
+Map_DEZEndBoss:
+ include "Levels/DEZ/Misc Object Data/Map - End Boss.asm"
+Map_MHZEndBoss:
+ include "Levels/MHZ/Misc Object Data/Map - End Boss.asm"
+Map_MHZMiniboss:
+ include "Levels/MHZ/Misc Object Data/Map - Miniboss.asm"
+Map_MHZMinibossTree:
+ include "Levels/MHZ/Misc Object Data/Map - Miniboss Tree.asm"
+Map_MHZMinibossLog:
+ include "Levels/MHZ/Misc Object Data/Map - Miniboss Log.asm"
+Map_EggRoboStand:
+ include "General/Sprites/Robotnik/Map - Egg Robo Stand.asm"
+Map_EggRoboRun:
+ include "General/Sprites/Robotnik/Map - Egg Robo Run.asm"
+Map_Skorp:
+ include "General/Sprites/Skorp/Map - Skorp.asm"
+Map_Sandworm:
+ include "General/Sprites/Sandworm/Map - Sandworm.asm"
+Map_LRZRockCrusher:
+ include "Levels/LRZ/Misc Object Data/Map - Rock Crusher.asm"
+Map_SSZMTZOrbs:
+ include "Levels/SSZ/Misc Object Data/Map - MTZ Orbs.asm"
+Map_SSZGHZMisc:
+ include "Levels/SSZ/Misc Object Data/Map - GHZ Misc.asm"
+Map_LRZMiniboss:
+ include "Levels/LRZ/Misc Object Data/Map - Miniboss.asm"
+Map_FBZEggCapsule:
+ include "Levels/FBZ/Misc Object Data/Map - Egg Capsule.asm"
+Map_SOZGhosts:
+ include "General/Sprites/SOZ Ghosts/Map - SOZ Ghosts.asm"
+Map_LRZEndBoss:
+ include "Levels/LRZ/Misc Object Data/Map - End Boss.asm"
+Map_LRZ3Platform:
+ include "Levels/LRZ/Misc Object Data/Map - Act 3 Platform.asm"
+Map_LRZ3Autoscroll:
+ include "Levels/LRZ/Misc Object Data/Map - Act 3 Autoscroll.asm"
+Map_LRZ3DeathEggFlash:
+ include "Levels/LRZ/Misc Object Data/Map - Act 3 Death Egg Flash.asm"
+Map_LRZ3Debris:
+ include "Levels/LRZ/Misc Object Data/Map - Act 3 Platform Debris.asm"
+Map_DEZFinalBossMisc:
+ include "Levels/DEZ/Misc Object Data/Map - Final Boss Misc.asm"
+Map_BossMasterEmerald:
+ include "Levels/DEZ/Misc Object Data/Map - Final Boss Master Emerald.asm"
+Map_DEZFinalBossDebris:
+ include "Levels/DEZ/Misc Object Data/Map - Final Boss Debris.asm"
+ even
+ArtKosM_StarPost_Stars1:
+ binclude "General/Sprites/Starpost/Starpost Stars 1.bin"
+ even
+ArtKosM_StarPostStars2:
+ binclude "General/Sprites/Starpost/Starpost Stars 2.bin"
+ even
+ArtKosM_StarPostStars3:
+ binclude "General/Sprites/Starpost/Starpost Stars 3.bin"
+ even
+MapEni_BlueSphereTitleFG:
+ binclude "General/Blue Sphere/Enigma Map/Title FG.bin"
+ even
+ArtKos_BlueSphereChar:
+ binclude "General/Blue Sphere/Kosinski Art/Characters.bin"
+ even
+Map_BlueSphereCharSprite:
+ include "General/Blue Sphere/Map - Character Sprites.asm"
+ even
+ArtKos_BlueSphereCharSprite:
+ binclude "General/Blue Sphere/Kosinski Art/Character Sprites.bin"
+ even
+ArtKos_BlueSphereNormalText:
+ binclude "General/Blue Sphere/Kosinski Art/Normal Text.bin"
+ even
+MapEni_BlueSphereTitleBG:
+ binclude "General/Blue Sphere/Enigma Map/Title BG.bin"
+ even
+ArtNem_BlueSphereSKLogo:
+ binclude "General/Blue Sphere/Nemesis Art/SK Logo.bin"
+ even
+ArtNem_BlueSphereTails:
+ binclude "General/Blue Sphere/Nemesis Art/Tails Pose.bin"
+ even
+ArtNem_MilesLifeIcon:
+ binclude "General/Sprites/HUD Icon/Miles Life Icon.bin"
+ even
+ArtUnc_Invincibility:
+ binclude "General/Sprites/Shields/Invincibility.bin"
+ even
+ArtUnc_DashDust:
+ binclude "General/Sprites/Dash Dust/Dash Dust.bin"
+ even
+ArtUnc_SuperSonic_Stars:
+ binclude "General/Sprites/Shields/Super Sonic Stars.bin"
+ even
+ArtUnc_InstaShield:
+ binclude "General/Sprites/Shields/Insta-Shield.bin"
+ even
+ArtUnc_FireShield:
+ binclude "General/Sprites/Shields/Fire Shield.bin"
+ even
+ArtUnc_LightningShield:
+ binclude "General/Sprites/Shields/Lightning Shield.bin"
+ even
+ArtUnc_LightningShield_Sparks:
+ binclude "General/Sprites/Shields/Sparks.bin"
+ArtUnc_LightningShield_Sparks_end:
+ even
+ArtUnc_BubbleShield:
+ binclude "General/Sprites/Shields/Bubble Shield.bin"
+ even
+ArtNem_GrayButton:
+ binclude "General/Sprites/Buttons/Gray Button.bin"
+ even
+ArtNem_DiagonalSpring:
+ binclude "General/Sprites/Level Misc/Diagonal Spring.bin"
+ even
+ArtNem_SonicLifeIcon:
+ binclude "General/Sprites/HUD Icon/Sonic Life icon.bin"
+ even
+ArtNem_KnucklesLifeIcon:
+ binclude "General/Sprites/HUD Icon/Knuckles Life icon.bin"
+ even
+ArtNem_Monitors:
+ binclude "General/Sprites/Monitors/Monitors.bin"
+ even
+ArtNem_S2Signpost:
+ binclude "General/Sprites/S2Menu/Signpost.bin"
+ even
+ArtNem_Bubbles:
+ binclude "General/Sprites/Bubbles/Bubbles.bin"
+ even
+ArtNem_GameOver:
+ binclude "General/Sprites/Game Over/GameOver.bin"
+ even
+ArtNem_Explosion:
+ binclude "General/Sprites/Enemy Misc/Explosion.bin"
+ even
+ArtNem_ContinueTails:
+ binclude "General/Sprites/S2Menu/Tails Continue Sprites.bin"
+ even
+ArtNem_MiniSonic:
+ binclude "General/Sprites/S2Menu/Sonic Continue Icon.bin"
+ even
+ArtNem_SpikesSprings:
+ binclude "General/Sprites/Level Misc/SpikesSprings.bin"
+ even
+ArtNem_RingHUDText:
+ binclude "General/Sprites/Ring/RingHUDText.bin"
+ even
+ArtNem_EnemyPtsStarPost:
+ binclude "General/Sprites/Enemy Misc/EnemyPtsStarpost.bin"
+ even
+ArtNem_Seal:
+ binclude "General/Sprites/Animals/Seal.bin"
+ even
+ArtNem_Pig:
+ binclude "General/Sprites/Animals/Pig.bin"
+ even
+ArtNem_BlueFlicky:
+ binclude "General/Sprites/Animals/Blue Flicky.bin"
+ even
+ArtNem_Chicken:
+ binclude "General/Sprites/Animals/Chicken.bin"
+ even
+ArtNem_Penguin:
+ binclude "General/Sprites/Animals/Penguin.bin"
+ even
+ArtNem_Squirrel:
+ binclude "General/Sprites/Animals/Squirrel.bin"
+ even
+ArtNem_Rabbit:
+ binclude "General/Sprites/Animals/Rabbit.bin"
+ even
+ArtNem_BonusStage:
+ binclude "General/Sprites/Bonus/Bonus Stage.bin"
+ even
if ~~strip_padding
align $100
endif
-FBZ_16x16_Kos: binclude "Levels/FBZ/Blocks/Primary.bin"
- even
-ArtKosM_FBZ: binclude "Levels/FBZ/Tiles/Primary.bin"
- even
-FBZ_128x128_Kos:binclude "Levels/FBZ/Chunks/Primary.bin"
- even
-
-MHZ_16x16_Primary_Kos:binclude "Levels/MHZ/Blocks/Primary.bin"
- even
-ArtKosM_MHZ_Primary:binclude "Levels/MHZ/Tiles/Primary.bin"
- even
-MHZ_128x128_Primary_Kos:binclude "Levels/MHZ/Chunks/Primary.bin"
- even
-MHZ_16x16_Secondary_Kos:binclude "Levels/MHZ/Blocks/Secondary.bin"
- even
-ArtKosM_MHZ_Secondary:binclude "Levels/MHZ/Tiles/Secondary.bin"
- even
-MHZ_128x128_Secondary_Kos:binclude "Levels/MHZ/Chunks/Secondary.bin"
- even
-MHZ_16x16_Custom_Kos:binclude "Levels/MHZ/Blocks/Custom.bin"
- even
-ArtKosM_MHZ_Custom: binclude "Levels/MHZ/Tiles/Custom.bin"
- even
-MHZ_128x128_Custom_Kos:binclude "Levels/MHZ/Chunks/Custom.bin"
- even
-
-SOZ_16x16_Primary_Kos:binclude "Levels/SOZ/Blocks/Primary.bin"
- even
-ArtKosM_SOZ_Primary:binclude "Levels/SOZ/Tiles/Primary.bin"
- even
+FBZ_16x16_Kos:
+ binclude "Levels/FBZ/Blocks/Primary.bin"
+ even
+ArtKosM_FBZ:
+ binclude "Levels/FBZ/Tiles/Primary.bin"
+ even
+FBZ_128x128_Kos:
+ binclude "Levels/FBZ/Chunks/Primary.bin"
+ even
+MHZ_16x16_Primary_Kos:
+ binclude "Levels/MHZ/Blocks/Primary.bin"
+ even
+ArtKosM_MHZ_Primary:
+ binclude "Levels/MHZ/Tiles/Primary.bin"
+ even
+MHZ_128x128_Primary_Kos:
+ binclude "Levels/MHZ/Chunks/Primary.bin"
+ even
+MHZ_16x16_Secondary_Kos:
+ binclude "Levels/MHZ/Blocks/Secondary.bin"
+ even
+ArtKosM_MHZ_Secondary:
+ binclude "Levels/MHZ/Tiles/Secondary.bin"
+ even
+MHZ_128x128_Secondary_Kos:
+ binclude "Levels/MHZ/Chunks/Secondary.bin"
+ even
+MHZ_16x16_Custom_Kos:
+ binclude "Levels/MHZ/Blocks/Custom.bin"
+ even
+ArtKosM_MHZ_Custom:
+ binclude "Levels/MHZ/Tiles/Custom.bin"
+ even
+MHZ_128x128_Custom_Kos:
+ binclude "Levels/MHZ/Chunks/Custom.bin"
+ even
+SOZ_16x16_Primary_Kos:
+ binclude "Levels/SOZ/Blocks/Primary.bin"
+ even
+ArtKosM_SOZ_Primary:
+ binclude "Levels/SOZ/Tiles/Primary.bin"
+ even
SOZ_128x128_Kos:binclude "Levels/SOZ/Chunks/Primary.bin"
- even
-
-SOZ1_16x16_Secondary_Kos:binclude "Levels/SOZ/Blocks/Act 1 Secondary.bin"
- even
-ArtKosM_SOZ1_Secondary:binclude "Levels/SOZ/Tiles/Act 1 Secondary.bin"
- even
-SOZ_128x128_Unused_Kos:binclude "Levels/SOZ/Chunks/Unused.bin" ; This is in the same spot Act 1 Secondary chunks go
- even
-SOZ1_16x16_Custom_Kos:binclude "Levels/SOZ/Blocks/Act 1 Custom.bin"
- even
-ArtKosM_SOZ1_Custom:binclude "Levels/SOZ/Tiles/Act 1 Custom.bin"
- even
-
-SOZ2_16x16_Secondary_Kos:binclude "Levels/SOZ/Blocks/Act 2 Secondary.bin"
- even
-ArtKosM_SOZ2_Secondary:binclude "Levels/SOZ/Tiles/Act 2 Secondary.bin"
- even
-SOZ_128x128_Unused2_Kos:binclude "Levels/SOZ/Chunks/Unused2.bin" ; This is in the same spot Act 2 Secondary chunks go
- even
-SOZ2_16x16_Custom_Kos:binclude "Levels/SOZ/Blocks/Act 2 Custom.bin"
- even
-ArtKosM_SOZ2_Custom:binclude "Levels/SOZ/Tiles/Act 2 Custom.bin"
- even
-
-LRZ_16x16_Primary_Kos:binclude "Levels/LRZ/Blocks/Primary.bin"
- even
-ArtKosM_LRZ_Primary:binclude "Levels/LRZ/Tiles/Primary.bin"
- even
-LRZ_128x128_Primary_Kos:binclude "Levels/LRZ/Chunks/Primary.bin"
- even
-LRZ1_16x16_Secondary_Kos:binclude "Levels/LRZ/Blocks/Act 1 Secondary.bin"
- even
-ArtKosM_LRZ1_Secondary:binclude "Levels/LRZ/Tiles/Act 1 Secondary.bin"
- even
-LRZ1_128x128_Secondary_Kos:binclude "Levels/LRZ/Chunks/Act 1 Secondary.bin"
- even
-
-LRZ2_16x16_Secondary_Kos:binclude "Levels/LRZ/Blocks/Act 2 Secondary.bin"
- even
-ArtKosM_LRZ2_Secondary:binclude "Levels/LRZ/Tiles/Act 2 Secondary.bin"
- even
-LRZ2_128x128_Secondary_Kos:binclude "Levels/LRZ/Chunks/Act 2 Secondary.bin"
- even
-
-HPZ_16x16_Primary_Kos:binclude "Levels/HPZ/Blocks/Primary.bin"
- even
-ArtKosM_HPZ_Primary:binclude "Levels/HPZ/Tiles/Primary.bin"
- even
-HPZ_128x128_Primary_Kos:binclude "Levels/HPZ/Chunks/Primary.bin"
- even
-
-LRZ3_16x16_Secondary_Kos:binclude "Levels/LRZ/Blocks/Act 3 Secondary.bin"
- even
-ArtKosM_LRZ3_Secondary:binclude "Levels/LRZ/Tiles/Boss Secondary.bin"
- even
-LRZ3_128x128_Secondary_Kos:binclude "Levels/LRZ/Chunks/Act 3 Secondary.bin"
- even
-
-HPZ_16x16_Secondary_Kos:binclude "Levels/HPZ/Blocks/Secondary.bin"
- even
-ArtKosM_HPZ_Secondary:binclude "Levels/HPZ/Tiles/Secondary.bin"
- even
-HPZ_128x128_Secondary_Kos:binclude "Levels/HPZ/Chunks/Secondary.bin"
- even
-
-SSZ1_16x16_Primary_Kos:binclude "Levels/SSZ/Blocks/Act 1 Primary.bin"
- even
-ArtKosM_SSZ1_Primary:binclude "Levels/SSZ/Tiles/Act 1 Primary.bin"
- even
-
-SSZ1_128x128_Primary_Kos:binclude "Levels/SSZ/Chunks/Act 1 Primary.bin"
- even
-SSZ1_16x16_Secondary_Kos:binclude "Levels/SSZ/Blocks/Act 1 Secondary.bin"
- even
-ArtKosM_SSZ1_Secondary:binclude "Levels/SSZ/Tiles/Act 1 Secondary.bin"
- even
-
-SSZ1_128x128_Secondary_Kos:binclude "Levels/SSZ/Chunks/Act 1 Secondary.bin"
- even
-SSZ1_16x16_Custom_Kos:binclude "Levels/SSZ/Blocks/Act 1 Custom.bin"
- even
-ArtKosM_SSZ1_Custom:binclude "Levels/SSZ/Tiles/Act 1 Custom.bin"
- even
-SSZ1_128x128_Custom_Kos:binclude "Levels/SSZ/Chunks/Act 1 Custom.bin"
- even
-
-SSZ2_16x16_Kos: binclude "Levels/SSZ/Blocks/Act 2.bin"
- even
-ArtKosM_SSZ2: binclude "Levels/SSZ/Tiles/Act 2.bin"
- even
-SSZ2_128x128_Kos:binclude "Levels/SSZ/Chunks/Act 2.bin"
- even
-
-DEZ_16x16_Primary_Kos:binclude "Levels/DEZ/Blocks/Primary.bin"
- even
-ArtKosM_DEZ_Primary:binclude "Levels/DEZ/Tiles/Primary.bin"
- even
-DEZ_128x128_Kos:binclude "Levels/DEZ/Chunks/Primary.bin"
- even
-
-DEZ1_16x16_Secondary_Kos:binclude "Levels/DEZ/Blocks/Act 1 Secondary.bin"
- even
-ArtKosM_DEZ1_Secondary:binclude "Levels/DEZ/Tiles/Act 1 Secondary.bin"
- even
-
-DEZ2_16x16_Secondary_Kos:binclude "Levels/DEZ/Blocks/Act 2 Secondary.bin"
- even
-ArtKosM_DEZ2_Secondary:binclude "Levels/DEZ/Tiles/Act 2 Secondary.bin"
- even
-
-DEZ3_16x16_Kos: binclude "Levels/DEZ/Blocks/Act 3.bin"
- even
-ArtKosM_DEZ3: binclude "Levels/DEZ/Tiles/Final Boss Act.bin"
- even
-DEZ3_128x128_Kos:binclude "Levels/DEZ/Chunks/Act 3.bin"
- even
-
-DDZ_16x16_Kos: binclude "Levels/DDZ/Blocks/Primary.bin"
- even
-ArtKosM_DDZ: binclude "Levels/DDZ/Tiles/Primary.bin"
- even
-DDZ_128x128_Kos:binclude "Levels/DDZ/Chunks/Primary.bin"
- even
-
-Pachinko_16x16_Kos:binclude "Levels/Pachinko/Blocks/Primary.bin"
- even
-ArtKosM_Pachinko:binclude "Levels/Pachinko/Tiles/Pachinko.bin"
- even
-Pachinko_128x128_Kos:binclude "Levels/Pachinko/Chunks/Primary.bin"
- even
-
-Slots_16x16_Kos:binclude "Levels/Slots/Blocks/Primary.bin"
- even
-ArtKosM_Slots: binclude "Levels/Slots/Tiles/Slots.bin"
- even
-Slots_128x128_Kos:binclude "Levels/Slots/Chunks/Primary.bin"
- even
+ even
+SOZ1_16x16_Secondary_Kos:
+ binclude "Levels/SOZ/Blocks/Act 1 Secondary.bin"
+ even
+ArtKosM_SOZ1_Secondary:
+ binclude "Levels/SOZ/Tiles/Act 1 Secondary.bin"
+ even
+SOZ_128x128_Unused_Kos:
+ binclude "Levels/SOZ/Chunks/Unused.bin" ; This is in the same spot Act 1 Secondary chunks go
+ even
+SOZ1_16x16_Custom_Kos:
+ binclude "Levels/SOZ/Blocks/Act 1 Custom.bin"
+ even
+ArtKosM_SOZ1_Custom:
+ binclude "Levels/SOZ/Tiles/Act 1 Custom.bin"
+ even
+SOZ2_16x16_Secondary_Kos:
+ binclude "Levels/SOZ/Blocks/Act 2 Secondary.bin"
+ even
+ArtKosM_SOZ2_Secondary:
+ binclude "Levels/SOZ/Tiles/Act 2 Secondary.bin"
+ even
+SOZ_128x128_Unused2_Kos:
+ binclude "Levels/SOZ/Chunks/Unused2.bin" ; This is in the same spot Act 2 Secondary chunks go
+ even
+SOZ2_16x16_Custom_Kos:
+ binclude "Levels/SOZ/Blocks/Act 2 Custom.bin"
+ even
+ArtKosM_SOZ2_Custom:
+ binclude "Levels/SOZ/Tiles/Act 2 Custom.bin"
+ even
+LRZ_16x16_Primary_Kos:
+ binclude "Levels/LRZ/Blocks/Primary.bin"
+ even
+ArtKosM_LRZ_Primary:
+ binclude "Levels/LRZ/Tiles/Primary.bin"
+ even
+LRZ_128x128_Primary_Kos:
+ binclude "Levels/LRZ/Chunks/Primary.bin"
+ even
+LRZ1_16x16_Secondary_Kos:
+ binclude "Levels/LRZ/Blocks/Act 1 Secondary.bin"
+ even
+ArtKosM_LRZ1_Secondary:
+ binclude "Levels/LRZ/Tiles/Act 1 Secondary.bin"
+ even
+LRZ1_128x128_Secondary_Kos:
+ binclude "Levels/LRZ/Chunks/Act 1 Secondary.bin"
+ even
+LRZ2_16x16_Secondary_Kos:
+ binclude "Levels/LRZ/Blocks/Act 2 Secondary.bin"
+ even
+ArtKosM_LRZ2_Secondary:
+ binclude "Levels/LRZ/Tiles/Act 2 Secondary.bin"
+ even
+LRZ2_128x128_Secondary_Kos:
+ binclude "Levels/LRZ/Chunks/Act 2 Secondary.bin"
+ even
+HPZ_16x16_Primary_Kos:
+ binclude "Levels/HPZ/Blocks/Primary.bin"
+ even
+ArtKosM_HPZ_Primary:
+ binclude "Levels/HPZ/Tiles/Primary.bin"
+ even
+HPZ_128x128_Primary_Kos:
+ binclude "Levels/HPZ/Chunks/Primary.bin"
+ even
+LRZ3_16x16_Secondary_Kos:
+ binclude "Levels/LRZ/Blocks/Act 3 Secondary.bin"
+ even
+ArtKosM_LRZ3_Secondary:
+ binclude "Levels/LRZ/Tiles/Boss Secondary.bin"
+ even
+LRZ3_128x128_Secondary_Kos:
+ binclude "Levels/LRZ/Chunks/Act 3 Secondary.bin"
+ even
+HPZ_16x16_Secondary_Kos:
+ binclude "Levels/HPZ/Blocks/Secondary.bin"
+ even
+ArtKosM_HPZ_Secondary:
+ binclude "Levels/HPZ/Tiles/Secondary.bin"
+ even
+HPZ_128x128_Secondary_Kos:
+ binclude "Levels/HPZ/Chunks/Secondary.bin"
+ even
+SSZ1_16x16_Primary_Kos:
+ binclude "Levels/SSZ/Blocks/Act 1 Primary.bin"
+ even
+ArtKosM_SSZ1_Primary:
+ binclude "Levels/SSZ/Tiles/Act 1 Primary.bin"
+ even
+SSZ1_128x128_Primary_Kos:
+ binclude "Levels/SSZ/Chunks/Act 1 Primary.bin"
+ even
+SSZ1_16x16_Secondary_Kos:
+ binclude "Levels/SSZ/Blocks/Act 1 Secondary.bin"
+ even
+ArtKosM_SSZ1_Secondary:
+ binclude "Levels/SSZ/Tiles/Act 1 Secondary.bin"
+ even
+SSZ1_128x128_Secondary_Kos:
+ binclude "Levels/SSZ/Chunks/Act 1 Secondary.bin"
+ even
+SSZ1_16x16_Custom_Kos:
+ binclude "Levels/SSZ/Blocks/Act 1 Custom.bin"
+ even
+ArtKosM_SSZ1_Custom:
+ binclude "Levels/SSZ/Tiles/Act 1 Custom.bin"
+ even
+SSZ1_128x128_Custom_Kos:
+ binclude "Levels/SSZ/Chunks/Act 1 Custom.bin"
+ even
+SSZ2_16x16_Kos:
+ binclude "Levels/SSZ/Blocks/Act 2.bin"
+ even
+ArtKosM_SSZ2:
+ binclude "Levels/SSZ/Tiles/Act 2.bin"
+ even
+SSZ2_128x128_Kos:
+ binclude "Levels/SSZ/Chunks/Act 2.bin"
+ even
+DEZ_16x16_Primary_Kos:
+ binclude "Levels/DEZ/Blocks/Primary.bin"
+ even
+ArtKosM_DEZ_Primary:
+ binclude "Levels/DEZ/Tiles/Primary.bin"
+ even
+DEZ_128x128_Kos:
+ binclude "Levels/DEZ/Chunks/Primary.bin"
+ even
+DEZ1_16x16_Secondary_Kos:
+ binclude "Levels/DEZ/Blocks/Act 1 Secondary.bin"
+ even
+ArtKosM_DEZ1_Secondary:
+ binclude "Levels/DEZ/Tiles/Act 1 Secondary.bin"
+ even
+DEZ2_16x16_Secondary_Kos:
+ binclude "Levels/DEZ/Blocks/Act 2 Secondary.bin"
+ even
+ArtKosM_DEZ2_Secondary:
+ binclude "Levels/DEZ/Tiles/Act 2 Secondary.bin"
+ even
+DEZ3_16x16_Kos:
+ binclude "Levels/DEZ/Blocks/Act 3.bin"
+ even
+ArtKosM_DEZ3:
+ binclude "Levels/DEZ/Tiles/Final Boss Act.bin"
+ even
+DEZ3_128x128_Kos:
+ binclude "Levels/DEZ/Chunks/Act 3.bin"
+ even
+DDZ_16x16_Kos:
+ binclude "Levels/DDZ/Blocks/Primary.bin"
+ even
+ArtKosM_DDZ:
+ binclude "Levels/DDZ/Tiles/Primary.bin"
+ even
+DDZ_128x128_Kos:
+ binclude "Levels/DDZ/Chunks/Primary.bin"
+ even
+Pachinko_16x16_Kos:
+ binclude "Levels/Pachinko/Blocks/Primary.bin"
+ even
+ArtKosM_Pachinko:
+ binclude "Levels/Pachinko/Tiles/Pachinko.bin"
+ even
+Pachinko_128x128_Kos:
+ binclude "Levels/Pachinko/Chunks/Primary.bin"
+ even
+Slots_16x16_Kos:
+ binclude "Levels/Slots/Blocks/Primary.bin"
+ even
+ArtKosM_Slots:
+ binclude "Levels/Slots/Tiles/Slots.bin"
+ even
+Slots_128x128_Kos:
+ binclude "Levels/Slots/Chunks/Primary.bin"
+ even
if ~~strip_padding
align $100
@@ -203184,9 +203208,10 @@ Slots_128x128_Kos:binclude "Levels/Slots/Chunks/Primary.bin"
even
endif
-Character_Speeds: dc.w $600, $10, $20, 0 ; Sonic
- dc.w $4C0, $1C, $70, 0 ; Tails
- dc.w $580, $10, $200, 0 ; Knuckles
+Character_Speeds:
+ dc.w $600, $10, $20, 0 ; Sonic
+ dc.w $4C0, $1C, $70, 0 ; Tails
+ dc.w $580, $10, $200, 0 ; Knuckles
Sonic_Start_Locations:
binclude "Levels/AIZ/Start Location/Sonic/1.bin"
binclude "Levels/AIZ/Start Location/Sonic/2.bin"
@@ -203381,7 +203406,7 @@ RingLocPtrs: dc.l AIZ1_Rings
dc.l HPZ_Rings
dc.l DEZ3_Rings
dc.l DEZ3_Rings
-AutoTunnel_Data: dc.l AutoTunnel_00
+AutoTunnel_Data:dc.l AutoTunnel_00
dc.l AutoTunnel_01_02
dc.l AutoTunnel_01_02
dc.l AutoTunnel_03
@@ -203413,7 +203438,8 @@ AutoTunnel_Data: dc.l AutoTunnel_00
dc.l SpriteTerminatB
dc.l SpriteTerminatB
dc.l SpriteTerminatB
-FBZSnakePlatform_Data: dc.l word_1EE2D4
+FBZSnakePlatform_Data:
+ dc.l word_1EE2D4
dc.l word_1EE2E4
dc.l word_1EE2F4
dc.l word_1EE310
@@ -203472,64 +203498,61 @@ DEZTunnelPaths: dc.l word_1FB49E
SSCompressedLayoutPtrs:
dc.l SSLayoutData1_Kos
dc.l SSLayoutData2_Kos
-SlotBonusLayout:
- binclude "Levels/Slots/SSLayout/Bonus Player Start.bin"
- even
+SlotBonusLayout:binclude "Levels/Slots/SSLayout/Bonus Player Start.bin"
+ even
binclude "Levels/Slots/SSLayout/Bonus Layout.bin"
- even
-
+ even
byte_1E4484: dc.b 1, 3, 1, 3, 8, 3, 8, 5, 1, 3, 6, 4, 1, 7, 6, 5, 8, 6, 4, 3
dc.b 4, 3, 4, 5, 8, 4, 5, 3, 7, 3, 8, 3, 6, 5, 6, 7, 4, 3, 7, 5
dc.b 6, 4, 6, 4, 7, 3, 3, 5, 4, 3, 4, 6, 3, 4, 3, 7, 4, 3, 4, 3
dc.b 4, 3, 4, 3
byte_1E44C4: dc.b $50, $32, $28, $23, $23, $1E, $1E, $14, $14, $A, $A, $A, $A, 5, 5, 5
-
SpriteTerminat1:dc.w $FFFF, 0, 0
AIZ1_Sprites: binclude "Levels/AIZ/Object Pos/1.bin"
- even
+ even
AIZ2_Sprites: binclude "Levels/AIZ/Object Pos/2.bin"
- even
+ even
AIZ1_Rings: binclude "Levels/AIZ/Ring Pos/1.bin"
- even
+ even
AIZ2_Rings: binclude "Levels/AIZ/Ring Pos/2.bin"
- even
+ even
SpriteTerminat2:dc.w $FFFF, 0, 0
HCZ1_Sprites: binclude "Levels/HCZ/Object Pos/1.bin"
- even
+ even
HCZ2_Sprites: binclude "Levels/HCZ/Object Pos/2.bin"
- even
+ even
HCZ1_Rings: binclude "Levels/HCZ/Ring Pos/1.bin"
- even
+ even
HCZ2_Rings: binclude "Levels/HCZ/Ring Pos/2.bin"
- even
+ even
SpriteTerminat3:dc.w $FFFF, 0, 0
MGZ1_Sprites: binclude "Levels/MGZ/Object Pos/1.bin"
- even
+ even
MGZ1_Rings: binclude "Levels/MGZ/Ring Pos/1.bin"
- even
+ even
SpriteTerminat4:dc.w $FFFF, 0, 0
MGZ2_Sprites: binclude "Levels/MGZ/Object Pos/2.bin"
- even
+ even
MGZ2_Rings: binclude "Levels/MGZ/Ring Pos/2.bin"
- even
+ even
SpriteTerminat5:dc.w $FFFF, 0, 0
CNZ1_Sprites: binclude "Levels/CNZ/Object Pos/1.bin"
- even
+ even
CNZ2_Sprites: binclude "Levels/CNZ/Object Pos/2.bin"
- even
+ even
CNZ1_Rings: binclude "Levels/CNZ/Ring Pos/1.bin"
- even
+ even
CNZ2_Rings: binclude "Levels/CNZ/Ring Pos/2.bin"
- even
+ even
SpriteTerminat6:dc.w $FFFF, 0, 0
FBZ1_Sprites: binclude "Levels/FBZ/Object Pos/1.bin"
- even
+ even
FBZ2_Sprites: binclude "Levels/FBZ/Object Pos/2.bin"
- even
+ even
FBZ1_Rings: binclude "Levels/FBZ/Ring Pos/1.bin"
- even
+ even
FBZ2_Rings: binclude "Levels/FBZ/Ring Pos/2.bin"
- even
+ even
word_1EE2D4: dc.w $10F1
dc.w $118C
dc.w $118C
@@ -203652,27 +203675,28 @@ word_1EE398: dc.w $1D79
dc.w 0
SpriteTerminat7:dc.w $FFFF, 0, 0
ICZ1_Sprites: binclude "Levels/ICZ/Object Pos/1.bin"
- even
+ even
ICZ2_Sprites: binclude "Levels/ICZ/Object Pos/2.bin"
- even
+ even
ICZ1_Rings: binclude "Levels/ICZ/Ring Pos/1.bin"
- even
+ even
ICZ2_Rings: binclude "Levels/ICZ/Ring Pos/2.bin"
- even
+ even
SpriteTerminat8:dc.w $FFFF, 0, 0
LBZ1_Sprites: binclude "Levels/LBZ/Object Pos/1.bin"
- even
+ even
LBZ2_Sprites: binclude "Levels/LBZ/Object Pos/2.bin"
- even
+ even
LBZ1_Rings: binclude "Levels/LBZ/Ring Pos/1.bin"
- even
+ even
LBZ2_Rings: binclude "Levels/LBZ/Ring Pos/2.bin"
- even
+ even
AutoTunnel_00: dc.w $C
dc.w $F60, $578
dc.w $F60, $548
dc.w $F60, $378
-AutoTunnel_01_02: dc.w $38
+AutoTunnel_01_02:
+ dc.w $38
dc.w $D40, $770
dc.w $D48, $770
dc.w $D50, $770
@@ -204044,22 +204068,22 @@ AutoTunnel_14: dc.w $28
dc.w $36A8, $7F0
SpriteTerminat9:dc.w $FFFF, 0, 0
MHZ1_Sprites: binclude "Levels/MHZ/Object Pos/1.bin"
- even
+ even
MHZ2_Sprites: binclude "Levels/MHZ/Object Pos/2.bin"
- even
+ even
MHZ1_Rings: binclude "Levels/MHZ/Ring Pos/1.bin"
- even
+ even
MHZ2_Rings: binclude "Levels/MHZ/Ring Pos/2.bin"
- even
+ even
SpriteTerminatA:dc.w $FFFF, 0, 0
SOZ1_Sprites: binclude "Levels/SOZ/Object Pos/1.bin"
- even
+ even
SOZ2_Sprites: binclude "Levels/SOZ/Object Pos/2.bin"
- even
+ even
SOZ1_Rings: binclude "Levels/SOZ/Ring Pos/1.bin"
- even
+ even
SOZ2_Rings: binclude "Levels/SOZ/Ring Pos/2.bin"
- even
+ even
word_1F6C70: dc.w $A68, $13A0
dc.w $D00, $FFFF
word_1F6C78: dc.w $A70, $19C0
@@ -204186,31 +204210,31 @@ AutoTunnel_19: dc.w $30, $3A38
dc.w $1F0
SpriteTerminatB:dc.w $FFFF, 0, 0
LRZ1_Sprites: binclude "Levels/LRZ/Object Pos/1.bin"
- even
+ even
LRZ2_Sprites: binclude "Levels/LRZ/Object Pos/2.bin"
- even
+ even
LRZ1_Rings: binclude "Levels/LRZ/Ring Pos/1.bin"
- even
+ even
LRZ2_Rings: binclude "Levels/LRZ/Ring Pos/2.bin"
- even
+ even
SpriteTerminatC:dc.w $FFFF, 0, 0
SSZ1_Sprites: binclude "Levels/SSZ/Object Pos/1.bin"
- even
+ even
SSZ2_SPrites: binclude "Levels/SSZ/Object Pos/2.bin"
- even
+ even
SSZ1_Rings: binclude "Levels/SSZ/Ring Pos/1.bin"
- even
+ even
SSZ2_Rings: binclude "Levels/SSZ/Ring Pos/2.bin"
- even
+ even
SpriteTerminatD:dc.w $FFFF, 0, 0
DEZ1_Sprites: binclude "Levels/DEZ/Object Pos/1.bin"
- even
+ even
DEZ2_Sprites: binclude "Levels/DEZ/Object Pos/2.bin"
- even
+ even
DEZ1_Rings: binclude "Levels/DEZ/Ring Pos/1.bin"
- even
+ even
DEZ2_Rings: binclude "Levels/DEZ/Ring Pos/2.bin"
- even
+ even
word_1FB49E: dc.w $1E
dc.w $1B80, $331
dc.w $1BD8, $328
@@ -204366,78 +204390,81 @@ word_1FB6CE: dc.w 9
dc.w $24D8, $638
SpriteTerminatE:dc.w $FFFF, 0, 0
DDZ1_Sprites: binclude "Levels/DDZ/Object Pos/1.bin"
- even
+ even
DDZ2_Sprites: binclude "Levels/DDZ/Object Pos/2.bin"
- even
+ even
DDZ1_Rings: binclude "Levels/DDZ/Ring Pos/1.bin"
- even
+ even
DDZ2_Rings: binclude "Levels/DDZ/Ring Pos/2.bin"
- even
+ even
SpriteTerminatF:dc.w $FFFF, 0, 0
Ending_Sprites: binclude "Levels/SSZ/Object Pos/Ending.bin"
- even
+ even
Ending_Rings: binclude "Levels/SSZ/Ring Pos/Ending.bin"
- even
+ even
SpriteTerminatG:dc.w $FFFF, 0, 0
ALZ_Sprites: binclude "Levels/ALZ/Object Pos/1.bin"
- even
+ even
ALZ_Rings: binclude "Levels/ALZ/Ring Pos/1.bin"
- even
+ even
SpriteTerminatH:dc.w $FFFF, 0, 0
BPZ_Sprites: binclude "Levels/BPZ/Object Pos/1.bin"
- even
+ even
BPZ_Rings: binclude "Levels/BPZ/Ring Pos/1.bin"
- even
+ even
SpriteTerminatI:dc.w $FFFF, 0, 0
DPZ_Sprites: binclude "Levels/DPZ/Object Pos/1.bin"
- even
+ even
DPZ_Rings: binclude "Levels/DPZ/Ring Pos/1.bin"
- even
+ even
SpriteTerminatJ:dc.w $FFFF, 0, 0
CGZ_Sprites: binclude "Levels/CGZ/Object Pos/1.bin"
- even
+ even
CGZ_Rings: binclude "Levels/CGZ/Ring Pos/1.bin"
- even
+ even
SpriteTerminatK:dc.w $FFFF, 0, 0
EMZ_Sprites: binclude "Levels/EMZ/Object Pos/1.bin"
- even
+ even
EMZ_Rings: binclude "Levels/EMZ/Ring Pos/1.bin"
- even
+ even
SpriteTerminatL:dc.w $FFFF, 0, 0
Gumball_Sprites:binclude "Levels/Gumball/Object Pos/1.bin"
- even
+ even
Gumball_Rings: binclude "Levels/Gumball/Ring Pos/1.bin"
- even
+ even
SpriteTerminatM:dc.w $FFFF, 0, 0
-Pachinko_Sprites:binclude "Levels/Pachinko/Object Pos/1.bin"
- even
+Pachinko_Sprites:
+ binclude "Levels/Pachinko/Object Pos/1.bin"
+ even
Pachinko_Rings: binclude "Levels/Pachinko/Ring Pos/1.bin"
- even
+ even
SpriteTerminatN:dc.w $FFFF, 0, 0
Slots_Sprites: binclude "Levels/Slots/Object Pos/1.bin"
- even
+ even
Slots_Rings: binclude "Levels/Slots/Ring Pos/1.bin"
- even
+ even
SpriteTerminatO:dc.w $FFFF, 0, 0
LRZ3_Sprites: binclude "Levels/LRZ/Object Pos/3.bin"
- even
+ even
HPZ_Sprites: binclude "Levels/HPZ/Object Pos/1.bin"
- even
+ even
LRZ3_Rings: binclude "Levels/LRZ/Ring Pos/3.bin"
- even
+ even
HPZ_Rings: binclude "Levels/HPZ/Ring Pos/1.bin"
- even
+ even
SpriteTerminatP:dc.w $FFFF, 0, 0
DEZ3_Sprites: binclude "Levels/DEZ/Object Pos/3.bin"
- even
+ even
HPZMini_Sprites:binclude "Levels/HPZ/Object Pos/Mini.bin"
- even
+ even
DEZ3_Rings: binclude "Levels/DEZ/Ring Pos/3.bin"
- even
-SSLayoutData1_Kos: binclude "General/Special Stage/Layout/SK Set 1.bin"
- even
-SSLayoutData2_Kos: binclude "General/Special Stage/Layout/SK Set 2.bin"
- even
+ even
+SSLayoutData1_Kos:
+ binclude "General/Special Stage/Layout/SK Set 1.bin"
+ even
+SSLayoutData2_Kos:
+ binclude "General/Special Stage/Layout/SK Set 2.bin"
+ even
; AS would automatically strip this padding if we didn't specifically declare one byte at the end
if ~~strip_padding && (*)&(*-1)
@@ -204447,12 +204474,13 @@ SSLayoutData2_Kos: binclude "General/Special Stage/Layout/SK Set 2.bin"
even
endif
-EndOfROM:
if Sonic3_Complete=0
+EndOfROM:
org $200000 ; needed if you want to combine the ROM with Sonic 3 or Sonic 2 and the UPMEM
include "Lockon S3/LockOn Pointers.asm"
else
include "Lockon S3/LockOn Data.asm"
+EndOfROM:
endif
END
diff --git a/sonic3k.constants.asm b/sonic3k.constants.asm
index c059b9e0..2b8935bd 100644
--- a/sonic3k.constants.asm
+++ b/sonic3k.constants.asm
@@ -189,9 +189,9 @@ Status_BublShield = 6
; ---------------------------------------------------------------------------
; Elemental Shield DPLC variables
-LastLoadedDPLC = $34
-Art_Address = $38
-DPLC_Address = $3C
+shield_prev_frame = $34
+shield_art = $38
+shield_plc = $3C
; ---------------------------------------------------------------------------
; Address equates
@@ -245,8 +245,8 @@ Chunk_table ds.b $8000 ; chunk (128x128) definitions, $80 bytes per definitio
Level_layout_header ds.b 8 ; first word = chunks per FG row, second word = chunks per BG row, third word = FG rows, fourth word = BG rows
Level_layout_main ds.b $FF8 ; $40 word-sized line pointers followed by actual layout data
Object_respawn_table_2 := Level_layout_header+$400; $200 bytes ; respawn table used by glowing spheres bonus stage, because... Reasons?
-Ring_status_table_2 := Level_layout_header+$600; $400 bytes ; rinng status table used by glowing spheres bonus stage, because... Reasons?
-Block_table ds.b $1800 ; block (16x16) definitions, 8 bytes per definition, spece for $300 blocks
+Ring_status_table_2 := Level_layout_header+$600; $400 bytes ; ring status table used by glowing spheres bonus stage, because... Reasons?
+Block_table ds.b $1800 ; block (16x16) definitions, 8 bytes per definition, space for $300 blocks
SStage_collision_response_list := Block_table+$1400 ; $100 bytes ; sprite collision list during a special stage
SStage_unkA500 := Block_table+$1500 ; unknown special stage array
SStage_unkA600 := Block_table+$1600 ; unknown special stage array
@@ -289,13 +289,13 @@ Pos_table_P2 ds.b $100 ; used by Player 2 in competition mode
Pos_table ds.b $100 ;
Competition_saved_data ds.b $54 ; saved data from Competition Mode
ds.b $C ; unused
-Save_pointer := * ; pointer to the active save slot in 1 player mode
- ds.l 1 ; Sonic 3 has a different address... So uh... Yes
+Save_pointer := * ; S3 uses a different address
+ ds.l 1 ; pointer to the active save slot in 1 player mode
ds.w 1 ; unused
Emerald_flicker_flag ds.w 1 ; controls the emerald flicker in save screen and special stage results.
ds.b $44 ; unused
-Saved_data := * ; saved data from 1 player mode
- ds.b $54 ; Sonic 3 has a different address... So uh... Yes
+Saved_data := * ; S3 uses a different address
+ ds.b $54 ; saved data from 1 player mode
Ring_status_table ds.b $400 ; 1 word per ring
Object_respawn_table ds.b $300 ; 1 byte per object, every object in the level gets an entry
@@ -343,11 +343,18 @@ Apparent_zone_and_act = *
Apparent_zone ds.b 1 ; always equal to actual zone
Apparent_act ds.b 1 ; for example, after AIZ gets burnt, this indicates act 1 even though it's actually act 2
Palette_fade_timer ds.w 1 ; the palette gets faded in until this timer expires
-_unkEE52 ds.l 1 ; something to do with competition mode
-_unkEE56 ds.l 1 ; something to do with competition mode. Wiki said this was to do with demos, but I doubt that's the case
-_unkEE5A ds.b 1
+Competition_time_record ds.l 1 ; player 1's recorded time for the current run, to be displayed in menus and the result screen
+Competition_time_record_minute = Competition_time_record+1
+Competition_time_record_second = Competition_time_record+2
+Competition_time_record_frame = Competition_time_record+3
+Competition_time_record_P2 ds.l 1 ; player 2's recorded time for the current run, to be displayed in menus and the result screen
+Competition_time_record_minute_P2 = Competition_time_record_P2+1
+Competition_time_record_second_P2 = Competition_time_record_P2+2
+Competition_time_record_frame_P2 = Competition_time_record_P2+3
+Competition_time_attack_new_top_record ds.b 1 ; signifies new time records in time attack mode. set: no new records, clear: 1st place, $1: 2nd place, $2: 3rd place record.
ds.b 1 ; unused
-_unkEE5C ds.w 1
+Competition_lap_count ds.b 1 ; number of laps that player 1 has completed
+Competition_lap_count_2P ds.b 1 ; number of laps that player 2 has completed
Act3_flag ds.b 1 ; set when entering LRZ 3 or DEZ 3 directly from previous act. Prevents title card from loading
ds.b 1 ; unused
Camera_X_pos_P2 ds.l 1
@@ -427,7 +434,7 @@ Not_ghost_flag ds.b 1 ; set if Player 2 in competition mode isn't a ghost of
Competition_menu_zone ds.b 1 ; competition mode zone id. This is different from the zone order in game
Dataselect_entry ds.b 1 ; the selected save entry in data select menu. This includes no save and delete options, too
Dataselect_nosave_player ds.w 1 ; Player mode for NO SAVE option in data select menu
-Competition_menu_monitors ds.b 1 ; 0 = Enabled, FF = Disabled
+Competition_menu_items ds.b 1 ; 0 = Enabled, FF = Disabled
ds.b 1 ; unused
Demo_start_button ds.b 1 ; keeps track of whether controller 1 has pressed the start button. May be used by the demo data itself
ds.b 1 ; unused
@@ -516,7 +523,7 @@ Mean_water_level ds.w 1 ; the steady central value of the water level
Target_water_level ds.w 1
Water_speed ds.b 1 ; this is added to or subtracted from Mean_water_level every frame till it reaches Target_water_level
Water_entered_counter ds.b 1 ; incremented when entering and exiting water, read by the the floating AIZ spike log, cleared on level initialisation and dynamic events of certain levels
-Water_full_screen_flag ds.b 1 ; set if water covers the entire screen (i.e. the underwater pallete should be DMAed during V-int rather than the normal palette)
+Water_full_screen_flag ds.b 1 ; set if water covers the entire screen (i.e. the underwater palette should be DMAed during V-int rather than the normal palette)
Do_Updates_in_H_int ds.b 1 ; if this is set Do_Updates will be called from H-int instead of V-int
Palette_cycle_counters ds.b $C ; various counters and variables for palette cycles
Palette_frame ds.w 1
@@ -565,8 +572,8 @@ Tails_CPU_flight_timer ds.w 1 ; counts up while Tails is respawning, when it
Tails_CPU_routine ds.w 1 ; Tails' current AI routine in a Sonic and Tails game
Tails_CPU_target_X ds.w 1 ; Tails' target x-position
Tails_CPU_target_Y ds.w 1 ; Tails' target y-position
-_unkF70E ds.b 1
-_unkF70F ds.b 1
+Tails_CPU_auto_fly_timer ds.b 1 ; counts up until AI Tails automatically flies up to maintain altitude, while grabbing Sonic in Marble Garden Act 2's boss
+Tails_CPU_auto_jump_flag ds.b 1 ; set to #1 when AI Tails needs to jump of his own accord, regardless of whether Sonic jumped or not
Rings_manager_routine ds.b 1
Level_started_flag ds.b 1
_unkF712 ds.b $1C ; ??? ; unknown object respawn table
@@ -587,7 +594,7 @@ Ctrl_1_pressed_title ds.b 1
_unkF74A ds.b 1
_unkF74B ds.b 1
_unkF74C ds.w 1
-_unkF74E ds.b 1
+Gliding_collision_flags ds.b 1
Disable_wall_grab ds.b 1 ; if set, disables Knuckles wall grab
ds.b $10 ; unused
Max_speed ds.w 1
@@ -596,9 +603,9 @@ Deceleration ds.w 1
Player_prev_frame ds.b 1 ; used by DPLC routines to detect whether a DMA transfer is required
ds.b 1 ; unused
Primary_Angle ds.b 1
- ds.b 1 ; unused
+Primary_Angle_save ds.b 1 ; Used in FindFloor/FindWall
Secondary_Angle ds.b 1
- ds.b 1 ; unused
+Secondary_Angle_save ds.b 1 ; Used in FindFloor/FindWall
Object_load_routine ds.b 1 ; routine counter for the object loading manager
ds.b 1 ; unused
@@ -654,10 +661,10 @@ _unkFA8A ds.w 1
_unkFA8C ds.w 1 ; unused?
_unkFA8E ds.w 1
_unkFA90 ds.w 1
-Target_camera_max_X_pos ds.w 1 ; the target camera maximum x-position
-Target_camera_min_X_pos ds.w 1 ; the target camera minimum x-position
-Target_camera_min_Y_pos ds.w 1 ; the target camera minimum y-position
-Target_camera_max_Y_pos ds.w 1 ; the target camera maximum y-position
+Camera_stored_max_X_pos ds.w 1 ; the target camera maximum x-position
+Camera_stored_min_X_pos ds.w 1 ; the target camera minimum x-position
+Camera_stored_min_Y_pos ds.w 1 ; the target camera minimum y-position
+Camera_stored_max_Y_pos ds.w 1 ; the target camera maximum y-position
Slotted_object_bits ds.w 1 ; bits to determine which slots are used for slotted objects
ds.b 6 ; unused
_unkFAA2 ds.b 1
@@ -695,13 +702,13 @@ Pal_fade_delay2 ds.w 1 ; timer for palette fade from white routine
ds.b $A ; unused
Palette_rotation_custom ds.l 1 ; custom routine for palette rotation scripts
Palette_rotation_data ds.w 9 ; data used by palette rotation scripts. Last word must always be 0
-_unkFAF0 ds.w 1
+SSZ_MTZ_boss_X_pos ds.w 1 ; horizontal position of the Metropolis Zone boss in Sky Sanctuary
ds.w 1 ; unused
-_unkFAF4 ds.w 1
+SSZ_MTZ_boss_Y_pos ds.w 1 ; vertical position of the Metropolis Zone boss in Sky Sanctuary
ds.w 1 ; unused
-_unkFAF8 ds.w 1
-_unkFAFA ds.w 1
-_unkFAFC ds.w 1
+SSZ_MTZ_boss_X_vel ds.w 1 ; horizontal velocity of the Metropolis Zone boss in Sky Sanctuary
+SSZ_MTZ_boss_Y_vel ds.w 1 ; vertical velocity of the Metropolis Zone boss in Sky Sanctuary
+SSZ_MTZ_boss_laser_timer ds.w 1 ; counts down until a laser is fired in Sky Sanctuary's Metropolis boss fight
ds.w 1 ; unused
DMA_queue ds.w $12*7 ; stores all the VDP commands necessary to initiate a DMA transfer
@@ -793,16 +800,15 @@ LRZ_rocks_addr_front ds.l 1 ; the address inside the lrz rocks data of the fi
LRZ_rocks_addr_back ds.l 1 ; the address inside the lrz rocks data of the first rock whose X pos is >= Camera_X_pos_coarse - $80
Oscillating_table ds.b $42 ; various oscillating variables
Oscillating_table_end = * ; end of oscillating data array
-_unkFEB0 ds.b 1
-_unkFEB1 ds.b 1
+Slot_machine_goal_frame_timer ds.b 1
+Slot_machine_goal_frame ds.b 1
Rings_frame_timer ds.b 1
Rings_frame ds.b 1
-_unkFEB4 ds.b 1
-_unkFEB5 ds.b 1
+Slot_machine_peppermint_frame_timer ds.b 1
+Slot_machine_peppermint_frame ds.b 1
Ring_spill_anim_counter ds.b 1
Ring_spill_anim_frame ds.b 1
-Ring_spill_anim_accum ds.b 1
- ds.b 1 ; unused
+Ring_spill_anim_accum ds.w 1
AIZ_vine_angle ds.w 1 ; controls the angle of AIZ giant vines
ds.w 1 ; unused
_unkFEBE ds.b 1 ; unused
@@ -811,24 +817,26 @@ Max_speed_P2 ds.w 1
Acceleration_P2 ds.w 1
Deceleration_P2 ds.w 1
Life_count_P2 ds.b 1 ; left over from Sonic 2
-_unkFEC7 ds.b 1 ; used in competition mode
+Update_HUD_timer_P2 ds.b 1 ; used in competition mode
Total_ring_count ds.w 1 ; left over from Sonic 2
Total_ring_count_P2 ds.w 1 ; left over from Sonic 2
Monitors_broken ds.w 1 ; left over from Sonic 2. Apparently Sonic 3 developers liked copypasting, since gaining a life from rings also increments this counter
Monitors_broken_P2 ds.w 1 ; left over from Sonic 2
Ring_count_P2 ds.w 1 ; left over from Sonic 2
-Timer_P2 ds.l 1 ; left over from Sonic 2
-Timer_minute_P2 = Timer_P2+1 ; left over from Sonic 2
+Timer_P2 ds.l 1 ; used in competition mode
+Timer_minute_P2 = Timer_P2+1
+Timer_second_P2 = Timer_P2+2
+Timer_frame_P2 = Timer_P2+3 ; the second gets incremented when this reaches 60
Score_P2 ds.l 1 ; left over from Sonic 2
-_unkFEDA ds.b 1
+Competition_total_laps ds.b 1 ; total number of laps in competition mode (typically 5)
ds.b 1 ; unused
-_unkFEDC ds.b 1
-_unkFEDD ds.b 1
-_unkFEDE ds.b 1 ; unused
+Competition_current_lap ds.b 1 ; current lap number for player 1 in competition mode
+Competition_current_lap_2P ds.b 1 ; current lap number for player 2 in competition mode
+Loser_time_left ds.b 1 ; left over from Sonic 2
ds.b $23 ; unused
Results_screen_2P ds.w 1 ; left over from Sonic 2
Perfect_rings_left ds.w 1 ; left over from Sonic 2
-_unkFF06 ds.w 1 ; uknown
+_unkFF06 ds.w 1 ; unknown
Player_mode ds.w 1 ; 0 = Sonic and Tails, 1 = Sonic alone, 2 = Tails alone, 3 = Knuckles alone
Player_option ds.w 1 ; option selected on level select, data select screen or Sonic & Knuckles title screen
ds.w 1 ; unused
@@ -856,12 +864,13 @@ Sound_test_sound ds.w 1
Title_screen_option ds.b 1
ds.b 1 ; unused
_tempFF88 ds.w 1 ; this is used in Sonic 3 Alone, but unused in Sonic & Knuckles and Sonic 3 Complete
-Competition_mode_monitors ds.b 1 ; 0 = Enabled, FF = Disabled.
-Competition_mode_type ds.b 1 ; 0 = grand prix, 3 = match race, -1 = time attack
+Competition_settings = * ; both items and game type
+Competition_items ds.b 1 ; 0 = Enabled, FF = Disabled.
+Competition_type ds.b 1 ; 0 = grand prix, 3 = match race, -1 = time attack
_tempFF8C ds.b 1 ; this is used in Sonic 3 Alone, but unused in Sonic & Knuckles and Sonic 3 Complete
ds.b 1 ; unused
Total_bonus_countup ds.w 1 ; the total points to be added due to various bonuses this frame in the end of level results screen
-Level_music ds.w 1
+Current_music ds.w 1
Collected_special_ring_array ds.l 1 ; each bit indicates a special stage entry ring in the current zone
Saved2_status_secondary ds.b 1
Respawn_table_keep ds.b 1 ; if set, respawn table is not reset during level load
@@ -878,9 +887,9 @@ Blue_spheres_current_level ds.l 1 ; number shown at the top of the full game m
Blue_spheres_option ds.b 1 ; 0 = level, 1 = start, 2 = code
Blue_spheres_progress_flag ds.b 1 ; 0 = normal, -1 = disabled (single stage mode or using a code from single stage mode)
Blue_spheres_difficulty ds.b 1 ; value currently displayed
-Blue_spheres_target_difficulty ds.b 1 ; byte ; value read from the layout
+Blue_spheres_target_difficulty ds.b 1 ; value read from the layout
SK_alone_flag ds.w 1 ; -1 if Sonic 3 isn't locked on
-Emerald_count = * ; both chaos and super emeralds
+Emerald_counts = * ; both chaos and super emeralds
Chaos_emerald_count ds.b 1
Super_emerald_count ds.b 1
Collected_emeralds_array ds.b 7 ; 1 byte per emerald, 0 = not collected, 1 = chaos emerald collected, 2 = grey super emerald, 3 = super emerald collected
@@ -895,54 +904,56 @@ Title_anim_frame ds.b 1 ; title animation frame number
Next_extra_life_score ds.l 1
Next_extra_life_score_P2 ds.l 1 ; left over from Sonic 2
ds.w 1 ; unused
-Debug_P1_mappings ds.l 1 ; player 1 mappings while in debug mode
-Debug_P2_mappings ds.w 1 ; long! ; player 2 mappings while in debug mode
-Demo_mode_flag := *
- ds.w 1 ; Sonic 3 has a different address... So uh... Yes
-Next_demo_number := *
- ds.w 1 ; Sonic 3 has a different address... So uh... Yes
-Blue_spheres_stage_flag := * ; set if a Blue Sphere special stage is being run
- ds.b 1 ; Sonic 3 has a different address... So uh... Yes
+Debug_saved_mappings ds.l 1 ; player 1 mappings before entering debug mode
+Debug_saved_art_tile ds.w 1 ; player 1 art_tile before entering debug mode
+Demo_mode_flag := * ; S3 uses a different address
+ ds.w 1
+Next_demo_number := * ; S3 uses a different address
+ ds.w 1
+Blue_spheres_stage_flag := * ; S3 uses a different address
+ ds.b 1 ; set if a Blue Sphere special stage is being run
ds.b 1 ; unused
-V_blank_cycles := * ; the number of cycles between V-blanks
- ds.w 1 ; Sonic 3 has a different address... So uh... Yes
-Graphics_flags := * ; bit 7 set := English system, bit 6 set := PAL system
- ds.b 1 ; Sonic 3 has a different address... So uh... Yes
+V_blank_cycles := * ; S3 uses a different address
+ ds.w 1 ; the number of cycles between V-blanks
+Graphics_flags := * ; S3 uses a different address
+ ds.b 1 ; bit 7 set = English system, bit 6 set = PAL system
ds.b 1 ; unused
-Debug_mode_flag := *
- ds.w 1 ; Sonic 3 has a different address... So uh... Yes
+Debug_mode_flag := * ; S3 uses a different address
+ ds.w 1
ds.l 1 ; unused
-Level_select_flag := *
- ds.b 1 ; Sonic 3 has a different address... So uh... Yes
-Slow_motion_flag := *
- ds.b 1 ; Sonic 3 has a different address... So uh... Yes
-Debug_cheat_flag := * ; set if the debug cheat's been entered
- ds.w 1 ; Sonic 3 has a different address... So uh... Yes
-Level_select_cheat_counter := * ; progress entering level select cheat, unused
- ds.w 1 ; Sonic 3 has a different address... So uh... Yes
-Debug_mode_cheat_counter := * ; progress entering debug mode cheat, unused
- ds.w 1 ; Sonic 3 has a different address... So uh... Yes
-Competition_mode := *
- ds.w 1 ; Sonic 3 has a different address... So uh... Yes
-P1_character := * ; 0 := Sonic, 1 := Tails, 2 := Knuckles
- ds.b 1 ; Sonic 3 has a different address... So uh... Yes
-P2_character := *
- ds.b 1 ; Sonic 3 has a different address... So uh... Yes
+Level_select_flag := * ; S3 uses a different address
+ ds.b 1
+Slow_motion_flag := * ; S3 uses a different address
+ ds.b 1
+Debug_cheat_flag := * ; S3 uses a different address
+ ds.w 1 ; set if the debug cheat's been entered
+Level_select_cheat_counter := * ; S3 uses a different address
+ ds.w 1 ; progress entering level select cheat, unused
+Debug_mode_cheat_counter := * ; S3 uses a different address
+ ds.w 1 ; progress entering debug mode cheat, unused
+Competition_mode := * ; S3 uses a different address
+ ds.w 1
+P1_character := * ; S3 uses a different address
+ ds.b 1 ; 0 = Sonic, 1 = Tails, 2 = Knuckles
+P2_character := * ; S3 uses a different address
+ ds.b 1
ds.l 1 ; unused
-V_int_jump := * ; contains an instruction to jump to the V-int handler
- ds.b 6 ; Sonic 3 has a different address... So uh... Yes
+V_int_jump := * ; S3 uses a different address
+ ds.b 6 ; contains an instruction to jump to the V-int handler
V_int_addr := V_int_jump+2 ; long
-H_int_jump := * ; contains an instruction to jump to the H-int handler
- ds.b 6 ; Sonic 3 has a different address... So uh... Yes
+H_int_jump := * ; S3 uses a different address
+ ds.b 6 ; contains an instruction to jump to the H-int handler
H_int_addr := H_int_jump+2 ; long
-Checksum_string := * ; set to 'SM&K' once the checksum routine has run
- ds.l 1 ; Sonic 3 has a different address... So uh... Yes
+Checksum_string := * ; S3 uses a different address
+ ds.l 1 ; set to Ref_Checksum_String once the checksum routine has run
+Ref_Checksum_String := 'SM&K'
.check = (*)&$FFFFFF
if (.check>0)&(.check<$FF0000)
fatal "Sonic & Knuckles RAM definitions are too large by $\{*} bytes!"
endif
+ dephase
; extra Special Stage variables
phase Pos_table_P2
@@ -974,7 +985,7 @@ Special_stage_prev_Y_pos ds.w 1
Special_stage_spheres_left ds.w 1
Special_stage_ring_count ds.w 1
Special_stage_sphere_HUD_flag ds.b 1
-Special_stage_extra_life_flags ds.b 1 ; byte ; when bit 7 is set, the ring HUD is updated
+Special_stage_extra_life_flags ds.b 1 ; when bit 7 is set, the ring HUD is updated
Special_stage_rate_timer ds.w 1 ; when this reaches 0, the special stage speeds up
Special_stage_jumping_P2 ds.b 1 ; $80 = normal jump, $81 = spring
ds.b 1 ; unused
@@ -987,8 +998,8 @@ Special_stage_emerald_timer ds.b 1 ; counts down when the emerald appears, whe
Special_stage_interact ds.w 1 ; address of the last bumper touched, or the emerald at the end of the stage
Special_stage_started ds.b 1 ; set when the player begins moving at the start of the stage
ds.b $2F ; unused
-SStage_extra_sprites := * ; some extra sprite info for special stages
- ds.b $70 ; Sonic 3 has a different address... So uh... Yes
+SStage_extra_sprites := * ; S3 uses a different address
+ ds.b $70 ; some extra sprite info for special stages
dephase
; ---------------------------------------------------------------------------
; Art tile stuff
@@ -1025,6 +1036,8 @@ ArtTile_ArtKos_Save_Extra = $0454
; Universal (used on all standard levels).
ArtTile_Monitors = $04C4
ArtTile_CutsceneKnux = $04DA
+ArtTile_Explosion = $05A0
+ArtTile_StarPost = $05E4
ArtTile_Player_1 = $0680
ArtTile_Player_2 = $06A0
ArtTile_Player_2_Tail = $06B0
@@ -1044,16 +1057,17 @@ mus_Stop ds.b 1 ; $E2 - stop music and sound effects
mus_MutePSG ds.b 1 ; $E3 - mute all PSG channels
mus_StopSFX ds.b 1 ; $E4 - stop all sound effects
mus_FadeOut2 ds.b 1 ; $E5 - fade out music (duplicate)
-Mus__EndCmd = * ; next ID after last sound command
+mus__EndCmd = * ; next ID after last sound command
-mus_FA = $FA ; $FA - ???
+mus_S2SEGA = $FA ; $FA - SEGA sound ID in Sonic 2
mus_StopSEGA = $FE ; $FE - Stop SEGA sound
mus_SEGA = $FF ; $FF - Play SEGA sound
+ dephase
; ---------------------------------------------------------------------------
; Music ID's list. These do not affect the sound driver, be careful.
phase $01
-Mus__First = * ; ID of the first music
+mus__First = * ; ID of the first music
mus_AIZ1 ds.b 1 ; $01
mus_AIZ2 ds.b 1 ; $02
mus_HCZ1 ds.b 1 ; $03
@@ -1073,16 +1087,16 @@ mus_MHZ2 ds.b 1 ; $10
mus_SOZ1 ds.b 1 ; $11
mus_SOZ2 ds.b 1 ; $12
mus_LRZ1 ds.b 1 ; $13
-mus_HPZ ds.b 1 ; $14
+mus_LRZ2 ds.b 1 ; $14
mus_SSZ ds.b 1 ; $15
mus_DEZ1 ds.b 1 ; $16
mus_DEZ2 ds.b 1 ; $17
mus_MinibossK ds.b 1 ; $18
mus_EndBoss ds.b 1 ; $19
mus_DDZ ds.b 1 ; $1A
-mus_MagneticOrbs ds.b 1 ; $1B
+mus_Pachinko ds.b 1 ; $1B
mus_SpecialStage ds.b 1 ; $1C
-mus_SlotMachine ds.b 1 ; $1D
+mus_Slots ds.b 1 ; $1D
mus_Gumball ds.b 1 ; $1E
mus_Knuckles ds.b 1 ; $1F
mus_ALZ ds.b 1 ; $20
@@ -1106,6 +1120,7 @@ mus_Drowning ds.b 1 ; $31
mus_Ending ds.b 1 ; $32
mus_CreditsK ds.b 1 ; $DC - Can also be treated as SFX?
Mus__End = * ; next ID after last music
+ dephase
; ---------------------------------------------------------------------------
; Sound effect ID's list. These do not affect the sound driver, be careful.
@@ -1126,12 +1141,12 @@ sfx_Break ds.b 1 ; $3D
sfx_FireShield ds.b 1 ; $3E
sfx_BubbleShield ds.b 1 ; $3F
sfx_UnknownShield ds.b 1 ; $40
-sfx_ElectricShield ds.b 1 ; $41
+sfx_LightningShield ds.b 1 ; $41
sfx_InstaAttack ds.b 1 ; $42
sfx_FireAttack ds.b 1 ; $43
sfx_BubbleAttack ds.b 1 ; $44
sfx_ElectricAttack ds.b 1 ; $45
-sfx_SuperAlt ds.b 1 ; $46
+sfx_Whistle ds.b 1 ; $46
sfx_SandwallRise ds.b 1 ; $47
sfx_Blast ds.b 1 ; $48
sfx_Thump ds.b 1 ; $49
@@ -1145,7 +1160,7 @@ sfx_BossActivate ds.b 1 ; $50
sfx_MissileThrow ds.b 1 ; $51
sfx_SpikeMove ds.b 1 ; $52
sfx_Charging ds.b 1 ; $53
-sfx_BossLazer ds.b 1 ; $54
+sfx_BossLaser ds.b 1 ; $54
sfx_BlockConveyor ds.b 1 ; $55
sfx_FlipBridge ds.b 1 ; $56
sfx_Geyser ds.b 1 ; $57
@@ -1153,9 +1168,9 @@ sfx_FanLatch ds.b 1 ; $58
sfx_Collapse ds.b 1 ; $59
sfx_UnknownCharge ds.b 1 ; $5A
sfx_Switch ds.b 1 ; $5B
-sfx_MetalSpark ds.b 1 ; $5C
+sfx_MechaSpark ds.b 1 ; $5C
sfx_FloorThump ds.b 1 ; $5D
-sfx_Lazer ds.b 1 ; $5E
+sfx_Laser ds.b 1 ; $5E
sfx_Crash ds.b 1 ; $5F
sfx_BossZoom ds.b 1 ; $60
sfx_BossHitFloor ds.b 1 ; $61
@@ -1211,7 +1226,7 @@ sfx_GhostAppear ds.b 1 ; $92
sfx_BossRecovery ds.b 1 ; $93
sfx_ChainTick ds.b 1 ; $94
sfx_BossHand ds.b 1 ; $95
-sfx_MetalLand ds.b 1 ; $96
+sfx_MechaLand ds.b 1 ; $96
sfx_EnemyBreath ds.b 1 ; $97
sfx_BossProjectile ds.b 1 ; $98
sfx_UnknownPlink ds.b 1 ; $99
@@ -1225,7 +1240,7 @@ sfx_MissileShoot ds.b 1 ; $A0
sfx_UnknownOminous ds.b 1 ; $A1
sfx_FloorLauncher ds.b 1 ; $A2
sfx_GravityLift ds.b 1 ; $A3
-sfx_MetalTransform ds.b 1 ; $A4
+sfx_MechaTransform ds.b 1 ; $A4
sfx_UnknownRise ds.b 1 ; $A5
sfx_LaunchGrab ds.b 1 ; $A6
sfx_LaunchReady ds.b 1 ; $A7
@@ -1252,7 +1267,7 @@ sfx_FlyTired ds.b 1 ; $BB
sfx__FirstContinuous = * ; ID of the first continuous sound effect
sfx_SlideSkidLoud ds.b 1 ; $BC
sfx_LargeShip ds.b 1 ; $BD
-sfx_EggmanSiren ds.b 1 ; $BE
+sfx_RobotnikSiren ds.b 1 ; $BE
sfx_BossRotate ds.b 1 ; $BF
sfx_FanBig ds.b 1 ; $C0
sfx_FanSmall ds.b 1 ; $C1
@@ -1283,7 +1298,7 @@ sfx_MagneticSpike ds.b 1 ; $D9
sfx_LeafBlower ds.b 1 ; $DA
sfx_WaterSkid ds.b 1 ; $DB
ds.b 3 ; unused SFX slots, the driver will happily play them though
-sfx__End = * ; next ID after the last sound effect
+sfx_End = * ; next ID after the last sound effect
dephase
!org 0 ; make sure we reset the ROM position to 0
diff --git a/sonic3k.macros.asm b/sonic3k.macros.asm
index 69dad9b7..81de2d4c 100644
--- a/sonic3k.macros.asm
+++ b/sonic3k.macros.asm
@@ -235,6 +235,14 @@ palscriptdata macro frames, data
dc.w .framec
endm
+; macro to define a palette script data from an external file
+palscriptfile macro frames, data
+.framec := frames-1
+ shift
+ binclude ALLARGS
+ dc.w .framec
+ endm
+
; macro to repeat script from start
palscriptrept macro header
dc.w -4
diff --git a/sonic3k.macrosetup.asm b/sonic3k.macrosetup.asm
index fb2c284e..f2354ab1 100644
--- a/sonic3k.macrosetup.asm
+++ b/sonic3k.macrosetup.asm
@@ -87,3 +87,8 @@ tracenum := (tracenum+1)
endif
endm
tracenum := 0
+
+bit function nBits,1<<(nBits-1)
+signmask function val,nBits,-((-(val&bit(nBits)))&bit(nBits))
+signextend function val,nBits,(val+signmask(val,nBits))!signmask(val,nBits)
+signextendB function val,signextend(val,8)