Skip to content

Commit

Permalink
savedraw in process
Browse files Browse the repository at this point in the history
MokhaLeee committed Jun 18, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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.