17 Commits
Author SHA1 Message Date
McSchneidar cf2fa796e2 .NET10 Migration (#946)
Runtime and build
- Move all projects to .NET 10 with SDK-style project files and a shared
  Directory.Build.props (WIN/LINUX, x86/x64 defines)
- Load managed and unmanaged dependencies from libs/managed and
  libs/unmanaged through assembly and native library resolvers
- Compile party modes with Roslyn instead of CodeDom
- Update AppVeyor to the .NET 10 SDK and dotnet test
- Download the FFmpeg and gstreamer runtimes from the dependencies
  repository during the build
- Remove the VC++ 2015-2022 runtime check, no dependency needs it anymore

Graphics and windowing
- Replace the Direct3D 9 renderer with Direct3D 11 (Vortice)
- Pace Direct3D 11 frames with a frame latency waitable swap chain
- Move window, input and message boxes to SDL3
- Replace System.Drawing with SkiaSharp and WinForms with SDL3 and a
  software renderer

Video and audio
- Replace Acinerella with FFmpeg 8.1.3 (FFmpeg.AutoGen)
- Add hardware accelerated video decoding (D3D11VA, DXVA2, VideoToolbox,
  VAAPI, VDPAU) with software fallback
- Convert YUV video frames to RGB on the GPU in Direct3D 11 and OpenGL
- Add the video options HardwareDecoding, GpuColorConversion,
  DecoderThreads and VideoDownscaleResolution
- Update OpenAL to OpenTK 4 and NAudio recording to WasapiRecorder

Fixes
- Fix the song preview start and shorten the reporter buttons
- Fix a crash when opening the highscore without a selected song
- Use the options slide highlight in the party mode screens to avoid
  brightness flicker on VRR displays
- Disable GameInput in the x86 build, SDL3 crashes in GameInputCreate
  on 32-bit systems with the GameInput runtime installed
- Fix a truncation warning in PitchTracker
2026-11-02 08:11:20 +01:00
McSchneidarandFlorian Ostertag b4c29e1b55 Improve challenge party mode (#911)
- Instead of a number of rounds, you now choose how many songs each player sings
- New option to remember sung songs, so a new challenge doesn't repeat songs from the previous ones
- Up to 16 players
- The number of jokers and the joker refill setting are kept instead of being reset every time
- The overview shows each player's avatar, the top three in gold, silver and bronze and highlights the leader
- The winner of each round is highlighted in the round list
- The winner is celebrated at the end with avatar, a pulsing gold name and stars

Co-authored-by: Florian Ostertag <flokuep@users.noreply.github.com>
2026-10-17 21:18:49 +02:00
Quentin Bray 6ffa63b923 Apply R# clean-up for reliability (#877)
* Apply R# clean-up for reliability

- Migrate to NUnit4 Assert.That
- Update dependencise versions
- Fix LangVersion to 9.0 (until net core migration)
- Reformat code
- Apply 'var' style (easier for refactoring)
- Remove redundant parentheses
- Add braces on every condition blocks (1 line)
- Uses new null checking patterns
- Uses AutoProperties when possible
- Uses string scalar type instead of class
- Clean usings
- Add .orig files in git ignore
- Rename some properties to respect defined conventions and US format definition
	- ID -> Id
	- BPM -> Bpm
	- Finish -> End

* Update R# settings according to the clean-up made
2026-06-22 19:52:06 +02:00
Syrome 18f3fb74cd PartyMode Challenge: Added an option to not refill jokers after every song
Players can now choose between refilling the jokers every song and save
the amount of jokers (e.g. 5 Jokers per Player for the whole PartyMode).
2015-08-14 12:58:49 +02:00
Syrome 970610327c PartyMode Challenge: Made the amount of jokers configurable 2015-08-13 10:48:26 +02:00
Flamefire 84e9163b96 Refactor PartyModes in preparation for a more unified name selection and maybe config 2014-12-14 20:40:08 +01:00
Flamefire 1ba0d429a1 Simplify SelectSlides and fix a couple of problems there 2014-12-13 13:52:59 +01:00
Flamefire 26484ad137 Fix blank screen issue
Also fix some other bugs and improvements (easier party modes, volume fixes, new fields for screens to control volume and popups)
2014-11-27 21:47:02 +01:00
Flamefire ae7a7fd390 Implement a common Interface for all MenuElements
Also remove CSongMenu and replace it with a factory class
2014-10-19 17:17:39 +02:00
Flamefire b07d31f697 Unify object interactions 2014-10-18 18:46:13 +02:00
Flamefire 370964ee99 Fix file headers and indentations 2013-09-20 18:09:32 +02:00
Flamefire b8fe334153 Used object initializers 2013-04-23 22:11:32 +02:00
Flamefire cf39a4b107 Changed string comparisons to easier != "" syntax 2013-04-23 14:52:51 +02:00
Flamefire 1540be9120 More refactoring and small fixes 2013-04-23 14:22:42 +02:00
Flamefire dcbbc5caf3 Many cleanups according to ReSharper suggestions (Mostly redundant code)
Minor Bug fixes
2013-04-20 02:19:56 +02:00
Flamefire 74396eda2f Auto cleanup 2013-04-18 15:09:21 +02:00
Flamefire 71251b8733 Fixed partymode names 2013-04-16 16:40:04 +02:00