Coder Social home page Coder Social logo

retropie / emulationstation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aloshi/emulationstation

846.0 846.0 340.0 10.19 MB

A Fork of Emulation Station for RetroPie. Emulation Station is a flexible emulator front-end supporting keyboardless navigation and custom system themes.

License: Other

CMake 5.04% C++ 94.54% Shell 0.04% C 0.07% Python 0.32%

emulationstation's People

Contributors

aloshi avatar benjdero avatar cmitu avatar elpendor avatar fabricecaruso avatar fieldofcows avatar gemba avatar gizmo98 avatar hex007 avatar hzulla avatar invisiblek avatar joolswills avatar jrassa avatar mooware avatar motadan avatar o-p-a avatar philaphan80 avatar pjft avatar placroix74 avatar psyke83 avatar raelgc avatar robloach avatar sylt avatar taalas avatar themasterwho avatar tomaz82 avatar verybadsoldier avatar wiltonmicrosystems avatar xenuiswatching avatar zigurana avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

emulationstation's Issues

parenthesis removal and other tweaks

The current behaviour of ES is to remove content in parenthesis in rom names. I believe this is confusing, and would be better to display the full name - especially when you have region info in rom names (or set information as with mame). I believe recalbox fork of ES also has changed this.

it's a one-liner, so wanted to make sure you are happy for me to do this.

I'd like to make other changes too - such as look into enabling gameslist refresh without a restart, and so on.

I will do them as pull requests if people are interested to review them/get notifications before merge.

@petrockblog @HerbFargus

Unstable Branch Testing

Just logging an official ticket to discuss the statistical advantages of the SQLite database over the current xml database, particularly as it pertains to large romsets and performance.

Add scraper for OpenVGDB

The current scraper uses the file name, which is quite unreliable and a pain to work with when you initially add several thousand ROMs. Especially so, if you have numbers and Roman numerals confused. OpenVGDB uses ROM hashes or their internal CRC checksums to identify game ROMs. This is the most exacting method there is and can work fully autonomously without any user intervention. Do you guys think it's possible to have a look at OpenVGDB/Parser and adding it as a scraper method? Would improve the application/system much. :)

Make saving gamelists on shutdown / exit optional by asking another question

Hi,

I have no need to save gamelist.xml data on shutdown / exit / reboot of the system since i don't make any adjustments to the data. Since i have a lot of roms emulationstation takes a long time to quit / save the gamelists.xml data. Since all that's changed is the play count with me i don't like having to wait for it when i want to shutdown the system.

I noticed this here #17

Would it be feasable to ask the user another question upon choosing system reboot / system shutdown / emulationstation quit if he wants to save the gamelists or not (could be another simple yes / no question) and if not call sudo reboot / sudo poweroff etc immediatly without waiting for emulation station to quit gracefully / having written the gamelists.xml data like it was doing before the change above was made ?

This way users can choose having to wait till their gamelist.xml are saved or not, and it's a combination of the old system and the new system. Since not all users are making changes inside emulationstation to their gamelists and also users know when they changed it or not so asking a question for safe shutdown / reboot instead of Always doing a safe shutdown might be more logical ..

(Xbox 360) Controller configuration heavily broken.

It took me ~40 attempts to configure my Xbox 360 Controller correctly. The problem was always with the "bottom left/right triggers". It would not register the actual triggers, register the release axis or would swiftly skip them and set the top trigger to be the bottom trigger I was pressing at that time. Though you can technically still configure it correctly it should definitely not be this hard. A easy fix would be to allow you to after configuration go back and change specific buttons.

Controllers with analog L/R triggers don't configure properly

When using a controller with analog L/R triggers such as the Logitech F310 or F710 (in DirectInput mode), EmulationStation asks you to configure L2 as a button and recognises the "trigger in" as a button press. ES then moves onto the next button, which it recognises as the "trigger out" button press.

