This commit is contained in:
parent
5d91df3b7a
commit
6673695cf4
8 changed files with 108 additions and 182 deletions
|
@ -33,6 +33,13 @@ sfx/ingame.vh
|
|||
demo/demo____.dmo
|
||||
backdrop/credits.gfx
|
||||
backdrop/sky.gfx
|
||||
loadingscreens/culture.gfx
|
||||
loadingscreens/karate.gfx
|
||||
loadingscreens/monitor.gfx
|
||||
loadingscreens/pickles.gfx
|
||||
loadingscreens/pineapple.gfx
|
||||
loadingscreens/pizza.gfx
|
||||
loadingscreens/teenage.gfx
|
||||
memcard/memhead.bin
|
||||
|
||||
levels/levelBackGfx.spr
|
||||
|
|
22
makefile.gfx
22
makefile.gfx
|
@ -384,6 +384,28 @@ GRAF_DIRS_TO_MAKE += $(BACKDROPS_OUT_DIR)
|
|||
GFX_DATA_OUT += $(BACKDROPS_OUT)
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Loading screens
|
||||
#----------------------------------------------------------------------------
|
||||
LOADINGSCREENS_IN_DIR := $(GRAF_DIR)/loadingscreens
|
||||
LOADINGSCREENS_IN := culture karate monitor pickles pineapple pizza teenage
|
||||
|
||||
LOADINGSCREENS_OUT_DIR := $(DATA_OUT)/loadingscreens
|
||||
LOADINGSCREENS_OUT := $(foreach SCREEN,$(LOADINGSCREENS_IN),$(LOADINGSCREENS_OUT_DIR)/$(SCREEN).gfx)
|
||||
|
||||
loadingscreens : $(LOADINGSCREENS_OUT)
|
||||
|
||||
cleanloadingscreens :
|
||||
@$(RM) -f $(LOADINGSCREENS_OUT)
|
||||
@$(ECHO) Loadingscreens Cleaned
|
||||
|
||||
$(LOADINGSCREENS_OUT_DIR)/%.gfx : $(LOADINGSCREENS_IN_DIR)/%.tga
|
||||
@$(TGA2GFX) $< $@
|
||||
|
||||
GRAF_DIRS_TO_MAKE += $(LOADINGSCREENS_OUT_DIR)
|
||||
GFX_DATA_OUT += $(LOADINGSCREENS_OUT)
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Sound FX
|
||||
#----------------------------------------------------------------------------
|
||||
|
|
|
@ -142,6 +142,7 @@ void CFader::render()
|
|||
}
|
||||
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
{
|
||||
POLY_F4 *f4;
|
||||
POLY_FT3 *ft3;
|
||||
|
@ -155,7 +156,7 @@ void CFader::render()
|
|||
setPolyFT3(ft3);
|
||||
setShadeTex(ft3,1);
|
||||
setSemiTrans(ft3,1);
|
||||
ft3->tpage=(2<<5);
|
||||
ft3->tpage=(s_fadeStyle==BLACK_FADE?2:1<<5);
|
||||
setXY3(ft3,512,512,512,512,512,512);
|
||||
AddPrimToList(ft3,0);
|
||||
break;
|
||||
|
@ -199,6 +200,7 @@ void CFader::render()
|
|||
}
|
||||
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
{
|
||||
POLY_F4 *f4;
|
||||
POLY_FT3 *ft3;
|
||||
|
@ -214,7 +216,7 @@ void CFader::render()
|
|||
setPolyFT3(ft3);
|
||||
setShadeTex(ft3,1);
|
||||
setSemiTrans(ft3,1);
|
||||
ft3->tpage=(2<<5);
|
||||
ft3->tpage=(s_fadeStyle==BLACK_FADE?2:1<<5);
|
||||
setXY3(ft3,512,512,512,512,512,512);
|
||||
AddPrimToList(ft3,0);
|
||||
break;
|
||||
|
@ -237,6 +239,9 @@ void CFader::render()
|
|||
case BLACK_FADE:
|
||||
setRGB0(f4,0,0,0);
|
||||
break;
|
||||
case WHITE_FADE:
|
||||
setRGB0(f4,255,255,255);
|
||||
break;
|
||||
}
|
||||
AddPrimToList(f4,0);
|
||||
return;
|
||||
|
@ -291,6 +296,7 @@ void CFader::think(int _frames)
|
|||
}
|
||||
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
{
|
||||
if(s_fadeValue<0)
|
||||
{
|
||||
|
@ -331,6 +337,7 @@ void CFader::setFadingOut(FADE_STYLE _style)
|
|||
s_fadeValue=256+FADE_BORDER_SIZE;
|
||||
break;
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
s_fadeValue=255;
|
||||
break;
|
||||
}
|
||||
|
@ -354,6 +361,7 @@ void CFader::setFadingIn(FADE_STYLE _style)
|
|||
s_fadeValue=256+FADE_BORDER_SIZE;
|
||||
break;
|
||||
case BLACK_FADE:
|
||||
case WHITE_FADE:
|
||||
s_fadeValue=255;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -36,6 +36,7 @@ public:
|
|||
{
|
||||
BUBBLE_FADE,
|
||||
BLACK_FADE,
|
||||
WHITE_FADE,
|
||||
} FADE_STYLE;
|
||||
|
||||
static void render();
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
#include "level\layertile3d.h"
|
||||
#include "level\layercollision.h"
|
||||
|
||||
#include "gfx\font.h"
|
||||
|
||||
#ifndef __TRIGGERS_TLEVEXIT_H__
|
||||
#include "triggers\tlevexit.h"
|
||||
#endif
|
||||
|
@ -24,6 +26,10 @@
|
|||
#include "sound\sound.h"
|
||||
#endif
|
||||
|
||||
#ifndef __VID_HEADER_
|
||||
#include "system\vid.h"
|
||||
#endif
|
||||
|
||||
#include "pad\pads.h"
|
||||
|
||||
DVECTOR CLevel::MapPos;
|
||||
|
@ -384,6 +390,48 @@ void CLevel::init()
|
|||
if (s_globalLevelSelectThing>=LvlTableSize) s_globalLevelSelectThing=0;
|
||||
}
|
||||
|
||||
// Loading screen
|
||||
if(s_globalLevelSelectThing%12==0)
|
||||
{
|
||||
FileEquate loadingScreens[6]=
|
||||
{
|
||||
LOADINGSCREENS_PINEAPPLE_GFX,
|
||||
LOADINGSCREENS_CULTURE_GFX,
|
||||
LOADINGSCREENS_PICKLES_GFX,
|
||||
LOADINGSCREENS_MONITOR_GFX,
|
||||
LOADINGSCREENS_KARATE_GFX,
|
||||
LOADINGSCREENS_PIZZA_GFX,
|
||||
};
|
||||
FontBank font;
|
||||
int chapter,level;
|
||||
char buf[128];
|
||||
u8 *s_image;
|
||||
int i;
|
||||
|
||||
font.initialise(&standardFont);
|
||||
font.setJustification(FontBank::JUST_CENTRE);
|
||||
chapter=s_globalLevelSelectThing/(12*4);
|
||||
if(chapter>5)chapter=5;
|
||||
level=((s_globalLevelSelectThing%(12*4))/12);
|
||||
sprintf(buf,"LOADING CHAPTER %d LEVEL %d",chapter+1,level+1);
|
||||
s_image=CFileIO::loadFile(loadingScreens[chapter]);
|
||||
ASSERT(s_image);
|
||||
SetScreenImage(s_image);
|
||||
for(i=0;i<2;i++)
|
||||
{
|
||||
font.print(256,128,buf);
|
||||
PrimDisplay();
|
||||
VSync(0);
|
||||
VidSwapDraw();
|
||||
}
|
||||
ClearScreenImage();
|
||||
MemFree(s_image);
|
||||
VSync(20);
|
||||
font.dump();
|
||||
}
|
||||
|
||||
|
||||
|
||||
for (int i=0; i<CLayerTile::LAYER_TILE_TYPE_MAX; i++)
|
||||
{
|
||||
TileLayers[i]=0;
|
||||
|
|
|
@ -173,8 +173,8 @@ int s_health;
|
|||
int s_screenPos;
|
||||
DVECTOR m_cameraScrollPos={0,600};
|
||||
|
||||
int SCREEN_GEOM_CENTRE_X=248;
|
||||
int SCREEN_GEOM_CENTRE_Y=129;
|
||||
int SCREEN_GEOM_CENTRE_X=256;
|
||||
int SCREEN_GEOM_CENTRE_Y=107;
|
||||
int SCREEN_GEOM_PLAYER_OFS_X=9;
|
||||
int SCREEN_GEOM_PLAYER_OFS_Y=-26;
|
||||
|
||||
|
@ -211,6 +211,8 @@ CPlayerMode *CPlayer::s_playerModes[NUM_PLAYERMODES]=
|
|||
&PLAYERMODEFLY, // PLAYER_MODE_FLY
|
||||
};
|
||||
|
||||
int sbanimspeed=1;
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Function:
|
||||
|
@ -463,8 +465,12 @@ m_fontBank->print(40,40,posBuf);
|
|||
//!! m_actorGfx.Render(this);
|
||||
//!! m_currentPlayerModeClass->render();
|
||||
//!! SetGeomOffset(SCREEN_GEOM_CENTRE_X,SCREEN_GEOM_CENTRE_Y);
|
||||
DVECTOR Pos={256,128};
|
||||
m_actorGfx->Render(Pos,m_animNo,m_animFrame,0);
|
||||
DVECTOR Pos=
|
||||
{
|
||||
SCREEN_GEOM_CENTRE_X+m_playerScreenGeomPos.vx-m_actorGfx->getFrameWidth(m_animNo,m_animFrame/2),
|
||||
SCREEN_GEOM_CENTRE_Y+m_playerScreenGeomPos.vy
|
||||
};
|
||||
m_actorGfx->Render(Pos,m_animNo,m_animFrame>>sbanimspeed,m_facing==FACING_RIGHT?0:1);
|
||||
m_currentPlayerModeClass->render();
|
||||
}
|
||||
|
||||
|
@ -616,11 +622,7 @@ int CPlayer::getFacing()
|
|||
}
|
||||
void CPlayer::setFacing(int _facing)
|
||||
{
|
||||
if(m_facing!=_facing)
|
||||
{
|
||||
m_facing=_facing;
|
||||
//!! m_actorGfx.setDir(_facing);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -672,7 +674,7 @@ void CPlayer::setAnimFrame(int _animFrame)
|
|||
}
|
||||
int CPlayer::getAnimFrameCount()
|
||||
{
|
||||
return m_actorGfx->getFrameCount(m_animNo);
|
||||
return m_actorGfx->getFrameCount(m_animNo)<<sbanimspeed;
|
||||
}
|
||||
int CPlayer::getAnimNo()
|
||||
{
|
||||
|
@ -868,147 +870,6 @@ PLAYERINPUT CPlayer::readPadInput()
|
|||
return input;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Function:
|
||||
Purpose:
|
||||
Params:
|
||||
Returns:
|
||||
---------------------------------------------------------------------- */
|
||||
/*
|
||||
void CPlayer::clearPlatform()
|
||||
{
|
||||
m_prevOnPlatform = m_onPlatform;
|
||||
m_onPlatform = false;
|
||||
}
|
||||
*/
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Function:
|
||||
Purpose:
|
||||
Params:
|
||||
Returns:
|
||||
---------------------------------------------------------------------- */
|
||||
/*
|
||||
void CPlayer::setPlatform( CThing *newPlatform )
|
||||
{
|
||||
int colHeight;
|
||||
int platformHeight;
|
||||
DVECTOR newPos;
|
||||
DVECTOR testPos;
|
||||
|
||||
m_platform = newPlatform;
|
||||
m_onPlatform = getCentreCollision();
|
||||
|
||||
if ( m_onPlatform )
|
||||
{
|
||||
newPos = getNewCollidedPos();
|
||||
|
||||
colHeight = m_layerCollision->getHeightFromGround( Pos.vx, Pos.vy, 16 );
|
||||
|
||||
platformHeight = newPos.vy - Pos.vy;
|
||||
|
||||
if ( platformHeight > colHeight )
|
||||
{
|
||||
m_onPlatform = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
colHeight = platformHeight;
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_onPlatform )
|
||||
{
|
||||
// have collided with a platform
|
||||
|
||||
m_moveVel.vy=0;
|
||||
Pos = newPos;
|
||||
|
||||
if ( !m_prevOnPlatform )
|
||||
{
|
||||
// if( m_currentMode != PLAYER_MODE_BALLOON )
|
||||
{
|
||||
m_fallFrames=0;
|
||||
|
||||
if(m_currentState==STATE_BUTTFALL)
|
||||
{
|
||||
// Landed from a butt bounce
|
||||
setState(STATE_BUTTLAND);
|
||||
}
|
||||
else if(m_currentState==STATE_FALLFAR)
|
||||
{
|
||||
// Landed from a painfully long fall
|
||||
setState(STATE_IDLE);
|
||||
takeDamage(DAMAGE__FALL);
|
||||
m_moveVel.vx=0;
|
||||
CSoundMediator::playSfx(CSoundMediator::SFX_SPONGEBOB_LAND_AFTER_FALL);
|
||||
}
|
||||
else if(m_moveVel.vx)
|
||||
{
|
||||
// Landed from a jump with x movement
|
||||
setState(STATE_RUN);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Landed from a jump with no x movement
|
||||
setState(STATE_IDLE);
|
||||
setAnimNo(ANIM_SPONGEBOB_JUMPEND);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Pos.vx += m_platform->getPos().vx - m_prevPlatformPos.vx;
|
||||
}
|
||||
|
||||
// Move the camera offset
|
||||
m_playerScreenGeomPos.vx=SCREEN_GEOM_PLAYER_OFS_X+((MAP2D_BLOCKSTEPSIZE*m_cameraScrollPos.vx)>>8);
|
||||
m_playerScreenGeomPos.vy=SCREEN_GEOM_PLAYER_OFS_Y+((MAP2D_BLOCKSTEPSIZE*m_cameraScrollPos.vy)>>8);
|
||||
m_cameraOffset.vx=MAP2D_CENTRE_X+((MAP2D_BLOCKSTEPSIZE*(-m_cameraScrollPos.vx))>>8);
|
||||
m_cameraOffset.vy=MAP2D_CENTRE_Y+((MAP2D_BLOCKSTEPSIZE*(-m_cameraScrollPos.vy))>>8);
|
||||
|
||||
|
||||
m_cameraPos.vx=Pos.vx+m_cameraOffset.vx;
|
||||
m_cameraPos.vy=Pos.vy+m_cameraOffset.vy;
|
||||
|
||||
|
||||
// Limit camera scroll to the edges of the map
|
||||
if(m_cameraPos.vx<0)
|
||||
{
|
||||
m_playerScreenGeomPos.vx+=m_cameraPos.vx;
|
||||
m_cameraPos.vx=0;
|
||||
m_cameraScrollDir=0;
|
||||
}
|
||||
else if(m_cameraPos.vx>m_mapCameraEdges.vx)
|
||||
{
|
||||
m_playerScreenGeomPos.vx-=m_mapCameraEdges.vx-m_cameraPos.vx;
|
||||
m_cameraPos.vx=m_mapCameraEdges.vx;
|
||||
m_cameraScrollDir=0;
|
||||
}
|
||||
if(m_cameraPos.vy<0)
|
||||
{
|
||||
m_playerScreenGeomPos.vy+=m_cameraPos.vy;
|
||||
m_cameraPos.vy=0;
|
||||
m_cameraScrollDir=0;
|
||||
}
|
||||
else if(m_cameraPos.vy>m_mapCameraEdges.vy)
|
||||
{
|
||||
m_playerScreenGeomPos.vy-=m_mapCameraEdges.vy-m_cameraPos.vy;
|
||||
m_cameraPos.vy=m_mapCameraEdges.vy;
|
||||
m_cameraScrollDir=0;
|
||||
}
|
||||
|
||||
this->updateCollisionArea();
|
||||
|
||||
m_prevPlatformPos = m_platform->getPos();
|
||||
}
|
||||
else
|
||||
{
|
||||
newPlatform->removeChild( this );
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
Function:
|
||||
Purpose:
|
||||
|
|
|
@ -257,13 +257,9 @@ void CPlayerStateIdle::setNextIdleAnim(CPlayerModeBase *_playerMode)
|
|||
static IdleAnims s_unarmedIdleAnims[]=
|
||||
{
|
||||
// start frame loop frame end frame loop count
|
||||
//!! { -1, ANIM_SPONGEBOB_IDLEBREATHE, -1, 4 }, // default
|
||||
//!! { -1, ANIM_SPONGEBOB_IDLEBREATHE, -1, 10 },
|
||||
//!! { ANIM_SPONGEBOB_FACEFRONT, ANIM_SPONGEBOB_IDLEHOOLA, ANIM_SPONGEBOB_FACEBACK, 5 },
|
||||
//!! { ANIM_SPONGEBOB_FACEFRONT, ANIM_SPONGEBOB_IDLEWIGGLEARM, ANIM_SPONGEBOB_FACEBACK, 5 },
|
||||
//!! { -1, ANIM_SPONGEBOB_IDLELOOK, -1, 1 },
|
||||
//!! { -1, ANIM_SPONGEBOB_IDLEWIND, -1, 1 },
|
||||
{ -1, ANIM_SPONGEBOB_IDLEHOOLA, -1, 4 }, // default
|
||||
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 4 }, // default
|
||||
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 10 },
|
||||
{ -1, ANIM_SPONGEBOB_IDLEWIND, -1, 1 },
|
||||
|
||||
};
|
||||
static int s_numUnarmedIdleAnims=sizeof(s_unarmedIdleAnims)/sizeof(IdleAnims);
|
||||
|
@ -287,10 +283,9 @@ int CPlayerStateUnarmedIdle::getNumIdleAnims()
|
|||
static IdleAnims s_coralBlowerIdleAnims[]=
|
||||
{
|
||||
// start frame loop frame end frame loop count
|
||||
//!! { -1, ANIM_SPONGEBOB_IDLEBREATHE, -1, 4 }, // default
|
||||
//!! { -1, ANIM_SPONGEBOB_IDLEBREATHE, -1, 10 },
|
||||
//!! { -1, ANIM_SPONGEBOB_IDLELOOK, -1, 1 },
|
||||
{ -1, ANIM_SPONGEBOB_IDLEHOOLA, -1, 1 },
|
||||
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 4 }, // default
|
||||
{ -1, ANIM_SPONGEBOB_IDLEBREATH, -1, 10 },
|
||||
{ -1, ANIM_SPONGEBOB_IDLEWEAPON, -1, 1 },
|
||||
};
|
||||
static int s_numCoralBlowerIdleAnims=sizeof(s_coralBlowerIdleAnims)/sizeof(IdleAnims);
|
||||
IdleAnims *CPlayerStateCoralBlowerIdle::getIdleAnimsDb(int _animNo)
|
||||
|
|
|
@ -369,11 +369,11 @@ SOURCE=..\..\..\source\game\pause.h
|
|||
# PROP Default_Filter ""
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\gfx\actorpool.cpp
|
||||
SOURCE=..\..\..\source\gfx\actor.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\gfx\actorpool.h
|
||||
SOURCE=..\..\..\source\gfx\actor.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
|
@ -429,22 +429,6 @@ SOURCE=..\..\..\source\gfx\primplus.h
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\gfx\skel.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\gfx\skel.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\gfx\skelspng.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\gfx\skelspng.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\gfx\sprbank.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue