diff --git a/.gitignore b/.gitignore index cd845de..4b50329 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ bin/ obj/ -.idea/ \ No newline at end of file +.idea/ +CEleste.zip diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c8426ba --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Noel Berry + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/icon.png b/icon.png index 08e5182..4f31ece 100644 Binary files a/icon.png and b/icon.png differ diff --git a/makefile b/makefile index ac8f158..741a9e4 100644 --- a/makefile +++ b/makefile @@ -2,14 +2,11 @@ # Makefile Options # ---------------------------- -PATH := /home/john/CEdev/bin:$(PATH) -SHELL := env PATH=$(PATH) /bin/bash - NAME = CELESTE ICON = icon.png DESCRIPTION = "Celeste Classic" -COMPRESSED = NO -ARCHIVED = NO +COMPRESSED = YES +ARCHIVED = YES CFLAGS = -Wall -Wextra -Oz CXXFLAGS = -Wall -Wextra -Oz diff --git a/readme.md b/readme.md index 6a95acc..8790295 100644 --- a/readme.md +++ b/readme.md @@ -1,3 +1,26 @@ ## CEleste -Celeste Classic for the TI-84+CE. +A Celeste Classic port for the TI-84+CE and TI-83PCE graphing calculators. + +### Usage +*(A video tutorial for the following steps is also available +[here](https://www.youtube.com/watch?v=_e8pgw9d7S4))* + +Transfer [CELESTE.8xp](https://github.com/commandblockguy/CEleste/releases/latest/download/CEleste.8xp) +and the [C Libraries](https://tiny.cc/clibs) to the calculator using TI Connect CE +or TiLP. Then, select prgmCELESTE from the program menu and press enter. +If this results in an error, [arTIfiCE](https://yvantt.github.io/arTIfiCE/) is +required for your OS version. + +Use the arrow keys to move, 2nd to jump and alpha to dash. To exit the game, press +the clear key. + +### Compiling +To build this repository from source, the [CE C Toolchain](https://github.com/CE-Programming/toolchain) +is required. After installing the toolchain, clone this repository and run `make gfx` +inside it to generate the graphics data, and then `make` to compile. The output .8xp +can be found in the `bin/` directory. + +### Credits +Based on [Celeste Classic](https://mattmakesgames.itch.io/celesteclassic) by Maddy +Thorson and Noel Berry. C++ calculator port by John "commandblockguy" Cesarz. \ No newline at end of file diff --git a/src/classic.cpp b/src/classic.cpp index 1480412..f25f20d 100644 --- a/src/classic.cpp +++ b/src/classic.cpp @@ -10,6 +10,7 @@ // ~celeste~ // matt thorson + noel berry +// ce port by john cesarz // globals // ///////////// @@ -1372,7 +1373,7 @@ void _draw() { profiler_add(tilemap_1); // draw bg terrain - map(room.x * 16, room.y * 16, 0, 0, 16, 16, 2); + map(room.x * 16, room.y * 16, 0, 0, 2); profiler_end(tilemap_1); profiler_add(obj_draw); @@ -1387,7 +1388,7 @@ void _draw() { profiler_add(tilemap_2); // draw terrain int off = is_title() ? -4 : 0; - map(room.x * 16, room.y * 16, off, 0, 16, 16, 1); + map(room.x * 16, room.y * 16, off, 0, 1); profiler_end(tilemap_2); profiler_add(obj_draw); @@ -1401,7 +1402,7 @@ void _draw() { profiler_add(tilemap_3); // draw fg terrain - map(room.x * 16, room.y * 16, 0, 0, 16, 16, 3); + map(room.x * 16, room.y * 16, 0, 0, 3); profiler_end(tilemap_3); profiler_add(particles); diff --git a/src/emu.cpp b/src/emu.cpp index 4bf996f..bbfd785 100644 --- a/src/emu.cpp +++ b/src/emu.cpp @@ -206,7 +206,7 @@ gfx_rletsprite_t *render_map(int cell_x, int cell_y, uint8_t layers) { return gfx_ConvertMallocRLETSprite(sprite); } -void map(int cell_x, int cell_y, int sx, int sy, uint8_t cell_w, uint8_t cell_h, uint8_t layers) { +void map(int cell_x, int cell_y, int sx, int sy, uint8_t layers) { profiler_add(map); static struct { int x; diff --git a/src/emu.h b/src/emu.h index 5bc8dad..1d59598 100644 --- a/src/emu.h +++ b/src/emu.h @@ -28,7 +28,7 @@ void camera(); void camera(int x, int y); bool fget(uint8_t tile, uint8_t flag); -void map(int cell_x, int cell_y, int sx, int sy, uint8_t cell_w, uint8_t cell_h, uint8_t layers); +void map(int cell_x, int cell_y, int sx, int sy, uint8_t layers); void spr(uint8_t n, int x, int y); void spr(uint8_t n, int x, int y, uint8_t w, uint8_t h, bool flip_x, bool flip_y); void pal(); diff --git a/src/profiler.h b/src/profiler.h index d7e2aa9..07efe95 100644 --- a/src/profiler.h +++ b/src/profiler.h @@ -8,9 +8,9 @@ extern "C" { #include #include -//#ifndef NDEBUG +#ifndef NDEBUG #define USE_PROFILER 1 -//#endif +#endif #if USE_PROFILER