mirror of
https://github.com/encounter/ac-decomp.git
synced 2026-03-30 10:57:04 -07:00
79 lines
1.5 KiB
C
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
|