Commit Graph

886 Commits

Author SHA1 Message Date
adelikat f5cb35a862 Atari 2600 - vritual pad and mnemonics for paddles 2017-06-28 14:27:15 -05:00
adelikat 4ce583b141 Movie import - import smv's with snes9x sync settings but lsmv as bsnes, dont' set profile of bsnes. Set the core toggle based on which movie being imported (this could be annoying but so can a movie load exception) 2017-06-12 20:56:32 -05:00
adelikat 20ccb66318 Mnemonics - Hack to support 10+ controllers 2017-06-11 12:04:02 -05:00
adelikat b39c2dccf0 NGP - mnemonic for Option button, Virtualpad support 2017-06-06 11:07:16 -05:00
adelikat 4ae0b2cd22 Merge branch 'master' into waterbox2
Conflicts:
	BizHawk.Client.EmuHawk/MainForm.Events.cs
	BizHawk.Client.EmuHawk/MainForm.cs
2017-06-04 18:18:11 -05:00
adelikat 617bc16079 C64 - FIx mnemonics for previous and next disk buttons 2017-06-04 11:27:36 -05:00
adelikat 9e1b00fd58 VBoii - display text, and platform frame rate 2017-05-30 17:42:23 -05:00
adelikat 1a54ff1818 Merge branch 'master' into waterbox2 2017-05-30 17:31:30 -05:00
adelikat c0542c1301 VB - mnemonics 2017-05-29 16:39:04 -05:00
feos 2e519eda05 tastudio: fix marker copies being recorded to history when branch backup is created 2017-05-29 21:20:46 +03:00
feos c1ee1d9505 tastudio: fix stupid bug in SetBoolStates() 2017-05-29 20:20:46 +03:00
adelikat 8de4e7bff9 add ui to switch to Atari7800Hawk, still not useable by humans, needs gamedb stuff 2017-05-27 08:56:25 -05:00
adelikat 43cb50d5c3 Misc cleanups in Client.Common 2017-05-19 13:17:07 -05:00
adelikat e0e5eaea44 Movie Session - fix logic with remembering mGBA vs VBA, also some other misc cleanups and add some documentation 2017-05-19 08:36:52 -05:00
adelikat 70baf9d306 Client.Common cleanups 2017-05-18 11:36:38 -05:00
adelikat 85f78b358d IMovie - remove the unused GetInputLog() property and also from implementing classes. I guess savestate code that was using it got refactored at some point making it unused. 2017-05-17 13:26:14 -05:00
adelikat cf15eb8950 TasStateManager - deciding upon a "fix" to the probable bug. This is technically different behavior than before but the intended behavior? This might break stuff 2017-05-17 13:20:57 -05:00
adelikat 2a54517b52 more misc Client.Common cleanups 2017-05-17 13:18:26 -05:00
adelikat e930dd3326 some bk2 code cleanup 2017-05-17 11:53:42 -05:00
adelikat dfea029fe4 Misc cleanups in Client.Common, documentation fixes 2017-05-17 11:16:55 -05:00
adelikat 22e2df3868 Point out a probable bug 2017-05-10 14:26:21 -05:00
adelikat 29d470a933 Cleanup tasproj related code. This includes C#6ism (feos has 2015 now). Added some todos for some sketch code 2017-05-10 14:19:46 -05:00
adelikat adc60dc6fb more LINQ pet peeves 2017-05-10 13:43:41 -05:00
adelikat 3860cf89c3 LINQ-fu 2017-05-10 13:40:18 -05:00
adelikat 429b066955 Client.Common - remove various redundant codez 2017-05-10 13:37:04 -05:00
adelikat f942a409d7 Client.Common - remove a bunch of unused usings 2017-05-10 13:27:10 -05:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
adelikat e0985465b6 misc Client.Common code cleanups 2017-05-09 13:19:55 -05:00
adelikat eafa39456f Genesis - there's a couple more buttons on the menacer 2017-05-07 18:05:09 -05:00
adelikat cb24ed1d22 some mnemonics for colecovision peripheral buttons 2017-05-06 19:08:57 -05:00
adelikat ded1c2d7b7 Break off BoardName from IEmulator into a separate IBoardInfo service 2017-04-30 21:01:54 -05:00
adelikat 26d8166c0e mnemonic for SNES multitap toggle button 2017-04-30 12:30:43 -05:00
adelikat 5a408f9321 Remove the obsolete BinaryStateLoader.HasLump() 2017-04-24 13:18:45 -05:00
adelikat 1184e8ed05 lua - implement tastudio.getselection(), tastudio.insertframes(), tastudio.deleteframes() 2017-04-22 20:50:03 -05:00
adelikat 3889703bf9 snes - mnemonics for payload controller, meh 2017-04-22 12:41:35 -05:00
adelikat 99d70a1c7f SNES - super scope support 2017-04-20 19:50:58 -05:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
adelikat b6f335e4c8 misc code cleanups in BizHawk.Client.Common 2017-04-14 14:59:01 -05:00
adelikat 37c989c661 more misc code cleanups, with some C#6isms 2017-04-10 11:24:53 -05:00
adelikat fc59710dab some code cleanup, mostly introducing C#6isms, also add a customized resharper+stylecop settings file in case anyone is using resharper 2017-04-10 10:30:05 -05:00
feos a9cda4a21f tastudio: dynamically resize usertext column 2017-03-15 21:46:46 +03:00
feos 6e99227c72 tastudio: Clone() for branches. fixes UserText cancellation
also cancel backup and osd message if text edit was canceled
2017-03-15 19:17:47 +03:00
feos d254ad01d8 tastudio: add branch undo feature
the fact that it's separated from changelog is because there's no way to extend the latter, but *also* it's intended, as we want branches to be independent from changelog manipulations

