DO/LIT/List

From Dark Omen Wiki

(Difference between revisions)
Jump to: navigation, search
(Added DX5 light structures)
(Bitset interpretation)
Line 4: Line 4:
* However, the dialogue indicates that these values are "E and L falloffs". This implies that there are NO directional lights, only point lights. So what are these falloffs? Light attenuation and falloff function (~= range)?
* However, the dialogue indicates that these values are "E and L falloffs". This implies that there are NO directional lights, only point lights. So what are these falloffs? Light attenuation and falloff function (~= range)?
 +
 +
===Bitfield===
 +
 +
It is very likely that data1 is a bitfield.
 +
* All values are lower than 63 (63 corresponds to binary 0b111111)
 +
* there are only a limited number of values
 +
* values tend to cluster to "toggle areas"
 +
 +
'''Listing'''
 +
{| class="wikitable"
 +
! Data1 || -> Binary (bitset?) || frequency of use
 +
|-
 +
| 2 || 0b00000010 || 1
 +
|-
 +
| 17 || 0b00010001 || 1
 +
|-
 +
| 18 || 0b00010010 || 2
 +
|-
 +
| 22 || 0b00010110 || 23
 +
|-
 +
| 23 || 0b00010111 || 2
 +
|-
 +
| 33 || 0b00100001 || 2
 +
|-
 +
| 35 || 0b00100011 || 1
 +
|-
 +
| 38 || 0b00100110 || 26
 +
|-
 +
| 41 || 0b00101001 || 2
 +
|-
 +
| 42 || 0b00101010 || 3
 +
|-
 +
| 43 || 0b00101011 || 1
 +
|-
 +
| 49 || 0b00110001 || 22
 +
|-
 +
| 54 || 0b00110110 || 1
 +
|-
 +
| 57 || 0b00111001 || 4
 +
|-
 +
| 58 || 0b00111010 || 1
 +
|-
 +
| 59 || 0b00111011 || 5
 +
|}
 +
 +
'''The big three'''
 +
{| class="wikitable"
 +
|-
 +
| 22 || 0b00010110 || 23
 +
|-
 +
| 38 || 0b00100110 || 26
 +
|-
 +
| 49 || 0b00110001 || 22
 +
|-
 +
|}
 +
==DX5 Light Structures==
==DX5 Light Structures==

Revision as of 10:47, 27 February 2010

Contents

Notes

  • Almost all maps have a light of type 38 (if data 1 is "type"). The only exceptions are B2_08, which is inside Drakenhof Castle, B4_10 (Black Grail Knights), B5_01 (Dread King) and SPARE9 (tutorial).
  • However, the dialogue indicates that these values are "E and L falloffs". This implies that there are NO directional lights, only point lights. So what are these falloffs? Light attenuation and falloff function (~= range)?

Bitfield

It is very likely that data1 is a bitfield.

  • All values are lower than 63 (63 corresponds to binary 0b111111)
  • there are only a limited number of values
  • values tend to cluster to "toggle areas"

Listing

Data1 -> Binary (bitset?) frequency of use
2 0b00000010 1
17 0b00010001 1
18 0b00010010 2
22 0b00010110 23
23 0b00010111 2
33 0b00100001 2
35 0b00100011 1
38 0b00100110 26
41 0b00101001 2
42 0b00101010 3
43 0b00101011 1
49 0b00110001 22
54 0b00110110 1
57 0b00111001 4
58 0b00111010 1
59 0b00111011 5

The big three

22 0b00010110 23
38 0b00100110 26
49 0b00110001 22


DX5 Light Structures

