summaryrefslogtreecommitdiff
path: root/src/code/m_scene_ftr.c
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 /src/code/m_scene_ftr.c
parent30aaa1356fb359c25963fc1d2384a2a928bde32d (diff)
m_scene_ftr OK (#176)
* 1 byte off.. * m_scene_ftr OK * newline * warnings
Diffstat (limited to 'src/code/m_scene_ftr.c')
-rw-r--r--src/code/m_scene_ftr.c44
1 files changed, 44 insertions, 0 deletions
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);
+}