ejona86 / taus

Tetris - Actually Useful Statistics and other mods
MIT License
89 stars 3 forks source link

Feature request: Manual random seed #14

Closed ilfirin-ms closed 3 years ago

ilfirin-ms commented 4 years ago

Is it possible to somehow add possibility to add manual random seed - to have repeatable games? Or have special hack for some predefined seeds as extra file.

ejona86 commented 4 years ago

Sorry, just saw this issue. Is this for the twoplayer mod? Or to create a new mod?

Mods that let you specify a manual random seed already exist, so I'll assume you want one compatible with twoplayer. I can point you to one of the manual random seed mods if that's what you're seeing.

It would be relatively easy in principal to have such a thing for twoplayer. It would be minor modification to existing "manual random seed" mods. Most of the effort is around the in-game UI to select the seed.

ilfirin-ms commented 3 years ago

It was meant for single player TAUS, which happened to be incompatible with existing random seed mods.

ejona86 commented 3 years ago

@ilfirin-ms, did you close because it is working now?

ilfirin-ms commented 3 years ago

No, I closed it, because I thought it won't be resolved and it was just feature request, so there was no need for "fix". Did I it wrong?

ejona86 commented 3 years ago

I'll look into this. I didn't earlier because it wasn't clear what you were hoping for. I expect I'll just make it compatible with one of the existing manual random seed mods.

ejona86 commented 3 years ago

It seems TAUS is compatible with HydrantDude's Fixed RNG mod v1. It can be found at https://drive.google.com/drive/folders/1ACY0O2T0N4YEltUYZKkkMfQdzoL-iaPc .

v2 is incompatible, but superficially, as we just use the same location for our code. It is trivial to fix, but will cause taus to be incompatible with other mods (like twoplayer):

diff --git a/taus.s b/taus.s
index eee5e06..0cdc18a 100644
--- a/taus.s
+++ b/taus.s
@@ -54,7 +54,7 @@ chartDrawn:
         .res    1

 .segment "CODE"
-        ips_segment     "CODE",unreferenced_data4,$0515
+        ips_segment     "CODE",unreferenced_data1,$0636

 initGameState_mod:
 .import __GAMEBSS_SIZE__, __GAMEBSS_RUN__

I've done a one-off build with that change, if you want it. taus-v1.3.0-pre-unref1.zip

If there's some other fixed RNG mod you prefer, just point me to it and I can look into it.

ejona86 commented 3 years ago

Closing as fixed since there are some options available. If there's some other manual seed mod in particular that you're still interested in, I can look into it.

ilfirin-ms commented 3 years ago

Sorry, tested it only slightly, but so far perfect. Thank you.