Skip to content

mediaexplorer74/NScummUWP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

528 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NScummUWP v1.xx (1.4 planned)

The SCUMM UWP client for the Windows 10 (Mobile) platform. :)

my 2 cents

  1. RnD nSCUMM by Scemino (https://github.com/scemino/nscumm)
  2. RnD nSCUMMUWP by Bashar Astifan (https://github.com/basharast/NScummUWP)
  3. nSCUMM "refubrishing" (SceminoNSCUMM+NSCUMMUWP synthez...)
  4. Some "project optimization" applied (reducing srccode's filesize from 166mb to 32mb)
  5. ru_RU local. added
  6. Game-loop (run cycle) stability increazed
  7. Experimental mode added (game engine "zero", or "0") for veeery oooldes dos games support :)

Screenshots / Images

W10 Desktop W10M 15252 on L950 W10M Astoria on L640DS

Build instructions

  1. First, check that you have the necessary tools installed.
  2. Clone the repo git clone --recursive https://github.com/mediaexplorer74/NScummUWP.git.
  3. Update all project dependencies (packages)
  4. Compile the UWP app for needed platform (ARM is best one... but x86 is supported too)
  5. Try to load some SCUMMVM-compatible game, i.e. "The Curse of Monkey Island (Windows CD)"
  6. Test & enjoy game process, sound tracks, oldschool cool graphics, etc.... =))

Requirements

The following tools and SDKs are mandatory for the project development:

  • Visual Studio 2022 Preview, with
    • .NET Native;
    • .NET Framework 4.8 SDK;
    • NuGet package manager;
    • Universal Windows Platform tools;
    • Windows 10 19041 SDK;
    • Min. os. build can/must be set to 15063 (or even 10240) for all Universal projects

Current features

  • Audio / sounds seem(s) to be ok
  • Project Astoria compatibility added (uwp projects switched to win 10 10240 "mode")

NScummUWP Codebase Improvement Plan

Notes

  • The codebase is a modular C#/.NET project, likely an emulator/interpreter for classic adventure games (e.g., SCUMM engine), targeting UWP.
  • Main directories: NScumm.Core, NScumm.Platform_UWP, NScumm.Scumm, NScumm.Sky, NScumm.Sword1, NScumm.UWP.
  • User reports that LOOM runs with no sound; LOOM data files are temporarily placed in Src/LOOM for investigation.
  • User requests checking and fixing audio plugins, especially for LOOM.
  • User requests a deeper dive into game detection and plugin selection code, and to fix audio plugin issues for all SCUMM-based games, not just LOOM.
  • Investigated SetupMusic method: LOOM, indy3, and sky select Player_AD as their MusicEngine.
  • Player_AD is responsible for audio in LOOM; issue may be in Player_AD or its dependencies.
  • Player_AD only supports OPL/synth music, not MP3/CD audio.
  • LOOM CD audio is stored as MP3 files, which Player_AD cannot play.
  • Need to patch plugin selection and add MP3/CD playback support for LOOM CD and similar games.

Task List

  • Analyze and summarize project structure
  • Investigate audio plugin implementation, focusing on LOOM
  • Explore LOOM data files in Src/LOOM for encoding or compatibility issues
  • Investigate game detection and plugin selection logic for all SCUMM-based games
  • Identify and fix causes of no-sound issue in LOOM and other SCUMM games
  • Test audio functionality after potential fixes (all SCUMM games)
  • Search for and document existing MP3/CD playback logic in codebase
  • Patch plugin selection so LOOM CD uses MP3/CD playback, not Player_AD
  • Implement or connect MP3 sound producing mechanics for LOOM CD
  • Patch ScummEngine.SetupMusic() to use Player_CDDA for LOOM CD

Current Goal

Test LOOM CD and verify MP3 playback

Special thanks

License

Copyright © 2015-2023 nSCUMM Authors.

nSCUMM free software: you can redistribute it and / or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

nSCUMM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with nSCUMM. If not, see http://www.gnu.org/licenses/.

..

AS IS. No support. RnD only. DIY

.

[m][e] 2023--2025

Contributors

Languages

  • C# 95.4%
  • C++ 4.6%