Forums

Neighbours From Hell Compilation (GoG)

Mon premier script

Auteur Réponses
pip99 Dimanche 11 Aoüt 2013 à 0:46
pip99Anonymous

Bonjour,

C'est la première fois que je fais un script. J'espère que ça ira. Si j'ai mal fait quelque chose merci de me dire quoi que je puisse me corriger au moins pour la prochaine fois ^^

Voici le code :

[code language=playonlinux]
#!/bin/bash
# Date : (2013-08-11)
# Last revision : (2013-08-11)
# Wine version used : 1.4.1
# Distribution used to test : Linux Mint 15 KDE (64-bit)
# Author : pip99

[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"

TITLE="GOG.com - Neighbours From Hell Compilation"
PREFIX="NeighboursFromHellCompilation_gog"
SHORTCUT_NAME1="Neighbours From Hell 1"
SHORTCUT_NAME2="Neighbours From Hell 2"
GOGID="neighbours_from_hell_compilation"
WORKING_WINE_VERSION="1.4.1"
SELECTED_LANGUAGE="eng"

POL_GetSetupImages "http://files.playonlinux.com/resources/setups/$PREFIX/top.jpg" "http://files.playonlinux.com/resources/setups/$PREFIX/left.jpg" "$TITLE"

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation "$TITLE" "JoWooD Productions Software / Nordic Games" "http://www.gog.com/gamecard/$GOGID" "pip99" "$PREFIX"

POL_SetupWindow_menu "$(eval_gettext 'What is your preferred language?')" "$(eval_gettext 'Language')" "eng: $(eval_gettext 'English')-ger: $(eval_gettext 'German')-fra: $(eval_gettext 'French')-esp: $(eval_gettext 'Spanish')" "-"
SELECTED_LANGUAGE=$(cut -d ':' -f 1 <<< "$APP_ANSWER")

POL_Call POL_GoG_setup "$GOGID" "af0d54ef825b974fe4207e817f857bd9"

POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WORKING_WINE_VERSION"

POL_Call POL_GoG_install

if [ "$SELECTED_LANGUAGE" != "eng" ]
then
    mv "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 1/data/gamedata.bnd" "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 1/data/eng-gamedata.bnd"
    mv "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 2/data/gamedata.bnd" "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 2/data/eng-gamedata.bnd"
    cp "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 1/data/$SELECTED_LANGUAGE-gamedata.bnd" "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 1/data/gamedata.bnd"
    cp "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 2/data/$SELECTED_LANGUAGE-gamedata.bnd" "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 2/data/gamedata.bnd"
fi

POL_Shortcut "$PROGRAMFILES/GOG.com/Neighbours From Hell Compilation/Neighbours From Hell 1/bin/game.exe" "$SHORTCUT_NAME1" "$SHORTCUT_NAME1.png" "" "Game;AdventureGame;"
POL_Shortcut "$PROGRAMFILES/GOG.com/Neighbours From Hell Compilation/Neighbours From Hell 2/bin/game.exe" "$SHORTCUT_NAME2" "$SHORTCUT_NAME2.png" "" "Game;AdventureGame;"
POL_Shortcut_Document "$SHORTCUT_NAME1" "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 1/manual.pdf"
POL_Shortcut_Document "$SHORTCUT_NAME2" "$GOGROOT/Neighbours From Hell Compilation/Neighbours From Hell 2/manual.pdf"

POL_SetupWindow_Close
exit 0
[/code]

Les icônes :

[img]http://image.noelshack.com/fichiers/2013/32/1376236547-neighbours-from-hell-1-32x32.png[/img][img]http://image.noelshack.com/fichiers/2013/32/1376236547-neighbours-from-hell-2-32x32.png[/img][img]http://image.noelshack.com/fichiers/2013/32/1376236547-neighbours-from-hell-2-48x48.png[/img]

Edité par pip99

pip99 Dimanche 11 Aoüt 2013 à 0:56
pip99Anonymous

Par contre je sais pas si c'est moi qui ai loupé quelque chose mais le jeu mets pas d'icône dans le menu KDE. Pourtant j'ai mis des "POL_Shortcut"...

Edité par pip99

petch Dimanche 11 Aoüt 2013 à 8:40
petch
Développeur

Bonjour pip99,

Je voulais le mettre en clair sur le forum mais ça supprime tous mes retour à la ligne et rend le code illisible je sais pas pourquoi... :(

Quote from pip99

Chrome peut-être ? Le forum n'est pas totalement compatible avec la plupart des navigateurs...

Pour en revenir au script d'installation, à première vue pas de gros défaut:

*
[code language=playonlinux]
SELECTED_LANGUAGE=$(echo "${APP_ANSWER}" | cut -d ':' -f 1)
[/code]
Avec Bash (3?), on peut aussi écrire
[code language=playonlinux]
SELECTED_LANGUAGE=$(cut -d ':' -f 1 <<<"$APP_ANSWER")
[/code]
C'est un peu plus léger, mais bon ça tient quasiment d'une affaire de goût...

*
Je vois que tu as eu le problème de ne pas pouvoir utiliser $GOGROOT avec POL_Shortcut, dans le cas où on a besoin d'un chemin relatif à drive_c pour distinguer deux programmes de même nom. J'avais déjà pensé à avoir une autre variable contenant juste le chemin relatif à drive_c, genre $GOGPATH, quitte à rendre par la suite $GOGROOT obsolète s'il peut s'écrire "$WINEPREFIX/drive_c/$GOGPATH"; Mais pour le moment je n'en ai rien fait.
Bref. Le problème immédiat c'est qu'il ne faut pas mettre "Program Files" en dur dans les scripts, parce que le nom change en fonction de la langue de l'utilisateur : il faut impérativement utiliser $PROGRAMFILES

Voilà, comme je disais pas de gros défaut à signaler.

Pour les icônes c'est une bonne question, j'utilise KDE aussi et certains jeux apparaissent directement dans "Jeux", d'autres dans "Jeux/Tactique et Stratégie", mais peut-être pas tous. J'ai des jeux installés depuis avant que le support du menu système soit implémenté, c'est un peu compliqué d'être sûr, il faudrait que je m'y penche sérieusement, mais je dois avouer que ce n'est pas ma priorité immédiate...

pip99 Dimanche 11 Aoüt 2013 à 11:58
pip99Anonymous

Merci beaucoup pour les conseils j'ai donc apporté les corrections que tu as souligné dans mon code ^^

Pour le menu KDE en faite le raccourcis ne va pas dans "Jeux" il est juste totalement absent du menu il n'y a juste aucun raccourcis sauf sur le bureau... :s

Sinon oui j'utilise bien Chrome donc peut-être une incompatibilité du site avec Chrome... :( Ou alors parce que je poste depuis Windows. J'ai remarqué que sur Chromium sous Linux le site s'affiche très bien mais pas sur Chrome sous Windows...
pip99 Dimanche 11 Aoüt 2013 à 18:04
pip99Anonymous

J'ai posté mon code depuis Firefox et cette fois les retour à la ligne ont bien été pris en compte donc ça venait bien de Chrome le problème... :/

Pour faire valider mon code et qu'il soit intégré à PoL (et PoM aussi éventuellement) il fallait le poster sur cette page ? En tous cas c'est ce que j'ai fais j'espère que ça va marcher.

Edité par pip99

petch Dimanche 11 Aoüt 2013 à 19:07
petch
Développeur

Rien d'autre n'est nécessaire.
Tout ce qui peut encore être ajouté, c'est:
- un JPEG 150x356 à afficher à gauche du premier écran du script d'installation, et un JPEG 64x64 à afficher en haut à droite de tous les autres écrans;
[img]https://github.com/petchema/playonlinux/blob/master/gfx/example%20left.jpg[/img]
[img]https://github.com/petchema/playonlinux/blob/master/gfx/example%20top.jpg[/img]
Plus d'exemples: https://github.com/petchema/playonlinux/tree/master/gfx/resources/setups

- quelques captures d'écran, de préférence la fenêtre du jeu avec ses décorations, pour donner une "idée" du jeu sous PlayOnLinux.

Dans tous les cas, il faut ensuite cliquer sur "Logiciels supportés" (sur le côté gauche des pages), puis "Nouvel installeur".
Quand le script et sa description sont rentrés, il y a un lien pour demander la validation du script. Ce devrait être tout :)
petch Dimanche 11 Aoüt 2013 à 22:52
petch
Développeur

pip99 Dimanche 11 Aoüt 2013 à 23:54
pip99Anonymous

Génial merci beaucoup pour ton aide pour l'amélioration de mon script et la validation ! :D
petch Lundi 12 Aoüt 2013 à 0:35
petch
Développeur