supertux.git
9 years agoRenamed AddonDialog to DownloadDialog, as it isn't AddonManager specific any more
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

9 years agoRemoved AddonManager::InstallRequest, the data can be hold in the lambda capture...
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

9 years agoUse a chain of callbacks instead of a single one in TransferStatusPtr
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.

9 years agoImplemented non-blocking download for the repository index list
Ingo Ruhnke [Tue, 26 Aug 2014 10:55:14 +0000 (12:55 +0200)]
Implemented non-blocking download for the repository index list

9 years agoHandle all numeric characters as fixed width, even in variable spaced fonts
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.

9 years agoAdded ugly workaround for Console crash at startup
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

9 years agoMade AddonDialog output some prettier text, installation of Addons now seem to work
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

9 years agoAdded then-callback to AddonManager and use the then-callback of Downloader
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

9 years agoAdded file writing and then-callback to Downloader
Ingo Ruhnke [Tue, 26 Aug 2014 07:05:30 +0000 (09:05 +0200)]
Added file writing and then-callback to Downloader

9 years agoImplemented delayed destruction of Dialog in MenuManager to avoid "delete this" type...
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

9 years agoRemoved AddonMenu sorting code, since Addons are order dependend they should never...
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.

9 years agoHooked up progress reporting into the AddonDialog, non-blocking downloads are working now
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

9 years agoReplaced fancy C++11 lambda with old style static function wrap in Downloader
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.

9 years agoAdded AddonDialog and connected it into the whole non-blocking update stuff
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

9 years agoAdded some async code to AddonManager
Ingo Ruhnke [Tue, 26 Aug 2014 04:22:13 +0000 (06:22 +0200)]
Added some async code to AddonManager

9 years agoAdded slightly cleaner way to communicate TransferStatus
Ingo Ruhnke [Mon, 25 Aug 2014 22:57:26 +0000 (00:57 +0200)]
Added slightly cleaner way to communicate TransferStatus

9 years agoSome initial code to get Downloader non-blocking
Ingo Ruhnke [Mon, 25 Aug 2014 20:03:46 +0000 (22:03 +0200)]
Some initial code to get Downloader non-blocking

9 years agoAdding note about optional glbinding dependency and how to configure for it
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

9 years agoAdded cURL to the list of dependecies
Ingo Ruhnke [Mon, 25 Aug 2014 17:45:45 +0000 (19:45 +0200)]
Added cURL to the list of dependecies

9 years agoMerge branch 'feature/menu-dialogs'
Ingo Ruhnke [Mon, 25 Aug 2014 07:54:29 +0000 (09:54 +0200)]
Merge branch 'feature/menu-dialogs'

9 years agoUse same colors for Dialog as for Menu
Ingo Ruhnke [Mon, 25 Aug 2014 07:50:32 +0000 (09:50 +0200)]
Use same colors for Dialog as for Menu

9 years agoAdded mouse support to the Dialog class
Ingo Ruhnke [Mon, 25 Aug 2014 04:46:34 +0000 (06:46 +0200)]
Added mouse support to the Dialog class

9 years agoAdded little toy test for Dialog when exiting SuperTux
Ingo Ruhnke [Mon, 25 Aug 2014 04:30:20 +0000 (06:30 +0200)]
Added little toy test for Dialog when exiting SuperTux

9 years agoAdded callback functions to Dialog
Ingo Ruhnke [Mon, 25 Aug 2014 04:30:01 +0000 (06:30 +0200)]
Added callback functions to Dialog

9 years agoImplemented Dialog::draw()
Ingo Ruhnke [Mon, 25 Aug 2014 03:43:14 +0000 (05:43 +0200)]
Implemented Dialog::draw()

9 years agoAdded Rectf::grown(float border) method
Ingo Ruhnke [Mon, 25 Aug 2014 03:37:53 +0000 (05:37 +0200)]
Added Rectf::grown(float border) method

9 years agoRenamed MenuManager::current() to MenuManager::current_menu()
Ingo Ruhnke [Mon, 25 Aug 2014 01:37:52 +0000 (03:37 +0200)]
Renamed MenuManager::current() to MenuManager::current_menu()

9 years agoAdded some initial dialog code, doesn't do anything yet
Ingo Ruhnke [Mon, 25 Aug 2014 01:31:58 +0000 (03:31 +0200)]
Added some initial dialog code, doesn't do anything yet

