Nobody really needs call and class graphs and they are extremely
impractical to both render *and* display given the size and complexity
of our codebase.
previously the code needed 2^number_of_base_attributes (where base
attributes are those attributes that specify the starting location set
for the search) if-cases which made it quet hard to add new base
attributes.
this seems to still cause issues related to multithreading.
When this was introduced, config objects stored all its attributes
(inclusing numbers) as t_string objects which made same t_strign object
mocuh more often than it is now.
This removes the scroll_top() call in palette_manager::adjust_size()
becasue that made it impossible to scroll to the newly created item
after the "New Location Identifer" dialog was shown.
This changes most function in location_palette to use int instead of
size_t becasue "pos - num_visible_items() + 1" might result in a
negative number.
This also fixes a crash that happend when the "Go To" button was used on
an item that was no starting position.
it is now possible to specify locations in the editor that can then be
read with wml (without the create scenario editor mode). These special
locations can be placed like starting positions, and can them be used in
the wml code like:
'location_id=<id>' in standard location filters or 'placement=<id>' in
[unit], i also intend to add a lua interface wesnoth.special_locations
later.
It's currently not possible to have multiple special locations in the
same hex, the main reason is that i'm unsure about how to integrate that
in the editor ui.
Remove unused editor_display::palette_report_ member
Added 'tristate_palette' interface to that classes inheriting from
common_palette don't have to implement select_fg_item/select_bg_item
remove hardcoded path for logo image
add 'game_logo' & 'game_logo_background' keys in [game_config]
this allows [core] authors to define their own game logo to appear on the title screen
this does not (yet) affect the loadscreen
When closing down the program, this error message appeared: 'TypeError: catching classes that do not inherit from BaseException is not allowed'. It seems to depend on Tkinter's PhotoImage object being destroyed after the root windows's destroy() method is called.