Commit Graph

3445 Commits

Author SHA1 Message Date
feos 0ec0910207 tastudio: move screenshot popup to yet another control to allow fading
avoid false branch 0 hover when entering branch view from the top

todo: hide screenshot when moving upwards to header cell
2017-03-08 16:31:49 +03:00
zeromus fbd7601b77 for evaluation:
overhaul snes core -- radically simplify IPC.

There were two goals
1. speedup (failed)
2. not break in the old way of becoming unstable when GC happens (uncertain)
3. lay framework for simplified libretro interface (success, provisional on #2)

the speedup failed, I think, because a slower libco is needed to coexist with .net. I think I will fix this be incorporating both libcos, one for bsnes internal use, and one for .net<->c++ switching
2017-03-06 05:21:35 -06:00
zeromus 3bb1d0849d remove noise from csproj 2017-03-06 05:21:35 -06:00
zeromus 498b2b4dd9 hex editor: add import binary tool (quick and dirty way to effect .sav importing in many cases) 2017-03-01 15:06:58 -06:00
alyosha-tas b415eb48e7 Update BizHawk.Client.EmuHawk.csproj 2017-03-01 11:18:18 +08:00
alyosha-tas 8f747e2f74 Add files via upload 2017-03-01 11:15:16 +08:00
alyosha-tas 250a3da0e9 Add files via upload 2017-03-01 11:07:39 +08:00
alyosha-tas 4fbd7ff033 Add files via upload 2017-03-01 10:57:59 +08:00
alyosha-tas da38007338 Delete blank 2017-03-01 10:53:31 +08:00
alyosha-tas 41cc01e8a2 Delete ColecoControllerSettings.resx 2017-03-01 10:53:21 +08:00
alyosha-tas 76a9328b7b Delete ColecoControllerSettings.cs 2017-03-01 10:53:05 +08:00
alyosha-tas c3b7543cfe Delete ColecoControllerSettings.Designer.cs 2017-03-01 10:52:50 +08:00
alyosha-tas ec99c8f44e Add files via upload 2017-03-01 10:52:18 +08:00
alyosha-tas a1dd3253c9 Create blank 2017-03-01 10:51:59 +08:00
alyosha-tas c96a3c9588 Coleco Controller 2017-03-01 10:48:19 +08:00
adelikat dec3a31d2b add a toggle all cheats hotkey 2017-02-25 15:32:18 -06:00
feos 5c91c2f98c tastudio: allow exporting a named state 2017-02-24 21:58:41 +03:00
zeromus 6b298f07f2 do WhackMOTW after redirecting the dll directories fully, so that the shared RemoveMOTW that I moved to a common assembly can be found (wild guess) 2017-02-23 05:27:27 -06:00
zeromus daceefdd6a fix build. buzz off. 2017-02-23 04:54:29 -06:00
zeromus 2bff78f7c6 break the build. buzz off. 2017-02-23 04:42:46 -06:00
adelikat 5d4c8020c2 Delete more stuff 2017-02-22 10:12:14 -06:00
adelikat f35717aae2 Remove yet more unused code 2017-02-22 10:11:08 -06:00
adelikat 7653b86f44 Remove some unused code 2017-02-22 10:09:44 -06:00
zeromus 569113f2f8 fix #741, maybe, by removing MOTW from external cores before interrogating them. Will it still trigger when running them, if that's done somehow before interrogating them? (untested) 2017-02-21 18:23:02 -06:00
adelikat c61d432fd6 Don't position tools to last saved position if that position is not visible on screen 2017-02-21 16:57:47 -06:00
feos b5730bda3a clarify lua doc 2017-02-19 11:56:17 +03:00
feos 03ea4f9126 tastudio: fix #806 part 2 2017-02-19 11:43:35 +03:00
feos d19fcb62ab tastudio: fix the first half of #806 2017-02-19 10:31:30 +03:00
feos 60d69db588 tastudio: stop crashing upon movie platform mismatch
make the error window topmost
2017-02-19 00:26:42 +03:00
zeromus f458648fad improve rewind in tastudio by leaving editmode intact but taking care not to clobber frames. take special pains to ensure that (reverse) frame progress vs smooth rewind semantics stay as expected. 2017-02-16 00:29:28 -06:00
feos 885a57d91e tastudio: it's never enough, fix #800 (row count cap) 2017-02-15 19:54:45 +03:00
adelikat eccfd94cce expose intellvision in the path config in release builds 2017-02-11 13:05:16 -06:00
adelikat 2f3c0af4ea Open Rom dialog - mark intellivision as not experiemental and have it show up in release builds 2017-02-11 12:45:20 -06:00
feos 5bc643f1fd tastudio: shrink the branch image like you should 2017-02-09 23:10:41 +03:00
feos 821baeb649 tastudio: captured state 0 was useless if movie conversion happened at frame>0
capture it after core reboot
2017-02-09 22:51:52 +03:00
adelikat 5277be6833 Ram Search - update the size and display type dropdowns on restart. Fixes #762 2017-02-07 18:54:58 -06:00
feos 230dcc2356 tastudio: make ToggleReadOnly() toggle read-only
this allows movie.getreadonly() return valid value
2017-02-07 19:03:46 +03:00
zeromus ea2188dc46 make tastudio.setplayback correctly restore the recording flag after it finishes seeking from the greenzone to the target frame 2017-02-07 00:01:14 -06:00
zeromus 136c071ee8 12hz is too fast for default fps updates, i cant even read it. 2017-02-06 23:17:46 -06:00
feos c739755e9b tastudio: hide whatever starts with "Key " by default
ideally, there should be separate Keys menu items in SetUpToolStripColumns() as well, moving them to a separate dropdown and hiding/showing all at once
2017-02-05 15:20:05 +03:00
zeromus d87a2b27a2 make lua's new tastudio.setplayback re-enable the record flag if it was set (the existing logic leaves it disabled I think as security against the GUI use case where users might stomp their video seeking while playing in record mode). future work: add lua control for the record mode flag 2017-02-05 04:20:07 -06: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
zeromus a70e6e2fc4 fix #790 (Scroll wheel missing from input.getMouse()) 2017-02-04 20:52:32 -06:00
adelikat 0480ea3f44 when toggling a script on, update on screen lua drawing stuff. On gui.clearGraphics() immediate update the screen 2017-02-04 15:54:04 -06:00
adelikat 3b197b8fdf lua console - roll back commit that disposes scripts when closing the window, apparnetly luainterface doesn't want you to dispose of disposable things 2017-02-04 15:30:13 -06:00
adelikat 0c7cedd2ac lua - tastudio.setmarker() - make marker message optional 2017-02-04 15:11:43 -06:00
feos 5d3435e6e6 tastudio: update caption as well 2017-02-04 23:36:17 +03:00
feos ae15073180 tastudio: fix regular movie opening from tastudio 2017-02-04 22:33:52 +03:00
adelikat 3d805a3541 null check for previous commit 2017-02-04 10:45:32 -06:00
adelikat 923565c350 Lua console - dispose of scripts when closing the console window 2017-02-04 10:32:36 -06:00
feos 51f21691fd tastudio: fix #788 2017-02-04 16:09:13 +03:00
adelikat c050eaa8c7 lua console - fix the edit button to account for relative vs absolute pathing 2017-02-02 17:48:32 -06:00
feos f860c5d8b1 tastudio: try to fix opening a bk2 directly 2017-02-01 20:41:15 +03:00
feos 7d469c08a8 tastudio: show bsnes performance mode warning
addresses #788
2017-01-31 00:00:09 +03:00
adelikat 4a7321b096 Ram watch - yet another tweak to restart logic, ugh 2017-01-29 20:21:47 -06:00
adelikat dca03607be Ram watch - another tweak to previous commit 2017-01-29 19:56:09 -06:00
adelikat c5ff514760 Ram watch - fix logic when deciding whether to keep the current watch list when rebooting the core, the check was always failing 2017-01-29 19:32:52 -06:00
adelikat af1a2547ae Add a hotkey to toggle the Skip Lag Frames option 2017-01-29 18:33:19 -06:00
feos 37a44c2b17 tastudio: fix and tweak clipboard and selection display 2017-01-26 20:21:48 +03:00
zeromus f7638e8352 "fix" client.bufferwidth and client.bufferheight .... I dont understand why they were doing what they were doing. It seems like such a simple thing, just return the dimensions of the core's videoprovider. Someone should rethink all these (and the surface names, and the padding names) and craft a complete, new design. 2017-01-26 00:54:44 -06:00
feos d8d0c62adf tastodio: completely redo branch screenshot popup just to avoid cropping
moved it to ToolTip, which feels like the proper way to do it
2017-01-22 17:46:54 +03:00
feos 74adace569 tastudio: file opener improvements
- fix opening and conversion of a regular movie
- fancy ofn filter, suggesting all available files first
2017-01-20 02:00:27 +03:00
feos ae16703ffc tastudio makers text popup:
- appears when double-clicking existing marker in tasview
- appears at cursor position when called from tasview (fancy)

this required adding optional position to ShowHawkDialog()
2017-01-19 23:24:41 +03:00
feos 17faf42b6e tastudio: try to be a bit smarter with SelectedIndexChanged
forces SetSplicer() calls, but only at InputRoll's OnMouseDown, the rest is handled by tastudio
2017-01-19 21:55:18 +03:00
adelikat 44a1e691f3 Ram Search - show restored/removed messages when undoing/redoing, fixes #749 2017-01-14 20:00:55 -06:00
adelikat 9408c3fc1a Hex Editor - Fix #761 2017-01-14 16:51:28 -06:00
feos 3548ec00dc tastudio: use Emulator the same way branch control uses it
this fixes a bug that generated a whole stack of temp fixes over temp fixes, as well as the crash those were trying to prevent
2017-01-13 18:26:52 +03:00
feos 8f8cf53052 tastudio columns: restore call missing since commit 3ea3012aa7
seems to only be needed for importing bk2s, other scenarios setup columns on their own, differently
2017-01-07 19:48:04 +03:00
hegyak 5ccde9cc71 GameGenie codes are Word Sized, not Byte Sized. 2017-01-05 05:09:56 -08:00
hegyak 33d79d233d Change the Main Form GameShark Converter to Cheat Code Converter. 2017-01-04 19:41:44 -08:00
hegyak f80662ddb1 Change the name of the GameShark Converter to Cheat Code Converter 2017-01-04 18:05:14 -08:00
feos 8bae2a4648 tastudio: fix double-click on the empty area throwing an exception 2017-01-04 20:16:34 +03:00
alyosha-tas c496674301 TASStudio revert design commit 2017-01-02 12:27:40 -05:00
feos 480bc5540f tastudio: reload the tasmovie if it was loaded outside tastudio and then tastudio was opened
also go to current emulator frame in that case

todo: one isn't expected to change anything in the tasmovie while in regular mode, otherwise something might break. fceux opens taseditor if a read+write state is about to load in such conditions
2017-01-02 13:59:00 +03:00
Isotarge ab1b1877e8 Lua: Implement forms.setdropdownitems() 2016-12-26 12:13:19 +10:30
hegyak ebe011f43a Reverse Byte and Word in tools/GameShark.cs 2016-12-22 05:15:40 -08:00
J.D. Purcell 52d604cb24 Fix turbo mode not disabling sound rendering (broken by 68a362c).
Apply FF&RW volume when unthrottled.
2016-12-20 22:41:59 -05:00
J.D. Purcell 36daa01ad6 Sound cleanup. In case you're curious, the "SilenceLeaveRoomForFrameCount" part ended up not mattering (and may have been slightly counterproductive) once SoundOutputProvider had the ability to be notified of underruns. It doesn't matter for BufferedAsync either. 2016-12-18 20:45:38 -05:00
J.D. Purcell f2e9ca2ac9 Fix fast-forward when using audio throttle and XAudio2 or OpenAL. 2016-12-18 15:23:23 -05:00
J.D. Purcell 970a9017d4 Fix typo in previous commit. 2016-12-18 13:03:58 -05:00
adelikat 40be0dd0b3 Refactor the way a Null ControllerDefinition is created 2016-12-16 23:34:18 -06:00
J.D. Purcell 7843664f68 Improve FPS smoothing to initialize with a real value instead of ramping up from zero. Re-initialize the FPS data after pausing or changing fast forward/rewind state to eliminate ramp-up and ramp-down in those cases. Only the initial behavior has changed; the FPS calculation/smoothing is otherwise mathematically identical. 2016-12-16 16:01:21 -05:00
J.D. Purcell c971fba7df Prevent divide by zero. Would sometimes result in fSkipFrames being PositiveInfinity, which gets propagated to fSkipFramesError, resulting in the "while (fSkipFramesError <= -1.0f..." loop freezing. 2016-12-15 22:10:38 -05:00
J.D. Purcell cabf27f5d9 Move a few files related to sound output from BizHawk.Emulation.Common to BizHawk.Client.EmuHawk. 2016-12-15 19:25:09 -05:00
J.D. Purcell b0141c516e Multi-disk Bundler: Fix DPI scaling issues and improve control positioning. 2016-12-15 15:06:35 -05:00
adelikat 54eb678387 create an ICreateGameDBEntires specialized service and have Atari2600 implement it. Use this in the log window instead of sneaky reflection to access the method 2016-12-15 10:45:20 -06:00
J.D. Purcell d95edc273e Sound cleanup. 2016-12-14 23:26:01 -05:00
J.D. Purcell a33a8252ff A bit more sound cleanup. 2016-12-14 22:03:25 -05:00
J.D. Purcell 84480e4235 Fix sound bugs + cleanup. 2016-12-14 21:19:46 -05:00
J.D. Purcell 036358fbf9 Fix bug with async sound. 2016-12-14 18:27:04 -05:00
J.D. Purcell afd55fdc6b Revert "Default to Sync sound instead of Async"
This reverts commit 6702f7795c.
2016-12-14 18:26:19 -05:00
alyosha-tas 6702f7795c Default to Sync sound instead of Async
It seems like 'CanProvideAsync' was always returning true so the else if at 1621 was defaulting to setting Async, which caused an exception later.

This seems similar to some TAStudio issues where different people are getting different results depending on Windows version, but I don't see any issue with not setting Async mode.
2016-12-14 15:07:04 -05:00
alyosha-tas 0c3da629c8 Fix for exception in marker window 2016-12-13 22:37:06 -05:00
adelikat 8c57dd98f3 NESHawk - add IsFDS flag and use it in NesSchema instead of a check for BoardName == "FDS" 2016-12-13 15:24:53 -06:00
adelikat dd48864058 AsVideoProviderOrDefault() extension method 2016-12-12 13:47:11 -06:00
adelikat 5ff33e7569 Rename IController.Type to IController.Definition to more clearly describe the property 2016-12-12 12:30:32 -06:00
nattthebear dbdac5e3f2 Fix stuff or not 2016-12-11 22:37:28 -05:00
nattthebear a98316ba97 Soudn refactoring: Unbreak clock & vsync thrtottle 2016-12-11 18:35:42 -05:00
nattthebear ca60a33293 mess some stuff up 2016-12-11 15:01:42 -05:00
nattthebear 47fa5bcb7c Minor cleanup 2016-12-11 14:16:25 -05:00
nattthebear eb72ff9053 Swag up NullSound 2016-12-11 14:07:12 -05:00
adelikat 3be1502b6b Clean lup 2016-12-11 11:40:45 -06:00
adelikat b73a500d6b Major sound provider refactor. Create a unified interface ISoundProvider, that is an IEmulator service and break it off of IEmulator. IAsyncSoundProvider was kept as a shim for now, for legacy cores that were inherintly async. 2016-12-11 11:15:00 -06:00
nattthebear df4b38990f GBAGPUView: Don't draw a sprite if its size + tile index combined make it go past the end of vram 2016-12-09 22:09:58 -05:00
adelikat b697110098 Rename ISoundProvider to IAsyncSoundProvider to more accurately describe what the service does 2016-12-09 10:24:43 -06:00
adelikat 4d1629e271 Completely divorce IVideoProvider from IEmulator, use a NullVideo implementation in MainForm if a core does not provide one, Remove VideoProviderGlue. Note that NullEmulator does implement IVideoProvider still, since we like to have fun with that one 2016-12-07 13:21:18 -06:00
adelikat 72e5c3e4dd refactor a usage of Global.Emulator in MessageConfig, this place is still bad code though, needs to be rethought 2016-12-07 12:32:59 -06:00
adelikat b7e616482d Intellivision - movie mnemonics and virtual pads 2016-12-06 20:16:22 -06:00
adelikat eba11b259e HawkFile - fix exception when a file has no extension, and also simplify the logic 2016-12-06 12:21:05 -06:00
adelikat d305b048fc Fix exception when hovering over Config -> Cores -> Snes when the user has never opened a SNES game 2016-12-06 11:26:43 -06:00
adelikat 6889a72ba2 a bit more cleanup of MovieZone.cs 2016-12-06 11:10:50 -06:00
adelikat d0e632ad9d code cleanup in MovieZone.cs 2016-12-06 11:09:17 -06:00
adelikat 5c4b11d29b MacroInput - use the Emulator RequiredService property instead of Global.Emulator 2016-12-06 11:03:15 -06:00
adelikat 9e2ec00160 MacroInput tool - some code cleanup 2016-12-06 11:01:47 -06:00
adelikat ad41019a29 ToolBox use an IEmulator RequiredService instead of Global.Emulator 2016-12-06 10:44:37 -06:00
adelikat b346f9e7c5 Some slight code cleanup in ToolBox.cs 2016-12-06 10:40:09 -06:00
adelikat 3bfce81eae LuaConsole - have a RequiredService of IEmulator and pass it into the lua implementation instead of using Global.Emulator 2016-12-06 10:35:11 -06:00
adelikat f1e528f68f Virtual pads - pass the current core into schema objects instead of using Global.Emulator 2016-12-05 19:33:21 -06:00
adelikat 117e0b07e7 Pass the core instance to the record movie dialog 2016-12-04 12:51:48 -06:00
adelikat 9ae3916166 Debugger - remove a usage of Global.Emulator and a TODO 2016-12-04 12:40:26 -06:00
adelikat e99bc9ba41 use the Emulator property instead of Global.Emulator in some lua library files 2016-12-04 12:37:29 -06:00
adelikat b11a76f739 MultidiskBundler - add a RequiredService of IEmulator and use that property instead of Global.Emulator 2016-12-04 12:34:37 -06:00
adelikat 5258f9385c Tastudio - use the Emulator property not Global.Emulator, fix another CoreExension method 2016-12-04 12:30:51 -06:00
adelikat 546947041b BasicBot - Remove unnecessary usage of Global.Emulator 2016-12-04 12:23:44 -06:00
adelikat 0af5fb50b1 Refactor some extension methods off IEmulator that inexlicably used Global.Emulator instead of the IEmulator that was passed in 2016-12-04 12:14:16 -06:00
adelikat d95df349a1 use the Emulator property in more places in MainForm, also disable the VS settings menu item if current NES rom is not a VS rom 2016-12-04 11:27:26 -06:00
adelikat 9135aea773 Make a shim property in Mainform as a step towards reducing the use of Globals 2016-12-04 11:19:34 -06:00
adelikat 4ab2fadc93 Remove an unnecessary usage of Global.Emulator in Tastudio 2016-12-04 10:50:58 -06:00
adelikat 78bb41e3cf Mainform - make AV and Screenshot menus dependent on having a VideoProvider, and remove some usages of VideoProviderGlue 2016-12-04 10:50:28 -06:00
adelikat 604ed74ff9 remove some usages of VideoProviderGlue by checking for VideoProvider availability before doing some dependent processes 2016-12-04 10:30:51 -06:00
adelikat 2f375388b5 Tastudio - refactor screenshot code to use a required dependency on VideoProvider instead of using Global.Emulator, also put it on the load event instead of the constructor 2016-12-04 09:20:22 -06:00
adelikat 5665de1797 Intellivision - add a "Fake analog" controller as the default controller for easier binding for casual play, but also leave a boolean option as well for more precise (TAS) control. Add a controller config dialog to select them. 2016-12-03 17:44:25 -06:00
alyosha-tas 3be6c8917c TAStudio fix default window size
Prevents marker and branch bozes from having zero size.
2016-12-03 09:36:35 -05:00
adelikat 323b2c4c8d Advanced Loader - set StartPosition to CenterParent 2016-11-26 15:41:18 -06:00
feos 3b117752cf tastudio: refine autorestore again 2016-11-27 00:28:52 +03:00
feos beb204bb4c tastudio: when new seeking starts, kill the old one 2016-11-26 20:02:54 +03:00
feos 593433106b tastudio: attempt to fix autorestore during analog editing 2016-11-26 19:49:26 +03:00
feos 2f0ccb99f1 tastudio: don't jump to greenzone end when entering analog edit mode 2016-11-26 16:35:14 +03:00
Isotarge 0bf5482af4 Fix typo
Thanks to Keeta for pointing this out
2016-11-23 00:04:49 +10:30
feos f59ebfe126 tastudio: refactor restore logic again, fixes some more bugs
(_autoRestoreFrame completely replaced by LastPositionFrame)
2016-11-21 23:59:12 +03:00
feos 0e9e4cc034 tastudio: fix < button when seeking is paused 2016-11-21 21:19:53 +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 05d47a7318 tastudio: make analog hotkeys working, and their names fit in 2016-11-21 18:00:21 +03:00
feos 95dc2fd6b3 tastudio: move arrow keys logic to hotkeys
disallow sending Minus to MainForm
2016-11-20 23:26:13 +03:00
feos acbdfbcec9 tastudio: make analog editing mode expandable along with selection
- apply the changes made using keys to all the analog edited cells
- clamp displayed value if needed the same the resulting value is clamped
2016-11-20 17:16:29 +03:00
adelikat b7a6542fb6 Lua - gui.drawImage(), gui.drawImageRegion() - log an error if image can not be found, instead of throwing an exception 2016-11-19 14:10:17 -06: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 3ea3012aa7 tastudio:
- properly setup autoloaded and normally loaded project columns
- actually call the callback that updates scrollbars and other stuff
2016-11-19 00:50:40 +03:00
feos 433d4ad693 tastudio: revive ColumnsChangedCallback, and alarm if it dies again 2016-11-17 21:30:42 +03:00
feos 2a9bd175d8 tastudio: kill zombie denoteStatesWithBGColor and co. in InputRoll, having them in Settings is enough 2016-11-17 20:25:06 +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 30f573729c Use Count not Count() 2016-11-14 15:21:26 -06:00
feos 0b1245d769 tastudio: when loading another project, update column menus
todo: fix autoload
2016-11-14 22:39:58 +03:00
feos 52506433a2 tastudio: don't try to apply ClientSettings (columns) before SyncSettings (amount of players) 2016-11-14 20:13:08 +03:00
adelikat 889feeeeba fix #414 by idiot-proofing the lua console command window, if emu.frameadvance() is called, log a warning instead of blowing up 2016-11-13 11:26:09 -06:00
adelikat ddf23e4c3a Lua console - use string.IsNullOrWhiteSpace when checking the command line box 2016-11-13 11:15:30 -06:00
adelikat be93e78dd5 Intellivision - add .int files to the open file dialog in developer builds 2016-11-13 08:25:19 -06:00
feos 578b688d51 tastudio analog editing: Escape key cancels all changes
also prevent marker set from entering analog mode and releasing the LMB over the frame column (might happen after drag editing)
2016-11-13 16:42:24 +03:00
feos dbc35224e6 tastudio analog editing:
- autorestore after every drag edited change
- increase the mouse move step to 4 from 3
2016-11-13 16:19:46 +03:00
zeromus 595a207c97 add new field to gamedb to specify which core should be used.
allow it to be 'neshawk' or 'quicknes'.

this should only be employed by end-users; we won't make those choices in the gamedb officially.

the quicknes blacklist is still implemented separately.

yeah, that's a lot of prioritization levels.
2016-11-12 19:23:54 -06:00
zeromus c7b639be28 apply ArcadePit idea: Let user change the string in the emulator title bar via a file
(but changed the format of the string to be more generally useful, and changed it to dll/custombuild.txt)
2016-11-12 18:49:03 -06:00
zeromus 0b4fc8b6a5 apply Arcade Pit work: "Extract NesCarts.xml for easier modification" 2016-11-12 18:32:18 -06:00
adelikat e73a66b07e When ram watch is open with a file open, and loading another rom, only keep the ram watch file open if all the domains are compatible, else close it, addresses #285. There is arguably not a black and white expectation in this scenario but I think this is marginally more expected than exceptions and erroneous watch values 2016-11-12 11:46:32 -06:00
adelikat 3d402ee40e Change "Gameboy" to "Game Boy" on a few config dialogs and also change their default location to CenterParent, #411 2016-11-12 11:11:38 -06:00
adelikat 0213755d16 Cheats - when editing a cheat's domain, if the address is out of range, don't update, rather than create a separator, fixes #539 2016-11-12 09:00:36 -06:00
feos 175862a5f3 tastudio analog editing:
- mouse dragging during float edit mode updates the displayed value and fires restore on mouse up
- Enter key exits float edit mode after applying the dragged value, while Escape exits it after ignoring the dragged value (should Escape cancel all changes?)
- currently disabled switch to enter float edit mode by single click
2016-11-12 17:53:15 +03:00
adelikat f760b355e0 In Mainform Core menu - add picker for bsnes profile, fixes #179 2016-11-12 08:42:15 -06:00
feos e2d5a1d390 tastudio analog editing: typing past max digits overwrites existing value
this required a new method in FloatRange class
2016-11-12 15:30:44 +03:00
adelikat c27355169f lua forms - run a checkbox click callback after the event not before, fixes #545 2016-11-11 10:03:13 -06:00
feos 60950f1148 tastudio paste: clipboard input would give an extra empty line after splicing for whatever reason. Iterate thorough one less line. 2016-11-10 00:29:14 +03:00
adelikat 36dcf53cc0 on specialized number boxes, select all text when reseting an empty box to a default value. This fixes #685 2016-11-09 10:19:49 -06:00
adelikat 60f84fa028 Merge pull request #706 from Meerkov/master
Fix Volume Controls
2016-11-08 10:42:27 -06:00
adelikat ec502acd1d Lua - make a call to DrawFinish() when closing the lua console. Fixes endless locked emu surface errors when opening it back up and loading a script that draws 2016-11-08 10:37:59 -06:00
adelikat 8033a8c4fc Fix a null emulator check, fixes dump status icon not updating after a failed rom load 2016-11-07 14:26:02 -06:00
adelikat bb1a3e3221 PrereqsAlert - give a little more vertical space to the general advice box so the user can see the final message (that we will keep nagging them) 2016-11-07 12:20:54 -06:00
adelikat bb8bac3fb3 NesHawk - UI for setting VS dipswitches 2016-11-05 17:32:58 -05:00
adelikat 82fa40dfc8 Quick fix to #722 (I think) 2016-10-31 13:31:48 -05:00
adelikat 8406cec681 Add menu items for VS controls 2016-10-29 21:35:46 -05:00
feos 00d07b8602 tastudio: attempt to fix crash caused by seek progressbar 2016-10-29 16:58:09 +03:00
hegyak f1ddafa6de Add a check for clearing the Gameshark Tool's text boxes. And actually clear both. 2016-10-10 11:13:01 -07: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 93f78a69d2 tastudio: show cursor hotkey 2016-10-09 17:14:39 +03:00
feos 0a554a984f tastudio: fix infinite pasting loop 2016-10-09 16:21:01 +03:00
feos f52d8a526b tastudio: global clipboard has preference over internal 2016-10-09 15:51:47 +03:00
adelikat e281950902 Close a lua instance before creating a new one, fixes #455 2016-10-06 15:17:05 -05:00
adelikat ef6c9131c6 Fix behavior when loading a new rom when a cheat is loaded, fixes #550 2016-10-06 13:57:39 -05:00
adelikat db194c8360 Basic Bot - Fix logic for determining the best attempt, no longer thinks every new attempt is better, I think this fixes #603 2016-10-06 12:03:32 -05:00
adelikat 4c140f676e Basic Bot - change dropdown style to DropdownList to avoid empty and invalid choices. Fixes #602 2016-10-06 11:34:34 -05:00
adelikat 2d9fde1bed Basic Bot - update Run button status when loading a bot file 2016-10-06 10:59:57 -05:00
adelikat 15c1fafa48 Hex Editor - when switching to a domain where highlighted addresses are out of range, clear the highlighted addresses, fixes #710 2016-10-06 09:35:50 -05:00
adelikat ab0b78f143 Hex Editor - fix exception when pasting beyond the range of the domain, fixes #708 2016-10-05 19:59:46 -05:00
adelikat 3daad8d916 Hex Editor - fix a minor bug with displaying the selected address, fixes #709 2016-10-05 19:31:30 -05:00
feos 5ed5613826 tastudio: paste from OS clipboard if _tasClipboard is empty 2016-10-01 20:12:50 +03:00
feos fc66ec1b02 Lua docs: fix #703 2016-09-29 18:09:58 +03:00
Meerkov 6a9510c9ae Re-enable Thread Sleep when not in Absolute Zero mode 2016-09-29 01:19:25 -07:00
Meerkov 129fdf2a68 Revert "Allow Fast Forward Volume to be Louder than Normal Volume"
This reverts commit 4bd6608940.
2016-09-29 01:10:23 -07:00
Meerkov 9eafac83d4 Improve Absolute Zero Mode by 15-30%
Short-circuits out of the Render function in the main program loop.

With an NES game running at 8500 FPS before, this brings it to 9700 FPS.

With no game loaded, running at 45k FPS, this brings it to 60k FPS.
2016-09-29 00:57:32 -07:00
Meerkov 151c88feb8 Removes busy-wait
This sleep doesn't appear to be needed. It's just busy waiting.

We save CPU cycles by not doing this.
2016-09-29 00:18:55 -07:00
Meerkov 1b8d32e82f Refactor the FPS Counter to it's own function
1) Takes the block of code that calculates the string to print and gives
it it's own function.

