summaryrefslogtreecommitdiff
path: root/vehicle_gui.c
AgeCommit message (Collapse)Author
2007-01-02(svn r7759) -Merge: makefile rewrite. This merge features:rubidium
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
2006-12-26(svn r7565) -Codechange: Rework DEBUG functionality. Look for appropiate ↵Darkvater
debugging levels to use in debug.h. grfmsg() is now used as a specific debug-function for grf.
2006-12-09(svn r7450) -Codechange: Remove dead code, caption is set in the next switch ↵Darkvater
block of vehicle list for all cases (Tron)
2006-12-08(svn r7435) -Fix (r7418): Add proper tooltips to the manage list button ↵Darkvater
instead of the sort tip
2006-12-07(svn r7431) -Fix (r7418): GUI glitch when viewing other player's vehicle ↵peter1138
lists: bottom panel continued behind resize button.
2006-12-07(svn r7418) -Codechange/Feature: Put back the 'New Vehicles' button in the ↵Darkvater
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.
2006-12-07(svn r7410) -Codechange/Fix: Remove useless and unfollowable ↵Darkvater
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
2006-11-18(svn r7206) -Codechange: Remove (some of) the magic needed for windows that ↵Darkvater
could be invalid after a call to DeleteWindow() somewhere else. Also do some cleanup with AllowWindowDescFront()
2006-11-18(svn r7205) -Fix [FS#350, SF#1560913]: Window allocation and deletion messed ↵Darkvater
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.
2006-11-11(svn r7129) -Codechange: Get rid of a global variable that only sets a ↵Darkvater
window's number.
2006-11-10(svn r7128) -Codechange: Replace magic numbers by magic enums (windowdesc ↵Darkvater
positioning WDP_AUTO = -1)
2006-10-31(svn r7022) -Fix [FS#292]: Properly guard against viewing company-sensitive ↵Darkvater
information from invalid players (eg spectators) which could lead to crashes.
2006-10-31(svn r7009) - Fix (r1323, r1326): In the replace vehicle window, the left ↵peter1138
vehicle list was not drawn when an engine was not selected.
2006-10-24(svn r6925) -Codechange: Be more strict with widget distinctions. WWT_PANEL ↵Darkvater
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.
2006-10-24(svn r6920) - Codechange: Ignore refit options of an engine if it has no ↵peter1138
capacity.
2006-10-23(svn r6912) - Feature: Show a list of cargo types that a vehicle is ↵peter1138
refittable to in the purchase information window. (mart3p)
2006-10-23(svn r6911) - Codechange: Add extra space to all purchase windows (and the ↵peter1138
replace window) to allow room for more text. (mart3p)
2006-10-23(svn r6910) - Codechange: Supply width of area when drawing purchase info ↵peter1138
instead of using hardcoded values. (mart3p)
2006-10-23(svn r6909) - Codechange: Base the decision to draw rail engine or wagon ↵peter1138
purchase information on the rail vehicle type, not an arbitrary value.
2006-10-23(svn r6908) - Codechange: Modify DrawStringMultiLine() to return the number ↵peter1138
of pixel lines used, and use it for drawing NewGRF additional text (mart3p)
2006-10-21(svn r6884) -Codechange: Add strict bounds checking in string formatting system.Darkvater
The last parameter should point to the end of the buffer (eg lastof(buf)) Courtesy of Tron.
2006-10-20(svn r6855) - Codechange: When displaying a "quantity of cargo" string, use ↵peter1138
the {CARGO} command and supply the cargo type and quantity, instead of manually looking up the cargo type's string.
2006-10-16(svn r6789) - Codechange: Tidy up VehicleNameSorter() to use no global vars, ↵peter1138
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.
2006-10-12(svn r6759) -Codechange: Remove the brainheaded usage of STR_JUST_STRING to ↵Darkvater
pass a StringID
2006-10-08(svn r6690) - Fix (r6602): Translate global to per-climate cargo ids ↵peter1138
before... doing anything with them. (Thanks to MeusH for pointing this out...)
2006-10-08(svn r6689) -Fix: corrected vehicle type in tooltip for the list in the ↵bjarni
refit window This was actually not a bug from unifying this window as it was incorrect even before they were merged
2006-10-07(svn r6676) -Fix: [vehicle list windows] mass start/stop now works correctly ↵bjarni
in shared orders and station lists
2006-10-06(svn r6672) -Codechange: [depot & vehicle windows] applied ↵bjarni
SetWindowWidgetsDisabledState() and SetWindowWidgetsHiddenState() to depot and vehicle windows
2006-10-06(svn r6667) - Codechange: The vehicle list has no horizontal scroll bar, so ↵peter1138
don't use it to store data; instead, just get the widget's width.
2006-10-05(svn r6652) -Feature: [depot window] depot lists are now sorted, so vehicle ↵bjarni
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)
2006-10-05(svn r6647) -Fix: [vehicle list windows] Lists of shared orders are now no ↵bjarni
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
2006-10-05(svn r6646) -Codechange: [vehicle list window] Cleaned up the drawing codebjarni
This moved a few of the strings and sprites a few pixels. Hopefully this will work out ok.
2006-10-04(svn r6638) -Fix r5652: restored each vehicle list type to their type ↵bjarni
classes, so it's possible to redraw all lists of one vehicle type again (instead of all types)
2006-10-04(svn r6635) -Fix r6634: incomplete/incorrect assignmentglx
2006-10-04(svn r6634) -Fix(r6377): Do not change a widget state after a ↵belugas
DrawWindowWidgets, as it is a bit useless -Fix(r6562): Use the correct widget index for enabling
2006-10-03(svn r6624) -Feature: added ability to add refit commands to vehicle orders ↵bjarni
(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
2006-10-03(svn r6619) -Codechange: Use accessors for disabled_state.belugas
Another step toward merging XTDwidget. The only two files not converted (window.h and widget.c) will be done at the very last commit)
2006-10-02(svn r6615) - Fix (r6601): Fix bug that prevented subtypes appearing in some ↵peter1138
cases.
2006-10-02(svn r6614) -Fix: added check to see if a newly opened refit window is ↵bjarni
different from NULL before assigning data to it
2006-10-02(svn r6612) -Codechange: Use accessors for hidden_state.belugas
Another step toward merging XTDwidget. The only two files not converted (window.h and widget.c) will be done at the very last commit)
2006-10-01(svn r6608) - Fix (r6601): The scroll bar could fall out of the window... ↵peter1138
more gui-fu needed...
2006-10-01(svn r6607) - Fix (r6601): Fix selection of refit type when the list is ↵peter1138
scrolled.
2006-10-01(svn r6602) - Feature: we now support NewGRF livery refits, as used by ↵peter1138
DBsetXL, amongst others. This requires a savegame bump to save the cargo subtype.
2006-10-01(svn r6601) - Codechange: Support cargo subtypes in the refit window. The ↵peter1138
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)
2006-09-30(svn r6591) -Codechange: changed strings that used the word "depot" into one ↵bjarni
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)
2006-09-30(svn r6586) -Feature: [depot window] added a vehicle list window with all ↵bjarni
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
2006-09-29(svn r6582) -Codechange: changed GenerateVehicleSortList() to reuse the same ↵bjarni
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
2006-09-29(svn r6581) -Fix r6562: [vehicle list windows] fixed an off by one issue ↵bjarni
when drawing the bottom row of buttons
2006-09-29(svn r6570) -Feature: added "start all" and "stop all" buttons to the ↵bjarni
vehicle lists
2006-09-29(svn r6565) - Fix (r6562): Missing newline at EOF caused a compiler warningpeter1138