fallout2-ce/src/mapper/mapper.cc

61 lines
1.4 KiB
C++
Raw Normal View History

2023-07-22 23:25:56 -07:00
#include "mapper/mapper.h"
2023-07-22 23:39:13 -07:00
#include "game_mouse.h"
2023-07-22 23:25:56 -07:00
#include "object.h"
#include "proto.h"
namespace fallout {
2023-07-22 23:39:13 -07:00
static int mapper_mark_exit_grid();
2023-07-22 23:25:56 -07:00
static void mapper_mark_all_exit_grids();
// 0x559748
MapTransition mapInfo = { -1, -1, 0, 0 };
2023-07-22 23:39:13 -07:00
// 0x48C678
int mapper_mark_exit_grid()
{
int y;
int x;
int tile;
Object* obj;
for (y = -2000; y != 2000; y += 200) {
for (x = -10; x < 10; x++) {
tile = gGameMouseBouncingCursor->tile + y + x;
obj = objectFindFirstAtElevation(gElevation);
while (obj != NULL) {
if (isExitGridPid(obj->pid)) {
obj->data.misc.map = mapInfo.map;
obj->data.misc.tile = mapInfo.tile;
obj->data.misc.elevation = mapInfo.elevation;
obj->data.misc.rotation = mapInfo.rotation;
}
obj = objectFindNextAtElevation();
}
}
}
return 0;
}
2023-07-22 23:25:56 -07:00
// 0x48C704
void mapper_mark_all_exit_grids()
{
Object* obj;
obj = objectFindFirstAtElevation(gElevation);
while (obj != NULL) {
if (isExitGridPid(obj->pid)) {
obj->data.misc.map = mapInfo.map;
obj->data.misc.tile = mapInfo.tile;
obj->data.misc.elevation = mapInfo.elevation;
obj->data.misc.rotation = mapInfo.rotation;
}
obj = objectFindNextAtElevation();
}
}
} // namespace fallout