2) Stores a static display variable. Fixes incorrect FPS while fast
forwarding as a result.

3) Reduces updates per second to 12 from 16.
2016-09-29 00:04:39 -07:00
Meerkov 68a362c8ff Fix subtle bug in renderSound
Bug as follows:

renderSound was true when any of the following:
_currAviWriter!=null&&_currAviWriter.UsesAudio
!IsTurboing || _currAviWriter!=null

So, if _currAviWriter!=null, it didn't matter if it has the UsesAudio
flag on or not.
2016-09-28 23:14:18 -07:00
Meerkov 4bd6608940 Allow Fast Forward Volume to be Louder than Normal Volume
Allows FF Volume to override the normal volume, instead of multiplying
it (which could only decrease the volume).
2016-09-28 22:40:14 -07:00
Meerkov 4aa64b1f34 Refactor atten variable checks
Cleans up volume checks, makes it a bit easier to follow by removing
negations.
2016-09-28 22:37:26 -07:00
Meerkov d3547b15d4 Fix bug with Mute Frame Advance
It will actually mute when you hold the Frame Advance button.

Previously, the setting did nothing.
2016-09-28 22:02:38 -07:00
Meerkov 49d7f79ce5 Reduce redundant attenuation code in main loop
This simplifies the code for setting the attenuation by setting it to 0,
and moving all the checks that change it next to each other.
2016-09-28 21:48:35 -07:00
Meerkov cd46188efe Remove Unused Variable
UpdateFrame can never be true, so all of this code is pointless.
2016-09-28 21:24:09 -07:00
Meerkov 4e99ed17ae Replace spaces with tabs 2016-09-28 21:16:24 -07:00
Meerkov 91c5eda526 Update FPS Counter
Changes the FPS counter to fade.

