Skip to content

Commit

Permalink
Merge branch 'MapMacros'
Browse files Browse the repository at this point in the history
No more binary mappings!
  • Loading branch information
Clownacy committed Sep 8, 2023
2 parents 70b3b73 + 43c07f8 commit 5ca0f3a
Show file tree
Hide file tree
Showing 495 changed files with 16,343 additions and 1,135 deletions.
80 changes: 80 additions & 0 deletions MapMacros.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
; macro to declare a mappings table (taken from Sonic 2 Hg disassembly)
mappingsTable macro {INTLABEL}
__LABEL__ label *
.current_mappings_table := __LABEL__
endm

; macro to declare an entry in a mappings table (taken from Sonic 2 Hg disassembly)
mappingsTableEntry macro ptr
dc.ATTRIBUTE ptr-.current_mappings_table
endm

spriteHeader macro {INTLABEL}
__LABEL__ label *
if SonicMappingsVer==1
dc.b ((__LABEL___End - __LABEL___Begin) / 5)
elseif SonicMappingsVer==2
dc.w ((__LABEL___End - __LABEL___Begin) / 8)
else
dc.w ((__LABEL___End - __LABEL___Begin) / 6)
endif
__LABEL___Begin label *
endm

spritePiece macro xpos,ypos,width,height,tile,xflip,yflip,pal,pri
if SonicMappingsVer==1
dc.b ypos
dc.b (((width-1)&3)<<2)|((height-1)&3)
dc.b ((pri&1)<<7)|((pal&3)<<5)|((yflip&1)<<4)|((xflip&1)<<3)|((tile&$700)>>8)
dc.b tile&$FF
dc.b xpos
elseif SonicMappingsVer==2
dc.w ((ypos&$FF)<<8)|(((width-1)&3)<<2)|((height-1)&3)
dc.w ((pri&1)<<15)|((pal&3)<<13)|((yflip&1)<<12)|((xflip&1)<<11)|(tile&$7FF)
dc.w ((pri&1)<<15)|((pal&3)<<13)|((yflip&1)<<12)|((xflip&1)<<11)|((tile>>1)&$7FF)
dc.w xpos
else
dc.w ((ypos&$FF)<<8)|(((width-1)&3)<<2)|((height-1)&3)
dc.w ((pri&1)<<15)|((pal&3)<<13)|((yflip&1)<<12)|((xflip&1)<<11)|(tile&$7FF)
dc.w xpos
endif
endm

spritePiece2P macro xpos,ypos,width,height,tile,xflip,yflip,pal,pri,tile2,xflip2,yflip2,pal2,pri2
if SonicMappingsVer==1
dc.b ypos
dc.b (((width-1)&3)<<2)|((height-1)&3)
dc.b ((pri&1)<<7)|((pal&3)<<5)|((yflip&1)<<4)|((xflip&1)<<3)|((tile&$700)>>8)
dc.b tile&$FF
dc.b xpos
elseif SonicMappingsVer==2
dc.w ((ypos&$FF)<<8)|(((width-1)&3)<<2)|((height-1)&3)
dc.w ((pri&1)<<15)|((pal&3)<<13)|((yflip&1)<<12)|((xflip&1)<<11)|(tile&$7FF)
dc.w ((pri2&1)<<15)|((pal2&3)<<13)|((yflip2&1)<<12)|((xflip2&1)<<11)|(tile2&$7FF)
dc.w xpos
else
dc.w ((ypos&$FF)<<8)|(((width-1)&3)<<2)|((height-1)&3)
dc.w ((pri&1)<<15)|((pal&3)<<13)|((yflip&1)<<12)|((xflip&1)<<11)|(tile&$7FF)
dc.w xpos
endif
endm

dplcHeader macro {INTLABEL}
__LABEL__ label *
if SonicMappingsVer==1
dc.b ((__LABEL___End - __LABEL___Begin) / 2)
elseif SonicMappingsVer==2
dc.w ((__LABEL___End - __LABEL___Begin) / 2)
else
dc.w (((__LABEL___End - __LABEL___Begin) / 2)-1)
endif
__LABEL___Begin label *
endm

