TombEngine/TR5Main/Game/misc.cpp
TokyoSU 29f0724693 New project format (#206)
* Starting Reformat the project

- New Import Method, no more "../../" in import,
- New Entity Folder Structure, less compile time

* Refactoring the Project

- added precompiled header with default import like microsoft or directx.
- fix many double import.
- fix math.h confliting math.h from
microsoft.
- fix effects.h confliting Effects.h from DirectX.
- refactored TR4 entity folder and how it's loaded.

* Update Some Code Before Switching to Master

* Finished the NewProjectFormat Template

- need to finish entity in the master later.

* Added Monty NewFileFormat

* Fixed Monty NewFileFormat Include

* Revert "Fixed Monty NewFileFormat Include"

This reverts commit ebf0afca10.

* Trying to fix conflits for NewFileFormat

* Fixed .filters

* Last Commit in NewProjectFormat
2020-05-27 09:21:20 +02:00

92 lines
No EOL
1.6 KiB
C++

#include "framework.h"
#include "misc.h"
#include "setup.h"
#include "level.h"
short GF(short animIndex, short frameToStart)
{
return short(Anims[animIndex].frameBase + frameToStart);
}
short GF2(short objectID, short animIndex, short frameToStart)
{
return short(Anims[Objects[objectID].animIndex + animIndex].frameBase + frameToStart);
}
CREATURE_INFO* GetCreatureInfo(ITEM_INFO* item)
{
return (CREATURE_INFO*)item->data;
}
void GetRoomList(short roomNumber, short* roomArray, short* numRooms)
{
short numDoors, *door, adjoiningRoom;
int i, j;
bool adjoiningRoomFound;
roomArray[0] = roomNumber;
door = Rooms[roomNumber].door;
if (door)
{
numDoors = *door;
door++;
for (i = 0; i < numDoors; i++)
{
adjoiningRoom = *door;
adjoiningRoomFound = false;
for (j = 0; j < *numRooms; j++)
{
if (roomArray[i] == adjoiningRoom)
{
adjoiningRoomFound = true;
break;
}
}
if (!adjoiningRoomFound)
roomArray[*(numRooms++)] = adjoiningRoom;
door += 16;
}
}
}
void GetRoomList(short roomNumber, vector<short>* destRoomList)
{
vector<short> roomList;
short numDoors, *door, adjoiningRoom;
int i, j;
bool adjoiningRoomFound;
roomList.push_back(roomNumber);
door = Rooms[roomNumber].door;
if (door)
{
numDoors = *door;
door++;
for (i = 0; i < numDoors; i++)
{
adjoiningRoom = *door;
adjoiningRoomFound = false;
for (j = 0; j < roomList.size(); j++)
{
if (roomList[i] == adjoiningRoom)
{
adjoiningRoomFound = true;
break;
}
}
if (!adjoiningRoomFound)
roomList.push_back(adjoiningRoom);
door += 16;
}
}
*destRoomList = roomList;
}