diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-01-01 21:03:00 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-01-01 21:03:00 -0500 |
commit | 25a4ce0c32704beacba2addde906f56c7cb8c592 (patch) | |
tree | b0b9b53280422c9fe8b7966a4e1ea32fe78b6ee5 | |
parent | c96d7a085f00911275f95c51f4cea5be03dcbd3a (diff) |
Remaining functions in slot_machine
-rw-r--r-- | asm/slot_machine.s | 543 | ||||
-rw-r--r-- | ld_script.txt | 2 | ||||
-rw-r--r-- | src/field/slot_machine.c | 228 |
3 files changed, 227 insertions, 546 deletions
diff --git a/asm/slot_machine.s b/asm/slot_machine.s deleted file mode 100644 index 9ec9315e3..000000000 --- a/asm/slot_machine.s +++ /dev/null @@ -1,543 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8106058 -sub_8106058: @ 8106058 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x2 - bgt _081060A8 - ldr r1, _081060A4 @ =gUnknown_083EDE10 - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3 - ble _081060E4 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - movs r0, 0 - strh r0, [r5, 0x32] - b _081060E4 - .align 2, 0 -_081060A4: .4byte gUnknown_083EDE10 -_081060A8: - ldr r1, _081060F8 @ =gUnknown_083EDE10 - movs r2, 0x30 - ldrsh r0, [r5, r2] - lsls r0, 2 - adds r0, r1 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - ldrh r0, [r5, 0x32] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _081060E4 - strh r1, [r5, 0x30] - strh r1, [r5, 0x32] -_081060E4: - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - movs r0, 0 - strh r0, [r5, 0x3C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081060F8: .4byte gUnknown_083EDE10 - thumb_func_end sub_8106058 - - thumb_func_start sub_81060FC -sub_81060FC: @ 81060FC - push {r4-r6,lr} - sub sp, 0x30 - adds r4, r0, 0 - ldr r1, _08106138 @ =gUnknown_083ECC72 - mov r0, sp - movs r2, 0x10 - bl memcpy - add r6, sp, 0x10 - ldr r1, _0810613C @ =gUnknown_083ECC82 - adds r0, r6, 0 - movs r2, 0x10 - bl memcpy - add r5, sp, 0x20 - ldr r1, _08106140 @ =gUnknown_083ECC92 - adds r0, r5, 0 - movs r2, 0x10 - bl memcpy - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08106174 - cmp r0, 0x1 - bgt _08106144 - cmp r0, 0 - beq _0810614A - b _081061C0 - .align 2, 0 -_08106138: .4byte gUnknown_083ECC72 -_0810613C: .4byte gUnknown_083ECC82 -_08106140: .4byte gUnknown_083ECC92 -_08106144: - cmp r0, 0x2 - beq _08106188 - b _081061C0 -_0810614A: - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - strh r0, [r4, 0x26] - movs r2, 0x3A - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_08106174: - ldrh r0, [r4, 0x30] - subs r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _081061C0 - b _081061BA -_08106188: - ldrh r0, [r4, 0x24] - movs r2, 0x24 - ldrsh r1, [r4, r2] - cmp r1, 0 - ble _08106196 - subs r0, 0x4 - b _0810619C -_08106196: - cmp r1, 0 - bge _0810619E - adds r0, 0x4 -_0810619C: - strh r0, [r4, 0x24] -_0810619E: - ldrh r0, [r4, 0x26] - movs r2, 0x26 - ldrsh r1, [r4, r2] - cmp r1, 0 - ble _081061AC - subs r0, 0x4 - b _081061B2 -_081061AC: - cmp r1, 0 - bge _081061B4 - adds r0, 0x4 -_081061B2: - strh r0, [r4, 0x26] -_081061B4: - ldr r0, [r4, 0x24] - cmp r0, 0 - bne _081061C0 -_081061BA: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] -_081061C0: - add sp, 0x30 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81060FC - - thumb_func_start sub_81061C8 -sub_81061C8: @ 81061C8 - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r1, _0810622C @ =gUnknown_083ECCA2 - mov r0, sp - movs r2, 0x10 - bl memcpy - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081061EA - adds r0, r1, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0xC - strh r0, [r4, 0x30] -_081061EA: - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x3A - ldrsh r0, [r4, r1] - lsls r0, 1 - add r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08106224 - subs r0, r1, 0x1 - strh r0, [r4, 0x30] -_08106224: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810622C: .4byte gUnknown_083ECCA2 - thumb_func_end sub_81061C8 - - thumb_func_start sub_8106230 -sub_8106230: @ 8106230 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0810627A - cmp r0, 0x1 - bgt _08106248 - cmp r0, 0 - beq _08106252 - b _0810634A -_08106248: - cmp r0, 0x2 - beq _081062C4 - cmp r0, 0x3 - beq _081062FC - b _0810634A -_08106252: - ldr r2, _081062BC @ =gSharedMem - adds r1, r2, 0 - adds r1, 0x5C - movs r0, 0x2F - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x3F - strh r0, [r1] - subs r1, 0x4 - ldr r0, _081062C0 @ =0x00002088 - strh r0, [r1] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_0810627A: - ldrh r0, [r5, 0x30] - adds r2, r0, 0x2 - strh r2, [r5, 0x30] - adds r0, 0xB2 - strh r0, [r5, 0x32] - movs r1, 0xF0 - subs r1, r2 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - ble _08106296 - movs r0, 0xD0 - strh r0, [r5, 0x32] -_08106296: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xCF - bgt _081062A2 - movs r0, 0xD0 - strh r0, [r5, 0x34] -_081062A2: - ldr r2, _081062BC @ =gSharedMem - ldrh r0, [r5, 0x32] - lsls r0, 8 - ldrh r1, [r5, 0x34] - orrs r0, r1 - adds r1, r2, 0 - adds r1, 0x58 - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0x33 - ble _0810634A - b _0810633C - .align 2, 0 -_081062BC: .4byte gSharedMem -_081062C0: .4byte 0x00002088 -_081062C4: - ldr r6, _08106354 @ =gSharedMem - movs r1, 0x12 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0810634A - ldr r1, _08106358 @ =SpriteCallbackDummy - movs r4, 0 - str r4, [sp] - movs r0, 0x5 - movs r2, 0xD0 - movs r3, 0x74 - bl sub_8104D30 - adds r1, r6, 0 - adds r1, 0x58 - ldr r0, _0810635C @ =0x0000c0e0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xD1 - lsls r0, 7 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x2F - strh r0, [r1] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - strh r4, [r5, 0x30] -_081062FC: - ldrh r0, [r5, 0x30] - adds r2, r0, 0x2 - strh r2, [r5, 0x30] - adds r0, 0xC2 - strh r0, [r5, 0x32] - movs r1, 0xE0 - subs r1, r2 - strh r1, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD0 - ble _08106318 - movs r0, 0xD0 - strh r0, [r5, 0x32] -_08106318: - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0xCF - bgt _08106324 - movs r0, 0xD0 - strh r0, [r5, 0x34] -_08106324: - ldr r2, _08106354 @ =gSharedMem - ldrh r0, [r5, 0x32] - lsls r0, 8 - ldrh r1, [r5, 0x34] - orrs r0, r1 - adds r1, r2, 0 - adds r1, 0x58 - strh r0, [r1] - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0xF - ble _0810634A -_0810633C: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r1, r2, 0 - adds r1, 0x5C - movs r0, 0x3F - strh r0, [r1] -_0810634A: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08106354: .4byte gSharedMem -_08106358: .4byte SpriteCallbackDummy -_0810635C: .4byte 0x0000c0e0 - thumb_func_end sub_8106230 - - thumb_func_start nullsub_70 -nullsub_70: @ 8106360 - bx lr - thumb_func_end nullsub_70 - - thumb_func_start sub_8106364 -sub_8106364: @ 8106364 - ldr r1, _0810636C @ =REG_MOSAIC - movs r0, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_0810636C: .4byte REG_MOSAIC - thumb_func_end sub_8106364 - - thumb_func_start sub_8106370 -sub_8106370: @ 8106370 - push {r4,lr} - ldr r0, _08106398 @ =gUnknown_083EDE20 - ldr r4, [r0] - movs r0, 0x6 - bl IndexOfSpritePaletteTag - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 17 - adds r1, r0 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08106398: .4byte gUnknown_083EDE20 - thumb_func_end sub_8106370 - - thumb_func_start sub_810639C -sub_810639C: @ 810639C - ldr r2, _081063BC @ =gSharedMem - adds r1, r2, 0 - adds r1, 0x58 - movs r0, 0xF0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0xA0 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x5C - movs r1, 0x3F - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_081063BC: .4byte gSharedMem - thumb_func_end sub_810639C - - thumb_func_start sub_81063C0 -sub_81063C0: @ 81063C0 - push {r4,lr} - bl sub_8106404 - ldr r0, _081063F0 @ =gSlotMachineReelTimeLights_Gfx - ldr r4, _081063F4 @ =gSharedMem + 0x10000 - adds r1, r4, 0 - bl LZDecompressWram - ldr r0, _081063F8 @ =gUnknown_083EDE8C - movs r1, 0xC8 - lsls r1, 6 - adds r4, r1 - adds r1, r4, 0 - bl LZDecompressWram - ldr r0, _081063FC @ =gUnknown_083EDC2C - bl LoadSpriteSheets - ldr r0, _08106400 @ =gSlotMachineSpritePalettes - bl LoadSpritePalettes - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081063F0: .4byte gSlotMachineReelTimeLights_Gfx -_081063F4: .4byte gSharedMem + 0x10000 -_081063F8: .4byte gUnknown_083EDE8C -_081063FC: .4byte gUnknown_083EDC2C -_08106400: .4byte gSlotMachineSpritePalettes - thumb_func_end sub_81063C0 - - thumb_func_start sub_8106404 -sub_8106404: @ 8106404 - push {r4,r5,lr} - ldr r3, _0810643C @ =gSharedMem + 0x10000 - movs r2, 0 - ldr r5, _08106440 @ =gUnknown_083EDCDC - ldr r0, _08106444 @ =gUnknown_083EDCE4 - ldr r4, [r0] -_08106410: - movs r1, 0 - adds r2, 0x1 -_08106414: - adds r0, r4, r1 - ldrb r0, [r0] - strb r0, [r3] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - adds r3, 0x1 - cmp r1, 0x1F - bls _08106414 - lsls r0, r2, 24 - lsrs r2, r0, 24 - cmp r2, 0x3F - bls _08106410 - adds r0, r5, 0 - bl LoadSpriteSheet - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810643C: .4byte gSharedMem + 0x10000 -_08106440: .4byte gUnknown_083EDCDC -_08106444: .4byte gUnknown_083EDCE4 - thumb_func_end sub_8106404 - - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 86728ae95..c02c6873e 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -320,8 +320,6 @@ SECTIONS { asm/cute_sketch.o(.text); src/field/decoration.o(.text); src/field/slot_machine.o(.text); - asm/slot_machine.o(.text); - src/field/slot_machine.o(.text_b); src/scene/contest_painting.o(.text); src/battle/battle_ai.o(.text); src/field/trader.o(.text); diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c index dbc3da45a..d33e46099 100644 --- a/src/field/slot_machine.c +++ b/src/field/slot_machine.c @@ -216,6 +216,7 @@ u8 sub_8105B1C(s16 x, s16 y); void sub_8105B88(u8 spriteId); u8 sub_8105BF8(u8 templateIdx, SpriteCallback callback, s16 x, s16 y, s16 a4); void sub_81063C0(void); +void sub_8106404(void); static void sub_8106448(void); void sub_81064B8(void); void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4); @@ -3843,7 +3844,232 @@ void sub_8105F9C(struct Sprite *sprite) } } -asm(".section .text_b"); +extern const u16 *const gUnknown_083EDE10[]; + +void sub_8106058(struct Sprite *sprite) +{ + if (sprite->data[1] < 3) + { + LoadPalette(gUnknown_083EDE10[sprite->data[1]], (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); + if (++sprite->data[2] >= 4) + { + sprite->data[1]++; + sprite->data[2] = 0; + } + } + else + { + LoadPalette(gUnknown_083EDE10[sprite->data[1]], (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); + if (++sprite->data[2] >= 25) + { + sprite->data[1] = 0; + sprite->data[2] = 0; + } + } + StartSpriteAnimIfDifferent(sprite, 1); + sprite->data[7] = 0; +} + +extern const s16 gUnknown_083ECC72[8]; // do not remove these yet +extern const s16 gUnknown_083ECC82[8]; // do not remove these yet +extern const s16 gUnknown_083ECC92[8]; // do not remove these yet + +void sub_81060FC(struct Sprite *sprite) +{ + // s16 sp00[] = {0, -40, 0, 0, 48, 0, 24, 0}; + // s16 sp10[] = {-32, 0, -32, -48, 0, -48, 0, -48}; + // s16 sp20[] = {16, 12, 16, 0, 0, 4, 8, 8}; + + s16 sp00[ARRAY_COUNT(gUnknown_083ECC72)]; + s16 sp10[ARRAY_COUNT(gUnknown_083ECC82)]; + s16 sp20[ARRAY_COUNT(gUnknown_083ECC92)]; + + memcpy(sp00, gUnknown_083ECC72, sizeof gUnknown_083ECC72); + memcpy(sp10, gUnknown_083ECC82, sizeof gUnknown_083ECC82); + memcpy(sp20, gUnknown_083ECC92, sizeof gUnknown_083ECC92); + + switch (sprite->data[0]) + { + case 0: + sprite->pos2.x = sp00[sprite->data[6]]; + sprite->pos2.y = sp10[sprite->data[6]]; + sprite->data[1] = sp20[sprite->data[6]]; + sprite->data[0]++; + // fallthrough + case 1: + if (sprite->data[1]-- == 0) + { + sprite->data[0]++; + } + break; + case 2: + if (sprite->pos2.x > 0) + { + sprite->pos2.x -= 4; + } + else if (sprite->pos2.x < 0) + { + sprite->pos2.x += 4; + } + if (sprite->pos2.y > 0) + { + sprite->pos2.y -= 4; + } + else if (sprite->pos2.y < 0) + { + sprite->pos2.y += 4; + } + if (sprite->pos2.x == 0 && sprite->pos2.y == 0) + { + sprite->data[0]++; + } + break; + } +} + +extern const s16 gUnknown_083ECCA2[8]; // do not remove this yet + +void sub_81061C8(struct Sprite *sprite) +{ + s16 sp0[ARRAY_COUNT(gUnknown_083ECCA2)]; + + memcpy(sp0, gUnknown_083ECCA2, sizeof gUnknown_083ECCA2); + + if (sprite->data[0] == 0) + { + sprite->data[0]++; + sprite->data[1] = 12; + } + sprite->pos2.x = Cos(sp0[sprite->data[6]], sprite->data[1]); + sprite->pos2.y = Sin(sp0[sprite->data[6]], sprite->data[1]); + if (sprite->data[1]) + { + sprite->data[1]--; + } +} + +void sub_8106230(struct Sprite *sprite) +{ + switch (sprite->data[0]) + { + case 0: + eSlotMachine->winIn = 0x2f; + eSlotMachine->winOut = 0x3f; + eSlotMachine->win0v = 0x2088; + sprite->invisible = TRUE; + sprite->data[0]++; + // fallthrough + case 1: + sprite->data[1] += 2; + sprite->data[2] = sprite->data[1] + 0xb0; + sprite->data[3] = 0xf0 - sprite->data[1]; + if (sprite->data[2] > 0xd0) + { + sprite->data[2] = 0xd0; + } + if (sprite->data[3] < 0xd0) + { + sprite->data[3] = 0xd0; + } + eSlotMachine->win0h = (sprite->data[2] << 8) | sprite->data[3]; + if (sprite->data[1] > 0x33) + { + sprite->data[0]++; + eSlotMachine->winIn = 0x3f; + } + break; + case 2: + if (eSlotMachine->bet == 0) + { + break; + } + sub_8104D30(5, SpriteCallbackDummy, 0xd0, 0x74, 0); + eSlotMachine->win0h = 0xc0e0; + eSlotMachine->win0v = 0x6880; + eSlotMachine->winIn = 0x2f; + sprite->data[0]++; + sprite->data[1] = 0; + // fallthrough + case 3: + sprite->data[1] += 2; + sprite->data[2] = sprite->data[1] + 0xc0; + sprite->data[3] = 0xe0 - sprite->data[1]; + if (sprite->data[2] > 0xd0) + { + sprite->data[2] = 0xd0; + } + if (sprite->data[3] < 0xd0) + { + sprite->data[3] = 0xd0; + } + eSlotMachine->win0h = (sprite->data[2] << 8) | sprite->data[3]; + if (sprite->data[1] > 0x0f) + { + sprite->data[0]++; + eSlotMachine->winIn = 0x3f; + } + break; + } +} + +void nullsub_70(void) +{ + +} + +void sub_8106364(void) +{ + REG_MOSAIC = 0; +} + +extern const u16 *const gUnknown_083EDE20; + +void sub_8106370(void) +{ + LoadPalette(gUnknown_083EDE20, (IndexOfSpritePaletteTag(6) << 4) + 0x100, 0x20); +} + +void sub_810639C(void) +{ + eSlotMachine->win0h = 0xf0; + eSlotMachine->win0v = 0xa0; + eSlotMachine->winIn = 0x3f; + eSlotMachine->winOut = 0x3f; +} + +extern const u8 gSlotMachineReelTimeLights_Gfx[]; +extern const u8 gUnknown_083EDE8C[]; +extern const struct SpriteSheet gUnknown_083EDC2C[]; +extern const struct SpritePalette gSlotMachineSpritePalettes[]; + +void sub_81063C0(void) +{ + sub_8106404(); + LZDecompressWram(gSlotMachineReelTimeLights_Gfx, ewram10000); + LZDecompressWram(gUnknown_083EDE8C, ewram10000 + 0x3200); + LoadSpriteSheets(gUnknown_083EDC2C); + LoadSpritePalettes(gSlotMachineSpritePalettes); +} + +extern const u8 *gUnknown_083EDCE4; +extern const struct SpriteSheet gUnknown_083EDCDC; + +void sub_8106404(void) +{ + u8 *dest = ewram10000; + u8 i = 0; + const struct SpriteSheet *sheet = &gUnknown_083EDCDC; + const u8 *src = gUnknown_083EDCE4; + for (i = 0; i < 0x40; i++) + { + u8 j; + for (j = 0; j < 0x20; j++, dest++) + { + *dest = src[j]; + } + } + LoadSpriteSheet(sheet); +} static void sub_8106448(void) { u32 offsetRead, offsetWrite; |