127 Commits

Autor SHA1 Nachricht Datum
Reinder Feenstra
7cc5a2ff0a fix: world saved with simulation active didn't load properly 2024-12-03 23:03:46 +01:00
Reinder Feenstra
99d6f6a863 clang-tidy: fixed modernize-use-auto 2024-11-23 00:42:54 +01: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
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
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
fcccab334f Renamed DCC++ to DCC-EX, as only DCC-EX is and will be supported. 2024-04-09 00:26:04 +02:00
Reinder Feenstra
e6afade5dd fix: ignore old output object on world load (output mappings are gone)
see #95
2024-03-14 23:19:27 +01:00
Reinder Feenstra
292278eff9 fix: destroy World::luaScripts before World::status
LuaScriptList's destructor accesses World::status
2024-03-06 22:54:12 +01:00
Reinder Feenstra
503a7ff4c4 ecos: added fetching all switch data incl. simulation support 2024-02-26 00:19:23 +01:00
Reinder Feenstra
f828066cf2 WIP output system refactor (very big commit...), see #95 and #21
Summary of the changes:
- Output channel is now an enum
- Support for different output types: single/pair/aspect
- Outputs are no longer created on the interface and then assigned to a turnout/signal, instead a interface+channel+address is selected for a turnout/signal. Up to eight address can be used.
- Removed some network commands, can now be handled using the generic property/method system.
- Added support for DCCext (RCN-213) for LocoNet, DCC-EX and Z21.
TODO:
- Test/fix MarklinCAN/ECoS.
- Test/fix load old world files.
2024-02-12 23:34:16 +01:00
Reinder Feenstra
09e6798e73 world: added settings to go online/power on/run on world load 2023-12-18 17:17:58 +01:00
Reinder Feenstra
577c55e449 board: NX button and path selection #WIP
see #14
2023-10-25 22:26:28 +02:00
Reinder Feenstra
cec1aa1304 refactor: removed message ErrorCode, now using LogMessage everywhere. 2023-10-14 22:53:56 +02:00
Reinder Feenstra
2c67d4bf57 trainlist: deleting active trains is no longer allowed 2023-10-11 23:31:35 +02:00
Reinder Feenstra
0d1806cee8 fix: TrainBlockStatus load failed 2023-10-08 22:27:59 +02:00
Reinder Feenstra
f71ac69011 decoder list: added protocol column 2023-09-15 23:00:33 +02:00
Reinder Feenstra
c71d72442c DecoderProtocol: split DCC in DCCShort and DCCLong, to get rid of longAddress property
see #72
2023-06-25 23:35:07 +02:00
Filippo Gentile
7a8be05710 server: forward declare OutputController and OutputKeyboard 2023-06-18 13:23:32 +02:00
Filippo Gentile
5756598181 server: forward declare InputMonitor and InputController
- Moved SimulateInputAction to new file
  simulateinputaction.hpp
- Use CREATE_DEF for Input class
2023-06-18 13:23:32 +02:00
Filippo Gentile
4c58c9d829 server: split method.hpp implementation
- Added method.tpp file
- Include it where needed
- Use CREATE_DEF when needed
2023-06-18 13:23:31 +02:00
Filippo Gentile
81efbefd06 server: reorganize World includes
- Remove unused includes
- Forward declare ControllerList and include it where needed
2023-06-18 13:23:30 +02:00
Filippo Gentile
6ee4c67e02 server: forward declare Board 2023-06-18 13:23:29 +02:00
Filippo Gentile
86f888d5d0 server: forward declare TrainBlockStatus
- Fix unneded include added on commit b2d1e27914
2023-06-18 13:23:27 +02:00
Filippo Gentile
2d536ee85d server: forward declare Train class 2023-06-18 13:23:26 +02:00
Reinder Feenstra
ecc7b009f6 fix: world list wasn't updated on save
thanks @memen45 for reporting
2023-06-02 22:28:37 +02:00
Reinder Feenstra
b2d1e27914 added TrainBlockStatus, an object to store information about a train in a block 2023-05-25 23:49:01 +02:00
Reinder Feenstra
dfec2a5f23 added StateObject base class
Base class for objects that only store state data
2023-05-25 23:15:19 +02:00
Reinder Feenstra
735eadcc29 train: added blocks property 2023-05-06 17:21:43 +02:00
Reinder Feenstra
1c0066ab6f objectvectorproperty: moved methods to tpp, to make forward declaration possible 2023-05-06 17:21:43 +02:00
Reinder Feenstra
37e808fdd5 loconet: added PCAP logging support (for developers)
currently using DLT_USER0, this should be changed if there is one for loconet
2023-04-30 23:50:35 +02:00
Reinder Feenstra
07e71677ca interface: added status object (for display in client status bar) 2023-04-18 23:23:32 +02:00
Reinder Feenstra
246b27c434 moved ObjectProperty<> implementation to seperate file
world.hpp now uses forward decl. for many classes, this reduces built time!
see #43
2023-03-30 15:09:11 +02:00
Reinder Feenstra
a2ed365050 renamed: FreightCar to FreightWagon 2023-03-09 23:49:51 +01:00
Reinder Feenstra
63a5b8c7af rename list add/remove to create/delete
add = add existing item
remove = remove item, but don't destroy it
2023-02-25 23:15:38 +01:00
Reinder Feenstra
1d250f28f8 added object id validation, see #22
an id may only contain a-z 0-9 _ and must start with a-z
all chars must be lowercase
2023-01-25 23:25:13 +01:00
Reinder Feenstra
ff9b524593 fix: use localtime_s or localtime_r instead of localtime 2023-01-08 23:34:38 +01:00
Reinder Feenstra
15d30710bb world: destroy() objects on world delete
else object may keep eachother alive when haveing a shared_ptr to eachother
2023-01-06 00:54:10 +01:00
Reinder Feenstra
8554a409dd world saver: don't save empty object
object that don't need to be saved return an empty JSON object on save
2022-12-04 23:17:21 +01:00
Reinder Feenstra
3e1121ee04 added throttle objects to aquire/release decoder control 2022-12-04 23:16:08 +01:00
Reinder Feenstra
6c466a9f14 added fast clock support 2022-11-06 23:59:51 +01:00
Reinder Feenstra
b1d66ce1a7 added lncv programming controller and object 2022-10-08 18:02:40 +02:00
Reinder Feenstra
8f70509465 added base classes for identification support 2022-09-16 22:33:10 +02:00
Reinder Feenstra
ec58e35463 removed option to disable Lua support 2022-08-24 23:15:57 +02:00
Reinder Feenstra
29ad379b41 board: added link tile to create connections between boards 2022-08-13 23:50:37 +02:00
Reinder Feenstra
75d628d14a refactor: move inputs property to InputController, less duplicate code 2022-08-07 20:19:33 +02:00
Reinder Feenstra
a75e042c28 bugfix: corrupt ctw file in word dir caused crash 2022-08-05 00:05:09 +02:00
Reinder Feenstra
0a4c583f50 fix: use generic_string to get / as seperator on windows
(cherry picked from commit 6ca7fec04ceb75d7d1dea72aa371887c9f3f71d0)
2022-06-15 00:33:18 +02:00