Updated EmulationStation for Windows
-
@LiveFreeDead Hello, yes, this works. I deleted the settings, systems and controller files and now "es" is loading. Thanks.
-
@PittStone Changed theme ?
-
@f-caruso Theme was changed automaticly. I changed back to "Magazine Madness" and this theme works too.
-
Any way you can add a check to see if --Monitor 1+ actually exists? I removed my 2nd screen and when I ran with --monitor 1 switch it would open off screen, if I then add the 2nd screen back it isn't displayed on it or anywhere I can see it. I figured if it failed or doesn't exist then it should default to Monitor 0.
I know this isn't too important, but could save some troubleshooting for someone who didn't realize it was even set (via a batch file or .lnk).
-
@f-caruso I looked over the list of your changes and to me the highest priority changes would be the theme features and specifically the changes to the grid view. Unless you have a strong need to do it yourself, I am going to look at migrating over some of your changes. Currently I am working on bringing over the gradient support and extending it beyond drawRect. After that, I am going to look at migrating your changes to the grid view.
-
@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
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.