typedef float D3DVALUE, *LPD3DVALUE;
 
 
typedef struct _D3DCOLORVALUE {
    union {
	D3DVALUE r;
	D3DVALUE dvR;
    };
    union {
	D3DVALUE g;
	D3DVALUE dvG;
    };
    union {
	D3DVALUE b;
	D3DVALUE dvB;
    };
    union {
	D3DVALUE a;
	D3DVALUE dvA;
    };
} D3DCOLORVALUE, *LPD3DCOLORVALUE;
 
 
typedef struct _D3DLIGHT {
    DWORD           dwSize;
    D3DLIGHTTYPE    dltType;           	/* Type of light source */
    D3DCOLORVALUE   dcvColor;		/* Color of light */
    D3DVECTOR       dvPosition;		/* Position in world space */
    D3DVECTOR       dvDirection;        /* Direction in world space */
    D3DVALUE        dvRange;            /* Cutoff range */
    D3DVALUE        dvFalloff;          /* Falloff */
    D3DVALUE        dvAttenuation0;     /* Constant attenuation */
    D3DVALUE        dvAttenuation1;     /* Linear attenuation */
    D3DVALUE        dvAttenuation2;     /* Quadratic attenuation */
    D3DVALUE        dvTheta;            /* Inner angle of spotlight cone */
    D3DVALUE        dvPhi;              /* Outer angle of spotlight cone */
} D3DLIGHT, *LPD3DLIGHT;
 
 
typedef struct _D3DLIGHT2 {
    DWORD           dwSize;
    D3DLIGHTTYPE    dltType;		/* Type of light source */
    D3DCOLORVALUE   dcvColor;		/* Color of light */
    D3DVECTOR       dvPosition;		/* Position in world space */
    D3DVECTOR       dvDirection;	/* Direction in world space */
    D3DVALUE        dvRange;		/* Cutoff range */
    D3DVALUE        dvFalloff;		/* Falloff */
    D3DVALUE        dvAttenuation0;	/* Constant attenuation */
    D3DVALUE        dvAttenuation1;	/* Linear attenuation */
    D3DVALUE        dvAttenuation2;	/* Quadratic attenuation */
    D3DVALUE        dvTheta;		/* Inner angle of spotlight cone */
    D3DVALUE        dvPhi;			/* Outer angle of spotlight cone */
	DWORD			dwFlags;
} D3DLIGHT2, *LPD3DLIGHT2;

Dump