9 years agoMade member variables private and removed friendship to Menu in MenuManager
Ingo Ruhnke [Mon, 25 Aug 2014 01:24:08 +0000 (03:24 +0200)]
Made member variables private and removed friendship to Menu in MenuManager

9 years agoAdded const some member function qualifiers in Controller
Ingo Ruhnke [Mon, 25 Aug 2014 01:18:50 +0000 (03:18 +0200)]
Added const some member function qualifiers in Controller

9 years agoMerge branch 'feature/addon-manager'
Ingo Ruhnke [Mon, 25 Aug 2014 07:52:57 +0000 (09:52 +0200)]
Merge branch 'feature/addon-manager'

9 years agoAdded official addon repository URL back in, downloading new addons should now work...
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

9 years agoRenamed "http_url", just "url"
Ingo Ruhnke [Sun, 24 Aug 2014 07:21:10 +0000 (09:21 +0200)]
Renamed "http_url", just "url"

9 years agoCatch errors when enabling addons, i.e. when the addon was deleted but is still in...
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

9 years agobuild-addon-index.py will now build the .zip files from src/
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/

9 years agoLoad/save the Addon enabled/disabled state to the config file
Ingo Ruhnke [Sun, 24 Aug 2014 02:12:02 +0000 (04:12 +0200)]
Load/save the Addon enabled/disabled state to the config file

9 years agoRemoved some overly verbose debug output
Ingo Ruhnke [Sun, 24 Aug 2014 01:54:42 +0000 (03:54 +0200)]
Removed some overly verbose debug output

9 years agoAdded "Nothing New" indicator after check for new packages with no new results
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

9 years agoFixed MenuEntry id generation in AddonMenu
Ingo Ruhnke [Sun, 24 Aug 2014 01:13:54 +0000 (03:13 +0200)]
Fixed MenuEntry id generation in AddonMenu

9 years agoAdded script to generate index for addon repository
Ingo Ruhnke [Sat, 23 Aug 2014 21:39:23 +0000 (23:39 +0200)]
Added script to generate index for addon repository

9 years agoKeep proper track of MD5 checksums of addons
Ingo Ruhnke [Sat, 23 Aug 2014 19:07:25 +0000 (21:07 +0200)]
Keep proper track of MD5 checksums of addons

9 years agoMake sure that duplicate Addon install requests don't lead to duplicates in the insta...
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

9 years agoAdded check for MD5 and version number to Addon online check
Ingo Ruhnke [Sat, 23 Aug 2014 18:37:11 +0000 (20:37 +0200)]
Added check for MD5 and version number to Addon online check

9 years agoUpdated copyright header
Ingo Ruhnke [Sat, 23 Aug 2014 07:01:34 +0000 (09:01 +0200)]
Updated copyright header

9 years agoLarge scale refactor/rewrite of the AddonManager, adding cleaner separation between...
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

9 years agoRemoved unneeded curl includes
Ingo Ruhnke [Wed, 20 Aug 2014 00:03:30 +0000 (02:03 +0200)]
Removed unneeded curl includes

9 years agoSome more AddonManager refactoring
Ingo Ruhnke [Tue, 19 Aug 2014 20:45:24 +0000 (22:45 +0200)]
Some more AddonManager refactoring

9 years agoFirst round of cleanup up the AddonManager a bit
Ingo Ruhnke [Mon, 18 Aug 2014 21:21:39 +0000 (23:21 +0200)]
First round of cleanup up the AddonManager a bit

9 years agoDisable glbinding debug option
Tobias Markus [Fri, 22 Aug 2014 20:47:57 +0000 (22:47 +0200)]
Disable glbinding debug option

9 years agoUpdate translation just for kidding Sydney
Benjamin Leduc [Thu, 21 Aug 2014 02:20:16 +0000 (02:20 +0000)]
Update translation just for kidding Sydney

9 years agoRemove link to happypenguin.org. Site has been discontinued
Tobias Markus [Wed, 20 Aug 2014 11:27:52 +0000 (13:27 +0200)]
Remove link to happypenguin.org. Site has been discontinued

9 years agoFixed mixup in the config reading that caused keyboard to reset, also use reference...
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

