Jonathan G Rennison
3a47b421b0
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/core/overflowsafe_type.hpp
# src/economy.cpp
# src/engine_base.h
# src/ground_vehicle.cpp
# src/group_gui.cpp
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/newgrf_commons.cpp
# src/newgrf_engine.cpp
# src/newgrf_industries.cpp
# src/newgrf_object.cpp
# src/newgrf_roadstop.cpp
# src/newgrf_station.cpp
# src/rail_gui.cpp
# src/road_cmd.h
# src/road_gui.cpp
# src/saveload/afterload.cpp
# src/script/api/script_log.cpp
# src/script/api/script_log.hpp
# src/settings_gui.cpp
# src/settingsgen/settingsgen.cpp
# src/station_cmd.cpp
# src/station_cmd.h
# src/station_gui.cpp
# src/strgen/strgen.cpp
# src/string_func.h
# src/string_type.h
# src/table/settings/network_private_settings.ini
# src/tests/math_func.cpp
# src/textfile_gui.cpp
# src/timetable_gui.cpp
# src/town_cmd.cpp
# src/vehicle.cpp
# src/waypoint_cmd.cpp
# src/waypoint_cmd.h
# src/widgets/dropdown.cpp
2023-06-03 19:16:57 +01:00
Jonathan G Rennison
2ed248a61d
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release-linux.yml
# src/aircraft_cmd.cpp
# src/airport_gui.cpp
# src/articulated_vehicles.cpp
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/genworld_gui.cpp
# src/gfx_layout.cpp
# src/misc_gui.cpp
# src/newgrf.cpp
# src/newgrf_config.h
# src/newgrf_engine.cpp
# src/news_gui.cpp
# src/order_gui.cpp
# src/roadveh_cmd.cpp
# src/saveload/saveload.h
# src/saveload/vehicle_sl.cpp
# src/ship_cmd.cpp
# src/statusbar_gui.cpp
# src/table/settings/network_private_settings.ini
# src/table/settings/network_settings.ini
# src/toolbar_gui.cpp
# src/train_cmd.cpp
# src/vehicle_gui.cpp
2023-05-31 23:21:38 +01:00
Jonathan G Rennison
02fe4af934
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/release-windows.yml
# src/company_base.h
# src/company_cmd.cpp
# src/company_gui.cpp
# src/console_cmds.cpp
# src/economy.cpp
# src/economy_cmd.h
# src/fios.h
# src/goal.cpp
# src/group_gui.cpp
# src/network/core/config.h
# src/network/network_admin.cpp
# src/newgrf_config.cpp
# src/os/windows/win32.cpp
# src/saveload/afterload.cpp
# src/saveload/company_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload_error.hpp
# src/settings_gui.cpp
# src/ship_cmd.cpp
# src/stdafx.h
# src/story.cpp
# src/story_base.h
# src/string.cpp
# src/table/settings/economy_settings.ini
# src/tests/CMakeLists.txt
# src/tests/math_func.cpp
2023-05-30 00:49:24 +01:00
Jonathan G Rennison
72dcdfafbd
Add setting for server sent commands per frame limit
...
Use higher of this and existing commands per frame limit setting
for server-originating commands, e.g. GS
2023-05-23 22:21:19 +01:00
Rubidium
68ff3fd062
Change: include fmt.h C++ headers in stdafx.h
...
This to prevent compilation issues between runs with and without precompiled
headers. Also remove the headers from the rest of the code base as they are
not needed there anymore, although they do relatively little harm.
2023-05-08 16:49:23 +02:00
Peter Nelson
d2034d9c38
Codechange: Scrollbar methods now accept size_t.
...
This clears up a lot of casts from size_t to int.
2023-05-07 20:25:44 +01:00
Rubidium
877349c13d
Codechange: use std::string for text file name resolution
2023-05-05 08:54:29 +02:00
Peter Nelson
61407840c6
Codechange: Remove STR_BLACK_RAW_STRING.
2023-05-05 07:07:54 +01:00
Peter Nelson
0880616851
Codechange: Remove various STRING strings.
2023-05-05 07:07:54 +01:00
Rubidium
3901ef9760
Codechange: use std::string for the GRF filenames
2023-05-04 23:23:32 +02:00
Rubidium
a312a6c1b2
Codechange: make md5sumToString std::string compatible
2023-05-04 23:23:32 +02:00
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
2023-05-04 13:14:12 +00:00
Tyler Trahan
ba3de0383a
Codechange: Pass more std::string to StringFilter::AddLine() ( #10743 )
2023-04-30 10:23:05 +02:00
Rubidium
c829930440
Codechange: replace strnatcmp with C++ string capable version
2023-04-29 12:07:45 +02:00
Rubidium
4dd5f994be
Codechange: replace strncasecmp with case ignoring variant of StrStarts/EndsWith
2023-04-29 10:25:25 +02:00
Patric Stout
36a0818bc5
Remove: buying/selling/owning company shares ( #10709 )
2023-04-29 10:16:49 +02:00
Rubidium
b221fa3c5a
Codechange: use fmt::format_to instead of seprintf to create the search URL
2023-04-28 19:53:03 +02:00
Rubidium
3105d0b09e
Codechange: replace text-buf printf with fmt::format
2023-04-26 18:46:17 +02:00
Tyler Trahan
930f0a16d8
Codechange: Define Date/Year/Month/Day within TimerGameCalendar class
2023-04-26 07:14:03 -04:00
Rubidium
f74e26ca7e
Codechange: replace error/usererror printf variant with fmt variant and rename
2023-04-25 17:55:09 +02:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
Jonathan G Rennison
7da25820ea
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/widgets/dropdown.cpp
# src/widgets/dropdown_type.h
2023-04-18 00:01:50 +01:00
Charles Pigott
b282664242
Codechange: Replace all usages of alloca/AllocaM with more modern/less discouraged alternatives
2023-04-15 16:57:00 +01:00
Patric Stout
3ebc7ad16e
Codechange: migrate all game-time-related timers to the new framework
2023-04-15 13:58:55 +02:00
Patric Stout
1ba4dcc924
Codechange: migrate all Window-related timers to the new framework
...
This means we also say goodbye to GUITimers.
2023-04-15 13:58:55 +02:00
rubidium42
730687080a
Fix: Update some network documentation to match the new command system ( #10657 )
2023-04-15 09:10:09 +00:00
Peter Nelson
e5af5907ec
Change: Make all dropdown lists extend width if necessary.
...
This removes the auto_width parameter from ShowDropDown(At).
2023-04-13 20:57:47 +01:00
Jonathan G Rennison
82803b98e0
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/game/game_gui.cpp
# src/graph_gui.cpp
# src/linkgraph/linkgraph_gui.h
# src/newgrf.cpp
# src/order_gui.cpp
# src/saveload/engine_sl.cpp
# src/saveload/saveload.h
# src/script/api/script_text.cpp
# src/script/script_gui.cpp
# src/settings_table.cpp
# src/strings.cpp
# src/table/settings/economy_settings.ini
# src/table/settings/locale_settings.ini
# src/timetable_gui.cpp
2023-04-10 15:11:53 +01:00
Peter Nelson
47e12a8790
Codechange: Check that CompanyMask fits into 16 bits during compilation.
2023-04-07 22:09:55 +01:00
Jonathan G Rennison
25ed7c2b53
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/music.cpp
# src/script/api/script_company.cpp
# src/script/api/script_event_types.cpp
# src/script/api/script_group.cpp
# src/script/api/script_object.cpp
# src/script/api/script_road.cpp
2023-03-11 00:06:13 +00:00
Peter Nelson
b6609d1833
Fix: Network server highlight invisible with RTL layout.
2023-03-07 22:05:22 +00:00
Jonathan G Rennison
2ea1766677
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/commit-checker.yml
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/landscape.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/order_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/league_sl.cpp
# src/saveload/saveload.h
# src/script/api/script_object.hpp
# src/script/squirrel_helper.hpp
# src/settings_table.cpp
# src/station_cmd.cpp
# src/table/settings.h.preamble
# src/tree_cmd.cpp
# src/tree_map.h
# src/vehicle.cpp
# src/waypoint_cmd.cpp
2023-03-04 16:45:05 +00:00
Jonathan G Rennison
ae7c86c49d
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/release-linux.yml
# .github/workflows/release-macos.yml
# src/industry_cmd.cpp
# src/industry_cmd.h
# src/network/core/http_curl.cpp
# src/network/core/tcp_http.cpp
# src/network/core/tcp_http.h
# src/network/network_content.h
# src/script/api/script_goal.cpp
# src/script/api/script_industry.cpp
# src/script/api/script_league.cpp
# src/script/api/script_story_page.cpp
# src/script/api/script_town.cpp
# src/train.h
# src/train_cmd.cpp
2023-03-04 01:17:27 +00:00
Zachary
e17c82e32b
Add: maximum number of companies allowed to the client list
2023-02-28 20:52:46 +01:00
dP
c73b88ddca
Fix: Don't send unused tile field over the network ( #10507 )
2023-02-24 22:50:11 +01:00
Patric Stout
fdfcb09aa3
Fix #10131 : actually cancel downloads when pressing cancel
2023-02-15 23:48:06 +01:00
Patric Stout
dea2dea881
Fix: reset content download progress to zero if falling back to TCP
...
Otherwise this chain of events can happen:
- You already have a (partial) file downloaded
- You start the download, and HTTP fails
- This resets the download progress to the current size of the file
- The TCP download starts at a very large value (UINT32_MAX - filesize)
It now resets to 0% done when any negative value is being given.
As added bonus, we no longer have to query how much was already
downloaded.
2023-02-15 23:48:06 +01:00
Patric Stout
1c17556f96
Codechange: replace instance of char * with std::string
2023-02-15 23:48:06 +01:00
Jonathan G Rennison
8d1563a1ed
Various integer width type changes
2023-02-15 22:02:23 +00:00
Patric Stout
0722bb3bf4
Change: try to detect the CA file/path for CURL ( #10481 )
...
The default is given compile-time, not run-time. So libcurl is
of no use to us.
Current list is kindly borrowed from
https://go.dev/src/crypto/x509/root_linux.go
2023-02-15 22:58:43 +01:00
Patric Stout
ea90fa24f8
Codechange: move curl into a thread so simplify code ( #10480 )
...
With a thread, we can just run curl_easy_perform() and let CURL
and threads handle the blocking part.
With async solution there are too many things to keep track of,
and it makes "when to update the GUI" tricky. By using a thread
that all gets a lot simpler, as the game-thread and download-thread
run side-by-side.
This is similar to how the WinHttp backend already works.
2023-02-15 21:56:19 +01:00
frosch
d7fcb420c4
Fix: compilation with libcurl from 2013.
2023-02-13 22:45:07 +01:00
Patric Stout
64523709bf
Add: use https:// for content-service connections ( #10448 )
...
This requires the use of WinHTTP (for Windows) or libcurl (for all
others except Emscripten). Emscripten does not support http(s)
calls currently.
On Linux it requires ca-certificates to be installed, so the HTTPS
certificate can be validated. It is really likely this is installed
on any modern machine, as most connections these days are HTTPS.
(On MacOS and Windows the certificate store is filled by default)
Reminder: in case the http(s):// connection cannot be established,
OpenTTD falls back to a custom TCP-based connection to fetch the
content from the content-service. Emscripten will always do this.
2023-02-12 12:07:31 +01:00
Jonathan G Rennison
ae9b416684
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/ai/ai_core.cpp
# src/ai/ai_gui.cpp
# src/ai/ai_instance.cpp
# src/console_cmds.cpp
# src/engine_type.h
# src/game/game_gui.cpp
# src/game/game_instance.cpp
# src/goal.cpp
# src/goal_cmd.h
# src/lang/english.txt
# src/lang/estonian.txt
# src/network/network_client.cpp
# src/newgrf.cpp
# src/newgrf_generic.h
# src/openttd.cpp
# src/saveload/saveload.h
# src/script/api/script_log.cpp
# src/script/api/script_town.cpp
# src/settings_table.cpp
# src/station_cmd.cpp
# src/station_cmd.h
# src/station_map.h
# src/strings.cpp
# src/table/settings/difficulty_settings.ini
# src/table/settings/gui_settings.ini
# src/tbtr_template_gui_main.h
# src/timetable_cmd.cpp
# src/timetable_cmd.h
# src/timetable_gui.cpp
# src/town_gui.cpp
# src/train_gui.cpp
# src/water_cmd.cpp
2023-02-11 23:05:22 +00:00
Loïc Guilloux
a2c8168924
Fix #10465 : Delay closing of network join progress window ( #10466 )
2023-02-11 12:32:45 +01:00
Jonathan G Rennison
483e3172af
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/strong_typedef_type.hpp
# src/gfx.cpp
# src/group_cmd.cpp
# src/industry_cmd.cpp
# src/map_func.h
# src/newgrf_debug_gui.cpp
# src/order_cmd.cpp
# src/pathfinder/follow_track.hpp
# src/rail_cmd.cpp
# src/road_cmd.cpp
# src/road_gui.cpp
# src/saveload/saveload.cpp
# src/screenshot.cpp
# src/smallmap_gui.cpp
# src/station_cmd.cpp
# src/strings.cpp
# src/tile_type.h
# src/timetable_gui.cpp
# src/town_cmd.cpp
# src/train_cmd.cpp
# src/viewport.cpp
2023-02-10 17:19:35 +00:00
Jonathan G Rennison
ff0e779680
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/lang/czech.txt
# src/order_backup.h
# src/settings_internal.h
# src/string.cpp
# src/viewport.cpp
2023-02-04 11:37:45 +00:00
Rubidium
4e65ec1dc4
Codechange: do not declare functions in blocks
2023-01-29 20:28:45 +01:00
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2023-01-29 07:21:34 +01:00
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
2023-01-28 13:43:21 +01:00