Settembre 2011
-
Generale
Much more elegant solution to updating the player's sectnum when passing through
Mostra dettagli
TROR portals that works with a little help from updatesectorz() (change not visible from CON code). Relies only on the presence of an extension whose portal isn't blocked and also plays nicely with corner cases like being shrunk and enabling the jetpack. This should fix the upward moving platforms in WGR2.
-
Generale
* game and editor: emit a warning when a search-path directory specified
Mostra dettagli
on the command-line isn't found (instead of saying nothing) * editor: Move inconsistent (stat&2)/heinum detection into the corruption checker. This makes a lot of original maps spew countless 'errors', but it's preferable for new maps since such floors and ceilings could behave strangely with TROR.
-
Generale
polymost.c: remove the rest of the rendmode 1 and 2 code from the build
Agosto 2011
-
fix leak of GL query objects
Mostra dettagli
In cases where performing occlusion queries for multiple red walls leading to the same sector, we would sometimes leak a number of query objects. This was apparently harmless on NVIDIA drivers, but would leak tons of memory on ATI.
-
Generale
weapons.con.sample: fix a potential bug modders may encounter: use the special G_Draw temp variables in G_DrawWeaponTile(_crystal) instead of the ones intended for individual drawing states
-
fix sector masks translucency.
Mostra dettagli
The code was using the Polymer-cached version of the sector cstat to determine the translucency of its diffuse material, meaning it would never get it right on the first try; that's what you get for having completely different variables named 's' and 'sec'.
-
Don't draw back faces of sector masks.
Mostra dettagli
We normally enable backface culling always, but turn it off for two-sided sprites; we need to make sure it's re-enabled after that as sector masks are drawn after.
-
Generale
quotes don't print at all if blank
-
Generale
add weapons.con.sample, a direct port of the HUD display code to CON
-
Generale
add support for the include command to names.h loaded by Mapster32, and names.h no longer requires # in front of commands for CON compatibility
-
Generale
change the help dialog to say 'demo.edm' instead of 'demo.dmo', change support for drag and drop demo files from '.dmo' to '.edm', and change the debughelp dialog to remove the reference to the removed '-nD' gamevars.txt dumping parameter
-
Generale
gut and update enhance.con.sample
-
Generale
update soundefs.h to match the final v1.5 DEFS.CON
-
Generale
add two tile labels which Todd forgot to move from GAME.CON to DEFS.CON and therefore did not make it to names.h
-
fix external view.
Mostra dettagli
Some of the ROR code was operating under the assumption that drawasks always correspond to one call of polymer_displarooms(), but that's not necessarily the case; external view draws all sectors from the top polymer_drawrooms(), which was causing crashes. Just ignore the sector mask queues in external view mode, we already don't draw masked walls.
-
propagate lights across vertical boundaries.
Mostra dettagli
Check all the bunch siblings if we get a floor/ceiling hit and walk them if their own planes hit.
-
add preliminary support for sector masks.
Mostra dettagli
When walking the sectors in displayrooms, detect floor/sector masks to place them in a mask queue. The queues are allocated on the heap, but a stack pointer is maintained by the displayrooms to allow it to play nice with mirror recursion. Right now the masks are drawn after all of drawmasks is finished; that means you can see sprites and wall masks through sector masks, but not the opposite. There is a slight attempt at blending far to near, but nothing too conclusive yet; that means that in some cases some sector masks won't be visible through other sector masks, but it should work for trivial cases. The next step would be to copy all the drawmasks logic into Polymer and have it (attempt to) properly interleave sector masks where they belong in the blending order.
-
Don't draw 1-way walls twice.
Mostra dettagli
Previously they would get counted both as 1-way walls for immediate drawing and as mask walls for delayed drawing.
-
Don't bother fogcalc()ing invisible planes.
Mostra dettagli
Doesn't actually matter that much.
-
handle floor/ceiling translucency.
Mostra dettagli
Assigns the right alpha value to floor/ceiling planes if their translucency bits are set and make sure that changing the cstat now triggers an update of the material for editing purposes. This doesn't do anything by itself, but will be needed to correctly draw floor/ceiling masks.
-
Reorganize main displayrooms loop a bit.
Mostra dettagli
When walking the sectors, put more drawing work between queuing and reaping the occlusion queries to potentially make them more efficient.
-
Correct(er) TROR walking.
Mostra dettagli
Enumerate the vertical siblings of each walked sector and check them against the current frustum. No occlusion queries yet, but that should correct any missing sectors until a flaw in that logic is discovered.
-
Generale
Polymer skeleton cleanup.
Mostra dettagli
Reorganize polymer.c a bit to match the order of prototypes from the header, move macros from the middle into the header.
-
Generale
disable undo/redo editor feature until I can debug the disappearing sprites
-
Generale
disable hidden switch heuristic of r1968
-
Generale
slight tweak for software renderer sprite picking: don't pick them if they're behind a TROR portal from the current position.
-
Generale
Make Ctrl-Alt-A also remove gray walls in the side-view mode. This makes TROR-heavy maps look much less cramped when used in conjunction with Ctrl-A.
-
Generale
Various cleanup work:
Mostra dettagli
- fix an earlier 'oops': make highpals load correctly again - maphack lights shouldn't be double-loaded now - slight tweak to the loading screen fadein/out timing - two bound checks - make some variables static in engine.c
-
Generale
Take a stab at hidden model switch handling. There are at least two ways by
Mostra dettagli
which switches have been hidden in the original and user maps. One is to make it face a wall, and another is to 'embed' it in e.g. the floor, like the monitor with the burning fuse in E4L1. Both kinds show up when the switches are rendered as models, revealing the secrets that the mapper sought to hide. My proposal, implemented in this commit, is to apply a heuristic for such switches at premap and make them invisible (set cstat bit 32768). The conditions are re-checked during the game in case there is a switch coming out of the floor, for example. A new spriteext bit is used for this feature.
-
Generale
* "Fix" two bugs introduced by r1450. In quotation marks, because I merely tracked down the offending changes without understanding them. Mild breakage of TX's ROR is expected.
Mostra dettagli
The two bugs are: - RPG projectiles don't pass through water - can't emerge from slime in bobsp2 * Coalesce Polymer lights that are at the same position for FIRE-like sprites so that only one light is actually generated. This is good for usermaps that have multi-sprite fires, like bobsp2 again.
-
Generale
fix sector updating between TROR bunches, leading to 'being stuck' glitches. Difference: one character.
-
Generale
Fix colored fog in Polymer.
Mostra dettagli
This fixes a ridiculous interaction problem between non-black fog and additive lighting passes. Plagman is stupid.
-
Generale
Fix gamearray overallocation on 64-bit... was being allocated as (array size * sizeof(intptr_t)) when the struct actually contains a ptr to a block of int32_t
-
Generale
ENet 1.3.3
-
Generale
fix rotscrnang weirdness for any r_usenewaspect
-
Generale
make r_usenewaspect imply NOT glwidescreen (i.e. disable r_anamorphic there, because that would be redundant). r_projectionhack is still active, but doesn't seem to do much.
-
Generale
* fix screen warping with r_usenewaspect: now you have a larger FOV when being shrunk
Mostra dettagli
* fix 'squishing' when taking off shrunk (the reason was TROR game code using updatesectorz) and a potential sector[-1] access
-
Generale
* Address http://forums.duke4.net/topic/3911-true-room-over-room/page__view__findpost__p__103306
Mostra dettagli
by using setspritez() instead of setsprite() for the sectnum updating. * Change 'yax-nextwall(0/1)' to 'upwall/downwall' in the corruption checker, makes it much nicer to read.
-
Generale
don't crash wall alignment with void-tiled walls
-
Generale
* skip grayed out sectors when changing tags in 2d mode
Mostra dettagli
* make Ctrl-Alt-A (formerly 'toggle inner gray walls') now remove all gray walls entirely in 2d mode * make r_usenewaspect enabled by default
-
Generale
Add a warning when calling {save,load}mapstate from EVENT_ANIMATESPRITES (forgotten from earlier changes).
-
Generale
Lots of M32script tweaks:
Mostra dettagli
* fix breaking out of 'switch' blocks and compilation of the 'default' case * Have a way of assigning 'special function' menu [' F] entries to script states. Writing a string literal after the state name will register the state under that name. Menu names are limited to 24 characters and it's possible to have up to 16 of them. * new branching command 'ifinteractive', true if a state runs from the menu mentioned above. * new command: getnumberfromuser <<retvar>> "query_string" <maxnum> <flags> See 'state collect_teleporting_sectors' in a.m32 for a combined usage of the new functionality.
-
Generale
fix a typo that made TROR-nextwall corruptions only detected for the ceiling and write an auto-correction routine for inconsistencies with them.
Luglio 2011
-
Generale
Patch up this issue:
Mostra dettagli
http://forums.duke4.net/topic/4685-glitch-on-keyboard-customization-page/ by setting the key_names[] characters in the non-ASCII range to '?' on Windows
-
Generale
* a.m32: new state 'correctslopes' which will check all ceilings and floors for a stat&2 and heinum mismatch and correct accordingly (the result isn't visible, but such an inconsistency can prevent planes from TROR-joining)
Mostra dettagli
* helper feature: when shade preview is enabled, the ceilings and floors of highlighted sectors are shown in pal 6. This makes it possible to highlight the TROR-joining candidate sectors in 3D mode using e.g. 'sethighlightsector searchsector 1' while aiming at the respective ceilings and floors, and get visual feedback. * when failing TROR-joining early ('no consistent joining combinations found'), print to the console why it failed. * more Makefile.deps updating
-
Generale
update Makefile.deps
-
Generale
maint 2: refactor bits of code that twiddle/untwiddle pointers for persistent storage into a G_Util_PtrToIdx() function
-
Generale
maint 1: refactor 3 redundant instances of the same code into G_ResetInterpolations()
-
Generale
move tiles.cfg out of eduke32/samples/ into eduke32/ and update synthesis.sh to reflect that
-
Generale
minor change in duke3d.def.sample to link to the wiki, but it still needs a major overhaul