This repository has moved to: https://codeberg.org/BarrOff/nimPoP
This repository has been archived on 2021-12-08. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2021-12-08 17:46:25 +01:00
docs add list of known bugs 2021-01-14 16:09:14 +01:00
src update to v0.1.7 2021-07-08 10:03:00 +02:00
.gitignore Initial commit 2020-12-24 23:53:44 +01:00
LICENSE change license to GLPv3 2020-12-30 15:44:48 +01:00
nimPoP.nimble update to v0.1.7 2021-07-08 10:03:00 +02:00
README.md Move to Codeberg 2021-12-08 17:46:25 +01:00

This repository has moved to Codeberg

nimPoP

This is a reimplementation of SDLPoP in Nim. I do this mainly for educational reasons to learn about Nim. The initial step was porting the C-code to Nim, as close as possible. As a result of this the Nim code is rather not compliant to Nim coding standards, yet.

Current Status

The basic code structure has been ported, except the screenshot and recording features. Those have been postponed until the code is stable enough. Therefore some bugs are still present, a (probably incomplete list) can be found in the docs directory However, the basic game is playable, as far as I could test it.

Mods have not been tested!

Prerequisites

Installation

  1. The game data can be found here
    1. download the zip-file for Windows/Linux
    2. unzip the file
  2. Clone this repository:
    git clone https://gitea.com/BarrOff/nimPoP.git
    cd nimPoP
    
  3. simply use nimble build to compile
  4. copy the produced nimPoP binary to the directory created in step 1.2.

Important information!

When not using the current devel version of Nim, there is a small change to the SDLPoP.ini file, located in the game data folder, because of this bug. The file ends with 16 section names of the pattern [Level x], where x is a number between 0 and 15. You need to remove the spaces between 'Level' and 'x' for the program to start correctly.

There is currently a bug connected to the MIDI sound output, which causes the game to crash when leaving the start screen and loading a level. I have been investigating this issue for quite some time now, using tools like lldb, valgrind and cppcheck, but to no avail. Therefore the game has to be started with the stdsnd command line flag like:

./nimPoP stdsnd

Credits

If you feel you should be listed here, please contact me and I will gladly add your information!