147 Commits

Autor SHA1 Nachricht Datum
Reinder Feenstra
56926a375a Lua::ReadOnlyTable added assert to check if type is registered 2021-04-20 23:07:51 +02:00
Reinder Feenstra
ef6d5ff9fd Lua: moved all error's to error.hpp
for easy reuse and maintenance
2021-04-20 22:59:51 +02:00
Reinder Feenstra
5b4ab8f30d Added test and support for Lua::check<> enum's 2021-04-20 22:24:26 +02:00
Reinder Feenstra
1c4b3bb74a Added test and support for Lua::check<> string/string_view 2021-04-20 22:22:23 +02:00
Reinder Feenstra
beb4576dc1 Lua::check<> fixed (u)int implementation
moved error to seperate header for easier re-use
2021-04-19 23:22:15 +02:00
Reinder Feenstra
13cf3ed57f Lua::to<> added enum support 2021-04-12 23:29:44 +02:00
Reinder Feenstra
6e8dd4972b lua enum: added assert to check if registered 2021-04-12 23:25:10 +02:00
Reinder Feenstra
282cc1c9c5 lua: set: added support for add/subtract operators 2021-04-07 23:00:13 +02:00
Reinder Feenstra
cc79919789 renamed trackPowerOff to powerOn (inverts value!) 2021-04-06 22:55:47 +02:00
Reinder Feenstra
1b64fd275e command station: don't store online/emergency_stop/track_voltage_off as state values
properties must have a safe value when created/loaded
2021-04-05 23:29:27 +02:00
Reinder Feenstra
cba0a554a5 controller: now responds to offline/online events 2021-04-05 23:20:48 +02:00
Reinder Feenstra
0eafd5018c redesigned world states/events
- added online/offline for connection to e.g. command station(s)
- changed track power to more generic power on/off
- renamed emergency stop to stop
- added run, to clear stop
- added mute function (not yet handled internally)
2021-04-05 16:47:26 +02:00
Reinder Feenstra
38aa1dd179 fix: script list add enabled wasn't updated on world edit change 2021-04-05 10:13:19 +02:00
Reinder Feenstra
1dbb37d041 OutputMap: added network messages and client widgets 2021-04-03 15:58:21 +02:00
Reinder Feenstra
3242ddac72 moved value type traits to shared header 2021-04-03 11:08:12 +02:00
Reinder Feenstra
90a322cab9 wip: output mapping support for turnouts/signals 2021-04-01 23:51:23 +02:00
Reinder Feenstra
2e70e20b3a session: added support for using object id path as object 2021-03-31 22:03:25 +02:00
Reinder Feenstra
c68db541cb moved getting object by id path to World class 2021-03-31 22:01:56 +02:00
Reinder Feenstra
cff8174bd3 valuetypetraits: added support for shared_ptr<Object> 2021-03-31 21:59:38 +02:00
Reinder Feenstra
4466efbca5 loader: move loading state values to object 2021-03-30 23:53:25 +02:00
Reinder Feenstra
a53ecd33df saver: sort world objects by id
to make it easier to compare/version the file
2021-03-29 23:09:52 +02:00
Reinder Feenstra
a08172cd7e moved save to json logic from WorldSaver to Object
Some objects require to load/save additional settings
2021-03-29 23:01:06 +02:00
Reinder Feenstra
29bc37bd42 moved load from json logic from WorldLoader to Object
Some objects require to load/save additional settings
2021-03-28 22:54:47 +02:00
Reinder Feenstra
c4f97a2a2c removed debug output to std::cout 2021-03-07 22:34:44 +01:00
Reinder Feenstra
e5cf1940d9 cleanup: removed old/unused code 2021-03-01 15:58:59 +01:00
Reinder Feenstra
3d9aea5929 implemented save/load of state properties to seperate file 2021-03-01 15:53:12 +01:00
Reinder Feenstra
3d49eb02a2 string_view optimalizations 2021-03-01 08:49:28 +01:00
Reinder Feenstra
b54e4b1a7d lua: added to<> functions 2021-02-27 00:18:50 +01:00
Reinder Feenstra
47b042a229 xpressnet: moved Roco specific command to namespace 2021-02-05 14:45:19 +01:00
Reinder Feenstra
d3dd97c141 xpressnet: added function instructions group 4/5
source: http://www.opendcc.net/elektronik/opendcc/xpressnet_commands_e.html
2021-02-05 14:39:12 +01:00
Reinder Feenstra
a7e84c21eb Added XpressNet input support 2021-02-04 12:07:31 +01:00
Reinder Feenstra
f12e2a6157 XpressNetSerial: implmented S88 start address/module count for RoSoft s88XpressNetLI 2021-02-04 10:51:08 +01:00
Reinder Feenstra
b8e6b73cc1 fix: toResult: constexpr -> inline (constexpr doesn't work with clang 10) 2021-01-23 23:04:22 +01:00
Reinder Feenstra
920e6fc7c1 fix: nullptr_t -> std::nullptr_t 2021-01-23 23:03:21 +01:00
Reinder Feenstra
a38c9d6d3e method: added support for enum return type 2021-01-21 00:01:27 +01:00
Reinder Feenstra
4a956a9669 turnout: added name property 2021-01-09 12:36:12 +01:00
Reinder Feenstra
d918c37086 turnout: don't show next position button in turnout edit dialog 2021-01-09 12:28:33 +01:00
Reinder Feenstra
f13a87887b signal: don't show next aspect button in signal edit dialog 2021-01-09 12:13:00 +01:00
Reinder Feenstra
36c460193e signal: added name property 2021-01-09 12:02:51 +01:00
Reinder Feenstra
f978a0118f fix: aspect must be registered in derived classes 2021-01-09 11:38:36 +01:00
Reinder Feenstra
01952ef41a board: network improvements
- merged TileData and TileDataLong
- send object data to client for active tiles: turnouts, signals etc.
2021-01-09 11:10:39 +01:00
Reinder Feenstra
fd9c9be852 added turnout positions 2021-01-09 09:12:01 +01:00
Reinder Feenstra
9de655ff33 added signal aspects 2021-01-08 16:37:34 +01:00
Reinder Feenstra
1194abde9f board: added 90deg and curved left/right turnouts 2021-01-08 00:23:51 +01:00
Reinder Feenstra
e5c4666e97 network: only send tile data for tile origin 2020-12-24 00:14:10 +01:00
Reinder Feenstra
7960258386 network: implemented BoardTileDataChanged event 2020-12-24 00:13:27 +01:00
Reinder Feenstra
a3beec359f board: implemented save/load support 2020-12-24 00:10:15 +01:00
Reinder Feenstra
0d9b636455 Board improvements:
- added replace option to addTile
- added colision detection in addTile for > 1x1 tiles
- added deleteTile method
- limited borad size to -1000..1000
2020-12-24 00:08:22 +01:00
Reinder Feenstra
921adba0a7 Tile: added setRotate method for non square tiles 2020-12-24 00:03:37 +01:00
Reinder Feenstra
80f9be959a IdObejct: implemented destroying() 2020-12-23 19:10:02 +01:00