Definition at line 15 of file DemoMode.h.
Public Member Functions | |
DemoMode (const Path &demoscript) | |
virtual | ~DemoMode () |
virtual const char * | getName () const |
bool | action_display (Picture *picture) |
Store picture to draw it. | |
virtual void | drawOn (SDL_Surface *screen) |
Protected Member Functions | |
virtual void | own_initState () |
Run demo. | |
virtual void | own_updateState () |
Execute next demo command. | |
virtual void | own_pauseState () |
virtual void | own_resumeState () |
virtual void | own_cleanState () |
|
Definition at line 24 of file DemoMode.cpp. 00025 : m_demoscript(demoscript) 00026 { 00027 m_oldLimitY = 0; 00028 m_display = NULL; 00029 m_surfaceBuffer = NULL; 00030 m_script->registerFunc("demo_display", script_demo_display); 00031 takeHandler(new DemoInput(this)); 00032 registerDrawable(this); 00033 registerDrawable(SubTitleAgent::agent()); 00034 }
|
|
Definition at line 36 of file DemoMode.cpp. 00037 { 00038 own_cleanState(); 00039 }
|
|
Store picture to draw it. NOTE: limitY for long subtitles are prepared when display is set before planning start Definition at line 86 of file DemoMode.cpp. 00087 { 00088 if (m_display) { 00089 delete m_display; 00090 } 00091 m_display = picture; 00092 00093 if (NULL == m_surfaceBuffer) { 00094 OptionAgent *options = OptionAgent::agent(); 00095 options->setParam("screen_width", m_display->getW()); 00096 options->setParam("screen_height", m_display->getH()); 00097 VideoAgent::agent()->initVideoMode(); 00098 00099 SubTitleAgent::agent()->setLimitY(2 * m_display->getH()); 00100 } 00101 return true; 00102 }
|
|
Implements Drawable. Definition at line 105 of file DemoMode.cpp. 00106 { 00107 if (NULL == m_surfaceBuffer) { 00108 m_surfaceBuffer = SurfaceTool::createEmpty(screen); 00109 } 00110 00111 if (m_display) { 00112 m_display->drawOn(m_surfaceBuffer); 00113 } 00114 SDL_BlitSurface(m_surfaceBuffer, NULL, screen, NULL); 00115 }
|
|
Implements INamed. Definition at line 30 of file DemoMode.h. 00030 { return "state_demo"; };
|
|
Implements GameState. Definition at line 63 of file DemoMode.cpp. 00064 { 00065 //NOTE: loaded dialogs are released by ~Planner() 00066 if (m_surfaceBuffer) { 00067 SDL_FreeSurface(m_surfaceBuffer); 00068 m_surfaceBuffer = NULL; 00069 } 00070 if (m_display) { 00071 delete m_display; 00072 m_display = NULL; 00073 } 00074 00075 SubTitleAgent::agent()->setLimitY(m_oldLimitY); 00076 killPlan(); 00077 }
|
|
Run demo.
Implements GameState. Definition at line 45 of file DemoMode.cpp. 00046 { 00047 m_oldLimitY = SubTitleAgent::agent()->getLimitY(); 00048 m_script->doFile(m_demoscript); 00049 }
|
|
Implements GameState. Definition at line 24 of file DemoMode.h. 00024 {}
|
|
Implements GameState. Definition at line 25 of file DemoMode.h. 00025 {}
|
|
Execute next demo command.
Implements GameState. Definition at line 55 of file DemoMode.cpp. 00056 { 00057 if (satisfyPlan()) { 00058 quitState(); 00059 } 00060 }
|