Commit Graph

542 Commits

Author SHA1 Message Date
Iris Ward 3f899b60c9 Formatting rules. Bleh 2015-09-22 01:02:49 +01:00
Iris Ward 1df8397b1c Implement text flavour PJM importing
Also implemented PXM importing via binary flavour PJM importing. Various
bug fixes in my existing binary flavour PJM implementation.
2015-09-22 00:47:25 +01:00
Iris Ward bb05bb57a8 Implement PJM format input
Created a prototype input reader for binary-format PJMs. Also exposed
controller definition creation as a static method on Octoshock as a
convenient way to define the controller setup.
2015-09-21 22:33:29 +01:00
Iris Ward 0e010a2988 Implement reflection-based importer
The reflection-based importer, for file types that aren't imported via a
legacy bkm file, dynamically searches the current module (i.e.
BizHawk.Client.Common) for all IMovieImport instances with the
ImportExtension attribute.

This is difficult to truly test without more non-legacy import
implementations, but appears to work with a dummy .pjm file.

It may be desirable to instead search the current assembly instead of
the current module, but I think all implementations should probably go
in BizHawk.Client.Common, so I chose to search by module instead.
2015-09-21 18:13:58 +01:00
Iris Ward 189390f001 Refactored out the import-via-legacy code 2015-09-21 18:02:41 +01:00
feos b5582722c8 tastudio: fix yet another branch crash. 2015-09-16 23:19:03 +03:00
feos 6e16f0c5dc tastudio: thanks for letting a ulong overflow backwards. 2015-09-16 21:44:42 +03:00
feos 4f07c908a0 tastudio: more branch work.
- change skipRemoval default to true, set to false only on state capturing
- put guid hashes to BranchStates
- setup a couple of functions using guid
2015-09-16 19:40:50 +03:00
adelikat 227a35e474 Add a unique identifier to branches and save and load them to disk, still todo - use them in stuff 2015-09-15 20:42:27 -04:00
adelikat a8409a9c86 TasStateManager - some cleanup 2015-09-15 20:03:50 -04:00
feos ce3c9364df tastudio: ban state removal per branch load.
todo: figure out way to skip removal internally in StateToRemove().
2015-09-15 21:47:59 +03:00
feos b31c43321b tastudio: branches.
- update inputroll after branch operations
- properly remove BranchStates units
- don't load current branch
2015-09-14 20:45:27 +03:00
feos 62e25eadb0 tastudio: attempts to fix branch states.
relying on dynamic serial number was plain wrong, but TotalSeconds might be obsoleted by new branch field that doesn't change and is unique for each branch, like a counter of created branches.
todo: load branch states from tasproj, or at least not drop the states above divergent point when loading.
2015-09-13 23:36:47 +03:00
feos 4fd55da52a tastudio: various fixes.
- saving and loading tasproj markers
- flagging changes after branch operations
- clearing InputRoll selection
2015-09-13 11:44:15 +03:00
adelikat b692acf2f9 TastStateManager - more exception prevention 2015-09-06 14:18:31 -04:00
adelikat 0a4ad42eaa TasStateManager - more work arounds to deal with the scenario of removing branches, I doubt this is the correct approach, but I don't know what else to do, someone should revisit this 2015-09-06 13:39:14 -04:00
adelikat f06e2d86da TasStateManager - fix crashes when deleting and updating branches, these are all probably hacks that need to be revisisted 2015-09-06 13:23:40 -04:00
feos 3fccda33fd tastudio: hail copypaste-driven development! 2015-09-06 18:02:50 +03:00
adelikat 0da8f3cac4 TasStateManager - don't modify while iterating 2015-09-06 10:56:31 -04:00
adelikat 2f3f5ad465 Tastudio branches - save and load markers to disk 2015-09-06 10:18:46 -04:00
zeromus a7bf968554 fix TasStateManager clearing bug 2015-08-17 16:29:45 -05:00
Suuper 1f4b0d5d77 -More work on TasStateManager
-Fix: SaveStateSettingsForm was setting the disk capacity to 1 mb on load if it had been set to 0.
2015-08-17 11:32:46 -05:00
Suuper f76c49ce1b -Fix: Loading a TasProj caued it to be saved immediately after. (Some old TasProj files are now broken.)
(Saving process for movies still needs some cleaning.)
-Fixed setting input log by reference when loading a branch
-Fix: TasStateManager wouldn't decrease Used when deleting a RAM state from a branch.
-Removed a useless call to Movie.Save()
-Fixed a bug with creating a savestate anchored tasproj.
2015-08-17 09:14:08 -05:00
Suuper b054032694 TasStateManager: Improve performance of StateToRemove
A lot of work on tracking states, still lots to do.
2015-08-16 11:28:03 -05:00
Suuper d6e3553449 TAStudio: Fixed displayed maximum state capacity.
Clear states to stay within the new limit when settings are changed.
2015-08-15 10:07:56 -05:00
zeromus 432adc7874 ..huh. fix building, and also change an int to a long where it was conceivably inadequate 2015-08-13 21:54:38 -05:00
zeromus 5bf21e391c TasStateManager uses a new data structure to write all states to one auto-deleting file per TasStateManager instance. TasStateManager is now IDisposable; this needs to be followed rigorously (I didn't do that). 2015-08-13 21:51:51 -05:00
Suuper 078bd102e8 TasStateManager should work with branch states on disk now.
Also now tracks the RAM/disk space used by branch states.
Added bookmarks to branches.
2015-08-13 13:03:22 -05:00
Suuper 4ce346661b Branch states on RAM should work. (Disk states will break things.) 2015-08-13 09:42:04 -05:00
feos e687c4ab1a tastudio: don't count rerecords while drawing 2015-08-06 20:03:30 +03:00
zeromus 4eb89c823d fix slow big O in TasStateManager, causing performance catastrophe when state scavenging begins. But I'm not 100% sure I did it right. 2015-08-05 19:42:01 -05:00
adelikat ba21484ddd add IRegionable as an emulator service to indicate NTSC vs PAL, etc. Refactor cores that conveyed this information to use this service, fixed cheaty reflection to grab this info to use the service instead, marked some cores as region not applicable where it made sense to me (I'm sure I'm wrong in some cases) 2015-08-05 20:12:09 -04:00
zeromus b981e00889 fully support read-only movie opening. I hope this fixes #453 2015-08-05 17:00:39 -05:00
zeromus 3ec314d20b TasStateManager: don't touch disk unless opened for 'write access' 2015-08-05 16:36:44 -05:00
adelikat a686465911 Tastudio - Branches - show timestamp not movie length, and save/load the timestamp to the .tasproj 2015-08-04 21:41:31 -04:00
adelikat 07fddd31d7 Tastudio - tweak rerecord counting to what was probably intended, only increment rerecord count on Invalidate() if Invalidate() actually invalidated any states 2015-08-04 20:24:49 -04:00
zeromus 5173541730 fix #460 2015-08-04 18:44:21 -05:00
adelikat 0205762409 lua - remove movie.insertframe() as it is no longer needed and was not coded in an acceptable way, if such a feature is needed in the future, it needs to be thought through better 2015-08-01 22:21:44 -04:00
adelikat 383a462207 lua - implement movie.InsertFrame(int index, string logEntry), for now, will only work on .bk2 movies (.bkm and .tasproj will crash) 2015-08-01 15:46:43 -04:00
feos 90cdbc1d1f tastudio: fix crash when comparing branches with identical input and different length.
it was setting loop count basing on a longer branch (if it's current), the shorter one going OOB.
2015-07-31 00:04:01 +03:00
Suuper 0d87c8330c TAStudio: -Put lag log and change log back into branches.
-Bugfix: clearing states in a savestate-anchored movie threw an exception
-Clear disk states when clearing states
2015-07-30 15:14:34 -05:00
adelikat a219e7150e Tastudio - add an option to create a saveram anchored movie from a selected frame, just like the savestate anchored movie feature, it uses the current movie to create a verification log 2015-07-27 19:25:48 -04:00
Suuper 2d64e0d115 TAStudio: -Scroll by painting doesn't require FollowCursor anymore
-Undo History form display bug fixes.
-Removed menu item to combine consecutive recordings/draws
2015-07-26 14:54:31 -05:00
adelikat 26f824625c TAStuido - support saving and loading of saveram in saveram-anchored movies 2015-07-26 15:48:12 -04:00
adelikat 490adc905e Support recording movies that start from SaveRam, note: as of this changeset tastudio does not support this concept and may interact in weird ways with saveram-anchored movies 2015-07-26 15:41:22 -04:00
Suuper f72eadb76e TAStudio: -Fix: Undo/Redo didn't always jump back to valid frame.
-Performance boosts with multiple selected rows
2015-07-25 22:49:52 -05:00
adelikat a2edd3a018 Tastudio - Branches - fix screenshot hover, and also set the screenshot hover size to a "1x" resolution for the given core 2015-07-25 21:31:06 -04:00
adelikat e73c7813bf Tastudio branches - make a copy of a branches log, instead of referencing it! 2015-07-25 18:13:56 -04:00
adelikat 182ce33a3c Tastudio branches - invalidate lag log on branch load for now, even though the information is saved in branches and is valid (todo: a better design or quit saving this info). Also don't load the changelog from branches, again, don't save this info if this isn't desired. 2015-07-25 18:02:58 -04:00
adelikat df41eeffc3 Tastudio - branches - invalidate on branch load at the point the branch diverges from the current greenzone, not at frame 0 2015-07-25 16:24:38 -04:00