Commit Graph

1542 Commits

Author SHA1 Message Date
hegyak 2f036058f6 Fix the Apple IIe being labeled as PlayStation (Title) 2016-04-22 16:54:23 -07: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
zeromus 859f4e3c01 fix 2 watch-related bugs and a typo in an error message 2016-04-15 22:43:14 -05:00
nattthebear 111648cf98 Break a bunch of memory domain stuff with pointless refactoring 2016-04-13 19:50:06 -04:00
Hathor86 8cd88cdeca ApiHawk - Add few other system inputs
SNES, SMS, Genesis, N64, GB
Following some tests, it works (so I'd say that this feature is beta)
2016-04-06 22:11:00 +02:00
zeromus 5024f6022e console log lua exceptions, workaround for #607 2016-03-31 14:11:34 -05:00
Hathor86 fcb0c8bc32 Work on input get/set through ApiHawk
Convertion has been moved to dedicated class

SystemInfo class review

SystemInfo class now instanciate all SystemInfo and stores them in a
static readonly collection (avoid creating a new class each time we call
DisplayName property).
+ EmulatedSystem enum (in Api) renamed to CoreSystem and moved to
BizHawk.Client.Common
+ this enum is used in SystemInfo class

Created a Joypad class that is populated with JoypadButton enum flags

Input get/set throught ApiHawk works for NES only. So many work remains...
2016-03-29 23:42:24 +02:00
zeromus 1b8a51e447 rework sound config dialog and sound volume control to permit independent control of volume during FF & RW, and independent toggling of sound synthesis vs volume=0 suppression 2016-03-29 03:40:37 -05:00
zeromus 10272b4857 add alternate vsync method for d3d display method, in case youre the lucky owner of a system that sucks 2016-03-27 04:49:17 -05:00
zeromus e487f1494c change display manager defaults, for evaluation 2016-03-23 20:26:31 -05:00
zeromus 3deb7fcb31 add autoprescale concept. default it to on, since really I can't think of when you'd ever not want it, except in some very low-spec system scenarios. Add NOP concept to filter chain, potentially troublesome 2016-03-23 20:26:31 -05:00
Tony Konzel 93fcb293d8 C64: Fix the build post-merge (derp.) 2016-03-15 11:38:55 -05:00
Tony Konzel 05914e1490 Merge pull request #599 from TASVideos/c64-via-timer-fixes
C64 via timer fixes (and more)
2016-03-15 10:08:17 -05:00
feos a6c3561db0 lua: movie.getinput() now fails gracefully if adapter is null.
fixes #595
movie.mode() returns a string, so make its modes look like strings in the description.
2016-03-12 12:05:24 +03:00
zeromus aa3c599882 readd y=x functionality to SetReadOnly 2016-03-10 19:03:07 -06:00
Anthony Konzel 8fd552274e C64: Discover file formats heuristically instead of by filename. 2016-03-05 15:23:22 -06:00
adelikat 234cc2e5d8 Get started on C64 support in the multi-disk bundler 2016-03-04 21:50:24 -05:00
nattthebear a87096fb85 Move around LuaInterface.dll as well in preparation for 64 bit build 2016-02-28 16:10:18 -05:00
nattthebear 2a0e859a85 Add 64 bit build (doesn't work yet), move SlimDX.dll 2016-02-28 15:06:03 -05:00
adelikat 44dc9518cf capture Sega CD flag in movies 2016-02-28 10:21:18 -05:00
zeromus 75df712563 fix ramwatch crashing bug involving core reboots and watchlist hanging on to stale emulator instances 2016-02-23 14:42:47 -06:00
zeromus 95bc69b448 some prepwork for opengl texture ID importing (skip rendertarget resolve on OGL display method) but there are still problems and it can't be enabled yet 2016-02-22 00:23:20 -06:00
feos 78f20510e5 lua: emu.disassemble(uint pc, string name = "") 2016-02-21 18:14:03 +03: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
adelikat cacfb615c4 simplify Cheat.cs somewhat 2016-02-16 20:02:57 -05:00
adelikat 3257b06f85 unnecessary usings 2016-02-16 19:57:57 -05:00
adelikat ddbaf6b2f9 Lua - registering completiosn to sublime text 2 - exclude strings from completion logic 2016-02-14 22:35:47 -05:00
adelikat b3728ff192 Make Screenshot Raw to Clipboard and Screenshot Client to Clipboard into configurable hotkeys instead of hardcoded shortcut keys in the menu items 2016-02-14 21:30:24 -05:00
AdamSturge cf76d99a52 Merge pull request #571 from TASVideos/feature/cheat-comparison-types
Feature/cheat comparison types
2016-02-10 18:58:25 -08: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
Adam Sturge c82f70763e Fixed bug where having no comparison type would throw exception 2016-02-09 20:33:44 -08:00
feos 07d4ac846b lua: memory.GetMemoryDomainSize()
fix #542
2016-02-09 17:54:11 +03:00
zeromus 97998071a7 fix bugs in lua's memorysavestate apis (fixes #565) 2016-02-08 01:28:26 -06:00
Adam Sturge 5dc31d3eb9 Fixed index bug for comparison type in Load() in CheatList 2016-02-07 21:54:45 -08:00
Adam Sturge 52c587d712 Save/Load cheats now accounts for comparison type column 2016-02-07 21:40:14 -08:00
Adam Sturge 992acd9e96 Added code to sort by comparison type. Added code to compare based on comparison type selected 2016-02-07 20:56:40 -08:00
adelikat 36b82c3563 Lua Console - add a button that installs auto-complete for all bizhawk's lua library to Sublime Text 2's lua syntax, still todo - notepad++ 2016-02-07 08:27:57 -05:00
adelikat 487fce328b Lua - add option to detect changes in scripts and automatically reload them. Have this option off by default for now. Also fix reloading of scripts which was recently broken. 2016-02-06 13:50:02 -05:00
Adam Sturge f19333dd11 Prettied up display of comparison type in cheats table 2016-02-05 20:33:21 -08:00
Adam Sturge 092b5da974 restored [ConfigPerist]. 2016-02-05 19:33:31 -08:00
adelikat 7885934a1e Add a global tools path in path config, have various tool related paths fallback to this tools folder, wire it up to hex editor .tbl files and basic bot .bot files. Change various tool paths to be . by default to point to the tools folder instead. Add tools folder to version control and builds 2016-02-05 20:46:18 -05:00
Adam Sturge 9959d61949 Added comparison type dropdown. Updated Cheat model to contain reference to comparison type 2016-02-02 20:32:46 -08:00
adelikat 8168031bed Make TargetZoomFactor a per systemId setting 2016-01-31 21:05:08 -05:00
zeromus 5e89e563d0 overhaul lua sandboxing so that each lua script has its own sandbox. elaborate tracking of winform/event ownership to ensure that lua doesnt receive calls without going through the owner's sandbox. add win32-specific speed hacks for currdir set/get at higher speed. There may be bugs in this commit, but I think we're on the right track now. 2016-01-31 19:54:55 -06:00
adelikat c510e13d82 Add an IsSGMode flag for SG-1000 when recording a new movie 2016-01-31 19:53:04 -05:00
adelikat cc1867326a Ram Search - fix "Exclude Ram Watch" option 2016-01-31 19:28:25 -05:00
zeromus 42c0b62261 fix some lua currdir bugs, but its all broken, dont pay any attention to it 2016-01-31 03:18:34 -06:00
zeromus da865e28b8 try sandboxing currenty directory harder 2016-01-31 02:40:48 -06:00
adelikat ab16e9238b Drop support for pre-1.0.5 ram watch files, I think it is safe to do this by now 2016-01-30 22:19:32 -05:00
adelikat 0013646db5 Rip out obsolete notion of a WatchList domain, change ram watch menu item to Default Domain, who's functionality is simply to decide the default domain used when adding a new watch, also add some Visual Studio designer shenanigans for a previous commit I made that broke it 2016-01-30 22:17:31 -05:00
adelikat 5ddd9e097b clean up some warnings 2016-01-30 21:28:49 -05:00
zeromus 0da6e745e5 move EnvironmentSandbox and LuaSandbox to Client.Common 2016-01-30 18:37:30 -06:00
zeromus b0ab66801f Revert "comment out feos' sandbox change so things compile"
This reverts commit 418eed6cc5.
2016-01-30 18:28:51 -06:00
adelikat 418eed6cc5 comment out feos' sandbox change so things compile 2016-01-30 18:10:23 -05:00
adelikat ca3b43973c Load Lua session - when loading a relative path, drop the .\ part, I'm disappointed in Path.Combine 2016-01-30 18:08:54 -05:00
feos 7409a32658 lua: attempt to use sandbox in callbacks. 2016-01-30 23:26:27 +03:00
feos c641d94e05 lua: movie.save
see #384
2016-01-30 16:10:28 +03:00
feos a821fce6c8 typo 2016-01-30 16:10:27 +03:00
feos 7421bd7244 lua docs derp 2016-01-27 17:06:22 +03:00
feos 3c779a897b lua: emu.setislagged() 2016-01-27 16:41:41 +03: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
zeromus 2765961984 load NSF without annoyance 2015-12-31 12:37:48 -06:00
Hathor86 da25052e09 Just few comments on above notwa's method :)
(Oh and transform string concatenation with + to a string.Format)
Also made a small fix to externaltoolmanager
2015-12-24 14:00:08 +01:00
Connor Olding f0c939d87c reimplement strings for OSD watches
also fixed saving separators
2015-12-23 17:18:39 -08:00
Hathor86 a7074c6341 ExternalToolManager and BizHawkExternalToolattribute
Add those 2 classes in order to help handling of external tools
- Also fix value setting in watches constructor
- Bugfix in loading externaltools (they loaded multiple times)
- Add new version of Hello World external tool
Whitespaces noise in RamWatch.cs... :s The code hasn't changed
2015-12-13 21:38:35 +01:00
feos c1e70077c8 instafix #546 2015-12-13 00:00:22 +03:00
Hathor86 21e25555d0 BytWatch ValueString property fix
Call GetByte() instead of _value field (like other watches)
2015-12-10 10:25:45 +01:00
Hathor86 7779b2f7db Fix RamSearch value
Fix has been done on constructor of each watch. Call GetByte / Word /
DWord if value is 0.
It ensure that previous passed in parameters remains unchanged
2015-12-10 00:34:07 +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
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
adelikat 3ba965321a make bizstring.split() 1-based 2015-09-09 19:57:14 -04:00
zeromus 21da5ad45a allow user to suppress doubleclick-to-toggle-fullscreen behaviour 2015-09-08 14:03:52 -05: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
adelikat 08978978d0 issue #493 - add option to not display OSD messages 2015-09-05 16:48:37 -04:00
adelikat 407f44bf96 Fix issue #461 - broken by Tastudio autofire patterns, THIS BREAKS TAStudio autofire patterns, they need to be fixed, in a way that doesn't break autofire 2015-08-24 20:51:53 -04:00
zeromus 7e828d5618 d3d display method 2015-08-24 13:10:50 -05:00
zeromus 3f78e2e70f add feature to display config > misc tab for disabling display of screen and hud for true maximum turbo performance. also display FPS in window caption during that mode, so you can still tell what's going on 2015-08-17 23:26:19 -05: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
zeromus 66c2d48e8d throw slightly more descriptive warning when loading a cue with a missing bin 2015-08-08 16:40:37 -05:00
zeromus 2a8ed31cbf add a bad PSX dump and change rom status printout a bit 2015-08-08 15:58:17 -05:00
feos e687c4ab1a tastudio: don't count rerecords while drawing 2015-08-06 20:03:30 +03:00