Add WinShit make file

This commit is contained in:
Miloslav Ciz 2025-06-22 22:02:25 +02:00
parent 5522f03daf
commit 00836a5e6f
3 changed files with 15 additions and 6 deletions

View file

@ -44,7 +44,8 @@ Please note however the game is still relatively simple and so **the physics IS
- It **doesn't have any dependency libraries, not even the C standard library** (except for using types from *stdint.h*, which can be trivially replaced with a few *defines*), everything is written from scratch for **maximum portability**. Libraries such as SDL are used for frontends, but they are never an inherent dependency and can be basically drop-in replaced with a similar library that's only required to be able to draw pixels and read keyboard. Almost everything can be turned off, the game can even **run without a file system** as the essential assets are embedded right in the source code -- files are only needed for optional extended functionality like saving replays, adding extra maps etc. Settings are part of the source code too, there are **no config files**.
- **No build system** is used, everything is in a **single compilation unit**, to build the game only a single compiler invocation is needed. This removes another bloat and dependency.
- The compiled game INCLUDING ASSETS is **extremely small** -- depending on platform, game and compilation settings, a playable executable can take only around 128 kB; in normal scenarios it will most likely fit under 400 kB.
- It is **exceptionally portable and future proof** thanks to having no dependencies besides C99 compiler. So far it was ported to:
- **Very fast and memory efficient**, the game will run practically on any computer save for the weakest of embedded devices. In general, despite being a fully 3D rendered game with 3D physics, the game can be run with **less than 500 KB RAM and 50 MHz CPU**; of course such hardware will require many features turned off and playability will suffer, but let's say 1 MB of RAM along with a 200 MHz CPU (laughable specs even 20 years ago) will be enough for comfortable play already.
- It is **exceptionally portable and future proof** thanks to having no dependencies besides C99 compiler. So far it was ported to and testplayed on:
- **GNU/Linux**: via SDL2, CSFML or X11
- **Window$**: via SDL2
- **OpenBSD**: via SDL2
@ -54,7 +55,8 @@ Please note however the game is still relatively simple and so **the physics IS
- **Pokitto** (32bit 48 MHz CPU, 36 KB RAM)
- **Circuitmess Nibble** (32b 160 MHz CPU, 80 KB RAM)
- **ESPboy** (32b 160 MHz CPU, 80 KB RAM)
- It also goes without saying the physics is **100% deterministic**, it behaves the same on every platform, independantly of rendering FPS. Besides others this allows for recording and playing back very small replays and creating press forward maps.
- tested compilers: gcc, g++, clang, tcc, emscripten
- It also goes without saying the physics is **100% deterministic**, it behaves the same on every platform, independently of rendering FPS. Besides others this allows for recording and playing back very small replays and creating press forward maps.
- It is **super moddable and hackable**, the code is relatively simple and **well commented**, written to encourage hacking. There are no obstacles such as DRM, anti-cheating, obfuscation etc. Cheating and hacking is allowed, do literally what you want.
- **No codes of censorship, flags, furry mascots or similar political bullshit.**
- **No "modern" bullshit such as OOP, Python, Docker, meme design patterns, scripting, sandboxes, "memory safety" and similar crap**.

View file

@ -30,13 +30,11 @@ fuck issue trackers :D
=========== BUGS =================
- camera bugs in TCC build, also the auto test fails on checking rendered
pixels -- this may be TCC not supporting C99 fully? but dig up what's going
on
- camera follow speed depends on FPS, it's slower with low FPS, but this is no
big deal, it's only noticable with extremely high/low FPS -- fix or not?
- replay loading BUG! somehow map2 replay was saves with hash 05ef0ab1 instead
of correct 3c5ba5dd once, WTF, check where hash gets modified
of correct 3c5ba5dd once, WTF, check where hash gets modified NEVER HAPPENED
AGAIN THO
============ FUTURE ==============
@ -103,6 +101,9 @@ fuck issue trackers :D
theory they should (enough block space to load): try to set the exact same
settings on PC and see if the maps load or what. IT'S BCS BUILDING THE MAP
TEMPORARILY REQUIRES MORE BLOCKS
- camera bugs in TCC build, also the auto test fails on checking rendered
pixels -- this may be TCC not supporting C99 fully? but dig up what's going
on
- maybe address the jerky rotations? or not?
- make some kinda repo for world record runs? how will they submit it?
- LCR_SETTING_TEXTURE_SUBSAMPLE = 0 should turn off texturing completely

6
make.bat Normal file
View file

@ -0,0 +1,6 @@
:: Win$hit BAT file to help make Licar under that horrible OS. It probably won't
:: work right away, but can hint on how to compile it. MinGW is used as a compiler.
:: It's possible to use this under Wine to not have to touch the horrible OS.
echo making Licar
bin/g++.exe -std=c99 -DSDL_MAIN_HANDLED -ISDL2-2.30.9/x86_64-w64-mingw32/include/ -LSDL2-2.30.9/x86_64-w64-mingw32/lib/ -o licar.exe frontend_sdl.c -lSDL2
echo done