Why: FPS counter has a bug where it doesn't normalize the frame count to
the time passed since last update. This can result in an error of 1 FPS.
When running at 30 FPS, that is ~3.33%. The lower the FPS, the worse
this error grows.

1) Adds a parameter for how often to update the FPS (e.g. 16 times per
second).

2) Normalizes to the number of seconds passed since last update (fixing
the bug).

3) Adds a smoothing parameter (e.g. weigh the most recent interval at
8x, and normalize with current displayed date). This results in less
jumpy FPS because it takes into account historical data.
2016-09-28 21:04:53 -07:00
hegyak b3d91049de Change PrereqsAlert.Designer.cs to point to GitHub instead of SF 2016-09-27 18:06:54 -07:00
adelikat 7a31121f20 NESHawk - Provide a UI for initial ram pattern override 2016-09-27 09:52:21 -04:00
Isotarge 3e88b91b65 Take Affect -> Take Effect
Thanks to puwexil for pointing this out
2016-09-27 16:07:34 +09:30
pjgat09 32be471382 GLideN64: Changed UseNativeResolutionFactor to an int setting 2016-09-26 11:13:07 -04:00
Kyle Howell 3d88f77ec6 Fixed TAStudio crash when deselecting "Show Player X". The horizontal scrollbar was not updated which caused an exception when scrolling to the right. 2016-09-25 16:55:34 -06:00
Kyle Howell 4834e31bb8 Fixed bug with InputRoll selected rows drawing hidden columns. 2016-09-25 14:04:57 -06:00
Kyle Howell d66181a597 Fixed bug with right click inputRoll selction. 2016-09-25 12:47:37 -06:00
pjgat09 e6a84f151c Merge branch 'GLideN64' 2016-09-22 14:35:46 -04:00
pjgat09 59e43a25f9 GLideN64: Added settings to the plugin dialog. Removed some settings from the sync settings that we will not need. 2016-09-22 12:57:09 -04:00
adelikat 707c0944f0 clear the OSD before doing loadstate callbacks, fixes #635 2016-09-22 10:13:26 -04:00
pjgat09 a85da435f9 GLideN64: Added a sync settings, hooked up the dll, and added it to the video plugin list in the plugin dialog. Updated the submodule reference. 2016-09-22 08:46:49 -04:00
adelikat 10a2ae1471 Detect when a joypad is added or removed while bizhawk is open fixes #698 2016-09-21 21:23:57 -04:00
adelikat 3f191be372 Ram Search - Better event to tie toolbar enabling logic to for indices changing - fixes #629 2016-09-21 14:31:42 -04:00
adelikat 3bf11dbf68 Fix slow Ctrl+A on Ram Search and Ram Watch, fixes #630 2016-09-21 10:56:57 -04:00
adelikat d954512214 Virtual Pads - Analog Sticks - check min and max range before setting the value. Fixes #686 2016-09-21 10:13:30 -04:00
feos ef445c90c7 tastudio: fix a couple of crashes 2016-09-09 19:15:00 +03:00
feos e5f2f53bde tastudio: make sure we refresh when seeking is done 2016-09-09 18:48:23 +03:00
feos 634f11a202 tastudio: fix cursor dragging during seeking (by disabling it)
taseditor fashion
2016-09-09 18:46:05 +03:00
feos a0d718acc0 tastudio: don't pause on green arrow is seeking past it 2016-09-08 23:29:17 +03:00
feos 7d1084bf98 tastudio: change internals of editing input during scrolling.
for now it only makes a single edit per click, since we only recalculate OnMouseDown if scrolling. this is required to get rid of scrolling recursion caused by various actions.

