Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: garbear/xbmc
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: retroplayer-18alpha1
Choose a base ref
...
head repository: ThaDaVos/xbmc
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: retroplayer-18alpha1
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.

Commits on Jun 17, 2017

  1. [PR 11034] Denormalized database ORM

    This adds a custom ORM wrapper around our existing SQLite/MySQL system.
    Even though the database if fully denormalized, it can be dynamically
    modified at runtime with new or removed fields while preserving its
    denormalized data.
    garbear committed Jun 17, 2017
    Copy the full SHA
    488d51e View commit details
  2. [PR 11034] Savestate database

    This adds a savestate database based on the DenormalizedDatabase custom
    ORM wrapper.
    garbear committed Jun 17, 2017
    Copy the full SHA
    48262f1 View commit details
  3. [PR 11034] Savestate manager

    garbear committed Jun 17, 2017
    Copy the full SHA
    9ca67e6 View commit details
  4. Copy the full SHA
    720c39f View commit details
  5. Copy the full SHA
    7fd4732 View commit details
  6. Copy the full SHA
    b283fae View commit details
  7. [PR 12312] Fix crash on game close introduced in PR 12180

    The commit 6083eab in RP 12180 contained a small logic refactor that
    caused a crash when exiting a game with a joystick plugged in. This
    restores the previous behavior without the crash.
    garbear committed Jun 17, 2017
    Copy the full SHA
    26a4414 View commit details
  8. Copy the full SHA
    3d5e353 View commit details
  9. Copy the full SHA
    5f29e6c View commit details
  10. Copy the full SHA
    36fa346 View commit details
  11. Copy the full SHA
    31a8d81 View commit details
  12. [temp] Default to true

    garbear committed Jun 17, 2017
    Copy the full SHA
    a39149f View commit details
  13. [temp] Add repository for IARL

    Thanks to Zach Morris for providing this awesome add-on.
    garbear committed Jun 17, 2017
    Copy the full SHA
    8ea6be7 View commit details
  14. Copy the full SHA
    2661bc8 View commit details
  15. Copy the full SHA
    ddca713 View commit details
  16. Copy the full SHA
    532ef25 View commit details
  17. Game OSD

    garbear committed Jun 17, 2017
    Copy the full SHA
    ca0f4dc View commit details

Commits on Jun 18, 2017

  1. Copy the full SHA
    cf52a1b View commit details
  2. Copy the full SHA
    0da295c View commit details
  3. Controller dialog: Prevent unintentional mapping with multiple contro…

    …llers
    
    This prevents one controller from mapping its button when another
    controller is being mapped.
    
    The previous behavior was observed to cause confusion because mapping two
    controllers at once makes no sense.
    garbear committed Jun 18, 2017
    Copy the full SHA
    f801c78 View commit details
  4. Copy the full SHA
    c058e02 View commit details
  5. Copy the full SHA
    793d266 View commit details
  6. Copy the full SHA
    ad3ec6e View commit details
  7. Copy the full SHA
    c2f9bc9 View commit details
  8. Copy the full SHA
    ea50b60 View commit details
  9. Copy the full SHA
    4686eac View commit details

Commits on Jun 19, 2017

  1. Update GameOSD.xml

    garbear committed Jun 19, 2017
    Copy the full SHA
    09f7935 View commit details
  2. Squash into IActionHandler

    garbear committed Jun 19, 2017
    Copy the full SHA
    8e5d111 View commit details
  3. Copy the full SHA
    0e2561f View commit details

Commits on Jun 20, 2017

  1. Copy the full SHA
    8ba30f9 View commit details

Commits on Jun 21, 2017

  1. Copy the full SHA
    55898ae View commit details
  2. Copy the full SHA
    b3d2aa5 View commit details
  3. Copy the full SHA
    89a5cb9 View commit details
  4. Copy the full SHA
    d7e07a5 View commit details
  5. Copy the full SHA
    37de4b2 View commit details
  6. Copy the full SHA
    29fc975 View commit details
  7. Copy the full SHA
    f59e298 View commit details
  8. Copy the full SHA
    c9de678 View commit details

