mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-25 07:28:17 -05:00
Decomped IsTileGround()
This commit is contained in:
parent
ec6abc684e
commit
4aafa434a6
15098
asm/code_80495E4.s
15098
asm/code_80495E4.s
File diff suppressed because it is too large
Load Diff
15059
asm/code_804AF74.s
Normal file
15059
asm/code_804AF74.s
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -92,25 +92,3 @@ gBlastBurnIQReq: @ 810ACBC
|
|||
.global gVoltTackleIQReq
|
||||
gVoltTackleIQReq: @ 810ACBE
|
||||
.2byte 333
|
||||
|
||||
.global gDungeonWaterType
|
||||
gDungeonWaterType: @ 810ACC0
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x02, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x02
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x01, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x01
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x01, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
|
|
|||
13
include/tile_types.h
Normal file
13
include/tile_types.h
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#ifndef GUARD_TILE_TYPES_H
|
||||
#define GUARD_TILE_TYPES_H
|
||||
|
||||
#include "map.h"
|
||||
|
||||
#define DUNGEON_WATER_TYPE_NONE 0
|
||||
#define DUNGEON_WATER_TYPE_LAVA 1
|
||||
#define DUNGEON_WATER_TYPE_WATER 2
|
||||
|
||||
// 0x4AF20
|
||||
bool8 IsTileGround(struct MapTile* tile);
|
||||
|
||||
#endif
|
||||
|
|
@ -201,6 +201,8 @@ SECTIONS {
|
|||
src/dungeon_ai_item_weight.o(.text);
|
||||
src/dungeon_map_access.o(.text);
|
||||
asm/code_80495E4.o(.text);
|
||||
src/tile_types.o(.text);
|
||||
asm/code_804AF74.o(.text);
|
||||
src/code_80521D0.o(.text);
|
||||
asm/code_80521D0.o(.text);
|
||||
src/charge_move.o(.text);
|
||||
|
|
@ -423,6 +425,7 @@ SECTIONS {
|
|||
data/data_8107010.o(.rodata);
|
||||
src/friend_area.o(.rodata);
|
||||
data/data_810AC60.o(.rodata);
|
||||
src/tile_types.o(.rodata);
|
||||
src/exclusive_pokemon.o(.rodata);
|
||||
src/rescue_team_info.o(.rodata);
|
||||
src/text_util.o(.rodata);
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
#include "map.h"
|
||||
#include "number_util.h"
|
||||
#include "status_checks_1.h"
|
||||
#include "tile_types.h"
|
||||
#include "weather.h"
|
||||
|
||||
// Array indices correspond to the current dungeon tileset.
|
||||
|
|
@ -95,7 +96,6 @@ const u8 gDungeonCamouflageTypes[76] = {
|
|||
TYPE_ROCK
|
||||
};
|
||||
|
||||
extern bool8 IsTileGround(struct MapTile*);
|
||||
extern bool8 CanLayTrap(struct Position*);
|
||||
|
||||
bool8 CanUseOnSelfWithStatusChecker(struct DungeonEntity *pokemon, struct PokemonMove *move)
|
||||
|
|
|
|||
103
src/tile_types.c
Normal file
103
src/tile_types.c
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
#include "global.h"
|
||||
#include "tile_types.h"
|
||||
|
||||
#include "dungeon_global_data.h"
|
||||
|
||||
const u8 gDungeonWaterType[] = {
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_WATER,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_WATER,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_LAVA,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_LAVA,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_LAVA,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_LAVA,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
DUNGEON_WATER_TYPE_NONE,
|
||||
};
|
||||
|
||||
extern bool8 IsWaterTileset();
|
||||
|
||||
bool8 IsTileGround(struct MapTile* tile)
|
||||
{
|
||||
bool8 isGround = FALSE;
|
||||
if (IsWaterTileset())
|
||||
{
|
||||
if (!(tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)))
|
||||
{
|
||||
isGround = TRUE;
|
||||
}
|
||||
}
|
||||
else if ((tile->tileType & (TILE_TYPE_FLOOR | TILE_TYPE_LIQUID)) != TILE_TYPE_LIQUID ||
|
||||
gDungeonWaterType[gDungeonGlobalData->tileset] == DUNGEON_WATER_TYPE_LAVA)
|
||||
{
|
||||
isGround = TRUE;
|
||||
}
|
||||
return isGround;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user