How are standalone game providers launched?
#1
I can't seem to work out how to launch a non-emulator addon. For example the 2048 game that comes build with kodi-game now will only show up if I try to view all addons, and then it is unlaunchable. As far as I can tell, the only way to use the extra functionality provided by kodi-game and the whole Game API system is by launching emulators by browsing to ROMs in the filesystem.

The reason that I want to do this is that have made some changes to game.moonlight to allow it to compile, but now that it's back in Kodi, I can't seem to launch it. As far as I can tell, kodi-game standalone addons need the extension point="kodi.gameclient", but then these won't launch for me.

Thanks for any additional info!
Reply
#2
Looks like something broke in the last rebase. If an add-on specifies supports_standalone like game.moonlight, then it should show up under Game Add-ons (along with game scripts and game plugins). I'll get this bug fixed and push out a new build.

Another bug is that you can't launch standalone add-ons from the add-on info window. I'll try to fix this as well. I'll post back when both bugs are fixed.
Reply
#3
This has been fixed in my retroplayer-17beta3 branch. I'll upload builds for windows and osx to the builds thread.
Reply
#4
Hey thanks for fixing the issue. I've pulled and built the latest version and its working perfectly.

Unfortunately, it looks like the fixes I made to game.moonlight allowed it to compile but are causing it to crash with
Code:
GAME - LoadStandalone() - addon 'game.moonlight' returned an error: the command failed

How do you go about debugging with Kodi, and Kodi plugins in general? I can find a lot of information on the wiki about compiling but nothing about debugging. I'm happy to work in Visual Studio in Windows or Eclipse in Ubuntu, or ...?
Reply
#5
Debugging on windows will get a lot easier once PR10753 is merged. For now, I avoid debugging on windows and use either Eclipse or Xcode.

In Eclipse, debugging is possible if you compile game.moonlight in debug mode. See the updated build instructions at https://github.com/garbear/game.moonlight (section "Developing on Linux")
Reply
#6
Okay thanks for the details. I have both Kodi and game.moonlight debuggable in Eclipse. However, the addon won't run on its own without Kodi.

I can build the addon and install, which copies the libraries over so the addon is present in Kodi. However, I can't make breakpoints in the addon code, because the source files aren't in the Kodi project.

How can I test addons (with breakpoints etc) in Eclipse which are launched from within a Kodi instance?

Hope this makes sense! Thanks again.
Reply
#7
You can set a breakpoint in CGameClient and then step into the add-on. This will pull the source file up in Eclipse, and then you can set breakpoints in that file. There's two main points you'll want to start with:

Add-on initialization:

In Initialize(), set a breakpoint before Create(). Then step into Create() and proceed until this line (hint: it's 6 steps). At this point, m_pDll->Create() will step into the add-on's initialization function here in game.moonlight.

Game loading:

The next time the add-on is entered is when a game is loaded in standalone mode. You should set a breakpoint here. Stepping into m_pStruct->LoadStandalone() will take you here in game.moonlight where gameplay is initialized.

Hope that helps.
Reply

Logout Mark Read Team Forum Stats Members Help
How are standalone game providers launched?0