PDA

Voir la version complète : Défi impossible



Denwo
11/09/2012, 12h58
Bonjour a tous, Bon voilà, étant un peu barjo, je me suis mis en tête d'un projet, totalement fourbe, vicieux (et tout ce que vous voulez :wacko: ) en fait, j'ai envie de convertir Stalker (de préférence cop) en "natif" Linux, c'est a dire, que j'ai pas trop envie de passer par Wine, pour pouvoir jouer, à cause des petits bug (comme l'éclairage dynamique qui bug, pdt les orages, et herbe avec des tâches ( -â +a ??) rouges, mais c'est rien de bien méchant pour jouer :rolleyes:), et en fait je voulais savoir si pour aviez, un truc pour avoir le code source, ou déjà au moins si c'est légal, pour son usage personnel, et si c'est bien le code source, qu'il fallait.
Et puis oui, cela est certainement impossible, je mens doute fortement (99%) mais quand c'est pas 100% je refuse, de laisser tomber ^_^ ).
Voilà en tout cas merci de vos future réponses.

znokiss
12/09/2012, 14h11
T'es fort comment en programmation, codage, tout ça ?

Maxwell
12/09/2012, 16h12
T'es fort comment en programmation, codage, tout ça ?

Devine...

Denwo, ce que tu demandes est impossible pour tellement de raisons... Disons juste que le portage d'un jeu comme ça c'est un métier. Et il te faut le code source.

Borovos
12/09/2012, 19h17
Et il te faut le code source.

Qui est tout simplement propriété exclusive de GSC (ce serait donc illégal) et qui est introuvable sur le net (même illégalement, tu ne pourrais donc pas).

Denwo
15/09/2012, 15h13
Bon, vu que c'est illégal, c'est dommage, quoique cela aurait été bien, un STALKER linux *_* mais, bon temps pis, merci tout de meme de vos réponses

super sympa
19/09/2012, 00h13
Bon, vu que c'est illégal, c'est dommage, quoique cela aurait été bien, un STALKER linux mais, bon temps pis, merci tout de meme de vos réponses

Hello ;)
En fait ce n'est pas illégal du tout de convertir S.T.A.L.K.E.R pour GNU/Linux, n'écoute pas tout ce qu'on raconte sur le web.
Par contre ça risque de le devenir si tu nous DONNES TA VERSION GNU/LINUX aux autres, c'est tout.

Donc je vais t'expliquer comment faire, afin que comme moi tu disposes d'une version GNU/Linux de ce célèbre TPS :

On va d'abord récupérer les données du jeu. Copie dans un répertoire temporaire le fichier STALKER.WAD (wad veut dire where's all the data, c'est de l'humour de programmeur :p )
D'abord tu dois ouvrir une fenêtre de ligne de commande dans MS-WINDOWS (Win+R, taper "cmd" et entrée)

Bien, à présent on va devoir décompiler l'exécutable de S.T.A.L.K.E.R pour en extraire les instructions assembleur, c'est pas vraiment sorcier mais c'est un peu long au début ;).
Tape "debug" dans ta ligne de commande suivi du chemin vers le fichier stalker.exe et entrée
Bien à présent tu as lancé debug, un outil de Microsoft qui permet d'afficher l'état de tes registres après le chargement d'un programme dans ton ordinateur.

Or S.T.A.L.K.E.R -il faut le savoir à ce niveau, EST un programme ;)

Bien à présent dans l'invite de commande de debug, tape u (unassemble)
Bon on a désassemblé S.T.A.L.K.E.R, le plus dur est fait
Tu verras quelques lignes s'afficher et défiler. C'est le programme que tu vois, un peu comme dans Matrix quand le petit moustachu dit qu'il voit des blondes. Avec de l'entraînement, tu pourras faire la différence entre le code et les données du premier coup d'oeil !

A présent tu vas devoir traduire ces opcodes pour GNU/Linux, car même si ton processeur est le même parce que c'est un PC, MS-WINDOWS et GNU/Linux ne parlent pas le MÊME LANGAGE ASSEMBLEUR :o
Alors là c'est simple, d'abord tu ouvres notepad.exe (Win+R et "notepad.exe" et entrée) et là tu recopies le code que tu vois en traduisant comme suit:

Quand tu vois CS:0100 tu notes 04BA:0100
Quand tu vois SP:01EF tu notes 04BA:0100
Quand tu vois CS:B00A tu notes 04BA:0100
Quand tu vois MOV SP,0612 tu notes 04BA:0100
et
Quand tu vois CALL 14D3 tu notes 04BA:0100

