16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-18 00:49:19 +02:00
Commit Graph

2863 Commits

Author SHA1 Message Date
docentYT
623c4f827e Remove not needed casts, variables and switch from double precission to float precission for some angle vectors 2026-04-28 00:51:17 +02:00
docentYT
cba106e22e Use glm::length2 instead of glm::length where possible 2026-04-27 23:27:08 +02:00
docentYT
7d561f8443 use glm::length2 instead of glm::dot for squared length 2026-04-27 23:13:12 +02:00
docentYT
d5d1825e38 Remove dumb3d 2026-04-27 23:03:47 +02:00
docentYT
0fcdf98392 more glm instead of Math3D in vehicle 2026-04-27 21:57:13 +02:00
docentYT
438cc563d9 use glm instead of Math3D in rendering 2026-04-27 21:41:00 +02:00
docentYT
ef852b4307 Fix model rotation by changing glm::dmat4 BasisChange definition 2026-04-27 21:28:06 +02:00
docentYT
fae68642bc use glm instead of Math3D in vehicle
WARNING: Model rotation is broken
2026-04-27 13:07:38 +02:00
docentYT
b712ca4d68 lengthSquared should be changed to glm::dot, not glm::length 2026-04-27 00:41:45 +02:00
docentYT
ed28eff066 use glm instead of Math3D in world 2026-04-27 00:36:03 +02:00
docentYT
1cfcf47788 use glm instead of Math3D in Globals 2026-04-26 23:27:10 +02:00
docentYT
9fef303ec0 use glm instead of Math3D in AnimModel 2026-04-26 23:14:07 +02:00
docentYT
1553f82c49 use glm instead of Math3D in Model3d 2026-04-26 22:54:12 +02:00
docentYT
19d79a54e0 use glm instead of Math3D in skydome 2026-04-26 22:42:42 +02:00
docentYT
2ed1e63416 use glm instead of Math3D in editormode 2026-04-26 22:41:54 +02:00
docentYT
bdff45b584 use glm instead of Math3D in drivermode 2026-04-26 22:40:02 +02:00
docentYT
aa24c55d2d Change Math3D::vector3 to glm::dvec3 in TCamera class 2026-04-26 18:12:47 +02:00
dcfd34908a Revert "Add power smoothing for inverter based vehicles"
This reverts commit 40bbbc6210.
For some reason it broke SA13x controllers lol
2026-04-17 20:08:04 +02:00
6e4e1aefa5 Merge pull request #91 from jakubg1/lua-refactor
Refactor Lua bindings to make it work natively on Linux
2026-04-15 18:43:26 +02:00
jakubg1
dd10773c6d Merge branch 'MaSzyna-EU07:master' into lua-refactor 2026-04-15 18:08:42 +02:00
d974d3f3f8 Merge pull request #78 from xingzihai/master
feat(overheat): Add overheat indicator lamps for oil, water, water_aux, and engine
2026-04-14 21:01:20 +02:00
593e4bcf36 Merge branch 'master' into master 2026-04-14 21:01:04 +02:00
ae056f2bbd Merge pull request #79 from xingzihai/engine-overheat
feat: add EngineMaxTemperature support for diesel locomotive overheat detection
2026-04-14 20:49:37 +02:00
7b82ab9502 Merge pull request #89 from jakubg1/dev
Fix a segfault when closing on Wayland
2026-04-14 20:46:55 +02:00
bc8c604e25 Add scenery name for eligible trivia in scenery loading uilayer 2026-04-14 20:39:43 +02:00
jakubg1
11c61d3af5 Fix a segfault when closing on Wayland
According to https://github.com/glfw/glfw/issues/2744, this will be fixed in GLFW 3.5.
2026-04-14 15:18:50 +02:00
289c9ab323 Update custom license link in README.md 2026-04-14 15:18:50 +02:00
3986e9478a Update README with new header and links 2026-04-14 15:18:50 +02:00
a5eb841b86 Add readme header 2026-04-14 15:18:49 +02:00
jakubg1
8c38d2c7e9 Simplify derailing logic, derail reason enum
- The `TMoverParameters::derail()` function has been renamed to `::Derail()`, with a capital D.
- All derail events now use that function.
  - Simplified and unified the logic behind different derail types.
  - The `dtrack_freerail` track type is now slightly increasing the chance of derailing on a tight curve, as it was the intention.
- A new `DerailReason` enum has been created which holds all derail types.
- The `DerailReason` field in the `TMoverParameters` class has been removed.
  - This was a transient field which is not necessary anymore.
  - The logging functionality as such has been moved from `DynObj.cpp` to `Mover.cpp`.
2026-04-14 15:18:49 +02:00
jakubg1
4b847e79b9 Tweak the door closing and warning signal delays
- The warning signal is no longer going to be played for an obnoxiously long amount of time by AI drivers when driving vehicles with a manual warning signal switch, most notably EN57.
  - A new `moveDepartureWarned` driving flag has been created to accomodate this behavior.
