MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / zPlatFM_Update

Function zPlatFM_Update

src/SB/Game/zPlatform.cpp:535–791  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

533}
534
535static void zPlatFM_Update(zPlatform* plat, xScene*, F32 dt)
536{
537 for (S32 i = 0; i < 12; i++) {
538 zPlatFMRunTime* fmrt = plat->fmrt;
539
540 F32 tm = fmrt->tmrs[i];
541 if (tm > 0.0f) {
542 F32 ttm = fmrt->ttms[i];
543 F32 atm = fmrt->atms[i];
544 F32 dtm = fmrt->dtms[i];
545 F32 vm = fmrt->vms[i];
546
547 F32 ds;
548 F32 etm = ttm - tm;
549
550 if (tm > atm) {
551 if (atm > 0.0f) {
552 if (tm - dt < atm) {
553 if (dtm > 0.0f) {
554 if (tm - dt < dtm) {
555 if (tm - dt < 0.0f) {
556 F32 p = ttm - atm;
557 F32 cfacc = 0.5f * (p + etm) * (p - etm) / p;
558 F32 cfcs = atm - dtm;
559 F32 cfdec = 0.5f * dtm;
560 ds = cfacc + cfcs + cfdec;
561 } else {
562 F32 p = ttm - atm;
563 F32 cfacc = 0.5f * (p + etm) * (p - etm) / p;
564 F32 cfcs = atm - dtm;
565 F32 cfdec = 0.5f * (dtm + (tm - dt)) * (dtm - (tm - dt)) / dtm;
566 ds = cfacc + cfcs + cfdec;
567 }
568 } else {
569 F32 p = ttm - atm;
570 F32 cfacc = 0.5f * (p + etm) * (p - etm) / p;
571 F32 cfcs = atm - (tm - dt);
572 ds = cfacc + cfcs;
573 }
574 } else {
575 if (tm - dt < 0.0f) {
576 F32 p = ttm - atm;
577 F32 cfacc = 0.5f * (p + etm) * (p - etm) / p;
578 F32 cfcs = atm;
579 ds = cfacc + cfcs;
580 } else {
581 F32 p = ttm - atm;
582 F32 cfacc = 0.5f * (p + etm) * (p - etm) / p;
583 F32 cfcs = atm - (tm - dt);
584 ds = cfacc + cfcs;
585 }
586 }
587 } else {
588 F32 p = ttm - atm;
589 ds = (etm + 0.5f * dt) * dt / p;
590 }
591 } else {
592 if (tm - dt < 0.0f) {

Callers 1

zPlatform_UpdateFunction · 0.70

Calls 6

xMat3x3RotXFunction · 0.85
xMat3x3RotYFunction · 0.85
xMat3x3RotZFunction · 0.85
xsqrtFunction · 0.85
xMat3x3MulFunction · 0.50
zEntEventFunction · 0.50

Tested by

no test coverage detected