Welcome to the home of gm_voxelate, the configurable voxel module for Garrysmod.
More Information (Facepunch Thread)
See the wiki in the sidebar.
Please report bugs on this repository's issues page!
This is designed to be built with MetaMan's Garry's Mod and Source SDK headers.
It requires a compiler/runtime that supports C++11, which can cause problems on older linux systems.
Windows: Should just work.
Linux: Should just work?
Mac: Unknown, probably similar to Linux.
The test_install scripts are for quickly copying the binaries into directories on my systems, and are probably broken right now.
We generally don't depend on garryFuncs:tm:
You should be good to completely override includes/init.lua
, as long as the stock luajit 5.1 funcs aren't modified, and a version of the hook
and timer
libraries is available for use.
use gm_voxelate:RegisterSubEntity(className,classObj)
and it will internally extend the VoxelEntity class
extend voxel_entity
note: both the voxelate engine and source engine entities are mutually exclusive: you may only use one type at a time.
Right now, the Lua portion of gm_voxelate is compiled into the DLL, and is unmodifiable at runtime. This can get quite annoying during extended sessions of modifying the Lua portion of gm_voxelate exclusively. As such, you may enable lua hotloading to ease the burden of development and debugging, which directly reads files from the OS filesystem and loads them into Lua.
Hotloading can be enabled by creating a file in GarrysMod/garrysmod/data with the name .vox_hotloading
, whose contents is the path to the lua
folder in this repo. NO NEWLINES, NO TRAILING SPACES!
Secondly, you will either:
- install gm_luaiox (kindly provided by MetaMan)
- compile gm_voxelate with the premake trigger
luahotloading
, which will add a dangerous function that can read any file without restrictions
Enjoy!
gm_f1atgrass - Testbed for the module