Merge pull request #138 from Cuyler36/m_random_field_ovl

Implement & link m_random_field_ovl.c
This commit is contained in:
Cuyler36
2023-11-05 14:20:00 -05:00
committed by GitHub
7 changed files with 2294 additions and 12 deletions
+115
View File
@@ -52,6 +52,121 @@ extern "C" {
#define mFM_FIELD_PAL_NUM 12
#define mFM_FIELD_TEX_NUM 27
enum {
mFM_BLOCK_TYPE_BORDER_CLIFF_TOP,
mFM_BLOCK_TYPE_BORDER_CLIFF_RIVER,
mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT,
mFM_BLOCK_TYPE_3,
mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT,
mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_LEFT,
mFM_BLOCK_TYPE_6,
mFM_BLOCK_TYPE_7,
mFM_BLOCK_TYPE_BORDER_CLIFF_CORNER_TOP_RIGHT,
mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TUNNEL,
mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TUNNEL,
mFM_BLOCK_TYPE_TRACKS_STATION,
mFM_BLOCK_TYPE_TRACKS_DUMP,
mFM_BLOCK_TYPE_TRACKS_RIVER,
mFM_BLOCK_TYPE_PLAYER_HOUSE,
mFM_BLOCK_TYPE_CLIFF_HORIZONTAL,
mFM_BLOCK_TYPE_CLIFF_BOTTOM_RIGHT_CORNER,
mFM_BLOCK_TYPE_CLIFF_VERTICAL_RIGHT,
mFM_BLOCK_TYPE_CLIFF_TOP_RIGHT_CORNER,
mFM_BLOCK_TYPE_CLIFF_TOP_LEFT_CORNER,
mFM_BLOCK_TYPE_CLIFF_VERTICAL_LEFT,
mFM_BLOCK_TYPE_CLIFF_BOTTOM_LEFT_CORNER,
mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_HORIZONTAL,
mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_BOTTOM_RIGHT_CORNER,
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_RIGHT,
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_TOP_RIGHT_CORNER,
mFM_BLOCK_TYPE_WATERFALL_STRAIGHT_CLIFF_TOP_LEFT_CORNER,
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_VERTICAL_LEFT,
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_BOTTOM_LEFT_CORNER,
mFM_BLOCK_TYPE_RIVER_STRAIGHT_CLIFF_HORIZONTAL,
mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_BOTTOM_RIGHT_CORNER,
mFM_BLOCK_TYPE_WATERFALL_EAST_CLIFF_VERTICAL_RIGHT,
mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_RIGHT_CORNER,
mFM_BLOCK_TYPE_RIVER_EAST_CLIFF_TOP_LEFT_CORNER,
mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_HORIZONTAL,
mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_RIGHT_CORNER,
mFM_BLOCK_TYPE_RIVER_WEST_CLIFF_TOP_LEFT_CORNER,
mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_VERTICAL_LEFT,
mFM_BLOCK_TYPE_WATERFALL_WEST_CLIFF_BOTTOM_LEFT_CORNER,
mFM_BLOCK_TYPE_FLAT, // grass
mFM_BLOCK_TYPE_RIVER_SOUTH,
mFM_BLOCK_TYPE_RIVER_EAST,
mFM_BLOCK_TYPE_RIVER_WEST,
mFM_BLOCK_TYPE_RIVER_SOUTH_EAST,
mFM_BLOCK_TYPE_RIVER_EAST_SOUTH,
mFM_BLOCK_TYPE_RIVER_SOUTH_WEST,
mFM_BLOCK_TYPE_RIVER_WEST_SOUTH,
mFM_BLOCK_TYPE_RIVER_SOUTH_BRIDGE,
mFM_BLOCK_TYPE_RIVER_EAST_BRIDGE,
mFM_BLOCK_TYPE_RIVER_WEST_BRIDGE,
mFM_BLOCK_TYPE_RIVER_SOUTH_EAST_BRIDGE,
mFM_BLOCK_TYPE_RIVER_EAST_SOUTH_BRIDGE,
mFM_BLOCK_TYPE_RIVER_SOUTH_WEST_BRIDGE,
mFM_BLOCK_TYPE_RIVER_WEST_SOUTH_BRIDGE,
mFM_BLOCK_TYPE_SLOPE_HORIZONTAL,
mFM_BLOCK_TYPE_SLOPE_BOTTOM_RIGHT_CORNER,
mFM_BLOCK_TYPE_SLOPE_VERTICAL_RIGHT,
mFM_BLOCK_TYPE_SLOPE_TOP_RIGHT_CORNER,
mFM_BLOCK_TYPE_SLOPE_TOP_LEFT_CORNER,
mFM_BLOCK_TYPE_SLOPE_VERTICAL_LEFT,
mFM_BLOCK_TYPE_SLOPE_BOTTOM_LEFT_CORNER,
mFM_BLOCK_TYPE_BORDER_CLIFF_LEFT_TRANSITION,
mFM_BLOCK_TYPE_BORDER_CLIFF_RIGHT_TRANSITION,
mFM_BLOCK_TYPE_BEACH,
mFM_BLOCK_TYPE_BEACH_RIVER,
mFM_BLOCK_TYPE_TRACKS_SHOP,
mFM_BLOCK_TYPE_SHRINE,
mFM_BLOCK_TYPE_TRACKS_POST_OFFICE,
mFM_BLOCK_TYPE_POLICE_BOX,
mFM_BLOCK_TYPE_POOL_SOUTH,
mFM_BLOCK_TYPE_POOL_EAST,
mFM_BLOCK_TYPE_POOL_WEST,
mFM_BLOCK_TYPE_POOL_SOUTH_EAST,
mFM_BLOCK_TYPE_POOL_EAST_SOUTH,
mFM_BLOCK_TYPE_POOL_SOUTH_WEST,
mFM_BLOCK_TYPE_POOL_WEST_SOUTH,
mFM_BLOCK_TYPE_76,
mFM_BLOCK_TYPE_77,
mFM_BLOCK_TYPE_78,
mFM_BLOCK_TYPE_79,
mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_LEFT,
mFM_BLOCK_TYPE_BORDER_CLIFF_OCEAN_RIGHT,
mFM_BLOCK_TYPE_BEACH_RIVER_BRIDGE,
mFM_BLOCK_TYPE_OCEAN,
mFM_BLOCK_TYPE_MUSEUM,
mFM_BLOCK_TYPE_NEEDLEWORK,
mFM_BLOCK_TYPE_86,
mFM_BLOCK_TYPE_87,
mFM_BLOCK_TYPE_88,
mFM_BLOCK_TYPE_89,
mFM_BLOCK_TYPE_90,
mFM_BLOCK_TYPE_91,
mFM_BLOCK_TYPE_92,
mFM_BLOCK_TYPE_93,
mFM_BLOCK_TYPE_OCEAN_2,
mFM_BLOCK_TYPE_OCEAN_3,
mFM_BLOCK_TYPE_OCEAN_4,
mFM_BLOCK_TYPE_OCEAN_5,
mFM_BLOCK_TYPE_ISLAND_LEFT,
mFM_BLOCK_TYPE_ISLAND_RIGHT,
mFM_BLOCK_TYPE_PORT,
mFM_BLOCK_TYPE_SEA_EXCEPTIONAL,
mFM_BLOCK_TYPE_OCEAN_6,
mFM_BLOCK_TYPE_OCEAN_7,
mFM_BLOCK_TYPE_OCEAN_8,
mFM_BLOCK_TYPE_105,
mFM_BLOCK_TYPE_106,
mFM_BLOCK_TYPE_107,
mFM_BLOCK_TYPE_NUM,
mFM_BLOCK_TYPE_NONE = 255
};
/* sizeof(mFM_combination_c) == 2 */
typedef struct block_combination_s {
/* 0x00 */ u16 combination_type:14; /* acre type index */
-1
View File
@@ -10,7 +10,6 @@
extern "C" {
#endif
#define mRF_BLOCK_TYPE_MAX 108 // TODO: this is likely a giant enum lol
#define mRF_DIRECT_ERROR 100
enum {