Des geekeries, de la MAO, de tout et de rien…
Je suis
Charlie

Jazz Jack Rabbit 2 et Touhou 08 - Imperishable Night sous GNU/Linux.

Icône auteur nah, Icône canondrier 15 août 2011, Icône commentaire
Mots clés Icône catégorie geekeries, GNU/Linux, linux, Jeux, classé dans Icône catégorie Geekeries, Linux, wine, Jeux

J'ai fini par craquer, et j'ai réactivé le support du 32 bits (options dans le noyau linux + dépot multilib sous arch64), pour jouer à Jazz Jack Rabbit 2 (il ne fonctionne pas pour des raisons que j'ignore sous Windows 7 64bits, malgré les différentes options de compatibilité). J'en ai profité pour installer la démo de th08.


Note : les deux jeux sont disponibles via AUR. Par contre, cela installe un nouveau préfixe wine pour chaque jeu, et l'installation n'est pas uniformisée : Jazz2 est installé dans /opt sur une image disque, th08 est installé dans /usr/share…

De plus, th08 passe par timidity++ pour jouer les musiques (au format midi). J'ai une préférence pour fluidsynth (il me semble moins gourmand en ressources), donc j'ai tellement modifié les scripts que j'ai fini par retirer le paquet th08 (et jazz2) pour faire les installations à la main, dans un préfixe .wine situé sur mon ~.


alex@yue ~/.w/drive_c> tree -d
.
|-- games
|   |-- Jazz2
|   |   |-- Cache
|   |   |-- HTML
|   |   |-- JCSHelp
|   |   `-- Tiles
|   |-- th08
|   |   |-- backup
|   |   |-- replay
|   |   `-- th08man
|   |       `-- html
…

Je passerai les détails sur l'installation, pour me concentrer sur la configuration de th08, Jazz2 ne posant pas de problèmes particuliers.

Installer fluidsynth, si ce n'est déjà fait, puis installer une soundfont (sf2), soit depuis les dépots(fluidr3 par exemple), soit depuis Internet. J'ai une légère préférence pour MegaDrive.sf2

J'ai ensuite codé ce petit script :

alex@yue ~> cat /usr/local/bin/th08

#!/bin/bash
#Launcher for touhou 08

#Path to sf2 file
SOUNDFONT=/usr/share/soundfonts/fluidr3/FluidR3GM.SF2

fluidsynth -i -a alsa -m alsa_seq -s $SOUNDFONT &
FSPID=$!

cd ~/.wine/drive_c/games/th08
LANG=ja_JP.UTF8 wine th08.exe

kill -SIGTERM $FSPID

Rien de compliqué dans tout ça. J'utilise la variable SOUNDFONT pour indiquer où elle se situe (ici, celle de fluidr).
FSPID récupère le PID de fluidsynth, pour pouvoir l'arrêter quand on arrête de jouer.
Les jeux étant installés dans mon ~, il faut s'y déplacer. À noter que j'aurais pu les mettre dans /opt ou /usr/local, mais cela imposerait d'autoriser l'écriture dans certains de ces répertoires, ce qui est HORS DE QUESTION.
Le jeu étant en japonais, il est toujours utile de le lancer avec la locale ja_JP.UTF8 (ne serait-ce que pour afficher le titre dans la fenêtre, par exemple).


À noter également quelques bugs graphiques : le texte ne s'affiche pas durant les dialogues, et la liste des titres dans la "music room" ne s'affiche pas non plus. http://bugs.winehq.org/show_bug.cgi?id=24610.
À priori, cela viendrait du pilote ati libre.

fixme:d3d:check_fbo_compat Format WINED3DFMT_R16_FLOAT with rendertarget flag is not supported as FBO color attachment, and no fallback specified.