Skip to content

ngagesdk/ccleste

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ccleste

CMake Codacy Badge

Celeste 1 Celeste 2

This C source port of the original Celeste for the PICO-8 was originally developed by lemon32767.

In the original version, attention was paid to portability, but there was still some need for improvement. Especially since I really wanted to get the game to run on the Nokia N-Gage and was stuck with a very old compiler.

This fork aims to be more robust and portable than the original and should, at least in theory, be compilable from all platforms officially supported by SDL 2.

It has been confirmed to work on the following platforms:

  • Linux
  • Nintendo 3DS
  • Nokia N-Gage
  • Windows
  • Playstation Portable

Compiling

Windows

The easiest way to get ccleste up and running is Visual Studio 2022 with C++ CMake tools for Windows installed. Simply open the cloned repository via File -> Open -> Folder. Everything else is set up automatically and all required dependencies are fetched at compile time.

Nokia N-Gage

The procedure for the Nokia N-Gage is the same as for Windows. You only need to install and set up the N-Gage SDK. in advance and select the respective build configuration in Visual Studio.

Please note: In order for the SDL executable to be executed properly by the launcher, the path in the file ngage_appui.cpp file must be adjusted accordingly. Unfortunately, I have not yet found a way to configure this dynamically.

In addition to the project configuration, the application launcher also needs to be customised. The associated files are located in the sub-folder res.

Linux

ccleste can also be compiled on Linux with the included CMake configuration.

mkdir build
cd build
cmake ..
make

Nintendo 3DS

You can find the homebrew toolchain here.

Currently there are no binary packages of SDL2 and SDL2_mixer, as such you need to compile both from source.

Note that you need to use the TREMOR backend for SDL2_mixer, as using the STB backend will cause a crash about 1/3rd into the game. There currently are issues with linking the TREMOR backend which will require you to manually link libogg to the right of libvorbisidec (SDL2_mixer 2.6.2).

You can then compile a .3dsx executable with the following commands

cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=$DEVKITPRO/cmake/3DS.cmake -DCELESTE_P8_ENABLE_AUDIO=ON
cmake --build build

Playstation Portable

ccleste can also be compiled for the PSP with the included CMake configuration and the PSPDEV toolchain.

mkdir build
cd build
psp-cmake ..
make

It can also be build with audio support by adding the -DCELESTE_P8_ENABLE_AUDIO=ON to the psp-cmake command, but the game runs at slightly above half speed with it.

Controls

PC N-Gage Action
LEFT LEFT Move left
RIGHT RIGHT Move right
DOWN DOWN Look down
UP UP Look up
Z/C 7 Jump
X/V 5 Dash
ESCAPE Softkey (right) Pause
E 3 Toggle screenshake
SHIFT+D 2 Load state
SHIFT+S 1 Save state
Hold F9 Hold C Reset
F11 Fullscreen
Delete Softkey (left) Quit

Credits

Sound wave files are taken from the Celeste-Classic-GBA project, music *.ogg files were obtained by converting the *.wav dumps from PICO-8, which I did using audacity & ffmpeg.

The frame for the N-Gage version is based on Mountain at Dusk Background by ansimuz.

All credit for the original game goes to the original developers (Maddy Thorson & Noel Berry).

About

A portable Celeste Classic C source port.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 90.5%
  • CMake 5.1%
  • C++ 4.4%