9 years agoUpdate keys for cheat menu and console only when items are enabled. Fixes #1062.
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.

9 years agoOptional glbinding as OpenGL binding
Willy Scheibel [Tue, 19 Aug 2014 14:08:39 +0000 (16:08 +0200)]
Optional glbinding as OpenGL binding

9 years agohelp menu translation per line
Benjamin Leduc [Tue, 19 Aug 2014 14:08:12 +0000 (14:08 +0000)]
help menu translation per line

9 years agoMerge branch 'feature/developer-mode'
Ingo Ruhnke [Tue, 19 Aug 2014 00:46:40 +0000 (02:46 +0200)]
Merge branch 'feature/developer-mode'

9 years agoRemoved some remaining empty 'void Menu::check_menu()' calls
Ingo Ruhnke [Tue, 19 Aug 2014 00:44:20 +0000 (02:44 +0200)]
Removed some remaining empty 'void Menu::check_menu()' calls

9 years agoAdded switch to turn off developer mode to the OptionMenu
Ingo Ruhnke [Tue, 19 Aug 2014 00:35:12 +0000 (02:35 +0200)]
Added switch to turn off developer mode to the OptionMenu

9 years agoAdded cheat menu keyboard and joystick bindings, only visible in developer mode
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

9 years agoAdded --developer option, also Ctrl-F2, which enabled cheats
Ingo Ruhnke [Mon, 18 Aug 2014 22:08:48 +0000 (00:08 +0200)]
Added --developer option, also Ctrl-F2, which enabled cheats

9 years agoFixed mixup between Win32's "supertux2" and Linux/MacOSX ".supertux2" directory name
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

9 years agoallow localization of apple cmd keys
Benjamin Leduc [Mon, 18 Aug 2014 22:44:56 +0000 (22:44 +0000)]
allow localization of apple cmd keys

9 years agoRemoved useless Makefile
Ingo Ruhnke [Mon, 18 Aug 2014 21:35:51 +0000 (23:35 +0200)]
Removed useless Makefile

9 years agoSmall improvement to PhysfsSubsystem debug output
Ingo Ruhnke [Mon, 18 Aug 2014 19:05:46 +0000 (21:05 +0200)]
Small improvement to PhysfsSubsystem debug output

9 years agoAdded --datadir/--userdir command line arguments and SUPERTUX2_DATA_DIR environment...
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)

9 years agoCleaned up Physfs/filesystem initialisation
Ingo Ruhnke [Mon, 18 Aug 2014 09:35:44 +0000 (11:35 +0200)]
Cleaned up Physfs/filesystem initialisation

9 years agoAdded FileSystem::exists(), FileSystem::is_directory() and FileSystem::mkdir()
Ingo Ruhnke [Mon, 18 Aug 2014 09:33:04 +0000 (11:33 +0200)]
Added FileSystem::exists(), FileSystem::is_directory() and FileSystem::mkdir()

9 years agoMinor cleanup
Ingo Ruhnke [Mon, 18 Aug 2014 09:32:06 +0000 (11:32 +0200)]
Minor cleanup

9 years agoRemoved binreloc support, SDL2 provides that functionality now with SDL_GetBasePath()
Ingo Ruhnke [Mon, 18 Aug 2014 08:36:00 +0000 (10:36 +0200)]
Removed binreloc support, SDL2 provides that functionality now with SDL_GetBasePath()

9 years agoRemoved dependency between CommandLineArguments and Physfs
Ingo Ruhnke [Mon, 18 Aug 2014 08:10:14 +0000 (10:10 +0200)]
Removed dependency between CommandLineArguments and Physfs

9 years agoRemoved some old .svn related stuff from CMakeLists
Ingo Ruhnke [Mon, 18 Aug 2014 08:09:27 +0000 (10:09 +0200)]
Removed some old .svn related stuff from CMakeLists

9 years agoFixed AddonManager load/save of disabled addon files
Ingo Ruhnke [Mon, 18 Aug 2014 03:23:16 +0000 (05:23 +0200)]
Fixed AddonManager load/save of disabled addon files

9 years agoSeparate JoystickConfig out into a separate class that can be stored in the global...
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

9 years agoSeparate KeyboardConfig out into a separate class that can be stored in the global...
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

