Bonjour à tous,
Je rejoins tout juste la communauté POL et tiens avant tout à féliciter, et surtout remercier les concepteurs ainsi que tous ceux qui les ont rejoint depuis pour leur investissement et leur ingéniosité. Ce programme est véritablement excellent !
Seulement voilà (il y a toujours un "mais"
, je tente d'utiliser le premier script qui m'intéresse (World of Warcraft), et bam, première ombre au tableau. Pas de contrôle que le bon cd a été monté, et le script continue tranquillement jusqu'à ce que l'install de Wow plante. Je grommèle, puis retente en me promettant d'être plus attentif. Evidemment, rendu au CD 5, je clique trop vite et... tout à refaire. Ce que je m'empresse de faire, cette fois avec succès (ouf !). Je lance donc le script de Burning Crusade... et là, je vous le donne dans le mille... Je clique trop vite !!!
Voilà pour la petite histoire, la raison qui m'a poussé à mettre le nez dans le script Wow, que je vous soumets maintenant. Au programme :
- Ajout d'un contrôle du montage du bon cd avec, en cas d'échec, proposition à l'utilisateur d'interrompre l'installation ou de poursuivre.
- Correction d'une petite faute de français
- Introduction de deux fonctions pour clarifier le code.
- Petites bricoles à droite à gauche, pour clarifier le code.
J'ai fait ça à la va-vite, histoire d'avoir quelque chose de fonctionnel rapidement. Ce n'est pas encore très homogène, et des parties n'ont pas encore été traitées. Si le principe vous plait, il y a encore pas mal de modif que j'ai envie de faire. A vous de voir...
Voici le code :
#!/bin/bash
if [ "$PLAYONLINUX" = "" ]
then
exit 1
fi
source "$PLAYONLINUX/lib/sources"
cfg_check
#Fonctions
function check_cd
{
message "Veuillez monter le CDROM $1, puis cliquer sur valider."
case $1 in
2|3|4|5)
while [ ! -e "${CDROM}/Installer Tome $1.mpq" ]
do
return=`question "Le CD-ROM n°$1 de World of Warcraft est introuvable. Voulez-vous réessayer ?"`
[ $return -eq 1 ] && message "Installation annulée." && return 10
done
return 0
;;
1)
while [ ! -e "$CDROM/Installer Tome.mpq" ]
do
return=`question "Le CD-ROM n°$1 de World of Warcraft est introuvable. Voulez-vous réessayer ?"`
[ $return -eq 1 ] && message "Installation annulée." && return 10
done
return 0
;;
*)
erreur "Err5 - Erreur fonction 'check_cd' : Argument incorrect."
return 5
esac
}
function copy_cd
{
attendre "Patientez pendant la préparation de l'installation ..." "cp $CDROM/* $TEMP"
}
#Presentation
presentation "World Of Warcraft" "Blizzard Entertainment" "www.blizzard.com" "Tinou" "WorldOfWarcraft"
CDROM=$(champ "Quel est le point de montage de votre lecteur CDROM? (Défault : /media/cdrom/)" "/media/cdrom"
[ "$?" = 1 ] && exit 2
[ "$CDROM" = "" ] && CDROM="/media/cdrom"
check_cd 1
retval=$?
[ ${retval} -ne 0 ] && exit ${retval}
TEMP="$HOME/.PlayOnLinux/tmp/wow"
[ -d $TEMP ] && rm -Rf $TEMP/* || mkdir -p $TEMP
[ -d $REPERTOIRE/wineprefix/WorldOfWarcraft] || mkdir -p $REPERTOIRE/wineprefix/WorldOfWarcraft
cd $REPERTOIRE/wineprefix/WorldOfWarcraft
select_prefixe "$(pwd)"
creer_prefixe
cd $WINEPREFIX/dosdevices
rm ./*
ln -s ../drive_c c:
ln -s / z:
ln -s $TEMP d:
cd $TEMP
copy_cd
check_cd 2
retval=$?
[ ${retval} -ne 0 ] && exit ${retval}
copy_cd
check_cd 3
retval=$?
[ ${retval} -ne 0 ] && exit ${retval}
copy_cd
check_cd 4
retval=$?
[ ${retval} -ne 0 ] && exit ${retval}
copy_cd
reponse=$(question "Possedez vous l'édition 5 CDROM ?"
if [ "$reponse" = "0" ]
then
check_cd 5
retval=$?
[ ${retval} -ne 0 ] && exit ${retval}
copy_cd
fi
wine d:\Installer.exe
message "Appuyez sur OK quand vous êtes SUR que l'installation est terminée.
Si vous appuyez sur ok et qu'elle n'est pas terminée, vous devrez tout réinstaller."
cd $REPERTOIRE/tmp/
echo "SET gxApi "opengl"" > Config.wtf
echo "SET ffxDeath "0"" >> Config.wtf
echo "SET SoundOutputSystem "1"" >> Config.wtf
echo "SET SoundBufferSize "150"" >> Config.wtf
cp -f Config.wtf $WINEPREFIX/drive_c/Program Files/World of Warcraft/WTF/Config.wtf
Set_SoundDriver alsa
fonts_to_prefixe
simuler_reboot
chmod 777 $TEMP -R
rm $TEMP -R
cd $WINEPREFIX/dosdevices
rm ./d:
creer_lanceur "WorldOfWarcraft" "Program Files/World of Warcraft" "WoW.exe"
message "Installation terminée"
exit