El Foro

[MAJ] Les sims 3

Update du script existant

Autor Respuestas
Tawane Sunday 25 November 2012 at 19:05
TawaneAnonymous

Bonjour,

Je n'ai jamais réussi à utiliser le script existant sous playonlinux 4.1.8 pour installer et lancer les sims 3 sur un ubuntu x64. J'ai donc fais une grosse mise à jour du script, le changelog est dans l'en-tête.

Je l'ai envoyer par le playonlinux Online, mais je ne suis pas certain qu'il soit correctement parti...
[code language=playonlinux]#!/bin/bash # Date : (2010-05-11 21:00) # Last revision : (2012-11-25 17:10) # Wine version used : 1.4.1 # Distribution used to test : Ubuntu 12.10, 12.04 # PlayOnLinux: 4.1.8 # Author : NSWL & GNU_Raziel, Tawane # Licence : Retail # Changelog # (2012-05-25) 17:10 - Tawane # - Delete all deprecated functions # - Replace Mono by .NET # - Add Debug messages # - Set wine version to 1.4.1 # - Fix the script for x64 users # # (2010-05-11) 21:00 - NSWL & GNU_Raziel # - First version [ "$PLAYONLINUX" = "" ] && exit 0 source "$PLAYONLINUX/lib/sources" ###################################### # # Initializing # ###################################### # Start the script POL_GetSetupImages "http://files.playonlinux.com/resources/setups/sims3/top.jpg" "http://files.playonlinux.com/resources/setups/sims3/left.jpeg" "$TITLE" POL_SetupWindow_Init POL_Debug_Init POL_Debug_Message "[$TITLE] Initializing variables" TITLE="The Sims 3" TITLE_LAUNCHER="The Sims 3 Launcher" EDITOR="Electronic Arts Inc." EDITOR_URL="http://www.thesims3.com/" PREFIX="TheSims3" export POL_WINEVERSION="1.4.1" POL_Debug_Message "[$TITLE] Initializing locales" if [ "$POL_LANG" == "fr" ]; then LNG_CHOOSE_MEDIA="Quelle version possédez-vous?" LNG_DVD="Version DVD" LNG_DDV="Version Digital Download" LNG_CHOOSE_DDV="Veuillez selectionner votre executable Digital Download de $TITLE" LNG_INSERT_MEDIA="Veuillez insérer le disque $TITLE dans votre lecteur\\nsi ce n'est pas déja fait." LNG_INSTALL_ON="Installation en cours..." LNG_SUCCES="$TITLE a été installé avec succès." else LNG_CHOOSE_MEDIA="What version do you have?" LNG_DVD="DVD Version" LNG_DDV="Digital Download Version" LNG_CHOOSE_DDV="Please select your $TITLE Digital Download executable" LNG_INSERT_MEDIA="Please insert $TITLE media into your disk drive\\nif not already done." LNG_INSTALL_ON="Installation in progress..." LNG_SUCCES="$TITLE has been installed successfully." fi # Dotnet20 cannot be installed on a 64 bit system POL_Debug_Message "[$TITLE] Setting Arch to x86" POL_System_SetArch "x86" POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$EDITOR_URL" "NSWL & GNU_Raziel, Tawane" "$PREFIX" ###################################### # # Prefix creation # ###################################### POL_Wine_SelectPrefix "$PREFIX" POL_Debug_Message "[$TITLE] Creating $PREFIX prefix" export POL_Wine_PrefixCreate "$POL_WINEVERSION" ###################################### # # Dependencies installation # ###################################### POL_Debug_Message "[$TITLE] Installing required dependencies..." POL_Debug_Message "[$TITLE] Visual Studio 2005 Redistributables" POL_Call "POL_Install_vcrun2005" POL_Debug_Message "[$TITLE] .NET Framework SP2" POL_Call "POL_Install_dotnet20sp2" POL_Debug_Message "[$TITLE] Internet explorer" POL_Call "POL_Install_gecko" POL_Debug_Message "[$TITLE] Flash Player" POL_Call "POL_Install_flashplayer" POL_Debug_Message "[$TITLE] Tahoma font family" POL_Call "POL_Install_tahoma" ###################################### # # Game installation # ###################################### POL_Debug_Message "[$TITLE] Selecting install type" # Choose between DVD and Digital Download version POL_SetupWindow_menu "$LNG_CHOOSE_MEDIA" "$TITLE" "$LNG_DVD~$LNG_DDV" "~" if [ "$APP_ANSWER" == "$LNG_DVD" ]; then GAME_MEDIAVERSION="DVD" else GAME_MEDIAVERSION="DD" fi if [ "$GAME_MEDIAVERSION" == "DVD" ]; then #asking for CDROM and checking if it's correct one POL_SetupWindow_message "$LNG_INSERT_MEDIA" POL_SetupWindow_cdrom POL_SetupWindow_check_cdrom "Sims3Setup.exe" SETUP_PATH="$CDROM/Sims3Setup.exe" else #Asking then installing DDV of the game cd $HOME POL_SetupWindow_browse "$LNG_CHOOSE_DDV" "$TITLE" SETUP_PATH="$APP_ANSWER" fi export POL_Debug_Message "[$TITLE] Launching $TITLE installation (with Wine $POL_WINEVERSION)" POL_Wine "$SETUP_PATH" # Waiting while game is installing using selected wine version POL_Wine_WaitExit "$TITLE" ###################################### # # Prefix configuration # ###################################### # Set graphic card memory amount POL_Debug_Message "[$TITLE] Setting graphic card memory amount (VMS)" POL_SetupWindow_VMS "256" POL_Debug_Message "[$TITLE] Configuring game launch options" Set_SoundDriver "alsa" Set_Managed "Off" ###################################### # # Finished installation # ###################################### # Delete temp dirs POL_System_TmpDelete # Create shortcuts POL_Debug_Message "[$TITLE] Creating shortcuts" POL_Shortcut "TS3.exe" "PlayOnLinux - $TITLE" "" "" POL_Shortcut "Sims3Launcher.exe" "PlayOnLinux - $TITLE_LAUNCHER" "" "" POL_Debug_Message "[$TITLE] END !" POL_SetupWindow_message "$LNG_SUCCES" "$TITLE" POL_SetupWindow_Close exit[/code]