Commits on Jun 24, 2017

  1. Fix compiler errors

    garbear committed Jun 24, 2017
    Copy the full SHA
    eaf72f7 View commit details
  2. Fix cmake error

    garbear committed Jun 24, 2017
    Copy the full SHA
    f6cc4f2 View commit details
Showing with 7,135 additions and 1,662 deletions.
  1. +32 −41 README.md
  2. +16 −0 addons/game.controller.dreamcast/addon.xml
  3. BIN addons/game.controller.dreamcast/icon.png
  4. +69 −0 addons/game.controller.dreamcast/resources/language/resource.language.en_gb/strings.po
  5. BIN addons/game.controller.dreamcast/resources/layout.png
  6. +21 −0 addons/game.controller.dreamcast/resources/layout.xml
  7. +18 −0 addons/game.controller.gba/addon.xml
  8. BIN addons/game.controller.gba/icon.png
  9. +61 −0 addons/game.controller.gba/resources/language/resource.language.en_gb/strings.po
  10. BIN addons/game.controller.gba/resources/layout.png
  11. +17 −0 addons/game.controller.gba/resources/layout.xml
  12. +16 −0 addons/game.controller.genesis/addon.xml
  13. BIN addons/game.controller.genesis/icon.png
  14. +69 −0 addons/game.controller.genesis/resources/language/resource.language.en_gb/strings.po
  15. BIN addons/game.controller.genesis/resources/layout.png
  16. +17 −0 addons/game.controller.genesis/resources/layout.xml
  17. +16 −0 addons/game.controller.mouse/addon.xml
  18. BIN addons/game.controller.mouse/icon.png
  19. +45 −0 addons/game.controller.mouse/resources/language/resource.language.en_gb/strings.po
  20. BIN addons/game.controller.mouse/resources/layout.png
  21. +13 −0 addons/game.controller.mouse/resources/layout.xml
  22. +18 −0 addons/game.controller.n64/addon.xml
  23. BIN addons/game.controller.n64/icon.png
  24. +81 −0 addons/game.controller.n64/resources/language/resource.language.en_gb/strings.po
  25. BIN addons/game.controller.n64/resources/layout.png
  26. +29 −0 addons/game.controller.n64/resources/layout.xml
  27. +16 −0 addons/game.controller.nes/addon.xml
  28. BIN addons/game.controller.nes/icon.png
  29. BIN addons/game.controller.nes/resources/button-costmap.png
  30. +53 −0 addons/game.controller.nes/resources/language/resource.language.en_gb/strings.po
  31. BIN addons/game.controller.nes/resources/layout.png
  32. +13 −0 addons/game.controller.nes/resources/layout.xml
  33. +16 −0 addons/game.controller.ps/addon.xml
  34. BIN addons/game.controller.ps/icon.png
  35. +85 −0 addons/game.controller.ps/resources/language/resource.language.en_gb/strings.po
  36. BIN addons/game.controller.ps/resources/layout.png
  37. +33 −0 addons/game.controller.ps/resources/layout.xml
  38. +15 −0 addons/game.controller.remote/addon.xml
  39. BIN addons/game.controller.remote/icon.png
  40. +49 −0 addons/game.controller.remote/resources/language/resource.language.en_gb/strings.po
  41. BIN addons/game.controller.remote/resources/layout.png
  42. +12 −0 addons/game.controller.remote/resources/layout.xml
  43. +18 −0 addons/game.controller.snes/addon.xml
  44. BIN addons/game.controller.snes/icon.png
  45. +69 −0 addons/game.controller.snes/resources/language/resource.language.en_gb/strings.po
  46. BIN addons/game.controller.snes/resources/layout.png
  47. +19 −0 addons/game.controller.snes/resources/layout.xml
  48. +12 −0 addons/repository.zachmorris/addon.xml
  49. +2 −0 addons/repository.zachmorris/changelog.txt
  50. BIN addons/repository.zachmorris/fanart.jpg
  51. BIN addons/repository.zachmorris/icon.png
  52. +78 −2 addons/resource.language.en_gb/resources/strings.po
  53. +6 −6 addons/skin.estouchy/xml/{VideoOSDBookmarks.xml → DialogBookmarks.xml}
  54. +6 −0 addons/skin.estuary/language/resource.language.en_gb/strings.po
  55. +39 −0 addons/skin.estuary/xml/Custom_1101_SettingsList.xml
  56. +4 −4 addons/skin.estuary/xml/{VideoOSDBookmarks.xml → DialogBookmarks.xml}
  57. +74 −0 addons/skin.estuary/xml/GameOSD.xml
  58. +6 −1 addons/skin.estuary/xml/Variables.xml
  59. +3 −2 addons/skin.estuary/xml/VideoOSD.xml
  60. +1 −1 cmake/addons/bootstrap/repositories/binary-addons.txt
  61. +1 −0 cmake/treedata/common/games.txt
  62. +1 −0 cmake/treedata/common/subdirs.txt
  63. +1 −0 system/addon-manifest.xml
  64. +19 −23 system/keymaps/joystick.xml
  65. +0 −1 system/playercorefactory.xml
  66. +1 −1 system/settings/settings.xml
  67. +1 −1 xbmc/Application.cpp
  68. +1 −0 xbmc/DatabaseManager.cpp
  69. +3 −0 xbmc/addons/AddonDatabase.cpp
  70. +32 −0 xbmc/addons/AddonManager.cpp
  71. +5 −0 xbmc/addons/AddonManager.h
  72. +1 −1 xbmc/cores/AudioEngine/Sinks/AESinkDARWINOSX.cpp
  73. +30 −0 xbmc/cores/RetroPlayer/RetroPlayer.cpp
  74. +1 −1 xbmc/cores/RetroPlayer/RetroPlayer.h
  75. +2 −0 xbmc/dbwrappers/CMakeLists.txt
  76. +1,569 −0 xbmc/dbwrappers/DenormalizedDatabase.cpp
  77. +245 −0 xbmc/dbwrappers/DenormalizedDatabase.h
  78. +8 −0 xbmc/dbwrappers/test/Makefile
  79. +555 −0 xbmc/dbwrappers/test/TestDenormalizedDatabase.cpp
  80. +1 −0 xbmc/dialogs/GUIDialogContextMenu.h
  81. +2 −0 xbmc/games/addons/CMakeLists.txt
  82. +19 −2 xbmc/games/addons/GameClient.cpp
  83. +3 −1 xbmc/games/addons/GameClient.h
  84. +40 −0 xbmc/games/addons/GameClientHardware.cpp
  85. +54 −0 xbmc/games/addons/GameClientHardware.h
  86. +2 −7 xbmc/games/addons/GameClientJoystick.cpp
  87. +2 −4 xbmc/games/addons/GameClientJoystick.h
  88. +5 −5 xbmc/games/addons/savestates/Savestate.h
  89. +94 −10 xbmc/games/addons/savestates/SavestateDatabase.cpp
  90. +22 −4 xbmc/games/addons/savestates/SavestateDatabase.h
  91. +13 −6 xbmc/games/addons/savestates/SavestateReader.cpp
  92. +9 −1 xbmc/games/addons/savestates/SavestateWriter.cpp
  93. +1 −1 xbmc/games/controllers/dialogs/GUIDialogAxisDetection.cpp
  94. +1 −1 xbmc/games/controllers/dialogs/GUIDialogAxisDetection.h
  95. +9 −5 xbmc/games/controllers/dialogs/GUIDialogButtonCapture.cpp
  96. +2 −2 xbmc/games/controllers/dialogs/GUIDialogButtonCapture.h
  97. +1 −1 xbmc/games/controllers/dialogs/GUIDialogIgnoreInput.cpp
  98. +1 −1 xbmc/games/controllers/dialogs/GUIDialogIgnoreInput.h
  99. +55 −5 xbmc/games/controllers/windows/GUIConfigurationWizard.cpp
  100. +2 −1 xbmc/games/controllers/windows/GUIConfigurationWizard.h
  101. +4 −2 xbmc/games/dialogs/CMakeLists.txt
  102. +373 −0 xbmc/games/dialogs/GUIDialogSavestates.cpp
  103. +74 −0 xbmc/games/dialogs/GUIDialogSavestates.h
  104. +11 −0 xbmc/games/dialogs/osd/CMakeLists.txt
  105. +166 −0 xbmc/games/dialogs/osd/DialogGameAudioSettings.cpp
  106. +65 −0 xbmc/games/dialogs/osd/DialogGameAudioSettings.h
  107. +84 −0 xbmc/games/dialogs/osd/DialogGameOSD.cpp
  108. +40 −0 xbmc/games/dialogs/osd/DialogGameOSD.h
  109. +187 −0 xbmc/games/dialogs/osd/DialogGameVideoSettings.cpp
  110. +48 −0 xbmc/games/dialogs/osd/DialogGameVideoSettings.h
  111. +0 −2 xbmc/games/ports/CMakeLists.txt
  112. +0 −8 xbmc/games/ports/InputSink.cpp
  113. +2 −4 xbmc/games/ports/InputSink.h
  114. +68 −15 xbmc/games/ports/Port.cpp
  115. +34 −12 xbmc/games/ports/Port.h
  116. +0 −69 xbmc/games/ports/PortInput.h
  117. +47 −4 xbmc/games/ports/PortManager.cpp
  118. +17 −2 xbmc/games/ports/PortManager.h
  119. +9 −11 xbmc/games/ports/PortMapper.cpp
  120. +16 −0 xbmc/games/windows/GUIWindowGames.cpp
  121. +12 −0 xbmc/guilib/GUIWindowManager.cpp
  122. +4 −0 xbmc/guilib/WindowIDs.h
  123. +5 −0 xbmc/input/Action.h
  124. +2 −0 xbmc/input/ActionIDs.h
  125. +3 −4 xbmc/input/ActionTranslator.cpp
  126. +1 −1 xbmc/input/ActionTranslator.h
  127. +2 −2 xbmc/input/AppTranslator.cpp
  128. +2 −1 xbmc/input/AppTranslator.h
  129. +135 −54 xbmc/input/ButtonTranslator.cpp
  130. +13 −10 xbmc/input/ButtonTranslator.h
  131. +11 −3 xbmc/input/CMakeLists.txt
  132. +1 −1 xbmc/input/CustomControllerTranslator.cpp
  133. +2 −3 xbmc/input/GamepadTranslator.cpp
  134. +2 −1 xbmc/input/GamepadTranslator.h
  135. +39 −0 xbmc/input/IActionHandler.h
  136. +95 −0 xbmc/input/IKeymap.h
  137. +52 −0 xbmc/input/IKeymapEnvironment.h
  138. +11 −12 xbmc/input/IRTranslator.cpp
  139. +4 −4 xbmc/input/IRTranslator.h
  140. +50 −0 xbmc/input/InputManager.cpp
  141. +15 −9 xbmc/input/InputManager.h
  142. +0 −103 xbmc/input/JoystickTranslator.cpp
  143. +0 −40 xbmc/input/Key.h
  144. +2 −2 xbmc/input/KeyboardTranslator.cpp
  145. +2 −1 xbmc/input/KeyboardTranslator.h
  146. +60 −0 xbmc/input/Keymap.cpp
  147. +40 −0 xbmc/input/Keymap.h
  148. +7 −15 xbmc/{games/ports/PortInput.cpp → input/KeymapEnvironment.cpp}
  149. +33 −0 xbmc/input/KeymapEnvironment.h
  150. +2 −0 xbmc/input/MouseTranslator.cpp
  151. +1 −1 xbmc/input/TouchTranslator.cpp
  152. +48 −0 xbmc/input/WindowKeymap.cpp
  153. +49 −0 xbmc/input/WindowKeymap.h
  154. +5 −1 xbmc/input/WindowTranslator.cpp
  155. +5 −8 xbmc/input/XBMC_keytable.cpp
  156. +4 −1 xbmc/input/XBMC_keytable.h
  157. +44 −0 xbmc/input/hardware/IHardwareInput.h
  158. +5 −11 xbmc/input/joysticks/CMakeLists.txt
  159. +0 −87 xbmc/input/joysticks/DefaultController.cpp
  160. +0 −250 xbmc/input/joysticks/DefaultJoystick.cpp
  161. +0 −125 xbmc/input/joysticks/DefaultJoystick.h
  162. +0 −51 xbmc/input/joysticks/DefaultRemote.cpp
  163. +0 −60 xbmc/input/joysticks/IActionMap.h
  164. +4 −3 xbmc/input/joysticks/IButtonMapper.h
  165. +3 −19 xbmc/input/joysticks/IInputHandler.h
  166. +54 −0 xbmc/input/joysticks/IInputProvider.h
  167. +0 −99 xbmc/input/joysticks/IKeymapHandler.h
  168. +25 −0 xbmc/input/joysticks/JoystickTranslator.cpp
  169. +18 −0 xbmc/input/joysticks/JoystickTranslator.h
  170. +24 −0 xbmc/input/joysticks/JoystickTypes.h
  171. +49 −0 xbmc/input/joysticks/JoystickUtils.cpp
  172. +24 −0 xbmc/input/joysticks/JoystickUtils.h
  173. +0 −200 xbmc/input/joysticks/KeymapHandler.cpp
  174. +0 −62 xbmc/input/joysticks/KeymapHandler.h
  175. +8 −2 xbmc/input/joysticks/RumbleGenerator.cpp
  176. +6 −1 xbmc/input/joysticks/RumbleGenerator.h
  177. +14 −7 xbmc/input/joysticks/generic/ButtonMapping.cpp
  178. +6 −6 xbmc/input/joysticks/generic/ButtonMapping.h
  179. +4 −2 xbmc/input/joysticks/generic/CMakeLists.txt
  180. +27 −61 xbmc/input/joysticks/generic/FeatureHandling.cpp
  181. +1 −2 xbmc/input/joysticks/generic/FeatureHandling.h
  182. +61 −0 xbmc/input/joysticks/interfaces/IKeyHandler.h
  183. +11 −9 xbmc/input/joysticks/{DefaultRemote.h → interfaces/IKeymapHandler.h}
  184. +11 −0 xbmc/input/joysticks/keymaps/CMakeLists.txt
  185. +180 −0 xbmc/input/joysticks/keymaps/KeyHandler.cpp
  186. +71 −0 xbmc/input/joysticks/keymaps/KeyHandler.h
  187. +143 −0 xbmc/input/joysticks/keymaps/KeymapHandler.cpp
  188. +84 −0 xbmc/input/joysticks/keymaps/KeymapHandler.h
  189. +95 −0 xbmc/input/joysticks/keymaps/KeymapHandling.cpp
  190. +31 −16 xbmc/input/joysticks/{DefaultController.h → keymaps/KeymapHandling.h}
  191. +1 −1 xbmc/interfaces/builtins/GUIBuiltins.cpp
  192. +4 −0 xbmc/interfaces/builtins/PlayerBuiltins.cpp
  193. +1 −1 xbmc/interfaces/json-rpc/InputOperations.cpp
  194. +1 −1 xbmc/network/EventServer.cpp
  195. +4 −2 xbmc/peripherals/addons/AddonButtonMapping.cpp
  196. +2 −2 xbmc/peripherals/devices/Peripheral.cpp
  197. +8 −5 xbmc/peripherals/devices/Peripheral.h
  198. +21 −7 xbmc/peripherals/devices/PeripheralJoystick.cpp
  199. +5 −3 xbmc/peripherals/devices/PeripheralJoystick.h
  200. +5 −5 xbmc/settings/AdvancedSettings.cpp
  201. +2 −0 xbmc/settings/CMakeLists.txt
  202. +5 −10 xbmc/{input/JoystickTranslator.h → settings/GameSettings.cpp}
  203. +42 −0 xbmc/settings/GameSettings.h
  204. +22 −0 xbmc/settings/MediaSettings.cpp
  205. +9 −0 xbmc/settings/MediaSettings.h
  206. +30 −0 xbmc/utils/IDeserializable.h
  207. +11 −1 xbmc/video/dialogs/GUIDialogVideoBookmarks.cpp
  208. +1 −0 xbmc/video/dialogs/GUIDialogVideoBookmarks.h
  209. +12 −3 xbmc/video/windows/GUIWindowFullScreen.cpp
  210. +1 −0 xbmc/video/windows/GUIWindowFullScreen.h
