29 #include "cge2/cge2.h" 30 #include "cge2/vga13h.h" 31 #include "cge2/snail.h" 42 Sprite *_pocket[kPocketMax + 1];
43 int _downPocketId[kPocketMax + 1];
45 V2D *_posTab[kSceneMax];
49 for (
int i = 0; i < kPocketMax + 1; i++) {
51 _downPocketId[i] = -1;
54 for (
int i = 0; i < kSceneMax; i++)
58 for (
int i = 0; i < kSceneMax; i++)
69 enum Dir { kNoDir = -1, kSS, kWW, kNN, kEE } _dir;
72 int _reachStart, _reachCycle, _sayStart, _funStart;
73 int _funDel0, _funDel;
80 Sprite *contract()
override;
82 int stepSize() {
return _ext->_seq[7]._dx; }
83 int distance(
V3D pos);
84 int distance(
Sprite * spr);
89 static int snap(
int p,
int q,
int grid);
91 void walkTo(
V2D pos) { walkTo(screenToGround(pos)); }
92 V3D screenToGround(
V2D pos);
94 void say() { step(_sayStart); }
96 void resetFun() { _funDel = _funDel0; }
99 int cross(
const V2D &a,
const V2D &b);
100 int mapCross(
const V2D &a,
const V2D &b);
101 int mapCross(
const V3D &a,
const V3D &b);
102 Hero *other() {
return _vm->_heroTab[!(_ref & 1)]->_ptr;}
103 Action action() {
return (Action)(_ref % 10); }
104 void reach(
int mode);
106 void setScene(
int c)
override;
113 #endif // CGE2_HERO_H