- Added the action time counter and the missing driving flags to the Vehicle AI section.
2026-04-14 15:18:49 +02:00
jakubg1
8a94bfbfa2 Fix a segfault when closing on Wayland
According to https://github.com/glfw/glfw/issues/2744, this will be fixed in GLFW 3.5.
2026-04-14 15:08:44 +02:00
bcf3d2fdd8 Merge pull request #88 from jakubg1/dev
Simplify internal derailing logic, improve warning signals before closing doors in certain EMUs
26.05
2026-04-09 09:05:48 +02:00
jakubg1
68c02cb3b1 Merge branch 'MaSzyna-EU07:master' into dev 2026-04-09 02:52:22 +02:00
jakubg1
0d010e8c6a Simplify derailing logic, derail reason enum
- The `TMoverParameters::derail()` function has been renamed to `::Derail()`, with a capital D.
- All derail events now use that function.
  - Simplified and unified the logic behind different derail types.
  - The `dtrack_freerail` track type is now slightly increasing the chance of derailing on a tight curve, as it was the intention.
- A new `DerailReason` enum has been created which holds all derail types.
- The `DerailReason` field in the `TMoverParameters` class has been removed.
  - This was a transient field which is not necessary anymore.
  - The logging functionality as such has been moved from `DynObj.cpp` to `Mover.cpp`.
2026-04-04 02:05:49 +02:00
jakubg1
407b187688 Tweak the door closing and warning signal delays
- The warning signal is no longer going to be played for an obnoxiously long amount of time by AI drivers when driving vehicles with a manual warning signal switch, most notably EN57.
  - A new `moveDepartureWarned` driving flag has been created to accomodate this behavior.
- Added the action time counter and the missing driving flags to the Vehicle AI section.
2026-04-04 00:13:26 +02:00
xingzihai
754fc50ca8 feat: add EngineMaxTemperature support for diesel locomotive overheat detection
Add engine temperature monitoring to diesel locomotive heat management system:
- Add engine field to heat_data struct (fluid_circuit_t type)
- Add EngineMaxTemperature config extraction in .fiz files
- Add engine overheat detection logic (is_hot check)
- Include engine.is_hot in PT status check

Implements issue #77: Oil, water and engine overheat lamps for diesel locomotives
2026-04-01 23:28:28 +00:00
Agent
68fa78a582 feat(overheat): Add overheat indicator lamps for oil, water, water_aux, and engine
- Add engine_max_temp and engine_is_hot fields to heat_data structure
- Add EngineMaxTemperature field extraction from .fiz files
- Add engine overheat check comparing Ts with engine_max_temp
- Add four new overheat lamp indicators:
  - i-oil_overheat
  - i-water_overheat
  - i-wateraux_overheat
  - i-engine_overheat
- Add lamp update logic to turn on/off based on is_hot flags
- Add lamp initialization in clear_cab_controls()

This implements issue #77 - overheat lamps for diesel engines.

The lamps will turn on when:
- Oil temperature exceeds OilMaxTemperature
- Water temperature exceeds WaterMaxTemperature
- Auxiliary water temperature exceeds WaterAuxMaxTemperature
- Engine temperature exceeds EngineMaxTemperature

Each check includes 8-degree hysteresis to prevent rapid on/off cycling.
2026-04-01 23:26:39 +00:00
203b2727af Update custom license link in README.md eu07-2026.220-prerelease 2026-04-01 20:17:33 +02:00
79f3991e13 Update README with new header and links 2026-04-01 20:15:47 +02:00
3ff4fbe88f Add readme header 2026-04-01 20:10:33 +02:00
jakubg1
b4fdb9ce73 Merge branch 'MaSzyna-EU07:master' into lua-refactor 2026-04-01 17:32:29 +02:00
jakubg1
8315e4cf81 Merge pull request #60 from jakubg1/dev
Improve the light blinking algorithm
2026-04-01 17:12:33 +02:00
jakubg1
d13c27a7eb Improve the light blinking algorithm
- Fixed phase shift when the light is specified as a negative value.
  - This fixes railroad crossing lights!!!
- Improved light transition times to make them even more realistic.
- Simplified the overall code.
2026-04-01 16:09:44 +02:00
jakubg1
5d5264a8f3 Prefix error messages
When a Lua code fails to execute and throws an error, the log line now starts from `lua: Runtime error: `.
2026-04-01 16:06:17 +02:00
jakubg1
3a600334a7 Add an index parameter to lua::get_memcell_values()
We could have done away with it just because the memcell values are always the last parameter. However, this might not always be the case in the future. Also, it's better for consistency reasons.
2026-04-01 02:43:25 +02:00
jakubg1
2a9343149f Fix Lua memcell API
- Fixed the `api.memcell_update` and `api.memcell_update_n` functions to accept the `memcell_values` structure instead of three separate values.
  - Additionally, also fixed the error message for when the memcell is not found.
2026-04-01 02:37:58 +02:00
jakubg1
686cab8184 Fix a segfault when calling api.dynobj_putvalues()
An undocumented change from the previous commit:
- When the Lua script is not able to find an object, the message is now printed to `errors.txt`, not just to `log.txt`.
2026-04-01 02:13:30 +02:00
jakubg1
ca8e4aae71 Refactor Lua bindings to not use FFI anymore
- Lua bindings are no longer using FFI in favor of the "classic" Lua C API.
  - This makes it work properly on native Linux builds.
- Changed the Lua API slightly:
  - Removed the `api.event_preparefunc()` function because it is no longer necessary. Instead, you can pass any function you want without preparing it first.
  - Added an `api.event_exists()` function. Takes a single `name` argument.
  - Any `api.find_*()` functions return `nil` instead of an userdata representing a null pointer when the requested object is not found.
2026-04-01 01:42:54 +02:00
84f86e725c Merge pull request #59 from jerrrrycho/utilities-refactor-enhancements
refactor: change globals to namespace and split configparse
2026-03-15 16:25:13 +01:00