README 1.3 KB

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