1916 Commits

Autor SHA1 Nachricht Datum
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
Reinder Feenstra
f79f016a89 test: added: Direction path reservation using NX and change direction state 2024-07-29 20:22:54 +02:00
Reinder Feenstra
b551146a0a linux: added .desktop file for system menu
see #158
2024-07-27 00:12:15 +02:00
Reinder Feenstra
4f338f8e10 fix: use _stricmp on Windows, strcasecmp is POSIX 2024-07-16 08:34:10 +02:00
Reinder Feenstra
8e655f7c2e worldlist now sorted case insensetive 2024-07-15 23:53:04 +02:00
Reinder Feenstra
db50f112b8 Merge branch '157-upgrade-to-lua-54' 2024-07-13 23:04:40 +02:00
Reinder Feenstra
fdda0888d3 Upgrade to Lua 5.4 2024-07-12 00:23:12 +02:00
Reinder Feenstra
e545408c1e fix: objects kept each other alive 2024-07-10 00:33:17 +02:00
Reinder Feenstra
18b1bebce9 Allow multi select when adding vehicles to a train, closes #154 2024-07-08 23:45:14 +02:00
Reinder Feenstra
1a9edd0492 outputmap: dialog now has icons for each row :) 2024-07-08 23:22:01 +02:00
Reinder Feenstra
80b08cb02a outputmap: added parent property for client, so it can access the object the outputmap belongs to. 2024-07-08 23:11:09 +02:00
Reinder Feenstra
4d76dc8891 Converted Tile::tileId() to a property, so it can be used by the client. 2024-07-08 23:09:15 +02:00
Reinder Feenstra
e6cc388aa9 fix: SIG SEGV when ECoS failed to connect
see #150
2024-07-08 22:58:19 +02:00
Reinder Feenstra
89c1bc9ffb Added missing term, closes #155 2024-07-08 22:43:15 +02:00
Reinder Feenstra
e6a215825b output map: moved use to signal output map
(other output maps always use all values)
2024-07-07 00:15:10 +02:00
Reinder Feenstra
4e11e789aa fix: dual_motor translation 2024-07-07 00:12:39 +02:00
Reinder Feenstra
0376ca986f luadoc: improved turnout tile documentation 2024-07-06 09:27:23 +02:00
Reinder Feenstra
c3b4fb49a6 luadoc: added support for markdown links 2024-07-06 09:26:46 +02:00
Reinder Feenstra
aa8228dd6b Added "dual motor/coil" option to single/double slip turnout, this controls the available turnout positions.
see #112
2024-07-05 23:51:01 +02:00
Reinder Feenstra
3c64ea70df missing in f4c9e72 2024-07-03 23:07:52 +02:00
Reinder Feenstra
f4c9e722c9 No more git lfs, git lfs is metered 2024-07-03 23:01:45 +02:00
Reinder Feenstra
9a9614edc0 fix error: captured structured bindings are a C++20 extension 2024-07-03 21:21:32 +02:00
Reinder Feenstra
93c7204d9c Renumbered error codes, E3003 and E3004 conflict with PR #115 2024-07-03 19:50:34 +02:00
Reinder Feenstra
343cc1c978
fix error: declaration shadows a structured binding [clang-diagnostic-shadow] 2024-07-03 08:13:01 +02:00
Reinder Feenstra
e66dfe49e3 CI: removed ubuntu 20.04, added ubuntu 24.04 2024-07-02 23:53:17 +02:00
Reinder Feenstra
10c7d732d1 Added train param to block.removeTrain and error reporting.
Client will now show an error in case the train can't be removed.
Added support for removing a specific train if multiple trains are in the block.
see #70
2024-07-02 23:42:22 +02:00
Reinder Feenstra
8456e49021 luadoc: improved documentation 2024-06-30 00:27:51 +02:00