{"atlas":"no3-candle-atlas.png","opaqueAtlas":"no3-candle-opaque-atlas.png","stpAtlas":"no3-candle-stp-atlas.png","atlasWidth":96,"atlasHeight":32,"frames":{"1":{"frame":1,"animSet":3,"sourceFile":"DRA.BIN","pointerTableOffset":200556,"recordOffset":201196,"recordPointer":"0x800d11ec","parts":[{"x":0,"y":0,"width":24,"height":24,"drawOffsetX":-11,"drawOffsetY":-15,"mirroredDrawOffsetX":-12,"rawFlags":0,"rawPartOffset":201198,"rawPartBytesHex":"0000f5fff1ff18001800900178008000800098009800","packedTileset":120,"actualTpage":30,"quarter":0,"paletteId":400,"paletteOffset":266752,"sourceUV":[128,128,152,152],"intrinsicFlagsAppliedToAtlas":true,"blendMode":112,"abr":3,"stpScale":0.25,"semiTransparentEnabled":true,"opaquePixelCount":81,"stpPixelCount":172,"transparentPixelCount":323,"pixelIndexFrequencies":[323,39,5,6,3,4,8,2,5,7,2,49,43,37,34,9],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[27],"sourceRowOffsets":[221184,221248,221312,221376,221440,221504,221568,221632,221696,221760,221824,221888,221952,222016,222080,222144,222208,222272,222336,222400,222464,222528,222592,222656],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]},"2":{"frame":2,"animSet":3,"sourceFile":"DRA.BIN","pointerTableOffset":200560,"recordOffset":201224,"recordPointer":"0x800d1208","parts":[{"x":32,"y":0,"width":24,"height":24,"drawOffsetX":-12,"drawOffsetY":-15,"mirroredDrawOffsetX":-11,"rawFlags":2,"rawPartOffset":201226,"rawPartBytesHex":"0200f4fff1ff18001800900178008000800098009800","packedTileset":120,"actualTpage":30,"quarter":0,"paletteId":400,"paletteOffset":266752,"sourceUV":[128,128,152,152],"intrinsicFlagsAppliedToAtlas":true,"blendMode":112,"abr":3,"stpScale":0.25,"semiTransparentEnabled":true,"opaquePixelCount":81,"stpPixelCount":172,"transparentPixelCount":323,"pixelIndexFrequencies":[323,39,5,6,3,4,8,2,5,7,2,49,43,37,34,9],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[27],"sourceRowOffsets":[221184,221248,221312,221376,221440,221504,221568,221632,221696,221760,221824,221888,221952,222016,222080,222144,222208,222272,222336,222400,222464,222528,222592,222656],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]},"14":{"frame":14,"animSet":3,"sourceFile":"DRA.BIN","pointerTableOffset":200608,"recordOffset":201560,"recordPointer":"0x800d1358","parts":[{"x":64,"y":0,"width":16,"height":16,"drawOffsetX":-7,"drawOffsetY":-8,"mirroredDrawOffsetX":-8,"rawFlags":2,"rawPartOffset":201562,"rawPartBytesHex":"0200f9fff8ff1000100091017800e0008000f0009000","packedTileset":120,"actualTpage":30,"quarter":0,"paletteId":401,"paletteOffset":266784,"sourceUV":[224,128,240,144],"intrinsicFlagsAppliedToAtlas":true,"blendMode":0,"abr":0,"stpScale":1.0,"semiTransparentEnabled":false,"opaquePixelCount":40,"stpPixelCount":0,"transparentPixelCount":216,"pixelIndexFrequencies":[216,2,0,0,0,0,0,0,0,6,10,6,10,4,2,0],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[27],"sourceRowOffsets":[221232,221296,221360,221424,221488,221552,221616,221680,221744,221808,221872,221936,222000,222064,222128,222192],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]}},"palettes":{"400":{"id":400,"sourceFile":"BIN/F_GAME.BIN","offset":266752,"rawBytesHex":"00002104ee001f0abf3bde73b556667da77e367eff7f619ca2b4e3cc24e565fd","rawWords":[0,1057,238,2591,15295,29662,22197,32102,32423,32310,32767,40033,46242,52451,58660,64869],"rgba":[[0,0,0,0],[8,8,8,255],[115,57,0,255],[255,131,16,255],[255,238,115,255],[246,246,230,255],[172,172,172,255],[49,90,255,255],[57,172,255,255],[180,139,255,255],[255,255,255,255],[8,24,57,255],[16,41,106,255],[24,57,156,255],[32,74,205,255],[41,90,255,255]],"stpIndices":[11,12,13,14,15],"format":"RGB555 little-endian, bit15 is original STP; zero word transparent. Full RGBA preserves RGB and treats nonzero words as opaque; use split layers for STP drawing."},"401":{"id":401,"sourceFile":"BIN/F_GAME.BIN","offset":266784,"rawBytesHex":"0000050078017f02bf3b84102c45ae45b5560c00760cbf145f29ff39ff5ede7b","rawWords":[0,5,376,639,15295,4228,17708,17838,22197,12,3190,5311,10591,14847,24319,31710],"rgba":[[0,0,0,0],[41,0,0,255],[197,90,0,255],[255,156,0,255],[255,238,115,255],[32,32,32,255],[98,74,139,255],[115,106,139,255],[172,172,172,255],[98,0,0,255],[180,24,24,255],[255,41,41,255],[255,82,82,255],[255,123,115,255],[255,189,189,255],[246,246,246,255]],"stpIndices":[],"format":"RGB555 little-endian, bit15 is original STP; zero word transparent. Full RGBA preserves RGB and treats nonzero words as opaque; use split layers for STP drawing."}},"spriteBank":{"sourceFile":"DRA.BIN","bankIndex":3,"bankPointerTableOffset":15228,"bankOffset":200552,"bankPointer":"0x800d0f68"},"blendNote":"Opaque pixels draw with source-over. Only STP pixels use the original selected ABR: candle mode3 adds foreground/4; explosion mode1 adds foreground. Canvas lighter approximates this; PSX RGB555 arithmetic, saturation, quantization and texture modulation are not reproduced exactly.","format":"sotn-no3-candle-static-v1","originalDiscVersion":"SLUS-00067","decoderReferenceCommit":"0622fcfd37311fd21baf2938c6bd74cea63005ba","entityId":1,"name":"EntityBreakable","sourceName":"E_BREAKABLE","supportedBreakableType":0,"initFields":[3,0,0,0,0],"initDefinition":{"sourceFile":"ST/NO3/NO3.BIN","offset":2732,"pointer":"0x80180aac","rawBytesHex":"03000000000000000000"},"enemyFields":[32767,0,0,2,8,8,-1390403584],"enemyDefinition":{"sourceFile":"DRA.BIN","tablePointerOffset":152,"tableOffset":35072,"index":0,"offset":35072,"pointer":"0x800a8900","rawBytesHex":"8cd10d80ff7f000000000000020000000000000000000000000000000000000000000808002020ad","namePointer":"0x800dd18c","flagsUnsigned":2904563712,"flagsHex":"0xad202000","flagsSigned":-1390403584,"flagNote":"enemyFields contains signed32 flags for the Java int API; flagsUnsigned preserves the identical original bits."},"animationPairs":[4,1,4,2,0,0],"animation":{"sourceFile":"ST/NO3/NO3.BIN","offset":3648,"pointer":"0x80180e40","pairs":[4,1,4,2,0,0],"durations":[4,4],"frames":[1,2],"loopStart":0,"records":[{"recordOffset":3648,"duration":4,"frame":1},{"recordOffset":3650,"duration":4,"frame":2},{"recordOffset":3652,"duration":0,"frame":0}]},"blendMode":112,"abr":3,"stpScale":0.25,"hitboxHeightOverride":8,"animSetOverride":3,"tables":{"sourceFile":"ST/NO3/NO3.BIN","animationPointerTableOffset":3664,"animationPointers":["0x80180e40","0x80180e48","0x0","0x0","0x0","0x0","0x0","0x0"],"hitboxHeightsOffset":3696,"hitboxHeights":[8,8,0,0,0,0,0,0],"explosionTypesOffset":3704,"explosionTypes":[0,0,0,0,0,0,0,0],"animationSetsOffset":3712,"animationSets":[3,3,0,0,0,0,0,0],"blendModesOffset":3728,"blendModes":[112,48,0,0,0,0,0,0],"rawBytesOffset":3648,"rawBytesHex":"04010402000000000400040000000000400e1880480e1880000000000000000000000000000000000000000000000000080800000000000000000000000000000300030000000000000000000000000070300000000000000000000000000000"},"smallHeart":{"entityId":3,"name":"EntityPrizeDrop","sourceName":"E_PRIZE_DROP","params":0,"initFields":[3,0,0,0,1],"initDefinition":{"sourceFile":"ST/NO3/NO3.BIN","offset":2744,"pointer":"0x80180ab8","rawBytesHex":"03000000000000000100"},"enemyFields":[32767,0,0,1,8,12,220209152],"enemyDefinition":{"sourceFile":"DRA.BIN","tablePointerOffset":152,"tableOffset":35072,"index":1,"offset":35112,"pointer":"0x800a8928","rawBytesHex":"8cd10d80ff7f00000000000001000000000000000000000000000000000000000000080c0020200d","namePointer":"0x800dd18c","flagsUnsigned":220209152,"flagsHex":"0xd202000","flagsSigned":220209152,"flagNote":"enemyFields contains signed32 flags for the Java int API; flagsUnsigned preserves the identical original bits."},"animationPairs":[1,14,0,0],"animation":{"sourceFile":"ST/NO3/NO3.BIN","offset":8900,"pointer":"0x801822c4","pairs":[1,14,0,0],"durations":[1],"frames":[14],"loopStart":0,"records":[{"recordOffset":8900,"duration":1,"frame":14},{"recordOffset":8902,"duration":0,"frame":0}]},"animationPointerTableOffset":9352,"frame":14,"blendMode":0,"hitboxWidthOverride":4,"heartValue":1,"heartPrizeDefinition":{"sourceFile":"ST/NO3/NO3.BIN","offset":9456,"rawBytesHex":"0105","values":[1,5]},"fieldCollisionDefinition":{"sourceFile":"ST/NO3/NO3.BIN","offset":9448,"pointer":"0x801824e8","values":[-6,4,0,-8],"rawBytesHex":"faff04000000f8ff"},"constants":{"initialFallSpeedFixed":-65536,"initialSwayGravityFixed":2048,"verticalGravityFixed":8192,"verticalGuardFixed":16384,"swayFlipVelocityFixed":65536,"groundLifetimeTicks":96,"blinkLifetimeTicks":64,"pickupStepMin":2,"pickupStepMax":4,"fieldCollisionOffsets":[-6,4,0,-8],"groundSensorY":7,"ceilingSensorY":-7,"keepAliveParamsMask":32768},"code":{"prizeDrop":{"sourceFile":"ST/NO3/NO3.BIN","name":"EntityPrizeDrop","startOffset":288388,"endOffsetExclusive":290552,"bytes":2164,"sha256":"41364de8ce9cd927372573d1c14805974579082d0f335243abd5d37fcfea79c4","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/e_collect.h","entityId":3,"updatePointerTableOffset":2348,"pointer":"0x801c6684"},"fallHelpers":{"sourceFile":"ST/NO3/NO3.BIN","name":"PrizeDropFall and PrizeDropFall2","startOffset":286996,"endOffsetExclusive":287476,"bytes":480,"sha256":"ba7d0bcb7179d6b8c502cec09250afd7e529a0ee8b68f38fe4a6c2deaa0203c7","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/e_collect.h"},"collectHeart":{"sourceFile":"ST/NO3/NO3.BIN","name":"CollectHeart","startOffset":287476,"endOffsetExclusive":287604,"bytes":128,"sha256":"aef1337e104c031a8a3657fd8ea8a224bd01997a5faf30c345160f3bb2c75e95","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/e_collect.h"}},"pickupNote":"Original hitFlags collection is permitted at steps2..4. Adds1 heart and clamps to g_Status.heartsMax; the local Java engine's overlap and player status are documented separately."},"explosion0":{"atlas":"no3-candle-explosion-atlas.png","opaqueAtlas":"no3-candle-explosion-opaque-atlas.png","stpAtlas":"no3-candle-explosion-stp-atlas.png","atlasWidth":128,"atlasHeight":64,"frames":{"1":{"frame":1,"animSet":2,"sourceFile":"DRA.BIN","pointerTableOffset":196372,"recordOffset":196640,"recordPointer":"0x800d0020","parts":[{"x":0,"y":0,"width":16,"height":16,"drawOffsetX":-8,"drawOffsetY":-10,"mirroredDrawOffsetX":-7,"rawFlags":0,"rawPartOffset":196642,"rawPartBytesHex":"0000f8fff6ff10001000700168004000200050003000","packedTileset":104,"actualTpage":26,"quarter":0,"paletteId":368,"paletteOffset":265728,"sourceUV":[64,32,80,48],"intrinsicFlagsAppliedToAtlas":true,"blendMode":48,"abr":1,"stpScale":1.0,"semiTransparentEnabled":true,"opaquePixelCount":122,"stpPixelCount":0,"transparentPixelCount":134,"pixelIndexFrequencies":[134,0,0,0,0,0,0,0,0,0,0,18,1,24,20,59],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[8],"sourceRowOffsets":[67616,67680,67744,67808,67872,67936,68000,68064,68128,68192,68256,68320,68384,68448,68512,68576],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]},"2":{"frame":2,"animSet":2,"sourceFile":"DRA.BIN","pointerTableOffset":196376,"recordOffset":196668,"recordPointer":"0x800d003c","parts":[{"x":32,"y":0,"width":16,"height":16,"drawOffsetX":-8,"drawOffsetY":-10,"mirroredDrawOffsetX":-7,"rawFlags":2,"rawPartOffset":196670,"rawPartBytesHex":"0200f8fff6ff10001000700168004000200050003000","packedTileset":104,"actualTpage":26,"quarter":0,"paletteId":368,"paletteOffset":265728,"sourceUV":[64,32,80,48],"intrinsicFlagsAppliedToAtlas":true,"blendMode":48,"abr":1,"stpScale":1.0,"semiTransparentEnabled":true,"opaquePixelCount":122,"stpPixelCount":0,"transparentPixelCount":134,"pixelIndexFrequencies":[134,0,0,0,0,0,0,0,0,0,0,18,1,24,20,59],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[8],"sourceRowOffsets":[67616,67680,67744,67808,67872,67936,68000,68064,68128,68192,68256,68320,68384,68448,68512,68576],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]},"3":{"frame":3,"animSet":2,"sourceFile":"DRA.BIN","pointerTableOffset":196380,"recordOffset":196696,"recordPointer":"0x800d0058","parts":[{"x":64,"y":0,"width":16,"height":16,"drawOffsetX":-8,"drawOffsetY":-10,"mirroredDrawOffsetX":-7,"rawFlags":0,"rawPartOffset":196698,"rawPartBytesHex":"0000f8fff6ff10001000700168005000200060003000","packedTileset":104,"actualTpage":26,"quarter":0,"paletteId":368,"paletteOffset":265728,"sourceUV":[80,32,96,48],"intrinsicFlagsAppliedToAtlas":true,"blendMode":48,"abr":1,"stpScale":1.0,"semiTransparentEnabled":true,"opaquePixelCount":82,"stpPixelCount":0,"transparentPixelCount":174,"pixelIndexFrequencies":[174,0,0,0,0,0,0,0,0,0,16,18,2,22,17,7],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[8],"sourceRowOffsets":[67624,67688,67752,67816,67880,67944,68008,68072,68136,68200,68264,68328,68392,68456,68520,68584],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]},"4":{"frame":4,"animSet":2,"sourceFile":"DRA.BIN","pointerTableOffset":196384,"recordOffset":196724,"recordPointer":"0x800d0074","parts":[{"x":96,"y":0,"width":16,"height":16,"drawOffsetX":-8,"drawOffsetY":-10,"mirroredDrawOffsetX":-7,"rawFlags":2,"rawPartOffset":196726,"rawPartBytesHex":"0200f8fff6ff10001000700168005000200060003000","packedTileset":104,"actualTpage":26,"quarter":0,"paletteId":368,"paletteOffset":265728,"sourceUV":[80,32,96,48],"intrinsicFlagsAppliedToAtlas":true,"blendMode":48,"abr":1,"stpScale":1.0,"semiTransparentEnabled":true,"opaquePixelCount":82,"stpPixelCount":0,"transparentPixelCount":174,"pixelIndexFrequencies":[174,0,0,0,0,0,0,0,0,0,16,18,2,22,17,7],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[8],"sourceRowOffsets":[67624,67688,67752,67816,67880,67944,68008,68072,68136,68200,68264,68328,68392,68456,68520,68584],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]},"5":{"frame":5,"animSet":2,"sourceFile":"DRA.BIN","pointerTableOffset":196388,"recordOffset":196752,"recordPointer":"0x800d0090","parts":[{"x":0,"y":32,"width":16,"height":16,"drawOffsetX":-8,"drawOffsetY":-10,"mirroredDrawOffsetX":-7,"rawFlags":0,"rawPartOffset":196754,"rawPartBytesHex":"0000f8fff6ff10001000700168006000200070003000","packedTileset":104,"actualTpage":26,"quarter":0,"paletteId":368,"paletteOffset":265728,"sourceUV":[96,32,112,48],"intrinsicFlagsAppliedToAtlas":true,"blendMode":48,"abr":1,"stpScale":1.0,"semiTransparentEnabled":true,"opaquePixelCount":43,"stpPixelCount":0,"transparentPixelCount":213,"pixelIndexFrequencies":[213,0,0,0,0,0,0,0,0,0,7,8,7,9,12,0],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[8],"sourceRowOffsets":[67632,67696,67760,67824,67888,67952,68016,68080,68144,68208,68272,68336,68400,68464,68528,68592],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]},"6":{"frame":6,"animSet":2,"sourceFile":"DRA.BIN","pointerTableOffset":196392,"recordOffset":196780,"recordPointer":"0x800d00ac","parts":[{"x":32,"y":32,"width":16,"height":16,"drawOffsetX":-8,"drawOffsetY":-10,"mirroredDrawOffsetX":-7,"rawFlags":2,"rawPartOffset":196782,"rawPartBytesHex":"0200f8fff6ff10001000700168006000200070003000","packedTileset":104,"actualTpage":26,"quarter":0,"paletteId":368,"paletteOffset":265728,"sourceUV":[96,32,112,48],"intrinsicFlagsAppliedToAtlas":true,"blendMode":48,"abr":1,"stpScale":1.0,"semiTransparentEnabled":true,"opaquePixelCount":43,"stpPixelCount":0,"transparentPixelCount":213,"pixelIndexFrequencies":[213,0,0,0,0,0,0,0,0,0,7,8,7,9,12,0],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[8],"sourceRowOffsets":[67632,67696,67760,67824,67888,67952,68016,68080,68144,68208,68272,68336,68400,68464,68528,68592],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]},"7":{"frame":7,"animSet":2,"sourceFile":"DRA.BIN","pointerTableOffset":196396,"recordOffset":196808,"recordPointer":"0x800d00c8","parts":[{"x":64,"y":32,"width":16,"height":16,"drawOffsetX":-8,"drawOffsetY":-10,"mirroredDrawOffsetX":-7,"rawFlags":0,"rawPartOffset":196810,"rawPartBytesHex":"0000f8fff6ff10001000700168007000200080003000","packedTileset":104,"actualTpage":26,"quarter":0,"paletteId":368,"paletteOffset":265728,"sourceUV":[112,32,128,48],"intrinsicFlagsAppliedToAtlas":true,"blendMode":48,"abr":1,"stpScale":1.0,"semiTransparentEnabled":true,"opaquePixelCount":20,"stpPixelCount":0,"transparentPixelCount":236,"pixelIndexFrequencies":[236,0,0,0,0,0,0,0,0,0,9,8,2,1,0,0],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[8],"sourceRowOffsets":[67640,67704,67768,67832,67896,67960,68024,68088,68152,68216,68280,68344,68408,68472,68536,68600],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]},"8":{"frame":8,"animSet":2,"sourceFile":"DRA.BIN","pointerTableOffset":196400,"recordOffset":196836,"recordPointer":"0x800d00e4","parts":[{"x":96,"y":32,"width":16,"height":16,"drawOffsetX":-8,"drawOffsetY":-10,"mirroredDrawOffsetX":-7,"rawFlags":2,"rawPartOffset":196838,"rawPartBytesHex":"0200f8fff6ff10001000700168007000200080003000","packedTileset":104,"actualTpage":26,"quarter":0,"paletteId":368,"paletteOffset":265728,"sourceUV":[112,32,128,48],"intrinsicFlagsAppliedToAtlas":true,"blendMode":48,"abr":1,"stpScale":1.0,"semiTransparentEnabled":true,"opaquePixelCount":20,"stpPixelCount":0,"transparentPixelCount":236,"pixelIndexFrequencies":[236,0,0,0,0,0,0,0,0,0,9,8,2,1,0,0],"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlocks":[8],"sourceRowOffsets":[67640,67704,67768,67832,67896,67960,68024,68088,68152,68216,68280,68344,68408,68472,68536,68600],"rowOffsetNote":"Each entry starts at the left bound before intrinsic X flip. Source UV and nibble order retain the original pixel selection."}]}},"palettes":{"368":{"id":368,"sourceFile":"BIN/F_GAME.BIN","offset":265728,"rawBytesHex":"00000080e003003c0049005940598061827c3f6233001c019f315f027f3bff63","rawWords":[0,32768,992,15360,18688,22784,22848,24960,31874,25151,51,284,12703,607,15231,25599],"rgba":[[0,0,0,0],[0,0,0,255],[0,255,0,255],[0,0,123,255],[0,65,148,255],[0,65,180,255],[0,82,180,255],[0,98,197,255],[16,32,255,255],[255,139,197,255],[156,8,0,255],[230,65,0,255],[255,98,98,255],[255,148,0,255],[255,222,115,255],[255,255,197,255]],"stpIndices":[1],"format":"RGB555 little-endian, bit15 is original STP; zero word transparent. Full RGBA preserves RGB and treats nonzero words as opaque; use split layers for STP drawing."}},"spriteBank":{"sourceFile":"DRA.BIN","bankIndex":2,"bankPointerTableOffset":15224,"bankOffset":196368,"bankPointer":"0x800cff10"},"blendNote":"Opaque pixels draw with source-over. Only STP pixels use the original selected ABR: candle mode3 adds foreground/4; explosion mode1 adds foreground. Canvas lighter approximates this; PSX RGB555 arithmetic, saturation, quantization and texture modulation are not reproduced exactly.","entityId":2,"name":"EntityExplosion","sourceName":"E_EXPLOSION","params":0,"initFields":[3,0,0,0,2],"initDefinition":{"sourceFile":"ST/NO3/NO3.BIN","offset":2756,"pointer":"0x80180ac4","rawBytesHex":"03000000000000000200"},"enemyFields":[32767,0,0,0,0,0,-853532672],"enemyDefinition":{"sourceFile":"DRA.BIN","tablePointerOffset":152,"tableOffset":35072,"index":2,"offset":35152,"pointer":"0x800a8950","rawBytesHex":"8cd10d80ff7f000000000000000000000000000000000000000000000000000000000000002020cd","namePointer":"0x800dd18c","flagsUnsigned":3441434624,"flagsHex":"0xcd202000","flagsSigned":-853532672,"flagNote":"enemyFields contains signed32 flags for the Java int API; flagsUnsigned preserves the identical original bits."},"animationPairs":[2,1,2,2,2,3,2,4,2,5,2,6,2,7,2,8,0,0],"animation":{"sourceFile":"ST/NO3/NO3.BIN","offset":9480,"pointer":"0x80182508","pairs":[2,1,2,2,2,3,2,4,2,5,2,6,2,7,2,8,0,0],"durations":[2,2,2,2,2,2,2,2],"frames":[1,2,3,4,5,6,7,8],"loopStart":0,"records":[{"recordOffset":9480,"duration":2,"frame":1},{"recordOffset":9482,"duration":2,"frame":2},{"recordOffset":9484,"duration":2,"frame":3},{"recordOffset":9486,"duration":2,"frame":4},{"recordOffset":9488,"duration":2,"frame":5},{"recordOffset":9490,"duration":2,"frame":6},{"recordOffset":9492,"duration":2,"frame":7},{"recordOffset":9494,"duration":2,"frame":8},{"recordOffset":9496,"duration":0,"frame":0}]},"animationPointerTableOffset":9632,"velocityYFixed":-65536,"velocityDefinition":{"sourceFile":"ST/NO3/NO3.BIN","offset":9460,"rawBytesHex":"0000ffff","fixedFormat":"signed16.16"},"animSetOverride":2,"blendMode":48,"abr":1,"stpScale":1.0,"allocationPool":{"firstGlobalSlot":224,"endGlobalSlotExclusive":256,"maximumEffects":32},"destroyOnAnimationLoop":true,"frame0Hidden":true,"code":{"sourceFile":"ST/NO3/NO3.BIN","name":"EntityExplosion","startOffset":290552,"endOffsetExclusive":290804,"bytes":252,"sha256":"0137e20f35cf5b730ca3cc620c5d6a8e4320fa755326391df93a0842459a737c","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/e_collect.h","entityId":2,"updatePointerTableOffset":2344,"pointer":"0x801c6ef8"}},"placements":[{"layoutIndex":4,"recordOffset":17346,"recordPointer":"0x801843c2","rawBytesHex":"1001880001a001010000","rawWords":[272,136,40961,257,0],"recordType":"entity","x":272,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":257,"params":0,"slot":1,"entityRoomIndex":1,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":3,"verticalRecordOffset":19268,"roomId":2,"objLayoutId":3,"roomHeaderOffset":15572,"globalSlot":65,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":1,"preventWordIndex":0,"preventBitMask":1},{"layoutIndex":6,"recordOffset":17366,"recordPointer":"0x801843d6","rawBytesHex":"f001880001a002030000","rawWords":[496,136,40961,770,0],"recordType":"entity","x":496,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":770,"params":0,"slot":2,"entityRoomIndex":3,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":4,"verticalRecordOffset":19278,"roomId":2,"objLayoutId":3,"roomHeaderOffset":15572,"globalSlot":66,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":3,"preventWordIndex":0,"preventBitMask":4},{"layoutIndex":7,"recordOffset":17376,"recordPointer":"0x801843e0","rawBytesHex":"d002880001a003040000","rawWords":[720,136,40961,1027,0],"recordType":"entity","x":720,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1027,"params":0,"slot":3,"entityRoomIndex":4,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":5,"verticalRecordOffset":19288,"roomId":2,"objLayoutId":3,"roomHeaderOffset":15572,"globalSlot":67,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":4,"preventWordIndex":0,"preventBitMask":8},{"layoutIndex":10,"recordOffset":17406,"recordPointer":"0x801843fe","rawBytesHex":"3004880001a004060000","rawWords":[1072,136,40961,1540,0],"recordType":"entity","x":1072,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1540,"params":0,"slot":4,"entityRoomIndex":6,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":6,"verticalRecordOffset":19298,"roomId":2,"objLayoutId":3,"roomHeaderOffset":15572,"globalSlot":68,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":6,"preventWordIndex":0,"preventBitMask":32},{"layoutIndex":12,"recordOffset":17426,"recordPointer":"0x80184412","rawBytesHex":"1105880001a005080000","rawWords":[1297,136,40961,2053,0],"recordType":"entity","x":1297,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":2053,"params":0,"slot":5,"entityRoomIndex":8,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":7,"verticalRecordOffset":19308,"roomId":2,"objLayoutId":3,"roomHeaderOffset":15572,"globalSlot":69,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":8,"preventWordIndex":0,"preventBitMask":128},{"layoutIndex":15,"recordOffset":17456,"recordPointer":"0x80184430","rawBytesHex":"f005880001a0060a0000","rawWords":[1520,136,40961,2566,0],"recordType":"entity","x":1520,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":2566,"params":0,"slot":6,"entityRoomIndex":10,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":8,"verticalRecordOffset":19318,"roomId":2,"objLayoutId":3,"roomHeaderOffset":15572,"globalSlot":70,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":10,"preventWordIndex":0,"preventBitMask":512},{"layoutIndex":2,"recordOffset":16046,"recordPointer":"0x80183eae","rawBytesHex":"5000a80001a004010e00","rawWords":[80,168,40961,260,14],"recordType":"entity","x":80,"y":168,"entityId":1,"rawEntityId":40961,"rawRoomIndex":260,"params":14,"slot":4,"entityRoomIndex":1,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":2,"verticalRecordOffset":17978,"roomId":3,"objLayoutId":4,"roomHeaderOffset":15580,"globalSlot":68,"breakableType":0,"originalPrizeParams":14,"prizeImplemented":false,"persistenceIndex":1,"preventWordIndex":0,"preventBitMask":1},{"layoutIndex":3,"recordOffset":16056,"recordPointer":"0x80183eb8","rawBytesHex":"8000a80001a005020100","rawWords":[128,168,40961,517,1],"recordType":"entity","x":128,"y":168,"entityId":1,"rawEntityId":40961,"rawRoomIndex":517,"params":1,"slot":5,"entityRoomIndex":2,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":3,"verticalRecordOffset":17988,"roomId":3,"objLayoutId":4,"roomHeaderOffset":15580,"globalSlot":69,"breakableType":0,"originalPrizeParams":1,"prizeImplemented":false,"persistenceIndex":2,"preventWordIndex":0,"preventBitMask":2},{"layoutIndex":1,"recordOffset":15876,"recordPointer":"0x80183e04","rawBytesHex":"4000800101a003020200","rawWords":[64,384,40961,515,2],"recordType":"entity","x":64,"y":384,"entityId":1,"rawEntityId":40961,"rawRoomIndex":515,"params":2,"slot":3,"entityRoomIndex":2,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":5,"verticalRecordOffset":17848,"roomId":4,"objLayoutId":5,"roomHeaderOffset":15588,"globalSlot":67,"breakableType":0,"originalPrizeParams":2,"prizeImplemented":false,"persistenceIndex":2,"preventWordIndex":0,"preventBitMask":2},{"layoutIndex":2,"recordOffset":15886,"recordPointer":"0x80183e0e","rawBytesHex":"4000e80001a005040100","rawWords":[64,232,40961,1029,1],"recordType":"entity","x":64,"y":232,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1029,"params":1,"slot":5,"entityRoomIndex":4,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":2,"verticalRecordOffset":17818,"roomId":4,"objLayoutId":5,"roomHeaderOffset":15588,"globalSlot":69,"breakableType":0,"originalPrizeParams":1,"prizeImplemented":false,"persistenceIndex":4,"preventWordIndex":0,"preventBitMask":8},{"layoutIndex":3,"recordOffset":15896,"recordPointer":"0x80183e18","rawBytesHex":"7000700001a006050000","rawWords":[112,112,40961,1286,0],"recordType":"entity","x":112,"y":112,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1286,"params":0,"slot":6,"entityRoomIndex":5,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":1,"verticalRecordOffset":17808,"roomId":4,"objLayoutId":5,"roomHeaderOffset":15588,"globalSlot":70,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":5,"preventWordIndex":0,"preventBitMask":16},{"layoutIndex":4,"recordOffset":15906,"recordPointer":"0x80183e22","rawBytesHex":"c000800101a002010000","rawWords":[192,384,40961,258,0],"recordType":"entity","x":192,"y":384,"entityId":1,"rawEntityId":40961,"rawRoomIndex":258,"params":0,"slot":2,"entityRoomIndex":1,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":4,"verticalRecordOffset":17838,"roomId":4,"objLayoutId":5,"roomHeaderOffset":15588,"globalSlot":66,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":1,"preventWordIndex":0,"preventBitMask":1},{"layoutIndex":5,"recordOffset":15916,"recordPointer":"0x80183e2c","rawBytesHex":"c000300101a004030000","rawWords":[192,304,40961,772,0],"recordType":"entity","x":192,"y":304,"entityId":1,"rawEntityId":40961,"rawRoomIndex":772,"params":0,"slot":4,"entityRoomIndex":3,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":3,"verticalRecordOffset":17828,"roomId":4,"objLayoutId":5,"roomHeaderOffset":15588,"globalSlot":68,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":3,"preventWordIndex":0,"preventBitMask":4},{"layoutIndex":1,"recordOffset":16086,"recordPointer":"0x80183ed6","rawBytesHex":"7f00600001a007061100","rawWords":[127,96,40961,1543,17],"recordType":"entity","x":127,"y":96,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1543,"params":17,"slot":7,"entityRoomIndex":6,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":1,"verticalRecordOffset":18018,"roomId":5,"objLayoutId":6,"roomHeaderOffset":15596,"globalSlot":71,"breakableType":0,"originalPrizeParams":17,"prizeImplemented":false,"persistenceIndex":6,"preventWordIndex":0,"preventBitMask":32},{"layoutIndex":2,"recordOffset":16096,"recordPointer":"0x80183ee0","rawBytesHex":"c001680001a006050300","rawWords":[448,104,40961,1286,3],"recordType":"entity","x":448,"y":104,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1286,"params":3,"slot":6,"entityRoomIndex":5,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":6,"verticalRecordOffset":18068,"roomId":5,"objLayoutId":6,"roomHeaderOffset":15596,"globalSlot":70,"breakableType":0,"originalPrizeParams":3,"prizeImplemented":false,"persistenceIndex":5,"preventWordIndex":0,"preventBitMask":16},{"layoutIndex":3,"recordOffset":16106,"recordPointer":"0x80183eea","rawBytesHex":"2002680001a005040000","rawWords":[544,104,40961,1029,0],"recordType":"entity","x":544,"y":104,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1029,"params":0,"slot":5,"entityRoomIndex":4,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":5,"verticalRecordOffset":18058,"roomId":5,"objLayoutId":6,"roomHeaderOffset":15596,"globalSlot":69,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":4,"preventWordIndex":0,"preventBitMask":8},{"layoutIndex":4,"recordOffset":16116,"recordPointer":"0x80183ef4","rawBytesHex":"8002680001a004030100","rawWords":[640,104,40961,772,1],"recordType":"entity","x":640,"y":104,"entityId":1,"rawEntityId":40961,"rawRoomIndex":772,"params":1,"slot":4,"entityRoomIndex":3,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":4,"verticalRecordOffset":18048,"roomId":5,"objLayoutId":6,"roomHeaderOffset":15596,"globalSlot":68,"breakableType":0,"originalPrizeParams":1,"prizeImplemented":false,"persistenceIndex":3,"preventWordIndex":0,"preventBitMask":4},{"layoutIndex":5,"recordOffset":16126,"recordPointer":"0x80183efe","rawBytesHex":"e002680001a003020000","rawWords":[736,104,40961,515,0],"recordType":"entity","x":736,"y":104,"entityId":1,"rawEntityId":40961,"rawRoomIndex":515,"params":0,"slot":3,"entityRoomIndex":2,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":3,"verticalRecordOffset":18038,"roomId":5,"objLayoutId":6,"roomHeaderOffset":15596,"globalSlot":67,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":2,"preventWordIndex":0,"preventBitMask":2},{"layoutIndex":6,"recordOffset":16136,"recordPointer":"0x80183f08","rawBytesHex":"4003680001a002010000","rawWords":[832,104,40961,258,0],"recordType":"entity","x":832,"y":104,"entityId":1,"rawEntityId":40961,"rawRoomIndex":258,"params":0,"slot":2,"entityRoomIndex":1,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":2,"verticalRecordOffset":18028,"roomId":5,"objLayoutId":6,"roomHeaderOffset":15596,"globalSlot":66,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":1,"preventWordIndex":0,"preventBitMask":1},{"layoutIndex":1,"recordOffset":15946,"recordPointer":"0x80183e4a","rawBytesHex":"8800480001a002010000","rawWords":[136,72,40961,258,0],"recordType":"entity","x":136,"y":72,"entityId":1,"rawEntityId":40961,"rawRoomIndex":258,"params":0,"slot":2,"entityRoomIndex":1,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":1,"verticalRecordOffset":17878,"roomId":6,"objLayoutId":7,"roomHeaderOffset":15604,"globalSlot":66,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":1,"preventWordIndex":0,"preventBitMask":1},{"layoutIndex":6,"recordOffset":17056,"recordPointer":"0x801842a0","rawBytesHex":"6800400101a003030000","rawWords":[104,320,40961,771,0],"recordType":"entity","x":104,"y":320,"entityId":1,"rawEntityId":40961,"rawRoomIndex":771,"params":0,"slot":3,"entityRoomIndex":3,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":16,"verticalRecordOffset":19088,"roomId":7,"objLayoutId":8,"roomHeaderOffset":15612,"globalSlot":67,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":3,"preventWordIndex":0,"preventBitMask":4},{"layoutIndex":10,"recordOffset":17096,"recordPointer":"0x801842c8","rawBytesHex":"b000880001a008010000","rawWords":[176,136,40961,264,0],"recordType":"entity","x":176,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":264,"params":0,"slot":8,"entityRoomIndex":1,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":7,"verticalRecordOffset":18998,"roomId":7,"objLayoutId":8,"roomHeaderOffset":15612,"globalSlot":72,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":1,"preventWordIndex":0,"preventBitMask":1},{"layoutIndex":13,"recordOffset":17126,"recordPointer":"0x801842e6","rawBytesHex":"c000380101a004040100","rawWords":[192,312,40961,1028,1],"recordType":"entity","x":192,"y":312,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1028,"params":1,"slot":4,"entityRoomIndex":4,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":14,"verticalRecordOffset":19068,"roomId":7,"objLayoutId":8,"roomHeaderOffset":15612,"globalSlot":68,"breakableType":0,"originalPrizeParams":1,"prizeImplemented":false,"persistenceIndex":4,"preventWordIndex":0,"preventBitMask":8},{"layoutIndex":22,"recordOffset":17216,"recordPointer":"0x80184340","rawBytesHex":"0002180101a006061200","rawWords":[512,280,40961,1542,18],"recordType":"entity","x":512,"y":280,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1542,"params":18,"slot":6,"entityRoomIndex":6,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":13,"verticalRecordOffset":19058,"roomId":7,"objLayoutId":8,"roomHeaderOffset":15612,"globalSlot":70,"breakableType":0,"originalPrizeParams":18,"prizeImplemented":false,"persistenceIndex":6,"preventWordIndex":0,"preventBitMask":32},{"layoutIndex":24,"recordOffset":17236,"recordPointer":"0x80184354","rawBytesHex":"5002880001a009020000","rawWords":[592,136,40961,521,0],"recordType":"entity","x":592,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":521,"params":0,"slot":9,"entityRoomIndex":2,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":8,"verticalRecordOffset":19008,"roomId":7,"objLayoutId":8,"roomHeaderOffset":15612,"globalSlot":73,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":2,"preventWordIndex":0,"preventBitMask":2},{"layoutIndex":26,"recordOffset":17256,"recordPointer":"0x80184368","rawBytesHex":"9802380101a005050000","rawWords":[664,312,40961,1285,0],"recordType":"entity","x":664,"y":312,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1285,"params":0,"slot":5,"entityRoomIndex":5,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":15,"verticalRecordOffset":19078,"roomId":7,"objLayoutId":8,"roomHeaderOffset":15612,"globalSlot":69,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":5,"preventWordIndex":0,"preventBitMask":16},{"layoutIndex":2,"recordOffset":16206,"recordPointer":"0x80183f4e","rawBytesHex":"a000880001a002010000","rawWords":[160,136,40961,258,0],"recordType":"entity","x":160,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":258,"params":0,"slot":2,"entityRoomIndex":1,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":3,"verticalRecordOffset":18148,"roomId":9,"objLayoutId":10,"roomHeaderOffset":15628,"globalSlot":66,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":1,"preventWordIndex":0,"preventBitMask":1},{"layoutIndex":4,"recordOffset":16226,"recordPointer":"0x80183f62","rawBytesHex":"2001880001a003020000","rawWords":[288,136,40961,515,0],"recordType":"entity","x":288,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":515,"params":0,"slot":3,"entityRoomIndex":2,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":4,"verticalRecordOffset":18158,"roomId":9,"objLayoutId":10,"roomHeaderOffset":15628,"globalSlot":67,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":2,"preventWordIndex":0,"preventBitMask":2},{"layoutIndex":6,"recordOffset":16246,"recordPointer":"0x80183f76","rawBytesHex":"2002880001a004030000","rawWords":[544,136,40961,772,0],"recordType":"entity","x":544,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":772,"params":0,"slot":4,"entityRoomIndex":3,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":5,"verticalRecordOffset":18168,"roomId":9,"objLayoutId":10,"roomHeaderOffset":15628,"globalSlot":68,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":3,"preventWordIndex":0,"preventBitMask":4},{"layoutIndex":7,"recordOffset":16256,"recordPointer":"0x80183f80","rawBytesHex":"a002980001a009080000","rawWords":[672,152,40961,2057,0],"recordType":"entity","x":672,"y":152,"entityId":1,"rawEntityId":40961,"rawRoomIndex":2057,"params":0,"slot":9,"entityRoomIndex":8,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":9,"verticalRecordOffset":18208,"roomId":9,"objLayoutId":10,"roomHeaderOffset":15628,"globalSlot":73,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":8,"preventWordIndex":0,"preventBitMask":128},{"layoutIndex":9,"recordOffset":16276,"recordPointer":"0x80183f94","rawBytesHex":"6003980001a005040000","rawWords":[864,152,40961,1029,0],"recordType":"entity","x":864,"y":152,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1029,"params":0,"slot":5,"entityRoomIndex":4,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":10,"verticalRecordOffset":18218,"roomId":9,"objLayoutId":10,"roomHeaderOffset":15628,"globalSlot":69,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":4,"preventWordIndex":0,"preventBitMask":8},{"layoutIndex":10,"recordOffset":16286,"recordPointer":"0x80183f9e","rawBytesHex":"e003880001a006050000","rawWords":[992,136,40961,1286,0],"recordType":"entity","x":992,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1286,"params":0,"slot":6,"entityRoomIndex":5,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":6,"verticalRecordOffset":18178,"roomId":9,"objLayoutId":10,"roomHeaderOffset":15628,"globalSlot":70,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":5,"preventWordIndex":0,"preventBitMask":16},{"layoutIndex":12,"recordOffset":16306,"recordPointer":"0x80183fb2","rawBytesHex":"e004880001a007060000","rawWords":[1248,136,40961,1543,0],"recordType":"entity","x":1248,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1543,"params":0,"slot":7,"entityRoomIndex":6,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":7,"verticalRecordOffset":18188,"roomId":9,"objLayoutId":10,"roomHeaderOffset":15628,"globalSlot":71,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":6,"preventWordIndex":0,"preventBitMask":32},{"layoutIndex":14,"recordOffset":16326,"recordPointer":"0x80183fc6","rawBytesHex":"6005880001a008070000","rawWords":[1376,136,40961,1800,0],"recordType":"entity","x":1376,"y":136,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1800,"params":0,"slot":8,"entityRoomIndex":7,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":8,"verticalRecordOffset":18198,"roomId":9,"objLayoutId":10,"roomHeaderOffset":15628,"globalSlot":72,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":7,"preventWordIndex":0,"preventBitMask":64},{"layoutIndex":1,"recordOffset":15846,"recordPointer":"0x80183de6","rawBytesHex":"b800540001a001010400","rawWords":[184,84,40961,257,4],"recordType":"entity","x":184,"y":84,"entityId":1,"rawEntityId":40961,"rawRoomIndex":257,"params":4,"slot":1,"entityRoomIndex":1,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":1,"verticalRecordOffset":17778,"roomId":12,"objLayoutId":13,"roomHeaderOffset":15652,"globalSlot":65,"breakableType":0,"originalPrizeParams":4,"prizeImplemented":false,"persistenceIndex":1,"preventWordIndex":0,"preventBitMask":1},{"layoutIndex":2,"recordOffset":16626,"recordPointer":"0x801840f2","rawBytesHex":"4800180201a003030200","rawWords":[72,536,40961,771,2],"recordType":"entity","x":72,"y":536,"entityId":1,"rawEntityId":40961,"rawRoomIndex":771,"params":2,"slot":3,"entityRoomIndex":3,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":13,"verticalRecordOffset":18668,"roomId":15,"objLayoutId":16,"roomHeaderOffset":15676,"globalSlot":67,"breakableType":0,"originalPrizeParams":2,"prizeImplemented":false,"persistenceIndex":3,"preventWordIndex":0,"preventBitMask":4},{"layoutIndex":3,"recordOffset":16636,"recordPointer":"0x801840fc","rawBytesHex":"7800600001a005050000","rawWords":[120,96,40961,1285,0],"recordType":"entity","x":120,"y":96,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1285,"params":0,"slot":5,"entityRoomIndex":5,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":2,"verticalRecordOffset":18558,"roomId":15,"objLayoutId":16,"roomHeaderOffset":15676,"globalSlot":69,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":5,"preventWordIndex":0,"preventBitMask":16},{"layoutIndex":7,"recordOffset":16676,"recordPointer":"0x80184124","rawBytesHex":"5001000201a002020000","rawWords":[336,512,40961,514,0],"recordType":"entity","x":336,"y":512,"entityId":1,"rawEntityId":40961,"rawRoomIndex":514,"params":0,"slot":2,"entityRoomIndex":2,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":12,"verticalRecordOffset":18658,"roomId":15,"objLayoutId":16,"roomHeaderOffset":15676,"globalSlot":66,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":2,"preventWordIndex":0,"preventBitMask":2},{"layoutIndex":8,"recordOffset":16686,"recordPointer":"0x8018412e","rawBytesHex":"5801780001a004040100","rawWords":[344,120,40961,1028,1],"recordType":"entity","x":344,"y":120,"entityId":1,"rawEntityId":40961,"rawRoomIndex":1028,"params":1,"slot":4,"entityRoomIndex":4,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":7,"verticalRecordOffset":18608,"roomId":15,"objLayoutId":16,"roomHeaderOffset":15676,"globalSlot":68,"breakableType":0,"originalPrizeParams":1,"prizeImplemented":false,"persistenceIndex":4,"preventWordIndex":0,"preventBitMask":8},{"layoutIndex":11,"recordOffset":16716,"recordPointer":"0x8018414c","rawBytesHex":"a801000201a001010000","rawWords":[424,512,40961,257,0],"recordType":"entity","x":424,"y":512,"entityId":1,"rawEntityId":40961,"rawRoomIndex":257,"params":0,"slot":1,"entityRoomIndex":1,"unk68":0,"spawnFlags":40960,"name":"EntityBreakable","sourceName":"E_BREAKABLE","updatePointerTableOffset":2340,"updatePointer":"0x801b7a64","updateCodeOffset":227940,"verticalLayoutIndex":11,"verticalRecordOffset":18648,"roomId":15,"objLayoutId":16,"roomHeaderOffset":15676,"globalSlot":65,"breakableType":0,"originalPrizeParams":0,"prizeImplemented":true,"persistenceIndex":1,"preventWordIndex":0,"preventBitMask":1}],"placementCount":40,"placementRoomIds":[2,3,4,5,6,7,9,12,15],"supportedSmallHeartPlacementCount":28,"unsupportedPrizePlacementCount":12,"originalPrizeIds":[0,1,2,3,4,14,17,18],"unsupportedOriginalPrizes":[{"roomId":3,"layoutIndex":2,"recordOffset":16046,"params":14,"originalPrizeParams":14,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":3,"layoutIndex":3,"recordOffset":16056,"params":1,"originalPrizeParams":1,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":4,"layoutIndex":1,"recordOffset":15876,"params":2,"originalPrizeParams":2,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":4,"layoutIndex":2,"recordOffset":15886,"params":1,"originalPrizeParams":1,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":5,"layoutIndex":1,"recordOffset":16086,"params":17,"originalPrizeParams":17,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":5,"layoutIndex":2,"recordOffset":16096,"params":3,"originalPrizeParams":3,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":5,"layoutIndex":4,"recordOffset":16116,"params":1,"originalPrizeParams":1,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":7,"layoutIndex":13,"recordOffset":17126,"params":1,"originalPrizeParams":1,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":7,"layoutIndex":22,"recordOffset":17216,"params":18,"originalPrizeParams":18,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":12,"layoutIndex":1,"recordOffset":15846,"params":4,"originalPrizeParams":4,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":15,"layoutIndex":2,"recordOffset":16626,"params":2,"originalPrizeParams":2,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."},{"roomId":15,"layoutIndex":8,"recordOffset":16686,"params":1,"originalPrizeParams":1,"replacementImplemented":false,"note":"Original prize retained; no small-heart substitute."}],"originalPrizeAnimationPointers":[{"itemId":0,"pointerTableOffset":9352,"pointer":"0x801822c4"},{"itemId":1,"pointerTableOffset":9356,"pointer":"0x801822c8"},{"itemId":2,"pointerTableOffset":9360,"pointer":"0x801822f4"},{"itemId":3,"pointerTableOffset":9364,"pointer":"0x80182304"},{"itemId":4,"pointerTableOffset":9368,"pointer":"0x80182308"},{"itemId":5,"pointerTableOffset":9372,"pointer":"0x8018230c"},{"itemId":6,"pointerTableOffset":9376,"pointer":"0x80182310"},{"itemId":7,"pointerTableOffset":9380,"pointer":"0x80182314"},{"itemId":8,"pointerTableOffset":9384,"pointer":"0x80182318"},{"itemId":9,"pointerTableOffset":9388,"pointer":"0x8018231c"},{"itemId":10,"pointerTableOffset":9392,"pointer":"0x80182320"},{"itemId":11,"pointerTableOffset":9396,"pointer":"0x80182324"},{"itemId":12,"pointerTableOffset":9400,"pointer":"0x80182338"},{"itemId":13,"pointerTableOffset":9404,"pointer":"0x80182348"},{"itemId":14,"pointerTableOffset":9408,"pointer":"0x80182388"},{"itemId":15,"pointerTableOffset":9412,"pointer":"0x80182374"},{"itemId":16,"pointerTableOffset":9416,"pointer":"0x8018234c"},{"itemId":17,"pointerTableOffset":9420,"pointer":"0x80182360"},{"itemId":18,"pointerTableOffset":9424,"pointer":"0x8018239c"},{"itemId":19,"pointerTableOffset":9428,"pointer":"0x801823b0"},{"itemId":20,"pointerTableOffset":9432,"pointer":"0x801823c4"},{"itemId":21,"pointerTableOffset":9436,"pointer":"0x801823d8"},{"itemId":22,"pointerTableOffset":9440,"pointer":"0x801823ec"},{"itemId":23,"pointerTableOffset":9444,"pointer":"0x80182400"}],"dropGate":{"sourceName":"RELIC_CUBE_OF_ZOE","relicIndex":10,"activeMask":2,"originalCondition":"g_Status.relics[RELIC_CUBE_OF_ZOE] &2","inactiveBehavior":"Prevent respawn, then destroy the broken candle without a drop.","localGateDefault":false},"persistence":{"sourceField":"entityRoomIndex","layoutHighByte":true,"wordCount":8,"bitIndexFormula":"persistenceIndex-1","wordIndexFormula":"(persistenceIndex-1)>>5","bitMaskFormula":"1<<((persistenceIndex-1)&31)","roomResetNote":"Original loader clears these volatile room bits. They are not permanent campaign collection flags.","replacementSource":"ReplaceBreakableWithItemDrop"},"replacement":{"maskParams":4095,"prizeEntityId":3,"equipmentEntityId":10,"equipmentThreshold":128,"resetsPoseTimer":true,"resetsPose":true,"resetsStep":0,"unk6D0":16,"preservesCurrentFrameUntilNextInit":true,"note":"Current candle frame can remain visible on the hit tick. Next PrizeDrop initialization sets frame0; frame0 is hidden."},"code":{"candle":{"sourceFile":"ST/NO3/NO3.BIN","name":"EntityBreakable","startOffset":227940,"endOffsetExclusive":228248,"bytes":308,"sha256":"cbceeff02f3cd1963b32508d64295662849735ad0300b99c8536e77365fc106d","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/e_breakable.h","entityId":1,"updatePointerTableOffset":2340,"pointer":"0x801b7a64"},"replacement":{"sourceFile":"ST/NO3/NO3.BIN","name":"ReplaceBreakableWithItemDrop","startOffset":286812,"endOffsetExclusive":286996,"bytes":184,"sha256":"bd7a5cabfff402d9fb189e941adcdd08fec759a2cdbbfc1f9c49ec84ee7fbc9c","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/st_common.h"}},"observedBinaryInstructions":[{"sourceFile":"ST/NO3/NO3.BIN","offset":228124,"runtimeAddress":"0x801b7b1c","word":"0x24840aac","littleEndianBytes":"ac0a8424","assembly":"addiu a0,a0,0x0AAC","fact":"candle EInit address low16"},{"sourceFile":"ST/NO3/NO3.BIN","offset":228148,"runtimeAddress":"0x801b7b34","word":"0x2442ffec","littleEndianBytes":"ecff4224","assembly":"addiu v0,v0,-20","fact":"candle zPriority below entity center by20"},{"sourceFile":"ST/NO3/NO3.BIN","offset":286844,"runtimeAddress":"0x801c607c","word":"0x30420002","littleEndianBytes":"02004230","assembly":"andi v0,v0,2","fact":"Cube of Zoe active bit gate"},{"sourceFile":"ST/NO3/NO3.BIN","offset":287104,"runtimeAddress":"0x801c6180","word":"0x28624000","littleEndianBytes":"00406228","assembly":"slti v0,v1,16384","fact":"small-heart vertical velocity guard0.25"},{"sourceFile":"ST/NO3/NO3.BIN","offset":287112,"runtimeAddress":"0x801c6188","word":"0x24622000","littleEndianBytes":"00206224","assembly":"addiu v0,v1,8192","fact":"small-heart vertical gravity0.125"},{"sourceFile":"ST/NO3/NO3.BIN","offset":288464,"runtimeAddress":"0x801c66d0","word":"0x2c420003","littleEndianBytes":"0300422c","assembly":"sltiu v0,v0,3","fact":"after step minus2, accepts pickup steps2..4"},{"sourceFile":"ST/NO3/NO3.BIN","offset":288908,"runtimeAddress":"0x801c688c","word":"0x34020800","littleEndianBytes":"00080234","assembly":"ori v0,zero,2048","fact":"small-heart sway acceleration0.03125"},{"sourceFile":"ST/NO3/NO3.BIN","offset":289172,"runtimeAddress":"0x801c6994","word":"0x34020060","littleEndianBytes":"60000234","assembly":"ori v0,zero,96","fact":"small-heart grounded lifetime96"},{"sourceFile":"ST/NO3/NO3.BIN","offset":289296,"runtimeAddress":"0x801c6a10","word":"0x34020040","littleEndianBytes":"40000234","assembly":"ori v0,zero,64","fact":"small-heart final blinking lifetime64"}],"drawNote":"All atlas layers apply intrinsic part flags, including X flips on candle frame2, small-heart14 and even explosion frames. Entity facing still mirrors all layers using mirroredDrawOffsetX=1-drawOffsetX-width. Frame0 is hidden. RGB expansion is identical across full/opaque/STP images; split images only select original palette bit15 classes.","loadNote":"DRA animSet3 parts use tpage30, shared F_GAME block27 and CLUT0x190/0x191; DRA animSet2 explosion0 uses tpage26, block8 and CLUT0x170. CD loads common palettes to VRAM X0,Y240, providing g_ClutIds[0x100..0x1FF]. No stage sprite replacement or external artwork is used.","implementationScope":"All40 type0 candle placements are recovered. Only params0 small-heart replacement/pickup and explosion type0 are selected for this Java milestone. Other original prize params remain unsupported inspection records. The Cube of Zoe state is an explicit local test gate; full inventory, original attack/pickup collision system, sound, shared entity-slot integration and exact PSX RGB555 blending remain unfinished.","sourceHashes":{"ST/NO3/NO3.BIN":"1228d5a1074c9e0c6cd0bcd50565450b168689d4ddbcaf9178eda49622a0e405","DRA.BIN":"6cb1383b5b94e0bcad041af9856853907226091c184071917a739b91734af66b","BIN/F_GAME.BIN":"0984439a9e480017eb5e3bbad421aaa86e976d65dfb31b68c201cc80ed6fc0ce"},"references":["https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/no3/e_breakable.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/e_breakable.h","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/no3/e_collect.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/e_collect.h","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/e_init_common.h","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/st_common.h","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/create_entity.h","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/d_37d8.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/4B758.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/4A538.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/cd.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/include/game.h"]}
