1
0
forked from MeloNX/MeloNX

102 Commits

Author SHA1 Message Date
Mary
4109f0077a infra: Migrate to .NET 6 (#2829)
* infra: Migrate to .NET 6

* Rollback version naming change

* Workaround .NET 6 ZipArchive API issues

* ci: Switch to VS 2022 for AppVeyor

CI is now ready for .NET 6

* Suppress WebClient warning in DoUpdateWithMultipleThreads

* Attempt to workaround System.Drawing.Common changes on 6.0.0

* Change keyboard rendering from System.Drawing to ImageSharp

* Make the software keyboard renderer multithreaded

* Bump ImageSharp version to 1.0.4 to fix a bug in Image.Load

* Add fallback fonts to the keyboard renderer

* Fix warnings

* Address caian's comment

* Clean up linux workaround as it's uneeded now

* Update readme

Co-authored-by: Caian Benedicto <caianbene@gmail.com>
2021-11-28 21:24:17 +01:00
VocalFan
8dca6c828b Quick README update for game compatibility. (#2694) 2021-09-28 23:26:45 +02:00
EmulationFanatic
4f7b4e63f5 Add SDL2 information & updated game compatibility stats (#2337) 2021-06-03 01:43:23 +02:00
EmulationFanatic
28237a0c0b Update README.MD to reflect new OpenGL requirements, gamedb statistics, mods support (#2167) 2021-04-02 19:45:01 +02:00
Ac_K
64b900a002 misc: Add credit to AmiiboAPI properly and fix a wrong warning code (#2150)
* misc: Add credit to AmiiboAPI properly and fix a warning disable

This PR adds a properly credit to AmiiboAPI which is used in our Amiibo emulation in the Readme and in the about window.
I've changed a wrong warning code added in a recent PR too.

* Update README.md

* Fix aligment
2021-03-27 15:41:09 +01:00
Mary
2d764ca4f9 Haydn: Part 1 (#2007)
* Haydn: Part 1

Based on my reverse of audio 11.0.0.

As always, core implementation under LGPLv3 for the same reasons as for Amadeus.

This place the bases of a more flexible audio system while making audout & audin accurate.

This have the following improvements:
- Complete reimplementation of audout and audin.
- Audin currently only have a dummy backend.
- Dramatically reduce CPU usage by up to 50% in common cases (SoundIO and OpenAL).
- Audio Renderer now can output to 5.1 devices when supported.
- Audio Renderer init its backend on demand instead of keeping two up all the time.
- All backends implementation are now in their own project.
- Ryujinx.Audio.Renderer was renamed Ryujinx.Audio and was refactored because of this.

As a note, games having issues with OpenAL haven't improved and will not
because of OpenAL design (stopping when buffers finish playing causing
possible audio "pops" when buffers are very small).

* Update for latest hexkyz's edits on Switchbrew

* audren: Rollback channel configuration changes

* Address gdkchan's comments

* Fix typo in OpenAL backend driver

* Address last comments

* Fix a nit

* Address gdkchan's comments
2021-02-26 01:11:56 +01:00
EmulationFanatic
286082a621 Update README.MD (#2049) 2021-02-22 22:09:55 +01:00
EmulationFanatic
1942672ce3 Update README.md to reflect new features/changes in the emulator (#1869)
* Update README.md to reflect new features/changes in the emulator

* Update Discord links
2021-01-07 22:31:46 +01:00
Mary
75a9437031 Distribute with OpenAL Soft on Windows (#1847)
* Distribute with OpenAL Soft on Windows

This remove dependency on OpenAL EA on Windows and allows to operate with both backend without any user interventions.

Co-authored-by: jduncanator <jduncanator@hotmail.com>

* Fix Atmosphere utf8 issue

Co-authored-by: jduncanator <jduncanator@hotmail.com>
2020-12-31 09:08:09 +11:00
EmulationFanatic
564bb6bd43 Specify the X64 version of .NET 5, and change the build command to be the right one (#1719) 2020-11-17 22:55:32 +01:00
Mary
59c45ab5c3 infra: Migrate to .NET 5 (#1694)
* infra: Migrate to .NET 5

This migrate projects and CI to .NET 5

* Remove language version restrictions (now on 9.0 by default)

* infra: pin .NET 5 to avoid later issues

* infra: Cleanup csproj files

* infra: update dependencies

* infra: Add temporary workaround for a bug in Vector128.Create

see https://github.com/dotnet/runtime/issues/44704 for more informations
2020-11-15 19:27:15 +01:00
EmulationFanatic
5a27fe4a3e Update game compatibility list info in README.md (#1675)
* Update game compatibility list info in README.md

* clarity on playable games
2020-11-06 22:05:35 +01:00
jduncanator
0d39a69660 Touch README (#1592)
This touches the README to trigger a rebuild of CI.
2020-10-01 09:39:27 +02:00
Jade
29a4d11bd5 Delete redundant sentence in README (#1534) 2020-09-05 19:32:56 +10:00
Mary
b1b1469878 Clean up and update readme (#1501)
* Clean up and update readme

THis clean up and improve the README a bit.

* Apply suggestions from code review

Co-authored-by: EmulationFanatic <62343878+EmulationFanatic@users.noreply.github.com>

Co-authored-by: EmulationFanatic <62343878+EmulationFanatic@users.noreply.github.com>
2020-08-30 18:35:42 +02:00
Mary
698ed6c622 Amadeus: Final Act (#1481)
* Amadeus: Final Act

This is my requiem, I present to you Amadeus, a complete reimplementation of the Audio Renderer!

This reimplementation is based on my reversing of every version of the audio system module that I carried for the past 10 months.
This supports every revision (at the time of writing REV1 to REV8 included) and all features proposed by the Audio Renderer on real hardware.

Because this component could be used outside an emulation context, and to avoid possible "inspirations" not crediting the project, I decided to license the Ryujinx.Audio.Renderer project under LGPLv3.

- FE3H voices in videos and chapter intro are not present.
- Games that use two audio renderer **at the same time** are probably going to have issues right now **until we rewrite the audio output interface** (Crash Team Racing is the only known game to use two renderer at the same time).

- Persona 5 Scrambler now goes ingame but audio is garbage. This is caused by the fact that the game engine is syncing audio and video in a really aggressive way. This will disappears the day this game run at full speed.

* Make timing more precise when sleeping on Windows

Improve precision to a 1ms resolution on Windows NT based OS.
This is used to avoid having totally erratic timings and unify all
Windows users to the same resolution.

NOTE: This is only active when emulation is running.
2020-08-17 22:49:37 -03:00
EmulationFanatic
badeb7fb8e Added graphics enhancements and dlc/mods info. (#1385) 2020-07-13 12:38:41 +10:00
gdkchan
446fbe93e1 New NVDEC and VIC implementation (#1384)
* Initial NVDEC and VIC implementation

* Update FFmpeg.AutoGen to 4.3.0

* Add nvdec dependencies for Windows

* Unify some VP9 structures

* Rename VP9 structure fields

* Improvements to Video API

* XML docs for Common.Memory

* Remove now unused or redundant overloads from MemoryAccessor

* NVDEC UV surface read/write scalar paths

* Add FIXME comments about hacky things/stuff that will need to be fixed in the future

* Cleaned up VP9 memory allocation

* Remove some debug logs

* Rename some VP9 structs

* Remove unused struct

* No need to compile Ryujinx.Graphics.Host1x with unsafe anymore

* Name AsyncWorkQueue threads to make debugging easier

* Make Vp9PictureInfo a ref struct

* LayoutConverter no longer needs the depth argument (broken by rebase)

* Pooling of VP9 buffers, plus fix a memory leak on VP9

* Really wish VS could rename projects properly...

* Address feedback

* Remove using

* Catch OperationCanceledException

* Add licensing informations

* Add THIRDPARTY.md to release too

Co-authored-by: Thog <me@thog.eu>
2020-07-12 05:07:01 +02:00
EmulationFanatic
3a28d78690 Update README.md (#1302)
* General updating/cleanup

* Fixed firmware wording and unnecessary capitalization

* Removed superfluous asterisk

* Address Thog's comments, add config.json path

* Fix line break

* Address riperiperi's comments

* Update screenshot to match Ryujinx.org website

* Added PPTC blurb

* Address gdkchan's comments

* Clarify audio support

* Fix line break

* Remove extra .

* Address Thog's comments

Removed a few spaces on line 59

* Removed even more spaces.
2020-06-20 15:09:56 +02:00
Michael Kuklinski
c30030a2a2 Update .NET Core to 3.1, and update NuGet Packages (#1121)
* Updated all NuGet packages to latest, and updated the framework from .NET Core 3.0 to 3.1.

* Updating appveyor settings for 3.1

Updating appveyor to use the netcoreapp3.1 path instead of 3.0.

* Removing unneeded NuGet package System.Runtime.CompilerServices.Unsafe.

* Removing unused NuGet package SharpFontCore.

* Removing unused NuGet package TimeZoneConverter.Posix

* Cleaning up by adding newline to a csproj.

* Simplfying a NuGet conditional include, and adding a warning disable for an annoying NuGet package.

* I'm not sure if .travis.yml is still used, but I'm updating its 'dotnet' version to the correct SDK.

* Making the runtime version into its own environment variable so it's a bit easier to change in the future.

* Removing OpenTK.NetStandard reference from Ryujinx.Common

* Fixing indentation in Common.csproj

* Updating the README to specify .NET Core 3.1.

* Reverting the update of the GTKSharp package so it doesn't block the PR.
2020-04-22 14:13:41 +10:00
Xpl0itR
5312b7db36 Update path for system archives in README (#870) 2020-01-10 23:04:52 +01:00
gdkchan
e738fc53a1 Remove FFMPEG dependency from README 2020-01-09 02:13:00 +01:00
Alex Barney
697300462d Rename "RyuFs" directory to "Ryujinx" and use the same savedata system the Switch uses (#801)
* Use savedata FS commands from LibHac

* Add EnsureSaveData. Use ApplicationControlProperty struct

* Add a function to migrate to the new directory layout

* LibHac update

* Change backup structure

* Don't create UI files in the save path

* Update RyuFs paths

* Add GetProgramIndexForAccessLog

Ryujinx only runs one program at a time, so always return values reflecting that

* Load control NCA when loading from an NSP

* Skip over UI stats when exiting

* Set TitleName and TitleId in more cases. Fix TitleID naming style

* Completely comment out GUI play stats code

* rebase

* Update LibHac

* Update LibHac

* Revert UI changes

* Do migration automatically at startup

* Rename RyuFs directory to Ryujinx

* Update RyuFs text

* Store savedata paths in the GUI

* Make "Open Save Directory" work

* Use a dummy NACP in EnsureSaveData if one is not loaded

* Remove manual migration button

* Respond to feedback

* Don't read the installer config to get a version string

* Delete nuget.config

* Exclude 'sdcard' and 'bis' during migration

Co-authored-by: Thog <thog@protonmail.com>
2020-01-05 12:49:44 +01:00
Ac_K
c5ca8af8ad Fix appveyor link and badge to master branch 2019-11-23 04:20:34 +01:00
MysticExile
604dbe9654 Update KEYS.md to use a new dumping guide and correct title.key formatting (#814)
* Update title.keys formatting and add key dumping guide

* Update README.md to reflect changes in KEYS.md

* Address feedback and minor style changes

* Remove key templates

* Fix

Co-Authored-By: Ac_K <Acoustik666@gmail.com>

* Fix 2

Co-Authored-By: jduncanator <1518948+jduncanator@users.noreply.github.com>

* Add a description of what keys are

* Minor changes and style fixes

* Fix 3
2019-11-10 14:02:29 +01:00
MysticExile
2958a975b7 Update README.md to reflect new changes in the Homebrew used and mentioned (#813) 2019-11-08 15:43:00 +11:00
LDj3SNuD
266b44c1fc .NET Core 3.0 is here! (#784)
* .NET Core 3.0 is here!

* Remove IMemoryManager.cs and its references.

* Add T Math/F.FusedMultiplyAdd(T, T, T). Nits.

* Nit.

* Update appveyor.yml

* Revert "Resolve Visual Studio build issues"

This reverts commit 3f5bca2fcf05b5688354e3679625e03a51b9f51a.

* Update SvcTable.cs
2019-10-31 19:09:03 +01:00
GalladeGuy
2cf28fc144 Update README.md (#802)
* Update README.md

Improve grammar, replace Switch hacking guide with one that's more up-to-date, and add a guide for shared font dumping

* Update README.md

* Remove shared fonts section
2019-10-31 18:21:56 +01:00
Thomas Guillemard
652df7db0d Update time implementation to 9.0.0 (#783)
* Fix 9.0.0 related services bindings

This was wrong because of a mistake on switchbrew.

* Fix wronog cmdid for ISteadyClock::GetTestOffset/SetTestOffset

* Update ClockCore logics to 9.0.0

Also apply 9.0.0 permissions and comment time:u, and time:a (as those
are going to be moved)

* Move every clocks instances + timezone to a global manager

* Start implementing time:m

Also prepare the skeleton of the shared memory

* Implement SystemClockContextUpdateCallback and co

* Update StaticService to 9.0.0

* Update ISystemClock to 9.0.0

* Rename IStaticService and add glue's IStaticService

* Implement psc's ITimeZoneService

* Integrate psc layer into glue for TimeZoneService

* Rename TimeZoneManagerForPsc => TimeZoneManager

* Use correct TimeZoneService interface for both StaticService implementations

* Accurately implement time shared memory operations

* Fix two critical flaws in TimeZone logic

The first one was the month range being different fron Nintendo one
(0-11 instead of 1-12)

The other flaw was a bad incrementation order during days & months
computation.

* Follow Nintendo's abort logic for TimeManager

* Avoid crashing when timezone sysarchive isn't present

* Update Readme

* Address comments

* Correctly align fields in ISystemClock

* Fix code style and some typos

* Improve timezone system archive warning/error messages

* Rearrange using definitions in Horizon.cs

* Address comments
2019-10-08 14:48:49 +11:00
Ac_K
e45661f94a Update README.md (#759)
* Update README.md

* Fix grammar
2019-09-05 08:22:15 +10:00
jduncanator
0ec86daf58 Logger and Configuration Refactoring (#573)
* Logging: Refactor log targets into Ryujinx.Common

* Logger: Implement JSON Log Target

* Logger: Optimize Console/File logging targets

Implement a simple ObjectPool to pool up StringBuilders to avoid causing excessive GCing of gen1/2 items when large amounts of log entries are being generated.

We can also pre-determine the async overflow action at initialization time, allowing for an easy optimization in the message enqueue function, avoiding a number of comparisons.

* Logger: Implement LogFormatters

* Config: Refactor configuration file and loading

* Config: Rename to .jsonc to avoid highlighting issues in VSC and GitHub

* Resolve style nits

* Config: Resolve incorrect default key binding

* Config: Also update key binding default in schema

* Tidy up namespace imports

* Config: Update CONFIG.md to reflect new Config file
2019-02-11 09:00:32 -03:00
Dudejoe870
1b8f9b4b10 Update the Readme (#546)
* Update the Readme (finally)

* Address Feedback

Move default button mappings to CONFIG.MD
Change "Ryujinx solution folder" to "Ryujinx project folder"
Re-word the help section
Get rid of "(RC1)" on the .NET Core download link

* Update discord link
2018-12-17 22:34:23 -02:00
GalladeGuy
2323ba3c29 Get rid of the link to Ryujinx-Settings (#501) 2018-11-17 04:33:38 +01:00
Ac_K
3486576500 Update README.md 2018-07-12 00:08:20 +02:00
John Clemis
754862561c Add Controller Support (#196)
* Added Basic Controller Support

* Added Extra Configuration Options

Added a GamePad_Enable option and GamePad_Index option

* Revert "Added Extra Configuration Options"

This reverts commit 6cc56bfe7ed473fedf8dfe79c7a888bbe7cfe147.

* Revert "Revert "Added Extra Configuration Options""

This reverts commit 4809e5effe7f54cdb67bc5e2b4f01315ae34efc5.

* Forgot to change the Gamepad Index

* Added Configuration for the A B X Y Buttons

* Added Button Configuration for all other Buttons

* Added Basic Joystick Configuration

* Fixed Joystick Axis Problems

Fixed Joystick Axis Problems when switching around the Joysticks (Left Stick is Right and Right stick is Left)

* Refactored all of the button mapping code

* Changes in compliance with review

* Changes in compliance with review

* Fixed problems in the configuration file with different regions

* Changes in compliance with review
2018-07-02 19:08:54 -03:00
Lordmau5
d2d4bcc1cd Update README file (#143) 2018-06-10 20:44:48 -03:00
Ac_K
5232f923fb Update README.md 2018-05-15 18:57:22 +02:00
gdkchan
c7a6426277 Update min sdk version on readme (for real this time) 2018-05-11 20:18:59 -03:00
gdkchan
e4eb60fa82 Update min sdk version on readme 2018-05-11 20:17:43 -03:00
gdkchan
8b56aa9759 Update README.md 2018-04-24 21:06:49 -03:00
Ac_K
a4faba14dd Update README.md 2018-04-05 04:02:21 +02:00
gdkchan
5370d1d480 Refactor IPC services to have commands into separate classes, fix readme url 2018-02-25 01:34:27 -03:00
gdkchan
4c3b282606 Add FABD (scalar), ADCS, SBCS instructions, update config with better default control mappings, update readme with the new mappings 2018-02-24 18:47:08 -03:00
gdkchan
fe93bf0106 Fix build link 2018-02-24 13:30:37 -03:00
Hexagon12
5851ec2bd7 Fix various typos in the Readme (#31)
* Fix some typos

* Fix even more typos
2018-02-20 17:10:02 -03:00
Ac_K
00a9d120b1 Update README.md (#22) 2018-02-17 21:46:29 -03:00
Ac_K
3faf3f6361 Update README.md (#16) 2018-02-15 09:15:22 -03:00
Valentin Vanelslande
4fc2cc78f8 Update README.md (#11) 2018-02-12 00:39:41 -03:00
gdkchan
220e3f4161 Update README.md 2018-02-10 17:51:07 -02:00
AcK77
350fc10a9a Basic audio support
Implement IAudioOut.
Small corrections on AudIAudioRenderer.
Add glitched audio playback support through OpenAL.
2018-02-08 17:52:02 +01:00