From 8da90f27dfc25f74f621166b16617944509f888b Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 16 Jan 2001 16:20:45 +0000 Subject: [PATCH] --- makefile.gaz | 3 +- source/game/game.cpp | 29 +++++++++++---- source/game/game.h | 3 +- source/level/layertile.h | 2 ++ source/level/level.cpp | 3 ++ source/level/level.h | 8 +++-- source/player/player.cpp | 35 ++++++++----------- source/player/player.h | 7 ++-- .../spongebob project/spongebob project.dsp | 8 +++++ 9 files changed, 60 insertions(+), 38 deletions(-) diff --git a/makefile.gaz b/makefile.gaz index 2204b6219..5452c13ee 100644 --- a/makefile.gaz +++ b/makefile.gaz @@ -51,7 +51,8 @@ CD_FILESYS_LIB := CMXBoot backend_src := gameover \ complete -enemy_src := enemy +enemy_src := 2denemy \ + enemy fileio_src := fileio \ $($(FILE_SYSTEM)_FILESYS_SRC) diff --git a/source/game/game.cpp b/source/game/game.cpp index f645c5ccb..f59e124d3 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -14,12 +14,19 @@ #include "gfx\font.h" #include "gfx\fdata.h" +#ifndef __PLAYER_PLAYER_H__ +#include "player\player.h" +#endif + +#ifndef __ENEMY_2DENEMY_H__ +#include "enemy\2denemy.h" +#endif + #ifndef __GFX_FADER_H__ #include "gfx\fader.h" #endif #include "level\level.h" -#include "player\player.h" #include "gfx\anim.h" #ifndef __GFX_BUBICLES__ @@ -52,7 +59,14 @@ void CGameScene::init() VidSetClearScreen(1); m_conversation.init(); Level.init(); - Player.init(); + + m_player=new ("player") CPlayer(); + m_player->init(); + + C2dEnemy *enemy; + enemy=new ("test enemy") C2dEnemy; + enemy->init(); + CAnimDB::LoadAnims(); SetIdentNoTrans(&CamMtx); @@ -65,6 +79,8 @@ void CGameScene::init() void CGameScene::shutdown() { + m_player->shutdown(); delete m_player; + Level.shutdown(); m_conversation.shutdown(); s_genericFont->dump(); delete s_genericFont; @@ -76,7 +92,7 @@ void CGameScene::render() CamMtx.t[2]=ZPos; // Temp m_conversation.render(); - Player.render(); + CThing::renderAllThings(); Level.render(); } @@ -84,15 +100,16 @@ void CGameScene::render() void CGameScene::think(int _frames) { m_conversation.think(_frames); - Player.think(_frames); - Level.setCameraCentre(Player.getMapPos()); + CThing::thinkAllThings(_frames); + Level.setCameraCentre(m_player->getPos()); Level.think(_frames); +#ifdef __USER_paul__ if(!m_conversation.isActive()&&PadGetDown(0)&PAD_START) { m_conversation.trigger(SCRIPTS_SPEECHTEST_DAT); } - +#endif } /*****************************************************************************/ diff --git a/source/game/game.h b/source/game/game.h index 81f97f248..6e4ad81ea 100644 --- a/source/game/game.h +++ b/source/game/game.h @@ -7,7 +7,6 @@ #include "system\gstate.h" #include "level\level.h" -#include "player\player.h" #ifndef __GAME_CONVO_H__ #include "game\convo.h" @@ -35,7 +34,7 @@ virtual ~CGameScene() {;} private: CLevel Level; - CPlayer Player; + class CPlayer *m_player; CConversation m_conversation; static FontBank *s_genericFont; static MATRIX CamMtx; diff --git a/source/level/layertile.h b/source/level/layertile.h index 3f0857998..c9b599a9c 100644 --- a/source/level/layertile.h +++ b/source/level/layertile.h @@ -5,8 +5,10 @@ #ifndef __LAYER_TILE_H__ #define __LAYER_TILE_H__ +#include #include "gfx\prim.h" + /*****************************************************************************/ struct sPrimGridElem { diff --git a/source/level/level.cpp b/source/level/level.cpp index 08c4c4109..920a0bf50 100644 --- a/source/level/level.cpp +++ b/source/level/level.cpp @@ -18,6 +18,9 @@ #include "pad\pads.h" + +DVECTOR CLevel::MapPos; + /*****************************************************************************/ CLevel::CLevel() { diff --git a/source/level/level.h b/source/level/level.h index 6a77260df..5e5611c2f 100644 --- a/source/level/level.h +++ b/source/level/level.h @@ -5,6 +5,7 @@ #ifndef __LEVEL_LEVEL_H__ #define __LEVEL_LEVEL_H__ +#include "system\global.h" #include "level/layertile.h" /*****************************************************************************/ @@ -21,13 +22,14 @@ public: void render(); void think(int _frames); - void setCameraCentre(DVECTOR _pos) {MapPos=_pos;} + void setCameraCentre(DVECTOR _pos) {MapPos=_pos;} + static DVECTOR getCameraPos() {return MapPos;} private: void initLayers(); - sLvlHdr *LevelHdr; - DVECTOR MapPos; + sLvlHdr *LevelHdr; + static DVECTOR MapPos; // Tile Layers diff --git a/source/player/player.cpp b/source/player/player.cpp index 3d19514da..ebe92eeb1 100644 --- a/source/player/player.cpp +++ b/source/player/player.cpp @@ -26,41 +26,33 @@ -/*****************************************************************************/ -/*****************************************************************************/ -/*****************************************************************************/ -CPlayer::CPlayer() -{ -// SetControlObj(&m_playerControl); -// SetRenderObj(&m_skel); -}; - -/*****************************************************************************/ -CPlayer::~CPlayer() -{ -} - /*****************************************************************************/ void CPlayer::init() { -sActor3dHdr *Hdr=m_skel.Load(ACTORS_SPONGEBOB_A3D); - m_skel.Init(Hdr); - TPLoadTex(ACTORS_SPONGEBOB_TEX); - m_skel.setAnimDatabase(CAnimDB::GetPlayerAnimBank()); + CThing::init(); + + sActor3dHdr *Hdr=m_skel.Load(ACTORS_SPONGEBOB_A3D); + m_skel.Init(Hdr); + TPLoadTex(ACTORS_SPONGEBOB_TEX); + m_skel.setAnimDatabase(CAnimDB::GetPlayerAnimBank()); - setState(STATE_IDLE); - m_facing=-1; + setState(STATE_IDLE); + m_runVel=0; + m_facing=-1; } /*****************************************************************************/ void CPlayer::shutdown() { + CThing::shutdown(); } /*****************************************************************************/ void CPlayer::think(int _frames) { + CThing::think(_frames); + int padInput; if(_frames>=3)_frames=2; @@ -193,6 +185,8 @@ if(_frames>=3)_frames=2; /*****************************************************************************/ void CPlayer::render() { + CThing::render(); + // Render m_skel.setFrame(m_frame); m_skel.setAnimNo(m_animNo); @@ -213,7 +207,6 @@ int CPlayer::s_stateAnims[NUM_STATES]= int panim=-1; void CPlayer::setState(PLAYER_STATE _state) { -PAUL_DBGMSG("set state %d",_state); m_state=_state; m_animNo=s_stateAnims[_state]; if(panim!=-1)m_animNo=panim; diff --git a/source/player/player.h b/source/player/player.h index c977ad27a..c64d99b65 100644 --- a/source/player/player.h +++ b/source/player/player.h @@ -2,8 +2,8 @@ /*** Player ***/ /**************/ -#ifndef __PLAYER_H__ -#define __PLAYER_H__ +#ifndef __PLAYER_PLAYER_H__ +#define __PLAYER_PLAYER_H__ #include #include "Game/Thing.h" @@ -15,9 +15,6 @@ class CPlayer : public CThing { public: - CPlayer(); - virtual ~CPlayer(); - void init(); void shutdown(); void think(int _frames); diff --git a/users/paul/spongebob project/spongebob project.dsp b/users/paul/spongebob project/spongebob project.dsp index f457012ea..010c741c7 100644 --- a/users/paul/spongebob project/spongebob project.dsp +++ b/users/paul/spongebob project/spongebob project.dsp @@ -109,6 +109,14 @@ SOURCE=..\..\..\source\backend\gameover.h # PROP Default_Filter "" # Begin Source File +SOURCE=..\..\..\source\enemy\2denemy.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\enemy\2denemy.h +# End Source File +# Begin Source File + SOURCE=..\..\..\source\enemy\enemy.cpp # End Source File # Begin Source File