|
1 |
| -#include "global.h" |
| 1 | +#include "fragment13.h" |
| 2 | +#include "src/12D80.h" |
| 3 | +#include "src/17300.h" |
| 4 | +#include "src/18140.h" |
| 5 | +#include "src/18480.h" |
| 6 | +#include "src/19840.h" |
| 7 | +#include "src/1C720.h" |
| 8 | +#include "src/1CF30.h" |
| 9 | +#include "src/20330.h" |
| 10 | +#include "src/20470.h" |
| 11 | +#include "src/3FB0.h" |
| 12 | +#include "src/6A40.h" |
| 13 | +#include "src/6BC0.h" |
| 14 | +#include "src/F420.h" |
| 15 | +#include "src/controller.h" |
| 16 | +#include "src/memory.h" |
| 17 | +#include "src/stage_loader.h" |
2 | 18 |
|
3 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_86700020.s") |
| 19 | +static u32 D_86700840[] = { |
| 20 | + 0x0C00FFFF, 0x05000000, 0x0B00001E, 0x00000000, 0x014000F0, 0x0000000F, 0x00000000, 0x00000000, |
| 21 | + 0x05000000, 0x0D000000, 0x05000000, 0x0F000002, 0x05000000, 0x1F00FFFF, 0x00000000, 0x00000000, |
| 22 | + 0x00000000, 0x00640064, 0x00640000, 0x05000000, 0x00000000, 0x8D000020, 0x06000000, 0x06000000, |
| 23 | + 0x14000000, 0x002B0012, 0xFFFFFF32, 0x16FFFFFF, 0x0F000003, 0x05000000, 0x0A000000, 0x800AC840, |
| 24 | + 0x06000000, 0x06000000, 0x06000000, 0x06000000, 0x01000000, |
| 25 | +}; |
4 | 26 |
|
5 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_86700050.s") |
| 27 | +static unk_D_86002F30* D_86700930; |
| 28 | +static unk_D_86002F34_000* D_86700934; |
| 29 | +static unk_D_86002F34_00C* D_86700938; |
| 30 | +static unk_D_86002F58_004_000 D_86700940; |
6 | 31 |
|
7 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_867000FC.s") |
| 32 | +static s16 D_86700AA8; |
| 33 | +static s16 D_86700AAA; |
| 34 | +static s16 D_86700AAC; |
8 | 35 |
|
9 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_86700254.s") |
| 36 | +void func_86700020(void) { |
| 37 | + Cont_StartReadInputs(); |
| 38 | + Cont_ReadInputs(); |
| 39 | + func_8001F730(); |
| 40 | +} |
10 | 41 |
|
11 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_86700428.s") |
| 42 | +void func_86700050(void) { |
| 43 | + D_86700938 = D_86700934->unk_0C; |
| 44 | + D_86700AA8 = 0x100; |
| 45 | + D_86700AAA = 0; |
| 46 | + D_86700AAC = 0x78; |
12 | 47 |
|
13 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_8670047C.s") |
| 48 | + D_86700938->unk_24.near = 50.0f; |
| 49 | + D_86700938->unk_24.far = 6400.0f; |
| 50 | + func_80010354(&D_86700938->unk_60.at, &D_86700938->unk_60.eye, D_86700AAC, D_86700AA8, D_86700AAA); |
| 51 | +} |
14 | 52 |
|
15 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_867004E8.s") |
| 53 | +void func_867000FC(void) { |
| 54 | + if (gPlayer1Controller->buttonDown & 0x800) { |
| 55 | + D_86700AA8 += 256; |
| 56 | + } |
16 | 57 |
|
17 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_867005A8.s") |
| 58 | + if (gPlayer1Controller->buttonDown & 0x400) { |
| 59 | + D_86700AA8 -= 256; |
| 60 | + } |
18 | 61 |
|
19 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_86700648.s") |
| 62 | + if (gPlayer1Controller->buttonDown & 0x200) { |
| 63 | + D_86700AAA += 256; |
| 64 | + } |
20 | 65 |
|
21 |
| -#pragma GLOBAL_ASM("asm/us/nonmatchings/fragments/13/fragment13/func_867006FC.s") |
| 66 | + if (gPlayer1Controller->buttonDown & 0x100) { |
| 67 | + D_86700AAA -= 256; |
| 68 | + } |
| 69 | + |
| 70 | + if (gPlayer1Controller->buttonDown & 8) { |
| 71 | + D_86700AAC -= 10; |
| 72 | + } |
| 73 | + |
| 74 | + if (gPlayer1Controller->buttonDown & 4) { |
| 75 | + D_86700AAC += 10; |
| 76 | + } |
| 77 | + |
| 78 | + if (D_86700AA8 > 16128) { |
| 79 | + D_86700AA8 = 16128; |
| 80 | + } |
| 81 | + |
| 82 | + if (D_86700AA8 < 0) { |
| 83 | + D_86700AA8 = 0; |
| 84 | + } |
| 85 | + |
| 86 | + if (D_86700AAC < 50) { |
| 87 | + D_86700AAC = 50; |
| 88 | + } |
| 89 | + |
| 90 | + func_80010354(&D_86700938->unk_60.at, &D_86700938->unk_60.eye, D_86700AAC, D_86700AA8, D_86700AAA); |
| 91 | +} |
| 92 | + |
| 93 | +void func_86700254(s32 arg0) { |
| 94 | + Color_RGB8 sp2C = { 0, 0, 30 }; |
| 95 | + Color_RGB8 sp28 = { 0, 0, 250 }; |
| 96 | + |
| 97 | + func_8002053C(0xC8, 0xBE, 0x5A, 0x20, &sp2C, &sp28); |
| 98 | + func_80020460(0x1E, 0xBE, 0xA0, 0x20, 0x141); |
| 99 | + func_8001F3F4(); |
| 100 | + func_8001F470(); |
| 101 | + func_8001EBE0(4, -2); |
| 102 | + func_8001F324(0xFF, 0xFF, 0xFF, 0xFF); |
| 103 | + func_8001F36C(0x50, 0x50, 0xFF, 0xFF); |
| 104 | + func_8001F1E8(0x30, 0x14, "MINIGAME8 SAMPLE"); |
| 105 | + func_8001F4C4(); |
| 106 | + func_8001EBE0(2, -2); |
| 107 | + func_8001F324(0xFF, 0xC8, 0x32, 0xFF); |
| 108 | + |
| 109 | + switch (arg0) { |
| 110 | + case 0: |
| 111 | + func_8001F1E8(0xCD, 0xC2, "OPENNING"); |
| 112 | + break; |
| 113 | + |
| 114 | + case 1: |
| 115 | + func_8001F1E8(0xCD, 0xC2, "PLAYING"); |
| 116 | + break; |
| 117 | + |
| 118 | + case 2: |
| 119 | + func_8001F1E8(0xCD, 0xC2, "ENDING"); |
| 120 | + break; |
| 121 | + } |
| 122 | + |
| 123 | + if (arg0 == 1) { |
| 124 | + func_8001F324(0xFF, 0xFF, 0xFF, 0xFF); |
| 125 | + func_8001F1E8(0x23, 0xC2, "CAMERA D:%d", D_86700AAC); |
| 126 | + func_8001F1E8(0x23, 0xCE, "X:%04hX Y:%04hX", D_86700AA8, D_86700AAA); |
| 127 | + } |
| 128 | + |
| 129 | + func_8001F444(); |
| 130 | +} |
| 131 | + |
| 132 | +void func_86700428(s32 arg0) { |
| 133 | + func_800079C4(); |
| 134 | + func_8000699C(&gDisplayListHead, 0xA6BF); |
| 135 | + func_80015348(); |
| 136 | + func_80015094(D_86700934); |
| 137 | + func_86700254(arg0); |
| 138 | + func_80007778(); |
| 139 | +} |
| 140 | + |
| 141 | +void func_8670047C(void) { |
| 142 | + func_80006C6C(0x10); |
| 143 | + func_8001BD04(&D_86700940, 8); |
| 144 | + |
| 145 | + while (func_80017514(&D_86700940) == 0) { |
| 146 | + func_86700020(); |
| 147 | + func_86700428(0); |
| 148 | + } |
| 149 | +} |
| 150 | + |
| 151 | +void func_867004E8(void) { |
| 152 | + s32 var_s1 = 1; |
| 153 | + s32 var_s0 = 0; |
| 154 | + |
| 155 | + func_8001BD04(&D_86700940, 0); |
| 156 | + |
| 157 | + while (var_s1 != 0) { |
| 158 | + func_86700020(); |
| 159 | + func_867000FC(); |
| 160 | + |
| 161 | + var_s0++; |
| 162 | + |
| 163 | + if (gPlayer1Controller->buttonPressed & 0x1000) { |
| 164 | + var_s1 = 0; |
| 165 | + } |
| 166 | + |
| 167 | + if (var_s0 == 0x3C) { |
| 168 | + var_s0 = 0; |
| 169 | + func_80017788(&D_86700940); |
| 170 | + func_8001BD9C(&D_86700940, 0xA); |
| 171 | + } |
| 172 | + |
| 173 | + func_86700428(1); |
| 174 | + } |
| 175 | +} |
| 176 | + |
| 177 | +void func_867005A8(void) { |
| 178 | + s32 i; |
| 179 | + |
| 180 | + func_8001BD04(&D_86700940, 0xB); |
| 181 | + func_8001BD9C(&D_86700940, 0xB); |
| 182 | + |
| 183 | + while (func_80017514(&D_86700940) == 0) { |
| 184 | + func_86700020(); |
| 185 | + func_86700428(2); |
| 186 | + } |
| 187 | + |
| 188 | + func_80006CB4(0x1E); |
| 189 | + |
| 190 | + for (i = 0; i < 30; i++) { |
| 191 | + func_86700020(); |
| 192 | + func_86700428(2); |
| 193 | + } |
| 194 | +} |
| 195 | + |
| 196 | +void func_86700648(void) { |
| 197 | + MemoryBlock* sp1C = func_80002D10(main_pool_get_available(), 0); |
| 198 | + |
| 199 | + D_86700934 = func_80018B70(sp1C, &D_86700840); |
| 200 | + func_80002D60(sp1C); |
| 201 | + func_8001BB20(); |
| 202 | + func_8001BB58(&D_86700940); |
| 203 | + func_8001987C(); |
| 204 | + D_86700930 = func_80019D18(0x19); |
| 205 | + func_8001BC34(&D_86700940, 0, 0x19, D_86700930->unk_08->unk_00[0]); |
| 206 | + func_8001BD04(&D_86700940, 0); |
| 207 | + func_86700050(); |
| 208 | +} |
| 209 | + |
| 210 | +s32 func_867006FC(UNUSED s32 arg0, UNUSED s32 arg1) { |
| 211 | + unk_func_80007444* sp24; |
| 212 | + |
| 213 | + main_pool_push_state('MINI'); |
| 214 | + |
| 215 | + func_80005E40(0x10000, 0); |
| 216 | + sp24 = func_80007444(0, 1, 3, 1, 2, 1); |
| 217 | + func_8001E94C(6, 0); |
| 218 | + |
| 219 | + ASSET_LOAD(D_1000000, common_menu1_ui, 0); |
| 220 | + |
| 221 | + FRAGMENT_LOAD(fragment31); |
| 222 | + func_80004454((((u32)D_8D000000 & 0x0FF00000) >> 0x14) - 0x10, _5C7A70_ROM_START, pokedex_area_model_ROM_START); |
| 223 | + |
| 224 | + func_86700648(); |
| 225 | + func_80007678(sp24); |
| 226 | + func_8670047C(); |
| 227 | + func_867004E8(); |
| 228 | + func_867005A8(); |
| 229 | + func_800076C0(); |
| 230 | + func_8001E9CC(); |
| 231 | + func_80005EAC(); |
| 232 | + |
| 233 | + main_pool_pop_state('MINI'); |
| 234 | + |
| 235 | + return 0; |
| 236 | +} |
0 commit comments