24 #ifndef HOPKINS_BASE_ENGINE_H 25 #define HOPKINS_BASE_ENGINE_H 27 #include "hopkins/base_data.h" 28 #include "hopkins/base_types.h" 30 #include "common/array.h" 31 #include "common/scummsys.h" 44 BaseInputState() : forward(
false), backward(
false), turnLeft(
false),
45 turnRight(
false), fire(
false), exitRequested(
false), toggleTextures(
false) {}
49 kBaseSoundEnemyShot = 2,
50 kBaseSoundPlayerShot = 3,
51 kBaseSoundDoorOrExit = 4,
52 kBaseSoundGuardHit = 5
64 const BaseData &data()
const {
return _data; }
65 const uint16 *xGrid()
const {
return _xGrid; }
66 const uint16 *yGrid()
const {
return _yGrid; }
67 const BaseObject &object(
int id)
const {
return _objects[id]; }
68 const BaseDoor &door(
int id)
const {
return _doors[id]; }
70 void clearSoundEvents() { _soundEvents.
clear(); }
72 int playerX()
const {
return _playerX; }
73 int playerY()
const {
return _playerY; }
74 int playerAngle()
const {
return _playerAngle; }
75 int health()
const {
return _health; }
76 int weaponCounter()
const {
return _weaponCounter; }
77 bool texturesEnabled()
const {
return _texturesEnabled; }
78 int entryReturnId()
const {
return _entry ? _entry->returnId : 0; }
80 BaseRayHit castRay(
int angle,
int viewColumn)
const;
81 BaseRayHit castRayFrom(int16 originX, int16 originY,
int angle,
int viewColumn)
const;
82 int objectAngle(int32 deltaX, int32 deltaY)
const;
83 int objectDistance(
const BaseObject &
object)
const;
95 uint16 getWallX(
int mapPos)
const;
96 uint16 getWallY(
int mapPos)
const;
97 int moveWithAckCollision(int16 &x, int16 &y,
int angle,
int amount,
int ignoredObject)
const;
98 int movePlayer(
int angle,
int amount);
99 int moveObject(
int objectId,
int angle,
int amount);
100 int checkObjectPosition(int16 x, int16 y,
int ignoredObject)
const;
101 int checkObjectPositionShot(int16 x, int16 y,
int angle);
102 int checkHitAt(int16 x, int16 y,
int angle)
const;
103 int moveShotStep(int16 &x, int16 &y,
int angle,
int amount);
104 int testGuardShotPosition(int16 x, int16 y)
const;
105 bool testWall(
int mapPos)
const;
107 int checkDoorOpen(int16 x, int16 y,
int angle);
109 int findDoor(
int mapPos)
const;
110 int findDoorSlot(
int mapPos)
const;
111 const BaseDoor *doorForMapPosition(
int mapPos)
const;
112 BaseDoor *doorForMapPosition(
int mapPos);
113 int doorOffsetForMapPosition(
int mapPos)
const;
115 bool guardCanShoot(
int objectId);
119 int castXRay(int16 originX, int16 originY,
int angle,
BaseRayHit &hit)
const;
120 int castYRay(int16 originX, int16 originY,
int angle,
BaseRayHit &hit)
const;
121 void finalizeRayDistance(
BaseRayHit &hit,
int viewColumn)
const;
125 uint16 _xGrid[kBaseAckGridArray];
126 uint16 _yGrid[kBaseAckGridArray];
135 bool _texturesEnabled;
148 #endif // HOPKINS_BASE_ENGINE_H Definition: base_engine.h:55
void clear()
Definition: array.h:321
Definition: base_types.h:145
Definition: base_types.h:181
Definition: base_types.h:165
Definition: base_types.h:131
Definition: base_data.h:35