Editado por: Tawane

petch Sunday 25 November 2012 at 20:28
petch

Bonsoir,
Il y a sûrement encore des choses à simplifier...
- Pas vraiment nécessaire de préfixer les messages de log avec le titre, vu que chaque log d'installation va dans son propre fichier
- l'exportation de POL_WINEVERSION est inutile, vu que la variable n'est utilisée qu'à l'intérieur du script
- Pour l'internationalisation il faut maintenant passer par eval_gettext http://www.playonlinux.com/fr/dev-documentation-10.html
- Juste pour info il me semble bien que POL_System_SetArch "x86" est la valeur par défaut (mais ça ne fait pas de mal)
- export POL_Wine_PrefixCreate "$POL_WINEVERSION" euh? POL_Wine_PrefixCreate est une fonction pas une variable, je pense que l'"export" est un reste d'une ancienne ligne...
- le choix de la méthode d'installation a sa propre fonction: POL_SetupWindow_InstallMethod http://www.playonlinux.com/fr/dev-documentation-7.html
- Set_SoundDriver "alsa"
Set_Managed "Off"
Pas sûr du réel bénéfice de ces deux lignes; La première est censé contourner des problèmes avec PulseAudio, la deuxième peut aider (ou pas) sous Mac. Perso on m'a conseillé de ne les mettre que si elles ont un bénéfice avéré
- Pourquoi préfixer les raccourcis avec "PlayOnLinux - " ? Leurs noms vont apparaître dans l'interface de PlayOnLinux, ça prend de la place sans aucun bénéfice
- POL_System_TmpDelete va de pair avec POL_System_TmpCreate, en l'état il peut disparaître

