From 7853274fe524f0bb374f876606dcc2db5916186d Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 27 Jun 2001 19:50:35 +0000 Subject: [PATCH] --- Graphics/pickups/+Glove.bmp | Bin 2166 -> 1294 bytes makefile.gaz | 1 + makefile.gfx | 2 +- source/pickups/pickup.cpp | 57 +++--------------- source/pickups/pickup.h | 25 +------- source/pickups/pspatula.cpp | 52 ---------------- source/pickups/pspatula.h | 12 ---- source/player/player.cpp | 10 ++- source/player/pmbloon.cpp | 2 +- source/player/pmchop.cpp | 38 ++++++++++++ source/player/pmchop.h | 4 ++ tools/Data/bin/MkLevel.ini | 1 + tools/MapEdit/Item.ini | 3 + .../spongebob project/spongebob project.dsp | 8 +++ 14 files changed, 70 insertions(+), 145 deletions(-) diff --git a/Graphics/pickups/+Glove.bmp b/Graphics/pickups/+Glove.bmp index 059592308fffeae49c3f89e6fda4f4b23e99589b..4f5e65bbc645e53368b61ecfb02ee9bf0520fbb5 100644 GIT binary patch delta 510 zcmX|-ze~eF6vr=VQi~Q7=+G-#sBy74)dZoagNh2GOXlj}pha-9=-`iT3W{}j797;6 zyMKV_CJI&@6*0O+~``)|v9(VVpS6a&>)9otrZ3TM|=mj|-F$Ftg zhmb^DfR4C{z?z$TXT!rT%jaE|&AQCCU6#o_vs~_$aej$h4O&C)0J_U`eHqv+7Rxus z238hAe1-wr3Oym-o$J#uVoQOii8sf2EG_;wl>EFV#KTUV%;JB;l%E&ED@|hdN4{WR;Vl@~qaV-`o8~$FL?p@IEaa-r1|) z*w%cd+U-AEPSBc~(VNwVRcx%@`DJlBQ@iL@<(l?%du3RAe?Jtbj;KLnQQoe3j`I?Z JjMG{)^$W1Xf-C?4 literal 2166 zcmeHG&ubGw6kfqYZ_^5a9?MJ))?0Un*xsyNrbY0O4fzL38J5@{Y@7DrA7E)~g=mlv z!Gnd;Vk-!xgnE@&v(bZxXp_}jq}olq%kKC#S?ca)<6UrIe(Zejz3+YR&ECAdG9Y!v z3anRQ-tgun=`x&Pc({8UbQc&x5@L3?B_=1EVq&5xMn{`M)0$#r_H*mKN z`!?J?hJ8Z}4lcpe#K6FW=tj9%g%Ce4K6(y9w9L0Jd#=3;BrMZBUC#6gfQ0z8Zah-- zJ^_TVm#6Q`3VRqyfE@S1Mm(%)Q|Ba!h#BY z@flb7rmO~g2=&i){S$L*GMmrQphCM;NxJ%p0?%hLq1WPp5~F(YD4izI9(Z1QF3zh8 z``~-#&Pg$gu`FY{Jg2f9!nSe=e**SyF-;T*PZLiFTZaT{#Ge4*8sK1~?qc;$j_P%7 z+*bj6?=>be#u`!g7pY#3^MmX)KW@B}$<*pV zQC}$c0^z#`s9_wYSmsPq7xp6DC3J4ow1jSAdaE7bE=jggfdsemf!g`Ve{Wo z;pgqyxCEH$=c`fdu8nP+V#?lEBiR8LjcN|Ft+p4hXG4u@8Pf;-+$Ch0r)0bzJA`vA db7#M=JM_Ue&0uFjIY6WS;vO>o|M|~X;5SwKW-9;y diff --git a/makefile.gaz b/makefile.gaz index 9c2961c40..7e959daf1 100644 --- a/makefile.gaz +++ b/makefile.gaz @@ -254,6 +254,7 @@ pickups_src := pickup \ pballoon \ pblower \ pbubmix \ + pglove \ phelmet \ pjlammo \ pkelp \ diff --git a/makefile.gfx b/makefile.gfx index a2d39ac26..f7aff9955 100644 --- a/makefile.gfx +++ b/makefile.gfx @@ -185,7 +185,7 @@ PICKUP_GFX_DIR := $(GRAF_DIR)/pickups PICKUP_GFX := +spatula +token +pants +glint1 +glint2 +glint3 +glint4 \ +questitemstar1 +questitemstar2 +questitemstar3 \ +jellyammo +bubblemixture +bubblewand +shoe +balloon +balloonburst +helmet \ - +blower +launcher +net \ + +blower +launcher +net +glove \ +c1_l1_quest_item +c1_l2_quest_item +c1_l3_quest_item +c1_l4_quest_item \ +c2_l1_quest_item +c2_l2_quest_item +c2_l3_quest_item +c2_l4_quest_item \ +c3_l1_quest_item +c3_l2_quest_item +c3_l3_quest_item +c3_l4_quest_item \ diff --git a/source/pickups/pickup.cpp b/source/pickups/pickup.cpp index 46fdfc2ec..fa8c974b3 100644 --- a/source/pickups/pickup.cpp +++ b/source/pickups/pickup.cpp @@ -77,6 +77,10 @@ #include "pickups\pkelp.h" #endif +#ifndef __PICKUPS_PGLOVE_H__ +#include "pickups\pglove.h" +#endif + #include "game/game.h" /* Std Lib @@ -364,7 +368,7 @@ void CBaseWeaponSimplePickup::init() CBaseWeaponPickup::init(); - fh=CGameScene::getSpriteBank()->getFrameHeader(FRM__NET); + fh=CGameScene::getSpriteBank()->getFrameHeader(getWeaponSpriteFrame()); setCollisionSize(fh->W,fh->H); } @@ -407,51 +411,6 @@ void CBaseWeaponSimplePickup::renderPickup(DVECTOR *_pos) -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -void CBaseBouncingPickup::init() -{ - CBasePickup::init(); - m_timeTillVanish=TIME_TILL_VANISH; -} - -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -void CBaseBouncingPickup::render() -{ - if(m_timeTillVanish>FRAMES_TO_FLASH||m_timeTillVanish&3) - { - DVECTOR ofs,pos; - int visibilityRadius; - - CPickupThing::render(); - if (canRender()) - { - DVECTOR &renderPos=getRenderPos(); - renderPickup(&renderPos); - } - } - -} - -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -void CBaseBouncingPickup::collidedWith(CThing *_thisThing) -{ -} - @@ -537,9 +496,9 @@ return NULL; pickup=new ("KelpTokenPickup") CKelpTokenPickup(); break; - case PICKUP__BOUNCING_SPATULA: - pickup=new ("BouncingSpatulaPickup") CBouncingSpatulaPickup(); - break; + case PICKUP__GLOVE: + pickup=new ("GlovePickup") CGlovePickup(); + break; default: ASSERT(!"UNKNOWN PICKUP TYPE"); diff --git a/source/pickups/pickup.h b/source/pickups/pickup.h index ae85e7e16..09efa0af4 100644 --- a/source/pickups/pickup.h +++ b/source/pickups/pickup.h @@ -54,8 +54,7 @@ typedef enum PICKUP__BALLOON_AND_SPATULA, PICKUP__JELLY_LAUNCHER, PICKUP__KELP_TOKEN, - - PICKUP__BOUNCING_SPATULA, + PICKUP__GLOVE, PICKUP__MAX } @@ -152,28 +151,6 @@ protected: }; -class CBaseBouncingPickup : public CBasePickup -{ -public: - virtual void init(); - virtual void render(); - -protected: - enum - { - TIME_TILL_VANISH=5*55, - FRAMES_TO_FLASH=2*55, - }; - - virtual void renderPickup(DVECTOR *_pos)=0; - - virtual void collidedWith(CThing *_thisThing); - - int m_timeTillVanish; - -}; - - /*---------------------------------------------------------------------- Globals ------- */ diff --git a/source/pickups/pspatula.cpp b/source/pickups/pspatula.cpp index e1a4958c0..3060ab62f 100644 --- a/source/pickups/pspatula.cpp +++ b/source/pickups/pspatula.cpp @@ -163,57 +163,5 @@ void CSpatulaPickup::renderPickup(DVECTOR *_pos) } - - -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -DVECTOR CBouncingSpatulaPickup::getSizeForPlacement() -{ - DVECTOR size; - sFrameHdr *fh; - - fh=CGameScene::getSpriteBank()->getFrameHeader(FRM__SPATULA); - size.vx=fh->W; - size.vy=fh->H; - return size; -} - -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -void CBouncingSpatulaPickup::renderPickup(DVECTOR *_pos) -{ - SpriteBank *sprites; - sFrameHdr *fh; - int x,y; - - sprites=CGameScene::getSpriteBank(); - fh=sprites->getFrameHeader(FRM__SPATULA); - x=_pos->vx-(fh->W/2); - y=_pos->vy-(fh->H/2); - sprites->printFT4(fh,x,y,0,0,OTPOS__PICKUP_POS); - - /* - if(m_glint<=spat_maxglint) - { - fh=sprites->getFrameHeader(spat_glintFrames[(m_glint>>spat_glintgrowspeed)&0x07]); - x=x+spat_gxy.vx; - y=y+spat_gxy.vy; - sprites->printRotatedScaledSprite(fh,x,y,4095,4095,m_glintRot,OTPOS__PICKUP_POS-1); - } - */ -} - - - - - /*=========================================================================== end */ diff --git a/source/pickups/pspatula.h b/source/pickups/pspatula.h index 29e09b78d..f79142da7 100644 --- a/source/pickups/pspatula.h +++ b/source/pickups/pspatula.h @@ -61,18 +61,6 @@ private: }; -class CBouncingSpatulaPickup : public CBaseBouncingPickup -{ -public: - virtual DVECTOR getSizeForPlacement(); - -protected: - virtual void renderPickup(DVECTOR *_pos); - -}; - - - /*---------------------------------------------------------------------- Globals ------- */ diff --git a/source/player/player.cpp b/source/player/player.cpp index ba5a215ea..cd0620192 100644 --- a/source/player/player.cpp +++ b/source/player/player.cpp @@ -626,7 +626,7 @@ m_animNo=0; m_animFrame=0; setFacing(FACING_RIGHT); m_currentPlayerModeClass=NULL; - m_lastModeBeforeDeath=PLAYER_MODE_FULLUNARMED; // Player will then respawn into this mode + m_lastModeBeforeDeath=PLAYER_MODE_BASICUNARMED; // Player will then respawn into this mode m_lives++;respawn(); m_canExitLevel=false; @@ -772,8 +772,7 @@ if(PadGetDown(0)&PAD_TRIANGLE) updatePadInput(); // Weapon collect/drop/swap stuff.. - if(m_currentMode==PLAYER_MODE_BASICUNARMED|| - m_currentMode==PLAYER_MODE_FULLUNARMED) + if(m_currentMode==PLAYER_MODE_BASICUNARMED) { // Always trying to pickup weapon if unarmed... means that when SB walks // over an item whilst unarmed, he automatically picks it up @@ -786,7 +785,6 @@ if(PadGetDown(0)&PAD_TRIANGLE) // If already armed then drop current weapon if(m_currentMode!=PLAYER_MODE_BASICUNARMED&& - m_currentMode!=PLAYER_MODE_FULLUNARMED&& m_currentMode!=PLAYER_MODE_DEAD) { static const int s_pickupsToDrop[NUM_PLAYERMODES]= @@ -814,7 +812,7 @@ if(PadGetDown(0)&PAD_TRIANGLE) pickup=createPickup((PICKUP_TYPE)pickupToDrop,&pickupPos); pickup->setPos(&pickupPos); } - setMode(PLAYER_MODE_FULLUNARMED); + setMode(PLAYER_MODE_BASICUNARMED); } } @@ -2055,7 +2053,7 @@ void CPlayer::takeDamage(DAMAGE_TYPE _damage,REACT_DIRECTION _reactDirection,CTh if(m_currentMode==PLAYER_MODE_NET) { // Launch net pickup - setMode(PLAYER_MODE_FULLUNARMED); + setMode(PLAYER_MODE_BASICUNARMED); DVECTOR pickupPos; CBasePickup *pickup; pickupPos.vx=Pos.vx; diff --git a/source/player/pmbloon.cpp b/source/player/pmbloon.cpp index 96ab246d3..60407bd70 100644 --- a/source/player/pmbloon.cpp +++ b/source/player/pmbloon.cpp @@ -104,7 +104,7 @@ void CPlayerModeBalloon::think() { CSoundMediator::playSfx(CSoundMediator::SFX_BALLOON_POP); } - m_player->setMode(PLAYER_MODE_FULLUNARMED); + m_player->setMode(PLAYER_MODE_BASICUNARMED); } } diff --git a/source/player/pmchop.cpp b/source/player/pmchop.cpp index ac0b43148..ef9628c82 100644 --- a/source/player/pmchop.cpp +++ b/source/player/pmchop.cpp @@ -17,6 +17,14 @@ #include "player\pmchop.h" +#ifndef __GFX_SPRBANK_H__ +#include "gfx\sprbank.h" +#endif + +#ifndef __GAME_GAME_H__ +#include "game\game.h" +#endif + /* Std Lib ------- */ @@ -28,6 +36,10 @@ #include #endif +#ifndef __SPR_SPRITES_H__ +#include +#endif + /*---------------------------------------------------------------------- Tyepdefs && Defines @@ -55,6 +67,7 @@ void CPlayerModeChop::enter() { CPlayerModeBase::enter(); m_chopping=false; + m_timer=0; } /*---------------------------------------------------------------------- @@ -116,6 +129,31 @@ void CPlayerModeChop::think() setPlayerCollisionSize(m_savedCSX,m_savedCSY,m_savedCSW,m_savedCSH); } } + + if(++m_timer>CHOP_TIMEOUT) + { + m_player->setMode(PLAYER_MODE_BASICUNARMED); + } +} + +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +void CPlayerModeChop::renderModeUi() +{ + if(m_timergetFrameHeader(FRM__GLOVE); + + sb->printFT4(fh,CPlayer::POWERUPUI_ICONX,CPlayer::POWERUPUI_ICONY,0,0,CPlayer::POWERUPUI_OT); + } } /*---------------------------------------------------------------------- diff --git a/source/player/pmchop.h b/source/player/pmchop.h index ad687c855..4715f1d35 100644 --- a/source/player/pmchop.h +++ b/source/player/pmchop.h @@ -39,6 +39,7 @@ class CPlayerModeChop : public CPlayerModeBase public: virtual void enter(); virtual void think(); + virtual void renderModeUi(); virtual void setAnimNo(int _animNo); virtual void setAnimFrame(int _animFrame); @@ -52,6 +53,8 @@ private: { CHOP_ATTACK_START_FRAME=15, CHOP_ATTACK_END_FRAME=21, + CHOP_TIMEOUT=10*60, + CHOP_FLASH_TIME=2*60, }; @@ -60,6 +63,7 @@ private: int m_savedAnimNo,m_savedAnimFrame; int m_chopFrame; int m_chopping; + int m_timer; int m_savedCSX,m_savedCSY,m_savedCSW,m_savedCSH; diff --git a/tools/Data/bin/MkLevel.ini b/tools/Data/bin/MkLevel.ini index 4df4a203c..de52dc063 100644 --- a/tools/Data/bin/MkLevel.ini +++ b/tools/Data/bin/MkLevel.ini @@ -74,6 +74,7 @@ Quest_Item=14 # Balloon_Golden_Spatula=15 Jelly_Launcher=16 Kelp_Token=17 +Glove=18 ################################################ diff --git a/tools/MapEdit/Item.ini b/tools/MapEdit/Item.ini index 848da15ff..e4b901555 100644 --- a/tools/MapEdit/Item.ini +++ b/tools/MapEdit/Item.ini @@ -59,3 +59,6 @@ Gfx=..\..\graphics\pickups\+launcher.bmp [Kelp_Token] Gfx=..\..\graphics\pickups\+token.bmp + +[Glove] +Gfx=..\..\graphics\pickups\+glove.bmp diff --git a/users/paul/spongebob project/spongebob project.dsp b/users/paul/spongebob project/spongebob project.dsp index 3b031bf4c..a5cd97921 100644 --- a/users/paul/spongebob project/spongebob project.dsp +++ b/users/paul/spongebob project/spongebob project.dsp @@ -1349,6 +1349,14 @@ SOURCE=..\..\..\source\pickups\pglasses.h # End Source File # Begin Source File +SOURCE=..\..\..\source\pickups\pglove.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\pickups\pglove.h +# End Source File +# Begin Source File + SOURCE=..\..\..\source\pickups\phealth.cpp # End Source File # Begin Source File