MMOwned - World of Warcraft Exploits, Hacks, Bots and Guides

Homepage Register FAQ Members Mark Forums Read Advertise Marketplace FPSowned
Go Back   MMOwned - World of Warcraft Exploits, Hacks, Bots and Guides > World of Warcraft > Model Editing > Model Editing Guides & Programs
Reload this Page [Guide] How to actually edit skies and lights
Model Editing Guides & Programs This is for guides and programs regarding Model Editing

Reply
 
LinkBack Thread Tools
[Guide] How to actually edit skies and lights
(#1)
Old
schlumpf's Avatar
schlumpf is Offline
ハローキティ <3 | teh flame cat

Rep Power: 5
Reputation: 451
schlumpf is a glorious beacon of lightschlumpf is a glorious beacon of lightschlumpf is a glorious beacon of lightschlumpf is a glorious beacon of lightschlumpf is a glorious beacon of light
 
Posts: 1,322
Join Date: Nov 2006
Location: Germany (DE)
[Guide] How to actually edit skies and lights - 12-18-2007

Introduction
So today I am talking to you about the actual structure of the light and skies in WoW since Pullefjun asked me if it'd be possible to make his own sky. This "guide" is not meant to be a step by step guide to do something but more a overview about the information you can get about the things you need. This text got written during a MSN convo just because I felt like it.

Overview about the files you edit
So.. lets just take it easy and try to make a new sky =)
As we know we have several DBCs in order to define skies in WoW. We may have heard of them before, maybe in an other stupid guide schlumpf wrote. These files are:
  • Light
  • LightIntBand
  • LightFloatBand
  • LightParams
  • LightSkybox

Here comes what we know about these different files and what we need to know:

Light.dbc
Light.dbc references all the skies and places them on the world. We have a map and a position as well as an radius given to specify where that sky is. The sky itself is defined in the other files. In this file we are just pointing to IDs in the other files.

LightParams.dbc
LightParams.dbc defines several values of the "sky" and light. These properties are things that don't change as the time moves on. These static things are for example the fog that defines our line of sight, the color of the environment in water and oceans and some other things.

The other thing this file is able to define is a skybox that is made of a model. These skies are used in all outlands and some instances like the CoT or Stratholme. Again the skybox is referenced with an ID. This time the ID points to:

LightSkybox.dbc
This file is just a list of models that are able to be referenced in other DBCs and represent a skybox.

Actually you could add a tauren as a skybox too, but the standard ones are just normal boxes.
So all this file does is adding an ID to some models. This ID gets referenced in LightParams or other DBCs then.

We find the link in field 3 of LightParams but you can see this at the structures in the end.

LightIntBand.dbc and LightFloatBand.dbc
These files are the ones that define the actual colors of the sky at the different daytimes. They are a bit more complicated than other dbcs like the Param or the Skyboxes one.

The two dbcs define, as said, the colors. But since the sky isn't made of one single color as you see, we have a lot of different colors in this DBC.

We have colors for clouds, the water from above at night and day, the sun and its halo, the fog in the background (for specific times), the different colors of the sky itself and some global lightning information used for models that are in the light's range.

And as the title of these two DBCs say: one is filled with floats, the other one with integers.

And I said that they have a more complicated structure:
They have a line for all these things I just listed above. So .. as you reference a sky in Light.dbc with only one number like 142 but LightIntBand has 18 features to describe, 18 lines are grouped into one ID per sky. They are still tagged all trough from 1 to x in LightIntBand but we see every 18th row as an entry point to a sky's information. We have to calculate a bit:

When we reference sky number 142 in Light.dbc, we need to multiply this by 18. The number we will get then (1136) is our entry point. This one and the next 17 lines will be our description of sky number 142 in LightIntBands.
For LightFloatBand we got 6 rows per sky. You have to take the ID*6 and the next 5 rows.

The single lines of both DBCs look like this:
ID
number of entries for this parameter of the sky
15 timestamps
15 datafields in float or integers.
The problem with these two files is: Noone was crazy enough to try all values and write down the things that have changed. So our information is pretty limited.
LightIntBand is actually pretty good documented while LightFloatBand is just a collection of unknown values.

LightIntBand.dbc
Lets take an example for this file. To make it easier I will just take the first sky defined in this file.
As said, we take a collection of 18 lines all the time.
1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6199750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1718357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5789784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
10,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
11,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1978430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4887,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1978430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
18,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4887,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
So what we see first is a lot of zeroes. But if you look closer you will see some data in the middle and the ID and a 1 on the left side. We have 1 entry per property in this sky as the 1 in field 2 tells us. The different parameters may have different numbers of entries!

So every line has only one timestamp & data pair. Of course its always the first entry to the last one.
So what we got from the information posted before, one property is the cloud's color. Its line number 13 (or 12 if you start indexing by 0...).

So our entry for this sky's cloud color is:
13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
We got 1 timestamp with the value 0 and the data for it is 0 too.

Thats a nice one. But, what we forgot is: How are colors defined in these files?

Its made in the normal, hexadecimal way to define a RGBA color:
0xAARRGGBB
As we see: two bytes per value, alpha, red, green and blue.

So what we have to do is "translating" this to hex before we even can say something about the color. In this case 0 is very easy easy. Its 0x00 00 00 00. For the calculation of hex-numbers google or use the calc.exe you should have.

This 00 00 00 00 means: 0 alpha, 0 red, 0 green, 0 blue which actually is a fully transparent but black color which you don't see. As said: its transparent. You wont see black clouds.

