RetroPlayer work-in-progress

Conflicts:
	project/VS2010Express/XBMC.vcxproj.filters

Rename Game API function AllowVFS() to SupportsVFS(), and remove unused RequireArchive()

Conflicts:
	project/VS2010Express/XBMC.vcxproj.filters

[library.xbmc.libretro] always call Get*() functions

Make game callbacks returning strings return char* that need to be freed with FreeString()

Also fix pixel_format callback returning void instead of bool

Some work in GameClient.h

General game clients cleanup

Remove EnvironmentSetPerformanceLevel() Game API callback (replaced RETRO_ENVIRONMENT_SET_PERFORMANCE_LEVEL)

Make EnvironmentSetSupportNoGame() a Game API call instead of a callback

Also fixes typo with EnvironmentSetPixelFormat()

Return strings of static duration

"Finished" cleaning up GameClient

Removed GameFileLoader.cpp and merged functionality into GameClient.cpp

Compiler fixes

More compile fixes (it compiles now!)

Implement EnvironmentGetSystemDirectory() callback

Move variable environment commands to libretro add-on

Remove EnvironmentGetLibretroPath() callback and implement in libretro library add-on

Also fixes copy/paste errors in LibretroEnvironment.cpp

Removed all directory callbacks from the game api

Also, fix bug in LibretroDLL.cpp (parameter needs T& type instead of T)

Implement content directory and save directory

Remove InputPoll() callback and finish AddonCallbacksGame.cpp

Two new functions are added to RetroPlayer.h

Use library.xbmc.libretro add-on to load libretro v1 clients

If libretro client supports loading via memory, use XBMC's VFS

Renamed xbmc.libretro to xbmc.game

Fixed: Use game api import version instead of game client version

Fixed 2 Makefiles and changed include of <string.h> to string because it
did not compile on linux

Much refactoring. Notably, game extension updates have been taken out of repository update job and moved to an Observer callback

Add addon.xml file for library.xbmc.libretro add-on

GameClientProperties fixes: translate special:// paths, and assign properties to the correct variables

Fully remove EnvironmentSetMessage() callback

Also, ACTUALLY fix bug in LibretroDLL.cpp (parameter needs T& type instead of T)

Fix typo in libXBMC_game.cpp

Fix failed assert when disabling add-ons in CGameManager::RegisterAddon()

Fixed: Report parent path of game client library for content directory

silence compiler warning

Disabled unregistering CGameManager from CAddonInstaller. TODO: Figure out why this crashed

Added check for library.xbmc.libretro game clients

Allow CAddonDatabase::GetAddons() to specify add-on type

Fix GameManager.cpp (see parent commit)

cosmetic: Typo in xbmc_game_callbacks.h

Fixed local game clients (not found in remote repositories) not registering their valid extensions properly

Restore commented code (mostly), simplify logic, and fix bug where original name was used as a key instead of the proper label

Solved the case of the missing extensions

squashme

Add new CGameManager::GetAllGameClients() and use CAddonMgr instead of direct database access

Moved initialization list into CGameClient::Initialize() helper function

squashme

Fix bug with return value of CGameClient::Create()

Bug still exists in GameManager.cpp, this will be fixed in a later commit

Re-arrange locking in GameManager.cpp, fix bug (see parent commit), uncomment some code

Implement CGameClient::CanOpen()

Fix bug where game clients weren't being registered

Improve loading through VFS. Fixes bug where entire buffer was copied into data vector instead of just bytes read

fixed compilation error for gcc

library.xbmc.libretro: Refactor game info loading into new file, GameInfoLoader.cpp

Add Game API headers to list of exported headers

Fixed libretro cores failing if library.xbmc.libretro was disabled

Bug fixes:

* Stack overflow exception when trying to allocate 1MB on the stack
* buffer wasn't resized properly when calling LoadGame()

Fix libretro callbacks were never installed (or even fully implemented)

[cosmetic] Remove trailing whitespace from all retroplayer files

Fix compile of library.xbmc.libretro on OSX

Make AddonEnabled() callback return a bool (disabled add-on if false is returned) and rename UpdateRemoteAddons() to UpdateExtensions()

Conflicts:
	xbmc/games/GameManager.h

Conflicts:
	xbmc/addons/AddonInstaller.cpp
Sync Xcode project
Update copyright headers