Documentation Ark : Convention concernant les fichiers

Next Previous Contents

## 2. Convention concernant les fichiers

## 2.1 Séparateur de nom de fichier.

Plusieurs normes existent pour découper un nom de fichier en répertoires, sous répertoires et fichiers. Par exemple, sous Windows, ces différents paramètres sont séparés par des contre-obliques (backslash), comme dans 'C:\Arkhart-data\README-fr.txt'. Sous unix, l'oblique simple (slash) fait office de séparateur : '/home/toto/Arkhart-data/README-fr.txt'.

Afin de garder une cohérence dans les noms de fichiers (le développement se faisant sur linux et windows), une norme a été choisie, et il s'agit de la norme unix. Cela signifie que les différentes parties d'un nom de fichier doivent être séparées par des obliques.

## 2.2 Principe du 'montage'

Ce principe a aussi été emprunté à Unix, et simplifie l'accès aux données du jeu, indépendamment de leur emplacement d'installation. L'idée, c'est de donner un nom-raccourci à un répertoire, et accéder aux données en utilisant ce nom-raccourci et non plus en utilisant le répertoire. Pour être plus clair on va prendre un exemple. Chez Nino, les données sont installées dans : C:/Arkhart. Nino, qui fait une carte avec l'éditeur de carte, Worlded utilise une texture située dans ce répertoire, en donnant le chemin complet du fichier : C:/Arkhart/data/textures/ground-grass.jpg. Ca marche... Fier de son travail, il veut envoyer cette carte à une amie (elle s'appelle Amélie mais ça importe peu pour la suite), des problèmes arrivent. En effet Amélie a installé le jeu dans C:/Jeu/Arkhart, et quand elle démarre le jeu, celui-ci ne peux pas retrouver la texture...

La solution à ce problème ? On crée un point de montage '{game}' qui correspond au répertoire ou est installé le jeu, puis quand on veux accéder à un fichier de donnée du jeu, on utilise ce point de montage : {game}/data/textures/ground-grass.jpg. Et là Nino n'a plus de problème quand il envoie sa carte à Amélie. En effet, chez elle le répertoire correspondant à {game} est C:\Jeu\Arkhart...

De plus, étant assez fainéant, Nino (éh oui, toujours lui) en a marre de taper '{game}/data/...', il a donc l'idée lumineuse de créer plusieurs points de montage qui lui faciliteront le travail (comme quoi il a compris le principe). Les voilà :

- {models} => {game}/data/models
- {textures} => {game}/data/textures
- {shaders} => {game}/data/shaders
- {scripts} => {game}/scripts

## 2.3 Autres conseils

Les noms des fichiers doivent de préférence être en minuscules, pour que ce soit plus facile de s'en souvenir (d'autant que les systèmes comme Unix font une différence entre les majuscules et les minuscules dans les noms des fichiers). Les caractères autorisés sont les lettres de a à z, les chiffres de 0 à 9, le tiret (-), le blanc souligné (_) et le point.

## 2.4 Formats de fichier

Liste des formats de fichier supportés par Arkhart, et notes concernant chacun des formats.

### Textures

Seules les textures 8bits en niveaux de gris, et 24bits avec palette sont supportées. Elles peuvent de plus avoir un canal alpha (canal de transparence). Les formats supportés correspondent aux formats portables les plus courants : JPEG, PNG, et TGA.

### Matériaux

Ce sont des fichiers qui définissent les propriétés visuelles (luminosité, texture, etc) et physiques (température, type de matériel, etc.) d'un objet. Les matériaux sont parfois contenus dans les modèles (3DS, MDL), mais parfois ils ont leur propre fichier. Le seul format de matériel reconnu est un format texte assez simple (fichiers *.mat), dont la syntaxe est décrite dans la section Matériaux.

### Modèles

Pour l'instant, seuls les modèles en format Autodesk (.3DS) et HalfLife (.MDL) sont supportés. Remarque concernant les modèles dans le format 3DS : les noms de matériaux doivent de préférence être explicites. De plus, les matériaux à l'intérieur du fichier peuvent être remplacés par des matériaux externes. Ex: le modèle 'daphyring.3ds' possède un matériel appelé 'front'. Avant d'utiliser le matériel contenu dans le modèle, le moteur cherchera un fichier de définition de matériel appelé 'daphyring/front.mat'.

Next Previous Contents