You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
4.2 KiB
Plaintext

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

{\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
}