Age | Commit message (Collapse) | Author |
|
block of vehicle list for all cases (Tron)
|
|
instead of the sort tip
|
|
lists: bottom panel continued behind resize button.
|
|
vehicle list window. As
things won't fit now because of too many buttons, move 'send to depot' and 'autoreplace'
to a dropdown box (and seperate 'send to depot' and 'send for servicing').
The 'New Vehicles' button shows a list of all engines you have available for that vehicle
type (in case of trains all railtypes). Button is only enabled for global list.
|
|
programmatic-resize, and implement it
in a sane way. Correctly specify resize flags for windows and only manually change the
widgets that the resize system cannot handle (eg centering). This changes r6562, and
probably some other commits
|
|
could be invalid after
a call to DeleteWindow() somewhere else. Also do some cleanup with AllowWindowDescFront()
|
|
with the actual window
structs inside their array, and possibly invalidating pointers higher up.
Meaning that any function called within an wndproc could cause unknown/invalid pointers
once control was returned to this function. Solved by the introduction of an extra
abstraction layer, an array of z-window positions that is only concerned with the
pointers.
|
|
window's number.
|
|
positioning WDP_AUTO = -1)
|
|
information from
invalid players (eg spectators) which could lead to crashes.
|
|
vehicle list was not drawn when an engine was not selected.
|
|
is only plain panel,
WWT_IMGBTN must contain an image for drawing. Renamed WWT_PANEL_2 to WWT_IMGBTN_2
because that is what it is. Added WWT_PUSHBTN that is either just a pushable button,
or a textbutton, which text's drawn dynamically independent of widget.
|
|
capacity.
|
|
refittable to in the purchase information window. (mart3p)
|
|
replace window) to allow room for more text. (mart3p)
|
|
instead of using hardcoded values. (mart3p)
|
|
purchase information on the rail vehicle type, not an arbitrary value.
|
|
of pixel lines used, and use it for drawing NewGRF additional text (mart3p)
|
|
The last parameter should point to the end of the buffer (eg lastof(buf))
Courtesy of Tron.
|
|
the {CARGO} command and supply the cargo type and quantity, instead of manually looking up the cargo type's string.
|
|
and match the style of EngineNameSorter(). This also removes a bug where _internal_name_sorter_id was never set properly for anything other than trains.
|
|
pass a StringID
|
|
before... doing anything with them. (Thanks to MeusH for pointing this out...)
|
|
refit window
This was actually not a bug from unifying this window as it was incorrect even before they were merged
|
|
in shared orders and station lists
|
|
SetWindowWidgetsDisabledState() and SetWindowWidgetsHiddenState() to depot and vehicle windows
|
|
don't use it to store data; instead, just get the widget's width.
|
|
1 is always first and so on
This should not be a big slowdown as it's only called each time the list is generated and will normally be much faster than the list generation itself (only a small % of the total number of vehicles is in the depot)
|
|
longer closed by a window event if the list is empty
The window is now closed when the order is deleted.
This is because removing windows from a window event is asking for problems
|
|
This moved a few of the strings and sprites a few pixels. Hopefully this will work out ok.
|
|
classes, so it's possible to redraw all lists of one vehicle type again (instead of all types)
|
|
|
|
DrawWindowWidgets, as it is a bit useless
-Fix(r6562): Use the correct widget index for enabling
|
|
(can only be done in goto depot orders)
Example: make a train transport iron ore from A to B, then it visits a depot and refits to steel
It then transport steel back to A or near A if there is a factory and then it visits another depot to refit to iron ore again
This is controlled in the orders. If a goto depot order is lightlighted, then "Unload" changes to "Refit"
Control click "Refit" removes the refit part of the order (as the tooltip says)
The player will still pay the normal refit costs
Known issues:
If a vehicle is not in a depot, then the refit window will fail to tell refitted cargo capacity
Refit costs in the refit window can sometimes print 0 when it should not because the refit calculation is unaware that the vehicle will be refitted in between
Warning: autoreplace got a protection against replacing something so you get a new cargo type, but it can fail here. In the iron ore/steel example, it can see that
the vehicle carries iron ore and the new one can be refitted to iron ore, then it will replace. It will not check to see that it's valid for steel as well.
This is something to look into in the future
|
|
Another step toward merging XTDwidget.
The only two files not converted (window.h and widget.c) will be done at the very last commit)
|
|
cases.
|
|
different from NULL before assigning data to it
|
|
Another step toward merging XTDwidget.
The only two files not converted (window.h and widget.c) will be done at the very last commit)
|
|
more gui-fu needed...
|
|
scrolled.
|
|
DBsetXL, amongst others. This requires a savegame bump to save the cargo subtype.
|
|
refit window has been altered to support resizing and scrolling. Note that the cargo subtype isn't yet passed for actual refitting yet. (Based on mart3p's patch)
|
|
for each vehicle type
This is a request from translators as depot is not valid for all vehicle types in all translations
This will cause a lot of warnings when generating the lang files. MiHaMiX will fix them in a moment (hopefully)
|
|
vehicles having a certain depot in their orders
It got one known issue though. The top bar got a plural issue so expect to see stuff like "1 trains" until we figure out why it behaves this way
Added the button to the depot windows. Made the autoreplace button bigger while I was moving some widgets anyway
Made road vehicle depot windows start with one more row to make room for the buttons
|
|
allocation over and over if possible (like BuildDepotVehicleList() )
This will prevent some reallocations when sorting vehicle list windows
It also prevents moving the whole array into a new one each time the list is generated/updated (it used to make the list in one array and then move it into another one each time)
Also ensured that neither GenerateVehicleSortList() or BuildDepotVehicleList() will never allocate lists longer than the total number of vehicles in the game
|
|
when drawing the bottom row of buttons
|
|
vehicle lists
|
|
|
|
It made no sense to maintain 8 nearly identically arrays when a single one can do the job
Also made the two buttons always use half of the bottom width each, even when resizing
|
|
code into two new functions to make it easier to see what goes on where
|