Declare rs
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
#include "tetris.h"
|
||||
|
||||
/*
|
||||
In order to port a game into gamesCC, the RNG needs to be seeded with the gametxid seed, also events needs to be broadcast using issue_games_events
|
||||
In order to port a game into gamesCC, the RNG needs to be seeded with the gametxid seed, also events needs to be broadcast using issue_games_events. Also the game engine needs to be daemonized, preferably by putting all globals into a single data structure.
|
||||
*/
|
||||
|
||||
int rand();
|
||||
@@ -654,14 +654,40 @@ char *clonestr(char *str)
|
||||
return(clone);
|
||||
}
|
||||
|
||||
struct games_state globalR;
|
||||
|
||||
int tetris(int argc, char **argv)
|
||||
{
|
||||
tetris_game *tg;
|
||||
tetris_move move = TM_NONE;
|
||||
bool running = true;
|
||||
WINDOW *board, *next, *hold, *score;
|
||||
struct games_state *rs = &globalR;
|
||||
int32_t c,skipcount=0; bits256 gametxid; uint32_t eventid = 0;
|
||||
memset(&gametxid,0,sizeof(gametxid));
|
||||
memset(rs,0,sizeof(*rs));
|
||||
rs->guiflag = 1;
|
||||
rs->sleeptime = 1; // non-zero to allow refresh()
|
||||
if ( argc == 3 && strlen(argv[2]) == 64 )
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#ifdef _MSC_VER
|
||||
rs->seed = _strtoui64(argv[1], NULL, 10);
|
||||
#else
|
||||
rs->seed = atol(argv[1]); // windows, but not MSVC
|
||||
#endif // _MSC_VER
|
||||
#else
|
||||
rs->seed = atol(argv[1]); // non-windows
|
||||
#endif // _WIN32
|
||||
strcpy(Gametxidstr,argv[2]);
|
||||
fprintf(stderr,"setplayerdata\n");
|
||||
if ( games_setplayerdata(rs,Gametxidstr) < 0 )
|
||||
{
|
||||
fprintf(stderr,"invalid gametxid, or already started\n");
|
||||
return(-1);
|
||||
}
|
||||
} else rs->seed = 777;
|
||||
|
||||
// Load file if given a filename.
|
||||
if (argc >= 2) {
|
||||
FILE *f = fopen(argv[1], "r");
|
||||
|
||||
Reference in New Issue
Block a user