Latest Raze Changes

Latest 50 commits, skipping 8100

Unofficial development builds at DRD Team

Newer commits | Older commits

06-Jan-2019 (Sunday) at 00:00:52 PST by Christoph Oelckers
Commit dca4a42dd6
Parents: 3328821a98

  • changed light mode handling of the hardware renderer so that it only operates on local copies but doesn't alter the level's setting.

There are several places where a temporary change of light mode is needed, all these made this change in the global level struct. Now the change is only local to the active draw info.

05-Jan-2019 (Saturday) at 23:24:04 PST by Christoph Oelckers
Commit 3328821a98
Parents: a0ce8f2988

  • pass 'level' as a parameter to AABBTree. Also renamed a few things to make the code easier to read.

04-Jan-2019 (Friday) at 14:54:03 PST by Chronos Ouroboros
Commit a0ce8f2988
Parents: b445c6fabc

Implemented compound initializers for arrays.

05-Jan-2019 (Saturday) at 15:46:09 PST by Christoph Oelckers
Commit b445c6fabc
Parents: 8b18ed4759

  • actually use the newly added indices.

05-Jan-2019 (Saturday) at 15:41:46 PST by Christoph Oelckers
Commit 8b18ed4759
Parents: c05968146e

  • store the index of each map item in the struct itself and return that for the Index function.

If we ever want to refactor the global level data these must not reference the 'level' variable. The main parts of the map loader cannot use this information, because it can only be created after running the node builder, so it got its own set of index functions instead.

05-Jan-2019 (Saturday) at 13:46:45 PST by Christoph Oelckers
Commit c05968146e
Parents: 6f6dc60e2b

  • starting to reduce references to global level variable.

05-Jan-2019 (Saturday) at 12:59:34 PST by Christoph Oelckers
Commit 6f6dc60e2b
Parents: b386a09358

  • moved the global ACS ActiveThinker variable into FLevelLocals.

05-Jan-2019 (Saturday) at 11:48:22 PST by Christoph Oelckers
Commit b386a09358
Parents: 28531c3f8f

  • changed AFuncDesc initialization to avoid generating initializer functions.

Visual C++ will never statically initialize a class instance where a member field has a default value set, so the DEFINE_ACTION_FUNCTION variants without a direct native call need to be handled differently. The easiest way to do this is to leave out the nullptr default and omit the value in the initializer list. For trailing fields this will always get them nulled.

05-Jan-2019 (Saturday) at 06:41:31 PST by Player701
Commit 28531c3f8f
Parents: 7b235ea13e

  • Fixed spawn height of projectiles created by SpawnPlayerMissile.

05-Jan-2019 (Saturday) at 09:19:35 PST by Christoph Oelckers
Commit 7b235ea13e
Parents: 131eef9eb9

  • moved the per-level ACS state into FLevelLocals.

05-Jan-2019 (Saturday) at 07:09:59 PST by Christoph Oelckers
Commit 131eef9eb9
Parents: c651045ed3

  • converted the ACS Stringbuilder macros into inline functions.

05-Jan-2019 (Saturday) at 06:37:14 PST by Christoph Oelckers
Commit c651045ed3
Parents: 639fb43682

  • let RunHealth clamping respect the newly added global properties.

05-Jan-2019 (Saturday) at 04:27:32 PST by Christoph Oelckers
Commit 639fb43682
Parents: a0ad4ea193

-reordered sector_t so that the internal declarations are at the top, followed by the member variables and the methods.

Also tried to sort them by renderer use but that turned out to be without any performance effect, even though the struct is a bit better aligned now and several bytes shorter.

05-Jan-2019 (Saturday) at 01:53:06 PST by Christoph Oelckers
Commit a0ad4ea193
Parents: dab68184f5

  • made the corpse queue a simple array in FLevelLocals.

I have to wonder why it had to use such a complicated implementation that provided no advantages whatsoever. The new code is just 1/5th of the old one's size and much closer to Hexen's original implementation which also was a simple array but with no means to resize the queue.

05-Jan-2019 (Saturday) at 01:04:27 PST by Christoph Oelckers
Commit dab68184f5
Parents: 7b16433e97

  • moved the global spot state into FLevelLocals.

This way it doesn't even have to be a thinker.

05-Jan-2019 (Saturday) at 00:40:03 PST by Christoph Oelckers
Commit 7b16433e97
Parents: 95995e4aa3

  • changed FraggleScript setup so that the MapLoader does not use the global level variable anymore.

This involves passing the level explicitly to many functions. What was done here may seem a bit excessive but at least it covers everything. Most importantly, the global ActiveThinker pointer has been moved into FLevelLocals and is now getting tracked properly by the level without using dangerous assumptions about how the game organizes its data.

04-Jan-2019 (Friday) at 23:59:45 PST by Christoph Oelckers
Commit 95995e4aa3
Parents: 86551e53df

  • use a local pointer to the current level in FraggleScript parser.

Just to test a few things.

04-Jan-2019 (Friday) at 23:52:21 PST by Christoph Oelckers
Commit 86551e53df
Parents: bfbf7ff9c9

  • bumped savegame version because the recent scriptification of APlayerPawn will render all old savegames unusable.

04-Jan-2019 (Friday) at 23:48:57 PST by Christoph Oelckers
Commit bfbf7ff9c9
Parents: d898cadda5

  • made forwardmove and sidemove defaults configurable through the gameinfo section.

04-Jan-2019 (Friday) at 09:56:14 PST by Christoph Oelckers
Commit d898cadda5
Parents: b47a3804d2

  • fixed: Trying to remove the first item in an actor's inventory would lose all owned items.

04-Jan-2019 (Friday) at 07:12:39 PST by Christoph Oelckers
Commit b47a3804d2
Parents: 980977d444

  • fixed delete calls on FDynamicLight.

This isn't allocated from the system heap so it cannot be freed by it.

04-Jan-2019 (Friday) at 07:08:45 PST by Christoph Oelckers
Commit 980977d444
Parents: f10ded756e

  • fixed: GetSoundClass must be able to handle non-players.

04-Jan-2019 (Friday) at 06:51:59 PST by Magnus Norddahl
Commit f10ded756e
Parents: 4f4d10ce5f

  • split shadowmap AABB tree into two parts. one for static and one for dynamic
  • upload only the dynamic AABB subtree using glBufferSubData
  • change internal raytracing stack limit from 16 to 32
  • update shadowmap AABB tree after R_SetupFrame for proper frame interpolation

04-Jan-2019 (Friday) at 04:56:36 PST by Magnus Norddahl
Commit 4f4d10ce5f
Parents: 3b77e2db68

  • disable polyobj AABBTree updates

04-Jan-2019 (Friday) at 01:20:18 PST by Christoph Oelckers
Commit 526268a216
Parents: bbe00562eb

  • fixed cherry picked commit based on code that didn't get into the maintenance branch.

29-Dec-2018 (Saturday) at 08:50:31 PST by Christoph Oelckers
Commit bbe00562eb
Parents: 3712c6beda

  • fixed the direct native variant of DynamicLight.SetOffset.

03-Jan-2019 (Thursday) at 15:28:51 PST by Christoph Oelckers
Commit 3712c6beda
Parents: a8fb771618

  • fixed: The player sound lookup would fail if a sound was only available for the last gender in the list.

This is an ancient bug, but it never registered before - only after making 'other' the default gender for nonsense input it became apparent.

03-Dec-2018 (Monday) at 11:19:46 PST by drfrag666
Commit a8fb771618
Parents: a6d7d8755c

  • Default gender for sound classes should be male and not other since it could be undefined in SNDINFO.

03-Jan-2019 (Thursday) at 14:43:15 PST by Christoph Oelckers
Commit a6d7d8755c
Parents: ed0dccdc1f

  • fixed A_Chase default detection.

02-Jan-2019 (Wednesday) at 18:48:47 PST by Magnus Norddahl
Commit ed0dccdc1f
Parents: a61559078c

  • Add missing screenshot sRGB gamma when vid_hdr is active

02-Jan-2019 (Wednesday) at 05:31:40 PST by Major Cooke
Commit a61559078c
Parents: 8d34cf15cc

  • Fixed: NODAMAGE was not accounted for with pain.

02-Jan-2019 (Wednesday) at 06:35:23 PST by alexey.lysiuk
Commit 8d34cf15cc
Parents: dbc03a9f9d

  • added missing range checks to level compatibility handler

Conflicts:

src/compatibility.cpp

02-Jan-2019 (Wednesday) at 05:19:03 PST by Rachael Alexanderson
Commit dbc03a9f9d
Parents: 8cfbc75a4a

  • force CMake to use internal asmjit. I left it in a state so that it can easily be changed back in the future.

01-Jan-2019 (Tuesday) at 01:12:33 PST by Timo Myyrä
Commit 8cfbc75a4a
Parents: b34619b163

fix Unix builds without backtrace functions in their libc

