Commit Graph

633 Commits (f120d2beb8cbbc34ac4d1e7312a656182cf3f006)

Author SHA1 Message Date
Patric Stout 0238a2b567
Codechange: use std::variant instead of using bitflags in the value (#11191) 1 year ago
Patric Stout b7acf9e50e
Codechange: use TimerGameCalendar::Year and friends when working with years (#11188) 1 year ago
Tyler Trahan 6190f48df0
Codechange: Add a DateToYear function instead of dividing each time (#11173) 1 year ago
Tyler Trahan 93069066f9
Codechange: Use auto type when sorting dates (#11175) 1 year 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
1 year ago
PeterN 2a2443dd01
Feature: Create group of vehicles from manage vehicle list button. (#10890) 1 year ago
PeterN f814c86389
Codechange: Reorganise hotkey initialisation. (#10951)
Hotkeys are now initialized inline, and use std::vector instead of
separate static C-arrays and std::string instead of char *. The list end
marker is no longer required.
1 year ago
Peter Nelson 2511649938 Codechange: Use window parent association for dropdowns.
This replaces the separate window class and number properties, and
allows the window system to close dropdowns automatically.
1 year ago
Rubidium f29606fd14 Codechange: use std::string to cache engine/group/vehicle names 1 year ago
Peter Nelson f177ce7c9a Codechange: Base CargoArray off std::array.
This avoids needing to define array accessors and allows use of
default value initialization.
1 year ago
Rubidium 3323402aaa Codechange: rename smallvec_type to container_func and use only when needed 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 bf9caa425b Change: Units-system can convert from N to kN, don't preconvert.
This allows force to passed as is and avoid premature rounding.

The AI function "GetMaxTractiveEffort" still needs to return kN to avoid breaking the API.
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
Rubidium 19ec4e8beb Codechange: replace ClampToI32/U16 with ClampTo<int32_t/uint16_t> 1 year ago
glx22 045a99dd23 Codechange: Remove STR_TINY_RIGHT_ARROW 1 year ago
glx22 222e37d319 Codechange: Remove TINY_BLACK_STATION 1 year ago
glx22 b2a36ff3cc Codechange: Remove STR_TINY_GROUP and STR_TINY_BLACK_VEHICLE 1 year ago
Peter Nelson 0880616851 Codechange: Remove various STRING strings. 1 year ago
Peter Nelson e18f688db5 Codechange: Remove various COMMA strings. 1 year ago
Rubidium c829930440 Codechange: replace strnatcmp with C++ string capable version 1 year ago
Tyler Trahan 930f0a16d8 Codechange: Define Date/Year/Month/Day within TimerGameCalendar class 1 year ago
Peter Nelson 06b78a7299 Fix: Don't double-pad existing size when adding widget padding.
UpdateWidgetSize's size parameter already includes padding.
1 year ago
PeterN f1144de509
Feature: Separate rail/road and sea/air velocity units, and add knots. (#10594)
This is achieved by packing vehicle type along with the velocity so that
the string system can decode and pick the appropriate unit.
1 year ago
rubidium42 6ba55e663e Codechange: do not hide variables with other variables 2 years 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.
2 years ago
Jonathan G Rennison 10e76b2788 Fix #10032: Capacities of articulated vehicles in build window
See also: #9954
2 years ago
PeterN f7e2b6ef12
Change: Make vehicle list dropdown buttons resize to fit strings. (#10286) 2 years ago
PeterN 7b5edba76c
Change: Support flipping shorter engines without NewGRF support. (#10262)
* Change: Support flipping shorter engines without NewGRF support.
* Cleanup: Remove write-only prop27_set temporary flag.
2 years ago
PeterN 03c1b5169c
Fix #10260: Incorrect rect height drawing image in vehicle details. (#10261) 2 years ago
PeterN 1eecbd39ed
Change: Use lowered not disabled widget for current tab. (#10252)
While tab-buttons are not often used, all other similar occurences use
lowered rather than disabled widgets, so use them for train detail
window too.
2 years ago
PeterN a7ffd47c64
Fix #10191: Incorrect refit highlight position. (#10195)
Refit highlight was not correct for non-power-of-2 interface scale.
2 years ago
Bernard Teo 8a78fa7121
Feature: Contextual actions for vehicles grouped by shared orders (#8425) 2 years ago
stormcone e29547a3a2
Feature: Show the cargoes the vehicles can carry in the vehicle list window (#8304) 2 years ago
PeterN 53682b4b6b
Fix #10114: Wonky depot layout. (#10191)
Depot lists internal layout was not handled well. This is improved by
throwing more Rects at it:
- Vehicle images are now be vertically centred in the rect.
- Image clipping is relaxed to cover the rect, improving larger sprites.
- Outline highlight is now aware of bevel thickness.
2 years ago
Peter Nelson 60404c3aea Fix #8770: Centre vehicle status bar icon.
The icon is now centred within its scaled bounding box, which intentionally
leaves a little space around the icon when not at 1/2/4x scale.
2 years ago
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.
2 years ago
Peter Nelson 890b2666d3 Change: Use scaled WidgetDimensions. 2 years ago
Peter Nelson c9a81fd67b Change: Use Rect for drawing vehicle details. 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
Peter Nelson f5f035a22b Codechange: Make use of Rect Width/Height helpers. 2 years ago
Peter Nelson eb4ba1991b Change: Use CenterBounds function in more places.
CenterBounds may have a 1 pixel difference so the result is not exactly
the same.
2 years ago
Artin Alavi fd4f148c62
Feature: Hotkey to honk a vehicle's horn (#10110) 2 years ago
stormcone 0d303d6c3f
Feature: Add cargo filter support to vehicle list. (#8308) 2 years ago
Henry Wilson 59dbcdb5ba Feature: Display power-to-weight ratio in ground vehicle details GUI 2 years ago
Nicolas Chappe a9a21e784d Codechange: Always set the ODATFB_NEAREST_DEPOT flag for 'any depot' orders 2 years ago
Bouke Haarsma 93d2d4590f Fix #9995: Adjust viewport zoom level for HiDPI displays
On HiDPI screens the zoom level is increased for detailed rendering. This causes hard-coded zoom levels to be off by this adjustment. To fix these default zoom levels, we scale the zoom level based on `_gui_zoom` to get the scaled zoom level.
2 years ago
Tyler Trahan 164ec3ac07
Fix: Disable "turn around" button for other companies' road vehicles (#10033) 2 years ago
Niels Martin Hansen e68bf58989 Codechange: Use anonymous union for vehicle orders/old orders list 3 years ago
frosch 8028794bee
Fix #9811, 9156d7b: Use the NewGRF-defined vehicle center when dragging ships and aircraft. (#9812)
The alignment using the total-width of the vehicle-chain was meant for articulated trains and road vehicles only.
3 years ago