diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-06-27 16:05:07 -0400 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2019-07-02 19:29:49 -0500 |
commit | 8a5fe8781a3c6be1530f28ca953d4bd212eaf00e (patch) | |
tree | 0c69344a24f0b1a320e90fe74183d50d183692b7 | |
parent | a4370455268b24bf92e7955fb5ed975edb955e42 (diff) |
Finish roulette data
-rw-r--r-- | data/roulette.s | 406 | ||||
-rw-r--r-- | include/sprite.h | 1 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/roulette.c | 8 | ||||
-rw-r--r-- | src/roulette_gfx.c | 482 |
5 files changed, 418 insertions, 480 deletions
diff --git a/data/roulette.s b/data/roulette.s deleted file mode 100644 index 6898a5b16..000000000 --- a/data/roulette.s +++ /dev/null @@ -1,406 +0,0 @@ - .include "include/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gOamData_83FA1FC:: @ 83FA1FC - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gOamData_83FA204:: @ 83FA204 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gOamData_83FA20C:: @ 83FA20C - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_83FA214:: @ 83FA214 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gUnknown_083FA21C:: @ 83FA21C - obj_tiles gRouletteCreditTiles, 0x400, 7 - obj_tiles gRouletteNumbersTiles, 0x280, 8 - obj_tiles gRouletteMultiplierTiles, 0x500, 9 - obj_tiles RouletteBallCounterTiles, 0x140, 10 - obj_tiles RouletteCursorTiles, 0x200, 11 - null_obj_tiles - - .align 2 -gSpriteAnim_83FA24C:: @ 83FA24C - obj_image_anim_frame 0, 0 @ ANIMCMD_FRAME(0, 0), - obj_image_anim_frame 2, 0 @ ANIMCMD_FRAME(2, 0), - obj_image_anim_frame 4, 0 @ ANIMCMD_FRAME(4, 0), - obj_image_anim_frame 6, 0 @ ANIMCMD_FRAME(6, 0), - obj_image_anim_frame 8, 0 @ ANIMCMD_FRAME(8, 0), - obj_image_anim_frame 10, 0 @ ANIMCMD_FRAME(10, 0), - obj_image_anim_frame 12, 0 @ ANIMCMD_FRAME(12, 0), - obj_image_anim_frame 14, 0 @ ANIMCMD_FRAME(14, 0), - obj_image_anim_frame 16, 0 @ ANIMCMD_FRAME(16, 0), - obj_image_anim_frame 18, 0 @ ANIMCMD_FRAME(18, 0), - - .align 2 -gSpriteAnimTable_83FA274:: @ 83FA274 - .4byte gSpriteAnim_83FA24C - - .align 2 -gSpriteAnim_83FA278:: @ 83FA278 - obj_image_anim_frame 0, 0 @ ANIMCMD_FRAME(0, 0), - obj_image_anim_frame 8, 0 @ ANIMCMD_FRAME(8, 0), - obj_image_anim_frame 16, 0 @ ANIMCMD_FRAME(16, 0), - obj_image_anim_frame 24, 0 @ ANIMCMD_FRAME(24, 0), - obj_image_anim_frame 32, 0 @ ANIMCMD_FRAME(32, 0), - obj_image_anim_end @ ANIMCMD_END - - .align 2 -gSpriteAnimTable_83FA290:: @ 83FA290 - .4byte gSpriteAnim_83FA278 - - .align 2 -gSpriteAnim_83FA294:: @ 83FA294 - obj_image_anim_frame 0, 0 @ ANIMCMD_FRAME(0, 0), - obj_image_anim_frame 2, 0 @ ANIMCMD_FRAME(2, 0), - obj_image_anim_frame 4, 0 @ ANIMCMD_FRAME(4, 0), - obj_image_anim_frame 6, 0 @ ANIMCMD_FRAME(6, 0), - obj_image_anim_frame 8, 0 @ ANIMCMD_FRAME(8, 0), - obj_image_anim_end @ ANIMCMD_END - - .align 2 -gSpriteAnimTable_83FA2AC:: @ 83FA2AC - .4byte gSpriteAnim_83FA294 - - .align 2 -gSpriteTemplate_83FA2B0:: @ 83FA2B0 - spr_template 7, 5, gOamData_83FA1FC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA2C8:: @ 83FA2C8 - spr_template 8, 5, gOamData_83FA204, gSpriteAnimTable_83FA274, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA2E0:: @ 83FA2E0 - spr_template 9, 5, gOamData_83FA20C, gSpriteAnimTable_83FA290, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA2F8:: @ 83FA2F8 - spr_template 10, 3, gOamData_83FA214, gSpriteAnimTable_83FA2AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA310:: @ 83FA310 - spr_template 11, 5, gOamData_83F9EB8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_83FA328:: @ 83FA328 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gSpriteImageTable_83FA330:: @ 83FA330 - obj_frame_tiles gSharedMem + 0x17E00, 0x80 - obj_frame_tiles gSharedMem + 0x17E80, 0x80 - obj_frame_tiles gSharedMem + 0x17F00, 0x80 - obj_frame_tiles gSharedMem + 0x17F80, 0x80 - - .align 2 -gSpriteAnim_83FA350:: @ 83FA350 - obj_image_anim_frame 0, 5 @ ANIMCMD_FRAME(0, 5), - obj_image_anim_frame 1, 5 @ ANIMCMD_FRAME(1, 5), - obj_image_anim_frame 2, 5 @ ANIMCMD_FRAME(2, 5), - obj_image_anim_frame 1, 5 @ ANIMCMD_FRAME(1, 5), - obj_image_anim_jump 0 @ ANIMCMD_JUMP(0), - - .align 2 -gSpriteAnim_83FA364:: @ 83FA364 - obj_image_anim_frame 0, 10 @ ANIMCMD_FRAME(0, 10), - obj_image_anim_frame 1, 10 @ ANIMCMD_FRAME(1, 10), - obj_image_anim_frame 2, 10 @ ANIMCMD_FRAME(2, 10), - obj_image_anim_frame 1, 10 @ ANIMCMD_FRAME(1, 10), - obj_image_anim_jump 0 @ ANIMCMD_JUMP(0), - - .align 2 -gSpriteAnim_83FA378:: @ 83FA378 - obj_image_anim_frame 0, 15 @ ANIMCMD_FRAME(0, 15), - obj_image_anim_frame 1, 15 @ ANIMCMD_FRAME(1, 15), - obj_image_anim_frame 2, 15 @ ANIMCMD_FRAME(2, 15), - obj_image_anim_frame 1, 15 @ ANIMCMD_FRAME(1, 15), - obj_image_anim_jump 0 @ ANIMCMD_JUMP(0), - - .align 2 -gSpriteAnim_83FA38C:: @ 83FA38C - obj_image_anim_frame 1, 2 @ ANIMCMD_FRAME(1, 2), - obj_image_anim_frame 2, 5 @ ANIMCMD_FRAME(2, 5), - obj_image_anim_frame 1, 5 @ ANIMCMD_FRAME(1, 5), - obj_image_anim_frame 3, 5 @ ANIMCMD_FRAME(3, 5), - obj_image_anim_end @ ANIMCMD_END - - .align 2 -gSpriteAnim_83FA3A0:: @ 83FA3A0 - obj_image_anim_frame 1, 2 @ ANIMCMD_FRAME(1, 2), - obj_image_anim_frame 0, 4 @ ANIMCMD_FRAME(0, 4), - obj_image_anim_frame 1, 4 @ ANIMCMD_FRAME(1, 4), - obj_image_anim_frame 2, 4 @ ANIMCMD_FRAME(2, 4), - obj_image_anim_frame 3, 4 @ ANIMCMD_FRAME(3, 4), - obj_image_anim_end @ ANIMCMD_END - - .align 2 -gSpriteAnim_83FA3B8:: @ 83FA3B8 - obj_image_anim_frame 0, 2 @ ANIMCMD_FRAME(0, 2), - obj_image_anim_frame 1, 5 @ ANIMCMD_FRAME(1, 5), - obj_image_anim_frame 2, 5 @ ANIMCMD_FRAME(2, 5), - obj_image_anim_frame 3, 5 @ ANIMCMD_FRAME(3, 5), - obj_image_anim_end @ ANIMCMD_END - - .align 2 -gSpriteAnim_83FA3CC:: @ 83FA3CC - obj_image_anim_frame 3, 0 @ ANIMCMD_FRAME(3, 0), - obj_image_anim_end @ ANIMCMD_END - - .align 2 -gSpriteAnim_83FA3D4:: @ 83FA3D4 - obj_image_anim_frame 2, 2 @ ANIMCMD_FRAME(2, 2), - obj_image_anim_frame 1, 5 @ ANIMCMD_FRAME(1, 5), - obj_image_anim_frame 0, 5 @ ANIMCMD_FRAME(0, 5), - obj_image_anim_frame 3, 5 @ ANIMCMD_FRAME(3, 5), - obj_image_anim_end @ ANIMCMD_END - - .align 2 -gSpriteAnimTable_83FA3E8:: @ 83FA3E8 - .4byte gSpriteAnim_83FA350 - .4byte gSpriteAnim_83FA364 - .4byte gSpriteAnim_83FA378 - .4byte gSpriteAnim_83FA38C - .4byte gSpriteAnim_83FA3D4 - .4byte gSpriteAnim_83FA3A0 - .4byte gSpriteAnim_83FA3B8 - .4byte gSpriteAnim_83FA3B8 - .4byte gSpriteAnim_83FA3CC - - .align 2 -gSpriteTemplate_83FA40C:: @ 83FA40C - spr_template 0xFFFF, 2, gOamData_83FA328, gSpriteAnimTable_83FA3E8, gSpriteImageTable_83FA330, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_83FA424:: @ 83FA424 - .2byte 0x0351 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gUnknown_083FA42C:: @ 83FA42C - obj_tiles gRouletteCenter_Gfx, 2048, 0x0006 - - .align 2 -gSpriteTemplate_83FA434:: @ 83FA434 - spr_template 6, 2, gOamData_83FA424, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8118554 - - .align 2 -gOamData_83FA44C:: @ 83FA44C - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_83FA454:: @ 83FA454 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gSpriteImageTable_83FA45C:: @ 83FA45C - obj_frame_tiles gSharedMem + 0x17000, 0x200 - obj_frame_tiles gSharedMem + 0x17200, 0x200 - obj_frame_tiles gSharedMem + 0x17400, 0x200 - obj_frame_tiles gSharedMem + 0x17600, 0x200 - obj_frame_tiles gSharedMem + 0x17800, 0x200 - obj_frame_tiles gSharedMem + 0x17A00, 0x200 - obj_frame_tiles gSharedMem + 0x17C00, 0x200 - - .align 2 -gSpriteAnim_83FA494:: @ 83FA494 - obj_image_anim_frame 0, 6 @ ANIMCMD_FRAME(0, 6), - obj_image_anim_frame 1, 6 @ ANIMCMD_FRAME(1, 6), - obj_image_anim_frame 2, 6 @ ANIMCMD_FRAME(2, 6), - obj_image_anim_frame 3, 6 @ ANIMCMD_FRAME(3, 6), - obj_image_anim_frame 2, 6 @ ANIMCMD_FRAME(2, 6), - obj_image_anim_frame 4, 6 @ ANIMCMD_FRAME(4, 6), - obj_image_anim_jump 2 @ ANIMCMD_JUMP(2), - - .align 2 -gSpriteAnim_83FA4B0:: @ 83FA4B0 - obj_image_anim_frame 5, 10 @ ANIMCMD_FRAME(5, 10), - obj_image_anim_end @ ANIMCMD_END - - .align 2 -gSpriteAnim_83FA4B8:: @ 83FA4B8 - obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP @ ANIMCMD_FRAME(5, 10, OBJ_IMAGE_ANIM_H_FLIP), - obj_image_anim_end @ ANIMCMD_END - - .align 2 -gSpriteAnim_83FA4C0:: @ 83FA4C0 - obj_image_anim_frame 5, 20 @ ANIMCMD_FRAME(5, 20), - obj_image_anim_frame 6, 20 @ ANIMCMD_FRAME(6, 20), - obj_image_anim_jump 0 @ ANIMCMD_JUMP(0), - - .align 2 -gSpriteAnim_83FA4CC:: @ 83FA4CC - obj_image_anim_frame 5, 20, OBJ_IMAGE_ANIM_H_FLIP @ ANIMCMD_FRAME(5, 20, OBJ_IMAGE_ANIM_H_FLIP), - obj_image_anim_frame 6, 20, OBJ_IMAGE_ANIM_H_FLIP @ ANIMCMD_FRAME(6, 20, OBJ_IMAGE_ANIM_H_FLIP), - obj_image_anim_jump 0 @ ANIMCMD_JUMP(0), - - .align 2 -gSpriteAnim_83FA4D8:: @ 83FA4D8 - obj_image_anim_frame 5, 10 @ ANIMCMD_FRAME(5, 10), - obj_image_anim_frame 6, 10 @ ANIMCMD_FRAME(6, 10), - obj_image_anim_jump 0 @ ANIMCMD_JUMP(0), - - .align 2 -gSpriteAnim_83FA4E4:: @ 83FA4E4 - obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP @ ANIMCMD_FRAME(5, 10, OBJ_IMAGE_ANIM_H_FLIP), - obj_image_anim_frame 6, 10, OBJ_IMAGE_ANIM_H_FLIP @ ANIMCMD_FRAME(6, 10, OBJ_IMAGE_ANIM_H_FLIP), - obj_image_anim_jump 0 @ ANIMCMD_JUMP(0), - - .align 2 -gSpriteAnimTable_83FA4F0:: @ 83FA4F0 - .4byte gSpriteAnim_83FA494 - - .align 2 -gSpriteAnimTable_83FA4F4:: @ 83FA4F4 - .4byte gSpriteAnim_83FA4B0 - .4byte gSpriteAnim_83FA4B8 - .4byte gSpriteAnim_83FA4C0 - .4byte gSpriteAnim_83FA4CC - .4byte gSpriteAnim_83FA4D8 - .4byte gSpriteAnim_83FA4E4 - - .align 2 -gSpriteTemplate_83FA50C:: @ 83FA50C - spr_template 0xFFFF, 6, gOamData_83FA44C, gSpriteAnimTable_83FA4F0, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA524:: @ 83FA524 - spr_template 0xFFFF, 7, gOamData_83FA454, gSpriteAnimTable_83FA4F4, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, sub_8119D80 - - .align 2 -gOamData_83FA53C:: @ 83FA53C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_83FA544:: @ 83FA544 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_83FA54C:: @ 83FA54C - .2byte 0x4100 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gSpriteImageTable_83FA554: @ 83FA554 - obj_frame_tiles gSharedMem + 0x18000, 0x80 - - .align 2 -gSpriteImageTable_83FA55C: @ 83FA55C - obj_frame_tiles gSharedMem + 0x18080, 0x100 - - .align 2 -gSpriteAffineAnim_83FA564:: @ 83FA564 - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0x2, 0x2, 0, 60 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83FA57C:: @ 83FA57C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFFE, 0x0, 0, 15 - obj_rot_scal_anim_frame 0xFFFF, 0xFFFE, 0, 15 - obj_rot_scal_anim_frame 0xFFFF, 0xFFFB, 0, 24 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83FA5A4:: @ 83FA5A4 - .4byte gSpriteAffineAnim_83FA564 - - .align 2 -gSpriteAffineAnimTable_83FA5A8:: @ 83FA5A8 - .4byte gSpriteAffineAnim_83FA57C - - .align 2 -gSpriteAffineAnim_83FA5AC:: @ 83FA5AC - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83FA5BC:: @ 83FA5BC - .4byte gSpriteAffineAnim_83FA5AC - - .align 2 -gSpriteTemplate_83FA5C0:: @ 83FA5C0 - spr_template 0xFFFF, 1, gOamData_83FA53C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA554, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA5D8:: @ 83FA5D8 - spr_template 0xFFFF, 1, gOamData_83FA544, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gDummySpriteAffineAnimTable, sub_8119964 - - .align 2 -gSpriteTemplate_83FA5F0:: @ 83FA5F0 - spr_template 0xFFFF, 1, gOamData_83FA54C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gSpriteAffineAnimTable_83FA5A8, sub_8119D80 - -gUnknown_083FA608:: @ 83FA608 - .byte 0, 1, 2, 3, 4 - - .align 1 -gUnknown_083FA60E:: @ 83FA60E - .2byte 0x74, 0x2C - .2byte 0x74, 0x70 - - .align 1 -gUnknown_083FA616:: @ 83FA616 - .2byte 256, 84 - .2byte -16, 84 - - .align 1 -gUnknown_083FA61E:: @ 83FA61E - .2byte 0x907 - .2byte 0x808 - .2byte 0x709 - .2byte 0x60A - .2byte 0x50B - .2byte 0x40C - .2byte 0x30D - .2byte 0x20E - .2byte 0x10F - .2byte 0x10 - - .align 1 -gUnknown_083FA632:: @ 83FA632 - .2byte -1, 0, 1, 0 - .2byte -2, 0, 2, 0 - .2byte -3, 0, 3, 0 - -gUnknown_083FA64A:: @ 83FA64A - .byte -1, 1 - -gUnknown_083FA64C:: @ 83FA64C - .byte 2, 0 - .byte 2, 0 - .byte 2, -1 - .byte 2, -1 - .byte 2, -1 - .byte 2, -1 - .byte 2, -2 - .byte 2, -2 diff --git a/include/sprite.h b/include/sprite.h index ff5493afe..e278f3c3d 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -251,6 +251,7 @@ extern u16 gReservedSpriteTileCount; extern u8 gOamLimit; extern struct Sprite gSprites[]; +extern struct OamMatrix gOamMatrices[]; void ResetSpriteData(void); void AnimateSprites(void); diff --git a/ld_script.txt b/ld_script.txt index bf25c62ed..5a70154c0 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -719,7 +719,6 @@ SECTIONS { src/evolution_scene.o(.rodata); src/roulette.o(.rodata); src/roulette_gfx.o(.rodata); - data/roulette.o(.rodata); src/pokedex_cry_screen.o(.rodata); src/pokedex_cry_screen.o(.data); src/landmark.o(.rodata); diff --git a/src/roulette.c b/src/roulette.c index c0732aaa0..38ba26b84 100644 --- a/src/roulette.c +++ b/src/roulette.c @@ -1663,7 +1663,7 @@ void debug_sub_812CDE4(u8 taskId) StringExpandPlaceholders(gStringVar4, gOtherText_Coins); MenuPrint_RightAligned(gStringVar4, 9, 1); } - else if (gMain.newKeys & 0x100) + else if (gMain.newKeys & R_BUTTON) { gTasks[taskId].data[13] += 10; if (gTasks[taskId].data[13] > 9999) @@ -1672,7 +1672,7 @@ void debug_sub_812CDE4(u8 taskId) StringExpandPlaceholders(gStringVar4, gOtherText_Coins); MenuPrint_RightAligned(gStringVar4, 9, 1); } - else if (gMain.newKeys & 0x200) + else if (gMain.newKeys & L_BUTTON) { gTasks[taskId].data[13] -= 10; if (gTasks[taskId].data[13] < 0) @@ -1681,7 +1681,7 @@ void debug_sub_812CDE4(u8 taskId) StringExpandPlaceholders(gStringVar4, gOtherText_Coins); MenuPrint_RightAligned(gStringVar4, 9, 1); } - else if (gMain.newKeys & 8) + else if (gMain.newKeys & START_BUTTON) { gSaveBlock1.coins = gTasks[taskId].data[13]; gTasks[taskId].func = Task_Roulette_0; @@ -1690,7 +1690,7 @@ void debug_sub_812CDE4(u8 taskId) MenuPrint_RightAligned(gStringVar4, 9, 1); unk_2039560 = 0; } - else if (gMain.newKeys & 4) + else if (gMain.newKeys & SELECT_BUTTON) { gSaveBlock1.coins = gTasks[taskId].data[13]; gTasks[taskId].func = Task_Roulette_0; diff --git a/src/roulette_gfx.c b/src/roulette_gfx.c index 76f352238..a8516ecfc 100644 --- a/src/roulette_gfx.c +++ b/src/roulette_gfx.c @@ -167,19 +167,19 @@ const struct CompressedSpriteSheet gUnknown_083F9EE8 = { }; const union AnimCmd gSpriteAnim_83F9EF0[] = { - ANIMCMD_FRAME(0, 0), - ANIMCMD_FRAME(32, 0), - ANIMCMD_FRAME(64, 0), - ANIMCMD_FRAME(72, 0), - ANIMCMD_FRAME(8, 0), - ANIMCMD_FRAME(40, 0), - ANIMCMD_FRAME(48, 0), - ANIMCMD_FRAME(80, 0), - ANIMCMD_FRAME(16, 0), - ANIMCMD_FRAME(24, 0), - ANIMCMD_FRAME(56, 0), - ANIMCMD_FRAME(88, 0), - ANIMCMD_END + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(32, 0), + ANIMCMD_FRAME(64, 0), + ANIMCMD_FRAME(72, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_FRAME(40, 0), + ANIMCMD_FRAME(48, 0), + ANIMCMD_FRAME(80, 0), + ANIMCMD_FRAME(16, 0), + ANIMCMD_FRAME(24, 0), + ANIMCMD_FRAME(56, 0), + ANIMCMD_FRAME(88, 0), + ANIMCMD_END }; const union AnimCmd *const gSpriteAnimTable_83F9F24[] = { @@ -243,26 +243,26 @@ const struct CompressedSpriteSheet gUnknown_083F9F5C = { }; const union AnimCmd gSpriteAnim_83F9F64[] = { - ANIMCMD_FRAME(0, 0), - ANIMCMD_FRAME(16, 0), - ANIMCMD_FRAME(32, 0), - ANIMCMD_FRAME(48, 0), - ANIMCMD_FRAME(64, 0), - ANIMCMD_FRAME(80, 0), - ANIMCMD_FRAME(96, 0), - ANIMCMD_FRAME(112, 0), - ANIMCMD_FRAME(128, 0), - ANIMCMD_FRAME(144, 0), - ANIMCMD_FRAME(160, 0), - ANIMCMD_END + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(16, 0), + ANIMCMD_FRAME(32, 0), + ANIMCMD_FRAME(48, 0), + ANIMCMD_FRAME(64, 0), + ANIMCMD_FRAME(80, 0), + ANIMCMD_FRAME(96, 0), + ANIMCMD_FRAME(112, 0), + ANIMCMD_FRAME(128, 0), + ANIMCMD_FRAME(144, 0), + ANIMCMD_FRAME(160, 0), + ANIMCMD_END }; const union AnimCmd gSpriteAnim_83F9F94[] = { - ANIMCMD_FRAME(0, 0), - ANIMCMD_FRAME(4, 0), - ANIMCMD_FRAME(8, 0), - ANIMCMD_FRAME(12, 0), - ANIMCMD_END + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(4, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_FRAME(12, 0), + ANIMCMD_END }; const union AnimCmd *const gSpriteAnimTable_83F9FA8[] = { @@ -344,28 +344,348 @@ const struct SpriteTemplate gSpriteTemplate_83FA0DC[] = { {0, 12, &gOamData_83F9EC8, gSpriteAnimTable_83F9F50, NULL, gDummySpriteAffineAnimTable, sub_8117E98} }; -extern const struct SpriteTemplate gSpriteTemplate_83FA40C; -extern struct OamMatrix gOamMatrices[]; -extern const struct SpriteSheet gUnknown_083FA21C[]; -extern const struct SpriteTemplate gSpriteTemplate_83FA2B0; -extern const struct SpriteTemplate gSpriteTemplate_83FA2C8; -extern const struct SpriteTemplate gSpriteTemplate_83FA2E0; -extern const struct SpriteTemplate gSpriteTemplate_83FA2F8; -extern const struct SpriteTemplate gSpriteTemplate_83FA310; -extern const u8 gUnknown_083FA608[0x5]; -extern const struct SpriteSheet gUnknown_083FA42C; -extern const struct SpriteTemplate gSpriteTemplate_83FA434; -extern void (*gFieldCallback)(void); -extern const u16 gUnknown_083FA60E[0x2][0x2]; -extern const struct SpriteTemplate gSpriteTemplate_83FA50C; -extern const struct SpriteTemplate gSpriteTemplate_83FA5C0[]; -extern const u16 gUnknown_083FA616[0x2][0x2]; -extern const struct SpriteTemplate gSpriteTemplate_83FA524; -extern const struct SpriteTemplate gSpriteTemplate_83FA5F0; -extern const u16 gUnknown_083FA61E[0xA]; -extern const u16 gUnknown_083FA632[]; -extern const s8 gUnknown_083FA64A[0x2]; -extern const s8 gUnknown_083FA64C[0x8][0x2]; +const struct OamData gOamData_83FA1FC = { + .shape = ST_OAM_H_RECTANGLE, + .size = 3, + .priority = 1 +}; + +const struct OamData gOamData_83FA204 = { + .shape = ST_OAM_V_RECTANGLE, + .size = 0, + .priority = 1 +}; + +const struct OamData gOamData_83FA20C = { + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 1 +}; + +const struct OamData gOamData_83FA214 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 0, + .priority = 1 +}; + +const struct SpriteSheet gUnknown_083FA21C[] = { + {gRouletteCreditTiles, 0x400, 7}, + {gRouletteNumbersTiles, 0x280, 8}, + {gRouletteMultiplierTiles, 0x500, 9}, + {RouletteBallCounterTiles, 0x140, 10}, + {RouletteCursorTiles, 0x200, 11}, + {} +}; + +const union AnimCmd gSpriteAnim_83FA24C[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(2, 0), + ANIMCMD_FRAME(4, 0), + ANIMCMD_FRAME(6, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_FRAME(10, 0), + ANIMCMD_FRAME(12, 0), + ANIMCMD_FRAME(14, 0), + ANIMCMD_FRAME(16, 0), + ANIMCMD_FRAME(18, 0), + // ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_83FA274[] = { + gSpriteAnim_83FA24C +}; + +const union AnimCmd gSpriteAnim_83FA278[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_FRAME(16, 0), + ANIMCMD_FRAME(24, 0), + ANIMCMD_FRAME(32, 0), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_83FA290[] = { + gSpriteAnim_83FA278 +}; + +const union AnimCmd gSpriteAnim_83FA294[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_FRAME(2, 0), + ANIMCMD_FRAME(4, 0), + ANIMCMD_FRAME(6, 0), + ANIMCMD_FRAME(8, 0), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_83FA2AC[] = { + gSpriteAnim_83FA294 +}; + +const struct SpriteTemplate gSpriteTemplate_83FA2B0 = {7, 5, &gOamData_83FA1FC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct SpriteTemplate gSpriteTemplate_83FA2C8 = {8, 5, &gOamData_83FA204, gSpriteAnimTable_83FA274, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct SpriteTemplate gSpriteTemplate_83FA2E0 = {9, 5, &gOamData_83FA20C, gSpriteAnimTable_83FA290, NULL, gDummySpriteAffineAnimTable, sub_81184CC}; + +const struct SpriteTemplate gSpriteTemplate_83FA2F8 = {10, 3, &gOamData_83FA214, gSpriteAnimTable_83FA2AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct SpriteTemplate gSpriteTemplate_83FA310 = {11, 5, &gOamData_83F9EB8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct OamData gOamData_83FA328 = { + .shape = ST_OAM_SQUARE, + .size = 1, + .priority = 2 +}; + +const struct SpriteFrameImage gSpriteImageTable_83FA330[] = { + {(void *)ewram17E00 + 0x000, 0x80}, + {(void *)ewram17E00 + 0x080, 0x80}, + {(void *)ewram17E00 + 0x100, 0x80}, + {(void *)ewram17E00 + 0x180, 0x80} +}; + +const union AnimCmd gSpriteAnim_83FA350[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83FA364[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83FA378[] = { + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(2, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83FA38C[] = { + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(3, 5), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83FA3A0[] = { + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83FA3B8[] = { + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 5), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83FA3CC[] = { + ANIMCMD_FRAME(3, 0), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83FA3D4[] = { + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(3, 5), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_83FA3E8[] = { + gSpriteAnim_83FA350, + gSpriteAnim_83FA364, + gSpriteAnim_83FA378, + gSpriteAnim_83FA38C, + gSpriteAnim_83FA3D4, + gSpriteAnim_83FA3A0, + gSpriteAnim_83FA3B8, + gSpriteAnim_83FA3B8, + gSpriteAnim_83FA3CC +}; + +const struct SpriteTemplate gSpriteTemplate_83FA40C = {0xFFFF, 2, &gOamData_83FA328, gSpriteAnimTable_83FA3E8, gSpriteImageTable_83FA330, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct OamData gOamData_83FA424 = { + .y = 81, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .shape = ST_OAM_SQUARE, + .size = 3, + .priority = 2 +}; + +const struct CompressedSpriteSheet gUnknown_083FA42C = { + gRouletteCenter_Gfx, + 0x800, + 6 +}; + +const struct SpriteTemplate gSpriteTemplate_83FA434 = {6, 2, &gOamData_83FA424, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8118554}; + +const struct OamData gOamData_83FA44C = { + .shape = ST_OAM_SQUARE, + .size = 2, + .priority = 2 +}; + +const struct OamData gOamData_83FA454 = { + .shape = ST_OAM_SQUARE, + .size = 2, + .priority = 2 +}; + +const struct SpriteFrameImage gSpriteImageTable_83FA45C[] = { + {(void *)ewram17000 + 0x000, 0x200}, + {(void *)ewram17000 + 0x200, 0x200}, + {(void *)ewram17000 + 0x400, 0x200}, + {(void *)ewram17000 + 0x600, 0x200}, + {(void *)ewram17000 + 0x800, 0x200}, + {(void *)ewram17000 + 0xA00, 0x200}, + {(void *)ewram17000 + 0xC00, 0x200} +}; + +const union AnimCmd gSpriteAnim_83FA494[] = { + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + // jump here + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_JUMP(2) +}; + +const union AnimCmd gSpriteAnim_83FA4B0[] = { + ANIMCMD_FRAME(5, 10), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83FA4B8[] = { + ANIMCMD_FRAME(5, 10, .hFlip = TRUE), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83FA4C0[] = { + ANIMCMD_FRAME(5, 20), + ANIMCMD_FRAME(6, 20), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83FA4CC[] = { + ANIMCMD_FRAME(5, 20, .hFlip = TRUE), + ANIMCMD_FRAME(6, 20, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83FA4D8[] = { + ANIMCMD_FRAME(5, 10), + ANIMCMD_FRAME(6, 10), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83FA4E4[] = { + ANIMCMD_FRAME(5, 10, .hFlip = TRUE), + ANIMCMD_FRAME(6, 10, .hFlip = TRUE), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gSpriteAnimTable_83FA4F0[] = { + gSpriteAnim_83FA494 +}; + +const union AnimCmd *const gSpriteAnimTable_83FA4F4[] = { + gSpriteAnim_83FA4B0, + gSpriteAnim_83FA4B8, + gSpriteAnim_83FA4C0, + gSpriteAnim_83FA4CC, + gSpriteAnim_83FA4D8, + gSpriteAnim_83FA4E4 +}; + +const struct SpriteTemplate gSpriteTemplate_83FA50C = {0xFFFF, 6, &gOamData_83FA44C, gSpriteAnimTable_83FA4F0, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; + +const struct SpriteTemplate gSpriteTemplate_83FA524 = {0xFFFF, 7, &gOamData_83FA454, gSpriteAnimTable_83FA4F4, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, sub_8119D80}; + +const struct OamData gOamData_83FA53C = { + .affineMode = ST_OAM_AFFINE_OFF, + .shape = ST_OAM_SQUARE, + .size = 1, + .priority = 2 +}; + +const struct OamData gOamData_83FA544 = { + .affineMode = ST_OAM_AFFINE_OFF, + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 2 +}; + +const struct OamData gOamData_83FA54C = { + .affineMode = ST_OAM_AFFINE_NORMAL, + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 2 +}; + +const struct SpriteFrameImage gSpriteImageTable_83FA554[] = { + {(void *)ewram18000 + 0x000, 0x080} +}; + +const struct SpriteFrameImage gSpriteImageTable_83FA55C[] = { + {(void *)ewram18000 + 0x080, 0x100} +}; + +const union AffineAnimCmd gSpriteAffineAnim_83FA564[] = { + AFFINEANIMCMD_FRAME(128, 128, 0, 0), + AFFINEANIMCMD_FRAME( 2, 2, 0, 60), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gSpriteAffineAnim_83FA57C[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_FRAME( -2, 0, 0, 15), + AFFINEANIMCMD_FRAME( -1, -2, 0, 15), + AFFINEANIMCMD_FRAME( -1, -5, 0, 24), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83FA5A4[] = { + gSpriteAffineAnim_83FA564 +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83FA5A8[] = { + gSpriteAffineAnim_83FA57C +}; + +const union AffineAnimCmd gSpriteAffineAnim_83FA5AC[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 0), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_83FA5BC[] = { + gSpriteAffineAnim_83FA5AC +}; + +const struct SpriteTemplate gSpriteTemplate_83FA5C0[] = { + {0xFFFF, 1, &gOamData_83FA53C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA554, gDummySpriteAffineAnimTable, SpriteCallbackDummy}, + {0xFFFF, 1, &gOamData_83FA544, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gDummySpriteAffineAnimTable, sub_8119964} +}; + +const struct SpriteTemplate gSpriteTemplate_83FA5F0 = {0xFFFF, 1, &gOamData_83FA54C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gSpriteAffineAnimTable_83FA5A8, sub_8119D80}; void sub_8117838(u8 r0) { @@ -629,9 +949,7 @@ void sub_81180F4(u16 r0) u8 sub_81181E8(u8 r0) { - u8 t[5]; - memcpy(t, gUnknown_083FA608, sizeof t); - // u8 t = {0, 1, 2, 3, 4}; + u8 t[] = {0, 1, 2, 3, 4}; if (r0 >= 20) r0 = 0; switch (gUnknown_083F8C00[r0].var01_0) @@ -1250,14 +1568,16 @@ void sub_8119224(struct Sprite *sprite) { u16 t; u8 i; - s16 s[0x2][0x2]; + s16 s[2][2] = { + {0x74, 0x2C}, + {0x74, 0x70} + }; struct Roulette *p; - memcpy(s, &gUnknown_083FA60E, 0x8); t = sprite->data[0x7] - 0x2; p = eRoulette; p->var3C[0x37] = CreateSprite(&gSpriteTemplate_83FA50C, 0x24, -0xC, 0x32); - p->var3C[0x38] = CreateSprite(&gSpriteTemplate_83FA5C0[0x0], s[sprite->data[0x0]][0x0], s[sprite->data[0x0]][0x1], 0x3B); - p->var3C[0x39] = CreateSprite(&gSpriteTemplate_83FA5C0[0x1], 0x24, 0x8C, 0x33); + p->var3C[0x38] = CreateSprite(&gSpriteTemplate_83FA5C0[0], s[sprite->data[0x0]][0x0], s[sprite->data[0x0]][0x1], 0x3B); + p->var3C[0x39] = CreateSprite(&gSpriteTemplate_83FA5C0[1], 0x24, 0x8C, 0x33); gSprites[eRoulette->var3C[0x39]].oam.objMode = 0x1; for (i = 0x0; i < 0x3; i++) { @@ -1280,9 +1600,11 @@ void sub_81193D4(struct Sprite *sprite) { u8 i = 0; s16 t; - s16 s[0x2][0x2]; + s16 s[2][2] = { + {256, 84}, + {-16, 84} + }; const struct StructgUnknown_083F8DF4 *p; - memcpy(s, &gUnknown_083FA616, 0x8); t = sprite->data[0x7] - 0x2; eRoulette->var3C[0x37] = CreateSprite(&gSpriteTemplate_83FA524, s[sprite->data[0x0]][0x0], s[sprite->data[0x0]][0x1], 0x32); StartSpriteAnim(&gSprites[eRoulette->var3C[0x37]], sprite->data[0x0]); @@ -1690,6 +2012,19 @@ void sub_811952C(struct Sprite *sprite) } #endif +const u16 gUnknown_083FA61E[] = { + 0x0907, + 0x0808, + 0x0709, + 0x060A, + 0x050B, + 0x040C, + 0x030D, + 0x020E, + 0x010F, + 0x0010 +}; + void sub_8119780(struct Sprite *sprite) { if (sprite->data[1]++ >= sprite->data[3]) @@ -1708,10 +2043,13 @@ void sub_8119780(struct Sprite *sprite) void sub_81197D8(struct Sprite *sprite) { - u16 t[0x3][0x4]; + s16 t[3][4] = { + {-1, 0, 1, 0}, + {-2, 0, 2, 0}, + {-3, 0, 3, 0} + }; s32 p, z; - memcpy(t, &gUnknown_083FA632, 24); if (sprite->data[1]++ < sprite->data[3]) { if (sprite->data[1] & 1) @@ -1863,10 +2201,17 @@ void sub_8119B24(struct Sprite *sprite) void sub_8119BCC(struct Sprite *sprite) { - s8 t[0x2]; //sign - s8 z[0x8][0x2]; - memcpy(t, &gUnknown_083FA64A, 0x2); - memcpy(z, &gUnknown_083FA64C, 0x10); + s8 t[2] = {-1, 1}; //sign + s8 z[8][2] = { + {2, 0}, + {2, 0}, + {2, -1}, + {2, -1}, + {2, -1}, + {2, -1}, + {2, -2}, + {2, -2} + }; if (sprite->data[0x1]-- > 0x7) { sprite->pos1.x += t[eRoulette->var38->data[0x0]] * 0x2; @@ -1900,8 +2245,7 @@ void sub_8119BCC(struct Sprite *sprite) void sub_8119D08(struct Sprite *sprite) { - s8 t[0x2]; //sign - memcpy(t, &gUnknown_083FA64A, 0x2); + s8 t[0x2] = {-1, 1}; //sign if (sprite->data[0x1]-- >= 0x0) { sprite->pos1.x += t[eRoulette->var38->data[0x0]] * 0x2; |