Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

Appliquer une diff directement dans la source


GreenEyes

Question

  • Réponses 9
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

9 réponses à cette question

Messages recommandés

  • 0
  • Funkiest

Une diff est une modification d'un programme qui a déjà été compilé.

je penses que tu n'as pas bien compris le concept de code source.

Voici un game compilé:

1416007828-game-compile.jpg

Et le code source du game:

1416007822-source-du-game.jpg

Tu dois te douter que les deux ne se modifient pas de la même façon.

Les diff sont pour les game déjà compilés, elles ne servent qu'à ça.

Avec le code source, tu peux aller modifier directement les fichiers .cpp, qui contiennent toutes les données du jeu, pour en faire ce que tu veux.

Modifié par Funky Emulation
Core X - External 2 Internal
Lien vers le commentaire
Partager sur d’autres sites

  • 0

Merci de m'avoir répondu.

 

Je me suis mal exprimé.. Ce que je voulais dire c'est :

Comment crée une diff ?

Comment le modifier directement dans la source ?

 

Par exemple :

Diff orbe de béné visible en magasin files 2013 :

0018C72C: 88 90
0018C72D: 11 90
0018DAE2: 88 90
0018DAE3: 11 90

 

Comment elle a était crée/trouvé ?

Et comment le faire directement dans la source ?

Dans quel fichier ?

 

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Funkiest

C'est à toi de trouver ;)

Il te faut aller jeter un oeil dans item.cpp ou shop.cpp je pense.

 

Les DIFF sont générées avec un logiciel qui s'appelle IDA, à partir du game déjà compilé. Ça s'appelle du Reverse Engineering, et c'est assez compliqué, je te déconseille de te lancer là dedans.

Lien vers le commentaire
Partager sur d’autres sites

  • 0

D'accord merci,

 

J'ai une dernière question,

mon game 40250, comme j'ai déjà appliquer des diff, je doit le placer dans quel dossier pour pouvoir le compilé/recompilé sans recommencer à zéro a chaque fois ?

 

Parce-que j'ai pris la Machine Virtuelle 9.2 que Calypso a partagé qui à sont propre game non ?

ici : https://fr.metin2.dev/topic/16195-c-compiler-le-game-db-metin2-40250/

 

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Funkiest

Tu ne peux pas juste ajouter comme ça.

A chaque fois que tu devras apporter une modification, tu devras recompiler le game.

La première fois, il te compileras tout, et ensuite il ne recompileras que les fichiers que tu auras modifiés.

 

Tu ne peux pas conserver un game + le remodifier avec les source, c'est impossible.

Lien vers le commentaire
Partager sur d’autres sites

  • 0

D'accord très bien, merci bien.

Encore une question.. Désoler du dérangement..

 

Je suis perdu avec "compilé/recompilé"..

Compilé = ouvre le game ?

Recompilé = ferme le game ?

Ou l'inverse ?

 

J'ai suivis ce tuto : https://fr.metin2.dev/topic/16195-c-compiler-le-game-db-metin2-40250/

Mais je suis complètement perdu..

 

Pouvez-vous m'expliquer comment mettre à jour les fichiers du game dans "cd /usr/src/mainline/Srcs/Server/game/src", plus précisément mettre à jour les modif déjà apporté avant ?

Car j'aimerais modifier certaines choses directement dans la source puis "recompilé" (fermée le game) pour le mettre dans mon serveur..

 

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

  • 0
  • Funkiest

Ouvrir / Fermer n'a rien à voir avec compiler/recompiler.

Compiler un programme, c'est traduire les codes sources (écrites en langages humaines compréhensibles), en langage machine (binaire, 0 et 1, c'est à dire transformer les .cpp et les .h en "game" ici), et le recompiler, c'est la même chose, sauf que tu recompile après avoir compilé, mais les deux sont strictement identiques, c'est juste du vocabulaire, rien ne change en pratique.

 

Tu compiles un fois -> Tous les .h et les cpp sont compilés, "convertis" en langage machine

Tu compiles après -> recompiler -> les fichiers que tu as modifiés sont compilés

 

"/usr/src/mainline/Srcs/Server/game/src"

C'est le chemin dans lequel le code source du game est dans Winscp.

 

 

Quelques explications complémentaires:

Si tu n'as jamais fait de serveur Metin2, saches que le serveur du jeu tourne sous FreeBSD (c'est un système d'exploitation, comme Windows, mais en moins joli :D ). C'est donc sur FreeBSD que l'on va compiler le game et la db (fichiers essentiels du serveur).

Le fichier à télécharger dans le tutoriel de Calypso, c'est un fichier .vdi, c'est à dire une machine virtuelle: en gros, c'est un ordi sur ton ordi ^^

Pour l'installer, tu peux te référer à ceci:

https://fr.metin2.dev/topic/15541-logiciel-utilisation-de-virtual-box/

 

"cd /usr/src/mainline/Srcs/Server/game/src"

Dans FreeBSD, quand tu te connecte à ta session, comme sur Windows, tu commences "à la racine", c'est à dire au tout début du disque dur: " / "

"cd", c'est la commande pour se déplacer dans des dossiers sur FreeBSD: tout se fait en lignes de commandes, il n'y a pas d'interface avec des boutons, et autres.

La commande ci-dessus te permet simplement de dire à FreeBSD ou aller, et nous en l’occurrence, on veut aller dans le dossier ou il y a les sources, et ce dossier est dans:

/usr/src/mainline/Srcs/Server/game/src

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Alors merci beaucoup Kijaru !

J'ai enfin compris, tu m'as éclaircis. Je savais pas comment expliquer ma situation.

Voici ce que je chercher et qui m'as fait comprendre :

 

Compiler un programme, c'est traduire les codes sources (écrites en langages humaines compréhensibles), en langage machine (binaire, 0 et 1, c'est à dire transformer les .cpp et les .h en "game" ici), et le recompiler, c'est la même chose, sauf que tu recompile après avoir compilé, mais les deux sont strictement identiques, c'est juste du vocabulaire, rien ne change en pratique.

 

Tu compiles un fois -> Tous les .h et les cpp sont compilés, "convertis" en langage machine

Tu compiles après -> recompiler -> les fichiers que tu as modifiés sont compilés

 

Merci beaucoup pour tout et désoler pour le dérangement.

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

    7. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.