summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPrakxo <87568477+Prakxo@users.noreply.github.com>2024-03-29 16:42:32 +0100
committerGitHub <noreply@github.com>2024-03-29 08:42:32 -0700
commit770d3c2dca047172c7b947c83f136468cb0dc7e0 (patch)
treee2a739ef9256d1fc71d03a3dd6888caf3053677f /include
parent540648ef26d6dbdd4277bd4bdd8a38e32e8569ad (diff)
m_all_grow OK (#159)
Diffstat (limited to 'include')
-rw-r--r--include/6792F0.h20
-rw-r--r--include/6DA460.h2
-rw-r--r--include/m_all_grow.h61
-rw-r--r--include/m_common_data.h7
-rw-r--r--include/m_field_info.h6
-rw-r--r--include/m_field_make.h1
-rw-r--r--include/m_scene_table.h1
-rw-r--r--include/segment_symbols.h3
-rw-r--r--include/tables/dmatables/dmadata_table_jp.h4
9 files changed, 64 insertions, 41 deletions
diff --git a/include/6792F0.h b/include/6792F0.h
index 8e42fb7..7101adc 100644
--- a/include/6792F0.h
+++ b/include/6792F0.h
@@ -5,25 +5,5 @@
// void func_80055650_jp();
// void func_8005578C_jp();
-// void func_800558B0_jp();
-// void func_800558F8_jp();
-// void func_800559D4_jp();
-// void func_80055A54_jp();
-// void func_80055B84_jp();
-// void mAGrw_PrintFossilHaniwa_debug();
-// void func_80055D94_jp();
-void mAGrw_OrderSetHaniwa(void);
-// void func_80055E34_jp();
-// void func_80055E5C_jp();
-// void func_80055EF8_jp();
-// void func_80055F28_jp();
-// void func_80055F64_jp();
-// void func_8005603C_jp();
-// void func_800560AC_jp();
-// void func_8005611C_jp();
-// void func_8005615C_jp();
-// void func_80056234_jp();
-// void func_80056270_jp();
-void mAGrw_ChangeTree2FruitTree(void);
#endif
diff --git a/include/6DA460.h b/include/6DA460.h
index 5593cd6..83b3cb1 100644
--- a/include/6DA460.h
+++ b/include/6DA460.h
@@ -10,7 +10,7 @@ struct Game_Play;
// void func_800B6838_jp();
s32 mPO_get_keep_mail_sum(void);
// void func_800B690C_jp();
-s32 mPO_receipt_proc(Mail_c*, s32);
+s32 mPO_receipt_proc(struct Mail_c*, s32);
// void func_800B6AC8_jp();
// void func_800B6B94_jp();
// void func_800B6C14_jp();
diff --git a/include/m_all_grow.h b/include/m_all_grow.h
index 99867ed..7e53e16 100644
--- a/include/m_all_grow.h
+++ b/include/m_all_grow.h
@@ -3,28 +3,63 @@
#include "ultra64.h"
-#define mAGrw_DUMP_WIDTH 4
-#define mAGrw_DUMP_HEIGHT 4
+struct Foreground;
+struct gfxprint;
+struct lbRTC_time_c;
+
+#define AGrw_DUMP_WIDTH 4
+#define AGrw_DUMP_HEIGHT 4
typedef enum mAGrw_XMAS_PROC {
- /* 0 */ mAGrw_XMAS_PROC_CLEAR,
- /* 1 */ mAGrw_XMAS_PROC_SET,
+ /* 0 */ AGrw_XMAS_PROC_CLEAR,
+ /* 1 */ AGrw_XMAS_PROC_SET,
/* 2 */ mAGrw_XMAS_PROC_NUM
} mAGrw_XMAS_PROC;
typedef enum mAGrw_FRUIT {
- /* 0 */ mAGrw_FRUIT_APPLE,
- /* 1 */ mAGrw_FRUIT_CHERRY,
- /* 2 */ mAGrw_FRUIT_PEAR,
- /* 3 */ mAGrw_FRUIT_PEACH,
- /* 4 */ mAGrw_FRUIT_ORANGE,
+ /* 0 */ AGrw_FRUIT_APPLE,
+ /* 1 */ AGrw_FRUIT_CHERRY,
+ /* 2 */ AGrw_FRUIT_PEAR,
+ /* 3 */ AGrw_FRUIT_PEACH,
+ /* 4 */ AGrw_FRUIT_ORANGE,
- /* 5 */ mAGrw_FRUIT_NUM
+ /* 5 */ AGrw_FRUIT_NUM
} mAGrw_FRUIT;
-#define mAGrw_XMAS_LIGHTS_MAX_BLOCK 3
-#define mAGrw_CEDAR_BLOCK_Z_MIN 0
-#define mAGrw_CEDAR_BLOCK_Z_MAX 3 // [min, max)
+#define AGrw_XMAS_LIGHTS_MAX_BLOCK 3
+#define AGrw_CEDAR_BLOCK_Z_MIN 0
+#define AGrw_CEDAR_BLOCK_Z_MAX 3 // [min, max)
+#define AGrw_FOSSIL_NUM 5
+#define AGrw_HANIWA_NUM 3
+
+typedef struct AllGrowBlock {
+ /* 0x0 */ u8 blockX;
+ /* 0x1 */ u8 blockZ;
+} AllGrowBlock; // size 0x2
+
+
+void mAGrw_ClearDebugData(void);
+s32 mAGrw_CheckRegistedData_debug(AllGrowBlock* blockInfo, s32 num, s32 blockX, s32 blockZ);
+void mAGrw_SetBlockData_debug(AllGrowBlock* blockInfo, s32 num, s32 blockX, s32 blockZ);
+void mAGrw_SetDebugDataBlock(u16* fgItems, u16* deposit, AllGrowBlock* fossilBlockInfo, s32 fossilMax, s32* fossilNum,
+ AllGrowBlock* haniwaBlockInfo, s32 haniwaMax, s32* haniwaNum, s32 blockX, s32 blockZ);
+void mAGrw_SetDebugData(void);
+void mAGrw_PrintFossilHaniwa_debug(struct gfxprint* gfxprint);
+s32 mAGrw_CheckKabuPeddler(void);
+void mAGrw_OrderSetHaniwa(void);
+u8 func_80055E34_jp(u16* items);
+void mAGrw_ChangeItemBlock(u16* blockItems, u16 newItem, u16 targetItem, u8 possibleNum);
+void mAGrw_ChangeItemBlock2(u16* blockItems, u16 newItem, u8 possibleNum);
+s32 mAGrw_CheckPutXmasTree(struct lbRTC_time_c* time);
+void mAGrw_SetXmasTreeBlock(u16* blockItems);
+void mAGrw_ClearXmasTreeBlock(u16* blockItems);
+void mAGrw_XmasTreeField(s32 type);
+void mAGrw_SetXmasTree(void);
+void mAGrw_RenewalFgItem(struct lbRTC_time_c* time);
+void mAGrw_ChangeTree2OtherBlock(u16* items, u16 other);
+void mAGrw_ChangeTree2FruitTreeLine(struct Foreground* fg, u16 fruitTree);
+void mAGrw_ChangeTree2FruitTree(void);
+
#endif
diff --git a/include/m_common_data.h b/include/m_common_data.h
index e32ea78..a14bc35 100644
--- a/include/m_common_data.h
+++ b/include/m_common_data.h
@@ -82,7 +82,9 @@ typedef struct CommonData {
/* 0x0EDA4 */ EventSaveInfo eventSaveInfo;
/* 0x0EE40 */ u8 unk_0EE40[0x118];
/* 0x0EF58 */ u16 fruit;
- /* 0x0EF5A */ UNK_TYPE1 unk_0EF5A[0x12];
+ /* 0x0EF5A */ UNK_TYPE1 unk_0EF5A[2];
+ /* 0x0EF5C */ lbRTC_time_c allGrowRenewTime;
+ /* 0x0EF60 */ UNK_TYPE1 unk_0EF64[8];
/* 0x0EF6C */ Mail_c unk_0EF6C[5];
/* 0x0F2A0 */ UNK_TYPE1 unk_0F2A0[0x17C];
/* 0x0F41C */ SnowmanData snowmanData[SNOWMAN_SAVE_COUNT];
@@ -106,7 +108,8 @@ typedef struct CommonData {
/* 0x0F8AE */ u8 snowmanMonth; // Month last snowman was built.
/* 0x0F8AF */ u8 snowmanDay; // Day last snowman was built.
/* 0x0F8B0 */ u8 snowmanHour; // Hour last snowman was built.
- /* 0x0F8B1 */ UNK_TYPE1 unk_0F8B1[0x74F];
+ /* 0X0F8B1 */ u8 haniwaScheduled;
+ /* 0x0F8B2 */ UNK_TYPE1 unk_0F8B2[0x74E];
/* 0x10000 */ u8 unk_10000; // named "game_started" in AC GCN decomp
/* 0x10001 */ u8 unk_10001;
/* 0x10002 */ u8 unk_10002[0x1];
diff --git a/include/m_field_info.h b/include/m_field_info.h
index 6dd33d5..8f74895 100644
--- a/include/m_field_info.h
+++ b/include/m_field_info.h
@@ -147,7 +147,7 @@ s32 func_8008B3E8_jp(xyz_t* arg0, UNK_TYPE arg1);
// void func_8008B4C0_jp();
// void func_8008B598_jp();
// void func_8008B66C_jp();
-// void func_8008B774_jp();
+s32 func_8008B774_jp(s32,u16*);
// void func_8008B7F4_jp();
// void func_8008B878_jp();
// void func_8008B9F8_jp();
@@ -171,10 +171,10 @@ u16* mFI_GetDepositP(s32,s32);
// void func_8008C344_jp();
// void func_8008C390_jp();
// void func_8008C3B0_jp();
-// void func_8008C3D4_jp();
+s32 mFI_GetLineDeposit(u16* deposit, s32 utX);
// void func_8008C3E8_jp();
// void func_8008C458_jp();
-void mFI_BlockDepositOFF(u16* deposit, int ut_x, int ut_z);
+void mFI_BlockDepositOFF(u16* deposit, s32 utX, s32 utZ);
// void func_8008C498_jp();
// void func_8008C4B8_jp();
// void func_8008C504_jp();
diff --git a/include/m_field_make.h b/include/m_field_make.h
index 3d2777b..b26862f 100644
--- a/include/m_field_make.h
+++ b/include/m_field_make.h
@@ -2,6 +2,7 @@
#define M_FIELD_MAKE_H
#include "ultra64.h"
+#include "unk.h"
struct Game;
diff --git a/include/m_scene_table.h b/include/m_scene_table.h
index d049a5f..fd31922 100644
--- a/include/m_scene_table.h
+++ b/include/m_scene_table.h
@@ -3,6 +3,7 @@
#include "ultra64.h"
#include "z64math.h"
+#include "unknown_structs.h"
typedef enum SceneTable {
/* 00 */ SCENE_TEST1,
diff --git a/include/segment_symbols.h b/include/segment_symbols.h
index f320ec6..26d7801 100644
--- a/include/segment_symbols.h
+++ b/include/segment_symbols.h
@@ -32,6 +32,7 @@
#define SEGMENT_VRAM_START(segment) (segment ## _VRAM)
#define SEGMENT_VRAM_END(segment) (segment ## _VRAM_END)
#define SEGMENT_VRAM_SIZE(segment) ((uintptr_t)SEGMENT_VRAM_END(segment) - (uintptr_t)SEGMENT_VRAM_START(segment))
+#define SEGMENT_VRAM_RESOLVE_ADDR(segment, base, symbol) ((uintptr_t)(base) + (uintptr_t)&(symbol) - (uintptr_t)SEGMENT_VRAM_START(segment))
#define SEGMENT_ROM_START(segment) ((RomOffset)segment ## _ROM_START)
#define SEGMENT_ROM_END(segment) ((RomOffset)segment ## _ROM_END)
@@ -117,4 +118,6 @@ DECLARE_SEGMENT(segment_01409000);
DECLARE_SEGMENT(segment_0140A000);
DECLARE_SEGMENT(segment_0140B000);
+DECLARE_SEGMENT(m_all_grow_ovl);
+
#endif
diff --git a/include/tables/dmatables/dmadata_table_jp.h b/include/tables/dmatables/dmadata_table_jp.h
index 78b6d2f..cbe1dcd 100644
--- a/include/tables/dmatables/dmadata_table_jp.h
+++ b/include/tables/dmatables/dmadata_table_jp.h
@@ -1844,8 +1844,8 @@ DEFINE_DMA_ENTRY(ovl__00970200, "ovl__00970200")
DEFINE_DMA_ENTRY(ovl__00970200_reloc, "ovl__00970200_reloc")
DEFINE_DMA_ENTRY(ovl_Dummy, "ovl_Dummy")
DEFINE_DMA_ENTRY(ovl_Dummy_reloc, "ovl_Dummy_reloc")
-DEFINE_DMA_ENTRY(ovl__00970920, "ovl__00970920")
-DEFINE_DMA_ENTRY(ovl__00970920_reloc, "ovl__00970920_reloc")
+DEFINE_DMA_ENTRY(m_all_grow_ovl, "m_all_grow_ovl")
+DEFINE_DMA_ENTRY(m_all_grow_ovl_reloc, "m_all_grow_ovl_reloc")
DEFINE_DMA_ENTRY(segment_009757E0, "segment_009757E0")
DEFINE_DMA_ENTRY(segment_009D4000, "segment_009D4000")
DEFINE_DMA_ENTRY(segment_009DF000, "segment_009DF000")