From: Toni Wilen Date: Sat, 18 Nov 2023 13:28:18 +0000 (+0200) Subject: Randomize seed if hard reset X-Git-Tag: 5.1.0~52 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=dd69a5ca3b55ce6bf49b7569f1df3b62618d6760;p=francis%2Fwinuae.git Randomize seed if hard reset --- diff --git a/include/uae.h b/include/uae.h index 2fd0982f..e87dd55e 100644 --- a/include/uae.h +++ b/include/uae.h @@ -94,6 +94,7 @@ extern void fetch_videopath(TCHAR *out, int size); 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 */ diff --git a/main.cpp b/main.cpp index 90e98092..92a8e4e9 100644 --- a/main.cpp +++ b/main.cpp @@ -105,6 +105,16 @@ uae_u32 uaerandgetseed(void) 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) { @@ -1208,12 +1218,7 @@ static int real_main2 (int argc, TCHAR **argv) #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 */ diff --git a/newcpu.cpp b/newcpu.cpp index 80d51b38..75b9a0bb 100644 --- a/newcpu.cpp +++ b/newcpu.cpp @@ -6633,6 +6633,7 @@ void m68k_go (int may_quit) unset_special(SPCFLAG_MODE_CHANGE); if (!restored && hardboot) { + uaerandomizeseed(); uae_u32 s = uaerandgetseed(); uaesetrandseed(s); write_log("rndseed = %08x (%u)\n", s, s);