I made a Nightly Updater Program

[QUOTE=lordmonkus;45944]Thanks for this awesome little tool. I hope you don’t mind me sharing this over on the Launchbox forums, I am sure it find some very appreciative people over there. Does it do both cores and retroarch.exe or can you set it to just do cores if that is all that is wanted ?[/QUOTE]

Sure thing, I’m going to do a few improvements to it then I’ll share it over there.

Right now it updates both retroarch.exe and cores at the same time. But maybe I can have a checkbox where you can select only the ones you want.

Great stuff.

Following on lordmonkus’ comment, please allow the user to choose to ignore certain core updates. I’m mainly thinking of MAME cores, which sometimes change their required romset, which could be a big hassle for users who unintentionally update such a core.

[QUOTE=wyzrd;45947]Sure thing, I’m going to do a few improvements to it then I’ll share it over there.

Right now it updates both retroarch.exe and cores at the same time. But maybe I can have a checkbox where you can select only the ones you want.[/QUOTE]

Yeah the option to just update cores only and to select which cores you want to update and which to leave alone would be amazing. This would cut down on server bandwidth as well :slight_smile:

Yeah, i wouldn’t want to update to a newer MAME, PPSSPP and Virtual Jaguar core since i know there are problems in the most recent versions and i had to hunt down some older ones.

[QUOTE=Alexandra;45948]Great stuff.

Following on lordmonkus’ comment, please allow the user to choose to ignore certain core updates. I’m mainly thinking of MAME cores, which sometimes change their required romset, which could be a big hassle for users who unintentionally update such a core.[/QUOTE]

Doesn’t seem too difficult. Maybe on the Check Button’s Checklist have it where you double click on a core’s name and it removes it from the Download List.

A little OT, but do you have the last MAME (Windows) core that doesn’t have the rendering issue? If so, could you share? (The others too, actually, if you would.)

Thank you!

are you scraping the html to determine the current core build-date? I’m interested in this feature for my program retroinvader.

[QUOTE=Alexandra;45971]A little OT, but do you have the last MAME (Windows) core that doesn’t have the rendering issue? If so, could you share? (The others too, actually, if you would.)

Thank you![/QUOTE] Sure.

Keep in mind that Virtual Jaguar is far from perfect (there is no good Jaguar emulator yet) but this one doesn’t crash when i load a few games like Rayman so it’s better than the latest version, which is basically broken.

Same with PPSSPP. The newest core displays an annoying error message when you load many games (they still work if you close it) but this older one doesn’t have this problem.

And the MAME core was posted by another member here recently.

Yeah, I’m writing a detailed documentation on how it works. I’ve also finished several user suggestions for the next version to be released soon.

C#


List<string> NightliesList = new List<string>();

page = wc.DownloadString(pageUrl);
element = "<td class='fb-n'><a href='/nightly/windows/x86_64/[B](.*?)[/B]'>";

foreach (Match match in Regex.Matches(page, element))
     NightliesList.Add(match.Groups[1].Value);

Comparing core file dates is very confusing, all Created/Modified dates between PC, Server, Zips, dlls, RetroArch Online Updater are mismatched, but I found a way to make it work.

How are you currently doing it?

What folders are up-to-date and which not? Some there are have config files and it shuld not be

It will download the latest one, but will only extract the exe to update, not the configs.

[QUOTE=wyzrd;45994]…

Comparing core file dates is very confusing, all Created/Modified dates between PC, Server, Zips, dlls, RetroArch Online Updater are mismatched, but I found a way to make it work.

How are you currently doing it?[/QUOTE] I’m not.
When I grab the html, it comes out as one long string of code, so i’m having to figure out how to parse that with the languages I use.
Currently, there is a core-downloader, but it would be nice to have it function as an updater as well.

[QUOTE=GemaH;45992]Sure.

Thank you kindly.

The MAME core is dated 3/15/2015, I’m surprised the rendering bug goes back so far.

I don’t think the core updater is working 100% correctly. It’s telling me that genesis_plus_gx needs to be updated but that core hasn’t had an update in like 25 days and I already updated 3 days ago.

Buildbot x86_64 genesis_plus_gx_libretro.dll.zip says 2016-08-02 17:14

What is the Created Date and Modified Date for the dll core file on your PC?

If you updated by manually downloading and unzipping 3 days ago, it may be the the File Date on your PC did not update. I will look into a fix.

I already updated with this updater so I don’t know what the Date Created was but the Date Modified was 8/24. I updated my cores with the Online Updater in RetroArch a few days ago. I’ve also ran this updater multiple times before it even said anything about genesis_plus_gx.

Just checked the cores updater again and this time it tells me mupen64plus, nestopia, and snes9x have updates.

mupen64plus Date created: 8/26 Date modified: 8/26 nestopia Date created: 8/26 Date modified: 8/26 snes9x Date created: 8/25 Date modified: 8/25

Also doesn’t say anything about bsnes-mercury needing to be updated even though it has been today.

Update v0.6[B][SIZE=2]

[/SIZE][/B]~~ Exclude Cores~~ [SIZE=2] Download http://x.co/nightly[/SIZE]

[SIZE=2]New Features:[/SIZE]

[ul] [li]Program rebuilt in WPF for better performance [/li][li]Checklist able to Exclude cores from Updates Download List [/li][li]Download Dropdown Select: RetroArch+Cores, RetroArch only, Cores only [/li][li]Download URLs display in textbox on Select [/li][li]Files save as Libretro Server Time Zone for more accurate sync [/li][li]Now uses https over http [/li][/ul] How to use: To Exclude Core from Updates Download List Check Button → Uncheck the Cores you don’t want to update → Close Out → Click Update

It won’t save the checkbox states (for now), you will need to exclude again each time you update. Keep a backup of your important cores in case of accidentally overwriting.

Requirements: Older Windows may need .NET Framework 4.5 installed.

If you experience any bugs, send me a message.

Simple and perfect in my opinion now. Any other features you add from here on out is just gravy.

Hmmm, it says that i have the latest versions of all cores. That can’t be right, i haven’t updated a single one for a few days, plus i keep some older versions of certain cores on purpose.

I released an updated version 0.61. http://www.powerup.io/stellar/software/Stellar.7z

Bear with me as I make this program sync properly with everyone. I have it save as Server Time so no one should be ahead or behind. I test on my PC with different time zones and it always seems to work.

Here is how the date comparison is done:

And here is the Tester Tool I built to visualize that it’s fetching the correct dates: