Commit Graph

102 Commits (df400ef84a4fb71c4a8491393335ca57283098c9)

Author SHA1 Message Date
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.
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
12 months 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
PeterN 8ea9c1a133
Fix #10880: Crash in object window due to incorrect parameter order. (#10881) 1 year ago
PeterN 07473bfd2e
Fix: Don't use a loop to test if classid is valid. (#10818)
Additionally the Object class test was broken.
1 year ago
Peter Nelson 531d1ae8bc Codechange: Use GetScrolled(Row/Item)FromWidget in more places.
In many instances the clicked row position is 'manually' calculated
instead of using the GetScrolledRowFromWidget helper function, with
variations on checks. Replace with the two helpers where possible.
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 0880616851 Codechange: Remove various STRING strings. 1 year ago
Tyler Trahan ba3de0383a
Codechange: Pass more std::string to StringFilter::AddLine() (#10743) 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
Peter Nelson 82c70ed3b8 Change: Expose ObjectSpec vector to simplify iteration. 1 year ago
Peter Nelson 1f46f080f0 Codechange: Store objectspecs in std::vector instead of flat array. 1 year ago
Tyler Trahan 066ae6f3fb Codechange: Simplify some CodeQL-flagged trivial switches 1 year ago
Rubidium f001e84e5e Codechange: use RAII to automatically restore _cur_dpi after use 1 year ago
Rubidium fe2bcd2a58 Codechange: migrate size related functions to Map structure 1 year ago
PeterN 09a32f2ce1
Fix #10335: Set initial scrollbar count for object GUI. (#10336)
This previously happened when the window was resized by itself which was fixed by #10196. Explicitly set the count instead.
1 year ago
PeterN eaf1e33bd7
Fix #10021: Object GUI resized when switching between different objects. (#10196)
* Fix: Scale object gui margin by interface scale.

* Fix: Improve padding on object info text.

* Fix #10021: Resizing for 1/2/4 object views didn't account for interface scale.

As halving and doubling padding is problematic due to rounding, it is now
added on lower view counts instead of removing on higher view counts.
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 b6ed595176 Codechange: Prefer suggested widget padding. 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
Tyler Trahan 3d45bc4abe Feature: Build objects by area 2 years ago
Andy 039f90d05f
Feature: add sticky pin to Object Selection UI panel (#10019) 2 years ago
Andy a06d323f03
Feature: add shade widget to Object Selection UI panel (#10020) 2 years ago
Michael Lutz c521b965bd Codechange: Don't use a global for the terrforming error tile. 3 years ago
Michael Lutz 58cff7b081 Codechange: Un-bitstuff the remaining on-map commands. 3 years ago
Michael Lutz 0f64ee5ce1 Codechange: Template DoCommandP to automagically reflect the parameters of the command proc.
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
3 years ago
Michael Lutz 123c7f99c3 Codechange: Move command callback declarations to the cmd header files. 3 years ago
Michael Lutz a38bbefe1b Codechange: Untangle command code, flags and error string for DoCommand*. 3 years ago
Michael Lutz 549caca39c Codechange: Move command arguments to the back of the networked command function calls. 3 years ago
Tyler Trahan 66620b497b
Fix #8603: Don't give focus to text filter when opening Object GUI (#9547) 3 years ago
Peter Nelson 7385e780ac Cleanup: nested_array should not be accessed directly.
Replace accesses with GetWidget() as documented.
3 years ago
Didac Perez Parera e760c9fbec
Fix: adjust object and rail station selection window padding to be consistent (#8929)
consistent
3 years ago
stormcone bde5396d11 Add: Hotkey to focus the build object class name filter editbox. 3 years ago
Patric Stout fece1c57ca
Codechange: Suppress warnings when asserts are disabled (#8917) 3 years ago
Didac Perez Parera 3878c4781e
Fix #8817: keep NewGRF order for object class sorting (#8818) 3 years ago
SamuXarick cb95b1d2e7 Codechange: Apply coding style 3 years ago
Didac Perez Parera 96990b2ea7
Feature: Object class selection string filtering (#8603) 3 years ago
Charles Pigott 9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 4 years ago
S. D. Cloudt 13cc8a0cee Cleanup: Removed SVN headers 5 years ago
Henry Wilson 7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 5 years ago
peter1138 317f69c152 Codechange: Use override specifier in Window-derived classes. 5 years ago
Charles Pigott f5b1115039 Doc: Lots and lots of doxymentation fixes 6 years ago
frosch fbd2786329 (svn r27438) -Fix (r27346) [FS#6387]: The build object hotkey no longer checked whether there were any objects defined. 9 years ago
alberth 4f49d636c1 (svn r27346) -Feature: Make the object placement gui an independent window. 9 years ago
alberth a62468bed6 (svn r27345) -Fix-ish: Hide selected view if no object selected. 9 years ago
frosch a8080b6256 (svn r27134) -Codechange: Simplify GUI scaling by adding UnScaleGUI() and ScaleGUITrad(). 10 years ago
peter1138 587ad940cc (svn r26950) -Codechange: GUI-scale dancing for NewGRF objects window. 10 years ago
frosch 1b0929a9f0 (svn r26640) -Cleanup: Remove some pointless STR_JUST_STRING detours. 10 years ago