supertux.git
10 years agoOnly refresh menu items that have been created in the JoystickMenu to avoid crash
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

10 years agoFixed Controller enum to string conversion
Ingo Ruhnke [Wed, 27 Aug 2014 08:24:28 +0000 (10:24 +0200)]
Fixed Controller enum to string conversion

10 years agoMade Menu::get_item_by_id(int id) error message sligthly more useful
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

10 years agoSplit Controller::PAUSE_MENU into ESCAPE and START, as they need to act different...
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

10 years agoAdded default and cancel button to the Dialog
Ingo Ruhnke [Wed, 27 Aug 2014 07:37:56 +0000 (09:37 +0200)]
Added default and cancel button to the Dialog

10 years agoMerge branch 'feature/download-non-blocking'
Ingo Ruhnke [Tue, 26 Aug 2014 22:58:42 +0000 (00:58 +0200)]
Merge branch 'feature/download-non-blocking'

10 years agoMoved abort() and update() calls into TransferStatus, also fixed abort() handling...
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

10 years agoChanged error handling in TransferStatus, then-callbacks are now always called and...
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

10 years agoA first try at error handling in the Downloader
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.

10 years agoSave and parse repository index when AddonManager loads
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.

10 years agoWait for an explicit "Close" by the user instead of closing the DownloadDialog automa...
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.

10 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

10 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

10 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.

10 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

10 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.

10 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

10 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

10 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

10 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

10 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

10 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.

10 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

10 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.

10 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

10 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

10 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

10 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

10 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

10 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

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

10 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

10 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

10 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

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

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

10 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

10 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()

10 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

10 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

10 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

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

10 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

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

10 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

10 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/

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

10 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

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

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

10 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

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

10 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

10 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

10 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

10 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.

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

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

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

10 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

10 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

10 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

10 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

10 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

10 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

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

10 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

10 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)

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

10 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()

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

10 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()

10 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

10 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

10 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

10 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

10 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

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

10 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

10 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.

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

10 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

10 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

10 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

10 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.

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

10 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

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

10 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()

10 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

10 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

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