{"format":"sotn-original-us-bible-attack-static-v1","originalDiscVersion":"SLUS-00067","decoderReferenceCommit":"0622fcfd37311fd21baf2938c6bd74cea63005ba","inventoryId":5,"name":"EntitySubwpnBible","subweaponFields":[8,5,4096,1,24,4,93,77,2,1,0,0,0],"subweaponFieldNames":["attack","heartCost","attackElement","chainLimit","nFramesInvincibility","stunFrames","anim","blueprintNum","hitboxState","hitEffect","crashId","unk11","entityRoomIndex"],"definition":{"sourceFile":"DRA.BIN","index":5,"offset":19044,"rawBytesHex":"080005000010011804005d4d0200010000000000"},"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","sourceMath":"Original quarter-sine lookup with integer rsin/rcos; no packed RotMatrix, projection, GTE or CPU instruction execution"},"factoryBlueprintOrder":[77,79],"factoryBlueprints":[43,1,193,0,2,0,44,1,193,0,0,0],"factories":[{"blueprintId":77,"sourceFile":"DRA.BIN","offset":54178,"rawBytesHex":"2b01c1000200","childEntityId":43,"amount":1,"cycle":0,"kind":2,"origin":0,"rangeStartInclusive":32,"rangeEndInclusive":47,"allocationOrder":"ascending"},{"blueprintId":79,"sourceFile":"DRA.BIN","offset":54190,"rawBytesHex":"2c01c1000000","childEntityId":44,"amount":1,"cycle":0,"kind":0,"origin":0,"rangeStartInclusive":32,"rangeEndInclusive":63,"allocationOrder":"descending"}],"callbacks":{"book":{"entityId":43,"tableOffset":53616,"pointer":"0x8012b990"},"trail":{"entityId":44,"tableOffset":53620,"pointer":"0x8012b78c"}},"code":{"book":{"sourceFile":"DRA.BIN","name":"EntitySubwpnBible","startOffset":571792,"endOffsetExclusive":573176,"bytes":1384,"sha256":"c956f37251a88372607bc69f3075765d16704ef7ac3bf89295cfc5126fa0cc6d","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/8A0A4.c"},"trail":{"sourceFile":"DRA.BIN","name":"EntitySubwpnBibleTrail","startOffset":571276,"endOffsetExclusive":571792,"bytes":516,"sha256":"302076c4b289bd7ecd2d86c9e86fadd17ab26c31e4c94e8c4247c1b18603cc32","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/8A0A4.c"}},"book":{"textureImage":"bible-book-texture.png","fullTextureImage":"bible-book-texture.png","opaqueTextureImage":"bible-book-opaque.png","stpTextureImage":"bible-book-stp.png","left":152,"top":216,"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":[226828,226892,226956,227020,227084,227148,227212,227276,227340,227404,227468,227532,227596,227660,227724,227788,227852,227916,227980,228044,228108,228172,228236,228300],"pixelIndexFrequencies":[132,104,10,10,12,12,11,0,0,3,14,36,4,4,20,12],"opaquePixelCount":252,"stpPixelCount":0,"transparentPixelCount":132,"sourceColorExpansion":"floor(channel5*255/31); nonzero words have fullRGBAalpha; source STP is retained separately","entityId":43,"allocatedPrimitiveCount":1,"initialFlags":75628544,"initialDrawMode":264,"drawMode":256,"abr":0,"effectiveTexturePage":30,"semitransparentEnabled":false,"textureModulationEnabled":false,"rawTextureGpuCodeBitEnabled":true,"neutralRendererRgb":[128,128,128],"originalUVcorners":[152,216,168,216,152,240,168,240],"croppedUVcorners":[0,0,16,0,0,24,16,24],"quadOffsets":[-8,-12,8,-12,-8,12,8,12],"initialPriorityRelativeToPlayer":1,"orbitPriorityBackRelativeToPlayer":-2,"orbitPriorityFrontRelativeToPlayer":2,"hitboxHalfWidth":6,"hitboxHalfHeight":6,"uvDoesNotFlipWithFacing":true},"trail":{"textureImage":"bible-trail-texture.png","fullTextureImage":"bible-trail-texture.png","opaqueTextureImage":"bible-trail-opaque.png","stpTextureImage":"bible-trail-stp.png","left":32,"top":0,"width":16,"height":16,"texturePage":28,"clut":413,"palette":{"id":413,"sourceFile":"BIN/F_GAME.BIN","offset":267168,"rawBytesHex":"00007beff7de94d231c6ceb98cb14aa908a1e79cc698a5948490638c42882184","rawWords":[0,61307,57079,53908,50737,47566,45452,43338,41224,40167,39110,38053,36996,35939,34882,33825],"rgba":[[0,0,0,0],[222,222,222,255],[189,189,189,255],[164,164,164,255],[139,139,139,255],[115,115,115,255],[98,98,98,255],[82,82,82,255],[65,65,65,255],[57,57,57,255],[49,49,49,255],[41,41,41,255],[32,32,32,255],[24,24,24,255],[16,16,16,255],[8,8,8,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":16,"sourceRowOffsets":[131088,131152,131216,131280,131344,131408,131472,131536,131600,131664,131728,131792,131856,131920,131984,132048],"pixelIndexFrequencies":[122,5,5,34,66,4,20,0,0,0,0,0,0,0,0,0],"opaquePixelCount":0,"stpPixelCount":134,"transparentPixelCount":122,"sourceColorExpansion":"floor(channel5*255/31); nonzero words have fullRGBAalpha; source STP is retained separately","entityId":44,"allocatedPrimitiveCount":1,"initialFlags":75628544,"drawMode":277,"abr":0,"effectiveTexturePage":28,"semitransparentEnabled":true,"textureModulationEnabled":true,"rawTextureGpuCodeBitEnabled":false,"initialRgb":[96,96,96],"grayValues":[96,88,80,72,64,56,48],"fadeStep":8,"fadeUpdateCount":6,"visibleCallbackCountIncludingInit":7,"destroyCallbackIndexAfterInit":7,"originalUVcorners":[32,0,48,0,32,16,48,16],"croppedUVcorners":[0,0,16,0,0,16,16,16],"quadOffsets":[-8,-8,8,-8,-8,8,8,8],"stationaryAfterFactoryBirth":true,"priorityCapturedFromBook":true,"uvDoesNotFlipWithFacing":true,"sourceRgb555Blend":"For selected STP texels: floor(backgroundChannel5/2)+floor(modulatedTextureChannel5/2), clamped to31. Opaque texels would bypass semi-transparency; selected trail has none.","canvasBlendBoundary":"Canvas source-over at half opacity and RGB555 modulation approximates the PSX separate integer half rounding and raster coverage."},"behavior":{"hiddenInitCall":true,"case1FallsThroughToRadiusGrowth":true,"radiusInitial":0,"radiusStep":1,"radiusMax":48,"orbitAndGrowTotalAge":300,"orbitAngleStepFacingLeft":128,"orbitAngleStepFacingRight":-128,"orbitAngleMask":4095,"tiltInitial":0,"tiltStepFacingLeft":32,"tiltStepFacingRight":-32,"tiltReverseAtAbsoluteAngle":512,"playerUseSubweaponTimer":4,"launchVelocityXFixedFacingLeft":-786432,"launchVelocityXFixedFacingRight":786432,"launchVelocityYFixed":-786432,"flightVelocityYDeltaFixed":-131072,"flightPositionUpdatesBeforeVelocityDelta":true,"launchClearsKeepAliveOffcamera":true,"terrainCollisionTestInSelectedRoutine":false,"offscreenExpiryDelegatedToOriginalDispatcher":true,"trailFactoryPerActiveCallback":79,"trailEmitsOnLaunchCallback":true,"trailHasNoRandCalls":true,"soundEveryGameTimerModulo":10,"selectedStatHelperCalls":1,"baseAttackIsBeforeStatsEquipmentAndRngScaling":true,"originalBodyQuarterTrigOperationsAreSigned32WithArithmeticShift12":true,"originalPositionIntegerStoresAreSigned16AndRetainFractionalLow16":true},"orbitSeedPolicy":{"originalUsInitialValueRecovered":false,"originalUsInitialValue":"unknown incoming ABI callee-saved $s4 register; no US initializer before reads","originalUsReadOffsets":[572600,572616],"pinnedSourceVariable":"var_s4","pinnedSourceInitializerCondition":"VERSION_PSP or FIX_UB","localDeterministicCallbackSeed":0,"localSeedIsRecoveredBinaryField":false,"localSeedScope":"fresh zero on each orbit callback","reason":"Explicit authored FIX_UB-style stabilization of the original US uninitialized local. Other recovered integer operations and lookup words remain source-backed."},"observedBinaryInstructions":[{"sourceFile":"DRA.BIN","offset":571352,"runtimeAddress":"0x8012b7d8","word":"0xc03b720","littleEndianBytes":"20b7030c","fact":"Trail allocates before any initializer writes"},{"sourceFile":"DRA.BIN","offset":571356,"runtimeAddress":"0x8012b7dc","word":"0x34050001","littleEndianBytes":"01000534","fact":"Trail one GT4"},{"sourceFile":"DRA.BIN","offset":571376,"runtimeAddress":"0x8012b7f0","word":"0x3c020482","littleEndianBytes":"8204023c","fact":"Trail keep-alive/HAS_PRIMS/UNK20000, no camera lock"},{"sourceFile":"DRA.BIN","offset":571416,"runtimeAddress":"0x8012b818","word":"0x3402001c","littleEndianBytes":"1c000234","fact":"Trail rawpage1C/ABR0"},{"sourceFile":"DRA.BIN","offset":571424,"runtimeAddress":"0x8012b820","word":"0x3402019d","littleEndianBytes":"9d010234","fact":"TrailCLUT19D"},{"sourceFile":"DRA.BIN","offset":571432,"runtimeAddress":"0x8012b828","word":"0x34020020","littleEndianBytes":"20000234","fact":"Trail Uleft32"},{"sourceFile":"DRA.BIN","offset":571444,"runtimeAddress":"0x8012b834","word":"0x34020030","littleEndianBytes":"30000234","fact":"Trail Uright48"},{"sourceFile":"DRA.BIN","offset":571456,"runtimeAddress":"0x8012b840","word":"0x34020010","littleEndianBytes":"10000234","fact":"Trail Vbottom16"},{"sourceFile":"DRA.BIN","offset":571560,"runtimeAddress":"0x8012b8a8","word":"0x34020115","littleEndianBytes":"15010234","fact":"Trail drawMode0x115 includes colors/transparency/absolute position and ABR0"},{"sourceFile":"DRA.BIN","offset":571576,"runtimeAddress":"0x8012b8b8","word":"0x34030060","littleEndianBytes":"60000334","fact":"Trail initialgray96"},{"sourceFile":"DRA.BIN","offset":571620,"runtimeAddress":"0x8012b8e4","word":"0x28420006","littleEndianBytes":"06004228","fact":"Trail after6livecalls advances todestructionphase"},{"sourceFile":"DRA.BIN","offset":571656,"runtimeAddress":"0x8012b908","word":"0x2442fff8","littleEndianBytes":"f8ff4224","fact":"Trail decrementgray8 evenon6thcall"},{"sourceFile":"DRA.BIN","offset":571668,"runtimeAddress":"0x8012b914","word":"0xc041964","littleEndianBytes":"6419040c","fact":"Trail7thlivecall destroys before further primitive writes"},{"sourceFile":"DRA.BIN","offset":571716,"runtimeAddress":"0x8012b944","word":"0x9203007e","littleEndianBytes":"7e000392","fact":"Trail bytegray sent toallRGBcorners"},{"sourceFile":"DRA.BIN","offset":571808,"runtimeAddress":"0x8012b9a0","word":"0xafb40020","littleEndianBytes":"2000b4af","fact":"Book saves incomingcallee-saved$s4, not initializes it"},{"sourceFile":"DRA.BIN","offset":571892,"runtimeAddress":"0x8012b9f4","word":"0xc03b720","littleEndianBytes":"20b7030c","fact":"Bookallocates beforestat helper/RNG"},{"sourceFile":"DRA.BIN","offset":571896,"runtimeAddress":"0x8012b9f8","word":"0x34050001","littleEndianBytes":"01000534","fact":"Book oneGT4"},{"sourceFile":"DRA.BIN","offset":571932,"runtimeAddress":"0x8012ba1c","word":"0x3c020482","littleEndianBytes":"8204023c","fact":"Book keep-alive/HAS_PRIMS/UNK20000"},{"sourceFile":"DRA.BIN","offset":571972,"runtimeAddress":"0x8012ba44","word":"0x3402001e","littleEndianBytes":"1e000234","fact":"Book rawpage1E"},{"sourceFile":"DRA.BIN","offset":571980,"runtimeAddress":"0x8012ba4c","word":"0x3402017f","littleEndianBytes":"7f010234","fact":"BookCLUT17F"},{"sourceFile":"DRA.BIN","offset":571988,"runtimeAddress":"0x8012ba54","word":"0x34020098","littleEndianBytes":"98000234","fact":"Book Uleft152"},{"sourceFile":"DRA.BIN","offset":572000,"runtimeAddress":"0x8012ba60","word":"0x340200d8","littleEndianBytes":"d8000234","fact":"Book Vtop216"},{"sourceFile":"DRA.BIN","offset":572012,"runtimeAddress":"0x8012ba6c","word":"0x340200a8","littleEndianBytes":"a8000234","fact":"Book Uright168"},{"sourceFile":"DRA.BIN","offset":572024,"runtimeAddress":"0x8012ba78","word":"0x340200f0","littleEndianBytes":"f0000234","fact":"Book Vbottom240"},{"sourceFile":"DRA.BIN","offset":572044,"runtimeAddress":"0x8012ba8c","word":"0x34030108","littleEndianBytes":"08010334","fact":"Book init108hidden/rawtexture"},{"sourceFile":"DRA.BIN","offset":572052,"runtimeAddress":"0x8012ba94","word":"0x24420001","littleEndianBytes":"01004224","fact":"Book initPLAYERpriority+1"},{"sourceFile":"DRA.BIN","offset":572072,"runtimeAddress":"0x8012baa8","word":"0x2403ffe0","littleEndianBytes":"e0ff0324","fact":"Right initialtiltstep-32"},{"sourceFile":"DRA.BIN","offset":572076,"runtimeAddress":"0x8012baac","word":"0x34030020","littleEndianBytes":"20000334","fact":"Left initialtiltstep+32"},{"sourceFile":"DRA.BIN","offset":572084,"runtimeAddress":"0x8012bab4","word":"0xc0468a4","littleEndianBytes":"a468040c","fact":"Source stathelper exactlyonceafterallocation"},{"sourceFile":"DRA.BIN","offset":572100,"runtimeAddress":"0x8012bac4","word":"0xa2030046","littleEndianBytes":"460003a2","fact":"Book bytehitboxhalfwidth6"},{"sourceFile":"DRA.BIN","offset":572108,"runtimeAddress":"0x8012bacc","word":"0xa2030047","littleEndianBytes":"470003a2","fact":"Book bytehitboxhalfheight6"},{"sourceFile":"DRA.BIN","offset":572160,"runtimeAddress":"0x8012bb00","word":"0x3042fff7","littleEndianBytes":"f7ff4230","fact":"FirstlivecallbackremovesHIDE beforegrowth"},{"sourceFile":"DRA.BIN","offset":572240,"runtimeAddress":"0x8012bb50","word":"0x28420030","littleEndianBytes":"30004228","fact":"Bookradiusgrows to48"},{"sourceFile":"DRA.BIN","offset":572296,"runtimeAddress":"0x8012bb88","word":"0x2842012c","littleEndianBytes":"2c014228","fact":"Total visiblecounter300 startsdeparture"},{"sourceFile":"DRA.BIN","offset":572304,"runtimeAddress":"0x8012bb90","word":"0x3c02fbff","littleEndianBytes":"fffb023c","fact":"DepartureclearsKEEP_ALIVE"},{"sourceFile":"DRA.BIN","offset":572336,"runtimeAddress":"0x8012bbb0","word":"0x3c05fff4","littleEndianBytes":"f4ff053c","fact":"LeftdepartureXfixed-12"},{"sourceFile":"DRA.BIN","offset":572344,"runtimeAddress":"0x8012bbb8","word":"0x3c02fff4","littleEndianBytes":"f4ff023c","fact":"DepartureYfixed-12"},{"sourceFile":"DRA.BIN","offset":572600,"runtimeAddress":"0x8012bcb8","word":"0x2340018","littleEndianBytes":"18003402","fact":"UNINITIALIZED read sineTilt*incoming$s4"},{"sourceFile":"DRA.BIN","offset":572616,"runtimeAddress":"0x8012bcc8","word":"0xd40018","littleEndianBytes":"1800d400","fact":"Seconduninitialized read cosineTilt*incoming$s4"},{"sourceFile":"DRA.BIN","offset":572752,"runtimeAddress":"0x8012bd50","word":"0x24630080","littleEndianBytes":"80006324","fact":"Leftorbitangle advances128"},{"sourceFile":"DRA.BIN","offset":572756,"runtimeAddress":"0x8012bd54","word":"0x2463ff80","littleEndianBytes":"80ff6324","fact":"Rightorbitangle decreases128"},{"sourceFile":"DRA.BIN","offset":572804,"runtimeAddress":"0x8012bd84","word":"0x28420200","littleEndianBytes":"00024228","fact":"Tiltstep reverses atabs>=512 AFTER oldangle geometry"},{"sourceFile":"DRA.BIN","offset":572848,"runtimeAddress":"0x8012bdb0","word":"0xa6020002","littleEndianBytes":"020002a6","fact":"Orbit writes onlypositionX high16 preservingfraction"},{"sourceFile":"DRA.BIN","offset":572868,"runtimeAddress":"0x8012bdc4","word":"0xa6020006","littleEndianBytes":"060002a6","fact":"Orbit writes onlypositionY high16 preservingfraction"},{"sourceFile":"DRA.BIN","offset":572920,"runtimeAddress":"0x8012bdf8","word":"0x8e05000c","littleEndianBytes":"0c00058e","fact":"Departureloads OLD velocityY"},{"sourceFile":"DRA.BIN","offset":572940,"runtimeAddress":"0x8012be0c","word":"0xae030004","littleEndianBytes":"040003ae","fact":"Departurecommits OLDvelocityY motion"},{"sourceFile":"DRA.BIN","offset":572944,"runtimeAddress":"0x8012be10","word":"0x3c03fffe","littleEndianBytes":"feff033c","fact":"Departureacceleration negative2"},{"sourceFile":"DRA.BIN","offset":573040,"runtimeAddress":"0x8012be70","word":"0x3405004f","littleEndianBytes":"4f000534","fact":"QueueBP79 EVERY visiblecallback, including finaloutbound"},{"sourceFile":"DRA.BIN","offset":573076,"runtimeAddress":"0x8012be94","word":"0xc046abf","littleEndianBytes":"bf6a040c","fact":"Queuefactory afterrectangle/priority update"},{"sourceFile":"DRA.BIN","offset":573144,"runtimeAddress":"0x8012bed8","word":"0x8fb40020","littleEndianBytes":"2000b48f","fact":"Book restores incoming$s4; only local$s4definition"},{"sourceFile":"DRA.BIN","offset":501304,"runtimeAddress":"0x8011a638","word":"0x40f809","littleEndianBytes":"09f84000","fact":"UpdatePlayers indirectcallback preservesincoming$s4"},{"sourceFile":"DRA.BIN","offset":340284,"runtimeAddress":"0x800f313c","word":"0xc046934","littleEndianBytes":"3469040c","fact":"RunMainEngine normalcallsUpdatePlayers beforelater$s4assignment"},{"sourceFile":"DRA.BIN","offset":340880,"runtimeAddress":"0x800f3390","word":"0x2654fffe","littleEndianBytes":"feff5426","fact":"Later unrelatedscrolltempdefines$s4 AFTER normalplayerentitydispatch"},{"sourceFile":"DRA.BIN","offset":281704,"runtimeAddress":"0x800e4c68","word":"0xc03ca63","littleEndianBytes":"63ca030c","fact":"HandlePlay defaultcallsRunMainEngine"},{"sourceFile":"DRA.BIN","offset":293680,"runtimeAddress":"0x800e7b30","word":"0xc039285","littleEndianBytes":"8592030c","fact":"UpdateGame callsHandlePlay"},{"sourceFile":"SLUS_000.67","offset":6416,"runtimeAddress":"0x80011110","word":"0x40f809","littleEndianBytes":"09f84000","fact":"ExecutablemaincallsloadedDRAentry withoutdefining$s4"},{"sourceFile":"SLUS_000.67","offset":5788,"runtimeAddress":"0x80010e9c","word":"0xc0043ae","littleEndianBytes":"ae43000c","fact":"CRTcallsmain withoutassigning$s4"}],"independentBinaryEvidence":"../references/bible-attack-evidence.json","attackAnimations":{"93":{"id":93,"pointer":"0x800aefe8","pointerTableOffset":66348,"dataOffset":61416,"poses":[{"duration":2,"frame":122,"hitbox":1,"packedPose":634,"sourceOffset":61416},{"duration":2,"frame":123,"hitbox":1,"packedPose":635,"sourceOffset":61420},{"duration":1,"frame":186,"hitbox":9,"packedPose":4794,"sourceOffset":61424},{"duration":1,"frame":187,"hitbox":9,"packedPose":4795,"sourceOffset":61428},{"duration":1,"frame":188,"hitbox":9,"packedPose":4796,"sourceOffset":61432},{"duration":1,"frame":189,"hitbox":9,"packedPose":4797,"sourceOffset":61436},{"duration":1,"frame":190,"hitbox":9,"packedPose":4798,"sourceOffset":61440},{"duration":3,"frame":191,"hitbox":9,"packedPose":4799,"sourceOffset":61444},{"duration":3,"frame":192,"hitbox":1,"packedPose":704,"sourceOffset":61448},{"duration":3,"frame":193,"hitbox":1,"packedPose":705,"sourceOffset":61452},{"duration":3,"frame":194,"hitbox":1,"packedPose":706,"sourceOffset":61456},{"duration":3,"frame":195,"hitbox":1,"packedPose":707,"sourceOffset":61460},{"duration":2,"frame":84,"hitbox":1,"packedPose":596,"sourceOffset":61464},{"duration":2,"frame":85,"hitbox":1,"packedPose":597,"sourceOffset":61468},{"duration":-3,"command":"subanimation","subanimation":16,"sourceOffset":61472},{"duration":-2,"command":"jump","animation":2,"poseIndex":0,"sourceOffset":61476}]},"94":{"id":94,"pointer":"0x800af028","pointerTableOffset":66352,"dataOffset":61480,"poses":[{"duration":5,"frame":87,"hitbox":1,"packedPose":599,"sourceOffset":61480},{"duration":4,"frame":88,"hitbox":1,"packedPose":600,"sourceOffset":61484},{"duration":3,"frame":89,"hitbox":1,"packedPose":601,"sourceOffset":61488},{"duration":3,"frame":90,"hitbox":1,"packedPose":602,"sourceOffset":61492},{"duration":3,"frame":91,"hitbox":1,"packedPose":603,"sourceOffset":61496},{"duration":3,"frame":92,"hitbox":1,"packedPose":604,"sourceOffset":61500},{"duration":3,"frame":93,"hitbox":1,"packedPose":605,"sourceOffset":61504},{"duration":16,"frame":121,"hitbox":1,"packedPose":633,"sourceOffset":61508},{"duration":-2,"command":"jump","animation":3,"poseIndex":0,"sourceOffset":61512}]}},"resolvedAnimations":{"93":{"durations":[2,2,1,1,1,1,1,3,3,3,3,3,2,2,4,4,4,4,4,4,255,255,255,255,192,7,3,4,11,8,160,255],"frames":[122,123,186,187,188,189,190,191,192,193,194,195,84,85,19,20,21,22,23,24,1,1,1,1,93,92,91,92,93,94,79,79],"loopStart":31,"sourcePoses":[{"animation":93,"poseIndex":0,"sourceOffset":61416,"hitbox":1,"packedPose":634},{"animation":93,"poseIndex":1,"sourceOffset":61420,"hitbox":1,"packedPose":635},{"animation":93,"poseIndex":2,"sourceOffset":61424,"hitbox":9,"packedPose":4794},{"animation":93,"poseIndex":3,"sourceOffset":61428,"hitbox":9,"packedPose":4795},{"animation":93,"poseIndex":4,"sourceOffset":61432,"hitbox":9,"packedPose":4796},{"animation":93,"poseIndex":5,"sourceOffset":61436,"hitbox":9,"packedPose":4797},{"animation":93,"poseIndex":6,"sourceOffset":61440,"hitbox":9,"packedPose":4798},{"animation":93,"poseIndex":7,"sourceOffset":61444,"hitbox":9,"packedPose":4799},{"animation":93,"poseIndex":8,"sourceOffset":61448,"hitbox":1,"packedPose":704},{"animation":93,"poseIndex":9,"sourceOffset":61452,"hitbox":1,"packedPose":705},{"animation":93,"poseIndex":10,"sourceOffset":61456,"hitbox":1,"packedPose":706},{"animation":93,"poseIndex":11,"sourceOffset":61460,"hitbox":1,"packedPose":707},{"animation":93,"poseIndex":12,"sourceOffset":61464,"hitbox":1,"packedPose":596},{"animation":93,"poseIndex":13,"sourceOffset":61468,"hitbox":1,"packedPose":597},{"animation":93,"poseIndex":14,"sourceOffset":58120,"hitbox":1,"packedPose":531},{"animation":93,"poseIndex":15,"sourceOffset":58124,"hitbox":1,"packedPose":532},{"animation":93,"poseIndex":16,"sourceOffset":58128,"hitbox":1,"packedPose":533},{"animation":93,"poseIndex":17,"sourceOffset":58132,"hitbox":1,"packedPose":534},{"animation":93,"poseIndex":18,"sourceOffset":58136,"hitbox":1,"packedPose":535},{"animation":93,"poseIndex":19,"sourceOffset":58140,"hitbox":1,"packedPose":536},{"animation":2,"poseIndex":0,"sourceOffset":58056,"hitbox":1,"packedPose":513},{"animation":2,"poseIndex":1,"sourceOffset":58060,"hitbox":1,"packedPose":513},{"animation":2,"poseIndex":2,"sourceOffset":58064,"hitbox":1,"packedPose":513},{"animation":2,"poseIndex":3,"sourceOffset":58068,"hitbox":1,"packedPose":513},{"animation":6,"poseIndex":0,"sourceOffset":58228,"hitbox":1,"packedPose":605},{"animation":6,"poseIndex":1,"sourceOffset":58232,"hitbox":1,"packedPose":604},{"animation":6,"poseIndex":2,"sourceOffset":58236,"hitbox":1,"packedPose":603},{"animation":6,"poseIndex":3,"sourceOffset":58240,"hitbox":1,"packedPose":604},{"animation":6,"poseIndex":4,"sourceOffset":58244,"hitbox":1,"packedPose":605},{"animation":6,"poseIndex":5,"sourceOffset":58248,"hitbox":1,"packedPose":606},{"animation":6,"poseIndex":6,"sourceOffset":58252,"hitbox":1,"packedPose":591},{"animation":3,"poseIndex":0,"sourceOffset":58076,"hitbox":1,"packedPose":591}]},"94":{"durations":[5,4,3,3,3,3,3,16,255],"frames":[87,88,89,90,91,92,93,121,79],"loopStart":8,"sourcePoses":[{"animation":94,"poseIndex":0,"sourceOffset":61480,"hitbox":1,"packedPose":599},{"animation":94,"poseIndex":1,"sourceOffset":61484,"hitbox":1,"packedPose":600},{"animation":94,"poseIndex":2,"sourceOffset":61488,"hitbox":1,"packedPose":601},{"animation":94,"poseIndex":3,"sourceOffset":61492,"hitbox":1,"packedPose":602},{"animation":94,"poseIndex":4,"sourceOffset":61496,"hitbox":1,"packedPose":603},{"animation":94,"poseIndex":5,"sourceOffset":61500,"hitbox":1,"packedPose":604},{"animation":94,"poseIndex":6,"sourceOffset":61504,"hitbox":1,"packedPose":605},{"animation":94,"poseIndex":7,"sourceOffset":61508,"hitbox":1,"packedPose":633},{"animation":3,"poseIndex":0,"sourceOffset":58076,"hitbox":1,"packedPose":591}]}},"playerAnimationDataMatchesExistingDaggerAndAxeMetadata":true,"originalNo3BibleCandlePlacementCount":0,"pickupPlacements":[],"rngProofMetadata":"holy-water-attack.json#rng","noCpuOrFirmwareInstructionsExecuted":true,"sourceHashes":{"DRA.BIN":"6cb1383b5b94e0bcad041af9856853907226091c184071917a739b91734af66b","BIN/F_GAME.BIN":"0984439a9e480017eb5e3bbad421aaa86e976d65dfb31b68c201cc80ed6fc0ce","SLUS_000.67":"8f3e09b5b607a49aab94a5516ca742a3a1ca93b086d0e91a8067c79faeaeab08"},"references":["https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/8A0A4.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/5D5BC.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/6E42C.c","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/config_us.h"],"scopeNote":"Original US Bible definition, factories, callbacks, texture masks, quarter-sine words, timing and branch constants are recovered statically. Original US orbit reads an uninitialized incoming $s4; fresh zero per orbit callback is an explicit authored stabilization, not a binary-recovered initializer. Java ports selected behavior separately. Full player/stat/equipment damage, global RNG and factory phase, allocator fragmentation, exact GPU raster/background arithmetic and audio remain unfinished. No original NO3 Bible candle placement is invented. Existing137 generated files remain byte-identical."}
