Rubidium
ed7685910d
Codechange: pass large objects by reference instead of value
...
Especially when they get passed on directly to the next function or via a
constructor into an instance variable
1 year ago
Rubidium
7e1d272397
Cleanup: remove unused static variables
1 year ago
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
1 year ago
Jonathan G Rennison
1bfd96c7f2
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/3rdparty/fmt/core.h
# src/command_type.h
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/landscape.cpp
# src/network/network.cpp
# src/newgrf_object.h
# src/object_cmd.cpp
# src/order_gui.cpp
# src/saveload/vehicle_sl.cpp
# src/script/api/script_industrytype.cpp
# src/script/api/script_object.hpp
# src/script/api/script_town.cpp
# src/table/object_land.h
# src/timetable_cmd.cpp
# src/tree_cmd.cpp
# src/vehicle_gui.cpp
# src/window.cpp
1 year ago
Rubidium
8f9a60893d
Fix #10177 : company list password padlock showed after switching to single player
1 year ago
Rubidium
6dfd2cad69
Fix: comparison result is always the same warnings
1 year ago
Rubidium
90f1768006
Codechange: add non-nullptr asserts in cases where it should never be nullptr
...
Though where similar calls are checked for nullptr as in those instances of
the use of that function it can actually return nullptr. In other words, write
down the assumption that the function never returns nullptr in an assert.
1 year ago
Rubidium
bcfe0fb076
Codechange: introduce GetMainWindow() to properly account for nullptr checks
...
Some nullptr checks have been removed as they were not triggered with nullptr
with the null video driver and in dedicated server mode.
1 year ago
Jonathan G Rennison
760cbcbb8b
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/blitter/32bpp_anim.hpp
# src/blitter/32bpp_base.hpp
# src/blitter/8bpp_base.hpp
# src/blitter/null.hpp
# src/cheat_gui.cpp
# src/gfx.cpp
# src/linkgraph/linkgraph.cpp
# src/spriteloader/grf.cpp
# src/station_cmd.cpp
2 years ago
Patric Stout
1fb101eabb
Codechange: address CodeQL issue "Multiplication result converted to larger type" ( #10306 )
...
Most are very unlikely to ever be triggered in our codebase; two
stand out: linkgraph and money cheat. Those, potentially, could
wrap earlier than expected.
2 years ago
Jonathan G Rennison
3435e74c0c
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release.yml
# CMakeLists.txt
# os/macosx/Info.plist.in
# src/fileio.cpp
# src/landscape.cpp
# src/league_cmd.h
# src/saveload/ai_sl.cpp
# src/saveload/game_sl.cpp
# src/saveload/league_sl.cpp
# src/saveload/saveload.cpp
2 years ago
PeterN
131b7f5127
Fix: Vertically centre chat prompt. ( #10250 )
2 years ago
Jonathan G Rennison
6a03e7ba97
Command: Remove unused CMD_STR_SEP flag
2 years ago
Jonathan G Rennison
f32733ef22
Command: Replace binary_length field with auxiliary data
...
Use for CMD_ADD_PLAN_LINE
2 years ago
Jonathan G Rennison
f1f73ddd6e
Factor out packet deserialisation functions into common file
2 years ago
Jonathan G Rennison
c29b395357
Factor out packet serialisation functions into new common file
2 years ago
Jonathan G Rennison
6d4474b84e
Merge tag '13.0-beta2' into jgrpp
...
# Conflicts:
# src/cheat_gui.cpp
# src/company_gui.cpp
# src/console_gui.cpp
# src/depot_gui.cpp
# src/error_gui.cpp
# src/gfx.cpp
# src/graph_gui.cpp
# src/group_gui.cpp
# src/lang/english.txt
# src/lang/korean.txt
# src/lang/polish.txt
# src/misc_gui.cpp
# src/network/network_content_gui.h
# src/newgrf_debug_gui.cpp
# src/order_gui.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/settings_gui.cpp
# src/settings_type.h
# src/station_gui.cpp
# src/subsidy_gui.cpp
# src/table/settings/gui_settings.ini
# src/timetable_gui.cpp
# src/town_gui.cpp
# src/train_cmd.cpp
# src/vehicle_gui.cpp
# src/viewport.cpp
# src/water_cmd.cpp
# src/widgets/dropdown.cpp
# src/window_gui.h
2 years ago
Jonathan G Rennison
02e19521bc
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/build_vehicle_gui.cpp
# src/cheat_gui.cpp
# src/company_gui.cpp
# src/error_gui.cpp
# src/fios_gui.cpp
# src/gfx_func.h
# src/graph_gui.cpp
# src/group_gui.cpp
# src/misc_gui.cpp
# src/newgrf_debug_gui.cpp
# src/order_gui.cpp
# src/road_gui.cpp
# src/roadveh_gui.cpp
# src/settings_gui.cpp
# src/ship_gui.cpp
# src/station_gui.cpp
# src/statusbar_gui.cpp
# src/subsidy_gui.cpp
# src/timetable_gui.cpp
# src/town_gui.cpp
# src/train_gui.cpp
# src/tree_gui.cpp
# src/vehicle_gui.cpp
# src/widget.cpp
# src/widgets/dropdown.cpp
# src/window_gui.h
2 years ago
Jonathan G Rennison
aaf0385dc5
Add command/string helpers for string separator control character
2 years ago
dP
5e14a20b3b
Feature: [GS] Scriptable league tables ( #10001 )
2 years ago
Jonathan G Rennison
728b902e9f
No longer use CDECL for GUIList::FilterFunction
2 years ago
Jonathan G Rennison
e92aaade42
NetworkCompanyIsPassworded should return false in single player mode
2 years ago
Jonathan G Rennison
8264e2ca4f
Fix missing includes in network_internal.h
2 years ago
Jonathan G Rennison
5e00d535bc
Debug: Detect which frame's state first diverged after a desync
2 years ago
Jonathan G Rennison
7582993d00
Crashlog: Show frame counters with sync dates
2 years ago
Peter Nelson
ecb5393c55
Change: Standardize progress bar layout.
...
Progress bars are drawn differently depending on when it was added, with
different layouts and sizes.
This change adds a standard padding size to use, and makes all progress
bars visually similar, with scaled padding.
2 years ago
Peter Nelson
920e588334
Change: Use standard dimensions instead of custom widths.
2 years ago
Peter Nelson
890b2666d3
Change: Use scaled WidgetDimensions.
2 years ago
Peter Nelson
b6ed595176
Codechange: Prefer suggested widget padding.
2 years ago
Peter Nelson
dd9f6bc803
Change: Use RectPadding Horizontal()/Vertical() helpers.
2 years ago
Peter Nelson
04cbe57d2a
Change: Use RectPadding for widget padding/uz_padding.
2 years ago
Peter Nelson
6f95e04005
Change: Use Rect helpers for widget drawing.
...
This replaces repetitive and sometimes unwieldy use of constants.
2 years ago
Jonathan G Rennison
3176313576
Avoid blocking network and game when writing desync savegames
2 years ago
Jonathan G Rennison
3665c01539
Fix crash if client's connection fails during error sending
2 years ago
Jonathan G Rennison
8724904a1f
Avoid out of bound shift in NetworkCompanyIsPassworded(COMPANY_SPECTATOR)
2 years ago
Jonathan G Rennison
6459e62fff
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/english.txt
# src/map_type.h
# src/network/network_command.cpp
# src/object_cmd.cpp
# src/rail_cmd.cpp
# src/road_cmd.cpp
# src/road_func.h
# src/saveload/afterload.cpp
# src/saveload/saveload.h
# src/settings_gui.cpp
# src/string.cpp
# src/table/road_land.h
# src/table/settings/game_settings.ini
# src/table/settings/world_settings.ini
# src/tbtr_template_gui_main.h
# src/train_cmd.cpp
2 years ago
Rubidium
d5aafaee15
Codechange: rename and move some strings to make them more consistent with the rest of the strings
2 years ago
Michael Lutz
35d9cea487
Fix: Too many braces make old gcc sad. ( #10116 )
2 years ago
Jonathan G Rennison
0a9c44d1a2
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/airport_gui.cpp
# src/blitter/32bpp_anim_sse4.cpp
# src/console_cmds.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/newgrf_object.h
# src/road_gui.cpp
# src/widgets/road_widget.h
# src/window.cpp
2 years ago
frosch
f4e2a462fe
Cleanup: Remove unused flag sprites.
2 years ago
Peter Nelson
dc1b84aa1e
Cleanup: Text widgets are capable of drawing text without assistance.
...
Remove custom text drawing of some widgets in favour of standard text
widgets.
2 years ago
Peter Nelson
296af146fb
Change: Default widget text colour to black.
...
TC_FROMSTRING really means blue, and we almost never actually use
blue text.
2 years ago
Jonathan G Rennison
d2526780be
Include list of connected clients in server desync logs
...
Save full date including fractional part in NetworkClientInfo
2 years ago
Jonathan G Rennison
dd16df976c
Include client IDs in network server command logs
2 years ago
Jonathan G Rennison
ac1071f4fc
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/station_cmd.cpp
# src/vehicle_gui.cpp
2 years ago
Peter Nelson
fa5e2ca276
Cleanup: Tweak panel layout of Online Players window.
...
This ensures panel borders not hidden behind other widgets.
2 years ago
Peter Nelson
8e9ca5ebcb
Fix: Online Players list mouse hover behaviour.
...
Hover highlight was visible even if the mouse pointer was in a different
window, and the window refreshed itself every frame if the mouse pointer
was not over its matrix widget.
Resolved by using OnMouseOver() instead of OnMouseLoop(), and only
redrawing if the hover position has changed.
2 years ago
Jonathan G Rennison
ece0a43146
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/newgrf_station.cpp
2 years ago
dP
64453cb134
Fix: Incorrect player name in online players window ( #10013 )
2 years ago
Jonathan G Rennison
dc5e073379
Merge branch 'master' into jgrpp
2 years ago
Joel-Milligan
3937953f72
Fix #9363 : Rebuild client list on reinit event ( #9929 )
2 years ago
dP
ca23e8abcf
Add step console command to advance n ticks
...
Cherry-picked from https://github.com/citymania-org/cmclient
Commit: 5ce2d21223a96934a83b8da43434c7a81f001ef0
2 years ago
Jonathan G Rennison
7c78b22c48
Show failure reason in message box when network savegame load fails
...
See: #412
2 years ago
Jonathan G Rennison
ff064e06b8
Fix race between network client disconnect and network window deletion
2 years ago
Jonathan G Rennison
e49d0b3f29
Add console command to set NewGRF optimiser flags
2 years ago
Jonathan G Rennison
40708c5b47
Fix #380 : CcAddNewSchDispatchSchedule missing from network callback table
2 years ago
Jonathan G Rennison
34af4844d1
Merge branch 'master' into jgrpp
2 years ago
Aaron Katzin
148695c571
Fix #9736 : Duplicate multiplayer window opens upon canceling password entry ( #9842 )
2 years ago
Rubidium
c73f578e8c
Codechange: replace magic numbers and C-style arrays with C++-style array for share owners
2 years ago
Jonathan G Rennison
3892a1e201
Log client ID/name in server desync logs
2 years ago
Jonathan G Rennison
e993afcd99
Store encrypted company password hashes in server saves
...
Restore when loading back into the server if server has required secret
3 years ago
Jonathan G Rennison
26eca815d3
Add separate network salt string for company passwords
3 years ago
Jonathan G Rennison
dda4167edc
Change debug level of network received packet logging
3 years ago
Michael Lutz
b11bd185e3
Fix #9756 : Network command unpack proc was not generated in all cases.
...
The case where the callback proc takes all command results but not any of
the command parameters was not handled properly.
3 years ago
Michael Lutz
e67124e174
Change: [Admin] Bump admin port protocol due to command changes.
...
docs/admin_network.md promised that information in an admin packet
is never removed. It does allow the possibility of using a new packet type
for changed data in combination with a bump of the admin port version.
As the recent command handling changes modified the contents of
ADMIN_PACKET_SERVER_CMD_LOGGING, do exactly that.
3 years ago
Michael Lutz
afc3d71fd0
Codechange: Don't generate CommandPacket unpack functions for invalid cmd/callback combinations.
...
If the arguments of the callback proc don't match with the command parameters,
we can't do the proper command execution anyway. As such, don't even generate
an unpack function in the first place, saving a bit of unnecessary code bloat.
Validate on receive that the cmd/callback combination is supported, rejecting
clients that try to send invalid values.
3 years ago
Michael Lutz
3e85e833a7
Codechange: Add support for additional command result values.
3 years ago
Michael Lutz
8503854655
Codechange: Pass unpacked command arguments to command callbacks (except Script).
3 years ago
Michael Lutz
d85348b1d1
Codechange: Template the command callback function type to allow unpacked arguments.
3 years ago
Michael Lutz
13528bfcd0
Codechange: Un-bitstuff all remaining commands.
3 years ago
Michael Lutz
4f3ea3907e
Codechange: Un-bitstuff commands taking a ClientID (i.e. CMD_CLIENT_ID).
3 years ago
Michael Lutz
ccefa76a46
Codechange: Template DoCommandPInternal.
3 years ago
Michael Lutz
0f64ee5ce1
Codechange: Template DoCommandP to automagically reflect the parameters of the command proc.
...
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
3 years ago
Michael Lutz
a05fd7aa50
Change: [Network] Transfer command data as serialized byte stream without fixed structure.
...
The data will be transmitted as the length followed by the serialized data. This allows the command
data to be different for every command type in the future.
3 years ago
Michael Lutz
123c7f99c3
Codechange: Move command callback declarations to the cmd header files.
3 years ago
Michael Lutz
a38bbefe1b
Codechange: Untangle command code, flags and error string for DoCommand*.
3 years ago
Michael Lutz
549caca39c
Codechange: Move command arguments to the back of the networked command function calls.
3 years ago
Jonathan G Rennison
0b45103eed
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/network/core/tcp_connect.cpp
3 years ago
Rubidium
ad89601c49
Codechange: do not use all upper case enumerators in a scoped enum
3 years ago
Patric Stout
ea4f6bb8b2
Fix #9730 : [Network] connections can use an invalid socket due to a race condition
...
A race condition happens when an IPv6 connection takes more than
250ms to report an error, but does return before the IPv4 connection
is established.
In result, an invalid socket might be used for that connection.
3 years ago
Patric Stout
9c36c12c85
Codechange: ensure OnConnect() always gets called with a valid socket ( #9729 )
...
This should already be the case, but now assert()s will tell us
if this isn't.
3 years ago
Jonathan G Rennison
0cdaa8ef55
Remove use of std::from_chars and <charconv>
...
Replace it with another implementation to avoid compilation issues
on some platforms
3 years ago
Jonathan G Rennison
3d4261a33a
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/order_cmd.cpp
# src/table/settings/news_display_settings.ini
3 years ago
Michael Lutz
8c558d74a5
Fix 55a11710: Curly braces need to be double-escaped for (std::)fmt.
3 years ago
dP
80e3397f85
Fix 3a1a915: Every 16th client never reconnects after server restart
3 years ago
Jonathan G Rennison
9e946d4c5d
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/command.cpp
# src/console_cmds.cpp
# src/group_gui.cpp
# src/lang/catalan.txt
# src/lang/czech.txt
# src/lang/danish.txt
# src/lang/greek.txt
# src/lang/hungarian.txt
# src/lang/irish.txt
# src/lang/japanese.txt
# src/lang/luxembourgish.txt
# src/lang/norwegian_bokmal.txt
# src/lang/romanian.txt
# src/lang/russian.txt
# src/lang/serbian.txt
# src/lang/simplified_chinese.txt
# src/lang/slovak.txt
# src/lang/spanish_MX.txt
# src/lang/swedish.txt
# src/lang/tamil.txt
# src/lang/traditional_chinese.txt
# src/lang/turkish.txt
# src/lang/ukrainian.txt
# src/lang/vietnamese.txt
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_func.h
# src/network/network_internal.h
# src/network/network_server.cpp
# src/network/network_server.h
# src/saveload/afterload.cpp
# src/saveload/newgrf_sl.cpp
# src/saveload/saveload.h
# src/script/script_instance.cpp
# src/toolbar_gui.cpp
# src/toolbar_gui.h
# src/vehicle_gui.cpp
# src/widgets/rail_widget.h
# src/widgets/vehicle_widget.h
# src/window.cpp
3 years ago
Jonathan G Rennison
6611ed5a53
Encode oversize map dimensions in non-extended game info serialisation
...
Use non power of 2 values for sizes >= 64k
3 years ago
Jonathan G Rennison
eaf5908a0b
Add a constant for SERVER_GAME_INFO_EXTENDED max version
...
Set max version correctly in QueryNetworkGameSocketHandler::SendGameInfo
3 years ago
Jonathan G Rennison
324e90e5ac
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/lang/arabic_egypt.txt
# src/lang/english.txt
# src/lang/greek.txt
# src/network/core/tcp_connect.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/pathfinder/npf/npf.cpp
# src/pathfinder/yapf/yapf_ship.cpp
# src/rail_gui.cpp
# src/settings_table.cpp
# src/settings_type.h
# src/station_cmd.cpp
# src/table/settings/gui_settings.ini
# src/town_cmd.cpp
# src/widgets/rail_widget.h
3 years ago
Jonathan G Rennison
9e1bb3eea7
Merge tag '12.0-beta2' into jgrpp-beta
...
# Conflicts:
# docs/landscape_grid.html
# src/lang/simplified_chinese.txt
# src/network/network_server.cpp
# src/station_cmd.cpp
3 years ago
Jonathan G Rennison
faf32200cf
Merge tag '12.0-beta1' into jgrpp-beta
...
# Conflicts:
# CMakeLists.txt
# bin/ai/CMakeLists.txt
# bin/game/CMakeLists.txt
# src/build_vehicle_gui.cpp
# src/console_cmds.cpp
# src/core/overflowsafe_type.hpp
# src/fios.cpp
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/lang/polish.txt
# src/network/core/game_info.cpp
# src/network/core/game_info.h
# src/network/core/tcp_game.cpp
# src/network/core/tcp_game.h
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_client.h
# src/network/network_coordinator.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/network/network_server.h
# src/newgrf_engine.cpp
# src/openttd.cpp
# src/rev.cpp.in
# src/settings_type.h
# src/train.h
# src/train_cmd.cpp
3 years ago
Jonathan G Rennison
f764fcfb1f
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/console_cmds.cpp
# src/debug.cpp
# src/lang/vietnamese.txt
# src/network/core/address.cpp
# src/network/core/address.h
# src/network/core/config.h
# src/network/core/os_abstraction.cpp
# src/network/core/os_abstraction.h
# src/network/core/tcp_listen.h
# src/network/core/udp.cpp
# src/network/core/udp.h
# src/network/network.cpp
# src/network/network_client.cpp
# src/network/network_gamelist.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/newgrf.cpp
# src/openttd.cpp
# src/saveload/saveload.h
# src/settings.cpp
# src/settings_table.cpp
# src/settings_type.h
# src/table/settings/network_settings.ini
3 years ago
Jonathan G Rennison
62afd94b47
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/company_cmd.cpp
# src/economy.cpp
# src/lang/swedish.txt
# src/network/network_command.cpp
# src/news_gui.cpp
# src/saveload/saveload.h
# src/script/api/script_list.cpp
# src/video/cocoa/cocoa_v.mm
# src/video/sdl2_v.cpp
3 years ago
Jonathan G Rennison
61cc60099a
Merge branch 'jgrpp' into jgrpp-beta
...
# Conflicts:
# src/network/core/packet.cpp
# src/network/core/udp.cpp
3 years ago
Jonathan G Rennison
4a57625183
Avoid cast warnings in network packet handling
...
See: #307
3 years ago
Jonathan G Rennison
0842621653
Remove unused _network_udp_mutex
...
See: #307
3 years ago
Jonathan G Rennison
24c6dfe872
Merge branch 'master' into jgrpp-beta
3 years ago
Jonathan G Rennison
da282c3ecc
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# .github/workflows/ci-build.yml
# CMakeLists.txt
# src/lang/finnish.txt
# src/lang/french.txt
# src/lang/korean.txt
# src/lang/norwegian_bokmal.txt
# src/lang/russian.txt
# src/lang/spanish.txt
# src/misc_gui.cpp
# src/newgrf.cpp
3 years ago
Jonathan G Rennison
81290df946
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/lang/spanish.txt
# src/network/core/tcp_content_type.h
# src/network/network_content.cpp
# src/saveload/cheat_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/station_sl.cpp
# src/saveload/vehicle_sl.cpp
# src/settings.cpp
# src/settings_internal.h
# src/table/settings.h.preamble
# src/table/settings/company_settings.ini
# src/table/settings/currency_settings.ini
# src/table/settings/gameopt_settings.ini
# src/table/settings/misc_settings.ini
# src/table/settings/settings.ini
# src/table/settings/win32_settings.ini
# src/table/settings/window_settings.ini
3 years ago
glx22
1c0700e0c0
Fix #9624 : compilation with RANDOM_DEBUG
3 years ago