What we could do is making these black, invisible clouds visible rosè clouds.
So the first step is getting the color:

For this you can use online hex-color-sites, msPaint, Photoshop or actually any other graphic programm.

What I will use is a color I use all the the time in the shoutbawx: rosè. The RGB hex-code for this is ff c0 cb. The normal way to write this in the web is #ffc0cb. Or for progammers: 0xffc0cb. But that is actually the same.

Since we have a opaque (which means not transparent in any way) color in texts we haven't had a look on the alpha value yet.
For totally opaque clouds this would be FF aka 255. Again, this is pure hex.

This results in our full color being: FF FF C0 CB, #FFFFC0CB or 0xFFFFC0CB.
What we will do now is getting this into a decimal number as we have in our DBCs: It is 4294951115. Yes, quite a big number.

So our value for the color of the clouds of the sky number one at the time 0 (which actually means, since its only one entry: all the time) is 4294951115. Now get this in the file:

Our new line is now:
13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4294951115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
We just put this value in the first field of our data list. And this is actually how its done all the time.

But since this is too less to write a guide, we will add another thing.
Lets say: Let these clouds fade to an other color at mid-day aka 1200 / 12 am or whatever. But how do we express this in an integer?

Easy: The timestamps are made in half-minutes since midnight. So we get:
12 hrs = 12 * 60 minutes = 12 * 60 * 2 half-minutes
Which means that our timestamp is 1440 then. And its the same procedure for every time you want.

So first we increase the number of cloud-colors in the second field, then we add the second timestamp and an other color. Pullefjun, give me a color!
Anders | Pullefjun @ Hemma igen :'/ says (21:35):
: >
Eliteuser purple
Mmh k, let me get that.
So our color for this is the eliteuser-purple as puLLefjun wished: #9900ff.

And we got:
  • 13, - id
  • 2, number of entries
  • 0,1440, - our timestamps
  • 4294951115, 4288217343, - our colors
or in the full line:
13,2,0,1440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4294951115,4288217343,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,
But lets end this color juggling here. I think its your problem to find the right colors and timestamps and you should get it from the given information now. You really have all information you need.
21:39):
Anders | Pullefjun @ Hemma igen :'/ says (21:40):
if I add another timestamp, lets say one hour later. 1560, would it be:
13,2,0,1440,0,1560?
Well. 1560/2/60=13 but increase the number of entries and place the next value right behind the last one. It shouls be:
13,3,0,1440,1560,0,0,0,...
And now have a last step to:

LightFloatBand
The problem is as said before: we know nothing.
We just know that we have 6 rows with data per sky.

I'd really like to tell you something about this file but actually all you can do is just trying. And if you have figured out some information, feel free to add it in this thread.


a final word
So, this is actually the whole "guide". As always, don't think I will tell you what exactely you have to edit in order to get a perfect result or whatever. I am providing information and this is, as i see it, my role in this community. I can offer all my knowledge to help you on figuring out what you need to do in order to archive something you want. And I am happy about any kind of feedback or edits you make.

So as a final thing, greetings go out to all those stupid bastards I see and have to chat with all day on this site and actually beloved leechers.

Who hasnt got this "joke": greetings, tharo, xayo, puLLefjun, snoman (if you read it xD, and all others i know. such as dragon[sky] (<:*3) etc.





Last edited by schlumpf; 12-18-2007 at 06:10 PM.
Reply With Quote

Donate to remove ads.
(#2)
Old
Pullefjun's Avatar
Pullefjun is Offline
Contributor
Rep Power: 2
Reputation: 255
Pullefjun is a jewel in the roughPullefjun is a jewel in the roughPullefjun is a jewel in the rough
 
Posts: 853
Join Date: Oct 2007
Location: Sweden
12-18-2007

Thats an epic guide right there! Results will be posted tmrw/day after tmrw since I'm busy atm.
I was mentioned! Beat that!
<3 schlumpf guides, +rep!



Reply With Quote
(#3)
Old
Glitchy's Avatar
Glitchy is Offline
Dyslexia Got?

Rep Power: 8
Reputation: 994
Glitchy is a splendid one to beholdGlitchy is a splendid one to beholdGlitchy is a splendid one to beholdGlitchy is a splendid one to beholdGlitchy is a splendid one to beholdGlitchy is a splendid one to beholdGlitchy is a splendid one to beholdGlitchy is a splendid one to behold
 
Posts: 797
Join Date: Jun 2007
Location: DE... Where in DE...
12-23-2007

Thank you for this great Guide i know it was very informative and shed light on some areas i didn't know about.


[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]
Reply With Quote
(#4)
Old
^Xayo's Avatar
^Xayo is Online
Contributor

Rep Power: 1
Reputation: 123
^Xayo will become famous soon enough^Xayo will become famous soon enough
 
Posts: 332
Join Date: Sep 2007
Location: Germany
12-23-2007

need to spread a bit
Reply With Quote
(#5)
Old
Casola is Offline
Site n00b.. (A leecher if I've been here for more than a month and can't earn 5 rep)
Rep Power: 2
Reputation: 3
Casola is an unknown quantity at this point
 
Posts: 8
Join Date: Jul 2007
12-23-2007

Thanks a lot dude, one part of model editing i've never really understood
Reply With Quote
Reply
Paltalk Attract 300x250
Donate to remove ads.

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are On




Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
vBulletin Skin developed by: vBStyles.com


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288