+++ /dev/null
-/*\r
-=====================\r
-=\r
-= DemoLoop\r
-=\r
-=====================\r
-*/\r
-\r
-static char *ParmStrings[] = {"baby","easy","normal","hard",""};\r
-\r
-void DemoLoop (void)\r
-{\r
- static int LastDemo;\r
- int i,level;\r
- long nsize;\r
- memptr nullblock;\r
-\r
-//\r
-// check for launch from ted\r
-//\r
- if (tedlevel)\r
- {\r
- NoWait = true;\r
- NewGame(1,0);\r
-\r
- for (i = 1;i < _argc;i++)\r
- {\r
- if ( (level = US_CheckParm(_argv[i],ParmStrings)) != -1)\r
- {\r
- gamestate.difficulty=level;\r
- break;\r
- }\r
- }\r
-\r
-#ifndef SPEAR\r
- gamestate.episode = tedlevelnum/10;\r
- gamestate.mapon = tedlevelnum%10;\r
-#else\r
- gamestate.episode = 0;\r
- gamestate.mapon = tedlevelnum;\r
-#endif\r
- GameLoop();\r
- Quit (NULL);\r
- }\r
-\r
-\r
-//\r
-// main game cycle\r
-//\r
-\r
-\r
-// nsize = (long)40*1024;\r
-// MM_GetPtr(&nullblock,nsize);\r
-\r
-#ifndef DEMOTEST\r
-\r
- #ifndef UPLOAD\r
-\r
- #ifndef GOODTIMES\r
- #ifndef SPEAR\r
- #ifndef JAPAN\r
- if (!NoWait)\r
- NonShareware();\r
- #endif\r
- #else\r
-\r
- #ifndef GOODTIMES\r
- #ifndef SPEARDEMO\r
- CopyProtection();\r
- #endif\r
- #endif\r
-\r
- #endif\r
- #endif\r
- #endif\r
-\r
- StartCPMusic(INTROSONG);\r
-\r
-#ifndef JAPAN\r
- if (!NoWait)\r
- PG13 ();\r
-#endif\r
-\r
-#endif\r
-\r
- while (1)\r
- {\r
- while (!NoWait)\r
- {\r
-//\r
-// title page\r
-//\r
- MM_SortMem ();\r
-#ifndef DEMOTEST\r
-\r
-#ifdef SPEAR\r
- CA_CacheGrChunk (TITLEPALETTE);\r
-\r
- CA_CacheGrChunk (TITLE1PIC);\r
- VWB_DrawPic (0,0,TITLE1PIC);\r
- UNCACHEGRCHUNK (TITLE1PIC);\r
-\r
- CA_CacheGrChunk (TITLE2PIC);\r
- VWB_DrawPic (0,80,TITLE2PIC);\r
- UNCACHEGRCHUNK (TITLE2PIC);\r
- VW_UpdateScreen ();\r
- VL_FadeIn(0,255,grsegs[TITLEPALETTE],30);\r
-\r
- UNCACHEGRCHUNK (TITLEPALETTE);\r
-#else\r
- CA_CacheScreen (TITLEPIC);\r
- VW_UpdateScreen ();\r
- VW_FadeIn();\r
-#endif\r
- if (IN_UserInput(TickBase*15))\r
- break;\r
- VW_FadeOut();\r
-//\r
-// credits page\r
-//\r
- CA_CacheScreen (CREDITSPIC);\r
- VW_UpdateScreen();\r
- VW_FadeIn ();\r
- if (IN_UserInput(TickBase*10))\r
- break;\r
- VW_FadeOut ();\r
-//\r
-// high scores\r
-//\r
- DrawHighScores ();\r
- VW_UpdateScreen ();\r
- VW_FadeIn ();\r
-\r
- if (IN_UserInput(TickBase*10))\r
- break;\r
-#endif\r
-//\r
-// demo\r
-//\r
-\r
- #ifndef SPEARDEMO\r
- PlayDemo (LastDemo++%4);\r
- #else\r
- PlayDemo (0);\r
- #endif\r
-\r
- if (playstate == ex_abort)\r
- break;\r
- StartCPMusic(INTROSONG);\r
- }\r
-\r
- VW_FadeOut ();\r
-\r
-#ifndef SPEAR\r
- if (Keyboard[sc_Tab] && MS_CheckParm("goobers"))\r
-#else\r
- if (Keyboard[sc_Tab] && MS_CheckParm("debugmode"))\r
-#endif\r
- RecordDemo ();\r
- else\r
- US_ControlPanel (0);\r
-\r
- if (startgame || loadedgame)\r
- {\r
- GameLoop ();\r
- VW_FadeOut();\r
- StartCPMusic(INTROSONG);\r
- }\r
- }\r
-}\r