also ClearLeftMouseStates before saving dialog pops up
2016-09-08 22:22:33 +03:00
feos ba895e3bad tastudio:
- fix recursion in cell updates caused by clicking cursor column (fixes scrolling)
- display invalidated color consistently

n64: fix trace callback prototype
2016-09-04 12:03:12 +03:00
feos d1ac02ebb3 tracer: more fixes to bugs found by actual usage 2016-08-31 21:24:09 +03:00
feos 5761b6b7ce tastudio: GlobalWin.MainForm alias
almost 100 cases of usage is worth it

make "recent rom not found" window topmost
2016-08-29 14:33:12 -04:00
adelikat 11b4f5a5b1 Lua - fix #691 - When calling client.reboot_core we still want to re-inject dependencies to the lua libraries 2016-08-28 12:07:26 -04:00
feos 2b0dc82d16 tastudio: finally make < > buttons operate identically to advance/rewind hotkeys 2016-08-28 18:42:59 +03:00
feos 670501163b tastudio:
- rewind hotkey works like wheelup+RMB
- < > buttons fire instantly but can't be held yet
- prettify cursor colors
2016-08-28 17:13:14 +03:00
feos 4f24682289 taseditor: fix LastPositionFrame resets 2016-08-28 15:34:18 +03:00
feos 0246c952eb tastudio: complete overhaul of seek logic, replicating taseditor
todo: fix lastpositionframe dying if editing the same row twice with no autorestore, probably improve cursor color and rename old seek related vars
2016-08-28 01:08:43 +03:00
feos ef47d9fbca tracer: reboot on game close
more ^final^ tweaks
2016-08-22 21:57:18 +03:00
feos 54bd6b90fe tastudio: < and > buttons behave as mouse wheel when seeking 2016-08-22 19:39:05 +03:00
feos e379b0342e probably final prettification for tracer 2016-08-21 23:52:42 +03:00
feos 3e7972ee9d tracer:
- expose segment size to user
- fix logging to window and saving to file
2016-08-21 12:07:55 +03:00
feos 0b1d9c3c48 tracer: setup logfile segmentation 2016-08-18 23:02:57 +03:00
Ben Eirich 7f23cd80f1 SMS overscan display
Conflicts:
	BizHawk.Client.EmuHawk/MainForm.Designer.cs