9 years agoAdded m_ prefixes to TextureManager
Ingo Ruhnke [Mon, 18 Aug 2014 01:24:39 +0000 (03:24 +0200)]
Added m_ prefixes to TextureManager

9 years agoFixed initialisation order issue in GLVideoSystem
Ingo Ruhnke [Mon, 18 Aug 2014 00:47:43 +0000 (02:47 +0200)]
Fixed initialisation order issue in GLVideoSystem

9 years agoTurned AddonManager into a Currenton
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.

9 years agoMerge branch 'feature/init-cleanup'
Ingo Ruhnke [Sun, 17 Aug 2014 20:34:44 +0000 (22:34 +0200)]
Merge branch 'feature/init-cleanup'

9 years agoAdded Scripting class to bundle up all the Squirrel init code
Ingo Ruhnke [Sun, 17 Aug 2014 19:51:26 +0000 (21:51 +0200)]
Added Scripting class to bundle up all the Squirrel init code

9 years agoUse more RAII in initialisation code
Ingo Ruhnke [Sun, 17 Aug 2014 19:27:57 +0000 (21:27 +0200)]
Use more RAII in initialisation code

9 years agoMoved global dictionary into gettext.cpp, no need to have it in globals.cpp
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

9 years agoSplit of the line buffer from Console into ConsoleBuffer class
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.

9 years agoAdded m_ prefixes to Console
Ingo Ruhnke [Sun, 17 Aug 2014 18:38:27 +0000 (20:38 +0200)]
Added m_ prefixes to Console

9 years agoTurned a lot of other global objects into Currentons
Ingo Ruhnke [Sun, 17 Aug 2014 18:20:35 +0000 (20:20 +0200)]
Turned a lot of other global objects into Currentons

9 years agoMade Console into a Currenton
Ingo Ruhnke [Sun, 17 Aug 2014 17:05:07 +0000 (19:05 +0200)]
Made Console into a Currenton

9 years agoCleaned up VideoSystem initalisation
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()

9 years agoScale credits background image to whole screen size
Tobias Markus [Sun, 17 Aug 2014 15:11:24 +0000 (17:11 +0200)]
Scale credits background image to whole screen size

9 years agoMade code -Wshadow clean, missed a bunch of issues in the last commit
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

9 years agoMade code -Wshadow clean
Ingo Ruhnke [Sun, 17 Aug 2014 03:06:11 +0000 (05:06 +0200)]
Made code -Wshadow clean

9 years agoAdded some m_ prefixes to member variables in GLRenderer and related classes
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

9 years agoAdded some m_ prefixes to member variables in SDLRenderer 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

9 years agoAdded Renderer::start_draw()/end_draw() to fix scale issue issue SDLRenderer/SDLLightmap
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

9 years agoMoved Block code to block.cpp, was in the wrong file, i.e. bonus_block.cpp
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

9 years agoMade conversion Vector -> Sizef explicit, just to be on the safe side
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

9 years agoRemoved some superfluous Vector() calls, source object is already a Vector
Ingo Ruhnke [Sun, 17 Aug 2014 01:45:15 +0000 (03:45 +0200)]
Removed some superfluous Vector() calls, source object is already a Vector

9 years agoFixed incorrect size in Sprite::draw_part()
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

9 years agoRender SDL lightmaps at lower resolutions, as specified by LIGHTMAP_DIV
Ingo Ruhnke [Sun, 17 Aug 2014 01:09:35 +0000 (03:09 +0200)]
Render SDL lightmaps at lower resolutions, as specified by LIGHTMAP_DIV

9 years agoDecode letters from argv as UTF-8 in tools/font-generator.py
Ingo Ruhnke [Sun, 17 Aug 2014 00:14:57 +0000 (02:14 +0200)]
Decode letters from argv as UTF-8 in tools/font-generator.py

9 years agoMoved all duplicated drawing code from GLLightmap and GLRenderer into new GLPainter...
Ingo Ruhnke [Sat, 16 Aug 2014 20:43:40 +0000 (22:43 +0200)]
Moved all duplicated drawing code from GLLightmap and GLRenderer into new GLPainter class

9 years agoFixed hitboxes/hotspot for WorldMap Tux
Ingo Ruhnke [Sat, 16 Aug 2014 20:41:32 +0000 (22:41 +0200)]
Fixed hitboxes/hotspot for WorldMap Tux