Commit Graph

4937 Commits

Author SHA1 Message Date
adelikat 4e3aa0eb15 move Bk2 -> TasMovie conversion logic from Tastudio to MovieSession, fix crashing when loading .bk2 movies from the tastudio menu 2020-04-18 14:50:25 -05:00
adelikat d946aa6145 tastudio - cleanups 2020-04-18 14:50:25 -05:00
adelikat 7a77861896 Conisstently use MovieSession.StopMovie instead of stopping the movie directly, derefrence the movie on stopping instead of letting it hang around in memory 2020-04-18 14:50:25 -05:00
adelikat b2208d714c Tastudio cleanups 2020-04-18 14:50:25 -05:00
adelikat 1611ff3aef IMovieSession - rename a property, add documentation 2020-04-18 14:50:25 -05:00
adelikat 6d699012a6 disable record movie dialog if core needs rebooting, fixes bug of recording the wrong sync settings into the movie and causing a crash 2020-04-18 13:00:26 -05:00
adelikat fa552cab81 restrict access to IMovieSession.QueuedMovie 2020-04-18 12:05:16 -05:00
adelikat dc9fa1acf3 movie code cleanup 2020-04-18 11:54:49 -05:00
adelikat 189a47ad3c move more movie loading logic out of Mainform and into MovieSession and also some extension methods 2020-04-18 11:25:37 -05:00
adelikat 3ec6662dc9 move core preference setting shenangians from MainForm.StartNewMovie() to MovieSession 2020-04-18 10:55:41 -05:00
adelikat 2a9710b63c movie some video provider movie logic into an extension method 2020-04-18 10:49:15 -05:00
adelikat 892185d2fd remove useless virtualpad restart in StartNewMovie, tools are already restarted by design 2020-04-18 10:36:42 -05:00
adelikat 9494243eef add an IStatable extension method that can load a state directly from a byte array, reduces the stream creation boiler plate in a number of palces 2020-04-18 10:26:08 -05:00
adelikat a460846ff8 Tastudio - account for an unlikely edge case NRE where right button held is true but mouse is outside of the control 2020-04-18 10:23:10 -05:00
adelikat 2a2ddde277 MainForm - disable recent movie menu item when tastudio is active 2020-04-18 10:17:14 -05:00
adelikat d50bf21da9 move some logic from mainform to moviesession, remove TasMovie check that makes no sense 2020-04-18 10:09:47 -05:00
adelikat 3940187800 Nes - Core menu - add subneshawk 2020-04-18 10:03:11 -05:00
adelikat 19095bb7e5 simplify 2020-04-18 09:55:57 -05:00
adelikat dfe7f8e3ab refactor core preferences to be a dictionary<string, string> to be stored in config, and consolidate subnes and subgb into just another core selection 2020-04-18 09:55:57 -05:00
adelikat f090d75c9d use Emulator.IsNull 2020-04-16 12:25:42 -05:00
adelikat eb3ddab060 Cleanup IMovieSession method names to be a bit more conscise 2020-04-16 12:25:42 -05:00
adelikat 3f1ef8dd4d add a IMovieSession property to ToolFormBase and use it 2020-04-16 12:25:42 -05:00
YoshiRulz fa1c494ad8
Encapsulate input method, revive DirectInput, cleanup Input.Instance 2020-04-17 03:20:18 +10:00
adelikat 0aa8d71a3f more MovieSession refactoring 2020-04-15 20:37:50 -05:00
adelikat 3953b1de5a use desired property for checking for a queued movie 2020-04-15 16:09:34 -05:00
adelikat c0fde42a0c don't expose Bk2Controller, clients need to depend on an interface and rely on the Movie (well, MovieSession currently) to generate an IMovieController instance, since different implementations of IMovie need to be able to create their own controller implementations 2020-04-14 21:35:44 -05:00
adelikat f2e52988c1 simplify some IMovieSession stuff 2020-04-14 21:23:47 -05:00
adelikat ab7225c955 remove MovieSession convenience property that isn't that convenient anyway 2020-04-14 20:58:02 -05:00
adelikat 0d2f014621 refactor Bk2LogEntryGenerator to be stateless, refactor some IMovieSession shenangians 2020-04-14 20:50:21 -05:00
adelikat cdfeda8b71 rename IMovieController methods and classes to better describe what they are 2020-04-14 20:10:50 -05:00
adelikat aa80c3a0d6 majorly refactor Bk2Controller more 2020-04-14 19:33:49 -05:00
adelikat 13e58cbac5 refactor IMovieController 2020-04-14 19:05:17 -05:00
adelikat cc15bb2841 fix some object churning when input display is on 2020-04-14 17:47:49 -05:00
adelikat 03a7ea8438 IMovie.PopulateWithDefaultHeaderValues() - pass in dependencies instead of using Globals 2020-04-14 17:30:32 -05:00
adelikat 2b17c6d310 simplify some LogGenerator code 2020-04-14 16:44:37 -05:00
adelikat 831621b864 remove some unused code 2020-04-14 16:25:28 -05:00
YoshiRulz d2e19c9ba5
Slightly grow a GroupBox to avoid its contents overflowing (fix #1931) 2020-04-14 18:15:07 +10:00
zeromus 3b86bd741f REVERT DisplayConfig pre-layoutpanel (see if this helps #1930) 2020-04-13 20:53:35 -04:00
adelikat 8c852c1b70 refactor importers to pass in a config instance, instead of using Global.Config 2020-04-13 19:51:42 -05:00
adelikat ade678487a Lua console - account for separators when doing Duplicate Script 2020-04-13 19:29:25 -05:00
YoshiRulz 7cce81a880
Move LuaLibraries.GuiLibrary to inheritors, fix related NREs on Unix 2020-04-14 05:11:20 +10:00
YoshiRulz 3d532078a5
Rename PlatformEmuLuaLibrary and implementations
EmuLuaLibrary was too close to EmulationLuaLibrary. These classes are
containers, they're not in the LuaLibraryBase inheritance heirarchy.
2020-04-13 19:49:21 +10:00
YoshiRulz e514dfd117
Move/rename Lua library classes 2020-04-13 19:42:14 +10:00
YoshiRulz e226ff102b
Replace dynamic type with Object in API
Using the dynamic type here is no better than object because the values are
primitive types -- more likely to be cast/typechecked than used as a receiver
param for a method call.
2020-04-13 17:05:38 +10:00
adelikat ff029968f3 fix compile error, some nitpick cleanups 2020-04-12 15:30:40 -05:00
adelikat e0df266cb7 remove remaining globals in LuaFunctionList 2020-04-12 14:17:16 -05:00
adelikat 42c6168c7e LuaFunctionList - remove global usage, make an IEnumerable instead of List since add/remove needs to be carefully controlled 2020-04-12 13:29:58 -05:00
adelikat 622733d31a SavestateManager - pass in IEmulator, reduces some global dependencies 2020-04-12 13:29:58 -05:00
adelikat 6e40c46aa1 some nitpick cleanups 2020-04-12 13:29:58 -05:00
adelikat acf959fd4b SaveSlotManager - pass in dependencies instead of using Globals 2020-04-12 13:29:58 -05:00
YoshiRulz 1ee131ed78
Merge ApiHawk project into Client.Common and EmuHawk 2020-04-12 17:40:42 +10:00
adelikat 0a1a2dbe7d when closing the lua console - clear registered functions 2020-04-10 11:12:57 -05:00
YoshiRulz 5c56d9580c
Rethink GroupBoxEx.Tracker access to allow Designer deserialisation 2020-04-10 09:48:05 +10:00
YoshiRulz 4f08496815
Fixup CGBColorChooserForm Designer file
faf4b02c2
2020-04-09 10:49:04 +10:00
TiKevin83 faf4b02c26
Undo Previous PR on Gambatte Colors and Implement an Option (#1918)
* Revert "New GBC LCD correction for Gambatte palette from documented shader research https://forums.libretro.com/t/real-gba-and-ds-phat-colors/1540"

This reverts commit 88cda24876.

* Implement the libretro GBC color palette as an added option instead of a change to the Gambatte option
2020-04-08 20:41:50 -04:00
YoshiRulz b960351732
Resize/realign controls in DispConfig, add fixed-size RadioButtonEx 2020-04-09 10:33:59 +10:00
YoshiRulz 489084242f Move [AssemblyVersion]/[AssemblyFileVersion] to VersionInfo.cs
ApiHawk was using hardcoded "1.1.0.0". BizInvoke, Bizware.BizwareGL, and
WinForms.Controls were not annotated, and had the default "0.0.0.0". All four of
these projects did not include the Version source files.
2020-04-08 23:04:08 +00:00
zeromus bb68d55db8 fix AR problems due to NDS screen layout work 2020-04-07 23:34:41 -04:00
zeromus c2917597b3 undo edits that replaced \' with ' in strings so I don't waste five minutes looking for them again in the future 2020-04-07 22:26:26 -04:00
adelikat e62c2e3646 PlayMovie dialog - simplify a bit 2020-04-07 15:28:27 -05:00
YoshiRulz 573aa13c64
Replace Tuple with ValueTuple in input system 2020-04-08 02:24:48 +10:00
adelikat ce17df2b6a DS - fix virtualpad lid buttons 2020-04-07 08:43:52 -05:00
adelikat df538c2833 ToolManager - lock down UpdateBefore/After, calling code should always only use UpdateToolsBefore/After since it properly deals with lua. This fixes inconsistent behavior in MovieZone and tastudio branch loading 2020-04-06 17:46:59 -05:00
adelikat a47f89582b LuaDeprecatedMethod - documentation generation failed to filter it out, instead though mark it as depcreated in documentation, Lua functions list - fix column sorting, simplifications 2020-04-06 17:12:24 -05:00
adelikat 96a753324a O2 - add Reset button to virtual pad 2020-04-03 18:08:26 -05:00
adelikat 86f5964262 remove wrapping on DS layout hotkeys 2020-04-01 19:28:22 -05:00
adelikat ba27cd5c7e IncrementDSLayout - make decrement hotkey also wrap 2020-04-01 19:15:27 -05:00
adelikat ed571cddef just delete client.transformX/Y, if anyone yells, direct them at me 2020-04-01 17:13:04 -05:00
adelikat f369291606 this is the correct lua convention going forword, no snake case 2020-04-01 11:49:20 -05:00
YoshiRulz 6571f70283
Rename new Lua function by convention, fix ClientApi.TransformPoint
I doubt this ever worked. The Lua one wasn't delegated, it directly accessed
GlobalWin, so it didn't have this bug.
2020-04-01 13:00:49 +10:00
YoshiRulz 7797689c53
Add LuaDeprecatedMethodAttribute and apply to client.transformPointX/Y 2020-04-01 09:49:27 +10:00
YoshiRulz 0437de604b
Revert transformPoint* changes, add transformPoint, delegate all three 2020-04-01 09:36:26 +10:00
zeromus 377e4498d7 straighten out lua APIs for coordinate transforming 2020-03-31 19:15:52 -04:00
zeromus 667a218c58 hook up melonds screen control stuff to settings 2020-03-31 18:30:08 -04:00
adelikat f408bcb2b7 more of the previous commit 2020-03-31 09:30:52 -05:00
adelikat 747501af52 nitpick previous commits - public properties not readonly fields 2020-03-31 09:17:53 -05:00
YoshiRulz 69aa909fc5
Revert previous fix which didn't work and set DisplayName properly
fixup e22c2ae11
2020-03-31 23:42:43 +10:00
YoshiRulz e22c2ae115
Fix ButtonSchema.DisplayName regression 2020-03-31 23:30:06 +10:00
YoshiRulz 9e5e8c2547
Seal PadSchemaControl subclasses 2020-03-31 21:45:27 +10:00
YoshiRulz 3decfa5019
Use inheritance instead of Type for PadSchema controls
* Rename ButtonSchema to PadSchemaControl, create ButtonSchema subclass, rename
AnalogSchema to AnalogStickSchema, and make PadSchemaControl abstract
* Replace switching on PadSchemaControl.Type (enum PadInputType) with type
checks
* Refactor and merge VirtualpadTool.CheckPads() into .CreatePads() (it was
easier than just using type checks in the old algorithm)
* Move members from PadSchemaControl to subtypes and cleanup
2020-03-31 21:40:36 +10:00
YoshiRulz 0ba7a5a7df
Rename axis-related types, members, and locals
I left a few methods where they had an equivalent *Bool*() for buttons, and also
left some in TAStudio that get serialised.
2020-03-31 17:29:55 +10:00
YoshiRulz 905b18e429
Add helpers for getting selected radio button of group 2020-03-31 03:49:15 +10:00
YoshiRulz 6bf948a7b7
Extract GroupBoxExBase, add RadioButton tracking to GroupBoxExBase
The recent redesign of some config UIs used custom GroupBoxes and RadioButtons,
which was fine, but it also used FLPs liberally. RadioButtons can't
automatically uncheck their siblings if they're not direct siblings, i.e. both
are direct children of a GroupBox. Adding FLPs to GroupBoxes changed the tree,
introducing a bug.
2020-03-31 03:22:12 +10:00
zeromus c3389f14e1 fix bulkread mistakes (see #1903) 2020-03-30 05:21:07 -04:00
zeromus e45943c26a raw capability for DisplayManager handling the NDS screen layouts. someone else will have to hook up the configuration in "CreateCoreScreenControl()". Gap, rotation, and layouts all supported. You will see that other configurations with varying view sizes won't be hard either.
Note that this was actually not very difficult, compared to dealing with the client sizing logic, which was teetering on the brink of total collapse. I may have messed something up while trying to support it here (mainly related to emu-space and client-space padding). There were many assumptions that the core's videoProvider would remain sensible, which this "core screen control" system subverts. The padding and sizing was added after I designed the pipeline specifically for this, so the padding and sizing is not handling it very well. Nonetheless, I think it works.
2020-03-29 21:50:06 -04:00
adelikat 2f287f5c3c virtualpads - a2600 - implement keyboard controller 2020-03-29 17:42:59 -05:00
adelikat b1911f32a3 virtual pads - fix atari 2600 booster grip button mapping, broken in recent refactors 2020-03-29 17:34:42 -05:00
adelikat 948f58bfae Lua console - remember splitter position 2020-03-29 17:22:22 -05:00
adelikat 58bcb38315 Lua Console - fix Path column sorting, and simplify sort logic 2020-03-29 17:13:03 -05:00
adelikat 729c0516ed some nitpick cleanups 2020-03-29 15:57:27 -05:00
adelikat 7c2802b4c3 DS - change to incrmeent/decrement view hotkeys instead of just one that increments 2020-03-29 14:41:42 -05:00
adelikat 7fce38c497 nitpick cleanup 2020-03-29 12:56:37 -05:00
adelikat a574fab07f lua console - update script icons when an error occurrs that stops a script 2020-03-29 12:49:42 -05:00
adelikat 9bc5d74c67 DS - add hotkey to toggle video screen options 2020-03-29 12:05:05 -05:00
adelikat f15bf2e731 disable some movie menu items on the mainform when tastudio is open, like play and record movie. These jack up tastudio instantly, and there's no reason to be doing this stuff 2020-03-29 10:11:23 -05:00
adelikat 730156b5db DS - wire up some screen setting options, the side by side ones don't work because screen arranger has a bug, and it is flawed, going to refactor all of this 2020-03-28 12:03:26 -05:00
adelikat 1647783fa8 DS - wire up settings to UI 2020-03-28 11:35:13 -05:00
adelikat 3e89a7f201 DS - refactor settings so that it is an enum that then translates to ScreenArranger settings 2020-03-28 11:21:39 -05:00
adelikat e2ac7d7a8f cleanup ds video options code 2020-03-28 10:31:25 -05:00
adelikat eea7b2136f remove unused dependencies in a few lua libraries 2020-03-28 09:31:28 -05:00