#+TITLE:GameLib GameLib is my library for making games. It is the successor to [[https://macoy.me/code/macoy/base2.0][base2.0]]. GameLib is written in [[https://macoy.me/code/macoy/cakelisp/][Cakelisp]]. * Setup Clone the repository and its dependencies: #+BEGIN_SRC sh git clone https://macoy.me/code/macoy/gamelib.git git submodule update --init --recursive hg clone http://hg.libsdl.org/SDL Dependencies/SDL #+END_SRC Build dependencies: #+BEGIN_SRC sh ./BuildDependencies_Debug.sh #+END_SRC Build: #+BEGIN_SRC sh ./Build_Debug.sh #+END_SRC * Asset pipeline This is a work in progress. ** Blender setup - Install [[https://www.blender.org/][Blender]]. I can confirm Blender 2.91 works. - Copy ~blender2ogre~ to Blender plugins: #+BEGIN_SRC sh cp -r Dependencies/blender2ogre/io_ogre/ ~/.config/blender/2.91/ #+END_SRC - Open Blender, then open Preferences (Edit->Preferences), and click Add-ons - Search for "Ogre" and check the box to enable the OGRE Exporter - Build Ogre, if you haven't already (run ~BuildDependencies_Debug.sh~) - Set ~OGRETOOLS_XML_CONVERTER~ to where you built OgreMeshTool. You'll need to browse to ~gamelib/Dependencies/ogre-next/build/Debug/bin/OgreMeshTool_d~ You are now ready to export. Open your model or create one, then do ~File -> Export -> Ogre3D~. See the following section for settings. /Note:/ I will be making command-line driven auto-exporting to reduce these manual steps. ** OGRE Export Settings - Don't *export materials*. These are v1 materials as far as I know, which don't work with Ogre 2 - Don't *export scene*. I don't use these files - Ensure *mesh export version* is set to ~v2~ ** Converting ~.mesh.xml~ to ~.mesh~ You shouldn't need to do this step if you set ~OGRETOOLS_XML_CONVERTER~, but in case blender2ogre didn't recognize it, here's how I worked around it: #+BEGIN_SRC sh cd Dependencies/ogre-next/build/Debug/bin ./OgreMeshTool_d -e -O puqs ../../../../../test/data/Models/Suzanne.mesh.xml #+END_SRC Run this after you've made an attempted export from the Blender OGRE plugin.