Reinder Feenstra
648f323106
train: lob and weight are calculated automatically (override is possible)
2023-03-06 00:23:08 +01:00
Reinder Feenstra
b0aa99a8de
objectlist: moved property changed to virtual method
...
so sub classes can do something with it if required
2023-03-06 00:20:50 +01:00
Reinder Feenstra
de34b0553c
trainlist: added lob and weigth columns
2023-03-06 00:17:42 +01:00
Reinder Feenstra
2eed611da9
fix: object is empty after move
2023-03-06 00:05:35 +01:00
Reinder Feenstra
27125314a1
fix: object list didn't always register property changed on load
2023-03-05 23:05:07 +01:00
Reinder Feenstra
0c4094b365
implemented add/remove vehicles to a train, see #25
2023-03-05 23:03:54 +01:00
Reinder Feenstra
471db84655
removed restriction to only create/delete trains in edit mode, see #25
2023-03-03 00:03:12 +01:00
Filippo Gentile
6fe8f7af49
Add 2 new positions to Single Slip Switch
...
This matches recent addition to Double Slip Switch
2023-03-02 00:21:51 +01:00
Filippo Gentile
661b25c1e8
Add 4 new positions to Double Slip Switch turnout
...
- This adds Left/Right to double switch
- And adds new DoubleSlipStraightA / DoubleSlipStraightB to
TurnoutPosition enum
- Implemented new state drawing in TilePainter
- Updated logic in SignalPath::findBlocks()
2023-02-26 13:08:59 +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
4f5e4f2992
fix: set socket options from network thread, see #33
2023-02-21 23:46:57 +01:00
Reinder Feenstra
6e3d2e68fc
added version property to Traintastic object
2023-02-19 12:23:34 +01:00
Reinder Feenstra
f7fd18ea1a
Merge branch 'master' of github.com:traintastic/traintastic
2023-02-18 23:14:40 +01:00
Reinder Feenstra
5a407e5ba1
fix: socket shutdown and close wasn't called by the io context thread
...
see #33
2023-02-18 23:14:37 +01:00
Filippo Gentile
2d035b6bac
logging: Fix MinGW broken std::put_time()
...
Workaround missing specifier support in MinGW 12.2.0 by using old pre-C+
+11 specifiers.
2023-02-15 21:32:10 +01:00
Reinder Feenstra
7397cb9e16
Merge branch 'master' of github.com:traintastic/traintastic
2023-02-10 20:36:50 +01:00
Reinder Feenstra
ac9505f1f7
fix: disconnect() not called by the eventloop thread, see #34
2023-02-10 20:36:47 +01:00
Reinder Feenstra
312950c28c
Merge pull request #31 from gfgit/work/object_list_removed
...
model: HACK to let client refresh after object is removed
2023-02-06 23:23:44 +01:00
Filippo Gentile
54c2dc7c72
model: HACK to let client refresh after object is removed
...
When an object is removed from a list, Clients need to clear cached
values and reload the model.
This could be more efficient but it will be adressed in a separate pull
request.
2023-02-06 23:17:12 +01:00
Reinder Feenstra
ea3fbd8022
bugfix: blocksAhead may only be decremented on block tile
2023-02-06 19:59:14 +01:00
Reinder Feenstra
86c4685b69
ObjectProperty: added getObject() to request object without knowing the id on the client
...
see #22
2023-01-30 23:33:25 +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
9ee10e8aff
Merge pull request #18 from gfgit/work/gcc_warnings
...
Fix gcc warnings
2023-01-22 21:56:07 +01:00
Filippo Gentile
536c82f739
server: remove unix specific signal handler header
2023-01-22 01:22:10 +01:00
Filippo Gentile
4277285591
Fix GCC warning -Werror=uninitialized
...
std::array has no explicit constructors but GCC 12.2.0 doesn't like it
so add brace initialization.
2023-01-22 01:19:32 +01:00
Reinder Feenstra
6ad267f333
Merge pull request #13 from gfgit/work/signal_handler
...
server: handle SIGINT, SIGTERM, SIGBREAK (all platforms)
2023-01-21 22:23:59 +01:00
Reinder Feenstra
d5ace6999b
some changes for code style
2023-01-21 22:22:17 +01:00
Reinder Feenstra
7ee8a6aad7
corrected spelling, some changes for code style
2023-01-21 22:20:17 +01:00
Filippo Gentile
280d3ae2c4
server: log signal handler
...
New static function for signal handling
2023-01-21 21:35:30 +01:00
Filippo Gentile
45fd09e071
server: removed Unix specific signal handlers
...
Now it uses Boost.Asio
2023-01-21 21:34:17 +01:00
Reinder Feenstra
e490c656bc
bugfix: Infinite recursion in SignalPath, closes #7
2023-01-20 21:54:36 +01:00
Filippo Gentile
e2b6c149d4
server: handle SIGINT, SIGTERM, SIGBREAK
...
Register signal handlers to shutdown gracefully
2023-01-19 23:31:15 +01:00
Reinder Feenstra
11d407b5af
bugfix: if an interface failed to go online and exception caused the event processing
...
closes #9
2023-01-18 19:48:53 +01:00
Reinder Feenstra
a440d3968d
fix: assigning another interface to an input didn't work
2023-01-18 19:17:42 +01:00
Reinder Feenstra
61b3db241a
bugfix: assert() triggered on invalid data on world close
...
closes #8
2023-01-17 23:43:39 +01:00
Reinder Feenstra
27e14f4bd1
eventloop: threadId writable during tests
...
some test require a working eventloop
2023-01-15 22:50:52 +01:00
Reinder Feenstra
1839233687
Merge pull request #5 from gfgit/work/diy_input_sim_fix
...
input: fix TraintasticDIY input simulation
2023-01-13 23:11:23 +01:00
Filippo Gentile
794b0a4dcc
input: fix TraintasticDIY input simulation
...
Toggling a disabled input caused crash.
Prevent iterator derefencing when invalid.
Other interfaces, like z21, allow toggling disabled inputs so the
behaviour is still correct.
2023-01-13 23:05:18 +01:00
Reinder Feenstra
37fc7bfcdb
fix: use memcpy, size is always known
...
(MinGW complained)
2023-01-13 00:14:08 +01:00
Reinder Feenstra
b22e011ded
fix: missing include for mingw
2023-01-11 23:55:45 +01:00
Reinder Feenstra
08e4b45268
Merge pull request #3 from gfgit/work/fix_mingw
...
Fix compilation on Windows with MinGW
2023-01-10 23:41:57 +01:00
Reinder Feenstra
db87ed9cc1
fix: m_socket -> m_socketTCP
2023-01-10 08:33:08 +01:00
Reinder Feenstra
e738a162bf
minor optimalizations
2023-01-09 23:01:39 +01:00
Filippo Gentile
8c12a50078
threading: fix MinGW thread name
...
SetThreadDescription() is not currently supported by MinGW compiler.
It was added in Windows 10 so it's relatively new function.
But MinGW comes with a Windows implementation of pthread library.
This means we can just use the same code as for linux which
calls 'pthread_setname_np()' and skip windows specific call.
2023-01-09 21:52:43 +01:00
Filippo Gentile
0bd6148a1e
TrayIcon: fix string literal conversion.
...
The member function menuAddItem() is called passing constant string
literals for "text" argument which is a pointer to non constant string.
MinGW refuses to compile so change the type to constant LPCSTR.
The variable is later passed inside explicit const_cast<LPSTR>(text).
2023-01-09 21:49:51 +01:00
Filippo Gentile
fc8ce2a891
endianess: fix MinGW on Windows
...
MinGW has _byteswap_ushort and the other functions like MSVC but
needs additional <cstdlib> header.
2023-01-09 21:46:31 +01:00
Filippo Gentile
09b9ed3de6
SerialPortListImplWin32: fix includes with MinGW on Windows
...
MinGW needs additional <ntdef.h> header to define PHYSICAL_ADDRESS.
The type is then used inside <ntddser.h>
2023-01-09 21:45:02 +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
59a7f22ab9
fix: assigning a new interface to an output failed
2023-01-06 01:04:29 +01:00
Reinder Feenstra
9425c30cfd
fix: assert caused crash
2023-01-06 01:03:16 +01:00