mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 11:44:17 +01:00
Cb2_ViewWallClock
This commit is contained in:
parent
24009ea941
commit
efd23cb91b
147
asm/wallclock.s
147
asm/wallclock.s
@ -5,153 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start Cb2_ViewWallClock
|
||||
Cb2_ViewWallClock: @ 8134B44
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x10
|
||||
bl LoadWallClockGraphics
|
||||
ldr r0, =gUnknown_08DCC908
|
||||
ldr r1, =0x06003800
|
||||
bl LZ77UnCompVram
|
||||
ldr r0, =sub_8134F10
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
adds r0, r7, 0
|
||||
bl sub_8135130
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r7, 2
|
||||
adds r0, r7
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
movs r1, 0x12
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, 0
|
||||
bne _08134B9C
|
||||
movs r2, 0x2D
|
||||
mov r10, r2
|
||||
movs r0, 0x5A
|
||||
str r0, [sp, 0xC]
|
||||
b _08134BA4
|
||||
.pool
|
||||
_08134B9C:
|
||||
movs r1, 0x5A
|
||||
mov r10, r1
|
||||
movs r2, 0x87
|
||||
str r2, [sp, 0xC]
|
||||
_08134BA4:
|
||||
ldr r0, =gUnknown_085B2250
|
||||
movs r1, 0x78
|
||||
movs r2, 0x50
|
||||
movs r3, 0x1
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r6, =gSprites
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r6
|
||||
movs r0, 0
|
||||
mov r9, r0
|
||||
strh r7, [r1, 0x2E]
|
||||
ldrb r2, [r1, 0x1]
|
||||
movs r5, 0x4
|
||||
negs r5, r5
|
||||
adds r0, r5, 0
|
||||
ands r0, r2
|
||||
movs r2, 0x1
|
||||
mov r8, r2
|
||||
mov r2, r8
|
||||
orrs r0, r2
|
||||
strb r0, [r1, 0x1]
|
||||
ldrb r2, [r1, 0x3]
|
||||
movs r4, 0x3F
|
||||
negs r4, r4
|
||||
adds r0, r4, 0
|
||||
ands r0, r2
|
||||
strb r0, [r1, 0x3]
|
||||
ldr r0, =gUnknown_085B2268
|
||||
movs r1, 0x78
|
||||
movs r2, 0x50
|
||||
movs r3, 0
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r6
|
||||
strh r7, [r1, 0x2E]
|
||||
ldrb r0, [r1, 0x1]
|
||||
ands r5, r0
|
||||
mov r0, r8
|
||||
orrs r5, r0
|
||||
strb r5, [r1, 0x1]
|
||||
ldrb r0, [r1, 0x3]
|
||||
ands r4, r0
|
||||
movs r0, 0x2
|
||||
orrs r4, r0
|
||||
strb r4, [r1, 0x3]
|
||||
ldr r0, =gUnknown_085B22A0
|
||||
movs r1, 0x78
|
||||
movs r2, 0x50
|
||||
movs r3, 0x2
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r6
|
||||
strh r7, [r1, 0x2E]
|
||||
mov r2, r10
|
||||
strh r2, [r1, 0x30]
|
||||
ldr r0, =gUnknown_085B22B8
|
||||
movs r1, 0x78
|
||||
movs r2, 0x50
|
||||
movs r3, 0x2
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 4
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r6
|
||||
strh r7, [r1, 0x2E]
|
||||
mov r0, sp
|
||||
ldrh r0, [r0, 0xC]
|
||||
strh r0, [r1, 0x30]
|
||||
bl sub_813498C
|
||||
ldr r2, =gText_Cancel4
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
mov r1, r9
|
||||
str r1, [sp, 0x4]
|
||||
str r1, [sp, 0x8]
|
||||
movs r1, 0x1
|
||||
movs r3, 0
|
||||
bl PrintTextOnWindow
|
||||
movs r0, 0x1
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0x2
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
add sp, 0x10
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end Cb2_ViewWallClock
|
||||
|
||||
thumb_func_start sub_8134C9C
|
||||
sub_8134C9C: @ 8134C9C
|
||||
push {lr}
|
||||
|
@ -94,6 +94,7 @@ extern const u8 gUnknown_08DBA12C[];
|
||||
extern const u8 gUnknown_08DCC05C[];
|
||||
extern const u16 gUnknown_08DCC01C[];
|
||||
extern const u16 gUnknown_08DCC03C[];
|
||||
extern const u16 gUnknown_08DCC648[];
|
||||
extern const u8 gUnknown_08DCC648[];
|
||||
extern const u8 gUnknown_08DCC908[];
|
||||
|
||||
#endif //GUARD_GRAPHICS_H
|
||||
|
@ -83,5 +83,6 @@ extern const u8 gText_OkayToDeleteFromRegistry[];
|
||||
extern const u8 gText_RegisteredDataDeleted[];
|
||||
extern const u8 gUnknown_085EA79D[];
|
||||
extern const u8 gText_Confirm3[];
|
||||
extern const u8 gText_Cancel4[];
|
||||
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
@ -23,6 +23,8 @@
|
||||
|
||||
void sub_8134C9C(void);
|
||||
void sub_8134CB8(u8 taskId);
|
||||
void sub_8134F10(u8 taskId);
|
||||
void sub_8135130(u8 taskId);
|
||||
void sub_81351AC(struct Sprite *sprite);
|
||||
void sub_8135244(struct Sprite *sprite);
|
||||
void sub_81352DC(struct Sprite *sprite);
|
||||
@ -238,12 +240,53 @@ void Cb2_StartWallClock(void)
|
||||
gSprites[spriteId].oam.matrixNum = 1;
|
||||
spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2);
|
||||
gSprites[spriteId].data0 = taskId;
|
||||
gSprites[spriteId].data1 = 0x2d;
|
||||
gSprites[spriteId].data1 = 45;
|
||||
spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2);
|
||||
gSprites[spriteId].data0 = taskId;
|
||||
gSprites[spriteId].data1 = 0x5a;
|
||||
gSprites[spriteId].data1 = 90;
|
||||
sub_813498C();
|
||||
PrintTextOnWindow(1, 1, gText_Confirm3, 0, 1, 0, NULL);
|
||||
PutWindowTilemap(1);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
}
|
||||
|
||||
void Cb2_ViewWallClock(void)
|
||||
{
|
||||
u8 taskId;
|
||||
u8 spriteId;
|
||||
u8 r10;
|
||||
u8 spc;
|
||||
|
||||
LoadWallClockGraphics();
|
||||
LZ77UnCompVram(gUnknown_08DCC908, (u16 *)BG_SCREEN_ADDR(7));
|
||||
taskId = CreateTask(sub_8134F10, 0);
|
||||
sub_8135130(taskId);
|
||||
if (gTasks[taskId].data[5] == 0)
|
||||
{
|
||||
r10 = 45;
|
||||
spc = 90;
|
||||
}
|
||||
else
|
||||
{
|
||||
r10 = 90;
|
||||
spc = 135;
|
||||
}
|
||||
spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1);
|
||||
gSprites[spriteId].data0 = taskId;
|
||||
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
|
||||
gSprites[spriteId].oam.matrixNum = 0;
|
||||
spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0);
|
||||
gSprites[spriteId].data0 = taskId;
|
||||
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
|
||||
gSprites[spriteId].oam.matrixNum = 1;
|
||||
spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2);
|
||||
gSprites[spriteId].data0 = taskId;
|
||||
gSprites[spriteId].data1 = r10;
|
||||
spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2);
|
||||
gSprites[spriteId].data0 = taskId;
|
||||
gSprites[spriteId].data1 = spc;
|
||||
sub_813498C();
|
||||
PrintTextOnWindow(1, 1, gText_Cancel4, 0, 1, 0, NULL);
|
||||
PutWindowTilemap(1);
|
||||
schedule_bg_copy_tilemap_to_vram(2);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user