Commit Graph

107 Commits

Author SHA1 Message Date
SuuperW c59d8130bb
DS Hawk (#1884)
* Add MelonDS.cs, support opening (but not really) .nds files.

* init MelonDS

* MelonDS: Load selected ROM.

* MelonDS: FrameAdvance and frame counter.

* MelonDS: IVideoProvider

* MelonDS: Add DLL files.

* MelonDS: IInputPollable

* MelonDS: IStatable (and add forgotten file MelonDS_InputPollable.cs)

* update libmelonDS.dll

* MelonDS: ISoundProvider

* Add NDS to Global.SystemInfo, and convert screen coords when running NDS.

* set up default NDS controller

* MelonDS: ISaveRam

* MelonDS: remove romlist.bin

* MelonDS: ISettable

* Create firmware folder if it doesn't exist on Windows; otherwise, an exception is thrown.

* Add database entries for NDS bios/firmware files.

* MelonDS: Use the bios/firmware files selected in BizHawk's "Firmwares" dialog.

* MelonDS: Re-work sync settings a bit.

* NDS's firmware file contains user settings; these are over-written by sync settings, so we shouldn't allow them to impact the hash

* MelonDS: Add (currently unused) bootToFirmware sync setting, and NDSSettings dialog.

* Update NDS firmware hash; it seems I had somehow corrupted mine.

* MelonDS: Use boot to firmware sync setting.

* MelonDS: Allow user to set some firmware user settings via the NDS settings dialog.

* MelonDS: Add singleInstance attribute to core.

* MelonDS: IMemoryDomains

* update libmelonDS.dll

* MelonDS: Set up default sync settings if none are provided.

* MelonDS: Allow user to reset settings to default.

* MelonDS: bios+firmware files are recommended

* libmelonDS.dll

* MelonDS: Don't use real time.

* MelonDS: Update to reflect new way of handling RTC in MelonDS.

* MelonDS: Notify if savestate load failed.

* update MelonDS.dll

* MelonDS: Allow user to set startup date/time in settings dialog.

* MelonDS: Create melon directory if it doesn't already exist.

* Don't include Designer's "fixes" in PR (partially reverts 56b474c00)

* Don't show a broken console window; alert user of need to restart instead.
This fixes an error related to MelonDS trying to use the broken stdout stream.

* update default NDS controls to match other updated controls

* Implement a system bus, using ARM9 read/writes.

* MelonDS: Allow BizHawk to change the contents of the frame buffer.

* update libmelonDS.dll

* fix stuff that was merged incorrectly, or was broken by merge

* update libmelonDS.dll
(includes memory leak fix)

* update libmelonDS.dll
(fixes memory leak and an occasional savestate crash)

* fix stuff that broke with the merge

* cleanups, remove stuff that is no longer needed by service interaces

* simplify DS MemoryDomains

* DS - fix order of controller buttons to be consistent with other consoles.  This probably breaks any existing movies made on this core, but those would have been experiments, right?

* NDSSettings - make min value for day and month 0, whiel those aren't "valid" values they are the default values in the core for whatever reason, better to not crash on load and not show a value that isn't actually the setting.  This can easily be reverted if the core changes to default to 1

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
Co-authored-by: adelikat <adelikat@tasvideos.org>
2020-03-21 10:53:30 -05:00
adelikat 6d5c444252 Move Global controller adapters into InputManager, it's a step in the right direction 2020-03-15 17:50:48 -05:00
adelikat 348cbd18df
Remove PathManager code that had dependencies on Globals (#1881)
* move one usage of Firwmare method into Firmware config where it is better suited

* PathManager - remove unused code

* move some PathEntry specific logic out of PathManger and into PathEntryCollection extension methods

* PathManager - detangle some exe pathing logic from Global.Config usage, clarify what a completely broken method should actuall do

* move more logic from PathManager to PathEntryCollection extension method

* move absolute path creation to PathEntryCollection, lots of refactoring and simplifying of PathEntries usage

* simplify PathEntryColleciton usage more

* simplify PathEntryCollection more

* break PathEntry classes into separate files, a bit of cleanup

* move Rom path logic out of PathManager into PathEntryCollectionExtensions

* move config UseRecentForRoms and LastRomPath into PathEntries, note that this is a breaking change for previous configs, those values will revert back to default values

* move SaveRamPath logic from PathManager to PathEntryCollections

* move cheats path logic from PathManager to PathEntryCollection

* move another method out of PathManager

* move some Retro hacks to PathEntryCollections, exposes more implicit dependencies

* move savestate logic out of PathManager to PathEntryCollection

* move more logic out of PathManager

* move some savestate logic out of PathManager, move most to MainForm where it is used, detangle some implicit dependencies from SaveSlotManager

* rename method

* move more logic from PathManager to PathCollectionEntry

* movie final Global.Config.PathEntries logic out of PathManager and into PathEnties
2020-03-15 15:12:36 -05:00
adelikat 9037c82985 use switch expressions on CoreSystemEnum converters, and add some enums that haven't been there for a long time (does anyone use this?) 2020-03-14 15:24:46 -05:00
adelikat 2c007e5049 remove a few more psp references 2020-03-14 15:18:58 -05:00
YoshiRulz 9e514dcebd
Unify Get/SetSoundOn across Lua and C# APIs (resolves #1817) 2020-03-13 08:46:45 +10:00
YoshiRulz 2b8c0edcc2
Reorganise *.props 2020-02-23 06:17:35 +10:00
YoshiRulz 3afcf416e8
Follow attribute class best practices, cleanup docs on attributes 2020-02-19 03:54:50 +10:00
adelikat 656f2b814e Move IEmulator extensions to the Emulation.Common namespace, the intent is that these are used and serve as built in functionality, so it's overly tedious to when most situations require both Common and an additional extensions namespace 2020-02-15 12:33:15 -06:00
adelikat d7f97b1539 actually delete things instead of removing them from the project 2020-02-08 13:09:27 -06:00
YoshiRulz 593e1ef97d
Refactor external tool attributes 2020-02-01 01:54:23 +10:00
YoshiRulz 1fdb7a6fe2
Allow external tools to have any namespace / class name if annotated
This change is more convenient at the cost of a little duplicate code in
ToolManager. The annotation is [ExternalToolEntryPointForm], and having no more
than one such class per assembly is enforced.
2020-01-30 23:41:52 +10:00
adelikat ef13754f79 consistent variable naming in config.cs 2020-01-25 10:57:39 -06:00
YoshiRulz 3ae58fd9d6
Use SolutionDir to make relative paths absolute
No need for warning of relative paths in filename anymore
2020-01-24 04:59:27 +10:00
YoshiRulz 8cf2f5d915
Hide unused class and interface 2020-01-22 06:48:14 +10:00
YoshiRulz 5a48612346
Concat event arg and delegate types into one file 2020-01-22 06:16:11 +10:00
YoshiRulz b1ef7bcbbb
Retarget .NET Framework from 4.6.1 to 4.8 2020-01-21 04:42:09 +10:00
YoshiRulz e435fb807b
Migrate to "new csproj", remove unnecessary tags/info, and dedupe
Didn't want to mess with resource generation so the execuable projects didn't
get migrated, just cleaned up
2020-01-19 01:43:39 +10:00
YoshiRulz 49c7acb3aa
Fix UI crash on Unix when loading External Tools submenu 2020-01-17 06:29:09 +10:00
YoshiRulz 126bb4736b
Move commented-out code blocks to #if false
CBB doing Cores or Bizware
2020-01-13 11:14:16 +10:00
YoshiRulz a8170ca183
Fix mismatching namespaces 2020-01-13 07:19:06 +10:00
YoshiRulz 0f1fa1531f
Use ranges in ApiHawk and Lua 2020-01-13 06:57:24 +10:00
alyosha-tas 46d0818f09 MSXHawk: Core interface stuff 2020-01-10 15:51:56 -05:00
adelikat b875f46a95 some ApiHawk cleanups 2020-01-03 16:37:33 -06:00
adelikat 733bdd09b3 cleanups 2020-01-03 15:55:29 -06:00
YoshiRulz 89b475661a
Improve exception docs in BizHawk.Client.ApiHawk 2020-01-02 21:51:30 +10:00
YoshiRulz 7ea8fb185a
Congregate, organise, and cleanup some Win32 imports and their usages 2019-12-21 18:21:51 +10: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
alyosha-tas 61038a13ae O2Hawk: Expose Core and start running code 2019-11-18 17:33:55 -05:00
YoshiRulz fab882b7a5 Move most API interfaces and implementations to BizHawk.Client.Common 2019-11-16 17:28:25 +11:00
YoshiRulz 13e4b5396d Rename IMovie to avoid name collision 2019-11-16 17:28:25 +11:00
adelikat 4d92a0a43d ApiHawk - fix bug in GB/GBC detection 2019-11-15 17:30:57 -06:00
adelikat cf4dd6770c ApiHawk - cleanups 2019-11-15 17:29:38 -06:00
adelikat 00952dedf7 ApiHawk - some cleanup, and fix typo: TotalExecutedycles -> TotalExecutedCycles, note: this is a breaking api change 2019-11-15 17:09:59 -06:00
adelikat 8586d36942 cleanup SqlApi.cs and fix a disposable problem 2019-11-14 17:19:42 -06:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05:00
adelikat 6c7653e158 Merge branch 'master' into MoreUnixMonoCompatWork
This doesn't compile because of Input.cs, didn't know what to do. Also search for Merge TODO for some commenting things that probably need to be deleted
# Conflicts:
#	BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll.Drawing.cs
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs
#	BizHawk.Client.EmuHawk/Program.cs
#	BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs
#	BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
#	BizHawk.Client.EmuHawk/tools/ToolHelpers.cs
#	BizHawk.Client.EmuHawk/tools/ToolManager.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs
#	BizHawk.Common/BizInvoke/DynamicLibraryImportResolver.cs
2019-10-31 17:01:19 -05:00
YoshiRulz f8379d9fd4
Bump ReSharper analysis to C# 8.0 2019-10-31 03:30:00 +10:00
feos 0247a8f1a8
mame core wip (#1705)
* add MAME to OpenAdvanced
* make mame launch games
limited to arcades that only need rom name. other devices require machine name and rom name, and won't run. nor they are meant to be supported anyway: we have enough emulators that do the job better for particular devices.
dunno if direct disk access will be avoidable, there are quite some files it might want to load other than the rom (parent rom, bios, artwork). trapping all of these might be a future task.
it is also known that mame can load "romname.zip" file just as well as "romname" folder, which would represent an unarchived zip. I make use of it to send it zip name with extension. it's easy, and we're not obliged to recognize mere folder paths in the mame-advanced-loader logic.
* ability to run lua code inside mame
2019-10-29 18:37:27 +03:00
J.D. Purcell 69edada441 Set LangVersion to 8.0. Requires Visual Studio 2019 with 16.3+ update installed. 2019-10-27 12:14:19 -04:00
adelikat 924618ee8f Set resharper language level to 7, add some emulator lingo to the resharper dictionary 2019-10-27 10:54:29 -05:00
alyosha-tas d2fe217869 GBHawk: expose 4x core 2019-10-04 13:52:29 -04:00
alyosha-tas 79c4b1e846 GBHawkLink3x: Initial Commits 2019-09-08 16:35:39 -04:00
YoshiRulz 0444b35899
Mute CS1591 "Missing XML comment for publicly visible type or member" 2019-06-21 19:38:27 +10:00
YoshiRulz 3b2f890f24 Inline interpolated string literals 2019-06-14 15:54:17 +00:00
James Groom 067477ce18
Merge branch 'master' into clean_docs 2019-06-14 13:28:39 +00:00
Brian Armstrong 2c6ecb68bd Merge branch 'master' into brian/mem_callback_addr_value 2019-06-06 02:11:04 -07:00
Brian Armstrong d41bd867b8 flags 2019-06-06 02:04:47 -07:00
YoshiRulz 268ed1a69d
Fix malformed docs 2019-05-29 20:58:01 +10:00
Maximilian Peters 80c0fe571b Squash merge #1505 - set socketServer IP/port via Lua (resolves #1495) 2019-05-29 15:06:38 +10:00