Finish roulette data

This commit is contained in:
PikalaxALT 2019-06-27 16:05:07 -04:00 committed by huderlem
parent a437045526
commit 8a5fe8781a
5 changed files with 418 additions and 480 deletions

View File

@ -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

View File

@ -251,6 +251,7 @@ extern u16 gReservedSpriteTileCount;
extern u8 gOamLimit;
extern struct Sprite gSprites[];
extern struct OamMatrix gOamMatrices[];
void ResetSpriteData(void);
void AnimateSprites(void);

View File

@ -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);

View File

@ -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;

View File

@ -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;