Commit Graph

124 Commits

Author SHA1 Message Date
CasualPokePlayer b11bb4fc22 fix check for IsParamsArray
fixes #3513
2023-01-10 05:53:58 -08:00
CasualPokePlayer 2c75e9bf96 remove this unneeded using of System.Drawing (i don't know how that got here) 2022-12-20 23:32:12 -08:00
CasualPokePlayer 91ce98ef12 better handle lua on linux, be compatible with lua 5.3 (we don't actually use any API exclusive to 5.4 so no real change in this case) 2022-12-20 23:30:33 -08:00
CasualPokePlayer 339915c013 check-in NLua to main repo
combine NLua with KeraLua (KeraLua is "gone" now I guess)
make it use the BizInvoker (so now it can properly handle the liblua5.4.so and lua54.dll names differing), also delete the liblua54.so.
minor speedup when creating a new empty table
make lua default to UTF8 internally, so we don't need to manually change the state's encoding
2022-12-17 21:51:10 -08:00
CasualPokePlayer 1fc08e3d95 Use NLua's MethodCache if possible for MethodBase based lua functions (see 0ed3085ec3) 2022-12-07 19:36:13 -08:00
CasualPokePlayer b04260bee7 fix unwrapped lua exceptions not being correctly thrown 2022-12-06 14:21:39 -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 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
CasualPokePlayer 45fbdb4844
Move to NLua/KeraLua/Lua5.4 (#3361) 2022-12-01 00:51:02 -08:00
YoshiRulz 7efafc18da
Extract helper code for Analyzers and Source Generators 2022-10-01 04:13:55 +10:00
YoshiRulz 466d052c2d
Clean up project files of external .NET projects 2022-09-30 08:51:57 +10:00
YoshiRulz 65f5aecfa6
Fix warnings in external .NET projects 2022-09-30 08:51:53 +10:00
YoshiRulz 158c897702
Use `Google.FlatBuffers` NuGet package and check in new Nyma codegen 2022-09-30 05:33:18 +10:00
CasualPokePlayer 98a8cdf693 remove gongshell, add "simple" code for opening win32 context menu (gongshell's only actual use), re: #2261 2022-08-19 00:24:50 -07:00
YoshiRulz d58a4a07f5
Update `PcxFileTypePlugin.HawkQuantizer` project file to match others 2022-08-19 17:02:27 +10:00
YoshiRulz a5652ee3bc
Backport `IEnumerable.Order`/`OrderDescending` shorthand
at time of writing, in .NET 7 preview
https://github.com/dotnet/runtime/pull/70525
2022-08-13 02:18:26 +10:00
YoshiRulz 140e340a8d
Add Analyzer rule to warn of `FirstOrDefault` on list of structs 2022-07-28 03:06:01 +10:00
YoshiRulz a2fef59fe1
Add Analyzer rule to prohibit `typeof(T).ToString()` 2022-07-22 03:51:43 +10:00
YoshiRulz f3f90a4cd5
Add Analyzer rules to prohibit `this.GetType()`
seriously Meziantou is a godsend
2022-07-22 03:51:42 +10:00
YoshiRulz dcc8957be3
Fast-fail Analyzer properly, fix typo
thanks to https://www.meziantou.net/working-with-types-in-a-roslyn-analyzer.htm
2022-07-22 03:51:36 +10:00
YoshiRulz 3fddcdb2c5
Add Analyzer rule to enforce throwing in `[FeatureNotImplemented]` 2022-07-15 22:22:28 +10:00
YoshiRulz 26e02033f2
Do the analysis for BHI1005 properly 2022-07-15 22:22:28 +10:00
YoshiRulz 4f98733c29
Add Analyzer to enforce exception type for default switch branches 2022-07-14 23:46:34 +10:00
YoshiRulz 395aa0755b
Add `BizHawk.Analyzer` project 2022-07-14 04:26:27 +10:00
CasualPokePlayer 13456e51bf AppleII - make clock registers deterministic if needed
also don't state monochrome (non-sync setting? todo: verify)
2022-06-27 18:33:31 -07:00
YoshiRulz 0d18a54609
Retarget Virtu to .NET Standard 2.0
fixes 4df256cd6
2022-06-24 21:30:30 +10:00
CasualPokePlayer 4df256cd6b AppleII - State keyboard, fix up csproj 2022-06-23 22:01:07 -07:00
YoshiRulz 0a4bbce3f2
Some additions to ReflectionCache source generator 2021-12-03 16:36:03 +10:00
YoshiRulz 182699b967
Clean up ReflectionCache source generator 2021-11-28 03:33:34 +10:00
YoshiRulz 4f7a641453
Add missing $ before string in generated ReflectionCache source 2021-07-27 21:10:11 +10:00
YoshiRulz 652b38d04c
Check-in ReflectionCache assembly instead of including in build 2021-04-14 10:44:46 +10:00
YoshiRulz 65d5e3f7d5
Move NymaTypes to separate project, fiddling w/ project structure 2021-04-09 17:49:07 +10:00
YoshiRulz e24c4c3971
Move CDFS (iso-parser) to new external project, update upstream info 2021-01-02 17:34:13 +10:00
YoshiRulz b9b1e2d237
Move Quantize to new external project, update upstream info 2020-12-23 16:37:47 +10:00
YoshiRulz d23386e75d
Remove unused assemblies from repo 2020-11-06 23:15:12 +10:00
YoshiRulz 10e7cb0f34
Use pre-built assembly for FlatBuffers.Core
fixes 4be701e2a
2020-05-30 15:54:06 +10:00
nattthebear 21cdf5120b
Revamp waterbox build environment and runtime. (#2027)
Create an all new waterbox build environment:
WSL2 + Ubuntu 20.04 LTS (Other linuxes may work)
Musl libc with waterbox customizations
LLVM's libclang-rt, libunwind, libcxxabi, libcxx
Static linking to elf files

Compared with the old system, this is easier to set up a dev env for and easier to update in the future. The executables are larger but produce smaller savestates due to static linking. The modern toolchain means advanced library features and language features that sometimes appear in some upstream cores will be reusable.
2020-05-20 15:34:24 -04:00
adelikat c77c5e1f8f update virtu.dll 2020-02-22 14:54:24 -06:00
adelikat 33ad336b6a
Apple II - refactor states to use Serializer (#1859)
* apple II - poc to redo binary states to use the Serializer and pass it into virtu

* virtu - savestate logic for Video

* AppleII - serialize more components with AppleSerializer

* cleanup

* refactor MachineEvents to store delegates to call and have the calling code interact with an enum, prep work for serializing this class

* apple II - first attempt at serializing Machine events

* cleanup

* add isvblank to savestates

* put more things in savestates, cleanup

* cleanup

* cleanup, save more things

* cleanup, fixes

* cleanup, save more things

* virtu - savestate fixes

* cleanup

* save CurrentDisk in savestates
2020-02-22 09:53:56 -06:00
adelikat b3a80965af
Virtu cleanup (#1846)
* virtu - tabs instead of spaces

* virtu - use nooget for Newtonsoft.Json

* virtu - target .net 4.8

* resharper - target C# 8

* virtu - remove unused usings

* virtu - remove some unused code

* virtu - cleanups

* virtu - trace logging - add flags to trace logs

* virtu - cleanups

* virtu - misc cleanups

* virtu - make some stuff internal and simplify the api some

* virtu - clock down more things and simplify api more

* virtu - lock api down more

* virtu- simplify, breaks older savestates however

* virtu - simplify more

* virtu - cleanup

* virtu- more cleanup

* virtu - reorg some files

* virtu - more cleanup

* virtu - more reorg

* virtu - more reorg

* virtu - make more things internal instead of public

* virtu - make more things internal

* virtu - update dll

* cleanup

* virtu - reorg

* virtu - remove unitialize from machine component since nothing was utilizing it

* virtu - simplify api

* virtu - cleanup

* virtu - cleanup and lock things down

* virtu - lock down and cleanup

* virtu - cleanup

* virtu - simplify - breaks savestates

* virtu - make PeripheralCard an interface with default implementation, breaks savestates

* virtu - minimize use of machine component

* virtu - cleanup

* virtu - start minimizing dependencies

* virtu - cleanup

* virtu - simplify

* apple II - simplify

* virtu - move some biz logic into bizhawk

* virtu - git rid of MachineComponent

* virtu - delete no longer needed code

* virtu - reorg

* move serialization logic out of virtu and into bizhawk, this was our shenanigans

* virtu - some small cleanups

* virtu - simplify

* virtu - dependency minimization

* virtu - minimize dependencies

* minimize dependencies

* virtu - move drivelight property into component that controls it

* virtu - minimize dependencies

* virtu - minimize depenencies

* move some machine logic to memory class

* move some initialize logic into constructor

* move initialize logic to constructor

* move logic from Initialize to constructor

* move initialize logic to constructor, simplify api to bizhawk

* dll

* virtu - movie some logic back into bizhawk

* virtu - move Lagged property from machine to memory component

* move more biz logic from virtu to biz

* virtu - slight reorg

* virtu - move some reset logic to constructor

* virtu - move some stuff around

* virtu - declare dependencies in memory class, no more dependencies on the machine class

* move slots from machine to memory class

* move some properties from machine to memory

* move more things into the memory class

* remove Machine.cs from virtu and make an equivalent container in bizhawk

* virtu - cleanup

* interface the cassette class and create a biz empty cassette "implementation"

* move some more dummy logic from virtu to biz and put an interface in virtu

* virtu - use an interface for a dependency

* virtu - interface more things

* virtu - more interfacing of things

* virtu - interface more things

* apple II/virtu - some reorg

* virtu - cleanup

* virtu - remove unused usages of disk name in disk classes

* virtu- cleanup and simplify api

* virtu - remove unused BootDrive property

* virtu - cleanup and interface more

* cleanup

* update virtu dll
2020-02-14 09:54:35 -06:00
YoshiRulz 2c74b1a693
Properly fix assembly loading issue, retarget BizHawk.Common again
temp fix was 9ffef2531
2020-01-29 00:23:10 +10:00
YoshiRulz 88ae783ef0
Partially revert 185337d1c, resolves #1766 2019-12-26 15:52:32 +10:00
YoshiRulz 185337d1c5 Replace assembly references with NuGet packages where possible 2019-12-12 03:56:46 +00:00
James Groom fcc0bc19a4
Change build config to support the Core build system (for #1415)
squashed PR #1702
2019-12-03 16:58:33 +00:00
J.D. Purcell e1075d1006 Virtu: Make savestates smaller. 2019-11-03 14:12:48 -05:00
J.D. Purcell d71b2d26b5 Update Newtonsoft.Json 2019-11-02 16:24:08 -04:00
feos 84facd4c03 Merge branch 'master' into release
# Conflicts resolved:
#	BizHawk.Client.EmuHawk/tools/TAStudio/BookmarksBranchesBox.cs
#	References/OpenTK.dll.config
2019-06-18 19:41:31 +03:00
James Groom 59ad94f9b9
Merge branch 'master' into appleii_fixattempt 2019-03-28 20:25:11 +11:00
feos 3b4d82defb fix #1424 2019-01-06 21:20:54 +03:00