Commit Graph

1366 Commits

Author SHA1 Message Date
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
Hathor86 708bb4fa93 Final stuff to WatchList
Now fully use comparer class. That saves memory and offer extensibility
ItemCount property obsolete => Moved to Count property (which did the same thing)
Moved ConfigPersistAttribute.cs, IToolForm.cs, IToolFormAutoConfig.cs back to common
2015-12-09 00:54:54 +01: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 33fd1d86ea welp 2015-12-05 17:07:57 +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 d0772a6b44 reduce default binding repetition.
add tastudio hotkeys and tip.
2015-12-05 14:48:04 +03:00
feos 6d4c5ef17f preparations for state hotkeys functioning with tastudio branches.
typos.
2015-12-05 14:48:04 +03:00
adelikat 48487f2a90 Sort out and fix problems with Ram Search watch files showing up in the Ram Watch recent list 2015-12-04 23:18:46 -05:00
Hathor86 31cc08a954 More WatchList comments
Finished coments on WatchList object
2015-12-02 22:48:30 +01:00
Hathor86 32271899c3 Comments on Watch derived class; started on watchlist
+ Moved WatchList.cs to specific directory (just a matter of ordering)
+ Mark some properties and methods in watchlist as obsolete
+ Create Comparer class that are used for sorting (Only domain and
address atm, other a still stored with linq). Unlike OrderBy in LINQ, it
doesn't create a new list for sorting (so it saves memory), furthermore,
it runs faster.
Finally, change to type of Watch.Address from nullable lon to regular
long (the rare times watch.Address.Value was used, there wasn't any
check of null and so, program would have crashed -
InvalidOperationException -)
2015-12-01 22:18:55 +01:00
Hathor86 ee860fd820 Quick fix of save watch
Wrong ToString() method was called when writing
Reading was ok
2015-11-30 18:27:55 +01:00
feos 3c07f7e649 lua: optional domain for memory functions.
fixes #538.

I tested heavy memory reading, and it's not adding noticeable overhead.
2015-11-29 22:56:28 +03:00
feos eb41e8a8e0 lua: remove registered functions on toggle option. 2015-11-29 22:56:28 +03:00
Hathor86 e7de250fb2 Comments on ByteWatch
Also moved nullable value type to non nullable (with exception
prevention).
2015-11-29 17:13:32 +01:00
Hathor86 01639c3e10 Watch comparaison interfaces implementation
Watch now implements IEquatable<Watch>, IEquatable<Cheat>,
IComparable<Watch>
Operators had also been overloaded. You can now put watches from SAME
domain in a list and easly sort them.
Sorting is based on address first then size.
2015-11-29 13:46:50 +01: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 128c09e7b4 progress with lua:
- added fceux and gens/snes9x pixelated fonts
- added gui.pixelFont() function for them (no resizing, so perfectly scalable)
- added background to drawText and pixelText (halo was painfully slow, so just a box)
- reordered fore and back colors for gui.text (no need to specify back every time we want to change fore). thought its back color was shadow, that is obsoleted by halo now, whose color we can't change. anyway, it's way slower than simple text functions, so they should be used mostly.
- option to toggle all scripts if none is selected. greatly reduces routine when heavily tweaking a script, and is just generally pretty.
2015-11-28 22:19:15 +03:00
Hathor86 565f19fc83 Watch: Comments & reordering
Just comments some methods and reordering them
2015-11-27 13:43:49 +01:00
Hathor86 d4b4c06f0c Draft of API
So, I create a new dll named BizHawk.Client.ApiHawk and moved few stuff
to it.
Also moved some stuff to BizHawk.Client.Common. Don't think it can be
desiociated.

I started comment Watch and rearrange code (put some #region etc...

It compiles and it seems working :)
2015-11-26 23:05:29 +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 d92eed5845 Menuing
Change the menu item name
Change interface name
turn menu item into a submenu dynamically filled
2015-11-21 01:03:48 +01:00
Hathor86 bae4d53cbf merge remote master 2015-11-20 13:14:38 +01:00
zeromus 28eae0dcb1 Revert "Revert "common logic for tempfiles""
This reverts commit 5196fc6b70.
2015-11-17 17:26:03 -06:00
zeromus 5196fc6b70 Revert "common logic for tempfiles"
This reverts commit 5afa44bbec.

