descriptionnone
homepage URLhttps://notabug.org/darkrose/voxelands-alt
repository URLhttps://notabug.org/darkrose/voxelands-alt.git
ownermenche_mt@yahoo.com
last changeTue, 19 Apr 2016 05:50:17 +0000 (19 15:50 +1000)
last refreshFri, 26 Apr 2024 10:30:46 +0000 (26 12:30 +0200)
content tags
add:
README
Voxelands - rewritten in C

What to do with this repo:

clone it
pick some functionality from the current tree
rewrite it 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
log.c is waiting on ui and in-game console
Makefile.mingw-cross/other-platform need writting
crypto needs sha1
content can probably start going in, very little graphics support in content features at the moment though
help system in command system needs implementing, also help function should list all commands

COMMANDS:
commands will eventually work the same from the in-game console (prefixed with /), from the system console, in config files, and on the command line when starting the client or server:
so far only config files and command line are implemented.

bind <name> [<modifier>+[...]]<key-or-button>
 - bind a key or mouse button, with optional modifiers (ctlr,alt,shift,super)
 - to a command or event, <name> must be a single-word command or event
 - a key is typically a single character (eg: k,Ä,w), or key-name (eg: space, up)
 - a mouse button is one of mouse-left, mouse-centre, mouse-right, scroll-up, scroll-down
alias [name] [command]
 - alias a command to another command, helps with keybindings, as multi-word
 - commands can be aliased to a single word,
 - eg: alias fullscreen set wm.fullscreen true
 - if no command is given, will unalias (delete) the <name> command
 - if no arguments are given, will list all aliases
set <name> <value>
 - set config setting <name> to <value>
get <name>
 - prints the value of config setting <name> to console (not yet implemented)
unset <name>
 - unset config setting <name>, this restores the default value
exec <file>
 - execute the commands in <file>
ignore <file>
 - set the ignore flag for <file>, this will prevent a file from being loaded
 - such as automatically loaded files (default.cfg) or files loaded from exec in
 - other config files
 - will also prevent a file from having config saved to it
 - note that `exec <file>` removes this flag when used after initial config loading
help [command]
 - shows a list of commands, or help for a command (not fully implemented)
shortlog
2016-04-19 darkrosesome meshgen and map rendering updatesmaster
2016-04-18 darkroseget LOD working, still needs full meshgen
2016-04-05 darkrosemap rendering, slightly improved, and mapgen with bit...
2016-04-05 darkrosemap rendering - it actually renders, partially
2016-03-31 darkroserearrange some things
2016-03-31 darkrosebasic world setup, multi-world support, and possibly...
2016-03-27 darkrosemap, part fuck knows
2016-03-26 darkroseblocks part 1 of UINT64_MAX
2016-03-19 darkrosegraphics updates
2016-03-13 darkroseremove deprecated luminance texture generation
2016-03-04 darkrosejust some testing fiddling
2016-03-04 darkroseadd pseudo signed distance field rendering
2016-03-04 darkrosemodify logging to simplify i18n
2016-03-03 darkrosebetter texture binding
2016-03-02 darkroseui part 1
2016-03-02 darkrosejust fiddling about with things
...
heads
8 years ago master
forks
Cached version (6825s old)
voxelands-alt/voxelands-alt-menche.git Menche's development clone of voxelands-alt menche_mt@yahoo.com 8 years ago