Commit Graph

20139 Commits

Author SHA1 Message Date
kalimag 14e713837b Change remaining `Config.DisableLuaScriptsOnLoad` refs to Settings
Resolve inconsistent use of duplicate property on `Config` and `LuaConsoleSettings`, finishes partial refactoring from 324a50a

This will effectively reset this setting to default in existing configs.
2022-12-07 18:15:31 +10:00
YoshiRulz a8e0192281
Use FLPs so UI scale doesn't break Record Movie dialog (see #2605)
disables resizing the dialog; default is big enough and the `TextBox`es can
scroll
2022-12-07 15:43:25 +10:00
YoshiRulz 632f063073
Cleanup `RecordMovie` ctor 2022-12-07 15:43:24 +10:00
YoshiRulz 400b1b589b
Inline `RecordMovie.InitializeComponent` (Designer file) 2022-12-07 15:43:21 +10:00
YoshiRulz 102874e480
Fix N64 header detection being swapped (fixes #3477)
fixes abeaa2a10
how ironic
2022-12-07 14:34:52 +10:00
YoshiRulz 62f6f3b471
Fix Win32LuaLibraries init'ing incorrectly on `DeveloperBuild = false` 2022-12-07 14:27:19 +10:00
CasualPokePlayer b04260bee7 fix unwrapped lua exceptions not being correctly thrown 2022-12-06 14:21:39 -08:00
YoshiRulz def5df44fa
Fix double call to `UIHelper.ScaleX` in `ControllerConfig` (see #2605)
fixes 93c47b87b
2022-12-07 05:29:27 +10:00
Morilli 5e6c4a2bbd fix justifier controller never working oops 2022-12-06 19:42:30 +01:00
Morilli 96cc3f8745 BSNESv115: implement an extended gamepad controller with 4 extra buttons
this is a breaking change for existing movies, but only when a non-gamepad controller was used, which is rare
2022-12-06 19:21:08 +01:00
CasualPokePlayer 339994c5a7 change these to using var 2022-12-06 09:46:12 -08:00
CasualPokePlayer b687dea1b0 change every IntPtr<->int cast to IntPtr<->long. we got 64 bit integers with lua now, and a pointer is 64 bits, so might avoid some dumb bug due to truncations and some ungodly amount of ram being used
TODO: see if we can skip this cast nonsense. the lua tests indicate IntPtr should pass through fine, being considered "userdata", probably better so the user can't just pass raw numbers for the handle.
2022-12-06 04:53:35 -08:00
CasualPokePlayer bc79664461 fix implicit lua number to .net conversion
fix .net exceptions not halting the running script
fix inconsistency with stdout and lua console printing errors, both should end in a newline now
print the inner exception of a lua exception (i.e. the .net extension) if possible
2022-12-06 02:52:57 -08:00
CasualPokePlayer eb00019c86 fix passing numbers for string args in .net lua functions (old engine had this behavior, granted "bad user" if they relied on this), add appropriate test
fix passing sbyte/char as args, add appropriate tests
cleanup the lua auto unlock hack, using a nice ref struct + dispose to handle it
2022-12-05 23:21:23 -08:00
CasualPokePlayer 920682688b deprecate lua bit functions which have direct operator counterparts in new lua 2022-12-05 18:23:11 -08:00
CasualPokePlayer dcd570bf87 fix mainmemory.write_bytes_as_dict 2022-12-05 16:46:22 -08:00
Morilli 4a49fc174b Improve LsmvImport in numerous ways
- previously, every second frame was empty (lol), since 2016 i believe
- now imports as (sub)bsnes115 movie instead of bsnes, allowing to import subframe inputs and delayed resets
- imports controller types correct(er)ly
2022-12-05 16:28:22 +01:00
Morilli 10ba45d462 BSNESv115+: actually provide IBoardInfo properly 2022-12-04 22:48:29 +01:00
YoshiRulz abeaa2a106
Be less lazy about N64 header detection in byteswapper
fixes 82c3b471a, 9660c16a0
2022-12-05 04:54:19 +10:00
CasualPokePlayer 9660c16a0a fix N64 roms coming through multidisk bundler in ares 2022-12-04 01:35:58 -08:00
CasualPokePlayer 3dd36f5f07 revert the explicit try/finally use for PeekByte/PokeByte monitor domain methods, testing seems to show the ref struct use makes EnterExit allocation (now forced to the stack) a non-issue performance wise 2022-12-03 18:30:09 -08:00
CasualPokePlayer f01463e2b3 Convert EnterExitWrapper to a readonly ref struct, this should be a speedup in all cases. Will need to experiment to see if this mean the try/finally from #3296 can be avoided 2022-12-03 17:46:49 -08:00
YoshiRulz d508b734d6
Fix `MemoryApi.{Read,Write}ByteRange` edge cases 2022-12-04 09:23:28 +10:00
YoshiRulz af44a85cfd
Add unit tests for `IMemoryApi.{Read,Write}ByteRange` 2022-12-04 09:23:28 +10:00
YoshiRulz dc4efc3644
Fix typos and whitespace in `MemoryApi.cs` 2022-12-04 09:23:27 +10:00
YoshiRulz 1bdff05442
Use read-only collection types in `IMemoryApi` 2022-12-04 09:23:25 +10:00
YoshiRulz cba206efec
Add `IUserDataApi.Keys`/`userdata.get_keys` 2022-12-04 04:06:58 +10:00
YoshiRulz c2d5a9c931 Banish empty conditional blocks 2022-12-04 02:11:41 +10:00
YoshiRulz 84d2866f53
Clean up usage of `LuaFile.Enabled`/`Paused` 2022-12-04 01:43:02 +10:00
CasualPokePlayer f798021bba CloseRom acts like rebooting the core, so make it just reset Lua libs (more properly fixes #3226 without any yield nonsense)
Slight revert of 2efae13af4 (still want to set running scripts as it's used later)
Fix detaching registered functions (old logic was broken, Stop would null out the LuaRef used for creating the new dummy thread for the detached function. best solution i've come up with is to simply pass a callback over for creating the thread, nicely encapsulating that functionality)
Various cleanups, don't need VS complaining about old pattern matching code here anymore...
2022-12-03 04:57:58 -08:00
CasualPokePlayer 15b2264cb4 Use LuaThread Yield here instead of directly using LuaState's 2022-12-02 19:45:29 -08:00
CasualPokePlayer 51f01efdc4 Properly handle errors when running a lua script, using Resume/Yield methods added to the LuaThread class (see f904fa0d53) 2022-12-02 14:44:05 -08:00
Morilli ae11dcc6af replace default bsnes with bsnes115 2022-12-02 20:21:21 +01:00
YoshiRulz 6174398fb4
Also reset padding when removing last Lua script (resolves #1509) 2022-12-03 01:06:06 +10:00
YoshiRulz a9756b60a2
Clear OSD + surfaces when removing a Lua script (resolves #3014)
they were already being cleared when closing the Lua Console
note the "Erase Stale/Stuck Lua Drawing Layers" button does not clear OSD,
leaving that as it is for now
2022-12-03 01:02:26 +10:00
CasualPokePlayer 2efae13af4 prevent some NREs occurring with the new Lua stuff 2022-12-01 14:59:36 -08:00
YoshiRulz 999e487557
Add `bizstring.pad_{start,end}` helpers 2022-12-02 06:18:32 +10:00
YoshiRulz ca72f113df
Rename `event.onmemory*`, phase 1 (resolves #759) 2022-12-02 05:55:42 +10:00
YoshiRulz ec3a23259c
Remove default bindings for keyboards (resolves #3257)
and the Libretro mouse (leaving the other mice because you need to choose them
as peripherals for the axes to be bindable)
2022-12-02 05:35:58 +10:00
YoshiRulz 42455ac4a3
Fix syntax in `defctrl.json` and remove empty objects 2022-12-02 05:28:29 +10:00
YoshiRulz 6381448472
decimal is not floating-point
fixes fdbb34dff
2022-12-02 04:27:29 +10:00
YoshiRulz 5603e5ac01
Reorder items in Tools menu 2022-12-02 04:24:24 +10:00
YoshiRulz 3dcc3ff89f
Improve handling of exceptions thrown in `Form.Load` handlers
obviously only benefits forms inheriting `FormBase`
2022-12-02 03:48:36 +10:00
CasualPokePlayer 9393e1b764
Fix #3417 and improve handling of `default.tasproj` (squashed PR #3462)
* Fix #3417 and improve handling of default.tasproj

* expose SetMovieController in the MovieSession interface (please don't rely on it anywhere else)

* don't use this explicit public in the interface

(is this mentioned anywhere? i assume this is proper style)

* use this helper function
2022-12-02 03:44:56 +10:00
feos 10a38270e5
forgot a char 2022-12-01 19:12:45 +03:00
feos bace52c4f8 fix #2119 2022-12-01 19:10:57 +03:00
dependabot[bot] 47c494a5a6
Bump System.Drawing.Common in main solution (#3464)
Bumps [System.Drawing.Common](https://github.com/dotnet/runtime) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v5.0.2...v5.0.3)

---
updated-dependencies:
- dependency-name: System.Drawing.Common
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 01:22:46 +10:00
dependabot[bot] 6edac4bd2f
Bump System.Drawing.Common in HawkQuantizer (#3463)
Bumps [System.Drawing.Common](https://github.com/dotnet/runtime) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v5.0.2...v5.0.3)

---
updated-dependencies:
- dependency-name: System.Drawing.Common
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 01:22:18 +10:00
CasualPokePlayer 45fbdb4844
Move to NLua/KeraLua/Lua5.4 (#3361) 2022-12-01 00:51:02 -08:00
CasualPokePlayer fdbb34dff6
Lua tests (#3373) 2022-11-30 23:55:24 -08:00