The following warnings occurred:
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 94 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 573 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 573 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $can_access_moderationqueue - Line: 752 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 752 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 892 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 892 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $awaitingusers - Line: 34 - File: global.php(959) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/global.php(959) : eval()'d code 34 errorHandler->error
/global.php 959 eval
/printthread.php 16 require_once
Warning [2] Undefined array key "style" - Line: 1024 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 1024 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined property: MyLanguage::$lang_select_default - Line: 5308 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 5308 errorHandler->error
/global.php 1024 build_theme_select
/printthread.php 16 require_once
Warning [2] Undefined array key 1 - Line: 1474 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 1474 errorHandler->error
/inc/functions.php 1429 fetch_forum_permissions
/printthread.php 76 forum_permissions
Warning [2] Undefined property: MyLanguage::$archive_pages - Line: 2 - File: printthread.php(257) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/printthread.php(257) : eval()'d code 2 errorHandler->error
/printthread.php 257 eval
/printthread.php 117 printthread_multipage
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error



Forums
Suspension subclassing; CARSUSPENSIONINFO struct. - Printable Version

+- Forums (https://www.vdrift.net/Forum)
+-- Forum: Project (https://www.vdrift.net/Forum/forumdisplay.php?fid=4)
+--- Forum: Development (https://www.vdrift.net/Forum/forumdisplay.php?fid=9)
+--- Thread: Suspension subclassing; CARSUSPENSIONINFO struct. (/showthread.php?tid=1369)

Pages: 1 2


- NaN - 11-21-2010

I think the correct name would be trailing-arm?

Edit:
Code:
[wheel.bla.trailing-arm]
chassis = -0.35, 1.27, -0.07
hub = -0.64, 1.27, -0.12



- fudje - 11-21-2010

I'd prefer to avoid referring to the current single-hinge system as trailing arm. Well, it's very similar to trailing arm suspension, provided it's in the right direction to be trailing arm. The model itself could be better described as "swing axle with physically improbable perfect camber retention."
Ideally I'm treating it as a last resort for where the desired system isn't in place yet, and the one thing I can think of that it accurately simulates is those 100% parallel guide arms you find on some beach buggies (I have no idea what that's called). It's pretty close to the results of some multi-link systems, also – how it arrives at those results, of course, is completely different by about six thousand degrees of complexity.

My next trick, when I have time for it, was going to be putting together the generic structure for codependent suspension, for which the basic linkage is, of course, a trailing arm and coil on either side. This would involve a "slight" refactoring of the order in which the suspension simulation does things (Break interface to a stricter set/get model, update all suspension positions before retrieving them, and then of course fixing everything the change breaks, which is the time consuming part).

I'm not sure how to avoid referring to sections by name in the config without making great assumptions about which wheels are liable to be linked together (I mean, such assumptions should be safe, but what if someone wants to try drifting a prototype mars rover with vertically paired isolateral suspension? Those need directly corresponding camber dynamics to even function). So I'd end up with something like:

Code:
[wheel.blah.trailing-arm]
hinge = x, y, z
hub = x, y, z
link = live-axle.rear

[live-axle.rear]
lateral-center = x, y, z
lateral-stiffness = k
#et cetera



- joevenzon - 11-21-2010

The joeserialize stuff is used to write out the state of the car for replay and multiplayer (although multiplayer has been broken/disabled for at least a couple years). The idea is that any variables which change state during execution should be seriailzed. The replay system works by playing back all inputs and then also snapping to output state every second or so.


- fudje - 11-21-2010

Guess I better make it play nice, then....


- fudje - 11-22-2010

One more for Serializer:

https://github.com/fjwhittle/vdrift/commit/6c36290d964ecd43d7de7ae9e13763061e53feed.diff

I'm not sure how well this actually works because replays seem to be broken at the moment (can't load parts from referenced files), but it should record the data just fine.


- fudje - 11-26-2010

Re: Basic/Trailing Arm — SEMIARMSUSPENSION?


- NaN - 11-26-2010

The class name doesn't matter that much. I'd like to get the hinge parameter out of the wheel specs, to have wheel.fl.double-wishbone, wheel.fl.macpherson-strut or wheel.fl.hinge to choose from.


More stuff - fudje - 12-01-2010

Couple of fixes for wishbone suspension (actually fairly important because I missed something that would cause a whole bunch of magnitude 0 quaternions)
https://github.com/fjwhittle/vdrift/commit/0a369fe34218f45b356a54207a99bb962b6e98f3.diff

Load basic suspension from wheel.blah.arm subsection
https://github.com/fjwhittle/vdrift/commit/1a75663119189187f025936f053679cd7e9e902e.diff
This will alternately spout an error and then try to load the hinge directly from wheel.blah for backwards compat.

I think this should more or less cover code changes for this round. I would like to add more suspension types, but I think adapting the data to work with these is probably higher priority, so I'll concentrate on that next.


- NaN - 12-01-2010

Will apply asap, thanks.