Voxelands - rewritten in C
What to do with this repo:
clone it
pick a cpp file from the main repo
rewrite that file in C(89)
commit it here
if something needs a bit of boilerplate, darkrose probably already has it - ask
libs included here already:
array.h - gives dynamic arrays
crypto.h - some some basic hashes, base64, etc
file.h - interact with files as memory buffers, use this to load/read/write/save files, also useful for replacing stream buffers in cpp
list.h - linked list code, any struct with the four prev/next/first/last pointers can use this
nvp.h - name/value pair, basic hash table on top of a linked list, use for config, or to replace cpp std::map
path.h - path resolution, use this to get the path of a file
thread.h - threads and mutexes, can safely lock a mutex twice from the same thread without locking up
common.h - includes some 3D maths, logging, and config functions, as well as some string functions (including cross-arch strdup)
- also has some macros for exposing functions in headers
- and some common/useful structs (vectors, positions, colours, quaternions, rectangles, collision boxes, etc)
some todo:
collision.c is waiting on content*.c/h for getting block data
config.c is waiting on command parsing
log.c is waiting on ui and in-game console
Makefile.mingw-cross/.bsd/other-platform need writting
crypto needs sha1