I would've preferred to just go with 4-spaces for indent and no tabs,
but lao is a bit conservative about it. :^)
Still, this is a ton better than mixing different styles all over the
place, especially within the same file.
* There's no distinction between "temp" and "perm" nodes anymore.
All nodes are allocated with 1 reference belonging to the
vfs_alloc() caller.
* VFSNode pointers retrieved by any API that returns one (most
notably vfs_locate) are guaranteed to have exactly one reference
belonging to the caller. What this means is that you must always
decref them when you're done using them.
If you're implementing such an API (e.g. a custom locate), remember
to incref any persistent nodes you return.
* Passing a VFSNode* to anything that successfully consumes one (for
example, vfs_mount) transfers ownership of the reference to the
consumer. In other words, consumers do not incref your nodes, but
they will decref them once they don't need them anymore. If you want
to keep the node around, then you must incref it first.
* Bunch of other stuff.
"Ownership" is an abstract concept in this context. Basically it just
means "cleanup responsibility".
* Made ZIP support optional; dropped requirements for CMake from 3.3 to 3.0.2 and libzip from required to optional >=1.0
* Forgot to add PARENT_SCOPE
* LTO support made optional (by the way, corrected a typo in CheckAndSetFlags cmake file)
* Added RELEASE_BUILD check; -flto now used in RELEASE_BUILDs rather that NOT DEBUG_BUILDs.
* Changed STATUS to WARNING if no cmake or libzip suitable for compressing data found. Old cmake now disables only packaging, not ZIP support at all.
* Clarified some README things about BGM placement
* Added words about user-specific bgm directories