Commit Graph

2991 Commits

Author SHA1 Message Date
zeromus 1a1a688b96 remove NeedsToPaint; client now repaints ~100fps while paused all the time. as it already did when input display was enabled. fixes #615.. probably 2016-04-20 12:17:41 -05:00
zeromus 5ed2e46982 add SRAM memdomain to vbanext 2016-04-18 20:44:30 -05:00
feos fcbf4adbec lua: remove bg color from gui.text function, since it's always a black halo. 2016-04-18 19:39:24 +03:00
feos 7fa99c7d13 tastudio: project savegap (finally!)
ScrollSpeed defaults to taseditor's
2016-04-17 23:29:25 +03:00
feos dc18535b88 tastudio: use VisibleRows instead of SeekingCutoffInterval.
allow SelectedIndexChanged again, just not use it in tasview. can we comment out in designers like that?
2016-04-17 21:02:21 +03:00
feos d7217df311 tastudio: stop using threaded project saver to ban all dialog manipulation.
should fix #596 and probably #580.
todo: option to only save every nth frame.
2016-04-17 19:37:01 +03:00
feos f0c18077d2 cutting too 2016-04-17 14:11:41 +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
feos de1f4112d8 tastudio: allow 2 more digits for FramesPrompt. 2016-04-17 12:37:22 +03:00
feos c9b3dc184a tastudio: fix #515 again. 2016-04-17 12:17:18 +03:00
feos a18648dc45 GDIRenderer: add a method to create NormalFont using the LOGFONT features.
InputRoll: make the font match what fceux uses. padding still works oddly though.
2016-04-17 11:47:18 +03:00
zeromus 5a6ffe022a fix tastudio font bugs, some mine, some not mine 2016-04-17 03:07:07 -05:00
zeromus 1bde0c5a72 GDIRenderer - fix bugs in using any font but the old default gdi font (i.e. System) while rendering to offscreen bitmaps (e.g. tastudio) 2016-04-16 17:13:49 -05:00
feos 2fafd85064 InputRoll: stop switching to RotatedFont when we're in vertical orientation.
Still doesn't care about the font we set, since it's never created in gdirenderer.
2016-04-16 21:46:47 +03:00
zeromus b82cc74a5d possibly fix crash in GB GPU debugger on operating systems using the wrong language (untested) 2016-04-15 20:23:04 -05:00
nattthebear 111648cf98 Break a bunch of memory domain stuff with pointless refactoring 2016-04-13 19:50:06 -04:00
zeromus 0cac65c184 use gambatte window option in emuhawk 2016-04-12 03:02:11 -05:00
zeromus 8e92371178 fix gif palette rgb ordering. separate commit because the bitfield fiddling is a bit mysterious and required guessing. also forgot to commit csproj 2016-04-10 03:00:26 -05:00
zeromus d39dc2296e add palette optimizer to gifs to improve image quality and compression (due to less dithering in low color images) 2016-04-10 02:48:54 -05:00
zeromus 6b013d6d94 fix VirtualListView (incl. movie open dialog) on x64 2016-04-07 15:25:14 -05:00
nattthebear ec787d049d NESHawk: support SNES controllers 2016-04-05 17:16:27 -04:00
zeromus 9be6a8533b dont delete this font, it will break winforms. but probably still delete other fonts. as usual with windows its freaking impossible to tell when you should delete a GDI object, sometimes I guess wrong. 2016-04-02 18:02:19 -05:00
zeromus b6efb0a056 fallback to gdi+ in case GuiRenderer can't be created by chosen display method (due to buggy drivers) 2016-04-02 14:33:34 -05: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 f1ea49133d fix bug in d3d alternate vsync + frame advance 2016-03-29 03:05:00 -05:00
zeromus 17cae0ad1c fix old bug in raw screenshot with game extra padding 2016-03-27 21:02:18 -05:00
zeromus e426b33017 fix new bug in game extra padding 2016-03-27 21:02:18 -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 66683b16ed replace "Ok" with "OK" 2016-03-26 21:50:33 -05:00
zeromus 406b431280 add comments for later about triple buffering 2016-03-26 12:39:31 -05:00
zeromus c429ebdbcf fix error in "Display Vsync set to" OSD message 2016-03-26 12:39:31 -05:00
zeromus 204ff2365f I think the 1px padding hack (enabled by default) should have only applied to opengl (it was created when we only had opengl and it's meant to address a problem i think is opengl only). May possibly cause flickering when going fullscreen, if I'm wrong. 2016-03-24 14:47:18 -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
zeromus 4e13f205d4 update and clarify prereqsalert urls and guidance 2016-03-21 21:08:09 -05:00
zeromus 9aceb512f0 fix automation of virtualpad analogsticks from movie playback 2016-03-21 16:13:49 -05:00
Isotarge 66ae06f96a OCD UI alignment
For the bicubic filter radio button in the display config window
2016-03-22 03:21:59 +10:30
Adam Michaud 19a7408c6d More ROM Extensions
Fixes the issue reported by feos
(http://tasvideos.org/forum/viewtopic.php?p=430806#430806) where some
ROM extensions were not being recognized.  I had generated the list of
ROM extensions based on the cases in RomLoader->LoadRom(), but am now
using the non-developer build list in MainForm->RomFilter().
Unfortunately, this means that if someone adds a file extension in the
future (by, say, adding a new core), this list will need updating as
well.

Also, spaces were replaced by tabs where appropriate.
2016-03-21 05:34:32 -04:00
zeromus 144f08cfc3 fix xinput > 2 devices, and change how xinput devices are numbered in configuration (by player number and not index-of-connected-xinput-device-plus-one) 2016-03-21 01:01:36 -07:00
Hathor86 c0f7219b06 Contextualization of external tools + Basic of ClientApi
We can now specify a context for external tools. Global, specific for a
type of emulator / system or specific for a game (If not specified, a
tool is global).  It should avoid loading something unwanted.

Also add ClientApi, a static class that can interract with EmuHawk
window (SetPadding is the only thing implemented currently).
2016-03-16 23:06:53 +01:00
zeromus d06c035df4 add scrollbar to pathconfig tabpages (fix #594) 2016-03-15 00:35:48 -05:00
zeromus de576bb067 AVWriters now implement UsesAudio and UsesVideo so that the frontend can decide how much work it needs to tell the core to do to fulfill the AVWriter's needs (fixes #593) 2016-03-05 17:20:00 -06:00
Adam Michaud 9b75d9c359 Merge pull request #592 from TASVideos/feature-drag-drop
Expanded drag and drop
2016-03-04 22:54:40 -05:00
adelikat 234cc2e5d8 Get started on C64 support in the multi-disk bundler 2016-03-04 21:50:24 -05:00
Isotarge 822f571621 RAM Search: Fix unhandled exception
Fixes an unhandled exception when beginning to type a negative number
into the search box when display is set to float
2016-03-05 08:11:08 +10:30
zeromus 86b3ecf7b8 displaymanager: change how windows shrink to <1:1 by shrinking content instead of attempting to inversely 'letterbox' it by shoving it offscreen (fixes #579) 2016-03-04 01:59:25 -06:00
Adam Michaud 2db8f7e14c Expanded drag and drop
Allows dragging-and-dropping of multiple files onto a running BizHawk
window.

Currently, dragging-and-dropping multiple files of the same
classification is disabled.  Classifications are listed in the
LoadOrdering Enum, and include the order in which those types of files
should be loaded (no state before ROM, etc.)
The current ordering is ROM, state, watch, CDL file, Lua session, Lua
script, cheat file, [movie file and legacy movie file].

The next thing to do is allow dropping archives and extracting the
relevant files from it, but the current hurdle is that any such loaded
file would have to be read-only, as re-saving into the archive could be
problematic.  Furthermore, all of the existing functions (copied and
split into the Loaders region) accept filenames and not streams, which
means that much of the rest of the code needs refactoring to allow
archive loading.
2016-03-02 23:09:44 -05:00
zeromus 1b32d02ac8 visualstudio keeps wanting to edit this, so ill let it 2016-03-01 22:07:16 -06:00
zeromus d8554ee536 move assorting junk from the Output directory to Assets; add build step to copy them from Assets to the appropriate 32/64 output directory 2016-02-28 21:59:17 -06:00
nattthebear a87096fb85 Move around LuaInterface.dll as well in preparation for 64 bit build 2016-02-28 16:10:18 -05:00
nattthebear ad2a830195 Merge branch 'master' of ssh://github.com/TASVideos/bizhawk 2016-02-28 15:06:34 -05:00
nattthebear 2a0e859a85 Add 64 bit build (doesn't work yet), move SlimDX.dll 2016-02-28 15:06:03 -05:00
feos 3c4771c76a tracer: print header when switching to file while already enabled. 2016-02-28 23:01:22 +03:00
adelikat 768905b2db Make an ISpecializedEmulatorService interface to show the intent of certain interfaces. In the core feature analysis, don't show these are unimplemented, as they aren't expected to be implemented by all cores. Make ILinkable inherit this interface.
Also check in ILinkable, I forgot to do that last time
2016-02-28 14:06:11 -05:00
adelikat f1f45afd83 Remove CoreComm link cable properties and turn it into an ILInkable service instead 2016-02-28 13:52:17 -05:00
adelikat 7a4a210ccc Remove some unused code and usings 2016-02-28 13:36:17 -05:00
adelikat c333403895 Prevent Advanced loader from pooping all over every other tool, this needs to be refactored 2016-02-28 12:15:23 -05:00
zeromus 3c96e9d434 ok so i messed up with the FileInfo, because it was already there and I just lazily used it. But lets try handling this with the sophistication it calls for 2016-02-27 16:19:41 -06:00
hegyak 4b38880af7 Added a function to Remove Lines for MultiDiskBundler. 2016-02-27 13:27:31 -08:00
feos bfece077b2 debugger: really honestly only check registers once, in GenerateUI().
throws NotImplemented if can't set registers, InvalidOperation otherwise (since it deliberately tries an invalid operation just to check availability).
2016-02-27 21:30:14 +03:00
feos 26997dd32a save tracer column widths. 2016-02-27 19:30:47 +03:00
hegyak f344cbca07 Make our Shark Transparent. The Ultimate Predator. 2016-02-27 08:16:35 -08:00
adelikat fa3ccc59e7 try/catch the File.Move when making a backup savestate and do nothing 2016-02-27 09:58:41 -05:00
nattthebear 35f2599c13 Remove savestate wait that caused nothing but trouble 2016-02-27 09:51:01 -05:00
feos 1f913ef4d9 debugger: don't update when unpaused. only update PC when we really need it. 2016-02-25 20:38:44 +03:00
adelikat d70951c20b TraceLogger - add an Open button when logging to file 2016-02-24 22:29:46 -05:00
adelikat 4e2c949990 Trace Logger - remove the clear button in favor of a menu item, add a context menu for the listview that corresponds to the edit menu 2016-02-24 22:08:56 -05:00
adelikat eb7c72541f Trace Logger - log the Tracer header at the beginning of the file when logging to file. Clear and start the file new when toggling the log button instead of forever appending the file 2016-02-24 21:57:26 -05:00
adelikat 52ef67a12f TraceLogger - improve FastUpdate to still log but not update the screen. Cleanup and merge two similar function calls, slight change to form title 2016-02-24 20:56:16 -05:00
feos 8239c39213 debugger: Run button. 2016-02-24 22:17:48 +03:00
feos 997877c05b debugger regs: format reg names on launch, smarter spacing. 2016-02-22 19:32:34 +03:00
feos 4cea5e6f5b debugger: pad Address with 0, revert erroneous "fix" from last commit. 2016-02-22 19:16:05 +03:00
feos f1deb41e2a better check for callbacks availability in GenericDebugger. 2016-02-22 18:05:37 +03:00
adelikat 76626c3fd5 Debugger - throw and catch at most 1 exception per update if core can not set cpu registers 2016-02-22 08:43:15 -05:00
feos 7abac10164 genesis disasm/tracer: replace IR reg with raw bytes, drop separate PC reg. 2016-02-22 15:02:59 +03:00
zeromus 8db62b6f2c make two listviews more consistent 2016-02-22 05:52:42 -06:00
feos c41c24cd85 tracer: use .log extention (allows extension based user syntax highlight)
genesis disasm: prefix immediate values with #.
2016-02-22 14:18:46 +03: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
zeromus 37619a8a34 fix bug in GLManager causing yabause in opengl mode to not work unless frameadvancing 2016-02-21 22:02:59 -06:00
zeromus 10b8a54e6c savestate backup had delete (it's asynchronous) vs move race condition 2016-02-21 22:01:36 -06:00
pjgat09 252dbe62ce Fixed the build tool to accept spaces in the path. 2016-02-21 21:27:49 -05:00
zeromus 0eb6e83384 glcontexts can specify versions and clean themselves up 2016-02-21 17:19:34 -06:00
adelikat f5e679fa0d Refactor ITraceable to work on TraceInfo objects that separate Disassembly and Register information. Make Tracelogger two columns. 2016-02-21 17:34:42 -05:00
feos 5fc60810ae tracer: if you grab a machine gun, you don't want it to start firing the instant you touch it. 2016-02-21 22:45:44 +03:00
feos dfb0cf37d8 debugger: return address in hex when copying.
quicknes: uppercase numbers, since its mnemonics are uppercase too.
2016-02-21 18:45:09 +03:00
adelikat ec45262611 Debugger - fix how Seek To determines the PC register 2016-02-21 07:49:22 -05:00
adelikat fe22cb390b Debugger - update when maximized 2016-02-21 07:46:45 -05:00
feos 0c32b48f29 debugger:
- don't post pc and raw bytes to genesis disasm string
- make some fonts monospace
- pad reg values properly
- give enough space for big reg names
2016-02-21 15:19:56 +03:00
feos 41845eb791 tastudio: don't allow saving while saving.
Fix #578.
2016-02-20 15:27:41 +03:00
zeromus 2f50771494 fix ramwatch popup dialogs not referencing ramwatch as parent 2016-02-17 16:37:53 -06:00
adelikat f410612c3c GameShark tool - for nes, if no description is set, then use the code itself, probably should do this on other ones too but I didn't feel like going through all the various places to put that logic 2016-02-15 20:51:07 -05:00
adelikat 8dfcf8deec Hex Editor - Find Box - fix behavior of the enter button 2016-02-15 20:13:12 -05:00
adelikat c41851e877 Call the lua loadstate callback before redrawing the screen and other updates 2016-02-15 19:17:19 -05:00
nattthebear 08655918bd Winforms is your friend 2016-02-15 18:29:45 -05:00
adelikat 185f5190a0 GameShark tool - better layout, anchoring, min size, and tab orders 2016-02-14 22:46:59 -05:00
adelikat ada89f875a Make File -> Save Ram menu item the same font as the others 2016-02-14 22:01:00 -05:00
adelikat 47d9432ad4 Lua - set file watchers on lua session autoload 2016-02-14 21:51:12 -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
zeromus 362f672abd use that tool in emuhawk 2016-02-14 16:43:05 -06:00
Adam Sturge 58410e6d3c Removed Cheats.Designer.cs.bak file 2016-02-14 13:52:35 -08:00
Adam Sturge 4a4b23ac84 Adjusted CheatEdit.cs to allow for new drop down 2016-02-14 13:50:23 -08:00
Adam Sturge 8ff86fe6c4 Fixed toolbar icon size 2016-02-14 11:39:18 -08:00
nattthebear 510dc20823 Try activating Large Address Aware (>2GB) support for EmuHawk. Someone needs to test this. 2016-02-13 18:20:08 -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
feos 435323489e lua: gui.defaultPixelFont() 2016-02-10 20:06:45 +03:00
feos 1de5a84687 lua: make fceux font monospace 2016-02-10 20:06:44 +03: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
Adam Sturge 447d312a5c Highlighting a cheat now updates the comparison type drop down to reflect the appropriate value 2016-02-08 21:06:13 -08:00
Adam Sturge c59f1c1761 Comparison type can be set if and only if comparison field is non-empty 2016-02-08 20:56:11 -08:00
zeromus d37233fe46 copyright material -> copyrighted material 2016-02-08 20:03:39 -06:00
zeromus ae8c961ac7 refine rewind config dialog 2016-02-08 02:46:16 -06:00
zeromus 1a123fa491 allow "#aarrggbb" as Color parameter to forms.setproperty. fixes #547 2016-02-08 02:33:58 -06:00
zeromus 89a4381d9d add GB layer toggles 2016-02-08 02:18:24 -06: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
zeromus 3b9796232c MoviesOnDisk: now ready for primetime; hooked up as option in customize config dialog 2016-02-06 15:07:58 -06:00
zeromus 07e93e6b4f add comments about what not to do in DisplayManager 2016-02-06 15:00:05 -06:00
adelikat da421483f6 Firmware disclaimer 2016-02-06 14:54:39 -05:00
adelikat 907850ce02 Lua - fix exception when reloading a lua script with registered functions while the registered functions dialog is open 2016-02-06 14:22:56 -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 d0d5df44c9 Tastudio - create settings sooner, hopefully fixes null reference errors with the splitter controls 2016-02-05 21:57:40 -05: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
feos ec3c862f4a tastudio: account for loading files with "All Files" filter.
todo: input import.
2016-02-05 23:35:57 +03:00
feos 40b8a82034 tastudio:
- don't clear selection on Cut
- don't mindlessly unpause the emulator if autorestore is off and we're editing input via menu
2016-02-05 23:35:56 +03:00
Adam Sturge c9dd10e8c0 Added comparison type column. Tied to debug issue where the column disappears from settings before being added to UI, couldn't figure it out without removing the [ConfigPersist] attribute from the Settings variable 2016-02-03 21:37:08 -08:00
hegyak 73e705f0f3 Added Multiline Cheat Code handling for all supported cores. Added GBA Slide code handling. 2016-02-03 14:01:57 -08:00
zeromus e0d74c7718 better error handling in shader compiling. kind of sloppy, but gets the job done. entire system could use a little rethinking, if i ever revisit filters 2016-02-03 02:28:03 -06: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 30c7b32bc1 Lua Console - when a lua exception occurs we also want to update the script status icons 2016-01-31 19:02:02 -05:00
zeromus 1e928c6b17 add sha1: label to hashes in firmwares config info sub-window 2016-01-31 16:39:54 -06:00
adelikat 0ff2db5c8d Lua - ResumeScripts - loop through only running scripts, to avoid sandbox calls for non-running scripts 2016-01-31 14:31:29 -05:00
adelikat 51e12040d1 Ram Watch - fix logic that determines whether to show Freeze or Unfreeze in the context menu 2016-01-31 11:55:00 -05:00
adelikat 9cb0072f0f Ram Search - also fix leadings zeros in the Difference box 2016-01-31 09:15:17 -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 74eba9209c visualstudio keeps trying to change this project 2016-01-31 02:41:36 -06:00
zeromus da865e28b8 try sandboxing currenty directory harder 2016-01-31 02:40:48 -06: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
adelikat aaf4d39b58 Ram Watch/Search - misc code cleanup 2016-01-30 21:21:17 -05:00
adelikat 6f75ef6dba Move another function to ToolFormBase 2016-01-30 21:07:03 -05:00
adelikat 894a9c2318 Rework ToolHelpers from a static object to ToolFormBase that inherits form and have a lot of tools inherit it, in hopes of moving a lot of copy pasta into a base class, move a few functions that show up a lot there 2016-01-30 20:24:53 -05:00
zeromus 0da6e745e5 move EnvironmentSandbox and LuaSandbox to Client.Common 2016-01-30 18:37:30 -06:00
adelikat 1e57a0a221 Lua Console - remember column widths 2016-01-30 19:20:52 -05:00
adelikat fdae465089 Lua - refresh the lua console when a script exits 2016-01-30 18:50:05 -05:00
adelikat 7bb3e04105 Ram Search - fix having lots of leading zeros in the different by box 2016-01-30 18:28:29 -05:00