Commit Graph

1197 Commits

Author SHA1 Message Date
adelikat 01ed8f2064 Apple II - path config stuff 2015-04-15 22:27:25 +00:00
adelikat 1bcf2ae684 Apple II - multi-disc support using XmlGame (the same file format as dual GB), currently no ui to make an xml. Added Previous and Next Disk controller buttons 2015-04-12 23:38:19 +00:00
scepheo abf1e55934 A bit of testing with Lua. 2015-04-10 14:11:01 +00:00
adelikat 5b15638671 Lua - issue 404 - add a Genesis library with the ability to toggle bg layers 2015-03-28 00:42:36 +00:00
adelikat 6ea50f6e49 Fix issue 410 - Lua - don't crash on lua script errors in savestate and frame events 2015-03-28 00:26:10 +00:00
adelikat 4e9e2ffa37 Lua - readbyterange - pass a table of strings not ints 2015-03-27 23:34:25 +00:00
adelikat bf034b880f some misc bug fixes in some lua functions 2015-03-27 23:29:15 +00:00
adelikat 16e9bc7d38 Fix some lua documentation 2015-03-23 22:22:02 +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
pjgat09 c829887f00 Ram search: fix equal/not equal for float searches 2015-03-21 00:13:53 +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
zeromus b869662792 never have analog controls that arent integerized 2015-03-10 03:34:24 +00:00
zeromus 777fbeda45 extract NormalizeFloats in controller logic so it can be done at the right time, if anyone can figure out what the right time is 2015-03-10 02:55:55 +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
zeromus 4d89558301 fix multihawk opengl window mixup and change GLManager to a singleton to stop that from happening again 2015-03-06 03:05:46 +00:00
SuuperW 0e34b36fbc -Added AutoFire patterns, changed AutoFireStickyXorAdapter to use them.
-Bugfix: Painted input after the movie was recorded over.
2015-03-04 21:04:31 +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
adelikat b82e19f230 Lua - fix a relative path bug when saving a lua session 2015-03-03 01:19:38 +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
adelikat 5bcc30a832 MultiHawk - save window position and size, ui to set emulator window size 2015-03-01 23:12:41 +00:00
adelikat a40ce37d50 MultiHawk - Rom Session loading/saving/etc 2015-03-01 22:49:59 +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
adelikat 6a02656417 Tastudio - track lag log history (1 level deep) and color "invalidated greenzone" using this information (a lighter shade of normal greezone colors) 2015-02-24 21:23:16 +00:00
adelikat 817b9d83aa tabs to spaces, whitespace commits are the best 2015-02-24 20:15:43 +00:00
adelikat 634acd8fe1 TAStudio - Remove some code that captures lag and savestate info of the current frame when requesting input, because that's a bogus notion, such methods shoudln't have side effects. I was going to hack it for the scenarios where it needs to happen, but I couldn't find any downside to just deleting the code, if there's regressions traced back to this commit, let me know! 2015-02-24 03:06:15 +00:00
adelikat 29fc42ec71 Better UI for low res large screenshot feature 2015-02-23 23:43:51 +00:00
adelikat aabd3f4526 create IMovieSession with the necessary API, instead of using an instance of MovieSession, the API though is completetly horrible, we need to address this 2015-02-22 23:23:36 +00:00
adelikat be51677fde Remove Global.NullControls 2015-02-22 20:38:10 +00:00
adelikat fe00e83f6c Remove Global.DiscHopper because it wasn't even being used 2015-02-22 20:09:00 +00:00
adelikat 817c798eab Remove Global.CoreComm since it was pointless 2015-02-22 20:06:30 +00:00
adelikat fd1621a536 pass in an Emulator instance to QueueNewMovie() 2015-02-22 19:57:24 +00:00
adelikat 1d3e0471d7 Remove references to Global.MovieSession in MovieSession itself 2015-02-22 19:47:14 +00:00
adelikat 7e92f38eb3 AutofireController - pass in an instance of an emulator rather than use Global.Emulator 2015-02-22 18:02:56 +00:00
adelikat 36f4eff0f6 add ByteSize to MemoryDomain with a default of 1, set it to not 1 on appropriate domains (I probably missed some, or got some wrong). Have RamSearch use that instead of SystemInfo, remove ByteSize from SystemInfo since it is no longer needed 2015-02-22 15:19:38 +00:00
jdpurcell 730694644d Add option for OpenAL on Windows. 2015-02-19 03:22:20 +00:00
jdpurcell c56edd6e93 Add OpenAL sound output.
XAudio2: Some stuff I forgot to dispose.
2015-02-19 02:30:55 +00:00
adelikat 5183a8e20d Nothing to see here 2015-02-17 22:58:25 +00:00
goyuken 72ca2d15f8 add .bmp extension to the savestaten screenshot filename, because that's waht it is 2015-02-17 02:32:52 +00:00
goyuken 30fea2e6a7 screenshot: add optimized hotpath for original size screenshots 2015-02-17 02:31:56 +00:00
goyuken ad08c0abfb minimally connect up new screenshot code 2015-02-17 02:08:08 +00:00
adelikat 0316fa9817 some rom loading stuff 2015-02-08 21:51:15 +00:00
adelikat 5626473fbf When adding firmware info to movies, don't attempt to add duplicate keys 2015-02-08 20:28:57 +00:00
adelikat 5e07ab3ec3 for an unknown disc, default to psx instead of pce-cd, since that is far more likely to be what they are attempting to open 2015-02-08 18:31:16 +00:00
adelikat e020574b8d Store served firmware information in movie headers 2015-02-06 00:16:53 +00:00
goyuken a782fdb315 take 2 2015-02-05 23:53:25 +00:00
goyuken 995f670d36 frontend tracks loaded firmware: proof of concept 2015-02-05 23:25:28 +00:00
adelikat 6fb2599320 Disable new movie import system, since I won't be attempting that seriously any time soon 2015-02-05 22:34:41 +00:00
adelikat 124ee7b236 start a movie import refactor, and start implementing a new fm2 importer as a proof of concept, does not do anything useful yet (such as SyncSettings and input) 2015-02-05 02:19:46 +00:00
adelikat 60ed815b68 add some plumbing for a PJM importer 2015-02-03 00:24:38 +00:00
adelikat 1202305a47 move MovieImport.cs into an import folder in preparation to break it up 2015-02-03 00:15:36 +00:00
goyuken 450e4b60cd fix broken movie savestates 2015-02-02 22:43:15 +00:00
goyuken f956b3257f savestate framebuffer as bmp with customizable size 2015-02-02 00:25:50 +00:00
goyuken b3b37c46c3 possibly fast light bitmap saver with resize, TODO hook up to something 2015-02-01 22:49:53 +00:00
zeromus 62d781b960 add load last rom hotkey 2015-02-01 04:52:02 +00:00
zeromus 213da3a74c when adding a hotkey, the ordinals... i have to set over 9000! theres no way that can be right! 2015-02-01 04:48:03 +00:00
jdpurcell 5eee1cd306 Add UI for choosing between DirectSound / XAudio2.
Always use new sound output buffering (remove option).
2015-01-31 06:40:14 +00:00
jdpurcell 83e8abc963 XAudio2! There's no UI for it yet. 2015-01-31 04:49:53 +00:00
adelikat 22c62d16a9 better catching of error in lua callbacks 2015-01-31 02:25:23 +00:00
adelikat 4ee4c449aa Lua - memory read/write callbacks - oops, specify them as read and write, not execute 2015-01-31 01:45:45 +00:00
adelikat b1b94da6ef Lua Sessions - make scripts relative to the lua session instead of relative to the .exe, note: this wrecks existing luases files 2015-01-29 02:08:12 +00:00
jdpurcell 58cd9796f2 Allow CPU throttle to catch up for more than 3 missed frames if the user has configured a large sound buffer size.
SoundOutputProvider: Better workaround for cores whose audio output goes dead (0 samples) at times. Better underrun handling. Different threshold for samples surplus vs. deficit.
2015-01-28 00:53:49 +00:00
adelikat 9757709242 Lua - check if memory callbacks are implemented before attempting to remove memory callbacks 2015-01-27 21:48:18 +00:00
adelikat 8371c23830 WatchList - use the new watch to string method, did not wire up the from string, since the load code while very poorly coded, both works and supports legacy formats including older rerecording emulators 2015-01-27 02:55:31 +00:00
adelikat f547dfbb21 some fixes to last commit 2015-01-27 02:53:57 +00:00
adelikat bb2cd1b476 Ram Watch - support copy and paste (generates and receives the same text as would be in a .wch file) 2015-01-27 02:37:18 +00:00
adelikat 8246de14aa IMemoryCallbackSystem - add a flag to indicate whether execute callbacks are available, in lua and the debugger, take this flag into account, also improve some availability checking in Lua memory callbacks. Flag N64 as not having execute callbacks available 2015-01-25 22:14:58 +00:00
adelikat 0d54298f02 Lua - memory domain - if a domain isn't writable, error when attempting to write to it 2015-01-25 20:20:43 +00:00
adelikat 1235246d19 Multitrack recording - support analog input 2015-01-25 19:21:50 +00:00
jdpurcell 8fe850ba1b Rewind speed setting.
Add comment to clarify the various methods of unthrottling.
2015-01-25 18:34:53 +00:00
adelikat 033b576cd3 some useless csproj snazziness 2015-01-25 17:50:54 +00:00
adelikat 0d43688138 Change default savestate compression level to 0, I haven't seen a situation where 5 is better 2015-01-25 13:00:01 +00:00
jdpurcell 69c66d12b1 Configurable DirectSound buffer size.
A bunch of changes in Sound / SoundOutputProvider to support this and behave nicely.
2015-01-25 03:33:45 +00:00
adelikat 779d7c0cee Lua - memory library - default to main memory if user did not specify a domain 2015-01-24 21:33:52 +00:00
jdpurcell e3e5ae4934 New SoundOutputProvider class which takes the place of BufferedAsync. This should be far less prone to audible glitches and reduces latency. 2015-01-23 04:16:25 +00:00
zeromus 2a1f40982c dont know how valuable it will be, but just in case.. 16.16 fixed point support 2015-01-22 01:24:20 +00:00
jdpurcell 0ca93f35ba Rewinder - small fix to memory allocation limit. 2015-01-19 19:48:04 +00:00
adelikat 4c47ef2f3f Watch.cs - an remove an int cast I missed when converting domain size to long 2015-01-19 02:58:18 +00:00
jdpurcell 6da53b535b Use threaded rewind by default on multi-core/processor machines. 2015-01-18 21:20:21 +00:00
adelikat 515a41592c Convert a whole bunch of ram stuff from int to long 2015-01-18 18:59:23 +00:00
adelikat 12c3cb0b40 oops, and that todo 2015-01-18 17:28:26 +00:00
adelikat 71438b2de6 remove a todo 2015-01-18 17:28:02 +00:00
jdpurcell 45ae0bb207 Fix potential (but rare) rewind savestate corruption when threaded option is enabled. 2015-01-18 15:38:49 +00:00
adelikat 91ffc17aae Refacotor MemoryDomain.Size to be long instead of int, still some small todos, but it compiles and seems to work 2015-01-18 15:25:47 +00:00
jdpurcell 423376835c Rewinder - when reallocating buffer, make sure we have released all references to the old buffer first to free up memory for the new buffer. 2015-01-18 00:56:32 +00:00
jdpurcell bcb6b20ec2 Rewind - if memory allocation fails, back off the size until successful. 2015-01-18 00:20:49 +00:00
jdpurcell 40bfe91238 Rewinder - small optimization to previous bugfix and rename misleading method name. 2015-01-17 20:53:01 +00:00
jdpurcell c23e60ac62 Fix several pre-existing bugs (doubt they were triggered often). 2015-01-17 20:37:00 +00:00
jdpurcell 0a9b07ac32 Small cleanup. 2015-01-17 19:22:21 +00:00
jdpurcell 4a40408f1d Use variable length integers for the rewind state deltas to reduce size. 2015-01-17 19:16:22 +00:00
jdpurcell f11158ac86 Would be nice if it compiled though. 2015-01-17 06:20:00 +00:00
jdpurcell 112d794f11 More optimization. 2015-01-17 06:19:13 +00:00
jdpurcell b4a4c04844 Remove unnecessary bounds check. 2015-01-17 04:13:05 +00:00
jdpurcell f99338dc2e Optimization (25% faster or so). 2015-01-17 03:55:41 +00:00
adelikat ec9bc9462b fix slowdown in movie finished mode 2015-01-16 17:56:56 +00:00
goyuken 82fcd0bc5e refactor IVideoProvider into a service. uses in mainform and friends are still hacky 2015-01-14 22:37:37 +00:00
adelikat fbdb29b64c refactor IMemorydomains to be a domain list instead of having a domain property, refactor cores to register an IMemoryDomains instead of being one 2015-01-14 21:55:48 +00:00
goyuken f69718f57e provide intelligent message on trying to load CD from archive. this causes no change in functionality, as following that codepath would fail 100% anyway 2015-01-14 18:07:03 +00:00
jdpurcell 36d98f28a6 Always use Low CPU clock throttle mode; remove option. 2015-01-14 04:49:18 +00:00
adelikat 9358e24213 IMemoryDomainList - downgrade from IList to IEnumerable, refactor a spot that needed something more than that 2015-01-14 00:34:50 +00:00
adelikat 418d80b0e8 Lua - Memory library - simplify some code 2015-01-14 00:25:25 +00:00
adelikat d62ba4e2b4 Change IMemoryDomains to have an IMemoryDomainList instead of a MemoryDomainList, this is an incremental step into eventually having IMemoryDomains take over the properties of IMemoryDomainList, still todo: reduce the amount of needed functionality in IMemoryDomainList from old and not good code 2015-01-13 22:18:07 +00:00
jdpurcell 0a345b0084 Issue 368: Set all platform targets to x86, rename build platforms to match, and remove unused build platforms. 2015-01-13 15:28:58 +00:00
jdpurcell 28f1ad1c0e Allow clock throttle to take over for audio / vsync throttles during fast forward or rewind for proper speed control. 2015-01-13 04:21:32 +00:00
adelikat 21f5209726 oops, fix movie recording that was busted by revision 8761 2015-01-12 22:48:57 +00:00
jdpurcell e66fe70365 Proportional rewind speed is now always enabled - revert user-configurable setting.
Fix fast rewind with proportional rewind speed.
2015-01-12 15:09:27 +00:00
jdpurcell 3d37e3dc5a Option to make rewind speed proportional to rewind frequency. 2015-01-12 05:30:27 +00:00
adelikat c8c563153c Bk2 input display generation - don't generate the mnemonic string twice, one time per function call will do 2015-01-11 15:50:01 +00:00
adelikat d560eb80b4 BK2 mnemonics - support up to 8 players by default (without the need for a platform override) 2015-01-11 15:44:12 +00:00
adelikat 5e73e82b29 Fix the "pause" movie end option 2015-01-10 15:49:31 +00:00
adelikat 57023ffcb7 Movie playback - fix issue 358, duplicate input after a movie ends, note: this commit could be a breaking change for other movie related things (such as alternate movie end types other than the default of "finished") 2015-01-10 15:12:58 +00:00
adelikat fdc290cc14 Roll back last commit, nevermind. 2015-01-06 02:29:30 +00:00
adelikat f88b5389c1 Break everything. Seriously, a total cock-up. But also: Fix issue 358, duplicated input after a movie ends. Movie recording isn't obviously horribly busted from this, but just about anything movie related is now possibly busted, if you are looking for some mysterious regression in some movie feature, here's a good place to start! 2015-01-06 02:10:21 +00:00
jdpurcell 8c41af53d1 Option to automatically check for and notify of new versions. 2015-01-04 15:04:44 +00:00
adelikat 6c4a32d517 Virtualpads - when right-click auto-firing - take lag frames into account 2015-01-04 13:45:43 +00:00
adelikat 6835da1e45 VirtualPad - basic buttons - when right-clicking for autofire, respect the frame that autofire started on 2015-01-03 20:05:04 +00:00
adelikat 2f8a59a219 When the "Pause" movie end option is selected, fix bug where unpausing keeps repausing the emulator, now it will pause on movie end, and advancing further will stop and close the movie 2015-01-03 03:27:17 +00:00
christoph.boehmwalder c3f51f8b39 Made saving a little more convenient by putting it in its own thread. Might be very buggy still.
Also temporarily disabled reading TAStudio settings in PlaybackBox because of a NullReferenceException
2015-01-03 02:29:55 +00:00
jdpurcell d9bb7390be Add menu option for low CPU clock throttle.
Enable use of Stopwatch for clock throttle timing on non-Windows platforms (seems safe enough).
2015-01-02 22:57:27 +00:00
adelikat 3c83911c4f Ram Search - don't allow undo to the original list, a user can easily start a new search to get to that state, and allowing it means undo already starts out with a full list eating a lot of RAM for no benefit 2015-01-02 22:18:53 +00:00
adelikat 6f4b01417f Lua - convert SNES library to service injection system 2015-01-01 20:37:31 +00:00
adelikat 01019686cf lua - convert memory libraries to use service injection 2015-01-01 20:19:20 +00:00
adelikat b6e33d010a Lua - gameinfo library - convert to using service injection 2015-01-01 20:08:03 +00:00
adelikat f6c2b4e897 Lua - event library - convert to service injection system, fix OnInputPoll() to return a GUID like every other event 2015-01-01 20:01:37 +00:00
adelikat 58616ff001 lua - Emu library - convert to service injection model, fix emu.getregister(s) that was broken when refactoring core methods for better debugger support 2015-01-01 19:52:53 +00:00
adelikat 5bba86e23a GB Game Genie - convert to IToolFormAutoConfig 2015-01-01 19:07:57 +00:00
adelikat bb5b20cc33 Gensis Game Geneie Encoder/Decoder - convert to IToolFormAutoConfig, fix a bug that would have made it never be available, make it available on non-interm builds (I think the issue keeping it unreleased was a core endian issue that was resolved), add a menu item for it in the Genesis menu 2015-01-01 19:02:00 +00:00
adelikat 93fe387311 NES Game Genie - convert to IToolFormAutoConfig, also fix a bug that would have made it never show up as available 2015-01-01 18:51:24 +00:00