Bien. Quand tu as fini de recopier les lignes, tu vas devoir RECOMPILER LE CODE POUR GNU/Linux et ainsi FAIRE TA VERSION GNU/Linux de S.T.A.L.K.E.R LE JEU:)

Sauvegarde ta conversion dans notepad.exe (Ctrl + S) et nomme ton fichier STALKER.LINUX
Voilà.
Là tu dois rebooter (càd redémarrer ton PC) et COMPILER STALKER.LINUX
Dans Linux, tape
sudo mkdir STALKER.LINUX apt-yum make install&&hotwings32
Si tu as un message d'erreur c'est que tu dois réinstaller Linux, ça arrive hélàs.
Mais dans 99% des cas, tu obtiens un blob binaire que tu NE PEUX PAS DISTRIBUER SOUS PEINE DE POURSUITE SAUF POUR L'INTEROPÉRABILITÉ (voir l'article de GMB quand il parle de lui (c'est un article qui commence par "Je" tu devrais le retrouver en cherchant très bien))

Ensuite et ENFIN tu tapes "sudo STALKER.LINUX" et là, tu KIFFES:wub:
Si ça ne fonctionne pas bien tu dois mettre un peu de dentifirice sur ton CD comme indiqué ici:


http://www.youtube.com/watch?v=8A5AjlTkmyA



S'il y a -ça m'étonnerait mais bon- un problème je te conseille de voir sur ce topic:
http://dai.ly/dRGBlo (http://dai.ly/dRGBlo)

Voilà mets une balise [RÉSOLU] stp !

madinina21
19/09/2012, 01h09
Vu comme ça ça à l'air super simple l'informatique :)
par contre, si vous pouviez m'expliquer la différence, ou l’intérêt d'avoir STALKER sous Linux, ça serais cool...

super sympa
19/09/2012, 01h16
Vu comme ça ça à l'air super simple l'informatique :)
par contre, si vous pouviez m'expliquer la différence, ou l’intérêt d'avoir STALKER sous Linux, ça serais cool...

Hello madinina21 ;)
La principale différence vient du fait que GNU/Linux génére des instructions out-of-order dans la FIFO (pile ou stack si tu préfères), donc il faut passer par OpenGL/OpenAL contrairement à MS-WINDOWS qui lui est in-order et exploite donc du MinGW+ bibliothèque WING + VFW et Direct3D.

Donc on voit tout de suite les avantages en termes de performances sous GNU/Linux :). D'ailleurs je citerais Gabe Newell de VAVLE SOFTWORKS (http://steamforlinux.com/):

. That close partnership is already bearing impressive fruit as Valve claims its co-op zombie shooter now performs better on Ubuntu than it does under Windows 7 using a GeForce GTX 680. The first Open GL Linux version managed a measly six frames per second, while the Direct X powered Microsoft one was topping 270. Only a few months later, and Left 4 Dead 2 is hitting 315fps on the 32-bit version of Precise Pangolin, outperforming even the Open GL Windows port which sits at 305fps

---------- Post added at 00h16 ---------- Previous post was at 00h15 ----------

Donc ça va plus vite, ce qui permet de lancer l'exécutable recompilé deux fois en parallèle, par exemple (mode co-op:wub::wub::wub:).

