
EDuke32 2.0 and Polymer! "talk about the wonders of EDuke32 and the new renderer"
#4681 Posted 30 May 2014 - 11:29 PM
#4682 Posted 30 May 2014 - 11:35 PM
#4683 Posted 31 May 2014 - 04:37 AM
This has nothing to do with scripting for the time being, or CON likely ever.
The main impetus for this was making the menus Android-ready. Otherwise, there are not many changes that are visible but I'll point out the improvements I did make.
First off, all menus will automatically scroll if their contents exceed the page. You can see this with the Game Setup page, which is two screens merged into one, and the Keyboard Key and Joystick Button menus.
https://i.imgur.com/nfX5Wn7.png
Slider bars will generally display a numerical value to their side. (I added a separate music on/off.)
https://i.imgur.com/3ySBQ5f.png
You can press Enter on some menu option toggles to bring up a menu of possible choices. This was initially created for the mouse/joystick button menus, but I thought it natural to extend the functionality to places that could benefit.
https://i.imgur.com/fU6h0sB.png
In addition to this, you can press left/right on options you may not have been able to before, such as mouse/joystick input screens.
Smoothed out/improved joystick menu, though the underlying functionality is still broken and needs to be addressed.
https://i.imgur.com/QNOtYH6.png https://i.imgur.com/3OJkOni.png https://i.imgur.com/sFiDcTG.png
One final thing is that you can enter the color escape sequences in a visible manner (like markup) while entering a string, then they will take effect when you exit the editing mode.
https://i.imgur.com/HjzgpeO.png https://i.imgur.com/ghzvSif.png
I still have yet to implement mouse/touch/pointer support, which is its own can of worms due to gesturing and whatnot.
Please test this thoroughly, and report any crashes or misbehavior.
https://i.imgur.com/zO58tyE.png
#4684 Posted 31 May 2014 - 04:52 AM
Hendricks266, on 31 May 2014 - 04:37 AM, said:
An enormous effort indeed, but one that will hopefully pay off in the long run. I guess reviewing it will take a while (git --stat shows 8334 changed lines in menus.c!). If I recall properly, you did all of your development in one file, and then kind of merged that in with menus.c, right? I'm asking because it would have been a bit easier to see commits broken down a bit more. But I can understand if that was too cumbersome to pull off given that this was to a large extent coding with a chainsaw.
Right now, it's failing to compile for me:
$ LTO=0 WITHOUT_GTK=1 RELEASE=0 LUNATIC=0 make -j4 (...) source/menus.c: In function ‘M_MenuEntryOptionModify’: source/menus.c:2475:24: error: ‘ME_GAMESETUP_UPDATES’ undeclared (first use in this function) else if (entry == &ME_GAMESETUP_UPDATES) ^ source/menus.c:2475:24: note: each undeclared identifier is reported only once for each function it appears in
Edit: OK, that one only needed an #ifdef _WIN32. Looks good.
#4685 Posted 31 May 2014 - 08:51 AM
https://forums.duke4.net/public/style_images/cgs/snapback.png' alt='View Post' />Hendricks266, on 31 May 2014 - 04:37 AM, said:
Would it be feasible to classify it by aspect ratio?
Aesthetically, the text should be in the left corner, or center-aligned, or being aligned with the x in the center.
#4686 Posted 31 May 2014 - 08:58 AM
#4687 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
#4688 Posted 01 June 2014 - 08:30 AM
#4689 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.
#4690 Posted 01 June 2014 - 10:30 AM
#4693 Posted 01 June 2014 - 09:35 PM
#4694 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.
#4695 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.
#4696 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.
#4697 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.
#4698 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
#4699 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.
#4700 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!
#4701 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.
#4702 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
#4703 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.
#4704 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
#4706 Posted 05 June 2014 - 03:09 PM
This post has been edited by Fox: 05 June 2014 - 03:11 PM
#4707 Posted 05 June 2014 - 03:10 PM
#4708 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