diff --git a/data/translations/text.dat b/data/translations/text.dat index ac85ed58d..2b8b1b2d0 100644 --- a/data/translations/text.dat +++ b/data/translations/text.dat @@ -767,7 +767,7 @@ eng=Special thanks to: [STR__CREDITS__VOICE_OVER] eng=Voice Over [STR__CREDITS__V_P__OF_INTERACTIVE_PRODUCT_AND_BOOK_PUBLISHING] -eng=V.P. of Interactive Product and Book Publishing +eng=V.P. of Interactive\nProduct and Book Publishing [STR__CREDITS__DIRECTOR_OF_MARKETING_AND_NEW_BUSINESS_DEVELOPMENT] eng=Director of Marketing and New Business Development [STR__CREDITS__DIRECTOR_OF_DEVELOPMENT_AND_PRODUCTION] @@ -777,7 +777,7 @@ eng=Project Coordinator [STR__CREDITS__MARKETING_COORDINATOR] eng=Marketing Coordinator [STR__CREDITS__NICK_INTERACTIVE_WOULD_LIKE_TO_THANK_] -eng=Nick Interactive would like to thank: +eng=Nick Interactive\nwould like to thank: ; Climax @@ -929,7 +929,7 @@ eng=Steve Hillenburg [STR__CREDITS__ERIC_COLEMAN] eng=Eric Coleman [STR__CREDITS__THQ_AND_THE_THQ_LOGO_ARE_TRADEMARKS_AND_OR_REGISTERED_TRADEMARKS_OF_THQ_INC] -eng=THQ and the THQ logo are trademarks and/or registered trademarks of THQ Inc. +eng=THQ and the THQ logo \nare trademarks and/or\nregistered trademarks of\nTHQ Inc. [STR__CREDITS__C_2001_THQ_INC] eng=(C) 2001 THQ Inc. diff --git a/source/frontend/start.cpp b/source/frontend/start.cpp index 6dcb048af..6d4e549b4 100644 --- a/source/frontend/start.cpp +++ b/source/frontend/start.cpp @@ -272,7 +272,7 @@ void CFrontEndStart::drawGameSlot(int _xOff,int _slotNumber) { int xbase; CGameSlotManager::GameSlot *gameSlot; - POLY_F4 *f4; + TPOLY_F4 *f4; int x,y; sFrameHdr *fh; int i; @@ -283,10 +283,10 @@ void CFrontEndStart::drawGameSlot(int _xOff,int _slotNumber) gameSlot=CGameSlotManager::getSlotData(); drawBambooBorder(xbase,SLOT_FRAME_Y,SLOT_FRAME_W,SLOT_FRAME_H,3); - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,xbase,SLOT_FRAME_Y,SLOT_FRAME_W,SLOT_FRAME_H); setRGB0(f4, 0, 0, 90); - setSemiTrans(f4,true); + setTSemiTrans(f4,true); AddPrimToList(f4,3); x=xbase+SLOT_SLOTNUMBER_X; diff --git a/source/game/bosstext.cpp b/source/game/bosstext.cpp index 530e0806e..4009866b9 100644 --- a/source/game/bosstext.cpp +++ b/source/game/bosstext.cpp @@ -244,10 +244,10 @@ void CBossText::render() m_scalableFontBank->setScale(400); m_scalableFontBank->setColour(128,128,128); m_scalableFontBank->print(256-20,80+s_bossTextYOffset,bd->m_titleTextId); - +/* m_fontBank->setColour(118,118,118); m_fontBank->print(256-20,190+s_bossTextYOffset,bd->m_subTitleTextId); - +*/ // Boss gfx DVECTOR bossPoss; bossPoss=pos; diff --git a/source/game/game.cpp b/source/game/game.cpp index afe7979c1..e5477e1b9 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -288,7 +288,7 @@ void CGameScene::render_showing_lives() { int colour; char buf[20]; - POLY_F4 *f4; + TPOLY_F4 *f4; POLY_FT3 *ft3; @@ -320,20 +320,21 @@ void CGameScene::render_showing_lives() s_genericFont->print(256,140,buf); // Black background - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,0,0,512,256); setRGB0(f4,colour,colour,colour); - setShadeTex(f4,0); - setSemiTrans(f4,1); + setTShadeTex(f4,0); + setTSemiTrans(f4,1); + setTABRMode(f4,2); AddPrimToList(f4,0); - ft3=GetPrimFT3(); +/* ft3=GetPrimFT3(); setPolyFT3(ft3); setShadeTex(ft3,1); setSemiTrans(ft3,1); ft3->tpage=2<<5; setXY3(ft3,512,512,512,512,512,512); AddPrimToList(ft3,0); - +*/ if(m_gamestate==GAMESTATE_SHOWING_LIVES_BUT_GOING_TO_BOSS_TEXT) { m_bossText->render(); diff --git a/source/gfx/fader.cpp b/source/gfx/fader.cpp index 4907e710f..d65dfd856 100644 --- a/source/gfx/fader.cpp +++ b/source/gfx/fader.cpp @@ -69,6 +69,11 @@ int CFader::s_waitFrames=0; ---------------------------------------------------------------------- */ void CFader::render() { +int TMode; +TPOLY_F4 *f4; + + TMode=(s_fadeStyle==BLACK_FADE?2:1); + switch(s_fadeMode) { case FADED_IN: @@ -82,21 +87,13 @@ void CFader::render() case BLACK_FADE: case WHITE_FADE: { - POLY_F4 *f4; - POLY_FT3 *ft3; - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,0,0,VidGetScrW()+1,VidGetScrH()+1); setRGB0(f4,s_fadeValue,s_fadeValue,s_fadeValue); - setShadeTex(f4,0); - setSemiTrans(f4,1); + setTShadeTex(f4,0); + setTSemiTrans(f4,1); + setTABRMode(f4,TMode); AddPrimToList(f4,0); - ft3=GetPrimFT3(); - setPolyFT3(ft3); - setShadeTex(ft3,1); - setSemiTrans(ft3,1); - ft3->tpage=(s_fadeStyle==BLACK_FADE?2:1)<<5; - setXY3(ft3,0,0,0,512,512,0); - AddPrimToList(ft3,0); break; } } @@ -111,23 +108,15 @@ void CFader::render() case BLACK_FADE: case WHITE_FADE: { - POLY_F4 *f4; - POLY_FT3 *ft3; int col; col=255-s_fadeValue; - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,0,0,VidGetScrW()+1,VidGetScrH()+1); setRGB0(f4,col,col,col); - setShadeTex(f4,0); - setSemiTrans(f4,1); + setTShadeTex(f4,0); + setTSemiTrans(f4,1); + setTABRMode(f4,TMode); AddPrimToList(f4,0); - ft3=GetPrimFT3(); - setPolyFT3(ft3); - setShadeTex(ft3,1); - setSemiTrans(ft3,1); - ft3->tpage=(s_fadeStyle==BLACK_FADE?2:1)<<5; - setXY3(ft3,512,512,512,512,512,512); - AddPrimToList(ft3,0); break; } } @@ -136,9 +125,7 @@ void CFader::render() case FADED_OUT: { - POLY_F4 *f4; - - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,0,0,VidGetScrW()+1,VidGetScrH()); switch(s_fadeStyle) { diff --git a/source/gfx/prim.h b/source/gfx/prim.h index 2ddb33695..59259668e 100644 --- a/source/gfx/prim.h +++ b/source/gfx/prim.h @@ -244,6 +244,7 @@ typedef u32 sOT; setTile(CurrPrim-sizeof(TILE)) // Extra prims :o) +/* These DONT work :o( #define GetPrimTF3() GetPrim(TPOLY_F3);\ setTPolyF3((TPOLY_F3*)CurrPrim-sizeof(TPOLY_F3)) @@ -291,8 +292,7 @@ typedef u32 sOT; #define GetPrimTTILE() GetPrim(TTILE);\ setTile((TTILE*)CurrPrim-sizeof(TTILE)) - - +*/ /********************************************************************************************************/ #define OtInRange (MAX_OT-1) #define OtOutRange (0xffffffff-OtInRange) @@ -324,6 +324,20 @@ void FlushPrimPool(); LINE_F2 *DrawLine(int _x0,int _y0,int _x1,int _y1,int _r,int _g,int _b,int _ot); LINE_G2 *DrawGLine(int _x0,int _y0,int _x1,int _y1,int _r1,int _g1,int _b1,int _r2,int _g2,int _b2,int _ot); +/********************************************************************************************************/ +inline TPOLY_F3 *GetPrimTF3() +{ +TPOLY_F3 *P=(TPOLY_F3 *)GetPrimPtr(); SetPrimPtr((u8*)(P+1)); setTPolyF3(P); + return(P); +} + +/********************************************************************************************************/ +inline TPOLY_F4 *GetPrimTF4() +{ +TPOLY_F4 *P=(TPOLY_F4 *)GetPrimPtr(); SetPrimPtr((u8*)(P+1)); setTPolyF4(P); + return(P); +} + /********************************************************************************************************/ /*** Inlines ********************************************************************************************/ /********************************************************************************************************/ diff --git a/source/gfx/primplus.h b/source/gfx/primplus.h index 6d61ac66a..15a840f5c 100644 --- a/source/gfx/primplus.h +++ b/source/gfx/primplus.h @@ -127,7 +127,7 @@ #define setTTile16(p) setTDrawTPageSize((p), GPUSIZE_TTILE_16), ((p)->code)=GPUCODE_TILE_16 #define setTSemiTrans(p, abe) setSemiTrans(&((p)->t_code), (abe)) -#define setTSetShadeTex(p, st) setShadeTex(&((p)->t_code), (st)) +#define setTShadeTex(p, st) setShadeTex(&((p)->t_code), (st)) #define setTABRMode(p,abr) ((p)->t_code) = _get_mode(0,1,(abr<<5)) #define setTSprtTPage(p,tp) ((p)->t_code) = _get_mode(0,1,(tp)) #define setTSprtTPageABR(p,t,a) ((p)->t_code) = _get_mode(0,1,(((t)&0x19f)|((a)<<5))) diff --git a/source/gui/gui.cpp b/source/gui/gui.cpp index ec9afd8eb..71ca5467b 100644 --- a/source/gui/gui.cpp +++ b/source/gui/gui.cpp @@ -147,7 +147,7 @@ void CGUIObject::render() if(getFlags(FLAG_DRAWBORDER)) { - POLY_F4 *f4; + TPOLY_F4 *f4; int x,y,w,h; int ot; @@ -161,10 +161,10 @@ void CGUIObject::render() drawBambooBorder(x,y,w,h,ot); // Background - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,x,y,w,h); setRGB0(f4, 0, 0, 90); - setSemiTrans(f4,true); + setTSemiTrans(f4,true); AddPrimToList(f4,ot); } @@ -491,10 +491,10 @@ void drawSpeechBubbleBorder(int _x,int _y,int _w,int _h,int _ot,int _faceFrame) sFrameHdr *cornerFh; POLY_FT4 *ft4; LINE_F2 *f2; - POLY_F4 *f4; int centreX,centreY; sFrameHdr *faceFh; - POLY_F3 *f3; + TPOLY_F4 *f4; + TPOLY_F3 *f3; // Squeeze in the corners a bit.. @@ -516,20 +516,20 @@ void drawSpeechBubbleBorder(int _x,int _y,int _w,int _h,int _ot,int _faceFrame) f2=DrawLine(_x+_w,_y+_h+cornerFh->H+1,_x,_y+_h+cornerFh->H+1,0,0,0,_ot);setSemiTrans(f2,true); // White middle - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,_x,_y-cornerFh->H,_w+1,cornerFh->H); setRGB0(f4,255,255,255); - setSemiTrans(f4,true); + setTSemiTrans(f4,true); AddPrimToList(f4,_ot); - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,_x-cornerFh->W,_y,_w+(cornerFh->W*2)+1,_h+1); setRGB0(f4,255,255,255); - setSemiTrans(f4,true); + setTSemiTrans(f4,true); AddPrimToList(f4,_ot); - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,_x,_y+_h+1,_w+1,cornerFh->H); setRGB0(f4,255,255,255); - setSemiTrans(f4,true); + setTSemiTrans(f4,true); AddPrimToList(f4,_ot); if(_faceFrame!=-1) @@ -548,12 +548,12 @@ void drawSpeechBubbleBorder(int _x,int _y,int _w,int _h,int _ot,int _faceFrame) f2=DrawLine(_x-cornerFh->W-1,_y+sbb.speechmarkgapfromtop,speechmarkEndX,speechmarkEndY,0,0,0,_ot);setSemiTrans(f2,true); f2=DrawLine(speechmarkEndX,speechmarkEndY,_x-cornerFh->W-1,_y+sbb.speechmarkgapfromtop+sbb.speechmarkheight,0,0,0,_ot);setSemiTrans(f2,true); f2=DrawLine(_x-cornerFh->W-1,_y+sbb.speechmarkgapfromtop+sbb.speechmarkheight+1,_x-cornerFh->W-1,_y+_h,0,0,0,_ot);setSemiTrans(f2,true); - f3=GetPrimF3(); + f3=GetPrimTF3(); setXY3(f3,_x-cornerFh->W,_y+sbb.speechmarkgapfromtop, speechmarkEndX,speechmarkEndY, _x-cornerFh->W,_y+sbb.speechmarkgapfromtop+sbb.speechmarkheight); setRGB0(f3,255,255,255); - setSemiTrans(f3,true); + setTSemiTrans(f3,true); AddPrimToList(f3,_ot); } else @@ -564,10 +564,10 @@ void drawSpeechBubbleBorder(int _x,int _y,int _w,int _h,int _ot,int _faceFrame) // Background /* - f4=GetPrimF4(); + f4=GetPrimTF4(); setXYWH(f4,0,0,512,256); setRGB0(f4, 0, 0, 90); - setSemiTrans(f4,true); + setTSemiTrans(f4,true); AddPrimToList(f4,_ot); */ } diff --git a/source/hazard/hcheck.cpp b/source/hazard/hcheck.cpp index 988f4355b..5a76b9a51 100644 --- a/source/hazard/hcheck.cpp +++ b/source/hazard/hcheck.cpp @@ -71,7 +71,7 @@ void CNpcCheckpointHazard::think(int _frames) { int HF=GameState::getOneSecondInFrames()>>1; if (m_timersetJustification(FontBank::JUST_CENTRE); m_scalableFont->print( 256, 50, "Checkpoint!" ); diff --git a/source/level/layertile.cpp b/source/level/layertile.cpp index 9e5368d88..50acff25a 100644 --- a/source/level/layertile.cpp +++ b/source/level/layertile.cpp @@ -49,7 +49,7 @@ CLayerTile::CLayerTile(sLevelHdr *LevelHdr,sLayerHdr *Hdr) for (int i=0; iw=TILE2D_WIDTH; PrimPtr->h=TILE2D_HEIGHT; PrimPtr++; diff --git a/source/player/player.cpp b/source/player/player.cpp index 4ab507eed..2c6b876c3 100644 --- a/source/player/player.cpp +++ b/source/player/player.cpp @@ -642,7 +642,6 @@ void CPlayer::init() s_playerModes[i]->initialise(this); } CurrentPrompt=-1; - LastPrompt=-1; PromptRGB=0; PromptFade=0; @@ -1382,7 +1381,7 @@ void CPlayer::render() CPlayerThing::render(); -#ifdef _STATE_DEBUG_ +#ifdef _STATE_DEBUG_x char buf[100]; #ifdef __USER_paul__ sprintf(buf,"%04d (%02d) ,%04d (%02d)\ndfg:%+02d\nMode:%s",Pos.vx,Pos.vx&0x0f,Pos.vy,Pos.vy&0x0f,getHeightFromGround(Pos.vx,Pos.vy),s_modeText[m_currentMode]); @@ -2078,6 +2077,7 @@ void CPlayer::respawn() Params: Returns: ---------------------------------------------------------------------- */ +const int ExtraListYPos=50-32; void CPlayer::renderSb(DVECTOR *_pos,int _animNo,int _animFrame) { int playerMode; @@ -2192,7 +2192,7 @@ void CPlayer::renderSb(DVECTOR *_pos,int _animNo,int _animFrame) // Pants? if(m_pantFlashTimer>0) { - SpriteBank *sb=CGameScene::getSpriteBank(); +/* SpriteBank *sb=CGameScene::getSpriteBank(); sFrameHdr *fh; DVECTOR drawPos; int size; @@ -2202,12 +2202,13 @@ void CPlayer::renderSb(DVECTOR *_pos,int _animNo,int _animFrame) drawPos.vy+=PANT_FLASH_Y_OFFSET; size=m_pantFlashTimer&8?4096:8192; ft4=sb->printRotatedScaledSprite(fh,drawPos.vx,drawPos.vy,size,size,0,0); - if (FrameFlipFlag&1) +*/ + if (FrameFlipFlag&1 && !GameScene.getIsPaused()) { m_scalableFontBank->setJustification(FontBank::JUST_CENTRE); m_scalableFontBank->setScale(511); m_scalableFontBank->setColour(255,255,255); - m_scalableFontBank->print( 256, 50, "Extra Life!"); + m_scalableFontBank->print( 256, ExtraListYPos, "Extra Life!"); } } @@ -3337,31 +3338,21 @@ int NewPrompt=m_currentMode; PromptFade=-PromptFadeSpeed*4; } - if (!PromptTable[NewPrompt].Data || NewPrompt==LastPrompt) + if (!PromptTable[NewPrompt].Data || PromptTable[NewPrompt].Shown) { NewPrompt=-1; } -/* - if (NewPrompt!=-1 && PromptTable[NewPrompt].Shown) - { - NewPrompt=-1; - } -*/ // Check for Prompt change if (CurrentPrompt!=NewPrompt && NewPrompt!=-1) { if (CurrentPrompt==-1) { // no prompt, so just display it - if (LastPrompt!=-1) - { - PromptTable[LastPrompt].Shown=1; - } CurrentPrompt=NewPrompt; - LastPrompt=NewPrompt; PromptTimer=PromptOnScreenTime; PromptRGB=0; PromptFade=+PromptFadeSpeed; + PromptTable[CurrentPrompt].Shown=1; // Set as shown } else { @@ -3458,17 +3449,15 @@ int MaxTLen=0; // Background int BackRGB=PromptRGB/2; -u8 *PrimPtr=GetPrimPtr(); -TPOLY_F4 *F4=(TPOLY_F4 *)PrimPtr; - PrimPtr+=sizeof(TPOLY_F4); - SetPrimPtr((u8*)PrimPtr); - setTPolyF4(F4); +TPOLY_F4 *F4=GetPrimTF4(); setTSemiTrans(F4,1); setTABRMode(F4,0); setXYWH(F4,PromptIconX-2,Y-2,MaxTLen+(X-PromptIconX)+4,(PromptY-Y)+4); setRGB0(F4,BackRGB,BackRGB,BackRGB); - setTSemiTrans(F4,1); - setTABRMode(F4,2); AddPrimToList(F4,0); +// revert Fontbank settings - shouldnt have to do this, grrrr + m_fontBank->setTrans(0); + m_fontBank->setColour(128,128,128); + m_fontBank->setSMode(0); } /*=========================================================================== diff --git a/source/player/player.h b/source/player/player.h index ca0aee51e..46599f4d3 100644 --- a/source/player/player.h +++ b/source/player/player.h @@ -282,7 +282,6 @@ private: int PromptRGB; int PromptFade; int CurrentPrompt; - int LastPrompt; int PromptTimer; static sPromptTable PromptTable[NUM_PLAYERMODES];