and also "fix regression in libretro core loading and streamline open advanced libretro ui"
59048264cd but tortoisegit didn't put that in the commit message.
2015-11-17 17:10:27 -06:00
zeromus 6f71956faa add lousy logic to fix cheat compares 2015-11-15 18:22:12 -06: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
zeromus 75be59a650 revise UDLR mutexing to be a bit more graceful 2015-11-15 00:18:52 -06:00
zeromus d24f778a40 try supporting U+D/L+R priority control in addition to allow and forbid 2015-11-14 01:49:16 -06:00
zeromus aa3f916e7b fix error in previous rewind-related commit. im thinking it might not have been such a great idea now... 2015-11-09 20:52:04 -06:00
zeromus 2bf48e3c86 dont savestate at all if rewind is completely disabled 2015-11-08 22:18:04 -06:00
zeromus 53fcc09c08 various bugfixes to system/save pathing and support CAN_DUPE, to stabilize the gambatte and neopop cores 2015-11-08 19:18:08 -06:00
Hathor86 cc2c888870 Merge remote-tracking branch 'refs/remotes/TASVideos/master'
Conflicts:
	BizHawk.Client.EmuHawk/MainForm.Designer.cs
	BizHawk.Client.EmuHawk/MainForm.cs
	BizHawk.Client.EmuHawk/tools/CDL.Designer.cs
	BizHawk.Client.EmuHawk/tools/CDL.cs
	BizHawk.Client.EmuHawk/tools/CDL.resx
	BizHawk.Common/InstanceDll.cs
	BizHawk.Emulation.Common/CodeDataLog.cs
2015-11-08 22:41:51 +01:00
zeromus b745d5776a tidy libretro core info and use recommended extensions 2015-11-07 19:59:10 -06:00
zeromus 5c16f8b107 fix some assorted bugs, and experiments with handling more environment calls 2015-11-07 02:29:04 -06:00
zeromus 7651f418fe usably functional libretro player 2015-11-07 00:14:59 -06:00
Hathor86 f70a2c8c6c Merge from TASVideo 2015-11-01 22:01:19 +01: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
zeromus 4fe51a1364 support custom AR selection in addition to custom exact-specified resolution 2015-10-25 02:15:59 -05: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
zeromus 76731ba0e7 Add TempFileCleaner 2015-10-24 02:48:16 -05:00
zeromus 93e7c91ee9 clean up lua console pause/stop behaviour a little bit and add listview icons to make it more clear what's going on 2015-10-22 16:28:52 -05: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
adelikat aa01b725a6 Also handle lack of input callbacks when removing a lua function, not just on clear all 2015-10-17 20:03:07 -04:00
adelikat ac43fe203b Remove System.Windows.Forms reference from Client.Common 2015-10-17 19:28:20 -04:00
adelikat 2895c78be8 Move GLManager from Client.Common to Client.EmuHawk, it is inappropriate to be in Client.Common 2015-10-17 19:27:30 -04:00
adelikat 6ff3215a5f Move Exception box from Client.Common to Client.EmuHawk, it is inappropriate to be in Client.Common 2015-10-17 19:18:37 -04:00
adelikat 75e6216ca2 Rom Loader - don't call message boxes, use the error callback 2015-10-17 19:11:04 -04:00
adelikat 8f716363a7 Move UIHelper from Client.Common to Client.EmuHawk, it was inappropriate to be in the common library 2015-10-17 19:01:38 -04:00
zeromus 595f466ded add a custom exception display box 2015-10-17 01:18:37 -05:00
adelikat 32a2711303 When clearing lua callbacks, handle the case that input callbacks might not be implemented, also handle memory callbacks in a more consistent way 2015-10-12 19:02:03 -04: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
zeromus 1e07625d1d d3d display method: do a better job of surviving device resets 2015-10-11 21:03:16 -05:00
Hathor86 b55a175556 Merge remote-tracking branch 'refs/remotes/TASVideos/master' into NewrRelease
Conflicts:
	Version/VersionInfo.cs
2015-10-11 19:51:03 +02:00
Hathor86 8f123527e8 Merge remote-tracking branch 'refs/remotes/TASVideos/master' into NewrRelease 2015-10-11 19:40:46 +02: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
Hathor86 8ad8ad2c6a Start back from initial release branch
Just to have cleaner changes
2015-10-07 23:54:57 +02: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
Suuper d1fa718120 Put my AutofireStickyXORAdapter back and fixed the bug it had. 2015-10-03 09:36:07 -05:00
zeromus f50795b180 make on-screen watches position editable via the messages configuration ui 2015-10-01 01:39:22 -05:00
zeromus e6ea96771b fix crashes removing lua callbacks on some cores 2015-10-01 01:16:34 -05:00
adelikat ba74cc5dda Remove some unnecessary previxes in Global.cs 2015-09-30 16:26:09 -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
zeromus 8f5059d53e discsystem - handle some errors that werent handled before 2015-09-16 14:27:28 -05: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 f1c77c349e Oops, add EmuLuaLibrary.MemorySavestate.cs 2015-09-10 17:36:20 -04:00
adelikat 98bc140a84 Issue #385 - Lua - add memorysavestate library for making and loading savestates in memory, with save, load, remove, and clearall methods 2015-09-09 20:47:56 -04:00