This update brings the new wheel simulation and a bugfix:
- New Wheel Simulation
Now modelling angular momentum of the wheel, as well as slip between contact patch and surface.
- Fix External View
The camera is no longer too far away when pressing F6.
Code: Select all
void UAW_CALL prepareScenarioRendering(
void * extensionData,
UAW_API_TerrainGraphics * uaw,
UAW_Clock utc
)
Code: Select all
void UAW_CALL prepareScenarioRendering(
UAW_Extension_Scenario * extensionData,
UAW_Clock utc
)
Code: Select all
void UAW_CALL getScenarioSkyColors(
UAW_Extension_Terrain const * terrain,
void const * extensionData,
UAW_Scenario_SkyColors * result,
UAW_Clock utc
)
Code: Select all
void UAW_CALL getScenarioSkyColors(
UAW_Extension_Scenario const * scenario,
UAW_Scenario_SkyColors * result,
UAW_Clock utc
)
Code: Select all
// Returns a string in UAW’s current language.
UAW_Char const * UAW_CALL stringFromStringID(
- void * extensionData, // explained later
+ UAW_Extension const * extension, // explained later
UAW_Extension_StringID id
) {
Code: Select all
UAW_Extension_Terrain * UAW_CALL loadTerrain(
- void * extensionData,
+ UAW_Extension * extension,
UAW_API_TerrainLoad * uaw,
UAW_Extension_TerrainID id,
UAW_Extension_Terrain_API * result
) {
Code: Select all
+struct UAW_Extension_Scenario {
+ // empty placeholder
+};
+
+void UAW_CALL destroyScenario(
+ UAW_Extension_Scenario * scenario
+) try {
+ delete scenario;
+} catch(...) {
+}
+
void UAW_CALL prepareScenarioRendering(
UAW_Extension_Scenario * extension,
UAW_Clock utc
) {
// nothing to do yet
}
Code: Select all
-int UAW_CALL populateScenario(
- void * extensionData,
+UAW_Extension_Scenario * UAW_CALL createScenario(
+ UAW_Extension * extension,
UAW_API_ScenarioPopulate * uaw,
UAW_Extension_ScenarioID id,
UAW_Extension_Scenario_API * result
-) {
+) try {
result->prepareRendering = &prepareScenarioRendering; // pass our callback
result->getSkyColors = &getScenarioSkyColors;
- return 1; // success (nothing to do yet)
-}
+ return new UAW_Extension_Scenario{ };
+} catch(...) {
+ return nullptr;
+}
Code: Select all
- scenario.populate = &populateScenario; // pass our callback
+ scenario.create = &createScenario; // pass our callback