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