|
8 | 8 | import ctypes |
9 | 9 | import mmap |
10 | 10 | import copy |
| 11 | +import platform |
11 | 12 |
|
12 | 13 | class rFactor2Constants: |
13 | 14 | MAX_MAPPED_VEHICLES = 128 |
@@ -720,10 +721,20 @@ def __init__(self, input_pid): |
720 | 721 |
|
721 | 722 | def start_mmap(self): |
722 | 723 | """ Start memory mapping """ |
723 | | - self._rf2_tele = mmap.mmap(0, ctypes.sizeof(rF2Telemetry), f"$rFactor2SMMP_Telemetry${self._input_pid}") |
724 | | - self._rf2_scor = mmap.mmap(0, ctypes.sizeof(rF2Scoring), f"$rFactor2SMMP_Scoring${self._input_pid}") |
725 | | - self._rf2_ext = mmap.mmap(0, ctypes.sizeof(rF2Extended), f"$rFactor2SMMP_Extended${self._input_pid}") |
726 | | - self._rf2_ffb = mmap.mmap(0, ctypes.sizeof(rF2ForceFeedback), "$rFactor2SMMP_ForceFeedback$") |
| 724 | + if platform.system() == "Windows": |
| 725 | + self._rf2_tele = mmap.mmap(0, ctypes.sizeof(rF2Telemetry), f"$rFactor2SMMP_Telemetry${self._input_pid}") |
| 726 | + self._rf2_scor = mmap.mmap(0, ctypes.sizeof(rF2Scoring), f"$rFactor2SMMP_Scoring${self._input_pid}") |
| 727 | + self._rf2_ext = mmap.mmap(0, ctypes.sizeof(rF2Extended), f"$rFactor2SMMP_Extended${self._input_pid}") |
| 728 | + self._rf2_ffb = mmap.mmap(0, ctypes.sizeof(rF2ForceFeedback), "$rFactor2SMMP_ForceFeedback$") |
| 729 | + else: |
| 730 | + tele_file = open("/dev/shm/$rFactor2SMMP_Telemetry$", "r+") |
| 731 | + self._rf2_tele = mmap.mmap(tele_file.fileno(), ctypes.sizeof(rF2Telemetry)) |
| 732 | + scor_file = open("/dev/shm/$rFactor2SMMP_Scoring$", "r+") |
| 733 | + self._rf2_scor = mmap.mmap(scor_file.fileno(), ctypes.sizeof(rF2Scoring)) |
| 734 | + ext_file = open("/dev/shm/$rFactor2SMMP_Extended$", "r+") |
| 735 | + self._rf2_ext = mmap.mmap(ext_file.fileno(), ctypes.sizeof(rF2Extended)) |
| 736 | + ffb_file = open("/dev/shm/$rFactor2SMMP_ForceFeedback$", "r+") |
| 737 | + self._rf2_ffb = mmap.mmap(ffb_file.fileno(), ctypes.sizeof(rF2ForceFeedback)) |
727 | 738 |
|
728 | 739 | self.Rf2Tele = rF2Telemetry.from_buffer(self._rf2_tele) |
729 | 740 | self.Rf2Scor = rF2Scoring.from_buffer(self._rf2_scor) |
|
0 commit comments