Commit Graph

271 Commits

Author SHA1 Message Date
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
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 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
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 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 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 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 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 6b013d6d94 fix VirtualListView (incl. movie open dialog) on x64 2016-04-07 15:25:14 -05:00
zeromus 4e13f205d4 update and clarify prereqsalert urls and guidance 2016-03-21 21:08:09 -05: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
feos d39aa6433e tastudio: implement SeekingCutoffInterval 2016-01-27 16:18:20 +03:00
zeromus 192458a190 try catching some missing prereqs in emuhawk startup and print a report about it 2016-01-14 01:50:41 -06:00
adelikat ac1c7d0992 HexView - setting up some API 2015-12-24 15:46:57 -05:00
adelikat 60692450e8 New Hex Editor - add the plumbing for the HexView widget, that will use the GDIRenderer as the basis for the drawing. 2015-12-24 11:15:29 -05:00
zeromus 22143f99fb work on stability of avi writing. Unfortunately, I did a half dozen things here, overlapping in complicated ways, and at least 2 of which were required to fix it: changed pinvoke wrapper of AVISaveOptions, removed ownership of pointers from codec token (simplified analysis and in principle [but not practice] determinism due to less GC involvement), changed life cycle management of codec token (irrelevant due to prior), changed functions used to allocate memory from AllocHGlobal to pinvoke HeapAlloc, made different assumptions of ownership/lifecycle of pointers accessed by AVISaveOptions. notably the pinvoke wrapper for AVISaveOptions was the last thing I fixed that sealed the deal, but I don't think it was that simple. 2015-12-19 05:13:31 -06:00
feos 4bc74ce36e tastudio: arrow keys start making sense.
up/down - scroll tasview.
ctrl-up/down - move selection.
shift-up/down - append selection.
removed ctrl-shift-R, duplicate of ctrl-shift-F.
2015-12-03 23:06:28 +03:00
feos 69970c5ae5 tastudio: select the new cell on every rightclick.
only enabled for branches and markers, since in tasview we use rightclick to start advance/rewind.
involved some hackery, like killing context menu while OnMouseDown of the given listview, then going back to InputRoll's OnMouseDown and actually selecting a new cell. can we figure out a hovered cell while context menu is still active? also, it'd make sense to do this for leftclick as well, but without context menu hiding, there doesn't seem to be a way to force updating of listviews from InputRoll.
2015-12-03 21:16:55 +03:00
Hathor86 f70a2c8c6c Merge from TASVideo 2015-11-01 22:01:19 +01:00
feos a4b3a57af2 tastudio: update RowCount before scrolling to frame.
fixes loading a branch whose movie length is longer than current.
2015-10-25 20:24:33 +03:00
zeromus 3dd0ab2008 HexTextBox - try to preserve the current value when changing the hex size. This kind of thing is super annoying, revert it immediately if there's a problem. Fixes #525 2015-10-20 01:57:47 -05: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 ba87d19d5c Input roll - some small cleanups 2015-09-05 16:37:52 -04:00
adelikat a85c60e716 Input Roll - more avoiding calculated fields in loops 2015-09-05 15:44:08 -04:00
adelikat ed4ccdbfc6 InputRoll - don't call LastVisibleIndex, a calculated field, in a for loop, seems to be a nice speedup 2015-09-05 15:27:59 -04:00
adelikat e9d7c7c88c InputRoll - more shenanigans 2015-09-05 15:09:55 -04:00
adelikat 747c0fddda InputRoll - remove a todo 2015-09-05 14:33:34 -04:00
adelikat b45f34dc3e InputRoll - code cleanup - make NormalFont readonly and remove redundant use of this.NormalFont 2015-09-05 14:21:58 -04:00
adelikat 76db52966e InputRoll - on paint method, calculate visible columns once and pass into draw functions rather than making a new list in every method on every draw 2015-09-05 14:00:08 -04:00
adelikat dec25850c5 InputRoll - a small cleanup 2015-09-02 19:39:57 -04:00
adelikat fceb4487c9 InputRoll - tiny optimization - don't calculate lastvisiblecolumnindex during a for loop 2015-09-02 19:38:33 -04:00
adelikat ed26eb002d InputRoll - break off drawing methods into a separate file 2015-09-02 18:46:23 -04:00
adelikat 951129048d Move InputRoll to the CustomControls folder 2015-09-02 18:27:34 -04:00
zeromus c9dab721fb fix bug in GDIRenderer font cache that made fonts go wacky and get measured wrong and then TAStudio to layout differently each time 2015-07-07 14:05:44 -05: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
adelikat 8af99c9066 Tastudio - make < and > buttons repeatable buttons 2015-02-24 21:44:26 +00:00
mathew1800 abbee1672e Specify the parameter for argument-based exceptions. Correct the parameter names of others.
Common mistake.
2015-02-10 04:19:34 +00:00
adelikat f647f16592 Ram Watch - add/edit watch - support 32 bit domains 2015-01-18 19:50:31 +00:00
jdpurcell ac4e197e22 Fix trackbars in Display config having different background color than their container (workaround applied only at runtime to avoid breaking designer). 2015-01-18 19:44:51 +00:00
adelikat f6b757e7fd Add Breakpoint dialog - fix a slight logic error 2015-01-18 19:08:25 +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
adelikat 7fb92d28fc Debugger - fix disassembler scrollbar logic, including the "infinite scroll" effect that when you click the up or down scrollbar arrows it will got to the next instruction (upon the next update it will "snap" back to PC) 2014-12-23 02:34:08 +00:00
adelikat 9997c4fa8d do last commit more correctly 2014-12-13 17:33:02 +00:00
zeromus a2722ae10f do some work which _should_ have supported rotated text. not sure why it isn't working though... 2014-10-22 07:59:06 +00:00
adelikat f7939125e7 GDIRenderer - fix run away gdi objects when drawing bitmaps 2014-10-11 18:56:54 +00:00
zeromus 2a9f8d9309 refine hotkey/controller dialogs a tiny bit 2014-10-05 02:02:04 +00:00
zeromus a32b5faf95 add AlphaBlend to GDIRenderer 2014-09-18 00:31:32 +00:00
adelikat 33de5d4bd9 InputRoll - support a QueryItemIcon callback, and wire it up to Tastudio's current frame marker, needs to be cleaned up 2014-09-03 03:16:16 +00:00
adelikat eebe877d28 InputRoll - remove testing code 2014-09-03 02:57:39 +00:00
zeromus 8011de9c39 draw gdi bitmaps 2014-09-03 02:52:46 +00:00
adelikat 21404611ab GDI Renderer - very bad attempt to start bitmap support 2014-09-03 02:24:13 +00:00
adelikat 11691cd690 GDIRenderer - remove some todos that were done 2014-08-31 18:19:26 +00:00
adelikat a381fcf349 Some renaming of stuff in preparation for obsoleting TasView 2014-08-23 13:14:25 +00:00
kylelyk 25b512a9c7 Quick add to subversion. 2014-08-23 01:28:04 +00:00
kylelyk b2c3530164 AutoRestoreLastPosition now works. 2014-08-22 14:42:31 +00:00
kylelyk b76edcd6e8 Fixed not going to correct frame when clicking in Marker Column in TAStudio. 2014-08-20 19:52:01 +00:00
goyuken a1df2f1cd0 pinvoking enums is safe and fun 2014-08-18 06:50:12 +00:00
adelikat c9645858da fix to last commit for transparent text bg 2014-08-18 00:57:08 +00:00
zeromus 5edcb0ff14 2014-08-18 00:48:11 +00:00
adelikat 7ffeeb7af2 InputRoll - proof of concept for bitmap drawing 2014-08-18 00:23:09 +00:00
adelikat 3e9d5533e1 Rename GDITextRenderer to GDIRenderer, Input Roll - implement the Background color callback 2014-08-11 00:08:16 +00:00
adelikat b5638798b2 A round of code cleanup on InputRoll and GDI Renderer 2014-08-10 22:23:14 +00:00
adelikat 7f053fc007 Input Roll - simpler and more efficient code, with a decent speedup 2014-08-10 21:35:17 +00:00
zeromus a4988cca22 cleanup some GDI object lifecycle stuff 2014-08-10 18:49:17 +00:00
adelikat 85d0f29ed2 Input troll - refresh on orientation change 2014-08-10 14:25:59 +00:00
adelikat cb23aaeaa2 Input Roll - cache brushes instead of creating and deleting 2014-08-09 22:01:00 +00:00
adelikat 9592f4dacf Input Roll - delete brushes before creating new ones 2014-08-09 21:37:54 +00:00
adelikat 51210b643d Input Roll - better releasing of the hdc, fixes buginess and improves performance, also properly dispose on close 2014-08-09 17:15:05 +00:00
adelikat 0a0c75fb16 Input Roll - fix text background 2014-08-09 16:55:03 +00:00
adelikat 4b152770a4 Input roll - fix up HDC handling and a few other things 2014-08-09 16:50:38 +00:00
adelikat 0b9bb8095c Input Roll - grid lines 2014-08-09 16:11:25 +00:00
adelikat 775b922b6f Input Roll - column drawing, but bad 2014-08-08 02:09:59 +00:00
adelikat 3d43450bb0 Input Roll - stuff 2014-08-07 23:52:19 +00:00
adelikat 4475f5a9fc Progress on Input roll 2014-08-07 23:10:41 +00:00
adelikat 480520ff6f Input Roll - some more progress 2014-08-07 18:32:09 +00:00
zeromus d5d2c87d68 butcher rendering performance test for more speed 2014-08-05 01:03:16 +00:00
adelikat 35d31c418b Temporarily hijack the NES nametable viewer for a gdi experiment 2014-08-05 00:18:55 +00:00
adelikat e579542b7d TAStudio - calculate row height based on font height 2014-07-30 22:46:40 +00:00
adelikat 2fd1ffe824 VirtualListView - add a UseCustomBackground flag true by default, if set to false it will bypass custom background drawing logic resulting in that speedboost I keep doing checkins for. Refactor RamWatch to check if there is any need to draw ahead of time and set this flag. Most of the time this will result is a good speed boost for this dialog, only if they are watching a frozen address (which isn't very exciting anyway) or an out of range address (which they need to fix) do they suffer the speed cost of background drawing 2014-07-30 21:31:13 +00:00
adelikat 555370540a VirtuallistView - at least do my previous speed hack when QueryItemBkColor is not set. Then at least tools that don't background drawing don't get an unnecessary speed cost 2014-07-30 21:03:06 +00:00
adelikat 3abd2da5c6 roll back last commit, more investigation is needed 2014-07-30 01:30:33 +00:00
adelikat 6fb0030e71 Speed up all virtuallistview's in the emulator by about 20% 2014-07-30 01:18:50 +00:00
adelikat 0397ea1ff4 Remove the CustomControls/Util file and move all the classes into the Form Extensions file, since they were all extension methods for window form objects 2014-07-27 15:22:30 +00:00
adelikat a3914e84a4 TAStudio - make a RightScrolled event for when the right mouse is clicked and the mouse wheel is scrolled, as refactored some code, this give better (but still broken) refreshing. Now the main window updates when the mouse wheel is done movie at least, as opposed to when the right mouse button is released. 2014-07-25 00:57:06 +00:00
zeromus 0d674308b9 check for existence of xinput1_3.dll before calling on the slimdx code to attempt using it 2014-07-23 06:52:04 +00:00
adelikat bee1dfcb02 Change the snes performance core recording nag so that it doesn't allow the choice to continue, as of this commit we do not support the use of the performance profile for movie recording 2014-07-21 18:30:54 +00:00
adelikat e6c99db9ff TAStudio - move the rightButtonHeld logic inside the TasListView object rather than being tastudio logic 2014-07-18 00:04:29 +00:00
adelikat 7b8b602f0f TAStudio - double click the frame column to add a marker, make add marker button take the last selected index or current frame if nothing is selected 2014-07-16 01:37:50 +00:00
adelikat 7a8b5d9887 TAStudio - implement Select All and Deselect menu items 2014-07-11 18:36:23 +00:00
adelikat 6bbd3ca80d Hex and Watch Boxes - prevent user from pasting invalid input, also if they do manage to get the textbox into an invalid state, interpret the value as 0 rather than throwing an exception 2014-07-03 16:43:39 +00:00
adelikat 1964f3754a Merge InputValidate into StringExtensions 2014-07-03 16:00:57 +00:00
adelikat 0eb37ad36d Convert IntHelpers to NumberExtensions and change namespace appropriately, remove StringHelpers.cs 2014-07-03 15:16:47 +00:00
adelikat d5e2808944 Fix namespaces 2014-07-03 14:56:13 +00:00
adelikat 9fd640ff4b Remove some unused code 2014-06-29 02:33:50 +00:00
adelikat ab5cfab035 remove redundant code throughout the emuhawk project 2014-06-29 02:28:48 +00:00
zeromus 176c306439 proof of concept syncless recorder AV out module 2014-06-18 02:28:07 +00:00
adelikat 2774e9c252 Add a "Don't ask me again" checkbox on the Performance core recording nag 2014-06-14 02:23:13 +00:00
adelikat e43dcbb5b2 Atari 2600 debugger - make flag checkbox buttons read-only 2014-05-31 18:41:56 +00:00
adelikat 1895e15ea5 Create StatusStripEx similar to MenuStripEx and ToolStripEx to allow click through, and replace all our status bars with it 2014-05-17 00:42:28 +00:00
scepheo 0add712863 Removed one-use MaxHexValueFromMaxDigits function from StringHelpers.cs. 2014-05-15 15:12:30 +00:00
adelikat 59ae076df7 add a TODO that I don't want to do yet, but don't want to forget about 2014-03-23 16:02:29 +00:00
adelikat 8b6bf3fc89 A hackish workaround to make Select All faster in the Cheat Dialog 2014-03-23 14:10:35 +00:00
adelikat 3cf2ba7afc Some nitpicky code cleanup on a few files before I do something useful with them 2014-02-24 02:50:56 +00:00
adelikat 5849d2d80d make the Select All feature built right into VirtualListView instead of writing the same code over and over in the tool dialogs, also make said code faster on large lists 2014-02-15 19:15:04 +00:00
adelikat 3dfcd8b22a drastically cleanup the InputValidate class 2014-02-03 19:37:43 +00:00
adelikat 1c44d21562 Code clean up on Mainform and VirtuallistView. 2013-12-20 22:05:56 +00:00
adelikat 22ff2bff04 TasListView - track the current and last cells pointed to, add a Cell changed event handler, add a Input Drawing flag, and track if the user is click dragging. TAStudio - hook up input drawing feature with toggle, still work to do as it doesn't work as intelligently as it should yet 2013-12-08 19:30:57 +00:00
adelikat 14184c9ae9 TAStudio - Basic input toggling via clicking cells in the listview 2013-12-08 18:44:41 +00:00
adelikat 394650aae6 VirtualListView - add a public property: VScrollPos, TASListView - track the row index the mouse is currenlty pointing to 2013-12-08 18:14:00 +00:00
adelikat ac56fb0883 Start a TasListView object that inherits VirtualListView, make TAStudio use it, have it have properties for which Column and Row is currently being pointed to by the mouse. Row isn't calculated yet, but column is 2013-12-07 23:20:44 +00:00
adelikat 9ccc214667 Make an extension method ShowHawkDialog() to use for modal dialog calls that does the Sound Stop/Start methods (and potentially any other EmuHawk specific logic that needs to be done). Use this in the bazillion places we were calling StopSound and StartSound. 2013-11-28 22:39:00 +00:00
adelikat b42492ec02 Various Ram Search dialog fixes 2013-11-23 21:19:52 +00:00
adelikat 2586a04498 oops, fix a logic error in HexTextBox, fixes a number of bugs such as losing the address when editing a Ram watch entry 2013-11-20 01:53:49 +00:00
adelikat 999c884f13 Refactor WatchValueBox to better handle the Nullable property, fixes a lot of issues in the cheat form among other places 2013-11-08 23:55:45 +00:00
adelikat c669680e07 Rename Multiclient folder 2013-11-03 04:05:56 +00:00