extern uae_u32 uaerand(void);
extern uae_u32 uaesetrandseed(uae_u32 seed);
extern uae_u32 uaerandgetseed(void);
+extern void uaerandomizeseed(void);
/* the following prototypes should probably be moved somewhere else */
return randseed;
}
+void uaerandomizeseed(void)
+{
+ if (currprefs.seed == 0) {
+ uae_u32 t = getlocaltime();
+ uaesetrandseed(t);
+ } else {
+ uaesetrandseed(currprefs.seed);
+ }
+}
+
uae_u32 uaesetrandseed(uae_u32 seed)
{
if (!seed) {
#ifdef RETROPLATFORM
rp_fixup_options (&currprefs);
#endif
- if (currprefs.seed == 0) {
- uae_u32 t = getlocaltime();
- uaesetrandseed(t);
- } else {
- uaesetrandseed(currprefs.seed);
- }
+ uaerandomizeseed();
copy_prefs(&currprefs, &changed_prefs);
target_run ();
/* force sound settings change */
unset_special(SPCFLAG_MODE_CHANGE);
if (!restored && hardboot) {
+ uaerandomizeseed();
uae_u32 s = uaerandgetseed();
uaesetrandseed(s);
write_log("rndseed = %08x (%u)\n", s, s);