# Pos Data 1 Data 2 Colour
B1_01.prj
0 [-4.04,11.00,-9.93] 38 0 (256,256,256)
1 [27.57,60.00,22.21] 33 34 (1280,1280,1280)
2 [-6.41,35.00,-9.86] 22 0 (166,166,166)
B1_02.prj
0 [-26.20,25.00,-16.15] 38 0 (307,307,307)
1 [-20.51,90.00,-30.43] 33 0 (256,256,256)
2 [-2.25,60.00,-59.15] 22 0 (204,204,204)
B1_03.prj
0 [50.00,24.00,50.00] 38 0 (281,281,281)
1 [234.93,59.00,210.31] 59 1 (127,127,127)
2 [40.39,24.00,45.33] 22 0 (113,113,113)
3 [231.33,13.00,39.42] 43 42 (1113,1113,1113)
B1_04.prj
0 [-63.05,38.00,81.82] 38 0 (459,459,459)
1 [4.18,108.00,176.22] 57 0 (256,256,256)
2 [-17.25,89.00,45.82] 22 0 (165,165,165)
B1_05.prj
0 [-21.31,8.00,-21.36] 38 0 (256,256,256)
1 [79.65,6.00,66.82] 59 96 (1280,1280,1280)
2 [139.10,7.00,139.92] 59 72 (358,358,358)
3 [59.27,32.00,62.37] 49 1269 (256,256,256)
4 [87.43,4.00,151.45] 59 37 (1280,1280,1280)
5 [156.54,7.00,68.57] 59 36 (1280,1280,1280)
B1_06.prj
0 [8.16,20.00,47.68] 38 2 (499,499,499)
1 [110.18,38.00,219.17] 49 716 (256,256,256)
2 [89.77,68.00,236.25] 23 0 (639,639,639)
3 [96.60,47.00,78.37] 17 716 (256,256,256)
B1_07.prj
0 [8.16,20.00,47.68] 38 2 (499,499,499)
1 [110.18,38.00,219.17] 49 716 (256,256,256)
2 [89.77,68.00,236.25] 23 0 (639,639,639)
3 [96.60,47.00,78.37] 17 716 (256,256,256)
B1_08.prj
0 [-17.13,24.00,22.03] 38 0 (256,256,256)
1 [-10.30,25.00,-4.33] 22 0 (179,179,179)
2 [-7.47,78.00,-13.14] 49 0 (256,256,256)
3 [-4.57,65.00,205.32] 49 0 (256,256,256)
B2_01.prj
0 [-10.55,34.00,66.43] 38 0 (383,383,383)
1 [-2.89,38.00,47.88] 22 0 (256,256,256)
2 [68.35,71.00,226.19] 57 0 (256,256,256)
3 [1.69,17.00,-17.64] 22 0 (76,76,76)
B2_02.prj
0 [28.31,30.00,49.47] 38 0 (331,331,331)
1 [64.41,71.00,120.01] 22 0 (1280,1280,1280)
2 [50.00,40.00,50.00] 49 0 (256,256,256)
B2_04.prj
0 [135.99,126.00,177.33] 38 0 (371,371,371)
1 [43.37,8.00,7.24] 22 0 (729,729,729)
2 [143.24,95.00,156.43] 49 0 (256,256,256)
B2_05.prj
0 [-11.74,195.00,58.77] 38 0 (216,216,216)
1 [25.13,22.00,20.94] 22 0 (256,256,256)
2 [-1.80,79.00,287.40] 49 0 (256,256,256)
3 [101.38,39.00,154.61] 35 311 (1280,1280,1280)
4 [183.97,25.00,132.49] 42 502 (1280,1280,1280)
B2_07.prj
0 [126.88,85.00,79.02] 38 0 (243,243,243)
1 [114.31,33.00,47.32] 22 0 (422,422,422)
2 [261.70,64.00,178.88] 49 0 (256,256,256)
3 [269.59,16.00,11.26] 18 135 (1280,1280,1280)
B2_08.prj
0 [126.17,19.00,227.54] 59 31 (1036,1036,1036)
1 [120.36,17.00,63.12] 2 99 (256,256,256)
B3_01.prj
0 [-20.68,25.00,103.87] 38 0 (256,256,256)
1 [-12.46,25.00,121.18] 22 0 (256,256,256)
2 [113.23,34.00,245.86] 49 0 (256,256,256)
B3_02.prj
0 [-3.57,15.00,-8.78] 38 0 (217,217,217)
1 [-8.86,25.00,-15.88] 22 0 (204,204,204)
2 [-3.92,58.00,-6.53] 49 0 (256,256,256)
B3_06.prj
0 [19.54,124.00,161.95] 38 0 (294,294,294)
1 [216.31,117.00,165.68] 49 0 (256,256,256)
2 [19.29,14.00,159.71] 18 0 (115,115,115)
B3_07.prj
0 [20.08,59.00,-14.56] 38 0 (256,256,256)
1 [18.23,57.00,-0.70] 22 0 (1100,1100,1100)
2 [16.20,41.00,-4.57] 49 0 (256,256,256)
B3_08.prj
0 [58.20,39.00,21.27] 38 0 (256,256,256)
1 [59.24,14.00,20.16] 22 0 (256,256,256)
2 [350.68,108.00,337.75] 49 0 (256,256,256)
B3_09.prj
0 [15.57,26.00,-30.71] 38 0 (256,256,256)
1 [20.44,25.00,-29.49] 22 0 (256,256,256)
2 [15.82,50.00,-23.97] 49 0 (256,256,256)
B4_01.prj
0 [-14.65,78.00,-26.40] 38 0 (256,256,256)
1 [8.28,95.00,-24.82] 18 0 (256,256,256)
2 [-5.96,72.00,169.91] 49 0 (256,256,256)
B4_02.prj
0 [13.07,14.00,21.37] 38 0 (256,256,256)
1 [29.59,25.00,20.49] 22 0 (256,256,256)
2 [314.44,87.00,243.09] 49 0 (256,256,256)
B4_03.prj
0 [70.88,80.00,83.25] 38 0 (256,256,256)
1 [88.27,66.00,87.81] 22 0 (179,179,179)
2 [164.06,51.00,171.56] 57 0 (256,256,256)
B4_05.prj
0 [36.85,36.00,-11.38] 38 0 (166,166,166)
1 [48.28,41.00,-8.56] 22 0 (256,256,256)
2 [47.21,67.00,-7.27] 49 0 (256,256,256)
B4_06.prj
0 [3.76,48.00,-49.06] 38 0 (256,256,256)
1 [10.64,75.00,-30.93] 22 0 (256,256,256)
2 [114.85,61.00,6.07] 49 0 (256,256,256)
B4_08.prj
0 [85.20,92.00,75.01] 38 0 (256,256,256)
1 [84.70,62.00,78.60] 22 0 (243,243,243)
2 [297.70,120.00,260.66] 49 0 (256,256,256)
B4_09.prj
0 [72.62,53.00,-67.96] 38 0 (256,256,256)
1 [64.28,21.00,-74.19] 22 0 (1280,1280,1280)
2 [63.66,131.00,-41.64] 49 0 (256,256,256)
B4_10.prj
0 [-26.85,130.00,191.00] 58 0 (256,256,256)
1 [-24.21,124.00,192.58] 57 0 (256,256,256)
B5_01.prj
0 [178.24,43.00,221.59] 42 0 (319,319,319)
1 [178.40,25.00,217.54] 41 0 (256,256,256)
B5_01B.prj
0 [159.62,81.00,86.38] 42 0 (179,179,179)
1 [160.12,25.00,89.22] 41 0 (256,256,256)
SPARE9.prj
0 [12.06,9.00,16.06] 54 0 (383,383,383)
1 [7.44,-3.00,13.50] 22 0 (268,268,268)
2 [5.97,74.00,28.02] 49 0 (256,256,256)
Personal tools
communication