summaryrefslogtreecommitdiff
path: root/window.c
AgeCommit message (Collapse)Author
2006-10-05(svn r6651) -Coding feature: added the windowevent WE_INVALIDATE_DATAbjarni
This gives the ability to invalidate some window data and recalculate as needed instead of doing it for each WE_PAINT This event is called right away when using InvalidateWindowData(), so it may be a good idea to set a bool or similar in the window or similar and then act on that bool in WE_PAINT instead of doing a lot of stuff in WE_INVALIDATE_DATA as it might be called more than once before WE_PAINT is called InvalidateWindowData() will not automatically repaint the window, so if you want to repaint it as well, you need to mark it dirty as well. Made the depot windows use WE_INVALIDATE_DATA to set when to generate the engine and wagon lists instead of at each redraw It makes no sense to regenerate the list when say using the scrollbar if we know that no vehicle have entered or left the list NOTE: currently there is a piece of code to generate the list when it's not needed and compare it to the stored list and assert if they mismatch This check is somewhat slow and kills the whole idea of WE_INVALIDATE_DATA, so it's a short lived one to verify that InvalidateWindowData() is used everywhere where it's needed
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-09-23(svn r6499) -Codechange: Finally, got "byte event" outside of the union ↵belugas
WindowEvent, which is now a struct
2006-09-04(svn r6381) -Cleanup: make the '/* */' comments that span multiple lines ↵rubidium
more uniform. -Cleanup: whitespace alignment of a few tables.
2006-09-02(svn r6345) -Codechange: AllocateWindowDescFront() now ensures that ↵bjarni
window_number is set before calling the WE_CREATE event this allows using the window_number in WE_CREATE window event handlers
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-07-26(svn r5609) CodeChange : Apply coding stylebelugas
2006-06-27(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectaculartron
2006-06-10(svn r5210) Many small changes which piled up: const, unsigned, variable ↵tron
scope, CSE for readability, DeMorgan, if cascades -> switch, whitespace, parentheses, bracing, misc.
2006-04-03(svn r4249) -Codechange: Replace more occurences of 16 by TILE_SIZE and of 8 ↵celestar
by TILE_HEIGHT. Reverted one change from the previous commit because it was faulty
2006-02-06(svn r3564) Several smaller changes:tron
- Don't treat non-booleans as booleans - Reduce variable scope - Bracing - Use DeMorgan's law to make conditionals easier to read - if cascade -> switch - Replace some magic numbers by symbolic names - Avoid assignments within other statements
2006-02-01(svn r3511) More whitespace ([FS#46] by Rubidium)tron
2006-02-01(svn r3510) Fiddle with whitespace and parenthesestron
2006-01-24(svn r3425) - Fix: Followup to r3421. Correctly reset the TileHighLightData ↵Darkvater
structure to prevent crashes in all the other cases where it is not guarded against sufficiently
2006-01-05(svn r3365) Staticise 36 functionstron
2006-01-05(svn r3364) Remove 3 unused functions (ScrollWindowToTile, ↵tron
AllocateWindowAutoPlace, AllocateWindowAutoPlace2)
2005-12-24(svn r3336) byte -> WindowClass, uint16 -> WindowNumbertron
2005-11-29(svn r3247) - Fix: "[ 1335580 ] sticky windows not sticky anymore" peter1138
Determine clicked status of sticky icon from window flags rather than the widget click state. This keeps the status in one place where it can't get out of sync.
2005-11-19(svn r3222) -Feature: Right-Click-Scrolling optionally moves in the opposite ↵tron
direction (Requested by manx)
2005-11-18(svn r3217) Fix issue with resizing stepped windows introduced in revision 3181.peter1138
2005-11-15(svn r3185) consttron
2005-11-14(svn r3181) -Bracingtron
-Indentation -Whitespace -DeMorgan's Law -Test with NULL or 0 for non-booleans -'\0' instead of 0 for chars -Remove redundantly redundant comments (like DoFoo(); // Do foo) -Join multiple short lines with a single statement -Split single lines with multiple statements -Avoid assignments in if
2005-11-13(svn r3173) Use the trinary operator and switch to improve readabilitytron
Also align short cases nicely
2005-11-13(svn r3172) static, consttron
2005-11-04(svn r3133) - static, consttron
- remove long unused stuff and bogus comments - complement struct typedefs - remove read-only (_demo_mode) and unused (_fix_mouse_at) global variables
2005-10-23(svn r3078) Some more stuff, which piled up:tron
- const, whitespace, indentation, bracing, GB/SB, pointless casts - use the trinary operator where appropriate - data types (uint[] -> AcceptedCargo, ...) - if cascade -> switch - if (ptr) -> if (ptr != NULL) - DeMorgan's Law - Fix some comments - 0 -> '\0', change magic numbers to symbolic constants
2005-10-15(svn r3046) Replace some numbers with sprite names and fix a typo in the ↵tron
sprite list
2005-09-18(svn r2962) - const correctness for all Get* functions and most Draw* ↵Darkvater
functions that don't change their pointer parameters - change a lot of byte player types to PlayerID - beautify header files, same "#endif /* filename */" ending
2005-07-28(svn r2734) -Feature: The Main Toolbar Dropdown Menu can now display ↵celestar
disabled items
2005-07-26(svn r2720) Remove unused declarations and definitionstron
2005-07-24(svn r2701) Insert Id tags into all source filestron
2005-07-22(svn r2673) Include functions.h directly, not globally via openttd.htron
2005-07-21(svn r2669) Shuffle some more stuff around to reduce dependenciestron
2005-07-21(svn r2664) Remove depedency on player.h from variables.htron
2005-07-08(svn r2535) Tabstron
2005-07-08(svn r2530) - Fix: [ 1219829 ] Mouse-wheel crashes OTTD. Widget detection ↵Darkvater
failed to detect the most-right and most-bottom pixels of a widget. If scrollwheel is used on a not-found widget (such as the background of the toolbar), it will now fail correctly (glx)
2005-06-25(svn r2486) Turn TILE_FROM_XY into an inline function and rename it to ↵tron
TileVirtXY
2005-06-02(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.Darkvater
2005-05-28(svn r2373) - CodeChange: don't redraw the window upon a user-based dirty ↵Darkvater
request if the requested widget is invisible or otherwise not visible (type WWT_EMPTY)
2005-05-02(svn r2248) - Fix (regression): fix crashing of game when joining a ↵Darkvater
dedicated server (only reset _thd.pos, not the whole structure; as done in revision 2241 to fix another crash)
2005-05-01(svn r2241) - Fix: [ 1190625 ] Changing mapsize crashes game with ↵Darkvater
highlighting. Without shutting down OpenTTD some possibly 'invalid' data in TileHighLightData (_thd) is left behind; reset it.
2005-04-07(svn r2161) - Fix: When resizing a window, the button is also visibly depressedDarkvater
- CodeChange: Use images as arrows in the scenario-date scroller, looks better - Feature: Clicked buttons with images/text now visibly depress their contents when pressed (eg it really seems like the button is moving) - Fix: Fix sprite offsets of the arrow sprites in openttd.grf
2005-04-05(svn r2152) - Fix: Chatbar in MP games is now on-top of the news window.darkvater
- CodeChange: Introduction of SendWindowMessage() where a window can send another window a message (ala windows style msg, wparam, lparam). Messages can be sent by windowclass and by windowpointer. - CodeChange: IsVitalWindow() simplifies a lot of checks for window handling that need to know what windows it can close, or be on top of, etc.
2005-04-04(svn r2149) - Fix (Regression): [ 1175877 ] Inputbox of savegamedialog did ↵Darkvater
not have "focus", keyinput went to game. A quick fix for the horrid inputkey-handling.
2005-04-04(svn r2146) - Fix: [ 1175973 ] Crash if any key is pressed in startup ↵matthijs
(pkirchhofer)
2005-04-03(svn r2141) - Fix: Keys now hopefully only activate the right windows. If ↵Darkvater
console/querybox/chatbox is open, all input goes there, if closed to game itself.
2005-03-26(svn r2074) MouseLoop -> InputLoop(), factor out a real mouse-specific ↵pasky
MouseLoop from the new InitLoop() (more in the spirit of HandleKeypress()).
2005-03-09(svn r1978) - Fix: Plug some memleaks; thanks ValgrindDarkvater