Age | Commit message (Collapse) | Author |
|
possible that when a
parent window is deleted it deletes its child (always) and in turn, through some
code the child initiates the deletion of the parent which, if not guarded
against, deletes the child and so on...
|
|
window-child that
will block activity for the parent window until the modal popup is dismissed.
|
|
terms. A child
is a window whose parent pointer is non-null. Deleting the parent cascades deleting
the children as well; children first.
|
|
-(re)set _rename_[id/what] to -1 to catch invalid calls (main_gui.c)
-Only invalidate widget of pause/ff instead of whole window (main_gui.c)
-Remove numbering from WE_ and WC_ as it's not needed, also remove
non-existing windowclasses (window.h, openttd.h)
-Give names to some of the enums (window.h)
-In UninitWindowSystem not only free malloc'd widgets, but also reset the z-array (window.c)
-Some coding style, comments, etc.
|
|
debugging levels to
use in debug.h. grfmsg() is now used as a specific debug-function for grf.
|
|
instead of when started to drag
|
|
outside of window.c. This makes
it possible to programmatically resize windows specifying a delta x,y.
|
|
WWT_LAST; i++, wi++)' type for loops with 'for (i = 0; i < w->window_count; i++) { wi = &w->widget[i];'-type for loops for better readability.
-Codechange: use IsWindowWidget(Disabled|Hidden) in favor of IsWidget(Disabled|Hidden).
|
|
i++)'-type for loops with 'for (i = 0; i < w->widget_count; i++)'-type for loops
|
|
-Codechange: check whether widget indices are valid for all the (Set|Is)WindowWidget(Disabled|Lowered|Hidden) and related functions.
|
|
warrant a redraw, so call
that after the WE_INVALIDATE_DATA event and remove (some of) the superflouous calls.
|
|
|
|
found not of a problem. Thanks Tron
|
|
window and do it only once.
|
|
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.
|
|
viewport.c and have them
called from the appropiate places in window.c
|
|
you need to start over
|
|
use FindWindowById
instead of _windows loop (viewport.c), remove dump-code (mixer.c), MSVC6 borkdness
in stdafx.h, constness (viewport.c), variable localization (win32.c), comments (window.c)
|
|
Unicode/UTF-8 and the option for fonts rendered by FreeType. Language changes to come.
|
|
high CPU load, handle
mouse input right away instead of waiting for GameLoop. (KUDr)
|
|
use GB and change logic
of the win32: TAB speeds up, but ALT+TAB doesn't code.
|
|
load, handle
keyboard input in place instead of global variables magic. (KUDr)
|
|
some (not all) vehicle list windows open for a player, that goes bankrupt would crash the game
-Codechange: closing all windows for a player will now loop all windows and close those, which got the player as caption instead of having a list of windows to close
|
|
desc->left/top settings with
some special values (WDP_) instead of checking window-class. This also fixes FS#172
now that we can position windows arbitrarily and are not restricted to window-classes.
|
|
window's number.
|
|
class of windows,
SendWindowMessageClass().
|
|
originally used to not
to allow clicking if a button was disabled. This has been superseded in r212 with
general code that doesn't allow any click events for disabled buttons.
|
|
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.
|
|
when the window data is invalidated or the window is generated, not on each redraw
|
|
|
|
widgets, not hide them
|
|
multiple widgets in one call
|
|
The functions required to do so are to be found in window.h.
Rather then use the old deprecated disabled_state, hidden_state and click_state uint32 variables,
we now need to use accessors like SetWindowWidgetDisabledState, SetWindowWidgetHiddenState or SetWindowWidgetLoweredState.
This is the final commit for the merge of XTDwidget branch.
|
|
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
|
|
Another step toward merging XTDwidget.
The only two files not converted (window.h and widget.c) will be done at the very last commit)
|
|
WindowEvent, which is now a struct
|
|
more uniform.
-Cleanup: whitespace alignment of a few tables.
|
|
window_number is set before calling the WE_CREATE event
this allows using the window_number in WE_CREATE window event handlers
|
|
of a general function that handles that
-Codechange: use always 'e' for WindowsEvent, neverr 'we'
|
|
windows handle them theirself. Added WE_SCROLL for this.
|
|
- 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
|
|
|
|
|
|
scope, CSE for readability, DeMorgan, if cascades -> switch, whitespace, parentheses, bracing, misc.
|
|
by TILE_HEIGHT. Reverted one change from the previous commit because it was faulty
|
|
- 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
|
|
|
|
|
|
structure to prevent crashes in all the other cases where it is not guarded against sufficiently
|
|
|