mirror of https://github.com/zeldaret/tmc.git
Menu struct fixed for good this time
This commit is contained in:
parent
e0cfbb15a5
commit
f4320b6fcd
|
@ -6,74 +6,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_080A3BD0
|
||||
sub_080A3BD0: @ 0x080A3BD0
|
||||
push {r4, lr}
|
||||
ldr r0, _080A3C54 @ =gMenu
|
||||
movs r1, #0
|
||||
movs r4, #1
|
||||
strb r4, [r0, #1]
|
||||
adds r0, #0x2a
|
||||
strb r1, [r0]
|
||||
bl sub_080A4D34
|
||||
movs r0, #0xcb
|
||||
bl LoadPalettesByPaletteGroupIndex
|
||||
movs r0, #0x75
|
||||
bl sub_0801D7EC
|
||||
bl sub_080A4494
|
||||
adds r1, r0, #7
|
||||
cmp r1, #0
|
||||
bge _080A3BFA
|
||||
adds r1, #7
|
||||
_080A3BFA:
|
||||
asrs r0, r1, #3
|
||||
subs r0, #6
|
||||
cmp r0, #0
|
||||
bge _080A3C04
|
||||
movs r0, #0
|
||||
_080A3C04:
|
||||
cmp r0, #6
|
||||
ble _080A3C0A
|
||||
movs r0, #6
|
||||
_080A3C0A:
|
||||
adds r0, #0x76
|
||||
bl sub_0801D7EC
|
||||
ldr r1, _080A3C58 @ =gScreen
|
||||
ldrh r2, [r1]
|
||||
movs r3, #0xf0
|
||||
lsls r3, r3, #5
|
||||
adds r0, r3, #0
|
||||
orrs r0, r2
|
||||
strh r0, [r1]
|
||||
ldr r0, _080A3C5C @ =0x00001C01
|
||||
strh r0, [r1, #0x14]
|
||||
ldr r0, _080A3C60 @ =0x00001D02
|
||||
strh r0, [r1, #0x20]
|
||||
ldr r0, _080A3C64 @ =0x00001E0B
|
||||
strh r0, [r1, #0x2c]
|
||||
strh r4, [r1, #0x1a]
|
||||
strh r4, [r1, #0x26]
|
||||
strh r4, [r1, #0x32]
|
||||
bl sub_080A4528
|
||||
bl sub_080A4398
|
||||
movs r0, #0
|
||||
bl sub_0801E738
|
||||
ldr r0, _080A3C68 @ =gUnk_081280DC
|
||||
bl sub_080A70AC
|
||||
movs r0, #1
|
||||
bl sub_080A7114
|
||||
movs r0, #6
|
||||
movs r1, #8
|
||||
bl DoFade
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080A3C54: .4byte gMenu
|
||||
_080A3C58: .4byte gScreen
|
||||
_080A3C5C: .4byte 0x00001C01
|
||||
_080A3C60: .4byte 0x00001D02
|
||||
_080A3C64: .4byte 0x00001E0B
|
||||
_080A3C68: .4byte gUnk_081280DC
|
||||
|
||||
thumb_func_start sub_080A3C6C
|
||||
sub_080A3C6C: @ 0x080A3C6C
|
||||
push {r4, r5, lr}
|
||||
|
|
|
@ -176,4 +176,11 @@ extern void sub_080A3B74(void);
|
|||
extern void sub_080A4054(void);
|
||||
extern void sub_0801C1D4(void);
|
||||
extern void sub_0801C208(void);
|
||||
extern void sub_080A4D34(void);
|
||||
extern u32 sub_080A4494(void);
|
||||
extern void sub_080A4528(void);
|
||||
extern void sub_080A4398(void);
|
||||
extern void sub_0801E738(u32);
|
||||
extern void sub_080A70AC(void*);
|
||||
extern void sub_080A7114(u32);
|
||||
#endif
|
||||
|
|
|
@ -19,8 +19,10 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
u8 field_0x0;
|
||||
u16 field_0x1;
|
||||
u8 field_0x1;
|
||||
u8 field_0x2;
|
||||
u8 field_0x3;
|
||||
u8 field_0x4;
|
||||
u8 menuType;
|
||||
u8 overlayType;
|
||||
u8 storyPanelIndex;
|
||||
|
|
|
@ -117,7 +117,7 @@ void sub_080AD474(void)
|
|||
gMenu.menuType = 1;
|
||||
gMenu.overlayType = 0;
|
||||
gMenu.transitionTimer = 0x1e;
|
||||
gMenu.field_0x3 = 7;
|
||||
gMenu.field_0x4 = 7;
|
||||
EraseAllEntities();
|
||||
sub_080ADD30(sub_0801CFA8(0));
|
||||
gUnk_02024490 = 1;
|
||||
|
@ -191,8 +191,8 @@ void sub_080AD474(void)
|
|||
sub_080ADA14(0x1ff,0);
|
||||
}
|
||||
}
|
||||
if (gMenu.field_0x3 != ((struct_02000000*)0x2000000)->gameLanguage) {
|
||||
gMenu.field_0x3 = ((struct_02000000*)0x2000000)->gameLanguage;
|
||||
if (gMenu.field_0x4 != ((struct_02000000*)0x2000000)->gameLanguage) {
|
||||
gMenu.field_0x4 = ((struct_02000000*)0x2000000)->gameLanguage;
|
||||
sub_0801D7EC(3);
|
||||
}
|
||||
sub_080AD89C();
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include "functions.h"
|
||||
#include "menu.h"
|
||||
#include "structures.h"
|
||||
#include "screen.h"
|
||||
|
||||
extern void (*const gUnk_081280C4[])();
|
||||
|
||||
|
@ -19,3 +20,42 @@ void DrawKinstoneMenu(void)
|
|||
sub_080AD918();
|
||||
gUnk_030010A0.field_0x24[8] = 0;
|
||||
}
|
||||
|
||||
extern void gUnk_081280DC;
|
||||
|
||||
void sub_080A3BD0(void)
|
||||
{
|
||||
s32 iVar1;
|
||||
s32 iVar2;
|
||||
|
||||
gMenu.field_0x1 = 1;
|
||||
gMenu.field_0x12[0x17] = 0;
|
||||
sub_080A4D34();
|
||||
LoadPalettesByPaletteGroupIndex(0xcb);
|
||||
sub_0801D7EC(0x75);
|
||||
|
||||
iVar1 = sub_080A4494();
|
||||
iVar2 = iVar1 + 7;
|
||||
if (iVar2 < 0) {
|
||||
iVar2 += 0x7;
|
||||
}
|
||||
|
||||
iVar1 = (iVar2 >> 3) - 6;
|
||||
iVar1 = max(iVar1, 0);
|
||||
iVar1 = min(iVar1, 6);
|
||||
|
||||
sub_0801D7EC(iVar1 + 0x76);
|
||||
gScreen.lcd.lcdControl2 |= 0x1e00;
|
||||
gScreen.bg1.unk = 0x1c01;
|
||||
gScreen.bg2.unk = 0x1d02;
|
||||
gScreen.affine.unk2 = 0x1e0b;
|
||||
gScreen.bg2.bg0xOffset = 1;
|
||||
gScreen.affine.bg2xOffset = 1;
|
||||
gScreen.affine.bg3xOffset = 1;
|
||||
sub_080A4528();
|
||||
sub_080A4398();
|
||||
sub_0801E738(0);
|
||||
sub_080A70AC(&gUnk_081280DC);
|
||||
sub_080A7114(1);
|
||||
DoFade(6, 8);
|
||||
}
|
Loading…
Reference in New Issue