https://github.com/liebranca/bitter
GNU weapon of mass-destruction
https://github.com/liebranca/bitter
c-cpp gnu-linux kitchen-sink
Last synced: about 1 month ago
JSON representation
GNU weapon of mass-destruction
- Host: GitHub
- URL: https://github.com/liebranca/bitter
- Owner: Liebranca
- Created: 2021-03-03T11:24:17.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-06-27T20:11:15.000Z (almost 2 years ago)
- Last Synced: 2025-02-14T19:20:38.532Z (3 months ago)
- Topics: c-cpp, gnu-linux, kitchen-sink
- Language: C
- Homepage:
- Size: 1.08 MB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: docs/README.md
- Contributing: docs/CONTRIBUTING.md
Awesome Lists containing this project
README
# KVR
The *infamous*, fully GPL'd GNU weapon of mass-destruction, KVR or KVNSL RAT (V as in KVLT) is my personal C coding environment for desktop; this project simply contains the tools I use everywhere else, and thus it is always growing.### What's in this repo?
- KVRNEL, C lib for debug utils, some wrappers for stdlib (mostly malloc stuff), my hash table implementation, general purpose functions such as data-type conversions, color/grayscale/unit vector quantization, among other things.
- ESPECTRO, a *legacy* CLI build system written entirely with python and ANSI escapes.
- BLKMGK, a small util for packing and unpacking compressed texture data.
- MAMMOTH, where I implement the PE$O language.
- SIN, graphics library used here mainly for rendering text. 3D capabilities not fully ported yet (look at /Liebranca/DSM/tree/dev/src/SIN for that).
- CHASM, SDL window manager.
- SHB7, a minimalistic custom terminal.
- FMAT, the dullest code-formatting tool in existence.### Why write all of this from scratch?
It's a mix of research and simply handrolling my own of something because no good alternative exists. Hey, I pinky promise this isn't actually an evil 16-bit OS, I would never do such a thing. *wink*
### Dependencies
- GCC
- MAKE
- PYTHON3
- SDL2
- GLEW+GLAD
- LIBPNG16
- ZLIB1Python is a terrible language and I personally detest it; eventually all Python glue in the codebase will be removed. But until that day comes: just deal with it.
The GLEW+GLAD mambo is a hack. SIN links against GLEW but doesn't actually include it; we use glad.h instead. That is how you open an SDL window with a drawable OpenGL context in pure Cygwin, a method apparently no one but me knows.
Speaking of Cygwin -- if you're on Windows, you'll need it. If you're on GNU/Linux, you probably don't need the GLAD hack (untested). If you're on a Mac, switch to an actual computer.
### Building
Assuming I didn't mess up the dependency list and your paths are appropiately set:
```
cd kvr/src
make all
```Or just `make `, valid targets are:
- kvrnel
- sin
- chasm
- shb7
- mamm`make reb` is just a `make all` with a pre-clean step.
To turn different debug flags on and off (so that you get more accurate logs), look at /src/avtomat/avtomat.py and change the value of KVR_DEBUG. A list of valid flags to set or unset can be found in /src/kvrnel/zjc_evil.h