It's then required to go into the gamepad config (Retropie's /opt/retropie/configs/all/retroarch-joypads/LogitechGamepadF310.cfg) and change lines like:

# Triggers
input_l2_axis = "-2"
input_r2_axis = "-5"

to:

# Triggers
input_l2_minus_axis = "-2"
input_l2_plus_axis = "+2"
input_r2_minus_axis = "-5"
input_r2_plus_axis = "+5"

Ideally, ES should recognise when a button is analog, and configure the opposite axis when appropriate. This would need to not happen for the D-Pad or analog sticks.

References:

Ability to hide files

Hello,

I wanted the ability to hide files, so I added this feature to a fork of upstream 2.0.1a. If this is of interest for the RetroPie fork, I can do a cherry-picked PR.

https://github.com/t3hi3x/EmulationStation/commit/196d9175c38da86f778e6a1af4fc8abb09270eea

It works in a few ways:

  • Under "Edit Metadata" there is an option to hide the file - it will disappear when hit Save
  • It then adds a <hidden>true</hidden> tag to gamelist.xml
  • You can then show the hidden files by putting a <bool name="ShowHiddenFiles" value="true" /> in es_settings.cfg

Thoughts?

gamelists.xml for subfolders support

@gonzo-the-great wrote:

ok, i originally posted this over at the emulation station repo, but since the development is on a kinda hiatus, i thought i'd post here, to see if theres any help etc,

i've been trying for some time to get gamlists.xml to show/work in sub folders, with the aim to reduce the number of emulator menus on the main selection pages, so i can have a snes main folder then that containing the sub folders of eu/usa, japanese, translations, hacks and so on this will for me drastically reduce the sizes of my game lists and i'm hoping the will be a little bit more responsive too

edit: if this is already a feature.... could someone please give instructions

thank you

moved from RetroPie/RetroPie-Setup#950

How to disable menu options

I have a Raspberry Pi 2 B running RetroPie and EmulationStation Simple Theme and it works perfectly. My emulators are all set right, my roms are all scraped, and my PS3 controllers are configured perfectly. My only issue is that allowing a friend or a child to use my system leaves me open to the possibility of them destroying my settings because they accidentally went into a menu and started changing things.

I would really like to be able to have my system all set and then disable the menu options so they can't be accessed by everyone all the time. In the EmulationStation menus I have to worry about:

  1. Edit This Game's Metadata
  2. Scraper
  3. Sound Settings
  4. UI Settings
  5. Configure Input
  6. Press a key (or joypad button 0) to configure launch options for emulator/port ($emulator).

If there was a way to disable these options no one would cause any accidental damage while playing.

I also have a Kodi setup on a PC and it has a Kiosk Mode setting which locks the menu options for users. Would something like that be possible in EmulationStation?

If anyone knows how to disable any of those settings manually please let me know. I don't even need to remove them, just stop them from being functional.

Adding support for configuration of retroarch hotkey enable button

Due to problems with retroarch when the hotkey enable button is shared with a configured button (such as select), it would be a good idea to allow configuration of a hotkey button from the ES configuration. Those with controllers with enough extra buttons can easily configure it to something else.

It would need to allow configuration of a button already set (unlike the other buttons), but that shouldn't be a major change.

scrolling speed

Look into reducing wait for scrolling speed increase, and put in some additional speeds, so it doesn;t go from slow to too fast suddenly.

Input devices should be supported de facto without need to mapping it buttons on boot

Keyboard should be supported de facto without need to mapping buttons on boot. If you don't have a controller plugged in to do something other than play (e.g. configuring, setting up, transferring roms, etc) then it should work without a problem.

The same is true to for a controller. Should be able to map in the top 10 most popular USB controllers and map buttons automatically with an option to override in the GUI.

Obvious controllers/gamepads that should be supported with pre-defined mappings from the getgo

  • Xbox 360 controller
  • PS3 controller
  • Wii controller
  • SNES-like USB gamepad

ROM name with some strange characters (percent %) doesn't work