2016-08-18 18:14:58 +03:00
zeromus 94383ab143 fix deleting recent roms when missing 2016-08-17 20:24:14 -05:00
feos 76eaea3619 tracer unification for cores: spacing, headers, etc 2016-08-16 01:39:26 +03:00
feos 8e92c5fd17 gpgx: move to normal tracing method too
CallbackBasedTraceBuffer seems deprecated
2016-08-14 22:29:42 +03:00
feos 473b9e5f33 m64p tracer:
- shrink core's disasm string a bit
- nicely print registers (r0 and co-processors regs are dropped though)
- rebuild dll
2016-08-14 17:49:56 +03:00
zeromus a7d2b8d7f7 * add a new IToolForm update mechanism which has extensible update points (so a tool can both pre- and post- update)
* make trace logging "core-pushes" model, to a sink installed by the frontend. This sink can go straight to the disk without wasting memory if that's what the Trace Logger tool has selected; or the Trace Logger will buffer it if it needs to.  Formerly, we had a "core-pushes-to-buffer" and "client-pulls-once-per-frame" which necessarily caused huge buffers no matter what was going on.
2016-08-13 15:31:26 -05:00
feos d5ac190bdc m64p: don't freeze on breakpoint
debugger: indicate break hit
2016-08-13 16:26:10 +03:00
feos 640911db33 make gameshark image and icon properly transparent 2016-08-11 23:46:28 +03:00
feos 80c90e7acc m64p: attempt to add execute callback
no memory callback seems to be working yet though
2016-08-11 21:58:09 +03:00
parasyte 89403c72d8 Fix File->Save Log menu item in Trace Logger window
- Prevents an unhandled exception when saving a log from the window
  (opposed to file)
