Files
ac-decomp/include/m_random_field.h
2023-11-05 14:19:37 -05:00

79 lines
1.5 KiB
C

#ifndef M_RANDOM_FIELD_H
#define M_RANDOM_FIELD_H
#include "types.h"
#include "m_random_field_h.h"
#include "m_field_make.h"
#include "game_h.h"
#ifdef __cplusplus
extern "C" {
#endif
#define mRF_DIRECT_ERROR 100
enum {
mRF_GATE_NONE,
mRF_GATE1_TYPE0,
mRF_GATE1_TYPE1,
mRF_GATE2_TYPE0,
mRF_GATE2_TYPE1,
mRF_GATE3_TYPE0,
mRF_GATE_TYPE_NUM
};
enum {
mRF_DIRECT_NORTH,
mRF_DIRECT_WEST,
mRF_DIRECT_SOUTH,
mRF_DIRECT_EAST,
mRF_DIRECT_NUM
};
enum {
mRF_RIVER0,
mRF_RIVER1,
mRF_RIVER2,
mRF_RIVER3,
mRF_RIVER4,
mRF_RIVER5,
mRF_RIVER6,
mRF_RIVER_NUM
};
enum {
mRF_FIELD_STEP1, /* first level */
mRF_FIELD_STEP2, /* second level*/
mRF_FIELD_STEP3, /* third level */
mRF_FIELD_STEP4, /* fourth level */
mRF_FIELD_STEP_NUM
};
typedef struct gate_s {
int ut0;
int ut1;
} mRF_gate_c;
extern void mRF_MakeRandomField(mFM_combination_c* combi_table, mFM_combo_info_c* combo_info, int combo_count, GAME* game);
extern u32 mRF_Type2BlockInfo(u8 type);
extern int mRF_SearchPond(int* ut_x, int* ut_z, int block_x, int block_z);
extern mRF_gate_c* mRF_BlockTypeDirect2GateData(int* gate_count, u8 block_type, int direct);
extern void mRF_CheckBeastRoad();
extern int mRF_RiverIdx2NextDirect(int river_idx);
extern int mRF_BlockType2RiverNextDirect(u8 type);
extern void mRF_IslandBgData_To_VillageData();
extern int mRF_CheckFieldStep3();
extern mFM_combo_info_c data_combi_table[];
extern int data_combi_table_number;
#ifdef __cplusplus
}
#endif
#endif