Peter Nelson
ae575a7a5b
Codechange: Store text run positions in vector of points.
...
This simplifies the interlaced vector of x/y positions.
2024-01-19 00:08:31 +00:00
Rubidium
2f8de227dc
Remove: unused OTTD_ALIGNMENT define and ReadLE16(Un)aligned
2024-01-18 23:29:15 +01:00
Jonathan G Rennison
888b7b5dce
Add a simple 64 bit to 64 bit hash (from MurmurHash3)
2024-01-18 21:49:30 +00:00
Rubidium
47c0184a0b
Codechange: replace ROR/ROL with std::rotr/rotl
2024-01-17 23:05:40 +01:00
Patric Stout
fd073a2810
Remove: replace custom span with std::span
2024-01-17 00:25:08 +01:00
Rubidium
aa5ba5bd7f
Codechange: allow certain enumeration to be added
...
Otherwise C++20 doesn't like it.
2024-01-16 23:30:23 +01:00
Peter Nelson
a5b6e17556
Codechange: Make geometry methods constexpr.
2024-01-16 21:57:05 +00:00
Jonathan G Rennison
97e6f3062e
Adding of _t to (u)int types, and WChar to char32_t
...
See: eaae0bb5e
2024-01-07 17:20:41 +00:00
Jonathan G Rennison
55d78a23be
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/3rdparty/squirrel/include/squirrel.h
# src/blitter/32bpp_sse_func.hpp
# src/bridge_map.h
# src/clear_map.h
# src/company_manager_face.h
# src/console_func.h
# src/core/bitmath_func.hpp
# src/core/endian_func.hpp
# src/core/random_func.hpp
# src/depot_map.h
# src/elrail_func.h
# src/fontcache.h
# src/industry_map.h
# src/map_func.h
# src/newgrf_spritegroup.h
# src/object_map.h
# src/rail.h
# src/rail_map.h
# src/road_func.h
# src/road_map.h
# src/saveload/saveload.h
# src/saveload/saveload_error.hpp
# src/settings_gui.cpp
# src/sl/oldloader.h
# src/sprite.h
# src/spritecache.h
# src/station_func.h
# src/station_map.h
# src/story_base.h
# src/strings_func.h
# src/tile_cmd.h
# src/tile_map.h
# src/tile_type.h
# src/town.h
# src/town_map.h
# src/tree_map.h
# src/tunnel_map.h
# src/tunnelbridge_map.h
# src/vehicle_func.h
# src/viewport_func.h
# src/void_map.h
# src/water.h
# src/water_map.h
# src/widget_type.h
2024-01-07 15:00:16 +00:00
Rubidium
3a676a5af0
Codechange: replace static inline with static for non-class functions
2024-01-06 13:37:33 +01:00
Jonathan G Rennison
7f6b1d6b94
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/company_func.h
# src/core/overflowsafe_type.hpp
# src/engine.cpp
# src/music/midifile.cpp
# src/network/network_command.cpp
# src/newgrf_debug_gui.cpp
# src/newgrf_roadstop.h
# src/newgrf_spritegroup.cpp
# src/os/macosx/crashlog_osx.cpp
# src/os/unix/crashlog_unix.cpp
# src/pathfinder/yapf/yapf_common.hpp
# src/road_gui.cpp
# src/saveload/engine_sl.cpp
# src/script/api/script_depotlist.cpp
# src/script/api/script_roadtypelist.cpp
# src/settings_gui.cpp
# src/settings_type.h
# src/strings.cpp
# src/table/settings/game_settings.ini
2024-01-05 13:37:52 +00:00
Rubidium
e3f49ee7a0
Codechange: coding style fixes
2024-01-04 16:23:54 +01:00
Jonathan G Rennison
f457f306ce
Add std::unique_ptr<T[]> wrapper (UniqueBuffer) which also stores the size
2023-12-30 20:43:36 +00:00
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
2023-12-23 13:26:55 +00:00
Jonathan G Rennison
4689113553
Debug: De-duplicate formatting of hex dates for desync/random logging
2023-12-19 17:55:57 +00:00
Jonathan G Rennison
03e0ec8276
Strong typedef: Use strong typedefs for date, date tick, minutes types
...
Add delta types
Adjust/add type conversion functions
Add various utility methods on types
Remove the various minute macros
Fix some minute conversion inconsistencies
2023-12-19 02:39:54 +00:00
Jonathan G Rennison
1e7b56e13a
Strong typedef: Add missing ClampTo, IsInsideMM specialisations
2023-12-19 02:23:23 +00:00
Jonathan G Rennison
1d23ae5fdd
Strong typedef: Add edit_base() method to return a base reference
2023-12-19 02:23:23 +00:00
Jonathan G Rennison
8d0506412c
Strong typedef: Add mixin for integer with "delta" behaviour
...
Subtracting returns a separate delta type
e.g. for absolute times to durations
2023-12-19 02:23:23 +00:00
Jonathan G Rennison
25d9d24f94
Strong typedef: Add mixin for scalable integer
2023-12-18 23:08:24 +00:00
Jonathan G Rennison
a6baa29f0c
Core: Add missing strong_typedef_type.hpp
2023-12-18 19:15:15 +00:00
Jonathan G Rennison
80eae8c468
Fix missing header reference in src/core/CMakeLists.txt
2023-12-18 17:35:56 +00:00
Jonathan G Rennison
5ae74ecf8e
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/articulated_vehicles.cpp
# src/articulated_vehicles.h
# src/autoreplace_cmd.cpp
# src/build_vehicle_gui.cpp
# src/company_gui.cpp
# src/core/format.hpp
# src/genworld_gui.cpp
# src/gfx.cpp
# src/group_gui.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/misc/endian_buffer.hpp
# src/music/music_driver.hpp
# src/newgrf_gui.cpp
# src/rail_cmd.cpp
# src/road_gui.cpp
# src/settings_type.h
# src/strgen/strgen.cpp
# src/strings.cpp
# src/timetable_cmd.cpp
# src/town.h
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
# src/widget.cpp
# src/widgets/dropdown.cpp
# src/widgets/road_widget.h
2023-12-17 00:37:16 +00:00
Peter Nelson
102fc6a9d1
Cleanup: iif should be iff (if-and-only-if) ( #11570 )
2023-12-10 12:05:28 +00:00
Peter Nelson
62e4d1e507
Codechange: Dimension must have both width and height.
...
Default parameters allowed Dimension to be constructed with only a width.
Instead use separate empty and width/height constructors to ensure that either none or both are provided.
2023-12-02 15:23:05 +00:00
Jonathan G Rennison
ea6be942a3
Fix assert ifdefs in src/core/poll_func.hpp
2023-12-01 21:35:01 +00:00
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
2023-11-29 20:42:29 +00:00
Jonathan G Rennison
2a31095118
Merge branch 'master' into jgrpp
...
# Conflicts:
# regression/regression/result.txt
# src/aircraft_cmd.cpp
# src/airport_gui.cpp
# src/articulated_vehicles.cpp
# src/console_cmds.cpp
# src/date_gui.cpp
# src/engine.cpp
# src/genworld_gui.cpp
# src/gfx_layout_fallback.cpp
# src/group_gui.cpp
# src/hotkeys.cpp
# src/network/core/tcp_connect.cpp
# src/network/core/tcp_listen.h
# src/newgrf.cpp
# src/newgrf.h
# src/newgrf_engine.cpp
# src/newgrf_gui.cpp
# src/newgrf_station.cpp
# src/openttd.cpp
# src/order_gui.cpp
# src/os/macosx/osx_main.cpp
# src/pathfinder/yapf/yapf_node_rail.hpp
# src/rail_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/cargopacket_sl.cpp
# src/saveload/linkgraph_sl.cpp
# src/saveload/station_sl.cpp
# src/script/api/script_industrytype.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/settings_table.cpp
# src/settingsgen/settingsgen.cpp
# src/station.cpp
# src/station_cmd.cpp
# src/strings.cpp
# src/timer/timer_game_calendar.cpp
# src/timer/timer_game_calendar.h
# src/timer/timer_manager.h
# src/timer/timer_window.cpp
# src/timetable_cmd.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/town_gui.cpp
# src/train_gui.cpp
# src/vehicle_cmd.h
# src/vehicle_gui.cpp
# src/viewport.cpp
# src/widgets/dropdown.cpp
# src/window_func.h
# src/window_gui.h
2023-11-25 13:30:06 +00:00
Jonathan G Rennison
154df0bb7d
Fix some unused variable warnings when asserts are disabled
2023-11-20 23:59:08 +00:00
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
2023-11-20 22:27:05 +00:00
Peter Nelson
7d48a3f073
Codechange: Move RectPadding::zero definition to header. ( #11461 )
...
This potentially allows better inlining/optimization.
2023-11-16 17:07:29 +00:00
Jonathan G Rennison
c7f9218fa5
Fix narrowing conversion warning in ring_buffer.hpp
2023-11-09 20:30:03 +00:00
Peter Nelson
d4008850e3
Codechange: Ensure function opening {
is on new line.
2023-11-09 20:15:38 +00:00
Jonathan G Rennison
3436e0a781
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/error.h
# src/error_gui.cpp
# src/linkgraph/linkgraph_gui.cpp
# src/misc_gui.cpp
# src/newgrf_gui.cpp
# src/news_gui.cpp
# src/rail_cmd.cpp
# src/saveload/gamelog_sl.cpp
# src/script/api/script_text.cpp
# src/script/script_instance.cpp
# src/statusbar_gui.cpp
# src/strings.cpp
# src/strings_func.h
# src/strings_internal.h
# src/table/settings/gui_settings.ini
# src/table/settings/linkgraph_settings.ini
# src/textbuf_gui.h
2023-11-09 01:55:23 +00:00
Peter Nelson
ab535c0a86
Codechange: Add base() method to StrongType to allow access to the base type without casting. ( #11445 )
...
This removes the ability to explicitly cast to the base type, but the requirement
to use .base() means the conversion is still explicit.
2023-11-06 20:29:35 +00:00
Rubidium
c6411168d8
Cleanup: missing spaces before continuation * in some comments
2023-11-01 22:56:11 +01:00
Rubidium
c9276c2959
Codechange: replace x.size() == 0 with x.empty()
2023-10-20 23:05:43 +02:00
Peter Nelson
49dae08a3b
Codechange: Add missing override specifiers.
2023-09-25 21:27:45 +01:00
frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
2023-09-19 22:49:59 +02:00
Jonathan G Rennison
c8817d7f4e
Merge branch 'master' into jgrpp
...
# Conflicts:
# os/macosx/notarize.sh
# src/3rdparty/CMakeLists.txt
# src/3rdparty/squirrel/squirrel/sqcompiler.cpp
# src/3rdparty/squirrel/squirrel/sqdebug.cpp
# src/3rdparty/squirrel/squirrel/sqvm.cpp
# src/console_cmds.cpp
# src/core/span_type.hpp
# src/crashlog.cpp
# src/currency.h
# src/date_gui.cpp
# src/driver.cpp
# src/fios.cpp
# src/genworld_gui.cpp
# src/hotkeys.cpp
# src/misc_gui.cpp
# src/music/os2_m.cpp
# src/network/core/os_abstraction.h
# src/network/network_server.cpp
# src/newgrf.cpp
# src/newgrf_config.h
# src/newgrf_text.cpp
# src/openttd.cpp
# src/os/macosx/font_osx.cpp
# src/os/macosx/misc_osx.cpp
# src/os/os2/CMakeLists.txt
# src/os/os2/os2.cpp
# src/os/unix/CMakeLists.txt
# src/os/windows/font_win32.cpp
# src/os/windows/win32_main.cpp
# src/saveload/saveload.cpp
# src/script/api/script_text.cpp
# src/settings.cpp
# src/settings_gui.cpp
# src/stdafx.h
# src/strings.cpp
# src/timetable_gui.cpp
# src/town_gui.cpp
# src/train_cmd.cpp
# src/video/dedicated_v.cpp
# src/video/video_driver.cpp
# src/video/win32_v.cpp
# src/viewport.cpp
# src/waypoint_gui.cpp
# src/widgets/dropdown_type.h
# src/window.cpp
# src/window_gui.h
2023-09-12 20:06:47 +01:00
Jonathan G Rennison
1b61dfabe3
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_gui.cpp
# src/core/math_func.hpp
# src/highscore.cpp
# src/tests/math_func.cpp
2023-09-12 18:25:49 +01:00
Jonathan G Rennison
a48a3ac07b
Fix 87911bdf
: Fix FindLastBit for unsigned long long (uint64 on Windows)
...
See: #594
2023-09-05 00:39:44 +01:00
Jonathan G Rennison
c0598d34bf
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/console.cpp
# src/os/os2/os2.cpp
# src/os/unix/font_unix.cpp
# src/strgen/strgen.h
# src/strgen/strgen_base.cpp
# src/table/settings/gui_settings.ini
2023-09-02 20:48:58 +01:00
Jonathan G Rennison
46f5fb9f25
Sprite cache: Allow caching only required subset of sprite zoom levels
...
Enable for blitters based on 32bpp_optimized or SSE
2023-08-22 22:16:04 +01:00
Jonathan G Rennison
e912cfc19d
Ring buffer: Use as backing for std::queue uses
2023-08-19 15:28:45 +01:00
Jonathan G Rennison
b59a8dc21c
Ring buffer: Don't apply const when dereferencing iterators
2023-08-19 13:54:52 +01:00
Jonathan G Rennison
0c634edef5
Ring buffer: Add erase
2023-08-19 13:47:14 +01:00
Jonathan G Rennison
877e301c5a
Ring buffer: Add multi-value insert
2023-08-19 13:04:48 +01:00
Jonathan G Rennison
bdfdb9808a
Ring buffer: Add iterator conversions
2023-08-19 12:25:15 +01:00
Jonathan G Rennison
8d2911fe29
Ring buffer: Add swap function, make move (swap) assignment noexcept
2023-08-19 12:16:33 +01:00