[From the RetroPie thread: https://retropie.org.uk/forum/topic/3147/retropie-namingconvention-question]

Based on RetroArch user requests (this forum, libretro forum) and on a personal taste, I did some changes in the RetroArch code for a screenshot naming feature (my Pull Request at RetroArch github)

To make my tests I named a ROM with this filename really 'weird' %%ROM%% name%s%y%m.nes.

When I try to launch this ROM in emulationstation it "freezes", I'm (almost) pretty sure that it is an emulationstation limitation. How can I know it?

  1. the runcommand dialog isn't shown;
  2. the htop command shows only some emulationstation processes for the user pi;
  3. if I hit ctrl+c it kills emulationstation and goes to the bash prompt;
  4. if I execute the runcommand from the prompt to load this ROM, RetroArch starts correctly.

Command used to start from the prompt:

/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes ~/RetroPie/roms/nes/really\ \'weird\'\ %%ROM%%\ name%s%y%m.nes 

Need the ability to configure player 2 / 3 / 4

I know recalbox has this on their fork, although their controller setup is different of course etc, but it would be useful for us to have the ability to configure another controller, and specify it as player 2 / 3 / 4 - that could then be passed to our controller generation and in the case of retroarch keyboard configs, or pifba it would configure the correct player etc.

In the meantime I will implement a mechanism to configure player 2 / 3 / 4 for keyboard for retroarch in the existing retropie-setup input configuration.

Ability to control USB audio volume

Using alsa config file sound can be defaulted to USB audio/sound card rather than PWM (on Raspberry pi zero). The volume control in emulation station does not support changing volume of this and resets to zero.

Scraping takes forever

When I scrape, it takes forever loading the next item, this is the error:

lvl0:   GamesDBRequest - Error parsing XML.
        Start-end tags mismatch

Do not show *nix hidden files (. prefix)

It seems ES will display hidden files in the gamelist, causing confusion for at least one user: https://retropie.org.uk/forum/topic/4863/noob-looking-for-help-change-emulators-graphics-and-get-things-working/14. i've seen it on my system also.

it looks like it only cares that the extension is correct. eg, ._Aladdin.smc would be displayed in the SNES gamelist.

i think the only reason you would have hidden files in your rom folders would be a failed transfer (i believe i encountered it when a transfer via OSX/samba failed), which wouldn't be a valid file, so safe to hide I think.

Rank alphabetically by file name.

A few games don't have numbers defining their place in their series. This changes the order at which they appear in the game list, and can be mildly irritating or confusing when you're trying to play a through whole series. As an example, the spyro series is ranked:

Spyro 2: Ripto's Rage
Spyro The Dragon
Spyro: Year of the Dragon

The Phoenix Wright series is also all over the place, due to several of the games in the series having completely different names. This could be fixed by listing each title alphabetically by it's file name, rather than the scraped game name. In your folder you could title each entry "Phoenix Wright 1, Phoenix Wright 2, Phoenix Wright 3..." to make them list in the correct order, and the scraped game names would keep them displayed with their original names.

Font issue

In noticed that the font within emulation station has jagged edges on random lines and seemingly random letters (this is without any boxart).

Anyone know what is causing this?

Scraper seems to have issues game names containing unusual characters

Aloshi#259
Came across this issue when looking up some symptoms related to the scraper not being able to find very famous games like F-Zero X (Nintendo 64). It seems to be describing the exact symptoms / cause of the problems, but died with the repo.
As far as I can tell, this issue still stands, I have trouble scraping any of the pokemon games, or F-Zero X for N64.

Anyone have any thoughts?

Controls broken in emulator

I use a keyboard as my main input device, and I've set different controls than the default.

In the menu it's fine, but when I go into an emulator (NES and SNES are the only ones I've tested), it seems to have laid the default controls on top of my custom controls.

Improve settings in GUI

Settings shouldn't be located as ab "emulator" option in the software. It doesn't make sense to mix apples and oranges in the same UI paradigm.

