mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-28 16:00:45 -04:00
Merge pull request #31 from Cuyler36/m_field_assessment
Partial match m_field_assessment.c
This commit is contained in:
@@ -553,6 +553,32 @@ do { \
|
||||
(gsSPNTriangleData2(v0, v1, v2) << 1)) | G_VTX_MODE_7bit \
|
||||
}}
|
||||
|
||||
#define gDPSetTexEdgeAlpha(pkt, alpha) \
|
||||
do { \
|
||||
Gfx* _g = (Gfx*)(pkt); \
|
||||
_g->words.w0 = (u32)(_SHIFTL(G_SETTEXEDGEALPHA, 24, 8)); \
|
||||
_g->words.w1 = (u32)(_SHIFTL(alpha, 0, 8)); \
|
||||
} while(0)
|
||||
|
||||
#define gsDPSetTexEdgeAlpha(alpha) \
|
||||
{{ \
|
||||
(u32)(_SHIFTL(G_SETTEXEDGEALPHA, 24, 8)), \
|
||||
(u32)(_SHIFTL(alpha, 0, 8)) \
|
||||
}}
|
||||
|
||||
#define gDPSetTextureAdjustMode(pkt, type, mode) \
|
||||
do { \
|
||||
Gfx* _g = (Gfx*)(pkt); \
|
||||
_g->words.w0 = (u32)(_SHIFTL(G_SPECIAL_1, 24, 8) | _SHIFTL(type, 16, 8) | _SHIFTL(mode, 0, 16)); \
|
||||
_g->words.w1 = (u32)0; \
|
||||
} while(0)
|
||||
|
||||
#define gsDPSetTextureAdjustMode(type, mode) \
|
||||
{{ \
|
||||
(u32)(_SHIFTL(G_SPECIAL_1, 24, 8) | _SHIFTL(type, 16, 8) | _SHIFTL(mode, 0, 16)), \
|
||||
(u32)0 \
|
||||
}}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2,12 +2,18 @@
|
||||
#define M_ALL_GROW_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_field_info.h"
|
||||
#include "libu64/gfxprint.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define mAGrw_DUMP_WIDTH 4
|
||||
#define mAGrw_DUMP_HEIGHT 4
|
||||
|
||||
extern void mAGrw_SearchDump(mFI_unit_c* dump_info);
|
||||
|
||||
extern void mAGrw_PrintFossilHaniwa_debug(gfxprint_t* gfxprint);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "m_needlework.h"
|
||||
#include "m_museum_display.h"
|
||||
#include "m_lib.h"
|
||||
#include "m_field_assessment.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -115,9 +116,11 @@ typedef struct Save_s {
|
||||
/* 0x022540 */ Island_c island; /* island data */
|
||||
/* 0x023E40 */ u8 _tmp9[0x320];
|
||||
/* 0x024160 */ Anmret_c return_animal; /* information about villager which moved back in to your town after moving to someone else's town */
|
||||
/* 0x02416C */ u8 _tmp10[0x241A0 - 0x2416C];
|
||||
/* 0x02416C */ u8 _tmp10[0x24178 - 0x2416C];
|
||||
/* 0x024178 */ mFAs_GoodField_c good_field; /* field assessment last info */
|
||||
/* 0x024184 */ u8 _tmp11[0x241A0 - 0x24184];
|
||||
/* 0x0241A0 */ lbRTC_time_c saved_auto_nwrite_time; /* save data notice time used for fishing tourney results? */
|
||||
/* 0x0241A8 */ u8 _tmp11[0x26000 - 0x241A8];
|
||||
/* 0x0241A8 */ u8 _tmp12[0x26000 - 0x241A8];
|
||||
} Save_t;
|
||||
|
||||
typedef union save_u {
|
||||
|
||||
@@ -3,11 +3,50 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "libu64/gfxprint.h"
|
||||
#include "m_time.h"
|
||||
#include "m_random_field_h.h"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define mFAs_PERFECT_DAY_STREAK_MAX 15 /* max number of perfect days in a row for golden axe reward */
|
||||
|
||||
#define mFAs_GRASS_OVER_NUM 5
|
||||
#define mFAs_DUST_OVER_NUM 5
|
||||
#define mFAs_FG_BLOCK_EXCLUDE_NUM 5 /* number of excluded block types */
|
||||
#define mFAs_TREE_RANK_COUNT 5
|
||||
|
||||
enum {
|
||||
mFAs_FIELDRANK_ZERO,
|
||||
mFAs_FIELDRANK_ONE,
|
||||
mFAs_FIELDRANK_TWO,
|
||||
mFAs_FIELDRANK_THREE,
|
||||
mFAs_FIELDRANK_FOUR,
|
||||
mFAs_FIELDRANK_FIVE,
|
||||
mFAs_FIELDRANK_SIX,
|
||||
|
||||
mFAs_FIELDRANK_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mFAs_CONDITION_NONE = -1,
|
||||
mFAs_CONDITION_DUST_OVER = 0,
|
||||
mFAs_CONDITION_TREE_LESS,
|
||||
mFAs_CONDITION_TREE_OVER,
|
||||
mFAs_CONDITION_GRASS_OVER,
|
||||
mFAs_CONDITION_NO_CASE,
|
||||
|
||||
mFAs_CONDITION_NUM
|
||||
};
|
||||
|
||||
/* sizeof(mFAs_GoodField_c) == 0xC */
|
||||
typedef struct good_field_s {
|
||||
/* 0x00 */ lbRTC_time_c renew_time; /* time updated */
|
||||
/* 0x08 */ int perfect_day_streak; /* number of days in a row the town is "perfect" */
|
||||
} mFAs_GoodField_c;
|
||||
|
||||
extern void mFAs_PrintFieldAssessment(gfxprint_t* gfxprint);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -55,10 +55,21 @@ enum {
|
||||
mFI_CLIMATE_NUM
|
||||
};
|
||||
|
||||
/* sizeof(mFI_unit_c) == 0x14 */
|
||||
typedef struct location_info_s {
|
||||
/* 0x00 */ int block_x;
|
||||
/* 0x04 */ int block_z;
|
||||
/* 0x08 */ int unit_x;
|
||||
/* 0x0C */ int unit_z;
|
||||
/* 0x10 */ mActor_name_t* block_data;
|
||||
} mFI_unit_c;
|
||||
|
||||
extern int mFI_CheckFieldData();
|
||||
extern mActor_name_t mFI_GetFieldId();
|
||||
extern int mFI_GetClimate();
|
||||
extern mActor_name_t* mFI_BkNumtoUtFGTop(int block_x, int block_z);
|
||||
extern void mFI_ClearDeposit(int block_x, int block_z);
|
||||
extern void mFI_GetSpecialBlockNum(int* block_pos_tbl, u32* kind_list, int kind_num);
|
||||
extern int mFI_SetTreasure(int* block_x, int* block_z, mActor_name_t item_no);
|
||||
|
||||
extern void mFI_PrintNowBGNum(gfxprint_t* gfxprint);
|
||||
|
||||
@@ -10,12 +10,21 @@ extern "C" {
|
||||
|
||||
#define BLOCK_X_NUM 7
|
||||
#define BLOCK_Z_NUM 10
|
||||
#define BLOCK_TOTAL_NUM (BLOCK_X_NUM * BLOCK_Z_NUM)
|
||||
|
||||
#define FG_BLOCK_X_NUM (BLOCK_X_NUM - 2) /* 5 */
|
||||
#define FG_BLOCK_Z_NUM (BLOCK_Z_NUM - 4) /* 6 */
|
||||
#define FG_BLOCK_TOTAL_NUM (FG_BLOCK_X_NUM * FG_BLOCK_Z_NUM)
|
||||
|
||||
#define UT_X_NUM 16 /* Spaces per block (acre) in x direction */
|
||||
#define UT_Z_NUM 16 /* Spaces per block (acre) in z direction */
|
||||
#define UT_TOTAL_NUM (UT_X_NUM * UT_Z_NUM)
|
||||
|
||||
#define IDX_2_UT_X(idx) ((idx) & (UT_X_NUM - 1))
|
||||
#define IDX_2_UT_Z(idx) (((idx) / UT_X_NUM) & (UT_Z_NUM - 1))
|
||||
|
||||
#define FGIDX_2_BLOCK_X(idx) ((idx) % FG_BLOCK_X_NUM + 1)
|
||||
#define FGIDX_2_BLOCK_Z(idx) ((idx) / FG_BLOCK_X_NUM + 1)
|
||||
|
||||
/* sizeof(mFM_combination_c) == 2 */
|
||||
typedef struct block_combination_s {
|
||||
|
||||
+2
-2
@@ -18,11 +18,11 @@ typedef struct xy_s {
|
||||
f32 x, y;
|
||||
} xy_t;
|
||||
|
||||
typedef struct xyz_t {
|
||||
typedef struct xyz_s {
|
||||
f32 x, y, z;
|
||||
} xyz_t;
|
||||
|
||||
typedef struct s_xyz {
|
||||
typedef struct s_xyz_s {
|
||||
s16 x, y, z;
|
||||
} s_xyz;
|
||||
|
||||
|
||||
+195
-1
@@ -33,17 +33,208 @@ enum {
|
||||
|
||||
/* Retrieve the item actor's category */
|
||||
#define ITEM_NAME_GET_TYPE(n) (((n) & 0xF000) >> 12)
|
||||
#define ITEM_NAME_GET_CAT(n) (((n) & 0x0F00) >> 8)
|
||||
|
||||
#define ITEM_IS_FTR(n) \
|
||||
(ITEM_NAME_GET_TYPE(n) == NAME_TYPE_FTR0 || ITEM_NAME_GET_TYPE(n) == NAME_TYPE_FTR1)
|
||||
|
||||
#define ITEM_IS_ITEM1(n) (ITEM_NAME_GET_TYPE(n) == NAME_TYPE_ITEM1)
|
||||
|
||||
#define GET_NAME_ITEM0_CATEGORY(f) (((f) & 0x0800) >> 11)
|
||||
#define GET_NAME_ITEM0_CATEGORY(f) (((f) & 0x0800) >> 11) /* enviornmental or static background objects */
|
||||
#define GET_NAME_ITEM1_CATEGORY(f) (((f) & 0x0F00) >> 8)
|
||||
|
||||
#define IS_ITEM_FLOWER(item) ((item) >= FLOWER_LEAVES_PANSIES0 && (item) <= FLOWER_TULIP2)
|
||||
#define IS_ITEM_TREE(item) \
|
||||
(((item) >= TREE_SAPLING && (item) <= TREE_30000BELLS) || \
|
||||
((item) >= TREE_100BELLS_SAPLING && (item) <= TREE_PALM_FRUIT) || \
|
||||
((item) >= CEDAR_TREE_SAPLING && (item) <= CEDAR_TREE) || \
|
||||
((item) >= GOLD_TREE_SAPLING && (item) <= GOLD_TREE) || \
|
||||
((item) == DEAD_SAPLING) || \
|
||||
((item) == DEAD_PALM_SAPLING) || \
|
||||
((item) == DEAD_CEDAR_SAPLING) || \
|
||||
((item) == DEAD_GOLD_SAPLING) \
|
||||
)
|
||||
|
||||
#define IS_ITEM_GROWN_TREE(item) \
|
||||
(((item) == TREE) || \
|
||||
((item) == TREE_1000BELLS) || \
|
||||
((item) == TREE_10000BELLS) || \
|
||||
((item) == TREE_30000BELLS) || \
|
||||
((item) == TREE_100BELLS) || \
|
||||
((item) == CEDAR_TREE) || \
|
||||
((item) == GOLD_TREE_SHOVEL || (item) == GOLD_TREE) || \
|
||||
((item) == TREE_APPLE_NOFRUIT_0 || (item) == TREE_APPLE_NOFRUIT_1 || (item) == TREE_APPLE_NOFRUIT_2 || (item) == TREE_APPLE_FRUIT) || \
|
||||
((item) == TREE_ORANGE_NOFRUIT_0 || (item) == TREE_ORANGE_NOFRUIT_1 || (item) == TREE_ORANGE_NOFRUIT_2 || (item) == TREE_ORANGE_FRUIT) || \
|
||||
((item) == TREE_PEACH_NOFRUIT_0 || (item) == TREE_PEACH_NOFRUIT_1 || (item) == TREE_PEACH_NOFRUIT_2 || (item) == TREE_PEACH_FRUIT) || \
|
||||
((item) == TREE_PEAR_NOFRUIT_0 || (item) == TREE_PEAR_NOFRUIT_1 || (item) == TREE_PEAR_NOFRUIT_2 || (item) == TREE_PEAR_FRUIT) || \
|
||||
((item) == TREE_CHERRY_NOFRUIT_0 || (item) == TREE_CHERRY_NOFRUIT_1 || (item) == TREE_CHERRY_NOFRUIT_2 || (item) == TREE_CHERRY_FRUIT) || \
|
||||
((item) == TREE_PALM_NOFRUIT_0 || (item) == TREE_PALM_NOFRUIT_1 || (item) == TREE_PALM_NOFRUIT_2 || (item) == TREE_PALM_FRUIT) || \
|
||||
((item) == TREE_BEES) || \
|
||||
((item) == TREE_FTR) || \
|
||||
((item) == TREE_LIGHTS) || \
|
||||
((item) == TREE_PRESENT) || \
|
||||
((item) == TREE_BELLS) || \
|
||||
((item) == CEDAR_TREE_BELLS) || \
|
||||
((item) == CEDAR_TREE_FTR) || \
|
||||
((item) == CEDAR_TREE_BEES) || \
|
||||
((item) == CEDAR_TREE_LIGHTS) || \
|
||||
((item) == GOLD_TREE_BELLS) || \
|
||||
((item) == GOLD_TREE_FTR) || \
|
||||
((item) == GOLD_TREE_BEES) \
|
||||
)
|
||||
|
||||
#define IS_ITEM_GRASS(item) ((item) >= GRASS_A && (item) <= GRASS_C) /* aka IS_ITEM_WEED */
|
||||
|
||||
#define BG_CATEGORY 0
|
||||
#define ENV_CATEGORY 8
|
||||
|
||||
#define EMPTY_NO 0x0000
|
||||
|
||||
#define GRASS_A 0x0008
|
||||
#define GRASS_B (GRASS_A + 1)
|
||||
#define GRASS_C (GRASS_B + 1)
|
||||
|
||||
#define TREE_BEES 0x005E
|
||||
#define TREE_FTR (TREE_BEES + 1)
|
||||
#define TREE_LIGHTS (TREE_FTR + 1)
|
||||
#define TREE_PRESENT (TREE_LIGHTS + 1)
|
||||
#define TREE_BELLS 0x0069
|
||||
|
||||
#define CEDAR_TREE_BELLS 0x0078
|
||||
#define CEDAR_TREE_FTR (CEDAR_TREE_BELLS + 1)
|
||||
#define CEDAR_TREE_BEES (CEDAR_TREE_FTR + 1)
|
||||
|
||||
#define GOLD_TREE_BELLS 0x007F
|
||||
#define GOLD_TREE_FTR (GOLD_TREE_BELLS + 1)
|
||||
#define GOLD_TREE_BEES (GOLD_TREE_FTR + 1)
|
||||
#define CEDAR_TREE_LIGHTS (GOLD_TREE_BEES + 1)
|
||||
|
||||
/* begin environmental/nature objects */
|
||||
#define ENV_START 0x0800
|
||||
/* tree */
|
||||
#define TREE_SAPLING ENV_START
|
||||
#define TREE_S0 (TREE_SAPLING + 1)
|
||||
#define TREE_S1 (TREE_S0 + 1)
|
||||
#define TREE_S2 (TREE_S1 + 1)
|
||||
#define TREE (TREE_S2 + 1) /* fully grown */
|
||||
/* apple tree */
|
||||
#define TREE_APPLE_SAPLING (TREE + 1)
|
||||
#define TREE_APPLE_S0 (TREE_APPLE_SAPLING + 1)
|
||||
#define TREE_APPLE_S1 (TREE_APPLE_S0 + 1)
|
||||
#define TREE_APPLE_S2 (TREE_APPLE_S1 + 1)
|
||||
#define TREE_APPLE_NOFRUIT_0 (TREE_APPLE_S2 + 1) /* fully grown, no fruit */
|
||||
#define TREE_APPLE_NOFRUIT_1 (TREE_APPLE_NOFRUIT_0 + 1)
|
||||
#define TREE_APPLE_NOFRUIT_2 (TREE_APPLE_NOFRUIT_1 + 1)
|
||||
#define TREE_APPLE_FRUIT (TREE_APPLE_NOFRUIT_2 + 1)
|
||||
/* orange tree */
|
||||
#define TREE_ORANGE_SAPLING (TREE_APPLE_FRUIT + 1)
|
||||
#define TREE_ORANGE_S0 (TREE_ORANGE_SAPLING + 1)
|
||||
#define TREE_ORANGE_S1 (TREE_ORANGE_S0 + 1)
|
||||
#define TREE_ORANGE_S2 (TREE_ORANGE_S1 + 1) /* fully grown, no fruit */
|
||||
#define TREE_ORANGE_NOFRUIT_0 (TREE_ORANGE_S2 + 1)
|
||||
#define TREE_ORANGE_NOFRUIT_1 (TREE_ORANGE_NOFRUIT_0 + 1)
|
||||
#define TREE_ORANGE_NOFRUIT_2 (TREE_ORANGE_NOFRUIT_1 + 1)
|
||||
#define TREE_ORANGE_FRUIT (TREE_ORANGE_NOFRUIT_2 + 1)
|
||||
/* peach tree */
|
||||
#define TREE_PEACH_SAPLING (TREE_ORANGE_FRUIT + 1)
|
||||
#define TREE_PEACH_S0 (TREE_PEACH_SAPLING + 1)
|
||||
#define TREE_PEACH_S1 (TREE_PEACH_S0 + 1)
|
||||
#define TREE_PEACH_S2 (TREE_PEACH_S1 + 1)
|
||||
#define TREE_PEACH_NOFRUIT_0 (TREE_PEACH_S2 + 1) /* fully grown, no fruit */
|
||||
#define TREE_PEACH_NOFRUIT_1 (TREE_PEACH_NOFRUIT_0 + 1)
|
||||
#define TREE_PEACH_NOFRUIT_2 (TREE_PEACH_NOFRUIT_1 + 1)
|
||||
#define TREE_PEACH_FRUIT (TREE_PEACH_NOFRUIT_2 + 1)
|
||||
/* pear tree */
|
||||
#define TREE_PEAR_SAPLING (TREE_PEACH_FRUIT + 1)
|
||||
#define TREE_PEAR_S0 (TREE_PEAR_SAPLING + 1)
|
||||
#define TREE_PEAR_S1 (TREE_PEAR_S0 + 1)
|
||||
#define TREE_PEAR_S2 (TREE_PEAR_S1 + 1)
|
||||
#define TREE_PEAR_NOFRUIT_0 (TREE_PEAR_S2 + 1) /* fully grown, no fruit */
|
||||
#define TREE_PEAR_NOFRUIT_1 (TREE_PEAR_NOFRUIT_0 + 1)
|
||||
#define TREE_PEAR_NOFRUIT_2 (TREE_PEAR_NOFRUIT_1 + 1)
|
||||
#define TREE_PEAR_FRUIT (TREE_PEAR_NOFRUIT_2 + 1)
|
||||
/* cherry tree */
|
||||
#define TREE_CHERRY_SAPLING (TREE_PEAR_FRUIT + 1)
|
||||
#define TREE_CHERRY_S0 (TREE_CHERRY_SAPLING + 1)
|
||||
#define TREE_CHERRY_S1 (TREE_CHERRY_S0 + 1)
|
||||
#define TREE_CHERRY_S2 (TREE_CHERRY_S1 + 1)
|
||||
#define TREE_CHERRY_NOFRUIT_0 (TREE_CHERRY_S2 + 1) /* fully grown, no fruit */
|
||||
#define TREE_CHERRY_NOFRUIT_1 (TREE_CHERRY_NOFRUIT_0 + 1)
|
||||
#define TREE_CHERRY_NOFRUIT_2 (TREE_CHERRY_NOFRUIT_1 + 1)
|
||||
#define TREE_CHERRY_FRUIT (TREE_CHERRY_NOFRUIT_2 + 1)
|
||||
/* money tree (1,000 Bells) */
|
||||
#define TREE_1000BELLS_SAPLING (TREE_CHERRY_FRUIT + 1)
|
||||
#define TREE_1000BELLS_S0 (TREE_1000BELLS_SAPLING + 1)
|
||||
#define TREE_1000BELLS_S1 (TREE_1000BELLS_S0 + 1)
|
||||
#define TREE_1000BELLS_S2 (TREE_1000BELLS_S1 + 1)
|
||||
#define TREE_1000BELLS (TREE_1000BELLS_S2 + 1) /* fully grown w/ bells */
|
||||
/* money tree (10,000 Bells) */
|
||||
#define TREE_10000BELLS_SAPLING (TREE_1000BELLS + 1)
|
||||
#define TREE_10000BELLS_S0 (TREE_10000BELLS_SAPLING + 1)
|
||||
#define TREE_10000BELLS_S1 (TREE_10000BELLS_S0 + 1)
|
||||
#define TREE_10000BELLS_S2 (TREE_10000BELLS_S1 + 1)
|
||||
#define TREE_10000BELLS (TREE_10000BELLS_S2 + 1) /* fully grown w/ bells */
|
||||
/* money tree (30,000 Bells) */
|
||||
#define TREE_30000BELLS_SAPLING (TREE_10000BELLS + 1)
|
||||
#define TREE_30000BELLS_S0 (TREE_30000BELLS_SAPLING + 1)
|
||||
#define TREE_30000BELLS_S1 (TREE_30000BELLS_S0 + 1)
|
||||
#define TREE_30000BELLS_S2 (TREE_30000BELLS_S1 + 1)
|
||||
#define TREE_30000BELLS (TREE_30000BELLS_S2 + 1) /* fully grown w/ bells */
|
||||
/* flower leaves (unused growth stage) */
|
||||
#define FLOWER_LEAVES_PANSIES0 (TREE_30000BELLS + 1) /* white */
|
||||
#define FLOWER_LEAVES_PANSIES1 (FLOWER_LEAVES_PANSIES0 + 1) /* purple */
|
||||
#define FLOWER_LEAVES_PANSIES2 (FLOWER_LEAVES_PANSIES1 + 1) /* yellow */
|
||||
#define FLOWER_LEAVES_COSMOS0 (FLOWER_LEAVES_PANSIES2 + 1) /* yellow */
|
||||
#define FLOWER_LEAVES_COSMOS1 (FLOWER_LEAVES_COSMOS0 + 1) /* purple */
|
||||
#define FLOWER_LEAVES_COSMOS2 (FLOWER_LEAVES_COSMOS1 + 1) /* blue */
|
||||
#define FLOWER_LEAVES_TULIP0 (FLOWER_LEAVES_COSMOS2 + 1) /* red */
|
||||
#define FLOWER_LEAVES_TULIP1 (FLOWER_LEAVES_TULIP0 + 1) /* white */
|
||||
#define FLOWER_LEAVES_TULIP2 (FLOWER_LEAVES_TULIP1 + 1) /* yellow */
|
||||
/* flowers */
|
||||
#define FLOWER_PANSIES0 (FLOWER_LEAVES_TULIP2 + 1) /* white */
|
||||
#define FLOWER_PANSIES1 (FLOWER_PANSIES0 + 1) /* purple */
|
||||
#define FLOWER_PANSIES2 (FLOWER_PANSIES1 + 1) /* yellow */
|
||||
#define FLOWER_COSMOS0 (FLOWER_PANSIES2 + 1) /* yellow */
|
||||
#define FLOWER_COSMOS1 (FLOWER_COSMOS0 + 1) /* purple */
|
||||
#define FLOWER_COSMOS2 (FLOWER_COSMOS1 + 1) /* blue */
|
||||
#define FLOWER_TULIP0 (FLOWER_COSMOS2 + 1) /* red */
|
||||
#define FLOWER_TULIP1 (FLOWER_TULIP0 + 1) /* white */
|
||||
#define FLOWER_TULIP2 (FLOWER_TULIP1 + 1) /* yellow */
|
||||
/* dead sapling */
|
||||
#define DEAD_SAPLING (FLOWER_TULIP2 + 1)
|
||||
/* money tree (100 Bells) */
|
||||
#define TREE_100BELLS_SAPLING (DEAD_SAPLING + 1)
|
||||
#define TREE_100BELLS_S0 (TREE_100BELLS_SAPLING + 1)
|
||||
#define TREE_100BELLS_S1 (TREE_100BELLS_S0 + 1)
|
||||
#define TREE_100BELLS_S2 (TREE_100BELLS_S1 + 1)
|
||||
#define TREE_100BELLS (TREE_100BELLS_S2 + 1) /* fully grown w/ bells */
|
||||
/* palm tree */
|
||||
#define TREE_PALM_SAPLING (TREE_100BELLS + 1)
|
||||
#define TREE_PALM_S0 (TREE_PALM_SAPLING + 1)
|
||||
#define TREE_PALM_S1 (TREE_PALM_S0 + 1)
|
||||
#define TREE_PALM_S2 (TREE_PALM_S1 + 1)
|
||||
#define TREE_PALM_NOFRUIT_0 (TREE_PALM_S2 + 1) /* fully grown, no fruit */
|
||||
#define TREE_PALM_NOFRUIT_1 (TREE_PALM_NOFRUIT_0 + 1)
|
||||
#define TREE_PALM_NOFRUIT_2 (TREE_PALM_NOFRUIT_1 + 1)
|
||||
#define TREE_PALM_FRUIT (TREE_PALM_NOFRUIT_2 + 1)
|
||||
#define DEAD_PALM_SAPLING (TREE_PALM_FRUIT + 1)
|
||||
/* cedar tree */
|
||||
#define CEDAR_TREE_SAPLING (DEAD_PALM_SAPLING + 1)
|
||||
#define CEDAR_TREE_S0 (CEDAR_TREE_SAPLING + 1)
|
||||
#define CEDAR_TREE_S1 (CEDAR_TREE_S0 + 1)
|
||||
#define CEDAR_TREE_S2 (CEDAR_TREE_S1 + 1)
|
||||
#define CEDAR_TREE (CEDAR_TREE_S2 + 1) /* fully grown */
|
||||
#define DEAD_CEDAR_SAPLING (CEDAR_TREE + 1)
|
||||
/* gold tree */
|
||||
#define GOLD_TREE_SAPLING (DEAD_CEDAR_SAPLING + 1)
|
||||
#define GOLD_TREE_S0 (GOLD_TREE_SAPLING + 1)
|
||||
#define GOLD_TREE_S1 (GOLD_TREE_S0 + 1)
|
||||
#define GOLD_TREE_S2 (GOLD_TREE_S1 + 1)
|
||||
#define GOLD_TREE_SHOVEL (GOLD_TREE_S2 + 1) /* fully grown w/ golden shovel */
|
||||
#define GOLD_TREE (GOLD_TREE_SHOVEL + 1) /* fully grown */
|
||||
#define DEAD_GOLD_SAPLING (GOLD_TREE + 1)
|
||||
/* end of environmental objects */
|
||||
|
||||
#define FTR_REDALOHASHIRT 0x1814
|
||||
#define FTR_BLUEALOHASHIRT 0x1818
|
||||
|
||||
@@ -55,6 +246,9 @@ enum {
|
||||
#define ITM_SHOVEL 0x2202
|
||||
#define ITM_ROD 0x2203
|
||||
|
||||
#define ITM_DUST0_EMPTY_CAN 0x250E
|
||||
#define ITM_DUST1_BOOT 0x250F
|
||||
#define ITM_DUST2_OLD_TIRE 0x2510
|
||||
#define ITM_PITFALL 0x2512
|
||||
|
||||
#define ITM_ENV_START 0x2900
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
#ifndef M_RANDOM_FIELD_H
|
||||
#define M_RANDOM_FIELD_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define mRF_BLOCKKIND_NONE (0 << 0)
|
||||
#define mRF_BLOCKKIND_PLAYER (1 << 0)
|
||||
#define mRF_BLOCKKIND_SHOP (1 << 1)
|
||||
#define mRF_BLOCKKIND_SHRINE (1 << 2)
|
||||
#define mRF_BLOCKKIND_POLICE (1 << 3)
|
||||
#define mRF_BLOCKKIND_POSTOFFICE (1 << 4)
|
||||
#define mRF_BLOCKKIND_STATION (1 << 5)
|
||||
#define mRF_BLOCKKIND_CLIFF (1 << 6)
|
||||
#define mRF_BLOCKKIND_RIVER (1 << 7)
|
||||
#define mRF_BLOCKKIND_WATERFALL (1 << 8)
|
||||
#define mRF_BLOCKKIND_BRIDGE (1 << 9)
|
||||
#define mRF_BLOCKKIND_RAILROAD (1 << 10)
|
||||
#define mRF_BLOCKKIND_BEACH (1 << 11)
|
||||
#define mRF_BLOCKKIND_BORDER (1 << 12)
|
||||
#define mRF_BLOCKKIND_TUNNEL (1 << 13)
|
||||
#define mRF_BLOCKKIND_SLOPE (1 << 14)
|
||||
#define mRF_BLOCKKIND_POOL (1 << 15)
|
||||
#define mRF_BLOCKKIND_DUMP (1 << 16)
|
||||
#define mRF_BLOCKKIND_MUSEUM (1 << 17)
|
||||
#define mRF_BLOCKKIND_18 (1 << 18)
|
||||
#define mRF_BLOCKKIND_TAILORS (1 << 19)
|
||||
#define mRF_BLOCKKIND_OCEAN (1 << 20)
|
||||
#define mRF_BLOCKKIND_ISLAND_RIGHT (1 << 21)
|
||||
#define mRF_BLOCKKIND_OFFING (1 << 22)
|
||||
#define mRF_BLOCKKIND_23 (1 << 23)
|
||||
#define mRF_BLOCKKIND_24 (1 << 24)
|
||||
#define mRF_BLOCKKIND_25 (1 << 25)
|
||||
#define mRF_BLOCKKIND_26 (1 << 26)
|
||||
#define mRF_BLOCKKIND_27 (1 << 27)
|
||||
#define mRF_BLOCKKIND_28 (1 << 28)
|
||||
#define mRF_BLOCKKIND_29 (1 << 29)
|
||||
#define mRF_BLOCKKIND_DOCK (1 << 30)
|
||||
#define mRF_BLOCKKIND_ISLAND_LEFT (1 << 31)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user