diff --git a/data/DataCache.scr b/data/DataCache.scr index fc9a71070..99bf9a522 100644 --- a/data/DataCache.scr +++ b/data/DataCache.scr @@ -15,6 +15,12 @@ music/chapter2.vh music/chapter3.pxm music/chapter3.vb music/chapter3.vh +music/chapter4.pxm +music/chapter4.vb +music/chapter4.vh +music/chapter5.pxm +music/chapter5.vb +music/chapter5.vh music/sb-title.pxm music/sb-title.vb music/sb-title.vh diff --git a/makefile.gfx b/makefile.gfx index c9e50dd94..b9e8da1da 100644 --- a/makefile.gfx +++ b/makefile.gfx @@ -156,7 +156,7 @@ cleanplayer: @$(ECHO) Player Cleaned $(PLAYER_DEP_OUT) : $(PLAYER_DEP_IN) - $(MKACTOR3D) $(PLAYER_MOD_IN) -o:$(PLAYER_OUT_DIR) -t:24,1,1 -s:256 + $(MKACTOR3D) $(PLAYER_MOD_IN) -o:$(PLAYER_OUT_DIR) -t:24,1,1 -s:128 GFX_DATA_OUT += $(PLAYER_DEP_OUT) @@ -383,6 +383,7 @@ cleansfx: $(SFX_ALL_OUT) : $(SFX_ALL_IN) $(CP) $(SFX_ALL_IN) $(SFX_OUT_DIR) + attrib -r $(SFX_OUT_DIR)/* GRAF_DIRS_TO_MAKE += $(SFX_OUT_DIR) GFX_DATA_OUT += $(SFX_ALL_OUT) @@ -417,7 +418,7 @@ MUSIC_IN_DIR := data/music MUSIC_OUT_DIR := $(DATA_OUT)/music MUSIC_LIST := sb-title \ - chapter1 chapter2 chapter3 + chapter1 chapter2 chapter3 chapter4 chapter5 MUSIC_ALL_IN := $(foreach MUSIC,$(MUSIC_LIST),$(MUSIC_IN_DIR)/$(MUSIC)/$(MUSIC).PXM $(MUSIC_IN_DIR)/$(MUSIC)/$(MUSIC).VH $(MUSIC_IN_DIR)/$(MUSIC)/$(MUSIC).VB) MUSIC_ALL_OUT := $(foreach MUSIC,$(MUSIC_LIST),$(MUSIC_OUT_DIR)/$(MUSIC).PXM $(MUSIC_OUT_DIR)/$(MUSIC).VH $(MUSIC_OUT_DIR)/$(MUSIC).VB) diff --git a/source/paul/paul.cpp b/source/paul/paul.cpp index ca6afbf5d..b3103fc00 100644 --- a/source/paul/paul.cpp +++ b/source/paul/paul.cpp @@ -110,11 +110,6 @@ Vars ---- */ static FontBank s_fontBank; -static CScrollyBackground *s_bg1; -static CScrollyBackground *s_bg2; -static CScrollyBackground *s_bg3; - -//CScript *testScript; /*---------------------------------------------------------------------- @@ -123,146 +118,12 @@ static CScrollyBackground *s_bg3; Params: Returns: ---------------------------------------------------------------------- */ -/* -unsigned int str=STR__PAULS_TEST_STRING_1; -int w=150; -int h=40; - -CGUITextReadout::TextReadoutData onOffTextReadouts[]= -{ - { false, STR__ON, }, - { true, STR__OFF, }, - { 0, 0, }, -}; -CGUISpriteReadout::SpriteReadoutData onOffSpriteReadouts[]= -{ - { false, FRM__CROSS, }, - { true, FRM__TICK, }, - { 0, 0, }, -}; -int musicStatus=false; -int sfxStatus=false; -int readyToExit=false; -int musicVol=0; -char textEntry[16+1]="SOME TEXT"; - - - -CGUIControlFrame *baseGUIObject; -*/ - void CPaulScene::init() { s_fontBank.initialise(&standardFont); s_fontBank.setColour(255,255,255); - /* - CGUIGroupFrame *fr; - CGUITextBox *tb; - CGUIToggleButton *tg; - CGUITextReadout *tr; - CGUISpriteReadout *sr; - CGUIBarReadout *br; - CGUISliderButton *sl; - CGUITextEntry *te; - -int mem=MainRam.TotalRam-MainRam.RamUsed; -PAUL_DBGMSG("initial mem free=%d",mem); - - baseGUIObject=new ("Uber GUI object") CGUIControlFrame(); - baseGUIObject->init(NULL); - baseGUIObject->setObjectXYWH(32,32,512-64,256-64); - - fr=new ("frame") CGUIGroupFrame(); - fr->init(baseGUIObject); - fr->setObjectXYWH(10,10,448-20,30); - tb=new ("textbox") CGUITextBox(); - tb->init(fr); - tb->setObjectXYWH(0,0,300,30); - tb->setText(STR__PAULS_TEST__MUSIC); - tg=new ("togglebutton") CGUIToggleButton(); - tg->init(fr); - tg->setButtonTarget(&musicStatus); - tr=new ("textreadout") CGUITextReadout(); - tr->init(fr); - tr->setObjectXYWH(300,0,128,30); - tr->setReadoutTarget(&musicStatus); - tr->setReadoutData(onOffTextReadouts); - - fr=new ("frame") CGUIGroupFrame(); - fr->init(baseGUIObject); - fr->setObjectXYWH(10,50,448-20,30); - tb=new ("textbox") CGUITextBox(); - tb->init(fr); - tb->setObjectXYWH(0,0,300,30); - tb->setText(STR__PAULS_TEST__SFX); - tg=new ("togglebutton") CGUIToggleButton(); - tg->init(fr); - tg->setButtonTarget(&sfxStatus); - sr=new ("spritereadout") CGUISpriteReadout(); - sr->init(fr); - sr->setObjectXYWH(300,0,128,30); - sr->setReadoutTarget(&sfxStatus); - sr->setReadoutData(onOffSpriteReadouts); - - fr=new ("frame") CGUIGroupFrame(); - fr->init(baseGUIObject); - fr->setObjectXYWH(10,90,448-20,30); - sl=new("sliderbutton") CGUISliderButton(); - sl->init(fr); - sl->setButtonTarget(&musicVol); - sl->setButtonRange(0,255); - br=new ("spritereadout") CGUIBarReadout(); - br->init(fr); - br->setObjectXYWH(0,0,448-20,30); - br->setReadoutTarget(&musicVol); - br->setReadoutRange(0,255); - - fr=new ("frame") CGUIGroupFrame(); - fr->init(baseGUIObject); - fr->setObjectXYWH(10,155,200,30); - tb=new ("textbox") CGUITextBox(); - tb->init(fr); - tb->setObjectXYWH(0,0,200,30); - tb->setText(STR__PAULS_TEST__EXIT); - tg=new ("togglebutton") CGUIToggleButton(); - tg->init(fr); - tg->setButtonTarget(&readyToExit); - - fr=new ("frame") CGUIGroupFrame(); - fr->init(baseGUIObject); - fr->setObjectXYWH(220,155,200,30); - te=new ("textentry") CGUITextEntry(); - te->init(fr); - te->setObjectXYWH(0,0,200,30); - te->setTextDetails(textEntry,16); - - baseGUIObject->select(); - - // Heh.. this'll actually work =) -//ASSERT(0); -// baseGUIObject->shutdown(); -// baseGUIObject=0; - -PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed)); - - - s_bg1=new ("scrolly background") CScrollyBackground(); - s_bg1->init(); - s_bg1->setSpeed(+2,+2); - - s_bg2=new ("scrolly background") CScrollyBackground(); - s_bg2->init(); - s_bg2->setSpeed(-2,0); - s_bg2->setOt(1001); - - s_bg3=new ("scrolly background") CScrollyBackground(); - s_bg3->init(); - s_bg3->setSpeed(0,-2); - s_bg3->setOt(1002); -*/ - -// testScript->initialise(SCRIPTS_TEST_DAT); + CSoundMediator::setSfxBank(CSoundMediator::SFX_INGAME); } @@ -275,12 +136,7 @@ PAUL_DBGMSG("change=%d",mem-(MainRam.TotalRam-MainRam.RamUsed)); ---------------------------------------------------------------------- */ void CPaulScene::shutdown() { -/* - s_bg3->shutdown(); - s_bg2->shutdown(); - s_bg1->shutdown(); s_fontBank.dump(); -*/ } @@ -306,27 +162,6 @@ void CPaulScene::render() y+=charHeight; } } - -// if(testScript->isFinished()) -// { -// if(PadGetDown(0)&PAD_START) -// { -// testScript->reset(); -// } -// } -// else -// { -// testScript->run(); -// } - - /* - if(baseGUIObject) - baseGUIObject->render(); - - s_bg1->render(); - s_bg2->render(); - s_bg3->render(); -*/ } @@ -336,6 +171,7 @@ void CPaulScene::render() Params: Returns: ---------------------------------------------------------------------- */ +int sfxNum=0; void CPaulScene::think(int _frames) { if(PadGetHeld(0)&PAD_R1&&PadGetDown(0)&PAD_R2) @@ -343,71 +179,21 @@ void CPaulScene::think(int _frames) showDebugLog=!showDebugLog; } - /* - if(readyToExit) + int pad=PadGetDown(1); + if(pad&PAD_CIRCLE) { - baseGUIObject->shutdown(); - delete baseGUIObject; - baseGUIObject=NULL; - readyToExit=0; + CSoundMediator::playSfx((CSoundMediator::SFXID)sfxNum); + } + else if(pad&PAD_UP) + { + if(++sfxNum>7)sfxNum=7; + } + else if(pad&PAD_DOWN) + { + if(--sfxNum<0)sfxNum=0; } - - if(baseGUIObject) - baseGUIObject->think(_frames); - - s_bg1->think(_frames); - s_bg2->think(_frames); - s_bg3->think(_frames); -*/ } /*=========================================================================== end */ - - - -/* -BubicleEmitterData bubData= -{ - 206,200,60,60, // m_x,m_y,m_w,m_h - 10,1, // m_birthRate,m_birthAmount - -1, // m_life - { // m_bubicleBase - 100, // m_life - 0,0,0, // m_vx,m_vdx,m_vxmax - -40,-15,-100, // m_vy,m_vdy,m_vymax - 13,10, // m_w,m_h - 10, // m_dvSizeChange - 0,100, // m_theta,m_vtheta - 100,2,0, // m_wobbleWidth,m_vwobbleWidth,m_vdwobbleWidth - 40, // m_ot - { 128,128,128, } // m_colour - }, - { // m_bubicleRange - 100, // m_life - 0,0,0, // m_vx,m_vdx,m_vxmax - 20,10,0, // m_vy,m_vdy,m_vymax - 5,5, // m_w,m_h - 10, // m_dvSizeChange - 4095,50, // m_theta,m_vtheta - 100,5,0, // m_wobbleWidth,m_vwobbleWidth,m_vdwobbleWidth - 0, // m_ot - { 0, 64,127, } // m_colour - } -}; -CBubicleEmitter *testBub; - - - CBubicleFactory::init(); - testBub=CBubicleFactory::spawnEmitter(&bubData); - - CBubicleFactory::shutdown(); - - testBub->setPos(X,Y); - - CBubicleFactory::render(); - CBubicleFactory::think(); - - -*/ \ No newline at end of file diff --git a/source/player/psidle.cpp b/source/player/psidle.cpp index 29358f8a2..c67e34499 100644 --- a/source/player/psidle.cpp +++ b/source/player/psidle.cpp @@ -61,9 +61,12 @@ CPlayerStateIdle::IdleAnims CPlayerStateIdle::s_idleAnims[]= { // start frame loop frame end frame loop count - { -1, ANIM_PLAYER_ANIM_IDLEGENERIC04, -1, 4 }, - { -1, ANIM_PLAYER_ANIM_IDLEGENERIC04, -1, 10 }, - { -1, ANIM_PLAYER_ANIM_IDLEGENERIC03, -1, 3 }, +// { -1, ANIM_PLAYER_ANIM_IDLEGENERIC04, -1, 4 }, +// { -1, ANIM_PLAYER_ANIM_IDLEGENERIC04, -1, 10 }, +// { -1, ANIM_PLAYER_ANIM_IDLEGENERIC03, -1, 3 }, + { -1, ANIM_PLAYER_ANIM_IDLEBOOTS, -1, 4 }, + { -1, ANIM_PLAYER_ANIM_IDLECORAL, -1, 10 }, + { -1, ANIM_PLAYER_ANIM_WAKEUP, -1, 1 }, }; int CPlayerStateIdle::s_numIdleAnims=sizeof(CPlayerStateIdle::s_idleAnims)/sizeof(CPlayerStateIdle::IdleAnims); diff --git a/source/sound/sound.cpp b/source/sound/sound.cpp index f4ba88df3..1a5e59d01 100644 --- a/source/sound/sound.cpp +++ b/source/sound/sound.cpp @@ -95,6 +95,7 @@ static CXMPlaySound *s_xmplaySound; // Songs static XMSONGDATA s_xmSongData[CSoundMediator::NUM_SONGIDS]= { + // m_vh m_vb m_pxm m_startPattern; { MUSIC_SB_TITLE_VH, MUSIC_SB_TITLE_VB, MUSIC_SB_TITLE_PXM, 0x00 }, // SONG_TITLE { MUSIC_SB_TITLE_VH, MUSIC_SB_TITLE_VB, MUSIC_SB_TITLE_PXM, 0x0a }, // SONG_OPTIONS { MUSIC_SB_TITLE_VH, MUSIC_SB_TITLE_VB, MUSIC_SB_TITLE_PXM, 0x13 }, // SONG_MEMORYCARD @@ -116,29 +117,46 @@ static XMSONGDATA s_xmSongData[CSoundMediator::NUM_SONGIDS]= { MUSIC_CHAPTER3_VH, MUSIC_CHAPTER3_VB, MUSIC_CHAPTER3_PXM, 0x0b }, // SONG_CHAPTER3_LEVEL4, { MUSIC_CHAPTER3_VH, MUSIC_CHAPTER3_VB, MUSIC_CHAPTER3_PXM, 0x21 }, // SONG_CHAPTER3_BOSS_ASLEEP, { MUSIC_CHAPTER3_VH, MUSIC_CHAPTER3_VB, MUSIC_CHAPTER3_PXM, 0x22 }, // SONG_CHAPTER3_BOSS_AWAKE, + { MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x1b }, // SONG_CHAPTER4_LEVEL1, + { MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x00 }, // SONG_CHAPTER4_LEVEL2, + { MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x2c }, // SONG_CHAPTER4_LEVEL3, + { MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x00 }, // SONG_CHAPTER4_LEVEL4, + { MUSIC_CHAPTER4_VH, MUSIC_CHAPTER4_VB, MUSIC_CHAPTER4_PXM, 0x3c }, // SONG_CHAPTER4_BOSS, + { MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x00 }, // SONG_CHAPTER5_LEVEL1, + { MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x14 }, // SONG_CHAPTER5_LEVEL2, + { MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x00 }, // SONG_CHAPTER5_LEVEL3, + { MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x2a }, // SONG_CHAPTER5_LEVEL4, + { MUSIC_CHAPTER5_VH, MUSIC_CHAPTER5_VB, MUSIC_CHAPTER5_PXM, 0x3e }, // SONG_CHAPTER5_BOSS, }; // SFX banks static XMSFXFILEDATA s_xmSfxData[CSoundMediator::NUM_SFXBANKIDS]= { + // m_vh m_vb m_pxm { SFX_INGAME_VH, SFX_INGAME_VB, SFX_INGAME_PXM }, // SFX_INGAME }; // Individual SFX details -static SFXDETAILS s_sfxDetails[]= +static SFXDETAILS s_sfxDetails[CSoundMediator::NUM_SFXIDS]= { - { 1, 6, 1 }, - { 1, 4, 0 }, - { 1, 5, 0 }, - { 1, 0, 1 }, + // m_channelMask m_pattern m_looping + { 1, 0, 0 }, // SFX_TEST0 + { 1, 1, 0 }, // SFX_TEST1 + { 1, 2, 0 }, // SFX_TEST2 + { 1, 3, 0 }, // SFX_TEST3 + { 1, 4, 0 }, // SFX_TEST4 + { 1, 5, 0 }, // SFX_TEST5 + { 1, 6, 0 }, // SFX_TEST6 + { 1, 7, 0 }, // SFX_TEST7 }; // Reverb details static ReverbDetails s_reverbDetails[CSoundMediator::NUM_REVERBTYPES]= { - { SPU_REV_MODE_OFF, 0, 0, 0 }, // REV_NONE - { SPU_REV_MODE_ECHO, 75, 0x3000, 100 }, // REV_ECHOTEST + // m_type m_delay m_depth m_feedback + { SPU_REV_MODE_OFF, 0, 0, 0 }, // REV_NONE + { SPU_REV_MODE_ECHO, 75, 0x3000, 100 }, // REV_ECHOTEST }; @@ -372,7 +390,7 @@ void CSoundMediator::setSfxBank(SFXBANKID _bankId) same time as *lots* of other sfx. Returns: ---------------------------------------------------------------------- */ -xmPlayingId CSoundMediator::playSfx(int _sfxId,int _lock=false) +xmPlayingId CSoundMediator::playSfx(SFXID _sfxId,int _lock=false) { int sfxChannelMask; xmPlayingId playId; diff --git a/source/sound/sound.h b/source/sound/sound.h index 2381452d8..6a71eb6ec 100644 --- a/source/sound/sound.h +++ b/source/sound/sound.h @@ -49,34 +49,26 @@ class CSoundMediator public: typedef enum SONGID { - SONG_TITLE, - SONG_OPTIONS, - SONG_MEMORYCARD, - SONG_GAMECOMPLETE, - SONG_GAMEOVER, - SONG_CHAPTER1_LEVEL1, - SONG_CHAPTER1_LEVEL2, - SONG_CHAPTER1_LEVEL3, - SONG_CHAPTER1_LEVEL4, - SONG_CHAPTER1_BOSS, - SONG_CHAPTER2_LEVEL1, - SONG_CHAPTER2_LEVEL2, - SONG_CHAPTER2_LEVEL3, - SONG_CHAPTER2_LEVEL4, - SONG_CHAPTER2_BOSS, - SONG_CHAPTER3_LEVEL1, - SONG_CHAPTER3_LEVEL2, - SONG_CHAPTER3_LEVEL3, - SONG_CHAPTER3_LEVEL4, - SONG_CHAPTER3_BOSS_ALSEEP, - SONG_CHAPTER3_BOSS_AWAKE, + SONG_TITLE, SONG_OPTIONS, SONG_MEMORYCARD, SONG_GAMECOMPLETE, SONG_GAMEOVER, + SONG_CHAPTER1_LEVEL1, SONG_CHAPTER1_LEVEL2, SONG_CHAPTER1_LEVEL3, SONG_CHAPTER1_LEVEL4, SONG_CHAPTER1_BOSS, + SONG_CHAPTER2_LEVEL1, SONG_CHAPTER2_LEVEL2, SONG_CHAPTER2_LEVEL3, SONG_CHAPTER2_LEVEL4, SONG_CHAPTER2_BOSS, + SONG_CHAPTER3_LEVEL1, SONG_CHAPTER3_LEVEL2, SONG_CHAPTER3_LEVEL3, SONG_CHAPTER3_LEVEL4, SONG_CHAPTER3_BOSS_ALSEEP, SONG_CHAPTER3_BOSS_AWAKE, + SONG_CHAPTER4_LEVEL1, SONG_CHAPTER4_LEVEL2, SONG_CHAPTER4_LEVEL3, SONG_CHAPTER4_LEVEL4, SONG_CHAPTER4_BOSS, + SONG_CHAPTER5_LEVEL1, SONG_CHAPTER5_LEVEL2, SONG_CHAPTER5_LEVEL3, SONG_CHAPTER5_LEVEL4, SONG_CHAPTER5_BOSS, NUM_SONGIDS, }; + typedef enum SFXBANKID { SFX_INGAME, NUM_SFXBANKIDS, }; + typedef enum SFXID + { + SFX_TEST0, SFX_TEST1, SFX_TEST2, SFX_TEST3, + SFX_TEST4, SFX_TEST5, SFX_TEST6, SFX_TEST7, + NUM_SFXIDS, + }; typedef enum VOLUMETYPE { @@ -119,7 +111,7 @@ public: // SFX interface static void setSfxBank(SFXBANKID _bankId); - static xmPlayingId playSfx(int _sfxId,int _lock=false); + static xmPlayingId playSfx(SFXID _sfxId,int _lock=false); static void setposition(xmPlayingId _playingId,VECTOR *pos); static void stopSfx(xmPlayingId _playingId);