I think we should split out the settings as a button at the header or footer on the screen.

On that screen the settings should be more streamlined. All options should keep you within the GUI and execute any scripts/programs in the background and return the output nicely within the GUI.

In addition, all reasonable settings should be able to be modified using a controller gamepad.

No keyboard should be necessary while working within the settings area.

Freeze during menu navigation using Pi3 bluetooth controllers

I recently upgraded to a Pi3 and started using the integrated bluetooth receiver. I have paired a stock PS3 controller with it, but I find that using this controller to navigate will cause ES to freeze after a short period of time. I don't see this issue while using any emulators, just navigating the menu. If I don't pair/use the PS3 controller, everything works fine.

Skip controller config page if configured controller is plugged in after startup.

If emulationstation starts without any controller configuration screen pops up. If a configured controller is connected (bluetooth or wire) configuration screen stays. It is necessary to reconfigure the controller or restart es. It would be nice if the configuration screen tests if new connected controllers are already configured. It should be only necessary to reconfigure a controller if you open menu and select controller configuration.

  1. Pass a "known controller reconfiguration" bool variable to GUIDetectDevice class. (startup = no, menu = yes)
  2. GuiDetectDevice::input: If "known controller reconfiguration" = false close device detect GUI if comparison between known configured controller and mDeviceHeld->setText(strToUpper(config->getDeviceName())) is true:
    https://github.com/RetroPie/EmulationStation/blob/master/es-core/src/guis/GuiDetectDevice.cpp#L81

German Translation

I'd be fine with doing all the work with finding translations for all the Emulation Station menu items, just need someone to help me find the specific folders and files to translate.

Errors when using other soundcard than rpi's native one.

In my setup I'm using a HifiBerry Digi+ to play sounds through my 5.1 speakers. Great for OpenElec!

First of all, everytime I launch or exit anything a console error message appears

lvl0: VolumeControl::init() - Failed to find mixer elements!

This won't be a big issue by itself but there are some systems that just don't want to run.
Specifically neither NEO-GEO nor GBA or SCUMM run for me at all. SCUMM was tested and worked great before setting up the hat. All other systems I've tested work no problem with proper sound and all.

The problem was (partly) referenced in Aloshi#433 but not resolved. I infer that it should happen to most people using external soundcards.

As far as I understand it's caused by the initialization done here which points to "PCM" or "Master" that are no longer present on my set-up.

Doing a "cat /proc/asound/cards" outputs:

0 [sndrpihifiberry]: snd_rpi_hifiber - snd_rpi_hifiberry_digi
snd_rpi_hifiberry_digi

"aplay -l":

**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_digi], device 0: HifiBerry Digi HiFi wm8804-spdif-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0

"amixer":

Simple mixer control 'Tx Source',0
Capabilities: enum
Items: 'S/PDIF RX' 'AIF'
Item0: 'AIF'

I'll gladly test and make a pull-request if someone can point me in the right direction.

Raspberry Pi freezes immediately after finishing scrapping with error msg

Directly after ending the scraping-process inside Emulationstation the pi freezes.
Emulationstation aborts with the following error message:

emulationstation: /home/pi/RetroPie-Setup/tmp/build/emulationstation/es-core/erc/components/IList.h:124: const UserData& IList::getSelected() const [with EntryData = TextListData; UserData = FileData*]: Assertion 'size() > 0' failed.
Aborted

I can't acces the IList Header myself, it seems that the header is generated when the Scraper is starting to scrape.

The problem always occurs independently of the systems that are selected to scrape for and the scraping provider.

Also the integrated WLAN-module seems to be turned off or the whole system got catched up in an inifinite loop, because you even can't access the pi via SSH to reboot it.

So the only option is to hard reset the pi via unplugging the pi from the socket.
Had the same problem with Raspbian Wheezy and Pi2 now using Retropie 3.6 on Raspbian Jessie with Pi 3.