2016-08-09 21:35:37 -07:00
parasyte 71c7edbb24 Add address mask setting for breakpoints 2016-08-08 04:37:39 -07:00
feos ffc1e2f41a tastudio: fix readonly hotkey on launch 2016-08-07 11:02:52 +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 1e6b3bfbee lua text: display trailing spaces 2016-08-06 15:45:07 +03:00
feos f94b352765 tastudio:
- fix escape handling
- frame advance doesn't unpause emu when seek frame is reached
2016-08-04 19:42:42 +03:00
feos b0893bdee8 tastudio: stop seeking when movie stops 2016-08-04 18:53:01 +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 e362ecdbbf tastudio: insure against all sorts of silent corruption. 2016-08-02 20:05:31 +03:00
feos 92bcca8b7d tastudio: tastudio's Emulator was dying if we unpause tasproj while tastudio isn't loaded, and then attempt to launch it. 2016-08-01 21:51:38 +03:00
feos 2894bb908d tastudio: stop copying nothing on Cut command. 2016-08-01 20:41:33 +03:00
feos 13476f33ca tastudio: don't pass ctrl+c hotkey to mainform. 2016-08-01 20:23:16 +03:00
alyosha-tas f1e8ec02dc Do the update correctly 2016-07-31 16:34:22 -04:00
alyosha-tas 80a4f46ce0 Add note to Coleco skip Bios
It doesn't always skip, it is handled internally, so I added a note to make this apparent to the user
2016-07-31 14:33:12 -04:00
feos 79badbbe63 tastudio: smarter column width 2016-07-27 21:06:13 +03:00
feos 9353b5afb1 tastudio:
- more columns hidden by default (psx)
- optimize width for those whose names are longer than 1 char
2016-07-26 20:46:15 +03:00
feos 7748c2f3a8 tastudio:
- show "fake analog" buttons too (fixes #672)
- stop pausing when loading branches
mainform: moved some tools around in menu
2016-07-26 20:01:46 +03:00
Isotarge e0ac148e76 Fix #669
- Fixes RAM Watch, RAM Search, and RAM Poke usability issue w/negative
numbers.
- Bonus fix for unhandled exception when entering . in to the specific
value box
2016-07-22 02:15:43 +09:30
Isotarge 41ff244e01 Poke: Ram -> RAM #669 2016-07-22 01:52:43 +09:30
Isotarge 5a20a520bd Tools: Ram -> RAM #669 2016-07-22 01:32:54 +09:30
feos 23da7a513b hetkeys: check tool existence before sending commands to it 2016-07-12 22:08:25 +03:00
feos b4a9123515 tastudio: fix editing while unpaused + left button held scenario.
now it replicates taseditor:
- editing input while unpaused, if autorestore is off, resumes emulation and ignores seek frame. if you keep holding the LMB, and follow cursor is on, it will keep scrolling, drawing and emulating
- editing input while unpaused, if autoresotre is on, fires autorestore and then just pauses on the seek frame

what's different from taseditor:
- with autorestore and follow cursor on, if you hold the button, and seek frame is below the view, it will keep scrolling down, drawing new input and emulating. taseditor does *not* follow cursor while seeking.

this all doesn't necessarily make sense, but we need people to figure out what is best for work.
2016-07-11 21:39:32 +03:00
adelikat e9d257ce6d PCE-CD virtual pads 2016-07-10 22:13:40 -04:00
feos f23767ae6a tastudio: properly set input while unpaused
replicates taseditor behavior: if autorestore is off, emulation resumes running, otherwise it pauses on it.
todo: fix this during left button held
2016-07-10 22:25:02 +03:00
feos 7c868e5996 tastudio: show user text instead of timestamp in branchview
allows using as instantly visible branch names
fix #646
2016-07-09 15:22:25 +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
hegyak 55fb72b6dc Resolve Error 472 (Don't allow user to add more then 2 GB/GBC ROMs into the Bundler) 2016-06-26 13:44:55 -07:00
alyosha-tas 2eda1450bf fix bounds of sprite and palette boxes
hopefully fixes the out of range errors
2016-06-25 20:51:13 -04:00
Hathor86 9a4dd89f7f Fix polar coord when center is non-zero
The range is now used to compute right angle / ray value even if the
center is not 0,0
Tested for N64 and PSX, should probably work for every system :)
2016-06-14 19:31:54 +02:00
zeromus 8fb106902c contributers -> contributors 2016-06-13 11:48:19 -05:00
zeromus a9c0211d46 change a bunch of old googlecode urls in assemblyinfos 2016-06-13 11:34:27 -05:00
feos 2d2efba150 tastudio: option to do autorestore not only on mouseup.
doesn't affect rerecord counter
2016-06-13 18:29:29 +03:00
feos 1a11f34c13 tastudio: bind insert/delete/clone/clear. 2016-06-13 16:40:13 +03:00
feos af4b3ec752 tastudio: bind autorestore, turboseek and followcursor. 2016-06-13 15:43:28 +03:00
feos db32c201d4 tastudio: escape cancels seeking 2016-06-13 14:14:10 +03:00
feos bade8f9217 tastudio: properly handle global rewind function (step'n'run)
not attaching it to playback buttons, because they're obsolete and because they kinda simulate holding anyway.
2016-06-13 13:17:21 +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 3e02e271fc tastudio: promote some links
bizbox: fix contributors link
2016-06-11 19:40:25 +03:00
feos 294654943b tastudio: ignore seek frame if unpaused via hotkey or playback pause button
this replicates taseditor behavior
2016-06-11 17:38:53 +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 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
Hathor86 7fb0eaf337 Add Save/Load state methods and events to ApiHawk
Now, ApiHawk can save and load name state. There are also events that
you can attached too. Furthermore, BeforeQuickSave/BeforeQuickLoad
events occurs just after user pressed button. We can react to this and
even override behavior.
Finally, I just allow .bat to take xml files (for ApiHawk doc)

PS: Yeah, I'm still alive
2016-05-29 16:50:16 +02:00
adelikat 491307b85c About box - replace outdated contributers list with a link to the github stats page, put release date under version info instead of next to it (now that we have the extra real estate) 2016-05-22 18:52:14 -04:00
zeromus ef318aa0f8 fix noise in some cores during pause 2016-05-22 15:00:45 -05:00
zeromus 0cc27a226b add auto-start and auto-save to CDL; fix toolbar to be ToolStripEx, so it doesnt suck 2016-05-07 10:10:37 -05:00
feos 53c7f4e5be tastudio: ignore inputroll hotkeys and numeric branch hotkeys during float editing mode. 2016-05-07 15:05:07 +03:00
zeromus a7f03d4c2c make direct3d9 prereq check non-fatal and make d3d display method initialization fail non-fatal, falling back to gdi+ 2016-05-05 09:01:01 -05: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 bc30e87921 tastudio: autosave feature.
supposedly safe saving indication (hourglass cursor and status bar report).
2016-04-24 13:48:49 +03:00
feos 28fe9bb888 tastudio: hide some more columns by default. 2016-04-23 21:42:02 +03:00