Advertisement
exodus122

Majora JP 1.0 text func

Aug 28th, 2019
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 395.45 KB | None | 0 0
  1. void func_8014DC2C(void *arg0)
  2. {
  3. s32 spC4;
  4. s32 spC0;
  5. void *spBC;
  6. s16 spBA;
  7. s16 spB8;
  8. s16 spB6;
  9. s16 spB4;
  10. s16 spB2;
  11. s16 spB0;
  12. ? spA4;
  13. s16 spA2;
  14. s16 spA0;
  15. u16 sp9E;
  16. s32 sp98;
  17. s32 sp94;
  18. f32 sp90;
  19. f32 sp8C;
  20. ? sp7C;
  21. u32 sp78;
  22. s32 sp6C;
  23. s32 sp68;
  24. s16 sp50;
  25. s16 temp_t0;
  26. s16 temp_t0_3;
  27. s16 temp_t0_4;
  28. s16 temp_t0_5;
  29. s16 temp_t0_7;
  30. s16 temp_t1;
  31. s16 temp_t1_2;
  32. s16 temp_t1_3;
  33. s16 temp_t1_4;
  34. s16 temp_t1_5;
  35. s16 temp_t1_6;
  36. s16 temp_t2_3;
  37. s16 temp_t3_3;
  38. s16 temp_t3_4;
  39. s16 temp_t3_5;
  40. s16 temp_t4;
  41. s16 temp_t4_2;
  42. s16 temp_t4_3;
  43. s16 temp_t4_4;
  44. s16 temp_t4_5;
  45. s16 temp_t4_6;
  46. s16 temp_t4_7;
  47. s16 temp_t5;
  48. s16 temp_t5_2;
  49. s16 temp_t5_4;
  50. s16 temp_t6;
  51. s16 temp_t6_2;
  52. s16 temp_t6_4;
  53. s16 temp_t6_5;
  54. s16 temp_t6_6;
  55. s16 temp_t6_7;
  56. s16 temp_t6_8;
  57. s16 temp_t7_2;
  58. s16 temp_t7_4;
  59. s16 temp_t7_5;
  60. s16 temp_t7_6;
  61. s16 temp_t8_2;
  62. s16 temp_t8_3;
  63. s16 temp_t8_4;
  64. s16 temp_t8_5;
  65. s16 temp_t8_8;
  66. s16 temp_t9_2;
  67. s16 temp_t9_3;
  68. s16 temp_t9_4;
  69. s16 temp_t9_5;
  70. s16 temp_t9_6;
  71. s32 temp_at;
  72. s32 temp_at_2;
  73. s32 temp_at_3;
  74. s32 temp_at_4;
  75. s32 temp_at_5;
  76. s32 temp_at_6;
  77. s32 temp_at_7;
  78. s32 temp_at_8;
  79. s32 temp_s0_2;
  80. s32 temp_s0_6;
  81. s32 temp_t0_2;
  82. s32 temp_t0_6;
  83. s32 temp_t2_2;
  84. s32 temp_t3_6;
  85. s32 temp_t5_5;
  86. s32 temp_t7;
  87. s32 temp_t8;
  88. s32 temp_t8_6;
  89. s32 temp_t9;
  90. u16 temp_s0_3;
  91. u16 temp_s0_4;
  92. u16 temp_s0_5;
  93. u32 temp_t5_3;
  94. void *temp_at_9;
  95. void *temp_s0;
  96. void *temp_t2;
  97. void *temp_t3;
  98. void *temp_t3_2;
  99. void *temp_t3_7;
  100. void *temp_t6_3;
  101. void *temp_t7_3;
  102. void *temp_t7_7;
  103. void *temp_t7_8;
  104. void *temp_t8_7;
  105. void *temp_t8_9;
  106. u8 phi_s2;
  107. s32 phi_s2_2;
  108. s16 phi_t8;
  109. u8 phi_s3;
  110.  
  111. temp_t7 = arg0 + 0x4908;
  112. spC4 = temp_t7;
  113. spC0 = (s32) (temp_t7 + 0x168);
  114. spBC = (void *) arg0->unk1CCC;
  115. (0x10000 + arg0)->unk692C = (u16)0;
  116. *(&D_00012026 + spC4) = (u16) (0x10000 + spC4)->unk2024;
  117. *(&D_00012098 + spC4) = (u16)0;
  118. sp90 = 0.0f;
  119. *(&D_00011D88 + spC0) = (s8) (((0x10000 + spC0)->unk1D88 ^ 1) & 1);
  120. if (*(void *)0x801f372e == 0)
  121. {
  122. if (*(&D_0001208C + spC4) == 0)
  123. {
  124. spA2 = (u16)0;
  125. spB0 = (u16)0;
  126. spBA = (u16)0;
  127. sp98 = 0;
  128. func_8014D4F8(arg0);
  129. loop_3:
  130. temp_s0 = &D_00011880 + (spC0 + (*(&D_00011FEC + spC4) * 2));
  131. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16) *temp_s0;
  132. temp_t9 = *temp_s0 & 0xffff;
  133. sp9E = (u16) *temp_s0;
  134. if (temp_t9 != 9)
  135. {
  136. if (temp_t9 != 0xb)
  137. {
  138. if (temp_t9 != 0x110)
  139. {
  140. if (temp_t9 != 0x111)
  141. {
  142. if (temp_t9 != 0x112)
  143. {
  144. if (temp_t9 != 0x103)
  145. {
  146. if (temp_t9 != 0x230)
  147. {
  148. if (temp_t9 != 0x500)
  149. {
  150. if (temp_t9 != 0x240)
  151. {
  152. if (temp_t9 != 0x104)
  153. {
  154. if (sp9E == 0x100)
  155. {
  156. spB8 = (u16)8;
  157. loop_46:
  158. if (*(&D_801EF48B + spB8) == 0xdf)
  159. {
  160. temp_t9_2 = spB8 - 1;
  161. spB8 = temp_t9_2;
  162. if (((s32) (temp_t9_2 << 0x10) >> 0x10) > 0)
  163. {
  164. goto loop_46;
  165. }
  166. }
  167. spB6 = (u16)0;
  168. if (spB8 > 0)
  169. {
  170. loop_49:
  171. temp_t3 = &D_801EF48C + spB6;
  172. sp9E = (u16) *temp_t3;
  173. *(&D_00011F24 + (spC4 + ((spBA + spB6) * 2))) = (u16)0x100;
  174. spB2 = (u16)0;
  175. sp94 = (s32) ((spC0 + (*temp_t3 << 7)) + 0x7880);
  176. loop_50:
  177. *((spC0 + (*(&D_00011D88 + spC0) * 0x3c00)) + (sp98 + spB2)) = (u8) *(spB2 + sp94);
  178. ((spC0 + (*(&D_00011D88 + spC0) * 0x3c00)) + (sp98 + spB2))->unk1 = (u8) (spB2 + sp94)->unk1;
  179. ((spC0 + (*(&D_00011D88 + spC0) * 0x3c00)) + (sp98 + spB2))->unk2 = (u8) (spB2 + sp94)->unk2;
  180. ((spC0 + (*(&D_00011D88 + spC0) * 0x3c00)) + (sp98 + spB2))->unk3 = (u8) (spB2 + sp94)->unk3;
  181. temp_t7_2 = spB2 + 4;
  182. spB2 = temp_t7_2;
  183. if (((s32) (temp_t7_2 << 0x10) >> 0x10) < 0x80)
  184. {
  185. goto loop_50;
  186. }
  187. temp_t6 = spB6 + 1;
  188. temp_at = ((s32) (temp_t6 << 0x10) >> 0x10) < spB8;
  189. spB6 = temp_t6;
  190. sp98 = (s32) (sp98 + 0x80);
  191. if (temp_at != 0)
  192. {
  193. goto loop_49;
  194. }
  195. }
  196. spBA = (s16) ((spBA + spB8) - 1);
  197. sp90 = (f32) (sp90 + ((f32) spB8 * (16.0f * *(&D_00012094 + spC4))));
  198. block_459:
  199. }
  200. else
  201. {
  202. if (sp9E == 0x201)
  203. {
  204. func_80080C84(*(&D_00011EF8 + spC4) + 0x1000, &D_00AF2000, 0x900);
  205. func_80080C84(*(&D_00011EF8 + spC4) + 0x1900, &D_00AF2000 + 0x900, 0x900);
  206. *(&D_00012012 + spC4) = (s16) (*(&D_0001206A + spC4) + 8);
  207. spB0 = (u16)2;
  208. spA2 = (u16)2;
  209. *(&D_00011F18 + spC4) = (u8)1;
  210. *(&D_00012010 + spC4) = (s16) D_801F40E0->unkAF2;
  211. goto block_459;
  212. }
  213. else
  214. {
  215. if (sp9E == 0x202)
  216. {
  217. *(&D_00011F18 + spC4) = (u8)1;
  218. *(&D_00012022 + spC4) = (u8)2;
  219. goto block_459;
  220. }
  221. else
  222. {
  223. if (sp9E == 0x203)
  224. {
  225. *(&D_00011F18 + spC4) = (u8)1;
  226. *(&D_00012022 + spC4) = (u8)3;
  227. *(&D_00011FF8 + spC4) = (s16) (*(&D_00011FF8 + spC4) + 0x16);
  228. goto block_459;
  229. }
  230. else
  231. {
  232. temp_t8 = sp9E * 8;
  233. if (sp9E == 0x204)
  234. {
  235. temp_t3_2 = &D_801F24DC + temp_t8;
  236. temp_t2 = &D_801F24D8 + temp_t8;
  237. sp68 = (s32) *temp_t2;
  238. sp6C = (s32) *temp_t3_2;
  239. func_8014D30C(*temp_t2, *temp_t3_2, &sp7C);
  240. spB4 = (u16)0;
  241. spB6 = (u16)0;
  242. loop_61:
  243. if (spB6 != 1)
  244. {
  245. if ((sp + (spB6 * 2))->unk82 != 0)
  246. {
  247. block_63:
  248. spB4 = (u16)1;
  249. }
  250. }
  251. else
  252. {
  253. goto block_63;
  254. }
  255. if (spB4 != 0)
  256. {
  257. func_8014D130(arg0, (sp + (spB6 * 2))->unk82 + 0x824f, &sp98, &sp90, spBA);
  258. spBA = (s16) (spBA + 1);
  259. }
  260. temp_t6_2 = spB6 + 1;
  261. spB6 = temp_t6_2;
  262. if (((s32) (temp_t6_2 << 0x10) >> 0x10) < 5)
  263. {
  264. goto loop_61;
  265. }
  266. spBA = (s16) (spBA - 1);
  267. goto block_459;
  268. }
  269. else
  270. {
  271. if (sp9E != 0x205)
  272. {
  273. if (sp9E != 0x206)
  274. {
  275. if (sp9E != 0x207)
  276. {
  277. if (sp9E != 0x208)
  278. {
  279. if (sp9E == 0x209)
  280. {
  281. block_73:
  282. temp_t2_2 = sp9E * 8;
  283. temp_t6_3 = &D_801F24D8 + temp_t2_2;
  284. temp_t7_3 = &D_801F24DC + temp_t2_2;
  285. sp6C = (s32) *temp_t7_3;
  286. sp68 = (s32) *temp_t6_3;
  287. func_8014D30C(*temp_t6_3, *temp_t7_3, &sp7C);
  288. spB4 = (u16)0;
  289. spB6 = (u16)0;
  290. loop_74:
  291. if (spB6 != 4)
  292. {
  293. if (spB6 != 2)
  294. {
  295. if (spB6 != 5)
  296. {
  297. if ((sp + (spB6 * 2))->unk7C != 0)
  298. {
  299. block_78:
  300. spB4 = (u16)1;
  301. }
  302. }
  303. }
  304. }
  305. else
  306. {
  307. goto block_78;
  308. }
  309. if (spB4 != 0)
  310. {
  311. func_8014D130(arg0, (sp + (spB6 * 2))->unk7C + 0x824f, &sp98, &sp90, spBA);
  312. spBA = (s16) (spBA + 1);
  313. }
  314. temp_t1 = spB6 + 1;
  315. spB6 = temp_t1;
  316. if (((s32) (temp_t1 << 0x10) >> 0x10) < 8)
  317. {
  318. goto loop_74;
  319. }
  320. spBA = (s16) (spBA - 1);
  321. goto block_459;
  322. }
  323. else
  324. {
  325. if (sp9E == 0x20a)
  326. {
  327. spA4.unk0 = (u16)0;
  328. spA4.unk2 = (s32) (((f32) (u32) D_801EF46C * 0.02197265625f) / 60.0f);
  329. if (spA4.unk2 >= 0xa)
  330. {
  331. loop_85:
  332. spA4.unk0 = (s16) (spA4.unk0 + 1);
  333. spA4.unk2 = (s16) (spA4.unk2 - 0xa);
  334. if (spA4.unk2 >= 0xa)
  335. {
  336. goto loop_85;
  337. }
  338. }
  339. spA4.unk4 = (u16)0;
  340. spA4.unk6 = (s16) ((s32) ((f32) (u32) D_801EF46C * 0.02197265625f) % 0x3c);
  341. if (spA4.unk6 >= 0xa)
  342. {
  343. loop_87:
  344. spA4.unk4 = (s16) (spA4.unk4 + 1);
  345. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  346. if (spA4.unk6 >= 0xa)
  347. {
  348. goto loop_87;
  349. }
  350. }
  351. spB6 = (u16)0;
  352. loop_89:
  353. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  354. sp98 = (s32) (sp98 + 0x80);
  355. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  356. spBA = (s16) (spBA + 1);
  357. if (spB6 == 1)
  358. {
  359. func_800F6A40(arg0, 0x8e9e, sp98);
  360. sp98 = (s32) (sp98 + 0x80);
  361. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16)0x8e9e;
  362. spBA = (s16) (spBA + 1);
  363. }
  364. else
  365. {
  366. if (spB6 == 3)
  367. {
  368. func_800F6A40(arg0, 0x95aa, sp98);
  369. sp98 = (s32) (sp98 + 0x80);
  370. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16)0x95aa;
  371. }
  372. }
  373. temp_t4 = spB6 + 1;
  374. spB6 = temp_t4;
  375. if (((s32) (temp_t4 << 0x10) >> 0x10) < 4)
  376. {
  377. goto loop_89;
  378. }
  379. sp90 = (f32) (sp90 + (6.0f * (16.0f * *(&D_00012094 + spC4))));
  380. goto block_459;
  381. }
  382. else
  383. {
  384. if (sp9E == 0x20b)
  385. {
  386. spA4.unk4 = (u16)0;
  387. spA4.unk2 = (s16) spA4.unk4;
  388. spA4.unk0 = (s16) spA4.unk4;
  389. spA4.unk6 = func_800B7898(arg0);
  390. if (spA4.unk6 >= 0x3e8)
  391. {
  392. loop_97:
  393. spA4.unk0 = (s16) (spA4.unk0 + 1);
  394. spA4.unk6 = (s16) (spA4.unk6 - 0x3e8);
  395. if (spA4.unk6 >= 0x3e8)
  396. {
  397. goto loop_97;
  398. }
  399. }
  400. if (spA4.unk6 >= 0x64)
  401. {
  402. loop_99:
  403. spA4.unk2 = (s16) (spA4.unk2 + 1);
  404. spA4.unk6 = (s16) (spA4.unk6 - 0x64);
  405. if (spA4.unk6 >= 0x64)
  406. {
  407. goto loop_99;
  408. }
  409. }
  410. if (spA4.unk6 >= 0xa)
  411. {
  412. loop_101:
  413. spA4.unk4 = (s16) (spA4.unk4 + 1);
  414. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  415. if (spA4.unk6 >= 0xa)
  416. {
  417. goto loop_101;
  418. }
  419. }
  420. spB4 = (u16)0;
  421. spB6 = (u16)0;
  422. loop_103:
  423. if (spB6 != 3)
  424. {
  425. if ((sp + (spB6 * 2))->unkA4 != 0)
  426. {
  427. block_105:
  428. spB4 = (u16)1;
  429. }
  430. }
  431. else
  432. {
  433. goto block_105;
  434. }
  435. if (spB4 != 0)
  436. {
  437. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  438. sp98 = (s32) (sp98 + 0x80);
  439. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  440. spBA = (s16) (spBA + 1);
  441. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  442. }
  443. temp_t4_2 = spB6 + 1;
  444. spB6 = temp_t4_2;
  445. if (((s32) (temp_t4_2 << 0x10) >> 0x10) < 4)
  446. {
  447. goto loop_103;
  448. }
  449. func_8014D130(arg0, 0x9543, &sp98, &sp90, spBA);
  450. }
  451. else
  452. {
  453. if (sp9E == 0x20c)
  454. {
  455. D_801C18F0 = spA2;
  456. temp_t1_2 = spBA + 1;
  457. D_801C18F4 = temp_t1_2;
  458. D_801C18F8 = (u16)2;
  459. spBA = temp_t1_2;
  460. *(&D_00012078 + spC4) = 0;
  461. D_801C18FC = sp98;
  462. spA4.unk4 = (u16)0;
  463. spA4.unk2 = (s16) spA4.unk4;
  464. spA4.unk0 = (s16) spA4.unk4;
  465. spB6 = (u16)0;
  466. spB4 = (u16)0;
  467. loop_112:
  468. func_8014D130(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, &sp98, &sp90, spBA);
  469. temp_t9_3 = spB6 + 1;
  470. temp_at_2 = ((s32) (temp_t9_3 << 0x10) >> 0x10) < 3;
  471. spB6 = temp_t9_3;
  472. spBA = (s16) (spBA + 1);
  473. if (temp_at_2 != 0)
  474. {
  475. goto loop_112;
  476. }
  477. func_8014D1D0(arg0, &spBA, &sp98, &sp90);
  478. }
  479. else
  480. {
  481. if (sp9E == 0x20d)
  482. {
  483. spA4.unk2 = (u16)0;
  484. spA4.unk0 = (s16) spA4.unk2;
  485. spA4.unk4 = (s16) *(&D_00012078 + spC4);
  486. if (spA4.unk4 >= 0x64)
  487. {
  488. loop_116:
  489. spA4.unk0 = (s16) (spA4.unk0 + 1);
  490. spA4.unk4 = (s16) (spA4.unk4 - 0x64);
  491. if (spA4.unk4 >= 0x64)
  492. {
  493. goto loop_116;
  494. }
  495. }
  496. if (spA4.unk4 >= 0xa)
  497. {
  498. loop_118:
  499. spA4.unk2 = (s16) (spA4.unk2 + 1);
  500. spA4.unk4 = (s16) (spA4.unk4 - 0xa);
  501. if (spA4.unk4 >= 0xa)
  502. {
  503. goto loop_118;
  504. }
  505. }
  506. spB4 = (u16)0;
  507. spB6 = (u16)0;
  508. loop_120:
  509. if (spB6 != 2)
  510. {
  511. if ((sp + (spB6 * 2))->unkA4 != 0)
  512. {
  513. block_122:
  514. spB4 = (u16)1;
  515. }
  516. }
  517. else
  518. {
  519. goto block_122;
  520. }
  521. if (spB4 != 0)
  522. {
  523. func_8014D130(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, &sp98, &sp90, spBA);
  524. spBA = (s16) (spBA + 1);
  525. }
  526. temp_t0 = spB6 + 1;
  527. spB6 = temp_t0;
  528. if (((s32) (temp_t0 << 0x10) >> 0x10) < 3)
  529. {
  530. goto loop_120;
  531. }
  532. func_8014D1D0(arg0, &spBA, &sp98, &sp90);
  533. }
  534. else
  535. {
  536. if (sp9E == 0x20e)
  537. {
  538. spA4.unk4 = (u16)0;
  539. spA4.unk2 = (s16) spA4.unk4;
  540. spA4.unk0 = (s16) spA4.unk4;
  541. spA4.unk6 = (s16) (0x10000 + spC4)->unk207C;
  542. if (spA4.unk6 >= 0x3e8)
  543. {
  544. loop_129:
  545. spA4.unk0 = (s16) (spA4.unk0 + 1);
  546. spA4.unk6 = (s16) (spA4.unk6 - 0x3e8);
  547. if (spA4.unk6 >= 0x3e8)
  548. {
  549. goto loop_129;
  550. }
  551. }
  552. if (spA4.unk6 >= 0x64)
  553. {
  554. loop_131:
  555. spA4.unk2 = (s16) (spA4.unk2 + 1);
  556. spA4.unk6 = (s16) (spA4.unk6 - 0x64);
  557. if (spA4.unk6 >= 0x64)
  558. {
  559. goto loop_131;
  560. }
  561. }
  562. if (spA4.unk6 >= 0xa)
  563. {
  564. loop_133:
  565. spA4.unk4 = (s16) (spA4.unk4 + 1);
  566. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  567. if (spA4.unk6 >= 0xa)
  568. {
  569. goto loop_133;
  570. }
  571. }
  572. spB4 = (u16)0;
  573. spB6 = (u16)0;
  574. loop_135:
  575. if (spB6 != 3)
  576. {
  577. if ((sp + (spB6 * 2))->unkA4 != 0)
  578. {
  579. block_137:
  580. spB4 = (u16)1;
  581. }
  582. }
  583. else
  584. {
  585. goto block_137;
  586. }
  587. if (spB4 != 0)
  588. {
  589. func_8014D130(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, &sp98, &sp90, spBA);
  590. spBA = (s16) (spBA + 1);
  591. }
  592. temp_t7_4 = spB6 + 1;
  593. spB6 = temp_t7_4;
  594. if (((s32) (temp_t7_4 << 0x10) >> 0x10) < 4)
  595. {
  596. goto loop_135;
  597. }
  598. func_8014D1D0(arg0, &spBA, &sp98, &sp90);
  599. }
  600. else
  601. {
  602. if (sp9E == 0x20f)
  603. {
  604. func_8014D778(arg0, sp9E, &sp98, &sp90, &spBA);
  605. }
  606. else
  607. {
  608. if (sp9E == 0x21c)
  609. {
  610. spA4.unk2 = (u16)0;
  611. spA4.unk0 = (s16) spA4.unk2;
  612. spA4.unk4 = (s16) *(&D_801EF534 + D_801F40B4);
  613. if (spA4.unk4 >= 0x64)
  614. {
  615. loop_146:
  616. spA4.unk0 = (s16) (spA4.unk0 + 1);
  617. spA4.unk4 = (s16) (spA4.unk4 - 0x64);
  618. if (spA4.unk4 >= 0x64)
  619. {
  620. goto loop_146;
  621. }
  622. }
  623. if (spA4.unk4 >= 0xa)
  624. {
  625. loop_148:
  626. spA4.unk2 = (s16) (spA4.unk2 + 1);
  627. spA4.unk4 = (s16) (spA4.unk4 - 0xa);
  628. if (spA4.unk4 >= 0xa)
  629. {
  630. goto loop_148;
  631. }
  632. }
  633. spB4 = (u16)0;
  634. spB6 = (u16)0;
  635. loop_150:
  636. if (spB6 != 2)
  637. {
  638. if ((sp + (spB6 * 2))->unkA4 != 0)
  639. {
  640. block_152:
  641. spB4 = (u16)1;
  642. }
  643. }
  644. else
  645. {
  646. goto block_152;
  647. }
  648. if (spB4 != 0)
  649. {
  650. func_8014D130(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, &sp98, &sp90, spBA);
  651. spBA = (s16) (spBA + 1);
  652. }
  653. temp_t5 = spB6 + 1;
  654. spB6 = temp_t5;
  655. if (((s32) (temp_t5 << 0x10) >> 0x10) < 3)
  656. {
  657. goto loop_150;
  658. }
  659. func_8014D130(arg0, 0x906c, &sp98, &sp90, spBA);
  660. temp_t4_3 = spBA + 1;
  661. temp_t0_2 = (s32) (temp_t4_3 << 0x10) >> 0x10;
  662. spBA = temp_t4_3;
  663. func_8014D130(arg0, 0x96da, &sp98, &sp90, temp_t0_2);
  664. }
  665. else
  666. {
  667. if (sp9E == 0x21d)
  668. {
  669. spA4.unk2 = (u16)0;
  670. spA4.unk0 = (s16) spA4.unk2;
  671. spA4.unk4 = func_80130CAC(arg0->unkA4);
  672. if (spA4.unk4 >= 0x64)
  673. {
  674. loop_159:
  675. spA4.unk0 = (s16) (spA4.unk0 + 1);
  676. spA4.unk4 = (s16) (spA4.unk4 - 0x64);
  677. if (spA4.unk4 >= 0x64)
  678. {
  679. goto loop_159;
  680. }
  681. }
  682. if (spA4.unk4 >= 0xa)
  683. {
  684. loop_161:
  685. spA4.unk2 = (s16) (spA4.unk2 + 1);
  686. spA4.unk4 = (s16) (spA4.unk4 - 0xa);
  687. if (spA4.unk4 >= 0xa)
  688. {
  689. goto loop_161;
  690. }
  691. }
  692. spB4 = (u16)0;
  693. spB6 = (u16)0;
  694. loop_163:
  695. if (spB6 != 2)
  696. {
  697. if ((sp + (spB6 * 2))->unkA4 != 0)
  698. {
  699. block_165:
  700. spB4 = (u16)1;
  701. }
  702. }
  703. else
  704. {
  705. goto block_165;
  706. }
  707. if (spB4 != 0)
  708. {
  709. func_8014D130(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, &sp98, &sp90, spBA);
  710. spBA = (s16) (spBA + 1);
  711. }
  712. temp_t4_4 = spB6 + 1;
  713. spB6 = temp_t4_4;
  714. if (((s32) (temp_t4_4 << 0x10) >> 0x10) < 3)
  715. {
  716. goto loop_163;
  717. }
  718. func_8014D130(arg0, 0x9543, &sp98, &sp90, spBA);
  719. }
  720. else
  721. {
  722. if (sp9E == 0x21e)
  723. {
  724. spA4.unk0 = (u16)0;
  725. spA4.unk2 = (u16) D_801F3726;
  726. if (spA4.unk2 >= 0xa)
  727. {
  728. loop_172:
  729. spA4.unk0 = (s16) (spA4.unk0 + 1);
  730. spA4.unk2 = (s16) (spA4.unk2 - 0xa);
  731. if (spA4.unk2 >= 0xa)
  732. {
  733. goto loop_172;
  734. }
  735. }
  736. spB4 = (u16)0;
  737. spB6 = (u16)0;
  738. loop_174:
  739. if (spB6 != 1)
  740. {
  741. if ((sp + (spB6 * 2))->unkA4 != 0)
  742. {
  743. block_176:
  744. func_8014D130(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, &sp98, &sp90, spBA);
  745. spBA = (s16) (spBA + 1);
  746. }
  747. }
  748. else
  749. {
  750. goto block_176;
  751. }
  752. temp_t1_3 = spB6 + 1;
  753. spB6 = temp_t1_3;
  754. if (((s32) (temp_t1_3 << 0x10) >> 0x10) < 2)
  755. {
  756. goto loop_174;
  757. }
  758. spBA = (s16) (spBA - 1);
  759. goto block_459;
  760. }
  761. else
  762. {
  763. if (sp9E == 0x21f)
  764. {
  765. spA4.unk4 = (u16)0;
  766. spA4.unk2 = (s16) spA4.unk4;
  767. spA4.unk0 = (s16) spA4.unk4;
  768. spA4.unk6 = (u16) D_801F3726;
  769. if (spA4.unk6 >= 0x3e8)
  770. {
  771. loop_181:
  772. spA4.unk0 = (s16) (spA4.unk0 + 1);
  773. spA4.unk6 = (s16) (spA4.unk6 - 0x3e8);
  774. if (spA4.unk6 >= 0x3e8)
  775. {
  776. goto loop_181;
  777. }
  778. }
  779. if (spA4.unk6 >= 0x64)
  780. {
  781. loop_183:
  782. spA4.unk2 = (s16) (spA4.unk2 + 1);
  783. spA4.unk6 = (s16) (spA4.unk6 - 0x64);
  784. if (spA4.unk6 >= 0x64)
  785. {
  786. goto loop_183;
  787. }
  788. }
  789. if (spA4.unk6 >= 0xa)
  790. {
  791. loop_185:
  792. spA4.unk4 = (s16) (spA4.unk4 + 1);
  793. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  794. if (spA4.unk6 >= 0xa)
  795. {
  796. goto loop_185;
  797. }
  798. }
  799. spB4 = (u16)0;
  800. spB6 = (u16)0;
  801. loop_187:
  802. if (spB6 != 3)
  803. {
  804. if ((sp + (spB6 * 2))->unkA4 != 0)
  805. {
  806. block_189:
  807. spB4 = (u16)1;
  808. }
  809. }
  810. else
  811. {
  812. goto block_189;
  813. }
  814. if (spB4 != 0)
  815. {
  816. func_8014D130(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, &sp98, &sp90, spBA);
  817. spBA = (s16) (spBA + 1);
  818. }
  819. temp_t8_2 = spB6 + 1;
  820. spB6 = temp_t8_2;
  821. if (((s32) (temp_t8_2 << 0x10) >> 0x10) < 4)
  822. {
  823. goto loop_187;
  824. }
  825. spBA = (s16) (spBA - 1);
  826. goto block_459;
  827. }
  828. else
  829. {
  830. if (sp9E == 0x220)
  831. {
  832. D_801C18F0 = spA2;
  833. temp_t8_3 = spBA + 1;
  834. D_801C18F4 = temp_t8_3;
  835. D_801C18F8 = (u16)0;
  836. spBA = temp_t8_3;
  837. *(&D_00012078 + spC4) = 0;
  838. D_801C18FC = sp98;
  839. spA4.unk4 = (u16)0;
  840. spA4.unk2 = (s16) spA4.unk4;
  841. spA4.unk0 = (s16) spA4.unk4;
  842. spB6 = (u16)0;
  843. spB4 = (u16)0;
  844. loop_196:
  845. func_8014D130(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, &sp98, &sp90, spBA);
  846. temp_t9_4 = spB6 + 1;
  847. temp_at_3 = ((s32) (temp_t9_4 << 0x10) >> 0x10) < 2;
  848. spB6 = temp_t9_4;
  849. spBA = (s16) (spBA + 1);
  850. if (temp_at_3 != 0)
  851. {
  852. goto loop_196;
  853. }
  854. func_8014D1D0(arg0, &spBA, &sp98, &sp90);
  855. }
  856. else
  857. {
  858. if (sp9E == 0x221)
  859. {
  860. D_801C18F0 = spA2;
  861. temp_t8_4 = spBA + 1;
  862. D_801C18F4 = temp_t8_4;
  863. D_801C18F8 = (u16)0;
  864. spBA = temp_t8_4;
  865. *(&D_00012078 + spC4) = 0;
  866. spB6 = (u16)0;
  867. D_801C18FC = sp98;
  868. loop_200:
  869. *(&D_00012054 + (spC4 + (spB6 * 2))) = (u16)1;
  870. func_8014D130(arg0, 0x8250, &sp98, &sp90, spBA);
  871. temp_t8_5 = spB6 + 1;
  872. spBA = (s16) (spBA + 1);
  873. spB6 = temp_t8_5;
  874. if (((s32) (temp_t8_5 << 0x10) >> 0x10) < 5)
  875. {
  876. goto loop_200;
  877. }
  878. spBA = (s16) (spBA - 1);
  879. goto block_459;
  880. }
  881. else
  882. {
  883. if (sp9E == 0x223)
  884. {
  885. if (D_801EF474 == 0x12)
  886. {
  887. spB4 = (u16)0;
  888. }
  889. else
  890. {
  891. if (D_801EF474 == 0)
  892. {
  893. spB4 = (u16)1;
  894. }
  895. else
  896. {
  897. spB4 = (u16)2;
  898. }
  899. }
  900. spB6 = (u16)0;
  901. loop_209:
  902. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16) *(&D_801CAEE0 + ((spB4 * 6) + (spB6 * 2)));
  903. func_800F6A40(arg0, (0x801d0000 + ((spB4 * 6) + (spB6 * 2)))->unk-5120, sp98);
  904. temp_t6_4 = spB6 + 1;
  905. temp_at_4 = ((s32) (temp_t6_4 << 0x10) >> 0x10) < 3;
  906. spBA = (s16) (spBA + 1);
  907. spB6 = temp_t6_4;
  908. sp98 = (s32) (sp98 + 0x80);
  909. if (temp_at_4 != 0)
  910. {
  911. goto loop_209;
  912. }
  913. spBA = (s16) (spBA - 1);
  914. sp90 = (f32) (sp90 + (3.0f * (16.0f * *(&D_00012094 + spC4))));
  915. *(&D_00012021 + spC4) = spB4;
  916. goto block_459;
  917. }
  918. else
  919. {
  920. if (sp9E == 0x224)
  921. {
  922. func_8014DAA0(arg0, &sp98, &sp90, &spBA);
  923. }
  924. else
  925. {
  926. if (sp9E == 0x225)
  927. {
  928. D_801C18F0 = spA2;
  929. temp_t0_3 = spBA + 1;
  930. D_801C18F4 = temp_t0_3;
  931. D_801C18F8 = (u16)0;
  932. spBA = temp_t0_3;
  933. *(&D_00012078 + spC4) = 0;
  934. spB6 = (u16)0;
  935. D_801C18FC = sp98;
  936. loop_215:
  937. *(&D_00012054 + (spC4 + (spB6 * 2))) = (u16)1;
  938. func_800F6A40(arg0, 0x8250, sp98);
  939. sp98 = (s32) (sp98 + 0x80);
  940. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16)0x8250;
  941. temp_t3_3 = spB6 + 1;
  942. temp_at_5 = ((s32) (temp_t3_3 << 0x10) >> 0x10) < 3;
  943. spBA = (s16) (spBA + 1);
  944. spB6 = temp_t3_3;
  945. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  946. if (temp_at_5 != 0)
  947. {
  948. goto loop_215;
  949. }
  950. spBA = (s16) (spBA - 1);
  951. goto block_459;
  952. }
  953. else
  954. {
  955. if (sp9E == 0x226)
  956. {
  957. spB6 = (u16)0;
  958. loop_219:
  959. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16) *(&D_801CAEF4 + (*(&D_801F07D9 + spB6) * 2));
  960. temp_t0_4 = spBA + 1;
  961. temp_t8_6 = (s32) (temp_t0_4 << 0x10) >> 0x10;
  962. spBA = temp_t0_4;
  963. func_8014D130(arg0, spB6 + 0x8250, &sp98, &sp90, temp_t8_6);
  964. temp_t3_4 = spB6 + 1;
  965. spBA = (s16) (spBA + 1);
  966. spB6 = temp_t3_4;
  967. if (((s32) (temp_t3_4 << 0x10) >> 0x10) < 6)
  968. {
  969. goto loop_219;
  970. }
  971. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16)0x2000;
  972. goto block_459;
  973. }
  974. else
  975. {
  976. if (sp9E >= 0x227)
  977. {
  978. if (sp9E < 0x22b)
  979. {
  980. spA4.unk2 = (u16)0;
  981. spA4.unk0 = (s16) spA4.unk2;
  982. spA4.unk4 = (s16) (0xf - (0x801f0000 + sp9E)->unk-CF3);
  983. if (spA4.unk4 >= 0x64)
  984. {
  985. loop_224:
  986. spA4.unk0 = (s16) (spA4.unk0 + 1);
  987. spA4.unk4 = (s16) (spA4.unk4 - 0x64);
  988. if (spA4.unk4 >= 0x64)
  989. {
  990. goto loop_224;
  991. }
  992. }
  993. if (spA4.unk4 >= 0xa)
  994. {
  995. loop_226:
  996. spA4.unk2 = (s16) (spA4.unk2 + 1);
  997. spA4.unk4 = (s16) (spA4.unk4 - 0xa);
  998. if (spA4.unk4 >= 0xa)
  999. {
  1000. goto loop_226;
  1001. }
  1002. }
  1003. spB4 = (u16)0;
  1004. spB6 = (u16)0;
  1005. loop_228:
  1006. if (spB6 != 2)
  1007. {
  1008. if ((sp + (spB6 * 2))->unkA4 != 0)
  1009. {
  1010. block_230:
  1011. spB4 = (u16)1;
  1012. }
  1013. }
  1014. else
  1015. {
  1016. goto block_230;
  1017. }
  1018. if (spB4 != 0)
  1019. {
  1020. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  1021. sp98 = (s32) (sp98 + 0x80);
  1022. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  1023. spBA = (s16) (spBA + 1);
  1024. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  1025. }
  1026. temp_t5_2 = spB6 + 1;
  1027. spB6 = temp_t5_2;
  1028. if (((s32) (temp_t5_2 << 0x10) >> 0x10) < 3)
  1029. {
  1030. goto loop_228;
  1031. }
  1032. func_8014D130(arg0, 0x906c, &sp98, &sp90, spBA);
  1033. }
  1034. else
  1035. {
  1036. block_235:
  1037. if (sp9E == 0x22b)
  1038. {
  1039. spA4.unk4 = (u16)0;
  1040. spA4.unk2 = (s16) spA4.unk4;
  1041. spA4.unk0 = (s16) spA4.unk4;
  1042. spA4.unk6 = (u16) D_801F3726;
  1043. if (spA4.unk6 >= 0x3e8)
  1044. {
  1045. loop_237:
  1046. spA4.unk0 = (s16) (spA4.unk0 + 1);
  1047. spA4.unk6 = (s16) (spA4.unk6 - 0x3e8);
  1048. if (spA4.unk6 >= 0x3e8)
  1049. {
  1050. goto loop_237;
  1051. }
  1052. }
  1053. if (spA4.unk6 >= 0x64)
  1054. {
  1055. loop_239:
  1056. spA4.unk2 = (s16) (spA4.unk2 + 1);
  1057. spA4.unk6 = (s16) (spA4.unk6 - 0x64);
  1058. if (spA4.unk6 >= 0x64)
  1059. {
  1060. goto loop_239;
  1061. }
  1062. }
  1063. if (spA4.unk6 >= 0xa)
  1064. {
  1065. loop_241:
  1066. spA4.unk4 = (s16) (spA4.unk4 + 1);
  1067. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  1068. if (spA4.unk6 >= 0xa)
  1069. {
  1070. goto loop_241;
  1071. }
  1072. }
  1073. spB4 = (u16)0;
  1074. spB6 = (u16)0;
  1075. loop_243:
  1076. if (spB6 != 3)
  1077. {
  1078. if ((sp + (spB6 * 2))->unkA4 != 0)
  1079. {
  1080. block_245:
  1081. spB4 = (u16)1;
  1082. }
  1083. }
  1084. else
  1085. {
  1086. goto block_245;
  1087. }
  1088. if (spB4 != 0)
  1089. {
  1090. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  1091. sp98 = (s32) (sp98 + 0x80);
  1092. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  1093. spBA = (s16) (spBA + 1);
  1094. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  1095. }
  1096. temp_t6_5 = spB6 + 1;
  1097. spB6 = temp_t6_5;
  1098. if (((s32) (temp_t6_5 << 0x10) >> 0x10) < 4)
  1099. {
  1100. goto loop_243;
  1101. }
  1102. func_8014D130(arg0, 0x94ad, &sp98, &sp90, spBA);
  1103. }
  1104. else
  1105. {
  1106. if (sp9E != 0x22c)
  1107. {
  1108. if (sp9E == 0x22d)
  1109. {
  1110. block_252:
  1111. if (sp9E == 0x22c)
  1112. {
  1113. spA4.unk0 = (s16) *(&D_801F07CD + (((s32) D_801EF478 % 5) * 3));
  1114. spA4.unk2 = (s16) (0x801f0000 + (((s32) D_801EF478 % 5) * 3))->unk7CE;
  1115. spA4.unk4 = (s16) (0x801f0000 + (((s32) D_801EF478 % 5) * 3))->unk7CF;
  1116. }
  1117. else
  1118. {
  1119. spA4.unk0 = (s16) ((u32) (D_801EF460.unkEF0 & 0xf00) >> 8);
  1120. spA4.unk2 = (s16) ((u32) (D_801EF460.unkEF0 & 0xf0) >> 4);
  1121. spA4.unk4 = (s16) (D_801EF460.unkEF0 & 0xf);
  1122. }
  1123. spB6 = (u16)0;
  1124. loop_256:
  1125. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  1126. sp98 = (s32) (sp98 + 0x80);
  1127. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  1128. spBA = (s16) (spBA + 1);
  1129. temp_t3_5 = spB6 + 1;
  1130. temp_at_6 = ((s32) (temp_t3_5 << 0x10) >> 0x10) < 3;
  1131. spB6 = temp_t3_5;
  1132. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  1133. if (temp_at_6 != 0)
  1134. {
  1135. goto loop_256;
  1136. }
  1137. spBA = (s16) (spBA - 1);
  1138. goto block_459;
  1139. }
  1140. else
  1141. {
  1142. if (sp9E == 0x22e)
  1143. {
  1144. spA4.unk4 = (u16)0;
  1145. spA4.unk2 = (s16) spA4.unk4;
  1146. spA4.unk0 = (s16) spA4.unk4;
  1147. if (spBC->unk146 == 0)
  1148. {
  1149. if (D_801EF480 == 4)
  1150. {
  1151. phi_s3 = (u8)0U;
  1152. }
  1153. else
  1154. {
  1155. phi_s3 = D_801EF480;
  1156. }
  1157. phi_s2 = *(&D_801EF4AC + ((phi_s3 * 4) + spBC->unk146));
  1158. }
  1159. else
  1160. {
  1161. phi_s2 = *(&D_801EF4AC + spBC->unk146);
  1162. }
  1163. spA4.unk6 = (s16) *(&D_801BCFA4 + ((phi_s2 & 0xff) * 2));
  1164. if (spA4.unk6 >= 0x3e8)
  1165. {
  1166. loop_266:
  1167. spA4.unk0 = (s16) (spA4.unk0 + 1);
  1168. spA4.unk6 = (s16) (spA4.unk6 - 0x3e8);
  1169. if (spA4.unk6 >= 0x3e8)
  1170. {
  1171. goto loop_266;
  1172. }
  1173. }
  1174. if (spA4.unk6 >= 0x64)
  1175. {
  1176. loop_268:
  1177. spA4.unk2 = (s16) (spA4.unk2 + 1);
  1178. spA4.unk6 = (s16) (spA4.unk6 - 0x64);
  1179. if (spA4.unk6 >= 0x64)
  1180. {
  1181. goto loop_268;
  1182. }
  1183. }
  1184. if (spA4.unk6 >= 0xa)
  1185. {
  1186. loop_270:
  1187. spA4.unk4 = (s16) (spA4.unk4 + 1);
  1188. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  1189. if (spA4.unk6 >= 0xa)
  1190. {
  1191. goto loop_270;
  1192. }
  1193. }
  1194. spB4 = (u16)0;
  1195. spB6 = (u16)0;
  1196. loop_272:
  1197. if (spB6 != 3)
  1198. {
  1199. if ((sp + (spB6 * 2))->unkA4 != 0)
  1200. {
  1201. block_274:
  1202. spB4 = (u16)1;
  1203. }
  1204. }
  1205. else
  1206. {
  1207. goto block_274;
  1208. }
  1209. if (spB4 != 0)
  1210. {
  1211. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  1212. sp98 = (s32) (sp98 + 0x80);
  1213. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  1214. spBA = (s16) (spBA + 1);
  1215. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  1216. }
  1217. temp_t4_5 = spB6 + 1;
  1218. spB6 = temp_t4_5;
  1219. if (((s32) (temp_t4_5 << 0x10) >> 0x10) < 4)
  1220. {
  1221. goto loop_272;
  1222. }
  1223. func_8014D1D0(arg0, &spBA, &sp98, &sp90);
  1224. }
  1225. else
  1226. {
  1227. if (sp9E == 0x22f)
  1228. {
  1229. spB6 = (u16)0;
  1230. loop_281:
  1231. (sp + (spB6 * 2))->unkA4 = (s16) *(&D_801F07DF + spB6);
  1232. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  1233. sp98 = (s32) (sp98 + 0x80);
  1234. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  1235. spBA = (s16) (spBA + 1);
  1236. temp_t7_5 = spB6 + 1;
  1237. temp_at_7 = ((s32) (temp_t7_5 << 0x10) >> 0x10) < 5;
  1238. spB6 = temp_t7_5;
  1239. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  1240. if (temp_at_7 != 0)
  1241. {
  1242. goto loop_281;
  1243. }
  1244. spBA = (s16) (spBA - 1);
  1245. goto block_459;
  1246. }
  1247. else
  1248. {
  1249. if (sp9E >= 0x231)
  1250. {
  1251. temp_t4_6 = sp9E - 0x231;
  1252. if (sp9E < 0x237)
  1253. {
  1254. spB6 = temp_t4_6;
  1255. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16) *(&D_801CAEF4 + (*(&D_801F07D9 + spB6) * 2));
  1256. temp_t0_5 = spBA + 1;
  1257. temp_t3_6 = (s32) (temp_t0_5 << 0x10) >> 0x10;
  1258. spBA = temp_t0_5;
  1259. func_8014D130(arg0, *(&D_801CAEFC + (*(&D_801F07D9 + temp_t4_6) * 2)), &sp98, &sp90, temp_t3_6);
  1260. temp_t6_6 = spBA + 1;
  1261. temp_t0_6 = spC4 + (((s32) (temp_t6_6 << 0x10) >> 0x10) * 2);
  1262. spBA = temp_t6_6;
  1263. (0x10000 + temp_t0_6)->unk1F24 = (u16)0x2000;
  1264. goto block_459;
  1265. }
  1266. else
  1267. {
  1268. block_286:
  1269. if (sp9E == 0x237)
  1270. {
  1271. sp78 = (u32) ((-(s32) (((s32) D_801EF478 % 5) << 0x10) - ((D_801EF46C - 0x4000) & 0xffff)) + 0x40000);
  1272. spA4.unk0 = (u16)0;
  1273. spA4.unk2 = (s32) (((f32) sp78 * 0.02197265625f) / 60.0f);
  1274. if (spA4.unk2 >= 0xa)
  1275. {
  1276. loop_288:
  1277. spA4.unk0 = (s16) (spA4.unk0 + 1);
  1278. spA4.unk2 = (s16) (spA4.unk2 - 0xa);
  1279. if (spA4.unk2 >= 0xa)
  1280. {
  1281. goto loop_288;
  1282. }
  1283. }
  1284. spB4 = (u16)0;
  1285. spB6 = (u16)0;
  1286. loop_290:
  1287. if (spB6 != 1)
  1288. {
  1289. if ((sp + (spB6 * 2))->unkA4 != 0)
  1290. {
  1291. block_292:
  1292. spB4 = (u16)1;
  1293. }
  1294. }
  1295. else
  1296. {
  1297. goto block_292;
  1298. }
  1299. if (spB4 != 0)
  1300. {
  1301. func_8014D130(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, &sp98, &sp90, spBA);
  1302. spBA = (s16) (spBA + 1);
  1303. }
  1304. temp_t6_7 = spB6 + 1;
  1305. spB6 = temp_t6_7;
  1306. if (((s32) (temp_t6_7 << 0x10) >> 0x10) < 2)
  1307. {
  1308. goto loop_290;
  1309. }
  1310. func_800F6A40(arg0, 0x8e9e, sp98);
  1311. sp98 = (s32) (sp98 + 0x80);
  1312. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16)0x8e9e;
  1313. spBA = (s16) (spBA + 1);
  1314. func_800F6A40(arg0, 0x8ad4, sp98);
  1315. sp98 = (s32) (sp98 + 0x80);
  1316. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16)0x8e9e;
  1317. sp90 = (f32) (sp90 + (2.0f * (16.0f * *(&D_00012094 + spC4))));
  1318. goto block_459;
  1319. }
  1320. else
  1321. {
  1322. if (sp9E == 0x238)
  1323. {
  1324. func_8014D778(arg0, sp9E, &sp98, &sp90, &spBA);
  1325. }
  1326. else
  1327. {
  1328. if (sp9E != 0x300)
  1329. {
  1330. if (sp9E != 0x301)
  1331. {
  1332. if (sp9E != 0x302)
  1333. {
  1334. if (sp9E == 0x308)
  1335. {
  1336. block_303:
  1337. if (sp9E == 0x308)
  1338. {
  1339. spA0 = (s16) D_801EF460.unkEE8;
  1340. }
  1341. else
  1342. {
  1343. spA0 = (s16) *(&D_801EF73C + (sp9E * 4));
  1344. }
  1345. if (sp9E == 0x302)
  1346. {
  1347. if (D_801EF467 != 0)
  1348. {
  1349. phi_s2_2 = 5;
  1350. }
  1351. else
  1352. {
  1353. phi_s2_2 = 0x11;
  1354. }
  1355. if (phi_s2_2 == 5)
  1356. {
  1357. spA0 = (s16) (spA0 & 0x7f);
  1358. }
  1359. else
  1360. {
  1361. temp_t5_3 = (u32) ((0x801f0000 + (*(&D_00011880 + (spC0 + (*(&D_00011FEC + spC4) * 2))) * 4))->unk33C & 0xff000000) >> 0x18;
  1362. spA0 = temp_t5_3;
  1363. spA0 = (s16) (temp_t5_3 & 0x7f);
  1364. }
  1365. }
  1366. spA4.unk4 = (u16)0;
  1367. spA4.unk2 = (s16) spA4.unk4;
  1368. spA4.unk0 = (s16) spA4.unk4;
  1369. spA4.unk6 = spA0;
  1370. if (spA4.unk6 >= 0x3e8)
  1371. {
  1372. loop_314:
  1373. spA4.unk0 = (s16) (spA4.unk0 + 1);
  1374. spA4.unk6 = (s16) (spA4.unk6 - 0x3e8);
  1375. if (spA4.unk6 >= 0x3e8)
  1376. {
  1377. goto loop_314;
  1378. }
  1379. }
  1380. if (spA4.unk6 >= 0x64)
  1381. {
  1382. loop_316:
  1383. spA4.unk2 = (s16) (spA4.unk2 + 1);
  1384. spA4.unk6 = (s16) (spA4.unk6 - 0x64);
  1385. if (spA4.unk6 >= 0x64)
  1386. {
  1387. goto loop_316;
  1388. }
  1389. }
  1390. if (spA4.unk6 >= 0xa)
  1391. {
  1392. loop_318:
  1393. spA4.unk4 = (s16) (spA4.unk4 + 1);
  1394. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  1395. if (spA4.unk6 >= 0xa)
  1396. {
  1397. goto loop_318;
  1398. }
  1399. }
  1400. spB4 = (u16)0;
  1401. spB6 = (u16)0;
  1402. loop_320:
  1403. if (spB6 != 3)
  1404. {
  1405. if ((sp + (spB6 * 2))->unkA4 != 0)
  1406. {
  1407. block_322:
  1408. spB4 = (u16)1;
  1409. }
  1410. }
  1411. else
  1412. {
  1413. goto block_322;
  1414. }
  1415. if (spB4 != 0)
  1416. {
  1417. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  1418. sp98 = (s32) (sp98 + 0x80);
  1419. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  1420. spBA = (s16) (spBA + 1);
  1421. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  1422. }
  1423. temp_t1_4 = spB6 + 1;
  1424. spB6 = temp_t1_4;
  1425. if (((s32) (temp_t1_4 << 0x10) >> 0x10) < 4)
  1426. {
  1427. goto loop_320;
  1428. }
  1429. spBA = (s16) (spBA - 1);
  1430. goto block_459;
  1431. }
  1432. else
  1433. {
  1434. if (sp9E != 0x307)
  1435. {
  1436. if (sp9E != 0x309)
  1437. {
  1438. if (sp9E != 0x30a)
  1439. {
  1440. if (sp9E != 0x30b)
  1441. {
  1442. if (sp9E == 0x30c)
  1443. {
  1444. block_332:
  1445. if (sp9E == 0x307)
  1446. {
  1447. func_8014D30C(0, D_801EF460.unkEE0, &sp7C);
  1448. }
  1449. else
  1450. {
  1451. if (sp9E == 0x309)
  1452. {
  1453. func_8014D30C(0, D_801EF460.unkEEC, &sp7C);
  1454. }
  1455. else
  1456. {
  1457. func_8014D30C(0, *(&D_801EF6A4 + (sp9E * 4)), &sp7C);
  1458. }
  1459. }
  1460. spB4 = (u16)0;
  1461. spB6 = (u16)0;
  1462. sp8C = (f32) 8.0f;
  1463. loop_338:
  1464. if (spB6 != 4)
  1465. {
  1466. if (spB6 != 2)
  1467. {
  1468. if (spB6 != 5)
  1469. {
  1470. if ((sp + (spB6 * 2))->unk7C != 0)
  1471. {
  1472. block_342:
  1473. spB4 = (u16)1;
  1474. }
  1475. }
  1476. }
  1477. }
  1478. else
  1479. {
  1480. goto block_342;
  1481. }
  1482. if (spB4 != 0)
  1483. {
  1484. func_800F6A40(arg0, (sp + (spB6 * 2))->unk7C + 0x824f, sp98);
  1485. sp98 = (s32) (sp98 + 0x80);
  1486. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unk7C + 0x824f);
  1487. spBA = (s16) (spBA + 1);
  1488. }
  1489. else
  1490. {
  1491. sp8C = (f32) (sp8C - 1.0f);
  1492. }
  1493. temp_t5_4 = spB6 + 1;
  1494. spB6 = temp_t5_4;
  1495. if (((s32) (temp_t5_4 << 0x10) >> 0x10) < 8)
  1496. {
  1497. goto loop_338;
  1498. }
  1499. spBA = (s16) (spBA - 1);
  1500. sp90 = (f32) (sp90 + (sp8C * (16.0f * *(&D_00012094 + spC4))));
  1501. goto block_459;
  1502. }
  1503. else
  1504. {
  1505. if (sp9E != 0x303)
  1506. {
  1507. if (sp9E != 0x304)
  1508. {
  1509. if (sp9E == 0x305)
  1510. {
  1511. block_351:
  1512. spA0 = (s16) *(&D_801EF73C + (sp9E * 4));
  1513. spA4.unk4 = (u16)0;
  1514. spA4.unk2 = (s16) spA4.unk4;
  1515. spA4.unk0 = (s16) spA4.unk4;
  1516. spA4.unk6 = spA0;
  1517. if (spA4.unk6 >= 0x3c)
  1518. {
  1519. loop_352:
  1520. spA4.unk2 = (s16) (spA4.unk2 + 1);
  1521. if (spA4.unk2 >= 0xa)
  1522. {
  1523. spA4.unk0 = (s16) (spA4.unk0 + 1);
  1524. spA4.unk2 = (s16) (spA4.unk2 - 0xa);
  1525. }
  1526. spA4.unk6 = (s16) (spA4.unk6 - 0x3c);
  1527. if (spA4.unk6 >= 0x3c)
  1528. {
  1529. goto loop_352;
  1530. }
  1531. }
  1532. if (spA4.unk6 >= 0xa)
  1533. {
  1534. loop_356:
  1535. spA4.unk4 = (s16) (spA4.unk4 + 1);
  1536. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  1537. if (spA4.unk6 >= 0xa)
  1538. {
  1539. goto loop_356;
  1540. }
  1541. }
  1542. spB6 = (u16)0;
  1543. loop_358:
  1544. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  1545. sp98 = (s32) (sp98 + 0x80);
  1546. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  1547. spBA = (s16) (spBA + 1);
  1548. if (spB6 == 1)
  1549. {
  1550. func_800F6A40(arg0, 0x95aa, sp98);
  1551. sp98 = (s32) (sp98 + 0x80);
  1552. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16)0x95aa;
  1553. spBA = (s16) (spBA + 1);
  1554. }
  1555. else
  1556. {
  1557. if (spB6 == 3)
  1558. {
  1559. func_800F6A40(arg0, 0x9562, sp98);
  1560. sp98 = (s32) (sp98 + 0x80);
  1561. *(&D_00011F24 + (spC4 + (spBA * 2))) = (u16)0x9562;
  1562. }
  1563. }
  1564. temp_t6_8 = spB6 + 1;
  1565. spB6 = temp_t6_8;
  1566. if (((s32) (temp_t6_8 << 0x10) >> 0x10) < 4)
  1567. {
  1568. goto loop_358;
  1569. }
  1570. sp90 = (f32) (sp90 + (4.0f * (16.0f * *(&D_00012094 + spC4))));
  1571. goto block_459;
  1572. }
  1573. else
  1574. {
  1575. if (sp9E == 0x306)
  1576. {
  1577. spA4.unk4 = (u16)0;
  1578. spA4.unk2 = (s16) spA4.unk4;
  1579. spA4.unk0 = (s16) spA4.unk4;
  1580. spA4.unk6 = (s16) D_801EF460.unkEF4;
  1581. if (spA4.unk6 >= 0x3e8)
  1582. {
  1583. loop_366:
  1584. spA4.unk0 = (s16) (spA4.unk0 + 1);
  1585. spA4.unk6 = (s16) (spA4.unk6 - 0x3e8);
  1586. if (spA4.unk6 >= 0x3e8)
  1587. {
  1588. goto loop_366;
  1589. }
  1590. }
  1591. if (spA4.unk6 >= 0x64)
  1592. {
  1593. loop_368:
  1594. spA4.unk2 = (s16) (spA4.unk2 + 1);
  1595. spA4.unk6 = (s16) (spA4.unk6 - 0x64);
  1596. if (spA4.unk6 >= 0x64)
  1597. {
  1598. goto loop_368;
  1599. }
  1600. }
  1601. if (spA4.unk6 >= 0xa)
  1602. {
  1603. loop_370:
  1604. spA4.unk4 = (s16) (spA4.unk4 + 1);
  1605. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  1606. if (spA4.unk6 >= 0xa)
  1607. {
  1608. goto loop_370;
  1609. }
  1610. }
  1611. spB4 = (u16)0;
  1612. spB6 = (u16)0;
  1613. loop_372:
  1614. if (spB6 != 3)
  1615. {
  1616. if ((sp + (spB6 * 2))->unkA4 != 0)
  1617. {
  1618. block_374:
  1619. spB4 = (u16)1;
  1620. }
  1621. }
  1622. else
  1623. {
  1624. goto block_374;
  1625. }
  1626. if (spB4 != 0)
  1627. {
  1628. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  1629. sp98 = (s32) (sp98 + 0x80);
  1630. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  1631. spBA = (s16) (spBA + 1);
  1632. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  1633. }
  1634. temp_t1_5 = spB6 + 1;
  1635. spB6 = temp_t1_5;
  1636. if (((s32) (temp_t1_5 << 0x10) >> 0x10) < 4)
  1637. {
  1638. goto loop_372;
  1639. }
  1640. func_8014D130(arg0, 0x9543, &sp98, &sp90, spBA);
  1641. }
  1642. else
  1643. {
  1644. if (sp9E != 0x30d)
  1645. {
  1646. if (sp9E != 0x30e)
  1647. {
  1648. if (sp9E == 0x30f)
  1649. {
  1650. block_382:
  1651. spB8 = (u16)8;
  1652. spB4 = (s16) (sp9E - 0x30d);
  1653. loop_383:
  1654. if (*(&D_801EF53D + ((spB4 * 8) + spB8)) == 0xdf)
  1655. {
  1656. temp_t0_7 = spB8 - 1;
  1657. spB8 = temp_t0_7;
  1658. if (((s32) (temp_t0_7 << 0x10) >> 0x10) > 0)
  1659. {
  1660. goto loop_383;
  1661. }
  1662. }
  1663. spB6 = (u16)0;
  1664. if (spB8 > 0)
  1665. {
  1666. loop_386:
  1667. temp_t8_7 = &D_801EF53E + ((spB4 * 8) + spB6);
  1668. sp9E = (u16) *temp_t8_7;
  1669. *(&D_00011F24 + (spC4 + ((spBA + spB6) * 2))) = (u16)0x30d;
  1670. spB2 = (u16)0;
  1671. sp94 = (s32) ((spC0 + (*temp_t8_7 << 7)) + 0x7880);
  1672. loop_387:
  1673. *((spC0 + (*(&D_00011D88 + spC0) * 0x3c00)) + (sp98 + spB2)) = (u8) *(spB2 + sp94);
  1674. ((spC0 + (*(&D_00011D88 + spC0) * 0x3c00)) + (sp98 + spB2))->unk1 = (u8) (spB2 + sp94)->unk1;
  1675. ((spC0 + (*(&D_00011D88 + spC0) * 0x3c00)) + (sp98 + spB2))->unk2 = (u8) (spB2 + sp94)->unk2;
  1676. ((spC0 + (*(&D_00011D88 + spC0) * 0x3c00)) + (sp98 + spB2))->unk3 = (u8) (spB2 + sp94)->unk3;
  1677. temp_t4_7 = spB2 + 4;
  1678. spB2 = temp_t4_7;
  1679. if (((s32) (temp_t4_7 << 0x10) >> 0x10) < 0x80)
  1680. {
  1681. goto loop_387;
  1682. }
  1683. temp_t7_6 = spB6 + 1;
  1684. temp_at_8 = ((s32) (temp_t7_6 << 0x10) >> 0x10) < spB8;
  1685. spB6 = temp_t7_6;
  1686. sp98 = (s32) (sp98 + 0x80);
  1687. if (temp_at_8 != 0)
  1688. {
  1689. goto loop_386;
  1690. }
  1691. }
  1692. spBA = (s16) ((spBA + spB8) - 1);
  1693. sp90 = (f32) (sp90 + ((f32) spB8 * (16.0f * *(&D_00012094 + spC4))));
  1694. goto block_459;
  1695. }
  1696. else
  1697. {
  1698. if (sp9E == 0x310)
  1699. {
  1700. spA4.unk4 = (u16)0;
  1701. spA4.unk2 = (s16) spA4.unk4;
  1702. spA4.unk0 = (s16) spA4.unk4;
  1703. spA4.unk6 = (s16) ((u32) (D_801EF460.unkEE8 & 0xffff0000) >> 0x10);
  1704. if (spA4.unk6 >= 0x3e8)
  1705. {
  1706. loop_392:
  1707. spA4.unk0 = (s16) (spA4.unk0 + 1);
  1708. spA4.unk6 = (s16) (spA4.unk6 - 0x3e8);
  1709. if (spA4.unk6 >= 0x3e8)
  1710. {
  1711. goto loop_392;
  1712. }
  1713. }
  1714. if (spA4.unk6 >= 0x64)
  1715. {
  1716. loop_394:
  1717. spA4.unk2 = (s16) (spA4.unk2 + 1);
  1718. spA4.unk6 = (s16) (spA4.unk6 - 0x64);
  1719. if (spA4.unk6 >= 0x64)
  1720. {
  1721. goto loop_394;
  1722. }
  1723. }
  1724. if (spA4.unk6 >= 0xa)
  1725. {
  1726. loop_396:
  1727. spA4.unk4 = (s16) (spA4.unk4 + 1);
  1728. spA4.unk6 = (s16) (spA4.unk6 - 0xa);
  1729. if (spA4.unk6 >= 0xa)
  1730. {
  1731. goto loop_396;
  1732. }
  1733. }
  1734. spB4 = (u16)0;
  1735. spB6 = (u16)0;
  1736. loop_398:
  1737. if (spB6 != 3)
  1738. {
  1739. if ((sp + (spB6 * 2))->unkA4 != 0)
  1740. {
  1741. block_400:
  1742. spB4 = (u16)1;
  1743. }
  1744. }
  1745. else
  1746. {
  1747. goto block_400;
  1748. }
  1749. if (spB4 != 0)
  1750. {
  1751. func_800F6A40(arg0, (sp + (spB6 * 2))->unkA4 + 0x824f, sp98);
  1752. sp98 = (s32) (sp98 + 0x80);
  1753. *(&D_00011F24 + (spC4 + (spBA * 2))) = (s16) ((sp + (spB6 * 2))->unkA4 + 0x824f);
  1754. spBA = (s16) (spBA + 1);
  1755. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  1756. }
  1757. temp_t8_8 = spB6 + 1;
  1758. spB6 = temp_t8_8;
  1759. if (((s32) (temp_t8_8 << 0x10) >> 0x10) < 4)
  1760. {
  1761. goto loop_398;
  1762. }
  1763. func_8014D130(arg0, 0x94ad, &sp98, &sp90, spBA);
  1764. }
  1765. else
  1766. {
  1767. if (sp9E == 0x1f)
  1768. {
  1769. spBA = (s16) (spBA - 1);
  1770. spB6 = (u16)0;
  1771. if (*(&D_00011882 + (spC0 + (*(&D_00011FEC + spC4) * 2))) > 0)
  1772. {
  1773. loop_407:
  1774. temp_s0_2 = (s32) ((spBA + 1) << 0x10) >> 0x10;
  1775. temp_at_9 = 0x10000 + (spC4 + (temp_s0_2 * 2));
  1776. spBA = temp_s0_2;
  1777. temp_at_9->unk1F24 = (u16)0x20;
  1778. temp_t1_6 = spB6 + 1;
  1779. spB6 = temp_t1_6;
  1780. sp90 = (f32) (sp90 + 6.0f);
  1781. if (((s32) (temp_t1_6 << 0x10) >> 0x10) < *(&D_00011882 + (spC0 + (*(&D_00011FEC + spC4) * 2))))
  1782. {
  1783. goto loop_407;
  1784. }
  1785. }
  1786. *(&D_00011FEC + spC4) = (s16) (*(&D_00011FEC + spC4) + 1);
  1787. goto block_459;
  1788. }
  1789. else
  1790. {
  1791. if (sp9E != 0xc)
  1792. {
  1793. if (sp9E == 0xa)
  1794. {
  1795. block_411:
  1796. *(&D_00011F1A + (spC4 + (spA2 * 2))) = (u16)0;
  1797. if (*(&D_00011F18 + spC4) == 0)
  1798. {
  1799. (0x10000 + (spC4 + (spA2 * 2)))->unk1F1A = (s32) ((((*(&D_00012094 + spC4) * 16.0f) * 16.0f) - sp90) / 2.0f);
  1800. }
  1801. spA2 = (s16) (spA2 + 1);
  1802. sp90 = 0.0f;
  1803. if (sp9E == 0xa)
  1804. {
  1805. spB0 = (s16) (spB0 + 1);
  1806. }
  1807. goto block_459;
  1808. }
  1809. else
  1810. {
  1811. if (sp9E != 0x101)
  1812. {
  1813. if (sp9E != 0x102)
  1814. {
  1815. if (sp9E != 0x104)
  1816. {
  1817. if (sp9E >= 0x130)
  1818. {
  1819. if (sp9E >= 0x137)
  1820. {
  1821. block_420:
  1822. if (sp9E == 0x111)
  1823. {
  1824. *(&D_00012098 + spC4) = (u16)1;
  1825. temp_t2_3 = spBA + 1;
  1826. sp50 = temp_t2_3;
  1827. spBA = temp_t2_3;
  1828. temp_s0_3 = (*(&D_00011FEC + spC4) + 1) & 0xffff;
  1829. *(&D_00011FEC + spC4) = temp_s0_3;
  1830. *(&D_00011F24 + (spC4 + (sp50 * 2))) = (s16) (*(&D_00011880 + (spC0 + (temp_s0_3 * 2))) & 0xff);
  1831. goto block_459;
  1832. }
  1833. else
  1834. {
  1835. if (sp9E == 0x120)
  1836. {
  1837. temp_t9_5 = spBA + 1;
  1838. sp50 = temp_t9_5;
  1839. spBA = temp_t9_5;
  1840. temp_s0_4 = (*(&D_00011FEC + spC4) + 1) & 0xffff;
  1841. *(&D_00011FEC + spC4) = temp_s0_4;
  1842. *(&D_00011F24 + (spC4 + (sp50 * 2))) = (u16) *(&D_00011880 + (spC0 + (temp_s0_4 * 2)));
  1843. if (*(&D_00012090 + spC4) == 0)
  1844. {
  1845. temp_t3_7 = &D_00011F0A + spC4;
  1846. if (*temp_t3_7 != 1)
  1847. {
  1848. if (*temp_t3_7 != 3)
  1849. {
  1850. if (*temp_t3_7 != 6)
  1851. {
  1852. if (*temp_t3_7 != 8)
  1853. {
  1854. if (*temp_t3_7 != 9)
  1855. {
  1856. if (*temp_t3_7 != 0xb)
  1857. {
  1858. if (*(&D_00011F0C + spC4) == 3)
  1859. {
  1860. block_431:
  1861. func_8019A0FC(*(&D_00011F24 + (spC4 + (spBA * 2))));
  1862. }
  1863. else
  1864. {
  1865. goto block_459;
  1866. }
  1867. }
  1868. else
  1869. {
  1870. goto block_431;
  1871. }
  1872. }
  1873. else
  1874. {
  1875. goto block_431;
  1876. }
  1877. }
  1878. else
  1879. {
  1880. goto block_431;
  1881. }
  1882. }
  1883. else
  1884. {
  1885. goto block_431;
  1886. }
  1887. }
  1888. else
  1889. {
  1890. goto block_431;
  1891. }
  1892. }
  1893. else
  1894. {
  1895. goto block_431;
  1896. }
  1897. }
  1898. else
  1899. {
  1900. goto block_431;
  1901. }
  1902. }
  1903. else
  1904. {
  1905. if (sp9E == 0x128)
  1906. {
  1907. temp_t9_6 = spBA + 1;
  1908. sp50 = temp_t9_6;
  1909. spBA = temp_t9_6;
  1910. temp_s0_5 = (*(&D_00011FEC + spC4) + 1) & 0xffff;
  1911. *(&D_00011FEC + spC4) = temp_s0_5;
  1912. *(&D_00011F24 + (spC4 + (sp50 * 2))) = (u16) *(&D_00011880 + (spC0 + (temp_s0_5 * 2)));
  1913. }
  1914. else
  1915. {
  1916. if (sp9E != 0x20)
  1917. {
  1918. if (sp9E >= 0x2000)
  1919. {
  1920. if (sp9E >= 0x2009)
  1921. {
  1922. block_437:
  1923. func_800F6A40(arg0, sp9E, sp98);
  1924. sp98 = (s32) (sp98 + 0x80);
  1925. if (sp9E != 0x8169)
  1926. {
  1927. if (sp9E == 0x8175)
  1928. {
  1929. block_439:
  1930. sp90 = (f32) (sp90 + (10.0f * *(&D_00012094 + spC4)));
  1931. }
  1932. else
  1933. {
  1934. if (sp9E == 0x8145)
  1935. {
  1936. sp90 = (f32) (sp90 + (12.0f * *(&D_00012094 + spC4)));
  1937. }
  1938. else
  1939. {
  1940. if (sp9E != 0x8148)
  1941. {
  1942. if (sp9E == 0x8149)
  1943. {
  1944. block_444:
  1945. sp90 = (f32) (sp90 + (14.0f * *(&D_00012094 + spC4)));
  1946. }
  1947. else
  1948. {
  1949. if (sp9E == 0x8144)
  1950. {
  1951. sp90 = (f32) (sp90 + (8.0f * *(&D_00012094 + spC4)));
  1952. }
  1953. else
  1954. {
  1955. if (sp9E != 0x816a)
  1956. {
  1957. if (sp9E == 0x8176)
  1958. {
  1959. block_449:
  1960. sp90 = (f32) (sp90 + (10.0f * *(&D_00012094 + spC4)));
  1961. }
  1962. else
  1963. {
  1964. if (sp9E != 0x8141)
  1965. {
  1966. if (sp9E != 0x8142)
  1967. {
  1968. if (sp9E == 0x8168)
  1969. {
  1970. block_453:
  1971. sp90 = (f32) (sp90 + (12.0f * *(&D_00012094 + spC4)));
  1972. }
  1973. else
  1974. {
  1975. if (sp9E == 0x8194)
  1976. {
  1977. sp90 = (f32) (sp90 + (14.0f * *(&D_00012094 + spC4)));
  1978. }
  1979. else
  1980. {
  1981. sp90 = (f32) (sp90 + (16.0f * *(&D_00012094 + spC4)));
  1982. }
  1983. }
  1984. }
  1985. else
  1986. {
  1987. goto block_453;
  1988. }
  1989. }
  1990. else
  1991. {
  1992. goto block_453;
  1993. }
  1994. }
  1995. }
  1996. else
  1997. {
  1998. goto block_449;
  1999. }
  2000. }
  2001. }
  2002. }
  2003. else
  2004. {
  2005. goto block_444;
  2006. }
  2007. }
  2008. }
  2009. }
  2010. else
  2011. {
  2012. goto block_439;
  2013. }
  2014. }
  2015. else
  2016. {
  2017. block_457:
  2018. if (sp9E == 0x20)
  2019. {
  2020. sp90 = (f32) (sp90 + 6.0f);
  2021. }
  2022. }
  2023. }
  2024. else
  2025. {
  2026. goto block_437;
  2027. }
  2028. }
  2029. else
  2030. {
  2031. goto block_457;
  2032. }
  2033. }
  2034. goto block_459;
  2035. }
  2036. }
  2037. }
  2038. else
  2039. {
  2040. goto block_459;
  2041. }
  2042. }
  2043. else
  2044. {
  2045. goto block_420;
  2046. }
  2047. }
  2048. else
  2049. {
  2050. goto block_459;
  2051. }
  2052. }
  2053. else
  2054. {
  2055. goto block_459;
  2056. }
  2057. }
  2058. else
  2059. {
  2060. goto block_459;
  2061. }
  2062. }
  2063. }
  2064. else
  2065. {
  2066. goto block_411;
  2067. }
  2068. }
  2069. }
  2070. }
  2071. }
  2072. else
  2073. {
  2074. goto block_382;
  2075. }
  2076. }
  2077. else
  2078. {
  2079. goto block_382;
  2080. }
  2081. }
  2082. }
  2083. }
  2084. else
  2085. {
  2086. goto block_351;
  2087. }
  2088. }
  2089. else
  2090. {
  2091. goto block_351;
  2092. }
  2093. }
  2094. }
  2095. else
  2096. {
  2097. goto block_332;
  2098. }
  2099. }
  2100. else
  2101. {
  2102. goto block_332;
  2103. }
  2104. }
  2105. else
  2106. {
  2107. goto block_332;
  2108. }
  2109. }
  2110. else
  2111. {
  2112. goto block_332;
  2113. }
  2114. }
  2115. }
  2116. else
  2117. {
  2118. goto block_303;
  2119. }
  2120. }
  2121. else
  2122. {
  2123. goto block_303;
  2124. }
  2125. }
  2126. else
  2127. {
  2128. goto block_303;
  2129. }
  2130. }
  2131. }
  2132. }
  2133. }
  2134. else
  2135. {
  2136. goto block_286;
  2137. }
  2138. }
  2139. }
  2140. }
  2141. }
  2142. else
  2143. {
  2144. goto block_252;
  2145. }
  2146. }
  2147. }
  2148. }
  2149. else
  2150. {
  2151. goto block_235;
  2152. }
  2153. }
  2154. }
  2155. }
  2156. }
  2157. }
  2158. }
  2159. }
  2160. }
  2161. }
  2162. }
  2163. }
  2164. }
  2165. }
  2166. }
  2167. }
  2168. }
  2169. }
  2170. }
  2171. else
  2172. {
  2173. goto block_73;
  2174. }
  2175. }
  2176. else
  2177. {
  2178. goto block_73;
  2179. }
  2180. }
  2181. else
  2182. {
  2183. goto block_73;
  2184. }
  2185. }
  2186. else
  2187. {
  2188. goto block_73;
  2189. }
  2190. }
  2191. }
  2192. }
  2193. }
  2194. }
  2195. spBA = (s16) (spBA + 1);
  2196. *(&D_00011FEC + spC4) = (s16) (*(&D_00011FEC + spC4) + 1);
  2197. goto loop_3;
  2198. }
  2199. }
  2200. }
  2201. }
  2202. }
  2203. }
  2204. }
  2205. }
  2206. }
  2207. }
  2208. *(&D_00011F22 + spC4) = (u8)6;
  2209. *(&D_00011FEE + spC4) = (u16)1;
  2210. *(&D_00011FFA + spC4) = (s16) (*(&D_0001206A + spC4) + 6);
  2211. *(&D_00011F1A + (spC4 + (spA2 * 2))) = (u16)0;
  2212. if ((0x10000 + spC4)->unk1F18 == 0)
  2213. {
  2214. temp_t5_5 = (s32) ((s32) (((*(&D_00012094 + spC4) * 16.0f) * 16.0f) - sp90) << 0x10) >> 0x10;
  2215. phi_t8 = (s16) (temp_t5_5 >> 1);
  2216. if (temp_t5_5 < 0)
  2217. {
  2218. phi_t8 = (s16) ((s32) (temp_t5_5 + 1) >> 1);
  2219. }
  2220. *(&D_00011F1A + (spC4 + (spA2 * 2))) = (s16) phi_t8;
  2221. }
  2222. sp90 = 0.0f;
  2223. if (sp9E == 0xb)
  2224. {
  2225. temp_t7_7 = &D_00011F0A + spC4;
  2226. if (*temp_t7_7 != 3)
  2227. {
  2228. if (*temp_t7_7 != 4)
  2229. {
  2230. if (spB0 < 2)
  2231. {
  2232. *(&D_00011FFA + spC4) = (s16) (*(&D_0001206A + spC4) + 0x16);
  2233. }
  2234. else
  2235. {
  2236. if (spB0 == 2)
  2237. {
  2238. *(&D_00011FFA + spC4) = (s16) (*(&D_0001206A + spC4) + 0xe);
  2239. }
  2240. }
  2241. }
  2242. }
  2243. }
  2244. else
  2245. {
  2246. temp_t7_8 = &D_00011F0A + spC4;
  2247. if (*temp_t7_8 != 3)
  2248. {
  2249. if (*temp_t7_8 != 4)
  2250. {
  2251. if (spB0 == 0)
  2252. {
  2253. *(&D_00011FFA + spC4) = (s16) (*(&D_0001206A + spC4) + 0x16);
  2254. }
  2255. else
  2256. {
  2257. if (spB0 == 1)
  2258. {
  2259. *(&D_00011FFA + spC4) = (s16) (*(&D_0001206A + spC4) + 0xe);
  2260. }
  2261. }
  2262. }
  2263. }
  2264. }
  2265. if (sp9E != 0x110)
  2266. {
  2267. if (sp9E != 0x111)
  2268. {
  2269. if (sp9E == 0x112)
  2270. {
  2271. block_33:
  2272. temp_s0_6 = (s32) ((spBA + 1) << 0x10) >> 0x10;
  2273. spBA = temp_s0_6;
  2274. *(&D_00011F24 + (spC4 + (temp_s0_6 * 2))) = (u16) *(&D_00011882 + (spC0 + (*(&D_00011FEC + spC4) * 2)));
  2275. *(&D_00011FEC + spC4) = (s16) (*(&D_00011FEC + spC4) + 2);
  2276. }
  2277. }
  2278. else
  2279. {
  2280. goto block_33;
  2281. }
  2282. }
  2283. else
  2284. {
  2285. goto block_33;
  2286. }
  2287. *(&D_00011FF0 + spC4) = spBA;
  2288. if (*(&D_00012090 + spC4) == 0)
  2289. {
  2290. temp_t8_9 = &D_00011F0A + spC4;
  2291. if (*temp_t8_9 != 1)
  2292. {
  2293. if (*temp_t8_9 != 3)
  2294. {
  2295. if (*temp_t8_9 != 6)
  2296. {
  2297. if (*temp_t8_9 != 8)
  2298. {
  2299. if (*temp_t8_9 != 9)
  2300. {
  2301. if (*temp_t8_9 != 0xb)
  2302. {
  2303. if (*(&D_00011F0C + spC4) == 3)
  2304. {
  2305. block_42:
  2306. *(&D_00011FEE + spC4) = (u16) *(&D_00011FF0 + spC4);
  2307. }
  2308. }
  2309. else
  2310. {
  2311. goto block_42;
  2312. }
  2313. }
  2314. else
  2315. {
  2316. goto block_42;
  2317. }
  2318. }
  2319. else
  2320. {
  2321. goto block_42;
  2322. }
  2323. }
  2324. else
  2325. {
  2326. goto block_42;
  2327. }
  2328. }
  2329. else
  2330. {
  2331. goto block_42;
  2332. }
  2333. }
  2334. else
  2335. {
  2336. goto block_42;
  2337. }
  2338. }
  2339. else
  2340. {
  2341. goto block_42;
  2342. }
  2343. D_801C1900 = (s16) D_801C190C;
  2344. D_801C1904 = (s16) D_801C1910;
  2345. D_801C1908 = (s16) D_801C1914;
  2346. return;
  2347. }
  2348. }
  2349. func_8015B370(arg0);
  2350. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement