mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-06 10:43:26 -05:00
document more
This commit is contained in:
parent
1624646a0d
commit
009df8d7d7
|
|
@ -31,6 +31,7 @@ enum Action
|
|||
ACTION_UNK21 = 0x21,
|
||||
ACTION_EAT_AI = 0x23,
|
||||
ACTION_THROW_ITEM_AI = 0x24,
|
||||
ACTION_STAIRS = 0x26,
|
||||
ACTION_THROW_STRAIGHT_PLAYER = 0x27,
|
||||
ACTION_USE_LINK_BOX = 0x2C,
|
||||
ACTION_GIVE_UP = 0x2E,
|
||||
|
|
@ -40,6 +41,7 @@ enum Action
|
|||
ACTION_UNSET_MOVE = 0x33,
|
||||
ACTION_GIVE_ITEM = 0x36,
|
||||
ACTION_TAKE_ITEM = 0x37,
|
||||
ACTION_USE_ITEM = 0x38,
|
||||
ACTION_SECOND_THOUGHTS = 0x39, // Happens with invalid actions, like attempting to eat a non-consumable item.
|
||||
ACTION_SET_ITEM = 0x3C,
|
||||
ACTION_UNSET_ITEM = 0x3D,
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ void sub_8044FF0(u16 param_1)
|
|||
}
|
||||
}
|
||||
|
||||
bool8 IsNotAttacking(Entity *param_1, u8 param_2)
|
||||
bool8 IsNotAttacking(Entity *param_1, bool8 param_2)
|
||||
{
|
||||
EntityInfo *info;
|
||||
u16 *action;
|
||||
|
|
|
|||
|
|
@ -55,8 +55,8 @@ void sub_806675C(Entity *param_1, bool8 param_2)
|
|||
for(index = 0; index < INVENTORY_SIZE; index++)
|
||||
{
|
||||
itemPtr = &gTeamInventoryRef->teamItems[index];
|
||||
if (((itemPtr->flags & ITEM_FLAG_EXISTS) != 0) && ((itemPtr->flags & ITEM_FLAG_SET) != 0)) {
|
||||
if ((itemPtr->flags & ITEM_FLAG_STICKY) != 0) {
|
||||
if (((itemPtr->flags & ITEM_FLAG_EXISTS)) && ((itemPtr->flags & ITEM_FLAG_SET))) {
|
||||
if ((itemPtr->flags & ITEM_FLAG_STICKY)) {
|
||||
sub_8045BF8(gUnknown_202DE58,itemPtr);
|
||||
SendMessage(param_1,*gUnknown_80F8C7C);
|
||||
return;
|
||||
|
|
@ -71,7 +71,7 @@ void sub_806675C(Entity *param_1, bool8 param_2)
|
|||
SendMessage(param_1,*gUnknown_80F8D04);
|
||||
}
|
||||
else {
|
||||
if (GetItemCategory(item->id) == 0) {
|
||||
if (GetItemCategory(item->id) == CATEGORY_THROWN_LINE) {
|
||||
SendMessage(param_1,*gUnknown_80F8CE4);
|
||||
}
|
||||
else
|
||||
|
|
@ -141,8 +141,8 @@ void sub_80668D0(Entity *param_1)
|
|||
else
|
||||
{
|
||||
SetMessageArgument(gUnknown_202DFE8,entity,0);
|
||||
if (((info2->heldItem).flags & ITEM_FLAG_EXISTS) != 0) {
|
||||
if (((info2->heldItem).flags & ITEM_FLAG_STICKY) != 0) {
|
||||
if (((info2->heldItem).flags & ITEM_FLAG_EXISTS)) {
|
||||
if (((info2->heldItem).flags & ITEM_FLAG_STICKY)) {
|
||||
sub_8045BF8(gUnknown_202DEA8,&info2->heldItem);
|
||||
SendMessage(param_1,*gUnknown_80F8C40);
|
||||
return;
|
||||
|
|
@ -184,7 +184,7 @@ void sub_80668D0(Entity *param_1)
|
|||
sub_807D148(param_1,entity,0,0);
|
||||
}
|
||||
if (!info2->isTeamLeader) {
|
||||
info2->flags = info2->flags | 0x4000;
|
||||
info2->flags = info2->flags | MOVEMENT_FLAG_UNK_14;
|
||||
}
|
||||
sub_807AB38(param_1,gDungeon->unk3A08);
|
||||
}
|
||||
|
|
@ -229,7 +229,7 @@ void sub_8066AC0(Entity *param_1)
|
|||
sub_807D148(param_1,entity,0,0);
|
||||
}
|
||||
if (!info2->isTeamLeader) {
|
||||
info2->flags = info2->flags | 0x4000;
|
||||
info2->flags = info2->flags | MOVEMENT_FLAG_UNK_14;
|
||||
}
|
||||
sub_807AB38(param_1,gDungeon->unk3A08);
|
||||
}
|
||||
|
|
@ -275,7 +275,7 @@ void sub_8066BD4(Entity *param_1)
|
|||
sub_807D148(param_1,entity,0,0);
|
||||
}
|
||||
if (!info2->isTeamLeader) {
|
||||
info2->flags = info2->flags | 0x4000;
|
||||
info2->flags = info2->flags | MOVEMENT_FLAG_UNK_14;
|
||||
}
|
||||
sub_807AB38(param_1,gDungeon->unk3A08);
|
||||
}
|
||||
|
|
@ -312,9 +312,9 @@ void sub_8066D04(Entity *param_1)
|
|||
}
|
||||
else {
|
||||
tile = GetTile(entity->pos.x, entity->pos.y);
|
||||
if ((tile->terrainType & 0x200) == 0)
|
||||
if (!(tile->terrainType & TERRAIN_TYPE_STAIRS))
|
||||
{
|
||||
if(((tile->terrainType & 3) == 1) &&
|
||||
if(((tile->terrainType & (TERRAIN_TYPE_NORMAL | TERRAIN_TYPE_SECONDARY)) == TERRAIN_TYPE_NORMAL) &&
|
||||
(tile->object == NULL)) {
|
||||
item->flags &= ~(ITEM_FLAG_SET);
|
||||
sub_8045BF8(gUnknown_202DE58,item);
|
||||
|
|
|
|||
|
|
@ -23,21 +23,22 @@
|
|||
#include "code_8077274_1.h"
|
||||
|
||||
extern u8 gUnknown_202F221;
|
||||
extern u8 gUnknown_202F32D;
|
||||
extern u8 gUnknown_202F222;
|
||||
extern u8 gUnknown_202F32C;
|
||||
extern u8 *gUnknown_80FA5B4[];
|
||||
extern u8 gUnknown_202F32D;
|
||||
extern u8 gUnknown_203B434;
|
||||
extern u8 gAvailablePokemonNames[];
|
||||
|
||||
extern u8 *gUnknown_80FA5B4[];
|
||||
extern u8 *gUnknown_80FE478[];
|
||||
extern u8 *gUnknown_80FD2CC[];
|
||||
extern u8 gUnknown_80F58F4[NUM_DUNGEON_ACTIONS][2];
|
||||
extern u8 gUnknown_203B434;
|
||||
extern u8 *gUnknown_80FE6D4[];
|
||||
|
||||
void sub_8075BA4(Entity *param_1, u8 param_2);
|
||||
void sub_804178C(u8 param_1);
|
||||
void nullsub_95(Entity *);
|
||||
bool8 IsNotAttacking(Entity *, s32);
|
||||
bool8 IsNotAttacking(Entity *, bool8);
|
||||
extern void sub_80671A0(Entity *);
|
||||
extern void sub_8067110(Entity *);
|
||||
void sub_807CABC(Entity *target);
|
||||
|
|
@ -64,8 +65,8 @@ void sub_80668D0(Entity *);
|
|||
void sub_8066AC0(Entity *);
|
||||
void sub_8066CF0(Entity *);
|
||||
void sub_8066FA4(Entity *);
|
||||
void sub_806675C(Entity *,u32);
|
||||
void sub_806684C(Entity *,u32);
|
||||
void sub_806675C(Entity *,bool8);
|
||||
void sub_806684C(Entity *,bool8);
|
||||
void sub_807FE9C(Entity *,Position *,u32,u32);
|
||||
extern u8 sub_8044B28(void);
|
||||
extern u8 UseAttack(Entity *);
|
||||
|
|
@ -126,7 +127,7 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
info->useHeldItem = FALSE;
|
||||
info->fillF3 = 0;
|
||||
gDungeon->unkB8 = entity;
|
||||
if ((gUnknown_80F58F4)[(info->action).action][0] != 0) {
|
||||
if (gUnknown_80F58F4[(info->action).action][0] != 0) {
|
||||
if (info->isTeamLeader) {
|
||||
sub_805EFB4(entity,gUnknown_80F58F4[(info->action).action][1]);
|
||||
}
|
||||
|
|
@ -134,7 +135,7 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
sub_8075BA4(entity,gUnknown_80F58F4[(info->action).action][1]);
|
||||
}
|
||||
}
|
||||
if ((CannotAttack(entity,0)) && (IsCharging(entity,1))) {
|
||||
if ((CannotAttack(entity, FALSE)) && (IsCharging(entity, TRUE))) {
|
||||
sub_8079764(entity);
|
||||
}
|
||||
|
||||
|
|
@ -142,10 +143,10 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
{
|
||||
move = &info->moves[index];
|
||||
if ((move->moveFlags & MOVE_FLAG_EXISTS)) {
|
||||
move->moveFlags2 &= 0xfb;
|
||||
move->moveFlags2 &= ~(MOVE_FLAG2_UNK4);
|
||||
}
|
||||
}
|
||||
if (!IsNotAttacking(entity,0)) {
|
||||
if (!IsNotAttacking(entity, FALSE)) {
|
||||
if (UseAttack(entity)) {
|
||||
if (sub_8044B28()) {
|
||||
return FALSE;
|
||||
|
|
@ -198,7 +199,7 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
bVar5 = FALSE;
|
||||
pos1.x = (entity->pos).x + gAdjacentTileOffsets[(info->action).direction].x;
|
||||
pos1.y = (entity->pos).y + gAdjacentTileOffsets[(info->action).direction].y;
|
||||
if (((info->flags & 0x8000) == 0) &&
|
||||
if ((!(info->flags & MOVEMENT_FLAG_SWAPPING_PLACES_PETRIFIED_ALLY)) &&
|
||||
(!CanMoveInDirection(entity,(info->action).direction))) {
|
||||
bVar5 = TRUE;
|
||||
}
|
||||
|
|
@ -225,7 +226,7 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
case ACTION_USE_MOVE_AI:
|
||||
sub_807CABC(entity);
|
||||
break;
|
||||
case 0x26: // ACTION_STAIRS??
|
||||
case ACTION_STAIRS:
|
||||
if ((gDungeon->dungeonLocation.id == DUNGEON_METEOR_CAVE) && (!gDungeon->deoxysDefeat)) {
|
||||
SendMessage(entity,*gUnknown_80FA5B4); // It's impossible to go down the stairs now!
|
||||
}
|
||||
|
|
@ -256,14 +257,14 @@ bool8 sub_8072CF4(Entity *entity)
|
|||
case 0x3e:
|
||||
sub_8066BD4(entity); // ITEM_SWITCH_TOOLBOX (When you switch item in Toolbox)
|
||||
break;
|
||||
case 0x38:
|
||||
sub_8066CF0(entity); // ACTION_USE_HELD_ITEM
|
||||
case ACTION_USE_ITEM:
|
||||
sub_8066CF0(entity);
|
||||
break;
|
||||
case ACTION_SET_ITEM:
|
||||
sub_806675C(entity,1);
|
||||
sub_806675C(entity, TRUE);
|
||||
break;
|
||||
case ACTION_UNSET_ITEM:
|
||||
sub_806684C(entity,1);
|
||||
sub_806684C(entity, TRUE);
|
||||
break;
|
||||
case 0x3b:
|
||||
gDungeon->unkBC = gDungeon->teamPokemon[(info->action).unk4[0].actionUseIndex];
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user