73 changes: 32 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,46 @@
[![Build Status](https://travis-ci.org/xbmc/xbmc.svg?branch=master)](https://travis-ci.org/xbmc/xbmc)
[![Documentation](https://codedocs.xyz/xbmc/xbmc.svg)](https://codedocs.xyz/xbmc/xbmc/)
<a href="http://www.youtube.com/watch?feature=player_embedded&v=Moh67r0iBGA
" target="_blank"><img src="http://img.youtube.com/vi/Moh67r0iBGA/0.jpg"
alt="retroplayer" width="240" height="180" border="10"/></a>

![Kodi logo](https://raw.githubusercontent.com/xbmc/xbmc-forum/master/xbmc/images/logo-sbs-black.png)
# Kodi Home Theater Software
# Overview

**Welcome to Kodi!**
RetroPlayer is a new player core for Kodi Entertainment Center. It is similar to the video and audio players, but it plays games instead of movies and music.

Kodi is an award-winning free and open source (GPL) software media player and
entertainment hub for digital media. Kodi is available for multiple platforms.
Created in 2003 by a group of like minded programmers, Kodi is a non-profit
project run and developed by volunteers located around the world.
More than 450 software developers have contributed to Kodi to date, and 100-plus
translators have worked to expand its reach, making it available in more
than 65 languages.
# Design and Components

While Kodi functions very well as a standard media player application for your
computer, it has been designed to be the perfect companion for your HTPC.
Supporting an almost endless range of remote controls, and combined with its
beautiful interface and powerful skinning engine, Kodi feels very natural to
use from the couch and is the ideal solution for your home theater.
**RetroPlayer:** Player core that plays games on the virtual file system (VFS) using game add-ons. Despite its name, it can play all types of games, not just retro ones. It borrows many ideas from the video player. Games can be paused, fast-forwarded, and rewound in realtime (watch little Mario run backwards!). Instead of bookmarks, save states are created and allow for quick browsing of the game's play history.

Currently Kodi can be used to play almost all popular audio and video formats
around. It was designed for network playback, so you can stream your multimedia
from anywhere in the house or directly from the internet using practically any
protocol available.
**Game Add-ons:** Standalone games, emulators and game streamers. From day one, RetroPlayer has been compatible with the [libretro](http://www.libretro.com/) ecosystem.

Use your media as-is: Kodi can play CDs and DVDs directly
from the disk or image file, almost all popular archive formats from your hard
drive, and even files inside ZIP and RAR archives. It will even scan all of
your media and automatically create a personalized library complete with box
covers, descriptions, and fanart. There are playlist and slideshow functions, a
weather forecast feature and many audio visualizations. Once installed, your
computer will become a fully functional multimedia jukebox.
**Peripheral Add-ons:** Add-ons that expose hardware devices to Kodi. Communication with devices takes place over a bus. The peripheral add-on API is a virtual bus, alongside USB and PCI, that allows third parties to expose hardware devices to Kodi.

**Joystick input:** Various joystick APIs (DirectX, XInput, SDL, etc.) provide access to raw hardware events, like button presses and axis positions. The joystick input system maps these to physical elements on the controller, such as the X button, left trigger or right analog stick. The gesture recognition from touch input has been converted to monitor holding, double-pressing, analog stick rotation and (someday) accelerometer gestures.

## Installation
**Media readers:** Plugging a cartridge into [Retrode](http://www.retrode.org/)-like devices can display game metadata and automatically launch the game. Removing a cartridge from the media reader can take a save-state so that the next time the game is inserted, gameplay begins from where it left off. Games can be cached indefinitely, so there is no need to insert the cartridge a second time (although it's possibly quicker than browsing for the cached game!). Game filenames aren't available, so game metadata is extracted from the ROM itself using [PyRomInfo](https://github.com/garbear/pyrominfo).

See [docs/README.xxx](https://github.com/xbmc/xbmc/tree/master/docs) for specific platform build information.
Many of these features are still works-in-progress, so fork the code and help out!

## Quick Kodi development links
# Building Kodi and games

* [Contributing](https://github.com/xbmc/xbmc/blob/master/CONTRIBUTING.md)
* [Submitting a patch](http://kodi.wiki/view/HOW-TO_submit_a_patch)
* [Code guidelines](https://codedocs.xyz/xbmc/xbmc/code_guidelines.html)
* [Kodi development](http://kodi.wiki/view/Development)
Build Kodi per usual. If you are developing binary add-ons using a local prefix, specifying it during the `./configure` step:

## Useful links
```
./bootstrap
./configure --prefix=$HOME/kodi
make -j8
```

* [Kodi wiki](http://kodi.wiki/)
* [Kodi bug tracker](http://trac.kodi.tv)
* [Kodi community forums](http://forum.kodi.tv/)
* [Kodi website](http://kodi.tv)
Joystick support is now provided through a binary add-on. Follow the out-of-tree instructions at https://github.com/kodi-game/peripheral.joystick.

**Enjoy Kodi and help us improve it today. :)**
Game add-ons are hosted separately at https://github.com/kodi-game. If you would like to compile all game add-ons in one fell swoop, create a build directory out-of-tree and run the following commands:

```
cmake -DADDONS_TO_BUILD=game.* \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=$HOME/workspace/kodi/addons \
-DPACKAGE_ZIP=1 \
$HOME/workspace/kodi/cmake/addons
make
```

where `$HOME/workspace/kodi` symlinks to the directory you cloned Kodi into.
16 changes: 16 additions & 0 deletions addons/game.controller.dreamcast/addon.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="game.controller.dreamcast"
name="Dreamcast Controller"
version="1.0.3"
provider-name="Team Kodi">
<requires>
</requires>
<extension point="kodi.game.controller" library="resources/layout.xml"/>
<extension point="xbmc.addon.metadata">
<summary>Sega Dreamcast controller</summary>
<description>The Sega Dreamcast controller is a logical progression from the 3D Control Pad for the Sega Saturn.</description>
<disclaimer></disclaimer>
<platform>all</platform>
<nofanart>true</nofanart>
</extension>
</addon>
Binary file added addons/game.controller.dreamcast/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# XBMC Media Center language file
# Addon Name: Dreamcast controller
# Addon id: gameclient.controller.dreamcast
# Addon Provider: Libretro Team
msgid ""
msgstr ""
"Project-Id-Version: Libretro Clients\n"
"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2014-05-30 17:00+8\n"
"Last-Translator: XBMC Translation Team\n"
"Language-Team: English (http://www.transifex.com/projects/p/xbmc-addons/language/en/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

msgctxt "#30000"
msgid "Dreamcast"
msgstr ""

msgctxt "#30001"
msgid "A"
msgstr ""

msgctxt "#30002"
msgid "B"
msgstr ""

msgctxt "#30003"
msgid "X"
msgstr ""

msgctxt "#30004"
msgid "Y"
msgstr ""

msgctxt "#30005"
msgid "Start"
msgstr ""

msgctxt "#30006"
msgid "Up"
msgstr ""

msgctxt "#30007"
msgid "Down"
msgstr ""

msgctxt "#30008"
msgid "Right"
msgstr ""

msgctxt "#30009"
msgid "Left"
msgstr ""

msgctxt "#30010"
msgid "Left Trigger"
msgstr ""

msgctxt "#30011"
msgid "Right Trigger"
msgstr ""

msgctxt "#30012"
msgid "Analog Stick"
msgstr ""
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions addons/game.controller.dreamcast/resources/layout.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<layout name="Dreamcast" label="30000" image="layout.png">
<category name="face" label="35074">
<button name="a" type="digital" label="30001"/>
<button name="b" type="digital" label="30002"/>
<button name="x" type="digital" label="30003"/>
<button name="y" type="digital" label="30004"/>
<button name="start" type="digital" label="30005"/>
<button name="up" type="digital" label="30006" direction="up"/>
<button name="right" type="digital" label="30008" direction="right"/>
<button name="down" type="digital" label="30007" direction="down"/>
<button name="left" type="digital" label="30009" direction="left"/>
</category>
<category name="triggers" label="35076">
<button name="lefttrigger" type="digital" label="30010"/>
<button name="righttrigger" type="digital" label="30011"/>
</category>
<category name="analogsticks" label="35077">
<analogstick name="analogstick" label="30012"/>
</category>
</layout>
18 changes: 18 additions & 0 deletions addons/game.controller.gba/addon.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="game.controller.gba"
name="Game Boy Advance"
version="1.0.3"
provider-name="Team Kodi">
<requires>
</requires>
<extension point="kodi.game.controller" library="resources/layout.xml"/>
<extension point="xbmc.addon.metadata">
<summary>Game Boy Advance</summary>
<description>The Game Boy Advance is a 32-bit handheld video game console developed, manufactured and marketed by Nintendo.

Image credit: ThaFake (thafake.deviantart.com)</description>
<disclaimer></disclaimer>
<platform>all</platform>
<nofanart>true</nofanart>
</extension>
</addon>
Binary file added addons/game.controller.gba/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# XBMC Media Center language file
# Addon Name: GBA
# Addon id: game.controller.gba
# Addon Provider: Team-Kodi
msgid ""
msgstr ""
"Project-Id-Version: Libretro Clients\n"
"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2014-05-30 17:00+8\n"
"Last-Translator: XBMC Translation Team\n"
"Language-Team: English (http://www.transifex.com/projects/p/xbmc-addons/language/en/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

msgctxt "#30000"
msgid "Game Boy Advance"
msgstr ""

msgctxt "#30001"
msgid "A"
msgstr ""

msgctxt "#30002"
msgid "B"
msgstr ""

msgctxt "#30003"
msgid "Start"
msgstr ""

msgctxt "#30004"
msgid "Select"
msgstr ""

msgctxt "#30005"
msgid "Up"
msgstr ""

msgctxt "#30006"
msgid "Down"
msgstr ""

msgctxt "#30007"
msgid "Right"
msgstr ""

msgctxt "#30008"
msgid "Left"
msgstr ""

msgctxt "#30009"
msgid "Left Bumper"
msgstr ""

msgctxt "#30010"
msgid "Right Bumper"
msgstr ""
Binary file added addons/game.controller.gba/resources/layout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions addons/game.controller.gba/resources/layout.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<layout name="GBA" label="30000" image="layout.png">
<category name="face" label="35074">
<button name="a" type="digital" label="30001"/>
<button name="b" type="digital" label="30002"/>
<button name="start" type="digital" label="30003"/>
<button name="select" type="digital" label="30004"/>
<button name="up" type="digital" label="30005" direction="up"/>
<button name="right" type="digital" label="30007" direction="right"/>
<button name="down" type="digital" label="30006" direction="down"/>
<button name="left" type="digital" label="30008" direction="left"/>
</category>
<category name="shoulder" label="35075">
<button name="leftbumper" type="digital" label="30009"/>
<button name="rightbumper" type="digital" label="30010"/>
</category>
</layout>
16 changes: 16 additions & 0 deletions addons/game.controller.genesis/addon.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="game.controller.genesis"
name="Genesis Controller"
version="1.0.3"
provider-name="Team Kodi">
<requires>
</requires>
<extension point="kodi.game.controller" library="resources/layout.xml"/>
<extension point="xbmc.addon.metadata">
<summary>Sega Genesis controller</summary>
<description>The original Sega Genesis controller had three main face buttons. Sega released a six-button version in 1993.</description>
<disclaimer></disclaimer>
<platform>all</platform>
<nofanart>true</nofanart>
</extension>
</addon>
Binary file added addons/game.controller.genesis/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# XBMC Media Center language file
# Addon Name: Sega Genesis Controller
# Addon id: game.controller.genesis
# Addon Provider: Team-Kodi
msgid ""
msgstr ""
"Project-Id-Version: Libretro Clients\n"
"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2014-05-30 17:00+8\n"
"PO-Revision-Date: 2014-05-30 17:00+8\n"
"Last-Translator: XBMC Translation Team\n"
"Language-Team: English (http://www.transifex.com/projects/p/xbmc-addons/language/en/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

msgctxt "#30000"
msgid "Sega Genesis"
msgstr ""

msgctxt "#30001"
msgid "A"
msgstr ""

msgctxt "#30002"
msgid "B"
msgstr ""

msgctxt "#30003"
msgid "C"
msgstr ""

msgctxt "#30004"
msgid "X"
msgstr ""

msgctxt "#30005"
msgid "Y"
msgstr ""

msgctxt "#30006"
msgid "Z"
msgstr ""

msgctxt "#30007"
msgid "Start"
msgstr ""

msgctxt "#30008"
msgid "Mode"
msgstr ""

msgctxt "#30009"
msgid "Up"
msgstr ""

msgctxt "#30010"
msgid "Down"
msgstr ""

msgctxt "#30011"
msgid "Right"
msgstr ""

msgctxt "#30012"
msgid "Left"
msgstr ""
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading