This removes all the custom reference counting code from the
formula variant class, and also removes the WFL refcount() function.
The reference counting base class is also removed, since it is no longer used.
This was basically an unnecessary stub class. It also allows us to
remove the unused soundsource::manager::to_config() function (write_sourcespecs()
did the actual job).
This removes the C++ common interface intended for creating new AIs.
Anyone wishing to create a new AI written in C++ should now implement it as a custom stage instead.
This commit also removes the C++ implementation of the Idle AI (but leaves the WML definition of it, which is based on the composite AI)
and the fallback stage which was intended to fall back to other C++ AI algorithms.
Rationale:
- The at() emulation is only used in one file and will become redundant once we move to C++11 soon
- The map_get_value_default function is also only used in one file, and removing it actually makes the logic clearer
- It was moved to map/utils.hpp despite having nothing to do with game maps; removing it is slightly easier than moving it again
Groups are handled on a per-dialog basis, and are currently specialized for tselectable_
inheritors. They provide a convenient vector-of-pairs interface that ensure only one
widget is selected at one time and allows binding of values to widgets which can be
fetched at a later point.
This makes it so we no longer try to steal the console back to a log
file when using --wconsole with the new redirection code. Now the
--wconsole switch triggers a special mode of the log file manager that
uses a native console instead of log files.
As a necessary bonus to appease compilers, the GUI2 version info dialog
now uses the correct log file path when not started with the --wconsole
switch. Yay!