Aller au contenu


Daggertools - Fais Moi Un Mod Édition 96


  • Veuillez vous connecter pour répondre
5 réponses à ce sujet

#1 Elenwel

Elenwel

    Granny Smith Wiwi


Posté 30 juillet 2019 - 19:13

Suite à une discussion sur le Discord d'Elodry, je me suis remis à l'analyse des fichiers de Daggerfall, et plus précisément des fichiers de donjons. L'idée à la base c'était de faire un format textuel, plus simple à modifier que les fichiers BSA actuels, permettant de répondre à des questions au combien essentielles (y a des donjons avec deux sorties vers la word map dans Daggerfall? combien y a t'il de chandeliers dans S0000001.RDB ? ) sans trop se prendre la tête. Mais aussi, pourquoi pas, de modifier des donjons existants, voir d'en créer de nouveaux !

Et comme le JSON c'est chouette, mais pas très visuel, j'ai fait une petite visionneuse, en python. Qui permet d'obtenir ce genre de petites choses :

Fichier joint  daggertools.PNG   372,24 Ko   10 téléchargement(s)


Bref, je sais pas si ça intéresse des gens de faire des mods pour Daggerfall, mais c'est mon petit projet du moment. Je vais voir pour modifier le code de DaggerfallUnity afin de pouvoir charger mes donjons custom et on pourra, 13 ans après, modder Daggerfall. Que la vie est belle :D

Voir le messageD.A.D., le 29 avril 2013 - 21:21, dit :

Un avertissement d'Elenwel, c'est un avertissement qui en vaut deux : si tu n'en tiens pas compte, c'est toujours pour TA pomme, et en général, il ne fait pas de quartier. Mieux vaut éviter les pépins, ça empêche d'y laisser sa peau.

#2 Gilbertus

Gilbertus

    Kalenbours


Posté 31 juillet 2019 - 15:53

Ce qui était génial dans les donjons Daggerfall était la possibilité de creuser les murs pour faire des passages

Jamais retrouvé cette possibilité dans les suites

Kalendaar un jour, Kalendaar toujours ...


#3 Daichi.

Daichi.

Posté 03 août 2019 - 15:38

Le principe serait donc d'avoir une interface pour modder plus facilement Daggerfall, en particulier les donjons ?
L'apprentissage du JSON sera tout de même nécessaire donc.

Skooma is life, Skooma français, Skouma pour vieux


#4 Elenwel

Elenwel

    Granny Smith Wiwi


Posté 03 août 2019 - 17:36

Pour le moment, l'idée était surtout d'avoir de quoi visualiser les donjons plus simplement qu'en bougeant son derrière à travers la baie d'Illiac :) Le format JSON est juste un format pivot et une représentation textuelle de mes classes python.  C'est mieux que la représentation binaire de Daggerfall, mais c'est pas non plus génial. Par exemple, si on prend le tout premier donjon, il est représenté par le fichier S0000999.RDB dans l'archive BLOCKS.BSA. Ou 7000 lignes de JSON...

En gros, tu y trouveras une liste de l'ensemble des models utilisés :

"modelsRef": [
{"type":"610","id":"28","descr":"L0Z"},
{"type":"710","id":"02","descr":"022"},
{"type":"580","id":"08","descr":"R1X"},
{"type":"612","id":"11","descr":"C01"},
{"type":"612","id":"18","descr":"C0D"},
{"type":"612","id":"20","descr":"C09"},
{"type":"411","id":"09","descr":"XXX"},
{"type":"612","id":"04","descr":"C0J"},
{"type":"701","id":"22","descr":"034"},
...

Puis les différents objets présents dans le donjon :

{
	 "data": {
	 "field2": 0,
	 "field4": 0,
	 "field6": 0,
	 "fieldA": 0,
	 "findex": 210,
	 "type": 13
	 },
	 "position": { "X": 627, "Y": -624, "Z": 250},
	 "type": 3,
	 "id": 33966
},

Ici un objet flat (type 3 : marker ou bilboard), représentant l'image 13 du fichier de texture 210 (un lustre). On a également sa position.

Plus complexe, l'objet suivant:
{
	 "position": {"X": 896, "Y": 0, "Z": 640 },
	 "type": 1,
	 "id": 12767,
	 "data": {
		  "field10": 0,
		  "field12": 0,
		  "action": {
			   "field0": 0,
			   "field1": 0,
			   "field3": 0,
			   "type": 0
		  },
		  "rotation": {"X": 0, "Y": -512, "Z": 0 },
		  "modelID": 2,
		  "fieldE": 0
	 }
}
  • est de type 1, c'est un object 3D
  • son modèle 3D est le 3ème (modelID, les tableaux sont indexés à 0), il s'agit du modèle {"type":"580","id":"08","descr":"R1X"}, un escalier
  • l'objet à une action, ici de type 0, donc ne faisant rien.... Ou en tout cas un truc que je ne comprends pas encore :)
Actuellement, modifier ou créer un donjon, c'est juste modifier les valeurs dans le fichier. J’essaierais peut être de faire une GUI plus tard.

Dans l'interface tu auras ce genre de chose :
  • les modèles avec actions sont en rouges,
  • les portes en vert
  • tu vois un lien entre le tabouret en premier plan et l'étagère au fond : en utilisant le tabouret tu déclenches l'action de l'étagère (ici une rotation)

Fichier(s) joint(s)


Voir le messageD.A.D., le 29 avril 2013 - 21:21, dit :

Un avertissement d'Elenwel, c'est un avertissement qui en vaut deux : si tu n'en tiens pas compte, c'est toujours pour TA pomme, et en général, il ne fait pas de quartier. Mieux vaut éviter les pépins, ça empêche d'y laisser sa peau.

#5 Daichi.

Daichi.

Posté 03 août 2019 - 23:56

C'est vraiment pas mal, même si ça peut parfois être un peu confus. Mais j'imagine bien que c'est sujet à amélioration !
J'avais exploré les mods de DFU, et ça m'avait bien emballé. Espérons que d'autres outils avec interface voient le jour pour faciliter l'affaire :)

Skooma is life, Skooma français, Skouma pour vieux


#6 Elenwel

Elenwel

    Granny Smith Wiwi


Posté 04 août 2019 - 10:21

C'est confus parce que le format de base est confus, le JSON n'est qu'une représentation textuelle du format binaire de base. Les champs non nommés (fieldXX) représentent des valeurs dont je ne comprends pas (ou n'ai pas cherché) l'utilité. Mais bon, les formats binaires confus c'est une spécialité de Bethesda, qu'on retrouve jusqu'au tout dernier jeux.

Voir le messageD.A.D., le 29 avril 2013 - 21:21, dit :

Un avertissement d'Elenwel, c'est un avertissement qui en vaut deux : si tu n'en tiens pas compte, c'est toujours pour TA pomme, et en général, il ne fait pas de quartier. Mieux vaut éviter les pépins, ça empêche d'y laisser sa peau.




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)