Skip to content

Commit

Permalink
Fix undefined reference to ...
Browse files Browse the repository at this point in the history
  • Loading branch information
dnasdw committed Jun 10, 2024
1 parent c26ebd4 commit 74787f8
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 21 deletions.
4 changes: 2 additions & 2 deletions include/bmarch.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ s32 IsBallista(struct Trap* trap);
int sub_8037AC0(struct Trap* trap);
int sub_8037AEC(struct Trap* trap);
int GetBallistaItemUses(struct Trap* trap);
// ??? ClearBallistaOccupied(???);
// ??? SetBallistaOccupied(???);
void ClearBallistaOccupied(struct Trap* trap);
void SetBallistaOccupied(struct Trap* trap);

#endif // GUARD_BMARCH_H
1 change: 1 addition & 0 deletions include/bmunit.h
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,7 @@ struct Unit* GetUnit(int id);
const struct ClassData* GetClassData(int classId);
const struct CharacterData* GetCharacterData(int charId);
void UnitRemoveItem(struct Unit* unit, int slot);
s32 CanUnitCrossTerrain(struct Unit* unit, int terrain);

#define UNIT_IS_VALID(aUnit) ((aUnit) && (aUnit)->pCharacterData)
#define UNIT_CHAR_ID(aUnit) ((aUnit)->pCharacterData->number)
Expand Down
10 changes: 4 additions & 6 deletions src/bmtarget.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@

struct Unit* EWRAM_DATA gSubjectUnit = NULL;

s8 CanUnitCrossTerrain(struct Unit* unit, int terrain);

void ForEachUnitInMovement(void(*func)(struct Unit* unit)) {
int ix;
int iy;
Expand Down Expand Up @@ -306,7 +304,7 @@ void TryAddToDropTargetList(int x, int y) {
return;
}

if (!CanUnitCrossTerrain(GetUnit(gSubjectUnit->rescue), gBmMapTerrain[y][x])) {
if (!(s8)CanUnitCrossTerrain(GetUnit(gSubjectUnit->rescue), gBmMapTerrain[y][x])) {
return;
}

Expand Down Expand Up @@ -809,7 +807,7 @@ void AddAsTarget_IfPositionCleanForSummon(int x, int y) {
return;
}

if (!CanUnitCrossTerrain(gSubjectUnit, gBmMapTerrain[y][x])) {
if (!(s8)CanUnitCrossTerrain(gSubjectUnit, gBmMapTerrain[y][x])) {
return;
}

Expand Down Expand Up @@ -841,7 +839,7 @@ void sub_8025CD8(int x, int y) {
return;
}

if (!CanUnitCrossTerrain(gSubjectUnit, gBmMapTerrain[y][x])) {
if (!(s8)CanUnitCrossTerrain(gSubjectUnit, gBmMapTerrain[y][x])) {
return;
}

Expand Down Expand Up @@ -1272,7 +1270,7 @@ void TryAddToMineTargetList(int x, int y) {
return;
}

if (!CanUnitCrossTerrain(gSubjectUnit, gBmMapTerrain[y][x])) {
if (!(s8)CanUnitCrossTerrain(gSubjectUnit, gBmMapTerrain[y][x])) {
return;
}

Expand Down
4 changes: 2 additions & 2 deletions src/bmunit.c
Original file line number Diff line number Diff line change
Expand Up @@ -989,7 +989,7 @@ void UnitChangeFaction(struct Unit* unit, int faction) {
GetUnit(newUnit->rescue)->rescue = newUnit->index;
}

inline s8 CanUnitCrossTerrain(struct Unit* unit, int terrain) {
inline s32 CanUnitCrossTerrain(struct Unit* unit, int terrain) {
const s8* lookup = GetUnitMovementCost(unit);
return (lookup[terrain] > 0) ? TRUE : FALSE;
}
Expand Down Expand Up @@ -1036,7 +1036,7 @@ void UnitGetDeathDropLocation(struct Unit* unit, int* xOut, int* yOut) {
if (gBmMapHidden[iy][ix] & HIDDEN_BIT_UNIT)
continue;

if (!CanUnitCrossTerrain(rescuee, gBmMapTerrain[iy][ix]))
if (!(s8)CanUnitCrossTerrain(rescuee, gBmMapTerrain[iy][ix]))
continue;

distance = RECT_DISTANCE(ix, iy, unit->xPos, unit->yPos);
Expand Down
6 changes: 2 additions & 4 deletions src/bmusemind.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
#include "bmmind.h"
#include "bmusemind.h"

s8 CanUnitCrossTerrain(struct Unit* unit, int terrain);

struct ProcCmd CONST_DATA ProcScr_PostWarpStaffAction[] = {
PROC_SLEEP(0),
PROC_CALL_2(PostWarpStaff_ExecTrap),
Expand Down Expand Up @@ -142,7 +140,7 @@ void GetRescueStaffeePosition(struct Unit* unit, struct Unit* target, int* xOut,
continue;
}

if (!CanUnitCrossTerrain(target, gBmMapTerrain[iy][ix])) {
if (!(s8)CanUnitCrossTerrain(target, gBmMapTerrain[iy][ix])) {
continue;
}

Expand Down Expand Up @@ -181,7 +179,7 @@ void GetRescueStaffeePosition(struct Unit* unit, struct Unit* target, int* xOut,
continue;
}

if (!CanUnitCrossTerrain(target, gBmMapTerrain[iy][ix])) {
if (!(s8)CanUnitCrossTerrain(target, gBmMapTerrain[iy][ix])) {
continue;
}

Expand Down
6 changes: 2 additions & 4 deletions src/fogmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
#include "hardware.h"
#include "bmudisp.h"

s8 CanUnitCrossTerrain(struct Unit* unit, int terrain);

void UpdateMapViewWithFog(int vision_range)
{
if (vision_range < 0)
Expand Down Expand Up @@ -51,7 +49,7 @@ void FillWarpRangeMap(struct Unit *unit_act, struct Unit *unit_tar) {
if (gBmMapMovement[y][x] > 0x78)
continue;

if (CanUnitCrossTerrain(unit_tar, gBmMapTerrain[y][x]) &&
if ((s8)CanUnitCrossTerrain(unit_tar, gBmMapTerrain[y][x]) &&
0 == gBmMapUnit[y][x])
continue;

Expand All @@ -64,7 +62,7 @@ void FillWarpRangeMap(struct Unit *unit_act, struct Unit *unit_tar) {
if (gBmMapMovement[y][x] > 0x78)
continue;

if (CanUnitCrossTerrain(unit_tar, gBmMapTerrain[y][x]) &&
if ((s8)CanUnitCrossTerrain(unit_tar, gBmMapTerrain[y][x]) &&
0 == gBmMapUnit[y][x] &&
0 != gBmMapFog[y][x])
continue;
Expand Down
3 changes: 0 additions & 3 deletions src/mapanim_summon.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,9 +202,6 @@ void ProcSummonDK_ResetCounter(struct SumProc* proc)

s8 SelectSummonPos(int x, int y, struct SumThing* result)
{
// It is very strange that in this function, CanUnitCrossTerrain should return as int(*)(Unit*, int)
extern int CanUnitCrossTerrain(struct Unit* unit, int terrain);

struct SumThing array[9];
u8 chosen, count = 0;
short iy, ix;
Expand Down

0 comments on commit 74787f8

Please sign in to comment.