{"format":"sotn-original-us-stopwatch-attack-static-v1","originalDiscVersion":"SLUS-00067","decoderReferenceCommit":"0622fcfd37311fd21baf2938c6bd74cea63005ba","inventoryId":6,"name":"EntityStopWatch","subweaponFields":[0,20,4096,1,50,4,184,71,2,1,0,0,0],"subweaponFieldNames":["attack","heartCost","attackElement","chainLimit","nFramesInvincibility","stunFrames","anim","blueprintNum","hitboxState","hitEffect","crashId","unk11","entityRoomIndex"],"definition":{"sourceFile":"DRA.BIN","index":6,"offset":19064,"rawBytesHex":"00001400001001320400b8470200010000000000"},"sineQuarter":[0,6,13,19,25,31,38,44,50,57,63,69,75,82,88,94,101,107,113,119,126,132,138,144,151,157,163,170,176,182,188,195,201,207,214,220,226,232,239,245,251,257,264,270,276,283,289,295,301,308,314,320,326,333,339,345,351,358,364,370,376,383,389,395,401,408,414,420,426,433,439,445,451,458,464,470,476,483,489,495,501,508,514,520,526,533,539,545,551,557,564,570,576,582,589,595,601,607,613,620,626,632,638,644,651,657,663,669,675,682,688,694,700,706,713,719,725,731,737,744,750,756,762,768,774,781,787,793,799,805,811,818,824,830,836,842,848,854,861,867,873,879,885,891,897,904,910,916,922,928,934,940,946,953,959,965,971,977,983,989,995,1001,1007,1014,1020,1026,1032,1038,1044,1050,1056,1062,1068,1074,1080,1086,1092,1099,1105,1111,1117,1123,1129,1135,1141,1147,1153,1159,1165,1171,1177,1183,1189,1195,1201,1207,1213,1219,1225,1231,1237,1243,1249,1255,1261,1267,1273,1279,1285,1291,1297,1303,1309,1315,1321,1327,1332,1338,1344,1350,1356,1362,1368,1374,1380,1386,1392,1398,1404,1409,1415,1421,1427,1433,1439,1445,1451,1457,1462,1468,1474,1480,1486,1492,1498,1503,1509,1515,1521,1527,1533,1538,1544,1550,1556,1562,1567,1573,1579,1585,1591,1596,1602,1608,1614,1620,1625,1631,1637,1643,1648,1654,1660,1666,1671,1677,1683,1689,1694,1700,1706,1711,1717,1723,1729,1734,1740,1746,1751,1757,1763,1768,1774,1780,1785,1791,1797,1802,1808,1813,1819,1825,1830,1836,1842,1847,1853,1858,1864,1870,1875,1881,1886,1892,1898,1903,1909,1914,1920,1925,1931,1936,1942,1947,1953,1958,1964,1970,1975,1981,1986,1992,1997,2002,2008,2013,2019,2024,2030,2035,2041,2046,2052,2057,2062,2068,2073,2079,2084,2090,2095,2100,2106,2111,2117,2122,2127,2133,2138,2143,2149,2154,2159,2165,2170,2175,2181,2186,2191,2197,2202,2207,2213,2218,2223,2228,2234,2239,2244,2249,2255,2260,2265,2270,2276,2281,2286,2291,2296,2302,2307,2312,2317,2322,2328,2333,2338,2343,2348,2353,2359,2364,2369,2374,2379,2384,2389,2394,2399,2405,2410,2415,2420,2425,2430,2435,2440,2445,2450,2455,2460,2465,2470,2475,2480,2485,2490,2495,2500,2505,2510,2515,2520,2525,2530,2535,2540,2545,2550,2555,2559,2564,2569,2574,2579,2584,2589,2594,2598,2603,2608,2613,2618,2623,2628,2632,2637,2642,2647,2652,2656,2661,2666,2671,2675,2680,2685,2690,2694,2699,2704,2709,2713,2718,2723,2727,2732,2737,2741,2746,2751,2755,2760,2765,2769,2774,2779,2783,2788,2792,2797,2802,2806,2811,2815,2820,2824,2829,2833,2838,2843,2847,2852,2856,2861,2865,2870,2874,2878,2883,2887,2892,2896,2901,2905,2910,2914,2918,2923,2927,2932,2936,2940,2945,2949,2953,2958,2962,2967,2971,2975,2979,2984,2988,2992,2997,3001,3005,3009,3014,3018,3022,3026,3031,3035,3039,3043,3048,3052,3056,3060,3064,3068,3073,3077,3081,3085,3089,3093,3097,3102,3106,3110,3114,3118,3122,3126,3130,3134,3138,3142,3146,3150,3154,3158,3162,3166,3170,3174,3178,3182,3186,3190,3194,3198,3202,3206,3210,3214,3217,3221,3225,3229,3233,3237,3241,3244,3248,3252,3256,3260,3264,3267,3271,3275,3279,3282,3286,3290,3294,3297,3301,3305,3309,3312,3316,3320,3323,3327,3331,3334,3338,3342,3345,3349,3352,3356,3360,3363,3367,3370,3374,3378,3381,3385,3388,3392,3395,3399,3402,3406,3409,3413,3416,3420,3423,3426,3430,3433,3437,3440,3444,3447,3450,3454,3457,3461,3464,3467,3471,3474,3477,3481,3484,3487,3490,3494,3497,3500,3504,3507,3510,3513,3516,3520,3523,3526,3529,3532,3536,3539,3542,3545,3548,3551,3555,3558,3561,3564,3567,3570,3573,3576,3579,3582,3585,3588,3591,3594,3597,3600,3603,3606,3609,3612,3615,3618,3621,3624,3627,3630,3633,3636,3639,3642,3644,3647,3650,3653,3656,3659,3661,3664,3667,3670,3673,3675,3678,3681,3684,3686,3689,3692,3695,3697,3700,3703,3705,3708,3711,3713,3716,3719,3721,3724,3727,3729,3732,3734,3737,3739,3742,3745,3747,3750,3752,3755,3757,3760,3762,3765,3767,3770,3772,3775,3777,3779,3782,3784,3787,3789,3791,3794,3796,3798,3801,3803,3805,3808,3810,3812,3815,3817,3819,3822,3824,3826,3828,3831,3833,3835,3837,3839,3842,3844,3846,3848,3850,3852,3854,3857,3859,3861,3863,3865,3867,3869,3871,3873,3875,3877,3879,3881,3883,3885,3887,3889,3891,3893,3895,3897,3899,3901,3903,3905,3907,3909,3910,3912,3914,3916,3918,3920,3921,3923,3925,3927,3929,3930,3932,3934,3936,3937,3939,3941,3943,3944,3946,3948,3949,3951,3953,3954,3956,3958,3959,3961,3962,3964,3965,3967,3969,3970,3972,3973,3975,3976,3978,3979,3981,3982,3984,3985,3987,3988,3989,3991,3992,3994,3995,3996,3998,3999,4001,4002,4003,4005,4006,4007,4008,4010,4011,4012,4014,4015,4016,4017,4019,4020,4021,4022,4023,4024,4026,4027,4028,4029,4030,4031,4032,4034,4035,4036,4037,4038,4039,4040,4041,4042,4043,4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4053,4054,4055,4056,4057,4058,4059,4060,4060,4061,4062,4063,4064,4064,4065,4066,4067,4067,4068,4069,4070,4070,4071,4072,4072,4073,4074,4074,4075,4076,4076,4077,4077,4078,4079,4079,4080,4080,4081,4081,4082,4082,4083,4083,4084,4084,4085,4085,4086,4086,4087,4087,4088,4088,4088,4089,4089,4089,4090,4090,4090,4091,4091,4091,4092,4092,4092,4092,4093,4093,4093,4093,4094,4094,4094,4094,4094,4095,4095,4095,4095,4095,4095,4095,4096,4096,4096,4096,4096,4096,4096,4096,4096,4096,4096],"sineDefinition":{"sourceFile":"SLUS_000.67","offset":121804,"runtimeAddress":"0x8002d3cc","wordCount":1025,"rawBytesHex":"000006000d00130019001f0026002c00320039003f0045004b00520058005e0065006b00710077007e0084008a00900097009d00a300aa00b000b600bc00c300c900cf00d600dc00e200e800ef00f500fb00010108010e0114011b01210127012d0134013a01400146014d01530159015f0166016c01720178017f0185018b01910198019e01a401aa01b101b701bd01c301ca01d001d601dc01e301e901ef01f501fc01020208020e0215021b02210227022d0234023a02400246024d02530259025f0265026c02720278027e0284028b02910297029d02a302aa02b002b602bc02c202c902cf02d502db02e102e802ee02f402fa02000306030d03130319031f0325032b03320338033e0344034a03500356035d03630369036f0375037b03810388038e0394039a03a003a603ac03b203b903bf03c503cb03d103d703dd03e303e903ef03f603fc03020408040e0414041a04200426042c04320438043e0444044b04510457045d04630469046f0475047b04810487048d04930499049f04a504ab04b104b704bd04c304c904cf04d504db04e104e704ed04f304f904ff0405050b05110517051d05230529052f0534053a05400546054c05520558055e0564056a05700576057c05810587058d05930599059f05a505ab05b105b605bc05c205c805ce05d405da05df05e505eb05f105f705fd05020608060e0614061a061f0625062b06310637063c06420648064e06540659065f0665066b06700676067c06820687068d06930699069e06a406aa06af06b506bb06c106c606cc06d206d706dd06e306e806ee06f406f906ff0605070a07100715071b07210726072c07320737073d07420748074e07530759075e0764076a076f0775077a07800785078b07900796079b07a107a607ac07b207b707bd07c207c807cd07d207d807dd07e307e807ee07f307f907fe07040809080e08140819081f0824082a082f0834083a083f0845084a084f0855085a085f0865086a086f0875087a087f0885088a088f0895089a089f08a508aa08af08b408ba08bf08c408c908cf08d408d908de08e408e908ee08f308f808fe08030908090d09120918091d09220927092c09310937093c09410946094b09500955095a095f0965096a096f09740979097e09830988098d09920997099c09a109a609ab09b009b509ba09bf09c409c909ce09d309d809dd09e209e709ec09f109f609fb09ff09040a090a0e0a130a180a1d0a220a260a2b0a300a350a3a0a3f0a440a480a4d0a520a570a5c0a600a650a6a0a6f0a730a780a7d0a820a860a8b0a900a950a990a9e0aa30aa70aac0ab10ab50aba0abf0ac30ac80acd0ad10ad60adb0adf0ae40ae80aed0af20af60afb0aff0a040b080b0d0b110b160b1b0b1f0b240b280b2d0b310b360b3a0b3e0b430b470b4c0b500b550b590b5e0b620b660b6b0b6f0b740b780b7c0b810b850b890b8e0b920b970b9b0b9f0ba30ba80bac0bb00bb50bb90bbd0bc10bc60bca0bce0bd20bd70bdb0bdf0be30be80bec0bf00bf40bf80bfc0b010c050c090c0d0c110c150c190c1e0c220c260c2a0c2e0c320c360c3a0c3e0c420c460c4a0c4e0c520c560c5a0c5e0c620c660c6a0c6e0c720c760c7a0c7e0c820c860c8a0c8e0c910c950c990c9d0ca10ca50ca90cac0cb00cb40cb80cbc0cc00cc30cc70ccb0ccf0cd20cd60cda0cde0ce10ce50ce90ced0cf00cf40cf80cfb0cff0c030d060d0a0d0e0d110d150d180d1c0d200d230d270d2a0d2e0d320d350d390d3c0d400d430d470d4a0d4e0d510d550d580d5c0d5f0d620d660d690d6d0d700d740d770d7a0d7e0d810d850d880d8b0d8f0d920d950d990d9c0d9f0da20da60da90dac0db00db30db60db90dbc0dc00dc30dc60dc90dcc0dd00dd30dd60dd90ddc0ddf0de30de60de90dec0def0df20df50df80dfb0dfe0d010e040e070e0a0e0d0e100e130e160e190e1c0e1f0e220e250e280e2b0e2e0e310e340e370e3a0e3c0e3f0e420e450e480e4b0e4d0e500e530e560e590e5b0e5e0e610e640e660e690e6c0e6f0e710e740e770e790e7c0e7f0e810e840e870e890e8c0e8f0e910e940e960e990e9b0e9e0ea10ea30ea60ea80eab0ead0eb00eb20eb50eb70eba0ebc0ebf0ec10ec30ec60ec80ecb0ecd0ecf0ed20ed40ed60ed90edb0edd0ee00ee20ee40ee70ee90eeb0eee0ef00ef20ef40ef70ef90efb0efd0eff0e020f040f060f080f0a0f0c0f0e0f110f130f150f170f190f1b0f1d0f1f0f210f230f250f270f290f2b0f2d0f2f0f310f330f350f370f390f3b0f3d0f3f0f410f430f450f460f480f4a0f4c0f4e0f500f510f530f550f570f590f5a0f5c0f5e0f600f610f630f650f670f680f6a0f6c0f6d0f6f0f710f720f740f760f770f790f7a0f7c0f7d0f7f0f810f820f840f850f870f880f8a0f8b0f8d0f8e0f900f910f930f940f950f970f980f9a0f9b0f9c0f9e0f9f0fa10fa20fa30fa50fa60fa70fa80faa0fab0fac0fae0faf0fb00fb10fb30fb40fb50fb60fb70fb80fba0fbb0fbc0fbd0fbe0fbf0fc00fc20fc30fc40fc50fc60fc70fc80fc90fca0fcb0fcc0fcd0fce0fcf0fd00fd10fd20fd30fd40fd50fd50fd60fd70fd80fd90fda0fdb0fdc0fdc0fdd0fde0fdf0fe00fe00fe10fe20fe30fe30fe40fe50fe60fe60fe70fe80fe80fe90fea0fea0feb0fec0fec0fed0fed0fee0fef0fef0ff00ff00ff10ff10ff20ff20ff30ff30ff40ff40ff50ff50ff60ff60ff70ff70ff80ff80ff80ff90ff90ff90ffa0ffa0ffa0ffb0ffb0ffb0ffc0ffc0ffc0ffc0ffd0ffd0ffd0ffd0ffe0ffe0ffe0ffe0ffe0fff0fff0fff0fff0fff0fff0fff0f00100010001000100010001000100010001000100010","sha256":"bab3b71ba7f79dfb2b5cebb71f8382a79606a958d72031bc11b88066c36033bd"},"factoryBlueprintOrder":[71,75,4],"factoryBlueprints":[41,1,193,0,2,0,42,1,193,0,0,0,5,1,193,0,0,0],"factories":[{"blueprintId":71,"sourceFile":"DRA.BIN","offset":54142,"rawBytesHex":"2901c1000200","childEntityId":41,"amount":1,"cycle":0,"kind":2,"origin":0,"rangeStartInclusive":32,"rangeEndInclusive":47,"allocationOrder":"ascending","childParams":0},{"blueprintId":75,"sourceFile":"DRA.BIN","offset":54166,"rawBytesHex":"2a01c1000000","childEntityId":42,"amount":1,"cycle":0,"kind":0,"origin":0,"rangeStartInclusive":32,"rangeEndInclusive":63,"allocationOrder":"descending","childParams":0},{"blueprintId":4,"sourceFile":"DRA.BIN","offset":53740,"rawBytesHex":"0501c1000000","childEntityId":5,"amount":1,"cycle":0,"kind":0,"origin":0,"rangeStartInclusive":32,"rangeEndInclusive":63,"allocationOrder":"descending","childParams":3584}],"particleFields":[20,127,127,192,1,1,-2,51,12,209715200],"particleProfile":{"profileIndex":14,"sourceFile":"DRA.BIN","pointerTableOffset":56216,"pointerEntryOffset":56272,"pointerRawBytesHex":"88db0a80","offset":56200,"rawBytesHex":"147f7fc00101feff33000c000000800c","fieldNames":["count","r","g","b","width","height","priorityRelativeToPlayer","drawMode","behavior","flags"]},"callbacks":{"clock":{"entityId":41,"tableOffset":53608,"pointer":"0x8012a89c"},"circle":{"entityId":42,"tableOffset":53612,"pointer":"0x8012a528"},"particles":{"entityId":5,"tableOffset":53464,"pointer":"0x8011e4bc"}},"code":{"clock":{"sourceFile":"DRA.BIN","name":"EntityStopWatch","startOffset":567452,"endOffsetExclusive":571276,"bytes":3824,"sha256":"b9385079f357f4257e49ed0b97c8703c2f76929bc04dadf97f7c55670cca9830","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/8A0A4.c"},"circle":{"sourceFile":"DRA.BIN","name":"EntityStopWatchExpandingCircle","startOffset":566568,"endOffsetExclusive":567452,"bytes":884,"sha256":"238c35f623abf1c46ad4a1c7e942b73ae6ee5712572bc7e975caca4b9fc264ac","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/8A0A4.c"},"particles":{"sourceFile":"DRA.BIN","name":"func_8011E4BC","startOffset":517308,"endOffsetExclusive":519584,"bytes":2276,"sha256":"a19d5535ef6584847b599b170d27e0f23079b875d4d9fa7a84b42db939a6a636","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/7E4BC.c"},"stageUpdate":{"sourceFile":"ST/NO3/NO3.BIN","name":"NO3 Update","startOffset":268412,"endOffsetExclusive":269176,"bytes":764,"sha256":"f9ccbb31283f7d9a36e87f5cec6098bbea30c1f7fd3e2f74f1f6bc9388615dc2","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/st_update.h"}},"clock":{"textureImage":"stopwatch-clock-texture.png","fullTextureImage":"stopwatch-clock-texture.png","opaqueTextureImage":"stopwatch-clock-opaque.png","stpTextureImage":"stopwatch-clock-stp.png","left":152,"top":192,"width":16,"height":24,"texturePage":30,"clut":383,"palette":{"id":383,"sourceFile":"BIN/F_GAME.BIN","offset":266208,"rawBytesHex":"000021040068004c005c006c007cd33c7939ae085f017f02bf3b2925524abd77","rawWords":[0,1057,26624,19456,23552,27648,31744,15571,14713,2222,351,639,15295,9513,19026,30653],"rgba":[[0,0,0,0],[8,8,8,255],[0,0,213,255],[0,0,156,255],[0,0,189,255],[0,0,222,255],[0,0,255,255],[156,49,123,255],[205,90,115,255],[115,41,16,255],[255,82,0,255],[255,156,0,255],[255,238,115,255],[74,74,74,255],[148,148,148,255],[238,238,238,255]],"stpIndices":[],"format":"Little-endian RGB555 plus original bit15 STP. A zero word is transparent; every nonzero word has alpha255 in the full atlas."},"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlock":27,"sourceRowOffsets":[225292,225356,225420,225484,225548,225612,225676,225740,225804,225868,225932,225996,226060,226124,226188,226252,226316,226380,226444,226508,226572,226636,226700,226764],"pixelIndexFrequencies":[208,45,9,9,11,10,10,0,0,0,0,0,0,21,41,20],"opaquePixelCount":176,"stpPixelCount":0,"transparentPixelCount":208,"sourceColorExpansion":"floor(channel5*255/31); nonzero words have fullRGBAalpha; source STP is retained separately","entityId":41,"allocatedPrimitiveCount":3,"initialFlags":210108416,"initialDrawMode":778,"drawMode":770,"detachedDrawMode":258,"whiteDrawMode":262,"screenSpace":true,"playerRelativeDrawingDuringFollow":true,"rawTextureGpuCodeBitEnabled":true,"textureModulationEnabled":false,"semitransparentEnabled":false,"initialPriorityRelativeToPlayer":1,"detachedPriority":194,"originalUVFacingLeft":[152,192,168,192,152,216,168,216],"originalUVFacingRight":[168,192,152,192,168,216,152,216],"whiteTextureImage":"stopwatch-clock-white-texture.png","whiteOpaqueTextureImage":"stopwatch-clock-white-opaque.png","whiteStpTextureImage":"stopwatch-clock-white-stp.png","whiteClut":351,"whitePalette":{"id":351,"sourceFile":"BIN/F_GAME.BIN","offset":265184,"rawBytesHex":"0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","rawWords":[0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],"rgba":[[0,0,0,0],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255]],"stpIndices":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],"format":"Little-endian RGB555 plus original bit15 STP. A zero word is transparent; every nonzero word has alpha255 in the full atlas."},"whiteTexture":{"textureImage":"stopwatch-clock-white-texture.png","fullTextureImage":"stopwatch-clock-white-texture.png","opaqueTextureImage":"stopwatch-clock-white-opaque.png","stpTextureImage":"stopwatch-clock-white-stp.png","left":152,"top":192,"width":16,"height":24,"texturePage":30,"clut":351,"palette":{"id":351,"sourceFile":"BIN/F_GAME.BIN","offset":265184,"rawBytesHex":"0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","rawWords":[0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],"rgba":[[0,0,0,0],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255]],"stpIndices":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],"format":"Little-endian RGB555 plus original bit15 STP. A zero word is transparent; every nonzero word has alpha255 in the full atlas."},"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlock":27,"sourceRowOffsets":[225292,225356,225420,225484,225548,225612,225676,225740,225804,225868,225932,225996,226060,226124,226188,226252,226316,226380,226444,226508,226572,226636,226700,226764],"pixelIndexFrequencies":[208,45,9,9,11,10,10,0,0,0,0,0,0,21,41,20],"opaquePixelCount":0,"stpPixelCount":176,"transparentPixelCount":208,"sourceColorExpansion":"floor(channel5*255/31); nonzero words have fullRGBAalpha; source STP is retained separately","drawMode":262,"textureModulationEnabled":true,"semitransparentEnabled":false,"flashRgb":[64,64,96],"allNonzeroTexelsDrawOpaqueDespiteStp":true},"paletteWords":[0,1057,26624,19456,23552,27648,31744,15571,14713,2222,351,639,15295,9513,19026,30653],"whiteFlashRgb":[64,64,96],"whiteSemitransparentEnabled":false},"digits":{"textureImage":"stopwatch-digits-texture.png","fullTextureImage":"stopwatch-digits-texture.png","opaqueTextureImage":"stopwatch-digits-opaque.png","stpTextureImage":"stopwatch-digits-stp.png","left":32,"top":64,"width":78,"height":9,"texturePage":26,"clut":390,"palette":{"id":390,"sourceFile":"BIN/F_GAME.BIN","offset":266432,"rawBytesHex":"000021040044007c687d677e0058007c46295709bb02e71c6b2d1042d65abd77","rawWords":[0,1057,17408,31744,32104,32359,22528,31744,10566,2391,699,7399,11627,16912,23254,30653],"rgba":[[0,0,0,0],[8,8,8,255],[0,0,139,255],[0,0,255,255],[65,90,255,255],[57,156,255,255],[0,0,180,255],[0,0,255,255],[49,82,82,255],[189,82,16,255],[222,172,0,255],[57,57,57,255],[90,90,90,255],[131,131,131,255],[180,180,180,255],[238,238,238,255]],"stpIndices":[],"format":"Little-endian RGB555 plus original bit15 STP. A zero word is transparent; every nonzero word has alpha255 in the full atlas."},"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlock":8,"sourceRowOffsets":[69648,69712,69776,69840,69904,69968,70032,70096,70160],"pixelIndexFrequencies":[327,0,256,0,60,59,0,0,0,0,0,0,0,0,0,0],"opaquePixelCount":375,"stpPixelCount":0,"transparentPixelCount":327,"sourceColorExpansion":"floor(channel5*255/31); nonzero words have fullRGBAalpha; source STP is retained separately","entityPrimitiveIndices":[1,2],"initialDrawMode":778,"drawMode":770,"screenSpace":true,"rawTextureGpuCodeBitEnabled":true,"textureModulationEnabled":false,"semitransparentEnabled":false,"priorityRelativeToPlayer":3,"digitRects":[{"digit":0,"left":104,"top":64,"width":6,"height":9,"rawUV":[104,64,110,64,104,73,110,73],"derivedFromSourceFormula":true},{"digit":1,"left":32,"top":64,"width":6,"height":9,"rawUV":[32,64,38,64,32,73,38,73],"derivedFromSourceFormula":true},{"digit":2,"left":40,"top":64,"width":6,"height":9,"rawUV":[40,64,46,64,40,73,46,73],"derivedFromSourceFormula":true},{"digit":3,"left":48,"top":64,"width":6,"height":9,"rawUV":[48,64,54,64,48,73,54,73],"derivedFromSourceFormula":true},{"digit":4,"left":56,"top":64,"width":6,"height":9,"rawUV":[56,64,62,64,56,73,62,73],"derivedFromSourceFormula":true},{"digit":5,"left":64,"top":64,"width":6,"height":9,"rawUV":[64,64,70,64,64,73,70,73],"derivedFromSourceFormula":true},{"digit":6,"left":72,"top":64,"width":6,"height":9,"rawUV":[72,64,78,64,72,73,78,73],"derivedFromSourceFormula":true},{"digit":7,"left":80,"top":64,"width":6,"height":9,"rawUV":[80,64,86,64,80,73,86,73],"derivedFromSourceFormula":true},{"digit":8,"left":88,"top":64,"width":6,"height":9,"rawUV":[88,64,94,64,88,73,94,73],"derivedFromSourceFormula":true},{"digit":9,"left":96,"top":64,"width":6,"height":9,"rawUV":[96,64,102,64,96,73,102,73],"derivedFromSourceFormula":true}],"sourceGlyphWidth":6,"sourceGlyphHeight":9,"sourceHorizontalStride":8,"normalCountdownDigits":[4,3,2,1,0],"sourceCanDrawTensButNormalCountdownNeverReaches10":true,"paletteWords":[0,1057,17408,31744,32104,32359,22528,31744,10566,2391,699,7399,11627,16912,23254,30653]},"circle":{"textureImage":"stopwatch-circle-texture.png","fullTextureImage":"stopwatch-circle-texture.png","opaqueTextureImage":"stopwatch-circle-opaque.png","stpTextureImage":"stopwatch-circle-stp.png","left":0,"top":191,"width":65,"height":65,"texturePage":26,"clut":351,"palette":{"id":351,"sourceFile":"BIN/F_GAME.BIN","offset":265184,"rawBytesHex":"0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","rawWords":[0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],"rgba":[[0,0,0,0],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255],[255,255,255,255]],"stpIndices":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],"format":"Little-endian RGB555 plus original bit15 STP. A zero word is transparent; every nonzero word has alpha255 in the full atlas."},"pixelSourceFile":"BIN/F_GAME.BIN","sourcePixelBlock":10,"sourceRowOffsets":[85952,86016,86080,86144,86208,86272,86336,86400,86464,86528,86592,86656,86720,86784,86848,86912,86976,87040,87104,87168,87232,87296,87360,87424,87488,87552,87616,87680,87744,87808,87872,87936,88000,88064,88128,88192,88256,88320,88384,88448,88512,88576,88640,88704,88768,88832,88896,88960,89024,89088,89152,89216,89280,89344,89408,89472,89536,89600,89664,89728,89792,89856,89920,89984,90048],"pixelIndexFrequencies":[1441,364,336,304,296,260,240,204,180,160,140,112,80,60,36,12],"opaquePixelCount":0,"stpPixelCount":2784,"transparentPixelCount":1441,"sourceColorExpansion":"floor(channel5*255/31); nonzero words have fullRGBAalpha; source STP is retained separately","entityId":42,"allocatedPrimitiveCount":16,"initialFlags":209846272,"drawMode":1077,"effectiveTexturePage":58,"abr":1,"ditherRequested":true,"screenSpace":true,"sourceAbsoluteDrawFlag":false,"sourceCompositorCameraOffsetApplied":true,"textureModulationEnabled":true,"semitransparentEnabled":true,"priority":194,"originalUVByPrimitive":[[32,191,44,194,32,224,32,224],[44,194,54,201,32,224,32,224],[54,201,61,211,32,224,32,224],[61,211,64,223,32,224,32,224],[64,223,61,236,32,224,32,224],[61,236,54,246,32,224,32,224],[54,246,44,253,32,224,32,224],[44,253,32,255,32,224,32,224],[32,255,19,253,32,224,32,224],[19,253,9,246,32,224,32,224],[9,246,2,236,32,224,32,224],[2,236,0,223,32,224,32,224],[0,223,2,211,32,224,32,224],[2,211,9,201,32,224,32,224],[9,201,19,194,32,224,32,224],[19,194,32,191,32,224,32,224]],"derivedUvUsesRecoveredQuarterTable":true,"uvBoundsInclusive":[0,191,64,255],"uvVNegationAfterArithmeticShift":true,"collapsedInnerUv":[32,224],"collapsedUvDoesNotMakeWorldTriangleInvisible":true,"triangleIndices":[[0,1,2],[1,2,3]],"rgbVertices":[64,64,64,64,64,64,0,0,32,0,0,32],"outerInitialRadius":32,"ringWidth":32,"radiusGrowthPerLiveCallback":24,"lastSurvivingTimer":30,"destroyTimer":31,"lastVisibleRadius":752,"destroyStoredRadius":776,"sourcePaintOrder":[15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0],"paletteWords":[0,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],"renderBoundary":"Both world-space triangles need barycentric UV and per-vertex RGB interpolation, including the second triangle with collapsed inner UV. Canvas rasterization, PSX dithering and RGB555 background saturation remain approximations."},"timeline":{"initCallback":0,"riseCalls":18,"riseStepFixed":98304,"riseThresholdFixed":1703936,"risePeakFixed":1769472,"fallCalls":11,"fallStepFixed":65536,"fallThresholdFixed":1048576,"enterCountdownCallback":29,"countdownInitial":5,"tickInterval":81,"enterDetachPhaseCallback":515,"detachCallback":516,"whiteFlashCallback":520,"queueParticleCallback":531,"destroyAndClearFreezeCallback":532,"freezeEnabledStageCallbacksIncludingInit":532,"sourceNormalScheduleAssumesNoCancellation":true},"behavior":{"pauseEnemiesAdmissionRefused":true,"affordabilityPreviewBeforePauseEnemiesInhibition":true,"insufficientHeartsReturnsOrdinaryAttackFallbackBeforePauseEnemiesCheck":true,"pauseEnemiesClearsFreezeAndRedirectsExistingPreDetachClock":true,"successfulInitSetsFreezeFlag":true,"initHasNoDamageHelperOrRandCalls":true,"initQueuesCircleFactory":75,"followXOffsetFacingLeftFixed":524288,"followXOffsetFacingRightFixed":-524288,"followYFixedOffset":-1048576,"followSignedTruncationDivisors":[12,4],"followWhenResultingStepBelow":5,"faceChangeNearTargetThresholdFixed":65536,"clockGrowthPercentStep":4,"clockGrowthPercentMax":100,"initialRotationStep":128,"initialRotationMax":4096,"finalRotationHalfSize":[8,12],"bounceThresholdFixed":1048576,"bounceNormalRandMask":127,"bounceNormalBias":256,"bounceTickRandMask":63,"bounceTickBias":512,"bounceVelocityLeftShift":8,"bounceAngleRandMask":63,"bounceAngleBias":64,"bounceVelocityDeltaFixed":-16384,"randCallsPerBounce":2,"detachIntegerXFacingLeftDelta":6,"detachIntegerXFacingRightDelta":-6,"detachClearsPlayerLock":true,"detachPriority":194,"whiteFlashAtTimer":4,"finalQueueAboveTimer":14,"finalFactoryPackedValue":917508,"finalHalfWidthFormula":"max(8-t,1)","finalHalfHeightFormula":"min(32*t+12,128)","normalDigitUnusedTensBranchRetainedInSource":true,"timerAndSoundRequestsAreSourceFactsNotFullAudioPlayback":true},"particles":{"kind":"stopwatchFinalParticles","profileIndex":14,"factoryId":4,"factoryParams":14,"childParams":3584,"allocatedPrimitiveCount":21,"drawableTileCount":20,"primitiveType":17,"terminalPrimitiveType":1,"terminalWidth":0,"terminalSelectsDrawModeBeforeAltTiles":true,"drawMode":51,"abr":1,"ditherRequested":false,"sourceRgb":[127,127,192],"sourceRgb555":[15,15,24],"canvasAdditiveContributionRgb":[123,123,197],"width":1,"height":1,"priorityRelativeToPlayer":-2,"behavior":12,"initialFlags":209715200,"initialTimer":63,"decrementsPerLiveCallback":2,"motionCalls":31,"destroyLiveCall":32,"initialTileDelay":63,"sourceRngCalls":0,"velocityYFixed":[-8192,-14336,-32768,-63488,-106496,-161792,-229376,-309248,-401408,-505856,8192,14336,32768,63488,106496,161792,229376,309248,401408,505856],"velocityXFixed":0,"horizontalMotion":false,"gravityApplied":false,"colorFadeApplied":false,"sizeChangeApplied":false,"sourcePaintingOrder":"reverse source tile index; zero-width terminal control is not artwork","rendererBoundary":"Exact flat RGB5 contribution is prepared statically; Canvas additive background quantization/saturation and original global OT still remain approximate."},"stageGate":{"sourceFile":"ST/NO3/NO3.BIN","freezeFlagAddress":"0x800973fc","separatePauseEnemiesAddress":"0x80097400","initializedOnly":true,"zeroStepStillInitializes":true,"alwaysCallbackFlagsMask":8448,"partialCallbackMask":512,"partialCadenceMask":3,"partialCadenceUpdateWhenMaskedTimerEquals":0,"preGateCameraPaletteAndStunHandling":true,"hitParametersOnlyClearAfterExecutedCallback":true,"sourceNormalOrder":["HitDetection","EntityAlucard","UpdatePlayerEntities including Stopwatch flag","UpdateRoomPosition","stage Update selective freeze"],"sourceDefinitionFlags":[{"sourceFile":"DRA.BIN","tablePointerOffset":152,"tableOffset":35072,"index":64,"offset":37632,"pointer":"0x800a9300","rawBytesHex":"40fe0d8001001000210000003700000000000000000001000a0082001f0106001800080810180088","namePointer":"0x800dfe40","flagsUnsigned":2281707536,"flagsHex":"0x88001810","flagsSigned":-2013259760,"flagNote":"enemyFields contains signed32 flags for the Java int API; flagsUnsigned preserves the identical original bits.","name":"bat","flagsOffset":37668,"postInitFlagsHex":"0x88001810","hasAlwaysCallbackMask":false,"hasPartialCadenceMask":false},{"sourceFile":"DRA.BIN","tablePointerOffset":152,"tableOffset":35072,"index":110,"offset":39472,"pointer":"0x800a9a30","rawBytesHex":"d80a0e8001000e002100000023000090000000000000010005002a010500180010000a10101c0088","namePointer":"0x800e0ad8","flagsUnsigned":2281708560,"flagsHex":"0x88001c10","flagsSigned":-2013258736,"flagNote":"enemyFields contains signed32 flags for the Java int API; flagsUnsigned preserves the identical original bits.","name":"zombie","flagsOffset":39508,"postInitFlagsHex":"0x88001c10","hasAlwaysCallbackMask":false,"hasPartialCadenceMask":false},{"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.","name":"candle","flagsOffset":35108,"postInitFlagsHex":"0xad202000","hasAlwaysCallbackMask":true,"hasPartialCadenceMask":false},{"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.","name":"prizeDrop","flagsOffset":35148,"postInitFlagsHex":"0xd202000","hasAlwaysCallbackMask":true,"hasPartialCadenceMask":false},{"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.","name":"explosion","flagsOffset":35188,"postInitFlagsHex":"0xcd202000","hasAlwaysCallbackMask":true,"hasPartialCadenceMask":false},{"sourceFile":"DRA.BIN","tablePointerOffset":152,"tableOffset":35072,"index":4,"offset":35232,"pointer":"0x800a89a0","rawBytesHex":"8cd10d80ff7f00000000000000000000000000000000000000000000000000000000000000202005","namePointer":"0x800dd18c","flagsUnsigned":85991424,"flagsHex":"0x5202000","flagsSigned":85991424,"flagNote":"enemyFields contains signed32 flags for the Java int API; flagsUnsigned preserves the identical original bits.","name":"zombieSpawner","flagsOffset":35268,"postInitFlagsHex":"0x2000","hasAlwaysCallbackMask":true,"hasPartialCadenceMask":false}],"clockFlagsHaveCameraAndPlayerLocks":true,"sourcePrimitiveFlagsApplyCameraCorrectionBeforePlayerCorrection":true,"postCallbackSourceEntityLocksRetainHighHalfCameraAndFullFixedPlayerDisplacements":true,"scopeBoundary":"The selected Java world bridge handles recovered actors, initialization/death immunity and source cadence separately. Full original entity/camera/draw-offset/palette/stun bookkeeping and whole-stage dispatch remain unfinished."},"observedBinaryInstructions":[{"sourceFile":"DRA.BIN","offset":566648,"runtimeAddress":"0x8012a578","word":"0xc03b720","littleEndianBytes":"20b7030c","fact":"Ring primitive allocation"},{"sourceFile":"DRA.BIN","offset":566652,"runtimeAddress":"0x8012a57c","word":"0x34050010","littleEndianBytes":"10000534","fact":"Ring sixteen GT4s"},{"sourceFile":"DRA.BIN","offset":566684,"runtimeAddress":"0x8012a59c","word":"0x3c020c82","littleEndianBytes":"820c023c","fact":"Ring flags cameraLocked/keepAlive/primitives/UNK20000"},{"sourceFile":"DRA.BIN","offset":566736,"runtimeAddress":"0x8012a5d0","word":"0x3402001a","littleEndianBytes":"1a000234","fact":"Ring texture page1A"},{"sourceFile":"DRA.BIN","offset":566744,"runtimeAddress":"0x8012a5d8","word":"0x3402015f","littleEndianBytes":"5f010234","fact":"Ring CLUT white15F"},{"sourceFile":"DRA.BIN","offset":566752,"runtimeAddress":"0x8012a5e0","word":"0x340200c2","littleEndianBytes":"c2000234","fact":"Ring priority194"},{"sourceFile":"DRA.BIN","offset":566764,"runtimeAddress":"0x8012a5ec","word":"0x34020435","littleEndianBytes":"35040234","fact":"Ring colors/transparency/ABR1/dither mode435"},{"sourceFile":"DRA.BIN","offset":566824,"runtimeAddress":"0x8012a628","word":"0x21023","littleEndianBytes":"23100200","fact":"Ring V negates AFTER arithmetic shift"},{"sourceFile":"DRA.BIN","offset":566828,"runtimeAddress":"0x8012a62c","word":"0x2442ffdf","littleEndianBytes":"dfff4224","fact":"Ring V outer center223 as byte"},{"sourceFile":"DRA.BIN","offset":566884,"runtimeAddress":"0x8012a664","word":"0x340200e0","littleEndianBytes":"e0000234","fact":"Ring inner V224"},{"sourceFile":"DRA.BIN","offset":566972,"runtimeAddress":"0x8012a6bc","word":"0x34030020","littleEndianBytes":"20000334","fact":"Ring initial size32"},{"sourceFile":"DRA.BIN","offset":567000,"runtimeAddress":"0x8012a6d8","word":"0x24630018","littleEndianBytes":"18006324","fact":"Ring expansion24 per live callback"},{"sourceFile":"DRA.BIN","offset":567020,"runtimeAddress":"0x8012a6ec","word":"0x2842001f","littleEndianBytes":"1f004228","fact":"Ring survives timer0..30 and destroys31 before geometry"},{"sourceFile":"DRA.BIN","offset":567168,"runtimeAddress":"0x8012a780","word":"0x2610ffe0","littleEndianBytes":"e0ff1026","fact":"Ring inner radius outer minus32"},{"sourceFile":"DRA.BIN","offset":567456,"runtimeAddress":"0x8012a8a0","word":"0x8c427400","littleEndianBytes":"0074428c","fact":"Parent reads separate pauseEnemies"},{"sourceFile":"DRA.BIN","offset":567508,"runtimeAddress":"0x8012a8d4","word":"0xac2073fc","littleEndianBytes":"fc7320ac","fact":"Cutscene pause clears Stopwatch freeze before phase handling"},{"sourceFile":"DRA.BIN","offset":567524,"runtimeAddress":"0x8012a8e4","word":"0x2c420004","littleEndianBytes":"0400422c","fact":"Paused parent phases1..3 redirect4"},{"sourceFile":"DRA.BIN","offset":567536,"runtimeAddress":"0x8012a8f0","word":"0xa662002c","littleEndianBytes":"2c0062a6","fact":"Paused phase redirect to4"},{"sourceFile":"DRA.BIN","offset":567596,"runtimeAddress":"0x8012a92c","word":"0x14400142","littleEndianBytes":"42014014","fact":"Paused initialization cancels before allocation"},{"sourceFile":"DRA.BIN","offset":567604,"runtimeAddress":"0x8012a934","word":"0xc03b720","littleEndianBytes":"20b7030c","fact":"Parent allocate before any freeze store"},{"sourceFile":"DRA.BIN","offset":567608,"runtimeAddress":"0x8012a938","word":"0x34050003","littleEndianBytes":"03000534","fact":"Parent three GT4s"},{"sourceFile":"DRA.BIN","offset":567628,"runtimeAddress":"0x8012a94c","word":"0x3c020c86","littleEndianBytes":"860c023c","fact":"Parent flags include player/camera lock,keepAlive,primitives,UNK20000"},{"sourceFile":"DRA.BIN","offset":567668,"runtimeAddress":"0x8012a974","word":"0x3402001e","littleEndianBytes":"1e000234","fact":"Clock raw page1E"},{"sourceFile":"DRA.BIN","offset":567676,"runtimeAddress":"0x8012a97c","word":"0x3402017f","littleEndianBytes":"7f010234","fact":"Clock normal CLUT17F"},{"sourceFile":"DRA.BIN","offset":567684,"runtimeAddress":"0x8012a984","word":"0x340200c0","littleEndianBytes":"c0000234","fact":"Clock Vtop192"},{"sourceFile":"DRA.BIN","offset":567696,"runtimeAddress":"0x8012a990","word":"0x340200d8","littleEndianBytes":"d8000234","fact":"Clock Vbottom216"},{"sourceFile":"DRA.BIN","offset":567772,"runtimeAddress":"0x8012a9dc","word":"0x3407030a","littleEndianBytes":"0a030734","fact":"All three parent primitives initial hidden drawMode30A"},{"sourceFile":"DRA.BIN","offset":567780,"runtimeAddress":"0x8012a9e4","word":"0x3408001a","littleEndianBytes":"1a000834","fact":"Digits raw page1A"},{"sourceFile":"DRA.BIN","offset":567800,"runtimeAddress":"0x8012a9f8","word":"0x34060186","littleEndianBytes":"86010634","fact":"Digits CLUT186"},{"sourceFile":"DRA.BIN","offset":567836,"runtimeAddress":"0x8012aa1c","word":"0x3405004b","littleEndianBytes":"4b000534","fact":"Queue activation blueprint75"},{"sourceFile":"DRA.BIN","offset":567888,"runtimeAddress":"0x8012aa50","word":"0xac2273fc","littleEndianBytes":"fc7322ac","fact":"Freeze enabled only after successful parent allocation"},{"sourceFile":"DRA.BIN","offset":567908,"runtimeAddress":"0x8012aa64","word":"0x34848000","littleEndianBytes":"00808434","fact":"Rise velocity1.5 fixed"},{"sourceFile":"DRA.BIN","offset":567964,"runtimeAddress":"0x8012aa9c","word":"0x3463ffff","littleEndianBytes":"ffff6334","fact":"Rise comparison equivalent fixed height>=26"},{"sourceFile":"DRA.BIN","offset":567996,"runtimeAddress":"0x8012aabc","word":"0x3c03ffff","littleEndianBytes":"ffff033c","fact":"Fall subtracts fixed1"},{"sourceFile":"DRA.BIN","offset":568004,"runtimeAddress":"0x8012aac4","word":"0x3c030010","littleEndianBytes":"1000033c","fact":"Fall threshold fixed16"},{"sourceFile":"DRA.BIN","offset":568024,"runtimeAddress":"0x8012aad8","word":"0x34020005","littleEndianBytes":"05000234","fact":"Countdown initial5"},{"sourceFile":"DRA.BIN","offset":568068,"runtimeAddress":"0x8012ab04","word":"0x28420051","littleEndianBytes":"51004228","fact":"Each countdown decrement after81 callbacks"},{"sourceFile":"DRA.BIN","offset":568104,"runtimeAddress":"0x8012ab28","word":"0x2442ffff","littleEndianBytes":"ffff4224","fact":"Countdown decrements"},{"sourceFile":"DRA.BIN","offset":568116,"runtimeAddress":"0x8012ab34","word":"0x44000b9","littleEndianBytes":"b9004004","fact":"Negative countdown redirects4; geometry still follows resultingstep4"},{"sourceFile":"DRA.BIN","offset":568392,"runtimeAddress":"0x8012ac48","word":"0x34140050","littleEndianBytes":"50001434","fact":"Digit zero UV uses offset80"},{"sourceFile":"DRA.BIN","offset":568520,"runtimeAddress":"0x8012acc8","word":"0x340300c2","littleEndianBytes":"c2000334","fact":"Detached clock priority194"},{"sourceFile":"DRA.BIN","offset":568528,"runtimeAddress":"0x8012acd0","word":"0x3042fdff","littleEndianBytes":"fffd4230","fact":"Detach clears primitive player delta flag200"},{"sourceFile":"DRA.BIN","offset":568596,"runtimeAddress":"0x8012ad14","word":"0x24620006","littleEndianBytes":"06006224","fact":"Detach left X+6"},{"sourceFile":"DRA.BIN","offset":568600,"runtimeAddress":"0x8012ad18","word":"0x2462fffa","littleEndianBytes":"faff6224","fact":"Detach right X-6"},{"sourceFile":"DRA.BIN","offset":568628,"runtimeAddress":"0x8012ad34","word":"0x441023","littleEndianBytes":"23104400","fact":"Detach Y subtracts current height high half preservingfraction"},{"sourceFile":"DRA.BIN","offset":568668,"runtimeAddress":"0x8012ad5c","word":"0x28420004","littleEndianBytes":"04004228","fact":"White flash when tailtimer>=4"},{"sourceFile":"DRA.BIN","offset":568724,"runtimeAddress":"0x8012ad94","word":"0x3402015f","littleEndianBytes":"5f010234","fact":"White flash original CLUT15F"},{"sourceFile":"DRA.BIN","offset":568732,"runtimeAddress":"0x8012ad9c","word":"0x34020040","littleEndianBytes":"40000234","fact":"White flash red/green64"},{"sourceFile":"DRA.BIN","offset":568768,"runtimeAddress":"0x8012adc0","word":"0x34020060","littleEndianBytes":"60000234","fact":"White flash blue96"},{"sourceFile":"DRA.BIN","offset":568788,"runtimeAddress":"0x8012add4","word":"0x34630004","littleEndianBytes":"04006334","fact":"Flash adds modulation flag4; transparency remains off"},{"sourceFile":"DRA.BIN","offset":568832,"runtimeAddress":"0x8012ae00","word":"0x2842000f","littleEndianBytes":"0f004228","fact":"Final child queue at tailtimer15"},{"sourceFile":"DRA.BIN","offset":568844,"runtimeAddress":"0x8012ae0c","word":"0x3c05000e","littleEndianBytes":"0e00053c","fact":"Final child factory params14"},{"sourceFile":"DRA.BIN","offset":568848,"runtimeAddress":"0x8012ae10","word":"0x34a50004","littleEndianBytes":"0400a534","fact":"Final child blueprint4"},{"sourceFile":"DRA.BIN","offset":568884,"runtimeAddress":"0x8012ae34","word":"0xac2073fc","littleEndianBytes":"fc7320ac","fact":"Parentstep7 clearsfreeze before destruction"},{"sourceFile":"DRA.BIN","offset":568960,"runtimeAddress":"0x8012ae80","word":"0x2c820005","littleEndianBytes":"0500822c","fact":"Only resultingstep<5 followsplayer"},{"sourceFile":"DRA.BIN","offset":569004,"runtimeAddress":"0x8012aeac","word":"0x3c022aaa","littleEndianBytes":"aa2a023c","fact":"Signed division12 followsX, truncates towardzero"},{"sourceFile":"DRA.BIN","offset":569076,"runtimeAddress":"0x8012aef4","word":"0x24840003","littleEndianBytes":"03008424","fact":"Signed division4 followsY, negative bias for truncation towardzero"},{"sourceFile":"DRA.BIN","offset":569308,"runtimeAddress":"0x8012afdc","word":"0x28420064","littleEndianBytes":"64004228","fact":"Scale grows4 until100"},{"sourceFile":"DRA.BIN","offset":569336,"runtimeAddress":"0x8012aff8","word":"0x28421000","littleEndianBytes":"00104228","fact":"Rotation grows128 until4096"},{"sourceFile":"DRA.BIN","offset":569784,"runtimeAddress":"0x8012b1b8","word":"0x24420200","littleEndianBytes":"00024224","fact":"Tickbounce velocity base512 in256ths"},{"sourceFile":"DRA.BIN","offset":569840,"runtimeAddress":"0x8012b1f0","word":"0x24420100","littleEndianBytes":"00014224","fact":"Normalbounce velocity base256 in256ths"},{"sourceFile":"DRA.BIN","offset":517440,"runtimeAddress":"0x8011e540","word":"0x34040011","littleEndianBytes":"11000434","fact":"Particle allocator primitiveTILE_ALT17"},{"sourceFile":"DRA.BIN","offset":517448,"runtimeAddress":"0x8011e548","word":"0x24a50001","littleEndianBytes":"0100a524","fact":"Particle count plus terminal sentinel"},{"sourceFile":"DRA.BIN","offset":517524,"runtimeAddress":"0x8011e594","word":"0x3402003f","littleEndianBytes":"3f000234","fact":"Selected particle remaining63"},{"sourceFile":"DRA.BIN","offset":518648,"runtimeAddress":"0x8011e9f8","word":"0x2442ffff","littleEndianBytes":"ffff4224","fact":"First shared remaining decrement"},{"sourceFile":"DRA.BIN","offset":518676,"runtimeAddress":"0x8011ea14","word":"0x2442ffff","littleEndianBytes":"ffff4224","fact":"Second shared remaining decrement"},{"sourceFile":"DRA.BIN","offset":340284,"runtimeAddress":"0x800f313c","word":"0xc046934","littleEndianBytes":"3469040c","fact":"Normal player actor update precedes stage gate"},{"sourceFile":"DRA.BIN","offset":340324,"runtimeAddress":"0x800f3164","word":"0x40f809","littleEndianBytes":"09f84000","fact":"Normal stageUpdate follows player actors"},{"sourceFile":"DRA.BIN","offset":386360,"runtimeAddress":"0x800fe538","word":"0xa3102a","littleEndianBytes":"2a10a300","fact":"Preview compares current hearts against cost even when useHearts=false"},{"sourceFile":"DRA.BIN","offset":386364,"runtimeAddress":"0x800fe53c","word":"0x14400008","littleEndianBytes":"08004014","fact":"Insufficient preview returns zero inventory before caller pause check"},{"sourceFile":"DRA.BIN","offset":386372,"runtimeAddress":"0x800fe544","word":"0x12400002","littleEndianBytes":"02004012","fact":"Only the consume store is conditional on useHearts"},{"sourceFile":"DRA.BIN","offset":386380,"runtimeAddress":"0x800fe54c","word":"0xac820000","littleEndianBytes":"000082ac","fact":"Successful true call consumes heart cost"},{"sourceFile":"DRA.BIN","offset":386404,"runtimeAddress":"0x800fe564","word":"0x1021","littleEndianBytes":"21100000","fact":"Insufficient preview returns zero"},{"sourceFile":"DRA.BIN","offset":453532,"runtimeAddress":"0x8010eb9c","word":"0xc03f8f1","littleEndianBytes":"f1f8030c","fact":"Admission first calls affordability preview"},{"sourceFile":"DRA.BIN","offset":453536,"runtimeAddress":"0x8010eba0","word":"0x3021","littleEndianBytes":"21300000","fact":"First admission helper useHearts=false"},{"sourceFile":"DRA.BIN","offset":453552,"runtimeAddress":"0x8010ebb0","word":"0x14600003","littleEndianBytes":"03006014","fact":"Preview zero redirects fallback before pause check"},{"sourceFile":"DRA.BIN","offset":453564,"runtimeAddress":"0x8010ebbc","word":"0x34020001","littleEndianBytes":"01000234","fact":"Preview zero fallback return1"},{"sourceFile":"DRA.BIN","offset":453580,"runtimeAddress":"0x8010ebcc","word":"0x8c427400","littleEndianBytes":"0074428c","fact":"Only affordable Stopwatch checks pauseEnemies"},{"sourceFile":"DRA.BIN","offset":453592,"runtimeAddress":"0x8010ebd8","word":"0x34020004","littleEndianBytes":"04000234","fact":"Affordable paused Stopwatch returns inhibit4"},{"sourceFile":"DRA.BIN","offset":453600,"runtimeAddress":"0x8010ebe0","word":"0xc043ab7","littleEndianBytes":"b73a040c","fact":"Affordable unpaused admission checks chain beforeconsume"},{"sourceFile":"DRA.BIN","offset":453628,"runtimeAddress":"0x8010ebfc","word":"0xc03f8f1","littleEndianBytes":"f1f8030c","fact":"Second helper performs actualconsume"},{"sourceFile":"DRA.BIN","offset":453632,"runtimeAddress":"0x8010ec00","word":"0x34060001","littleEndianBytes":"01000634","fact":"Second helper useHearts=true"},{"sourceFile":"ST/NO3/NO3.BIN","offset":268628,"runtimeAddress":"0x801c1954","word":"0x10400075","littleEndianBytes":"75004010","fact":"Stage step0 bypasses all initialized bookkeeping/freeze"},{"sourceFile":"ST/NO3/NO3.BIN","offset":269044,"runtimeAddress":"0x801c1af4","word":"0x8c4273fc","littleEndianBytes":"fc73428c","fact":"Stage reads Stopwatch flag"},{"sourceFile":"ST/NO3/NO3.BIN","offset":269056,"runtimeAddress":"0x801c1b00","word":"0x30a22100","littleEndianBytes":"0021a230","fact":"Immune2000 orDEAD100 bypassfreeze"},{"sourceFile":"ST/NO3/NO3.BIN","offset":269064,"runtimeAddress":"0x801c1b08","word":"0x30a20200","littleEndianBytes":"0002a230","fact":"Partialfreeze flag200 permits fourth-frame callback"},{"sourceFile":"ST/NO3/NO3.BIN","offset":269088,"runtimeAddress":"0x801c1b20","word":"0x30420003","littleEndianBytes":"03004230","fact":"Cadence uses global gameTimer modulo4"},{"sourceFile":"ST/NO3/NO3.BIN","offset":269112,"runtimeAddress":"0x801c1b38","word":"0x40f809","littleEndianBytes":"09f84000","fact":"Stage callback after gate"},{"sourceFile":"ST/NO3/NO3.BIN","offset":269120,"runtimeAddress":"0x801c1b40","word":"0xa600fffc","littleEndianBytes":"fcff00a6","fact":"HitParams clear only after callback"},{"sourceFile":"ST/NO3/NO3.BIN","offset":269124,"runtimeAddress":"0x801c1b44","word":"0xa2000000","littleEndianBytes":"000000a2","fact":"HitFlags clear only after callback"},{"sourceFile":"ST/NO3/NO3.BIN","offset":354128,"runtimeAddress":"0x801d6750","word":"0x30422000","littleEndianBytes":"00204230","fact":"Zombie spawner retains only immunity2000 after init"}],"independentBinaryEvidence":"../references/stopwatch-attack-evidence.json","attackAnimations":{"184":{"id":184,"pointer":"0x800afbd8","pointerTableOffset":66712,"dataOffset":64472,"poses":[{"duration":48,"frame":121,"hitbox":1,"packedPose":633,"sourceOffset":64472},{"duration":-1,"command":"end","sourceOffset":64476}]},"185":{"id":185,"pointer":"0x800afbd8","pointerTableOffset":66716,"dataOffset":64472,"poses":[{"duration":48,"frame":121,"hitbox":1,"packedPose":633,"sourceOffset":64472},{"duration":-1,"command":"end","sourceOffset":64476}]}},"resolvedAnimations":{"184":{"durations":[48],"frames":[121],"loopStart":-1,"sourcePoses":[{"animation":184,"poseIndex":0,"sourceOffset":64472,"hitbox":1,"packedPose":633}]},"185":{"durations":[48],"frames":[121],"loopStart":-1,"sourcePoses":[{"animation":185,"poseIndex":0,"sourceOffset":64472,"hitbox":1,"packedPose":633}]}},"pickupPlacements":[{"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,"roomId":7,"objLayoutId":8,"roomHeaderOffset":15612,"inventoryId":6,"originalPrizeParams":18}],"originalNo3StopwatchCandlePlacementCount":1,"rngProofMetadata":"holy-water-attack.json#rng","noCpuOrFirmwareInstructionsExecuted":true,"sourceHashes":{"DRA.BIN":"6cb1383b5b94e0bcad041af9856853907226091c184071917a739b91734af66b","BIN/F_GAME.BIN":"0984439a9e480017eb5e3bbad421aaa86e976d65dfb31b68c201cc80ed6fc0ce","SLUS_000.67":"8f3e09b5b607a49aab94a5516ca742a3a1ca93b086d0e91a8067c79faeaeab08","ST/NO3/NO3.BIN":"1228d5a1074c9e0c6cd0bcd50565450b168689d4ddbcaf9178eda49622a0e405"},"references":["https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/8A0A4.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/7E4BC.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/7879C.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/4DA70.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/5087C.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/6E42C.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/st/st_update.h","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/include/palettes.h","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/include/primitive.h"],"scopeNote":"Original US Stopwatch definition, factories, clock/digit/ring texture masks, final particle profile, quarter-sine words, timing and selective stage-freeze data are recovered statically. Java ports selected behavior separately; no CPU, GTE or firmware instructions execute. Full original global allocation/factory/world RNG phase, player/camera lock and draw-offset pipeline, stage palette/stun/collision battle integration, exact GPU Gouraud raster/dithering/background arithmetic and audio remain unfinished. The existing original room7 Stopwatch candle is retained without inventing a placement. Existing144 generated files remain byte-identical."}
