{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fmodern\fcharset0 Courier;}} {\colortbl ;\red0\green0\blue255;\red0\green0\blue119;\red0\green0\blue0;\red128\green128\blue128;\red0\green153\blue0;\red136\green0\blue0;\red160\green0\blue160;} {\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\cf1\lang1033\f0\fs20 #include \cf2 "myCRoot.h"\tab\tab\tab // Include Root.h\cf3\par \cf1 #include \cf2 "State_Startup.h"\tab\tab // Include States.h\cf3\par \cf1 #include \cf2 "State_Choose.h"\cf3\par \cf1 #include \cf2 "State_levelinit.h"\cf3\par \cf1 #include \cf2 "State_Exit.h"\cf3\par \par // GLOBALE OBJEKTE INSTANZIEREN\par \par \cf1 CGamevars\cf3\tab\tab\cf1 CRoot_SF42\cf3 ::\cf4 m_gamevars\cf3 ;\tab\tab\cf5 // Konfigvariablen\cf3\par \cf1 CMusikPlayer\cf3\tab\cf1 CRoot_SF42\cf3 ::\cf4 m_musikplayer\cf3 ;\tab\cf5 // Streamed MP3,ADPCM,PCM, + MIDI\cf3\par \cf1 CWavePlayer\cf3\tab\tab\cf1 CRoot_SF42\cf3 ::\cf4 m_waveplayer\cf3 ;\tab\cf5 // non streamed soundfx\cf3\par \cf1 CBackground\cf3\tab\tab\cf1 CRoot_SF42\cf3 ::\cf4 m_background\cf3 ;\tab\cf5 // globaler Hintergrund\cf3\par \cf1 CFps\cf3\tab\tab\tab\cf1 CRoot_SF42\cf3 ::\cf4 m_fps\cf3 ;\tab\tab\cf5 // fps actor\cf3\par \cf1 CMousePointer\cf3\tab\cf1 CRoot_SF42\cf3 ::\cf4 m_mouse\cf3 ;\tab\tab\cf5 // MouseObject\cf3\par \cf1 CEventMgr\cf3\tab\tab\cf1 CRoot_SF42\cf3 ::\cf4 m_eventmgr\cf3 ;\tab\tab\cf5 // EventMgr\cf3\par \cf1 CVarMgr\cf3\tab\tab\cf1 CRoot_SF42\cf3 ::\cf4 m_varmgr\cf3 ;\tab\tab\cf5 // VarMgr\cf3\par \par \par \cf1 CRoot_SF42\cf3 ::\cf1 CRoot_SF42\cf3 ()\par \{\par \tab\cf4 m_gamevars\cf3 .\cf6 LoadVars\cf3 (\cf2 "myGames.cfg"\cf3 );\tab\tab // Im Konstruktor config File laden\par \}\par \par int \cf1 CRoot_SF42\cf3 ::\cf6 InitPlayfield\cf3 ()\par \{\par \tab\cf5 /*\par \tab * Display \'f6ffnen\par \tab */\cf3\par \tab if(\cf7 llgfx_SetMode\cf3 (\cf4 320\cf3 ,\cf4 240\cf3 ,\cf4 16\cf3 ,0,0)) \par \tab\{\par \tab\tab return \cf7 FAIL\cf3 ;\tab\cf5 // Fehler beim Bildschirm \'f6ffnen\cf3\par \tab\}\par \tab\par \tab\cf4 m_global_object_queue\cf3 .\cf6 Put\cf3 ( &\cf4 m_background\cf3 );\par \tab\cf4 m_global_object_queue\cf3 .\cf6 Put\cf3 ( &\cf4 m_fps\cf3 );\par \tab\cf4 m_global_object_queue\cf3 .\cf6 Put\cf3 ( &\cf4 m_mouse\cf3 );\par \tab\cf4 m_global_object_queue\cf3 .\cf6 Put\cf3 ( &\cf4 m_eventmgr\cf3 );\par \tab\cf4 m_global_object_queue\cf3 .\cf6 Put\cf3 ( &\cf4 m_varmgr\cf3 );\par \tab\cf4 m_global_object_queue\cf3 .\cf6 Put\cf3 ( &\cf4 m_waveplayer\cf3 );\par \par \tab\cf6 SetNewState\cf3 ( \cf2 "startup"\cf3 );\par \par \tab return \cf7 OK\cf3 ;\par \}\par \par \par \cf1 CRoot_SF42\cf3 ::~\cf1 CRoot_SF42\cf3 ()\par \{\par \tab\cf6 llfile_SetCurDir\cf3 ( \cf6 "/"\cf3 );\tab\tab // Games Root dir\par \tab\cf4 m_gamevars\cf3 .\cf6 SaveVars\cf3 (\cf2 "sf42.cfg"\cf3 );\tab // Save config\par \}\par \par \par \cf1 CRoot\cf3 * \cf1 CRoot_SF42\cf3 ::\cf6 CreateStateByName\cf3 ( \cf7 const\cf3 char * \cf4 name\cf3 )\par \{\par \tab if( \cf6 strcmp\cf3 (\cf4 name\cf3 ,\cf2 "startup"\cf3 ) == 0 ) \par \tab\tab return \cf7 new\cf3 \cf1 CState_Startup\cf3 ();\par \tab if( \cf6 strcmp\cf3 (\cf4 name\cf3 ,\cf2 "choose"\cf3 ) == 0 )\par \tab\tab return \cf7 new\cf3 \cf1 CState_Choose\cf3 ();\par \tab if( \cf6 strcmp\cf3 (\cf4 name\cf3 ,\cf2 "levelinit"\cf3 ) == 0 )\par \tab\tab return \cf7 new\cf3 \cf1 CState_levelinit\cf3 ();\par \tab if( \cf6 strcmp\cf3 (\cf4 name\cf3 ,\cf2 "exit"\cf3 ) == 0 )\par \tab\tab return \cf7 new\cf3 \cf1 CState_Exit\cf3 ();\par \tab\cf5 //default\cf3\par \par \tab\cf7 MsgBox\cf3 (\cf2 "CRoot_SF42::CreateStateByName()\\nError: unknown state %s"\cf3 , \cf4 name\cf3 );\par \tab return 0;\par \}\par \par void \cf1 CRoot_SF42\cf3 ::\cf6 InitState\cf3 (\cf7 const\cf3 char * \cf4 name\cf3 )\par \{\par \tab\cf6 llfile_SetCurDir\cf3 ( \cf2 "/data/"\cf3 );\par \tab\cf6 llfile_SetCurDir\cf3 ( \cf4 name\cf3 );\par \tab\par \tab\cf6 Execute\cf3 (\cf2 "state.cfg"\cf3 ,0);\par \}\par \par \par \cf1 CActor\cf3 * \cf1 CRoot_SF42\cf3 ::\cf6 FindActor\cf3 (\cf7 const\cf3 char * \cf4 name\cf3 )\par \{\par \tab return \cf4 m_Layerfactory\cf3 .\cf6 FindLayer\cf3 (\cf4 name\cf3 );\par \}\par \par \par \par }