todo: figure out branch text edits
2017-03-14 22:49:55 +03:00
feos 114274ac4d tastudio: latch autohold state for every manual movie length extension
finally fixes #534
2017-03-12 19:43:23 +03:00
feos 64665f0e82 tastudio: use LatchSticky() when adding new frames
fixes autohold behavior, making it operate like it did before banning user input latch in replay mode
now in replay mode all input is ignored except for autohold, which is set via tastudio gui
2017-03-12 17:28:54 +03:00
feos a30b89039f more topmost modal dialogs 2017-03-12 14:50:24 +03:00
zeromus 5488eadb89 work on #816 2017-03-08 15:57:00 -06:00
adelikat 61e8b51802 Intellivision - mark the core as released, add alyosha as an author, and add the framerate entry to PlatformFrameRates 2017-02-18 15:01:09 -06:00
feos ac2a69e7dd gpgx: switch to real interlaced mode when needed (still 60fps)
window resizes by itself if no maintain aspect ratio is forced

todo: states have broken graphics in that mode, but that's likely the original core thing
2017-02-18 23:34:44 +03:00
feos f1a617b047 tastudio: stop latching input in playback mode if new frames are generated
addresses #801
2017-02-18 20:54:59 +03:00
zeromus 539cdc29f3 add SetPlayback to tastudio lua library. Can't be 100% sure it works, but it seems to be working OK. it may hang everything up if you seek through a really long redzone..... 2017-02-04 21:40:29 -06:00
feos 36f53116b1 tastudio: quit pretending -1 is a legit branchHash
seems to fix #785
2017-01-29 10:24:11 +03:00
feos b7ed072c4c tastudio: only load branch markers if they are bound to input 2017-01-19 20:49:18 +03:00
feos 06b14d654b tastudio: move greenzone writing/loading to the very end
hopefully if it crashes during greenzone saving, other components won't die
2017-01-19 14:52:31 +03:00
adelikat 2d9213c379 IController - Remove the indexer property and refactor code accordingly, also simplify and cleanup many of the IController implementations 2016-12-14 14:12:16 -06:00
adelikat 72a59087b5 Use the IController indexing property less in preparation for removing it from the interface. Replaced with its more explicity counter-part .IsPressed() 2016-12-14 12:42:15 -06:00
adelikat 5ff33e7569 Rename IController.Type to IController.Definition to more clearly describe the property 2016-12-12 12:30:32 -06:00
adelikat b7e616482d Intellivision - movie mnemonics and virtual pads 2016-12-06 20:16:22 -06:00
feos d3b6364db0 bk2 log generator:
- pick actually neutral analog values for empty entry
- properly hide all neutral values from input display
2016-11-26 17:41:00 +03:00
feos 3b2781c571 movie: add Disc Select, Open and Close to the dictionaries 2016-11-26 16:39:21 +03:00
feos ef8068daa4 Revert "tastudio: move LastPositionFrame to TasMovie, prepare for another revision"
This reverts commit eea49f1895.
2016-11-21 20:03:56 +03:00
feos eea49f1895 tastudio: move LastPositionFrame to TasMovie, prepare for another revision 2016-11-21 19:29:11 +03:00
feos a413f524c9 remember that not every platform has analog controls 2016-11-19 21:21:07 +03:00
feos a8dde12c1f tastudio:
- set Float type to analog control columns
- set their size taking into account their MaxDigits
- stop displaying neutral analog values

