See Cakelisp commit for reasoning behind this. Emacs sexp-awareness
and macros to the rescue!
* Added more to the Blender failure comment to help resolve issues
when trying to build models
* Converted tabs to spaces in some cake files
* Added (bad) circular buffer set-up for reading input audio
* Pitch will be very noisily displayed on screen via the monkey's
vertical position
* Changed scripts slightly to use hot-reloading
* Audio takes ~3 seconds to initialize on my machine, so I moved it to
a separate thread. There are now some new bugs where the app can crash
if pressing space before initialization is finished
* Reformatted, added some perf scopes
Still a lot more to do, but it's a good checkpoint.
* Rigged monkey for test animation
* Update Ogre for my pull request to fix Release Samples build
* Note that this commit also requires
https://github.com/OGRECave/ogre-next/pull/181 , which fixes animation
in my current setup
* https://discourse.libsdl.org/t/sdl-moving-to-github/28700 announced
SDL's move to GitHub. While I'm sad they give more power to GitHub,
I'm happy I can include SDL as a submodule
* Change register -> def in order to match other functions
* Convert VocalGame to use Math.cake instead of hand-rolled vectors
* Update cakelisp for HotReloading const variable filtering
* Add "HandmadeMath" build label as a temporary workaround to
unnecessary rebuilding of non-math libs
* Rename vec accessors to be dimension agnostic
* Add more useful vector math functions
I had to educate myself via
https://github.com/HandmadeMath/Handmade-Math/issues/124 to figure out
how to properly write my matrix wrapping.
I implemented some of the most commonly useful functions I like for
matrix and vector interactions
* Math.cake now has a small number of useful 3D vector and matrix
math types/constants/functions. I will add more as projects demand
more exposed features
* Added HandmadeMath (public domain) for common game math
* AutoTest now builds its own configuration, because it was causing
SDL to rebuild
* Added c-function-alias code, partly as a test to see if I had
everything I needed to make a more fundamental feature, all in
user-space. It is used to wrap Handmade functions in case I want to
swap that math library out for another one (more likely than you
might think)
* Upgraded cakelisp for registerEvaluateGenerator()
* Build Ogre meshes and convert .png textures to dds, all in a
pre-build step. There's plenty of room for improvement, but it's a
good stop-gap for now
* Added more ignores
* Removed extra BuildDependencies.sh because it's no longer needed!
* Build_Debug.sh will now build Cakelisp itself, keeping it up-to-date
in case you update or are iterating on it
* Update Cakelisp for run-process-sequential-or and comptime function
fix (building build-ogre and build-sdl is how the bug emerged)
* Ogre and Ogre's dependencies now built via run-process functions
* Updated Ogre because I thought it might have issues (I caused the
issues). It's good to be more up-to-date anyways
* Removed extra BuildDependencies.sh because it's no longer needed!
* Build_Debug.sh will now build Cakelisp itself, keeping it up-to-date
in case you update or are iterating on it
* Update Cakelisp for run-process-sequential-or and comptime function
fix (building build-ogre and build-sdl is how the bug emerged)
* Ogre and Ogre's dependencies now built via run-process functions
* I had to make changes to remove unnecessary global includes, which
caused command changes on files across projects
* Added Math.cake, which revealed a problem in macro
evaluation (delimiters need to be part of the context when evaluating
macros after the first evaluation)
* Cleaned up namings in OgreInitialize.cake
* Added ogre-create-light
* Created OgreHlms.cpp, which is copied from Ogre's Sample
PbsMaterialsGameState.cpp and modified
* Moved declare-extern-function so I could avoid making a header file
for test file OgreHlms.cpp
* Reorganized where build options are in a few files
* Update Cakelisp for HotReloading copy lib to Active version so it
the original can be modified (otherwise, it can cause a crash)
* Only reload on key release so it isn't reloaded for as long as the
user holds the key (many times per quick press, even)