The automatic global static was hitting a destructor on xcode, this seemed like it was being pedantic about name at first but then between runs the same issue would come back. With this change it is wrapped in a function to get the vector instead.
Shader gen now produces a shaderdata class - this should reduce full recompilation of shaders when a macro switch happens.
FileStream can now also be setup to be async write, so it will write out the file on a separate thread hopefully freeing up the main thread to continue working.
correct size of hullInactive filter and logic for it by adding a function ShapeEdColWindow::onColTypeSelected that goes off on any selection from the dropdown
Moved the addSourceDirectory for physics/Bullet into the Engine/Source/CMakeLists.txt file that way it can actually appear where we expect it to in the solution explorer.
Removed the old SHAPE_ASSET macros
Implements AssetRef struct that acts as a universal wrapper for an templated AssetPtr and AssetId pair
Adds Type handling for AssetRef for ShapeAsset to unify handling in classes that utilize a shapeAsset, so assigning an assetPtr or an assetId will keep a record of the assignment in the event the assetPtr is invalid.
Update all classes that utilized the old SHAPE_ASSET macros to utilize the AssetRef struct and updated the class code to utilize it to provide much more clean and concise code that isn't blocked behind macro definitions
Added a new example class: shapeDatablockExample which allows render of a simple shape object utilizing a simple example datablock.
If we define an array field have every other field inside that array declared inherit its element count. Can be override with a .elements(N) if N is > 1.
Use the field descriptor struct to add fields instead of the overloads
Adds a visibility function to control whether a field is visible in the inspector
EG:
ADD_FIELD("soundFile", TypeAssetLooseFilePath, Offset(mSoundFile, SoundAsset))
.doc("Path to the sound file.")
.elements(SFXPlayList::SFXPlaylistSettings::NUM_SLOTS)
.onSet(&_setSoundFile);
the grammar can change to make these easier to work with, review changes carefully
final setup for assimp
Added assimp importers and exporters, removed defaulting to all
Added compression to tshape
added dts version to tshape and cmake
Update assimpShapeLoader.cpp
quick fix
fix previewing dsq ground work
automatically export dsq files for animations
Groundwork
Adds the same sort of model for registering loaders and exporters as is set out on gbitmap
Added a bit more safety around the assimp matrix fix to convert incoming models to torques coordinate system.
initServer callback is run the once
onCreateGameServer callback is run every mission load
for queueexec("filename",true); to work, that has to be from the same callback pool being executed.
given resources use the initServer, pool, shifted the damagemodel baseline there as well.
may want to revisit this one as time allows for quicker prototyping turnaround
Also adds callbacks so gamemodes/modules can provide custom camera modes.
This gives more control and integration of specialty camera types so it doesn't have to fight the editor's handling of camera modes/toggles.