Skip to content

Commit

Permalink
Improving SonLVL object definitions
Browse files Browse the repository at this point in the history
The 'trigger platform' definition is very sloppily put together.
BitProperties would be more suited, but I have no understanding of how
the object works, and there are some strange conditions that determine
which frame is used, so subtype 13 sometimes uses the wrong sprite (0
instead of 1).
  • Loading branch information
Clownacy committed Feb 13, 2015
1 parent 580beaf commit 660eff3
Show file tree
Hide file tree
Showing 13 changed files with 230 additions and 21 deletions.
22 changes: 22 additions & 0 deletions SonLVL INI Files/Common/Invisible lava marker.xml
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<ObjDef xmlns="http://www.sonicretro.org" Namespace="S2ObjectDefinitions.Common" TypeName="LavaMarker" Language="cs" Name="Invisible lava marker" Image="img1" RememberState="false">
<Images>
<ImageFromMappings id="img1">
<ArtFile filename=".../art/nemesis/Monitor and contents.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj31_b.bin" frame="0" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename=".../art/nemesis/Monitor and contents.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj31_b.bin" frame="1" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="img3">
<ArtFile filename=".../art/nemesis/Monitor and contents.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj31_b.bin" frame="2" startpal="0" />
</ImageFromMappings>
</Images>
<Subtypes>
<Subtype id="00" name="Small" image="img1" />
<Subtype id="01" name="Medium" image="img2" />
<Subtype id="02" name="Large" image="img3" />
</Subtypes>
</ObjDef>
27 changes: 27 additions & 0 deletions SonLVL INI Files/HTZ/Lift stake.xml
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<ObjDef xmlns="http://www.sonicretro.org" Namespace="S2ObjectDefinitions.HTZ" TypeName="Stake" Language="cs" Name="Lift stake" Image="img1" RememberState="false">
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="../art/nemesis/HTZ zip-line platform.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj16.bin" frame="3" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="../art/nemesis/HTZ zip-line platform.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj16.bin" frame="4" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="img3">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj1C_a.bin" frame="0" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="img4">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj1C_a.bin" frame="1" startpal="2" />
</ImageFromMappings>
</Images>
<Subtypes>
<Subtype id="04" name="Stake (left)" image="img1" />
<Subtype id="05" name="Stake (right)" image="img2" />
<Subtype id="07" name="Ground edge (left)" image="img3" />
<Subtype id="08" name="Ground edge (right)" image="img4" />
</Subtypes>
</ObjDef>
32 changes: 32 additions & 0 deletions SonLVL INI Files/HTZ/Smashable ground.xml
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<ObjDef xmlns="http://www.sonicretro.org" Namespace="S2ObjectDefinitions.HTZ" TypeName="SmashGround" Language="cs" Name="Smashable ground" Image="img1" RememberState="false">
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj2F.bin" frame="0" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj2F.bin" frame="2" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="img3">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj2F.bin" frame="4" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="img4">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj2F.bin" frame="6" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="img5">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj2F.bin" frame="8" startpal="2" />
</ImageFromMappings>
</Images>
<Subtypes>
<Subtype id="00" name="Full" image="img1" />
<Subtype id="02" name="Partly broken (1)" image="img2" />
<Subtype id="04" name="Partly broken (2)" image="img3" />
<Subtype id="06" name="Partly broken (3)" image="img4" />
<Subtype id="08" name="Partly broken (4)" image="img5" />
</Subtypes>
</ObjDef>
18 changes: 18 additions & 0 deletions SonLVL INI Files/MCZ/Brick.xml
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<ObjDef xmlns="http://www.sonicretro.org" Namespace="S2ObjectDefinitions.MCZ" TypeName="Brick" Language="cs" Name="Brick/Spike ball" Image="img1" RememberState="false" DefaultSubtype="0F" >
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj75.bin" frame="2" startpal="1" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj75.bin" frame="0" startpal="1" />
</ImageFromMappings>
</Images>
<Subtypes>
<Subtype id="0F" name="Brick" image="img1" />
<Subtype id="16" name="Spike ball (small radius)" image="img2" />
<Subtype id="17" name="Spike ball (large radius)" image="img2" />
</Subtypes>
</ObjDef>
22 changes: 22 additions & 0 deletions SonLVL INI Files/MTZ/Bolt end and rope.xml
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<ObjDef xmlns="http://www.sonicretro.org" Namespace="S2ObjectDefinitions.MTZ" TypeName="BoltEndRope" Language="cs" Name="Bolt end and rope" Image="img1" RememberState="false">
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="../art/nemesis/Bolt end and rope from MTZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj1C_e.bin" frame="0" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="../art/nemesis/Bolt end and rope from MTZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj1C_e.bin" frame="1" startpal="2" />
</ImageFromMappings>
<ImageFromMappings id="img3">
<ArtFile filename="../art/nemesis/Bolt end and rope from MTZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj1C_e.bin" frame="2" startpal="1" />
</ImageFromMappings>
</Images>
<Subtypes>
<Subtype id="00" name="Rope (right)" image="img1" />
<Subtype id="01" name="Rope (left)" image="img2" />
<Subtype id="03" name="Bolt end" image="img3" />
</Subtypes>
</ObjDef>
27 changes: 27 additions & 0 deletions SonLVL INI Files/MTZ/Platform moving in a circle.xml
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<ObjDef xmlns="http://www.sonicretro.org" Namespace="S2ObjectDefinitions.MTZ" TypeName="CirclePlatform" Language="cs" Name="Platform moving in a circle" Image="img2" RememberState="false" DefaultSubtype="10">
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj6E.bin" frame="0" startpal="3" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj6E.bin" frame="1" startpal="3" />
</ImageFromMappings>
<ImageFromMappings id="img3">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj6E.bin" frame="2" startpal="3" />
</ImageFromMappings>
<ImageFromMappings id="img4">
<ArtFile filename="../art/nemesis/Large spinning wheel from MTZ - indent.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj6E.bin" frame="3" startpal="3" />
</ImageFromMappings>
</Images>
<Subtypes>
<Subtype id="00" name="Edge piece" image="img1" />
<Subtype id="10" name="Connector" image="img2" />
<Subtype id="20" name="Central platform" image="img3" />
<Subtype id="31" name="Indent" image="img4" />
</Subtypes>
</ObjDef>
17 changes: 17 additions & 0 deletions SonLVL INI Files/MTZ/Spring wall.xml
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<ObjDef xmlns="http://www.sonicretro.org" Namespace="S2ObjectDefinitions.MTZ" TypeName="SpringWall" Language="cs" Name="Spring wall" Image="img1" RememberState="false" DefaultSubtype="01">
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="../art/nemesis/Monitor and contents.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj66.bin" frame="0" startpal="0" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="../art/nemesis/Monitor and contents.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj66.bin" frame="1" startpal="0" />
</ImageFromMappings>
</Images>
<Subtypes>
<Subtype id="01" name="Small" image="img1" />
<Subtype id="11" name="Large" image="img2" />
</Subtypes>
</ObjDef>
28 changes: 28 additions & 0 deletions SonLVL INI Files/MTZ/Trigger platform.xml
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<ObjDef xmlns="http://www.sonicretro.org" Namespace="S2ObjectDefinitions.MTZ" TypeName="TriggerPlatform" Language="cs" Name="Trigger platform" Image="img2" RememberState="false" DefaultSubtype="B0">
<Images>
<ImageFromMappings id="img1">
<ArtFile filename="LevelArt" />
<MapFile type="Binary" filename="../mappings/sprite/obj65_a.bin" frame="0" startpal="3" />
</ImageFromMappings>
<ImageFromMappings id="img2">
<ArtFile filename="../art/nemesis/Small cog from MTZ.bin" />
<MapFile type="Binary" filename="../mappings/sprite/obj65_b.bin" frame="0" startpal="3" />
</ImageFromMappings>
</Images>
<Subtypes>
<Subtype id="04" name="Platform" image="img1" />
<Subtype id="13" name="Platform" image="img1" />
<Subtype id="20" name="Cogs" image="img2" />
<Subtype id="80" name="Platform" image="img1" />
<Subtype id="81" name="Platform" image="img1" />
<Subtype id="82" name="Platform" image="img1" />
<Subtype id="83" name="Platform" image="img1" />
<Subtype id="85" name="Platform" image="img1" />
<Subtype id="B0" name="Platform" image="img1" />
<Subtype id="B1" name="Platform" image="img1" />
<Subtype id="B2" name="Platform" image="img1" />
<Subtype id="B3" name="Platform" image="img1" />
<Subtype id="B4" name="Platform" image="img1" />
</Subtypes>
</ObjDef>
2 changes: 2 additions & 0 deletions SonLVL INI Files/obj.ini
Expand Up @@ -21,6 +21,8 @@ map=../mappings/sprite/obj0D_a.bin
frame=2
[26]
xmlfile=Common/Monitor.xml
[31]
xmlfile=Common/Invisible lava marker.xml
[36]
xmlfile=Common/Spikes.xml
[3E]
Expand Down
7 changes: 7 additions & 0 deletions SonLVL INI Files/objARZ.ini
Expand Up @@ -4,6 +4,13 @@ art=LevelArt
map=../mappings/sprite/obj83.bin
frame=0
pal=0
[1F]
name=Falling platform
art=LevelArt
map=../mappings/sprite/obj1F_d.bin
frame=0
pal=2
defaultsubtype=00
[18]
xmlfile=ARZ/Platform.xml
[22]
Expand Down
6 changes: 5 additions & 1 deletion SonLVL INI Files/objHTZ.ini
Expand Up @@ -12,6 +12,10 @@ frame=0
pal=2
[18]
xmlfile=EHZ/Platform.xml
[1C]
xmlfile=HTZ/Lift stake.xml
[2F]
xmlfile=HTZ/Smashable ground.xml
[2D]
xmlfile=HTZ/Barrier.xml
[32]
Expand All @@ -37,6 +41,6 @@ pal=0
name=Rexon
art=../art/nemesis/Rexxon (lava snake) from HTZ.bin
map=../mappings/sprite/obj97.bin
frame=0
frame=2
defaultsubtype=0E
pal=3
9 changes: 2 additions & 7 deletions SonLVL INI Files/objMCZ.ini
Expand Up @@ -32,12 +32,7 @@ frame=0
pal=2
defaultsubtype=18
[75]
name=Brick
art=LevelArt
map=../mappings/sprite/obj75.bin
frame=2
pal=0
defaultsubtype=16
xmlfile=MCZ/Brick.xml
[76]
name=Spiked rectangle from wall
art=LevelArt|../art/nemesis/Long horizontal spike.bin:34176
Expand All @@ -53,7 +48,7 @@ frame=0
pal=3
defaultsubtype=03
[7A]
name=Drawbridge
name=Platform that moves back and forth
art=LevelArt
mapasm=../s2.asm
mapasmlbl=word_1025E
Expand Down
34 changes: 21 additions & 13 deletions SonLVL INI Files/objMTZ.ini
@@ -1,15 +1,13 @@
[06]
name=Rotating cylinder
[1C]
xmlfile=MTZ/Bolt end and rope.xml
[2D]
name=Door
art=LevelArt
map=../mappings/sprite/obj2D.bin
frame=1
pal=3
[31]
name=Lava cups
frame=0
defaultsubtype=01
[42]
name=Steam piston spring
art=LevelArt
Expand All @@ -31,16 +29,9 @@ frame=0
defaultsubtype=01
pal=1
[65]
name=Trigger platform
art=LevelArt
map=../mappings/sprite/obj65_a.bin
frame=0
defaultsubtype=B0
pal=3
xmlfile=MTZ/Trigger platform.xml
[66]
name=Spring wall
frame=0
defaultsubtype=01
xmlfile=MTZ/Spring wall.xml
[67]
name=Transporter
frame=0
Expand All @@ -59,6 +50,12 @@ frame=0
pal=1
subtypes=8D
defaultsubtype=1D
[6A]
name=Platform that moves when you walk off it
art=LevelArt
map=../mappings/sprite/obj65_a.bin
frame=1
pal=3
[6B]
name=Platform
art=LevelArt
Expand All @@ -67,7 +64,10 @@ frame=1
pal=3
[6C]
name=Lava cups
art=../art/nemesis/Lava cup from MTZ.bin
map=../mappings/sprite/obj6C.bin
frame=0
pal=3
defaultsubtype=80
[6D]
name=Spears
Expand All @@ -77,12 +77,20 @@ frame=0
pal=0
defaultsubtype=1C
rememberstate=True
[6E]
xmlfile=MTZ/Platform moving in a circle.xml
[70]
name=Gear
art=../art/nemesis/Large spinning wheel from MTZ.bin
map=../mappings/sprite/obj70.bin
frame=0
pal=3
[71]
name=Lava bubble
art=../art/nemesis/Lava bubble from MTZ.bin
map=../mappings/sprite/obj71_b.bin
frame=3
pal=2
[9F]
name=Shellcraker
art=../art/nemesis/Crabmeat badnik from MCZ.bin
Expand Down

0 comments on commit 660eff3

Please sign in to comment.