Problem occurs even if the scraping process is started and immediately stopped after.

Adding systems to scraper??

I've been trying for a couple of days trying to figure out the GamesDBScraper.cpp along with the PlatformID.cpp & PlatformID.h.

Adding in the coco works in the original emulation station at github.com/Aloshi/EmulationStation, but making the same changes in the retropie version has no effect.

In PlatformId.h I add line 27

COCO,

In PlatformId.cpp I add line 27

"coco",

And in GamesDBScraper.cpp I add line 27

(COCO, "TRS-80 Color Computer")

Any suggestions???

Scraping single games doesn't save to gameslist.xml

It's taken me a while to figure out what's happening... but essentially as soon as I started to get really selective about which games I was adding and scraping I started noticing that the metadata wouldn't stick. It drove me bonkers because scraping a single game seemed to work, but then after rebooting all the titles I'd put box art on would be blank again

Idea to incorporate sselph/scraper in EmulationStation

I had an idea that could help reduce the extra code and maintenance for something that used my code in the existing ES UI. I could write a simple web server that receives the rom path and returns the data that is processed by ES. Similar to Aloshi@2bd9062 but the hashing takes place in my Go code so I can maintain the bulk of the logic in my repo. It is more code and doesn't work as well for multi file formats(bin/cue). It is also slower than my plain script since the ES code is has to update UI elements, but it might be a better UX for people that don't read the wiki.

I opened this just for discussion. If it is something you wanted to pursue, we could discuss more in detail about the approach. I don't think it would take much on my side to spin something up since Go has standard libraries for creating a web server.

EmulationStation crash when switching themes (after directlaunch kodi is installed)

This is the error given:

