]> 4ch.mooo.com Git - 16.git/blob - src/lib/hb/democ3.c
43f581c743a408fc35d74665849a5a63d4c74324
[16.git] / src / lib / hb / democ3.c
1 /*\r
2 =====================\r
3 =\r
4 = DemoLoop\r
5 =\r
6 =====================\r
7 */\r
8 \r
9 static  char *ParmStrings[] = {"easy","normal","hard",""};\r
10 \r
11 void    DemoLoop (void)\r
12 {\r
13         int     i,level;\r
14 \r
15 //\r
16 // check for launch from ted\r
17 //\r
18         if (tedlevel)\r
19         {\r
20                 NewGame();\r
21                 gamestate.mapon = tedlevelnum;\r
22                 restartgame = gd_Normal;\r
23                 for (i = 1;i < _argc;i++)\r
24                 {\r
25                         if ( (level = US_CheckParm(_argv[i],ParmStrings)) == -1)\r
26                                 continue;\r
27 \r
28                         restartgame = gd_Easy+level;\r
29                         break;\r
30                 }\r
31                 GameLoop();\r
32                 TEDDeath();\r
33         }\r
34 \r
35 \r
36 //\r
37 // main game cycle\r
38 //\r
39         displayofs = bufferofs = 0;\r
40         VW_Bar (0,0,320,200,0);\r
41 \r
42         while (1)\r
43         {\r
44                 CA_CacheGrChunk (TITLEPIC);\r
45                 bufferofs = SCREEN2START;\r
46                 displayofs = SCREEN1START;\r
47                 VWB_DrawPic (0,0,TITLEPIC);\r
48                 MM_SetPurge (&grsegs[TITLEPIC],3);\r
49                 UNMARKGRCHUNK(TITLEPIC);\r
50                 FizzleFade (bufferofs,displayofs,320,200,true);\r
51 \r
52                 if (!IN_UserInput(TickBase*3,false))\r
53                 {\r
54                         CA_CacheGrChunk (CREDITSPIC);\r
55                         VWB_DrawPic (0,0,CREDITSPIC);\r
56                         MM_SetPurge (&grsegs[CREDITSPIC],3);\r
57                         UNMARKGRCHUNK(CREDITSPIC);\r
58                         FizzleFade (bufferofs,displayofs,320,200,true);\r
59 \r
60                 }\r
61 \r
62                 if (!IN_UserInput(TickBase*3,false))\r
63                 {\r
64 highscores:\r
65                         DrawHighScores ();\r
66                         FizzleFade (bufferofs,displayofs,320,200,true);\r
67                         IN_UserInput(TickBase*3,false);\r
68                 }\r
69 \r
70                 if (IN_IsUserInput())\r
71                 {\r
72                         US_ControlPanel ();\r
73 \r
74                         if (restartgame || loadedgame)\r
75                         {\r
76                                 GameLoop ();\r
77                                 goto highscores;\r
78                         }\r
79                 }\r
80 \r
81         }\r
82 }\r