sm:technical_information:data_structures
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
sm:technical_information:data_structures [2024/11/14 23:12] – [Room header] felixwright | sm:technical_information:data_structures [2024/11/16 08:12] (current) – felixwright | ||
---|---|---|---|
Line 21: | Line 21: | ||
Area indices | Area indices | ||
- | 0 Crateria | + | |0|Crateria |
- | 1 Brinstar | + | |1|Brinstar |
- | 2 Norfair | + | |2|Norfair |
- | 3 Wrecked Ship | + | |3|Wrecked Ship | |
- | 4 Maridia | + | |4|Maridia |
- | 5 Tourian | + | |5|Tourian |
- | 6 Ceres | + | |6|Ceres | |
- | 7 Debug | + | |7|Debug | |
Line 41: | Line 41: | ||
* The CRE bitset defines some flags that affect how the CRE is loaded during door transitions: | * The CRE bitset defines some flags that affect how the CRE is loaded during door transitions: | ||
- | 1 Disable layer 1 during door transitions into and out of the room | + | |1|Disable layer 1 during door transitions into and out of the room | |
- | 2 Reload the CRE | + | |2|Reload the CRE | |
- | 4 Load extra large tileset | + | |4|Load extra large tileset |
===== State conditions list ===== | ===== State conditions list ===== | ||
Line 59: | Line 59: | ||
List of state conditions used in Super Metroid | List of state conditions used in Super Metroid | ||
- | Condition | + | ^Condition^Parameters^Description |
- | $E5E6 Default | + | |$E5E6| |Default |
- | $E5EB dddd Check passes if the current door pointer = d | + | |$E5EB|dddd|Check passes if the current door pointer = d | |
- | $E5FF Check passes if main area boss is dead | + | |$E5FF| |Check passes if main area boss is dead | |
- | $E612 ee Check passes if event e is set | + | |$E612| ee |Check passes if event e is set | |
- | $E629 bb Check passes if area boss b is dead | + | |$E629| bb |Check passes if area boss b is dead | |
- | $E640 Check passes if morph ball has been collected | + | |$E640| |Check passes if morph ball has been collected |
- | $E652 Check passes if morph ball and missiles have been collected | + | |$E652| |Check passes if morph ball and missiles have been collected |
- | $E669 Check passes if power bombs have been collected | + | |$E669| |Check passes if power bombs have been collected |
- | $E678 Check passes if speed booster has been collected | + | |$E678| |Check passes if speed booster has been collected |
Event numbers are given as follows: | Event numbers are given as follows: | ||
- | 0 Zebes is awake | + | |0|Zebes is awake | |
- | 1 Shitroid ate sidehopper | + | |1|Shitroid ate sidehopper |
- | 2 Mother Brain' | + | |2|Mother Brain' |
- | 3 Zebetite 1 is destroyed | + | |3|Zebetite 1 is destroyed |
- | 4 Zebetite 2 is destroyed | + | |4|Zebetite 2 is destroyed |
- | 5 Zebetite 3 is destroyed | + | |5|Zebetite 3 is destroyed |
- | 6 Phantoon statue is grey | + | |6|Phantoon statue is grey | |
- | 7 Ridley statue is grey | + | |7|Ridley statue is grey | |
- | 8 Draygon statue is grey | + | |8|Draygon statue is grey | |
- | 9 Kraid statue is grey | + | |9|Kraid statue is grey | |
- | Ah Entrance to Tourian is unlocked | + | |Ah|Entrance to Tourian is unlocked |
- | Bh Maridia noobtube is broken | + | |Bh|Maridia noobtube is broken |
- | Ch Lower Norfair chozo has lowered the acid | + | |Ch|Lower Norfair chozo has lowered the acid | |
- | Dh Shaktool cleared a path | + | |Dh|Shaktool cleared a path | |
- | Eh Zebes timebomb set | + | |Eh|Zebes timebomb set | |
- | Fh Critters escaped | + | |Fh|Critters escaped |
- | 10h 1st Metroid hall cleared | + | |10h|1st Metroid hall cleared |
- | 11h 1st Metroid shaft cleared | + | |11h|1st Metroid shaft cleared |
- | 12h 2nd Metroid hall cleared | + | |12h|2nd Metroid hall cleared |
- | 13h 2nd Metroid shaft cleared | + | |13h|2nd Metroid shaft cleared |
- | 14h Unused | + | |14h|Unused |
- | 15h Outran speed booster lavaquake | + | |15h|Outran speed booster lavaquake |
Boss bits are given as follows: | Boss bits are given as follows: | ||
- | 1 Area boss (Kraid, Phantoon, Draygon, both Ridleys) | + | |1|Area boss (Kraid, Phantoon, Draygon, both Ridleys) |
- | 2 Area mini-boss (Spore Spawn, Botwoon, Crocomire, Mother Brain) | + | |2|Area mini-boss (Spore Spawn, Botwoon, Crocomire, Mother Brain) |
- | 4 Area torizo (Bomb Torizo, Golden Torizo) | + | |4|Area torizo (Bomb Torizo, Golden Torizo) |
Line 129: | Line 129: | ||
The elevator properties are as follows: | The elevator properties are as follows: | ||
- | 0x80 Door is an elevator | + | |0x80|Door is an elevator |
- | 0x40 Switch map to new area | + | |0x40|Switch map to new area | |
- | 0x0i Marks elevator index i as used (for debug mode) | + | |0x0i|Marks elevator index i as used (for debug mode) | |
The orientation values are as follows: | The orientation values are as follows: | ||
- | 0 Right | + | |0|Right | |
- | 1 Left | + | |1|Left | |
- | 2 Down | + | |2|Down | |
- | 3 Up | + | |3|Up | |
- | 4+ Door spawns a closing door cap | + | |4+|Door spawns a closing door cap | |
===== State header ===== | ===== State header ===== | ||
Line 163: | Line 163: | ||
Tilesets | Tilesets | ||
- | 0 Upper Crateria | + | |0|Upper Crateria |
- | 1 Red Crateria | + | |1|Red Crateria |
- | 2 Lower Crateria | + | |2|Lower Crateria |
- | 3 Old Tourian | + | |3|Old Tourian |
- | 4 Wrecked Ship - power on | + | |4|Wrecked Ship - power on | |
- | 5 Wrecked Ship - power off | + | |5|Wrecked Ship - power off | |
- | 6 Green/blue Brinstar | + | |6|Green/blue Brinstar |
- | 7 Red Brinstar / Kraid' | + | |7|Red Brinstar / Kraid' |
- | 8 Pre Tourian entrance corridor | + | |8|Pre Tourian entrance corridor |
- | 9 Heated Norfair | + | |9|Heated Norfair |
- | Ah Unheated Norfair | + | |Ah|Unheated Norfair |
- | Bh Sandless Maridia | + | |Bh|Sandless Maridia |
- | Ch Sandy Maridia | + | |Ch|Sandy Maridia |
- | Dh Tourian | + | |Dh|Tourian |
- | Eh Mother Brain' | + | |Eh|Mother Brain' |
- | Fh Blue Ceres | + | |Fh|Blue Ceres | |
- | 10h White Ceres | + | |10h|White Ceres | |
- | 11h Blue Ceres elevator | + | |11h|Blue Ceres elevator |
- | 12h White Ceres elevator | + | |12h|White Ceres elevator |
- | 13h Blue Ceres Ridley' | + | |13h|Blue Ceres Ridley' |
- | 14h White Ceres Ridley' | + | |14h|White Ceres Ridley' |
- | 15h Map room / Tourian entrance | + | |15h|Map room / Tourian entrance |
- | 16h Wrecked Ship map room - power off | + | |16h|Wrecked Ship map room - power off | |
- | 17h Blue refill room | + | |17h|Blue refill room | |
- | 18h Yellow refill room | + | |18h|Yellow refill room | |
- | 19h Save room | + | |19h|Save room | |
- | 1Ah Kraid' | + | |1Ah|Kraid' |
- | 1Bh Crocomire' | + | |1Bh|Crocomire' |
- | 1Ch Draygon' | + | |1Ch|Draygon' |
Music data indices | Music data indices | ||
- | 0 No change | + | |0|No change |
- | 3 Title sequence | + | |3|Title sequence |
- | 6 Empty Crateria | + | |6|Empty Crateria |
- | 9 Lower Crateria | + | |9|Lower Crateria |
- | Ch Upper Crateria | + | |Ch|Upper Crateria |
- | Fh Green Brinstar | + | |Fh|Green Brinstar |
- | 12h Red Brinstar | + | |12h|Red Brinstar |
- | 15h Upper Norfair | + | |15h|Upper Norfair |
- | 18h Lower Norfair | + | |18h|Lower Norfair |
- | 1Bh Maridia | + | |1Bh|Maridia |
- | 1Eh Tourian | + | |1Eh|Tourian |
- | 21h Mother Brain | + | |21h|Mother Brain | |
- | 24h Boss fight 1 | + | |24h|Boss fight 1 | |
- | 27h Boss fight 2 | + | |27h|Boss fight 2 | |
- | 2Ah Miniboss fight | + | |2Ah|Miniboss fight | |
- | 2Dh Ceres | + | |2Dh|Ceres | |
- | 30h Wrecked Ship | + | |30h|Wrecked Ship | |
- | 33h Zebes boom | + | |33h|Zebes boom | |
- | 36h Intro | + | |36h|Intro | |
- | 39h Death | + | |39h|Death | |
- | 3Ch Credits | + | |3Ch|Credits |
- | 3Fh “The last Metroid is in captivity” | + | |3Fh|“The last Metroid is in captivity” |
- | 42h “The galaxy is at peace” | + | |42h|“The galaxy is at peace” |
- | 45h Shitroid (same as boss fight 2) | + | |45h|Shitroid (same as boss fight 2) | |
- | 48h Samus theme (same as upper Crateria) | + | |48h|Samus theme (same as upper Crateria) |
Music track values | Music track values | ||
- | 0 No change | + | |0|No change |
- | 1 Samus fanfare | + | |1|Samus fanfare |
- | 2 Item fanfare | + | |2|Item fanfare |
- | 3 Elevator | + | |3|Elevator |
- | 4 Pre-statue hall | + | |4|Pre-statue hall | |
- | 5 Song 0 | + | |5|Song 0 | |
- | 6 Song 1 | + | |6|Song 1 | |
- | 7 Song 2 | + | |7|Song 2 | |
Line 291: | Line 291: | ||
Block types and BTS values | Block types and BTS values | ||
- | Air types Solid types | + | ^Air types^^Solid types ^^ |
- | 0 Air 8 Solid block | + | |0|Air |8|Solid block | |
- | 1 Slope 9 Door block | + | |1|Slope |9|Door block | |
- | 2 Spike air Ah Spike block | + | |2|Spike air |Ah|Spike block | |
- | 3 Special air Bh Special block | + | |3|Special air |Bh|Special block | |
- | 4 Shootable air Ch Shootable block | + | |4|Shootable air |Ch|Shootable block | |
- | 5 Horizontal extension | + | |5|Horizontal extension |
- | 6 Unused air Eh Grapple block | + | |6|Unused air |Eh|Grapple block | |
- | 7 Bombable air Fh Bombable block | + | |7|Bombable air |Fh|Bombable block | |
- | Block type BTS Description | + | |
- | 2 / Ah Spike 0 Solid only. Generic spike (60 damage) | + | |
- | 1 Solid only. Kraid' | + | ^Block Type^^ |
- | 2 Air only. Air spike (10h damage) | + | |2 / Ah|Spike|0||Solid only. Generic spike (60 damage) |
- | 3 Solid only. Draygon' | + | | ::: | ::: |1||Solid only. Kraid' |
- | Eh Solid only. X-rayable block (used in Blue Brinstar boulder room) | + | | ::: | ::: |2||Air only. Air spike (10h damage) |
- | Fh Solid only. Enemy breakable block (used in Shaktool' | + | | ::: | ::: |3||Solid only. Draygon' |
- | 3 / Bh Special | + | | ::: | ::: |Eh||Solid only. X-rayable block (used in Blue Brinstar boulder room) | |
- | 1 2×1 respawning crumble block | + | | ::: | ::: |Fh||Solid only. Enemy breakable block (used in Shaktool' |
- | 2 1×2 respawning crumble block | + | |3 / Bh|Special|0||1×1 respawning crumble block | |
- | 3 2×2 respawning crumble block | + | | ::: | ::: |1||2×1 respawning crumble block | |
- | 4 1×1 crumble block | + | | ::: | ::: |2||1×2 respawning crumble block | |
- | 5 2×1 crumble block | + | | ::: | ::: |3||2×2 respawning crumble block | |
- | 6 1×2 crumble block | + | | ::: | ::: |4||1×1 crumble block | |
- | 7 2×2 crumble block | + | | ::: | ::: |5||2×1 crumble block | |
- | 8 Air only. Rightwards treadmill, disabled in Wrecked Ship unless Phantoon is dead | + | | ::: | ::: |6||1×2 crumble block | |
- | 9 Air only. Leftwards treadmill, disabled in Wrecked Ship unless Phantoon is dead | + | | ::: | ::: |7||2×2 crumble block | |
- | Ah Air only. Rightwards treadmill, always on | + | | ::: | ::: |8||Air only. Rightwards treadmill, disabled in Wrecked Ship unless Phantoon is dead | |
- | Bh Air only. Leftwards treadmill, always on | + | | ::: | ::: |9||Air only. Leftwards treadmill, disabled in Wrecked Ship unless Phantoon is dead | |
- | Eh Respawning speed boost block | + | | ::: | ::: |Ah||Air only. Rightwards treadmill, always on | |
- | Fh Speed boost block | + | | ::: | ::: |Bh||Air only. Leftwards treadmill, always on | |
- | 44h Generic PLM shot trigger | + | | ::: | ::: |Eh||Respawning speed boost block | |
- | 45h Item collision detection | + | | ::: | ::: |Fh||Speed boost block | |
- | 46h Scroll PLM trigger | + | | ::: | ::: |44h||Generic PLM shot trigger |
- | 47h Map station right access | + | | ::: | ::: |45h||Item collision detection |
- | 48h Map station left access | + | | ::: | ::: |46h||Scroll PLM trigger |
- | 49h Energy station right access | + | | ::: | ::: |47h||Map station right access |
- | 4Ah Energy station left access | + | | ::: | ::: |48h||Map station left access |
- | 4Bh Missile station right access | + | | ::: | ::: |49h||Energy station right access |
- | 4Ch Missile station left access | + | | ::: | ::: |4Ah||Energy station left access |
- | 4Dh Save station trigger | + | | ::: | ::: |4Bh||Missile station right access |
- | Crateria/ | + | | ::: | ::: |4Ch||Missile station left access |
- | Brinstar | + | | ::: | ::: |4Dh||Save station trigger |
- | 81h Ceiling plant | + | | ::: | ::: |Crateria/ |
- | 82h Respawning speed block, slower crumble animation | + | | ::: | ::: |Brinstar|80h|Floor plant | |
- | 83h Speed block, slower crumble animation | + | | ::: | ::: | ::: |81h|Ceiling plant | |
- | 84h Respawning speed block (used by dachora pit) | + | | ::: | ::: | ::: |82h|Respawning speed block, slower crumble animation |
- | 85h Speed boost block | + | | ::: | ::: | ::: |83h|Speed block, slower crumble animation |
- | Norfair | + | | ::: | ::: | ::: |84h|Respawning speed block (used by dachora pit) | |
- | Wrecked Ship 80h Wrecked Ship chozo hand trigger | + | | ::: | ::: | ::: |85h|Speed boost block | |
- | Maridia | + | | ::: | ::: |Norfair|83h|Lower Norfair chozo hand trigger |
- | 81h Quicksand surface | + | | ::: | ::: |Wrecked Ship|80h|Wrecked Ship chozo hand trigger |
- | 82h Quicksand surface | + | | ::: | ::: |Maridia|80h|Quicksand surface, can run on without sinking (used in snail room) | |
- | 83h Submerging quicksand (used in sand falls rooms) | + | | ::: | ::: | ::: |81h|Quicksand surface |
- | 84h Sand falls - slow. Used in the ceilings of pre-Draygon mochtroid rooms (so basically unused) | + | | ::: | ::: | ::: |82h|Quicksand surface |
- | 85h Sand falls - fast | + | | ::: | ::: | ::: |83h|Submerging quicksand (used in sand falls rooms) |
- | 7 / Fh Bombable | + | | ::: | ::: | ::: |84h|Sand falls - slow. Used in the ceilings of pre-Draygon mochtroid rooms (so basically unused) |
- | 1 2×1 respawning bomb block | + | | ::: | ::: | ::: |85h|Sand falls - fast | |
- | 2 1×2 respawning bomb block | + | |7 / Fh|Bombable|0||1×1 respawning bomb block | |
- | 3 2×2 respawning bomb block | + | | ::: | ::: |1||2×1 respawning bomb block | |
- | 4 1×1 bomb block | + | | ::: | ::: |2||1×2 respawning bomb block | |
- | 5 2×1 bomb block | + | | ::: | ::: |3||2×2 respawning bomb block | |
- | 6 1×2 bomb block | + | | ::: | ::: |4||1×1 bomb block | |
- | 7 2×2 bomb block | + | | ::: | ::: |5||2×1 bomb block | |
- | 4 / Ch Shootable | + | | ::: | ::: |6||1×2 bomb block | |
- | 1 2×1 respawning shot block | + | | ::: | ::: |7||2×2 bomb block | |
- | 2 1×2 respawning shot block | + | |4 / Ch|Shootable|0||1×1 respawning shot block | |
- | 3 2×2 respawning shot block | + | | ::: | ::: |1||2×1 respawning shot block | |
- | 4 1×1 shot block | + | | ::: | ::: |2||1×2 respawning shot block | |
- | 5 2×1 shot block | + | | ::: | ::: |3||2×2 respawning shot block | |
- | 6 1×2 shot block | + | | ::: | ::: |4||1×1 shot block | |
- | 7 2×2 shot block | + | | ::: | ::: |5||2×1 shot block | |
- | 8 Respawning power bomb block | + | | ::: | ::: |6||1×2 shot block | |
- | 9 Power bomb block | + | | ::: | ::: |7||2×2 shot block | |
- | Ah Respawning super missile block | + | | ::: | ::: |8||Respawning power bomb block | |
- | Bh Super missile block | + | | ::: | ::: |9||Power bomb block | |
- | Ch Fake super missile block (solid block but shows super missile block when x-rayed) | + | | ::: | ::: |Ah||Respawning super missile block | |
- | Dh Fake super missile block | + | | ::: | ::: |Bh||Super missile block | |
- | Eh Fake super missile block | + | | ::: | ::: |Ch||Fake super missile block (solid block but shows super missile block when x-rayed) |
- | Fh Fake super missile block | + | | ::: | ::: |Dh||Fake super missile block | |
- | 10h Gate blocks | + | | ::: | ::: |Eh||Fake super missile block | |
- | 40h Blue door facing left | + | | ::: | ::: |Fh||Fake super missile block | |
- | 41h Blue door facing right | + | | ::: | ::: |10h||Gate blocks |
- | 42h Blue door facing up | + | | ::: | ::: |40h||Blue door facing left | |
- | 43h Blue door facing down | + | | ::: | ::: |41h||Blue door facing right | |
- | 44h Generic shot trigger | + | | ::: | ::: |42h||Blue door facing up | |
- | 45h Item trigger | + | | ::: | ::: |43h||Blue door facing down | |
- | 46h Left blue gate trigger | + | | ::: | ::: |44h||Generic shot trigger |
- | 47h Right blue gate trigger | + | | ::: | ::: |45h||Item trigger |
- | 48h Left red gate trigger | + | | ::: | ::: |46h||Left blue gate trigger |
- | 49h Right red gate trigger | + | | ::: | ::: |47h||Right blue gate trigger |
- | 4Ah Left green gate trigger | + | | ::: | ::: |48h||Left red gate trigger |
- | 4Bh Right green gate trigger | + | | ::: | ::: |49h||Right red gate trigger |
- | 4Ch Left orange gate trigger | + | | ::: | ::: |4Ah||Left green gate trigger |
- | 4Dh Right orange gate trigger | + | | ::: | ::: |4Bh||Right green gate trigger |
- | 4Fh Critters escape block | + | | ::: | ::: |4Ch||Left orange gate trigger |
- | Eh Grapple block 0 Generic grapple block | + | | ::: | ::: |4Dh||Right orange gate trigger |
- | 1 Respawning crumbling grapple block | + | | ::: | ::: |4Fh||Critters escape block | |
- | 2 Non-respawning crumbling grapple block | + | |Eh|Grapple block|0||Generic grapple block | |
- | 80h+ Grapple-through block | + | | ::: | ::: |1||Respawning crumbling grapple block | |
+ | | ::: | ::: |2||Non-respawning crumbling grapple block | | ||
+ | | ::: | ::: |80h+||Grapple-through block | | ||
Line 419: | Line 421: | ||
Layer 3 types | Layer 3 types | ||
- | 0 None | + | |0|None | |
- | 2 Lava | + | |2|Lava | |
- | 4 Acid | + | |4|Acid | |
- | 6 Water | + | |6|Water | |
- | 8 Spores | + | |8|Spores |
- | Ah Rain | + | |Ah|Rain | |
- | Ch Fog | + | |Ch|Fog | |
- | 20h Scrolling sky | + | |20h|Scrolling sky | |
- | 22h Unused | + | |22h|Unused |
- | 24h Fireflea | + | |24h|Fireflea |
- | 26h Tourian entrance statue | + | |26h|Tourian entrance statue |
- | 28h Ceres Ridley | + | |28h|Ceres Ridley |
- | 2Ah Ceres elevator | + | |2Ah|Ceres elevator |
- | 2Ch Haze | + | |2Ch|Haze | |
Layer blending configurations | Layer blending configurations | ||
- | 2/ | + | |2/Eh/20h|Normal. BG1/ |
- | 4 Normal, but BG2 is disabled | + | |4|Normal, but BG2 is disabled|Used by Phantoon |
- | 6 Normal, but sprites aren't affected by BG3 and sprites are added to BG1/BG2 (instead of hidden) | + | |6|Normal, but sprites aren't affected by BG3 and sprites are added to BG1/BG2 (instead of hidden)|Unused |
- | 8 Normal, but BG1/sprites aren't affected by BG3 and sprites are added to BG2 (instead of hidden) | + | |8|Normal, but BG1/sprites aren't affected by BG3 and sprites are added to BG2 (instead of hidden)|Used in some power off Wrecked Ship rooms | |
- | Ah Normal, but BG1 isn't affected by BG3 Used with FX layer 3 type = spores | + | |Ah|Normal, but BG1 isn't affected by BG3|Used with FX layer 3 type = spores |
- | Ch Normal, but BG3 is disabled and colour math is subtractive | + | |Ch|Normal, but BG3 is disabled and colour math is subtractive|Used with FX layer 3 type = fireflea |
- | 10h/ | + | |10h/12h|Normal, but BG3 is disabled inside window 1|Used by morph ball eye and varia/ |
- | 14h/ | + | |14h/22h|Normal, but BG1 isn't affected by BG3 and colour math is subtractive|Sometimes use with FX layer 3 type = water | |
- | 16h BG1/sprites are drawn after the result of drawing BG2/BG3 is subtracted | + | |16h|BG1/sprites are drawn after the result of drawing BG2/BG3 is subtracted|Sometimes use with FX layer 3 type = water | |
- | 18h/ | + | |18h/1Eh/30h|BG3 is drawn with the result of drawing BG1/ |
- | 1Ah Normal, but BG2 and BG3 have reversed roles Used by Phantoon | + | |1Ah|Normal, but BG2 and BG3 have reversed roles|Used by Phantoon |
- | 1Ch Normal, but BG2 and BG3 have reversed roles, colour addition is halved and backdrop is disabled | + | |1Ch|Normal, but BG2 and BG3 have reversed roles, colour addition is halved and backdrop is disabled|Unused |
- | 24h BG1/ | + | |24h|BG1/ |
- | 26h Normal, but colour addition is halved | + | |26h|Normal, but colour addition is halved|Unused |
- | 28h Normal, but BG3 is disabled, colour math is subtractive, | + | |28h|Normal, but BG3 is disabled, colour math is subtractive, |
- | 2Ah Normal, but BG3 is disabled, colour math is subtractive, | + | |2Ah|Normal, but BG3 is disabled, colour math is subtractive, |
- | 2Ch Normal, but BG3 is disabled | + | |2Ch|Normal, but BG3 is disabled|Used by FX layer 3 type = haze and torizos |
- | 2Eh Normal, but colour math is subtractive | + | |2Eh|Normal, but colour math is subtractive|Unused |
- | 32h Normal, but BG1 isn't affected by BG3 and colour math is subtractive | + | |32h|Normal, but BG1 isn't affected by BG3 and colour math is subtractive|Unused |
- | 34h Normal, but power bombs don't affect BG2 Unused | + | |34h|Normal, but power bombs don't affect BG2|Unused |
Liquid options | Liquid options | ||
- | 1 Liquid flows (leftwards) | + | |1|Liquid flows (leftwards) |
- | 2 Layer 2 is wavy | + | |2|Layer 2 is wavy | |
- | 4 Liquid physics are disabled (used in n00b tube room) | + | |4|Liquid physics are disabled (used in n00b tube room) | |
- | 40h Big tide (liquid fluctuates up and down, a la the gauntlet) | + | |40h|Big tide (liquid fluctuates up and down, a la the gauntlet) |
- | 80h Small tide (liquid fluctuates up and down) | + | |80h|Small tide (liquid fluctuates up and down) | |
- | |||
==== Enemy population ==== | ==== Enemy population ==== | ||
Line 484: | Line 485: | ||
The properties are as follows: | The properties are as follows: | ||
- | 8000h Hitbox solid to Samus | + | |8000h|Hitbox solid to Samus | |
- | 4000h Respawns if killed | + | |4000h|Respawns if killed |
- | 2000h Process instructions | + | |2000h|Process instructions |
- | 1000h Block plasma beam | + | |1000h|Block plasma beam | |
- | 800h Process whilst off-screen | + | |800h|Process whilst off-screen |
- | 400h Intangible | + | |400h|Intangible |
- | 200h Delete | + | |200h|Delete |
- | 100h Invisible | + | |100h|Invisible |
The extra properties are as follows: | The extra properties are as follows: | ||
- | 4 Enable extended spritemap format | + | |4|Enable extended spritemap format |
- | 1 Disable enemy AI. Isn't disabled if intangible | + | |1|Disable enemy AI. Isn't disabled if intangible |
==== Enemy set ==== | ==== Enemy set ==== | ||
Line 521: | Line 521: | ||
Scroll values are as follows: | Scroll values are as follows: | ||
- | 0 Red. Cannot scroll into this area | + | |0|Red. Cannot scroll into this area | |
- | 1 Blue. Hides the bottom 2 rows of the area | + | |1|Blue. Hides the bottom 2 rows of the area | |
- | 2 Green. Unrestricted | + | |2|Green. Unrestricted |
==== Special X-Ray Blocks ==== | ==== Special X-Ray Blocks ==== | ||
Line 542: | Line 542: | ||
The X/Y position is specified in (16px x 16px) block units. The block uses the level data block format, except that the block type is ignored. | The X/Y position is specified in (16px x 16px) block units. The block uses the level data block format, except that the block type is ignored. | ||
- | Note that flexglow uses this pointer for the flexglow table instead. | + | Note that [[https:// |
==== PLM population ==== | ==== PLM population ==== | ||
Line 571: | Line 571: | ||
The list of commands used in Super Metroid is as follows: | The list of commands used in Super Metroid is as follows: | ||
- | Type Parameters | + | ^Type^Parameters^Description |
- | 2 ssssss dddd nnnn Transfer n bytes from s to d in VRAM | + | |2|ssssss dddd nnnn|Transfer n bytes from s to d in VRAM | |
- | 4 ssssss dddd Decompress s to d in bank $7E | + | |4|ssssss dddd|Decompress s to d in bank $7E | |
- | 6 Clear layer 3 | + | |6| |Clear layer 3 | |
- | 8 ssssss dddd nnnn Transfer n bytes from s to d in VRAM and set BG3 tiles base address = $2000 | + | |8|ssssss dddd nnnn|Transfer n bytes from s to d in VRAM and set BG3 tiles base address = $2000 | |
- | Ah Clear layer 2 | + | |Ah| |Clear layer 2 | |
- | Ch Clear Kraid' | + | |Ch| |Clear Kraid' |
- | Eh DDDD ssssss dddd nnnn Transfer n bytes from s to d in VRAM if the current door pointer = D | + | |Eh|DDDD ssssss dddd nnnn|Transfer n bytes from s to d in VRAM if the current door pointer = D | |
===== Object formats ===== | ===== Object formats ===== | ||
Line 620: | Line 620: | ||
The draw instruction format is a list of: | The draw instruction format is a list of: | ||
- | nnnn ; Number of blocks | + | |
- | bbbb [...] ; Blocks | + | bbbb [...] ; Blocks |
- | xx yy ; X and Y offsets from origin to start drawing from | + | xx yy ; X and Y offsets from origin to start drawing from |
where the list is terminated by xx yy = 00 00. | where the list is terminated by xx yy = 00 00. | ||
Line 646: | Line 646: | ||
The properties are as follows: | The properties are as follows: | ||
- | 8000h Detect collisions with projectiles | + | 8000h Detect collisions with projectiles |
- | 4000h Don't die on contact | + | 4000h Don't die on contact |
- | 2000h Disable collisions with Samus | + | 2000h Disable collisions with Samus |
- | 1000h Low priority (drawn under enemies/ | + | 1000h Low priority (drawn under enemies/ |
The special instructions for enemy projectiles have the format: | The special instructions for enemy projectiles have the format: | ||
Line 725: | Line 725: | ||
Palette instructions are a mix of colours (which are positive values) and ASM instructions (negative values). Colours are written to successive positions in CGRAM starting from initial colour index. ASM instructions can modify the colour index between listed colour values, and the instruction $C595 is used to terminate the palette instruction list. | Palette instructions are a mix of colours (which are positive values) and ASM instructions (negative values). Colours are written to successive positions in CGRAM starting from initial colour index. ASM instructions can modify the colour index between listed colour values, and the instruction $C595 is used to terminate the palette instruction list. | ||
- |
sm/technical_information/data_structures.1731625966.txt.gz · Last modified: 2024/11/14 23:12 by felixwright