DO/LIT/List
From Dark Omen Wiki
(→Bitfield: Colour-coded bitset) |
m (Reverted edits by Ugaxygihydo (Talk) to last version by Mikademus) |
||
(3 intermediate revisions not shown) | |||
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)? | ||
+ | |||
+ | * Suggestion for a test: remove all of the lights, except one from a battle on the smallest map. Starting from the lowest bits of data1, toggle them on and off and observe the effect. | ||
+ | :** Requirements: someone with genuine 3D accelerated Dark Omen to test. | ||
===Bitfield=== | ===Bitfield=== | ||
Line 47: | Line 50: | ||
|- | |- | ||
| 59 || 0b00111011 || 5 || bgcolor="pink" | 0 || bgcolor="pink" | 0 || bgcolor="lime" | 1 || bgcolor="lime" | 1|| bgcolor="lime" | 1 || bgcolor="pink" | 0 || bgcolor="lime" | 1 || bgcolor="lime" | 1 | | 59 || 0b00111011 || 5 || bgcolor="pink" | 0 || bgcolor="pink" | 0 || bgcolor="lime" | 1 || bgcolor="lime" | 1|| bgcolor="lime" | 1 || bgcolor="pink" | 0 || bgcolor="lime" | 1 || bgcolor="lime" | 1 | ||
+ | |- | ||
+ | | || || bgcolor="yellow" | 97 lights || colspan="8" | | ||
+ | |- bgcolor="orange" | ||
+ | | Num || 0b00000001 || 40 || colspan="8" | | ||
+ | |- bgcolor="orange" | ||
+ | | Num || 0b00000010 || 66 || colspan="8" | | ||
+ | |- bgcolor="orange" | ||
+ | | Num || 0b00000100 || 52 || colspan="8" | | ||
+ | |- bgcolor="orange" | ||
+ | | Num || 0b00001000 || 16 || colspan="8" | | ||
+ | |- bgcolor="orange" | ||
+ | | Num || 0b00010000 || 71 || colspan="8" | | ||
+ | |- bgcolor="orange" | ||
+ | | Num || 0b00100000 || 68 || colspan="8" | | ||
+ | |- | ||
|} | |} | ||
Current revision as of 13:28, 20 November 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)?
- Suggestion for a test: remove all of the lights, except one from a battle on the smallest map. Starting from the lowest bits of data1, toggle them on and off and observe the effect.
- Requirements: someone with genuine 3D accelerated Dark Omen to test.
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 | frequency of use | --> Bitset | |||||||
---|---|---|---|---|---|---|---|---|---|---|
2 | 0b00000010 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
17 | 0b00010001 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
18 | 0b00010010 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
22 | 0b00010110 | 23 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |
23 | 0b00010111 | 2 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
33 | 0b00100001 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
35 | 0b00100011 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
38 | 0b00100110 | 26 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
41 | 0b00101001 | 2 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
42 | 0b00101010 | 3 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
43 | 0b00101011 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 |
49 | 0b00110001 | 22 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
54 | 0b00110110 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
57 | 0b00111001 | 4 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
58 | 0b00111010 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 |
59 | 0b00111011 | 5 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
97 lights | ||||||||||
Num | 0b00000001 | 40 | ||||||||
Num | 0b00000010 | 66 | ||||||||
Num | 0b00000100 | 52 | ||||||||
Num | 0b00001000 | 16 | ||||||||
Num | 0b00010000 | 71 | ||||||||
Num | 0b00100000 | 68 |
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) |