To develop O21, you'll need .NET 9 SDK (or a later version).
Execute the following shell command:
$ dotnet build
So far, the simplest way to play the original game is from PlayMiniGames.
If the game sound is too loud and annoys you, you can disable it via the main menu. Unfortunately, PlayMiniGames' version of Windows 3.x doesn't seem to support Cyrillic, so you won't be able to read the actual names of the menu items. So, just open the first item of the main menu, and disable all the checkboxes there if you want to completely disable the in-game sound.
Download it from the Internet Archive.
SHA256 hash of the U-95.zip
file is 7F884B5FCCF65198F510905C41AF06BE1715E3482B123BBB8149D51FAE6A1460
.
See the documentation on the original resources.
To run image export from a NE file (DLL or EXE), run the game with the following arguments:
$ dotnet run O21.Game -- export <path-to-ne-file> <path-to-output-dir>
This will create a bunch of .bmp
files in the output directory containing the game sprites.
If the CI asks you to update the file licenses, follow one of these:
- Update the headers manually (look at the existing files), something like this:
(accommodate to the file's comment style if required).
// SPDX-FileCopyrightText: %year% %your name% <%your contact info, e.g. email%> // // SPDX-License-Identifier: MIT
- Alternately, use REUSE tool:
$ reuse annotate --license MIT --copyright '%your name% <%your contact info, e.g. email%>' %file names to annotate%
(Feel free to attribute the changes to "O21 contributors https://github.com/ForNeVeR/O21" instead of your name in a multi-author file, or if you don't want your name to be mentioned in the project's source: this doesn't mean you'll lose the copyright.)
If the automation asks you to update the file encoding (line endings or UTF-8 BOM) in certain files, run the following PowerShell script (PowerShell Core is recommended to run this script):
$ pwsh -File Scripts/Test-Encoding.ps1 -AutoFix
The -AutoFix
switch will automatically fix the encoding issues, and you'll only need to commit and push the changes.