Das Forum

[Script] I Miss the Sunrise

Autor Antworten
monban Thursday 6 February 2014 at 8:41
monban

From the developer: "A sci-fi strategy RPG experience like no other. Create your commander, befriend your crew, control the future."

I Miss the Sunrise is created with the RPGMaker xp engine, and thus has very similar dependencies.

It has a custom font, but it seems to run fine without it. In any event, I can't figure out how to get it registered, I have a thread open about it here.

I don't specify a Wine version in my script, it seems to work fine with the latest (1.7.11) and the common ones (1.5.26, 1.6-rc5).

For your convenience and mine, I have uploaded the script as a Gist: https://gist.github.com/monban/8839724

This is my first PoL script, the format is based heavily on reading the League Of Legends script and the dependencies are largely from the RPGMaker script. Please advise (and fork!) if I did anything stupid / wrong.

monban Thursday 6 February 2014 at 9:02
monban

Screenshots / icon files available in this imgur gallery.
petch Thursday 6 February 2014 at 20:00
petch

Hi monban,
Ok, so my review:

PREFIX="IMTS"

Short, cryptic prefix names are discouraged, as they increase the risk of collisions with the prefix of other scripts

POL_Wine_PrefixCreate
POL_System_SetArch "x86"

x86 architecture is the default, but also the architecture of a prefix cannot be changed once it has been created, so as written it happens too late to have any effect.

POL_Download "http://rpgmaker.net/content/games/2732/downloads/IMTS_Setup_24.exe" "7025979eb03e9a226e2dd742f0a02db6"

POL_Download saves its file in the current directory, but it's not clear in the script what's the current directory at this point. I'd add a cd "$POL_System_TmpDir" just before, just to make it more obvious and resilient to changes.

POL_Call POL_Install_dinput
POL_Call POL_Install_dinput8
POL_Call POL_Install_directmusic
POL_Call POL_Install_directplay
POL_Call POL_Install_directx9
POL_Call POL_Install_dotnet20
POL_Call POL_Install_dxfullsetup
POL_Call POL_Install_gdiplus
POL_Call POL_Install_RegisterFonts

Does the game need so many components? It's best to try to trim the amount to the minimum.
I suspect dxfullsetup covers all what dinput, dinput8, directmusic, directplay and directx9 do, but I'm not 100% sure.

POL_SetupWindow_wait "Running setup" "$TITLE"
POL_Wine start /unix "$POL_System_TmpDir/IMTS_Setup_24.exe"
POL_Wine_WaitExit "IMTS_Setup_24.exe"

"start /unix" is usually not required, and has drawbacks, try without it.
Also, dropping it may remove the need for the next POL_Wine_WaitExit

Regards,
Pierre.
monban Friday 7 February 2014 at 2:19
monban

Okay I made the changes you suggested, you can see them on the Gist (diff).

It turns out you were right, the only Winetricks I ended up needing were directx9 and dotnet20. I didn't need the library overrides either. Maybe that was all fixed more recent versions of Wine?

Like I said I copied most of the dependencies from the RPGMaker script, I guess I assumed that just because I might not need them doesn't mean other people might not? I don't know if that makes sense.

In any event, I hope this passes muster, and that people find this script useful. I am currently doing a play-through of the game myself, so if there are any remaining issues hopefully I'll spot them myself, and get the fixes incorporated into the script.

Thanks!

petch Saturday 8 February 2014 at 7:26
petch

Hi,

It turns out you were right, the only Winetricks I ended up needing were directx9 and dotnet20. I didn't need the library overrides either. Maybe that was all fixed more recent versions of Wine?

Quote from monban

Possibly. Also if those are generic requirements for RPGMaker, maybe not all projects require all components, I don't know.

Sorry, I forgot one possible change,
POL_SetupWindow_wait "Running setup" "$TITLE"

I think it's superseded now by
POL_Wine_WaitBefore "$TITLE"


No biggie though (benefit: the message will be the standard one, and localized), your script looks nice and you can submit it for inclusion in the scripts repository :)

Regards,
Pierre.
petch Saturday 8 February 2014 at 15:36
petch