Jonathan G Rennison
5404be172c
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/bitmath_func.cpp
# src/core/bitmath_func.hpp
# src/core/geometry_type.hpp
# src/game/game_text.hpp
# src/graph_gui.cpp
# src/pathfinder/npf/npf.cpp
# src/script/api/script_text.cpp
# src/spritecache.cpp
# src/track_func.h
4 months ago
Jonathan G Rennison
606d7cd814
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/airport_gui.cpp
# src/build_vehicle_gui.cpp
# src/direction_type.h
# src/gfx_type.h
# src/group_gui.cpp
# src/misc_gui.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/signs_gui.cpp
# src/slope_func.h
# src/smallmap_gui.cpp
# src/terraform_gui.cpp
# src/toolbar_gui.cpp
# src/town_gui.cpp
# src/town_type.h
# src/vehicle_type.h
# src/widget_type.h
4 months ago
Rubidium
8faaedeff9
Codechange: replace hand written function to find first/last bit with C++ variant
4 months ago
Rubidium
aa5ba5bd7f
Codechange: allow certain enumeration to be added
...
Otherwise C++20 doesn't like it.
5 months ago
Peter Nelson
7737aa6640
Codechange: Make all NWidgetPart arrays constexpr.
...
This ensures that the arrays are not created at runtime and prevents using non-constexpr values.
5 months ago
Jonathan G Rennison
97e6f3062e
Adding of _t to (u)int types, and WChar to char32_t
...
See: eaae0bb5e
5 months ago
Jonathan G Rennison
42c8f50551
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release-linux.yml
# .github/workflows/release-macos.yml
# .github/workflows/release-windows.yml
# .gitignore
# COMPILING.md
# src/company_gui.cpp
# src/date_gui.cpp
# src/engine.cpp
# src/engine_func.h
# src/fileio.cpp
# src/linkgraph/linkgraph_gui.h
# src/newgrf_debug_gui.cpp
# src/newgrf_gui.cpp
# src/order_gui.cpp
# src/osk_gui.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/script/api/script_event_types.hpp
# src/sl/oldloader_sl.cpp
# src/smallmap_gui.cpp
# src/station_cmd.cpp
# src/toolbar_gui.cpp
# src/town_gui.cpp
# src/transparency_gui.cpp
# src/vehicle_gui.cpp
# src/widget.cpp
# src/widget_type.h
# src/widgets/dropdown.cpp
# src/widgets/dropdown_func.h
# src/widgets/dropdown_type.h
# src/widgets/group_widget.h
# src/widgets/vehicle_widget.h
# src/window.cpp
# src/window_gui.h
# src/window_type.h
5 months ago
Peter Nelson
7124b4eef1
Codechange: Use std::unique_ptr for all NWidgets.
5 months ago
Peter Nelson
a0dfb76e34
Codechange: Replace mishmash of types for widget index with WidgetID.
...
Indices were stored as int, but often passed around as uint/uint8_t and casts.
Now they should all use WidgetID.
5 months ago
Peter Nelson
b86182ab84
Codechange: Use std::map to provide indexed widget access.
...
This removes the need to determine the biggest widget index and replaces C-style memory handling.
5 months ago
Jonathan G Rennison
d5a7a67b8c
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# src/ai/ai_gui.cpp
# src/blitter/32bpp_optimized.cpp
# src/blitter/32bpp_simple.cpp
# src/blitter/32bpp_sse2.cpp
# src/blitter/8bpp_optimized.cpp
# src/blitter/8bpp_simple.cpp
# src/blitter/null.cpp
# src/blitter/null.hpp
# src/company_gui.cpp
# src/game/game_gui.cpp
# src/genworld_gui.cpp
# src/gfx.cpp
# src/gfx_func.h
# src/graph_gui.cpp
# src/industry_gui.cpp
# src/linkgraph/linkgraphjob.cpp
# src/network/network_gui.cpp
# src/newgrf_debug_gui.cpp
# src/openttd.cpp
# src/pathfinder/npf/aystar.h
# src/road_gui.cpp
# src/saveload/order_sl.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/script/api/script_log.cpp
# src/script/api/script_town.cpp
# src/script/script_gui.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_table.cpp
# src/settings_type.h
# src/smallmap_gui.cpp
# src/sortlist_type.h
# src/spritecache.cpp
# src/spriteloader/grf.cpp
# src/spriteloader/grf.hpp
# src/spriteloader/spriteloader.hpp
# src/station_cmd.cpp
# src/station_cmd.h
# src/station_gui.cpp
# src/strings.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/town_gui.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
# src/video/opengl.cpp
# src/video/opengl.h
# src/widgets/dropdown.cpp
# src/widgets/dropdown_type.h
# src/window_gui.h
5 months ago
Jonathan G Rennison
2e06374f6f
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/gfx_func.h
# src/group_gui.cpp
# src/industry_gui.cpp
# src/misc_gui.cpp
# src/news_gui.cpp
# src/settings_gui.cpp
# src/ship_gui.cpp
# src/smallmap_gui.cpp
# src/station_gui.cpp
# src/subsidy_gui.cpp
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/town_gui.cpp
# src/vehicle_gui.cpp
# src/viewport.cpp
# src/widget.cpp
# src/widgets/dropdown.cpp
# src/window.cpp
6 months ago
Peter Nelson
6e8c27b8e5
Change: Hide bevel for resizeable sparse layout windows. ( #11572 )
...
When clicked, the button is still highlighted to show that it is active.
The bevel is controlled with widget_data by RWV_SHOW_BEVEL or RWV_HIDE_BEVEL values.
6 months ago
Peter Nelson
bdef9b451c
Codechange: Remove unnecessary SetMinimalTextLines for text buttons alongside captions. ( #11549 )
6 months ago
Peter Nelson
58c252b81a
Cleanup: Remove unnecessary pressed button offset code.
6 months ago
Jonathan G Rennison
88670a230f
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/articulated_vehicles.cpp
# src/articulated_vehicles.h
# src/base_media_base.h
# src/base_media_func.h
# src/build_vehicle_gui.cpp
# src/dock_gui.cpp
# src/main_gui.cpp
# src/music_gui.cpp
# src/network/network_chat_gui.cpp
# src/network/network_content.cpp
# src/newgrf.cpp
# src/newgrf_roadstop.cpp
# src/os/windows/string_uniscribe.h
# src/os/windows/win32.cpp
# src/rail_gui.cpp
# src/road.cpp
# src/road_gui.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/smallmap_gui.cpp
# src/strings.cpp
# src/terraform_gui.cpp
# src/tests/test_script_admin.cpp
# src/tests/test_window_desc.cpp
# src/timer/timer_game_calendar.h
# src/vehicle.cpp
# src/vehicle_base.h
# src/viewport.cpp
# src/widget_type.h
# src/window.cpp
# src/window_gui.h
6 months ago
Peter Nelson
480e03360b
Fix #9545 : Crash when all cargo types are disabled. ( #11432 )
...
This is not a very useful state, but it's nice to not crash.
Some parts of the game don't (yet) check for cargo types being redefined, that is out-of-scope here.
(cherry picked from commit bbd64bbe2b
)
6 months ago
Peter Nelson
09d01bd015
Fix: Restore original cargo legend 'blob' dimensions. ( #11480 )
...
An off-by-one in a previous life made the 'blob' too narrow.
6 months ago
Peter Nelson
c18a1494b7
Codechange: Remove FONT_HEIGHT_... macros. ( #11481 )
...
These make it look like we're dealing with a constant, but actually each is a call to `GetCharacterHeight(...)`.
6 months ago
Jonathan G Rennison
0d4d4a9cac
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/3rdparty/squirrel/squirrel/sqclosure.h
# src/3rdparty/squirrel/squirrel/sqobject.h
# src/3rdparty/squirrel/squirrel/sqvm.h
# src/aircraft.h
# src/airport_gui.cpp
# src/blitter/32bpp_sse_func.hpp
# src/blitter/null.hpp
# src/bridge_gui.cpp
# src/build_vehicle_gui.cpp
# src/cargotype.h
# src/cheat_gui.cpp
# src/command.cpp
# src/command_func.h
# src/company_gui.cpp
# src/console_gui.cpp
# src/date_gui.cpp
# src/depot_gui.cpp
# src/dock_gui.cpp
# src/economy.cpp
# src/error_gui.cpp
# src/fileio.cpp
# src/fios.cpp
# src/fios_gui.cpp
# src/fontcache/spritefontcache.h
# src/framerate_gui.cpp
# src/game/game_text.cpp
# src/gamelog.cpp
# src/genworld_gui.cpp
# src/gfx_layout_fallback.cpp
# src/group_gui.cpp
# src/highscore_gui.cpp
# src/hotkeys.cpp
# src/industry_cmd.cpp
# src/industry_gui.cpp
# src/landscape.cpp
# src/main_gui.cpp
# src/misc_cmd.cpp
# src/misc_gui.cpp
# src/network/core/tcp_game.cpp
# src/network/core/udp.cpp
# src/network/network_chat_gui.cpp
# src/network/network_content_gui.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/network/network_server.h
# src/newgrf_airport.cpp
# src/newgrf_airport.h
# src/newgrf_airporttiles.cpp
# src/newgrf_airporttiles.h
# src/newgrf_animation_base.h
# src/newgrf_canal.cpp
# src/newgrf_commons.h
# src/newgrf_config.cpp
# src/newgrf_debug_gui.cpp
# src/newgrf_engine.cpp
# src/newgrf_engine.h
# src/newgrf_generic.cpp
# src/newgrf_gui.cpp
# src/newgrf_house.cpp
# src/newgrf_house.h
# src/newgrf_industries.cpp
# src/newgrf_industries.h
# src/newgrf_industrytiles.cpp
# src/newgrf_industrytiles.h
# src/newgrf_object.cpp
# src/newgrf_object.h
# src/newgrf_railtype.cpp
# src/newgrf_railtype.h
# src/newgrf_roadstop.cpp
# src/newgrf_roadstop.h
# src/newgrf_roadtype.cpp
# src/newgrf_roadtype.h
# src/newgrf_spritegroup.cpp
# src/newgrf_spritegroup.h
# src/newgrf_station.cpp
# src/newgrf_station.h
# src/newgrf_town.cpp
# src/newgrf_town.h
# src/news_gui.cpp
# src/object_gui.cpp
# src/order_gui.cpp
# src/os/macosx/crashlog_osx.cpp
# src/os/unix/crashlog_unix.cpp
# src/os/windows/crashlog_win.cpp
# src/os/windows/win32.cpp
# src/os/windows/win32_main.cpp
# src/pathfinder/npf/npf.cpp
# src/pathfinder/npf/queue.cpp
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/road_gui.cpp
# src/roadveh.h
# src/saveload/saveload.cpp
# src/screenshot.cpp
# src/script/api/script_text.hpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/settings_table.cpp
# src/signs_cmd.cpp
# src/signs_gui.cpp
# src/smallmap_gui.cpp
# src/smallmap_gui.h
# src/spriteloader/grf.hpp
# src/station_cmd.cpp
# src/station_gui.cpp
# src/station_map.h
# src/statusbar_gui.cpp
# src/stdafx.h
# src/strgen/strgen.cpp
# src/table/newgrf_debug_data.h
# src/terraform_gui.cpp
# src/timer/timer_game_calendar.cpp
# src/timer/timer_window.cpp
# src/town.h
# src/town_cmd.cpp
# src/town_gui.cpp
# src/train_gui.cpp
# src/transparency_gui.cpp
# src/vehicle_gui.cpp
# src/water_cmd.cpp
# src/waypoint_cmd.cpp
# src/widget.cpp
# src/widget_type.h
# src/widgets/dropdown.cpp
# src/widgets/rail_widget.h
# src/widgets/terraform_widget.h
# src/window.cpp
# src/window_gui.h
6 months ago
Jonathan G Rennison
c929f7075e
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/SourceList.cmake
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/console_cmds.cpp
# src/depot_base.h
# src/elrail.cpp
# src/network/core/udp.cpp
# src/network/network_admin.cpp
# src/network/network_chat_gui.cpp
# src/network/network_gui.cpp
# src/network/network_server.cpp
# src/newgrf.cpp
# src/newgrf_engine.cpp
# src/newgrf_railtype.cpp
# src/newgrf_railtype.h
# src/newgrf_storage.h
# src/os/unix/crashlog_unix.cpp
# src/rail.h
# src/rail_cmd.cpp
# src/rail_gui.cpp
# src/road_cmd.cpp
# src/road_map.h
# src/saveload/labelmaps_sl.cpp
# src/settings_gui.cpp
# src/settings_type.h
# src/sl/oldloader_sl.cpp
# src/station_cmd.cpp
# src/station_gui.cpp
# src/table/settings/world_settings.ini
# src/tests/test_script_admin.cpp
# src/textfile_gui.cpp
# src/toolbar_gui.cpp
# src/train_cmd.cpp
# src/tunnelbridge_cmd.cpp
# src/vehicle_gui.cpp
# src/widget.cpp
# src/window.cpp
# src/window_gui.h
# src/window_type.h
7 months ago
Peter Nelson
bbd64bbe2b
Fix #9545 : Crash when all cargo types are disabled. ( #11432 )
...
This is not a very useful state, but it's nice to not crash.
Some parts of the game don't (yet) check for cargo types being redefined, that is out-of-scope here.
7 months ago
Peter Nelson
18fb8e153f
Codechange: Add __FILE__/__LINE__ of WindowDesc to WindowDesc.
...
This is to allow unit-tests to produce more useful output.
7 months ago
frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
9 months ago
Tyler Trahan
701a61c9af
Codechange: Delete date_type.h
9 months ago
Tyler Trahan
fca2b37726
Codechange: Move Ticks into their own class
9 months ago
Peter Nelson
e8015e497d
Codechange: Use begin/end of nwidget parts of begin/length.
...
This simplifies processing nwidget parts as, unlike the remaining length, the pointer to the end of the list never changes. This is the same principle as we use(d) for tracking end instead of length for C-style strings.
And this removes 160~ instances of the lengthof() macro.
9 months ago
Jonathan G Rennison
87911bdf47
Use bitmath builtins for FindLastBit
10 months ago
Tyler Trahan
c7b51a8c3a
Codechange: Use proper date types in various places ( #11177 )
10 months ago
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
11 months ago
Jonathan G Rennison
d09b504bc5
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release-linux.yml
# .github/workflows/release-macos.yml
# .github/workflows/release-source.yml
# .github/workflows/release.yml
# CMakeLists.txt
# COMPILING.md
# src/ai/ai_core.cpp
# src/ai/ai_gui.cpp
# src/bridge_gui.cpp
# src/company_gui.cpp
# src/console_cmds.cpp
# src/core/CMakeLists.txt
# src/core/smallmap_type.hpp
# src/disaster_vehicle.h
# src/effectvehicle_base.h
# src/fontcache.cpp
# src/game/game_core.cpp
# src/game/game_gui.cpp
# src/gamelog.cpp
# src/gamelog_internal.h
# src/group_gui.cpp
# src/linkgraph/linkgraph.h
# src/misc.cpp
# src/network/core/config.h
# src/network/core/udp.cpp
# src/network/network_chat_gui.cpp
# src/network/network_content_gui.cpp
# src/network/network_gui.cpp
# src/newgrf.cpp
# src/newgrf_gui.cpp
# src/newgrf_profiling.cpp
# src/newgrf_profiling.h
# src/object_gui.cpp
# src/openttd.cpp
# src/openttd.h
# src/order_gui.cpp
# src/os/windows/font_win32.cpp
# src/rail_gui.cpp
# src/road.cpp
# src/road_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/saveload.h
# src/script/api/script_controller.cpp
# src/script/api/script_roadtypelist.cpp
# src/script/script_config.cpp
# src/script/script_config.hpp
# src/script/script_instance.cpp
# src/script/script_scanner.cpp
# src/script/squirrel.cpp
# src/script/squirrel_helper.hpp
# src/settings_gui.cpp
# src/settings_internal.h
# src/settings_type.h
# src/table/settings/network_private_settings.ini
# src/timetable_gui.cpp
# src/vehicle.cpp
# src/vehicle_base.h
# src/window_gui.h
11 months ago
Jonathan G Rennison
2b897e6694
Cargo payment rate graph: Use minutes for x-axis if in minutes mode
...
See: #541
12 months ago
Jonathan G Rennison
b080433394
Cargo payment rate graph: Scale X-axis by day length
...
See: #541
12 months ago
Jonathan G Rennison
f8301f735f
Delivered cargo graph: Add missing overrides, remove unused variable
12 months ago
Jonathan G Rennison
2c91866831
Adjust spacing of buttons in cargo payments rate graph
1 year ago
Jonathan G Rennison
2a5a9c2f9d
Add by cargo mode to company delivered cargo history graph
1 year ago
Jonathan G Rennison
f09dfc79bd
Add cargo type filters to company delivered cargo window
...
Adapted from Citymania
1 year ago
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
1 year ago
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
1 year ago
PeterN
d086f288cd
Codechange: Remove duplicated includes. ( #10888 )
...
These are now included by stdafx.h so don't need to be included again.
1 year ago
Peter Nelson
941dbadf9e
Codechange: Add and use GetScrolledItemFromWidget to get a list item.
...
This function returns an iterator, either to the selected item or the
container's end.
This makes handling the result more robust as indices are not used.
1 year ago
Peter Nelson
d2034d9c38
Codechange: Scrollbar methods now accept size_t.
...
This clears up a lot of casts from size_t to int.
1 year ago
Peter Nelson
e18f688db5
Codechange: Remove various COMMA strings.
1 year ago
Tyler Trahan
6501f84b4a
Codechange: Move calendar date functions inside TimerGameCalendar ( #10753 )
1 year ago
Tyler Trahan
997c936893
Codechange: Don't use bytes for months in graph GUI
1 year ago
Tyler Trahan
930f0a16d8
Codechange: Define Date/Year/Month/Day within TimerGameCalendar class
1 year ago
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
1 year ago
Jonathan G Rennison
508f503039
Fix station cargo graph window
...
See: https://github.com/OpenTTD/OpenTTD/pull/10608
1 year ago
Patric Stout
1ba4dcc924
Codechange: migrate all Window-related timers to the new framework
...
This means we also say goodbye to GUITimers.
1 year ago
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
1 year ago