17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-11-02 13:59:12 +01:00

pch migration to modules [wip]

This commit is contained in:
maj00r
2026-09-09 20:35:26 +02:00
parent c3007e3237
commit 3f7960aad5
350 changed files with 5958 additions and 3059 deletions

View File

@@ -6,13 +6,16 @@ distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
#ifndef CurveH
#define CurveH
module;
#include "QueryParserComp.hpp"
#include "usefull.h"
export module eu07.world.curve;
export {
class TCurve
{
public:
@@ -32,4 +35,5 @@ class TCurve
float **Values;
};
//---------------------------------------------------------------------------
#endif
} // export

View File

@@ -1,3 +1,20 @@
module;
#include <cmath>
#include <istream>
#include <map>
#include <ostream>
#include <string>
#include "utilities/Globals_macros.h"
#include <GLFW/glfw3.h>
module eu07.simcore;
import eu07.console;
import eu07.utilities.utilities;
import eu07.widgets.map_objects;
import eu07.utilities.globals;
import eu07.utilities.timer;
import eu07.utilities.parser;
import eu07.simulation.simulationtime;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -13,17 +30,7 @@ http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/EvLaunch.h"
#include "utilities/Globals.h"
#include "utilities/Logs.h"
#include "world/Event.h"
#include "world/MemCell.h"
#include "utilities/Timer.h"
#include "utilities/parser.h"
#include "Console.h"
#include "simulation/simulationtime.h"
//---------------------------------------------------------------------------

View File

@@ -7,14 +7,19 @@ obtain one at
http://mozilla.org/MPL/2.0/.
*/
#pragma once
#include <string>
#include "utilities/Classes.h"
#include "scene/scenenode.h"
// radio-transmitted event launch messages
module;
#include <string>
export module eu07.simcore:evlaunch;
import :fwd;
import eu07.utilities.parser;
import :memcell;
import eu07.utilities.classes;
export {
enum radio_message {
call3 = -3,
call1 = -1
@@ -73,3 +78,5 @@ private:
};
//---------------------------------------------------------------------------
} // export

View File

@@ -1,3 +1,34 @@
module;
#include <GLFW/glfw3.h>
#include <lua.hpp>
#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdlib>
#include <fstream>
#include <ios>
#include <limits>
#include <memory>
#include <ostream>
#include <string>
#include <vector>
#include "global_include/interfaces/ITexture_macros.h"
#include "utilities/Globals_macros.h"
#include "vehicle/DynObj_macros.h"
module eu07.simcore;
import eu07.input.messaging;
import eu07.simulation.simulation;
import eu07.rendering.renderer;
import eu07.scripting.lua;
import eu07.utilities.utilities;
import :evlaunch;
import eu07.utilities.globals;
import eu07.simulation.simulationtime;
import eu07.simulation.simulationsounds;
import eu07.utilities.timer;
import eu07.widgets.map_objects;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -13,26 +44,7 @@ http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/Event.h"
#include "simulation/simulation.h"
#include "simulation/simulationtime.h"
#include "simulation/simulationsounds.h"
#include "input/messaging.h"
#include "utilities/Globals.h"
#include "world/MemCell.h"
#include "world/Track.h"
#include "world/Traction.h"
#include "world/TractionPower.h"
#include "audio/sound.h"
#include "model/AnimModel.h"
#include "vehicle/DynObj.h"
#include "vehicle/Driver.h"
#include "rendering/renderer.h"
#include "utilities/Timer.h"
#include "utilities/Logs.h"
#include "widgets/map_objects.h"
void
basic_event::event_conditions::bind( basic_event::node_sequence *Nodes ) {

View File

@@ -6,19 +6,32 @@ distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
module;
#include <unordered_map>
#include <list>
#include <cstdint>
#include <deque>
#include <vector>
#include "global_include/interfaces/ITexture_macros.h"
#include <lua.hpp>
#include <memory>
export module eu07.simcore:event;
import :fwd;
import eu07.utilities.logs;
import eu07.utilities.classes;
import :scene;
import eu07.utilities.names;
import :evlaunch;
import eu07.utilities.comparison;
#ifdef WITH_LUA
#endif
export {
#pragma once
#include "utilities/Classes.h"
#include "scene/scene.h"
#include "utilities/Names.h"
#include "world/EvLaunch.h"
#include "utilities/Logs.h"
#include "input/command.h"
#include "utilities/comparison.h"
#ifdef WITH_LUA
#include "scripting/lua.h"
#endif
// common event interface
@@ -750,3 +763,5 @@ basic_event::init_targets( TableType_ &Repository, std::string const &Targettype
}
//---------------------------------------------------------------------------
} // export

View File

@@ -1,3 +1,10 @@
module;
#include <istream>
#include <ostream>
#include <string>
module eu07.simcore;
import eu07.simulation.simulation;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -13,13 +20,7 @@ http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/MemCell.h"
#include "simulation/simulation.h"
#include "vehicle/Driver.h"
#include "world/Event.h"
#include "utilities/Logs.h"
//---------------------------------------------------------------------------

View File

@@ -6,13 +6,24 @@ distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
module;
#include <istream>
#include <ostream>
#include <string>
export module eu07.simcore:memcell;
import eu07.glm;
import :fwd;
import eu07.utilities.parser;
import :driver;
import :track;
import eu07.utilities.classes;
import eu07.utilities.names;
import eu07.utilities.comparison;
export {
#pragma once
#include "utilities/Classes.h"
#include "scene/scenenode.h"
#include "utilities/Names.h"
#include "utilities/comparison.h"
class TMemCell : public scene::basic_node {
@@ -92,3 +103,5 @@ public:
};
//---------------------------------------------------------------------------
} // export

View File

@@ -1,3 +1,20 @@
module;
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <limits>
#include <utility>
#include <vector>
#include "utilities/Globals_macros.h"
#include "utilities/utilities_macros.h"
module eu07.simcore;
import eu07.utilities.globals;
import eu07.simulation.simulation;
import eu07.utilities.logs;
import eu07.utilities.parser;
import eu07.utilities.utilities;
import eu07.rendering.renderer;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -7,15 +24,7 @@ obtain one at
http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/Segment.h"
#include "utilities/Globals.h"
#include "utilities/Logs.h"
#include "utilities/parser.h"
#include "utilities/utilities.h"
#include "world/Track.h"
#include "rendering/renderer.h"
void
segment_data::deserialize( cParser &Input, glm::dvec3 const &Offset ) {

View File

@@ -6,12 +6,20 @@ distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
module;
#include <cmath>
#include <vector>
export module eu07.simcore:segment;
import eu07.utilities.parser;
import :fwd;
import eu07.glm;
import eu07.utilities.classes;
import eu07.rendering.geometrybank;
export {
#pragma once
#include "utilities/Classes.h"
#include "rendering/geometrybank.h"
#include <glm/glm.hpp>
struct map_colored_paths {
std::vector<gfx::geometrybank_handle> switches;
@@ -145,3 +153,5 @@ public:
};
//---------------------------------------------------------------------------
} // export

View File

@@ -1,3 +1,7 @@
module;
module eu07.world.spring;
import eu07.glm;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -7,8 +11,6 @@ obtain one at
http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/Spring.h"
void TSpring::Init(double nKs, double nKd) {
Ks = nKs;

View File

@@ -7,8 +7,6 @@ obtain one at
http://mozilla.org/MPL/2.0/.
*/
#ifndef ParticlesH
#define ParticlesH
/*
#define STATIC_THRESHOLD 0.17f
@@ -20,6 +18,12 @@ const double m_Ksd = 0.1f; // SPRING DAMPING CONSTANT
const double m_Csf = 0.9f; // Default Static Friction
const double m_Ckf = 0.7f; // Default Kinetic Friction
*/
module;
export module eu07.world.spring;
import eu07.glm;
export {
class TSpring {
public:
@@ -38,4 +42,5 @@ public:
};
//---------------------------------------------------------------------------
#endif
} // export

View File

@@ -1,3 +1,28 @@
module;
#include "glad/glad.h"
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <cstdlib>
#include <istream>
#include <limits>
#include <ostream>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
#include "global_include/interfaces/ITexture_macros.h"
#include "utilities/Globals_macros.h"
#include "vehicle/DynObj_macros.h"
module eu07.simcore;
import eu07.simulation.simulation;
import eu07.rendering.renderer;
import eu07.input.messaging;
import eu07.model.mdlmngr;
import eu07.utilities.utilities;
import eu07.utilities.globals;
import eu07.utilities.timer;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -12,22 +37,7 @@ http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/Track.h"
#include "simulation/simulation.h"
#include "utilities/Globals.h"
#include "world/Event.h"
#include "world/MemCell.h"
#include "input/messaging.h"
#include "vehicle/DynObj.h"
#include "vehicle/Driver.h"
#include "model/AnimModel.h"
#include "model/MdlMngr.h"
#include "model/Model3d.h"
#include "utilities/Timer.h"
#include "utilities/Logs.h"
#include "rendering/renderer.h"
// 101206 Ra: trapezoidalne drogi i tory
// 110720 Ra: rozprucie zwrotnicy i odcinki izolowane

View File

@@ -6,24 +6,34 @@ distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
#pragma once
module;
#include <unordered_map>
#include <string>
#include <vector>
#include <deque>
#include <memory>
export module eu07.simcore:track;
import :fwd;
import :editoruilayer;
import :editoruipanels;
import :animmodel;
import :model3d;
import eu07.rendering.geometrybank;
import :scenenode;
import eu07.utilities.parser;
import :dynobj;
import eu07.glm;
import eu07.utilities.classes;
import eu07.utilities.names;
export {
#include <glm/glm.hpp>
#include <glm/mat4x4.hpp>
#include "utilities/Classes.h"
#include "world/Segment.h"
#include "model/material.h"
#include "scene/scenenode.h"
#include "utilities/Names.h"
namespace scene {
class basic_cell;
}
enum TTrackType {
@@ -47,11 +57,9 @@ enum TEnvironmentType {
};
// Ra: opracować alternatywny system cieni/świateł z definiowaniem koloru oświetlenia w halach
class basic_event;
class TTrack;
class TGroundNode;
class TSubRect;
class TTraction;
class TSwitchExtension
{ // dodatkowe dane do toru, który jest zwrotnicą
@@ -150,8 +158,6 @@ private:
// trajektoria ruchu - opakowanie
class TTrack : public scene::basic_node
{
friend opengl_renderer;
friend opengl33_renderer;
// NOTE: temporary arrangement
friend itemproperties_panel;
@@ -395,3 +401,5 @@ public:
};
//---------------------------------------------------------------------------
} // export

View File

@@ -1,3 +1,21 @@
module;
#include "glad/glad.h"
#include <cmath>
#include <cstddef>
#include <istream>
#include <ostream>
#include <string>
#include <tuple>
#include <vector>
#include "global_include/interfaces/ITexture_macros.h"
#include "utilities/Globals_macros.h"
#include "utilities/utilities_macros.h"
module eu07.simcore;
import eu07.rendering.renderer;
import eu07.simulation.simulation;
import eu07.utilities.globals;
import eu07.utilities.utilities;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -12,15 +30,7 @@ http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/Traction.h"
#include "simulation/simulation.h"
#include "utilities/Globals.h"
#include "world/TractionPower.h"
#include "utilities/Logs.h"
#include "rendering/renderer.h"
#include "utilities/utilities.h"
//---------------------------------------------------------------------------
/*

View File

@@ -6,23 +6,26 @@ distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
#pragma once
module;
#include <vector>
#include <string>
#include "scene/scenenode.h"
#include "world/Segment.h"
#include "model/material.h"
#include "utilities/Names.h"
export module eu07.simcore:traction;
import :fwd;
import :tractionpower;
import :scenenode;
import eu07.glm;
import :editoruilayer;
import eu07.utilities.names;
export {
class TTractionPowerSource;
class TTraction : public scene::basic_node
{
friend opengl_renderer;
friend opengl33_renderer;
public: // na razie
TTractionPowerSource *psPower[ 2 ] { nullptr, nullptr }; // najbliższe zasilacze z obu kierunków
TTractionPowerSource *psPowered { nullptr }; // ustawione tylko dla bezpośrednio zasilanego przęsła
@@ -74,9 +77,11 @@ class TTraction : public scene::basic_node
void PowerSet(TTractionPowerSource *ps);
double VoltageGet(double u, double i);
public:
// the legacy renderer asks for the wire colour directly
glm::vec3 wire_color() const;
private:
// methods
glm::vec3 wire_color() const;
// radius() subclass details, calculates node's bounding radius
float radius_();
// serialize() subclass details, sends content of the subclass to provided stream
@@ -100,3 +105,5 @@ public:
};
//---------------------------------------------------------------------------
} // export

View File

@@ -1,3 +1,9 @@
module;
#include <istream>
#include <ostream>
module eu07.simcore;
import eu07.utilities.parser;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -13,11 +19,7 @@ http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/TractionPower.h"
#include "utilities/parser.h"
#include "utilities/Logs.h"
//---------------------------------------------------------------------------

View File

@@ -6,16 +6,23 @@ distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
module;
#include <istream>
#include <ostream>
export module eu07.simcore:tractionpower;
import :fwd;
import :scenenode;
import eu07.utilities.parser;
import eu07.utilities.classes;
import eu07.utilities.names;
export {
#pragma once
#include "utilities/Classes.h"
#include "scene/scenenode.h"
#include "utilities/Names.h"
class TTractionPowerSource : public scene::basic_node {
friend class debug_panel;
public:
// constructor
@@ -35,6 +42,17 @@ public:
bool bSection = false; // czy jest sekcją
bool IsAutogenerated { false }; // indicates autogenerated source for individual traction piece
public:
// Read by the debug panel, which is no longer a friend: a friend declaration
// would make this module the first declarer of a class defined elsewhere,
// which C++20 modules reject.
double NominalVoltage = 0.0;
double TotalCurrent = 0.0;
double OutputVoltage = 0.0;
bool FastFuse = false;
bool SlowFuse = false;
double FuseTimer = 0.0;
int FuseCounter = 0;
private:
// methods
// serialize() subclass details, sends content of the subclass to provided stream
@@ -45,7 +63,6 @@ private:
void export_as_text_( std::ostream &Output ) const;
// members
double NominalVoltage = 0.0;
double VoltageFrequency = 0.0;
double InternalRes = 0.2;
double MaxOutputCurrent = 0.0;
@@ -54,14 +71,8 @@ private:
double SlowFuseTimeOut = 60.0;
bool Recuperation = false;
double TotalCurrent = 0.0;
double TotalAdmitance = 1e-10; // 10Mom - jakaś tam upływność
double TotalPreviousAdmitance = 1e-10; // zero jest szkodliwe
double OutputVoltage = 0.0;
bool FastFuse = false;
bool SlowFuse = false;
double FuseTimer = 0.0;
int FuseCounter = 0;
};
@@ -77,3 +88,5 @@ public:
};
//---------------------------------------------------------------------------
} // export

View File

@@ -1,3 +1,12 @@
module;
#include <cmath>
#include "utilities/Globals_macros.h"
#include "vehicle/DynObj_macros.h"
module eu07.simcore;
import eu07.simulation.simulation;
import eu07.utilities.globals;
import eu07.utilities.logs;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -13,14 +22,7 @@ http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/TrkFoll.h"
#include "simulation/simulation.h"
#include "utilities/Globals.h"
#include "vehicle/DynObj.h"
#include "vehicle/Driver.h"
#include "utilities/Logs.h"
TTrackFollower::~TTrackFollower()
{

View File

@@ -7,13 +7,19 @@ obtain one at
http://mozilla.org/MPL/2.0/.
*/
#ifndef TrkFollH
#define TrkFollH
#include "utilities/Classes.h"
#include "world/Segment.h"
// oś poruszająca się po torze
module;
#include <memory>
export module eu07.simcore:trkfoll;
import :fwd;
import eu07.glm;
import :segment;
import eu07.utilities.classes;
export {
class TTrackFollower {
public:
@@ -60,4 +66,5 @@ public:
int iSegment = 0; // który segment toru jest używany (żeby nie przeskakiwało po przestawieniu zwrotnicy pod taborem)
};
//---------------------------------------------------------------------------
#endif
} // export

View File

@@ -1,3 +1,12 @@
module;
#include <string>
#include "utilities/Globals_macros.h"
#include "utilities/utilities_macros.h"
module eu07.world.mtable;
import eu07.utilities.globals;
import eu07.simulation.simulationtime;
import eu07.utilities.utilities;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
@@ -7,12 +16,6 @@ obtain one at
http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/mtable.h"
#include "utilities/Globals.h"
#include "simulation/simulationtime.h"
#include "utilities/dictionary.h"
#include "utilities/utilities.h"
double TTrainParameters::CheckTrainLatency()
{

View File

@@ -6,19 +6,24 @@ distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
#pragma once
module;
#include <string>
#include "utilities/Classes.h"
#include "audio/sound.h"
export module eu07.world.mtable;
import eu07.audio.sound;
import eu07.utilities.dictionary;
import eu07.simulation.simulationtime;
import eu07.utilities.classes;
export {
namespace Mtable
{
static int const MaxTTableSize = 100; // można by to robić dynamicznie
static char const *hrsd = ".";
inline int const MaxTTableSize = 100; // można by to robić dynamicznie
inline char const *hrsd = ".";
// Ra: pozycja zerowa rozkładu chyba nie ma sensu
// Ra: numeracja przystanków jest 1..StationCount
@@ -116,5 +121,7 @@ class TMTableTime
}
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Mtable;
#endif
} // export
using namespace Mtable;

View File

@@ -1,4 +1,14 @@
/*
module;
#include <algorithm>
#include <string>
#include "utilities/utilities_macros.h"
#include "vehicle/DynObj_macros.h"
module eu07.world.station;
import eu07.utilities.utilities;
import eu07.simcore;
import eu07.world.mtable;
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
2.0. If a copy of the MPL was not
@@ -7,12 +17,7 @@ obtain one at
http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "world/station.h"
#include "utilities/utilities.h"
#include "vehicle/DynObj.h"
#include "world/mtable.h"
namespace simulation {

View File

@@ -1,4 +1,12 @@
/*
module;
export module eu07.world.station;
import eu07.simcore;
import eu07.world.mtable;
import eu07.utilities.classes;
export {
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
2.0. If a copy of the MPL was not
@@ -7,9 +15,7 @@ obtain one at
http://mozilla.org/MPL/2.0/.
*/
#pragma once
#include "utilities/Classes.h"
// a simple station, performs freight and passenger exchanges with visiting consists
class basic_station {
@@ -27,3 +33,5 @@ extern basic_station Station; // temporary object, for station functionality tes
} // simulation
} // export