Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
Well no, deactivating bulletproof rerecording change was not intentional, or anticipated. I just rearranged the if statements after all the import functions so that there wouldn't be so many repeated conditions.
I must have screwed up the logic somewhere. That's a high priority fix right there.
While it's true that you must have accidentally activated read-only, it looks like Nitsuja has reproduced the problem you were having. Now that I know what the circumstances are, I can find it and fix it.
Edit: Oh, you weren't in read-only, it's even worse than I thought.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
When Sega released Sonic Mega Collection, they claimed to have lost the original source code for Sonic the Hedgehog, which is why the game is actually a ported and modified version of Gens, with a Sonic related ROM collection.
I'm guessing that Sonic: Genesis is just what happens when you have the current Sonic Team rewrite the Sonic engine from scratch.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
The whole point of me posting my process for generating the list was that if someone disagreed with the process, they could suggest alternatives, and/or create their own.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
Version 10 will use this same Gens version.
As Gens 3 will be a complete rewrite, it will take quite some time to adapt all the rerecording modifications to it.
Besides, Gens 3 is not going to be out for a long time
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
Ah, woops, the "New Watch" button wasn't working.
Well, it was setting the watch up fine and all, but it wasn't incrementing the variable which controls how many watches are displayed, or the number of the next watch to be written.
That has now been fixed.
And, once more, the zip file updated.
Unless there is a major bug discovered, this will probably be the last update before Gens 10.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
I found a major error with RAM Search in gens_movie_9z.
A basic summary is that if the RAM Search dialog is open when the frame advances, RAM values will display incorrectly in RAM Search and RAM Watch, and your RAM Watches will become corrupted.
There was a similarly major error in the "Edit Watch" button on the RAM Watch dialog, which would cause the selected watch to be copied to all watches after it before being replaced
Both of these bugs have now been fixed.
ALL USERS WHO DOWNLOADED 9Z AND MAKE USE OF THE RAM SEARCH FUNCTION SHOULD DOWNLOAD THE UPDATE.
Fixed.
For Nitsuja: CRam_Flag is the problem variable.
[edit]
Removed broken link
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
I always read the submission comments on videos I watch, but I don't see the problem in having to find the submission page, it's always linked from the published movie page, which is easy enough to find again if you just remember the name of the game, and the system it's for.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
Well, as it turns out, it's something I forgot to implement.
I was planning to add it to complement the input splice functionality--suppose you didn't use frame precision on the menu just start a splice session with the target frame as the one after you finish the menu, rerecord from reset, redo the menu, and end your splice session.
But yeah, it's not as dangerious as all that, what with savestates restoring the movie up to that point.
Also, I think reset recording should be Soft reset, not hard reset.
Movie playback should still be perfectly compatible with any version from 9f on.
The SegaCD end of savestate support hasn't been improved, although the improvement to Genesis savestates may help sync some things. But it occured to me that the problem with rerecording TAS may actually the .brm file, as changes to .srm files will desync genesis games.
This will be in the Gens 10 release.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
In Windows, NFO is actually a recognized extension -- for "MSinfo document" a filetype which contains system information in a nontext format. So that's not really a good solution.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
Bingo.
NFO files are pointless when the submission text is already around for everyone to see.
Also, NFO files are pointless period, because anyone who wants to read them has to rename them to TXT, the only reason the cracking and/or demo scenes still use them is because of tradition.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
Minor bug that I somehow didn't notice before: Changing the "Data Type" in the RAM search window doesn't update the displayed values accordingly, although you can click on something in the "Data Size" section to make them update. (I am posting this here in case someone wonders why changing it to Unsigned or Hexadecimal appears to do nothing.)
Also, the title of the "Changes" column no longer fits, presumably because of a widened address field, so something else should be adjusted to let it fit.
And the Edit Watch button has some problems:
- It duplicates the address being edited, which can cause other problems later.
- It doesn't update if you only change the address' notes.
- It doesn't allow you to enter lowercase characters in the notes, unlike the one from the RAM search dialog. New Watch does the same thing.
Fixed, fixed, fixed, and updated zip file.
Redownload it once more.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
xoinx wrote:
Just curious, would it be possible to add a 'movie preview' function? For example, after playing maybe 100 frames, I can set the movie to play back the last 100 frames in real time so I can see how it looks? This would be nice together with input splice...
hit ctrl-t to toggle read only, load the state you were recording from, it will switch to playback. Nitsuja added this long, long ago, but people still don't know about it for some reason.
xoinx wrote:
I can't seem to find a way to bind a hotkey for frame seek... any chance to allow us to predefine our own hotkey for it too?
Next version. For now, you'll have to make do with "alt+t, m, f".
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
Will the source be available somewhere? Also,
upthorn wrote:
[*]Tweaked the timing of continuous frame advance (courtesy of Nitusja)
I think this change didn't get into that executable or was further changed from the last time I saw it, because it is behaving quite differently (much too fast) in that gens_movie_9Z.exe, whereas it has a longer delay in the executables built from what's currently on SVN.
You're correct, I forgot to comment out my modifications and uncomment your version for the release.
The behavior should be much closer to what you expected now, but I did some more tweaking to the frame advance key's behavior (and fixed a bug where you had to have the quickpause key defined for frame advance to autopause)
I have updated the zip file. those of you who already got 9z should redownload from the same location.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
Gens 9z is complete.
Next version is the long-awaited Gens Movie 10, I promise
Changelist:
Tweaked the timing of continuous frame advance (courtesy of Nitusja)
Fixed a bug where the checkmark by Automatic Close Movie displayed incorrectly
Fixed a bug where the last frame of input never got recorded.
Emulation no longer pauses at the end of a movie when Automatic Close Movie is unchecked
Added Savestate movie consistency checking (courtesy of Nitsuja)
Sound no longer causes disproportionate CPU usage (courtesy of Nitsuja)
Quicksaving during movies now prepends the name of the movie file (sans .gmv) to the savestate name
Quickloading during movies now checks for a savestate with the movie file name (sans .gmv) prepended to it
When Automatic Close Movie is unchecked, and a movie is open read-only, resetting will replay movie from start (even if movie had finished playing)
When Automatic Close Movie is unchecked, and a movie is open read-only after finishing playback, loading a state from the movie will resume playback from that state.
When Automatic Close Movie is unchecked, and a movie is open read-write after finishing playback, loading a state from the movie will resume recording from that state.
Added a Ram Search feature (courtesy of Nitsuja & Ideamagnate) with hardware accurate addresses (courtesy of me).
Added a Ram Watch feature with watchlist saving and loading.
Added several previously unsaved variables to savestates (courtesy of nitsuja) (NOTE!! this breaks segacd and 32X savestate compatibility in both directions)
Added an input splice feature, to allow for rerecording while saving work past a specified point.
Added a frameseek feature, which fastforwards to the specified frame, then pauses.
Edit:
Updated the zip, same location with some bugfixes, you should redownload and overwrite the prior version:
Frame advance now pauses before becoming continuous. (Reported by JXQ)
Closing the Ram Watch dialog with X no longer causes it to refuse to reopen. (Reported by JXQ)
Hitting frameadvance while emulation is not paused will now pause emulation even if the quickpause key is not defined (Reported by Upthorn)
Changing the data type in Ram Search now causes the results to be refreshed (Reported by Nitsuja)
Size of RAM Watch columns modified so all names fit to start with (Reported by Nitsuja)
Behavior of "Edit Watch" corrected (Reported by Nitsuja)
Fixed an incorrectly constructed loop which caused every watch after the selected one to be overwritten when "edit watch" is used. (Reported by Upthorn)
Fixed an array out of bounds error which caused the automatic RAM search refresh to modify watches (Reported by Upthorn)
Fixed (the same) array out of bounds error which caused the automatic RAM search refresh to modify the value size and type variables. (Reported by Upthorn)
Fixed (the same) array out of bounds error which caused the "Watch" button on the Ram Search dialog to behave very incorrectly (Reported by Upthorn)
Fixed a bug where savestates were saving and loading with blanked screens (Reported by Zefiris)
Fixed a bug where watches added by "New Watch" weren't displayed, and were overwritten the next time "New Watch" or "Watch" in the Ram Search dialog was used.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
upthorn wrote:
Now all that's left to do before the release of Gens_Movie_9.5 is to compile a list of the new features...
No 9k and onward?
The letters k and onward seem ugly to denote subversions, and I think there's been enough changed, at this point, to justify increasing the version number somewhat, but the milestone for 10 (GM2 implementation) hasn't been reached yet.
nitsuja wrote:
Let me check something first though, one of the RAM search features just struck me as wrong (and easy to fix, if you haven't already changed it).
Which feature? PM me.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
I don't think "ignores semi-important goals" needs to be removed so much as it needs to be given a clear definition, which is then applied with consistency.
I always thought that it was a category for runs which ignore game goals that Have bearing on the plot, or convey an advantage to the player, but aren't necessary for completing the game (for instance, collecting emeralds in the Sonic games, collecting hearts in Zelda games, getting mushrooms in super mario), but that it was not a category for generalized sequence breaks (for instance: skipping bosses in Megaman/Rockman games).
Although, to be honest, the category should probably be "completes semi-important goals", because ignoring those goals is generally normal and can be assumed to happen unless otherwise stated.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
Mukki wrote:
Upthorn --
Seems to be a fairly decent list, but only really serves as a top ten of the present and not of all time.
I used this as my reasoning: "The best TASes of all time won't get obsoleted, so I don't need to factor obsoleted runs in."
If we were counting obsoleted runs, though bisqwit would probably be much higher, superninja probably wouldn't be on it, and phil cote probably would.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
nitsuja wrote:
That's already done, but cheats aren't implemented (only searching/viewing, and viewing could be more convenient), and there seems to be some bug in the way Gens handles all RAM addresses that Upthorn has been working on fixing.
Actually, I've already fixed that (search displays hardware-accurate addresses), implemented watchers (FCEU style, by popular vote), and reworking the code that updates the displayed values every frame so that having the RAM Watch dialog open doesn't cause slowdown (which was pretty massive with SegaCD).
Before I release I just want to add a Frame-seek function to movie playback, fix up the Input splicer so it will work across sessions. (Admittedly, if I don't do this, the potential work loss is no greater than what already happens when you rerecord, anyway, but...)
Release after this next one should have GM2 support, and more hotkey customizability.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Experienced Forum User, Published Author, Active player
(388)
Joined: 3/24/2006
Posts: 1802
In the interests of science, I have produced this list
Nitsuja 14
Genisto 10
JXQ 9
Adelikat 8
DonamerDragon 3
Fabian 2 9.05
Spezzafer 2 8.8 2
Bisqwit 2 8.8 3
Scumtron 2 8.55
Superninja 1
Rest assured, that there was a process involved in this:
On a list of all nonobsoleted movies, sorted by descending rating (http://tasvideos.org/Movies-RatingY.html), find the first 10 players
(Fabian, Nitsuja, JXQ, Superninja, Genisto, Spezzafer, (Shinryuu & Bisqwit), DonamerDragon, Baxter, Parrot14green)
Find the rating for the movie by the 10th player. (8.6)
Add all other players who have a movie of this rating into the potentials list (Scumtron, Adelikat, Pom)
Count the total number of movies each has rated above 7.5
In the event of a tie, stratify tied players by average rating of the relevant movies
If any players are still tied, stratify tied players by number of movies rated below 7.5 (lower is better)
If any players are still tied (this didn't happen, but), stratify once more by average rating of all movies
If any players are still tied, a tie is declared
Edit: I had accidentally counted the "Fabian & JXQ" run for Fabian's score, but not JXQ's
How fleeting are all human passions compared with the massive continuity of ducks.