The International Simutrans Forum

Community => Simutrans Help Center => Topic started by: FatLoser on May 10, 2012, 07:05:38 AM

Title: Simutrans installer issue on Win64
Post by: FatLoser on May 10, 2012, 07:05:38 AM
Can't unselect "Chinese", hence can't switch to SDL.
Even selecting Windows ME in compat mode did NOT solve it. When I try to select SDL binaries, it instead selects both GDI and Chinese.
Again, like in my previous thread (broken links in installer), a good fix might be to allow a "source folder" (look at NSIS sources of Ur-Quan Masters and OpenTTD - though they search for different files the page scripting is pretty much the same, but in UQM it skips downloads if all the chosen files are found in source folder).
Title: Re: Simutrans installer issue on Win64
Post by: prissi on May 10, 2012, 09:11:13 AM
The pak sets are updated independent of the installer regularly. Thus the installer is independent from the rest, to allow pak set updates be incorporated whenever they happen. Otherwise the download would be 200 MB if I include all paksets. The tasks of the OpenTTD installer are very different.

I recently changed the code to have more modularity. Aparently there I made a mistake.
Title: Re: Simutrans installer issue on Win64
Post by: FatLoser on May 12, 2012, 04:36:46 AM
Source folder means downloading parts manually then just telling the installer where they are
Look at UQM installer scripts
Redownloaded installer, now it works.
The "choose modules" page should be after the source page, and not show at all if both a binary and a pak are present.
Title: Re: Simutrans installer issue on Win64
Post by: prissi on May 13, 2012, 07:49:01 PM
The paks are (other than OpenTTD) also very dynamic and change almost all the time.

What is not (yet) part of the installer is a routine to detetct existing paks and (if there) does not download/install them.
Title: Re: Simutrans installer issue on Win64
Post by: FatLoser on May 13, 2012, 11:29:36 PM
Look at UQM installer for both source page routine and present bin/pak one.
UQM has the executable part split from content so the UQM source (incl. NSIS script) should be small.
Again, I'm not a coder but I know this is possible.
(pseudocode)If PakPresent=pak32&&PakVer==CurrentVer;HideItem(/pseudocode)
Title: Re: Simutrans installer issue on Win64
Post by: el_slapper on May 14, 2012, 08:23:06 AM
Quote from: FatLoser on May 13, 2012, 11:29:36 PM
(.../...)Again, I'm not a coder but I know this is possible.
(pseudocode)If PakPresent=pak32&&PakVer==CurrentVer;HideItem(/pseudocode)

then do it yourself, & see how long it takes.

I confess I do not develop for Simutrans. Just no time, & not a language I know. You're right to say it's possible, I guess. But it takes time, & if Prissi(or anyone else) does it, it will not do anything else in the mean time. If I take Prissi's spec :
QuoteWhat is not (yet) part of the installer is a routine to detetct existing paks and (if there) does not download/install them.

you need to code the following actions :
0)Standardize the paks version numbers, & their internet locations.
1)Detect the current paks installed. Memorize their version.
2)Link each of them to the internet place where they are
3)Read - on internet - some file that states the current version of each pak.
4)Decide wether your internal current version of the pak is up to date.
5)Download active updates
6)Install them

By "Code", I mean, implement the function, implement the unit test, document the function, and validate full-scale the function. And then, release. You also have to make sure the internet place of the paks is always available. You also have to code reactions to all errors possible(especially connection errors. What If I launch Simutrans without internet access, for example). All those actions are error-prone, & require planning and multiple checking.

That's, in my book, far from a single line of pseudo-code.
Title: Re: Simutrans installer issue on Win64
Post by: prissi on May 14, 2012, 09:22:53 AM
I had a look at NSIS, and it is not so easy. You need to provide a lot of hidden sections and then, reading the input, you unhide them. Lots of logic is rather ugly NSIS code.

Neither pak set locations not their version detection schede I can standradtize. I can barely suggest, and about half of the paksets confer to the standard more or less.

The current incarnation in the trunk will select any pak it finds and knows how to update. Then it will read the version string and if needed it will update.

Actually, the UQM NSIS script I did not find in their SVN by web access.
Title: Re: Simutrans installer issue on Win64
Post by: FatLoser on May 14, 2012, 09:32:23 AM
then IDK. Look at OTTD NSIS script for source folder (shown if one chooses to install original TTD graphics/sounds).
Title: Re: Simutrans installer issue on Win64
Post by: prissi on May 14, 2012, 12:50:25 PM
I looked at it, but it does not apply to this situation, as this is a static target and does not change.
Title: Re: Simutrans installer issue on Win64
Post by: FatLoser on May 14, 2012, 08:21:50 PM
well, UQM's source folder is also a static target. You download packages manually then tell the installer where they are. :|
Title: Re: Simutrans installer issue on Win64
Post by: Ters on May 15, 2012, 04:32:05 AM
If you have to find and download the packages manually, then there is almost nothing left for the installer to do. You might as well put the paks in the right place to begin with.
Title: Re: Simutrans installer issue on Win64
Post by: FatLoser on May 23, 2012, 10:42:39 AM
the installer would be just something that does the job for you rather than fiddling with WinRAR/7zip.