Źródła symulatora

Z MaSzyna
Wersja z dnia 18:23, 10 sie 2023 autorstwa Jakubg1 (dyskusja | edycje) (start - lista klas, link do repozytorium, bedzie uzupelniane)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Skocz do: nawigacja, szukaj

Kod źródłowy Symulatora MaSzyna udostępniony jest na licencji Mozilla Public License 2.0.

Sam symulator jest napisany w języku C++.

Repozytorium

Najbardziej aktualna wersja kodu MaSzyny znajduje się na serwisie GitHub i jest dostępna tutaj.

Tylko branch sim użytkownika @Milek7 jest brany pod uwagę i to ta wersja EXE trafia do kolejnych wydań MaSzyny.

W celu wprowadzenia własnych zmian należy zrobić pull request do tego właśnie brancha.

Struktura plików

Ta sekcja jest w fazie tworzenia.

Kod MaSzyny jest rozwijany od ponad 20 lat i nie był nigdy porządkowany. Z tego powodu rozkład plików źródłowych może nie być intuicyjny. Pełna lista plików źródłowych wraz z zastosowaniem została podana poniżej.

Pliki *.cpp, *.h

Na liście brakuje plików z podfolderów: Console, McZapkie, gl, launcher, network, openvrconfig, vr, widgets.

Nazwa pliku .cpp .h Funkcja
AirCoupler tak tak TBD
AnimModel tak tak TBD
Button tak tak TBD
Camera tak tak TBD
Classes nie tak TBD
Console tak tak Główny kod do sterowania pulpitami za pomocą PoKeys/Arduino.
Curve nie tak TBD
Driver tak tak TBD
DynObj tak tak TBD
EU07 tak nie Punkt wejścia aplikacji. Wykrywa tryb eksportu E3D i zawiera handler błędów alokacji pamięci.
EvLaunch tak tak Odpowiada za sprawdzanie warunków do wywołania event launchera (wciśnięcie klawisza, określona godzina w symulacji lub wywołanie sygnałem ZEW1/ZEW3).
Event tak tak TBD
Float3d tak tak TBD
Gauge tak tak TBD
Globals tak tak Odpowiada za wczytywanie i zapisywanie pliku eu07.ini, przechowuje ustawienia tam zawarte oraz takie informacje jak: czy jest włączony debugmode, czy jest wciśnięty któryś z klawiszów: Alt, Ctrl albo Shift czy też seed symulacji.
Logs tak tak Umożliwia wpisywanie treści do plików log.txt i errors.txt.
MdlMngr tak tak TBD
MemCell tak tak TBD
Model3d tak tak TBD
Names nie tak TBD
PyInt tak tak TBD
PyIntStub tak nie TBD
ResourceManager tak tak TBD
Segment tak tak TBD
Spring tak tak TBD
Texture tak tak TBD
Timer tak tak TBD
Track tak tak TBD
Traction tak tak TBD
TractionPower tak tak TBD
Train tak tak TBD
TrkFoll tak tak Definiuje pojedynczą oś w pojeździe.
application tak tak Przetwarza sygnały wejściowe z klawiatury, myszy i gamepada, zawiera główną pętle programu oraz przetwarza argumenty linii poleceń inne niż -e3d.
applicationmode nie tak Nadklasa (interfejs), który jest rozszerzany przez klasy będące trybami pracy symulatora.
audio tak tak TBD
audiorenderer tak tak TBD
audiorenderer_extra nie tak TBD
color nie tak TBD
command tak tak TBD
comparison nie tak TBD
driverhints tak tak TBD
driverhints_def nie tak TBD
driverkeyboardinput tak tak TBD
drivermode tak tak TBD
drivermouseinput tak tak TBD
driveruilayer tak tak TBD
driveruipanels tak tak TBD
dumb3d tak tak TBD
editorkeyboardinput tak tak TBD
editormode tak tak TBD
editormouseinput tak tak TBD
editoruilayer tak tak TBD
editoruipanels tak tak TBD
export_e3d_standalone tak nie TBD
frustum tak tak TBD
gamepadinput tak tak TBD
geometrybank tak tak TBD
headtrack tak tak TBD
keyboardinput tak tak TBD
ladderlogic tak tak TBD
light nie tak TBD
lightarray tak tak TBD
lua tak tak TBD
lua_ffi nie tak TBD
material tak tak TBD
messaging tak tak TBD
moon tak tak TBD
motiontelemetry tak tak TBD
mtable tak tak TBD
nullrenderer tak tak TBD
opengl33geometrybank tak tak TBD
opengl33light tak tak TBD
opengl33particles tak tak TBD
opengl33precipitation tak tak TBD
opengl33renderer tak tak TBD
opengl33skydome tak tak TBD
openglcamera tak tak TBD
openglcolor tak tak TBD
openglgeometrybank tak tak TBD
opengllight tak tak TBD
openglmatrixstack tak tak TBD
openglparticles tak tak TBD
openglprecipitation tak tak TBD
openglrenderer tak tak TBD
openglskydome tak tak TBD
parser tak tak TBD
particles tak tak TBD
precipitation tak tak TBD
pythonscreenviewer tak tak TBD
renderer tak tak TBD
resource nie tak TBD
scenarioloadermode tak tak TBD
scenarioloaderuilayer nie tak TBD
scene tak tak TBD
sceneeditor tak tak TBD
scenenode tak tak TBD
scenenodegroup tak tak TBD
screenshot tak tak TBD
simulation tak tak TBD
simulationenvironment tak tak TBD
simulationsounds tak tak TBD
simulationstateserializer tak tak TBD
simulationtime tak tak TBD
sky tak tak TBD
skydome tak tak TBD
sn_utils tak tak TBD
sound tak tak TBD
stars tak tak TBD
station tak tak TBD
stdafx tak tak TBD
sun tak tak TBD
targetver nie tak TBD
translation tak tak TBD
uart tak tak TBD
uilayer tak tak TBD
uitranscripts tak tak TBD
utilities tak tak TBD
vertex tak tak TBD
windows tak nie TBD
winheaders nie tak TBD
zmq_input tak tak TBD