summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrakxo <87568477+Prakxo@users.noreply.github.com>2024-04-21 17:08:00 +0200
committerGitHub <noreply@github.com>2024-04-21 08:08:00 -0700
commit202737c1f0e252059f16a45dcda0c8a7b3dde78c (patch)
tree29625318bde9f28374ed17ba5a2b9d649f900ccf
parent30aaa1356fb359c25963fc1d2384a2a928bde32d (diff)
m_scene_ftr OK (#176)
* 1 byte off.. * m_scene_ftr OK * newline * warnings
-rw-r--r--include/6E3240.h (renamed from include/6E30B0.h)9
-rw-r--r--include/m_scene_ftr.h16
-rw-r--r--src/code/m_npc.c2
-rw-r--r--src/code/m_private.c2
-rw-r--r--src/code/m_scene.c2
-rw-r--r--src/code/m_scene_ftr.c44
-rw-r--r--src/code/m_start_data_init.c2
-rw-r--r--src/overlays/gamestates/ovl_play/m_play.c2
-rw-r--r--yamls/jp/code.yaml5
9 files changed, 70 insertions, 14 deletions
diff --git a/include/6E30B0.h b/include/6E3240.h
index 62b8c17..663ee20 100644
--- a/include/6E30B0.h
+++ b/include/6E3240.h
@@ -1,16 +1,11 @@
-#ifndef C_6E30B0_H
-#define C_6E30B0_H
+#ifndef C_6E3240_H
+#define C_6E3240_H
#include "ultra64.h"
struct Game;
struct Game_Play;
-// void func_800BF410_jp();
-// void func_800BF480_jp();
-void mScn_ObtainCarpetBank(struct Game_Play*);
-// void func_800BF56C_jp();
-void mScn_ObtainMyRoomBank(struct Game_Play*);
// void func_800BF5A0_jp();
// void func_800BF5F4_jp();
// void func_800BF770_jp();
diff --git a/include/m_scene_ftr.h b/include/m_scene_ftr.h
new file mode 100644
index 0000000..10b4c11
--- /dev/null
+++ b/include/m_scene_ftr.h
@@ -0,0 +1,16 @@
+#ifndef M_SCENE_FTR_H
+#define M_SCENE_FTR_H
+
+#include "ultra64.h"
+#include "other_types.h"
+
+struct Game_Play;
+struct ObjectExchangeBank;
+
+void mScn_Dma2Bank(struct ObjectExchangeBank* exchange, s32 id, RomOffset vrom, size_t size);
+void mScn_KeepMyRoomBankNew(struct ObjectExchangeBank* exchange, s16 id, size_t size);
+void mScn_ObtainCarpetBank(struct Game_Play*);
+s32 mScn_ObtainFurnitureBank(struct Game_Play* play, s32 bank);
+void mScn_ObtainMyRoomBank(struct Game_Play*);
+
+#endif
diff --git a/src/code/m_npc.c b/src/code/m_npc.c
index f9e8fcd..1c85824 100644
--- a/src/code/m_npc.c
+++ b/src/code/m_npc.c
@@ -5,7 +5,7 @@
#include "m_time.h"
#include "m_field_info.h"
#include "m_mail_check.h"
-#include "6E30B0.h"
+#include "6E3240.h"
#include "m_string.h"
#include "m_handbill.h"
#include "m_std_dma.h"
diff --git a/src/code/m_private.c b/src/code/m_private.c
index b799f9a..7560a8d 100644
--- a/src/code/m_private.c
+++ b/src/code/m_private.c
@@ -6,7 +6,7 @@
#include "m_player_lib.h"
#include "6E2300.h"
#include "m_field_info.h"
-#include "6E30B0.h"
+#include "6E3240.h"
#include "69CB30.h"
#include "m_handbill.h"
#include "m_house.h"
diff --git a/src/code/m_scene.c b/src/code/m_scene.c
index 8c5ba7a..3f27d44 100644
--- a/src/code/m_scene.c
+++ b/src/code/m_scene.c
@@ -13,7 +13,7 @@
#include "m_player_lib.h"
#include "m_std_dma.h"
#include "m_scene_table.h"
-#include "6E30B0.h"
+#include "m_scene_ftr.h"
#include "m_player_lib.h"
#include "overlays/actors/player_actor/m_player.h"
diff --git a/src/code/m_scene_ftr.c b/src/code/m_scene_ftr.c
new file mode 100644
index 0000000..7e54fc0
--- /dev/null
+++ b/src/code/m_scene_ftr.c
@@ -0,0 +1,44 @@
+#include "m_scene_ftr.h"
+#include "overlays/gamestates/ovl_play/m_play.h"
+
+void mScn_Dma2Bank(ObjectExchangeBank* exchange, s32 id, RomOffset vrom, size_t size) {
+
+ if (vrom != NULL) {
+ DmaMgr_RequestSyncDebug(exchange->status[id + 3].unk14.vram, vrom, size, "../m_scene_ftr.c", 52);
+ }
+}
+
+void mScn_KeepMyRoomBankNew(ObjectExchangeBank* exchange, s16 id, size_t size) {
+ ObjectStatus* bank = exchange->status + exchange->num;
+
+ bank->id = id;
+ bank->vram = (void*)exchange->unk1800;
+ bank->segment = (void*)exchange->unk1800;
+ bank->size = size;
+
+ if (exchange->num < (OBJECT_EXCHANGE_BANK_MAX - 1)) {
+ exchange->unk1800 = ALIGN16(exchange->unk1800 + size);
+ exchange->num++;
+ }
+}
+
+void mScn_ObtainCarpetBank(Game_Play* play) {
+ ObjectExchangeBank* exchange = &play->objectExchangeBank;
+ s32 i;
+
+ for (i = 0; i < 2; i++) {
+ mScn_KeepMyRoomBankNew(exchange, 18, 0x2020);
+ }
+
+ for (i = 0; i < 2; i++) {
+ mScn_KeepMyRoomBankNew(exchange, 19, 0x1020);
+ }
+}
+
+s32 mScn_ObtainFurnitureBank(UNUSED Game_Play* play, s32 bank) {
+ common_data.clip.unk_020 = bank;
+}
+
+void mScn_ObtainMyRoomBank(Game_Play* play) {
+ mScn_ObtainCarpetBank(play);
+}
diff --git a/src/code/m_start_data_init.c b/src/code/m_start_data_init.c
index 115182b..b936e89 100644
--- a/src/code/m_start_data_init.c
+++ b/src/code/m_start_data_init.c
@@ -7,7 +7,7 @@
#include "6C97F0.h"
#include "6D9D80.h"
#include "6DA460.h"
-#include "6E30B0.h"
+#include "6E3240.h"
#include "m_string.h"
#include "6ECD90.h"
#include "6EDD10.h"
diff --git a/src/overlays/gamestates/ovl_play/m_play.c b/src/overlays/gamestates/ovl_play/m_play.c
index 33b75c4..0f5f6a2 100644
--- a/src/overlays/gamestates/ovl_play/m_play.c
+++ b/src/overlays/gamestates/ovl_play/m_play.c
@@ -13,7 +13,7 @@
#include "6EDD10.h"
#include "69E2C0.h"
#include "683030.h"
-#include "6E30B0.h"
+#include "6E3240.h"
#include "6C97F0.h"
#include "6EFC20.h"
#include "67D890.h"
diff --git a/yamls/jp/code.yaml b/yamls/jp/code.yaml
index c4f22b9..7fda18f 100644
--- a/yamls/jp/code.yaml
+++ b/yamls/jp/code.yaml
@@ -72,7 +72,8 @@
- [0x6E08E0, asm, code/m_random_field]
- [0x6E0F50, c, code/m_rcp]
- [0x6E2300, asm, code/6E2300]
- - [0x6E30B0, asm, code/6E30B0]
+ - [0x6E30B0, c, code/m_scene_ftr]
+ - [0x6E3240, asm, code/6E3240]
- [0x6E6C90, c, code/m_start_data_init]
- [0x6E7AD0, c, code/m_string]
- [0x6E80C0, c, code/m_submenu]
@@ -232,7 +233,7 @@
- [0x73B210, rodata, code/73B210]
- [0x73B250, rodata, code/73B250]
- [0x73B360, rodata, code/73B360]
- - [0x73B3E0, rodata, code/m_scene_ftr]
+ - [0x73B3E0, .rodata, code/m_scene_ftr]
- [0x73B400, rodata, code/m_shop]
- [0x73B580, .rodata, code/m_string]
- [0x73B5C0, .rodata, code/m_submenu]