Reinder Feenstra
d996d631f0
fixes for catch2 v2 -> v3 upgrade
2024-10-22 23:42:32 +02:00
Reinder Feenstra
2887f96595
added catch2 v3.7.1 as submodule
2024-10-22 23:40:49 +02:00
Reinder Feenstra
ef01dad79d
removed catch2 v2
2024-10-22 22:39:20 +02:00
Reinder Feenstra
c400b9f7ac
Added simulation status icon to status bar
...
Only shown if simulation is active.
2024-10-22 00:21:51 +02:00
Reinder Feenstra
16c43ae171
converted classList to function, now includes can be in cpp
2024-10-21 23:51:01 +02:00
Reinder Feenstra
f00fcae099
cleanup
2024-10-21 23:21:41 +02:00
Reinder Feenstra
347b72b923
lua:pv: added len+ipairs() test
2024-10-12 23:25:52 +02:00
Reinder Feenstra
29d6718ef8
lua: pv: added pairs() support
2024-10-12 23:21:57 +02:00
Reinder Feenstra
57aa6b123e
lua: added clear persistent variables toolbar action to script list
2024-10-12 22:05:26 +02:00
Reinder Feenstra
890249b677
fix: make sure stack index is abs
2024-10-12 13:52:55 +02:00
Reinder Feenstra
86aa49ea45
lua: persistent variables now supports tables
2024-10-12 10:55:54 +02:00
Reinder Feenstra
a720b794bc
train: blocks now script readable
2024-10-12 10:52:20 +02:00
Reinder Feenstra
ae1902c18d
lua: added clear persistent variables toolbar action
2024-10-07 23:52:54 +02:00
Reinder Feenstra
b7bc0acb51
fix: missing includes
2024-10-07 23:50:28 +02:00
Reinder Feenstra
0703a5cd5b
fix: constexpr -> inline const (constexpr doesn't work for older compilers)
2024-10-07 23:15:13 +02:00
Reinder Feenstra
357a13ef98
fix: missing includes
2024-10-07 22:29:22 +02:00
Reinder Feenstra
46bf7183be
test: lua persistent variables
2024-10-06 23:42:27 +02:00
Reinder Feenstra
de2823e65a
lua: fix: use single lua value per vector property, else compares don't work
2024-10-06 23:24:18 +02:00
Reinder Feenstra
04b5f3475d
lua: fix: use single lua value per event, else compares don't work
2024-10-06 23:21:00 +02:00
Reinder Feenstra
47485f7513
lua: fix: use single lua value per method, else compare don't work
2024-10-06 23:16:55 +02:00
Reinder Feenstra
515c96ddd2
lua: added persistent variable (pv) support
...
this enables saving state between script start/stop and world save/load
2024-10-06 23:08:14 +02:00
Reinder Feenstra
2d74852ca3
lua: added array's with enum/set names
...
to be used for testing if a metatable name is a valid enum/set
2024-10-06 23:01:07 +02:00
Reinder Feenstra
43ee9bfc0e
added std::array overload for contains()
2024-10-06 22:51:14 +02:00
Reinder Feenstra
5a9efa3184
added: Object::getEvent()
2024-10-06 22:50:36 +02:00
Reinder Feenstra
03a10d367a
linux: added inotify version of serial port list for systems without systemd
2024-09-25 22:20:47 +02:00
Reinder Feenstra
6640cec82f
Merge pull request #73 from gfgit/work/z21_pending_queue
...
Z21 pending request queue
2024-09-24 18:44:29 +02:00
Reinder Feenstra
5301752ed6
Implemented DCCext defaults for 3-way and slip turnouts
...
based on YaMoRC YD8116 (there is no standard yet)
2024-09-04 18:29:13 +02:00
Reinder Feenstra
e51b3c03a9
Added unit attribute
2024-08-29 23:34:42 +02:00
Filippo Gentile
943c52fc45
server: Z21 SimulationIOHandler updateChecksum()
2024-08-17 13:35:20 +02:00
Filippo Gentile
2c7f27370e
seerver: Z21 SimulationIOHandler cache Decoder state
...
- Decoder state is cached to allow replying correctly
- Cache uses LanXLocoInfo so it does not need conversion upon sending
2024-08-17 13:00:09 +02:00
Filippo Gentile
e4c3aab43e
Revert "server: Z21 ClientKernel fix crash on disconnect"
...
This reverts commit 5a291f0c914c904c98dcd3d1f0434f05bf31f39e.
This workaround is not needed anymore after commit
161a0e9521bc3ef30c799234d3f82d84b971afdd
2024-08-17 12:27:11 +02:00
Filippo Gentile
2f1bfe49cc
server: TrainVehicleList strich checks on add/remove
2024-08-16 16:37:38 +02:00
Reinder Feenstra
2e429d2e65
fix: addToWorld was called instead of destroyed
...
thanks @gfgit for spotting it!
2024-08-01 23:14:04 +02:00
Filippo Gentile
e66f1083df
server: BlockRailTile move path release to TrainTracking
...
- This effectively reverts commit 0b22d1f7
- Logic from commit 0b22d1f7 is now in TrainTracking
- This fixes case when short train releases "enter"
block before occupying "exit" block.
2024-07-29 20:26:33 +02:00
Filippo Gentile
7510a10ef4
BlockPath: implement delayed release
...
This simulates train still occupying turnouts while it has
already left the entrance ("from") block.
Useful when turnouts do not have dedicate occupancy detectors.
- New World property
- English and Italian translations
2024-07-29 20:26:33 +02:00
Filippo Gentile
4c6f80afa7
server: World add new settings for external output change
...
- Refactored code in TurnoutRailTile and SignalRailTile
- Use early return pattern
- Added Enlish and Italian translations
- New Category::trains
2024-07-29 20:26:33 +02:00
Filippo Gentile
343a14ceb1
server: Add better log messages to Signal and Turnouts
...
- New messages when position/aspect is externally changed
- New messages when position/aspect is corrected
- New messages when train is stopped
- Separate messages for Signals and Turnouts
- Avoid stopping twice the same Train
- Italian and English translations
2024-07-29 20:26:33 +02:00
Filippo Gentile
76c5451275
server: Add log warning when output is externally changed while locked
2024-07-29 20:26:33 +02:00
Filippo Gentile
7590a82d39
server: SignalRailTile stop trains when retry is exceded
...
- When locked and retry count is reached, stop trains in path
- Evaluate only if a path is reserved
2024-07-29 20:26:33 +02:00
Filippo Gentile
a2687177a4
server: TurnoutRailTile implement retry count
...
- If position is externally changed while a path is reserve
Turnout will try to reset it's position to reserved one
If it fails and reaches maximum retry count it will stop trains in
path.
2024-07-29 20:26:33 +02:00
Filippo Gentile
7bcffe3319
server: SignalRailTile implement basic retry count
2024-07-29 20:26:33 +02:00
Filippo Gentile
96124b4419
server: BlockRailTile release path when train leaves
2024-07-29 20:26:33 +02:00
Filippo Gentile
7f8d16de0c
server: BlockPath prevent release while train is inside it
2024-07-29 20:26:33 +02:00
Filippo Gentile
06a2d46ccc
server: BlockPath remove block reservation on release
...
TODO: this is HACKY and bypasses some logic
2024-07-29 20:26:33 +02:00
Filippo Gentile
bda6f4b495
server: NXManager allow releasing a reserved path
2024-07-29 20:26:33 +02:00
Filippo Gentile
40722ef433
server: BlockRailTile always updateTrainMethodEnabled when adding train
2024-07-29 20:26:33 +02:00
Filippo Gentile
aa35bacfac
server: DirectionControlRailTile prevent double reservation
...
- Allow setting to "Both" while reserved
2024-07-29 20:26:33 +02:00
Filippo Gentile
17a0a05fd8
server: DirectionControlRailTile lock while in reserved path
2024-07-29 20:26:33 +02:00
Filippo Gentile
c1480f15cb
server: CrossRailTile clear state on path release
2024-07-29 20:26:33 +02:00
Filippo Gentile
dd55749777
server: TurnoutRailTile lock position if reserved
...
Also react to external output changes and revert to reserved position if sneeded.
2024-07-29 20:26:33 +02:00