Updated EmulationStation for Windows
-
@jdrassa "the then features" ??? Did you forget some words ? ;-)
The gradient support is an easy thing to do, ImageComponent & drawtext have to be rendered with quads instead of triangles. Small piece of code.
Concerning the grid view : I archived a true async loading today ( 1st load had to be sync, its not the case anymore the flag dynamic is really used) very useful for the gridview, but affects a lot of components. You should take it too to limit lags.
Also : I changed also my "maxsize" image vram optimization, because it sizes images in the grid...
I had lot of VRAM problems with some of my screenshots in 1080p -> Each cell uses 8Mo VRAM. So I resize images after loading according to the container. I think this "image sizing" for the grid view is absolutely necessary, expecially for a Pi how has only 1Gb RAM.
Still, i'm not satisfied yet with what I did (the MaxSizeInfo class), I'm thinking about refactoring it soon.Also, you could takes things like my fix for subtitles in vlc component ( video screen saver )
I also refactored my locale system based on po files. It's now easy to take ( don't understand why boost - recalbox & batocera use mo compiled files ? mo files are as big as po, not even compressed... )Well...
-
@f-caruso just want to update you to let you know that the startup bug I was experiencing has gone away, now that I’ve started using the portable exe. Might have had something to do with that - but all good now.
Separately, I am experiencing another issue that you might be able to shed some light on. When I run the built-in ES scraper, it only scrapes correctly the first time. But if I only scrape half of the games in an emulator the first pass, then quit and finish the scraping later, it doesn’t update the gamelist.xml file. Rather it updates a file called gamelist.xml.tmp, but never actually overwrites gamelist.xml. So when I load the program again, the updates don’t show up. And then when I go back to check the gamelist files, the .tmp file is now cleared out, and all scraping updates are gone. I know the scraping worked because the image files are all saved down, but for some reason the updates are not migrating from gamelist.xml.tmp to gamelist.xml, and thus they never stick. Any ideas what could be causing this?
-
@f-caruso said in Updated EmulationStation for Windows:
@jdrassa "the then features" ??? Did you forget some words ? ;-)
That was supposed to be "theme".
The gradient support is an easy thing to do, ImageComponent & drawtext have to be rendered with quads instead of triangles. Small piece of code.
I saw you switched to using quads. Since they are deprecated in new version of OpenGL, i figured out how to still use triangles.
Concerning the grid view : I archived a true async loading today ( 1st load had to be sync, its not the case anymore the flag dynamic is really used) very useful for the gridview, but affects a lot of components. You should take it too to limit lags.
There is a lot of good stuff in your repo. Its just a mater of finding the time to integrate it. Basically going after the features that most interest me for now.
-
@f-caruso I'm having an annoying problem, I do not know if he did something that I talk to LiveFreeDead. Well I explain the problem, before it was fine and for me it worked. I have 3 monitors and it's crazy, when I do not start a game when I go back to (ES) I can no longer manage (ES), it passes me to another monitor and I can only manage the selector between windows desktop files or some open window. Sometimes the same happens to me when I start the retroarch if I start this afternoon. Sometimes when I start I do not take control but I start driving in windos again. So I do not know if it has something to do with the LiveFreeDead problem, or possibly something else
-
@jdrassa "Theme"... obviouly...
I Switched to quads because I didn't find a way to make a vert gradient with triangles. What a pity they'll remove it in 3.1 because quads are 10% faster. It's the first time I work with OpenGl, so If someone finds a better way...
@jero do u use one of these command line switches : "--monitor" or "--windowed" ? I added a special treatment with these. tell me.
@drcnyc About the startup problem : Do you have a particular command line, too ? About the gamelist : I added a security because sometimes my gamelists where 0kb. I 1st write gamlist in a .xml.tmp file, then If everything went ok, I rename files -> .xml becomes .xml.old and .xml.tmp becomes .xml... Something on your PC is locking the .xml file... Why ? Antivirus software ???? Or maybe... Did U update the exe with my github's continuous version ? One of my past releases had a random bug in File::exists() ?// Secure XML writing if ((int) Utils::FileSystem::getFileSize(tmpFile) > 0) { std::string savFile = xmlWritePath + ".old"; // remove previous gamelist.xml.old file if (Utils::FileSystem::exists(savFile)) Utils::FileSystem::removeFile(savFile); // rename gamelist.xml to gamelist.xml.old if (Utils::FileSystem::exists(xmlWritePath)) std::rename(xmlWritePath.c_str(), savFile.c_str()); // rename gamelist.tmp.xml to gamelist.xml std::rename(tmpFile.c_str(), xmlWritePath.c_str()); }
-
@f-caruso NO use , where is file for this change. "--monitor" or "--windowed"
@f-caruso Another thing, it would be possible to launch an application, for example kodi or another program, from the systems carousel or first level.
It could at some point for example have in the first level of systems the possibility of entering a system and lower another similar level in which returns to see systems as in the first snow. I put an example in the carrousel I have Arcade, when pressing I go to the list of games that's the job now. What I want to say is to go into Arcade and on the screen I get systems again, in this case I will be for example mame, neogeo, naomi and more. Then there may be more systems or lists. Would it be in the Theme or should it be implemented in (ES)? I hope I have explained well hehehehehe
-
@jero and... Do U use my emulationportable.exe ? Or a .bat file to run ES ?
Also : You can launch what U want with ES ;-) In es_systems.cfg, create a system called.. whatever U canna call it ( windows, retropie... ) with .lnk & .bat extentions, and create as many batch files as you want in its roms folder. I personnaly use this :<system> <name>windows</name> <fullname>Windows</fullname> <path>~\..\roms\windows</path> <extension>.lnk .LNK .bat .BAT</extension> <command>%ROM%</command> <platform>windows</platform> <theme>moonlight</theme> </system>
-
@jero My problem isn't focus related, it is the controller, I am able to use any of the other three controllers to navigate ES, but if I then Launch a game and exit it will not work for that controller and I can use the original ones again (most times, not always). It's like controls are disabled so it doesn't attempt to move once the game is launched and then not reactivated until control is returned to ES, but I am just guessing that is whats happening. ES doesn't set focus when it returns, which is fine for dual screens on a PC, not so fun when your on the couch and have to go over to fix it, might be a good option to include in the future, return focus when exiting a game.
-
@f-caruso Thanks, I already use that system. I said that it starts without entering the screen of selection of roms. That it was direct from the first level, that is from system.Now I understand that he was referring to window or winoned I do not use bat to start directly with his exe of his version of ES
Another thing that seems a possibility that there were several levels in the menu and was not only the level of systems at the level of roms. Well, I name it that way because I do not really know how it is named.
@LiveFreeDead Thank you now I understand your problem, let's say it's like it happens to me and if it's funny when it happens on the sofa hehehehe
-
@f-caruso I am using the 2.10.0.5 build, but the emulationstationportable.exe file is from an older release (I didn’t see it in any of the more recent builds). Should I update to the continuous build? Is there a more recent version of the portable exe available?
-
@jero @LiveFreeDead Whats the status of your "HIDE WHEN LAUNCH" option ?
-
@drcnyc Yes (portable.exe is older - but it is the most recent version, no new release planned yet, it's not in the continuous build), and Yes (update with continuous build)
-
@jero "from the first level" -> No way. SystemView is not designed 4 that. Plus, addin things in the menus can only be done by code...
-
@jero @LiveFreeDead I've just commited changes for your problems (this is a try), update with the continuous build and tell me...
-
@f-caruso If you talk about option when launching game, I have OFF
About the idea of starting from the first level I think it's a good idea, I understand the changes and problems was just an idea, thanks for commenting.
As soon as I can under and check the last complilacion
-
@jero Is it the same with the option ON ?
-
@f-caruso in ON, no have problem , but I will try new update
-
@f-caruso
(--Monitor 1) reverts perfectly to (Monitor 0) if no (Monitor 1) found.Hide When Running Game now works perfectly, no more work needed here
- I still have the bug where if I run Cemu and Alt + F4 out to quit the game (Super Mario 3D world) that I can not use my GamePad I used to launch the game, it is probably related to CEmu stealing the Controller to use and not with ES tho, I'll figure that one out when I get to it tho.
Linux Fails at Grid View: (Settings not declared)
I still can not get it to compile in windows or Linux, I just can't get it to run through without an error, I'll try re-installing my computer later today and try fresh, maybe I have old VS2010 components getting in the way, I'll only use VS 2015 as instructed and try my luck.
But your doing great work today, so not much need for me to help with the code when you got it ;)
-
@f-caruso problem fixed with the continuous build - gamelists now updating properly - thanks!
Separate and unrelated question - is there any way ES can deliver joypad autoconfig files to retroarch? It seems retropie does this when controllers are configured in ES, and would be a nice feature in windows too.
Lastly what are the chances you can improve scraping, perhaps with some kind of auto retry on error? I am trying to scrape a large number of roms and it always seems to crash out with a message about disk space possibly being full, but on further research seems this has to do with a timeout with connecting to the scraping DB servers. It requires manual intervention to resume scraping which can be tough with large lists coupled with the slow scraping speed.
-
problem fixed with the continuous build - gamelists now updating properly - thanks!
Mmm... I didn't change a line of code....
is there any way ES can deliver joypad autoconfig files to retroarch
That's not ES role. Retropie & Recalbox use a "launcher" tool to do that & the "command" runs the launcher instead of the emulator. This is the good way to make it...
Someone has to develop such a launcher...Lastly what are the chances you can improve scraping..
I have no personnal interest in improve ES scraping : I personnaly never use ES scaping. I have my own ( but private ) gamelist editor because I use screenshot for images, box2d for thumbnails and I have videos... Plus, I use custom thumbnails for several systems ( wii use wiitdb arts, ps2 custom 3d boxes I found on a forum which are beautiful, + some system are not scrapable : windows games.. )
I do recommand using an external scraping tool like Skraper.net
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.