Mais c'est clairement sur la bonne voie, je suis allé voir le script existant pour me faire peur :p
Cordialement,
Pierre.

Editado por: petch

Tawane Monday 26 November 2012 at 20:43
TawaneAnonymous

Merci infiniment pour tes commentaires. Effectivement la nuit aidant (et après avoir testé cette nouvelle version sur le PC de ma copine) je me suis rendu compte des erreurs que j'avais introduit après mon dernier test mais avant de publier le script.


> - Pas vraiment nécessaire de préfixer les messages de log avec le titre, vu que chaque log d'installation va dans son propre fichier

Done.

> - l'exportation de POL_WINEVERSION est inutile, vu que la variable n'est utilisée qu'à l'intérieur du script

Effectivement, j'ai trouvé ce bout de code sur un autre script mis à jour récemment, j'ai pensé bêtement que la variable POL_WINEVERSION était interne à PlayOnLinux, d'où le besoin de l'exporter.

> - Pour l'internationalisation il faut maintenant passer par eval_gettext http://www.playonlinux.com/fr/dev-documentation-10.html

Ok, je regarde ça dès que j'ai résolu tout le reste.

> - Juste pour info il me semble bien que POL_System_SetArch "x86" est la valeur par défaut (mais ça ne fait pas de mal)

La majorité des problèmes que j'ai rencontré avec l'ancien script provenaient de conflits avec les dépendances installés dans le wineprefix, qui ne respectent pas toujours la structure Program Files / Program Files (x86), ou du raccourci qui ne retrouve pas sa cible (il ca cherche dans System32...). De plus dotnet ne peut pas s'installer sur une archi x64, donc je préfère laisser cette ligne.

> - export POL_Wine_PrefixCreate "$POL_WINEVERSION" euh? POL_Wine_PrefixCreate est une fonction pas une variable, je pense que l'"export" est un reste d'une ancienne ligne...

Alors là j'ai carrément craqué. Je devais pas avoir les yeux en face des trous. Mon script ne fonctionnait plus du tout à cause de cette ligne... Corrigé

> - le choix de la méthode d'installation a sa propre fonction: POL_SetupWindow_InstallMethod http://www.playonlinux.com/fr/dev-documentation-7.html

J'en prend bonne note et j'update

> - Set_SoundDriver "alsa"
> Set_Managed "Off"
> Pas sûr du réel bénéfice de ces deux lignes; La première est censé contourner des problèmes avec PulseAudio, la deuxième peut aider (ou pas) sous Mac. Perso on m'a conseillé de ne les mettre que si elles ont un bénéfice avéré

Pour alsa ok, je retire. Pour le Set_Managed j'ai des problèmes si je le laisse à On (par défaut) sur ma 12.10. En passant à Off, le plein écran fonctionne parfaitement. Le seul petit hic pour lequel je n'ai pas de fix pour le moment, c'est que mon second écran est désactivé quand je lance le jeu, et n'est pas réactivé à la fermeture. Je dois donc aller dans les options d'affichage pour réactiver l'écran à chaque fois. C'est pas hyper contraignant, mais je suis preneur si une solution existe.

> - Pourquoi préfixer les raccourcis avec "PlayOnLinux - " ? Leurs noms vont apparaître dans l'interface de PlayOnLinux, ça prend de la place sans aucun bénéfice

A la fin de l'install des sims, un raccourci est crée sur le bureau (Linux) et n'est pas (totalement) fonctionnel. Il s'agit d'un lanceur qui contrôle entre autre le checksum de l’exécutable du jeu. J'ai mis le préfix pour que l'utilisateur puisse voir le bon raccourci, celui qui correspond à l'install POL.

> - POL_System_TmpDelete va de pair avec POL_System_TmpCreate, en l'état il peut disparaître

Done.

> Mais c'est clairement sur la bonne voie, je suis allé voir le script existant pour me faire peur :p
> Cordialement,
> Pierre.

Encore merci pour tes retours, je me remet au boulot et je reposte une nouvelle version soon ;)

Editado por: Tawane

petch Monday 26 November 2012 at 21:00
petch

> Le seul petit hic pour lequel je n'ai pas de fix pour le moment, c'est que mon second écran est désactivé quand je lance le jeu, et n'est pas réactivé à la fermeture. Je dois donc aller dans les options d'affichage pour réactiver l'écran à chaque fois. C'est pas hyper contraignant, mais je suis preneur si une solution existe.

Tout ce que j'ai trouvé pour l'instant c'est d'activer le bureau virtuel de Wine, à la taille de l'ecran sur lequel je veux faire tourner le jeu, et en configurant mon gestionnaire de fenêtres pour que Wine se place au bon endroit.
Dans les versions toutes récentes de Wine (1.5.9+ ?) ils ont amélioré le support de XRandr (dont le support multi-écrans), par contre le bureau virtuel n'a plus l'air de fonctionner, ce qui à mon avis tient du bug...

> A la fin de l'install des sims, un raccourci est crée sur le bureau (Linux) et n'est pas (totalement) fonctionnel

ça, ça tient du bug dans PlayOnLinux plutôt

Editado por: petch

Tawane Monday 26 November 2012 at 21:21
TawaneAnonymous

Pour l'écran, si je comprends ce que tu dis, il n'y a pas vraiment de façon de configurer ça au niveau du script, si ?

Pour l'icone crée à la fin de l'install, je suis d'accord c'est assez bizarre. On voit dans les traces que POL désactive volontairement winemenubuilder, mais les icônes sont bien ajoutée dans le menu Ubuntu, et sur le bureau. Je laisse mon script tel quel, et tout devrait rentrer dans l'ordre sur une prochaine mise à jour.

Enfin, pour le POL_System_SetArch "x86" j'ai vérifié, par défaut la config semble être "auto", donc je garde cette ligne, pour permettre aux utilisateurs de systèmes 64 bits d'utiliser le jeu quand même (et ca marche très bien).

J'ai fait les modifs expliquées plus haut, et tout (re)fonctionne à merveille. J'update la localisation et je reposte le script.
Tawane Monday 26 November 2012 at 21:54
TawaneAnonymous

Voilà ce que ca donne :

[code language=playonlinux]#!/bin/bash # Date : (2010-05-11 21:00) # Last revision : (2012-11-25 17:10) # Wine version used : 1.4.1 # Distribution used to test : Ubuntu 12.10, 12.04 # PlayOnLinux: 4.1.8 # Author : NSWL & GNU_Raziel, Tawane # Licence : Retail # Changelog # (2012-05-26) 21:30 - Tawane # - Fix some bugs # - Fix localization # # (2012-05-25) 17:10 - Tawane # - Delete all deprecated functions # - Replace Mono by .NET # - Add Debug messages # - Set wine version to 1.4.1 # - Fix the script for x64 users # # (2010-05-11) 21:00 - NSWL & GNU_Raziel # - First version [ "$PLAYONLINUX" = "" ] && exit 0 source "$PLAYONLINUX/lib/sources" ###################################### # # Initializing # ###################################### # Start the script POL_GetSetupImages "http://files.playonlinux.com/resources/setups/sims3/top.jpg" "http://files.playonlinux.com/resources/setups/sims3/left.jpeg" "$TITLE" POL_SetupWindow_Init POL_Debug_Init POL_Debug_Message "Initializing variables & locales" TITLE="$(eval_gettext 'The Sims 3')" TITLE_LAUNCHER="$(eval_gettext 'The Sims 3 Launcher')" EDITOR="Electronic Arts Inc." EDITOR_URL="http://www.thesims3.com/" SCRIPT_AUTHORS="NSWL & GNU_Raziel, Tawane" PREFIX="TheSims3" WINEVERSION="1.4.1" LNG_CHOOSE_SETUP="$(eval_gettext 'Please select the setup file to run.')" LNG_SUCCES="$(eval_gettext '$TITLE has been successfully installed.')" # Dotnet20 cannot be installed on a 64 bit system POL_Debug_Message "Setting Arch to x86" POL_System_SetArch "x86" POL_SetupWindow_presentation "$TITLE" "$EDITOR" "$EDITOR_URL" "$SCRIPT_AUTHORS" "$PREFIX" ###################################### # # Prefix creation # ###################################### POL_Wine_SelectPrefix "$PREFIX" POL_Debug_Message "Creating $PREFIX prefix" POL_Wine_PrefixCreate "$WINEVERSION" ###################################### # # Dependencies installation # ###################################### POL_Debug_Message "Installing required dependencies..." POL_Debug_Message "Visual Studio 2005 Redistributables" POL_Call "POL_Install_vcrun2005" POL_Debug_Message ".NET Framework SP2" POL_Call "POL_Install_dotnet20sp2" POL_Debug_Message "Internet explorer" POL_Call "POL_Install_gecko" POL_Debug_Message "Flash Player" POL_Call "POL_Install_flashplayer" POL_Debug_Message "Tahoma font family" POL_Call "POL_Install_tahoma" ###################################### # # Game installation # ###################################### # Choose between DVD and Digital Download version POL_Debug_Message "Selecting install type" POL_SetupWindow_InstallMethod "LOCAL,DVD" if [ "$INSTALL_METHOD" == "DVD" ]; then #asking for CDROM and checking if it's correct one POL_SetupWindow_cdrom POL_SetupWindow_check_cdrom "Sims3Setup.exe" SETUP_PATH="$CDROM/Sims3Setup.exe" else #Asking then installing DDV of the game cd $HOME POL_SetupWindow_browse "$LNG_CHOOSE_SETUP" "$TITLE" SETUP_PATH="$APP_ANSWER" fi POL_Debug_Message "Launching $TITLE installation (with Wine $POL_WINEVERSION)" POL_Wine "$SETUP_PATH" # Waiting while game is installing using selected wine version POL_Wine_WaitExit "$TITLE" ###################################### # # Prefix configuration # ###################################### # Set graphic card memory amount POL_Debug_Message "Setting graphic card memory amount (VMS)" POL_SetupWindow_VMS "256" POL_Debug_Message "Configuring game launch options" Set_Managed "Off" ###################################### # # Finished installation # ###################################### # Create shortcuts POL_Debug_Message "Creating shortcuts" POL_Shortcut "TS3.exe" "$TITLE" "" "" POL_Shortcut "Sims3Launcher.exe" "$TITLE_LAUNCHER" "" "" POL_Debug_Message "END !" POL_SetupWindow_message "$LNG_SUCCES" "$TITLE" POL_SetupWindow_Close exit[/code]

Editado por: Tawane

petch Tuesday 27 November 2012 at 0:13
petch

We don't translate shortcut names (doesn't make enough sense to ask to the translators of the Launchpad to translate game names), and you can inline the $LNG_* variables to avoid an automated code quality warning (when it detects $LNG_* variables), but other than that I think your script is good to go... :)

Editado por: petch

Quentin PÂRIS Tuesday 27 November 2012 at 1:37
Quentin PÂRISAnonymous

Toi aussi t'as le syndrome du mélange des langues ;-p

Ça m'a l'air parfait ce script
petch Tuesday 27 November 2012 at 2:06
petch


Désolé, je contribue plus souvent au forum anglais qu'au forum français, aussi :P
Quentin PÂRIS Tuesday 27 November 2012 at 17:58
Quentin PÂRISAnonymous

Ça m'arrive souvent aussi :p

En tout cas le script est validé ! Merci beaucoup
Tawane Wednesday 28 November 2012 at 8:44
TawaneAnonymous

Bon, ayant été occupé hier soir, j'étais parti pour faire ce matin les 2 dernières modifs que vous me demandiez. Je vois que ce n'est finalement pas nécessaire. Merci beaucoup pour la validation et vos commentaires. Bonne continuation.

Quant à moi à l'occasion, si je tombe sur d'autres jeux outdated ou inexistants dans vos bases, je saurais comment m'y prendre ;)

Chouette communauté les gars ;)
Deleted spanish message in french forum