diff --git a/README.md b/README.md index d91c3ab..2f62c0a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,40 @@ -korman -====== \ No newline at end of file +Korman +====== + +An open source, GPLv3 Blender addon for creating ages for Cyan Worlds' proprietary Plasma engine +and its open source variant, CyanWorlds.com Engine. For more information, visit https://guildofwriters.org + +Dependencies +------------ +- [Blender](http://blender3d.org) - 3d modelling problem +- [libHSPlasma](https://github.com/H-uru/libhsplasma) - Universal Plasma library used for manipulating data +- [PhysX 2.6 SDK](http://www.nvidia.com/object/physx_archives.html) - optional, required only for exporting +ages to the Myst Online: URU Live format with libHSPlasma. + +Building +-------- +Korman is written primarily in Python and therefore requires little in the way of compiling. However, Korman +depends on the libHSPlasma Python bindings called "PyHSPlasma". Therefore, you will need to compile libHSPlasma +with python bindings for the platform of your choice. You will need to be certain that you use the same version +of Python that ships with your Blender install. Once you have done this, copy the HSPlasma library and PyHSPlasma +python library into Blender's `python/lib/site-packages`. + +See the installer directory for NSIS scripts. You can make a Windows installer by using `makensis +-DPYTHON_DLL=[pythonDllName] Installer.nsi`. Be sure to provide the Visual C++ redistributable and +libHSPlasma libraries. Prebuilt installers will be provided on the Guild of Writers website. + +Installing +---------- +Copy the `korman` directory into Blender's `addons` directory. You must enable the addon in Blender's User +Preferences window. Korman is listed as a **System** addon. Switch the render engine to Korman and enjoy! + +Zen of Korman +------------- +- Korman should be intuitive and discoverable. +- Mapping Korman features to Plasma features 1:1 is not desirable. +- Hide annoying details and make age building fun! +- Any Python traceback seen by the user is a bug. +- Korman is written in Python, not C. The code should reflect that fact. +- Avoid "it's better to ask for forgiveness" `try... except` blocks. +- Spaces over tabs. +- Break lines around 100 columns (it's OK if your log message exceeds that however).