dplcEntry macro tiles,offset
if SonicMappingsVer==3
dc.w ((offset&$FFF)<<4)|((tiles-1)&$F)
else
dc.w (((tiles-1)&$F)<<12)|(offset&$FFF)
endif
endm
6 changes: 3 additions & 3 deletions SonLVL INI Files/ARZ/Leaves.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
<Images>
<ImageFromMappings id="imgsmall">
<ArtFile filename="../art/nemesis/Monitor and contents.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj31_b.bin" frame="0" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj31_b.asm" frame="0" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="imgmedium">
<ArtFile filename="../art/nemesis/Monitor and contents.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj31_b.bin" frame="1" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj31_b.asm" frame="1" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="imglarge">
<ArtFile filename="../art/nemesis/Monitor and contents.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj31_b.bin" frame="2" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj31_b.asm" frame="2" startpal="0" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
8 changes: 4 additions & 4 deletions SonLVL INI Files/ARZ/One-Way Barrier.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="../art/nemesis/One way barrier from ARZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj2D.bin" frame="0" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj2D.asm" frame="0" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="../art/nemesis/One way barrier from ARZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj2D.bin" frame="1" startpal="3" />
<MapFile type="ASM" filename="../mappings/sprite/obj2D.asm" frame="1" startpal="3" />
</ImageFromMappings>
<ImageFromMappings id="img3">
<ArtFile filename="../art/nemesis/One way barrier from ARZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj2D.bin" frame="2" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj2D.asm" frame="2" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img4">
<ArtFile filename="../art/nemesis/One way barrier from ARZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj2D.bin" frame="3" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj2D.asm" frame="3" startpal="1" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
4 changes: 2 additions & 2 deletions SonLVL INI Files/ARZ/Pillar.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<Images>
<ImageFromMappings id="platform">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj82.bin" frame="0" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj82.asm" frame="0" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="pillar">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj82.bin" frame="1" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj82.asm" frame="1" startpal="0" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
4 changes: 2 additions & 2 deletions SonLVL INI Files/ARZ/Platform.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<Images>
<ImageFromMappings id="small">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj18_b.bin" frame="0" startpal="2" />
<MapFile type="ASM" filename="../mappings/sprite/obj18_b.asm" frame="0" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="large">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj18_b.bin" frame="1" startpal="2" />
<MapFile type="ASM" filename="../mappings/sprite/obj18_b.asm" frame="1" startpal="2" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
4 changes: 2 additions & 2 deletions SonLVL INI Files/ARZ/RotatingPlatforms.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<Images>
<ImageFromMappings id="platform">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj83.bin" frame="0" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj83.asm" frame="0" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="chainlink">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj83.bin" frame="1" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj83.asm" frame="1" startpal="0" />
</ImageFromMappings>
</Images>
<Properties>
Expand Down
6 changes: 3 additions & 3 deletions SonLVL INI Files/ARZ/SwingingPlatform.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
<Images>
<ImageFromMappings id="platform">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj83.bin" frame="0" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj83.asm" frame="0" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="link">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj83.bin" frame="1" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj83.asm" frame="1" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="base">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj83.bin" frame="2" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj83.asm" frame="2" startpal="0" />
</ImageFromMappings>
</Images>
<Properties>
Expand Down
2 changes: 1 addition & 1 deletion SonLVL INI Files/CNZ/Bumper.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Images>
<ImageFromMappings id="bumper">
<ArtFile filename="../art/nemesis/Hexagonal bumper from CNZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/objD7.bin" frame="0" startpal="2" />
<MapFile type="ASM" filename="../mappings/sprite/objD7.asm" frame="0" startpal="2" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
2 changes: 1 addition & 1 deletion SonLVL INI Files/CNZ/Cage.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Images>
<ImageFromMappings id="cage">
<ArtFile filename="../art/nemesis/CNZ slot machine bars.bin" />
<MapFile type="Binary" filename="../mappings/sprite/objD6_b.bin" frame="0" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/objD6_b.asm" frame="0" startpal="0" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
4 changes: 2 additions & 2 deletions SonLVL INI Files/CNZ/Flipper.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<Images>
<ImageFromMappings id="horizontal">
<ArtFile filename="../art/nemesis/Flippers.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj86.bin" frame="0" startpal="2" />
<MapFile type="ASM" filename="../mappings/sprite/obj86.asm" frame="0" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="vertial">
<ArtFile filename="../art/nemesis/Flippers.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj86.bin" frame="4" startpal="2" />
<MapFile type="ASM" filename="../mappings/sprite/obj86.asm" frame="4" startpal="2" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
16 changes: 8 additions & 8 deletions SonLVL INI Files/CNZ/Pinball mode.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,35 +3,35 @@
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="../art/nemesis/Ring.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj03.bin" frame="0" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj03.asm" frame="0" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="../art/nemesis/Ring.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj03.bin" frame="1" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj03.asm" frame="1" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img3">
<ArtFile filename="../art/nemesis/Ring.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj03.bin" frame="2" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj03.asm" frame="2" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img4">
<ArtFile filename="../art/nemesis/Ring.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj03.bin" frame="3" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj03.asm" frame="3" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img5">
<ArtFile filename="../art/nemesis/Ring.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj03.bin" frame="4" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj03.asm" frame="4" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img6">
<ArtFile filename="../art/nemesis/Ring.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj03.bin" frame="5" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj03.asm" frame="5" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img7">
<ArtFile filename="../art/nemesis/Ring.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj03.bin" frame="6" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj03.asm" frame="6" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img8">
<ArtFile filename="../art/nemesis/Ring.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj03.bin" frame="7" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj03.asm" frame="7" startpal="1" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
4 changes: 2 additions & 2 deletions SonLVL INI Files/CNZ/Pressure spring.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<Images>
<ImageFromMappings id="up">
<ArtFile filename="../art/nemesis/Vertical impulse spring.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj85_a.bin" frame="0" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj85_a.asm" frame="0" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="diagonal">
<ArtFile filename="../art/nemesis/Diagonal impulse spring from CNZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj85_b.bin" frame="0" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj85_b.asm" frame="0" startpal="0" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
2 changes: 1 addition & 1 deletion SonLVL INI Files/CPZ/Blue worm thing.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Images>
<ImageFromMappings id="segment">
<ArtFile filename="../art/nemesis/CPZ worm enemy.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj1D.bin" frame="0" startpal="3" />
<MapFile type="ASM" filename="../mappings/sprite/obj1D.asm" frame="0" startpal="3" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
2 changes: 1 addition & 1 deletion SonLVL INI Files/CPZ/Exit spring.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Images>
<ImageFromMappings id="spring">
<ArtFile filename="../art/nemesis/CPZ spintube exit cover.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj7B.bin" frame="0" startpal="0" />
<MapFile type="ASM" filename="../mappings/sprite/obj7B.asm" frame="0" startpal="0" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
2 changes: 1 addition & 1 deletion SonLVL INI Files/CPZ/Moving Stairs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Images>
<ImageFromMappings id="segment">
<ArtFile filename="../art/nemesis/Moving block from CPZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj6B.bin" frame="0" startpal="3" />
<MapFile type="ASM" filename="../mappings/sprite/obj6B.asm" frame="0" startpal="3" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
8 changes: 4 additions & 4 deletions SonLVL INI Files/CPZ/One-Way Barrier.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="../art/nemesis/Stripy blocks from CPZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj2D.bin" frame="0" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj2D.asm" frame="0" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="../art/nemesis/Stripy blocks from CPZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj2D.bin" frame="1" startpal="3" />
<MapFile type="ASM" filename="../mappings/sprite/obj2D.asm" frame="1" startpal="3" />
</ImageFromMappings>
<ImageFromMappings id="img3">
<ArtFile filename="../art/nemesis/Stripy blocks from CPZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj2D.bin" frame="2" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj2D.asm" frame="2" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img4">
<ArtFile filename="../art/nemesis/Stripy blocks from CPZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj2D.bin" frame="3" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj2D.asm" frame="3" startpal="1" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
4 changes: 2 additions & 2 deletions SonLVL INI Files/CPZ/Platform.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<Images>
<ImageFromMappings id="large">
<ArtFile filename="../art/nemesis/Large moving platform from CNZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj19.bin" frame="0" startpal="3" />
<MapFile type="ASM" filename="../mappings/sprite/obj19.asm" frame="0" startpal="3" />
</ImageFromMappings>
<ImageFromMappings id="small">
<ArtFile filename="../art/nemesis/Large moving platform from CNZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj19.bin" frame="1" startpal="3" />
<MapFile type="ASM" filename="../mappings/sprite/obj19.asm" frame="1" startpal="3" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
2 changes: 1 addition & 1 deletion SonLVL INI Files/CPZ/Section of Pipe.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Images>
<ImageFromMappings id="section">
<ArtFile filename="../art/nemesis/Small yellow moving platform from CPZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj0B.bin" frame="0" startpal="3" />
<MapFile type="ASM" filename="../mappings/sprite/obj0B.asm" frame="0" startpal="3" />
</ImageFromMappings>
</Images>
<Properties>
Expand Down
2 changes: 1 addition & 1 deletion SonLVL INI Files/CPZ/Speed booster.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Images>
<ImageFromMappings id="booster">
<ArtFile filename="../art/nemesis/Speed booster from CPZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj1B.bin" frame="0" startpal="3" />
<MapFile type="ASM" filename="../mappings/sprite/obj1B.asm" frame="0" startpal="3" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
2 changes: 1 addition & 1 deletion SonLVL INI Files/CPZ/Stairs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<Images>
<ImageFromMappings id="segment">
<ArtFile filename="../art/nemesis/Moving block from CPZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj6B.bin" frame="0" startpal="3" />
<MapFile type="ASM" filename="../mappings/sprite/obj6B.asm" frame="0" startpal="3" />
</ImageFromMappings>
</Images>
<Subtypes>
Expand Down
6 changes: 3 additions & 3 deletions SonLVL INI Files/Common/Capsule.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
<Images>
<ImageFromMappings id="body">
<ArtFile filename="../art/nemesis/Egg Prison.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj3E.bin" frame="0" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj3E.asm" frame="0" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="switch">
<ArtFile filename="../art/nemesis/Egg Prison.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj3E.bin" frame="4" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj3E.asm" frame="4" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="lock">
<ArtFile filename="../art/nemesis/Egg Prison.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj3E.bin" frame="5" startpal="1" />
<MapFile type="ASM" filename="../mappings/sprite/obj3E.asm" frame="5" startpal="1" />
</ImageFromMappings>
</Images>
<DefaultImage>
Expand Down
Loading

0 comments on commit 5ca0f3a

Please sign in to comment.