input OSD:
- obtain real neutral analog value the given core uses and hide it, instead of hiding hardcoded zero
2016-11-19 19:31:04 +03:00
feos edf21b8bfe fix tastudio crashes when:
- setting 0 space for disk states
- righclicking on selection if a bunch of selected frames contains the last frame
- cutting the last frame
2016-11-17 20:05:41 +03:00
adelikat 0959d5f0df When importing SNES .lsmv movies, add an extra input frame, fixes #721 2016-11-12 11:01:26 -06:00
adelikat 82c1c11879 Atari 7800 - add the word Toggle to the difficulty swithc buttons to make them more clear in functionality 2016-11-11 15:03:34 -06:00
adelikat 75654b9f33 Atari 7800 - make difficulty switches behave like toggles instead of buttons, also add mnemonic info for them, fixes #726 2016-11-11 08:44:28 -06:00
feos b24eb2293f add name shortcuts for psx analog controls 2016-11-09 00:25:24 +03:00
adelikat 7b2338a110 movie mnemonics for vs controls 2016-10-29 22:20:34 -05:00
feos 9714aa5cc9 tastudio:
- preserve branch text per update (unless default text has changed)
- remove redundant code from paste functions, rely on global clipboard fully with cut/copy too
2016-10-10 19:00:59 +03:00
feos 7309957c11 tastudio: pasting input beyond movie length extends it 2016-09-08 18:32:37 +03:00
feos 091a62ab25 tastudio history: properly fix recording
the problem was mismatching ideas of movie length between movie and history
2016-09-07 20:54:45 +03:00
feos 549fc333f1 tastudio: fix removal of states *near* lag frames 2016-09-03 15:17:38 +03:00
feos 2911e498e1 tastudio history: fix bug where undoing the movie extension (caused by drawing beyond the movie length) would swallow all the movie 2016-08-29 21:18:55 +03:00
adelikat 1b2f24502f fix when importing .fm2 and other "legacy" imports, add the .bk2 extension instead of replacing the old move with its old extension 2016-08-29 10:21:30 -04:00
feos 4f24682289 taseditor: fix LastPositionFrame resets 2016-08-28 15:34:18 +03:00
feos 215f9b9959 tastudio: some dirty fixes to how undo/redo works with recording frames 2016-08-22 21:17:35 +03:00
feos a2b55291b3 tastudio:
- movie end doesn't switch to record mode anymore. fix #586
- recording mode checkbox
- fix rec mode dying during fast rewind
todo:
- readonly hotkey doesn't work until we click the checkbox
- movie status icon doesn't show up if tastudio is autoloaded
2016-08-06 22:28:25 +03:00
feos 170681c3ad tastudio: Recording mode
a bit inconsistent with how it switches to record right now
2016-08-03 22:29:27 +03:00
feos 178820746c tastudio: prevent crash occurring at new state capture
mem leak is still there for N64
2016-08-02 22:46:21 +03:00
feos fbbc97731e subtitles: proper internal sorting 2016-06-30 19:14:34 +03:00
feos 144e942f57 subtitles: fix sorting on import and export.
still need a way to sort internally.
2016-06-29 23:53:07 +03:00
feos 35a07f42eb subtitles:
- trim trailing spaces
- sort by frame and then by Y pos (to properly order multiline subs)
- concat multilines (optionally) on export
- option to skip color tag on export
todo: fix multiline ordering for export
2016-06-29 00:32:43 +03:00
feos 346c4e56b3 tastudio autosave:
- switch to appropriate method for backups
- option to save backup per file save
- menu command to save backup
2016-06-12 16:41:27 +03:00
feos cbc5ca2115 tastudio: fix the warning about inheritance mismatch 2016-06-11 18:58:22 +03:00
feos 32be07ce03 tastudio: don't record marker history edits to history
this generates a warning regarding "new is not required" for the functions I edited, dunno what to do with it
2016-06-11 12:48:11 +03:00
feos 2a952cebef saving too!
also catch inconsistent tsmSettings exception
2016-06-11 10:12:30 +03:00
feos ef93a50f4d tastudio: fix silly order error in tsmSettings parser 2016-06-11 09:46:21 +03:00
feos 559eacf95a InputpPompt: allow multiline info
bk2 export for tastudio: stop endlessly appending extensions
tasstudio autosave:
- fix interval init on load
- 0 interval disables autosave
- canceling SaveAs doesn't kill the timer
- ability to append "backup" to filename allows saving to a separate file
-- don't let tasproject switch to the backup file (bit hacky)
2016-06-10 16:05:12 +03:00
Suuper 327c45b440 Fixed issue #626. 2016-05-14 13:46:15 -05:00
feos 2e1132c2b9 tastudio: this should be reliable enough. 2016-04-25 18:18:20 +03:00
feos 000050b1e9 tastudio: integrate StateGap logic into ExcludeStates().
for loaded projects, stop forcing current frame capture if it's non-zero.
stop excluding state on frame 0.
todo: make capture state gap reliable for project state gap. right now it can capture odd frames if they go after markers or lag, so those will be missing when saving the project.
2016-04-25 18:04:42 +03:00
feos 408d0ae4d0 tastudio: attempt to make StateGap smarter.
it should rely on frames, not on state indexes. and we can only have states on frame numbers that are powers of 2.
doesn't work right on saving multiple times yet. need to cooperate with ExcludeStates() somehow.
2016-04-24 23:17:17 +03:00
feos f35938acdb tastudio: be able to load broken greenzone file. 2016-04-23 20:54:14 +03:00
feos 1581b5b283 tastudio: tie rerecording to laglog invalidation instead of states. 2016-04-18 18:52:37 +03:00
feos 7fa99c7d13 tastudio: project savegap (finally!)
ScrollSpeed defaults to taseditor's
2016-04-17 23:29:25 +03:00
feos a7b3668506 tastudio: fix Used and fix a nasty mistake in branch logic.
should properly handle branches created during seeking.
fix #606 I hope.
2016-04-17 18:54:55 +03:00
feos 0e6ec038a8 tsm: let this sanity check be there. 2016-04-17 16:01:09 +03:00
feos f5746a7b8f tastudio: stop updating splicer after every new cell is appended.
quick fix to #597.
fix crash when pasting input beyond movie length. todo: make input log append like PasteInsert does.
2016-04-17 13:52:58 +03:00
adelikat 44dc9518cf capture Sega CD flag in movies 2016-02-28 10:21:18 -05:00
Suuper a751412c1f TasStateManager.cs -> fixed stateHasDuplicate 2016-02-20 13:43:24 -06:00
Suuper 8b5440d963 Fixed a few bugs in TasStateManager.cs 2016-02-20 12:34:13 -06:00
zeromus bff0d5b95d add and hook up AWEMemoryStream option for movie storage. GUI is intentionally shoddy to convey sense that it's experimental. Has been cursorily verified but not thoroughly tested. 2016-02-10 01:09:43 -06:00
adelikat c510e13d82 Add an IsSGMode flag for SG-1000 when recording a new movie 2016-01-31 19:53:04 -05:00
feos 1b8ef3738a tastudio:
- history form: canonical colors, show the current item better, report marker operations
- markers: adding markers updates dialog, don't ever remove marker 0
- tsm: attempt to fix exception in AllLag()
2016-01-27 12:53:26 +03:00
zeromus a355f78631 don't load entire inputlog into a string when parking it in a savestate 2016-01-10 23:08:13 -06:00
zeromus e1ddb51826 fix off-by-one-too-short-inputlog bug in MoviesOnDisk mode 2016-01-10 22:45:43 -06:00
Hathor86 f0ab9edc10 Attempt to fix OutOfMemory when saving states (I guess it works)
Just add an EnsureCapacity() before appending log.
I didn't have any crash yet compare to current release. Let's hope!
2016-01-03 00:52:37 +01:00
feos 2a6a2a7a8a tastudio: properly report saving progress.
also attempt to report seeking progress.
report occurs, but progressbar doesn't show up...
2015-12-10 01:38:06 +03:00
feos 8a6ddfbf3f tastudio: actually use initial state from anchored movies.
don't seek to whatever frame such a movie was created from.
2015-12-08 23:38:00 +03:00
feos 9d491d9415 Bk2Movie: use intended method when adding a key.
fixes #520
2015-12-08 19:17:45 +03:00
feos abd118253f tastudio: Save State hotkeys (finally) control branches:
- save/load by slot number (select that branch if it exists)
- save/load current slot (selected branch)
- select branch by slot number
- select next/previous branch
- bind 2 default tastudio hotkeys
keep selection when branch gets removed.
2015-12-05 17:07:24 +03:00
feos 6d4c5ef17f preparations for state hotkeys functioning with tastudio branches.
typos.
2015-12-05 14:48:04 +03:00
Hathor86 1e2f4e12be Watch refactoring
Some improvement when you get Available types. Used to return a new
array each time you call the function. It has been transformed into an
IEnumrable and yield return.
DisplayType, PreviousType and Watchsize have been moved outside the
Watch Class
2015-11-28 22:52:00 +01:00
feos 2ce108e310 lua: ability to SetBranchText.
doesn't make much sense to add text to existing branches from lua, but highly useful to set some text to a new branch.
and we also have a default branch text variable now.
2015-11-26 00:12:25 +03:00
feos 1f1382ceb7 tastudio: attach usertext to branches, make it editable from menu.
moved branch functions and menu items around.
2015-11-23 23:27:27 +03:00
Hathor86 c7dcb42b94 Merge from maser@TASVideos 2015-11-15 11:27:00 +01:00
zeromus 5afa44bbec common logic for tempfiles 2015-11-15 03:01:58 -06:00
zeromus 22192e700b attempt to make it possible to store movies on disk instead of in memory 2015-11-15 02:27:48 -06:00
feos 19add0ec93 tastudio: save/load TasSession variables in .tasproj.
right now only includes current frame and branch. current scroll is not needed as we GoToFrame anyway, current selection seems pointless.
2015-10-25 17:53:25 +03:00
feos 855561ac19 tastudio: last preparation before new tasproject entry.
old branch states won't load anymore, as they were part of common greenzone and were cut off. current states should still be compatible.
2015-10-24 17:17:33 +03:00
feos fd2e6848f1 tastudio: tsm never actually uses currentBranch, so why should it have it?
Revert "make sln version 2010 again." This reverts commit 48a59f1cef.
It's now known that to make newer .sln compatible to VS2010, one should install SP1.
2015-10-24 16:29:37 +03:00
feos 3f1a3907b5 tastudio: put branch states to a separate greenzone file.
default scroll speed to 3.
2015-10-24 12:47:34 +03:00
feos d92d39f515 tastudio: don't truncate LagLog if the branch's one is shorter, but input is the same. 2015-10-21 19:00:25 +03:00
zeromus 4b8c7d77ac merge PR #503 from adituv - Movies: Reflection-based dispatching; PJM/PXM imports 2015-10-11 21:27:44 -05:00
zeromus a92cdf4730 Merge remote-tracking branch 'remotes/adituv-bizhawk/MovieReflection'
Conflicts:
	BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs
