Joined: 4/17/2010
Posts: 11475
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
See if having a branch saved at your desired frame(s?) and loading it with no greenzone at all does what you want.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
It does. If you make a branch at each marker savestate, delete the greenzone file, then load each branch afterwards, the greenzone will be wiped with the marker savestates still intact.
Joined: 4/17/2010
Posts: 11475
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
I mean you don't have to duplicate markers, I just wonder how many places are there that you want the other user to instantly navigate through. Back in my days we had just one: taseditor can keep a single greenzone frame on your playback position.
So can you work with branches for such navigation, of you need so many key frames that it's just easier with markers? Also note that tasstatemanager will probably need to get fully rewritten before this happens (it was kinda in progress).
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Usually I put a marker at the beginning of each stage in any TAS I'm working on. But loading a branch to navigate to that part of the TAS won't have any of the changes you've made after creating that branch, unlike a marker savestate which would.
The convoluted method of putting a new branch at each marker, deleting the greenzone, reloading the TAS, reloading each branch and then deleting them accomplishes the task of deleting all savestates except marker savestates that the "Clear Savestate History" function is supposed to do.
EDIT: Actually nevermind. Trying to do that, I am getting this error if I try to load a state before the frame of my branch/duplicated marker: "The given key was not present in the dictionary."
exception text
Colecovision BizHawk 2.2.1: pressing the power or reset button gives the following error:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at BizHawk.Emulation.Cores.Components.Z80A.Z80A.ExecuteOne()
at BizHawk.Emulation.Cores.ColecoVision.TMS9918A.ExecuteFrame(Boolean Int_pending)
at BizHawk.Emulation.Cores.ColecoVision.ColecoVision.FrameAdvance(IController controller, Boolean render, Boolean renderSound)
at BizHawk.Client.EmuHawk.MainForm.StepRunLoop_Core(Boolean force)
at BizHawk.Client.EmuHawk.MainForm.ProgramRunLoop()
at BizHawk.Client.EmuHawk.Program.SubMain(String[] args)
I guess it has something to do with the new input log is different than previously and it's not updated at emulation.... ??
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Joined: 4/17/2010
Posts: 11475
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Thank you!!!!!!!!!
This controller test rom revealed what bizhawk fails to catch. Duplicate input is sent to the core if we're capturing new frames. It's been there forever, and now it's finally fixed.
I'd just like others to test if this fix breaks everything else including completely unrelated stuff like infecting your dog with panic attacks.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Awesome to hear! I'll test when I can. I assume based on commit messages that the fix is this commit? (If so, my apologies for putting this bug in the wrong thread - I thought it was TAStudio sending duplicate inputs rather than an issue with BizHawk itself!)
Joined: 4/17/2010
Posts: 11475
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
No, it's inside explicit tastudio logic (if (Movie is TasMovie)) that was wrong all along.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
loading 2-player Game Boy tasproj file crashes the emulator. In fact. 2.2.1 might be unstable when it comes to Game Boy TASing with TAStudio.
Indeed. Ok I'll set aside other stuff and prioritize finishing GBHawk. Obviously my attempts to add BIOS support to Gambatte resulted in too many bugs to be useful. It's about time anyway, Gekkio has done so much new research that Gambatte now looks really outdated.
Not sure if it is just me, but on the GBA cores, if I opened and closed TAStudios over and over, gradually, BizHawk uses more and more RAM. This happened last night after opening TAStudios, editting parts of a movie, then closing it and running a lua bot, then reopening TAStudios and repeat.
https://i.imgur.com/DAyfn8m.png
It doesn't happen immediately; the first time I closed TAStudios to run a bot script it was at 600MB for the entire time. Every time repeat the above, it creeps slightly higher.
Ok, just checked with a new download, on latest interim, and did the following:
1. Opened BizHawk
2. Open 0421 - Keitai Denjuu Telefang 2 - Speed (J) by dragging to emulator (with bios in firmware folder)
3. Drag this lua script into BizHawk, or open it in lua interface:
Download test.lua
Language: lua
local framelimit = 5
local file = io.open("test.txt","w")
for i = 0, framelimit do
io.write(i)
emu.frameadvance()
end
io.close(file)
client.pause()
It should pause the emulator after 5 frames, then script stops. Do not close the interface.
4. Under Tools, open the TAStudios interface
5. Open this tasproj file: https://drive.google.com/open?id=0B-2O13fpsnI4dkFHWURzRm1WYlk
6. Go to a frame past the marker (should be at frame 258317) and make some random input without advancing frame
7. Immediately try and exit TAStudios interface. It should ask you if you want to save. Select No.
8. Right after selecting no, quickly go back to the lua interface and click on "test.lua" to run it again. It should run 5 frames, then pause the emulator.
9. Quickly open back TAStudios as soon as the emulator pauses, and repeat steps 4 to 9.
If done correctly, in the task manager in Windows, the memory used by BizHawk will not clear away, and add ~200-300 MB every single time step 4 is repeated. If done "wrong", the amount of memory displayed would drop by ~200MB.
For some reason, if I did NOT run the script at all, the memory gets cleared the next time I reopen TAStudios and open the tasproj file. I'm not sure if it works for anyone else, but I just tried the steps above, and managed to get this:
I would like a feature that keeps the clipboard contents whenever you open or close TAStudio so that we could transplant the input from one project to another.
Joined: 4/17/2010
Posts: 11475
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Are you saying it doesn't work?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
It doesn't work if you close TAStudio after copying to clipboard.
It would also be handy if you could copy inputs across different instances of TAStudio (from different BizHawk instances) but I'm not sure if such a thing is practical.
Emulator Coder, Site Developer, Site Owner, Expert player
(3572)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
I thought i implemented that! Granted it was very early on and maybe it has bitrotted.
But the intent was that you could copy paste to a text editor or to another tastudio.
Joined: 4/17/2010
Posts: 11475
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Alyosha wrote:
It doesn't work if you close TAStudio after copying to clipboard.
It would also be handy if you could copy inputs across different instances of TAStudio (from different BizHawk instances) but I'm not sure if such a thing is practical.
Post #441262
Describe everything that doesn't work about this feature.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
It doesn't work if you close TAStudio after copying to clipboard.
It would also be handy if you could copy inputs across different instances of TAStudio (from different BizHawk instances) but I'm not sure if such a thing is practical.
Post #441262
Describe everything that doesn't work about this feature.
Oh it does work, that's cool!
Here is what I was doing that didn't work.
Open 2 instances of BizHawk.
Open 2 instances of TAStudio.
paint some inputs in one instance, then copy them.
On the other instance Edit -> paste will not be available. (But, right click paste is still possible, as is ctrl+v. After you paste in this way once, the edit -> paste option becomes available.)
So I guess it's just a minor anomaly, I should have experimented more.
A7800 Water Ski TAS desyncs when using TAStudio AND going back to a previously emulated frame. 3 out of 3 replication steps:
1. Download the movie file http://tasvideos.org/5705S.html
2. Open it in BizHawk 2.2.1
3. Open TAStudio
4. Emulate movie up to f158 (U R 1)
5. Click on the f155 (first lag frame) row and play it until the end (you can use turbo button)
6. Movie desync right at the end, colliding with the log which shouldn't be the case.
The resulting file won't desync and syncs perfectly without step 5. Also extra note: no extra input needed, so this isn't the ghost button bug.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Joined: 4/17/2010
Posts: 11475
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Does it desync outside tastudio if you save a state there and then load it while being at the same farther frame?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Can confirm it desyncs in 2.2.1 using those repro steps.
But, it doesn't desync in the Dev build (I tried multiple attempts.) Can you try the dev build MESHUGGAH? I'm not sure what exactly might have fixed it, but it appears to be fixed.
Is there a way to edit, add a SNES mouse's position on TAStudio ?
I had a little problem when I added new frames on a TAStudio file, it was like I copy-paste a frame on each new ones just with play button. Is it a mistake by my person or is it a bug ?