every platform provides sys_random_seed() and SYS_RANDOM_SEED goes away
This commit is contained in:
@@ -35,8 +35,6 @@
|
||||
/*#define CHANGE_COLOR*/ /* allow palette changes */
|
||||
#define SELECTSAVED /* Provide menu of saved games to choose from at start */
|
||||
|
||||
#define SYS_RANDOM_SEED /* Use random seed derived from CNG */
|
||||
|
||||
/*
|
||||
* -----------------------------------------------------------------
|
||||
* The remaining code shouldn't need modification.
|
||||
|
||||
@@ -423,7 +423,6 @@
|
||||
# define DEV_RANDOM "/dev/random"
|
||||
# endif
|
||||
#endif
|
||||
#define SYS_RANDOM_SEED
|
||||
|
||||
#endif /* UNIXCONF_H */
|
||||
#endif /* UNIX */
|
||||
|
||||
@@ -257,7 +257,6 @@ typedef __mode_t mode_t;
|
||||
# define Rand() rand()
|
||||
# endif
|
||||
#endif
|
||||
#define SYS_RANDOM_SEED
|
||||
|
||||
#ifndef __GNUC__
|
||||
#ifndef bcopy
|
||||
|
||||
@@ -850,24 +850,6 @@ extern struct tm *FDECL(localtime, (time_t *));
|
||||
#endif
|
||||
STATIC_DCL struct tm *NDECL(getlt);
|
||||
|
||||
#ifdef SYS_RANDOM_SEED
|
||||
extern unsigned long NDECL(sys_random_seed);
|
||||
#endif
|
||||
|
||||
/* Returns a number suitable as seed for the random number generator. */
|
||||
static unsigned long
|
||||
get_random_seed()
|
||||
{
|
||||
unsigned long seed = 0;
|
||||
#ifdef SYS_RANDOM_SEED
|
||||
/* Platform-specific seed if one is provided */
|
||||
seed = sys_random_seed();
|
||||
#else
|
||||
seed = (unsigned long) getnow(); /* time((TIME_type) 0) */
|
||||
#endif
|
||||
return seed;
|
||||
}
|
||||
|
||||
/* Sets the seed for the random number generator */
|
||||
static void
|
||||
set_random(unsigned long seed)
|
||||
@@ -898,6 +880,11 @@ set_random(unsigned long seed)
|
||||
#endif
|
||||
}
|
||||
|
||||
/* An appropriate version of this must always be provided in
|
||||
port-specific code somewhere. It returns a number suitable
|
||||
as seed for the random number generator */
|
||||
extern unsigned long NDECL(sys_random_seed);
|
||||
|
||||
/*
|
||||
* Initializes the random number generator.
|
||||
* Only call once.
|
||||
@@ -905,19 +892,15 @@ set_random(unsigned long seed)
|
||||
void
|
||||
init_random()
|
||||
{
|
||||
unsigned long seed = get_random_seed();
|
||||
set_random(seed);
|
||||
set_random(sys_random_seed());
|
||||
}
|
||||
|
||||
/* Reshuffles the random number generator. */
|
||||
void
|
||||
reseed_random()
|
||||
{
|
||||
/* only reseed if we are certain that the seed generation is unguessable
|
||||
* by the players. */
|
||||
#if defined(SYS_RANDOM_SEED)
|
||||
/* reseed */
|
||||
init_random();
|
||||
#endif
|
||||
}
|
||||
|
||||
time_t
|
||||
|
||||
@@ -519,4 +519,15 @@ unsigned setvalue;
|
||||
return (regs.x.dx);
|
||||
}
|
||||
|
||||
unsigned long
|
||||
sys_random_seed(VOID_ARGS)
|
||||
{
|
||||
unsigned long ourseed = 0UL;
|
||||
time_t datetime = 0;
|
||||
|
||||
(void) time(&datetime);
|
||||
ourseed = (unsigned long) datetime;
|
||||
return ourseed;
|
||||
}
|
||||
|
||||
#endif /* MSDOS */
|
||||
|
||||
@@ -765,7 +765,6 @@ error:
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef SYS_RANDOM_SEED
|
||||
unsigned long
|
||||
sys_random_seed()
|
||||
{
|
||||
@@ -790,6 +789,5 @@ sys_random_seed()
|
||||
#endif
|
||||
return seed;
|
||||
}
|
||||
#endif /* SYS_RANDOM_SEED */
|
||||
|
||||
/*unixmain.c*/
|
||||
|
||||
@@ -465,7 +465,6 @@ wd_message()
|
||||
You("are in non-scoring explore/discovery mode.");
|
||||
}
|
||||
|
||||
#ifdef SYS_RANDOM_SEED
|
||||
unsigned long
|
||||
sys_random_seed()
|
||||
{
|
||||
@@ -481,6 +480,5 @@ sys_random_seed()
|
||||
}
|
||||
return seed;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*vmsmain.c*/
|
||||
|
||||
@@ -73,8 +73,8 @@ DEBUGINFO = Y
|
||||
# PDCurses header (.h) files and PDCURSES_C to the location
|
||||
# of your PDCurses C files.
|
||||
#
|
||||
ADD_CURSES=Y
|
||||
PDCURSES_TOP=..\..\pdcurses
|
||||
#ADD_CURSES=Y
|
||||
#PDCURSES_TOP=..\..\pdcurses
|
||||
#
|
||||
#==============================================================================
|
||||
# This marks the end of the BUILD DECISIONS section.
|
||||
|
||||
@@ -681,7 +681,8 @@ char *name;
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef SYS_RANDOM_SEED
|
||||
#include <bcrypt.h> /* Windows Crypto Next Gen (CNG) */
|
||||
|
||||
#ifndef STATUS_SUCCESS
|
||||
#define STATUS_SUCCESS 0
|
||||
#endif
|
||||
@@ -692,8 +693,6 @@ char *name;
|
||||
#define STATUS_UNSUCCESSFUL 0xC0000001
|
||||
#endif
|
||||
|
||||
#include <bcrypt.h> /* Windows Crypto Next Gen (CNG) */
|
||||
|
||||
unsigned long
|
||||
sys_random_seed(VOID_ARGS)
|
||||
{
|
||||
@@ -727,7 +726,6 @@ sys_random_seed(VOID_ARGS)
|
||||
}
|
||||
return ourseed;
|
||||
}
|
||||
#endif /* SYS_RANDOM_SEED */
|
||||
|
||||
#endif /* WIN32 */
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<PreprocessorDefinitions>TILES;WIN32CON;DLB;MSWIN_GRAPHICS;SAFEPROCS;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;winmm.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;winmm.lib;Winmm.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
@@ -76,6 +76,7 @@
|
||||
<ClCompile Include="$(SrcDir)hack.c" />
|
||||
<ClCompile Include="$(SrcDir)hacklib.c" />
|
||||
<ClCompile Include="$(SrcDir)invent.c" />
|
||||
<ClCompile Include="$(SrcDir)isaac64.c" />
|
||||
<ClCompile Include="$(SrcDir)light.c" />
|
||||
<ClCompile Include="$(SrcDir)lock.c" />
|
||||
<ClCompile Include="$(SrcDir)mail.c" />
|
||||
@@ -151,7 +152,6 @@
|
||||
<ClCompile Include="$(SrcDir)zap.c" />
|
||||
<ClCompile Include="$(SysShareDir)cppregex.cpp" />
|
||||
<ClCompile Include="$(SysShareDir)nhlan.c" />
|
||||
<ClCompile Include="$(SysShareDir)random.c" />
|
||||
<ClCompile Include="$(SysWinntDir)ntsound.c" />
|
||||
<ClCompile Include="$(SysWinntDir)nttty.c" />
|
||||
<ClCompile Include="$(SysWinntDir)stubs.c">
|
||||
@@ -194,6 +194,7 @@
|
||||
<ClInclude Include="$(IncDir)func_tab.h" />
|
||||
<ClInclude Include="$(IncDir)global.h" />
|
||||
<ClInclude Include="$(IncDir)hack.h" />
|
||||
<ClInclude Include="$(IncDir)isaac64.h" />
|
||||
<ClInclude Include="$(IncDir)lev.h" />
|
||||
<ClInclude Include="$(IncDir)mextra.h" />
|
||||
<ClInclude Include="$(IncDir)mfndpos.h" />
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<AdditionalDependencies>comctl32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalDependencies>comctl32.lib;winmm.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<Manifest>
|
||||
<AdditionalManifestFiles>$(WinWin32Dir)NethackW.exe.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
|
||||
@@ -70,6 +70,7 @@
|
||||
<ClCompile Include="$(SrcDir)hack.c" />
|
||||
<ClCompile Include="$(SrcDir)hacklib.c" />
|
||||
<ClCompile Include="$(SrcDir)invent.c" />
|
||||
<ClCompile Include="$(SrcDir)isaac64.c" />
|
||||
<ClCompile Include="$(SrcDir)light.c" />
|
||||
<ClCompile Include="$(SrcDir)lock.c" />
|
||||
<ClCompile Include="$(SrcDir)mail.c" />
|
||||
@@ -146,7 +147,6 @@
|
||||
<ClCompile Include="$(SrcDir)zap.c" />
|
||||
<ClCompile Include="$(SysShareDir)cppregex.cpp" />
|
||||
<ClCompile Include="$(SysShareDir)nhlan.c" />
|
||||
<ClCompile Include="$(SysShareDir)random.c" />
|
||||
<ClCompile Include="$(SysWinntDir)ntsound.c" />
|
||||
<ClCompile Include="$(SysWinntDir)stubs.c">
|
||||
<PreprocessorDefinitions>TTYSTUB;</PreprocessorDefinitions>
|
||||
|
||||
Reference in New Issue
Block a user