From 10a0e290ac07524dc129cc2b227b0f9e95df0f8e Mon Sep 17 00:00:00 2001 From: Ben Beltran Date: Mon, 16 Apr 2012 09:39:52 -0500 Subject: first commit --- actor.h | 190 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100755 actor.h (limited to 'actor.h') diff --git a/actor.h b/actor.h new file mode 100755 index 0000000..3110b8d --- /dev/null +++ b/actor.h @@ -0,0 +1,190 @@ +/* + * Module Name: Actor + * Description: Every action that has to do with actors (playable and NPCs). + * It has all the lua stuff, which is messy as fuck. + */ + +class Actor : public CLuaScript +{ + +protected: + + int x, y, w, h, clip_x, clip_y, currentframe, oldclip, m_iMethodBase, walk_time; + float vertical_speed, falltime, speed, ownspeed, totalspeed, vertical_acc, horizontal_acc; + + Actor *parent; + + //keys + int leftkey, rightkey, zkey, xkey, ckey, shotcount; + + SDL_Surface *sprite; + Mix_Chunk *walkbg; + + Map *currentmap; + Audio *audio; + Game_overwatch *overwatch; + + bool colliding[4]; + bool dying, animating, animup, jumplock, shootlock, + switchlock, physics, controllable, noclip; + + Direction currentdirection; + Enemy enemy; + + +public: + + //constructors and destructor. + Actor(int, int, const char*, const char*, Map *, Audio *, Game_overwatch *, CLuaVirtualMachine&); + Actor(int, int, const char*, const char*, Actor *, Direction, bool, Map *, Audio *, Game_overwatch *, CLuaVirtualMachine&); + virtual ~Actor(void); + + //initializer (Common for constructors) + void init(int, int, const char*, const char*, Actor *, Direction, bool, Map *, Audio *, Game_overwatch *, CLuaVirtualMachine&); + + //lua required methods + int ScriptCalling (CLuaVirtualMachine&, int); + void HandleReturns (CLuaVirtualMachine&, const char *); + + //normal methods + bool can_move(Direction, int, int); + bool can_die(void); + void animate(void); + void move(void); + void add_bullet(const char*, const char*); + void remove_bullet(void); + void accelerate(float, float); + void decelerate(float); + + //set and get stuff + int get_x(void); + void set_x(int); + int get_y(void); + void set_y(int); + int get_w(void); + void set_w(int); + int get_h(void); + void set_h(int); + int get_clip_x(void); + void set_clip_x(int); + int get_clip_y(void); + void set_clip_y(int); + int get_currentframe(void); + void set_currentframe(int); + int get_oldclip(void); + void set_oldclip(int); + float get_vertical_speed(void); + void set_vertical_speed(float); + float get_vertical_acc(void); + void set_vertical_acc(float); + float get_falltime(void); + void set_falltime(float); + SDL_Surface * get_sprite(void); + void set_collision(bool, int); + bool get_collision(int); + float get_speed(void); + void set_speed(float); + float get_ownspeed(void); + void set_ownspeed(float); + float get_totalspeed(void); + void set_totalspeed(float); + float get_horizontal_acc(void); + void set_horizontal_acc(float); + Enemy get_enemy(void); + Direction get_currentdirection(void); + int get_leftkey(void); + void set_leftkey(int); + int get_rightkey(void); + void set_rightkey(int); + int get_zkey(void); + void set_zkey(int); + int get_xkey(void); + void set_xkey(int); + bool get_physics(void); + void set_physics(bool); + bool get_dying(void); + void set_dying(bool); + bool get_controllable(void); + void set_ckey(int); + bool get_noclip(void); + + //lua accessors (get) + int lget_x(CLuaVirtualMachine&); + int lget_y(CLuaVirtualMachine&); + int lget_w(CLuaVirtualMachine&); + int lget_h(CLuaVirtualMachine&); + int lget_clip_x(CLuaVirtualMachine&); + int lget_clip_y(CLuaVirtualMachine&); + int lget_currentframe(CLuaVirtualMachine&); + int lget_oldclip(CLuaVirtualMachine&); + int lget_vertical_speed(CLuaVirtualMachine&); + int lget_falltime(CLuaVirtualMachine&); + int lget_speed(CLuaVirtualMachine&); + int lget_ownspeed(CLuaVirtualMachine&); + int lget_totalspeed(CLuaVirtualMachine&); + int lget_currentdirection(CLuaVirtualMachine&); + int lget_collision(CLuaVirtualMachine&); + int lget_map_sx(CLuaVirtualMachine&); + int lget_map_sy(CLuaVirtualMachine&); + int lget_cfg_max_map_w(CLuaVirtualMachine&); + int lget_cfg_max_map_h(CLuaVirtualMachine&); + int lget_cfg_screen_width(CLuaVirtualMachine&); + int lget_cfg_screen_height(CLuaVirtualMachine&); + int lget_leftkey(CLuaVirtualMachine&); + int lget_rightkey(CLuaVirtualMachine&); + int lget_zkey(CLuaVirtualMachine&); + int lget_xkey(CLuaVirtualMachine&); + int lget_jumplock(CLuaVirtualMachine&); + int lget_shootlock(CLuaVirtualMachine&); + int lget_shotcount(CLuaVirtualMachine&); + int lget_ckey(CLuaVirtualMachine&); + int lget_switchlock(CLuaVirtualMachine&); + int lget_cfg_tile_w(CLuaVirtualMachine&); + int lget_cfg_tile_h(CLuaVirtualMachine&); + int lget_walk_time(CLuaVirtualMachine&); + + //lua accessors (set) + int lset_x(CLuaVirtualMachine&); + int lset_y(CLuaVirtualMachine&); + int lset_w(CLuaVirtualMachine&); + int lset_h(CLuaVirtualMachine&); + int lset_clip_x(CLuaVirtualMachine&); + int lset_clip_y(CLuaVirtualMachine&); + int lset_currentframe(CLuaVirtualMachine&); + int lset_oldclip(CLuaVirtualMachine&); + int lset_vertical_speed(CLuaVirtualMachine&); + int lset_falltime(CLuaVirtualMachine&); + int lset_speed(CLuaVirtualMachine&); + int lset_ownspeed(CLuaVirtualMachine&); + int lset_totalspeed(CLuaVirtualMachine&); + int lset_currentdirection(CLuaVirtualMachine&); + int lset_collision(CLuaVirtualMachine&); + int lset_map_sx(CLuaVirtualMachine&); + int lset_map_sy(CLuaVirtualMachine&); + int lset_leftkey(CLuaVirtualMachine&); + int lset_rightkey(CLuaVirtualMachine&); + int lset_zkey(CLuaVirtualMachine&); + int lset_xkey(CLuaVirtualMachine&); + int lset_jumplock(CLuaVirtualMachine&); + int lset_shootlock(CLuaVirtualMachine&); + int lset_dying(CLuaVirtualMachine&); + int lset_shotcount(CLuaVirtualMachine&); + int lset_physics(CLuaVirtualMachine&); + int lset_enemy(CLuaVirtualMachine&); + int lset_controllable(CLuaVirtualMachine&); + int lset_switchlock(CLuaVirtualMachine&); + int lset_noclip(CLuaVirtualMachine&); + int lset_walk_time(CLuaVirtualMachine&); + + //misc lua methods + int lcan_move(CLuaVirtualMachine&); + int center_map(CLuaVirtualMachine&); + int ladd_bullet(CLuaVirtualMachine&); + int lload_clip(CLuaVirtualMachine&); + int lplay_sfx(CLuaVirtualMachine&); + int lplay_bgm(CLuaVirtualMachine&); + int lstop_bgm(CLuaVirtualMachine&); + int laccelerate(CLuaVirtualMachine&); + int ldecelerate(CLuaVirtualMachine&); + +}; -- cgit