Ingo Ruhnke [Thu, 28 Aug 2014 00:57:50 +0000 (02:57 +0200)]
Added missing <array> include to addon/downloader.cpp
Ingo Ruhnke [Thu, 28 Aug 2014 00:56:59 +0000 (02:56 +0200)]
Removed made public variables private in JoystickManager and KeyboardManager
Ingo Ruhnke [Wed, 27 Aug 2014 21:26:25 +0000 (23:26 +0200)]
Switched from CURLOPT_XFERINFOFUNCTION back to CURLOPT_PROGRESSFUNCTION, since some old cURL versions don't support the former
Ingo Ruhnke [Wed, 27 Aug 2014 21:17:25 +0000 (23:17 +0200)]
Removed some obsolete stuff from supertux/globals.hpp
Ingo Ruhnke [Wed, 27 Aug 2014 20:31:22 +0000 (22:31 +0200)]
Deleted TODO and merged it into supertux.lethargik.org/wiki/TODO-List
Ingo Ruhnke [Wed, 27 Aug 2014 19:56:26 +0000 (21:56 +0200)]
Added -Wnon-virtual-dtor and -Wcast-qual warning flags
Ingo Ruhnke [Wed, 27 Aug 2014 19:53:43 +0000 (21:53 +0200)]
Updated the TODO a bit
Ingo Ruhnke [Wed, 27 Aug 2014 08:24:55 +0000 (10:24 +0200)]
Only refresh menu items that have been created in the JoystickMenu to avoid crash
Ingo Ruhnke [Wed, 27 Aug 2014 08:24:28 +0000 (10:24 +0200)]
Fixed Controller enum to string conversion
Ingo Ruhnke [Wed, 27 Aug 2014 08:23:58 +0000 (10:23 +0200)]
Made Menu::get_item_by_id(int id) error message sligthly more useful
Ingo Ruhnke [Wed, 27 Aug 2014 08:12:05 +0000 (10:12 +0200)]
Split Controller::PAUSE_MENU into ESCAPE and START, as they need to act different in some contexts
Ingo Ruhnke [Wed, 27 Aug 2014 07:37:56 +0000 (09:37 +0200)]
Added default and cancel button to the Dialog
Ingo Ruhnke [Tue, 26 Aug 2014 22:58:42 +0000 (00:58 +0200)]
Merge branch 'feature/download-non-blocking'
Ingo Ruhnke [Tue, 26 Aug 2014 22:56:32 +0000 (00:56 +0200)]
Moved abort() and update() calls into TransferStatus, also fixed abort() handling, then-callbacks are now called
Ingo Ruhnke [Tue, 26 Aug 2014 22:50:48 +0000 (00:50 +0200)]
Changed error handling in TransferStatus, then-callbacks are now always called and have a 'success' flag
Ingo Ruhnke [Tue, 26 Aug 2014 20:30:22 +0000 (22:30 +0200)]
A first try at error handling in the Downloader
This isn't fully working, as skipping the .then() callbacks skips over
important cleanup and leads to failure further down the line.
Ingo Ruhnke [Tue, 26 Aug 2014 20:29:08 +0000 (22:29 +0200)]
Save and parse repository index when AddonManager loads
Meaning the user doesn't have to redownload it each time he starts the
game.
Ingo Ruhnke [Tue, 26 Aug 2014 20:00:33 +0000 (22:00 +0200)]
Wait for an explicit "Close" by the user instead of closing the DownloadDialog automatically
Downloads are most of the time rather fast, having the window just pop
up and go away feels a bit irritating.
Ingo Ruhnke [Tue, 26 Aug 2014 19:51:34 +0000 (21:51 +0200)]
Renamed AddonDialog to DownloadDialog, as it isn't AddonManager specific any more
Ingo Ruhnke [Tue, 26 Aug 2014 19:48:48 +0000 (21:48 +0200)]
Removed AddonManager::InstallRequest, the data can be hold in the lambda capture instead
Ingo Ruhnke [Tue, 26 Aug 2014 19:44:58 +0000 (21:44 +0200)]
Use a chain of callbacks instead of a single one in TransferStatusPtr
This allows reusing it in AddonManager and not bothering with creating
it's own, but basically empty InstallStatus.
Ingo Ruhnke [Tue, 26 Aug 2014 10:55:14 +0000 (12:55 +0200)]
Implemented non-blocking download for the repository index list
Ingo Ruhnke [Tue, 26 Aug 2014 10:54:08 +0000 (12:54 +0200)]
Handle all numeric characters as fixed width, even in variable spaced fonts
This reduces jitter when numeric values change, such as in the
download status dialog.
Ingo Ruhnke [Tue, 26 Aug 2014 10:44:17 +0000 (12:44 +0200)]
Added ugly workaround for Console crash at startup
This is an ugly workaround for a crash at startup. Console::current()
becomes valid before the Console constructor is finished and loading
Surfaces and Fonts wants to write text to the Console, with Fonts that
aren't yet loaded, thus crashing
Ingo Ruhnke [Tue, 26 Aug 2014 07:07:52 +0000 (09:07 +0200)]
Made AddonDialog output some prettier text, installation of Addons now seem to work
Error handling is still largely missing for failed downloads and such
Ingo Ruhnke [Tue, 26 Aug 2014 07:06:41 +0000 (09:06 +0200)]
Added then-callback to AddonManager and use the then-callback of Downloader
Ingo Ruhnke [Tue, 26 Aug 2014 07:05:30 +0000 (09:05 +0200)]
Added file writing and then-callback to Downloader
Ingo Ruhnke [Tue, 26 Aug 2014 07:03:24 +0000 (09:03 +0200)]
Implemented delayed destruction of Dialog in MenuManager to avoid "delete this" type problems
Ingo Ruhnke [Tue, 26 Aug 2014 06:35:30 +0000 (08:35 +0200)]
Removed AddonMenu sorting code, since Addons are order dependend they should never be sorted
Meaning a skin pack with new graphics might shadow graphic files in
another skin pack. Adding a manual way to reorder addons via Peek_Up/Down keys
might be a good idea.
Ingo Ruhnke [Tue, 26 Aug 2014 05:33:15 +0000 (07:33 +0200)]
Hooked up progress reporting into the AddonDialog, non-blocking downloads are working now
Code still misses proper Addon install once the Download is completed
Ingo Ruhnke [Tue, 26 Aug 2014 05:24:44 +0000 (07:24 +0200)]
Replaced fancy C++11 lambda with old style static function wrap in Downloader
The C++11 lambda would work, but the lambda has to be cast to a
C-style function pointer first, cURL however doesn't provide function
pointer definitions for quick and easy casting and since it takes
arguments as va_arg it crashes and burns when passing in a raw lambda.
Old style _wrap is simply easier then casting to the proper function type.
Ingo Ruhnke [Tue, 26 Aug 2014 04:59:30 +0000 (06:59 +0200)]
Added AddonDialog and connected it into the whole non-blocking update stuff
Ingo Ruhnke [Tue, 26 Aug 2014 04:22:13 +0000 (06:22 +0200)]
Added some async code to AddonManager
Ingo Ruhnke [Mon, 25 Aug 2014 22:57:26 +0000 (00:57 +0200)]
Added slightly cleaner way to communicate TransferStatus
Ingo Ruhnke [Mon, 25 Aug 2014 20:03:46 +0000 (22:03 +0200)]
Some initial code to get Downloader non-blocking
Tobias Markus [Mon, 25 Aug 2014 21:16:14 +0000 (23:16 +0200)]
Adding note about optional glbinding dependency and how to configure for it
Ingo Ruhnke [Mon, 25 Aug 2014 17:45:45 +0000 (19:45 +0200)]
Added cURL to the list of dependecies
Ingo Ruhnke [Mon, 25 Aug 2014 07:54:29 +0000 (09:54 +0200)]
Merge branch 'feature/menu-dialogs'
Ingo Ruhnke [Mon, 25 Aug 2014 07:50:32 +0000 (09:50 +0200)]
Use same colors for Dialog as for Menu
Ingo Ruhnke [Mon, 25 Aug 2014 04:46:34 +0000 (06:46 +0200)]
Added mouse support to the Dialog class
Ingo Ruhnke [Mon, 25 Aug 2014 04:30:20 +0000 (06:30 +0200)]
Added little toy test for Dialog when exiting SuperTux
Ingo Ruhnke [Mon, 25 Aug 2014 04:30:01 +0000 (06:30 +0200)]
Added callback functions to Dialog
Ingo Ruhnke [Mon, 25 Aug 2014 03:43:14 +0000 (05:43 +0200)]
Implemented Dialog::draw()
Ingo Ruhnke [Mon, 25 Aug 2014 03:37:53 +0000 (05:37 +0200)]
Added Rectf::grown(float border) method
Ingo Ruhnke [Mon, 25 Aug 2014 01:37:52 +0000 (03:37 +0200)]
Renamed MenuManager::current() to MenuManager::current_menu()
Ingo Ruhnke [Mon, 25 Aug 2014 01:31:58 +0000 (03:31 +0200)]
Added some initial dialog code, doesn't do anything yet
Ingo Ruhnke [Mon, 25 Aug 2014 01:24:08 +0000 (03:24 +0200)]
Made member variables private and removed friendship to Menu in MenuManager
Ingo Ruhnke [Mon, 25 Aug 2014 01:18:50 +0000 (03:18 +0200)]
Added const some member function qualifiers in Controller
Ingo Ruhnke [Mon, 25 Aug 2014 07:52:57 +0000 (09:52 +0200)]
Merge branch 'feature/addon-manager'
Ingo Ruhnke [Mon, 25 Aug 2014 00:45:25 +0000 (02:45 +0200)]
Added official addon repository URL back in, downloading new addons should now work again
Ingo Ruhnke [Sun, 24 Aug 2014 07:21:10 +0000 (09:21 +0200)]
Renamed "http_url", just "url"
Ingo Ruhnke [Sun, 24 Aug 2014 07:20:49 +0000 (09:20 +0200)]
Catch errors when enabling addons, i.e. when the addon was deleted but is still in the config
Ingo Ruhnke [Sun, 24 Aug 2014 07:10:20 +0000 (09:10 +0200)]
build-addon-index.py will now build the .zip files from src/
Ingo Ruhnke [Sun, 24 Aug 2014 02:12:02 +0000 (04:12 +0200)]
Load/save the Addon enabled/disabled state to the config file
Ingo Ruhnke [Sun, 24 Aug 2014 01:54:42 +0000 (03:54 +0200)]
Removed some overly verbose debug output
Ingo Ruhnke [Sun, 24 Aug 2014 01:48:41 +0000 (03:48 +0200)]
Added "Nothing New" indicator after check for new packages with no new results
Ingo Ruhnke [Sun, 24 Aug 2014 01:13:54 +0000 (03:13 +0200)]
Fixed MenuEntry id generation in AddonMenu
Ingo Ruhnke [Sat, 23 Aug 2014 21:39:23 +0000 (23:39 +0200)]
Added script to generate index for addon repository
Ingo Ruhnke [Sat, 23 Aug 2014 19:07:25 +0000 (21:07 +0200)]
Keep proper track of MD5 checksums of addons
Ingo Ruhnke [Sat, 23 Aug 2014 19:03:44 +0000 (21:03 +0200)]
Make sure that duplicate Addon install requests don't lead to duplicates in the installed_addon list
Ingo Ruhnke [Sat, 23 Aug 2014 18:37:11 +0000 (20:37 +0200)]
Added check for MD5 and version number to Addon online check
Ingo Ruhnke [Sat, 23 Aug 2014 07:01:34 +0000 (09:01 +0200)]
Updated copyright header
Ingo Ruhnke [Wed, 20 Aug 2014 01:27:50 +0000 (03:27 +0200)]
Large scale refactor/rewrite of the AddonManager, adding cleaner separation between repository addons and installed ones
Ingo Ruhnke [Wed, 20 Aug 2014 00:03:30 +0000 (02:03 +0200)]
Removed unneeded curl includes
Ingo Ruhnke [Tue, 19 Aug 2014 20:45:24 +0000 (22:45 +0200)]
Some more AddonManager refactoring
Ingo Ruhnke [Mon, 18 Aug 2014 21:21:39 +0000 (23:21 +0200)]
First round of cleanup up the AddonManager a bit
Tobias Markus [Fri, 22 Aug 2014 20:47:57 +0000 (22:47 +0200)]
Disable glbinding debug option
Benjamin Leduc [Thu, 21 Aug 2014 02:20:16 +0000 (02:20 +0000)]
Update translation just for kidding Sydney
Tobias Markus [Wed, 20 Aug 2014 11:27:52 +0000 (13:27 +0200)]
Remove link to happypenguin.org. Site has been discontinued
Ingo Ruhnke [Wed, 20 Aug 2014 01:47:40 +0000 (03:47 +0200)]
Fixed mixup in the config reading that caused keyboard to reset, also use reference instead of pointer in JoystickConfig
Wolfgang Becker [Tue, 19 Aug 2014 17:42:37 +0000 (19:42 +0200)]
Update keys for cheat menu and console only when items are enabled. Fixes #1062.
Willy Scheibel [Tue, 19 Aug 2014 14:08:39 +0000 (16:08 +0200)]
Optional glbinding as OpenGL binding
Benjamin Leduc [Tue, 19 Aug 2014 14:08:12 +0000 (14:08 +0000)]
help menu translation per line
Ingo Ruhnke [Tue, 19 Aug 2014 00:46:40 +0000 (02:46 +0200)]
Merge branch 'feature/developer-mode'
Ingo Ruhnke [Tue, 19 Aug 2014 00:44:20 +0000 (02:44 +0200)]
Removed some remaining empty 'void Menu::check_menu()' calls
Ingo Ruhnke [Tue, 19 Aug 2014 00:35:12 +0000 (02:35 +0200)]
Added switch to turn off developer mode to the OptionMenu
Ingo Ruhnke [Mon, 18 Aug 2014 22:18:29 +0000 (00:18 +0200)]
Added cheat menu keyboard and joystick bindings, only visible in developer mode
Ingo Ruhnke [Mon, 18 Aug 2014 22:08:48 +0000 (00:08 +0200)]
Added --developer option, also Ctrl-F2, which enabled cheats
Ingo Ruhnke [Tue, 19 Aug 2014 00:16:52 +0000 (02:16 +0200)]
Fixed mixup between Win32's "supertux2" and Linux/MacOSX ".supertux2" directory name
Benjamin Leduc [Mon, 18 Aug 2014 22:44:56 +0000 (22:44 +0000)]
allow localization of apple cmd keys
Ingo Ruhnke [Mon, 18 Aug 2014 21:35:51 +0000 (23:35 +0200)]
Removed useless Makefile
Ingo Ruhnke [Mon, 18 Aug 2014 19:05:46 +0000 (21:05 +0200)]
Small improvement to PhysfsSubsystem debug output
Ingo Ruhnke [Mon, 18 Aug 2014 19:01:35 +0000 (21:01 +0200)]
Added --datadir/--userdir command line arguments and SUPERTUX2_DATA_DIR environment variable (probably redundant)
Ingo Ruhnke [Mon, 18 Aug 2014 09:35:44 +0000 (11:35 +0200)]
Cleaned up Physfs/filesystem initialisation
Ingo Ruhnke [Mon, 18 Aug 2014 09:33:04 +0000 (11:33 +0200)]
Added FileSystem::exists(), FileSystem::is_directory() and FileSystem::mkdir()
Ingo Ruhnke [Mon, 18 Aug 2014 09:32:06 +0000 (11:32 +0200)]
Minor cleanup
Ingo Ruhnke [Mon, 18 Aug 2014 08:36:00 +0000 (10:36 +0200)]
Removed binreloc support, SDL2 provides that functionality now with SDL_GetBasePath()
Ingo Ruhnke [Mon, 18 Aug 2014 08:10:14 +0000 (10:10 +0200)]
Removed dependency between CommandLineArguments and Physfs
Ingo Ruhnke [Mon, 18 Aug 2014 08:09:27 +0000 (10:09 +0200)]
Removed some old .svn related stuff from CMakeLists
Ingo Ruhnke [Mon, 18 Aug 2014 03:23:16 +0000 (05:23 +0200)]
Fixed AddonManager load/save of disabled addon files
Ingo Ruhnke [Mon, 18 Aug 2014 02:50:10 +0000 (04:50 +0200)]
Separate JoystickConfig out into a separate class that can be stored in the global Config object
This should fix joystick/keyboard load/save support which broke in one of the last few commits
Ingo Ruhnke [Mon, 18 Aug 2014 02:08:08 +0000 (04:08 +0200)]
Separate KeyboardConfig out into a separate class that can be stored in the global Config object
Ingo Ruhnke [Mon, 18 Aug 2014 01:24:39 +0000 (03:24 +0200)]
Added m_ prefixes to TextureManager
Ingo Ruhnke [Mon, 18 Aug 2014 00:47:43 +0000 (02:47 +0200)]
Fixed initialisation order issue in GLVideoSystem
Ingo Ruhnke [Sun, 17 Aug 2014 21:52:12 +0000 (23:52 +0200)]
Turned AddonManager into a Currenton
There is currently a bit of a dependency problem between InputManager,
AddonManager and Config reading that prevents reading of config on
startup.
Ingo Ruhnke [Sun, 17 Aug 2014 20:34:44 +0000 (22:34 +0200)]
Merge branch 'feature/init-cleanup'
Ingo Ruhnke [Sun, 17 Aug 2014 19:51:26 +0000 (21:51 +0200)]
Added Scripting class to bundle up all the Squirrel init code
Ingo Ruhnke [Sun, 17 Aug 2014 19:27:57 +0000 (21:27 +0200)]
Use more RAII in initialisation code
Ingo Ruhnke [Sun, 17 Aug 2014 19:12:22 +0000 (21:12 +0200)]
Moved global dictionary into gettext.cpp, no need to have it in globals.cpp
Ingo Ruhnke [Sun, 17 Aug 2014 19:11:41 +0000 (21:11 +0200)]
Split of the line buffer from Console into ConsoleBuffer class
This fixes an issue where the Console got destructed and it's graphics
free'd after the VideoSystem was already gone, thus crash on game
exit.