This page describes the content of item 558 found in the graphics.dat file from:
This item is not found in any other version of the games (even in other Dungeon Master for Amiga 2.x versions).
The size of this item is always 4720 bytes but there are two variations in the content of this item:
This item is only used in Atari ST versions. All Amiga versions contain the equivalent data in the executable file itself and never read any data from this item.
It contains initialization data for global variables that was not included in the source code as an optimization to reduce the executable file size. This was because of the special way the C compiler worked on Atari ST, and this trick was not used on any other platform.
You may consult the names, values and usage of all these variables in the source code of ReDMCSB (search the source code for variable names containing “Graphic558”, “Graphic559”, “Graphic560”, “Graphic561” and “Graphic562”).
You may extract all values to text files with the data file decoder script at DM, CSB and DMII Data Files and Animations Decoders for PC.
All the notes below are the results of older research by credited people, with parts in French that were never translated to English. They are incomplete and presented “as-is”.
Charlatan75 (most of this page of documentation)
Paul Stevens (CSBwin source code)
rain` (ADGE source code)
When using an Altar of Vi, the Lightning Bolt graphic is drawn as a first step of animation (Cloud of type 100). This data specifies the coordinates and scale factor to use to draw the graphic for each tile where the Altar is visible.
i16 Word7246[12];
X Y Scale
0070 0035 000F D3
0018 0035 000F D3L1
00C2 0035 000F D3R1
0070 003B 0014 D2
000F 003B 0014 D2L1
00D0 003B 0014 D2R1
0070 0046 0020 D1
When using an Altar of Vi, the explosion graphic is drawn as a second step of animation (Cloud of type 101). This data specifies the coordinates and scale factor to use to draw the graphic for each tile where the Altar is visible.
i16 Word7222[30];
X Y Scale
0071 0039 000C D3
0018 0039 000C D3L1
00C3 0039 000C D3R1
006F 003F 0010 D2
000C 003F 0010 D2L1
00D5 003F 0010 D2R1
0070 004C 0018 D1
These coordinates are used for Clouds that are not centered on their tile.
i16 Word7162[60];
X1, Y1: coordinates when facing the cloud
X2, Y2: coordinates when not facing the cloud
X1 Y1 X2 Y2
0064 002F 007A 002F D4
0034 002F 004C 002F D4L1
0094 002F 00AC 002F D4R1
005F 0032 007F 0032 D3
001F 0032 003F 0032 D3L1
009F 0032 00BF 0032 D3R1
005C 0035 0083 0035 D2
FFFD 0035 002E 0035 D2L1
00B1 0035 00E2 0035 D2R1
0053 0039 008D 0039 D1
FFCA 0039 0012 0039 D1L1
00CF 0039 0115 0039 D1R1
0000 0000 0000 0000 D0
FFB7 003C FFDF 003C D0L1
0100 003C 0128 003C D0R1
These coordinates are used for Clouds that are centered on their tile.
i16 Word7042[30];
X Y
006F 002F D4
0039 002F D4L1
00A7 002F D4R1
006F 0032 D3
002D 0032 D3L1
00B3 0032 D3R1
006F 0035 D2
0014 0035 D2L1
00CD 0035 D2R1
006F 0039 D1
FFE2 0039 D1L1
00FD 0039 D1R1
006F 003C D0
FFCB 003C D0L1
0114 003C D0R1
Ici sont définis 3 grands groupes de coordonnées de référence utilisées pour afficher les créatures. Pour chaque créature, un octet indiquera lequel de ces 3 groupes utiliser pour l’afficher au bon endroit (voir octets 0833 à 1156).
Remarque: les valeurs des octets 0595 à 0618 sont également prises en compte dans le calcul des coordonnées auxquelles sera affichée une créature…
Pour les groupes de coordonnées de référence 0 et 2, on utilisera les conventions suivantes :
+------+------+------+
|g1 g2|c1 c2|d1 d2|
| g5 | c5 | d5 | <------ creatures at D3
|g4 g3|c4 c3|d4 d3|
+------+------+------+
|g1 g2|c1 c2|d1 d2|
| g5 | c5 | d5 | <------ creatures at D2
|g4 g3|c4 c3|d4 d3|
+------+------+------+
|g1 g2|c1 c2|d1 d2|
| g5 | c5 | d5 | <------ creatures at D1
|g4 g3|c4 c3|d4 d3|
+------+------+------+
|g1 g2| |d1 d2|
| g5 | P | d5 | <------ creatures at D0
|g4 g3| |d4 d3| (P = Player Position)
+------+------+------+
g1 à g5 : positions possibles d’une créature dans une case sur la gauche du joueur
c1 à c5 : positions possibles d’une créature dans une case en face du joueur
d1 à d5 : positions possibles d’une créature dans une case sur la droite du joueur
Sachant que:
Pour le groupe de coordonnées de référence 1, on utilisera les conventions suivantes:
+---------+---------+---------+
| g8 | c8 | d8 |
| g9 | c9 | d9 | <------ creatures at D3
|g6 g10 g7|c6 c10 c7|d6 d10 d7|
+---------+---------+---------+
| g8 | c8 | d8 |
| g9 | c9 | d9 | <------ creatures at D2
|g6 g10 g7|c6 c10 c7|d6 d10 d7|
+---------+---------+---------+
| g8 | c8 | d8 |
| g9 | c9 | d9 | <------ creatures at D1
|g6 g10 g7|c6 c10 c7|d6 d10 d7|
+---------+---------+---------+
| g8 | | d8 |
| g9 | P | d9 | <------ creatures at D0 (!)
|g6 g10 g7| |d6 d10 d7| (P = Player Position)
+---------+---------+---------+
g6 à g10 : positions possibles d’une créature dans une case sur la gauche du joueur
c6 à c10 : positions possibles d’une créature dans une case en face du joueur
d6 à d10 : positions possibles d’une créature dans une case sur la droite du joueur
Sachant que:
Vue du donjon :
(X center of creature image)
|
0------------------+-------------------223---> X (in pixels)
| | |
| |
| | |
| |
| | |
| +---------+ |
| | f o f | |
| | VmmV | <---------------- image of a creature
| | MM | | (Here it is a mummy raising its arms :))
| | J L | |
| +---------+ - - - - - - - - - (Y bottom side of creature image)
| |
| |
| |
| |
135---------------------------------------
|
Y
(in pixels)
Remarque: pour les positions sur la gauche du joueur et sur la droite du joueur, les abscisses sont ramenées au centre de la vue du donjon (sans doute pour que les valeurs restent dans l’intervalle 0-255). Pour obtenir les coordonnées exactes, il faut en fait oter 100 aux valeurs données pour les abscisses des positions “g”, et ajouter 100 aux valeurs données pour les abscisses des positions “d”.
Ces coordonnées sont utilisées pour afficher : Swamp slime, Giggler, Screamer, Tas de pierres, Fantôme, Momie, Squelette, Petit mage, Troll, Armure animée, Materializer, Elémentaire de l’eau, Oitu, Démon, Lord Chaos, Dragon rouge, Librasulus, Grey Lord.
0265 95 (x5F) D3, c1 X milieu image créature, en pixels
0266 70 (x46) D3, c1 Y bord inférieur image créature, en pixels
0267 127 (x7F) D3, c2 X milieu image créature
0268 70 (x46) D3, c2 Y bord inférieur image créature
0269 129 (x81) D3, c3 X milieu
0270 75 (x4B) D3, c3 Y bord inférieur
0271 93 (x5D) D3, c4 X milieu
0272 75 (x4B) D3, c4 Y bord inférieur
0273 111 (x6F) D3, c5 X milieu
0274 72 (x48) D3, c5 Y bord inférieur
0275 131 (x83) D3, g1 X milieu image créature,-100 pour X réel => 31
0276 70 (x46) D3, g1 Y bord inférieur image créature
0277 163 (xA3) D3, g2 X milieu, -100 => 63
0278 70 (x46) D3, g2 Y bord inférieur
0279 158 (x9E) D3, g3 X milieu, -100 => 58
0280 75 (x4B) D3, g3 Y bord inférieur
0281 120 (x78) D3, g4 X milieu, -100 => 20
0282 75 (x4B) D3, g4 Y bord inférieur
0283 145 (x91) D3, g5 X milieu, -100 => 45
0284 72 (x48) D3, g5 Y bord inférieur
0285 59 (x3B) D3, d1 X milieu image créature, +100 pour X réel => 159
0286 70 (x46) D3, d1 Y bord inférieur image créature
0287 91 (x5B) D3, d2 X milieu, +100 => 191
0288 70 (x46) D3, d2 Y bord inférieur
0289 107 (x6B) D3, d3 X milieu, +100 => 207
0290 75 (x4B) D3, d3 Y bord inférieur
0291 66 (x42) D3, d4 X milieu, +100 => 166
0292 75 (x4B) D3, d4 Y bord inférieur
0293 79 (x4F) D3, d5 X milieu, +100 => 179
0294 72 (x48) D3, d5 Y bord inférieur
0295 92 (x5C) D2, c1 X milieu image créature
0296 81 (x51) D2, c1 Y bord inférieur image créature
0297 131 (x83) D2, c2 X milieu
0298 81 (x51) D2, c2 Y bord inférieur
0299 132 (x84) D2, c3 X milieu
0300 90 (x5A) D2, c3 Y bord inférieur
0301 91 (x5B) D2, c4 X milieu
0302 90 (x5A) D2, c4 Y bord inférieur
0303 111 (x6F) D2, c5 X milieu
0304 85 (x55) D2, c5 Y bord inférieur
0305 99 (x63) D2, g1 X milieu image créature, -100 => -1
0306 81 (x51) D2, g1 Y bord inférieur image créature
0307 146 (x92) D2, g2 X milieu, -100 => 46
0308 81 (x51) D2, g2 Y bord inférieur
0309 135 (x87) D2, g3 X milieu, -100 => 35
0310 90 (x5A) D2, g3 Y bord inférieur
0311 80 (x50) D2, g4 X milieu, -100 => -20
0312 90 (x5A) D2, g4 Y bord inférieur
0313 120 (x78) D2, g5 X milieu, -100 => 20
0314 85 (x55) D2, g5 Y bord inférieur
0315 77 (x4D) D2, d1 X milieu image créature, +100 => 177
0316 81 (x51) D2, d1 Y bord inférieur image créature
0317 124 (x7C) D2, d2 X milieu, +100 => 224
0318 81 (x51) D2, d2 Y bord inférieur
0319 143 (x8F) D2, d3 X milieu, +100 => 243
0320 90 (x5A) D2, d3 Y bord inférieur
0321 89 (x59) D2, d4 X milieu, +100 => 189
0322 90 (x5A) D2, d4 Y bord inférieur
0323 105 (x69) D2, d5 X milieu, +100 => 205
0324 85 (x55) D2, d5 Y bord inférieur
0325 83 (x53) D1, c1 X milieu image créature
0326 103 (x67) D1, c1 Y bord inférieur image créature
0327 141 (x8D) D1, c2 X milieu
0328 103 (x67) D1, c2 Y bord inférieur
0329 148 (x94) D1, c3 X milieu
0330 119 (x77) D1, c3 Y bord inférieur
0331 76 (x4C) D1, c4 X milieu
0332 119 (x77) D1, c4 Y bord inférieur
0333 109 (x6D) D1, c5 X milieu
0334 111 (x6F) D1, c5 Y bord inférieur
0335 46 (x2E) D1, g1 X milieu image créature, -100 => -54
0336 103 (x67) D1, g1 Y bord inférieur image créature
0337 118 (x76) D1, g2 X milieu, -100 => 18
0338 103 (x67) D1, g2 Y bord inférieur
0339 101 (x65) D1, g3 X milieu, -100 => 1
0340 119 (x77) D1, g3 Y bord inférieur
0341 0 (x00) D1, g4 => créature considérée comme invisible
0342 0 (x00) D1, g4
0343 79 (x4F) D1, g5 X milieu, -100 => -21
0344 111 (x6F) D1, g5 Y bord inférieur
0345 107 (x6B) D1, d1 X milieu image créature, +100 => 207
0346 103 (x67) D1, d1 Y bord inférieur image créature
0347 177 (xB1) D1, d2 X milieu, +100 => 277
0348 103 (x67) D1, d2 Y bord inférieur
0349 0 (x00) D1, d3 => créature considérée comme invisible
0350 0 (x00) D1, d3
0351 123 (x7B) D1, d4 X milieu, +100 => 223
0352 119 (x77) D1, d4 Y bord inférieur
0353 144 (x90) D1, d5 X milieu, +100 => 244
0354 111 (x6F) D1, d5 Y bord inférieur
0355 0 (x00) D0, g1 => créature considérée comme invisible
0356 0 (x00) D0, g1
0357 67 (x43) D0, g2 X milieu image créature, -100 => -33
0358 135 (x87) D0, g2 Y bord inférieur image créature
0359 0 (x00) D0, g3 => créature considérée comme invisible
0360 0 (x00) D0, g3
0361 0 (x00) D0, g4 => créature considérée comme invisible
0362 0 (x00) D0, g4
0363 0 (x00) D0, g5 => créature considérée comme invisible
0364 0 (x00) D0, g5
0365 156 (x9C) D0, d1 X milieu image créature, +100 => 256
0366 135 (x87) D0, d1 Y bord inférieur image créature
0367 0 (x00) D0, d2 => créature considérée comme invisible
0368 0 (x00) D0, d2
0369 0 (x00) D0, d3 => créature considérée comme invisible
0370 0 (x00) D0, d3
0371 0 (x00) D0, d4 => créature considérée comme invisible
0372 0 (x00) D0, d4
0373 0 (x00) D0, d5 => créature considérée comme invisible
0374 0 (x00) D0, d5
Ces coordonnées sont utilisées pour afficher : Scorpion, Rat géant, Ruster, Golem de pierre, Flamme noire, Couatl, Ver géant.
0375 94 (x5E) D3, c6 X milieu image créature
0376 75 (x4B) D3, c6 Y bord inférieur image créature
0377 128 (x80) D3, c7 X milieu
0378 75 (x4B) D3, c7 Y bord inférieur
0379 111 (x6F) D3, c8 X milieu
0380 70 (x46) D3, c8 Y bord inférieur
0381 111 (x6F) D3, c9 X milieu
0382 72 (x48) D3, c9 Y bord inférieur
0383 111 (x6F) D3, c10 X milieu
0384 75 (x4B) D3, c10 Y bord inférieur
0385 120 (x78) D3, g6 X milieu image créature, -100 => 20
0386 75 (x4B) D3, g6 Y bord inférieur image créature
0387 158 (x9E) D3, g7 X milieu, -100 => 58
0388 75 (x4B) D3, g7 Y bord inférieur
0389 149 (x95) D3, g8 X milieu, -100 => 49
0390 70 (x46) D3, g8 Y bord inférieur
0391 145 (x91) D3, g9 X milieu, -100 => 45
0392 72 (x48) D3, g9 Y bord inférieur
0393 150 (x96) D3, g10 X milieu, -100 => 50
0394 75 (x4B) D3, g10 Y bord inférieur
0395 66 (x42) D3, d6 X milieu image créature, +100 => 166
0396 75 (x4B) D3, d6 Y bord inférieur image créature
0397 104 (x68) D3, d7 X milieu, +100 => 204
0398 75 (x4B) D3, d7 Y bord inférieur
0399 75 (x4B) D3, d8 X milieu, +100 => 175
0400 70 (x46) D3, d8 Y bord inférieur
0401 79 (x4F) D3, d9 X milieu, +100 => 179
0402 72 (x48) D3, d9 Y bord inférieur
0403 73 (x49) D3, d10 X milieu, +100 => 173
0404 75 (x4B) D3, d10 Y bord inférieur
0405 91 (x5B) D2, c6 X milieu image créature
0406 90 (x5A) D2, c6 Y bord inférieur image créature
0407 132 (x84) D2, c7 X milieu
0408 90 (x5A) D2, c7 Y bord inférieur
0409 111 (x6F) D2, c8 X milieu
0410 83 (x53) D2, c8 Y bord inférieur
0411 111 (x6F) D2, c9 X milieu
0412 85 (x55) D2, c9 Y bord inférieur
0413 111 (x6F) D2, c10 X milieu
0414 90 (x5A) D2, c10 Y bord inférieur
0415 80 (x50) D2, g6 X milieu image créature, -100 => -20
0416 90 (x5A) D2, g6 Y bord inférieur image créature
0417 135 (x87) D2, g7 X milieu, -100 => 35
0418 90 (x5A) D2, g7 Y bord inférieur
0419 125 (x7D) D2, g8 X milieu, -100 => 25
0420 83 (x53) D2, g8 Y bord inférieur
0421 120 (x78) D2, g9 X milieu, -100 => 20
0422 85 (x55) D2, g9 Y bord inférieur
0423 125 (x7D) D2, g10 X milieu, -100 => 25
0424 90 (x5A) D2, g10 Y bord inférieur
0425 89 (x59) D2, d6 X milieu image créature, +100 => 189
0426 90 (x5A) D2, d6 Y bord inférieur image créature
0427 143 (x8F) D2, d7 X milieu, +100 => 243
0428 90 (x5A) D2, d7 Y bord inférieur
0429 99 (x63) D2, d8 X milieu, +100 => 199
0430 83 (x53) D2, d8 Y bord inférieur
0431 105 (x69) D2, d9 X milieu, +100 => 205
0432 85 (x55) D2, d9 Y bord inférieur
0433 98 (x62) D2, d10 X milieu, +100 => 198
0434 90 (x5A) D2, d10 Y bord inférieur
0435 81 (x51) D1, c6 X milieu image créature
0436 119 (x77) D1, c6 Y bord inférieur image créature
0437 142 (x8E) D1, c7 X milieu
0438 119 (x77) D1, c7 Y bord inférieur
0439 111 (x6F) D1, c8 X milieu
0440 105 (x69) D1, c8 Y bord inférieur
0441 111 (x6F) D1, c9 X milieu
0442 111 (x6F) D1, c9 Y bord inférieur
0443 111 (x6F) D1, c10 X milieu
0444 119 (x77) D1, c10 Y bord inférieur
0445 0 (x00) D1, g6 => créature considérée comme invisible
0446 0 (x00) D1, g6
0447 101 (x65) D1, g7 X milieu image créature, -100 => 1
0448 119 (x77) D1, g7 Y bord inférieur image créature
0449 84 (x54) D1, g8 X milieu, -100 => -16
0450 105 (x69) D1, g8 Y bord inférieur
0451 70 (x46) D1, g9 X milieu, -100 => -30
0452 111 (x6F) D1, g9 Y bord inférieur
0453 77 (x4D) D1, g10 X milieu, -100 => -23
0454 119 (x77) D1, g10 Y bord inférieur
0455 123 (x7B) D1, d6 X milieu image créature, +100 => 223
0456 119 (x77) D1, d6 Y bord inférieur image créature
0457 0 (x00) D1, d7 => créature considérée comme invisible
0458 0 (x00) D1, d7
0459 139 (x8B) D1, d8 X milieu, +100 => 239
0460 105 (x69) D1, d8 Y bord inférieur
0461 153 (x99) D1, d9 X milieu, +100 => 253
0462 111 (x6F) D1, d9 Y bord inférieur
0463 146 (x92) D1, d10 X milieu, +100 => 246
0464 119 (x77) D1, d10 Y bord inférieur
0465 0 (x00) D0, g6 => créature considérée comme invisible
0466 0 (x00) D0, g6
0467 83 (x53) D0, g7 X milieu image créature, -100 => -17
0468 130 (x82) D0, g7 Y bord inférieur image créature
0469 57 (x39) D0, g8 X milieu, -100 => -43
0470 121 (x79) D0, g8 Y bord inférieur
0471 47 (x2F) D0, g9 X milieu, -100 => -53
0472 126 (x7E) D0, g9 Y bord inférieur
0473 57 (x39) D0, g10 X milieu, -100 => -43
0474 130 (x82) D0, g10 Y bord inférieur
0475 140 (x8C) D0, d6 X milieu image créature, +100 => 240
0476 130 (x82) D0, d6 Y bord inférieur image créature
0477 0 (x00) D0, d7 => créature considérée comme invisible
0478 0 (x00) D0, d7
0479 166 (xA6) D0, d8 X milieu, +100 => 266
0480 121 (x79) D0, d8 Y bord inférieur
0481 176 (xB0) D0, d9 X milieu, +100 => 276
0482 126 (x7E) D0, d9 Y bord inférieur
0483 166 (xA6) D0, d10 X milieu, +100 => 266
0484 130 (x82) D0, d10 Y bord inférieur
Ces coordonnées sont utilisées pour afficher : Beholder, Guêpe géante.
0485 95 (x5F) D3, c1 X milieu image créature
0486 59 (x3B) D3, c1 Y bord inférieur image créature
0487 127 (x7F) D3, c2 X milieu
0488 59 (x3B) D3, c2 Y bord inférieur
0489 129 (x81) D3, c3 X milieu
0490 61 (x3D) D3, c3 Y bord inférieur
0491 93 (x5D) D3, c4 X milieu
0492 61 (x3D) D3, c4 Y bord inférieur
0493 111 (x6F) D3, c5 X milieu
0494 60 (x3C) D3, c5 Y bord inférieur
0495 131 (x83) D3, g1 X milieu image créature, -100 => 31
0496 59 (x3B) D3, g1 Y bord inférieur image créature
0497 163 (xA3) D3, g2 X milieu, -100 => 63
0498 59 (x3B) D3, g2 Y bord inférieur
0499 158 (x9E) D3, g3 X milieu, -100 => 58
0500 61 (x3D) D3, g3 Y bord inférieur
0501 120 (x78) D3, g4 X milieu, -100 => 20
0502 61 (x3D) D3, g4 Y bord inférieur
0503 145 (x91) D3, g5 X milieu, -100 => 45
0504 60 (x3C) D3, g5 Y bord inférieur
0505 59 (x3B) D3, d1 X milieu image créature, +100 => 159
0506 59 (x3B) D3, d1 Y bord inférieur image créature
0507 91 (x5B) D3, d2 X milieu, +100 => 191
0508 59 (x3B) D3, d2 Y bord inférieur
0509 107 (x6B) D3, d3 X milieu, +100 => 207
0510 61 (x3D) D3, d3 Y bord inférieur
0511 66 (x42) D3, d4 X milieu, +100 => 166
0512 61 (x3D) D3, d4 Y bord inférieur
0513 79 (x4F) D3, d5 X milieu, +100 => 179
0514 60 (x3C) D3, d5 Y bord inférieur
0515 92 (x5C) D2, c1 X milieu image créature
0516 65 (x41) D2, c1 Y bord inférieur image créature
0517 131 (x83) D2, c2 X milieu
0518 65 (x41) D2, c2 Y bord inférieur
0519 132 (x84) D2, c3 X milieu
0520 67 (x43) D2, c3 Y bord inférieur
0521 91 (x5B) D2, c4 X milieu
0522 67 (x43) D2, c4 Y bord inférieur
0523 111 (x6F) D2, c5 X milieu
0524 66 (x42) D2, c5 Y bord inférieur
0525 99 (x63) D2, g1 X milieu image créature, -100 => -1
0526 65 (x41) D2, g1 Y bord inférieur image créature
0527 146 (x92) D2, g2 X milieu, -100 => 46
0528 65 (x41) D2, g2 Y bord inférieur
0529 135 (x87) D2, g3 X milieu, -100 => 35
0530 67 (x43) D2, g3 Y bord inférieur
0531 80 (x50) D2, g4 X milieu, -100 => -20
0532 67 (x43) D2, g4 Y bord inférieur
0533 120 (x78) D2, g5 X milieu, -100 => 20
0534 66 (x42) D2, g5 Y bord inférieur
0535 77 (x4D) D2, d1 X milieu image créature, +100 => 177
0536 65 (x41) D2, d1 Y bord inférieur image créature
0537 124 (x7C) D2, d2 X milieu, +100 => 224
0538 65 (x41) D2, d2 Y bord inférieur
0539 143 (x8F) D2, d3 X milieu, +100 => 243
0540 67 (x43) D2, d3 Y bord inférieur
0541 89 (x59) D2, d4 X milieu, +100 => 189
0542 67 (x43) D2, d4 Y bord inférieur
0543 105 (x69) D2, d5 X milieu, +100 => 205
0544 66 (x42) D2, d5 Y bord inférieur
0545 83 (x53) D1, c1 X milieu image créature
0546 79 (x4F) D1, c1 Y bord inférieur image créature
0547 141 (x8D) D1, c2 X milieu
0548 79 (x4F) D1, c2 Y bord inférieur
0549 148 (x94) D1, c3 X milieu
0550 85 (x55) D1, c3 Y bord inférieur
0551 76 (x4C) D1, c4 X milieu
0552 85 (x55) D1, c4 Y bord inférieur
0553 111 (x6F) D1, c5 X milieu
0554 81 (x51) D1, c5 Y bord inférieur
0555 46 (x2E) D1, g1 X milieu image créature, -100 => -54
0556 79 (x4F) D1, g1 Y bord inférieur image créature
0557 118 (x76) D1, g2 X milieu, -100 => 18
0558 79 (x4F) D1, g2 Y bord inférieur
0559 101 (x65) D1, g3 X milieu, -100 => 1
0560 85 (x55) D1, g3 Y bord inférieur
0561 0 (x00) D1, g4 => créature considérée comme invisible
0562 0 (x00) D1, g4
0563 79 (x4F) D1, g5 X milieu, -100 => -21
0564 81 (x51) D1, g5 Y bord inférieur
0565 107 (x6B) D1, d1 X milieu image créature, +100 => 207
0566 79 (x4F) D1, d1 Y bord inférieur image créature
0567 177 (xB1) D1, d2 X milieu, +100 => 277
0568 79 (x4F) D1, d2 Y bord inférieur
0569 0 (x00) D1, d3 => créature considérée comme invisible
0570 0 (x00) D1, d3
0571 123 (x7B) D1, d4 X milieu, +100 => 223
0572 85 (x55) D1, d4 Y bord inférieur
0573 144 (x90) D1, d5 X milieu, +100 => 244
0574 81 (x51) D1, d5 Y bord inférieur
0575 0 (x00) D0, g1 => créature considérée comme invisible
0576 0 (x00) D0, g1
0577 67 (x43) D0, g2 X milieu image créature, -100 => -33
0578 96 (x60) D0, g2 Y bord inférieur image créature
0579 0 (x00) D0, g3 => créature considérée comme invisible
0580 0 (x00) D0, g3
0581 0 (x00) D0, g4 => créature considérée comme invisible
0582 0 (x00) D0, g4
0583 0 (x00) D0, g5 => créature considérée comme invisible
0584 0 (x00) D0, g5
0585 156 (x9C) D0, d1 X milieu image créature, +100 => 256
0586 96 (x60) D0, d1 Y bord inférieur image créature
0587 0 (x00) D0, d2 => créature considérée comme invisible
0588 0 (x00) D0, d2
0589 0 (x00) D0, d3 => créature considérée comme invisible
0590 0 (x00) D0, d3
0591 0 (x00) D0, d4 => créature considérée comme invisible
0592 0 (x00) D0, d4
0593 0 (x00) D0, d5 => créature considérée comme invisible
0594 0 (x00) D0, d5
Pour donner un peu plus de vie à certaines créatures, celles-ci sont “animées” par un moyen très simple, qui consiste à afficher leur image, plus ou moins fréquemment et de manière aléatoire, avec un léger “décalage” horizontal et/ou vertical par rapport aux coordonnées de référence données par les octets 0265 à 0594. On a ainsi l’impression que certaines créatures sont constamment en mouvement, même lorsqu’elles restent sur place. Les octets 0595 à 0618 donnent tout simplement les valeurs utilisées pour effectuer ces “décalages”.
En fait, quelle que soit la créature considérée, les coordonnées utilisées pour afficher son image sont toujours obtenues par les calculs suivants :
X=X(ref)+dx
Y=Y(ref)+dy
Avec :
** Le choix des valeurs pour dx et dy se fait comme ceci :
- Pour les créatures : Démon, Elémentaire eau, Fantôme, Flamme noire, Lord Chaos, Lord Grey,
Lord Order, Momie, Petit mage, Ruster, Screamer, Tas de pierres, et Ver géant :
dx : - est égal à la valeur de l'octet 0595 à D1 (=> 0)
- est égal à la valeur de l'octet 0603 à D2 (=> 0)
- est égal à la valeur de l'octet 0611 à D3 (=> 0)
dy : - est égal à la valeur de l'octet 0595 à D1, D2, et D3 (=> 0)
Ces créatures sont en fait toujours affichées aux coordonnées de référence, puisque les valeurs
choisies pour les "décalages" sont toutes nulles!
- Pour le Dragon :
dx : - est égal à la valeur de l'octet 0595 à D1 (=> 0)
- est égal à la valeur de l'octet 0603 à D2 (=> 0)
- est égal à la valeur de l'octet 0611 à D3 (=> 0)
dy : - est choisi aléatoirement parmi les octets 0595, 0596 et 0602, à D1, D2, et D3
(=> 0, 1, ou -1)
Le Dragon n'est donc "animé" que verticalement.
- Pour les créatures : Giggler, Scorpion, et Squelette :
dx : - est choisi aléatoirement parmi les octets 0595, 0596, 0602, à D1 (=> 0, 1, ou -1)
- est choisi aléatoirement parmi les octets 0603, 0604, 0610, à D2 (=> 0, 1, ou -1)
- est choisi aléatoirement parmi les octets 0611, 0612, 0618, à D3 (=> 0, 1, ou -1)
dy : - est égal à la valeur de l'octet 0595 à D1, D2, et D3 (=> 0)
Ces créatures ne sont donc "animées" qu'horizontalement.
- Pour les créatures : Armure animée, Oitu, Rat, Troll, et Swamp Slime :
dx : - est choisi aléatoirement parmi les octets 0595, 0596, 0602, à D1 (=> 0, 1, ou -1)
- est choisi aléatoirement parmi les octets 0603, 0604, 0610, à D2 (=> 0, 1, ou -1)
- est choisi aléatoirement parmi les octets 0611, 0612, 0618, à D3 (=> 0, 1, ou -1)
dy : - est choisi aléatoirement parmi les octets 0595, 0596 et 0602, à D1, D2, et D3
(=> 0, 1, ou -1)
Ces créatures sont donc "animées" horizontalement et verticalement.
- Pour le Materializer :
dx : - est choisi aléatoirement parmi les octets 0595, 0596, 0602, à D1 (=> 0, 1, ou -1)
- est choisi aléatoirement parmi les octets 0603, 0604, 0610, à D2 (=> 0, 1, ou -1)
- est choisi aléatoirement parmi les octets 0611, 0612, 0618, à D3 (=> 0, 1, ou -1)
dy : - est choisi aléatoirement parmi les octets 0595, 0596, 0597, 0601, 0602, à D1,
D2, et D3 (=> 0, 1, 2, -2, ou -1)
Le Materializer est donc "animé" horizontalement et verticalement.
- Pour le Golem de pierre :
dx : - est choisi aléatoirement parmi les octets 0595, 0596, 0597, 0601, 0602, à D1
(=> 0, 1, 2, -2, ou -1)
- est choisi aléatoirement parmi les octets 0603, 0604, 0605, 0609, 0610, à D2
(=> 0, 1, ou -1)
- est choisi aléatoirement parmi les octets 0611, 0612, 0613, 0617, 0618, à D3
(=> 0, 1, ou -1)
dy : - est égal à la valeur de l'octet 0595 à D1, D2, et D3 (=> 0)
Le Golem de Pierre n'est donc "animé" qu'horizontalement.
- Pour le Beholder et le Couatl :
dx : - est choisi aléatoirement parmi les octets 0595, 0596, 0597, 0601, 0602, à D1
(=> 0, 1, 2, -2, ou -1)
- est choisi aléatoirement parmi les octets 0603, 0604, 0605, 0609, 0610, à D2
(=> 0, 1, ou -1)
- est choisi aléatoirement parmi les octets 0611, 0612, 0613, 0617, 0618, à D3
(=> 0, 1, ou -1)
dy : - est choisi aléatoirement parmi les octets 0595, 0596 et 0602, à D1, D2, et D3
(=> 0, 1, ou -1)
Ces deux créatures sont donc "animées" horizontalement et verticalement.
- Et enfin pour la Guêpe :
dx : - est choisi aléatoirement parmi les octets 0595, 0596, 0597, 0601, 0602, à D1
(=> 0, 1, 2, -2, ou -1)
- est choisi aléatoirement parmi les octets 0603, 0604, 0605, 0609, 0610, à D2
(=> 0, 1, ou -1)
- est choisi aléatoirement parmi les octets 0611, 0612, 0613, 0617, 0618, à D3
(=> 0, 1, ou -1)
dy : - est choisi aléatoirement parmi les octets 0595, 0596, 0597, 0601, 0602, à D1,
D2, et D3 (=> 0, 1, 2, -2, ou -1)
La Guêpe est donc "animée" horizontalement et verticalement.
REMARQUE: les valeurs des octets 0595 à 0618 sont également utilisées pour le calcul des coordonnées d’affichage des objets posés sur le sol ou dans une niche!! (voir fichier sur les octets 1457 à 1488 pour les détails).
0595 0 (x00) 0
0596 1 (x01) 1
0597 2 (x02) 2
0598 3 (x03) 3 (cette valeur ne semble pas être utilisée pour créatures)
0599 0 (x00) 0 (cette valeur ne semble pas être utilisée pour créatures)
0600 253 (xFD) -3 (cette valeur ne semble pas être utilisée pour créatures)
0601 254 (xFE) -2
0602 255 (xFF) -1
0603 0 (x00) 0
0604 1 (x01) 1
0605 1 (x01) 1
0606 2 (x02) 2 (cette valeur ne semble pas être utilisée pour créatures)
0607 0 (x00) 0 (cette valeur ne semble pas être utilisée pour créatures)
0608 254 (xFE) -2 (cette valeur ne semble pas être utilisée pour créatures)
0609 255 (xFF) -1
0610 255 (xFF) -1
0611 0 (x00) 0
0612 1 (x01) 1
0613 1 (x01) 1
0614 1 (x01) 1 (cette valeur ne semble pas être utilisée pour créatures)
0615 0 (x00) 0 (cette valeur ne semble pas être utilisée pour créatures)
0616 255 (xFF) -1 (cette valeur ne semble pas être utilisée pour créatures)
0617 255 (xFF) -1
0618 255 (xFF) -1
Cette partie indique les changements de couleurs qu'il faut effectuer pour afficher les créatures à D2
ou à D3, par rapport aux couleurs utilisées à D1. Les octets viennent par groupes de 16 et chaque octet
représente une couleur, dans l'ordre 0, 1, 2... La valeur d'un octet donne simplement l'indice de la
couleur qui doit remplacer la couleur qu'il représente.
** Remarque ** : les couleurs 09 (orange) et 10 (rose) sont des cas particuliers. En effet, certaines
créatures peuvent remplacer ces deux couleurs par des couleurs provenant d'une autre palette (voir
octets 0833 à 1156)!
Pour obtenir les bons indices de couleurs, on divise la valeur des octets par 10.
*** Pour une créature à D2 ***
0619 0 (x00) la couleur 00 (noir) ne change pas
0620 10 (x0A) la couleur 01 (gris 2) ne change pas
0621 20 (x14) la couleur 02 (gris 1) ne change pas
0622 30 (x1E) la couleur 03 (brun foncé) ne change pas
0623 40 (x28) la couleur 04 (cyan) ne change pas
0624 30 (x1E) la couleur 05 (brun) est remplacée par la couleur 03 (brun foncé)
0625 60 (x3C) la couleur 06 (vert foncé) ne change pas
0626 70 (x46) la couleur 07 (vert) ne change pas
0627 50 (x32) la couleur 08 (rouge) est remplacée par la couleur 05 (brun)
0628 0 (x00) la couleur 09 (orange) est un cas particulier...
0629 0 (x00) la couleur 10 (rose) est un cas particulier...
0630 110 (x6E) la couleur 11 (jaune) ne change pas
0631 120 (x78) la couleur 12 (gris foncé) ne change pas
0632 130 (x82) la couleur 13 (gris clair) ne change pas
0633 140 (x8C) la couleur 14 (bleu) ne change pas
0634 150 (x96) la couleur 15 (blanc) ne change pas
*** Pour une créature à D3 ***
0635 0 (x00) la couleur 00 (noir) ne change pas
0636 120 (x78) la couleur 01 (gris 2) est remplacée par la couleur 12 (gris foncé)
0637 10 (x0A) la couleur 02 (gris 1) est remplacée par la couleur 01 (gris 2)
0638 30 (x1E) la couleur 03 (brun foncé) ne change pas
0639 40 (x28) la couleur 04 (cyan) ne change pas
0640 30 (x1E) la couleur 05 (brun) est remplacée par la couleur 03 (brun foncé)
0641 0 (x00) la couleur 06 (vert foncé) est remplacée par la couleur 00 (noir)
0642 60 (x3C) la couleur 07 (vert) est remplacée par la couleur 06 (vert foncé)
0643 30 (x1E) la couleur 08 (rouge) est remplacée par la couleur 03 (brun foncé)
0644 0 (x00) la couleur 09 (orange) est un cas particulier...
0645 0 (x00) la couleur 10 (rose) est un cas particulier...
0646 110 (x6E) la couleur 11 (jaune) ne change pas
0647 0 (x00) la couleur 12 (gris foncé) est remplacée par la couleur 00 (noir)
0648 20 (x14) la couleur 13 (gris clair) est remplacée par la couleur 02 (gris 1)
0649 0 (x00) la couleur 14 (bleu) est remplacée par la couleur 00 (noir)
0650 130 (x82) la couleur 15 (blanc) est remplacée par la couleur 13 (gris clair)
ADGE: Private palettes(13, 7) As Long
Array of 13 structs. Each struct contains 6 words and two bytes.
The 6 words on a line define a color for the 6 possible color
palettes used for the dungeon view (from brightest to darkest).
The two bytes are used to replace bytes in 'Palette changes for creatures' (see
previous section) when the creature is at D2 (first byte) or D3 (second byte).
0650 0540 0430 0320 0210 0100 5A 5A 5Ah = 90
0030 0020 0010 0000 0000 0000 00 00
0430 0320 0210 0100 0000 0000 64 64 64h = 100
0320 0210 0100 0000 0000 0000 5A 00
0005 0004 0003 0002 0001 0000 5A 64
0004 0003 0002 0001 0000 0000 64 00
0404 0303 0202 0101 0000 0000 5A 00
0505 0404 0303 0202 0101 0000 64 5A
0750 0640 0530 0420 0310 0200 64 32 32h = 50
0740 0630 0520 0410 0300 0100 32 1E 1Eh = 30
0400 0300 0200 0100 0000 0000 64 64
0300 0200 0100 0000 0000 0000 78 00 78h = 120
0643 0532 0421 0310 0200 0100 64 32
Example: the first word 0650h defines an RGB color of (6, 5, 0), the first nibble is ignored.
Cette partie décrit les images des différentes créatures du jeu (graphs 0446 à 0532). Chaque créature est
décrite par 12 octets, qui se présentent de la façon suivante :
Octet 01 : ? à 0 pour toutes les créatures...
Octet 02 : index de l'image de face de la créature (à partir du graph 0446).
Octet 03 : ? à 0 pour toutes les créatures...
Octet 04 : ? à 0 pour toutes les créatures...
Octet 05 : largeur de l'image de la créature vue de face divisée par 2 (NB : la largeur de toutes
les images des créatures est un multiple de 16). Si elle existe, l'image de la vue de
dos doit avoir exactement la même largeur que l'image de la vue de face, car c'est la
même valeur qui est utilisée.
Octet 06 : hauteur de l'image de la créature vue de face, en pixels. Si elle existe, l'image de
la vue de dos doit avoir exactement la même hauteur que l'image de la vue de face,
car c'est la même valeur qui est utilisée.
Octet 07 : largeur de l'image de la créature vue de profil divisée par 2 (largeur=multiple de 16).
Octet 08 : hauteur de l'image de la créature vue de profil, en pixels.
Octet 09 : largeur de l'image de la créature en attaque divisée par 2 (largeur=multiple de 16).
Octet 10 : hauteur de l'image de la créature en attaque, en pixels.
Octet 11 : - Les 4 bits de gauche indiquent le groupe de coordonnées de référence qu'il faut
utiliser pour afficher la créature (voir octets 0265 à 0594) :
- groupe 0 => position moyenne (groupes de 1 à 4 créatures)
- groupe 1 => position basse (groupes de 1 ou 2 créatures seulement)
- groupe 2 => position haute (créatures volantes, groupes de 1 à 4 créatures)
- Les 4 bits de droite donnent l'index de la couleur de transparence de l'image de la
créature (valeur comprise entre 0 et 15). Cette couleur doit être la même pour
toutes les vues (face, profil, dos, attaque). Exemple : j'ouvre les images du
scorpion (graphs 0446 à 0449) et je vérifie l'index de la couleur grise utilisée
pour le fond : c'est la couleur 13, donc les 4 bits de droite de l'octet 0843 auront
pour valeur 1101.
Octet 12 : change les couleurs 09 (orange) et 10 (rose) dans la vue du donjon, en utilisant des
couleurs provenant d'une autre palette (on va l'appeler "palette N°2" pour plus de
clarté). Ceci permet de donner à certaines créatures des couleurs particulières
(exemple : couleur violette du ver géant, le bleu des trolls, le rouge du dragon...).
- les 4 bits de gauche donnent l'indice de la couleur, issue de la palette N°2, qui
remplacera la couleur 10 (rose) dans la vue du donjon.
- les 4 bits de droite donnent l'indice de la couleur, issue de la palette N°2, qui
remplacera la couleur 09 (orange) dans la vue du donjon.
Ces changements de couleur fonctionnent d'une façon assez particulière, expliquée en
détail dans le fichier "Couleurs des créatures.txt"
** Remarque ** : si une créature est définie comme n'ayant pas d'image de profil (octets 7 et 8 à 0), il
est automatiquement considéré qu'elle n'a pas de vue de dos non plus. Si une créature est définie comme
disposant d'une image de profil, alors il est automatiquement considéré qu'elle dispose également d'une
vue de dos.
*** Créature 01 (Scorpion géant, graphs 0446 à 0449) ***
0833 0 (x00)
0834 0 (x00) 0446+0=0446 => Graph 0446 = scorpion vu de face
0835 0 (x00)
0836 0 (x00)
0837 56 (x38) largeur image face/2 (largeur image face=multiple de 16)
0838 84 (x54) hauteur image face en pixels
0839 56 (x38) largeur image profil/2 (largeur image profil=multiple de 16)
0840 84 (x54) hauteur image profil en pixels
0841 56 (x38) largeur image attaque/2 (largeur image attaque=multiple de 16)
0842 84 (x54) hauteur image attaque en pixels
0843 29 (x1D) 0001 => groupe 1
1101 => couleur de transparence = couleur 13 (gris) dans les images du scorpion
0844 1 (x01) 0000 => ne modifie pas la couleur 10
0001 => couleur 09 remplacée par la couleur 01 (jaune) de la palette N°2
*** Créature 02 (Swamp Slime, graphs 0450 et 0451) ***
0845 0 (x00)
0846 4 (x04) 0446+4=0450 => Graph 0450 = swamp slime vu de face
0847 0 (x00)
0848 0 (x00)
0849 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0850 66 (x42) hauteur image face en pixels
0851 0 (x00) => pas d'image de profil (=> pas d'image de dos non plus)
0852 0 (x00)
0853 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0854 69 (x45) hauteur image attaque en pixels
0855 11 (x0B) 0000 => groupe 0
1011 => couleur transparence = couleur 11 (jaune) dans les images du swamp slime
0856 32 (x20) 0010 => couleur 10 remplacée par la couleur 02 (vert foncé) de la palette N°2
0000 => ne modifie pas la couleur 09
*** Créature 03 (Giggler, graphs 0452 à 0454 (+0455, vue d'attaque non définie)) ***
0857 0 (x00)
0858 6 (x06) Graph 0452 = Giggler vu de face
0859 0 (x00)
0860 0 (x00)
0861 24 (x18) largeur image face/2 (largeur image face=multiple de 16)
0862 48 (x30) hauteur image face en pixels
0863 24 (x18) largeur image profil/2 (largeur image profil=multiple de 16)
0864 48 (x30) hauteur image profil en pixels
0865 0 (x00) => pas d'image d'attaque
0866 0 (x00)
0867 11 (x0B) 0000 => groupe 0
1011 => couleur transparence = couleur 11 (jaune)
0868 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 04 (Beholder, graphs 0456 et 0457) ***
0869 0 (x00)
0870 10 (x0A) Graph 0456 = Beholder vu de face
0871 0 (x00)
0872 0 (x00)
0873 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0874 61 (x3D) hauteur image face en pixels
0875 0 (x00) => pas d'image de profil (=> pas d'image de dos non plus)
0876 0 (x00)
0877 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0878 61 (x3D) hauteur image attaque en pixels
0879 36 (x24) 0010 => groupe 2
0100 => couleur transparence = couleur 04 (cyan)
0880 49 (x31) 0011 => couleur 10 remplacée par couleur 03 (brun/jaune) de la palette N°2
0001 => couleur 09 remplacée par couleur 01 (jaune) de la palette N°2
*** Créature 05 (Rat géant, graphs 0458 à 0461) ***
0881 0 (x00)
0882 12 (x0C) Graph 0458 = Rat vu de face
0883 0 (x00)
0884 0 (x00)
0885 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0886 64 (x40) hauteur image face en pixels
0887 56 (x38) largeur image profil/2 (largeur image profil=multiple de 16)
0888 64 (x40) hauteur image profil en pixels
0889 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0890 64 (x40) hauteur image attaque en pixels
0891 20 (x14) 0001 => groupe 1
0100 => couleur transparence = couleur 04 (cyan)
0892 52 (x34) 0011 => couleur 10 remplacée par couleur 03 (brun/jaune) de la palette N°2
1000 => couleur 09 remplacée par couleur 04 (brun) de la palette N°2
*** Créature 06 (Ruster, graphs 0462 à 0464) ***
0893 0 (x00)
0894 16 (x10) Graph 0462 = Ruster vu de face
0895 0 (x00)
0896 0 (x00)
0897 24 (x18) largeur image face/2 (largeur image face=multiple de 16)
0898 49 (x31) hauteur image face en pixels
0899 40 (x28) largeur image profil/2 (largeur image profil=multiple de 16)
0900 49 (x31) hauteur image profil en pixels
0901 0 (x00) => pas d'image d'attaque
0902 0 (x00)
0903 24 (x18) 0001 => groupe 1
1000 => couleur transparence = couleur 08 (rouge)
0904 52 (x34) 0011 => couleur 10 remplacée par couleur 03 (brun/jaune) de la palette N°2
1000 => couleur 09 remplacée par couleur 04 (brun) de la palette N°2
*** Créature 07 (Screamer, graphs 0465 et 0466) ***
0905 0 (x00)
0906 19 (x13) Graph 0465 = Screamer vu de face
0907 0 (x00)
0908 0 (x00)
0909 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0910 60 (x3C) hauteur image face en pixels
0911 0 (x00) => pas d'image de profil (=> pas d'image de dos non plus)
0912 0 (x00)
0913 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0914 60 (x3C) hauteur image attaque en pixels
0915 13 (x0D) 0000 => groupe 0
1101 => couleur transparence = couleur 13 (gris)
0916 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 08 (Tas de pierres, graphs 0467 et 0468) ***
0917 0 (x00)
0918 21 (x15) Graph 0467 = Tas de pierres vu de face
0919 0 (x00)
0920 0 (x00)
0921 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0922 43 (x2B) hauteur image face en pixels
0923 0 (x00) => pas d'image de profil (=> pas d'image de dos non plus)
0924 0 (x00)
0925 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0926 64 (x40) hauteur image attaque en pixels
0927 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
0928 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 09 (Fantôme, graphs 0469 et 0470) ***
0929 0 (x00)
0930 23 (x17) Graph 0469 = Fantôme vu de face
0931 0 (x00)
0932 0 (x00)
0933 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0934 83 (x53) hauteur image face en pixels
0935 0 (x00) => pas d'image de profil (=> pas d'image de dos non plus)
0936 0 (x00)
0937 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0938 93 (x5D) hauteur image attaque en pixels
0939 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
0940 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 10 (Golem de pierre, graphs 0471 à 0474) ***
0941 0 (x00)
0942 25 (x19) Graph 0471 = Golem de pierre vu de face
0943 0 (x00)
0944 0 (x00)
0945 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0946 101 (x65) hauteur image face en pixels
0947 32 (x20) largeur image profil/2 (largeur image profil=multiple de 16)
0948 101 (x65) hauteur image profil en pixels
0949 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0950 101 (x65) hauteur image attaque en pixels
0951 20 (x14) 0001 => groupe 1
0100 => couleur transparence = couleur 04 (cyan)
0952 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 11 (Momie, graphs 0475 à 0478) ***
0953 0 (x00)
0954 29 (x1D) Graph 0475 = Momie vue de face
0955 0 (x00)
0956 0 (x00)
0957 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0958 82 (x52) hauteur image face en pixels
0959 32 (x20) largeur image profil/2 (largeur image profil=multiple de 16)
0960 82 (x52) hauteur image profil en pixels
0961 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0962 83 (x53) hauteur image attaque en pixels
0963 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
0964 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 12 (Flamme noire, graphs 0479 et 0480) ***
0965 0 (x00)
0966 33 (x21) Graph 0479 = Flamme noire vue de face
0967 0 (x00)
0968 0 (x00)
0969 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0970 80 (x50) hauteur image face en pixels
0971 0 (x00) => pas d'image de profil (=> pas d'image de dos non plus)
0972 0 (x00)
0973 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0974 99 (x63) hauteur image attaque en pixels
0975 20 (x14) 0001 => groupe 1
0100 => couleur transparence = couleur 04 (cyan)
0976 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 13 (Squelette, graph 0481 à 0484) ***
0977 0 (x00)
0978 35 (x23) Graph 0481 = Squelette vu de face
0979 0 (x00)
0980 0 (x00)
0981 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0982 80 (x50) hauteur image face en pixels
0983 32 (x20) largeur image profil/2 (largeur image profil=multiple de 16)
0984 80 (x50) hauteur image profil en pixels
0985 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0986 76 (x4C) hauteur image attaque en pixels
0987 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
0988 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 14 (Couatl, graph 0485 à 0488) ***
0989 0 (x00)
0990 39 (x27) Graph 0485 = Couatl vu de face
0991 0 (x00)
0992 0 (x00)
0993 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
0994 96 (x60) hauteur image face en pixels
0995 56 (x38) largeur image profil/2 (largeur image profil=multiple de 16)
0996 93 (x5D) hauteur image profil en pixels
0997 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
0998 90 (x5A) hauteur image attaque en pixels
0999 29 (x1D) 0001 => groupe 1
1101 => couleur transparence = couleur 13 (gris)
1000 32 (x20) 0010 => couleur 10 remplacée par la couleur 02 (vert foncé) de la palette N°2
0000 => ne modifie pas la couleur 09
*** Créature 15 (Petit mage, graphs 0489 à 0492) ***
1001 0 (x00)
1002 43 (x2B) Graph 0489 = Petit mage vu de face
1003 0 (x00)
1004 0 (x00)
1005 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
1006 49 (x31) hauteur image face en pixels
1007 16 (x10) largeur image profil/2 (largeur image profil=multiple de 16)
1008 49 (x31) hauteur image profil en pixels
1009 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
1010 56 (x38) hauteur image attaque en pixels
1011 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
1012 48 (x30) 0011 => couleur 10 remplacée par couleur 03 (brun/jaune) de la palette N°2
0000 => ne modifie pas la couleur 09
*** Créature 16 (Ver géant, graphs 0493 à 0496) ***
1013 0 (x00)
1014 47 (x2F) Graph 0493 = Ver géant vu de face
1015 0 (x00)
1016 0 (x00)
1017 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
1018 59 (x3B) hauteur image face en pixels
1019 56 (x38) largeur image profil/2 (largeur image profil=multiple de 16)
1020 43 (x2B) hauteur image profil en pixels
1021 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
1022 67 (x43) hauteur image attaque en pixels
1023 20 (x14) 0001 => groupe 1
0100 => couleur transparence = couleur 04 (cyan)
1024 120 (x78) 0111 => couleur 10 remplacée par couleur 07 (violet foncé) de la palette N°2
1000 => couleur 09 remplacée par couleur 08 (violet) de la palette N°2
*** Créature 17 (Troll, graphs 0497 à 0500) ***
1025 0 (x00)
1026 51 (x33) Graph 0497 = Troll vu de face
1027 0 (x00)
1028 0 (x00)
1029 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
1030 83 (x53) hauteur image face en pixels
1031 32 (x20) largeur image profil/2 (largeur image profil=multiple de 16)
1032 74 (x4A) hauteur image profil en pixels
1033 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
1034 74 (x4A) hauteur image attaque en pixels
1035 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
1036 101 (x65) 0110 => couleur 10 remplacée par couleur 06 (bleu foncé) de la palette N°2
0101 => couleur 09 remplacée par couleur 05 (bleu) de la palette N°2
*** Créature 18 (Guêpe géante, graphs 0501 à 0504) ***
1037 0 (x00)
1038 55 (x37) Graph 0501 = Guêpe vue de face
1039 0 (x00)
1040 0 (x00)
1041 24 (x18) largeur image face/2 (largeur image face=multiple de 16)
1042 49 (x31) hauteur image face en pixels
1043 24 (x18) largeur image profil/2 (largeur image profil=multiple de 16)
1044 53 (x35) hauteur image profil en pixels
1045 24 (x18) largeur image attaque/2 (largeur image attaque=multiple de 16)
1046 53 (x35) hauteur image attaque en pixels
1047 36 (x24) 0010 => groupe 2
0100 => couleur transparence = couleur 04 (cyan)
1048 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 19 (Armure animée, graphs 0505 à 0508) ***
1049 0 (x00)
1050 59 (x3B) Graph 0505 = Armure animée vue de face
1051 0 (x00)
1052 0 (x00)
1053 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
1054 89 (x59) hauteur image face en pixels
1055 32 (x20) largeur image profil/2 (largeur image profil=multiple de 16)
1056 89 (x59) hauteur image profil en pixels
1057 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
1058 89 (x59) hauteur image attaque en pixels
1059 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
1060 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 20 (Materializer, graphs 0509 à 0512) ***
1061 0 (x00)
1062 63 (x3F) Graph 0509 = Materializer vu de face
1063 0 (x00)
1064 0 (x00)
1065 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
1066 84 (x54) hauteur image face en pixels
1067 32 (x20) largeur image profil/2 (largeur image profil=multiple de 16)
1068 84 (x54) hauteur image profil en pixels
1069 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
1070 84 (x54) hauteur image attaque en pixels
1071 13 (x0D) 0000 => groupe 0
1101 => couleur transparence = couleur 13 (gris)
1072 169 (xA9) 0110 => couleur 10 remplacée par couleur 10 (orange) de la palette N°2
0101 => couleur 09 remplacée par couleur 09 (orange) de la palette N°2
*** Créature 21 (Elémentaire de l'eau, graphs 0513 et 0514) ***
1073 0 (x00)
1074 67 (x43) Graph 0513 = Elémentaire de l'eau vu de face
1075 0 (x00)
1076 0 (x00)
1077 56 (x38) largeur image face/2 (largeur image face=multiple de 16)
1078 27 (x1B) hauteur image face en pixels
1079 0 (x00) => pas d'image de profil (=> pas d'image de dos non plus)
1080 0 (x00)
1081 56 (x38) largeur image attaque/2 (largeur image attaque=multiple de 16)
1082 80 (x50) hauteur image attaque en pixels
1083 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
1084 101 (x65) 0110 => couleur 10 remplacée par couleur 06 (bleu foncé) de la palette N°2
0101 => couleur 09 remplacée par couleur 05 (bleu) de la palette N°2
*** Créature 22 (Oitu, graphs 0515 à 0518) ***
1085 0 (x00)
1086 69 (x45) Graph 0515 = Oitu vu de face
1087 0 (x00)
1088 0 (x00)
1089 56 (x38) largeur image face/2 (largeur image face=multiple de 16)
1090 77 (x4D) hauteur image face en pixels
1091 56 (x38) largeur image profil/2 (largeur image profil=multiple de 16)
1092 81 (x51) hauteur image profil en pixels
1093 56 (x38) largeur image attaque/2 (largeur image attaque=multiple de 16)
1094 77 (x4D) hauteur image attaque en pixels
1095 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
1096 169 (xA9) 0110 => couleur 10 remplacée par couleur 10 (orange) de la palette N°2
0101 => couleur 09 remplacée par couleur 09 (orange) de la palette N°2
*** Créature 23 (Démon, graphs 0519 à 0522) ***
1097 0 (x00)
1098 73 (x49) Graph 0519 = Démon vu de face
1099 0 (x00)
1100 0 (x00)
1101 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
1102 87 (x57) hauteur image face en pixels
1103 32 (x20) largeur image profil/2 (largeur image profil=multiple de 16)
1104 89 (x59) hauteur image profil en pixels
1105 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
1106 89 (x59) hauteur image attaque en pixels
1107 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
1108 203 (xCB) 1100 => couleur 10 remplacée par couleur 12 (rouge foncé) de la palette N°2
1011 => couleur 09 remplacée par couleur 11 (rouge foncé) de la palette N°2
*** Créature 24 (Lord Chaos, graphs 0523 à 0526) ***
1109 0 (x00)
1110 77 (x4D) Graph 0523 = Lord Chaos vu de face
1111 0 (x00)
1112 0 (x00)
1113 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
1114 96 (x60) hauteur image face en pixels
1115 32 (x20) largeur image profil/2 (largeur image profil=multiple de 16)
1116 94 (x5E) hauteur image profil en pixels
1117 32 (x20) largeur image attaque/2 (largeur image attaque=multiple de 16)
1118 96 (x60) hauteur image attaque en pixels
1119 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
1120 0 (x00) Ne modifie pas les couleurs 09 & 10 dans la vue du donjon
*** Créature 25 (Dragon rouge, graphs 0527 à 0530) ***
1121 0 (x00)
1122 81 (x51) Graph 0527 = Dragon rouge vu de face
1123 0 (x00)
1124 0 (x00)
1125 64 (x40) largeur image face/2 (largeur image face=multiple de 16)
1126 94 (x5E) hauteur image face en pixels
1127 72 (x48) largeur image profil/2 (largeur image profil=multiple de 16)
1128 94 (x5E) hauteur image profil en pixels
1129 64 (x40) largeur image attaque/2 (largeur image attaque=multiple de 16)
1130 94 (x5E) hauteur image attaque en pixels
1131 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
1132 203 (xCB) 1100 => couleur 10 remplacée par couleur 12 (rouge foncé) de la palette N°2
1011 => couleur 09 remplacée par couleur 11 (rouge foncé) de la palette N°2
*** Créature 26 (Librasulus, graph 0531) ***
1133 0 (x00)
1134 85 (x55) Graph 0531 = Lord Librasulus vu de face
1135 0 (x00)
1136 0 (x00)
1137 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
1138 93 (x5D) hauteur image face en pixels
1139 0 (x00) => pas d'image de profil (=> pas d'image de dos non plus)
1140 0 (x00)
1141 0 (x00) => pas d'image d'attaque
1142 0 (x00)
1143 4 (x04) 0000 => groupe 0
0100 => couleur transparence = couleur 04 (cyan)
1144 203 (xCB) 1100 => couleur 10 remplacée par couleur 12 (rouge foncé) de la palette N°2
1011 => couleur 09 remplacée par couleur 11 (rouge foncé) de la palette N°2
*** Créature 27 (Grey Lord, graph 0532) ***
1145 0 (x00)
1146 86 (x56) 0446+86=0532 => Graph 0532 = Grey Lord vu de face
1147 0 (x00)
1148 0 (x00)
1149 32 (x20) largeur image face/2 (largeur image face=multiple de 16)
1150 93 (x5D) hauteur image face en pixels
1151 0 (x00) => pas d'image de profil (=> pas d'image de dos non plus)
1152 0 (x00)
1153 0 (x00) => pas d'image d'attaque
1154 0 (x00)
1155 4 (x04) 0000 => groupe 0
0100 => couleur de transparence = couleur 04 (cyan)
1156 203 (xCB) 1100 => couleur 10 remplacée par couleur 12 (rouge foncé) de la palette N°2
1011 => couleur 09 remplacée par couleur 11 (rouge foncé) de la palette N°2
Dans la vue du donjon, par défaut, la couleur 09 est orange, et la couleur 10 rose. Lorsque l'on introduit
une créature dans un niveau avec CSBuild (par le menu Edit/Level info), il faut savoir que, dans le jeu,
elle va modifier ces 2 couleurs par le biais de l'octet 12 qui la décrit (voir notes sur les octets 0833 à
1156). Ceci s'opère de la façon suivante :
- Si les 4 bits de gauche de l'octet 12 ont une valeur nulle, alors la couleur 10 n'est pas changée. Une
autre créature introduite par la suite pourra donc mofifier cette couleur pour ce niveau!
- Si les 4 bits de gauche de l'octet 12 ont une valeur non nulle, alors la créature impose une nouvelle
couleur, provenant de la palette N°2, qui remplacera la couleur 10 utilisée dans ce niveau du donjon.
Toute autre créature introduite par la suite dans le niveau utilisera cette nouvelle couleur (ceci est
particulièrement important si l'image de la créature utilise la couleur 10!).
De même :
- Si les 4 bits de droite de l'octet 12 ont une valeur nulle, la couleur 9 demeure inchangée. Une autre
créature introduite dans ce niveau pourra donc mofifier cette couleur.
- Si les 4 bits de droite de l'octet 12 ont une valeur non nulle, alors la créature impose une nouvelle
couleur, provenant de la palette N°2, qui remplacera la couleur 09 utilisée dans ce niveau du donjon.
Toute autre créature introduite par la suite dans le niveau utilisera cette nouvelle couleur (important
si l'image de la créature utilise la couleur 9!).
En pratique, avec CSBuild, la créature qui "impose ses couleurs" pour un niveau donné est la créature la
plus en bas de la liste des "Monsters" dans la fenêtre "Edit Level information". Si cette créature ne
modifie pas les couleurs 9 et 10, alors on vérifie avec la créature juste au-dessus et ainsi de suite.
Exemple :
---------
Pour un niveau donné, je vois dans la fenêtre "Edit Level information" la liste de créatures suivante :
Dragon
Worm
Screamer
Scorpion
Mummy
Je commence donc par la momie, puis je remonte dans la liste :
- l'octet 0964 a pour valeur (x00) => la momie ne modifie pas les couleurs 09 et 10.
- l'octet 0844 a pour valeur (x01) => le scorpion ne touche pas à la couleur 10, mais impose une couleur
jaune, qui remplacera la couleur 09.
- l'octet 0916 a pour valeur (x00) => le screamer ne modifie pas les couleurs.
- l'octet 1024 a pour valeur (x78) => le ver aimerait bien changer les 2 couleurs! Mais le scorpion a
déjà imposé une nouvelle couleur 09. Le ver "subira" donc cette
couleur, mais imposera une teinte violette pour la couleur 10.
- l'octet 1132 a pour valeur (xCB) => le dragon aimerait bien changer également les 2 couleurs! Mais les
2 sont déjà modifiées... trop tard, fallait arriver plus tôt, le
dragon sera jaune et violet dans ce niveau!
Compliquons un peu les choses! (youpi! ^^)
------------------------------------------
Pour les images des créatures, les couleurs utilisées à D2 et D3 sont bien sûr "modifiées" par rapport à
D1, de sorte que les créatures se "fondent" dans l'obscurité au loin. Pour les couleurs 09 et 10, cela
peut se traduire par des changements assez... surprenants! En effet, pour les créatures, il y a quelques
petites choses à savoir :
- les "changements" opérés à D2 et à D3 pour une couleur issue de la palette N°2 peuvent être très
différents selon qu'elle remplace la couleur 09 ou la 10 dans la vue du donjon! Donc, si je dessine une
nouvelle créature et que je souhaite qu'elle exploite la couleur "X" de la palette N°2, par exemple, je
dois absolument me poser la question suivante : - "Dois-je utiliser la couleur 09 ou la couleur 10 dans
mon dessin pour représenter la couleur X?".
- à D2 ou à D3, il se peut très bien que la couleur remplaçant la couleur 09 soit remplacée par la couleur
10, et vice-versa!! Donc, si je veux dessiner une nouvelle créature exploitant les couleurs "X" et "Y"
de la palette N°2, je dois d'abord me poser la question suivante : - "Les couleurs X et Y donnent-elles
un résultat intéressant si on les utilise ensemble?" (par exemple: il n'est pas forcément génial d'avoir
un monstre qui a la tête jaune et le corps bleu à D1, qui devient tout bleu à D2, et dont la tête est
bleue et le corps jaune à D3! :)))
Pour clarifier tout ça, on va ouvrir l'image de la "Table des couleurs"! (de prime abord, cette table peut
paraître impressionnante, mais en fait son utilisation est toute simple, et on peut la dessiner assez
rapidement une fois que l'on a compris comment ça marche :))).
Cette "Table des couleurs" permet de savoir exactement à quoi ressembleront les couleurs 09 et 10 dans la
vue du donjon, pour une créature à D1, D2, et D3, en fonction de la valeur de l'octet 12 de la créature
qui nous intéresse!
Les indices de 0 à F, sur la gauche, représentent les différentes valeurs des 4 bits de gauche de l'octet
12, c'est à dire l'index de la couleur de la palette N°2 qui remplacera la couleur 10 dans la vue du
donjon.
Les indices de 0 à F, en haut, représentent les différentes valeurs des 4 bits de droite de l'octet 12,
c'est à dire l'index de la couleur de la palette N°2 qui remplacera la couleur 9 dans la vue du donjon.
Chaque case de la table est un petit tableau de 6 cases donnant les couleurs 9 et 10 dans la vue du donjon
en fonction de la distance :
Couleur 10 dans Couleur 09 dans
la vue du donjon la vue du donjon
\ /
+--------+--------+
| à D1 | à D1 |
+--------+--------+
| à D2 | à D2 |
+--------+--------+
| à D3 | à D3 |
+--------+--------+
**** Si l'octet 12 d'une créature a la valeur (x00), on voit que les 6 cases du petit tableau sont toutes
cochées. J'ai utilisé cette représentation pour indiquer que la créature laisse les couleurs 09 et 10
inchangées dans la vue du donjon.
**** Si les 4 bits de gauche de l'octet 12 sont à 0 et que les 4 bits de droite donnent une valeur non
nulle, on s'en réfère à la ligne 0 de la table. Sur cette ligne, les petits tableaux se présentent sous la
forme suivante :
Couleur 10 non modifiée Couleur 09 dans
par la créature la vue du donjon
\ /
+--------+--------+
| / | à D1 |
+--------+--------+
| / | à D2 |
+--------+--------+
| / | à D3 |
+--------+--------+
Si la case représentant la couleur 09 à D2 ou à D3 (ou les deux) est cochée, cela signifie qu'à cette
distance, la couleur utilisée sera la couleur 10 à D1 (c'est à dire la couleur de la case du haut de la
colonne de gauche du petit tableau)! Pour bien comprendre ceci, observer les petits tableaux de la colonne
3, par exemple.
**** Si les 4 bits de gauche de l'octet 12 donnent une valeur non nulle et que les 4 bits de droite sont à
0, on s'en réfère à la colonne 0 de la table. Sur cette colonne, les petits tableaux se présentent sous la
forme suivante :
Couleur 10 dans Couleur 09 non modifiée
la vue du donjon par la créature
\ /
+--------+--------+
| à D1 | / |
+--------+--------+
| à D2 | / |
+--------+--------+
| à D3 | / |
+--------+--------+
Si la case représentant la couleur 10 à D2 ou à D3 (ou les deux) est cochée, cela signifie qu'à cette
distance, la couleur utilisée sera la couleur 09 à D1 (c'est à dire la couleur de la case du haut de la
colonne de droite du petit tableau)! Pour bien comprendre ceci, observer les petits tableaux de la ligne
1, par exemple.
**** En comparant les petits tableaux de la ligne 0 avec ceux de la colonne 0, on remarque qu'une même
couleur peut effectivement se comporter différemment à D2 et D3 selon qu'elle remplace la couleur 09 ou la
couleur 10.
Remarque : la couleur 09 de la palette N°2 est exactement la même que la couleur 09 utilisée "par défaut"
dans la palette de la vue du donjon. Et la couleur 13 de la palette N°2 est exactement la même que la
couleur 10 utilisée "par défaut" dans la palette de la vue du donjon.
Exemples d'utilisation pratique de la "Table des couleurs" :
------------------------------------------------------------
1). On souhaite déterminer si le scorpion et le couatl peuvent "cohabiter harmonieusement" dans le même
niveau. On commence donc par regarder l'octet 12 de ces deux créatures. L'octet 0844 nous donne ainsi
(x01) pour le scorpion, et l'octet 1000 nous donne (x20) pour le couatl. Le scorpion ne modifie que la
couleur 09, et le couatl ne modifie que la couleur 10. En fait, cela revient au même que si on avait une
seule créature, avec une valeur de (x21) pour l'octet 12. On consulte le petit tableau qui se trouve sur
la ligne 2 et dans la colonne 1 de la table => aucun problème de couleur à D2 ou D3, on peut placer un
scorpion et un couatl dans le même niveau sans souci.
2). On souhaite modifier les images du dragon rouge, pour que son corps soit vert et sa langue rose
(quelles que soient les créatures introduites par la suite dans le même niveau). Le dragon devra donc
modifier les couleur 09 et 10 pour exploiter le "vert foncé" et le "rose" de la palette N°2.
Est-ce faisable? Les couleurs ne vont-elles pas "s'entremêler" à D2 ou D3? Le suspense est insoutenable...
Consultons la table des couleurs! :)))
- Ligne 2 pour le vert, colonne D pour le rose... ah zut! Le rose devient vert à D2! :(
- Ligne D pour le rose, colonne 2 pour le vert... ça colle! :)
On remplacera donc la valeur de l'octet 1132 par (xD2). Et dans les images du dragon, on utilisera la
couleur 10 pour représenter le rose, et la couleur 09 pour représenter le vert foncé (NB : les images du
dragon modifié se trouvent dans le fichier "Dragon vert.zip", il n'y a plus qu'à tester ^^).
Ici sont définis 3 grands groupes de coordonnées de référence utilisées pour afficher les objets placés sur le
sol ou dans une niche. Pour chaque objet, un octet indiquera lequel de ces 3 grands groupes il faut utiliser
pour l'afficher au bon endroit (voir définition des images des objets, octets 1643 à 2152).
** REMARQUE ** : ces coordonnées de référence ne suffisent pas à savoir au pixel près où sera affiché un objet
donné! En effet, il faut aussi prendre en compte l'effet "d'empilement" des objets (voir octets 1457 à 1488)..
Ces coordonnées de référence sont en fait les coordonnées moyennes autour desquelles les objets seront
affichés si on les entasse!
-------------------
|g1 g2|c1 c2|d1 d2|
| | | | <------ objets à D3 (distance 3)
|g4 g3|c4 c3|d4 d3|
---N-----N-----N--- <------ mur à D3 (N = Niche)
|g1 g2|c1 c2|d1 d2|
| | | | <------ objets à D2 (distance 2)
|g4 g3|c4 c3|d4 d3|
---N-----N-----N--- <------ mur à D2 (N = Niche)
|g1 g2|c1 c2|d1 d2|
| | | | <------ objets à D1 (distance 1)
|g4 g3|c4 c3|d4 d3|
---N-----N-----N--- <------ mur à D1 (N = Niche)
|c1 c2|
| J | <------ objets à D0 (distance 0, J = Position du Joueur (tourné vers le Nord))
|c4 c3|
---N---
g1, g2, g3, g4 positions possibles d'un objet dans une case sur la gauche du joueur
c1, c2, c3, c4 positions possibles d'un objet dans une case en face du joueur
d1, d2, d3, d4 positions possibles d'un objet dans une case sur la droite du joueur
Vue du donjon :
(X milieu image objet)
|
0------------------+-------------------223---> X (en pixels)
| | |
| | |
| | |
| | |
| | |
| OOOOOOOOOOO |
| OOOOOOOOOOO |
| OOOOOOOOOOO <--- image |
| OOOOOOOOOOO d'un objet |
| OOOOOOOOOOO_____________________ (Y bord inférieur image objet)
| |
| |
| |
| |
135---------------------------------------
|
Y
(en pixels)
** Remarque ** : les "X milieu image" et "Y bord inférieur image" qui vont être donnés ici ne sont pas les
coordonnées définitives où sera affichée l'image d'un objet, puisque, comme dit précédemment, il faut aussi
tenir compte de "l'effet d'empilement", mais pour l'instant on fait abstraction de tout ça...
N° Valeur Fonction, commentaires...
Octet (déc/hexa)
Ces coordonnées sont utilisées pour afficher : coffre, outre (pleine/vide), vêtements elfe, bottes noires,
bouclier ovoïde, hache, dague, vêtements cuir, vêtements blancs, bottes marrons, morningstar, flamit, cendres,
ossements, massue pierre, bâton "conduit", heaume, bouclier rond, sandales, chausses (armure), bottes elfes,
corne peur, vêtements bleus, tranche ver, portion screamer, corde, grosse pierre, bottes vitesse, soutif.
----------------------------------------------------- D3 ---------------------------------------------------------
== Objet en c1, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1157 0 (x00) Coordonnée X du milieu de l'image de l'objet dans la vue du donjon
1158 0 (x00) Coord. Y du bord inférieur de l'image de l'objet dans la vue du donjon(=0, donc invisible)
== Objet en c2, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1159 0 (x00) X milieu de l'image de l'objet
1160 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en c3, à D3 ==
1161 125 (x7D) X milieu de l'image de l'objet
1162 72 (x48) Y bord inférieur de l'image de l'objet
== Objet en c4, à D3 ==
1163 95 (x5F) X milieu de l'image de l'objet
1164 72 (x48) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D3 (droit devant) ==
1165 112 (x70) X milieu de l'image de l'objet
1166 64 (x40) Y bord inférieur de l'image de l'objet
== Objet en g1, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1167 0 (x00) X milieu de l'image de l'objet
1168 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en g2, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1169 0 (x00) X milieu de l'image de l'objet
1170 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en g3, à D3 ==
1171 62 (x3E) X milieu de l'image de l'objet
1172 72 (x48) Y bord inférieur de l'image de l'objet
== Objet en g4, à D3 ==
1173 25 (x19) X milieu de l'image de l'objet
1174 72 (x48) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D3 (sur la gauche) ==
1175 24 (x18) X milieu de l'image de l'objet
1176 64 (x40) Y bord inférieur de l'image de l'objet
== Objet en d1, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1177 0 (x00) X milieu de l'image de l'objet
1178 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d2, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1179 0 (x00) X milieu de l'image de l'objet
1180 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d3, à D3 ==
1181 200 (xC8) X milieu de l'image de l'objet
1182 72 (x48) Y bord inférieur de l'image de l'objet
== Objet en d4, à D3 ==
1183 162 (xA2) X milieu de l'image de l'objet
1184 72 (x48) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D3 (sur la droite) ==
1185 194 (xC2) X milieu de l'image de l'objet
1186 64 (x40) Y bord inférieur de l'image de l'objet
----------------------------------------------------- D2 ---------------------------------------------------------
== Objet en c1, à D2 ==
1187 92 (x5C) X milieu de l'image de l'objet
1188 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en c2, à D2 ==
1189 132 (x84) X milieu de l'image de l'objet
1190 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en c3, à D2 ==
1191 136 (x88) X milieu de l'image de l'objet
1192 86 (x56) Y bord inférieur de l'image de l'objet
== Objet en c4, à D2 ==
1193 88 (x58) X milieu de l'image de l'objet
1194 86 (x56) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D2 (droit devant) ==
1195 112 (x70) X milieu de l'image de l'objet
1196 74 (x4A) Y bord inférieur de l'image de l'objet
== Objet en g1, à D2 ==
1197 10 (x0A) X milieu de l'image de l'objet
1198 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en g2, à D2 ==
1199 53 (x35) X milieu de l'image de l'objet
1200 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en g3, à D2 ==
1201 41 (x29) X milieu de l'image de l'objet
1202 86 (x56) Y bord inférieur de l'image de l'objet
== Objet en g4, à D2 (NB : invisible dans le jeu car considéré comme trop à gauche) ==
1203 0 (x00) X milieu de l'image de l'objet
1204 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet dans niche, à D2 (sur la gauche) ==
1205 3 (x03) X milieu de l'image de l'objet
1206 74 (x4A) Y bord inférieur de l'image de l'objet
== Objet en d1, à D2 ==
1207 171 (xAB) X milieu de l'image de l'objet
1208 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en d2, à D2 ==
1209 218 (xDA) X milieu de l'image de l'objet
1210 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en d3, à D2 (NB : invisible dans le jeu car considéré comme trop à droite) ==
1211 0 (x00) X milieu de l'image de l'objet
1212 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d4, à D2 ==
1213 183 (xB7) X milieu de l'image de l'objet
1214 86 (x56) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D2 (sur la droite) ==
1215 219 (xDB) X milieu de l'image de l'objet
1216 74 (x4A) Y bord inférieur de l'image de l'objet
----------------------------------------------------- D1 ---------------------------------------------------------
== Objet en c1, à D1 ==
1217 83 (x53) X milieu de l'image de l'objet
1218 96 (x60) Y bord inférieur de l'image de l'objet
== Objet en c2, à D1 ==
1219 141 (x8D) X milieu de l'image de l'objet
1220 96 (x60) Y bord inférieur de l'image de l'objet
== Objet en c3, à D1 ==
1221 148 (x94) X milieu de l'image de l'objet
1222 111 (x6F) Y bord inférieur de l'image de l'objet
== Objet en c4, à D1 ==
1223 76 (x4C) X milieu de l'image de l'objet
1224 111 (x6F) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D1 (droit devant) ==
1225 112 (x70) X milieu de l'image de l'objet
1226 94 (x5E) Y bord inférieur de l'image de l'objet
== Objet en g1, à D1 (NB : invisible dans le jeu car trop à gauche) ==
1227 0 (x00) X milieu de l'image de l'objet
1228 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en g2, à D1 ==
1229 26 (x1A) X milieu de l'image de l'objet
1230 96 (x60) Y bord inférieur de l'image de l'objet
== Objet en g3, à D1 ==
1231 5 (x05) X milieu de l'image de l'objet
1232 111 (x6F) Y bord inférieur de l'image de l'objet
== Objet en g4, à D1 (NB : invisible dans le jeu car trop à gauche) ==
1233 0 (x00) X milieu de l'image de l'objet
1234 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet dans niche, à D1 (sur la gauche) (NB : invisible dans le jeu car trop à gauche) ==
1235 0 (x00) X milieu de l'image de l'objet
1236 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d1, à D1 ==
1237 197 (xC5) X milieu de l'image de l'objet
1238 96 (x60) Y bord inférieur de l'image de l'objet
== Objet en d2, à D1 (NB : invisible dans le jeu car trop à droite) ==
1239 0 (x00) X milieu de l'image de l'objet
1240 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d3, à D1 (NB : invisible dans le jeu car trop à droite) ==
1241 0 (x00) X milieu de l'image de l'objet
1242 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d4, à D1 ==
1243 220 (xDC) X milieu de l'image de l'objet
1244 111 (x6F) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D1 (sur la droite) (NB : invisible dans le jeu car trop à droite) ==
1245 0 (x00) X milieu de l'image de l'objet
1246 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
----------------------------------------------------- D0 ---------------------------------------------------------
== Objet en c1, à D0 ==
1247 66 (x42) X milieu de l'image de l'objet
1248 131 (x83) Y bord inférieur de l'image de l'objet
== Objet en c2, à D0 ==
1249 158 (x9E) X milieu de l'image de l'objet
1250 131 (x83) Y bord inférieur de l'image de l'objet
== Objet en c3, à D0 (NB : invisible pour le joueur, puisque derrière lui) ==
1251 0 (x00) X milieu de l'image de l'objet
1252 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en c4, à D0 (NB : invisible pour le joueur, puisque derrière lui) ==
1253 0 (x00) X milieu de l'image de l'objet
1254 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet dans niche, à D0 (NB : invisible pour le joueur, puisque derrière lui) ==
1255 0 (x00) X milieu de l'image de l'objet
1256 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
Ces coordonnées sont utilisées pour afficher : parchemin, flacon (plein/vide), Gemme (bleue/verte/orange), pièce
(cuivre, argent, or), cuisse rat, casque, bâton/fronde, épée, amulette (or), flèche, clés (or/argent), masse,
pain, fromage, pomme, maïs, sceptre of Lyfe, baguette, bâton "dragon spit", boussole, torche, anneau, Firestaff
(sans/avec Joyau Puissance), Lame "Vorpal", massue bois, carreau, pierre, fléchette, shuriken, bout de bois,
calista/couronne Nerra, amulette "pierre de lune", amulettes "pendant feral"/"Helion", boîte magique
(bleue/verte), miroir, steak dragon, potion Ven, bombe Ful, patte lapin, corbum/ZoKathRa, collier "Choker",
lock picks, loupe.
----------------------------------------------------- D3 ---------------------------------------------------------
== Objet en c1, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1257 0 (x00) X milieu de l'image de l'objet dans la vue du donjon
1258 0 (x00) Y bord inférieur de l'image de l'objet dans la vue du donjon (=0, donc invisible)
== Objet en c2, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1259 0 (x00) X milieu de l'image de l'objet
1260 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en c3, à D3 ==
1261 125 (x7D) X milieu de l'image de l'objet
1262 72 (x48) Y bord inférieur de l'image de l'objet
== Objet en c4, à D3 ==
1263 95 (x5F) X milieu de l'image de l'objet
1264 72 (x48) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D3 (droit devant) ==
1265 112 (x70) X milieu de l'image de l'objet
1266 63 (x3F) Y bord inférieur de l'image de l'objet
== Objet en g1, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1267 0 (x00) X milieu de l'image de l'objet
1268 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en g2, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1269 0 (x00) X milieu de l'image de l'objet
1270 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en g3, à D3 ==
1271 62 (x3E) X milieu de l'image de l'objet
1272 72 (x48) Y bord inférieur de l'image de l'objet
== Objet en g4, à D3 ==
1273 25 (x19) X milieu de l'image de l'objet
1274 72 (x48) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D3 (sur la gauche) ==
1275 24 (x18) X milieu de l'image de l'objet
1276 63 (x3F) Y bord inférieur de l'image de l'objet
== Objet en d1, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1277 0 (x00) X milieu de l'image de l'objet
1278 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d2, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1279 0 (x00) X milieu de l'image de l'objet
1280 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d3, à D3 ==
1281 200 (xC8) X milieu de l'image de l'objet
1282 72 (x48) Y bord inférieur de l'image de l'objet
== Objet en d4, à D3 ==
1283 162 (xA2) X milieu de l'image de l'objet
1284 72 (x48) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D3 (sur la droite) ==
1285 194 (xC2) X milieu de l'image de l'objet
1286 63 (x3F) Y bord inférieur de l'image de l'objet
----------------------------------------------------- D2 ---------------------------------------------------------
== Objet en c1, à D2 ==
1287 92 (x5C) X milieu de l'image de l'objet
1288 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en c2, à D2 ==
1289 132 (x84) X milieu de l'image de l'objet
1290 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en c3, à D2 ==
1291 136 (x88) X milieu de l'image de l'objet
1292 86 (x56) Y bord inférieur de l'image de l'objet
== Objet en c4, à D2 ==
1293 88 (x58) X milieu de l'image de l'objet
1294 86 (x56) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D2 (droit devant) ==
1295 112 (x70) X milieu de l'image de l'objet
1296 73 (x49) Y bord inférieur de l'image de l'objet
== Objet en g1, à D2 ==
1297 10 (x0A) X milieu de l'image de l'objet
1298 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en g2, à D2 ==
1299 53 (x35) X milieu de l'image de l'objet
1300 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en g3, à D2 ==
1301 41 (x29) X milieu de l'image de l'objet
1302 86 (x56) Y bord inférieur de l'image de l'objet
== Objet en g4, à D2 (NB : invisible dans le jeu car considéré comme trop à gauche) ==
1303 0 (x00) X milieu de l'image de l'objet
1304 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet dans niche, à D2 (sur la gauche) ==
1305 3 (x03) X milieu de l'image de l'objet
1306 73 (x49) Y bord inférieur de l'image de l'objet
== Objet en d1, à D2 ==
1307 171 (xAB) X milieu de l'image de l'objet
1308 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en d2, à D2 ==
1309 218 (xDA) X milieu de l'image de l'objet
1310 78 (x4E) Y bord inférieur de l'image de l'objet
== Objet en d3, à D2 (NB : invisible dans le jeu car considéré comme trop à droite) ==
1311 0 (x00) X milieu de l'image de l'objet
1312 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d4, à D2 ==
1313 183 (xB7) X milieu de l'image de l'objet
1314 86 (x56) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D2 (sur la droite) ==
1315 219 (xDB) X milieu de l'image de l'objet
1316 73 (x49) Y bord inférieur de l'image de l'objet
----------------------------------------------------- D1 ---------------------------------------------------------
== Objet en c1, à D1 ==
1317 83 (x53) X milieu de l'image de l'objet
1318 96 (x60) Y bord inférieur de l'image de l'objet
== Objet en c2, à D1 ==
1319 141 (x8D) X milieu de l'image de l'objet
1320 96 (x60) Y bord inférieur de l'image de l'objet
== Objet en c3, à D1 ==
1321 148 (x94) X milieu de l'image de l'objet
1322 111 (x6F) Y bord inférieur de l'image de l'objet
== Objet en c4, à D1 ==
1323 76 (x4C) X milieu de l'image de l'objet
1324 111 (x6F) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D1 (droit devant) ==
1325 112 (x70) X milieu de l'image de l'objet
1326 89 (x59) Y bord inférieur de l'image de l'objet
== Objet en g1, à D1 (NB : invisible dans le jeu car trop à gauche) ==
1327 0 (x00) X milieu de l'image de l'objet
1328 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en g2, à D1 ==
1329 26 (x1A) X milieu de l'image de l'objet
1330 96 (x60) Y bord inférieur de l'image de l'objet
== Objet en g3, à D1 ==
1331 5 (x05) X milieu de l'image de l'objet
1332 111 (x6F) Y bord inférieur de l'image de l'objet
== Objet en g4, à D1 (NB : invisible dans le jeu car trop à gauche) ==
1333 0 (x00) X milieu de l'image de l'objet
1334 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet dans niche, à D1 (sur la gauche) (NB : invisible dans le jeu car trop à gauche) ==
1335 0 (x00) X milieu de l'image de l'objet
1336 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d1, à D1 ==
1337 197 (xC5) X milieu de l'image de l'objet
1338 96 (x60) Y bord inférieur de l'image de l'objet
== Objet en d2, à D1 (NB : invisible dans le jeu car trop à droite) ==
1339 0 (x00) X milieu de l'image de l'objet
1340 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d3, à D1 (NB : invisible dans le jeu car trop à droite) ==
1341 0 (x00) X milieu de l'image de l'objet
1342 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d4, à D1 ==
1343 220 (xDC) X milieu de l'image de l'objet
1344 111 (x6F) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D1 (sur la droite) (NB : invisible dans le jeu car trop à droite) ==
1345 0 (x00) X milieu de l'image de l'objet
1346 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
----------------------------------------------------- D0 ---------------------------------------------------------
== Objet en c1, à D0 ==
1347 66 (x42) X milieu de l'image de l'objet
1348 131 (x83) Y bord inférieur de l'image de l'objet
== Objet en c2, à D0 ==
1349 158 (x9E) X milieu de l'image de l'objet
1350 131 (x83) Y bord inférieur de l'image de l'objet
== Objet en c3, à D0 (NB : invisible pour le joueur, puisque derrière lui) ==
1351 0 (x00) X milieu de l'image de l'objet
1352 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en c4, à D0 (NB : invisible pour le joueur, puisque derrière lui) ==
1353 0 (x00) X milieu de l'image de l'objet
1354 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet dans niche, à D0 (NB : invisible pour le joueur, puisque derrière lui) ==
1355 0 (x00) X milieu de l'image de l'objet
1356 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
Ces coordonnées sont utilisées pour afficher : arc, élément d'armure (type cotte de mailles), éléments d'armure
(cuirasse & jambières), arabalète.
----------------------------------------------------- D3 ---------------------------------------------------------
== Objet en c1, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1357 0 (x00) X milieu de l'image de l'objet dans la vue du donjon
1358 0 (x00) Y bord inférieur de l'image de l'objet dans la vue du donjon (=0, donc invisible)
== Objet en c2, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1359 0 (x00) X milieu de l'image de l'objet
1360 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en c3, à D3 ==
1361 125 (x7D) X milieu de l'image de l'objet
1362 75 (x4B) Y bord inférieur de l'image de l'objet
== Objet en c4, à D3 ==
1363 95 (x5F) X milieu de l'image de l'objet
1364 75 (x4B) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D3 (droit devant) ==
1365 112 (x70) X milieu de l'image de l'objet
1366 65 (x41) Y bord inférieur de l'image de l'objet
== Objet en g1, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1367 0 (x00) X milieu de l'image de l'objet
1368 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en g2, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1369 0 (x00) X milieu de l'image de l'objet
1370 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en g3, à D3 ==
1371 62 (x3E) X milieu de l'image de l'objet
1372 75 (x4B) Y bord inférieur de l'image de l'objet
== Objet en g4, à D3 ==
1373 25 (x19) X milieu de l'image de l'objet
1374 75 (x4B) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D3 (sur la gauche) ==
1375 24 (x18) X milieu de l'image de l'objet
1376 65 (x41) Y bord inférieur de l'image de l'objet
== Objet en d1, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1377 0 (x00) X milieu de l'image de l'objet
1378 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d2, à D3 (NB : invisible dans le jeu car considéré comme trop éloigné) ==
1379 0 (x00) X milieu de l'image de l'objet
1380 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d3, à D3 ==
1381 200 (xC8) X milieu de l'image de l'objet
1382 75 (x4B) Y bord inférieur de l'image de l'objet
== Objet en d4, à D3 ==
1383 162 (xA2) X milieu de l'image de l'objet
1384 75 (x4B) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D3 (sur la droite) ==
1385 194 (xC2) X milieu de l'image de l'objet
1386 65 (x41) Y bord inférieur de l'image de l'objet
----------------------------------------------------- D2 ---------------------------------------------------------
== Objet en c1, à D2 ==
1387 92 (x5C) X milieu de l'image de l'objet
1388 81 (x51) Y bord inférieur de l'image de l'objet
== Objet en c2, à D2 ==
1389 132 (x84) X milieu de l'image de l'objet
1390 81 (x51) Y bord inférieur de l'image de l'objet
== Objet en c3, à D2 ==
1391 136 (x88) X milieu de l'image de l'objet
1392 88 (x58) Y bord inférieur de l'image de l'objet
== Objet en c4, à D2 ==
1393 88 (x58) X milieu de l'image de l'objet
1394 88 (x58) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D2 (droit devant) ==
1395 112 (x70) X milieu de l'image de l'objet
1396 76 (x4C) Y bord inférieur de l'image de l'objet
== Objet en g1, à D2 ==
1397 10 (x0A) X milieu de l'image de l'objet
1398 81 (x51) Y bord inférieur de l'image de l'objet
== Objet en g2, à D2 ==
1399 53 (x35) X milieu de l'image de l'objet
1400 81 (x51) Y bord inférieur de l'image de l'objet
== Objet en g3, à D2 ==
1401 41 (x29) X milieu de l'image de l'objet
1402 88 (x58) Y bord inférieur de l'image de l'objet
== Objet en g4, à D2 (NB : invisible dans le jeu car considéré comme trop à gauche) ==
1403 0 (x00) X milieu de l'image de l'objet
1404 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet dans niche, à D2 (sur la gauche) ==
1405 3 (x03) X milieu de l'image de l'objet
1406 76 (x4C) Y bord inférieur de l'image de l'objet
== Objet en d1, à D2 ==
1407 171 (xAB) X milieu de l'image de l'objet
1408 81 (x51) Y bord inférieur de l'image de l'objet
== Objet en d2, à D2 ==
1409 218 (xDA) X milieu de l'image de l'objet
1410 81 (x51) Y bord inférieur de l'image de l'objet
== Objet en d3, à D2 (NB : invisible dans le jeu car considéré comme trop à droite) ==
1411 0 (x00) X milieu de l'image de l'objet
1412 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d4, à D2 ==
1413 183 (xB7) X milieu de l'image de l'objet
1414 88 (x58) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D2 (sur la droite) ==
1415 219 (xDB) X milieu de l'image de l'objet
1416 76 (x4C) Y bord inférieur de l'image de l'objet
----------------------------------------------------- D1 ---------------------------------------------------------
== Objet en c1, à D1 ==
1417 83 (x53) X milieu de l'image de l'objet
1418 98 (x62) Y bord inférieur de l'image de l'objet
== Objet en c2, à D1 ==
1419 141 (x8D) X milieu de l'image de l'objet
1420 98 (x62) Y bord inférieur de l'image de l'objet
== Objet en c3, à D1 ==
1421 148 (x94) X milieu de l'image de l'objet
1422 115 (x73) Y bord inférieur de l'image de l'objet
== Objet en c4, à D1 ==
1423 76 (x4C) X milieu de l'image de l'objet
1424 115 (x73) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D1 (droit devant) ==
1425 112 (x70) X milieu de l'image de l'objet
1426 98 (x62) Y bord inférieur de l'image de l'objet
== Objet en g1, à D1 (NB : invisible dans le jeu car trop à gauche) ==
1427 0 (x00) X milieu de l'image de l'objet
1428 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en g2, à D1 ==
1429 26 (x1A) X milieu de l'image de l'objet
1430 98 (x62) Y bord inférieur de l'image de l'objet
== Objet en g3, à D1 ==
1431 5 (x05) X milieu de l'image de l'objet
1432 115 (x73) Y bord inférieur de l'image de l'objet
== Objet en g4, à D1 (NB : invisible dans le jeu car trop à gauche) ==
1433 0 (x00) X milieu de l'image de l'objet
1434 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet dans niche, à D1 (sur la gauche) (NB : invisible dans le jeu car trop à gauche) ==
1435 0 (x00) X milieu de l'image de l'objet
1436 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d1, à D1 ==
1437 197 (xC5) X milieu de l'image de l'objet
1438 98 (x62) Y bord inférieur de l'image de l'objet
== Objet en d2, à D1 (NB : invisible dans le jeu car trop à droite) ==
1439 0 (x00) X milieu de l'image de l'objet
1440 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d3, à D1 (NB : invisible dans le jeu car trop à droite) ==
1441 0 (x00) X milieu de l'image de l'objet
1442 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en d4, à D1 ==
1443 220 (xDC) X milieu de l'image de l'objet
1444 115 (x73) Y bord inférieur de l'image de l'objet
== Objet dans niche, à D1 (sur la droite) (NB : invisible dans le jeu car trop à droite) ==
1445 0 (x00) X milieu de l'image de l'objet
1446 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
----------------------------------------------------- D0 ---------------------------------------------------------
== Objet en c1, à D0 ==
1447 66 (x42) X milieu de l'image de l'objet
1448 135 (x87) Y bord inférieur de l'image de l'objet
== Objet en c2, à D0 ==
1449 158 (x9E) X milieu de l'image de l'objet
1450 135 (x87) Y bord inférieur de l'image de l'objet
== Objet en c3, à D0 (NB : invisible pour le joueur, puisque derrière lui) ==
1451 0 (x00) X milieu de l'image de l'objet
1452 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet en c4, à D0 (NB : invisible pour le joueur, puisque derrière lui) ==
1453 0 (x00) X milieu de l'image de l'objet
1454 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
== Objet dans niche, à D0 (NB : invisible pour le joueur, puisque derrière lui) ==
1455 0 (x00) X milieu de l'image de l'objet
1456 0 (x00) Y bord inférieur de l'image de l'objet (=0, donc invisible)
Cette partie prend en compte l'effet d'empilement des objets, en ajoutant ou retranchant des valeurs
en X et en Y aux coordonnées de référence décrites dans les octets 1157 à 1456. Ainsi, lorsque
plusieurs objets sont empilés sur le sol (ou dans une niche), leurs images sont décalées
horizontalement et verticalement les unes par rapport aux autres...
-----------N---------- Voici la représentation d'une case du jeu. On considère que dans
| | cette case, le joueur peut poser des objets dans les 4 coins (NO,
| NO NE | NE, SE et SO), ou dans les 4 niches (N, E, S, O).
| |
| | Le "décalage" des objets fonctionne de la même façon dans les
| | coins NO et SE, et de la même façon dans les coins NE et SO. De
O E même pour les niches N-S et E-O.
| |
| | Les valeurs données par ces octets indiquent simplement le nombre
| | de pixels à ajouter ou retrancher aux coordonnées de référence
| SO SE | (qu'on appelera ici X(ref), Y(ref)) définies dans les octets
| | 1157 à 1456.
-----------S----------
Ceci s'effectue de la façon suivante :
Valeur Opération
---------------------------------
5 (101) -3 pixels
6 (110) -2 pixels
7 (111) -1 pixel
0 (000) => Coordonnée de référence
1 (001) +1 pixel
2 (010) +2 pixels
3 (011) +3 pixels
Pour les objets posés sur le sol :
==================================
On considère que le premier objet posé sur le sol est l'objet 01, l'objet posé par dessus est l'objet 02,
etc... Les décalages effectués se font "modulo 16", dans le sens où le même décalage sera effectué sur
les objets 01, 17, 33 d'une même pile...
1457 2 (x02) X=X(ref)+2 pixels pour : objet 01, coins NO et SE et objet 09, coins NE et SO
1458 5 (x05) Y=Y(ref)-3 pixels pour : objet 01, coins NO et SE et objet 09, coins NE et SO
1459 0 (x00) X=X(ref) pour : objet 02, coins NO et SE et objet 10, coins NE et SO
1460 6 (x06) Y=Y(ref)-2 pixels pour : objet 02, coins NO et SE et objet 10, coins NE et SO
1461 5 (x05) X=X(ref)-3 pixels pour : objet 03, coins NO et SE et objet 11, coins NE et SO
1462 7 (x07) Y=Y(ref)-1 pixel pour : objet 03, coins NO et SE et objet 11, coins NE et SO
1463 3 (x03) X=X(ref)+3 pixels pour : objet 04, coins NO et SE et objet 12, coins NE et SO
1464 0 (x00) Y=Y(ref) pour : objet 04, coins NO et SE et objet 12, coins NE et SO
1465 7 (x07) X=X(ref)-1 pixels pour : objet 05, coins NO et SE et objet 13, coins NE et SO
1466 1 (x01) Y=Y(ref)+1 pixel pour : objet 05, coins NO et SE et objet 13, coins NE et SO
1467 1 (x01) X=X(ref)+1 pixel pour : objet 06, coins NO et SE et objet 14, coins NE et SO
1468 2 (x02) Y=Y(ref)+2 pixels pour : objet 06, coins NO et SE et objet 14, coins NE et SO
1469 6 (x06) X=X(ref)-2 pixels pour : objet 07, coins NO et SE et objet 15, coins NE et SO
1470 3 (x03) Y=Y(ref)+3 pixels pour : objet 07, coins NO et SE et objet 15, coins NE et SO
1471 3 (x03) X=X(ref)+3 pixels pour : objet 08, coins NO et SE et objet 16, coins NE et SO
1472 3 (x03) Y=Y(ref)+3 pixels pour : objet 08, coins NO et SE et objet 16, coins NE et SO
1473 5 (x05) X=X(ref)-3 pixels pour : objet 09, coins NO et SE et objet 01, coins NE et SO
1474 5 (x05) Y=Y(ref)-3 pixels pour : objet 09, coins NO et SE et objet 01, coins NE et SO
1475 2 (x02) X=X(ref)+2 pixels pour : objet 10, coins NO et SE et objet 02, coins NE et SO
1476 6 (x06) Y=Y(ref)-2 pixels pour : objet 10, coins NO et SE et objet 02, coins NE et SO
1477 7 (x07) X=X(ref)-1 pixel pour : objet 11, coins NO et SE et objet 03, coins NE et SO
1478 7 (x07) Y=Y(ref)-1 pixel pour : objet 11, coins NO et SE et objet 03, coins NE et SO
1479 1 (x01) X=X(ref)+1 pixel pour : objet 12, coins NO et SE et objet 04, coins NE et SO
1480 0 (x00) Y=Y(ref) pour : objet 12, coins NO et SE et objet 04, coins NE et SO
1481 3 (x03) X=X(ref)+3 pixels pour : objet 13, coins NO et SE et objet 05, coins NE et SO
1482 1 (x01) Y=Y(ref)+1 pixel pour : objet 13, coins NO et SE et objet 05, coins NE et SO
1483 6 (x06) X=X(ref)-2 pixels pour : objet 14, coins NO et SE et objet 06, coins NE et SO
1484 2 (x02) Y=Y(ref)+2 pixels pour : objet 14, coins NO et SE et objet 06, coins NE et SO
1485 1 (x01) X=X(ref)+1 pixel pour : objet 15, coins NO et SE et objet 07, coins NE et SO
1486 3 (x03) Y=Y(ref)+3 pixels pour : objet 15, coins NO et SE et objet 07, coins NE et SO
1487 5 (x05) X=X(ref)-3 pixels pour : objet 16, coins NO et SE et objet 08, coins NE et SO
1488 3 (x03) Y=Y(ref)+3 pixels pour : objet 16, coins NO et SE et objet 08, coins NE et SO
Pour les objets placés dans les niches :
========================================
On considère que le premier objet posé dans une niche est l'objet 01, l'objet posé par dessus est l'objet
02, etc... Les décalages effectués se font "modulo 12" cette fois, dans le sens où le même décalage sera
effectué sur les objets 01, 13, 25 d'une même pile... (NB : les mêmes octets que précédemment sont
utilisés, sauf que l'on ne prend pas les 4 premiers ni les 4 derniers)
1461 5 (x05) X=X(ref)-3 pixels pour : objet 01, niches N et S et objet 05, niches E et O
1462 7 (x07) Y=Y(ref)-1 pixel pour : objet 01, niches N et S et objet 05, niches E et O
1463 3 (x03) X=X(ref)+3 pixels pour : objet 02, niches N et S et objet 06, niches E et O
1464 0 (x00) Y=Y(ref) pour : objet 02, niches N et S et objet 06, niches E et O
1465 7 (x07) X=X(ref)-1 pixels pour : objet 03, niches N et S et objet 07, niches E et O
1466 1 (x01) Y=Y(ref)+1 pixel pour : objet 03, niches N et S et objet 07, niches E et O
1467 1 (x01) X=X(ref)+1 pixel pour : objet 04, niches N et S et objet 08, niches E et O
1468 2 (x02) Y=Y(ref)+2 pixels pour : objet 04, niches N et S et objet 08, niches E et O
1469 6 (x06) X=X(ref)-2 pixels pour : objet 05, niches N et S et objet 09, niches E et O
1470 3 (x03) Y=Y(ref)+3 pixels pour : objet 05, niches N et S et objet 09, niches E et O
1471 3 (x03) X=X(ref)+3 pixels pour : objet 06, niches N et S et objet 10, niches E et O
1472 3 (x03) Y=Y(ref)+3 pixels pour : objet 06, niches N et S et objet 10, niches E et O
1473 5 (x05) X=X(ref)-3 pixels pour : objet 07, niches N et S et objet 11, niches E et O
1474 5 (x05) Y=Y(ref)-3 pixels pour : objet 07, niches N et S et objet 11, niches E et O
1475 2 (x02) X=X(ref)+2 pixels pour : objet 08, niches N et S et objet 12, niches E et O
1476 6 (x06) Y=Y(ref)-2 pixels pour : objet 08, niches N et S et objet 12, niches E et O
1477 7 (x07) X=X(ref)-1 pixel pour : objet 09, niches N et S et objet 01, niches E et O
1478 7 (x07) Y=Y(ref)-1 pixel pour : objet 09, niches N et S et objet 01, niches E et O
1479 1 (x01) X=X(ref)+1 pixel pour : objet 10, niches N et S et objet 02, niches E et O
1480 0 (x00) Y=Y(ref) pour : objet 10, niches N et S et objet 02, niches E et O
1481 3 (x03) X=X(ref)+3 pixels pour : objet 11, niches N et S et objet 03, niches E et O
1482 1 (x01) Y=Y(ref)+1 pixel pour : objet 11, niches N et S et objet 03, niches E et O
1483 6 (x06) X=X(ref)-2 pixels pour : objet 12, niches N et S et objet 04, niches E et O
1484 2 (x02) Y=Y(ref)+2 pixels pour : objet 12, niches N et S et objet 04, niches E et O
Un exemple pour clarifier un peu les choses :
---------------------------------------------
Je lance CSBWin et je sors Halk de son miroir. Je reste tourné vers le Nord et je pose sa massue juste
devant moi sur la gauche (la massue est donc en c1, à D0, d'après le petit dessin du fichier précédent).
La massue fait partie du groupe 1 pour les coordonnées de référence, et les octets 1347 et 1348 me donnent
pour ces coordonnées : X(ref)=66, Y(ref)=131. Comme cet objet est placé dans le coin NO d'une case, et que
c'est l'objet 01 d'une "pile" (de 1 objet, certes ^^), j'utilise les valeurs des octets 1457 et 1458,
soit : X=66+2=68 et Y=131-3=128. La massue que je viens de poser est donc affichée aux coordonnées
(68,128) dans la vue du donjon (=> le milieu de l'image de la massue se trouve en X=68 et le bord
inférieur de l'image de la massue se trouve en Y=128).
Une remarque pour compliquer un peu le tout ^^ :
------------------------------------------------
Dans l'exemple que je viens de prendre, l'objet est à D0, il est donc affiché à "l'échelle 1" et je peux
utiliser directement les valeurs des octets 1457 à 1488. Mais pour un objet éloigné, il semble (et ça
paraît plutôt logique) que ces valeurs soient multipliées par un "facteur d'échelle" (peut-être le même
facteur que pour les dimensions des objets, mais comme les valeurs des octets 1457 à 1488 sont petites,
c'est impossible à déterminer de façon précise sur des captures d'écran :))).
En résumé, les coordonnées de l'images d'un objet seraient déterminées par des calculs du type :
X=X(ref)+F*dx
Y=Y(ref)+F*dy
Avec X : abscisse du milieu de l'image de l'objet dans la vue du donjon
Y : ordonnée du bord inférieur de l'image de l'objet dans la vue du donjon
X(ref) et Y(ref) : coordonnées de référence données par les octets 1157 à 1456
F : facteur d'échelle (F=1 quand l'objet est affiché à l'échelle "1")
dx et dy : petites variations en X et Y, données par les octets 1457 à 1488
Remarque : les équations exactes sont sûrement quelque part dans le code source de CSBWin... :))
A propos de la taille des images des objets en fonction de la distance :
------------------------------------------------------------------------
| |
|g4 g3|c4 c3|d4 d3| >\
-----N-----N-----N----- >-- Objets affichés avec les mêmes dimensions
|g1 g2|c1 c2|d1 d2| >/ (dimensions = dimensions de l'image x 1/2)
\ | | | | /
\ g3|c4 c3|d4 / >\
\--N-----N-----N--/ >-- Objets affichés avec les mêmes dimensions
\ g2|c1 c2|d1 / >/ (dimensions = dimensions de l'image x 5/8)
\ | | /
\g3|c4 c3|d4/ >\
\----N----/ >-- Objets affichés avec les mêmes dimensions
\|c1 c2|/ >/ (dimensions = dimensions de l'image)
\ J /
NB : les dimensions modifiées par les facteurs 5/8 et 1/2 sont arrondies aux entiers inférieurs.
(Pour obtenir ces facteurs de 5/8 et 1/2 j'ai tout simplement barbouillé l'image de l'arbalète en
jaune pour obtenir un beau rectangle assez grand et bien visible, ensuite en mesurant sur des
captures d'écran on obtient les dimmensions suivantes : 80x25, 50x15 et 40x12. La valeur de 5/8
est donc une valeur "à vue de nez", le programme utilise peut être en fait la valeur 0.6315421
à la place :)))
i8 Byte5758[6]; // Explosion sizes? Maybe cloud sizes… not sure.
32 = full size, 16 = half, 8 = 1/4th, etc.
i8 Byte5752[8]; // Another type of scaling, 32 = full size.
Appears to scale projectiles in the air that are NOT spells
[x] = ‘distance’ from player.
Seems logical, you can see 3 rooms, each room has 2 locations.
3x2 = 6… byte5752[6] and [7] = ?
i8 Byte5744[16]; // D2 Floor item graphic palette modifier?
i8 Byte5728[16]; // D3 Floor item graphic palette modifier
i8 Byte5712[16]; // palette for graphics 351-359.
this is the palette for when u get hit by dispel or are in a poison cloud.
I think =] Its either that or this is the special palette for light fireballs. UNlikely.
i8 Byte5696[8]; // 4 groups of width/height combonations.
there seems to be 14 pre-made graphics for each, 4/6/8/10…/32 / 32 scale.
? = fireball?
? = antimaterial?
? = lightning?
? = poison?
Dans cette partie sont décrites toutes les images des "missiles" (sorts, ou armes disposant d'images
spéciales lorsqu'elles sont lancées), c'est à dire les graphs 0316 à 0347. Chaque type de missile est
décrit par un groupe de 6 octets.
Chacun de ces groupes de 6 octets se présente de la façon suivante :
Octet 1 : donne l'index de la première image du missile (à partir du graph 0316)
Octet 2 : cet octet semble servir pour un système d'indexation :
- Pour les missiles de type "arme" qui disposent d'une vue de face, de dos, et de
profil, la valeur de cet octet progresse de 18 en 18 (voir différence de valeur
entre les octets 1560, 1566, 1572, 1578). On peut donc supposer que le programme
stocke quelque part 6 images de différentes tailles pour la vue de face, 6 pour
la vue de dos et 6 pour la vue de profil... (cette hypothèse est renforcée par
le fait que dans le jeu, si on lance une flèche par exemple, elle passe par 6
tailles différentes. On peut également la voir de face ou de profil à 6 tailles
différentes!)
- Pour le shuriken, qui ne dispose que d'une vue de face et une de profil, la
différence entre les valeurs des octets 1614 et 1620 est de 12 => ça collerait,
6 images pour la vue de face + 6 pour la vue de profil...
- Pour les sortilèges par contre... les octets 1578 et 1584 ont la même valeur, de
même que les octets 1620, 1626, 1632, 1638 => cela laisserait donc supposer que
le programme ne stocke pas d'images de différentes tailles pour ces missiles...
mais ceci pourrait s'expliquer par le fait que la taille d'un missile de type
"magique" dépend aussi de la puissance du sort!
Octet 3 : largeur de l'image du missile divisée par 2 (toutes les images des missiles ont
une largeur égale à un multiple de 16).
Remarque : si le missile dispose de plusieurs images (face, dos, profil), elles
doivent toutes avoir les mêmes dimensions.
Octet 4 : hauteur de l'image du missile, en pixels.
Octet 5 : à 0 si c'est un missile de type "arme", et à "1" si c'est un missile "magique". Cet
octet indique en fait si la taille de l'image doit varier en fonction d'un "facteur de
puissance"! Exemple amusant : changer la valeur 00 de l'octet 1563 en 01. Créer un
nouveau fichier Graphics.dat et l'utiliser avec CSBWin. Lancer une flèche à la main :
la flèche est minuscule :))). Lancer ensuite la flèche avec un arc, puis une arbalète,
puis avec l'arbalète "speedbow"...
Octet 6 : seuls 3 bits sont utilisés. En considérant que le bit le plus à gauche est le bit 1 :
- bit 1 : inutilisé
- bit 2 : inutilisé
- bit 3 : inutilisé
- bit 4 : s'il est à 1, cela indique qu'il existe un graph pour le profil du missile.
S'il existe également une vue de dos (voir bit 7), alors on prend l'image
qui suit celle de la vue de dos pour la vue de profil, sinon, on prend
l'image qui suit celle de la vue de face.
- bit 5 : inutilisé
- bit 6 : inutilisé
- bit 7 : s'il est à 0, cela indique qu'il existe un graph pour la vue de dos du
missile. L'image qui suit l'image de la vue de face sera donc utilisée pour
cette vue de dos.
- bit 8 : s'il est à 0, cela indique que le missile est "animé". Ainsi, pour la hache
par exemple, on aura une alternance vue de face/vue de dos, avec un effet
de "miroir" qui alternera tête de la hache en haut/en bas, donnant
l'impression qu'elle tourne sur elle même en vol (ou si on voit la hache de
profil alternance effet "miroir" horizontal/vertical sur la vue de profil).
1559 0 (x00) Graph 0316+0=0316 => Flèche (lancée, face)
1560 0 (x00)
1561 32 (x20) Largeur image/2 (largeur Graph 0316 = largeur Graph 0317 et 0318)
1562 11 (x0B) Hauteur image en pixels (hauteur Graph 0316 = hauteur Graph 0317 et 0318)
1563 0 (x00) à 0 donc missile de type "arme"
1564 17 (x11) 8ème bit à 1 => ce missile n'est pas "animé", il ne tourne pas sur lui-même
7ème bit à 0 => ce missile dispose d'une vue de dos, utiliser le Graph suivant
pour cette vue de dos => Graph 0317
4ème bit à 1 => ce missile dispose d'une vue de profil. Comme il y a également
une vue de dos, utiliser graph d'après => Graph 0318
1565 3 (x03) Graph 0316+3=0319 => Dague (lancée, face)
1566 18 (x12)
1567 16 (x10) Largeur image/2
1568 11 (x0B) Hauteur image en pixels
1569 0 (x00) missile de type arme (sa taille ne dépend pas d'un "facteur de puissance")
1570 17 (x11) 8ème bit à 1 => ce missile n'est pas "animé", il ne tourne pas sur lui-même
7ème bit à 0 => ce missile dispose d'une vue de dos => Graph 0320
4ème bit à 1 => ce missile dispose d'une vue de profil => Graph 0321
1571 6 (x06) Graph 0322 => Hache (lancée, face)
1572 36 (x24)
1573 24 (x18) Largeur image/2
1574 47 (x2F) Hauteur image en pixels
1575 0 (x00) Missile de type arme
1576 16 (x10) 8ème bit à 0 => ce missile est "animé", il tourne sur lui-même en vol
7ème bit à 0 => ce missile dispose d'une vue de dos => Graph 0323
4ème bit à 1 => ce missile dispose d'une vue de profil => Graph 0324
1577 9 (x09) Graph 0325 => Eclair (face)
1578 54 (x36)
1579 32 (x20) Largeur image/2
1580 15 (x0F) Hauteur image en pixels
1581 1 (x01) Missile de type "magique" (sa taille dépend de la puissance du sort)
1582 18 (x12) 8ème bit à 0 => l'éclair est le seul sort "animé" (par simple effet de "miroir",
car il n'y a pas de vue de dos pour l'éclair)!
7ème bit à 1 => ce missile n'a pas de vue de dos...
4ème bit à 1 => ce missile dispose d'une vue de profil => Graph 0326
1583 11 (x0B) Graph 0327 => Carreau (face)
1584 54 (x36)
1585 32 (x20) Largeur image/2
1586 12 (x0C) Hauteur image en pixels
1587 0 (x00) missile de type arme
1588 17 (x11) 8ème bit à 1 => ce missile n'est pas "animé"
7ème bit à 0 => ce missile dispose d'une vue de dos => Graph 0328
4ème bit à 1 => ce missile dispose d'une vue de profil => Graph 0329
1589 14 (x0E) Graph 0330 => Massue en pierre (face)
1590 72 (x48)
1591 24 (x18) Largeur image/2
1592 47 (x2F) Hauteur image en pixels
1593 0 (x00) missile de type arme
1594 16 (x10) 8ème bit à 0 => ce missile est "animé", il tourne sur lui-même en vol
7ème bit à 0 => ce missile dispose d'une vue de dos => Graph 0331
4ème bit à 1 => ce missile dispose d'une vue de profil => Graph 0332
1595 17 (x11) Graph 0333 => Massue en bois (face)
1596 90 (x5A)
1597 24 (x18) Largeur image/2
1598 47 (x2F) Hauteur image en pixels
1599 0 (x00) missile de type arme
1600 16 (x10) 8ème bit à 0 => ce missile est "animé", il tourne sur lui-même en vol
7ème bit à 0 => ce missile dispose d'une vue de dos => Graph 0334
4ème bit à 1 => ce missile dispose d'une vue de profil => Graph 0335
1601 20 (x14) Graph 0336 => Fléchette empoisonnée (face)
1602 108 (x6C)
1603 16 (x10) Largeur image/2
1604 11 (x0B) Hauteur image en pixels
1605 0 (x00) missile de type arme
1606 17 (x11) 8ème bit à 1 => ce missile n'est pas "animé"
7ème bit à 0 => ce missile dispose d'une vue de dos => Graph 0337
4ème bit à 1 => ce missile dispose d'une vue de profil => Graph 0338
1607 23 (x17) Graph 0339 => Epée (face)
1608 126 (x7E)
1609 48 (x30) Largeur image/2
1610 18 (x12) Hauteur image en pixels
1611 0 (x00) missile de type arme
1612 17 (x11) 8ème bit à 1 => ce missile n'est pas "animé"
7ème bit à 0 => ce missile dispose d'une vue de dos => Graph 0340
4ème bit à 1 => ce missile dispose d'une vue de profil => Graph 0341
1613 26 (x1A) Graph 0342 => Shuriken (face)
1614 144 (x90)
1615 8 (x08) Largeur image/2
1616 15 (x0F) Hauteur image en pixels
1617 0 (x00) missile de type arme
1618 18 (x12) 8ème bit à 0 => ce missile est "animé" (par simple effet de "miroir", car il n'y a
pas de vue de dos pour le shuriken)
7ème bit à 1 => ce missile n'a pas de vue de dos...
4ème bit à 1 => ce missile dispose d'une vue de profil => Graph 0343
1619 28 (x1C) Graph 0344 => Boule de Feu
1620 156 (x9C)
1621 16 (x10) Largeur image/2
1622 28 (x1C) Hauteur image en pixels
1623 1 (x01) missile de type magique
1624 3 (x03) 8ème bit à 1 => ce missile n'est pas "animé"
7ème bit à 1 => ce missile n'a pas de vue de dos...
4ème bit à 0 => ce missile n'a pas de vue de profil...
1625 29 (x1D) Graph 0345 => Anti-immatériels, Zo
1626 156 (x9C)
1627 16 (x10) Largeur image/2
1628 11 (x0B) Hauteur image en pixels
1629 1 (x01) missile de type magique
1630 3 (x03) 8ème bit à 1 => ce missile n'est pas "animé"
7ème bit à 1 => ce missile n'a pas de vue de dos...
4ème bit à 0 => ce missile n'a pas de vue de profil...
1631 30 (x1E) Graph 0346 => Boule poison
1632 156 (x9C)
1633 16 (x10) Largeur image/2
1634 28 (x1C) Hauteur image en pixels
1635 1 (x01) missile de type magique
1636 3 (x03) 8ème bit à 1 => ce missile n'est pas "animé"
7ème bit à 1 => ce missile n'a pas de vue de dos...
4ème bit à 0 => ce missile n'a pas de vue de profil...
1637 31 (x1F) Graph 0347 => Poison
1638 156 (x9C)
1639 16 (x10) Largeur image/2
1640 24 (x18) Hauteur image en pixels
1641 1 (x01) missile de type magique
1642 3 (x03) 8ème bit à 1 => ce missile n'est pas "animé"
7ème bit à 1 => ce missile n'a pas de vue de dos...
4ème bit à 0 => ce missile n'a pas de vue de profil...
Dans cette partie sont décrites toutes les images des objets du jeu, du graph 0360 au graph 0445. Chaque
objet est décrit par un groupe de 6 octets.
Chacun de ces groupes de 6 octets se présente de la façon suivante :
Octet 1 : donne l'index de l'image de l'objet (à partir du graph 0360)
Octet 2 : cet octet semble servir pour un système d'indexation : sa valeur progresse de 2 en 2
d'un objet au suivant (3 tailles possibles pour l'affichage des objets en fonction de la
distance => on suppose que le programme stocke quelque part les 2 images de l'objet
redimensionné), sauf dans 3 cas : le coffre (la différence entre les octets 1644 et 1650
est de 6), et les 2 boîtes magiques (différence de 4 entre les valeurs des octets 2022 et
2028, et entre celles des octets 2118 et 2124). Ces 3 objets sont particuliers, puisque
ce sont les seuls pour lesquels il y a un effet "miroir", qui fait que leur image est
différente selon qu'ils se trouvent sur la gauche ou sur la droite du joueur (=> on
suppose donc que le programme stocke 2 images supplémentaires, correspondant à l'objet
"miroir" redimensionné). Le coffre a une autre particularité : c'est le seul objet qui
dispose d'une image spéciale lorsqu'il est placé dans une niche (=> on suppose que le
programme stocke 2 images supplémentaires, correspondant à l'objet dans la niche
redimensionné).
Octet 3 : largeur de l'image de l'objet divisée par 2 (remarque : toutes les images des objets ont
une largeur égale à un multiple de 16)
Octet 4 : hauteur de l'image de l'objet, en pixels. (remarque : la hauteur de l'image d'un objet ne
doit pas dépasser 48 pixels, sinon cette image va "déborder" de la vue du donjon
lorsqu'on lancera l'objet, et l'objet ne sera pas affiché!)
Octet 5 : seuls 2 bits semblent utilisés. En considérant que le bit le plus à gauche est le bit 1 :
- bit 1 : inutilisé
- bit 2 : inutilisé
- bit 3 : inutilisé
- bit 4 : s'il est à 1, cela indique que l'objet dispose d'une image particulière pour le
cas où il serait placé dans une niche. L'image suivante est alors utilisée.
- bit 5 : inutilisé
- bit 6 : inutilisé
- bit 7 : inutilisé
- bit 8 : s'il est à 1, cela indique qu'il faut appliquer un effet "miroir" entre les
positions "à gauche du joueur" et "à droite du joueur" pour cet objet, comme
ceci :
______ | ______
/ /| | |\ \ (Remarque : ce dessin est sans
| | | | | | | doute superflu mais j'avais
| | | <---|---> | | | envie de le faire, alors je
|_____|/ | \|_____| me suis dit "juste fais-le"
| et je l'ai fait)
Octet 6 : groupe de coordonnées de référence qu'il faut utiliser pour afficher l'image de cet
objet au bon endroit (0, 1, ou 2, voir octets 1157 à 1456).
* Remarque pratique, pour savoir à peu près dans quel groupe placer un objet que l'on a
dessiné soi-même :
- le groupe 0 concerne 30 objets, de largeur moyenne=55 pixels et de hauteur moyenne=18
- le groupe 1 concerne 50 objets, de largeur moyenne=34 pixels et de hauteur moyenne=10
- le groupe 2 concerne 5 objets, de largeur moyenne=70 pixels et de hauteur moyenne=23
Les objets les plus "petits" sont donc généralement dans le groupe 1, les plus "gros"
dans le groupe 2, et les objets de taille "moyenne" dans le groupe 0.
1643 0 (x00) Graph 0360+0=0360 => Coffre posé au sol
1644 0 (x00)
1645 24 (x18) Largeur image divisée par 2 (largeur image 0360 = 48 pixels)
1646 27 (x1B) Hauteur image coffre en pixels
1647 17 (x11) 8ème bit à 1 : effet "miroir" entre positions gauche et droite
4ème bit à 1 : il existe une image spéciale pour le coffre placé dans une niche.
=> utiliser graph 0361 (qui a les mêmes dimensions que 0360)
1648 0 (x00) Utiliser les coordonnées de référence du groupe 0 pour cet objet
1649 2 (x02) Graph 0360+2=0362 => Parchemin posé au sol
1650 6 (x06)
1651 24 (x18) Largeur image/2 (largeur image 0362 = 48 pixels)
1652 8 (x08) Hauteur de l'image 0362 en pixels
1653 0 (x00) pas d'effet "miroir" et pas de graph spécial si l'objet est placé dans une niche
1654 1 (x01) Utiliser les coordonnées de référence du groupe 1 pour cet objet
1655 3 (x03) Graph 0360+3=0363 => Flacon plein (eau/potion)
1656 8 (x08)
1657 8 (x08) Largeur image/2 (largeur 0363 = 16 pixels)
1658 18 (x12) Hauteur image 0363 en pixels
1659 0 (x00) pas d'effet "miroir" et pas de graph spécial si l'objet est placé dans une niche
1660 1 (x01) Utiliser coordonnées de référence du groupe 1
1661 4 (x04) Graph 0360+4=0364 => Gemme bleue
1662 10 (x0A)
1663 8 (x08) largeur/2
1664 8 (x08) hauteur
1665 0 (x00) "
1666 1 (x01) Utiliser coordonnées de référence du groupe 1
1667 5 (x05) Graph 0360+5=0365 => Pièce or, cuivre
1668 12 (x0C)
1669 8 (x08) largeur/2
1670 4 (x04) hauteur
1671 0 (x00) "
1672 1 (x01) Utiliser coordonnées de référence du groupe 1
1673 6 (x06) Graph 0360+6=0366 => Cuissot de rat
1674 14 (x0E)
1675 16 (x10) largeur/2
1676 11 (x0B) hauteur
1677 0 (x00) "
1678 1 (x01) Utiliser coordonnées de référence du groupe 1
1679 7 (x07) Graph 0367 => Outre pleine d'eau
1680 16 (x10)
1681 24 (x18) "
1682 13 (x0D) "
1683 0 (x00) "
1684 0 (x00) Utiliser coordonnées de référence du groupe 0
1685 8 (x08) Graph 0368 => Vêtement elfe (pantalon/chemise)
1686 18 (x12)
1687 32 (x20) "
1688 16 (x10) "
1689 0 (x00) "
1690 0 (x00) Utiliser coordonnées de référence du groupe 0
1691 9 (x09) Graph 0369 => Bottes de cuir (noires)
1692 20 (x14)
1693 40 (x28) "
1694 24 (x18) "
1695 0 (x00) "
1696 0 (x00) Utiliser coordonnées de référence du groupe 0
1697 10 (x0A) Graph 0370 => Casque
1698 22 (x16)
1699 16 (x10) "
1700 20 (x14) "
1701 0 (x00) "
1702 1 (x01) Utiliser coordonnées de référence du groupe 1
1703 11 (x0B) Graph 0371 => Bouclier (Grand, ovoïde)
1704 24 (x18)
1705 40 (x28) "
1706 20 (x14) "
1707 0 (x00) "
1708 0 (x00) Utiliser coordonnées de référence du groupe 0
1709 12 (x0C) Graph 0372 => Bâtons & fronde
1710 26 (x1A)
1711 32 (x20) "
1712 4 (x04) "
1713 0 (x00) "
1714 1 (x01) Utiliser coordonnées de référence du groupe 1
1715 13 (x0D) Graph 0373 => Epée
1716 28 (x1C)
1717 40 (x28) "
1718 8 (x08) "
1719 0 (x00) "
1720 1 (x01) Utiliser coordonnées de référence du groupe 1
1721 14 (x0E) Graph 0374 => Hache
1722 30 (x1E)
1723 32 (x20) "
1724 17 (x11) "
1725 0 (x00) "
1726 0 (x00) Utiliser coordonnées de référence du groupe 0
1727 15 (x0F) Graph 0375 => Arc
1728 32 (x20)
1729 40 (x28) "
1730 17 (x11) "
1731 0 (x00) "
1732 2 (x02) Utiliser coordonnées de référence du groupe 2
1733 16 (x10) Graph 0376 => Amulette (or)
1734 34 (x22)
1735 16 (x10) "
1736 9 (x09) "
1737 0 (x00) "
1738 1 (x01) Utiliser coordonnées de référence du groupe 1
1739 17 (x11) Graph 0377 => Flèche
1740 36 (x24)
1741 24 (x18) "
1742 5 (x05) "
1743 0 (x00) "
1744 1 (x01) Utiliser coordonnées de référence du groupe 1
1745 18 (x12) Graph 0378 => Dague
1746 38 (x26)
1747 16 (x10) "
1748 9 (x09) "
1749 0 (x00) "
1750 0 (x00) Utiliser coordonnées de référence du groupe 0
1751 19 (x13) Graph 0379 => Clé (argent)
1752 40 (x28)
1753 8 (x08) "
1754 4 (x04) "
1755 0 (x00) "
1756 1 (x01) Utiliser coordonnées de référence du groupe 1
1757 20 (x14) Graph 0380 => Elément armure type cotte de mailles
1758 42 (x2A)
1759 32 (x20) "
1760 21 (x15) "
1761 0 (x00) "
1762 2 (x02) Utiliser coordonnées de référence du groupe 2
1763 21 (x15) Graph 0381 => Elément armure (cuirasse)
1764 44 (x2C)
1765 32 (x20) "
1766 25 (x19) "
1767 0 (x00) "
1768 2 (x02) Utiliser coordonnées de référence du groupe 2
1769 22 (x16) Graph 0382 => Masse
1770 46 (x2E)
1771 32 (x20) "
1772 14 (x0E) "
1773 0 (x00) "
1774 1 (x01) Utiliser coordonnées de référence du groupe 1
1775 23 (x17) Graph 0383 => Elément armure (jambières)
1776 48 (x30)
1777 32 (x20) "
1778 26 (x1A) "
1779 0 (x00) "
1780 2 (x02) Utiliser coordonnées de référence du groupe 2
1781 24 (x18) Graph 0384 => Vêtements (cuir)
1782 50 (x32)
1783 32 (x20) "
1784 16 (x10) "
1785 0 (x00) "
1786 0 (x00) Utiliser coordonnées de référence du groupe 0
1787 25 (x19) Graph 0385 => Vêtements (blancs)
1788 52 (x34)
1789 32 (x20) "
1790 16 (x10) "
1791 0 (x00) "
1792 0 (x00) Utiliser coordonnées de référence du groupe 0
1793 26 (x1A) Graph 0386 => Pain
1794 54 (x36)
1795 16 (x10) "
1796 16 (x10) "
1797 0 (x00) "
1798 1 (x01) Utiliser coordonnées de référence du groupe 1
1799 27 (x1B) Graph 0387 => Fromage
1800 56 (x38)
1801 16 (x10) "
1802 15 (x0F) "
1803 0 (x00) "
1804 1 (x01) Utiliser coordonnées de référence du groupe 1
1805 28 (x1C) Graph 0388 => Pomme
1806 58 (x3A)
1807 16 (x10) "
1808 13 (x0D) "
1809 0 (x00) "
1810 1 (x01) Utiliser coordonnées de référence du groupe 1
1811 29 (x1D) Graph 0389 => Maïs
1812 60 (x3C)
1813 16 (x10) "
1814 10 (x0A) "
1815 0 (x00) "
1816 1 (x01) Utiliser coordonnées de référence du groupe 1
1817 30 (x1E) Graph 0390 => Bottes (marron)
1818 62 (x3E)
1819 40 (x28) "
1820 24 (x18) "
1821 0 (x00) "
1822 0 (x00) Utiliser coordonnées de référence du groupe 0
1823 31 (x1F) Graph 0391 => Sceptre (of Lyfe)
1824 64 (x40)
1825 40 (x28) "
1826 9 (x09) "
1827 0 (x00) "
1828 1 (x01) Utiliser coordonnées de référence du groupe 1
1829 32 (x20) Graph 0392 => Baguette
1830 66 (x42)
1831 16 (x10) "
1832 3 (x03) "
1833 0 (x00) "
1834 1 (x01) Utiliser coordonnées de référence du groupe 1
1835 33 (x21) Graph 0393 => Bâton "Dragon Spit"
1836 68 (x44)
1837 32 (x20) "
1838 5 (x05) "
1839 0 (x00) "
1840 1 (x01) Utiliser coordonnées de référence du groupe 1
1841 34 (x22) Graph 0394 => Morningstar
1842 70 (x46)
1843 40 (x28) "
1844 16 (x10) "
1845 0 (x00) "
1846 0 (x00) Utiliser coordonnées de référence du groupe 0
1847 35 (x23) Graph 0395 => Boussole
1848 72 (x48)
1849 8 (x08) "
1850 7 (x07) "
1851 0 (x00) "
1852 1 (x01) Utiliser coordonnées de référence du groupe 1
1853 36 (x24) Graph 0396 => Torche
1854 74 (x4A)
1855 32 (x20) "
1856 7 (x07) "
1857 0 (x00) "
1858 1 (x01) Utiliser coordonnées de référence du groupe 1
1859 37 (x25) Graph 0397 => Outre vide
1860 76 (x4C)
1861 24 (x18) "
1862 14 (x0E) "
1863 0 (x00) "
1864 0 (x00) Utiliser coordonnées de référence du groupe 0
1865 38 (x26) Graph 0398 => Gant "Flamit"
1866 78 (x4E)
1867 16 (x10) "
1868 8 (x08) "
1869 0 (x00) "
1870 0 (x00) Utiliser coordonnées de référence du groupe 0
1871 39 (x27) Graph 0399 => Anneau
1872 80 (x50)
1873 8 (x08) "
1874 3 (x03) "
1875 0 (x00) "
1876 1 (x01) Utiliser coordonnées de référence du groupe 1
1877 40 (x28) Graph 0400 => Firestaff
1878 82 (x52)
1879 40 (x28) "
1880 9 (x09) "
1881 0 (x00) "
1882 1 (x01) Utiliser coordonnées de référence du groupe 1
1883 41 (x29) Graph 0401 => Cendres
1884 84 (x54)
1885 24 (x18) "
1886 14 (x0E) "
1887 0 (x00) "
1888 0 (x00) Utiliser coordonnées de référence du groupe 0
1889 42 (x2A) Graph 0402 => Ossements
1890 86 (x56)
1891 40 (x28) "
1892 20 (x14) "
1893 0 (x00) "
1894 0 (x00) Utiliser coordonnées de référence du groupe 0
1895 43 (x2B) Graph 0403 => Lame "Vorpal"
1896 88 (x58)
1897 40 (x28) "
1898 15 (x0F) "
1899 0 (x00) "
1900 1 (x01) Utiliser coordonnées de référence du groupe 1
1901 44 (x2C) Graph 0404 => Massue bois
1902 90 (x5A)
1903 32 (x20) "
1904 10 (x0A) "
1905 0 (x00) "
1906 1 (x01) Utiliser coordonnées de référence du groupe 1
1907 45 (x2D) Graph 0405 => Massue pierre
1908 92 (x5C)
1909 32 (x20) "
1910 19 (x13) "
1911 0 (x00) "
1912 0 (x00) Utiliser coordonnées de référence du groupe 0
1913 46 (x2E) Graph 0406 => Arbalète
1914 94 (x5E)
1915 40 (x28) "
1916 25 (x19) "
1917 0 (x00) "
1918 2 (x02) Utiliser coordonnées de référence du groupe 2
1919 47 (x2F) Graph 0407 => Carreau
1920 96 (x60)
1921 24 (x18) "
1922 7 (x07) "
1923 0 (x00) "
1924 1 (x01) Utiliser coordonnées de référence du groupe 1
1925 48 (x30) Graph 0408 => Pierre
1926 98 (x62)
1927 8 (x08) "
1928 7 (x07) "
1929 0 (x00) "
1930 1 (x01) Utiliser coordonnées de référence du groupe 1
1931 49 (x31) Graph 0409 => Flèchette empoisonnée
1932 100 (x64)
1933 16 (x10) "
1934 5 (x05) "
1935 0 (x00) "
1936 1 (x01) Utiliser coordonnées de référence du groupe 1
1937 50 (x32) Graph 0410 => Shuriken
1938 102 (x66)
1939 8 (x08) "
1940 9 (x09) "
1941 0 (x00) "
1942 1 (x01) Utiliser coordonnées de référence du groupe 1
1943 51 (x33) Graph 0411 => Bout de bois
1944 104 (x68)
1945 32 (x20) "
1946 11 (x0B) "
1947 0 (x00) "
1948 1 (x01) Utiliser coordonnées de référence du groupe 1
1949 52 (x34) Graph 0412 => Bâton "The Conduit"
1950 106 (x6A)
1951 32 (x20) "
1952 14 (x0E) "
1953 0 (x00) "
1954 0 (x00) Utiliser coordonnées de référence du groupe 0
1955 53 (x35) Graph 0413 => Heaume
1956 108 (x6C)
1957 24 (x18) "
1958 20 (x14) "
1959 0 (x00) "
1960 0 (x00) Utiliser coordonnées de référence du groupe 0
1961 54 (x36) Graph 0414 => Calista, Couronne Nerra
1962 110 (x6E)
1963 16 (x10) "
1964 14 (x0E) "
1965 0 (x00) "
1966 1 (x01) Utiliser coordonnées de référence du groupe 1
1967 55 (x37) Graph 0415 => Bouclier rond
1968 112 (x70)
1969 32 (x20) "
1970 23 (x17) "
1971 0 (x00) "
1972 0 (x00) Utiliser coordonnées de référence du groupe 0
1973 56 (x38) Graph 0416 => Sandales
1974 114 (x72)
1975 24 (x18) "
1976 16 (x10) "
1977 0 (x00) "
1978 0 (x00) Utiliser coordonnées de référence du groupe 0
1979 57 (x39) Graph 0417 => Element armure (chausses)
1980 116 (x74)
1981 32 (x20) "
1982 25 (x19) "
1983 0 (x00) "
1984 0 (x00) Utiliser coordonnées de référence du groupe 0
1985 58 (x3A) Graph 0418 => Bottes elfe
1986 118 (x76)
1987 24 (x18) "
1988 25 (x19) "
1989 0 (x00) "
1990 0 (x00) Utiliser coordonnées de référence du groupe 0
1991 59 (x3B) Graph 0419 => Amulette "Pierre de Lune"
1992 120 (x78)
1993 8 (x08) "
1994 8 (x08) "
1995 0 (x00) "
1996 1 (x01) Utiliser coordonnées de référence du groupe 1
1997 60 (x3C) Graph 0420 => Amulette "Pendant Feral", "Helion"
1998 122 (x7A)
1999 8 (x08) "
2000 7 (x07) "
2001 0 (x00) "
2002 1 (x01) Utiliser coordonnées de référence du groupe 1
2003 61 (x3D) Graph 0421 => Gemme orange
2004 124 (x7C)
2005 8 (x08) "
2006 8 (x08) "
2007 0 (x00) "
2008 1 (x01) Utiliser coordonnées de référence du groupe 1
2009 62 (x3E) Graph 0422 => Gemme verte
2010 126 (x7E)
2011 8 (x08) "
2012 8 (x08) "
2013 0 (x00) "
2014 1 (x01) Utiliser coordonnées de référence du groupe 1
2015 63 (x3F) Graph 0423 => Clé (or)
2016 128 (x80)
2017 8 (x08) "
2018 5 (x05) "
2019 0 (x00) "
2020 1 (x01) Utiliser coordonnées de référence du groupe 1
2021 64 (x40) Graph 0424 => Boîte magique (verte)
2022 130 (x82)
2023 8 (x08) "
2024 13 (x0D) "
2025 1 (x01) Effet "miroir" entre positions gauche-droite
2026 1 (x01) Utiliser coordonnées de référence du groupe 1
2027 65 (x41) Graph 0425 => Miroir
2028 134 (x86)
2029 16 (x10) "
2030 13 (x0D) "
2031 0 (x00) "
2032 1 (x01) Utiliser coordonnées de référence du groupe 1
2033 66 (x42) Graph 0426 => Corne de peur
2034 136 (x88)
2035 16 (x10) "
2036 14 (x0E) "
2037 0 (x00) "
2038 0 (x00) Utiliser coordonnées de référence du groupe 0
2039 67 (x43) Graph 0427 => Steak de Dragon
2040 138 (x8A)
2041 16 (x10) "
2042 10 (x0A) "
2043 0 (x00) "
2044 1 (x01) Utiliser coordonnées de référence du groupe 1
2045 68 (x44) Graph 0428 => Potion Ven
2046 140 (x8C)
2047 8 (x08) "
2048 18 (x12) "
2049 0 (x00) "
2050 1 (x01) Utiliser coordonnées de référence du groupe 1
2051 69 (x45) Graph 0429 => Bombe Ful
2052 142 (x8E)
2053 8 (x08) "
2054 17 (x11) "
2055 0 (x00) "
2056 1 (x01) Utiliser coordonnées de référence du groupe 1
2057 70 (x46) Graph 0430 => Vêtements bleus
2058 144 (x90)
2059 32 (x20) "
2060 18 (x12) "
2061 0 (x00) "
2062 0 (x00) Utiliser coordonnées de référence du groupe 0
2063 71 (x47) Graph 0431 => Tranche de Ver
2064 146 (x92)
2065 16 (x10) "
2066 23 (x17) "
2067 0 (x00) "
2068 0 (x00) Utiliser coordonnées de référence du groupe 0
2069 72 (x48) Graph 0432 => Portion de "Screamer"
2070 148 (x94)
2071 16 (x10) "
2072 24 (x18) "
2073 0 (x00) "
2074 0 (x00) Utiliser coordonnées de référence du groupe 0
2075 73 (x49) Graph 0433 => Corde
2076 150 (x96)
2077 16 (x10) "
2078 15 (x0F) "
2079 0 (x00) "
2080 0 (x00) Utiliser coordonnées de référence du groupe 0
2081 74 (x4A) Graph 0434 => Patte de Lapin
2082 152 (x98)
2083 8 (x08) "
2084 7 (x07) "
2085 0 (x00) "
2086 1 (x01) Utiliser coordonnées de référence du groupe 1
2087 75 (x4B) Graph 0435 => Corbum, ZoKathRa
2088 154 (x9A)
2089 8 (x08) "
2090 15 (x0F) "
2091 0 (x00) "
2092 1 (x01) Utiliser coordonnées de référence du groupe 1
2093 76 (x4C) Graph 0436 => Collier "Choker"
2094 156 (x9C)
2095 8 (x08) "
2096 9 (x09) "
2097 0 (x00) "
2098 1 (x01) Utiliser coordonnées de référence du groupe 1
2099 77 (x4D) Graph 0437 => Grosse pierre
2100 158 (x9E)
2101 16 (x10) "
2102 14 (x0E) "
2103 0 (x00) "
2104 0 (x00) Utiliser coordonnées de référence du groupe 0
2105 78 (x4E) Graph 0438 => Lock Picks
2106 160 (xA0)
2107 8 (x08) "
2108 8 (x08) "
2109 0 (x00) "
2110 1 (x01) Utiliser coordonnées de référence du groupe 1
2111 79 (x4F) Graph 0439 => Loupe
2112 162 (xA2)
2113 16 (x10) "
2114 9 (x09) "
2115 0 (x00) "
2116 1 (x01) Utiliser coordonnées de référence du groupe 1
2117 80 (x50) Graph 0440 => Boîte magique (bleue)
2118 164 (xA4)
2119 8 (x08) "
2120 13 (x0D) "
2121 1 (x01) Effet "miroir" entre positions gauche-droite
2122 1 (x01) Utiliser coordonnées de référence du groupe 1
2123 81 (x51) Graph 0441 => Flacon vide
2124 168 (xA8)
2125 8 (x08) "
2126 18 (x12) "
2127 0 (x00) "
2128 1 (x01) Utiliser coordonnées de référence du groupe 1
2129 82 (x52) Graph 0442 => Bottes de vitesse
2130 170 (xAA)
2131 24 (x18) "
2132 28 (x1C) "
2133 0 (x00) "
2134 0 (x00) Utiliser coordonnées de référence du groupe 0
2135 83 (x53) Graph 0443 => Firestaff (avec Joyau de puissance)
2136 172 (xAC)
2137 40 (x28) "
2138 13 (x0D) "
2139 0 (x00) "
2140 1 (x01) Utiliser coordonnées de référence du groupe 1
2141 84 (x54) Graph 0444 => Pièce argent
2142 174 (xAE)
2143 8 (x08) "
2144 4 (x04) "
2145 0 (x00) "
2146 1 (x01) Utiliser coordonnées de référence du groupe 1
2147 85 (x55) Graph 0445 => Soutif en Titane
2148 176 (xB0)
2149 32 (x20) "
2150 17 (x11) "
2151 0 (x00) "
2152 0 (x00) Utiliser coordonnées de référence du groupe 0
Dans cette partie sont définies les données utilisées pour afficher toutes les décorations
de portes, à toutes les distances possibles, ainsi que les données utilisées pour afficher
le bouton des portes.
On utilise les mêmes conventions que précédemment :
-----P-----P-----P----- <-- Mur à D3 (distance 3)
| | | |
| | | |
| | | |
----P-----P-----P---- <-- Mur à D2 (distance 2)
| | | |
| | | |
| | | |
---P-----P-----P--- <-- Mur à D1 (distance 1)
| |
| J | <-- Position du Joueur
| |
-------
P = Portes visibles par le joueur (entièrement ou partiellement).
Ici se trouvent toutes les données nécessaires à l'affichage du petit bouton des portes, à toutes
les positions et distances où celui-ci est visible. Le Graph de ce "bouton de porte" est le 0315.
Xg Xd
' '
Yh +-------+
| |
| | <--- Bouton de porte dans la vue du donjon
| |
| |
Yb +-------+
NB : dimensions du graph 0315 : 16x9 pixels (largeur=multiple de 16)
*** Pour une porte en D3, sur la droite ***
2153 199 (xC7) Xg en pixels
2154 204 (xCC) Xd en pixels
2155 41 (x29) Yh en pixels
2156 44 (x2C) Yb en pixels
2157 8 (x08) largeur image redimensionnée, arrondie au multiple de 16 supérieur, puis
divisée par 2 ((Xd+1)-Xg=6 => on prend 16/2=8)
2158 4 (x04) Hauteur de l'image redimensionnée en pixels (H=(Yb+1)-Yh)
*** Pour une porte en D3, sur la gauche ***
Le bouton de porte est invisible, puisqu'il est "masqué" par un pan de mur => on ne s'en occupe
donc pas! De même, à D2 et D1, sur la gauche ou sur la droite, le bouton est invisible (soit
masqué par un pan de mur, soit hors champ).
*** Pour une porte en D3, droit devant ***
2159 136 (x88) Xg en pixels
2160 141 (x8D) Xd en pixels
2161 41 (x29) Yh en pixels
2162 44 (x2C) Yb en pixels
2163 8 (x08) (Xd+1)-Xg=6 => on prend 16/2=8
2164 4 (x04) Hauteur de l'image redimensionnée (H=(Yb+1)-Yh)
*** Pour une porte en D2, droit devant ***
2165 144 (x90) Xg
2166 155 (x9B) Xd
2167 42 (x2A) Yh
2168 47 (x2F) Yb
2169 8 (x08) (Xd+1)-Xg=12 => on prend 16/2=8
2170 6 (x06) H de l'image redimensionnée (H=(Yb+1)-Yh)
*** Pour une porte en D1, droit devant ***
2171 160 (xA0) Xg
2172 175 (xAF) Xd
2173 44 (x2C) Yh
2174 52 (x34) Yb
2175 8 (x08) Largeur image (multiple de 16) divisée par 2
2176 9 (x09) H de l'image en pixels
La partie suivante définit 4 groupes de données qui seront utilisés pour l'affichage des
différentes décorations de porte, à toutes les distances possibles. Les octets 3125 à 3136
indiquent pour chaque décoration de porte lequel de ces 4 groupes il faut utiliser.
** REMARQUE ** : pour les décorations de porte, les coordonnées Xg, Xd, Yh, Yb, sont données
relativement au coin supérieur gauche de l'image de la porte! La décoration est donc "collée"
sur la porte avant que celle-ci ne soit affichée dans la vue du donjon.
Xg Xd
0--------+--------+--------+-> X (en pixels)
| ' ' |
Yh-+- - - - ---------- |
| | | |
| | | <------------- image de la décoration
| | | | de la porte
Yb-+- - - - ---------- |
| |
| | <---- image de la porte
| |
| |
| |
| |
+--------------------------+
|
Y
(en pixels)
Remarque pratique : les graphs 0108 à 0119 représentent les portes aux 3 différentes tailles
(à D3, D2, et D1). Si l'on souhaite modifier les données d'un groupe, de façon à pouvoir
intégrer une décoration de porte personnalisée, le plus simple est donc de se servir de ces
images, sur lesquelles on collera la décoration à l'endroit et à la taille exacts que l'on
souhaite. Ainsi, on obtiendra facilement les coordonnées Xg, Xd, Yh, et Yb nécessaires.
Concerne les petites décorations, placées en haut de porte et centrées.
=> Graphs 0303 et 0307 (dimensions 32x19)
*** Porte à D3 ***
2177 17 (x11) Xg
2178 31 (x1F) Xd
2179 8 (x08) Yh
2180 17 (x11) Yb
2181 8 (x08) largeur image redimensionnée, arrondie au multiple de 16 supérieur, puis
divisée par 2 ((Xd+1)-Xg=15 => on prend 16/2=8)
2182 10 (x0A) H de l'image redimensionnée (H=(Yb+1)-Yh)
*** Porte à D2 ***
2183 22 (x16) Xg
2184 42 (x2A) Xd
2185 11 (x0B) Yh
2186 23 (x17) Yb
2187 16 (x10) largeur image redimensionnée, arrondie au multiple de 16 supérieur, puis
divisée par 2 ((Xd+1)-Xg=21 => on prend 32/2=16)
2188 13 (x0D) H de l'image redimensionnée (H=(Yb+1)-Yh)
*** Porte à D1 ***
2189 32 (x20) Xg
2190 63 (x3F) Xd
2191 13 (x0D) Yh
2192 31 (x1F) Yb
2193 16 (x10) largeur image/2 (NB: largeur image=multiple de 16)
2194 19 (x13) H de l'image
Concerne les décorations qui occupent toute la surface de la porte.
=> Graphs 0301, 0304, 0305, 0306, 0310, 0313 et 0314 (dimensions 96x88)
*** Porte à D3 ***
2195 0 (x00) Xg
2196 47 (x2F) Xd
2197 0 (x00) Yh
2198 40 (x28) Yb
2199 24 (x18) (Xd+1)-Xg=48, multiple de 16 => on prend 48/2=24
2200 41 (x29) H de l'image redimensionnée (H=(Yb+1)-Yh)
*** Porte à D2 ***
2201 0 (x00) Xg
2202 63 (x3F) Xd
2203 0 (x00) Yh
2204 60 (x3C) Yb
2205 32 (x20) (Xd+1)-Xg=64, multiple de 16 => on prend 64/2=32
2206 61 (x3D) H de l'image redimensionnée (H=(Yb+1)-Yh)
*** Porte à D1 ***
2207 0 (x00) Xg
2208 95 (x5F) Xd
2209 0 (x00) Yh
2210 87 (x57) Yb
2211 48 (x30) largeur image/2 (NB: largeur image=multiple de 16)
2212 88 (x58) H de l'image
Concerne les petites décorations, placées au centre de la porte.
=> Graphs 0308, 0311 et 0312 (dimensions 32x19)
*** Porte à D3 ***
2213 17 (x11) Xg
2214 31 (x1F) Xd
2215 15 (x0F) Yh
2216 24 (x18) Yb
2217 8 (x08) (Xd+1)-Xg=15 => on prend 16/2=8
2218 10 (x0A) H de l'image redimensionnée (H=(Yb+1)-Yh)
*** Porte à D2 ***
2219 22 (x16) Xg
2220 42 (x2A) Xd
2221 22 (x16) Yh
2222 34 (x22) Yb
2223 16 (x10) (Xd+1)-Xg=21 => on prend 32/2=16
2224 13 (x0D) H de l'image redimensionnée (H=(Yb+1)-Yh)
*** Porte à D1 ***
2225 32 (x20) Xg
2226 63 (x3F) Xd
2227 31 (x1F) Yh
2228 49 (x31) Yb
2229 16 (x10) largeur image/2 (NB: largeur image=multiple de 16)
2230 19 (x13) H de l'image
Concerne les petites décorations, placées en bas de porte et décentrées.
=> Graph 0309 (dimensions 32x19)
*** Porte à D3 ***
2231 23 (x17) Xg
2232 35 (x23) Xd
2233 31 (x1F) Yh
2234 39 (x27) Yb
2235 8 (x08) (Xd+1)-Xg=13 => on prend 16/2=8
2236 9 (x09) H de l'image redimensionnée (NB: H=(Yb+1)-Yh)
*** Porte à D2 ***
2237 30 (x1E) Xg
2238 48 (x30) Xd
2239 41 (x29) Yh
2240 52 (x34) Yb
2241 16 (x10) (Xd+1)-Xg=19 => on prend 32/2=16
2242 12 (x0C) H de l'image redimensionnée (NB: H=(Yb+1)-Yh)
*** Porte à D1 ***
2243 44 (x2C) Xg
2244 75 (x4B) Xd
2245 61 (x3D) Yh
2246 79 (x4F) Yb
2247 16 (x10) largeur image/2 (NB: largeur image=multiple de 16)
2248 19 (x13) H de l'image
Dans cette partie sont définies les données utilisées pour afficher toutes les décorations de sol, à
toutes les distances possibles. Ceci concerne donc les graphs 0241 à 0300. Ces données sont réparties
en 3 groupes. Les octets 3137 à 3146 indiquent pour chaque décoration de sol lequel de ces 3
groupes il faut utiliser.
On utilise les mêmes conventions que précédemment :
-------------------
| | | |
| Sg | Sc | Sd | <-- Décorations de sol à D3 (distance 3)
| | | |
-------------------
| | | |
| Sg | Sc | Sd | <-- Décorations de sol à D2 (distance 2)
| | | |
-------------------
| | | |
| Sg | Sc | Sd | <-- Décorations de sol à D1 (distance 1)
| | | |
-------------------
| |
| J | <-- Position du Joueur
| |
-------
Sg : décoration de sol sur la gauche du joueur
Sc : décoration de sol au centre, face au joueur
Sd : décoration de sol sur la droite du joueur
Vue du donjon :
Xg Xd
0------------+--------+----+-> X (en pixels)
| ' ' |
| ' ' |
| ' ' |
| ' ' |
| ' ' |
| ' ' |
Yh-+- - - - - - ---------- |
| | | <------------- image de la
| | | | décoration de sol
Yb-+- - - - - - ---------- |
| |
+--------------------------+
|
Y
(en pixels)
Concerne la majorité des décorations de sol : grille carrée (graphs 0247 à 0252), dalle carrée (graphs
0253 à 0258), mousse (graphs 0259 à 0264), grille ronde (graphs 0265 à 0270), socle flamme noire
(graphs 0277 à 0282), craquelure (graphs 0283 à 0288), et flaque d'eau (graphs 0295 à 0300).
*** Décoration en Sg à D3 *** (Graphs 0247, 0253, 0259, 0265, 0277, 0283, 0295) (Dimensions : 48x6)
2249 32 (x20) Xg
2250 79 (x4F) Xd
2251 66 (x42) Yh
2252 71 (x47) Yb
2253 24 (x18) largeur image/2 (largeur image = multiple de 16)
2254 6 (x06) H de l'image (NB: H=(Yb+1)-Yh)
*** Décoration en Sc à D3 *** (Graphs 0248, 0254, 0260, 0266, 0278, 0284, 0296) (Dimensions : 32x6)
2255 96 (x60) Xg
2256 127 (x7F) Xd
2257 66 (x42) Yh
2258 71 (x47) Yb
2259 16 (x10) largeur image/2 (largeur image = multiple de 16)
2260 6 (x06) H de l'image
*** Décoration en Sd à D3 *** (Graphs 0247, 0253, 0259, 0265, 0277, 0283, 0295, avec effet "miroir")
2261 144 (x90) Xg
2262 191 (xBF) Xd
2263 66 (x42) Yh
2264 71 (x47) Yb
2265 24 (x18) largeur image/2 (largeur image = multiple de 16)
2266 6 (x06) H de l'image
*** Décoration en Sg à D2 *** (Graphs 0249, 0255, 0261, 0267, 0279, 0285, 0297) (Dimensions : 64x11)
2267 0 (x00) Xg
2268 63 (x3F) Xd
2269 77 (x4D) Yh
2270 87 (x57) Yb
2271 32 (x20) largeur image/2 (largeur image = multiple de 16)
2272 11 (x0B) H de l'image
*** Décoration en Sc à D2 *** (Graphs 0250, 0256, 0262, 0268, 0280, 0286, 0298) (Dimensions : 64x11)
2273 80 (x50) Xg
2274 143 (x8F) Xd
2275 77 (x4D) Yh
2276 87 (x57) Yb
2277 32 (x20) largeur image/2 (largeur image = multiple de 16)
2278 11 (x0B) H de l'image
*** Décoration en Sd à D2 *** (Graphs 0249, 0255, 0261, 0267, 0279, 0285, 0297 avec effet "miroir")
2279 160 (xA0) Xg
2280 223 (xDF) Xd
2281 77 (x4D) Yh
2282 87 (x57) Yb
2283 32 (x20) largeur image/2 (largeur image = multiple de 16)
2284 11 (x0B) H de l'image
*** Décoration en Sg à D1 *** (Graphs 0251, 0257, 0263, 0269, 0281, 0287, 0299) (Dimensions : 32x25)
2285 0 (x00) Xg
2286 31 (x1F) Xd
2287 92 (x5C) Yh
2288 116 (x74) Yb
2289 16 (x10) largeur image/2 (largeur image = multiple de 16)
2290 25 (x19) H de l'image
*** Décoration en Sc à D1 *** (Graphs 0252, 0258, 0264, 0270, 0282, 0288, 0300) (Dimensions : 64x25)
2291 80 (x50) Xg
2292 143 (x8F) Xd
2293 92 (x5C) Yh
2294 116 (x74) Yb
2295 32 (x20) largeur image/2 (largeur image = multiple de 16)
2296 25 (x19) H de l'image
*** Décoration en Sd à D1 *** (Graphs 0251, 0257, 0263, 0269, 0281, 0287, 0299 avec effet "miroir")
2297 192 (xC0) Xg
2298 223 (xDF) Xd
2299 92 (x5C) Yh
2300 116 (x74) Yb
2301 32 (x10) largeur image/2 (largeur image = multiple de 16)
2302 25 (x19) H de l'image
Ne concerne que les empreintes de pas : graphs 0241 à 0246
*** Décoration en Sg à D3 *** (Graph 0241) (Dimensions : 96x9)
2303 0 (x00) Xg
2304 95 (x5F) Xd
2305 66 (x42) Yh
2306 74 (x4A) Yb
2307 48 (x30) largeur image/2 (largeur image = multiple de 16)
2308 9 (x09) H de l'image
*** Décoration en Sc à D3 *** (Graph 0242) (Dimensions : 96x9)
2309 64 (x40) Xg
2310 159 (x9F) Xd
2311 66 (x42) Yh
2312 74 (x4A) Yb
2313 48 (x30) largeur image/2
2314 9 (x09) H de l'image
*** Décoration en Sd à D3 *** (Graph 0241 avec effet "miroir")
2315 128 (x80) Xg
2316 223 (xDF) Xd
2317 66 (x42) Yh
2318 74 (x4A) Yb
2319 48 (x30) largeur image/2
2320 9 (x09) H de l'image
*** Décoration en Sg à D2 *** (Graph 0243) (Dimensions : 80x15)
2321 0 (x00) Xg
2322 79 (x4F) Xd
2323 75 (x4B) Yh
2324 89 (x59) Yb
2325 40 (x28) largeur image/2
2326 15 (x0F) H de l'image
*** Décoration en Sc à D2 *** (Graph 0244) (Dimensions : 112x15)
2327 56 (x38) Xg
2328 167 (xA7) Xd
2329 75 (x4B) Yh
2330 89 (x59) Yb
2331 56 (x38) largeur image/2
2332 15 (x0F) H de l'image
*** Décoration en Sd à D2 *** (Graph 0243 avec effet "miroir")
2333 144 (x90) Xg
2334 223 (xDF) Xd
2335 75 (x4B) Yh
2336 89 (x59) Yb
2337 40 (x28) largeur image/2
2338 15 (x0F) H de l'image
*** Décoration en Sg à D1 *** (Graph 0245) (Dimensions : 64x29)
2339 0 (x00) Xg
2340 63 (x3F) Xd
2341 90 (x5A) Yh
2342 118 (x76) Yb
2343 32 (x20) largeur image/2
2344 29 (x1D) H de l'image
*** Décoration en Sc à D1 *** (Graph 0246) (Dimensions : 160x29)
2345 32 (x20) Xg
2346 191 (xBF) Xd
2347 90 (x5A) Yh
2348 118 (x76) Yb
2349 80 (x50) largeur image/2
2350 29 (x1D) H de l'image
*** Décoration en Sd à D1 *** (Graph 0245 avec effet "miroir")
2351 160 (xA0) Xg
2352 223 (xDF) Xd
2353 90 (x5A) Yh
2354 118 (x76) Yb
2355 32 (x20) largeur image/2
2356 29 (x1D) H de l'image
Concerne les décorations de sol les plus petites : dalle hexagonale (graphs 0271 à 0276) et dalle
minuscule (graphs 0289 à 0294)
*** Décoration en Sg à D3 *** (Graph 0271, 0289) (Dimensions : 16x5)
2357 42 (x2A) Xg
2358 57 (x39) Xd
2359 68 (x44) Yh
2360 72 (x48) Yb
2361 8 (x08) largeur image/2
2362 5 (x05) H de l'image
*** Décoration en Sc à D3 *** (Graph 0272, 0290) (Dimensions : 16x5)
2363 104 (x68) Xg
2364 119 (x77) Xd
2365 68 (x44) Yh
2366 77 (x48) Yb
2367 8 (x08) largeur image/2
2368 5 (x05) H de l'image
*** Décoration en Sd à D3 *** (Graph 0271, 0289 avec effet "miroir")
2369 166 (xA6) Xg
2370 181 (xB5) Xd
2371 68 (x44) Yh
2372 77 (x48) Yb
2373 8 (x08) largeur image/2
2374 5 (x05) H de l'image
*** Décoration en Sg à D2 *** (Graph 0273, 0291) (Dimensions : 32x6)
2375 9 (x09) Xg
2376 40 (x28) Xd
2377 80 (x50) Yh
2378 85 (x55) Yb
2379 16 (x10) largeur image/2
2380 6 (x06) H de l'image
*** Décoration en Sc à D2 *** (Graph 0274, 0292) (Dimensions : 32x6)
2381 96 (x60) Xg
2382 127 (x7F) Xd
2383 80 (x50) Yh
2384 85 (x55) Yb
2385 16 (x10) largeur image/2
2386 6 (x06) H de l'image
*** Décoration en Sd à D2 *** (Graph 0273, 0291 avec effet "miroir")
2387 183 (xB7) Xg
2388 214 (xD6) Xd
2389 80 (x50) Yh
2390 85 (x55) Yb
2391 16 (x10) largeur image/2
2392 6 (x06) H de l'image
*** Décoration en Sg à D1 *** (Graph 0275, 0293) (Dimensions : 16x12)
2393 0 (x00) Xg
2394 15 (x0F) Xd
2395 97 (x61) Yh
2396 108 (x6C) Yb
2397 8 (x08) largeur image/2
2398 12 (x0C) H de l'image
*** Décoration en Sc à D1 *** (Graph 0276, 0294) (Dimensions : 32x12)
2399 96 (x60) Xg
2400 127 (x7F) Xd
2401 97 (x61) Yh
2402 108 (x6C) Yb
2403 16 (x10) largeur image/2
2404 12 (x0C) H de l'image
*** Décoration en Sg à D1 *** (Graph 0275, 0293 avec effet "miroir")
2405 208 (xD0) Xg
2406 223 (xDF) Xd
2407 97 (x61) Yh
2408 108 (x6C) Yb
2409 8 (x08) largeur image/2
2410 12 (x0C) H de l'image
Dans cette partie sont définies les données utilisées pour afficher toutes les décorations murales,
à toutes les distances possibles (de face comme de côté). Ceci concerne donc les graphs 0121 à 0240.
Ces données sont réparties en 8 grands groupes. Les octets 3147 à 3206 indiquent pour chaque
décoration murale lequel de ces 8 groupes il faut utiliser.
On utilise les mêmes conventions que précédemment :
-------------------
| | | |
| Cg Cd | <-- Décorations murales à D3 (vues de côté)
| | | |
---Fg----F-----Fd-- <-- Décorations murales à D3 (vues de face)
| | | |
| Cg Cd | <-- Décorations murales à D2 (vues de côté)
| | | |
---Fg----F-----Fd-- <-- Décorations murales à D2 (vues de face)
| | | |
| Cg Cd | <-- Décorations murales à D1 (vues de côté)
| | | |
---------F--------- <-- Décoration murale à D1 (vue de face)
| |
| J | <-- Position du Joueur
| |
-------
Vue du donjon :
Xg Xd
0--------+--------+--------+-> X (en pixels)
| ' ' |
| ' ' |
Yh-+- - - - ---------- |
| | | <------------- image de la
| | | | décoration murale
Yb-+- - - - ---------- |
| |
| |
| |
| |
| |
+--------------------------+
|
Y
(en pixels)
** REMARQUE IMPORTANTE ** : pour une décoration située en Fg ou en Fd, à D2 ou à D3, l'image
utilisée est en fait celle qui est définie pour la position en F, à D2 ou à D3. Ce sont en effet
les données définies pour la position F qui fixent le redimensionnement effectué sur l'image! Il
faut donc absolument veiller à ce que les données pour les positions Fg et Fd concordent avec
les données pour la position F si l'on veut éviter de voir des grabouillages pas très beaux...
(voir les petites erreurs à D3 pour la décoration "Librasulus dehors", à la fin du fichier!! ^^).
De même, l'image d'une décoration en Cd est le "miroir" de l'image en Cg, donc il vaut mieux
que les données concordent entre ces 2 positions...
Concerne les décorations murales de petite taille, placées en haut de mur et centrées (comme les
serrures par exemple).
Graphs : 0129-0130, 0131-0132, 0133-0134, 0135-0136, 0137-0138, 0139-0140, 0141-0142, 0147-0148,
0149-0150, 0151-0152, 0153-0154, 0155-0156, 0157-0158, 0159-0160, 0161-0162, 0163-0164,
0165-0166, 0167-0168, 0169-0170, 0171-0172, 0173-0174, 0175-0176, 0177-0178, 0179-0180,
0181-0182, 0183-0184, 0185-0186, 0209-0210, 0211-0212, 0215-0216, 0217-0218, 0219-0220,
0223-0224, 0225-0226, 0227-0228, 0229-0230 (et aussi, sans doute par erreur, 0231-0232)
Dimensions : vue côté 16x19, vue face 32x28 (NB : largeur = multiple de 16)
*** Décoration en Cg à D3 ***
2411 80 (x50) Xg
2412 83 (x53) Xd
2413 41 (x29) Yh
2414 45 (x2D) Yb
2415 8 (x08) (Xd+1)-Xg=4 => on prend 16/2=8
2416 5 (x05) H de l'image redimensionnée (NB: H=(Yb+1)-Yh)
*** Décoration en Cd à D3 ***
2417 140 (x8C) Xg
2418 143 (x8F) Xd
2419 41 (x29) Yh
2420 45 (x2D) Yb
2421 8 (x08) doit concorder avec image en Cg, donc 8
2422 5 (x05) doit concorder avec image en Cg, donc 5
*** Décoration en Fg à D3 ***
2423 16 (x10) Xg
2424 29 (x1D) Xd
2425 39 (x27) Yh
2426 50 (x32) Yb
2427 8 (x08) doit concorder avec image en F, donc 8
2428 12 (x0C) doit concorder avec image en F, donc 12
*** Décoration en F à D3 ***
2429 107 (x6B) Xg
2430 120 (x78) Xd
2431 39 (x27) Yh
2432 50 (x32) Yb
2433 8 (x08) (Xd+1)-Xg=14 => on prend 16/2=8
2434 12 (x0C) H de l'image redimensionnée
*** Décoration en Fd à D3 ***
2435 187 (xBB) Xg
2436 200 (xC8) Xd
2437 39 (x27) Yh
2438 50 (x32) Yb
2439 8 (x08) doit concorder avec image en F, donc 8
2440 12 (x0C) doit concorder avec image en F, donc 12
*** Décoration en Cg à D2 ***
2441 67 (x43) Xg
2442 77 (x4D) Xd
2443 40 (x28) Yh
2444 49 (x31) Yb
2445 8 (x08) (Xd+1)-Xg=11 => on prend 16/2=8
2446 10 (x0A) H de l'image redimensionnée
*** Décoration en Cd à D2 ***
2447 146 (x92) Xg
2448 156 (x9C) Xd
2449 40 (x28) Yh
2450 49 (x31) Yb
2451 8 (x08) doit concorder avec image en Cg, donc 8
2452 10 (x0A) doit concorder avec image en Cg, donc 10
*** Décoration en Fg à D2 ***
2453 0 (x00) Xg
2454 17 (x11) Xd
2455 38 (x26) Yh
2456 55 (x37) Yb
2457 16 (x10) doit concorder avec image en F, donc 16
2458 18 (x12) doit concorder avec image en F, donc 18
*** Décoration en F à D2 ***
2459 102 (x66) Xg
2460 123 (x7B) Xd
2461 38 (x26) Yh
2462 55 (x37) Yb
2463 16 (x10) (Xd+1)-Xg=22 => on prend 32/2=16
2464 18 (x12) H de l'image redimensionnée
*** Décoration en Fd à D2 ***
2465 206 (xCE) Xg
2466 223 (xDF) Xd
2467 38 (x26) Yh
2468 55 (x37) Yb
2469 16 (x10) doit concorder avec image en F, donc 16
2470 18 (x12) doit concorder avec image en F, donc 18
*** Décoration en Cg à D1 ***
2471 48 (x30) Xg
2472 63 (x3F) Xd
2473 38 (x26) Yh
2474 56 (x38) Yb
2475 8 (x08) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2476 19 (x13) H de l'image
*** Décoration en Cd à D1 ***
2477 160 (xA0) Xg
2478 175 (xAF) Xd
2479 38 (x26) Yh
2480 56 (x38) Yb
2481 8 (x08) doit concorder avec image en Cg, donc 8
2482 19 (x13) doit concorder avec image en Cg, donc 19
*** Décoration en F à D1 ***
2483 96 (x60) Xg
2484 127 (x7F) Xd
2485 36 (x24) Yh
2486 63 (x3F) Yb
2487 16 (x10) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2488 28 (x1C) H de l'image
Concerne les décorations de taille moyenne, placées en milieu de mur et centrées (comme la
fontaine par exemple)
Graphs : 0121-0122, 0123-0124, 0125-0126, 0127-0128, 0191-0192, 0193-0194, 0195-0196, 0197-0198,
0199-0200, 0213-0214.
Dimensions : vue côté 32x48, vue face 96x56 (NB : largeur = multiple de 16)
*** Décoration en Cg à D3 ***
2489 74 (x4A) Xg
2490 82 (x52) Xd
2491 41 (x29) Yh
2492 60 (x3C) Yb
2493 8 (x08) (Xd+1)-Xg=9 => on prend 16/2=8
2494 20 (x14) H de l'image redimensionnée (NB: H=(Yb+1)-Yh)
*** Décoration en Cd à D3 ***
2495 141 (x8D) Xg
2496 149 (x95) Xd
2497 41 (x29) Yh
2498 60 (x3C) Yb
2499 8 (x08) doit concorder avec image en Cg, donc 8
2500 20 (x14) doit concorder avec image en Cg, donc 20
*** Décoration en Fg à D3 ***
2501 1 (x01) Xg
2502 47 (x2F) Xd
2503 37 (x25) Yh
2504 63 (x3F) Yb
2505 24 (x18) doit concorder avec image en F, donc 24
2506 27 (x1B) doit concorder avec image en F, donc 27
*** Décoration en F à D3 ***
2507 88 (x58) Xg
2508 134 (x86) Xd
2509 37 (x25) Yh
2510 63 (x3F) Yb
2511 24 (x18) (Xd+1)-Xg=47 => on prend 48/2=24
2512 27 (x1B) H de l'image redimensionnée
*** Décoration en Fd à D3 ***
2513 171 (xAB) Xg
2514 217 (xD9) Xd
2515 37 (x25) Yh
2516 63 (x3F) Yb
2517 24 (x18) doit concorder avec image en F, donc 24
2518 27 (x1B) doit concorder avec image en F, donc 27
*** Décoration en Cg à D2 ***
2519 61 (x3D) Xg
2520 76 (x4C) Xd
2521 38 (x26) Yh
2522 67 (x43) Yb
2523 8 (x08) (Xd+1)-Xg=16 => largeur/2=8
2524 30 (x1E) H de l'image redimensionnée
*** Décoration en Cd à D2 ***
2525 147 (x93) Xg
2526 162 (xA2) Xd
2527 38 (x26) Yh
2528 67 (x43) Yb
2529 8 (x08) doit concorder avec image en Cg, donc 8
2530 30 (x1E) doit concorder avec image en Cg, donc 30
*** Décoration en Fg à D2 ***
2531 0 (x00) Xg
2532 43 (x2B) Xd
2533 37 (x25) Yh
2534 73 (x49) Yb
2535 32 (x20) doit concorder avec image en F, donc 32
2536 37 (x25) doit concorder avec image en F, donc 37
*** Décoration en F à D2 ***
2537 80 (x50) Xg
2538 143 (x8F) Xd
2539 37 (x25) Yh
2540 73 (x49) Yb
2541 32 (x20) (Xd+1)-Xg=64 => largeur/2=32
2542 37 (x25) H de l'image redimensionnée
*** Décoration en Fd à D2 ***
2543 180 (xB4) Xg
2544 223 (xDF) Xd
2545 37 (x25) Yh
2546 73 (x49) Yb
2547 32 (x20) doit concorder avec image en F, donc 32
2548 37 (x25) doit concorder avec image en F, donc 37
*** Décoration en Cg à D1 ***
2549 32 (x20) Xg
2550 63 (x3F) Xd
2551 36 (x24) Yh
2552 83 (x53) Yb
2553 16 (x10) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2554 48 (x30) H de l'image
*** Décoration en Cd à D1 ***
2555 160 (xA0) Xg
2556 191 (xBF) Xd
2557 36 (x24) Yh
2558 83 (x53) Yb
2559 16 (x10) doit concorder avec image en Cg, donc 16
2560 48 (x30) doit concorder avec image en Cg, donc 48
*** Décoration en F à D1 ***
2561 64 (x40) Xg
2562 159 (x9F) Xd
2563 36 (x24) Yh
2564 91 (x5B) Yb
2565 48 (x30) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2566 56 (x38) H de l'image
Concerne les décorations murales de petite taille, placées en bas de mur et centrées.
Graphs : 0143-0144, 0187-0188, 0189-0190, 0221-0222 (NB: 0231-0232 devraient être dans ce groupe)
Dimensions : vue côté 16x19, vue face 32x28 (NB : largeur = multiple de 16)
*** Décoration en Cg à D3 ***
2567 80 (x50) Xg
2568 83 (x53) Xd
2569 66 (x42) Yh
2570 70 (x46) Yb
2571 8 (x08) (Xd+1)-Xg=4 => on prend 16/2=8
2572 5 (x05) H de l'image redimensionnée (NB: H=(Yb+1)-Yh)
*** Décoration en Cd à D3 ***
2573 140 (x8C) Xg
2574 143 (x8F) Xd
2575 66 (x42) Yh
2576 70 (x46) Yb
2577 8 (x08) doit concorder avec image en Cg, donc 8
2578 5 (x05) doit concorder avec image en Cg, donc 5
*** Décoration en Fg à D3 ***
2579 16 (x10) Xg
2580 29 (x1D) Xd
2581 64 (x40) Yh
2582 75 (x4B) Yb
2583 8 (x08) doit concorder avec image en F, donc 8
2584 12 (x0C) doit concorder avec image en F, donc 12
*** Décoration en F à D3 ***
2585 106 (x6A) Xg
2586 119 (x77) Xd
2587 64 (x40) Yh
2588 45 (x4B) Yb
2589 8 (x08) (Xd+1)-Xg=14 => on prend 16/2=8
2590 12 (x0C) H de l'image redimensionnée
*** Décoration en Fd à D3 ***
2591 187 (xBB) Xg
2592 200 (xC8) Xd
2593 64 (x40) Yh
2594 45 (x4B) Yb
2595 8 (x08) doit concorder avec image en F, donc 8
2596 12 (x0C) doit concorder avec image en F, donc 12
*** Décoration en Cg à D2 ***
2597 67 (x43) Xg
2598 77 (x4D) Xd
2599 74 (x4A) Yh
2600 83 (x53) Yb
2601 8 (x08) (Xd+1)-Xg=11 => on prend 16/2=8
2602 10 (x0A) H de l'image redimensionnée
*** Décoration en Cd à D2 ***
2603 146 (x92) Xg
2604 156 (x9C) Xd
2605 74 (x4A) Yh
2606 83 (x53) Yb
2607 8 (x08) doit concorder avec image en Cg, donc 8
2608 10 (x0A) doit concorder avec image en Cg, donc 10
*** Décoration en Fg à D2 ***
2609 0 (x00) Xg
2610 17 (x11) Xd
2611 73 (x49) Yh
2612 90 (x5A) Yb
2613 16 (x10) doit concorder avec image en F, donc 16
2614 18 (x12) doit concorder avec image en F, donc 18
*** Décoration en F à D2 ***
2615 100 (x64) Xg
2616 121 (x79) Xd
2617 73 (x49) Yh
2618 90 (x5A) Yb
2619 16 (x10) (Xd+1)-Xg=22 => on prend 32/2=16
2620 18 (x12) H de l'image redimensionnée
*** Décoration en Fd à D2 ***
2621 206 (xCE) Xg
2622 223 (xDF) Xd
2623 73 (x49) Yh
2624 90 (x5A) Yb
2625 16 (x10) doit concorder avec image en F, donc 16
2626 18 (x12) doit concorder avec image en F, donc 18
*** Décoration en Cg à D1 ***
2627 48 (x30) Xg
2628 63 (x3F) Xd
2629 84 (x54) Yh
2630 102 (x66) Yb
2631 8 (x08) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2632 19 (x13) H de l'image
*** Décoration en Cd à D1 ***
2633 160 (xA0) Xg
2634 175 (xAF) Xd
2635 84 (x54) Yh
2636 102 (x66) Yb
2637 8 (x08) doit concorder avec image en Cg, donc 8
2638 19 (x13) doit concorder avec image en Cg, donc 19
*** Décoration en F à D1 ***
2639 96 (x60) Xg
2640 127 (x7F) Xd
2641 92 (x5C) Yh
2642 119 (x77) Yb
2643 16 (x10) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2644 28 (x1C) H de l'image
Concerne les décorations de petite taille, placées en milieu de mur et centrées (bouche d'égout)
Graphs : 0145-0146.
Dimensions : vue côté 16x19, vue face 32x28 (NB : largeur = multiple de 16)
*** Décoration en Cg à D3 ***
2645 80 (x50) Xg
2646 83 (x53) Xd
2647 49 (x31) Yh
2648 53 (x35) Yb
2649 8 (x08) (Xd+1)-Xg=4 => on prend 16/2=8
2650 5 (x05) H de l'image redimensionnée
*** Décoration en Cd à D3 ***
2651 140 (x8C) Xg
2652 143 (x8F) Xd
2653 49 (x31) Yh
2654 53 (x35) Yb
2655 8 (x08) doit concorder avec image en Cg, donc 8
2656 5 (x05) doit concorder avec image en Cg, donc 5
*** Décoration en Fg à D3 ***
2657 16 (x10) Xg
2658 29 (x1D) Xd
2659 50 (x32) Yh
2660 61 (x3D) Yb
2661 8 (x08) doit concorder avec image en F, donc 8
2662 12 (x0C) doit concorder avec image en F, donc 12
*** Décoration en F à D3 ***
2663 106 (x6A) Xg
2664 119 (x77) Xd
2665 50 (x32) Yh
2666 61 (x3D) Yb
2667 8 (x08) (Xd+1)-Xg=14 => on prend 16/2=8
2668 12 (x0C) H de l'image redimensionnée
*** Décoration en Fd à D3 ***
2669 187 (xBB) Xg
2670 200 (xC8) Xd
2671 50 (x32) Yh
2672 61 (x3D) Yb
2673 8 (x08) doit concorder avec image en F, donc 8
2674 12 (x0C) doit concorder avec image en F, donc 12
*** Décoration en Cg à D2 ***
2675 67 (x43) Xg
2676 77 (x4D) Xd
2677 53 (x35) Yh
2678 62 (x3E) Yb
2679 8 (x08) (Xd+1)-Xg=11 => on prend 16/2=8
2680 10 (x0A) H de l'image redimensionnée
*** Décoration en Cd à D2 ***
2681 146 (x92) Xg
2682 156 (x9C) Xd
2683 53 (x35) Yh
2684 62 (x3E) Yb
2685 8 (x08) doit concorder avec image en Cg, donc 8
2686 10 (x0A) doit concorder avec image en Cg, donc 10
*** Décoration en Fg à D2 ***
2687 0 (x00) Xg
2688 17 (x11) Xd
2689 55 (x37) Yh
2690 72 (x48) Yb
2691 16 (x10) doit concorder avec image en F, donc 16
2692 18 (x12) doit concorder avec image en F, donc 18
*** Décoration en F à D2 ***
2693 100 (x64) Xg
2694 121 (x79) Xd
2695 55 (x37) Yh
2696 72 (x48) Yb
2697 16 (x10) (Xd+1)-Xg=22 => on prend 32/2=16
2698 18 (x12) H de l'image redimensionnée
*** Décoration en Fd à D2 ***
2699 206 (xCE) Xg
2700 223 (xDF) Xd
2701 55 (x37) Yh
2702 72 (x48) Yb
2703 16 (x10) doit concorder avec image en F, donc 16
2704 18 (x12) doit concorder avec image en F, donc 18
*** Décoration en Cg à D1 ***
2705 48 (x30) Xg
2706 63 (x3F) Xd
2707 57 (x39) Yh
2708 75 (x4B) Yb
2709 8 (x08) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2710 19 (x13) H de l'image
*** Décoration en Cd à D1 ***
2711 160 (xA0) Xg
2712 175 (xAF) Xd
2713 57 (x39) Yh
2714 75 (x4B) Yb
2715 8 (x08) doit concorder avec image en Cg, donc 8
2716 19 (x13) doit concorder avec image en Cg, donc 19
*** Décoration en F à D1 ***
2717 96 (x60) Xg
2718 127 (x7F) Xd
2719 64 (x40) Yh
2720 91 (x5B) Yb
2721 16 (x10) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2722 28 (x1C) H de l'image
Concerne les décorations larges, placées en haut de mur et centrées (type "canons" à boules de feu)
Graphs : 0201-0202, 0203-0204, 0205-0206.
Dimensions : vue côté 32x12, vue face 96x12 (NB : largeur = multiple de 16)
*** Décoration en Cg à D3 ***
2723 75 (x4B) Xg
2724 90 (x5A) Xd
2725 40 (x28) Yh
2726 44 (x2C) Yb
2727 8 (x08) (Xd+1)-Xg=16 => largeur/2=8
2728 5 (x05) H de l'image redimensionnée
*** Décoration en Cd à D3 ***
2729 133 (x85) Xg
2730 148 (x94) Xd
2731 40 (x28) Yh
2732 44 (x2C) Yb
2733 8 (x08) doit concorder avec image en Cg, donc 8
2734 5 (x05) doit concorder avec image en Cg, donc 5
*** Décoration en Fg à D3 ***
2735 1 (x01) Xg
2736 48 (x30) Xd
2737 44 (x2C) Yh
2738 49 (x31) Yb
2739 24 (x18) doit concorder avec image en F, donc 24
2740 6 (x06) doit concorder avec image en F, donc 6
*** Décoration en F à D3 ***
2741 88 (x58) Xg
2742 135 (x87) Xd
2743 44 (x2C) Yh
2744 49 (x31) Yb
2745 24 (x18) (Xd+1)-Xg=48 => largeur/2=24
2746 6 (x06) H de l'image redimensionnée
*** Décoration en Fd à D3 ***
2747 171 (xAB) Xg
2748 218 (xDA) Xd
2749 44 (x2C) Yh
2750 49 (x31) Yb
2751 24 (x18) doit concorder avec image en F, donc 24
2752 6 (x06) doit concorder avec image en F, donc 6
*** Décoration en Cg à D2 ***
2753 60 (x3C) Xg
2754 77 (x4D) Xd
2755 40 (x28) Yh
2756 46 (x2E) Yb
2757 16 (x10) (Xd+1)-Xg=18 => on prend 32/2=16
2758 7 (x07) H de l'image redimensionnée
*** Décoration en Cd à D2 ***
2759 146 (x92) Xg
2760 163 (xA3) Xd
2761 40 (x28) Yh
2762 46 (x2E) Yb
2763 16 (x10) doit concorder avec image en Cg, donc 16
2764 7 (x07) doit concorder avec image en Cg, donc 7
*** Décoration en Fg à D2 ***
2765 0 (x00) Xg
2766 35 (x23) Xd
2767 43 (x2B) Yh
2768 50 (x32) Yb
2769 32 (x20) doit concorder avec image en F, donc 32
2770 8 (x08) doit concorder avec image en F, donc 8
*** Décoration en F à D2 ***
2771 80 (x50) Xg
2772 143 (x8F) Xd
2773 43 (x2B) Yh
2774 50 (x32) Yb
2775 32 (x20) (Xd+1)-Xg=64 => largeur/2=32
2776 8 (x08) H de l'image redimensionnée
*** Décoration en Fd à D2 ***
2777 184 (xB8) Xg
2778 223 (xDF) Xd
2779 43 (x2B) Yh
2780 50 (x32) Yb
2781 32 (x20) doit concorder avec image en F, donc 32
2782 8 (x08) doit concorder avec image en F, donc 8
*** Décoration en Cg à D1 ***
2783 32 (x20) Xg
2784 63 (x3F) Xd
2785 41 (x29) Yh
2786 52 (x34) Yb
2787 16 (x10) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2788 12 (x0C) H de l'image
*** Décoration en Cd à D1 ***
2789 160 (xA0) Xg
2790 191 (xBF) Xd
2791 41 (x29) Yh
2792 52 (x34) Yb
2793 16 (x10) doit concorder avec image en Cg, donc 16
2794 12 (x0C) doit concorder avec image en Cg, donc 12
*** Décoration en F à D1 ***
2795 64 (x40) Xg
2796 159 (x9F) Xd
2797 41 (x29) Yh
2798 52 (x34) Yb
2799 48 (x30) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2800 12 (x0C) H de l'image
Concerne les décorations de taille moyenne, placées en haut de mur et centrées (miroir champion)
Graphs : 0207-0208
Dimensions : vue côté 16x35, vue face 64x43 (NB : largeur = multiple de 16)
*** Décoration en Cg à D3 ***
2801 78 (x4E) Xg
2802 85 (x55) Xd
2803 36 (x24) Yh
2804 51 (x33) Yb
2805 8 (x08) (Xd+1)-Xg=8 => on prend 16/2=8
2806 16 (x10) H de l'image redimensionnée
*** Décoration en Cd à D3 ***
2807 138 (x8A) Xg
2808 145 (x91) Xd
2809 36 (x24) Yh
2810 51 (x33) Yb
2811 8 (x08) doit concorder avec image en Cg, donc 8
2812 16 (x10) doit concorder avec image en Cg, donc 16
*** Décoration en Fg à D3 ***
2813 10 (x0A) Xg
2814 41 (x29) Xd
2815 34 (x22) Yh
2816 53 (x35) Yb
2817 16 (x10) doit concorder avec image en F, donc 16
2818 20 (x14) doit concorder avec image en F, donc 20
*** Décoration en F à D3 ***
2819 98 (x62) Xg
2820 129 (x81) Xd
2821 34 (x22) Yh
2822 53 (x35) Yb
2823 16 (x10) (Xd+1)-Xg=32 => largeur/2=16
2824 20 (x14) H de l'image redimensionnée
*** Décoration en Fd à D3 ***
2825 179 (xB3) Xg
2826 210 (xD2) Xd
2827 34 (x22) Yh
2828 53 (x35) Yb
2829 16 (x10) doit concorder avec image en F, donc 16
2830 20 (x14) doit concorder avec image en F, donc 20
*** Décoration en Cg à D2 ***
2831 66 (x42) Xg
2832 75 (x4B) Xd
2833 34 (x22) Yh
2834 56 (x38) Yb
2835 8 (x08) (Xd+1)-Xg=10 => on prend 16/2=8
2836 23 (x17) H de l'image redimensionnée
*** Décoration en Cd à D2 ***
2837 147 (x93) Xg
2838 157 (x9D) Xd
2839 34 (x22) Yh
2840 56 (x38) Yb
2841 8 (x08) doit concorder avec image en Cg, donc 8
2842 23 (x17) doit concorder avec image en Cg, donc 23
*** Décoration en Fg à D2 ***
2843 0 (x00) Xg
2844 26 (x1A) Xd
2845 33 (x21) Yh
2846 61 (x3D) Yb
2847 24 (x18) doit concorder avec image en F, donc 24
2848 29 (x1D) doit concorder avec image en F, donc 29
*** Décoration en F à D2 ***
2849 91 (x5B) Xg
2850 133 (x85) Xd
2851 33 (x21) Yh
2852 61 (x3D) Yb
2853 24 (x18) (Xd+1)-Xg=43 => on prend 48/2=24
2854 29 (x1D) H de l'image redimensionnée
*** Décoration en Fd à D2 ***
2855 194 (xC2) Xg
2856 223 (xDF) Xd
2857 33 (x21) Yh
2858 61 (x3D) Yb
2859 24 (x18) doit concorder avec image en F, donc 24
2860 29 (x1D) doit concorder avec image en F, donc 29
*** Décoration en Cg à D1 ***
2861 41 (x29) Xg
2862 56 (x38) Xd
2863 31 (x1F) Yh
2864 65 (x41) Yb
2865 8 (x08) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2866 35 (x23) H de l'image
*** Décoration en Cd à D1 ***
2867 167 (xA7) Xg
2868 182 (xB6) Xd
2869 31 (x1F) Yh
2870 65 (x41) Yb
2871 8 (x08) doit concorder avec image en Cg, donc 8
2872 35 (x23) doit concorder avec image en Cg, donc 35
*** Décoration en F à D1 ***
2873 80 (x50) Xg
2874 143 (x8F) Xd
2875 29 (x1D) Yh
2876 71 (x47) Yb
2877 32 (x20) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2878 43 (x2B) H de l'image
Concerne les grandes décorations, sur toute la hauteur du mur (joyau de puissance)
Graphs : 0233-0234, 0235-0236, 0237-0238.
Dimensions : vue côté 16x111, vue face 96x111 (NB : largeur = multiple de 16)
*** Décoration en Cg à D3 ***
2879 75 (x4B) Xg
2880 82 (x52) Xd
2881 25 (x19) Yh
2882 75 (x4B) Yb
2883 8 (x08) (Xd+1)-Xg=8 => on prend 16/2=8
2884 51 (x33) H de l'image redimensionnée
*** Décoration en Cd à D3 ***
2885 142 (x8E) Xg
2886 149 (x95) Xd
2887 25 (x19) Yh
2888 75 (x4B) Yb
2889 8 (x08) doit concorder avec image en Cg, donc 8
2890 51 (x33) doit concorder avec image en Cg, donc 51
*** Décoration en Fg à D3 ***
2891 12 (x0C) Xg
2892 60 (x3C) Xd
2893 25 (x19) Yh
2894 75 (x4B) Yb
2895 32 (x20) doit concorder avec image en F, donc 32
2896 51 (x33) doit concorder avec image en F, donc 51
*** Décoration en F à D3 ***
2897 88 (x58) Xg
2898 136 (x88) Xd
2899 25 (x19) Yh
2900 75 (x4B) Yb
2901 32 (x20) (Xd+1)-Xg=49 => on prend 64/2=32
2902 51 (x33) H de l'image redimensionnée
*** Décoration en Fd à D3 ***
2903 163 (xA3) Xg
2904 211 (xD3) Xd
2905 25 (x19) Yh
2906 75 (x4B) Yb
2907 32 (x20) doit concorder avec image en F, donc 32
2908 51 (x33) doit concorder avec image en F, donc 51
*** Décoration en Cg à D2 ***
2909 64 (x40) Xg
2910 73 (x49) Xd
2911 20 (x14) Yh
2912 90 (x5A) Yb
2913 8 (x08) (Xd+1)-Xg=10 => on prend 16/2=8
2914 71 (x47) H de l'image redimensionnée
*** Décoration en Cd à D2 ***
2915 150 (x96) Xg
2916 159 (x9F) Xd
2917 20 (x14) Yh
2918 90 (x5A) Yb
2919 8 (x08) doit concorder avec image en Cg, donc 8
2920 71 (x47) doit concorder avec image en Cg, donc 71
*** Décoration en Fg à D2 ***
2921 0 (x00) Xg
2922 38 (x26) Xd
2923 20 (x14) Yh
2924 90 (x5A) Yb
2925 32 (x20) doit concorder avec image en F, donc 32
2926 71 (x47) doit concorder avec image en F, donc 71
*** Décoration en F à D2 ***
2927 82 (x52) Xg
2928 142 (x8E) Xd
2929 20 (x14) Yh
2930 90 (x5A) Yb
2931 32 (x20) (Xd+1)-Xg=61 => on prend 64/2=32
2932 71 (x47) H de l'image redimensionnée
*** Décoration en Fd à D2 ***
2933 184 (xB8) Xg
2934 223 (xDf) Xd
2935 20 (x14) Yh
2936 90 (x5A) Yb
2937 32 (x20) doit concorder avec image en F, donc 32
2938 71 (x47) doit concorder avec image en F, donc 71
*** Décoration en Cg à D1 ***
2939 41 (x29) Xg
2940 56 (x38) Xd
2941 9 (x09) Yh
2942 119 (x77) Yb
2943 8 (x08) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2944 111 (x6F) H de l'image
*** Décoration en Cd à D1 ***
2945 169 (xA9) Xg
2946 184 (xB8) Xd
2947 9 (x09) Yh
2948 119 (x77) Yb
2949 8 (x08) doit concorder avec image en Cg, donc 8
2950 111 (x6F) doit concorder avec image en Cg, donc 111
*** Décoration en F à D1 ***
2951 64 (x40) Xg
2952 159 (x9F) Xd
2953 9 (x09) Yh
2954 119 (x77) Yb
2955 48 (x30) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
2956 111 (x6F) H de l'image
Concerne les très grandes décorations murales, couvrant tout un mur (Librasulus dehors)
Graphs : 0239-0240.
Dimensions : vue côté 32x111, vue face 160x111 (NB : largeur = multiple de 16)
*** Décoration en Cg à D3 ***
2957 74 (x4A) Xg
2958 85 (x55) Xd
2959 25 (x19) Yh
2960 75 (x4B) Yb
2961 8 (x08) (Xd+1)-Xg=12 => on prend 16/2=8
2962 51 (x33) H de l'image redimensionnée
*** Décoration en Cd à D3 ***
2963 137 (x89) Xg
2964 149 (x95) Xd
2965 25 (x19) Yh
2966 75 (x4B) Yb
2967 8 (x08) doit concorder avec image en Cg, donc 8
2968 51 (x33) doit concorder avec image en Cg, donc 51
- - - - *** Décoration en Fg à D3 ***
- - - - 2969 0 (x00) Xg
- - - - 2970 83 (x53) Xd => largeur=(Xd+1)-Xg=84 => du délire! Plus large qu'en F (!)
- - - - => grabouillage en perspective :)))
- - - - 2971 25 (x19) Yh
- - - - 2972 75 (x4B) Yb
- - - - 2973 48 (x30) doit concorder avec image en F, donc 48... hum...
- - - - 2974 51 (x33) doit concorder avec image en F, donc 51
- - - -
- - - - *** Décoration en F à D3 ***
- - - - 2975 74 (x4A) Xg
- - - - 2976 149 (x95) Xd
- - - - 2977 25 (x19) Yh
- - - - 2978 75 (x4B) Yb
- - - - 2979 48 (x30) (Xd+1)-Xg=76 => on prend 80/2=40... ah non, tiens? :)))
- - - - => Paul Stevens a raison (comme toujours ^^)
- - - - 2980 51 (x33) H de l'image redimensionnée
- - - -
- - - - *** Décoration en Fd à D3 ***
- - - - 2981 139 (x8B) Xg
- - - - 2982 223 (xDF) Xd => largeur=(Xd+1)-Xg=85 => c'est la fête!
- - - - => encore des grabouillages en perspective! :)))
- - - - 2983 25 (x19) Yh
- - - - 2984 75 (x4B) Yb
- - - - 2985 48 (x30) doit concorder avec image en F, donc 48...
- - - - 2986 51 (x33) doit concorder avec image en F, donc 51
----------------------------------------------
*** Correction rapide du "ch'tit problème" ***
----------------------------------------------
Largeur mur à D3=76 pixels => largeur en F est donc ok!
Largeur vue donjon=224 pixels. 224-76=148. 148/2=74 => largeur en Fg et Fd =74 pixels!
Donc, utiliser les valeurs suivantes :
*** Décoration en Fg à D3 ***
2969 0 (x00) Xg
2970 73 (x49) Xd=Xg+74-1=73
2971 25 (x19) Yh
2972 75 (x4B) Yb
2973 40 (x28) doit concorder avec image en F, donc 40
2974 51 (x33) doit concorder avec image en F, donc 51
*** Décoration en F à D3 ***
2975 74 (x4A) Xg
2976 149 (x95) Xd
2977 25 (x19) Yh
2978 75 (x4B) Yb
2979 40 (x28) (Xd+1)-Xg=76 => on prend 80/2=40
2980 51 (x33) H de l'image redimensionnée
*** Décoration en Fd à D3 ***
2981 150 (x96) Xg=(Xd+1)-74=150
2982 223 (xDF) Xd
2983 25 (x19) Yh
2984 75 (x4B) Yb
2985 40 (x28) doit concorder avec image en F, donc 40
2986 51 (x33) doit concorder avec image en F, donc 51
*** Décoration en Cg à D2 ***
2987 60 (x3C) Xg
2988 77 (x4D) Xd
2989 20 (x14) Yh
2990 90 (x5A) Yb
2991 16 (x10) (Xd+1)-Xg=18 => on prend 32/2=16
2992 71 (x47) H de l'image redimensionnée
*** Décoration en Cd à D2 ***
2993 146 (x92) Xg
2994 163 (xA3) Xd
2995 20 (x14) Yh
2996 90 (x5A) Yb
2997 16 (x10) doit concorder avec image en Cg, donc 16
2998 71 (x47) doit concorder avec image en Cg, donc 71
*** Décoration en Fg à D2 ***
2999 0 (x00) Xg
3000 74 (x4A) Xd
3001 20 (x14) Yh
3002 90 (x5A) Yb
3003 56 (x38) doit concorder avec image en F, donc 56
3004 71 (x47) doit concorder avec image en F, donc 71
*** Décoration en F à D2 ***
3005 60 (x3C) Xg
3006 163 (xA3) Xd
3007 20 (x14) Yh
3008 90 (x5A) Yb
3009 56 (x38) (Xd+1)-Xg=104 => on prend 112/2=56
3010 71 (x47) H de l'image (NB: H=(Yb+1)-Yh)
*** Décoration en Fd à D2 ***
3011 149 (x95) Xg
3012 223 (xDF) Xd
3013 20 (x14) Yh
3014 90 (x5A) Yb
3015 56 (x38) doit concorder avec image en F, donc 56
3016 71 (x47) doit concorder avec image en F, donc 71
---------------------------------------------------
*** Remarque sur les valeurs pour Fg et Fd à D2 ***
---------------------------------------------------
Largeur mur à D2=104 pixels (=> largeur en F ok)
Largeur vue donjon=224 pixels. 224-104=120. 120/2=60
Donc (Xd+1)-Xg devrait nous donner 60 pour Fg et Fd...
Or, on obtient 75! Ceci est en fait destiné à créer un léger effet de
perspective, donnant l'impression que l'image de Librasulus n'est pas
"plaquée" sur le mur! En effet, l'excédent de 15 pixels sera masqué par
le mur en F!
Le dessin suivant représente la vue du donjon. Le mur en F à D2 est un
mur "nu", sans décoration. La partie hachurée / / / représente la
partie visible de la décoration murale "Librasulus dehors" en Fg, à D2.
La partie hachurée \\\ représente l'excédent de 15 pixels de cette
décoration qui est masquée par le mur en F.
-----------------------------------------
| |
| |
| |
+--------+-+-------------------+--------+
|/ / / / |\| | |
| / / / /|\| | |
|/ / / / |\| | |
| / / / /|\| | |
|/ / / / |\| | |
| / / / /|\| | |
|/ / / / |\| | |
+--------+-+-------------------+--------+
| |
| |
| |
-----------------------------------------
Remarque : les petites erreurs constatées pour les données en Fg, F, et
Fd à D3 sont sans aucun doute dûes à une tentative de reproduire ce
léger effet de perspective à la distance 3! Seulement cela ne pouvait
pas marcher puisque l'excédent de 10 pixels choisi rendait les images
en Fg et Fd plus larges que l'image en F! :)))
** REMARQUE ** : si l'on souhaite remplacer "Librasulus dehors" par une
décoration murale personnalisée de mêmes dimensions, mais qui ne soit
pas partiellement masquée en Fg ou en Fd à D2, il faut supprimer
l'excédent de 15 pixels! Pour cela, il suffit de donner aux octets 3000
et 3011 les valeurs suivantes :
3000 59 (x3B)
3011 164 (xA4)
*** Décoration en Cg à D1 ***
3017 32 (x20) Xg
3018 63 (x3F) Xd
3019 9 (x09) Yh
3020 119 (x77) Yb
3021 16 (x10) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
3022 111 (x6F) H de l'image
*** Décoration en Cd à D1 ***
3023 160 (xA0) Xg
3024 191 (xBF) Xd
3025 9 (x09) Yh
3026 119 (x77) Yb
3027 16 (x10) doit concorder avec image en Cg, donc 16
3028 111 (x6F) doit concorder avec image en Cg, donc 111
*** Décoration en F à D1 ***
3029 32 (x20) Xg
3030 191 (xBF) Xd
3031 9 (x09) Yh
3032 119 (x77) Yb
3033 80 (x50) largeur de l'image/2 (NB largeur de l'image = multiple de 16)
3034 111 (x6F) H de l'image
Cette partie concerne l'affichage des textes "illisibles" sur les murs, donc les graphs 0121 pour la vue
de côté à D1, D2 ou D3, et 0122 pour la vue de face à D2 ou D3. En effet, en fonction du nombre de lignes
que comporte le texte réel, sa représentation (graph 0121 ou 0122) sera "coupée" plus ou moins haut, de
sorte que l'on verra autant de lignes de texte "illisible" qu'il y en a dans le texte réel. Si le texte
réel comporte 4 lignes, alors le graph 0121 ou 0122 est affiché en entier.
Vue du donjon (sur cet exemple, on considère que le texte réel comporte 2 lignes et que l'on doit donc
voir 2 lignes de texte illisible, à D2 ou D3) :
0-------------------------------+-> X (en pixels)
| |
| |
| --------------- |
| | BABCDE GH | <------------- Partie visible de l'image
| | O IJKLMNO | | du texte "illisible"
Yc-+- - - - +-------------+ |
| ' ' |
| ' ' <------------- Partie "coupée" de l'image du texte
| '.............' | "illisible", qui n'est donc pas affichée.
| |
| |
| |
+-------------------------------+
|
Y
(en pixels)
Yc : ordonnée de "coupe" de l'image du texte illisible dans la vue du donjon
*** Texte à D3, vu de côté (Graph 0121) ***
3035 45 (x2D) Yc=45 pixels si le texte réel tient sur 1 ligne
3036 48 (x30) Yc=48 pixels si le texte réel comporte 2 lignes
3037 53 (x35) Yc=53 pixels si le texte réel comporte 3 lignes
*** Texte à D3, vu de face (Graph 0122) ***
3038 43 (x2B) Yc=43 pixels si le texte réel tient sur 1 ligne
3039 49 (x31) Yc=49 pixels si le texte réel comporte 2 lignes
3040 56 (x38) Yc=56 pixels si le texte réel comporte 3 lignes
*** Texte à D2, vu de côté (Graph 0121) ***
3041 42 (x2A) Yc=42 pixels si le texte réel tient sur 1 ligne
3042 49 (x31) Yc=49 pixels si le texte réel comporte 2 lignes
3043 56 (x38) Yc=56 pixels si le texte réel comporte 3 lignes
*** Texte à D2, vu de face (Graph 0122) ***
3044 46 (x2E) Yc=46 pixels si le texte réel tient sur 1 ligne
3045 53 (x35) Yc=53 pixels si le texte réel comporte 2 lignes
3046 63 (x3F) Yc=63 pixels si le texte réel comporte 3 lignes
*** Texte à D1, vu de côté (Graph 0121) ***
3047 46 (x2E) Yc=46 pixels si le texte réel tient sur 1 ligne
3048 57 (x39) Yc=57 pixels si le texte réel comporte 2 lignes
3049 68 (x44) Yc=68 pixels si le texte réel comporte 3 lignes
3050 0 (x00) ???
Cette partie donne simplement les ordonnées auxquelles doivent être affichées les lignes d'un texte mural
(vu de face à D1).
3051 48 (x30) la 1ère ligne du texte mural sera écrite en Y=48 pixels
3052 59 (x3B) la 2ème ligne du texte mural sera écrite en Y=59 pixels
3053 75 (x4B) la 3ème ligne du texte mural sera écrite en Y=75 pixels
3054 86 (x56) la 4ème ligne du texte mural sera écrite en Y=86 pixels
Cette partie donne juste les coordonnées auxquelles un tout petit bout de mur (provenant du graph 0086)
doit être affiché pour masquer la jointure entre 2 briques au milieu d'un texte mural! :))
3055 110 (x6E) Xg
3056 113 (x71) Xd
3057 37 (x25) Yh
3058 62 (x3E) Yb
Cette partie indique les changements de couleurs qu'il faut effectuer pour afficher les décorations de
porte à D2 ou à D3, par rapport aux couleurs utilisées à D1. Les octets viennent par groupes de 16 et
chaque octet représente une couleur, dans l'ordre 0, 1, 2... La valeur d'un octet donne simplement
l'indice de la couleur qui doit remplacer la couleur qu'il représente.
Remarque : la couleur 9 (orange) est utilisée comme couleur de transparence pour la décoration de porte
(=> on voit la porte au travers de la décoration), et la couleur 10 (rose) est utilisée comme couleur de
transparence pour l'ensemble "décoration+porte" (=> on voit au travers de la porte). Ces deux couleurs
sont donc invariables en ce qui concerne les décorations de porte.
Pour obtenir les bons indices de couleurs, on divise la valeur des octets par 10.
*** Pour une décoration de porte à D2 ***
3059 0 (x00) la couleur 0 (noir) ne change pas
3060 10 (x0A) la couleur 1 (gris 2) ne change pas
3061 20 (x14) la couleur 2 (gris 1) ne change pas
3062 30 (x1E) la couleur 3 (brun foncé) ne change pas
3063 40 (x28) la couleur 4 (cyan) ne change pas
3064 30 (x1E) la couleur 5 (brun) est remplacée par la couleur 3 (brun foncé)
3065 60 (x3C) la couleur 6 (vert foncé) ne change pas
3066 70 (x46) la couleur 7 (vert) ne change pas
3067 50 (x32) la couleur 8 (rouge) est remplacée par la couleur 5 (brun)
3068 90 (x5A) la couleur 9 (orange) ne change pas
3069 100 (x64) la couleur 10 (rose) ne change pas
3070 110 (x6E) la couleur 11 (jaune) ne change pas
3071 120 (x78) la couleur 12 (gris foncé) ne change pas
3072 130 (x82) la couleur 13 (gris clair) ne change pas
3073 140 (x8C) la couleur 14 (bleu) ne change pas
3074 150 (x96) la couleur 15 (blanc) ne change pas
*** Pour une décoration de porte à D3 ***
3075 0 (x00) la couleur 0 (noir) ne change pas
3076 120 (x78) la couleur 1 (gris 2) est remplacée par la couleur 12 (gris foncé)
3077 10 (x0A) la couleur 2 (gris 1) est remplacée par la couleur 1 (gris 2)
3078 30 (x1E) la couleur 3 (brun foncé) ne change pas
3079 40 (x28) la couleur 4 (cyan) ne change pas
3080 30 (x1E) la couleur 5 (brun) est remplacée par la couleur 3 (brun foncé)
3081 0 (x00) la couleur 6 (vert foncé) est remplacée par la couleur 0 (noir)
3082 60 (x3C) la couleur 7 (vert) est remplacée par la couleur 6 (vert foncé)
3083 30 (x1E) la couleur 8 (rouge) est remplacée par la couleur 3 (brun foncé)
3084 90 (x5A) la couleur 9 (orange) ne change pas
3085 100 (x64) la couleur 10 (rose) ne change pas
3086 110 (x6E) la couleur 11 (jaune) ne change pas
3087 0 (x00) la couleur 12 (gris foncé) est remplacée par la couleur 0 (noir)
3088 20 (x14) la couleur 13 (gris clair) est remplacée par la couleur 2 (gris 1)
3089 0 (x00) la couleur 14 (bleu) est remplacée par la couleur 0 (noir)
3090 130 (x82) la couleur 15 (blanc) est remplacée par la couleur 13 (gris clair)
Cette partie indique les changements de couleurs qu'il faut effectuer pour afficher les décorations
murales à D2 ou à D3, par rapport aux couleurs utilisées à D1. Le fonctionnement est le même que
précédemment.
Remarque : la couleur 9 (orange) peut être utilisée pour les décorations murales. Cependant, il faut
faire attention au fait qu'elle peut varier dans la vue du donjon en fonction des créatures présentes
dans le niveau! (pour cette même raison, la couleur 9 n'est jamais utilisée dans les images des objets,
parce que le joueur peut emporter un objet dans n'importe quel niveau et le poser au sol... remarque
c'est pratique si on veut faire une sorte "d'identificateur" de créatures : je pose mon truc par terre,
il est violet. Tiens? Il y a des vers géants dans ce niveau! :))).
La couleur 10 (rose) est utilisée comme couleur de transparence pour les décoration murales (=> on voit
le mur au travers de la décoration). Cette couleur est donc invariable pour les décorations murales.
*** Pour une décoration murale à D2 ***
3091 0 (x00) la couleur 0 (noir) ne change pas
3092 120 (x78) la couleur 1 (gris 2) est remplacée par la couleur 12 (gris foncé)
3093 10 (x0A) la couleur 2 (gris 1) est remplacée par la couleur 1 (gris 2)
3094 30 (x1E) la couleur 3 (brun foncé) ne change pas
3095 40 (x28) la couleur 4 (cyan) ne change pas
3096 30 (x1E) la couleur 5 (brun) est remplacée par la couleur 3 (brun foncé)
3097 60 (x3C) la couleur 6 (vert foncé) ne change pas
3098 70 (x46) la couleur 7 (vert) ne change pas
3099 50 (x32) la couleur 8 (rouge) est remplacée par la couleur 5 (brun)
3100 90 (x5A) la couleur 9 (orange) ne change pas
3101 100 (x64) la couleur 10 (rose) ne change pas
3102 110 (x6E) la couleur 11 (jaune) ne change pas
3103 0 (x00) la couleur 12 (gris foncé) est remplacée par la couleur 0 (noir)
3104 20 (x14) la couleur 13 (gris clair) est remplacée par la couleur 2 (gris 1)
3105 140 (x8C) la couleur 14 (bleu) ne change pas
3106 130 (x82) la couleur 15 (blanc) est remplacée par la couleur 13 (gris clair)
*** Pour une décoration murale à D3 ***
3107 0 (x00) la couleur 0 (noir) ne change pas
3108 0 (x00) la couleur 1 (gris 2) est remplacée par la couleur 0 (noir)
3109 120 (x78) la couleur 2 (gris 1) est remplacée par la couleur 12 (gris foncé)
3110 30 (x1E) la couleur 3 (brun foncé) ne change pas
3111 40 (x28) la couleur 4 (cyan) ne change pas
3112 30 (x1E) la couleur 5 (brun) est remplacée par la couleur 3 (brun foncé)
3113 0 (x00) la couleur 6 (vert foncé) est remplacée par la couleur 0 (noir)
3114 60 (x3C) la couleur 7 (vert) est remplacée par la couleur 6 (vert foncé)
3115 30 (x1E) la couleur 8 (rouge) est remplacée par la couleur 3 (brun foncé)
3116 90 (x5A) la couleur 9 (orange) ne change pas
3117 100 (x64) la couleur 10 (rose) ne change pas
3118 110 (x6E) la couleur 11 (jaune) ne change pas
3119 0 (x00) la couleur 12 (gris foncé) est remplacée par la couleur 0 (noir)
3120 10 (x0A) la couleur 13 (gris clair) est remplacée par la couleur 1 (gris 2)
3121 0 (x00) la couleur 14 (bleu) est remplacée par la couleur 0 (noir)
3122 20 (x14) la couleur 15 (blanc) est remplacée par la couleur 2 (gris 1)
Si l'on considère les parties qui suivent celle-ci, on pourrait penser que l'octet 3123 sert à
indiquer quel groupe de coordonnées il faut utiliser pour afficher le bouton de porte... (peut-être
était-il prévu à l'origine qu'il y ait plusieurs types de boutons de porte différents!)
3123 0 (x00) => si la valeur est modifiée, cela affecte le bouton de porte...
3124 0 (x00) ??? (peut-être prévu à l'origine pour un autre graph de bouton de porte (?)...)
Four coordinates sets to display door decorations are defined at offset 0868h.
This section contains one byte for each of the 12 door decorations to define which coordinates set to use.
Graphic item #303 uses coordinates set 0 (Square Grid)
Graphic item #304 uses coordinates set 1 (Iron Bars)
Graphic item #305 uses coordinates set 1 (Jewels)
Graphic item #306 uses coordinates set 1 (Wooden Bars)
Graphic item #307 uses coordinates set 0 (Arched Grid)
Graphic item #308 uses coordinates set 2 (Block Lock)
Graphic item #309 uses coordinates set 3 (Corner Lock)
Graphic item #310 uses coordinates set 1 (Black door)
Graphic item #311 uses coordinates set 2 (Red Triangle Lock)
Graphic item #312 uses coordinates set 2 (Triangle Lock)
Graphic item #313 uses coordinates set 1 (Ra Door Energy)
Graphic item #314 uses coordinates set 1 (Iron Door Damages)
Three coordinates sets to display floor decorations are defined at offset 08C8h.
This section contains one byte for each of the 9 floor decorations to define which coordinates set to use.
The 10th byte in this section is 00h. Probably padding for word alignment in memory.
Note: Footprints (Graphic items #241-246) are a special case of floor decoration manage separately. It is the only floor decoration using coordinates set 1 but it is not declared here.
Graphic items #247-252 use coordinates set 0 (Square Grate)
Graphic items #253-258 use coordinates set 0 (Square Pressure Pad)
Graphic items #259-264 use coordinates set 0 (Moss)
Graphic items #265-270 use coordinates set 0 (Round Grate)
Graphic items #271-276 use coordinates set 2 (Round Pressure Plate)
Graphic items #277-282 use coordinates set 0 (Black Flame Pit)
Graphic items #283-288 use coordinates set 0 (Crack)
Graphic items #289-294 use coordinates set 2 (Tiny Pressure Pad)
Graphic items #295-300 use coordinates set 0 (Puddle)
Seven coordinates sets to display wall decorations are defined at offset 096Ah.
This section contains one byte for each of the 60 wall decorations to define which coordinates set to use.
Graphic items #0121-0122 use coordinates set 1 (Unreadable Wall Inscription)
Graphic items #0123-0124 use coordinates set 1 (Square Alcove)
Graphic items #0125-0126 use coordinates set 1 (Vi Altar)
Graphic items #0127-0128 use coordinates set 1 (Arched Alcove)
Graphic items #0129-0130 use coordinates set 0 (Hook)
Graphic items #0131-0132 use coordinates set 0 (Iron Lock)
Graphic items #0133-0134 use coordinates set 0 (Wood Ring)
Graphic items #0135-0136 use coordinates set 0 (Small Switch)
Graphic items #0137-0138 use coordinates set 0 (Dent 1)
Graphic items #0139-0140 use coordinates set 0 (Dent 2)
Graphic items #0141-0142 use coordinates set 0 (Iron Ring)
Graphic items #0143-0144 use coordinates set 2 (Crack)
Graphic items #0145-0146 use coordinates set 3 (Slime Outlet)
Graphic items #0147-0148 use coordinates set 0 (Dent 3)
Graphic items #0149-0150 use coordinates set 0 (Tiny Switch)
Graphic items #0151-0152 use coordinates set 0 (Green Switch Out)
Graphic items #0153-0154 use coordinates set 0 (Blue Switch Out)
Graphic items #0155-0156 use coordinates set 0 (Coin Slot)
Graphic items #0157-0158 use coordinates set 0 (Double Iron Lock)
Graphic items #0159-0160 use coordinates set 0 (Square Lock)
Graphic items #0161-0162 use coordinates set 0 (Winged Lock)
Graphic items #0163-0164 use coordinates set 0 (Onyx Lock)
Graphic items #0165-0166 use coordinates set 0 (Stone Lock)
Graphic items #0167-0168 use coordinates set 0 (Cross Lock)
Graphic items #0169-0170 use coordinates set 0 (Topaz Lock)
Graphic items #0171-0172 use coordinates set 0 (Skeleton Lock)
Graphic items #0173-0174 use coordinates set 0 (Gold Lock)
Graphic items #0175-0176 use coordinates set 0 (Tourquoise Lock)
Graphic items #0177-0178 use coordinates set 0 (Emerald Lock)
Graphic items #0179-0180 use coordinates set 0 (Ruby Lock)
Graphic items #0181-0182 use coordinates set 0 (Ra Lock)
Graphic items #0183-0184 use coordinates set 0 (Master Lock)
Graphic items #0185-0186 use coordinates set 0 (Gem Hole)
Graphic items #0187-0188 use coordinates set 2 (Slime)
Graphic items #0189-0190 use coordinates set 2 (Grate)
Graphic items #0191-0192 use coordinates set 1 (Fountain)
Graphic items #0193-0194 use coordinates set 1 (Manacles)
Graphic items #0195-0196 use coordinates set 1 (Ghoul’s Head)
Graphic items #0197-0198 use coordinates set 1 (Empty Torch Holder)
Graphic items #0199-0200 use coordinates set 1 (Scratches)
Graphic items #0201-0202 use coordinates set 4 (Poison Holes)
Graphic items #0203-0204 use coordinates set 4 (Fireball Holes)
Graphic items #0205-0206 use coordinates set 4 (Dagger Holes)
Graphic items #0207-0208 use coordinates set 5 (Champion Mirror)
Graphic items #0209-0210 use coordinates set 0 (Lever Up)
Graphic items #0211-0212 use coordinates set 0 (Lever Down)
Graphic items #0213-0214 use coordinates set 1 (Full Torch Holder)
Graphic items #0215-0216 use coordinates set 0 (Red Switch Out)
Graphic items #0217-0218 use coordinates set 0 (Eye Switch)
Graphic items #0219-0220 use coordinates set 0 (Big Switch Out)
Graphic items #0221-0222 use coordinates set 2 (Crack Switch Out)
Graphic items #0223-0224 use coordinates set 0 (Green Switch In)
Graphic items #0225-0226 use coordinates set 0 (Blue Switch In)
Graphic items #0227-0228 use coordinates set 0 (Red Switch In)
Graphic items #0229-0230 use coordinates set 0 (Big Switch In)
Graphic items #0231-0232 use coordinates set 2 (Crack Switch In). Note: In Dungeon Master for Atari ST version 1.0 English (1987-12-08), the value was set to 0. The effect was that pressing the switch moved it up the wall. This bug was fixed in later versions.
Graphic items #0233-0234 use coordinates set 6 (Amalgam (Encased Gem))
Graphic items #0235-0236 use coordinates set 6 (Amalgam (Free Gem))
Graphic items #0237-0238 use coordinates set 6 (Amalgam (Without Gem))
Graphic items #0239-0240 use coordinates set 7 (Lord Order (Outside))
i16 Word4040[1]; // graphic number of ‘water’ giving wall decoration
i8 Byte4038[3]; // … These are wall graphics that define
// alcoves. The numbers here are 1, 2, and 3
// in CSB. Square Alcove, VI Altar, Ornate Alcove.
A 4th byte (00h) is used as padding for memory alignment
i8 Byte4034[9]; // some sort of floor decoration offset for which graphic to display
A 10th byte (00h) is used as padding for memory alignment
i8 Byte4024[12]; // 12 bytes. one byte for each ‘distance’ from player.
defines the groups for Byte4213.
group = byte4024[distanceFromPlayer] * ;
Then use Byte4213[group] as the base for cutoff.
For i = 1 To 12
illegibletextgroups(i) = read_byte()
Next
word4012 = read_int()
i16 Word4012; // unused, set to 3217 during runtime.
There is one descriptor for each visible tile in the dungeon view
8 Byte4010[8]; [0] teleporter F3
i8 Byte4002[8]; [1] teleporter F3L1
i8 Byte3994[8]; [2] teleporter F3R1 //Bad????
i8 Byte3986[8]; [3] teleporter F2
i8 Byte3978[8]; [4] teleporter F2L1
i8 Byte3970[8]; [5] teleporter F2R1
i8 Byte3962[8]; [6] teleporter F1
i8 Byte3954[8]; [7] teleporter F1L1
i8 Byte3946[8]; [8] teleporter F1R1
i8 Byte3938[8]; [9] teleporter F0
i8 Byte3930[8]; [10]teleporter F0L1
i8 Byte3922[8]; [11]teleporter F0R1
Each descriptor is 8 bytes large:
Byte 0: 73 + byte 0 = Teleporter graphic index. This value is always 0 in the data as there is only one teleporter graphic in the graphics.dat. However when drawing Fluxcages, the game makes a temporary copy of the teleporter graphic descriptor and increases this byte value by 1 in order to use the Fluxcage graphic.
Byte 1: Byte 1 + Random value 0..1 = some offset, maybe where to ’lock’ the graphic
Byte 2 = Index of transparent color
Byte 3: If byte 3 = 255 then no mask is used to draw the teleporter else Byte 3 & 0x7F + 69 = Graphic index for mask to draw the teleporter graphics; Byte 3 & 0x80: Flip graphic horizontally if 1.
Byte 4: Width of the teleporter mask
Byte 5: Height of the teleporter mask
Byte 6: Src offset x
Byte 7: Src offset y
door graphic information
i8 Byte3914[80]; // door stuff. 10 groups of 8 D1R
group 0 = opens sideways
group 1 = opens up/down
group 2-5 = ‘graphics’ as door is opening?
group 6-10 = ‘graphics’ as door is opening sideways?
i8 Byte3834[80]; // D1, ’tested’ to see if canseethroughwalls
i8 Byte3754[80]; // D1L
i8 Byte3674[80]; // D2R
i8 Byte3594[80]; // D2
i8 Byte3514[80]; // D2L
i8 Byte3434[80]; // D3R
i8 Byte3354[80]; // D3
i8 Byte3274[80]; // D3L
For i = 1 To 90
graphicrects(i).x1 = read_byte()
graphicrects(i).x2 = read_byte()
graphicrects(i).y1 = read_byte()
graphicrects(i).y2 = read_byte()
graphicrects(i).width = read_byte()
graphicrects(i).height = read_byte()
graphicrects(i).srcx = read_byte()
graphicrects(i).srcy = read_byte()
Next
For i = 1 To 81
graphicrects(i).x1 = read_byte()
graphicrects(i).x2 = read_byte()
graphicrects(i).y1 = read_byte()
graphicrects(i).y2 = read_byte()
graphicrects(i).width = read_byte()
graphicrects(i).height = read_byte()
graphicrects(i).srcx = read_byte()
graphicrects(i).srcy = read_byte()
Next
Wall graphic information:
These are 8 byte rect positions, but the positions are in bytes, not words.
Thus the structure is of
{ byte x1, y1, x2, y2, width, height, offsetx, offsety }
bitmap[0] = Door Left or Right Frame (Front 1),,
bitmap[1] = Door Left Frame (Front 1),,
bitmap[2] = Door Left Frame (Front 2),,
bitmap[3] = Door Left Frame (Front 3),,
bitmap[4] = Door Left Frame (Left Side 3),,
bitmap[5] = Door Top Frame (Front 1),,
bitmap[6] = Door Top Frame (Front 2),,
bitmap[7] = Wall (Right Side 0),,
bitmap[8] = Wall (Left Side 0),,
bitmap[9] = Wall (Front and Sides 1),,
bitmap[10] = Wall (Front and Sides 2),,
bitmap[11] = Wall (Front and Sides 3),,
bitmap[12] = Wall (Far Left Side 3),,
i8 Byte3194[8]; // RectPos ... D1R bitmap[5]
i8 Byte3186[8]; // RectPos ... D1 bitmap[5]
i8 Byte3178[8]; // RectPos ... D1L bitmap[5]
i8 Byte3170[8]; // RectPos ... D2R bitmap[6]
i8 Byte3162[8]; // RectPos ... D2 bitmap[6]
i8 Byte3154[8]; // RectPos ... D2L bitmap[6]
i8 Byte3146[8]; // RectPos ... D0 bitmap[0] if can' see through walls
otherwise its d0 bitmap[0] with offsetx - uByte2534[0]
i8 Byte3138[4]; // RectPos ... D0 for Pointer2142 = bitmap[1] mirrored
i8 Byte3134; // ... part of the rect...
i8 Byte3133; // ... part of the rect...
i8 Byte3132[2]; // ... part of the rect...
i8 Byte3130[8]; // RectPos ... D1 bitmap[1]
i8 Byte3122[8]; // ... D2 for Pointer1848 = ?????
i8 Byte3114[8]; // RectPos ... D2 bitmap[2]
i8 Byte3106[8]; // ... D3 for Pointer1848 = ?????
i8 Byte3098[8]; // RectPos ... D3 bitmap[3]
i8 Byte3090[8]; // ... D3R for Pointer1848 = ?????
i8 Byte3082[8]; // RectPos ... D3L bitmap[4]
i8 Byte3074[8]; // RectPos ... D3 bitmap[11] ** AND ALOT OF OTHER STUFF **
i8 Byte3066[8]; // RectPos ... D3L bitmap[11] and teleporter?
i8 Byte3058[8]; // RectPos ... D3R bitmap[11] and teleporter?
i8 Byte3050[8]; // RectPos ... D2 bitmap[10] ** and alot of other stuff **
i8 Byte3042[8]; // RectPos ... D2L bitmap[10] and teleporter?
i8 Byte3034[8]; // RectPos ... D2R bitmap[10] and teleporter?
ui8 uByte3026[8]; // RectPos ...D1 bitmap[9] and teleporter
i8 Byte3018[8]; // RectPos ... D1L bitmap[9] and teleporter?
i8 Byte3010[8]; // RectPos ... D1R bitmap[9] and teleporter?
i8 Byte3002[8]; // ... D0 teleporter
ui8 uByte2994[8]; // RectPos ... D0L bitmap[8] and teleporter?
i8 Byte2986[8]; // RectPos ...D0R bitmap[7] and teleporter?
i8 Byte2978[8]; // RectPos ... D?? mirriored bitmap[12]
i8 Byte2970[8]; // RectPos ... D?? bitmap[12]
i8 Byte2962[4]; // byte RectPos ... D?? mirrored bitmap[10]
i8 Byte2958[4]; // byte Rectpos ... D?? mirrored bitmap[11]
i8 Byte2954[8]; //byte RectPos ... D0R ceiling pit
i8 Byte2946[8]; //byte RectPos ... D0 ceiling pit
i8 Byte2938[8]; //byte RectPos ... D0L ceiling pit
i8 Byte2930[8]; //byte RectPos ... D1R ceilign pit
i8 Byte2922[8]; //byte RectPos ... D1 ceiling pit
i8 Byte2914[8]; //byte RectPos ... D1L ceiling pit
i8 Byte2906[8]; //byte RectPos ... D2R ceiling pit
i8 Byte2898[8]; //byte RectPos ... D2 ceiling pit
i8 Byte2890[8]; //byte Rectpos ... D2L ceiling pit
i8 Byte2882[8]; //RectPos (byte) ... D0R floor pit
i8 Byte2874[8]; //RectPos (byte) ... D0 floor pit
i8 Byte2866[8]; //RectPos (byte) ... D0L floor pit
i8 Byte2858[8]; //RectPos (byte) ... D1R floor pit
i8 Byte2850[8]; //RectPos (byte) ... D1 floor pit
i8 Byte2842[8]; //RectPos (byte) ... D1L floor pit
i8 Byte2834[8]; //RectPos (byte) ... D2R floor pit
i8 Byte2826[8]; //RectPos (byte) ... D2 floor pit
i8 Byte2818[8]; //RectPos (byte) ... D2L floor pit
i8 Byte2810[8]; //RectPos (byte) ... D3R floor pit
i8 Byte2802[8]; //RectPos (byte) ... D3 floor pit
i8 Byte2794[8]; //RectPos (byte) ... D3L floor pit
i8 Byte2786[8]; //RectPos (byte) ... D0R stairs (these are left-right facing?)
i8 Byte2778[8]; //RectPos (byte) ... D0L stairs
i8 Byte2770[8]; //RectPos (byte) ... D1R stairs
i8 Byte2762[8]; //RectPos (byte) ... DlL stairs (depends on facing)
i8 Byte2754[8]; //RectPos (byte) ... D1R stairs (depends on facing)
i8 Byte2746[8]; //RectPos (byte) ... D1L stairs (depends on facing)
i8 Byte2738[8]; //RectPos (byte) ... D2R stairs
i8 Byte2730[8]; //RectPos (byte) ... D2L stairs
i8 Byte2722[8]; //RectPos (byte) ... D0 stairs (for front facing?)
i8 Byte2714[8]; //RectPos (byte) ... D0 stairs
i8 Byte2706[8]; //RectPos (byte) ... D1R stairs
i8 Byte2698[8]; //RectPos (byte) ... D1 Stairs
i8 Byte2690[8]; //RectPos (byte) ... D1L stairs
i8 Byte2682[8]; //RectPos (byte) ... D2R stairs
i8 Byte2674[8]; //RectPos (byte) ... D2 stairs
i8 Byte2666[8]; //RectPos (byte) ... D2L stairs
i8 Byte2658[8]; //RectPos (byte) ... D3R stairs
i8 Byte2650[8]; //RectPos (byte) ... D3 stairs
i8 Byte2642[8]; //RectPos (byte) ... D3L stairs
i8 Byte2634[8]; //RectPos (byte) ... D0 stairs
i8 Byte2626[8]; //RectPos (byte) ... D0 stairs
i8 Byte2618[8]; //RectPos (byte) ... D1R stairs
i8 Byte2610[8]; //RectPos (byte) ... D1 stairs
i8 Byte2602[8]; //RectPos (byte) ... D1L stairs
i8 Byte2594[8]; //RectPos (byte) ... D2R stairs
i8 Byte2586[8]; //RectPos (byte) ... D2 stairs
i8 Byte2578[8]; //RectPos (byte) ... D2L stairs
i8 Byte2570[8]; //RectPos (byte) ... D3R stairs
i8 Byte2562[8]; //RectPos (byte) ... D3 stairs
i8 Byte2554[8]; //RectPos (byte) ... D3L stairs
i8 Byte2546[4]; // where to draw character portraits ?
ui8 uByte2542[4]; //Rectpos (byte) … see through walls rect
i16 Word2538[2]; // … D1 see through walls?
ui8 uByte2534[4]; // … rectpos? (part of above (bytes 4-7)
i16 Word2530[2]; // … rect for drawing overlays (i.e. inside poison cloud)