emulationstation: /home/pi/RetroPie-Setup/tmp/build/emulationstation/es-core/src/components/IList.h:124: const UserData& IList<EntryData, UserData>::getSelected() const [with EntryData = TextListData; UserData = FileData*]: Assertion `size() > 0' failed.

Theme changes work fine on a fresh 3.6 image until kodi is installed with the new directlaunch function and then it crashes anytime a theme is changed.

I can manually make changes in es_settings.cfg and they'll stick on reboot but something within the emulationstation menu is being janky

default settings.cfg

http://pastebin.com/nf0rukKz

[feature request] make emulationstation say which controller chose a game

It would be useful if emulationstation said which controller chose a game. I mean, save the deviceName from es_input.cfg in some file or shell variable.

And then the functions used to start joy2key in runcommand.sh and helpers.sh could get this info to make the respective device control the dialog menus.

crash on exit when save meta data on exit enabled

terminate called after throwing an instance of 'std::out_of_range'
  what():  map::at

bisect to

25e1067794760523a331c07c1c0b23922b9644f2 is the first bad commit
commit 25e1067794760523a331c07c1c0b23922b9644f2
Author: fieldofcows <[email protected]>
Date:   Sun Dec 4 23:47:34 2016 +0000

    Add video view that is based on detail view but allows themes to include a video preview of the selected game along with a marquee image

:040000 040000 870543f5a291747436d97568977eb49d3241f6f8 5cfc9f879987eee2abf93357a847b9a2320df11d M	CMake
:100644 100644 784c2d0ac08327fb8a265a3d84e92a98e56e4516 48143a5230cf524c4ed06b5d8184cdca1e705bcd M	CMakeLists.txt
:100644 100644 ff02eae137f179a4e9dec892dc0f7f7780d307b4 1113c6d03f16d76b0a228abdb951f3f290e7cce9 M	README.md
:040000 040000 1f0a7355f01547cf2c2f1de4df1e031f8703b1ee 2ec7a288490bb57bf7f337db1648e89d5e743440 M	es-app
:040000 040000 2d1cbd2e9cc080603d42f7d790b4e178947e87e9 859ab29850438176f497f0047a28b8902c9226b0 M	es-core

@fieldofcows unfortunately the video view has broken saving meta data on exit. I will rebuild ES binaries from an older version for now.

Can't compile

I tried compiling this on my Intel NUC6i3SYH running Debian Unstable, but I got the following error with both RetroPie/EmulationStation and Aloshi/EmulationStation:

[  2%] Built target nanosvg
[  4%] Built target pugixml
[  5%] Building CXX object es-core/CMakeFiles/es-core.dir/src/Renderer_draw_gl.cpp.o
In file included from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:
/home/wb9688/projects/EmulationStation/es-core/src/Util.h:18:22: error: ‘float round(float)’ conflicts with a previous declaration
 float round(float num);
                      ^
In file included from /usr/include/c++/6/complex:44:0,
                 from /usr/include/eigen3/Eigen/Core:73,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer.h:7,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:
/usr/include/c++/6/cmath:1708:3: note: previous declaration ‘constexpr float std::round(float)’
   round(float __x)
   ^~~~~
/home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp: In function ‘void Renderer::drawRect(float, float, float, float, unsigned int, GLenum, GLenum)’:
/home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:90:24: error: call of overloaded ‘round(float&)’ is ambiguous
   drawRect((int)round(x), (int)round(y), (int)round(w), (int)round(h), color, blend_sfactor, blend_dfactor);
                        ^
In file included from /usr/include/features.h:364:0,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:495,
                 from /usr/include/c++/6/string:38,
                 from /home/wb9688/projects/EmulationStation/es-core/src/platform.h:18,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:319:1: note: candidate: double round(double)
 __MATHCALLX (round,, (_Mdouble_ __x), (__const__));
 ^
In file included from /usr/include/c++/6/complex:44:0,
                 from /usr/include/eigen3/Eigen/Core:73,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer.h:7,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:
/usr/include/c++/6/cmath:1712:3: note: candidate: constexpr long double std::round(long double)
   round(long double __x)
   ^~~~~
/usr/include/c++/6/cmath:1708:3: note: candidate: constexpr float std::round(float)
   round(float __x)
   ^~~~~
In file included from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:
/home/wb9688/projects/EmulationStation/es-core/src/Util.h:18:7: note: candidate: float round(float)
 float round(float num);
       ^~~~~
/home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:90:39: error: call of overloaded ‘round(float&)’ is ambiguous
   drawRect((int)round(x), (int)round(y), (int)round(w), (int)round(h), color, blend_sfactor, blend_dfactor);
                                       ^
In file included from /usr/include/features.h:364:0,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:495,
                 from /usr/include/c++/6/string:38,
                 from /home/wb9688/projects/EmulationStation/es-core/src/platform.h:18,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:319:1: note: candidate: double round(double)
 __MATHCALLX (round,, (_Mdouble_ __x), (__const__));
 ^
In file included from /usr/include/c++/6/complex:44:0,
                 from /usr/include/eigen3/Eigen/Core:73,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer.h:7,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:
/usr/include/c++/6/cmath:1712:3: note: candidate: constexpr long double std::round(long double)
   round(long double __x)
   ^~~~~
/usr/include/c++/6/cmath:1708:3: note: candidate: constexpr float std::round(float)
   round(float __x)
   ^~~~~
In file included from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:
/home/wb9688/projects/EmulationStation/es-core/src/Util.h:18:7: note: candidate: float round(float)
 float round(float num);
       ^~~~~
/home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:90:54: error: call of overloaded ‘round(float&)’ is ambiguous
   drawRect((int)round(x), (int)round(y), (int)round(w), (int)round(h), color, blend_sfactor, blend_dfactor);
                                                      ^
In file included from /usr/include/features.h:364:0,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:495,
                 from /usr/include/c++/6/string:38,
                 from /home/wb9688/projects/EmulationStation/es-core/src/platform.h:18,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:319:1: note: candidate: double round(double)
 __MATHCALLX (round,, (_Mdouble_ __x), (__const__));
 ^
In file included from /usr/include/c++/6/complex:44:0,
                 from /usr/include/eigen3/Eigen/Core:73,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer.h:7,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:
/usr/include/c++/6/cmath:1712:3: note: candidate: constexpr long double std::round(long double)
   round(long double __x)
   ^~~~~
/usr/include/c++/6/cmath:1708:3: note: candidate: constexpr float std::round(float)
   round(float __x)
   ^~~~~
In file included from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:
/home/wb9688/projects/EmulationStation/es-core/src/Util.h:18:7: note: candidate: float round(float)
 float round(float num);
       ^~~~~
/home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:90:69: error: call of overloaded ‘round(float&)’ is ambiguous
   drawRect((int)round(x), (int)round(y), (int)round(w), (int)round(h), color, blend_sfactor, blend_dfactor);
                                                                     ^
In file included from /usr/include/features.h:364:0,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:495,
                 from /usr/include/c++/6/string:38,
                 from /home/wb9688/projects/EmulationStation/es-core/src/platform.h:18,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:319:1: note: candidate: double round(double)
 __MATHCALLX (round,, (_Mdouble_ __x), (__const__));
 ^
In file included from /usr/include/c++/6/complex:44:0,
                 from /usr/include/eigen3/Eigen/Core:73,
                 from /usr/include/eigen3/Eigen/Dense:1,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer.h:7,
                 from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:
/usr/include/c++/6/cmath:1712:3: note: candidate: constexpr long double std::round(long double)
   round(long double __x)
   ^~~~~
/usr/include/c++/6/cmath:1708:3: note: candidate: constexpr float std::round(float)
   round(float __x)
   ^~~~~
In file included from /home/wb9688/projects/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:
/home/wb9688/projects/EmulationStation/es-core/src/Util.h:18:7: note: candidate: float round(float)
 float round(float num);
       ^~~~~
es-core/CMakeFiles/es-core.dir/build.make:278: recipe for target 'es-core/CMakeFiles/es-core.dir/src/Renderer_draw_gl.cpp.o' failed
make[2]: *** [es-core/CMakeFiles/es-core.dir/src/Renderer_draw_gl.cpp.o] Error 1
CMakeFiles/Makefile2:217: recipe for target 'es-core/CMakeFiles/es-core.dir/all' failed
make[1]: *** [es-core/CMakeFiles/es-core.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Save gameslists with shutdown / restart

Currently emulationstation gets killed when shutting down / restarting - so gameslists.xml don't get saved

To make it more consistent we could use a trick like recalbox, and just touch a file and quit - the es launch script would then decide whether to restart or shutdown. This would mean it would only have this functionality when launched from a modified launch script though.

Alternatively, we can modify the code further, so a user event can be sent as well as a quit event, to decide what to do (this is nicer I guess, but I need to do some reading up on SDL etc)

Match ES load screen same as splashscreen

I was wondering if it would be possible to match the ES load screen with the retrofits splashscreen. Having some text saying that emulation station is loading.

Just think it would add some continuity with the retrofit boot sequence. I know that ES loads an SVG for its boot screen so this whole idea may be pointless (or it is just pointless lol)

[feature request] Confirmation before enter the actual Configure Input screen

If the user accidentally select "Configure Input" in emulationstation, he/she is forced to configure the input. Reconfigure the input doesn't hurt that much, but the problem is when the user has a custom retroarch-joypads/Joypad.cfg. I know that a .bak file is created, but it requires a keyboard/SSH connection to recover it.

It would be nice if after the user select "Configure Input" in the Main Menu there was a confirmation like "Do you want to configure input?" or something.

BTW, another user posted about this issue on the forum a couple of months ago https://retropie.org.uk/forum/topic/3788/disable-configure-input-menu

Gamepad doesn't work

My gamepad doesn't work in both RetroPie's and Herdinger's fork of EmulationStation. I haven't tested it with the original EmulationStation of Aloshi. My gamepad works fine in RetroArch.

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.