summaryrefslogtreecommitdiff
path: root/main_gui.c
AgeCommit message (Collapse)Author
2006-11-17(svn r7198) -Codechange: Implement a circular tile search function.belugas
Just provide the number of tiles per side, a pointer to a test function, the tile to start searching and voila. Fixes [FS#364] by removing a lengthy and suboptimal random search pattern. Thanks Rubidium.
2006-11-17(svn r7195) -Feature: [FS#297, optional elrails] New patches/vehicles option ↵KUDr
'disable electrified railways'. (original patch by maedhros, ideas: peter1138, Darkvater, Rubidium, Patrick, Eddi|zuHause, ..)
2006-11-16(svn r7182) -Feature: Merge utf8 branch. This brings us support for ↵peter1138
Unicode/UTF-8 and the option for fonts rendered by FreeType. Language changes to come.
2006-11-16(svn r7179) -Codechange (r7173): Actually "prefer" team chat through the ↵Darkvater
patch setting instead of always sending to teammate if the patch is on even if you do not have any allies. So with setting off you always send to 'all players', with setting on you send to teammates if you have any, otherwise to all players.
2006-11-16(svn r7173) -Codechange (r6824): Allow the user to change the ↵Darkvater
chat-destination when chatting with <ENTER> or 'T' instead of the game choosing one for you automatically.
2006-11-10(svn r7128) -Codechange: Replace magic numbers by magic enums (windowdesc ↵Darkvater
positioning WDP_AUTO = -1)
2006-11-09(svn r7120) -Fix (r6631): A town size of 0 in the scenario editor is a ↵Darkvater
random size. So to get a size you need it between 1 and 3 and therefore there is no one-on-one correspondence between widget-numbers and town-size. Based on a patch by Maedhros
2006-11-07(svn r7098) -Regression (r7094): Zoom buttons were not properly updated with ↵Darkvater
a new/loaded game. The good thing is, we got rid of even more magic code (tm)
2006-11-07(svn r7095) -Codechange: Move MaxZoomIn function to viewport.h and change it ↵Darkvater
to MaxZoomInOut with a zoom parameter and a pointer to the window which's viewport we want to zoom.
2006-11-07(svn r7094) -Codechange: Get rid of the window-specific code in ↵Darkvater
DoZoomInOutWindow (enable, disable buttons depending on calling window, game-mode); handle it by broadcasting messages to the calling window, because that knows how and what buttons to set.
2006-11-07(svn r7093) -Codechange: Move DoZoomInOutWindow declaration to viewport.h ↵Darkvater
and rewrite the function a bit more sensibly.
2006-10-31(svn r7023) -Fix: Pressing F1 in scenario editor did not work because the ↵Darkvater
keypress event was sent twice. due to e->we.keypress.cont not being set to false. Also indent the switch statements for some coding style bonus points.
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-28(svn r7000) -Fix: Incorrect use of e->we.click when the event is a 'place'. ↵Darkvater
This didn't cause any bugs so far because the 'click' element was at the same position in the union for both events.
2006-10-24(svn r6930) -Codechange: Move industry name into IndustrySpecbelugas
-Codechange: member color_map is more related to random color, rename it as such
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-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-21(svn r6877) -Fix r6876 +add main_gui.cDarkvater
2006-10-18(svn r6828) -Fix: Properly fix r6842Darkvater
2006-10-18(svn r6827) -Fix r6824: removed warningglx
2006-10-18(svn r6824) -Feature: Change the functionality of the chat window. ↵Darkvater
SHIFT+ENTER (SHIFT+T) sends a message to all players, CTRL+ENTER (CTRL+T) sends a message to all team mates and ENTER (T) sends a message to teammates if you have any, otherwise to all players. The chat-window now also shows what kind of message is being sent. Shortcut functionality has not been changed (ENTER sends message, ESC closes window)
2006-10-14(svn r6774) -Codechange: Rename the badly named OWNER_SPECTATOR to ↵Darkvater
PLAYER_SPECTATOR and put it into player.h where it belongs (instead of map.h)
2006-10-12(svn r6754) -Codechange: Remove some #idef ENABLE_NETWORK specific defines. ↵Darkvater
With networking disabled hardcode _networking/_network_available to zero and let the compiler handle all optimizations.
2006-10-12(svn r6748) -Codechange: Use already existing function to count active players.Darkvater
2006-10-12(svn r6746) -Codechange: Remove the need for double strings in "checkmarked" ↵Darkvater
items. While here have a little go at the MenuWndProc() function for a little cleanup.
2006-10-12(svn r6745) -Codechange: Have the dropdown menus fall fully inside the top ↵Darkvater
toolbar. So normally they will start at the left side of the parent button except when they would stick out, then align with the top toolbar's right side. This also means the extra parameter 'x' is not needed, it is deducted from the widget position.
2006-10-12(svn r6744) -Fix: Determine the length of the main toolbar dropdown list basedDarkvater
on the length of the strings in that list.
2006-10-08(svn r6695) -Fix FS#356: disable main toolbar buttons showing company list ↵glx
drop downs when there are no companies
2006-10-06(svn r6660) -Fix(r6631): Prevent the fast-foward button to toggle up and ↵belugas
down when pressing shift. The _fastforward and _pause bool are not exactly used as bool. So, when doing test with them, amek it so that the will appear as such
2006-10-03(svn r6631) -Codechange: Use accessors for click_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-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-09-28(svn r6562) -Codechange: merged the vehicle list window widget arraysbjarni
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
2006-09-23(svn r6499) -Codechange: Finally, got "byte event" outside of the union ↵belugas
WindowEvent, which is now a struct
2006-09-04(svn r6380) -Codechange: unify all ways to quit OTTD.rubidium
This means that in the intro menu the 'Quit' button immediatelly quits and the 'Quit' in the menu of the normal game and scenario editor immediatelly quits when the 'autosave_on_exit' patch is turned on. This is the same way as the OS/window manager initiated quits, like alt-F4 and the 'x' in the (OS/window manager drawn) title bar of OTTD.
2006-09-03(svn r6365) -Cleanup: remove IsGeneratingWorld calls that are either not ↵rubidium
called or have no effect.
2006-09-01(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the ↵tron
network game password handling somewhere were it belongs to
2006-08-29(svn r6222) Remove struct ColorList, because the names of its attributes are ↵tron
plain confusing All the struct holds is a simple colour gradient, so using a simple array with 8 entries is more clear Also add the names of colour the gradients as enum
2006-08-28(svn r6204) -Cleanup: replace non-indentation with spaces; like '}<TAB>else ↵rubidium
{' -> '} else {', tabs between code and comment, etc.
2006-08-28(svn r6184) Remove the unused (because it was NULL in all callers) second ↵tron
parameter of FillDrawPixelInfo() and simplify some expressions
2006-08-22(svn r6050) -Codechange: mass-renamed SignStruct -> Sign and ss -> si. Now ↵truelight
functions and variables all match eachother
2006-08-22(svn r6047) -Codechange: FOR_ALL now _only_ loops valid items, and skips ↵truelight
invalid ones -Codechange: use IsValidXXX where ever possible Note: both changes to prepare for new pool system, which needs those changes. For every pool there are 2 ugly lines, which will be removed when done implementing new pool system. Based on FS#13 by blathijs, partly implemented.
2006-08-22(svn r6046) CodeChange : Rename WWT_5 Widget type to WWT_LABEL : a centered ↵belugas
label CodeChange : Move almost all fixed strings from ON_PAINT event to Widget array using WWT_LABEL. Feature : All "Select Refit Cargo" are now centered, instead of been left aligned
2006-08-22(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. ↵rubidium
whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
2006-08-21(svn r6038) -Codechange: move mousewheel code to event WE_MOUSEWHEEL instead ↵truelight
of a general function that handles that -Codechange: use always 'e' for WindowsEvent, neverr 'we'
2006-08-21(svn r6036) -Codechange: do not handle SCROLL in a central function, but let ↵truelight
windows handle them theirself. Added WE_SCROLL for this.
2006-08-19(svn r5946) -Add: merged the TGP branch to mainline. TGP adds:truelight
- New optional landscape generator (TerraGenesis Perlin) - Load heightmaps (either BMP or PNG) - Progress dialog while generating worlds (no longer a 'hanging' screen) - New dialogs for NewGame, Create Scenario and Play Heightmap - Easier to configure your landscape - More things to configure (tree-placer, ..) - Speedup of world generation - New console command 'restart': restart the map EXACTLY as it was when you first started it (needs a game made after or with this commit) - New console command 'getseed': get the seed of your map and share it with others (of course only works with generated maps) - Many new, world generation related, things - Many internal cleanups and rewrites Many tnx to those people who helped making this: Belugas, DaleStan, glx, KUDr, RichK67, Rubidium, and TrueLight (alfabetic) Many tnx to those who helped testing: Arnau, Bjarni, and tokai (alfabetic) And to all other people who helped testing and sending comments / bugs Stats: 673 lines changed, 3534 new lines, 79 new strings
2006-08-19(svn r5944) -Merge TGP (r5578, r5579, r5724, r5726): -Feature: filter for ↵truelight
textboxes to only allow certain patterns (like numbers only)
2006-08-15(svn r5918) -Cleanup: rename ConvertDayToYMD/ConvertYMDToDay as they really ↵rubidium
convert a Date to/from a YearMonthDay. -Cleanup: swap ConvertDateToYMD's parameters to make the order consistent with the name of the function.
2006-08-14(svn r5887) -Cleanup: move date related functions, defines and variables to ↵rubidium
date.[ch] -Cleanup: fix whitespace related coding style issues in date.[ch] -Cleanup: make original comments doxygen compatible and remove/change outdated comments
2006-07-28(svn r5626) CodeChange : Remove the global _make_screenshot and implement a ↵belugas
more flexible mechanism Simplification of the handling of the main_gui menus, Removal of repetitions and Hiding the internals of screenshots. Thanks to glx, Rubidium and Truelight for pointers