1946 Commits

Autor SHA1 Nachricht Datum
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
18617eb8d3
Removed close world shortcut (ctrl+w/CMD+w)
see #174
2024-10-03 18:52:17 +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
6aeeeafca4 luadoc: removed debug print() 2024-09-24 22:11:51 +02:00
Reinder Feenstra
0ebc1e7090 luadoc: fix property/method regex, didn't work for initializers used in (Object)VectorProperty constructors. 2024-09-24 22:11:42 +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
11ca1b9efb
CI: update upload-artifact to v4 2024-09-18 21:46:27 +02:00
Reinder Feenstra
e8d2f55427
CI: switch back to upload-artifact@v3
v4 needs some more changes
2024-09-12 23:19:07 +02:00
Reinder Feenstra
a774eed13c
CI: updated upload-artifact and download-artifact to v4 2024-09-12 00:40:14 +02:00
Reinder Feenstra
e622f1d61e fix: load world dialog wasn't closed if connection was lost 2024-09-05 23:22:34 +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
Reinder Feenstra
72501c37e4 Implemented min/max attribute for property spinbox 2024-08-28 23:58:32 +02:00
Reinder Feenstra
63e5cb1b27
Merge pull request #166 from gfgit/work/gfgit/revert_z21_unneded_fix
Revert "server: Z21 ClientKernel fix crash on disconnect"
2024-08-17 20:35:01 +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
Reinder Feenstra
dc4a6eaee6
Merge pull request #164 from gfgit/work/gfgit/fix_remove_from_active_train
server: TrainVehicleList strich checks on add/remove
2024-08-16 23:53:05 +02:00
Filippo Gentile
2f1bfe49cc server: TrainVehicleList strich checks on add/remove 2024-08-16 16:37:38 +02:00
Reinder Feenstra
e6da53c55e manual: added start server/client instructions for Linux, see #158 2024-08-06 09:28:57 +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
Reinder Feenstra
99a3fb56d9
Merge pull request #115 from gfgit/work/gfgit/path_release
Path reservation fixes
2024-08-01 23:09:18 +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
e28bf9f2f2 BoardWidget: replace QTimer with QTimerEvent
- This avoids heap allocation
- Added asserts for timerId to be null before being created again
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
7315ed9fb3 client: BoardWidget rework NXButton timer
- Now release timer is stopped when pressing a third button
  which becomes first button of new pair.

- Timer is also stopped when editing mode is enabled

- Hold timer is stopped if same button is clicked again
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
Filippo Gentile
b63d071ddf server: SignalRailTile fix external aspect change evaluation 2024-07-29 20:26:30 +02:00