return (gamestate == GS_LEVEL) && !demoplayback && !advancedemo;
}
+void doomgeneric_Tick()
+{
+ // frame syncronous IO operations
+ I_StartFrame ();
+
+ TryRunTics (); // will run at least one tic
+
+ S_UpdateSounds (players[consoleplayer].mo);// move positional sounds
+
+ // Update display, next frame, with current state.
+ if (screenvisible)
+ {
+ D_Display ();
+ }
+}
+
//
// D_DoomLoop
//
wipegamestate = gamestate;
}
- while (1)
- {
- // frame syncronous IO operations
- I_StartFrame ();
-
- TryRunTics (); // will run at least one tic
-
- S_UpdateSounds (players[consoleplayer].mo);// move positional sounds
-
- // Update display, next frame, with current state.
- if (screenvisible)
- {
- D_Display ();
- }
- }
+ doomgeneric_Tick();
}
{
singledemo = true; // quit after one demo
G_DeferedPlayDemo (demolumpname);
- D_DoomLoop (); // never returns
+ D_DoomLoop ();
+ return;
}
p = M_CheckParmWithArgs("-timedemo", 1);
if (p)
{
G_TimeDemo (demolumpname);
- D_DoomLoop (); // never returns
+ D_DoomLoop ();
+ return;
}
if (startloadgame >= 0)
D_StartTitle (); // start up intro loop
}
- D_DoomLoop (); // never returns
+ D_DoomLoop ();
}
--- /dev/null
+#include <stdio.h>
+
+
+#include "doomgeneric.h"
+
+
+int main(int argc, char **argv)
+{
+ doomgeneric_Create(argc, argv);
+
+ for (int i = 0; ; i++)
+ {
+ doomgeneric_Tick();
+ }
+
+
+ return 0;
+}
\ No newline at end of file
+#include <stdio.h>
+
+#include "m_argv.h"
+
#include "doomgeneric.h"
uint32_t* DG_ScreenBuffer = 0;
+void M_FindResponseFile(void);
+void D_DoomMain (void);
+
-void dg_Create()
+void doomgeneric_Create(int argc, char **argv)
{
+ // save arguments
+ myargc = argc;
+ myargv = argv;
+
+ M_FindResponseFile();
+
DG_ScreenBuffer = malloc(DOOMGENERIC_RESX * DOOMGENERIC_RESY * 4);
DG_Init();
+
+ D_DoomMain ();
}
extern uint32_t* DG_ScreenBuffer;
+void doomgeneric_Create(int argc, char **argv);
+void doomgeneric_Tick();
+
+//Implement below functions for your platform
void DG_Init();
void DG_DrawFrame();
void DG_SleepMs(uint32_t ms);
void M_FindResponseFile(void);
-void dg_Create();
-
-
+/*
int main(int argc, char **argv)
{
// save arguments
// start doom
printf("Starting D_DoomMain\r\n");
-
- dg_Create();
D_DoomMain ();
return 0;
}
+*/
\ No newline at end of file