{"format":"sotn-original-us-agunea-attack-static-v1","originalDiscVersion":"SLUS-00067","decoderReferenceCommit":"0622fcfd37311fd21baf2938c6bd74cea63005ba","inventoryId":9,"name":"EntitySubwpnAgunea","subweaponFields":[10,5,20480,1,10,4,93,22,2,1,0,0,0],"subweaponFieldNames":["attack","heartCost","attackElement","chainLimit","nFramesInvincibility","stunFrames","anim","blueprintNum","hitboxState","hitEffect","crashId","unk11","entityRoomIndex"],"definition":{"sourceFile":"DRA.BIN","index":9,"offset":19124,"bytes":20,"rawBytesHex":"0a0005000050010a04005d160200010000000000"},"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"},"atanTable":[0,1,2,2,3,3,4,5,5,6,7,7,8,9,9,10,10,11,12,12,13,14,14,15,16,16,17,17,18,19,19,20,21,21,22,23,23,24,24,25,26,26,27,28,28,29,30,30,31,31,32,33,33,34,35,35,36,36,37,38,38,39,40,40,41,42,42,43,43,44,45,45,46,47,47,48,49,49,50,50,51,52,52,53,54,54,55,55,56,57,57,58,59,59,60,61,61,62,62,63,64,64,65,66,66,67,67,68,69,69,70,71,71,72,73,73,74,74,75,76,76,77,78,78,79,79,80,81,81,82,83,83,84,84,85,86,86,87,88,88,89,89,90,91,91,92,93,93,94,94,95,96,96,97,98,98,99,99,100,101,101,102,103,103,104,104,105,106,106,107,107,108,109,109,110,111,111,112,112,113,114,114,115,116,116,117,117,118,119,119,120,120,121,122,122,123,124,124,125,125,126,127,127,128,128,129,130,130,131,131,132,133,133,134,135,135,136,136,137,138,138,139,139,140,141,141,142,142,143,144,144,145,145,146,147,147,148,148,149,150,150,151,152,152,153,153,154,155,155,156,156,157,158,158,159,159,160,161,161,162,162,163,164,164,165,165,166,166,167,168,168,169,169,170,171,171,172,172,173,174,174,175,175,176,177,177,178,178,179,180,180,181,181,182,182,183,184,184,185,185,186,187,187,188,188,189,190,190,191,191,192,192,193,194,194,195,195,196,197,197,198,198,199,199,200,201,201,202,202,203,203,204,205,205,206,206,207,207,208,209,209,210,210,211,211,212,213,213,214,214,215,215,216,217,217,218,218,219,219,220,221,221,222,222,223,223,224,225,225,226,226,227,227,228,228,229,230,230,231,231,232,232,233,234,234,235,235,236,236,237,237,238,239,239,240,240,241,241,242,242,243,244,244,245,245,246,246,247,247,248,248,249,250,250,251,251,252,252,253,253,254,254,255,256,256,257,257,258,258,259,259,260,260,261,262,262,263,263,264,264,265,265,266,266,267,267,268,269,269,270,270,271,271,272,272,273,273,274,274,275,275,276,276,277,278,278,279,279,280,280,281,281,282,282,283,283,284,284,285,285,286,286,287,288,288,289,289,290,290,291,291,292,292,293,293,294,294,295,295,296,296,297,297,298,298,299,299,300,300,301,301,302,302,303,303,304,304,305,305,306,307,307,308,308,309,309,310,310,311,311,312,312,313,313,314,314,315,315,316,316,317,317,318,318,319,319,320,320,321,321,322,322,322,323,323,324,324,325,325,326,326,327,327,328,328,329,329,330,330,331,331,332,332,333,333,334,334,335,335,336,336,337,337,338,338,339,339,340,340,340,341,341,342,342,343,343,344,344,345,345,346,346,347,347,348,348,349,349,349,350,350,351,351,352,352,353,353,354,354,355,355,356,356,356,357,357,358,358,359,359,360,360,361,361,362,362,362,363,363,364,364,365,365,366,366,367,367,368,368,368,369,369,370,370,371,371,372,372,372,373,373,374,374,375,375,376,376,377,377,377,378,378,379,379,380,380,381,381,381,382,382,383,383,384,384,385,385,385,386,386,387,387,388,388,388,389,389,390,390,391,391,391,392,392,393,393,394,394,395,395,395,396,396,397,397,398,398,398,399,399,400,400,401,401,401,402,402,403,403,403,404,404,405,405,406,406,406,407,407,408,408,409,409,409,410,410,411,411,411,412,412,413,413,413,414,414,415,415,416,416,416,417,417,418,418,418,419,419,420,420,420,421,421,422,422,422,423,423,424,424,425,425,425,426,426,427,427,427,428,428,429,429,429,430,430,431,431,431,432,432,432,433,433,434,434,434,435,435,436,436,436,437,437,438,438,438,439,439,440,440,440,441,441,441,442,442,443,443,443,444,444,445,445,445,446,446,446,447,447,448,448,448,449,449,450,450,450,451,451,451,452,452,453,453,453,454,454,454,455,455,456,456,456,457,457,457,458,458,459,459,459,460,460,460,461,461,461,462,462,463,463,463,464,464,464,465,465,465,466,466,467,467,467,468,468,468,469,469,469,470,470,471,471,471,472,472,472,473,473,473,474,474,474,475,475,476,476,476,477,477,477,478,478,478,479,479,479,480,480,480,481,481,481,482,482,483,483,483,484,484,484,485,485,485,486,486,486,487,487,487,488,488,488,489,489,489,490,490,490,491,491,491,492,492,492,493,493,493,494,494,494,495,495,495,496,496,496,497,497,497,498,498,498,499,499,499,500,500,500,501,501,501,502,502,502,503,503,503,504,504,504,505,505,505,506,506,506,507,507,507,508,508,508,509,509,509,510,510,510,511,511,511,511,512,512],"atanDefinition":{"sourceFile":"SLUS_000.67","offset":141840,"runtimeAddress":"0x80032210","wordCount":1025,"rawBytesHex":"0000010002000200030003000400050005000600070007000800090009000a000a000b000c000c000d000e000e000f0010001000110011001200130013001400150015001600170017001800180019001a001a001b001c001c001d001e001e001f001f002000210021002200230023002400240025002600260027002800280029002a002a002b002b002c002d002d002e002f002f0030003100310032003200330034003400350036003600370037003800390039003a003b003b003c003d003d003e003e003f0040004000410042004200430043004400450045004600470047004800490049004a004a004b004c004c004d004e004e004f004f0050005100510052005300530054005400550056005600570058005800590059005a005b005b005c005d005d005e005e005f0060006000610062006200630063006400650065006600670067006800680069006a006a006b006b006c006d006d006e006f006f0070007000710072007200730074007400750075007600770077007800780079007a007a007b007c007c007d007d007e007f007f0080008000810082008200830083008400850085008600870087008800880089008a008a008b008b008c008d008d008e008e008f00900090009100910092009300930094009400950096009600970098009800990099009a009b009b009c009c009d009e009e009f009f00a000a100a100a200a200a300a400a400a500a500a600a600a700a800a800a900a900aa00ab00ab00ac00ac00ad00ae00ae00af00af00b000b100b100b200b200b300b400b400b500b500b600b600b700b800b800b900b900ba00bb00bb00bc00bc00bd00be00be00bf00bf00c000c000c100c200c200c300c300c400c500c500c600c600c700c700c800c900c900ca00ca00cb00cb00cc00cd00cd00ce00ce00cf00cf00d000d100d100d200d200d300d300d400d500d500d600d600d700d700d800d900d900da00da00db00db00dc00dd00dd00de00de00df00df00e000e100e100e200e200e300e300e400e400e500e600e600e700e700e800e800e900ea00ea00eb00eb00ec00ec00ed00ed00ee00ef00ef00f000f000f100f100f200f200f300f400f400f500f500f600f600f700f700f800f800f900fa00fa00fb00fb00fc00fc00fd00fd00fe00fe00ff0000010001010101010201020103010301040104010501060106010701070108010801090109010a010a010b010b010c010d010d010e010e010f010f0110011001110111011201120113011301140114011501160116011701170118011801190119011a011a011b011b011c011c011d011d011e011e011f01200120012101210122012201230123012401240125012501260126012701270128012801290129012a012a012b012b012c012c012d012d012e012e012f012f0130013001310131013201330133013401340135013501360136013701370138013801390139013a013a013b013b013c013c013d013d013e013e013f013f014001400141014101420142014201430143014401440145014501460146014701470148014801490149014a014a014b014b014c014c014d014d014e014e014f014f015001500151015101520152015301530154015401540155015501560156015701570158015801590159015a015a015b015b015c015c015d015d015d015e015e015f015f016001600161016101620162016301630164016401640165016501660166016701670168016801690169016a016a016a016b016b016c016c016d016d016e016e016f016f01700170017001710171017201720173017301740174017401750175017601760177017701780178017901790179017a017a017b017b017c017c017d017d017d017e017e017f017f01800180018101810181018201820183018301840184018401850185018601860187018701870188018801890189018a018a018b018b018b018c018c018d018d018e018e018e018f018f019001900191019101910192019201930193019301940194019501950196019601960197019701980198019901990199019a019a019b019b019b019c019c019d019d019d019e019e019f019f01a001a001a001a101a101a201a201a201a301a301a401a401a401a501a501a601a601a601a701a701a801a801a901a901a901aa01aa01ab01ab01ab01ac01ac01ad01ad01ad01ae01ae01af01af01af01b001b001b001b101b101b201b201b201b301b301b401b401b401b501b501b601b601b601b701b701b801b801b801b901b901b901ba01ba01bb01bb01bb01bc01bc01bd01bd01bd01be01be01be01bf01bf01c001c001c001c101c101c201c201c201c301c301c301c401c401c501c501c501c601c601c601c701c701c801c801c801c901c901c901ca01ca01cb01cb01cb01cc01cc01cc01cd01cd01cd01ce01ce01cf01cf01cf01d001d001d001d101d101d101d201d201d301d301d301d401d401d401d501d501d501d601d601d701d701d701d801d801d801d901d901d901da01da01da01db01db01dc01dc01dc01dd01dd01dd01de01de01de01df01df01df01e001e001e001e101e101e101e201e201e301e301e301e401e401e401e501e501e501e601e601e601e701e701e701e801e801e801e901e901e901ea01ea01ea01eb01eb01eb01ec01ec01ec01ed01ed01ed01ee01ee01ee01ef01ef01ef01f001f001f001f101f101f101f201f201f201f301f301f301f401f401f401f501f501f501f601f601f601f701f701f701f801f801f801f901f901f901fa01fa01fa01fb01fb01fb01fc01fc01fc01fd01fd01fd01fe01fe01fe01ff01ff01ff01ff0100020002","sha256":"b95a5540f30e1f0f40975157595d078bb07d3242d2c856a1c679e533e2f26233","algorithmOffset":39084,"algorithmRuntimeAddress":"0x800190ac","argumentOrder":"original SDK ratan2(dx,dy), used as ratan2(-verticalOffset,horizontalOffset)","overflowScaleMask":2145386496,"scaleShift":10,"sourceReference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/main/psxsdk/libgte/ratan.c","referenceLicense":"MIT"},"factoryBlueprintOrder":[22,23,61],"factoryBlueprints":[17,1,193,0,34,0,18,1,193,0,32,0,31,3,193,5,32,0],"factories":[{"blueprintId":22,"sourceFile":"DRA.BIN","offset":53848,"rawBytesHex":"1101c1002200","childEntityId":17,"amount":1,"nPerCycle":1,"isNonCritical":true,"incrementParamsBySpawnIndex":true,"cycle":0,"kind":2,"origin":2,"delay":0,"rangeStartInclusive":32,"rangeEndInclusive":47,"allocationOrder":"ascending","implementedSelectedActor":true,"pendingCosmetic":false},{"blueprintId":23,"sourceFile":"DRA.BIN","offset":53854,"rawBytesHex":"1201c1002000","childEntityId":18,"amount":1,"nPerCycle":1,"isNonCritical":true,"incrementParamsBySpawnIndex":true,"cycle":0,"kind":0,"origin":2,"delay":0,"rangeStartInclusive":32,"rangeEndInclusive":63,"allocationOrder":"descending","implementedSelectedActor":true,"pendingCosmetic":false},{"blueprintId":61,"sourceFile":"DRA.BIN","offset":54082,"rawBytesHex":"1f03c1052000","childEntityId":31,"amount":3,"nPerCycle":1,"isNonCritical":true,"incrementParamsBySpawnIndex":true,"cycle":5,"kind":0,"origin":2,"delay":0,"rangeStartInclusive":32,"rangeEndInclusive":63,"allocationOrder":"descending","implementedSelectedActor":false,"pendingCosmetic":true}],"callbacks":{"bolt":{"entityId":17,"tableOffset":53512,"pointer":"0x80128c2c"},"ribbon":{"entityId":18,"tableOffset":53516,"pointer":"0x801291c4"}},"code":{"bolt":{"sourceFile":"DRA.BIN","name":"EntitySubwpnAgunea","startOffset":560172,"endOffsetExclusive":561604,"bytes":1432,"sha256":"8b8152d9a6e1defcf09935ad2895a2e66e5b85e93254cc819c4cb29bdc31408a","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/84B88.c"},"ribbon":{"sourceFile":"DRA.BIN","name":"EntityAguneaHitEnemy","startOffset":561604,"endOffsetExclusive":563300,"bytes":1696,"sha256":"fee400660c547ec5310eb412c75c69ea2c76131f19a2938edc84fb3efa5ce174","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/84B88.c"},"brightness":{"sourceFile":"DRA.BIN","name":"PrimDecreaseBrightness","startOffset":560060,"endOffsetExclusive":560172,"bytes":112,"sha256":"fdf3a8aa0d115f851cfa496ece29d2b8c8a60afe0cbfe87aa05724dbb6c18561","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/84B88.c"},"allocatorReset":{"sourceFile":"DRA.BIN","name":"DestroyPrimitive","startOffset":318064,"endOffsetExclusive":318100,"bytes":36,"sha256":"a49cdfabc53da045c0841080b1ec4acefd7c076878ae83236c6be0676a4e210a","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/4DA70.c"},"allocator":{"sourceFile":"DRA.BIN","name":"AllocPrimitives","startOffset":318592,"endOffsetExclusive":318876,"bytes":284,"sha256":"0ab89709555a110aaf048e60a2e0706083c719793087b6cbe1633343f9309993","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/dra/4DA70.c"},"sdkRatan2":{"sourceFile":"SLUS_000.67","name":"ratan2","startOffset":39084,"endOffsetExclusive":39468,"bytes":384,"sha256":"ffcce9e7b5ce6a86e3505f104e54ba5ba174b2487abf65d8e194d851ca8bdbf7","reference":"https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/src/main/psxsdk/libgte/ratan.c"}},"bolt":{"allocatedPrimitiveCount":1,"allocatedType":4,"convertedPrimitiveType":2,"primitiveName":"PRIM_LINE_G2","initialFlags":209715200,"abortPlayerStatusMask":65543,"abortStatusCheckBeforeAllocationAndEveryCallback":true,"sourceCameraLocked":true,"keepAliveOffCamera":true,"drawMode":817,"hiddenDrawMode":825,"abr":1,"priorityRelativeToPlayer":2,"initialEndpoint0Rgb":[0,0,0],"initialEndpoint1RgbBeforeCommonFade":[96,0,128],"initialEndpoint1RgbAfterCommonFade":[92,0,124],"commonChannelFadeStep":4,"hideIfUpdatedBlueBelow":5,"fadeExitChecksOldRedBelow":5,"initialVelocityXFixed":393216,"initialFacingUsesCurrentPlayer":true,"initialPositionUsesPlayerHighHalvesPreservingFraction":true,"initialYRelativeToPlayerPlusHitboxOffset":-8,"initialHitboxHalfSize":4,"initialHitboxOffsetX":4,"initialHitboxOffsetY":0,"playerUseSubweaponTimer":4,"initialRngCallsAfterSuccessfulAllocation":1,"sourceOffscreenBoundsX":[-64,320],"sourceOffscreenBoundsY":[-32,288],"boundsAreCameraLocalAfterFlightMove":true,"hitFeedbackCanOverrideOffscreenFadeWithAttachment":true,"noTerrainCollision":true,"initialPrimitiveAnchorIsPlayerOriginAtCreation":true,"sourcePrimitivePlayerAndScreenCoordinateFlags":true},"pulse":{"firstChildPulseFree":true,"heldRequiredPadMaskNames":["PAD_UP","PAD_SQUARE"],"intervalCallbacks":12,"repeatBaseHeartCost":5,"heartBroochItemId":77,"repeatCostsByBroochCount":[5,2,1],"minimumRepeatCost":1,"jitterRandCallsAtEveryPulseAttempt":2,"jitterMask":15,"jitterBias":-8,"jitterCapturedByInitialFactoryRecord":true,"origin2OverridesChildPositionWithPlayer":true,"doesJitterBecomeChildOrigin":false,"restoreParentHighHalvesAfterPulse":true,"releaseStep3StillExecutesPulseAndCounter":true,"releaseStep4UsesExistingHeldCounter":true,"releaseFadeThreshold":16,"firstPulseAllowedBeforeDeadTargetCheckIfCounterZero":true,"deadOrAbsentTargetTerminatesAttachment":true,"invalidTargetHpAbove":28672,"maxSourceHeldLifetimeHardCap":false,"fullBattleEquipmentAndTargetPointerReuseRemainLocalBridge":true},"ribbon":{"normal":{"textureImage":"agunea-ribbon-normal-texture.png","fullTextureImage":"agunea-ribbon-normal-texture.png","opaqueTextureImage":"agunea-ribbon-normal-opaque.png","stpTextureImage":"agunea-ribbon-normal-stp.png","left":144,"top":192,"width":96,"height":16,"texturePage":26,"clut":404,"palette":{"id":404,"sourceFile":"BIN/F_GAME.BIN","offset":266880,"rawBytesHex":"00005b819c811d929e965fafdfd7ffff00e940ed80f104f685fa4bffd5ffffff","rawWords":[0,33115,33180,37405,38558,44895,55263,65535,59648,60736,61824,62980,64133,65355,65493,65535],"rgba":[[0,0,0,0],[222,82,0,255],[230,98,0,255],[238,131,32,255],[246,164,41,255],[255,213,90,255],[255,246,172,255],[255,255,255,255],[0,65,213,255],[0,82,222,255],[0,98,230,255],[32,131,238,255],[41,164,246,255],[90,213,255,255],[172,246,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":11,"sourceRowOffsets":[94216,94280,94344,94408,94472,94536,94600,94664,94728,94792,94856,94920,94984,95048,95112,95176],"pixelIndexFrequencies":[1155,0,0,0,0,0,0,0,172,56,16,35,14,52,35,1],"opaquePixelCount":0,"stpPixelCount":381,"transparentPixelCount":1155,"sourceColorExpansion":"floor(channel5*255/31); nonzero words have fullRGBAalpha; source STP is retained separately"},"white":{"textureImage":"agunea-ribbon-white-texture.png","fullTextureImage":"agunea-ribbon-white-texture.png","opaqueTextureImage":"agunea-ribbon-white-opaque.png","stpTextureImage":"agunea-ribbon-white-stp.png","left":144,"top":192,"width":96,"height":16,"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":11,"sourceRowOffsets":[94216,94280,94344,94408,94472,94536,94600,94664,94728,94792,94856,94920,94984,95048,95112,95176],"pixelIndexFrequencies":[1155,0,0,0,0,0,0,0,172,56,16,35,14,52,35,1],"opaquePixelCount":0,"stpPixelCount":381,"transparentPixelCount":1155,"sourceColorExpansion":"floor(channel5*255/31); nonzero words have fullRGBAalpha; source STP is retained separately"},"uvFrames":[{"frameIndex":0,"rawUV":[144,208,144,192,160,208,160,192],"croppedUV":[0,16,0,0,16,16,16,0]},{"frameIndex":1,"rawUV":[160,208,160,192,176,208,176,192],"croppedUV":[16,16,16,0,32,16,32,0]},{"frameIndex":2,"rawUV":[176,208,176,192,192,208,192,192],"croppedUV":[32,16,32,0,48,16,48,0]},{"frameIndex":3,"rawUV":[192,208,192,192,208,208,208,192],"croppedUV":[48,16,48,0,64,16,64,0]},{"frameIndex":4,"rawUV":[208,208,208,192,224,208,224,192],"croppedUV":[64,16,64,0,80,16,80,0]},{"frameIndex":5,"rawUV":[224,208,224,192,240,208,240,192],"croppedUV":[80,16,80,0,96,16,96,0]}],"sourceUVFrameCount":6,"allocatedPrimitiveCount":40,"seedPrimitiveIndex":0,"seedRemainsHidden":true,"maximumDrawableSegments":39,"initialFlags":75497472,"initialHiddenDrawMode":8,"drawModeVisible":6,"semitransparencyEnabled":false,"rgbModulationEnabled":true,"nonzeroStpWordsDrawOpaque":true,"priorityFromFactoryParent":true,"sourcePaintOrder":"reverse source primitive index","initialUniformRgb":[128,128,128],"normalFlashReturnRgb":[96,96,96],"brightnessFadeStep":4,"minimumRgbChannel":16,"destroyWhenEveryPostSubtractChannelBelow16":true,"exact16PostSubtractRemainsAlive":true,"normalFadeFrom96SurvivingCalls":20,"normalFadeFrom96DestroyCall":21,"initial128FadeSurvivingCalls":28,"initial128FadeDestroyCall":29,"initialRngCallsAfterSuccessfulAllocation":1,"initialAngleRandomMask":1023,"initialAngleRandomBias":-512,"angleMask":4095,"sourceFacingPlus800ExpressionIsNoOp":true,"sourceInitFirstY1UsesClearedAllocationZeroMinus16":true,"sourceInitFirstY1":-16,"sourceHiddenOtherY2UsesPlayerXTypo":true,"allocatorClearedWordCount":13,"allocatorClearedByteCount":52,"segmentsPerGrowthCallback":2,"arrivalStrictAbsOffsetThreshold":8,"nearStrictAbsOffsetThreshold":64,"steeringCountdownFar":4,"steeringCountdownNear":2,"steeringDivisionFar":4,"steeringDivisionNear":2,"sourcePositiveAngleWrapFormula":"4096-angle","sourceNegativeAngleWrapFormula":"4096+angle","farJitterFormula":"384-((rand&3)<<8)","nearGrowthConsumesNoJitterRng":true,"segmentLength":12,"halfTurnWidthAngleBias":-1024,"widthU8Formula":"u8(16-params*4)","parentFactory23Params":0,"selectedWidth":16,"yOffsetNegationAfterArithmeticShift":true,"whitePhaseReturnsWithoutBrightnessChange":true,"normalReturnPhaseSets96BeforeFadePhase":true,"geometricTargetIsParentBoltNotDirectEnemy":true,"parentMustHaveEntityId":17,"sourceExpiredParentInitDestroysBeforeAllocation":true,"sourceExpiredParentGrowthOrFlashRedirectsToFade":true},"pendingCosmetics":{"blink":{"blueprintId":44,"sourceFile":"DRA.BIN","offset":53980,"rawBytesHex":"0b0141000000","upperParams":82,"packedFactoryValue":5373996,"childEntityId":11,"implemented":false},"outline":{"blueprintId":61,"childEntityId":31,"upperParams":2,"factoryAmount":3,"factoryCycle":5,"sourceProfileOffset":55756,"sourceProfileRawBytesHex":"3f001f00ff0003013100","sourceProfileFields":[63,31,255,259,49],"implemented":false},"unrelatedBlueprint85":{"blueprintId":85,"sourceFile":"DRA.BIN","offset":54226,"rawBytesHex":"310181000000","childEntityId":49,"isAguneaFactory":false,"sourceName":"UnknownEntId49","requiresAxeArmor":true}},"observedBinaryInstructions":[{"sourceFile":"DRA.BIN","offset":560196,"runtimeAddress":"0x80128c44","word":"0x34630007","littleEndianBytes":"07006334","fact":"Transform/unavailable player status mask low bits7 combined with high0x10000"},{"sourceFile":"DRA.BIN","offset":560288,"runtimeAddress":"0x80128ca0","word":"0xc03b720","littleEndianBytes":"20b7030c","fact":"Allocate original primitive before parent stats helper"},{"sourceFile":"DRA.BIN","offset":560292,"runtimeAddress":"0x80128ca4","word":"0x34050001","littleEndianBytes":"01000534","fact":"One primitive parent allocation"},{"sourceFile":"DRA.BIN","offset":560308,"runtimeAddress":"0x80128cb4","word":"0x3c020c80","littleEndianBytes":"800c023c","fact":"Parent flags0x0C800000 camera locked/keepalive/primitives"},{"sourceFile":"DRA.BIN","offset":560328,"runtimeAddress":"0x80128cc8","word":"0xc0468a4","littleEndianBytes":"a468040c","fact":"Original subweapon stats helper call"},{"sourceFile":"DRA.BIN","offset":560440,"runtimeAddress":"0x80128d38","word":"0x34020002","littleEndianBytes":"02000234","fact":"Mutate allocated GT4 into LINE_G2 type2"},{"sourceFile":"DRA.BIN","offset":560464,"runtimeAddress":"0x80128d50","word":"0x34020331","littleEndianBytes":"31030234","fact":"Parent drawMode0x331, not0x333"},{"sourceFile":"DRA.BIN","offset":560472,"runtimeAddress":"0x80128d58","word":"0x34020060","littleEndianBytes":"60000234","fact":"Endpoint1 red96"},{"sourceFile":"DRA.BIN","offset":560480,"runtimeAddress":"0x80128d60","word":"0x34020080","littleEndianBytes":"80000234","fact":"Endpoint1 blue128"},{"sourceFile":"DRA.BIN","offset":560516,"runtimeAddress":"0x80128d84","word":"0x3c050052","littleEndianBytes":"5200053c","fact":"Activation blink upper parameters0x52"},{"sourceFile":"DRA.BIN","offset":560520,"runtimeAddress":"0x80128d88","word":"0x34a5002c","littleEndianBytes":"2c00a534","fact":"Activation blink BP44, not85"},{"sourceFile":"DRA.BIN","offset":560572,"runtimeAddress":"0x80128dbc","word":"0x431021","littleEndianBytes":"21104300","fact":"Parent moves before source bounds check"},{"sourceFile":"DRA.BIN","offset":560596,"runtimeAddress":"0x80128dd4","word":"0x2c420181","littleEndianBytes":"8101422c","fact":"Source camera-local X inclusive-64..320"},{"sourceFile":"DRA.BIN","offset":560624,"runtimeAddress":"0x80128df0","word":"0x2c420141","littleEndianBytes":"4101422c","fact":"Source camera-local Y inclusive-32..288"},{"sourceFile":"DRA.BIN","offset":560660,"runtimeAddress":"0x80128e14","word":"0xa622002c","littleEndianBytes":"2c0022a6","fact":"Hit feedback overrides bounds-selected phase with target phase3"},{"sourceFile":"DRA.BIN","offset":560668,"runtimeAddress":"0x80128e1c","word":"0xae23008c","littleEndianBytes":"8c0023ae","fact":"Capture original target pointer"},{"sourceFile":"DRA.BIN","offset":560700,"runtimeAddress":"0x80128e3c","word":"0x24420001","littleEndianBytes":"01004224","fact":"Release phase increments existing signed16 counter"},{"sourceFile":"DRA.BIN","offset":560716,"runtimeAddress":"0x80128e4c","word":"0x28420010","littleEndianBytes":"10004228","fact":"Release falls through fade check once existing counter reaches16"},{"sourceFile":"DRA.BIN","offset":560772,"runtimeAddress":"0x80128e84","word":"0x2c420005","littleEndianBytes":"0500422c","fact":"Fade-only phase destroys when red less than5"},{"sourceFile":"DRA.BIN","offset":560812,"runtimeAddress":"0x80128eac","word":"0x30421080","littleEndianBytes":"80104230","fact":"Held UP+SQUARE mask0x1080"},{"sourceFile":"DRA.BIN","offset":560844,"runtimeAddress":"0x80128ecc","word":"0x10400012","littleEndianBytes":"12004010","fact":"Zero target entity ID returns before common fade"},{"sourceFile":"DRA.BIN","offset":560860,"runtimeAddress":"0x80128edc","word":"0x10400010","littleEndianBytes":"10004010","fact":"Counter0 bypasses target HP/dead predicate"},{"sourceFile":"DRA.BIN","offset":560876,"runtimeAddress":"0x80128eec","word":"0x28827001","littleEndianBytes":"01708228","fact":"Reject target HP greater than0x7000 after first pulse"},{"sourceFile":"DRA.BIN","offset":560904,"runtimeAddress":"0x80128f08","word":"0x30420100","littleEndianBytes":"00014230","fact":"Dead flag0x100 checked only after nonzero pulse counter"},{"sourceFile":"DRA.BIN","offset":560944,"runtimeAddress":"0x80128f30","word":"0xa20018","littleEndianBytes":"1800a200","fact":"Signed counter division arithmetic for modulo12"},{"sourceFile":"DRA.BIN","offset":561008,"runtimeAddress":"0x80128f70","word":"0x21080","littleEndianBytes":"80100200","fact":"Modulo divisor12 realization"},{"sourceFile":"DRA.BIN","offset":561020,"runtimeAddress":"0x80128f7c","word":"0x14a0004a","littleEndianBytes":"4a00a014","fact":"Pulse only when signed counter remainder is zero"},{"sourceFile":"DRA.BIN","offset":561028,"runtimeAddress":"0x80128f84","word":"0xc005839","littleEndianBytes":"3958000c","fact":"First jitter random draw before repeat affordability test"},{"sourceFile":"DRA.BIN","offset":561040,"runtimeAddress":"0x80128f90","word":"0x3042000f","littleEndianBytes":"0f004230","fact":"Jitter mask15"},{"sourceFile":"DRA.BIN","offset":561044,"runtimeAddress":"0x80128f94","word":"0x2463fff8","littleEndianBytes":"f8ff6324","fact":"Jitter subtract8"},{"sourceFile":"DRA.BIN","offset":561052,"runtimeAddress":"0x80128f9c","word":"0xc005839","littleEndianBytes":"3958000c","fact":"Second jitter random draw"},{"sourceFile":"DRA.BIN","offset":561092,"runtimeAddress":"0x80128fc4","word":"0x34050017","littleEndianBytes":"17000534","fact":"First pulse BP23 without repeat charge"},{"sourceFile":"DRA.BIN","offset":561120,"runtimeAddress":"0x80128fe0","word":"0x34a5003d","littleEndianBytes":"3d00a534","fact":"Outline BP61 with upperparams2"},{"sourceFile":"DRA.BIN","offset":561152,"runtimeAddress":"0x80129000","word":"0x34100005","littleEndianBytes":"05001034","fact":"Repeat heart cost5"},{"sourceFile":"DRA.BIN","offset":561156,"runtimeAddress":"0x80129004","word":"0x3404004d","littleEndianBytes":"4d000434","fact":"Heart Broach item77"},{"sourceFile":"DRA.BIN","offset":561184,"runtimeAddress":"0x80129020","word":"0x34100002","littleEndianBytes":"02001034","fact":"One Heart Broach cost2"},{"sourceFile":"DRA.BIN","offset":561200,"runtimeAddress":"0x80129030","word":"0x2020018","littleEndianBytes":"18000202","fact":"Two Heart Broaches original signed divide3"},{"sourceFile":"DRA.BIN","offset":561224,"runtimeAddress":"0x80129048","word":"0x34100001","littleEndianBytes":"01001034","fact":"Minimum repeat cost1"},{"sourceFile":"DRA.BIN","offset":561248,"runtimeAddress":"0x80129060","word":"0x14400010","littleEndianBytes":"10004014","fact":"Insufficient repeat hearts does not allocate a ribbon"},{"sourceFile":"DRA.BIN","offset":561260,"runtimeAddress":"0x8012906c","word":"0xac820000","littleEndianBytes":"000082ac","fact":"Repeat charge occurs before child factory calls"},{"sourceFile":"DRA.BIN","offset":561268,"runtimeAddress":"0x80129074","word":"0x34050017","littleEndianBytes":"17000534","fact":"Paid repeat BP23"},{"sourceFile":"DRA.BIN","offset":561296,"runtimeAddress":"0x80129090","word":"0x34a5003d","littleEndianBytes":"3d00a534","fact":"Paid repeat outline BP61 params2"},{"sourceFile":"DRA.BIN","offset":561332,"runtimeAddress":"0x801290b4","word":"0x24420001","littleEndianBytes":"01004224","fact":"Shared pulse/release counter increment"},{"sourceFile":"DRA.BIN","offset":561408,"runtimeAddress":"0x80129100","word":"0x244200fc","littleEndianBytes":"fc004224","fact":"Parent endpoint red byte subtract4"},{"sourceFile":"DRA.BIN","offset":561480,"runtimeAddress":"0x80129148","word":"0x244200fc","littleEndianBytes":"fc004224","fact":"Parent endpoint blue byte subtract4"},{"sourceFile":"DRA.BIN","offset":561496,"runtimeAddress":"0x80129158","word":"0x2c420005","littleEndianBytes":"0500422c","fact":"Blue less than5 hides parent line"},{"sourceFile":"DRA.BIN","offset":561516,"runtimeAddress":"0x8012916c","word":"0x34420008","littleEndianBytes":"08004234","fact":"Original hide flag8"},{"sourceFile":"DRA.BIN","offset":561680,"runtimeAddress":"0x80129210","word":"0x2442fff8","littleEndianBytes":"f8ff4224","fact":"Ribbon origin Y player plus hitboxOffY minus8"},{"sourceFile":"DRA.BIN","offset":561700,"runtimeAddress":"0x80129224","word":"0x34030011","littleEndianBytes":"11000334","fact":"Ribbon parent entity ID must remain17"},{"sourceFile":"DRA.BIN","offset":561768,"runtimeAddress":"0x80129268","word":"0x34020003","littleEndianBytes":"03000234","fact":"Unlinked initialized child changes to fade phase3"},{"sourceFile":"DRA.BIN","offset":561844,"runtimeAddress":"0x801292b4","word":"0xc03b720","littleEndianBytes":"20b7030c","fact":"Allocate ribbon before RNG"},{"sourceFile":"DRA.BIN","offset":561848,"runtimeAddress":"0x801292b8","word":"0x34050028","littleEndianBytes":"28000534","fact":"Forty original GT4 primitives"},{"sourceFile":"DRA.BIN","offset":561864,"runtimeAddress":"0x801292c8","word":"0x3c020480","littleEndianBytes":"8004023c","fact":"Ribbon flags0x04800000, no camera lock"},{"sourceFile":"DRA.BIN","offset":561884,"runtimeAddress":"0x801292dc","word":"0xc005839","littleEndianBytes":"3958000c","fact":"One initial ribbon random draw"},{"sourceFile":"DRA.BIN","offset":561892,"runtimeAddress":"0x801292e4","word":"0x304203ff","littleEndianBytes":"ff034230","fact":"Initial angle random mask0x3FF"},{"sourceFile":"DRA.BIN","offset":561896,"runtimeAddress":"0x801292e8","word":"0x2442fe00","littleEndianBytes":"00fe4224","fact":"Initial angle subtract0x200"},{"sourceFile":"DRA.BIN","offset":561900,"runtimeAddress":"0x801292ec","word":"0x30420fff","littleEndianBytes":"ff0f4230","fact":"Mask angle0xFFF with no left-facing addition"},{"sourceFile":"DRA.BIN","offset":561968,"runtimeAddress":"0x80129330","word":"0x340a001a","littleEndianBytes":"1a000a34","fact":"Ribbon tpage0x1A"},{"sourceFile":"DRA.BIN","offset":561972,"runtimeAddress":"0x80129334","word":"0x34090194","littleEndianBytes":"94010934","fact":"Normal ribbon CLUT0x194"},{"sourceFile":"DRA.BIN","offset":562072,"runtimeAddress":"0x80129398","word":"0xa6020020","littleEndianBytes":"200002a6","fact":"Initial x2 receives player X"},{"sourceFile":"DRA.BIN","offset":562076,"runtimeAddress":"0x8012939c","word":"0x96850002","littleEndianBytes":"02008596","fact":"Read player X for erroneous initial y2"},{"sourceFile":"DRA.BIN","offset":562108,"runtimeAddress":"0x801293bc","word":"0xa6050022","littleEndianBytes":"220005a6","fact":"Initial y2 stores player X"},{"sourceFile":"DRA.BIN","offset":562196,"runtimeAddress":"0x80129414","word":"0x2442fff0","littleEndianBytes":"f0ff4224","fact":"First primitive y1 subtract16 from allocator-zero y1"},{"sourceFile":"DRA.BIN","offset":562208,"runtimeAddress":"0x80129420","word":"0xa6020016","littleEndianBytes":"160002a6","fact":"Store hidden first y1=-16"},{"sourceFile":"DRA.BIN","offset":562264,"runtimeAddress":"0x80129458","word":"0x34050080","littleEndianBytes":"80000534","fact":"Initial RGB128 for all40 records"},{"sourceFile":"DRA.BIN","offset":562316,"runtimeAddress":"0x8012948c","word":"0xa6060032","littleEndianBytes":"320006a6","fact":"All initial ribbon records hidden"},{"sourceFile":"DRA.BIN","offset":562408,"runtimeAddress":"0x801294e8","word":"0x28620008","littleEndianBytes":"08006228","fact":"Reached test X absolute strictly less than8"},{"sourceFile":"DRA.BIN","offset":562440,"runtimeAddress":"0x80129508","word":"0x28420008","littleEndianBytes":"08004228","fact":"Reached test Y absolute strictly less than8"},{"sourceFile":"DRA.BIN","offset":562452,"runtimeAddress":"0x80129514","word":"0x28620040","littleEndianBytes":"40006228","fact":"Near test X absolute strictly less than64"},{"sourceFile":"DRA.BIN","offset":562480,"runtimeAddress":"0x80129530","word":"0x28420040","littleEndianBytes":"40004228","fact":"Near test Y absolute strictly less than64"},{"sourceFile":"DRA.BIN","offset":562500,"runtimeAddress":"0x80129544","word":"0x34020004","littleEndianBytes":"04000234","fact":"Far turn cadence4 microsteps"},{"sourceFile":"DRA.BIN","offset":562516,"runtimeAddress":"0x80129554","word":"0x34020002","littleEndianBytes":"02000234","fact":"Near turn cadence2 microsteps"},{"sourceFile":"DRA.BIN","offset":562532,"runtimeAddress":"0x80129564","word":"0xc00642b","littleEndianBytes":"2b64000c","fact":"Original SDK ratan2 call"},{"sourceFile":"DRA.BIN","offset":562616,"runtimeAddress":"0x801295b8","word":"0x24420003","littleEndianBytes":"03004224","fact":"Negative divide4 bias3 gives truncation toward zero"},{"sourceFile":"DRA.BIN","offset":562684,"runtimeAddress":"0x801295fc","word":"0x30420003","littleEndianBytes":"03004230","fact":"Far jitter random mask3"},{"sourceFile":"DRA.BIN","offset":562688,"runtimeAddress":"0x80129600","word":"0x21200","littleEndianBytes":"00120200","fact":"Far jitter shift8"},{"sourceFile":"DRA.BIN","offset":562692,"runtimeAddress":"0x80129604","word":"0x629023","littleEndianBytes":"23906200","fact":"Far jitter384 minus shifted random"},{"sourceFile":"DRA.BIN","offset":562724,"runtimeAddress":"0x80129624","word":"0xae620008","littleEndianBytes":"080062ae","fact":"Copy old endpoint2 into new endpoint0"},{"sourceFile":"DRA.BIN","offset":562736,"runtimeAddress":"0x80129630","word":"0xae620014","littleEndianBytes":"140062ae","fact":"Copy old endpoint3 into new endpoint1"},{"sourceFile":"DRA.BIN","offset":562772,"runtimeAddress":"0x80129654","word":"0x108303","littleEndianBytes":"03831000","fact":"Travel X arithmetic shift12"},{"sourceFile":"DRA.BIN","offset":562816,"runtimeAddress":"0x80129680","word":"0x31b03","littleEndianBytes":"031b0300","fact":"Travel Y arithmetic shift12 before negation"},{"sourceFile":"DRA.BIN","offset":562836,"runtimeAddress":"0x80129694","word":"0x34020010","littleEndianBytes":"10000234","fact":"Thickness starts16"},{"sourceFile":"DRA.BIN","offset":562852,"runtimeAddress":"0x801296a4","word":"0x325200ff","littleEndianBytes":"ff005232","fact":"Thickness truncates unsigned byte"},{"sourceFile":"DRA.BIN","offset":562896,"runtimeAddress":"0x801296d0","word":"0x34020006","littleEndianBytes":"06000234","fact":"Ribbon drawMode6: colors enabled, semitransparency disabled"},{"sourceFile":"DRA.BIN","offset":562940,"runtimeAddress":"0x801296fc","word":"0x2aa20002","littleEndianBytes":"0200a22a","fact":"Two growth microsteps per callback"},{"sourceFile":"DRA.BIN","offset":562988,"runtimeAddress":"0x8012972c","word":"0x3402015f","littleEndianBytes":"5f010234","fact":"Single callback white flash CLUT0x15F"},{"sourceFile":"DRA.BIN","offset":563044,"runtimeAddress":"0x80129764","word":"0x34060194","littleEndianBytes":"94010634","fact":"Following callback restores normal CLUT0x194"},{"sourceFile":"DRA.BIN","offset":563048,"runtimeAddress":"0x80129768","word":"0x34050060","littleEndianBytes":"60000534","fact":"Following callback RGB96"},{"sourceFile":"DRA.BIN","offset":563160,"runtimeAddress":"0x801297d8","word":"0xc04a2ef","littleEndianBytes":"efa2040c","fact":"Ribbon fade uses PrimDecreaseBrightness"},{"sourceFile":"DRA.BIN","offset":563164,"runtimeAddress":"0x801297dc","word":"0x34050004","littleEndianBytes":"04000534","fact":"Brightness decrement amount4"},{"sourceFile":"DRA.BIN","offset":563224,"runtimeAddress":"0x80129818","word":"0x34020008","littleEndianBytes":"08000234","fact":"Hide all40 primitives on fade completion"},{"sourceFile":"DRA.BIN","offset":563248,"runtimeAddress":"0x80129830","word":"0xc041964","littleEndianBytes":"6419040c","fact":"Destroy original ribbon entity after fade"},{"sourceFile":"DRA.BIN","offset":318064,"runtimeAddress":"0x800eda70","word":"0x3405000d","littleEndianBytes":"0d000534","fact":"DestroyPrimitive clears13 words =52 bytes, not64 bytes"},{"sourceFile":"DRA.BIN","offset":318072,"runtimeAddress":"0x800eda78","word":"0xac800000","littleEndianBytes":"000080ac","fact":"Zero each primitive word"},{"sourceFile":"DRA.BIN","offset":318084,"runtimeAddress":"0x800eda84","word":"0x1440fffc","littleEndianBytes":"fcff4014","fact":"Thirteen-word zeroing loop"},{"sourceFile":"DRA.BIN","offset":318088,"runtimeAddress":"0x800eda88","word":"0x24840004","littleEndianBytes":"04008424","fact":"Clear-loop four-byte stride"},{"sourceFile":"DRA.BIN","offset":318660,"runtimeAddress":"0x800edcc4","word":"0xc03b69c","littleEndianBytes":"9cb6030c","fact":"AllocPrimitives calls full52-byte reset before reuse"},{"sourceFile":"SLUS_000.67","offset":39100,"runtimeAddress":"0x800190bc","word":"0x52823","littleEndianBytes":"23280500","fact":"X-sign absolute value"},{"sourceFile":"SLUS_000.67","offset":39116,"runtimeAddress":"0x800190cc","word":"0x42023","littleEndianBytes":"23200400","fact":"Y-sign absolute value"},{"sourceFile":"SLUS_000.67","offset":39140,"runtimeAddress":"0x800190e4","word":"0x1021","littleEndianBytes":"21100000","fact":"Zero-vector return0"},{"sourceFile":"SLUS_000.67","offset":39148,"runtimeAddress":"0x800190ec","word":"0x3c027fe0","littleEndianBytes":"e07f023c","fact":"SDK overflow-avoidance mask0x7FE00000"},{"sourceFile":"SLUS_000.67","offset":39160,"runtimeAddress":"0x800190f8","word":"0x51283","littleEndianBytes":"83120500","fact":"Large-value denominator shift10"},{"sourceFile":"SLUS_000.67","offset":39216,"runtimeAddress":"0x80019130","word":"0x41280","littleEndianBytes":"80120400","fact":"Normal lookup numerator shift10"},{"sourceFile":"SLUS_000.67","offset":39220,"runtimeAddress":"0x80019134","word":"0x45001a","littleEndianBytes":"1a004500","fact":"Normal lookup integer division"},{"sourceFile":"SLUS_000.67","offset":39280,"runtimeAddress":"0x80019170","word":"0x84232210","littleEndianBytes":"10222384","fact":"Signed16 original atan table lookup"},{"sourceFile":"SLUS_000.67","offset":39356,"runtimeAddress":"0x800191bc","word":"0x51280","littleEndianBytes":"80120500","fact":"Complement branch normal numerator shift10"},{"sourceFile":"SLUS_000.67","offset":39420,"runtimeAddress":"0x800191fc","word":"0x84232210","littleEndianBytes":"10222384","fact":"Complement signed16 atan table lookup"},{"sourceFile":"SLUS_000.67","offset":39424,"runtimeAddress":"0x80019200","word":"0x34020400","littleEndianBytes":"00040234","fact":"Complement angle1024"},{"sourceFile":"SLUS_000.67","offset":39428,"runtimeAddress":"0x80019204","word":"0x431823","littleEndianBytes":"23184300","fact":"Complement subtract table angle"},{"sourceFile":"SLUS_000.67","offset":39436,"runtimeAddress":"0x8001920c","word":"0x34020800","littleEndianBytes":"00080234","fact":"Negative-X quadrant angle2048"},{"sourceFile":"SLUS_000.67","offset":39440,"runtimeAddress":"0x80019210","word":"0x431823","littleEndianBytes":"23184300","fact":"Negative-X quadrant subtract"},{"sourceFile":"SLUS_000.67","offset":39452,"runtimeAddress":"0x8001921c","word":"0x31823","littleEndianBytes":"23180300","fact":"Negative-Y signed angle, not normalized"},{"sourceFile":"SLUS_000.67","offset":39460,"runtimeAddress":"0x80019224","word":"0x3e00008","littleEndianBytes":"0800e003","fact":"SDK ratan2 function final return"}],"independentBinaryEvidence":"../references/agunea-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}]}},"existingPlayerAnimationDataUnchanged":true,"originalNo3AguneaCandlePlacementCount":0,"pickupPlacements":[],"newPngCount":6,"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/84B88.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/main/psxsdk/libgte/ratan.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","https://github.com/Xeeynamo/sotn-decomp/blob/0622fcfd37311fd21baf2938c6bd74cea63005ba/include/primitive.h"],"scopeNote":"Original US inventory9 fields, quarter-sine/ratan lookup data, BP22/23/61, parent gradient and forty ribbon records, normal/white source pixels/palettes, steering/flash/fade/pulse/equipment-cost contracts and original source bugs are recovered statically. Java ports parent/ribbon behavior separately; BP44 blink and BP61 player outlines remain counted pending cosmetics. BP85 is unrelated AxeArmor metadata, not an Agunea child. Global target-pointer reuse, factory/allocator/RNG/compositor/battle/equipment/audio integration and exact GPU raster/background arithmetic remain incomplete. No CPU/GTE/firmware instructions execute, no art or pickup placement is invented, and all159 earlier generated files remain byte-identical."}
