• 1
  • 27
  • 28
  • 29(current)
  • 30
  • 31
  • 167
RetroPlayer Test Builds (updated for Nexus)
OK I got a more detailed stack trace for you
Code:
>    peripheral.joystick.dll!JOYSTICK::CUserID::LoadRandomNumber(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & strUserPath) Line 59    C++
    peripheral.joystick.dll!JOYSTICK::CUserID::Load(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & strUserPath) Line 38    C++
    peripheral.joystick.dll!JOYSTICK::CButtonMapAPI::Initialize(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & strUserPath) Line 46    C++
    peripheral.joystick.dll!JOYSTICK::CDatabaseWeb::CDatabaseWeb(JOYSTICK::CStorageManager * manager, JOYSTICK::CDatabase * userXml, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & strUserPath) Line 46    C++
    peripheral.joystick.dll!JOYSTICK::CStorageManager::Initialize(ADDON::CHelper_libKODI_peripheral * peripheralLib, const PERIPHERAL_PROPERTIES & props) Line 84    C++
    peripheral.joystick.dll!ADDON_Create(void * callbacks, void * props) Line 80    C++
    Kodi.exe!DllAddon<PeripheralAddon,PERIPHERAL_PROPERTIES>::Create(void * p1, PERIPHERAL_PROPERTIES * p2) Line 47    C++
    Kodi.exe!ADDON::CAddonDll<DllPeripheral,PeripheralAddon,PERIPHERAL_PROPERTIES>::Create() Line 233    C++
    Kodi.exe!PERIPHERALS::CPeripheralAddon::CreateAddon() Line 112    C++
    Kodi.exe!PERIPHERALS::CPeripheralBusAddon::PerformDeviceScan(PERIPHERALS::PeripheralScanResults & results) Line 104    C++
    Kodi.exe!PERIPHERALS::CPeripheralBus::ScanForDevices() Line 125    C++
    Kodi.exe!PERIPHERALS::CPeripheralBus::Initialise() Line 228    C++
    Kodi.exe!PERIPHERALS::CPeripherals::Initialise() Line 102    C++
    Kodi.exe!CApplication::Create() Line 678    C++

so it fails in JOYSTICK::CUserID::LoadRandomNumber() because strPath is not a valid path and therefore opening the file fails. The content of strPath is
Code:
E:\Coding\Cpp\xbmc.montellese\portable_data\userdata\addon_data\peripheral.joystick\/random_number.txt
so there's a slash before "random_number.txt" that shouldn't be there.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
Scratch that it doesn't seem to be related to the bad path. Neither ifstream nor ofstream work. The constructor works but accessing the object afterwards will result in an access violation.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
ok not a problem i'll just use Kodi's VFS
Reply
This seems to be an issue with how we link runtime libraries. We build Kodi with /MT(d) which means that the runtime library is statically linked into the executable. Our binary addons however are built with /MD(d) which means that the runtime library is dynamically linked and the necessary symbols are resolved when the DLL is loaded. We do this so that we can overwrite/emulate certain functions from the runtime library like fopen(), fseek() et al.
Checking google everyone tells you that you must not mix different runtime library linker settings like we do and that it can cause were strange problems like the one we see here but there's no way around it for us. You can either use Kodi's VFS helper functions or use fopen() et al.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
ok, made the switch to use the VFS
Reply
(2015-06-23, 20:19)garbear Wrote: ok, made the switch to use the VFS

That was fast. All good now with peripheral.joystick. Building game.libretro.nestopia still fails because of the missing setup for MinGW so you won't be able to use jenkins to create builds or rather you can but they'll be missing the failed addons.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
Didn't you add mingw as a dep? Can you PR that work to retroplayer-15beta2?
Reply
(2015-06-23, 21:26)garbear Wrote: Didn't you add mingw as a dep? Can you PR that work to retroplayer-15beta2?

Yes I did. Will apply it to your newest branch and send a PR. You can also just try it yourself by applying these commits to your new branch: https://github.com/garbear/xbmc/compare/...r-15alpha2 as they shouldn't interfer with anything else.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
Here you go: https://github.com/garbear/xbmc/pull/33 for RetroPlayer and https://github.com/kodi-game/game.libret...pia/pull/3 as an example for the necessary changes to the game addons.
Always read the online manual (wiki), FAQ (wiki) and search the forum before posting.
Do not e-mail Team Kodi members directly asking for support. Read/follow the forum rules (wiki).
Please read the pages on troubleshooting (wiki) and bug reporting (wiki) before reporting issues.
Reply
OS X build works fine, although the C key no longer works in Kodi, unless it was remapped? Nice work dude.
Reply
something works? :-O

I'm uploading a new windows build now using Montellese's modifications

Also, I added a new feature to help anthony with his GSoC project - launching game add-ons as standalone games. i'll make a new OSX build with this feature
Reply
uploaded a new build. this one only contains gamepad input fixes
Reply
Sweet! Working on windows now.

Image

Anything we should try out?
Reply
Wow, new builds are available, then I will have to do some testing later today. Thank you!!!
Reply
Spent some time yesterday building retroplayer + binnary addons under arch linux x86_64 and after some time (and a lot of curl related https errors) I managed to have it compiled and running. Nestopia + 2048 placed the lib file in the lib folder but retroplayer was looking for it in share/lib. Manually creating a symlink solved the issue, which is alread reported here (https://github.com/garbear/xbmc/issues/3...-115029106).

I'm surprised how well it works already. Since I have a lot of gamepads at home from the "pro evolution soccer years", I gave them a go. Some of them are in really bad shape and terribly old. Kodi recognized every single gamepad and the configuration gui also configured the buttonmaps correctly. Managed to play some super mario 3 using nestopia with a proper input device Smile

Now the problems and some suggestions.

Problems

- My most recent gamepad is a PS3 dualshock. Kodi recognized the gamepad and I managed to have some keypresses logged in the log file (@garbear it seems the main issue yesterday was the fact that I accidentally turned on the ps3 while having the gamepad connected to the laptop). However most of the buttons are recognized twice (or multiple times). For instance, using the gui and pressing one button makes the dialog move 2 or 3 buttons below. Kodi crashes often when using the ps3 gamepad (I assume because they interprets that is receiving multiple presses at the same time).

- I recall in the configuration gui video that was posted some time ago while moving in the buttons dialog a little circle would focus the button on the joystick image. Unfortunately I don't have this behaviour. I can configure the input but each button don't show in the window what is the button it's referring to. Se image below vs the configuration gui video:

mine
Image

video
Image

Noticed that some of the python files present here (https://github.com/kodi-game/kodi-game-c...er/scripts) are not present on my installation folder. I don't know if this is supposed to work this way or something is missing on my setup.

Suggestions

- Despite following this project for a long time, I had some problems to understand how the configuration gui works. It would be nice to have a dialog ok (like the one that is present if peripheral.joystick is missing) to explain how the configuration should be done if no buttonmaps exist. To have a gamepad controlling the kodi interface we need to configure the default controller first, to have the gamepad to control a specific game we need to configure the proper platform controler. It took some time for me to understand this.

- It would also be nice to be able to clean the buttonmaps from the input settings window. Hitting reset to default doesn't seem to delete the buttonmap.xml file.


Thanks very much for your work on this. One of the most amazing projects I've seen for kodi!
Let me know if you need some testing on new stuff
Reply
  • 1
  • 27
  • 28
  • 29(current)
  • 30
  • 31
  • 167

Logout Mark Read Team Forum Stats Members Help
RetroPlayer Test Builds (updated for Nexus)16