Jonathan G Rennison
a1eefaecd5
NWidgetStacked: Allow treating planes independentally for layout
2023-08-27 13:36:37 +01:00
Jonathan G Rennison
668a0f774a
Window: Add accessors for cached NWidgetLeaf dimensions
2023-08-26 22:15:05 +01:00
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
2023-07-01 02:42:51 +01:00
Jonathan G Rennison
02549c5224
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/cargomonitor.cpp
# src/core/CMakeLists.txt
# src/economy.cpp
# src/landscape.cpp
# src/linkgraph/flowmapper.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/linkgraphschedule.cpp
# src/misc_gui.cpp
# src/newgrf_generic.cpp
# src/newgrf_storage.cpp
# src/rail_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/station_sl.cpp
# src/script/script_gui.cpp
# src/station_cmd.cpp
# src/station_gui.cpp
# src/string_func.h
# src/terraform_cmd.cpp
2023-06-08 00:01:38 +01:00
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
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
b381a30d2d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/base_media_func.h
# src/cargopacket.h
# src/gfxinit.cpp
# src/industry_cmd.cpp
# src/window_gui.h
2023-05-26 20:08:05 +01:00
PeterN
40f567d464
Fix #10811 : Crash getting row from non-resizable widget. ( #10833 )
...
GetScrolled*FromWidget took line height from the widget's resize_y value,
however not all widgets are resizable, resulting in a division-by-zero.
Allow passing line height explicitly in cases where a widget is not
resizable.
2023-05-15 18:57:50 +01:00
Patric Stout
7634553d22
Feature: opt-in survey when exiting a game
...
On first start-up, the game will ask if you want to participate
in our automated survey. You have to opt-in, and can easily opt-out
(via the Options) at any time.
When opt-in, whenever you exit a game, a JSON blob will be send
to the survey server hosted by OpenTTD. This JSON blob contains
information that gives a global picture of the game just played:
- What settings were used
- How many humans vs AIs
- How long the game has been played
- Basic information about the OS / CPU
All this information is kept very generic, so there is no
chance we send private information to our survey server.
Nothing in the JSON blob could identify you as a person; it
mostly tells about the game played. At any time you can see
what the JSON blob includes, by pressing the "Preview Survey
Results" button in-game.
2023-05-14 23:22:02 +02:00
PeterN
da7f431812
Cleanup: widget pos_x/y are already int. ( #10809 )
...
Remove old casts left over from when pos_x/y were unsigned.
2023-05-12 18:02:51 +01:00
PeterN
6998fbf71d
Fix: WWT_TEXT with SetTextStyle did not work. ( #10797 )
...
FontSize was passed to incorrect parameter of DrawString function.
2023-05-09 17:23:37 +00:00
Peter Nelson
35ba49bfb4
Change: Rename text colour NWidgetPart to SetTextStyle and add font size.
...
This allows to set both text colour and size for any widget with default
drawing.
2023-04-30 11:47:53 +01:00
Peter Nelson
55d981aec3
Add: Helper to update widget vertical size.
...
This avoids directly setting min_y outside widget code.
2023-04-25 13:27:22 +01:00
Jonathan G Rennison
c89079a210
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/saveload/cargopacket_sl.cpp
# src/saveload/saveload.h
# src/strings.cpp
# src/vehicle.cpp
2023-04-12 20:02:57 +01:00
Peter Nelson
d93f96a442
Fix: Account for extra dropdown list padding.
2023-04-12 18:43:15 +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
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
2023-01-29 07:21:34 +01:00
Rubidium
f001e84e5e
Codechange: use RAII to automatically restore _cur_dpi after use
2023-01-28 20:33:02 +01:00
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
2022-12-17 23:19:23 +00:00
PeterN
c448eb04d8
Fix #10242 : Allow a space for text shadow when clipping WWT_EMPTY/WWT_TEXT. ( #10243 )
2022-12-15 23:21:10 +00:00
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
2022-12-04 20:43:11 +00:00
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
2022-12-04 13:53:44 +00:00
Jonathan G Rennison
5bbf1f5375
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/core/geometry_type.hpp
# src/error_gui.cpp
# src/rail_gui.cpp
# src/tree_gui.cpp
# src/vehicle_gui.cpp
# src/widgets/dropdown.cpp
2022-12-03 23:40:37 +00:00
Peter Nelson
1260e51d84
Add: Define scaled WidgetDimensions.
...
Includes RectPadding container.
(cherry picked from commit b5693becdc
)
2022-12-03 22:28:49 +00:00
Peter Nelson
9bf24ec56f
Codechange: Reorder and properly declare DrawSpriteIgnorePadding().
...
Parameters have been rearranged to be closer to those of the standard
DrawSprite() function, and PaletteID can now be set.
2022-11-17 09:12:07 +00:00
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.
2022-11-12 18:28:39 +00:00
Peter Nelson
f5f035a22b
Codechange: Make use of Rect Width/Height helpers.
2022-11-12 18:28:39 +00:00
Peter Nelson
ed60c88b0a
Change: Use power-of-2 scaling for some dimensions in GUI.
...
These are related to drawing sprites that are normally drawn on the
landscape, and should therefore still follow power-of-2 scaling to fit
correctly.
2022-11-12 18:28:39 +00:00
Peter Nelson
23a8222200
Change: Split vscroll and hscroll padding.
...
Vertical and horizontal scrollbars are different sizes, this allows
different padding for each type.
2022-11-12 18:28:39 +00:00
Peter Nelson
90ce704366
Change: Use scaled WidgetDimensions for core widgets.
2022-11-12 18:28:39 +00:00
Peter Nelson
dd90d79e7b
Add: Setting to toggle thin vs chunky (scaled) bevels.
2022-11-12 18:28:39 +00:00
Peter Nelson
0bb9a45785
Change: Simplify drawing widget image buttons.
2022-11-12 18:28:39 +00:00
Peter Nelson
e554fd7808
Change: Hide WidgetDrawDistances from general use.
2022-11-12 18:28:39 +00:00
Peter Nelson
d0add1e07f
Change: Ignore offsets when drawing GUI sprite.
2022-11-12 18:28:39 +00:00
Peter Nelson
890b2666d3
Change: Use scaled WidgetDimensions.
2022-11-12 18:28:39 +00:00
Peter Nelson
b5693becdc
Add: Define scaled WidgetDimensions.
...
Includes RectPadding container.
2022-11-12 18:28:39 +00:00
Peter Nelson
0108e9f387
Change: Set up suggested widget padding for panel, frame and inset.
...
Window handlers are free to ignore the suggested padding, however some
handlers have logic that assumes this information was already provided.
2022-11-12 18:28:39 +00:00
Peter Nelson
68423c40c5
Fix: Off-by-one in GetAlignedPosition().
2022-11-12 18:28:39 +00:00
Peter Nelson
dd9f6bc803
Change: Use RectPadding Horizontal()/Vertical() helpers.
2022-11-12 18:28:39 +00:00
Peter Nelson
04cbe57d2a
Change: Use RectPadding for widget padding/uz_padding.
2022-11-12 18:28:39 +00:00
Jonathan G Rennison
7685c36f35
Implement partial parallelisation of non-map mode viewport rendering
2022-11-09 22:24:31 +00:00
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
2022-11-05 19:24:44 +00:00
PeterN
f24286a1ae
Fix: Ensure 31-bit shifts are unsigned. ( #10128 )
...
Shifting a signed 32-bit integer by 31 bits is undefined behaviour.
A few more than necessary are switched to unsigned for consistentency.
2022-11-04 07:15:59 +00:00
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
2022-10-16 20:14:13 +01:00
Peter Nelson
ba94efba87
Change: Add flag to apply resize to largest resize step first.
...
Resize step is normally allocated equally amongst all resizable widgets.
With this flag, we allocate as much as possible from the largest
resize step first.
2022-10-16 14:56:34 +02:00
Peter Nelson
296af146fb
Change: Default widget text colour to black.
...
TC_FROMSTRING really means blue, and we almost never actually use
blue text.
2022-10-16 14:24:51 +02:00
Jonathan G Rennison
ffef1c9e44
Merge branch 'master' into jgrpp-beta
...
# Conflicts:
# src/saveload/cargopacket_sl.cpp
# src/saveload/cheat_sl.cpp
# src/saveload/company_sl.cpp
# src/saveload/engine_sl.cpp
# src/saveload/map_sl.cpp
# src/saveload/order_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_gui.cpp
# src/settings_internal.h
# src/stdafx.h
# src/table/settings/settings.ini
# src/town_cmd.cpp
# src/vehicle.cpp
2021-10-25 18:10:15 +01:00
Patric Stout
28e90769f7
Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
...
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
2021-06-03 17:30:00 +02:00
PeterN
d274a81d3f
Fix: Apply unscaled padding to Viewport inside WWT_INSET. ( #9219 )
...
Since pixel dimensions in SetPadding() are scaled by GUI size, padding for inset viewports was excessive.
Instead, automatically apply padding for WWT_INSET at widget level. This applies to all widgets inside a WWT_INSET, which in all instances is a NWID_VIEWPORT.
(cherry picked from commit 330a305c99
)
2021-05-30 22:06:56 +01:00
PeterN
330a305c99
Fix: Apply unscaled padding to Viewport inside WWT_INSET. ( #9219 )
...
Since pixel dimensions in SetPadding() are scaled by GUI size, padding for inset viewports was excessive.
Instead, automatically apply padding for WWT_INSET at widget level. This applies to all widgets inside a WWT_INSET, which in all instances is a NWID_VIEWPORT.
2021-05-08 21:01:16 +01:00