|
From: <dv...@us...> - 2008-04-30 21:05:49
|
Revision: 223
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=223&view=rev
Author: dvalin
Date: 2008-04-30 14:05:29 -0700 (Wed, 30 Apr 2008)
Log Message:
-----------
something fishy happens when trying to delete the previous frame, disable it for now..
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-04-30 20:51:39 UTC (rev 222)
+++ branches/dunks/src/IntroState.cpp 2008-04-30 21:05:29 UTC (rev 223)
@@ -364,7 +364,7 @@
nextFrame->Load(m_currentFrame);
m_wsaNames.pop_front();
- if (m_currentFrame != NULL) delete m_currentFrame;
+// if (m_currentFrame != NULL) delete m_currentFrame;
m_currentFrame = nextFrame;
return true;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-01 18:58:50
|
Revision: 233
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=233&view=rev
Author: dvalin
Date: 2008-05-01 11:58:21 -0700 (Thu, 01 May 2008)
Log Message:
-----------
add some more sounds to intro..
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-01 13:07:27 UTC (rev 232)
+++ branches/dunks/src/IntroState.cpp 2008-05-01 18:58:21 UTC (rev 233)
@@ -259,7 +259,7 @@
// m_introStrings.push_back(introText(0, "")); // credits.eng isn't properly decoded yet..
// DataCache::Instance()->getCreditsString(20)));
-/* frame = new Frame("INTRO:WESTWOOD.WSA",
+ frame = new Frame("INTRO:WESTWOOD.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 5000);
@@ -298,18 +298,18 @@
frame->addSound(39, Intro_Melange);
frame->addText(33, DataCache::Instance()->getIntroString(5));
enque(frame);
-*/
+
frame = new Frame("INTRO:INTRO9.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 3000);
frame->addSound(0, Intro_TheSpice);
- frame->addSound(3, Intro_Controls);
- frame->addSound(7, Intro_TheEmpire);
- frame->addSound(3, Intro_ControlsDune);
- frame->addSound(9, Intro_WhoEver);
- frame->addSound(10, Intro_Clank);
- frame->addSound(10, Intro_ControlsTheSpice);
+ frame->addSound(5, Intro_Controls);
+ frame->addSound(9, Intro_TheEmpire);
+ frame->addSound(10, Intro_Clank);
+ frame->addSound(25, Intro_WhoEver);
+ frame->addSound(29, Intro_ControlsDune);
+ frame->addSound(35, Intro_ControlsTheSpice);
frame->addSound(50, Intro_Brakes_2p);
frame->addSound(58, Intro_Clank);
frame->addText(0, DataCache::Instance()->getIntroString(6));
@@ -321,6 +321,7 @@
Frame::FADE_OUT,
false, 2000);
frame->addText(0, DataCache::Instance()->getIntroString(8));
+ frame->addSong(0, Intro_TheEmperor);
enque(frame);
frame = new Frame("INTRO:INTRO11.WSA",
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-01 22:52:42
|
Revision: 236
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=236&view=rev
Author: dvalin
Date: 2008-05-01 15:52:34 -0700 (Thu, 01 May 2008)
Log Message:
-----------
* fix proper frame rate of scenes
* fix timing of sounds
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-01 21:19:22 UTC (rev 235)
+++ branches/dunks/src/IntroState.cpp 2008-05-01 22:52:34 UTC (rev 236)
@@ -31,6 +31,7 @@
m_palette = DataCache::Instance()->getPalette(INTRO_PAL);
m_song = -1;
+ m_fps = 0;
m_endWait = endWait;
Application::Instance()->RootWidget()->addChild(m_container);
@@ -96,6 +97,11 @@
m_song = song;
}
+void IntroState::Frame::setFps(float fps)
+{
+ m_fps = fps;
+}
+
void IntroState::Frame::Load(Frame* lastframe)
{
// SDL_Palette* palette = Application::Instance()->Screen()->getSurface()->format->palette;
@@ -109,11 +115,11 @@
if (m_continuation)
{
- m_wsa.reset(new Wsafile(data, len, lastframe->m_animSurface->getSurface()));
+ m_wsa.reset(new Wsafile(data, len, lastframe->m_animSurface->getSurface(), m_fps));
}
else
{
- m_wsa.reset(new Wsafile(data, len));
+ m_wsa.reset(new Wsafile(data, len, NULL, m_fps));
}
m_frametime = 0;
@@ -318,6 +324,7 @@
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 2000);
+ frame->setFps(0.05);
frame->setSong(1);
frame->addSound(5, Intro_Dune);
frame->concatSound(48, Intro_TheBuilding);
@@ -350,6 +357,7 @@
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 3000);
+ frame->setFps(0.18);
frame->addText(0, DataCache::Instance()->getIntroString(6));
frame->concatSound(0, Intro_TheSpice);
frame->concatSound(0, Intro_Controls);
@@ -392,14 +400,13 @@
frame->addText(44, DataCache::Instance()->getIntroString(11));
enque(frame);
-
frame = new Frame("INTRO:INTRO4.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 3000);
- frame->addText(0, DataCache::Instance()->getIntroString(12));
- frame->concatSound(0, Intro_VastArmies);
- frame->concatSound(0, Intro_HasArrived);
+ frame->addText(10, DataCache::Instance()->getIntroString(12));
+ frame->concatSound(11, Intro_VastArmies);
+ frame->concatSound(11, Intro_HasArrived);
frame->addText(25, DataCache::Instance()->getIntroString(13));
frame->concatSound(25, Intro_AndNow);
frame->concatSound(25, Intro_3Houses);
@@ -407,10 +414,21 @@
frame->concatSound(25, Intro_OfDune);
enque(frame);
+ frame = new Frame(DataCache::Instance()->getIntroString(13) ,
+ Frame::NO_TRANSITION,
+ Frame::FADE_OUT,
+ false, 3000);
+ frame->concatSound(0, Intro_AndNow);
+ frame->concatSound(0, Intro_3Houses);
+ frame->concatSound(0, Intro_ForControl);
+ frame->concatSound(0, Intro_OfDune);
+ enque(frame);
+*
frame = new Frame("INTRO:INTRO6.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false);
+ frame->setFps(0.1);
frame->addText(0, DataCache::Instance()->getIntroString(14));
frame->addSound(0, Intro_TheNobleAtreides);
frame->addSound(31, Intro_Glass);
@@ -448,8 +466,7 @@
frame->addText(0, DataCache::Instance()->getIntroString(17));
frame->concatSound(0, Intro_AndThe);
frame->concatSound(0, Intro_EvilHarkonnen);
- frame->addSound(0, Sound_Gun);
- frame->addSound(3, Sound_Gun);
+ frame->addSound(5, Sound_Gun);
frame->addSound(8, Sound_Gun);
enque(frame);
@@ -457,14 +474,14 @@
Frame::NO_TRANSITION,
Frame::NO_TRANSITION,
true);
- frame->addText(0, DataCache::Instance()->getIntroString(18));
enque(frame);
+ frame->addSound(1, Sound_Gun);
+
frame = new Frame("INTRO:INTRO8C.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- true, 2000);
- frame->addText(0, DataCache::Instance()->getIntroString(19));
+ true);
frame->addSound(16, Sound_ExplosionSmall);
frame->addSound(25, Sound_ExplosionMedium);
enque(frame);
@@ -473,7 +490,7 @@
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false);
- frame->addText(0, DataCache::Instance()->getIntroString(20));
+ frame->addText(0, DataCache::Instance()->getIntroString(18));
frame->concatSound(0, Intro_OnlyOneHouse);
frame->concatSound(0, Intro_WillPrevail);
enque(frame);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-02 01:06:16
|
Revision: 237
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=237&view=rev
Author: dvalin
Date: 2008-05-01 18:06:12 -0700 (Thu, 01 May 2008)
Log Message:
-----------
* add loops to the appropriate scenes
* make waiting rely on (fake) frames rather than time
* more timing fixes
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-01 22:52:34 UTC (rev 236)
+++ branches/dunks/src/IntroState.cpp 2008-05-02 01:06:12 UTC (rev 237)
@@ -33,7 +33,11 @@
m_song = -1;
m_fps = 0;
m_endWait = endWait;
-
+ m_loop = videoLoop(0,0);
+ m_loopTime = videoLoop(0,0);
+/* if(endWait)
+ setLoop(m_wsa->getNumFrames(), m_wsa->getNumFrames(), 1, 30);
+*/
Application::Instance()->RootWidget()->addChild(m_container);
}
@@ -102,10 +106,14 @@
m_fps = fps;
}
+void IntroState::Frame::setLoop(uint8_t loopAt, uint8_t rewindTo, uint8_t numLoops, uint8_t wait)
+{
+ m_loop = videoLoop(loopAt, rewindTo);
+ m_loopTime = videoLoop(numLoops, wait);
+}
+
void IntroState::Frame::Load(Frame* lastframe)
{
-// SDL_Palette* palette = Application::Instance()->Screen()->getSurface()->format->palette;
-
printf("intro loading %s\n", m_filename.c_str());
int len;
@@ -124,10 +132,15 @@
m_frametime = 0;
m_currentFrame = 0;
+ m_framesPlayed = 0;
mb_finished = false;
m_animSurface.reset(m_wsa->getPicture(m_currentFrame, m_palette));
m_scaledSurface = m_animSurface->getResized(2.0);
+ if(m_endWait && !m_loop.first)
+ setLoop(m_wsa->getNumFrames(), m_wsa->getNumFrames(), 1, m_endWait);
+
+
}
bool IntroState::Frame::Execute(float dt)
@@ -160,8 +173,16 @@
void IntroState::Frame::doPlaying(float dt)
{
+ std::cout << "\n\nframes played:\t\t" << (int)m_framesPlayed << std::endl;
+ /*m_framesPlayed++;
+ if(m_numLoops != 0 && m_currentFrame == m_loop.first)
+ {
+ m_currentFrame = m_loop.second;
+ m_numLoops--;
+ }*/
+
if(m_introStrings.size() > 0){
- if(m_currentFrame == m_introStrings[0].first){
+ if(m_framesPlayed == m_introStrings[0].first){
if(m_subText != NULL) m_container->deleteChild(m_subText);
m_subText = new Label(m_introStrings[0].second, 49, 0);
m_introStrings.erase(m_introStrings.begin());
@@ -171,14 +192,14 @@
}
if(m_introSounds.size() > 0){
- if(m_currentFrame == m_introSounds[0].first){
+ if(m_framesPlayed == m_introSounds[0].first){
Mix_Chunk* sound = DataCache::Instance()->getSoundChunk(m_introSounds[0].second);
Application::Instance()->playSound(sound);
m_introSounds.erase(m_introSounds.begin());
}
}
if(m_soundChunks.size() > 0){
- if(m_currentFrame == m_soundChunks[0].first){
+ if(m_framesPlayed == m_soundChunks[0].first){
Mix_Chunk* sound = m_soundChunks[0].second;
Application::Instance()->playSound(sound);
// delete(m_soundChunks[0].second);
@@ -186,11 +207,33 @@
}
}
+/* if(m_loopTime.first != 0 && m_currentFrame == m_loop.first)
+ {
+ m_currentFrame = m_loop.second;
+ m_loopTime.first--;
+ }*/
+
+/* if(m_numLoops != 0 && m_currentFrame == m_loop.first)
+ {
+ std::cout << "jaggu!" << std::endl;
+ m_currentFrame = m_loop.second;
+ m_numLoops--;
+ }
+*/
m_frametime += dt;
if (m_frametime > m_wsa->getFPS())
{
- m_currentFrame ++;
+ if(!(m_currentFrame == m_loop.first - 1 && m_framesPlayed < m_loop.first + m_loopTime.second))
+ m_currentFrame++;
+ if(m_loopTime.first != 0 && m_currentFrame == m_loop.first)
+ {
+ m_currentFrame = m_loop.second;
+ m_loopTime.first--;
+ }
+
+
+ m_framesPlayed++;
m_frametime = 0.0f;
if (m_currentFrame >= m_wsa->getNumFrames())
{
@@ -274,7 +317,7 @@
void IntroState::Frame::doHolding(float dt)
{
- uint16_t startTicks = SDL_GetTicks();
+/* uint16_t startTicks = SDL_GetTicks();
SDL_Event event;
bool wait = true;
@@ -295,7 +338,7 @@
break;
}}}
}
-
+*/
m_state = TRANSITION_OUT;
}
@@ -315,7 +358,7 @@
frame = new Frame("INTRO:WESTWOOD.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 5000);
+ false, 30);
frame->setSong(0);
frame->setPalette(WESTWOOD_PAL);
enque(frame);
@@ -323,32 +366,32 @@
frame = new Frame("INTRO:INTRO1.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 2000);
+ false, 50);
frame->setFps(0.05);
frame->setSong(1);
- frame->addSound(5, Intro_Dune);
- frame->concatSound(48, Intro_TheBuilding);
- frame->concatSound(48, Intro_OfADynasty);
- frame->addText(48, "The Building of a Dynasty");
+ frame->concatSound(66, Intro_Dune);
+ frame->concatSound(66, Intro_TheBuilding);
+ frame->concatSound(66, Intro_OfADynasty);
+ frame->addText(66, "The Building of a Dynasty");
enque(frame);
frame = new Frame("INTRO:INTRO2.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 2000);
- frame->concatSound(0, Intro_ThePlanetArrakis);
- frame->concatSound(0, Intro_KnownAsDune);
- frame->addText(0, DataCache::Instance()->getIntroString(3));
+ false, 5);
+ frame->concatSound(5, Intro_ThePlanetArrakis);
+ frame->concatSound(5, Intro_KnownAsDune);
+ frame->addText(5, DataCache::Instance()->getIntroString(3));
enque(frame);
frame = new Frame("INTRO:INTRO3.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 2000);
+ false, 30);
frame->addSound(0, Intro_LandOfSand);
frame->addText(0, DataCache::Instance()->getIntroString(4));
- frame->concatSound(23, Intro_Home);
- frame->concatSound(23, Intro_OfTheSpice);
+ frame->concatSound(33, Intro_Home);
+ frame->concatSound(33, Intro_OfTheSpice);
frame->concatSound(33, Intro_Melange);
frame->addText(33, DataCache::Instance()->getIntroString(5));
enque(frame);
@@ -356,7 +399,7 @@
frame = new Frame("INTRO:INTRO9.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 3000);
+ false, 2);
frame->setFps(0.18);
frame->addText(0, DataCache::Instance()->getIntroString(6));
frame->concatSound(0, Intro_TheSpice);
@@ -374,7 +417,7 @@
frame = new Frame("INTRO:INTRO10.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 7500);
+ false, 25);
frame->addText(0, DataCache::Instance()->getIntroString(8));
frame->concatSound(0, Intro_TheEmperor);
frame->concatSound(0, Intro_HasProposedAChallenge);
@@ -384,26 +427,27 @@
frame = new Frame("INTRO:INTRO11.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 2000);
+ false);
+ frame->setFps(0.095);
frame->addText(0, DataCache::Instance()->getIntroString(9));
frame->concatSound(0, Intro_TheHouse);
frame->concatSound(0, Intro_ThatProduces);
frame->concatSound(0, Intro_TheMostSpice);
frame->concatSound(0, Intro_WillControlDune);
- // The video should actually loop a bit here, needs to be implemented..
- frame->concatSound(41, Intro_ThereAreNoSet);
- frame->concatSound(41, Intro_Territories);
- frame->concatSound(41, Intro_AndNo);
- frame->concatSound(41, Intro_RulesOfEngagement);
+ frame->setLoop(45, 0, 1, 15);
+ frame->concatSound(61, Intro_ThereAreNoSet);
+ frame->concatSound(61, Intro_Territories);
+ frame->concatSound(61, Intro_AndNo);
+ frame->concatSound(61, Intro_RulesOfEngagement);
- frame->addText(41, DataCache::Instance()->getIntroString(10));
- frame->addText(44, DataCache::Instance()->getIntroString(11));
+ frame->addText(61, DataCache::Instance()->getIntroString(10));
+ frame->addText(66, DataCache::Instance()->getIntroString(11));
enque(frame);
frame = new Frame("INTRO:INTRO4.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 3000);
+ false, 10);
frame->addText(10, DataCache::Instance()->getIntroString(12));
frame->concatSound(11, Intro_VastArmies);
frame->concatSound(11, Intro_HasArrived);
@@ -417,13 +461,13 @@
frame = new Frame(DataCache::Instance()->getIntroString(13) ,
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 3000);
+ false, 20);
frame->concatSound(0, Intro_AndNow);
frame->concatSound(0, Intro_3Houses);
frame->concatSound(0, Intro_ForControl);
frame->concatSound(0, Intro_OfDune);
enque(frame);
-*
+
frame = new Frame("INTRO:INTRO6.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
@@ -449,13 +493,13 @@
frame->addSound(2, Intro_Missile_8);
frame->addSound(7, Intro_Missile_8);
frame->addSound(26, Intro_Missile_8);
- frame->addSound(37, Intro_Missile_8);
enque(frame);
frame = new Frame("INTRO:INTRO7B.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- true, 2000);
+ true, 5);
+ frame->addSound(10, Intro_Missile_8);
frame->addText(0, DataCache::Instance()->getIntroString(16));
enque(frame);
@@ -490,6 +534,8 @@
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false);
+ frame->setFps(0.2);
+ frame->setLoop(3, 0, 10, 0);
frame->addText(0, DataCache::Instance()->getIntroString(18));
frame->concatSound(0, Intro_OnlyOneHouse);
frame->concatSound(0, Intro_WillPrevail);
@@ -514,11 +560,11 @@
enque(frame);*/
// seems nice to play this again ;)
- frame = new Frame("INTRO:INTRO1.WSA",
+ /* frame = new Frame("INTRO:INTRO1.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false);
- enque(frame);
+ enque(frame);*/
next();
m_butIntro = new TranspButton(Settings::Instance()->GetWidth(),
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-02 01:18:20
|
Revision: 238
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=238&view=rev
Author: dvalin
Date: 2008-05-01 18:18:17 -0700 (Thu, 01 May 2008)
Log Message:
-----------
* delete text labels in doHolding() rather than in Frame object destructor
* yet more timing fixes..
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-02 01:06:12 UTC (rev 237)
+++ branches/dunks/src/IntroState.cpp 2008-05-02 01:18:17 UTC (rev 238)
@@ -140,7 +140,6 @@
if(m_endWait && !m_loop.first)
setLoop(m_wsa->getNumFrames(), m_wsa->getNumFrames(), 1, m_endWait);
-
}
bool IntroState::Frame::Execute(float dt)
@@ -173,14 +172,6 @@
void IntroState::Frame::doPlaying(float dt)
{
- std::cout << "\n\nframes played:\t\t" << (int)m_framesPlayed << std::endl;
- /*m_framesPlayed++;
- if(m_numLoops != 0 && m_currentFrame == m_loop.first)
- {
- m_currentFrame = m_loop.second;
- m_numLoops--;
- }*/
-
if(m_introStrings.size() > 0){
if(m_framesPlayed == m_introStrings[0].first){
if(m_subText != NULL) m_container->deleteChild(m_subText);
@@ -207,19 +198,6 @@
}
}
-/* if(m_loopTime.first != 0 && m_currentFrame == m_loop.first)
- {
- m_currentFrame = m_loop.second;
- m_loopTime.first--;
- }*/
-
-/* if(m_numLoops != 0 && m_currentFrame == m_loop.first)
- {
- std::cout << "jaggu!" << std::endl;
- m_currentFrame = m_loop.second;
- m_numLoops--;
- }
-*/
m_frametime += dt;
if (m_frametime > m_wsa->getFPS())
@@ -317,34 +295,12 @@
void IntroState::Frame::doHolding(float dt)
{
-/* uint16_t startTicks = SDL_GetTicks();
-
- SDL_Event event;
- bool wait = true;
- while(wait && (SDL_GetTicks() - startTicks) < m_endWait){
- while(SDL_PollEvent(&event)){
- switch (event.type){
- case (SDL_KEYDOWN):
- switch( event.key.keysym.sym ){
- case SDLK_RETURN:
- case SDLK_SPACE:
- wait = false;
- break;
- case SDLK_ESCAPE:
- if(m_subText != NULL) m_container->deleteChild(m_subText);
- Application::Instance()->RootState()->PopState();
- return;
- default:
- break;
- }}}
- }
-*/
m_state = TRANSITION_OUT;
+ if(m_subText != NULL) m_container->deleteChild(m_subText);
}
IntroState::Frame::~Frame()
{
- if(m_subText != NULL) m_container->deleteChild(m_subText);
}
// ------------------------------------------------------------------
// IntroState
@@ -441,14 +397,14 @@
frame->concatSound(61, Intro_RulesOfEngagement);
frame->addText(61, DataCache::Instance()->getIntroString(10));
- frame->addText(66, DataCache::Instance()->getIntroString(11));
+ frame->addText(83, DataCache::Instance()->getIntroString(11));
enque(frame);
frame = new Frame("INTRO:INTRO4.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 10);
- frame->addText(10, DataCache::Instance()->getIntroString(12));
+ frame->addText(11, DataCache::Instance()->getIntroString(12));
frame->concatSound(11, Intro_VastArmies);
frame->concatSound(11, Intro_HasArrived);
frame->addText(25, DataCache::Instance()->getIntroString(13));
@@ -458,7 +414,7 @@
frame->concatSound(25, Intro_OfDune);
enque(frame);
- frame = new Frame(DataCache::Instance()->getIntroString(13) ,
+/* frame = new Frame(DataCache::Instance()->getIntroString(13) ,
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 20);
@@ -467,7 +423,7 @@
frame->concatSound(0, Intro_ForControl);
frame->concatSound(0, Intro_OfDune);
enque(frame);
-
+*/
frame = new Frame("INTRO:INTRO6.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-02 01:38:07
|
Revision: 239
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=239&view=rev
Author: dvalin
Date: 2008-05-01 18:38:04 -0700 (Thu, 01 May 2008)
Log Message:
-----------
give the text for emperor the correct color
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-02 01:18:17 UTC (rev 238)
+++ branches/dunks/src/IntroState.cpp 2008-05-02 01:38:04 UTC (rev 239)
@@ -14,7 +14,7 @@
// IntroState::Frame
IntroState::Frame::Frame(std::string filename, Transition in, Transition out,
- bool continuation, uint16_t endWait)
+ bool continuation, uint8_t endWait)
{
m_filename = filename;
m_transition_in = in;
@@ -35,9 +35,8 @@
m_endWait = endWait;
m_loop = videoLoop(0,0);
m_loopTime = videoLoop(0,0);
-/* if(endWait)
- setLoop(m_wsa->getNumFrames(), m_wsa->getNumFrames(), 1, 30);
-*/
+ m_textColor = 49;
+
Application::Instance()->RootWidget()->addChild(m_container);
}
@@ -112,6 +111,11 @@
m_loopTime = videoLoop(numLoops, wait);
}
+void IntroState::Frame::setTextColor(uint8_t textColor)
+{
+ m_textColor = textColor;
+}
+
void IntroState::Frame::Load(Frame* lastframe)
{
printf("intro loading %s\n", m_filename.c_str());
@@ -175,7 +179,7 @@
if(m_introStrings.size() > 0){
if(m_framesPlayed == m_introStrings[0].first){
if(m_subText != NULL) m_container->deleteChild(m_subText);
- m_subText = new Label(m_introStrings[0].second, 49, 0);
+ m_subText = new Label(m_introStrings[0].second, m_textColor, 0);
m_introStrings.erase(m_introStrings.begin());
m_container->setPosition(UPoint(50, 420));
m_container->addChild(m_subText);
@@ -386,6 +390,7 @@
false);
frame->setFps(0.095);
frame->addText(0, DataCache::Instance()->getIntroString(9));
+ frame->setTextColor(208);
frame->concatSound(0, Intro_TheHouse);
frame->concatSound(0, Intro_ThatProduces);
frame->concatSound(0, Intro_TheMostSpice);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-02 18:22:39
|
Revision: 247
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=247&view=rev
Author: dvalin
Date: 2008-05-02 11:22:29 -0700 (Fri, 02 May 2008)
Log Message:
-----------
fix display of strings
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-02 18:18:11 UTC (rev 246)
+++ branches/dunks/src/IntroState.cpp 2008-05-02 18:22:29 UTC (rev 247)
@@ -145,7 +145,7 @@
}
}
else
- m_wsa.reset(new Wsafile(m_filename));
+ m_wsa.reset(new Wsafile(m_filename, m_textColor));
m_frametime = 0;
m_currentFrame = 0;
@@ -440,15 +440,10 @@
frame = new Frame("INTRO:INTRO4.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 10);
+ false, 5);
frame->addText(11, DataCache::Instance()->getIntroString(12));
frame->concatSound(11, Intro_VastArmies);
frame->concatSound(11, Intro_HasArrived);
- frame->addText(25, DataCache::Instance()->getIntroString(13));
- frame->concatSound(25, Intro_AndNow);
- frame->concatSound(25, Intro_3Houses);
- frame->concatSound(25, Intro_ForControl);
- frame->concatSound(25, Intro_OfDune);
enque(frame);
frame = new Frame(DataCache::Instance()->getIntroString(13),
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-03 00:00:58
|
Revision: 250
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=250&view=rev
Author: dvalin
Date: 2008-05-02 17:00:49 -0700 (Fri, 02 May 2008)
Log Message:
-----------
* actually draw the text
* fix text displayed at wrong time
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-02 23:54:01 UTC (rev 249)
+++ branches/dunks/src/IntroState.cpp 2008-05-03 00:00:49 UTC (rev 250)
@@ -370,10 +370,11 @@
false, 30);
enque(frame);
- frame = new Frame(DataCache::Instance()->getIntroString(1),
+ frame = new Frame("",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 20);
+ DataCache::Instance()->getIntroString(1),
enque(frame);
@@ -386,7 +387,7 @@
frame->concatSound(66, Intro_Dune);
frame->concatSound(66, Intro_TheBuilding);
frame->concatSound(66, Intro_OfADynasty);
- frame->addText(66, "The Building of a Dynasty");
+ frame->addText(66, DataCache::Instance()->getIntroString(2));
enque(frame);
frame = new Frame("INTRO:INTRO2.WSA",
@@ -511,14 +512,13 @@
Frame::FADE_OUT,
true, 5);
frame->addSound(10, Intro_Missile_8);
- frame->addText(0, DataCache::Instance()->getIntroString(16));
enque(frame);
frame = new Frame("INTRO:INTRO8A.WSA",
Frame::NO_TRANSITION,
Frame::NO_TRANSITION,
false);
- frame->addText(0, DataCache::Instance()->getIntroString(17));
+ frame->addText(0, DataCache::Instance()->getIntroString(16));
frame->concatSound(0, Intro_AndThe);
frame->concatSound(0, Intro_EvilHarkonnen);
frame->addSound(5, Sound_Gun);
@@ -547,26 +547,28 @@
false);
frame->setFps(0.2);
frame->setLoop(3, 0, 10, 0);
- frame->addText(0, DataCache::Instance()->getIntroString(18));
+ frame->addText(0, DataCache::Instance()->getIntroString(17));
frame->concatSound(0, Intro_OnlyOneHouse);
frame->concatSound(0, Intro_WillPrevail);
enque(frame);
- frame = new Frame(DataCache::Instance()->getIntroString(18),
+ frame = new Frame("",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 20);
+ frame->addText(0, DataCache::Instance()->getIntroString(18));
frame->concatSound(0, Intro_Your);
frame->concatSound(0, Intro_BattleForDune);
frame->concatSound(0, Intro_Begins);
enque(frame);
- frame = new Frame(DataCache::Instance()->getIntroString(19),
+ frame = new Frame("",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 15);
+ frame->addText(0, DataCache::Instance()->getIntroString(19));
frame->addSound(0, Intro_Now);
enque(frame);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-03 00:16:57
|
Revision: 252
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=252&view=rev
Author: dvalin
Date: 2008-05-02 17:16:51 -0700 (Fri, 02 May 2008)
Log Message:
-----------
move text a bit to the right
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-03 00:14:52 UTC (rev 251)
+++ branches/dunks/src/IntroState.cpp 2008-05-03 00:16:51 UTC (rev 252)
@@ -394,7 +394,7 @@
frame->concatSound(66, Intro_TheBuilding);
frame->concatSound(66, Intro_OfADynasty);
frame->addText(66, DataCache::Instance()->getIntroString(2));
- frame->setTextLocation(SPoint(0,-20));
+ frame->setTextLocation(SPoint(25,-20));
enque(frame);
frame = new Frame("INTRO:INTRO2.WSA",
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-03 01:31:08
|
Revision: 254
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=254&view=rev
Author: dvalin
Date: 2008-05-02 18:31:03 -0700 (Fri, 02 May 2008)
Log Message:
-----------
* fade faster
* some more timing fixes
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-03 01:28:14 UTC (rev 253)
+++ branches/dunks/src/IntroState.cpp 2008-05-03 01:31:03 UTC (rev 254)
@@ -318,7 +318,7 @@
SDL_Surface* text = m_textSurface->getSurface();
SDL_Color* col = m_transitionPalette;
- const int fadeAmt = 3;
+ const int fadeAmt = 8;
for (int i=0; i!=256; i++, col++)
{
@@ -387,7 +387,7 @@
frame = new Frame("",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 1);
+ false, 2);
frame->addText(0,DataCache::Instance()->getIntroString(1));
frame->setTextLocation(SPoint(-25,0));
frame->setTextSize(2.0);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-03 01:45:55
|
Revision: 255
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=255&view=rev
Author: dvalin
Date: 2008-05-02 18:45:51 -0700 (Fri, 02 May 2008)
Log Message:
-----------
oops, fading out became a bit too fast, make it a bit slower again
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-03 01:31:03 UTC (rev 254)
+++ branches/dunks/src/IntroState.cpp 2008-05-03 01:45:51 UTC (rev 255)
@@ -186,7 +186,8 @@
break;
};
- m_scaledSurface->blitToScreenCentered();
+// m_scaledSurface->blitToScreen(SPoint(0, Application::Instance()->Screen()->getSurface()->h/2 - m_scaledSurface->getSurface()->h/2 - 55));
+ m_scaledSurface->blitToScreenCentered();
m_textSurface->blitToScreen(SPoint(0 + m_textLocation.x,Application::Instance()->Screen()->getSurface()->h/2 + m_scaledSurface->getSurface()->h/2 + m_textLocation.y));
return mb_finished;
@@ -318,7 +319,7 @@
SDL_Surface* text = m_textSurface->getSurface();
SDL_Color* col = m_transitionPalette;
- const int fadeAmt = 8;
+ const int fadeAmt = 4;
for (int i=0; i!=256; i++, col++)
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-03 23:03:59
|
Revision: 259
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=259&view=rev
Author: dvalin
Date: 2008-05-03 16:03:52 -0700 (Sat, 03 May 2008)
Log Message:
-----------
fade when sound is done playing rather than guessing by length of text
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-03 23:00:38 UTC (rev 258)
+++ branches/dunks/src/IntroState.cpp 2008-05-03 23:03:52 UTC (rev 259)
@@ -201,18 +201,17 @@
void IntroState::Frame::doPlaying(float dt)
{
+ if(!m_textTransition && !Mix_Playing(10)){
+ m_textTransition = m_framesPlayed + 2;
+ }
if(m_introStrings.size() > 0){
if(m_framesPlayed == m_introStrings[0].first){
ImagePtr tmp(new Image(UPoint(360,50)));
std::string text = m_introStrings[0].second;
- // Here we try to figure out how long the text should be displayed
- // relative to it's length. Room for improval..
- m_textTransition = m_framesPlayed + (text.length()/m_wsa->getFPS()/100*9);
uint8_t numLines = 0;
int linebreak = text.find("\n",0)+ 1;
std::string thisLine;
// This is a bit hairy and needs to be cleaned up a bit..
-
Uint16 textw, texth;
while(text.substr(0, linebreak-1).length() > 0){
@@ -230,15 +229,11 @@
}
m_textSurface = tmp->getResized(m_textSize);
m_introStrings.erase(m_introStrings.begin());
- // Something wrong happens here that prevents the fading and only removes the text
- if(m_introStrings.size() > 0)
- if(m_textTransition > m_introStrings[0].first - 4)
- m_textTransition = m_introStrings[0].first - 4;
- else if(m_textTransition > m_totalFrames - 2)
- m_textTransition = m_totalFrames - 2;
+ m_textTransition = 0;
}
}
- if(m_framesPlayed >= m_textTransition){
+
+ if(m_textTransition && m_framesPlayed >= m_textTransition){
doTransitionOut(m_textSurface, false, true, 6);
}
@@ -253,7 +248,7 @@
if(m_soundChunks.size() > 0){
if(m_framesPlayed == m_soundChunks[0].first){
Mix_Chunk* sound = m_soundChunks[0].second;
- Application::Instance()->playSound(sound);
+ Application::Instance()->playSound(sound, 10);
// delete(m_soundChunks[0].second);
m_soundChunks.erase(m_soundChunks.begin());
}
@@ -384,7 +379,7 @@
// m_introStrings.push_back(introText(0, "")); // credits.eng isn't properly decoded yet..
// DataCache::Instance()->getCreditsString(20)));
- frame = new Frame("INTRO:WESTWOOD.WSA",
+ /*frame = new Frame("INTRO:WESTWOOD.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 20);
@@ -453,7 +448,7 @@
frame->concatSound(33, Intro_Melange);
frame->addText(33, DataCache::Instance()->getIntroString(5));
enque(frame);
-
+*/
frame = new Frame("INTRO:INTRO9.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
@@ -494,13 +489,13 @@
frame->concatSound(0, Intro_TheMostSpice);
frame->concatSound(0, Intro_WillControlDune);
frame->addLoop(45, 0, 1, 14);
+ frame->addText(61, DataCache::Instance()->getIntroString(10));
frame->concatSound(61, Intro_ThereAreNoSet);
frame->concatSound(61, Intro_Territories);
- frame->concatSound(61, Intro_AndNo);
- frame->concatSound(61, Intro_RulesOfEngagement);
-
- frame->addText(61, DataCache::Instance()->getIntroString(10));
frame->addText(83, DataCache::Instance()->getIntroString(11));
+ frame->concatSound(83, Intro_AndNo);
+ frame->concatSound(83, Intro_RulesOfEngagement);
+
enque(frame);
frame = new Frame("INTRO:INTRO4.WSA",
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-03 23:28:34
|
Revision: 261
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=261&view=rev
Author: dvalin
Date: 2008-05-03 16:28:32 -0700 (Sat, 03 May 2008)
Log Message:
-----------
fix sound vs text fade issues..
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-03 23:27:32 UTC (rev 260)
+++ branches/dunks/src/IntroState.cpp 2008-05-03 23:28:32 UTC (rev 261)
@@ -33,6 +33,7 @@
m_textSize = 1.7;
m_textLocation = SPoint(20,20);
m_textTransition = 0;
+ m_textFade = true;
font = FontManager::Instance()->getFont("INTRO:INTRO.FNT");
}
@@ -121,6 +122,12 @@
{
m_textSize = textSize;
}
+
+void IntroState::Frame::setTextFade(bool textFade)
+{
+ m_textFade = textFade;
+}
+
void IntroState::Frame::Load(Frame* lastframe)
{
printf("intro loading %s\n", m_filename.c_str());
@@ -201,7 +208,7 @@
void IntroState::Frame::doPlaying(float dt)
{
- if(!m_textTransition && !Mix_Playing(10)){
+ if(m_textFade && !m_textTransition && !Mix_Playing(10)){
m_textTransition = m_framesPlayed + 2;
}
if(m_introStrings.size() > 0){
@@ -303,6 +310,7 @@
{
if(m_song != -1){
Application::Instance()->playSound(DataCache::Instance()->getMusic(MUSIC_INTRO, m_song));
+ std::cout << "play!" << std::endl;
}
if (m_transition_in == NO_TRANSITION) m_state = PLAYING;
@@ -379,7 +387,7 @@
// m_introStrings.push_back(introText(0, "")); // credits.eng isn't properly decoded yet..
// DataCache::Instance()->getCreditsString(20)));
- /*frame = new Frame("INTRO:WESTWOOD.WSA",
+ frame = new Frame("INTRO:WESTWOOD.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 20);
@@ -391,7 +399,7 @@
frame = new Frame("",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 4);
+ false, 10);
frame->addText(0, "and");
frame->setTextSize(2.0);
frame->setTextLocation(SPoint(-25,0));
@@ -407,7 +415,7 @@
frame = new Frame("",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 4);
+ false, 10);
frame->addText(0,DataCache::Instance()->getIntroString(1));
frame->setTextLocation(SPoint(-25,0));
frame->setTextSize(2.0);
@@ -420,12 +428,13 @@
frame->setFps(0.07);
frame->addLoop(1,1,0,20);
frame->setSong(1);
- frame->addSound(30, Intro_Dune);
+ frame->concatSound(30, Intro_Dune);
frame->concatSound(70, Intro_TheBuilding);
frame->concatSound(70, Intro_OfADynasty);
frame->addText(70, DataCache::Instance()->getIntroString(2));
frame->setTextLocation(SPoint(-13,-35));
frame->setTextSize(2.0);
+ frame->setTextFade(false);
enque(frame);
frame = new Frame("INTRO:INTRO2.WSA",
@@ -434,21 +443,21 @@
false, 5);
frame->concatSound(10, Intro_ThePlanetArrakis);
frame->concatSound(10, Intro_KnownAsDune);
- frame->addText(5, DataCache::Instance()->getIntroString(3));
+ frame->addText(10, DataCache::Instance()->getIntroString(3));
enque(frame);
frame = new Frame("INTRO:INTRO3.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
false, 25);
- frame->addSound(0, Intro_LandOfSand);
+ frame->concatSound(0, Intro_LandOfSand);
frame->addText(0, DataCache::Instance()->getIntroString(4));
frame->concatSound(33, Intro_Home);
frame->concatSound(33, Intro_OfTheSpice);
frame->concatSound(33, Intro_Melange);
frame->addText(33, DataCache::Instance()->getIntroString(5));
enque(frame);
-*/
+
frame = new Frame("INTRO:INTRO9.WSA",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
@@ -510,10 +519,11 @@
frame = new Frame("",
Frame::NO_TRANSITION,
Frame::FADE_OUT,
- false, 28);
+ false, 38);
frame->addText(0,DataCache::Instance()->getIntroString(13));
frame->setTextLocation(SPoint(-25,0));
- frame->setTextSize(2.0);
+ frame->setTextSize(2.0);
+ frame->setTextFade(false);
frame->concatSound(0, Intro_AndNow);
frame->concatSound(0, Intro_3Houses);
frame->concatSound(0, Intro_ForControl);
@@ -601,6 +611,7 @@
frame->addText(0, DataCache::Instance()->getIntroString(18));
frame->setTextLocation(SPoint(-20,0));
frame->setTextSize(2.0);
+ frame->setTextFade(false);
frame->concatSound(0, Intro_Your);
frame->concatSound(0, Intro_BattleForDune);
frame->concatSound(0, Intro_Begins);
@@ -614,6 +625,7 @@
frame->addText(0, DataCache::Instance()->getIntroString(19));
frame->setTextLocation(SPoint(-20,0));
frame->setTextSize(2.0);
+ frame->setTextFade(false);
frame->addSound(0, Intro_Now);
enque(frame);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dv...@us...> - 2008-05-04 04:31:12
|
Revision: 266
http://dunelegacy.svn.sourceforge.net/dunelegacy/?rev=266&view=rev
Author: dvalin
Date: 2008-05-03 21:31:10 -0700 (Sat, 03 May 2008)
Log Message:
-----------
fix multiple transitions per scene
Modified Paths:
--------------
branches/dunks/src/IntroState.cpp
Modified: branches/dunks/src/IntroState.cpp
===================================================================
--- branches/dunks/src/IntroState.cpp 2008-05-04 04:20:19 UTC (rev 265)
+++ branches/dunks/src/IntroState.cpp 2008-05-04 04:31:10 UTC (rev 266)
@@ -352,7 +352,8 @@
return;
}
- if (m_transitionPalette == NULL) setupTransitionOut(img);
+ //if (m_transitionPalette == NULL) // We want new one created to handle several transitions per cutscene
+ setupTransitionOut(img);
SDL_Surface* screen = img->getSurface();
SDL_Color* col = m_transitionPalette;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|