MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / ForceEffectsInit

Function ForceEffectsInit

Descent3/D3ForceFeedback.cpp:643–713  ·  view source on GitHub ↗

------------------------------------------------------------------ ForceEffectsInit Purpose: Initializes the force feedback effects for Descent 3 ------------------------------------------------------------------

Source from the content-addressed store, hash-verified

641// Initializes the force feedback effects for Descent 3
642// ------------------------------------------------------------------
643void ForceEffectsInit(void) {
644 tFFB_Effect eff;
645 int lowid;
646 Force_time_since_last_shake = 0;
647 FORCEPROJECT prj;
648 char path[_MAX_PATH];
649
650 if (cfexist("D3Force.ifr")) {
651 ddio_MakePath(path, Descent3_temp_directory, "D3Force.ifr", NULL);
652 cf_CopyFile(path, "D3Force.ifr", 0);
653 prj = ddio_ForceLoadProject(IGNORE_TABLE(path), kJoy1);
654 } else {
655 prj = NULL;
656 }
657 /*
658 $$TABLE_GAMEFILE "D3Force.ifr"
659 */
660 lowid = ddio_CreateForceFromProject(prj, "Test");
661 if (lowid == -1) {
662 FFECreate_Test(&eff);
663 lowid = ddio_ffb_effectCreate(kJoy1, &eff);
664 }
665 Force_hi_to_low_map[FORCE_TEST_FORCE] = lowid;
666
667 lowid = ddio_CreateForceFromProject(prj, "Microwave");
668 if (lowid == -1) {
669 FFECreate_Microwave(&eff);
670 lowid = ddio_ffb_effectCreate(kJoy1, &eff);
671 }
672 Force_hi_to_low_map[FORCE_MICROWAVE] = lowid;
673
674 lowid = ddio_CreateForceFromProject(prj, "WallHit");
675 if (lowid == -1) {
676 FFECreate_Wallhit(&eff);
677 lowid = ddio_ffb_effectCreate(kJoy1, &eff);
678 }
679 Force_hi_to_low_map[FORCE_WALLHIT] = lowid;
680
681 lowid = ddio_CreateForceFromProject(prj, "Recoil");
682 if (lowid == -1) {
683 FFECreate_WeaponRecoil(&eff);
684 lowid = ddio_ffb_effectCreate(kJoy1, &eff);
685 }
686 Force_hi_to_low_map[FORCE_WEAPON_RECOIL] = lowid;
687
688 lowid = ddio_CreateForceFromProject(prj, "VaussRecoil");
689 if (lowid == -1) {
690 FFECreate_VaussRecoil(&eff);
691 lowid = ddio_ffb_effectCreate(kJoy1, &eff);
692 }
693 Force_hi_to_low_map[FORCE_VAUSS_RECOIL] = lowid;
694
695 lowid = ddio_CreateForceFromProject(prj, "Afterburner");
696 if (lowid == -1) {
697 FFECreate_Afterburner(&eff);
698 lowid = ddio_ffb_effectCreate(kJoy1, &eff);
699 }
700 Force_hi_to_low_map[FORCE_AFTERBURNER] = lowid;

Callers 1

ForceInitFunction · 0.85

Calls 15

cfexistFunction · 0.85
cf_CopyFileFunction · 0.85
ddio_ForceLoadProjectFunction · 0.85
FFECreate_TestFunction · 0.85
ddio_ffb_effectCreateFunction · 0.85
FFECreate_MicrowaveFunction · 0.85
FFECreate_WallhitFunction · 0.85
FFECreate_WeaponRecoilFunction · 0.85
FFECreate_VaussRecoilFunction · 0.85
FFECreate_AfterburnerFunction · 0.85
FFECreate_ShipShakeFunction · 0.85

Tested by

no test coverage detected