2020-05-27 19:07:34 +02:00
|
|
|
#pragma once
|
2021-08-28 13:27:58 +02:00
|
|
|
struct ITEM_INFO;
|
|
|
|
struct COLL_INFO;
|
2020-05-27 19:07:34 +02:00
|
|
|
|
2021-08-29 16:11:03 +02:00
|
|
|
|
2020-12-30 02:12:14 +01:00
|
|
|
|
2020-05-27 19:07:34 +02:00
|
|
|
void ClearMovableBlockSplitters(int x, int y, int z, short roomNumber);
|
|
|
|
void InitialisePushableBlock(short itemNum);
|
2021-01-16 18:38:16 +01:00
|
|
|
void PushableBlockControl(short itemNumber);
|
2020-05-27 19:07:34 +02:00
|
|
|
void PushableBlockCollision(short itemNum, ITEM_INFO* laraitem, COLL_INFO* coll);
|
2020-11-04 12:07:53 -03:00
|
|
|
int TestBlockMovable(ITEM_INFO* item, int blokhite);
|
|
|
|
int TestBlockPush(ITEM_INFO* item, int blockhite, unsigned short quadrant);
|
|
|
|
int TestBlockPull(ITEM_INFO* item, int blockhite, short quadrant);
|
2021-01-16 18:38:16 +01:00
|
|
|
void MoveStackXZ(short itemNum);
|
|
|
|
void MoveStackY(short itemNum, int y);
|
|
|
|
void RemoveBridgeStack(short itemNum);
|
|
|
|
void AddBridgeStack(short itemNum);
|
|
|
|
void RemoveFromStack(short itemNum);
|
|
|
|
int FindStack(short itemNum);
|
2020-12-30 02:12:14 +01:00
|
|
|
int GetStackHeight(ITEM_INFO* item);
|
2021-01-16 18:38:16 +01:00
|
|
|
bool CheckStackLimit(ITEM_INFO* item);
|
2021-08-26 16:11:04 +03:00
|
|
|
void PushLoop(ITEM_INFO* item);
|
|
|
|
void PushEnd(ITEM_INFO* item);
|
2021-01-06 17:53:13 -03:00
|
|
|
std::optional<int> PushableBlockFloor(short itemNumber, int x, int y, int z);
|
|
|
|
std::optional<int> PushableBlockCeiling(short itemNumber, int x, int y, int z);
|
2021-01-27 01:04:31 -03:00
|
|
|
int PushableBlockFloorBorder(short itemNumber);
|
|
|
|
int PushableBlockCeilingBorder(short itemNumber);
|