* Added racetrack and put an objective on it
* Fixing objective scaling so it's not confusing when I have to go in
and add/change them
* Terrain can now be generated at arbitrary positions. It's very leaky
right now memory-wise
* Updated Tracy to not crash
* Build scripts will now fail right after a command fails
* Added SFML build from source dependencies to readme
* Updated tracy
* Added note that Blender 2.8 is required
* My SFML problems were because Spargus wasn't using the local SFML headers, it was using the system ones
* Fixed some bad Horde3D commands after breaking it by adding the other cmake vars. Note that I don't really understand the whole OpenGL legacy thing, nor its implications
* Made some changes to BuildAssets in order to make Collisions dir, then gave up and put it as a TODO
* Added a Jam variable, BLENDER, for configuring which blender exe to use (e.g. if your system version of blender is <2.8, you can pass -sBLENDER=/home/me/my/blender2.80/blender instead
* Updated the readme to be more clear about dependencies
* Added Graphics object for Lights, and hooked them up to the vehicles
as headlights
* Moved vehicle tuning into its own structure/definition for easier
tuning comparisions
* Fix Horde loading hack being offset by one as to what was actually
taking the time printed
* Made a collection for BasicBuggy and then linked it in BasicDriver
so it doesn't have a broken reference any more
* Converting the skin texture from .png to .dds took it from 0.3s to
load to 0.0026. It's definitely worth my time to put in some build
infrastructure to get this conversion automatic
* I experimented with a sand material, and changed the seat material
* I needed to include the w axis only if I wanted translation
* AI driver now tries to get approximately on camera for the
player. It's very rough, but somewhat cooler
* Added a dead simple "Spawn a vehicle every 1 second" thing to test
how many vehicles can be handled. It's quite a lot actually, though I
didn't have them all driving around
* Made sure to limit engine audio streams because every audio stream
is a separate audio thread (TODO come up with some solution of course)
* Added logging mode when loading horde resources which outputs rough
time estimates for each resource. I really should come up with a
better approach
* Attempted to fix vehicle flicker on spawn-in, but it didn't do the
trick
* Figured out more accurately what connectionHeight,
wheelDirectionCS0, and suspensionRestLength do
* Experimented with suspension constants. I tuned the suspension to
take more force to compress, and upped the damping accordingly to
reduce bounce. I still don't have a strong grasp on it, so I imagine I
will be revisiting these values
* GameVehicles::CreateVehicle now takes a transform
* Renamed some BasicBuggy materials and killed the old ones
* Added Jam rule for building BasicBuggy_Chassis if BasicBuggy
changes. In a perfect world I'd make Jam auto-detect Blender links,
but I don't have all day!
* Added vehicle interior and wheel texture
* Added Jam rule for copying textures over. I'm quite pleased with
this, though I'll need something else once I process textures into
runtime formats
* Adjusted chassis and wheels to more closely match the model
* Fixed graphics wheels being double rotated
* Print joystick index in debug
* Added PhysicsVehicle init debug lines
* Changed some debug drawing
* Fixed free cam when not in splitscreen
* Added GameVehicles module for managing the vehicle data and updating
vehicles. It is cleaner to have graphics and audio concerns
separated from PhysicsVehicle. I decided to try an Array-of-Structs approach. Some
arrays are still pointers to structs, so I'll have to get to those
eventually.
* Engine audio now gets the RPM pushed to it on vehicle update instead
of polling for it. This will be much better if onGetData() gets
called more than the RPM actually updates. It's a slightly cleaner
API as well
* Update joysticks before listing them to make sure everything is up
to date outside the game loop
* Sounds relative to the player are now made so instead of moving
their positions (RTFM...)
* Added Math function for the vec4-> mul mat4 -> vec3 conversion
* Pipeline buffers are now only resized if the size actually
changed. This is a pretty massive performance improvement
* Fixed some warnings and memory leaks
* Added listing joysticks. I already want a call-to-action screen to
select my joystick
* Updated some perf zones
The camera input needs to be separated for each player. Player 2 input
is not yet supported. My SetViewport() function is likely very slow
because it resizes the buffers; I'm guessing a "move view"-type thing
would be better
He drives off the edge of the map as soon as he can (seemingly) :D
- Hid procedural cube
- Smoothed out noise on terrain
- Made global vehicles list instead of just player vehicles
- I extended the interface to support all the parameters Horde supports
- I got hacky UVs in for terrain so its surface is at least readable
- Renamed TestProceduralGeometry() to CreateProceduralGeometry()