Skip to content

Commit

Permalink
savedraw in process
Browse files Browse the repository at this point in the history
MokhaLeee committed Jun 18, 2024
1 parent 24a073c commit 22c9f89
Showing 18 changed files with 147 additions and 190 deletions.
3 changes: 3 additions & 0 deletions FireEmblem7J.lds
Original file line number Diff line number Diff line change
@@ -12,6 +12,7 @@ SECTIONS
. = __ewram_overlay_beg;
ewram_overlay_0 (NOLOAD) : ALIGN(4)
{
. = 0x0000F4; gBonusClaimData = .;
. = 0x00310C; gStatScreenSt = .;
. = 0x00323C; gUiTmScratchA = .;
. = 0x00373C; gUiTmScratchB = .;
@@ -267,6 +268,7 @@ SECTIONS
asm/save.o(.text);
src/savemenu.o(.text);
asm/savemenu.o(.text);
src/savedraw.o(.text);
asm/savedraw.o(.text);
src/savedrawfx.o(.text);
asm/savedrawfx.o(.text);
@@ -359,6 +361,7 @@ SECTIONS
. = ALIGN(4); data/data_08D8A368.o(.data)
. = ALIGN(4); src/save_core.o(.data)
. = ALIGN(4); data/data_08DAD284.o(.data)
. = ALIGN(4); src/savemenu.o(.data)
. = ALIGN(4); data/savemenu.o(.data)
. = ALIGN(4); src/savedrawfx.o(.data)
. = ALIGN(4); data/savedrawfx.o(.data)
4 changes: 2 additions & 2 deletions asm/code_080AB6FC.s
Original file line number Diff line number Diff line change
@@ -3989,7 +3989,7 @@ sub_80AD818: @ 0x080AD818
adds r0, r4, #0
bl Decompress
ldr r0, _080AD908 @ =gBg3Tm
ldr r1, _080AD90C @ =TsaDirect_SpinRotation
ldr r1, _080AD90C @ =Tsa_SpinRotation
movs r2, #0
movs r3, #5
bl sub_8001F14
@@ -4046,7 +4046,7 @@ _080AD8FC: .4byte 0x06013800
_080AD900: .4byte sub_80AD778
_080AD904: .4byte Img_SpinRotation
_080AD908: .4byte gBg3Tm
_080AD90C: .4byte TsaDirect_SpinRotation
_080AD90C: .4byte Tsa_SpinRotation
_080AD910: .4byte gDispIo

thumb_func_start sub_80AD914
127 changes: 4 additions & 123 deletions asm/savedraw.s
Original file line number Diff line number Diff line change
@@ -1,125 +1,6 @@
.include "macro.inc"
.syntax unified

thumb_func_start sub_80A5B44
sub_80A5B44: @ 0x080A5B44
push {r4, r5, lr}
ldr r0, _080A5C2C @ =gUnk_08DAD33C
bl InitBgs
ldr r4, _080A5C30 @ =gDispIo
movs r0, #8
rsbs r0, r0, #0
ldrb r1, [r4]
ands r0, r1
movs r1, #1
orrs r0, r1
strb r0, [r4]
movs r0, #0x3f
ldrb r2, [r4, #0x15]
ands r0, r2
movs r1, #0x40
orrs r0, r1
movs r1, #0x21
rsbs r1, r1, #0
ands r0, r1
strb r0, [r4, #0x15]
movs r0, #3
ldrb r1, [r4, #0xc]
orrs r0, r1
strb r0, [r4, #0xc]
movs r1, #4
rsbs r1, r1, #0
adds r0, r1, #0
ldrb r2, [r4, #0x10]
ands r0, r2
strb r0, [r4, #0x10]
adds r0, r1, #0
ldrb r2, [r4, #0x14]
ands r0, r2
movs r2, #2
orrs r0, r2
strb r0, [r4, #0x14]
ldrb r0, [r4, #0x18]
ands r1, r0
orrs r1, r2
strb r1, [r4, #0x18]
bl EndAllMus
movs r0, #2
rsbs r0, r0, #0
ldrb r1, [r4, #1]
ands r0, r1
movs r1, #3
rsbs r1, r1, #0
ands r0, r1
subs r1, #2
ands r0, r1
subs r1, #4
ands r0, r1
subs r1, #8
ands r0, r1
strb r0, [r4, #1]
ldr r1, _080A5C34 @ =0x02000001
movs r0, #0xa
strb r0, [r1]
ldr r1, _080A5C38 @ =gAnims
movs r0, #0x64
strb r0, [r1]
ldr r0, _080A5C3C @ =SaveMenuOnHBlank
bl SetOnHBlankA
ldr r0, _080A5C40 @ =Pal_SaveMenuWindow
movs r1, #0x88
lsls r1, r1, #2
movs r2, #0x80
lsls r2, r2, #1
bl ApplyPaletteExt
ldr r0, _080A5C44 @ =Pal_SaveMenuBackground
movs r1, #0
movs r2, #0x60
bl ApplyPaletteExt
ldr r4, _080A5C48 @ =Img_MuralBackground
movs r0, #0
bl GetBgChrOffset
adds r1, r0, #0
movs r5, #0xc0
lsls r5, r5, #0x13
adds r1, r1, r5
adds r0, r4, #0
bl Decompress
ldr r0, _080A5C4C @ =gBg0Tm
ldr r1, _080A5C50 @ =Tsa_SaveMenuBackground
movs r2, #0
bl TmApplyTsa_thm
ldr r4, _080A5C54 @ =Img_SpinRotation
movs r0, #2
bl GetBgChrOffset
adds r1, r0, #0
adds r1, r1, r5
adds r0, r4, #0
bl Decompress
ldr r0, _080A5C58 @ =gBg3Tm
ldr r1, _080A5C5C @ =TsaDirect_SpinRotation
movs r2, #0
movs r3, #5
bl sub_8001F14
movs r0, #8
bl EnableBgSync
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_080A5C2C: .4byte gUnk_08DAD33C
_080A5C30: .4byte gDispIo
_080A5C34: .4byte 0x02000001
_080A5C38: .4byte gAnims
_080A5C3C: .4byte SaveMenuOnHBlank
_080A5C40: .4byte Pal_SaveMenuWindow
_080A5C44: .4byte Pal_SaveMenuBackground
_080A5C48: .4byte Img_MuralBackground
_080A5C4C: .4byte gBg0Tm
_080A5C50: .4byte Tsa_SaveMenuBackground
_080A5C54: .4byte Img_SpinRotation
_080A5C58: .4byte gBg3Tm
_080A5C5C: .4byte TsaDirect_SpinRotation

thumb_func_start sub_80A5C60
sub_80A5C60: @ 0x080A5C60
@@ -132,7 +13,7 @@ sub_80A5C60: @ 0x080A5C60
mov r1, sp
movs r0, #0
strh r0, [r1]
ldr r4, _080A5D00 @ =gUnk_08DAD844
ldr r4, _080A5D00 @ =gpBonusClaimData
ldr r1, [r4]
ldr r2, _080A5D04 @ =0x01000142
mov r0, sp
@@ -203,7 +84,7 @@ _080A5CF6:
bl Proc_Goto
b _080A5D10
.align 2, 0
_080A5D00: .4byte gUnk_08DAD844
_080A5D00: .4byte gpBonusClaimData
_080A5D04: .4byte 0x01000142
_080A5D08:
ldr r0, _080A5D20 @ =0x06013800
@@ -326,13 +207,13 @@ _080A5DE8:
thumb_func_start sub_80A5DF0
sub_80A5DF0: @ 0x080A5DF0
push {lr}
ldr r0, _080A5E00 @ =gUnk_08DAD844
ldr r0, _080A5E00 @ =gpBonusClaimData
ldr r0, [r0]
bl SaveBonusContentData
pop {r0}
bx r0
.align 2, 0
_080A5E00: .4byte gUnk_08DAD844
_080A5E00: .4byte gpBonusClaimData

thumb_func_start sub_80A5E04
sub_80A5E04: @ 0x080A5E04
16 changes: 8 additions & 8 deletions asm/savemenu.s
Original file line number Diff line number Diff line change
@@ -234,7 +234,7 @@ _080A4296:
thumb_func_start SaveMenu_Init
SaveMenu_Init: @ 0x080A42A8
push {lr}
ldr r0, _080A4318 @ =gUnk_08DAD33C
ldr r0, _080A4318 @ =BgConfig_SaveMenu
bl InitBgs
ldr r2, _080A431C @ =gDispIo
movs r0, #2
@@ -289,7 +289,7 @@ SaveMenu_Init: @ 0x080A42A8
pop {r0}
bx r0
.align 2, 0
_080A4318: .4byte gUnk_08DAD33C
_080A4318: .4byte BgConfig_SaveMenu
_080A431C: .4byte gDispIo

thumb_func_start ProcSaveMenu_InitScreen
@@ -434,7 +434,7 @@ _080A43D2:
ldr r1, _080A4530 @ =gAnims
movs r0, #0x64
strb r0, [r1]
ldr r1, _080A4534 @ =0x02000001
ldr r1, _080A4534 @ =gUnk_Savemenu_02000001
movs r0, #0xa
strb r0, [r1]
ldr r0, _080A4538 @ =SaveMenuOnHBlank
@@ -449,7 +449,7 @@ _080A43D2:
adds r0, r4, #0
bl Decompress
ldr r0, _080A4540 @ =gBg3Tm
ldr r1, _080A4544 @ =TsaDirect_SpinRotation
ldr r1, _080A4544 @ =Tsa_SpinRotation
movs r2, #0
movs r3, #5
bl sub_8001F14
@@ -519,11 +519,11 @@ _080A4524: .4byte 0x06010800
_080A4528: .4byte gSinLut
_080A452C: .4byte gCosLut
_080A4530: .4byte gAnims
_080A4534: .4byte 0x02000001
_080A4534: .4byte gUnk_Savemenu_02000001
_080A4538: .4byte SaveMenuOnHBlank
_080A453C: .4byte Img_SpinRotation
_080A4540: .4byte gBg3Tm
_080A4544: .4byte TsaDirect_SpinRotation
_080A4544: .4byte Tsa_SpinRotation
_080A4548: .4byte gPal

thumb_func_start SaveMenu_LoadExtraMenuGraphics
@@ -3136,7 +3136,7 @@ sub_80A5980: @ 0x080A5980
ldr r1, _080A5A38 @ =gAnims
movs r0, #0x64
strb r0, [r1]
ldr r1, _080A5A3C @ =0x02000001
ldr r1, _080A5A3C @ =gUnk_Savemenu_02000001
movs r0, #0xa
strb r0, [r1]
bl sub_80A6BB0
@@ -3178,7 +3178,7 @@ _080A5A2C: .4byte 0x06010800
_080A5A30: .4byte gBg0Tm
_080A5A34: .4byte Tsa_SaveMenuBackground
_080A5A38: .4byte gAnims
_080A5A3C: .4byte 0x02000001
_080A5A3C: .4byte gUnk_Savemenu_02000001

thumb_func_start sub_80A5A40
sub_80A5A40: @ 0x080A5A40
8 changes: 4 additions & 4 deletions asm/savemenu_difficulty.s
Original file line number Diff line number Diff line change
@@ -2887,7 +2887,7 @@ sub_80A87A4: @ 0x080A87A4
ble _080A87B8
movs r4, #0x40
_080A87B8:
ldr r0, _080A87F0 @ =0x02000001
ldr r0, _080A87F0 @ =gUnk_Savemenu_02000001
ldrb r0, [r0]
subs r0, #0xa
lsls r0, r0, #1
@@ -2917,7 +2917,7 @@ _080A87E6:
b _080A87FA
.align 2, 0
_080A87EC: .4byte gPal + 0x202
_080A87F0: .4byte 0x02000001
_080A87F0: .4byte gUnk_Savemenu_02000001
_080A87F4: .4byte 0x0201E9F4
_080A87F8:
movs r1, #0x1f
@@ -3124,7 +3124,7 @@ _080A893E:
movs r0, #2
movs r3, #0x4c
bl BgAffinAnchoring
ldr r4, _080A89AC @ =0x02000001
ldr r4, _080A89AC @ =gUnk_Savemenu_02000001
ldr r0, [r5, #0x48]
str r0, [sp]
movs r0, #8
@@ -3149,7 +3149,7 @@ _080A893E:
.align 2, 0
_080A89A4: .4byte gSinLut
_080A89A8: .4byte 0x0201E8D4
_080A89AC: .4byte 0x02000001
_080A89AC: .4byte gUnk_Savemenu_02000001
_080A89B0: .4byte 0x000003FF
_080A89B4:
ldr r0, [r5, #0x48]
4 changes: 2 additions & 2 deletions data/const_data_0842D270.s
Original file line number Diff line number Diff line change
@@ -44,8 +44,8 @@ Tsa_SaveMenuBackground: @ 0x0842D860
Img_SpinRotation: @ 0x0842DD14
.incbin "FireEmblem7J.base.gba", 0x42DD14, 0x42FD94 - 0x42DD14

.global TsaDirect_SpinRotation
TsaDirect_SpinRotation: @ 0x0842FD94
.global Tsa_SpinRotation
Tsa_SpinRotation: @ 0x0842FD94
.incbin "FireEmblem7J.base.gba", 0x42FD94, 0x42FF00 - 0x42FD94

.global Img_SaveMenuSprits
12 changes: 0 additions & 12 deletions data/data_08DAD284.s
Original file line number Diff line number Diff line change
@@ -15,15 +15,3 @@ gExtraMapInfo: @ 0x08DAD298
.global gUnk_08DAD29C
gUnk_08DAD29C: @ 0x08DAD29C
.incbin "FireEmblem7J.base.gba", 0xDAD29C, 0xDAD33C - 0xDAD29C

.global gUnk_08DAD33C
gUnk_08DAD33C: @ 0x08DAD33C
.incbin "FireEmblem7J.base.gba", 0xDAD33C, 0xDAD354 - 0xDAD33C

.global gUnk_08DAD354
gUnk_08DAD354: @ 0x08DAD354
.incbin "FireEmblem7J.base.gba", 0xDAD354, 0xDAD384 - 0xDAD354

.global gUnk_08DAD384
gUnk_08DAD384: @ 0x08DAD384
.incbin "FireEmblem7J.base.gba", 0xDAD384, 0xDAD3A4 - 0xDAD384
14 changes: 11 additions & 3 deletions data/savemenu.s
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
.section .data

.global gUnk_08DAD354
gUnk_08DAD354: @ 0x08DAD354
.incbin "FireEmblem7J.base.gba", 0xDAD354, 0xDAD384 - 0xDAD354

.global gUnk_08DAD384
gUnk_08DAD384: @ 0x08DAD384
.incbin "FireEmblem7J.base.gba", 0xDAD384, 0xDAD3A4 - 0xDAD384

.global ProcScr_SaveMenu
ProcScr_SaveMenu: @ 0x08DAD3A4
@ PROC_19
@@ -281,9 +289,9 @@ gUnk_08DAD674: @ 0x08DAD674
gUnk_08DAD784: @ 0x08DAD784
.incbin "FireEmblem7J.base.gba", 0xDAD784, 0xDAD844 - 0xDAD784

.global gUnk_08DAD844
gUnk_08DAD844: @ 0x08DAD844
.incbin "FireEmblem7J.base.gba", 0xDAD844, 0xDAD848 - 0xDAD844
.global gpBonusClaimData
gpBonusClaimData: @ 0x08DAD844
.4byte gBonusClaimData

.global gUnk_08DAD848
gUnk_08DAD848: @ 0x08DAD848
2 changes: 1 addition & 1 deletion include/gbafe.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#pragma once

#include "gba/gba.h"
#include "gbafe/global.h"

#include "constants/terrains.h"
@@ -57,3 +56,4 @@
#include "gbafe/bmio.h"
#include "gbafe/ai.h"
#include "gbafe/scrolling_util.h"
#include "gbafe/bonusclaim.h"
13 changes: 13 additions & 0 deletions include/gbafe/bonusclaim.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#pragma once

#include "global.h"

struct BonusClaimEnt {
/* 00 */ u8 unseen;
/* 01 */ u8 kind;
/* 02 */ u8 itemId;
/* 03 */ char str[0x11]; // Only used in FE8
};

extern struct BonusClaimEnt gBonusClaimData[];
extern CONST_DATA struct BonusClaimEnt * gpBonusClaimData;
2 changes: 2 additions & 0 deletions include/gbafe/global.h
Original file line number Diff line number Diff line change
@@ -3,6 +3,8 @@
#include <stdlib.h>
#include <stddef.h>

#include "../gba/gba.h"

#include "types.h"
#include "unk-types.h"
#include "unk-functions.h"
Loading

0 comments on commit 22c9f89

Please sign in to comment.