EDuke32 2.0 and Polymer! "talk about the wonders of EDuke32 and the new renderer"
#4700 Posted 31 May 2014 - 08:58 AM
#4701 Posted 01 June 2014 - 04:15 AM
MetHy, on 24 May 2014 - 01:20 PM, said:
Here is the thing, some textures get misaligned when switching to 32bit mode.
That's a well-known issue, its root cause being the improper rendering of walls with non-power-of-two height textures in 8-bit mode. Here's an example with BIGORBIT2 which is h := 400 texels high:
See what classic does here. Basically, it renders the wall as if with a texture of a height that's the next power of two greater than h, 512. This pseudo-texture has 400 horizontal lines of the original texture, plus 112 more, made up from the first ones of the same texture. As a result, there is now a seam in the apparent texture. What's the problem with that? Well, the Polymodes have no problems with NPOT height tiles at all:
But this means that such walls can't always be displayed the same in both renderers. A necessary but not sufficient condition is that a wall can only show at most h texels in height.
In order to overcome certain improperly aligned cases in the original maps, Polymost, and then later Polymer added a hack that modifies the apparent ypanning of a wall when its real .ypanning exceeds some value (that's also dependent on h). However, this workaround suffers from the obvious drawback of introducing a discontinuity with ypanning.
Enter r_npotwallmode (r4498):
Quote
When that mode is enabled (see below for caveats), wall textures that have a
non-power-of-two height (call it 'h') will be modified to look like in classic:
Let 'H' be the next power of two greater than 'h'. The texture will be uploaded
with height 'H', made up from 'h' hlines of the original texture, followed by
'H'-'h' first hlines of the same.
No panning "corrections" will take place. The mode is disabled by default.
Caveats/notes:
* the mode requires that r_hightile is disabled
* it is not implemented in Polymer
* in the Lunatic build, it is ineffective when a VX map is loaded, as those
display walls with NPOT height textures correctly
#4702 Posted 01 June 2014 - 08:30 AM
#4703 Posted 01 June 2014 - 10:01 AM
James, on 01 June 2014 - 08:30 AM, said:
Currently no, but feel free to add it to the suggestions wiki page under a new section.
#4704 Posted 01 June 2014 - 10:30 AM
#4707 Posted 01 June 2014 - 09:35 PM
#4708 Posted 01 June 2014 - 11:04 PM
This means an enemy (or any other sprite) with a different palette (for example the grey cultists I ripped from Blood, which are brown cultists with pal 13) will lose its pal if it's in a fogged sector. In the example I mentioned, now all grey cultists are brown.
Is this the new expected behavior or a bug?
Thanks.
#4709 Posted 01 June 2014 - 11:19 PM
Diaz, on 01 June 2014 - 11:04 PM, said:
This means an enemy (or any other sprite) with a different palette (for example the grey cultists I ripped from Blood, which are brown cultists with pal 13) will lose its pal if it's in a fogged sector. In the example I mentioned, now all grey cultists are brown.
Is this the new expected behavior or a bug?
Thanks.
Try to press 'N' on those sprites, so that they keep their own shade and pal should work here.
#4710 Posted 02 June 2014 - 12:44 AM
Diaz, there's a new fogpal feature for openGL which allows you to set a sector's fogpal independently of pal, using a previously unused sector tag. Can't remember which one though. Press F7 and see if there's anything new.
#4711 Posted 02 June 2014 - 06:07 AM
Diaz, on 01 June 2014 - 11:04 PM, said:
This means an enemy (or any other sprite) with a different palette (for example the grey cultists I ripped from Blood, which are brown cultists with pal 13) will lose its pal if it's in a fogged sector. In the example I mentioned, now all grey cultists are brown.
Is this the new expected behavior or a bug?
Thanks.
Yeah, I noticed it as well, on WGR there are pal 17 petrified enemies that don't look like gray stone on fogged sectors. It is definitely a bug.
#4712 Posted 02 June 2014 - 06:20 AM
Though m32script could do the trick.. the new feature shouldn't break old maps/mods though, and it currently does.
This post has been edited by Diaz: 02 June 2014 - 06:22 AM
#4713 Posted 02 June 2014 - 06:23 AM
Mike Norvak, on 02 June 2014 - 06:07 AM, said:
That forgettable map foothold had lots of alt pal enemies in fog.
I've been beta testing some maps, and wanted to record screenshots of my level stats but it won't take a pic of the text, just the background sprite gets captured. (rev-4482) Not sure if it's a bug or even a big deal but I know Megaton lets me do it.
#4714 Posted 02 June 2014 - 07:23 AM
gamevar i 0 0
gamevar paltemp 0 0
gamevar isparallax 0 0
for i allsectors
{
ifge sector[i].floorpal 30
{
setvarvar isparallax sector[i].ceilingstat
ifvarand isparallax 1
{
}
else
{
setvarvar paltemp sector[i].floorpal
set sector[i].fogpal paltemp
set sector[i].floorpal 0
set sector[i].ceilingpal 0
}
}
}any idea why?
thanks!
#4715 Posted 02 June 2014 - 08:12 AM
Diaz, on 01 June 2014 - 11:04 PM, said:
(...)
Is this the new expected behavior or a bug?
It's kind of a bug. It has nothing to do with the introduction of sector[].fogpal, but is a consequence r4335: the predicate that tells whether a sprite should take over the floor pal of its sector was changed with a then-unforeseen side effect. It only concerns nonzero pals that are not the default fog pals (26 .. 29 for the vanilla LOOKUP.DAT). More on that later.
Diaz, on 02 June 2014 - 07:23 AM, said:
Please post the error output. It should be written out to mapster32.log.
#4716 Posted 02 June 2014 - 08:23 AM
BTW, the sprites do keep their palette "internally" - pal 13 enemies behave like pal 13 enemies in CON code, for example. They just revert to pal 0 visually.
This post has been edited by Diaz: 02 June 2014 - 08:26 AM
#4717 Posted 02 June 2014 - 01:16 PM
Diaz, on 02 June 2014 - 08:23 AM, said:
If you're running Polymer, make sure you have ART mapping disabled: r_pr_artmapping 0. There, visibility/fog is done by looking up the shade table of each pal, there's no additional GL fog.
#4718 Posted 05 June 2014 - 01:33 AM
I believe that flat sprites should have the same default behavior as the level architecture. This won't look good in some cases like blood splats but it's the same for masked walls. This is also a problem for rotatesprite.
Maybe it could detected if one of the corners is transparent, at least it's a hack that would work for Duke 3D textures. But we should have the ability to define it for each texture individually.
This post has been edited by Fox: 05 June 2014 - 01:41 AM
#4720 Posted 05 June 2014 - 03:09 PM
This post has been edited by Fox: 05 June 2014 - 03:11 PM
#4721 Posted 05 June 2014 - 03:10 PM
#4722 Posted 05 June 2014 - 03:18 PM
added
So, I go back to the game and now the saves do exist but they are all named user map.
This post has been edited by Drek: 05 June 2014 - 04:56 PM
#4723 Posted 05 June 2014 - 03:41 PM
#4724 Posted 05 June 2014 - 06:34 PM
#4725 Posted 05 June 2014 - 07:04 PM
#4726 Posted 07 June 2014 - 11:35 AM
Or in other words, if there was a way to determine if a specific texture was in the player's point of view, I could enable/disable the skybox based on that rather than the manual system we've got going now.
#4727 Posted 07 June 2014 - 12:22 PM
But are you using a regular skybox, or using rotatesprite/showview?

Help
Duke4.net
DNF #1
Duke 3D #1





