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.
Ingo Ruhnke [Sun, 17 Aug 2014 18:38:27 +0000 (20:38 +0200)]
Added m_ prefixes to Console
Ingo Ruhnke [Sun, 17 Aug 2014 18:20:35 +0000 (20:20 +0200)]
Turned a lot of other global objects into Currentons
Ingo Ruhnke [Sun, 17 Aug 2014 17:05:07 +0000 (19:05 +0200)]
Made Console into a Currenton
Ingo Ruhnke [Sun, 17 Aug 2014 04:35:40 +0000 (06:35 +0200)]
Cleaned up VideoSystem initalisation
This will make SuperTux crash at exit at the moment, as deinit gets
out of order in Main::run()
Tobias Markus [Sun, 17 Aug 2014 15:11:24 +0000 (17:11 +0200)]
Scale credits background image to whole screen size
Ingo Ruhnke [Sun, 17 Aug 2014 04:23:28 +0000 (06:23 +0200)]
Made code -Wshadow clean, missed a bunch of issues in the last commit
Ingo Ruhnke [Sun, 17 Aug 2014 03:06:11 +0000 (05:06 +0200)]
Made code -Wshadow clean
Ingo Ruhnke [Sun, 17 Aug 2014 02:47:26 +0000 (04:47 +0200)]
Added some m_ prefixes to member variables in GLRenderer and related classes
Ingo Ruhnke [Sun, 17 Aug 2014 02:33:06 +0000 (04:33 +0200)]
Added some m_ prefixes to member variables in SDLRenderer and related classes
Ingo Ruhnke [Sun, 17 Aug 2014 02:18:53 +0000 (04:18 +0200)]
Added Renderer::start_draw()/end_draw() to fix scale issue issue SDLRenderer/SDLLightmap
Ingo Ruhnke [Sun, 17 Aug 2014 01:46:23 +0000 (03:46 +0200)]
Moved Block code to block.cpp, was in the wrong file, i.e. bonus_block.cpp
Ingo Ruhnke [Sun, 17 Aug 2014 01:45:44 +0000 (03:45 +0200)]
Made conversion Vector -> Sizef explicit, just to be on the safe side
Ingo Ruhnke [Sun, 17 Aug 2014 01:45:15 +0000 (03:45 +0200)]
Removed some superfluous Vector() calls, source object is already a Vector
Ingo Ruhnke [Sun, 17 Aug 2014 01:44:24 +0000 (03:44 +0200)]
Fixed incorrect size in Sprite::draw_part()
This caused breaking blocks look weird
Ingo Ruhnke [Sun, 17 Aug 2014 01:09:35 +0000 (03:09 +0200)]
Render SDL lightmaps at lower resolutions, as specified by LIGHTMAP_DIV