Light Sources
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Light Sources
I'm using programmer's notepad, gimp, and exult studio.
As well as U7Wizard and Dosbox.
I can find a torch and candle in exult studio and I notice there is only one light-source flag.
I don't know how to open external shapes files in Exult Studio, I don't know how to use it at all.
In U7Wizard, I can find the light sources and fountains.
37D-00-0 (37D-3FF)
The quality of the fountain defers its purpose. In front of the mayors building quality=4 and 3 are poison and antidote respectively. The fountain for light is quality=7.
The light source from the spell light I believe uses palette 6, while candles possibly use 11 and 12 depending on the number of light sources.
[url=https://drive.google.com/file/d/1ryADCDeWCsYS22SeiSbVJDQNSyGWzoQP/view?usp=sharing]Light source differences
The top two screens are both with natural light sources combined making palette 12 and on the left is the fountain of light which used without appears as lit as a torch and with combined the magical light source takes precedence with palette 12 again in exult.
The Bottom two screens are both with magical light sources the spell "Light" was cast in exult and in dosbox.
As well as U7Wizard and Dosbox.
I can find a torch and candle in exult studio and I notice there is only one light-source flag.
I don't know how to open external shapes files in Exult Studio, I don't know how to use it at all.
In U7Wizard, I can find the light sources and fountains.
37D-00-0 (37D-3FF)
The quality of the fountain defers its purpose. In front of the mayors building quality=4 and 3 are poison and antidote respectively. The fountain for light is quality=7.
The light source from the spell light I believe uses palette 6, while candles possibly use 11 and 12 depending on the number of light sources.
[url=https://drive.google.com/file/d/1ryADCDeWCsYS22SeiSbVJDQNSyGWzoQP/view?usp=sharing]Light source differences
The top two screens are both with natural light sources combined making palette 12 and on the left is the fountain of light which used without appears as lit as a torch and with combined the magical light source takes precedence with palette 12 again in exult.
The Bottom two screens are both with magical light sources the spell "Light" was cast in exult and in dosbox.
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: Light Sources
Are you suggesting the palettes used in Exult do not match the original game?
What are you trying to do in ES? It can import PNGs and other formats. You may need to right-click on the right-side pane to create a new shape.
What are you trying to do in ES? It can import PNGs and other formats. You may need to right-click on the right-side pane to create a new shape.
Re: Light Sources
In the link above for "Light source differences" is a screenshot containing examples of 'magic light sources', and 'natural light sources'.
The two screens that are of import; the bottom left with exult and the spell light is clearly lit like a torch (referencing palette #12), the bottom right with dosbox and the spell light is lighting the dimly lit dungeon (referencing palette #6).
What I'm trying to solve is where in the exult code has the magical light source been lost. The palette is there, it is used for different times of day and spells, visions. The spell "Light" was the first I have noticed that is not accurate to the original game. Additionally the Fountain of Light which uses the same effect as the spell also references the incorrect palette for light.
The two screens that are of import; the bottom left with exult and the spell light is clearly lit like a torch (referencing palette #12), the bottom right with dosbox and the spell light is lighting the dimly lit dungeon (referencing palette #6).
What I'm trying to solve is where in the exult code has the magical light source been lost. The palette is there, it is used for different times of day and spells, visions. The spell "Light" was the first I have noticed that is not accurate to the original game. Additionally the Fountain of Light which uses the same effect as the spell also references the incorrect palette for light.
Re: Light Sources
Worth noting, the spell is not simply counted as a light source. As a single candle uses palette #11 for lighting and two sconces (for two light sources) will use palette #12 for lighting. I believe the spell skips number of light source checks and uses the incorrect palette #12 which makes sense, it is a spell after all and not a light source.
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: Light Sources
Can you give us what the correct list should be? I'm sure this is something in the Exult code that could be changed to match things up.
Re: Light Sources
No I don't know about the code location in either exult or the ultima.
I was searching. Using U7Wizard, is what told me the references for the Palettes and other things.
From what I could infer and some of them are used in conjunction and may not be accurate for use but at the very least descriptive:
Palette0=Daylight
Palette1=Dusk
Palette2=Night
Palette3=Monochrome
Palette4=Morning
Palette5=Fog
Palette6=Soft Light (The Spell Light in conjunction with Night#2)
Palette7=Storm
Palette8=Red (flashes when injured I think)
Palette9=Red Again (I haven't the slightest)
Palette10=Bright (Crystal Ball vision)
Palette11=One Light Source (Single torch in conjunction with #2)
Palette12=Multiple Light Source (in conjunction with darkness)
I was searching. Using U7Wizard, is what told me the references for the Palettes and other things.
From what I could infer and some of them are used in conjunction and may not be accurate for use but at the very least descriptive:
Palette0=Daylight
Palette1=Dusk
Palette2=Night
Palette3=Monochrome
Palette4=Morning
Palette5=Fog
Palette6=Soft Light (The Spell Light in conjunction with Night#2)
Palette7=Storm
Palette8=Red (flashes when injured I think)
Palette9=Red Again (I haven't the slightest)
Palette10=Bright (Crystal Ball vision)
Palette11=One Light Source (Single torch in conjunction with #2)
Palette12=Multiple Light Source (in conjunction with darkness)
Re: Light Sources
Palette0=Daylight
Palette1=Dusk & Dawn
Palette2=Night (Cave)(Nighttime)
Palette3=Monochrome (invisibility effect)
Palette4=Weather (Storm)
Palette5=Fog
Palette6=Soft Light (The Spell Light)
Palette7=Candlelit (At night)
Palette8=Red (injury)
Palette9=Red2 (I dont know why there is two)
Palette10=Bright (Lightning Strike)(Ice Place?)(Magic Vision?)
Palette11=Torch ( night w/ lamp or torch)
Palette12=Well lit ( night w/ multiple lamps or torches)
Palette1=Dusk & Dawn
Palette2=Night (Cave)(Nighttime)
Palette3=Monochrome (invisibility effect)
Palette4=Weather (Storm)
Palette5=Fog
Palette6=Soft Light (The Spell Light)
Palette7=Candlelit (At night)
Palette8=Red (injury)
Palette9=Red2 (I dont know why there is two)
Palette10=Bright (Lightning Strike)(Ice Place?)(Magic Vision?)
Palette11=Torch ( night w/ lamp or torch)
Palette12=Well lit ( night w/ multiple lamps or torches)
-
- Posts: 565
- Joined: Thu May 14, 2020 1:34 pm
Re: Light Sources
Lighting is a bit buggy in Exult sometimes I think. Like it will be bright as day, and transition straight to night sometimes, or vice versa.
-------------------------------------------------------------------------------------
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Re: Light Sources
I don't quite understand what the question or the problem is completely.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: Light Sources
Aren't the Generators in BG light emitters?
We'd have to compare location vs. location to be sure.
We'd have to compare location vs. location to be sure.
Re: Light Sources
Yeah sorry I wasn't being very concise.
In exult the spell "light" "glimmer" or "great light" all use the incorrect palette #12 for lighting. Being the same as having a couple Torches lit.
Whereas in actual dos the spell "light" uses the soft-light palette #6. This can be seen in dosbox, in the link I provided it is the lower right box with the gargoyle reading in the dark.
The generators do not emit light, I'm sure they are lit inside though.
In exult the spell "light" "glimmer" or "great light" all use the incorrect palette #12 for lighting. Being the same as having a couple Torches lit.
Whereas in actual dos the spell "light" uses the soft-light palette #6. This can be seen in dosbox, in the link I provided it is the lower right box with the gargoyle reading in the dark.
The generators do not emit light, I'm sure they are lit inside though.
Re: Light Sources
Nevermind it isn't lit in the cube generator, I was thinking it was like dreamworld in SI.
Re: Light Sources
ok, looking at https://github.com/exult/exult/blob/mas ... ette.h#L29 and other parts of the code, we are not using palette #6 or #7 at all, instead using #12 for spells.
I might be able to code that actually.
I might be able to code that actually.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: Light Sources
That would be amazing. And if you can, I'd love to be able to use the Fog palette.
Re: Light Sources
I did restore the fog palette ages ago upon your request
https://github.com/exult/exult/commit/ff8315d
So, it is easy to modifiy the spell lighting to use the proper light palette. Not so sure whether I can fix the candles.
https://github.com/exult/exult/commit/ff8315d
So, it is easy to modifiy the spell lighting to use the proper light palette. Not so sure whether I can fix the candles.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: Light Sources
I made a video of DOSbox in slow motion (lower CPU cycles via Shift+11).
For a non-fatal hit:
The Avatar's black outline flashes a magical or translucent light red. It is not the dark solid red that Exult uses.
1 The entire screen goes solid red.
2 Fade back is a very red palette, seems even redder than Palette 8.
3 Then what appears to be Palette 8. The lighter colors are more visible.
4 Then another lighter palette.
5 Then yet another.
6 Back to normal.
For a fatal hit:
1, 2, and 3 above.
4 Back to normal.
5 Then fade to black.
For a fatal hit in Exult, there is no red flash before death.
For a non-fatal hit:
The Avatar's black outline flashes a magical or translucent light red. It is not the dark solid red that Exult uses.
1 The entire screen goes solid red.
2 Fade back is a very red palette, seems even redder than Palette 8.
3 Then what appears to be Palette 8. The lighter colors are more visible.
4 Then another lighter palette.
5 Then yet another.
6 Back to normal.
For a fatal hit:
1, 2, and 3 above.
4 Back to normal.
5 Then fade to black.
For a fatal hit in Exult, there is no red flash before death.
-
- Posts: 1219
- Joined: Thu May 14, 2020 1:34 pm
Re: Light Sources
Sorry, for both non-fatal and fatal hits to the Avatar there is a very brief flash of a single red palette, which appears to be Palette 8. There is no solid red and multiple fading as in the original.
My guess here is that the original engine had some of these palette colors hardcoded around hits.
Shall I file a bug report?
My guess here is that the original engine had some of these palette colors hardcoded around hits.
Shall I file a bug report?
Re: Light Sources
Yes, please, this is too much for this thread
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Re: Light Sources
Correct palette for light spells is now committed.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Re: Light Sources
I'm not sure if I really want to fix the candle light because it only affects candles. anything that says light source or torch will use palette 11 or 12 if there are more than one light sources (candles don't seem to count in that regard).
Tested with the original game.
Not sure if it's really worth it. What do you think?
Tested with the original game.
Not sure if it's really worth it. What do you think?
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Re: Light Sources
Please share ideas and make full use of this thread to all ends. It only took me a fraction of time to catch up on the reading.
I gathered, moved, doused, and lit a great many a candle.
I eventually assumed these values.
candles=25
torches=125
I tried a lot to get the proximal light calculations.
I used ((Δ0.02)-1)(L/-1) to calculate the amount of light.
at distance 15 the light is reduced 30 percent
10-85(candle lit)
86-254(torch)
255+(well lit)
so in theory three torches at distance 16 will be well lit
|16*0.02 -1|375≥255
Distance is Pythagorean or probably a mix of math shortcuts.
These were rough estimates. I need to check my work, and reduce or refactor.
I rest now. Good job.
I gathered, moved, doused, and lit a great many a candle.
I eventually assumed these values.
candles=25
torches=125
Code: Select all
candles torches palette values
1-3 0 6 25-75
4-9 0 11 100-175
0-3 1 11 125-200
10 0 12 250
4 1 12 225
0 2 12 250
I used ((Δ0.02)-1)(L/-1) to calculate the amount of light.
at distance 15 the light is reduced 30 percent
10-85(candle lit)
86-254(torch)
255+(well lit)
so in theory three torches at distance 16 will be well lit
|16*0.02 -1|375≥255
Distance is Pythagorean or probably a mix of math shortcuts.
These were rough estimates. I need to check my work, and reduce or refactor.
I rest now. Good job.
Re: Light Sources
Thanks Evan, that's extensive and if I can make it work that candles have that palette, I can make it work as you found out.
As for the thread I'd rather KC reports his other findings as a bug report than here. Forum is more forgetful than the bug tracker and this thread is more about lighting than the hit/combat palette.
As for the thread I'd rather KC reports his other findings as a bug report than here. Forum is more forgetful than the bug tracker and this thread is more about lighting than the hit/combat palette.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Re: Light Sources
Maybe this
candles=20
torches=125
((Δ0.03)-1)(L/-1)
16-63(candle lit)
64-191(torch)
192+(well lit)
Here is a cheat file to use in the ULTIMA7 folder with DosBox, it is hexedited so if you edit then it it will no longer work.
candles=20
torches=125
((Δ0.03)-1)(L/-1)
16-63(candle lit)
64-191(torch)
192+(well lit)
Here is a cheat file to use in the ULTIMA7 folder with DosBox, it is hexedited so if you edit then it it will no longer work.
Re: Light Sources
our code is simply counting light sources. 1 light source = palette 11, more than 1 = palette 12.
To make this work I'd have to count the number of candles in the lightsources, than how many non_candles there are and then make something like:
if (candles palette 6
if (candles palette 11
if (candles > 3 && !non_candles) -> palette 11
if (candles > 9 && !non_candles) -> palette 12
if (candles > 3 && non_candles = 1) -> palette 12
if (non_candles >1) -> palette 12
If I can differ between candles and the other lightsources is the big question... I'm really not good at this
To make this work I'd have to count the number of candles in the lightsources, than how many non_candles there are and then make something like:
if (candles palette 6
if (candles palette 11
if (candles > 3 && !non_candles) -> palette 11
if (candles > 9 && !non_candles) -> palette 12
if (candles > 3 && non_candles = 1) -> palette 12
if (non_candles >1) -> palette 12
If I can differ between candles and the other lightsources is the big question... I'm really not good at this
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Re: Light Sources
it's too difficult for me.
We would need to redo the lighting code entirely. The light sources are more different in the amount of light they produce and how it adds up. The red candles give more light than the small candles etc...
We would need to redo the lighting code entirely. The light sources are more different in the amount of light they produce and how it adds up. The red candles give more light than the small candles etc...
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Re: Light Sources
Candles=1c
Torches=5c
((Δ0.03)-1)((C+T/-1)
The above is mostly accurate relative calculation, as long as the distance is modified -4 for x axis and +1 for y axis. This is different than the actual position relativity code it is too difficult to see the arithmetic simply by observing candles.
https://drive.google.com/file/d/134IftQ ... 9hM7y/view
x=torches
y=Candles
z=is the light factor, and maybe I should approach this differently.
omega is the distance modifier, -4.2
the left of the equation is the distance average of the candles and torches.
the right of the equation is the number of candles and torches used equalling the amount of light minimum to achieve a certain lumination.
I haven't wrote very much code. I'm still learning, maybe my imagination will take me through it but I'm really lacking the knowledge and references.
I got to play the exult snapshot, and the light is restored beautifully. It looks nice and thank you.
Torches=5c
((Δ0.03)-1)((C+T/-1)
The above is mostly accurate relative calculation, as long as the distance is modified -4 for x axis and +1 for y axis. This is different than the actual position relativity code it is too difficult to see the arithmetic simply by observing candles.
https://drive.google.com/file/d/134IftQ ... 9hM7y/view
x=torches
y=Candles
z=is the light factor, and maybe I should approach this differently.
omega is the distance modifier, -4.2
the left of the equation is the distance average of the candles and torches.
the right of the equation is the number of candles and torches used equalling the amount of light minimum to achieve a certain lumination.
I haven't wrote very much code. I'm still learning, maybe my imagination will take me through it but I'm really lacking the knowledge and references.
I got to play the exult snapshot, and the light is restored beautifully. It looks nice and thank you.
Re: Light Sources
I'm preparing a savegame of the original game with all lightsources lined up for testing.
To me it seems we are not reading in some kind of data on the light sources frames (shapes 338) that give them the light factor. They do have four different ones.
To me it seems we are not reading in some kind of data on the light sources frames (shapes 338) that give them the light factor. They do have four different ones.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Re: Light Sources
see https://sourceforge.net/p/exult/bugs/2041/ for the bug report and the original savegame attached.
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Re: Light Sources
Indeed the blue candles, blue candle lamps and lamps have their own values at twice the value of a regular candle and 2/5 of a torch. The candelabras are as bright as a torch. While I think the rest of the candles all hold the same value. Except for the tall blue magic candle in the candle holder is also a torch.
Luckily I only had 1 lamp while testing the first time. The small tea lights with the handle are easiest to use.
I'm still not sure about the distance calculations. The math app I was using on my phone constantly resets on me losing my progress. Additionally it has an equation limit where if you enter the 21st equation it simply erases the first equation at the top without a trace and without asking.
With that consideration it hasn't been going well.
Also the firedoom staff and fire sword are as bright as a torch.
Luckily I only had 1 lamp while testing the first time. The small tea lights with the handle are easiest to use.
I'm still not sure about the distance calculations. The math app I was using on my phone constantly resets on me losing my progress. Additionally it has an equation limit where if you enter the 21st equation it simply erases the first equation at the top without a trace and without asking.
With that consideration it hasn't been going well.
Also the firedoom staff and fire sword are as bright as a torch.
Re: Light Sources
don't worry too much, I spoke to Marzo and he did already figure this out some time ago just not implemented it...
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Re: Light Sources
It looks a lot like this
(Lux)-(Lux)[(3x-x/3),(4y)] = effective light
also that is 2.66¯x and 4y
also that is 1:1.5 ratio
37x distance was the maximum distance that a lightsource could contribute light. While 24y was the farthest that still gave light vertically.
maybe insignificantly I tried so many ways to figure out how to apply that number as a percentage of reduced light.
I think I will have the values for the effective light switches tomorrow.
Since we are writing our own code I feel like I should work from that direction.
(Lux)-(Lux)[(3x-x/3),(4y)] = effective light
also that is 2.66¯x and 4y
also that is 1:1.5 ratio
37x distance was the maximum distance that a lightsource could contribute light. While 24y was the farthest that still gave light vertically.
maybe insignificantly I tried so many ways to figure out how to apply that number as a percentage of reduced light.
I think I will have the values for the effective light switches tomorrow.
Since we are writing our own code I feel like I should work from that direction.
Re: Light Sources
I think I may have typed both of these wrong, I never learned percentages; it is just a number over 100.
Lux - Lux%[(3x-x/3),(4y)] = effective light
Lux - Lux%[(3x-x/3),(4y)] = effective light
Re: Light Sources
candle=30
lamp=60
torch=150
ambient=0-12
candlit=13-89
torchlit=90-255
blazing=256+
before I go to sleep
[x,y][1,1.5]
[(3x-x/3),(4y)]/100 = %Δ
[(x/5)x,???y]/255 = %Δ
lamp=60
torch=150
ambient=0-12
candlit=13-89
torchlit=90-255
blazing=256+
before I go to sleep
[x,y][1,1.5]
[(3x-x/3),(4y)]/100 = %Δ
[(x/5)x,???y]/255 = %Δ
Re: Light Sources
Marzo has done some work on this and it's already working way better!
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!