backtrace functions are not present in all libc implementations. Cmake has module to add external libraries into build if needed so use it to fix build on Unix systems without backtrace in libc.

01-Jan-2019 (Tuesday) at 21:35:09 PST by Marrub
Commit b34619b163
Parents: e390ad1cc2

Fix A_CustomBulletAttack's spawnofs_xy parameter

The current behaviour offsets to the front of the actor rather than the side, due to an oversight in the code, which oddly is not present in the A_FireBullets equivalent.

01-Jan-2019 (Tuesday) at 12:14:18 PST by Player701
Commit e390ad1cc2
Parents: 76f7f8062d

  • Since GetParentAmmo is now virtual, BackpackItem and the "give ammo" cheat should call GetParentAmmo to determine base ammo classes.

01-Jan-2019 (Tuesday) at 10:40:57 PST by Christoph Oelckers
Commit 76f7f8062d
Parents: 74b60adda6

  • fixed memory leaks in network code.

ReadString allocates a buffer, so saving it in a local variable and then forgetting it will not free the buffer afterward. (This should probably be refactored to use some safer methods to read the string than this old-school method...)

03-Jan-2019 (Thursday) at 23:46:07 PST by Christoph Oelckers
Commit 3b77e2db68
Parents: 9ba0e7b783

  • fixed: The update check for a changed AABBTree was inverted.

03-Jan-2019 (Thursday) at 15:28:51 PST by Christoph Oelckers
Commit 5916ddd94e (3.7)
Parents: c85ac0d657

  • fixed: The player sound lookup would fail if a sound was only available for the last gender in the list.

This is an ancient bug, but it never registered before - only after making 'other' the default gender for nonsense input it became apparent.

03-Dec-2018 (Monday) at 11:19:46 PST by drfrag666
Commit c85ac0d657
Parents: edfbd8a08f

  • Default gender for sound classes should be male and not other since it could be undefined in SNDINFO.

03-Jan-2019 (Thursday) at 14:43:15 PST by Christoph Oelckers
Commit edfbd8a08f
Parents: cb3d2bffc9

  • fixed A_Chase default detection.

Conflicts:

src/namedef.h

02-Jan-2019 (Wednesday) at 18:48:47 PST by Magnus Norddahl
Commit cb3d2bffc9
Parents: 7f01ac3980

  • Add missing screenshot sRGB gamma when vid_hdr is active

03-Jan-2019 (Thursday) at 15:28:51 PST by Christoph Oelckers
Commit 9ba0e7b783
Parents: 845141d9af

  • fixed: The player sound lookup would fail if a sound was only available for the last gender in the list.

This is an ancient bug, but it never registered before - only after making 'other' the default gender for nonsense input it became apparent.

03-Dec-2018 (Monday) at 11:19:46 PST by drfrag666
Commit 845141d9af
Parents: f9ff097457

  • Default gender for sound classes should be male and not other since it could be undefined in SNDINFO.

03-Jan-2019 (Thursday) at 14:43:15 PST by Christoph Oelckers
Commit f9ff097457
Parents: 6d87716381

  • fixed A_Chase default detection.

03-Jan-2019 (Thursday) at 14:23:08 PST by Christoph Oelckers
Commit 6d87716381
Parents: 9521b6cd1f

  • fixed: G_StartTravel must remove all dynamic lights from the actors it is about to carry over to the next level.

03-Jan-2019 (Thursday) at 13:05:49 PST by Christoph Oelckers
Commit 9521b6cd1f
Parents: c18e895272

  • removed all remaining native parts of APlayerPawn.

Unlike the other classes, the places where variables from this class were accessed were quite scattered so there isn't much scriptified code. Instead, most of these places are now using the script variable access methods. This was the last remaining subclass of AActor, meaning that class Actor can now be opened for user-side extensions.

03-Jan-2019 (Thursday) at 09:01:58 PST by Christoph Oelckers
Commit c18e895272
Parents: 3314a1efe5

  • exported all native components of APlayerPawn.

Only the class definition itself remains and needs to be taken care of.

03-Jan-2019 (Thursday) at 05:35:17 PST by Christoph Oelckers
Commit 3314a1efe5
Parents: 2258a71c36

  • scriptified the remaining PlayerPawn methods.

03-Jan-2019 (Thursday) at 04:58:53 PST by Christoph Oelckers
Commit 2258a71c36
Parents: 4cc78c3273

  • took several methods out of the native PlayerPawn implementation, either by scriptification or moving them to other places.

Newer commits | Older commits