Coder Social home page Coder Social logo

esc0rtd3w / xbmc-retro-player Goto Github PK

View Code? Open in Web Editor NEW

This project forked from garbear/xbmc

1.0 2.0 0.0 550.2 MB

XBMC Main Repository

Home Page: http://xbmc.org

License: Other

Makefile 0.40% Python 0.84% Batchfile 0.15% CSS 0.05% HTML 1.31% JavaScript 0.25% Shell 0.06% M4 0.37% C++ 86.86% CMake 1.01% C 7.33% PowerShell 0.01% Objective-C++ 0.80% C# 0.07% Objective-C 0.23% Java 0.01% NSIS 0.04% GLSL 0.09% HLSL 0.09% Assembly 0.05%

xbmc-retro-player's Introduction

retroplayer

Overview

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.

Design and Components

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.

Game Add-ons: Standalone games, emulators and game streamers. From day one, RetroPlayer has been compatible with the libretro ecosystem.

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.

Media readers: Plugging a cartridge into Retrode-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.

Many of these features are still works-in-progress, so fork the code and help out!

Building Kodi and games

Build Kodi per usual. If you are developing binary add-ons using a local prefix, specifying it during the ./configure step:

./bootstrap
./configure --prefix=$HOME/kodi
make -j8

Joystick support is now provided through a binary add-on. Follow the out-of-tree instructions at https://github.com/kodi-game/peripheral.joystick.

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/project/cmake/addons
make

where $HOME/workspace/kodi symlinks to the directory you cloned Kodi into.

xbmc-retro-player's People

Contributors

ace20022 avatar alanwww1 avatar amet avatar davilla avatar elupus avatar fernetmenta avatar fritsch avatar garbear avatar huceke avatar jenkins4kodi avatar jezzx avatar jmarshallnz avatar karlson2k avatar koying avatar ksooo avatar martijnkaijser avatar memphiz avatar mkortstiege avatar montellese avatar notspiff avatar opdenkamp avatar pieh avatar popcornmix avatar ronie avatar t-nelson avatar tamland avatar topfs2 avatar ulion avatar wsnipex avatar xhaggi avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.