2015-10-11 21:18:53 -05:00
adelikat 3ca25ccb69 Merge pull request #506 from Kabuto/master
C64 core: tape loading added, lots of bugfixes and improvements
2015-10-10 11:11:59 -04:00
feos ef5369a443 tastudio: "Erase branch states before all the rest" option.
fixed branch info loading.
2015-10-06 21:51:03 +03:00
feos e0c2e43e48 tastudio: add an option for (not) using branch states in tasproj.
clueless about what should go in its description.
fixed new guid being assigned to branches loaded from the project.
2015-10-05 22:11:45 +03:00
feos 31e476a3cd tastudio: load projects without branch state info.
fix some other crashes, kill selection when loading a file.
2015-10-05 19:08:21 +03:00
feos 87dd32eeac tastudio: found another bomb set by picking branch states by index. two actually. 2015-10-05 00:24:41 +03:00
feos 89d919e6a9 tastudio: loop guid dup check.
don't remove marker 0.
update when going to frame 0.
don't check hasDuplicate against current states if branch is not current (what was it for at all?). releases Used per branch removal.
2015-10-04 21:10:40 +03:00
feos 2a8578c74f tastudio: keep the same identifier for updated branch.
ban context menu when there's no selection.
attempts to fix mysterious crashes in TasStateManager.
2015-10-04 18:00:04 +03:00
adelikat 9f67d8e59b TasBranchCollection - encapsulate unique identifier logic into TasBranchCollection 2015-10-04 10:43:36 -04:00
feos 4625bdce0f tastudio: a bunch of fixes.
- update branches per RefreshDialog()
- clear selection per right click if it's beyond movie length
- fix crash when load branch is called with null selection (can't stably reproduce, but it happens)
- assign guid to branches from the right place. this required setting some statics, don't know if it was right, but it works.
2015-10-04 13:39:14 +03:00
nattthebear 915abb9504 Stuff 2015-10-03 19:20:32 -04:00
feos f3ad71af24 tastudio: duplicate hash check before adding. 2015-09-29 19:51:41 +03:00
Kabuto 004c8294fb c64 core uses ISettable now and supports 2 more video standards 2015-09-28 23:52:23 +02:00
feos 1175a86123 tastudio: use DivergentPoint() as a backup in case branches lose their states. 2015-09-23 19:43:21 +03:00
Iris Ward 217f425f09 Propagate cdNumber change
Include the cdNumber counting change in the text flavour PJM code.
2015-09-23 15:38:52 +01:00
Iris Ward 33c3d8b2fc Fix LINQ brainfart
Also tweak code alignment to use spaces rather than tabs
for alignment that doesn't affect indentation level.

Where(...).Count() > 0  ===>  Any(...)
2015-09-22 23:36:34 +01:00
Iris Ward d153c00c77 Add controller types to sync settings 2015-09-22 22:47:23 +01:00
Iris Ward 7e2d4a75b4 Use overloaded this[] rather than .Add on header import 2015-09-22 22:46:59 +01:00
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
adelikat 819a13a6f0 Tastudio branches - save the OSD frame buffer to disk as the size that it is 2015-07-25 12:04:39 -04:00
Suuper 3c3cdc4590 Fixed a display bug cauased by player highlighting
(also renamed a variable and changed comment lines)
2015-07-23 13:30:25 -05:00
Suuper f9cd2f4075 -TAStudio: Players' 2, 4, etc input columns have darkened bg colors.
-LagLog is now moved over to new savestate-anchored movies
2015-07-23 12:55:22 -05:00
nattthebear e43e89e5cc tasproj branch thumbnail: change load to simply load whatever size is present in the zip file. 2015-07-22 18:02:38 -04:00
Suuper 01290d2e59 -Allow creating savestate-anchored movie from savestate-anchored movie
-Fix marker placement in savestate-anchored movies
2015-07-22 15:08:50 -05:00
Suuper 52544efec9 -Branches now have their own undo history 2015-07-22 14:31:47 -05:00
Suuper 6f105f6ee8 -Better fix of lag log clearing.
-Current branch is now highlighted in BranchView
2015-07-22 14:14:33 -05:00
Suuper 635ad9c01d -Fixed LagLog.Clone (was putting LagLog in the new WasLag)
-Fixed lag log being cleared on re-loading branch
2015-07-22 13:17:24 -05:00
nattthebear 862f82b1b2 Screenshots on tasproj branches 2015-07-21 19:41:57 -04:00
nattthebear 14db42c28a Stuff. Sorry, I'm having a bad day. 2015-07-19 17:09:05 -04:00
nattthebear e280e4f55c TasMovie Branch internals 2015-07-19 15:57:40 -04:00
adelikat 4188f2105e Tastudio - branches - ability to load a branch, currently the frame buffer does not have OSD info 2015-07-19 10:37:53 -04:00
adelikat 1af28239dc Tastudio - lots of progress on branches 2015-07-18 22:20:38 -04:00
adelikat ebe23ada64 Tastudio - save the lag log into regular mainform produced savestates 2015-07-18 09:48:14 -04:00
Suuper 07a8a4c1d3 Removed SuppressGreenzoning because TAStudio should not allow the user to be on a frame that isn't "greenzoned". It will now jump back to the greenzoned area immediately when an edit invalidates part of the greenzone, and pause there until mouse up.
This fixes a bug which caused TAStudio to generate and keep invalid savestates.
2015-07-15 14:26:56 -05:00
Suuper e3a8c33be5 -Fixed typo in variable name (SupressGeenzonging)
-Removed state capture from TasMovie.RecordFrame
-Fixed: States weren't captured while left mouse button was still down from clicking a frame.
-TAStudio now automatically captures after loading a new movie.
2015-07-13 22:06:21 -05:00
feos 451fd779bc tastudio: apply autohold to appended frames.
needs current frame to be emulated with autohold already to pick up the pattern.
2015-07-13 22:44:17 +03:00
adelikat 7ecf96772c tastudio/lua - implement tastudio.setlag() 2015-07-09 13:16:55 -04:00
feos 53c415a843 tastudio: keep track of rerecords, increment them in InvalidateAfter()
markers: fix input roll context menu command removing Markers
gpgx: updated dll
2015-07-09 00:48:04 +03:00
adelikat 19423092cd Tastudio/lua - implement tastudio.ongreenzoneinvalidated 2015-07-02 14:51:42 -04:00
adelikat 13044547e4 Tastudio - fix issue #446 - don't greenzone between the mouse down and mouse up events when editing input 2015-06-28 10:43:45 -04:00
adelikat 7c35d7b80d AppleII mnemonics - make L and R uppercase to be consistent with other alphanumeric buttons. I don't think this change breaks anything, other than cosmetics when looking at pre-existing Apple II movies 2015-06-21 16:20:39 +00:00
adelikat c23e69a810 When loading GBA movies, load the correct core too 2015-06-21 13:32:53 +00:00
adelikat 55b4991d8e Fix bug where movie was failing to go into finished mode and would crash instead, fixes issue #429 2015-06-14 13:29:19 +00:00
adelikat 7a090edcb0 hack to fix a bkm to bk2 bug 2015-06-08 22:49:30 +00:00
adelikat 0cb912cfb2 Apple II mnemonics 2015-05-18 02:01:57 +00:00
adelikat 0d59fd622e Apple II - mnemonics 2015-04-19 14:18:35 +00:00
SuuperW 52659ac9a9 -Hacky removal of a useless save when loading a TasProj
-Made ControlsOrdered much faster
2015-03-23 21:16:13 +00:00
SuuperW 9d7a522576 Fix, fix, fix... 2015-03-23 20:15:35 +00:00
SuuperW 9b8d2f70ab Various fixes 2015-03-22 16:55:34 +00:00
SuuperW 7e29f04f01 -Macros work without a TasMovie
-Bugfix: Display showed movie still playing after last frame
-Bugfix: Autorestore frame was lost when making rapid changes
-Bugfix: Canceling conversion of movie to TasProj stopped movie.
2015-03-20 16:53:42 +00:00
SuuperW 9328dd2f3a -TAStudio automatically set Read-Only
-TAStudio no longer refreshes every frame if playback cursor isn't visible; slight performance boost
-Editing while in playback won't mess up the LagLog (states still do)
-Fixes to rotated display and HBar scrolling
2015-03-19 19:55:38 +00:00
SuuperW 91dc780103 Fixes/changed to state history saving.
State History Integrity Check now stops at the last state.
2015-03-17 01:02:38 +00:00
SuuperW 6783978f49 Bugfix: Extending movie by painting invalidated last frame
Moved GreenzoneCurrentFrame call to a new method called after frame advance.
Feature: Scroll to marker
Page up/down now scrolls by one page
Scrolling via dragging bar and via wheel now both have the same max value.
2015-03-16 20:42:14 +00:00
SuuperW a3eadc8e5f Various bug fixes, most to TasStateManager. 2015-03-16 16:36:00 +00:00
SuuperW 37590e7ea4 TasStateManager can now save states to disk. 2015-03-15 06:26:57 +00:00
SuuperW c661591c5c Smarter state management.
Don't focus on TasView if TAStudio doesn't have focus.
Bugfix: Scrolling with wheel didn't update pointed cell
Setting: Scroll to top/bottom/center
Follow cursor hotkey
2015-03-14 16:38:07 +00:00
SuuperW 1a0476892f Bugfix: TasProjects without states loaded without a power on state.
Bugfix: There were several ways to edit movie in TAStudio without rewinding to edited frame.
Smarter state management.
2015-03-12 18:31:28 +00:00
SuuperW c283f2d55a Macro tool button select works
-Recent macros list now saves
-Macros can now be saved/loaded from TAStudio.
2015-03-11 16:14:02 +00:00
SuuperW 6013b9ed2b Implemented feature: Auto-adjust Input according to Lag;
Added option: Hide WasLag Frames
-Changed implementation of TasLagLog
-Removed single-line Marker functions from TAStudio.
2015-03-10 17:11:29 +00:00
SuuperW 9891e73313 Added a couple Refreshes to TAStudio; Lag History is no longer completely cleared on making an edit. 2015-03-10 06:14:14 +00:00
SuuperW e2f79254be Changed TAStudio to not reference the no longer used StickyXORAdapter.
Chagned GetFloatValue to GetFloatState (to match SetFloatState)
2015-03-10 04:16:42 +00:00
SuuperW 7360badb4a Added AutoFire support in TAStudio, fixed/improved patterns.
-A couple minor fixes
2015-03-08 04:42:04 +00:00
adelikat 159f1d9da2 don't crash in Bk2MnemonicConstants on a "P" key from a keyboard 2015-03-08 02:50:46 +00:00
SuuperW 189ecfeb2e TAStudio:
-Undo History UI, some history bugfixes
-Painting input past the movie no longer moves markers
2015-03-04 19:03:00 +00:00
SuuperW 1e0ce3b7c1 -Feature: Changing input past the movie now extends the movie.
-Implemented max undo levels feature.
-Started making TAStudio UI for undo history.
2015-03-03 21:10:48 +00:00
SuuperW e4c4910b37 TAStudio:
-Several buggixes
-Feature: Right-click dragging frames to move/copy/clone. (Combine with Shift and/or Ctrl.)
2015-03-03 18:22:54 +00:00
christoph.boehmwalder 1d7a8e9b73 Fix a minor indexing bug 2015-03-03 17:01:54 +00:00
SuuperW e40b10a0b6 -marker undo code moved to proper place
-undo history fixes
-feature: binding markers to input
-bugfix: TasView wasn't always refreshing when inserting/deleting frames
2015-03-03 08:32:39 +00:00
SuuperW 25e54f4390 -More StateHistory names
-Smarter state history management
TAStudio: A few bugfixes and performance boosts
2015-03-03 06:56:45 +00:00
SuuperW 2c876858f2 -Bugfix: TAStudio couldn't re-save a project.
-Bugfix: tasproj files without StateHistory couldn't load.
-Gave a bunch of StateHistory stuff proper names.
2015-03-02 23:43:52 +00:00
SuuperW bff3d64a4a -Various fixes, mostly to Undo/Redo.
-Changed Program.cs to not use a couple try statements when debugger is attached.
-Implemented the Undo/Redo menu item buttons.
-Ctrl-deselecting frames in TasView now supports dragging.
2015-03-01 19:29:33 +00:00
SuuperW 6639bbd127 -Reverted a change to TasMovieMarker, made Undo/Redo moving markers re-sort the markers list.
-Added file that was supposed to be in previous commit
2015-03-01 15:41:54 +00:00
SuuperW cf081ce1fc TAStudio:
-Moved Toggle/SetStates from TasMovie.cs to TasMovie.Editing.cs
-bugfix: Yet another bug in setting LastVisibleFrame
-Removed unused declaration
-Fixed MarkerControl to not mess up display when a deleted marker is still selected.
-feature: Basic undo/redo history functions seem to work. (Ctrl+Z/Y in TasView)
2015-03-01 05:47:32 +00:00
adelikat dd28c386de Fixes to how firmware is added and loaded from movies 2015-02-26 21:58:44 +00:00
adelikat 240b89082b Tastudio - fix capturing during the movie playback frame loop, used some duct tape for now, need a better solution 2015-02-24 21:56:01 +00:00