Path: blob/master/RSDKv5/RSDK/Scene/Legacy/v3/CollisionLegacyv3.hpp
1186 views
1namespace Legacy2{34namespace v35{67#define COLSTORE_COUNT (2)89enum CollisionSides {10CSIDE_FLOOR = 0,11CSIDE_LWALL = 1,12CSIDE_RWALL = 2,13CSIDE_ROOF = 3,14CSIDE_ENTITY = 4, // Introduced in Origins Plus15};1617enum CollisionModes {18CMODE_FLOOR = 0,19CMODE_LWALL = 1,20CMODE_ROOF = 2,21CMODE_RWALL = 3,22};2324enum CollisionSolidity {25SOLID_ALL = 0,26SOLID_TOP = 1,27SOLID_LRB = 2,28SOLID_NONE = 3,29};3031enum ObjectCollisionTypes {32C_TOUCH = 0,33C_BOX = 1,34C_BOX2 = 2,35C_PLATFORM = 3,36C_BOX3 = 4, // Introduced in Origins Plus37C_ENEMY = 5, // Introduced in Origins Plus38};3940struct CollisionSensor {41int32 XPos;42int32 YPos;43int32 angle;44bool32 collided;45};4647extern int32 collisionLeft;48extern int32 collisionTop;49extern int32 collisionRight;50extern int32 collisionBottom;5152extern CollisionSensor sensors[6];5354// Introduced in Origins Plus55struct CollisionStore {56int32 entityNo;57int8 type;58int32 left;59int32 right;60int32 top;61int32 bottom;62};63extern CollisionStore collisionStorage[2];6465enum EntityCollisionEffects {66ECEFFECT_NONE = 0,67ECEFFECT_RESETSTORAGE = 1,68ECEFFECT_BOXCOL3 = 2,69};7071#if !RETRO_USE_ORIGINAL_CODE72int32 AddDebugHitbox(uint8 type, Entity *entity, int32 left, int32 top, int32 right, int32 bottom);73#endif7475Hitbox *GetPlayerHitbox(Player *player);7677void FindFloorPosition(Player *player, CollisionSensor *sensor, int32 startYPos);78void FindLWallPosition(Player *player, CollisionSensor *sensor, int32 startXPos);79void FindRoofPosition(Player *player, CollisionSensor *sensor, int32 startYPos);80void FindRWallPosition(Player *player, CollisionSensor *sensor, int32 startXPos);81void FloorCollision(Player *player, CollisionSensor *sensor);82void LWallCollision(Player *player, CollisionSensor *sensor);83void RoofCollision(Player *player, CollisionSensor *sensor);84void RWallCollision(Player *player, CollisionSensor *sensor);85void SetPathGripSensors(Player *player);8687void ProcessPathGrip(Player *player);88void ProcessAirCollision(Player *player);8990void ProcessPlayerTileCollisions(Player *player);9192void TouchCollision(int32 left, int32 top, int32 right, int32 bottom);93void BoxCollision(int32 left, int32 top, int32 right, int32 bottom); // Standard94void BoxCollision2(int32 left, int32 top, int32 right, int32 bottom); // Updated (?)95void PlatformCollision(int32 left, int32 top, int32 right, int32 bottom);96void BoxCollision3(int32 left, int32 top, int32 right, int32 bottom); // Added in Origins Plus97void EnemyCollision(int32 left, int32 top, int32 right, int32 bottom); // Added in Origins Plus9899void ObjectFloorCollision(int32 xOffset, int32 yOffset, int32 cPath);100void ObjectLWallCollision(int32 xOffset, int32 yOffset, int32 cPath);101void ObjectRoofCollision(int32 xOffset, int32 yOffset, int32 cPath);102void ObjectRWallCollision(int32 xOffset, int32 yOffset, int32 cPath);103104void ObjectFloorGrip(int32 xOffset, int32 yOffset, int32 cPath);105void ObjectLWallGrip(int32 xOffset, int32 yOffset, int32 cPath);106void ObjectRoofGrip(int32 xOffset, int32 yOffset, int32 cPath);107void ObjectRWallGrip(int32 xOffset, int32 yOffset, int32 cPath);108void ObjectEntityGrip(int32 direction, int32 extendBottomCol, int32 effect); // Added in Origins Plus109110} // namespace v3111112} // namespace Legacy113114