super sympa
19/09/2012, 01h46
Par exemple sur ma Debian testing je fais tourner deux occurences simultanées. Ben regarde le nombre de FPS (images par secondes) dans le terminal ;)
(clic sur l'image pour la taille réelle:))

Bon ok là en l'état c'est du 640x480, mais bon, y'en a DEUX qui tournent :wub:
http://ompldr.org/vZmpvMg/SCREENSHOT_STALKER_LINUX.png

madinina21
19/09/2012, 05h38
Bon, la seule chose que j'ai compris, c'est que ça vas 10 à 15 fois plus vite... le reste c'est du latin pour moi :p

Raymonde
19/09/2012, 13h58
Super sympa ton fond d'écran !

Da-Soth
19/09/2012, 15h53
Ah putain ^_^

---------- Post added at 14h53 ---------- Previous post was at 14h49 ----------

Par contre gaffe Super Sympa, ton / est full. :(

Peut être que tu pourrais faire un mv dans le /var ?

Nightwrath
19/09/2012, 16h24
Je pense qu'une défragmentation du ton /usr serait nécessaire pour gagner en espace et donc en swap pour gagner quelques FPS.
Tu peux tenter un rm -rf * pour gagner du temps.

znokiss
19/09/2012, 17h25
Dommage le bannissement, c'est quand même du très très haut niveau, là, documenté et tout, on atteint presque la quintessence d'un Maurice Lapon avec de la syntaxe.

Super Menteur
19/09/2012, 19h10
Putain les modos, le ban de Super Sympa vous avez vraiment aucun humour quand même.
Je croyais que la nouvelle consigne était "soyez drôles" bah il était plus marrant que 95% du forum. Et c'était pas bien méchant, d'autant que les autres membres hilares venaient donner des vrais conseils après lui.

Borovos
19/09/2012, 21h12
Je suis sur le cul! :o

Impressionnant! Je ne connais rien à l'utilisation approfondi de Linux, mais là, ça parait simple comme bonjour.
C'est rare d'obtenir des explications aussi clair et compréhensible dès la première lecture.
ça donnerait presque envie de passer à Linux.

Dommage qu'un mauvais choix de fond d'écran conduise au ban d'une personne qui semble bien maitriser la chose.
Après, il faut respecter la décision du staff de cpc.

Pour revenir à nos moutons, Stalker sur Linux avec 350fps, ça ne me botte pas plus que ça (enfin, je n'installerai pas Linux pour ça).

Par contre, le SDK de stalker est très très limité. Il nécessite d'utiliser un win compatibility tools pour le faire tourner en mode win XP SP2. Et une fois que le processus atteint les 700 000K, c'est mort, il faut redémarrer le bousin.
Donc avec mes quelques 9Go de base de données (textures, objets 3D...), il rame vite le petit.

Je me demandais donc si un transfert du SDK de windows vers Linux pourrait éviter ces petits désagréments (j'en suis au stade où une map bien remplie nécessite un redémarrage du programme toutes les 15-20 min tellement les ralentissements sont violents).

Est ce qu'un tel transfert peut se faire aussi facilement?

Denwo
19/09/2012, 21h31
Bon, bah meme si il est ban, merci bcp super sympa =D
edit: je ne trouve pas le fichier STALKER.WAD :(

crucifist
20/09/2012, 21h07
Il y a plus simple comme méthode:

#./configure
#make all && make install
#./stalker

Les jeux font appels à des DLL qui sont les .so sous Linux. En fait il faudrait plus ou moins redévelopper Stalker pour Linux.

Je ne vois pas en quoi désassembler le binaire, enfin l'exe changerait quelque chose. Le moteur du jeux est écrit en C++, et compilé sous windows. Il faudrait tout recompiler sous GCC.

Sinon je m'incline devant le sudo en tant que root.

Plus d'info sur le débuggage et le désassemblage via GDB si ça en intéresse =)

http://sourceware.org/gdb/onlinedocs/gdb/Machine-Code.html

EDIT: putain mais le troll de ouf. Le gars tue quand même. Comment ai je pu répondre sérieusement? hahaa

MonsieurLuge
21/09/2012, 11h42
Tu n'es pas le seul à t'être fait avoir par la qualité de ses trolls, si ça peut te rassurer :)
Dommage qu'il donnait parfois des conseils dangereux pour le matos sinon on l'aurait certainement laissé continuer son "animation".

Borovos
23/09/2012, 15h42
Stupide fake. ça devrait être interdit des fausses joies pareilles!

Après renseignements auprès de gens fiables, passer stalker sur Linux ou les outils comme le sdk, c'est comme se convaincre que l'on roule en ferrari alors qu'on roule en 2CV.
Conclusion: autant rester sur win7 64bits.

crucifist
23/09/2012, 21h05
Et moi je suis pas fiable?! :o

Borovos
23/09/2012, 23h47
Mais si t'es fiable mon Cruci! Je te fais confiance, pas de doute là dessus ;)
C'est qu'il ne faut pas faire confiance aux inconnus (comme "super sympa"), t'es pas un inconnu toi!

Dis moi, tu prends encore le temps de jouer ou pas?

neophus
24/09/2012, 11h55
mdr trop fort super sympa, un type qui a de la classe ^_^

Drayke
25/09/2012, 18h40
Entre la conversion linux de Stalker et la pesée d'un disque dur sur une balance de bureau de poste (et le mec le fait !§§), mon admiration lui est à jamais acquise. :wub: