This commit is contained in:
Paul 2001-01-16 16:20:45 +00:00
parent f1d84d4f85
commit 8da90f27df
9 changed files with 60 additions and 38 deletions

View file

@ -51,7 +51,8 @@ CD_FILESYS_LIB := CMXBoot
backend_src := gameover \ backend_src := gameover \
complete complete
enemy_src := enemy enemy_src := 2denemy \
enemy
fileio_src := fileio \ fileio_src := fileio \
$($(FILE_SYSTEM)_FILESYS_SRC) $($(FILE_SYSTEM)_FILESYS_SRC)

View file

@ -14,12 +14,19 @@
#include "gfx\font.h" #include "gfx\font.h"
#include "gfx\fdata.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__ #ifndef __GFX_FADER_H__
#include "gfx\fader.h" #include "gfx\fader.h"
#endif #endif
#include "level\level.h" #include "level\level.h"
#include "player\player.h"
#include "gfx\anim.h" #include "gfx\anim.h"
#ifndef __GFX_BUBICLES__ #ifndef __GFX_BUBICLES__
@ -52,7 +59,14 @@ void CGameScene::init()
VidSetClearScreen(1); VidSetClearScreen(1);
m_conversation.init(); m_conversation.init();
Level.init(); Level.init();
Player.init();
m_player=new ("player") CPlayer();
m_player->init();
C2dEnemy *enemy;
enemy=new ("test enemy") C2dEnemy;
enemy->init();
CAnimDB::LoadAnims(); CAnimDB::LoadAnims();
SetIdentNoTrans(&CamMtx); SetIdentNoTrans(&CamMtx);
@ -65,6 +79,8 @@ void CGameScene::init()
void CGameScene::shutdown() void CGameScene::shutdown()
{ {
m_player->shutdown(); delete m_player;
Level.shutdown(); Level.shutdown();
m_conversation.shutdown(); m_conversation.shutdown();
s_genericFont->dump(); delete s_genericFont; s_genericFont->dump(); delete s_genericFont;
@ -76,7 +92,7 @@ void CGameScene::render()
CamMtx.t[2]=ZPos; // Temp CamMtx.t[2]=ZPos; // Temp
m_conversation.render(); m_conversation.render();
Player.render(); CThing::renderAllThings();
Level.render(); Level.render();
} }
@ -84,15 +100,16 @@ void CGameScene::render()
void CGameScene::think(int _frames) void CGameScene::think(int _frames)
{ {
m_conversation.think(_frames); m_conversation.think(_frames);
Player.think(_frames); CThing::thinkAllThings(_frames);
Level.setCameraCentre(Player.getMapPos()); Level.setCameraCentre(m_player->getPos());
Level.think(_frames); Level.think(_frames);
#ifdef __USER_paul__
if(!m_conversation.isActive()&&PadGetDown(0)&PAD_START) if(!m_conversation.isActive()&&PadGetDown(0)&PAD_START)
{ {
m_conversation.trigger(SCRIPTS_SPEECHTEST_DAT); m_conversation.trigger(SCRIPTS_SPEECHTEST_DAT);
} }
#endif
} }
/*****************************************************************************/ /*****************************************************************************/

View file

@ -7,7 +7,6 @@
#include "system\gstate.h" #include "system\gstate.h"
#include "level\level.h" #include "level\level.h"
#include "player\player.h"
#ifndef __GAME_CONVO_H__ #ifndef __GAME_CONVO_H__
#include "game\convo.h" #include "game\convo.h"
@ -35,7 +34,7 @@ virtual ~CGameScene() {;}
private: private:
CLevel Level; CLevel Level;
CPlayer Player; class CPlayer *m_player;
CConversation m_conversation; CConversation m_conversation;
static FontBank *s_genericFont; static FontBank *s_genericFont;
static MATRIX CamMtx; static MATRIX CamMtx;

View file

@ -5,8 +5,10 @@
#ifndef __LAYER_TILE_H__ #ifndef __LAYER_TILE_H__
#define __LAYER_TILE_H__ #define __LAYER_TILE_H__
#include <dstructs.h>
#include "gfx\prim.h" #include "gfx\prim.h"
/*****************************************************************************/ /*****************************************************************************/
struct sPrimGridElem struct sPrimGridElem
{ {

View file

@ -18,6 +18,9 @@
#include "pad\pads.h" #include "pad\pads.h"
DVECTOR CLevel::MapPos;
/*****************************************************************************/ /*****************************************************************************/
CLevel::CLevel() CLevel::CLevel()
{ {

View file

@ -5,6 +5,7 @@
#ifndef __LEVEL_LEVEL_H__ #ifndef __LEVEL_LEVEL_H__
#define __LEVEL_LEVEL_H__ #define __LEVEL_LEVEL_H__
#include "system\global.h"
#include "level/layertile.h" #include "level/layertile.h"
/*****************************************************************************/ /*****************************************************************************/
@ -22,12 +23,13 @@ public:
void think(int _frames); void think(int _frames);
void setCameraCentre(DVECTOR _pos) {MapPos=_pos;} void setCameraCentre(DVECTOR _pos) {MapPos=_pos;}
static DVECTOR getCameraPos() {return MapPos;}
private: private:
void initLayers(); void initLayers();
sLvlHdr *LevelHdr; sLvlHdr *LevelHdr;
DVECTOR MapPos; static DVECTOR MapPos;
// Tile Layers // Tile Layers

View file

@ -26,41 +26,33 @@
/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
CPlayer::CPlayer()
{
// SetControlObj(&m_playerControl);
// SetRenderObj(&m_skel);
};
/*****************************************************************************/
CPlayer::~CPlayer()
{
}
/*****************************************************************************/ /*****************************************************************************/
void CPlayer::init() void CPlayer::init()
{ {
CThing::init();
sActor3dHdr *Hdr=m_skel.Load(ACTORS_SPONGEBOB_A3D); sActor3dHdr *Hdr=m_skel.Load(ACTORS_SPONGEBOB_A3D);
m_skel.Init(Hdr); m_skel.Init(Hdr);
TPLoadTex(ACTORS_SPONGEBOB_TEX); TPLoadTex(ACTORS_SPONGEBOB_TEX);
m_skel.setAnimDatabase(CAnimDB::GetPlayerAnimBank()); m_skel.setAnimDatabase(CAnimDB::GetPlayerAnimBank());
setState(STATE_IDLE); setState(STATE_IDLE);
m_runVel=0;
m_facing=-1; m_facing=-1;
} }
/*****************************************************************************/ /*****************************************************************************/
void CPlayer::shutdown() void CPlayer::shutdown()
{ {
CThing::shutdown();
} }
/*****************************************************************************/ /*****************************************************************************/
void CPlayer::think(int _frames) void CPlayer::think(int _frames)
{ {
CThing::think(_frames);
int padInput; int padInput;
if(_frames>=3)_frames=2; if(_frames>=3)_frames=2;
@ -193,6 +185,8 @@ if(_frames>=3)_frames=2;
/*****************************************************************************/ /*****************************************************************************/
void CPlayer::render() void CPlayer::render()
{ {
CThing::render();
// Render // Render
m_skel.setFrame(m_frame); m_skel.setFrame(m_frame);
m_skel.setAnimNo(m_animNo); m_skel.setAnimNo(m_animNo);
@ -213,7 +207,6 @@ int CPlayer::s_stateAnims[NUM_STATES]=
int panim=-1; int panim=-1;
void CPlayer::setState(PLAYER_STATE _state) void CPlayer::setState(PLAYER_STATE _state)
{ {
PAUL_DBGMSG("set state %d",_state);
m_state=_state; m_state=_state;
m_animNo=s_stateAnims[_state]; m_animNo=s_stateAnims[_state];
if(panim!=-1)m_animNo=panim; if(panim!=-1)m_animNo=panim;

View file

@ -2,8 +2,8 @@
/*** Player ***/ /*** Player ***/
/**************/ /**************/
#ifndef __PLAYER_H__ #ifndef __PLAYER_PLAYER_H__
#define __PLAYER_H__ #define __PLAYER_PLAYER_H__
#include <dstructs.h> #include <dstructs.h>
#include "Game/Thing.h" #include "Game/Thing.h"
@ -15,9 +15,6 @@
class CPlayer : public CThing class CPlayer : public CThing
{ {
public: public:
CPlayer();
virtual ~CPlayer();
void init(); void init();
void shutdown(); void shutdown();
void think(int _frames); void think(int _frames);

View file

@ -109,6 +109,14 @@ SOURCE=..\..\..\source\backend\gameover.h
# PROP Default_Filter "" # PROP Default_Filter ""
# Begin Source File # 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 SOURCE=..\..\..\source\enemy\enemy.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File