Updated EmulationStation for Windows
-
@f-caruso drcnyc started using the continuous builds, so maybe that was enough to correct if XML update bug.
I managed to get ES to compile in windows, I had to use NuGet to grab rapidjson.1.0.2 and I updated the compile paths etc
c: cd \src git clone https://github.com/fabricecaruso/EmulationStation.git EmulationStation cd EmulationStation git submodule update --init c: cd \src cd EmulationStation mkdir build cd build set ES_LIB_DIR=c:\src\lib cmake -g "Visual Studio 14 2015 x86" .. -DEIGEN3_INCLUDE_DIR=%ES_LIB_DIR%\eigen -DFREETYPE_INCLUDE_DIRS=%ES_LIB_DIR%\freetype-2.7\include -DFREETYPE_LIBRARY=%ES_LIB_DIR%\freetype-2.7\objs\vc2010\Win32\freetype27.lib -DFreeImage_INCLUDE_DIR=%ES_LIB_DIR%\FreeImage\Source -DFreeImage_LIBRARY=%ES_LIB_DIR%\FreeImage\Dist\x32\FreeImage.lib -DSDL2_INCLUDE_DIR=%ES_LIB_DIR%\SDL2-2.0.5\include -DSDL2_LIBRARY=%ES_LIB_DIR%\SDL2-2.0.5\build\Release\SDL2.lib;%ES_LIB_DIR%\SDL2-2.0.5\build\Release\SDL2main.lib;Imm32.lib;version.lib -DBOOST_ROOT=%ES_LIB_DIR%\boost_1_61_0 -DBoost_LIBRARY_DIR=%ES_LIB_DIR%\boost_1_61_0\lib32-msvc-14.0 -DCURL_INCLUDE_DIR=%ES_LIB_DIR%\curl-7.50.3\include -DCURL_LIBRARY=%ES_LIB_DIR%\curl-7.50.3\builds\libcurl-vc14-x86-release-dll-ipv6-sspi-winssl\lib\libcurl.lib -DVLC_INCLUDE_DIR=%ES_LIB_DIR%\libvlc-2.2.2\include -DVLC_LIBRARIES=%ES_LIB_DIR%\libvlc-2.2.2\lib\msvc\libvlc.lib;%ES_LIB_DIR%\libvlc-2.2.2\lib\msvc\libvlccore.lib -DVLC_VERSION=1.0.0 -DRAPIDJSON_INCLUDE_DIRS=%ES_LIB_DIR%\rapidjson.1.0.2\build\native\include
I could remove boost etc, but the fact it worked for me is a big plus :), I noticed my build is smaller than yours, I think it is due to not being able to get LibCEC to work. I don't think I'll be as much help as I thought, maybe I should go back to a hello world project and get to a scalable workflow, I don't even know where to access cpp from within VS2015, or maybe I am just meant to use a good text editor and not use VS for edits, I never realized how basic VB.NET really was compared to the rest.
-EDIT-
I don't use a Launcher, but I do use a nice Batch File instead of a Emulator, it will only ever work in Windows tho:
Roms{System}{Game Name Here}.cmd (eg Roms\MicrosoftWindows\Angry Birds.cmd)
@echo off REM Set Name of Game Set GamePath=%~n0 REM Change To Correct Drive and Path %~d0 cd "%~dp0" cd %GamePath% REM Run the JoyToKey And With Correct Config start "" "..\..\..\JoyToKey\JoyToKey.exe" -r "%GamePath%.cfg" REM Find first .EXE to RUN Game FOR /f "delims=?" %%a IN ('dir /b *.exe') DO ( "%%a" REM Kill JoyToKey "..\..\..\JoyToKey\pskill.exe" JoyToKey.exe exit )
What it does is uses the name Angry Birds and opens a folder with the same name, running the first found .exe in that folder. You can manually edit it to be the actual file if you notice it's not the first .exe you needed to run.
Here is my System for reference:
<system> <name>MicrosoftWindows</name> <fullname>Microsoft Windows</fullname> <path>.\roms\MicrosoftWindows</path> <extension>.cmd .CMD</extension> <command>"%ROM_RAW%"</command> <platform>windows</platform> <theme>windows</theme> </system>
I have a copy of \JoyToKey\JoyToKey.exe in the folder alongside EmulationStation.exe, and in that folder I have a JoyToKey config file with the same name "Angry Birds.cfg", if I know a new game I add uses the same Keys/Mouse config I can copy it and rename the file to the new game and it'll use the same config, or just use JoyToKey to edit the new one manually.
*Don't forget to add pskill.exe to the joytokey path too
LOL - I can see why someone would want a launcher for such things, the above makes sense to me, but not sure who else could follow it, I am sure I could make the same scripts in Linux work, but they don't have a easy JoyToKey built in.
-
@LiveFreeDead Useless complexity ;-)
- JoyToKey is not freeware...
- U could have use JoyToKey "associate configuration with application" feature to avoid all this batch complexity.
- What U did is precisely the reason why I have my written the Joy to key feature in my emulationportable exe -> Simplfy this...
- This does not send ES configuration in games like retroarch as @drcnyc supposed : it simply converts gamepad to keyboard for a game that does not supports gamepad.
- VB.Net.... No comment ;-)
- Don't try to work with VS2010, only >= 2015.
-
@f-caruso Sorry if this has been answered before but the thread is pretty long. When I scrape game info your ES doesn't actually save the image and game description, nor can I edit it in the metadata like in Jrassa's version. Is this something thats work in progress or do we have to edit this by hand in the xml?
-
@duiz About the gamelist.xml : Do you have a gamelist.xml.tmp in the same folder ?
I added a security because sometimes my gamelists where 0kb. I first write an .tmp file, then I rename it when ok. I looks like renaming files fails sometimes. Sadly, I can't reproduce on my systems. If the .tmp is present, simply delete the old xml and rename the .tmp file.About the metadatas : On a Pi, with only a gamepad, scraping function is necessary ( with an onscreen keyboard ). People don't have mouses nor keyboards.
I assumed that on a Windows platform, this is totally different : there are good external scraping & gamelist editor tools that can do the work really really better than ES ( you can't even choose what image you prefer- screenshot, mix, box2d, box3d ?? Download video, set thumbnails for gridview ), and editing metadata in ES is not convenient at all. I considered that only the rating & the possibility to change emulator & core where truly important to be handled with the gamepad. So I filtered the list of metadatas to display only the relevants.
If most of the users want those metadatas back, I'll restore them...
Please vote ;-) lol -
@f-caruso Is it possible to make the custom-collections portable on your build?
I have the Problem on the normal ES for Windows the custom collections are must have this:
"D:/Emulatoren/Portable_Game_Station/.emulationstation/roms/psx/Tail Concerto (USA).PBP"If i change it for portable use like this:
"%HOME%/.emulationstation/roms/psx/Tail Concerto (USA).PBP"
its not working. -
@PittStone said in Updated EmulationStation for Windows:
I have the Problem on the normal ES for Windows the custom collections are must have this:
Intestesting, didn't see this one. I'll look at it ( when I have the time )
-
@PittStone Instead of using
%HOME%/
use
./eg
"./.emulationstation/roms/psx/Tail Concerto (USA).PBP" -
@f-caruso Have Problem with newest build Again. It crashes after i select "Parse Gamelist Only" in the Options. Something in my gamelists let it crashing. I use the standart theme and tested two others. Same.
-
@PittStone Can you find a way to send your gamelist.xml files ? ( via mega.nz or another site ? )
-
@PittStone portable custom collections are available in the continous build. You need to edit you list - add or remove item - to save it ( it doesn't do anything if nothing changes in the collection ).
@LiveFreeDead not using "%HOME%"... not using "./" neither -> The standard for "home" in ES is "~/" !!!!!!!! ( look at your es_systems, you use it for ps1 & ps2 ) -
@f-caruso Some gamelists crashing ES, some gamelists working. I have a few in the rar file.
-
@PittStone Well U can delete your file now ;-) I crashed with your files. The crash I have is not directly related to the gamelist but is a "consequence" (cuz of the menu theming system)... I commited on Github, try the continuous build (should be available in 10mn - 19:35 Paris hour ) & tell me if it's better...
-
@f-caruso O.k. Now its loading all gamelists. Thanks. But there is still a Problem with the custom-collections. I tested with this in the .cfg (without quotes):
"~/.emulationstation/roms/nes/Battletoads (U) [!].zip"
and the full Version:
D:/Emulatoren/es/.emulationstation/roms/nes/Battletoads (U) [!].zip"
The menu shows 0 Games. -
@PittStone Are you sure ".zip" extension is present in you es_system.cfg for nes, gb, gbc, mastersystem... ".stx" for atarist, etc... ?
I'm sure you have a file extension problem : Your gamelists describe files with extensions that are not present is es_sytems.cfg so they are removed from the internal collection - the precise reason for the crash I solved...
Have a check on it. -
@f-caruso Yes i have the ".zip" extension in the es_system.cfg for nes.
-
@PittStone you should'nt have any problem with full path in cfg files. I have none.
But i'm curious, what is your path value for nes in es_systems ? -
@f-caruso <path>~\ .emulationstation\roms\nes</path>
(there is no empty after \ .emulationstation, but this forum makes a error). -
@PittStone said in Updated EmulationStation for Windows:
<path>~.emulationstation\roms\nes</path>
Is it a copy/paste ? It is not valid. ~ should always be followed by / and path separators should be linux style ( / not \ )
Try that : <path>~/.emulationstation/roms/nes</path>
EDIT : ok -> Then try linux style path separators.
EDIT2 : I tried without a problem with \ separators... Hard to help without having your files & knowing your config - or having logs -
@f-caruso Ah, i found that es made my gamelist renamed to .old and thats how my collection are 0 games. :( I have not watched to the nes folder itself. I think its working now. I have the "~/.emulationstation/roms/nes/Battletoads (U) [!].zip" in the collections .cfg and its shows up in es. :D
-
@PittStone I don't know why, I had regular problems with jdrassa ES & even Recalbox ES with gamelists. Sometimes they go empty or 0k without any reason. I tried to figure out why, but I didn't find. So renaming the previous version to .old is the only "hack" I found not to loose my gamelists...
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.