Commit graph

14010 commits

Author SHA1 Message Date
Mitchell Richters
571583ca9c - Duke: Store velocity scale in motoApplyTurn() as a variable like boatApplyTurn(). 2021-01-01 21:21:26 +11:00
Nikolay Ambartsumov
591f593888 [Blood] Fix negative priority event processing
Some sprites (for example, "Blood Drip" sprite type 702) cause
negative priority events to be added added to the event queue
on map initialization. Despite them being the highest priority
entries in the event queue, comparision with the game timer performs an
implicit unsigned conversion, which wrongly results in their priority
being considered much higher than the current in-game time, causing the
event loop to never advance. This commit fixes this problem.
2020-12-31 20:43:18 +01:00
Nikolay Ambartsumov
edd5b92c94 [Blood] Fix wrong sector path marker stat lookup 2020-12-31 20:43:18 +01:00
Christoph Oelckers
3ecd02dcac - downgrade overflow message to a debug warning. 2020-12-30 09:55:57 +01:00
Christoph Oelckers
b73b59cf66 - fixed badly inherited exception subclass. 2020-12-30 09:55:57 +01:00
Christoph Oelckers
0f8e73ce77 - inlined calc_globalshifts to get rid of two global variables. 2020-12-30 09:55:57 +01:00
Christoph Oelckers
2184baaa18 - detection of alternative Twin Dragon GRP. 2020-12-30 09:55:57 +01:00
Mitchell Richters
a0a710c56a - Duke: Fix camera horizon when viewing the screen from in-game.
* Leftover horizon offset that was missed when doing 09a05f354c.
2020-12-30 18:31:51 +11:00
Mitchell Richters
f2c6a23f38 - Duke: Allow horz input to go through when returning to center and horiz is abs(5) or less. This mimics the original behaviour where Duke would stop returning to center at 95/105. This allows faster mouse input to be applied instead of waiting for player's horizon to return to 0. 2020-12-30 18:04:30 +11:00
Mitchell Richters
5c87b7b894 - Return to center using tangent of pitch, as per original games (Duke/SW).
* Preserves the original return to center feel more accurately as original algorithm can't directly translate to pitch. If we ever get rid of Build's horizon throughout the games, this can go on the chopping block then as a necessity.
2020-12-30 18:04:00 +11:00
Mitchell Richters
0afaff2663 Revert "- Duke: Don't block horz input while returning to center."
This reverts commit 5f62058020.
2020-12-30 17:07:59 +11:00
Mitchell Richters
5f62058020 - Duke: Don't block horz input while returning to center.
* Player still returns to center after a fall or by looking/aiming up/down, but input breaks the return just like the other games.
* Fixes #220.
2020-12-29 16:48:28 +11:00
Mitchell Richters
14d41e9984 - Exhumed: Tune position of compass, ammo count and underwater lungs following changes in 220283d1ec.
Confirmed torch issue in #236 that 220283d1ec fixed still remains fixed.
2020-12-29 14:12:43 +11:00
alexey.lysiuk
f5bb8a5714 - fixed detection of Apple's Clang 2020-12-28 13:45:40 +02:00
Rachael Alexanderson
38faefa663 - set some install defaults for posix systems 2020-12-27 05:28:47 -05:00
Christoph Oelckers
220283d1ec - Exhumed: Made some adjustments to the status bar for original center alignment.
The 2D drawer in this old Build version did not properly center graphics with odd size due to integer math. Some graphics offsets are not correct due to this quirk unless such broken math is used to align them.
Fixes #236
2020-12-13 19:38:04 +01:00
Christoph Oelckers
3787e103d2 - use the same camera sprite selection logic as EDuke32 and RedNukem.
This is the only one that makes some sense.
2020-12-13 14:13:51 +01:00
Rachael Alexanderson
0c71cc4b38 - allow use of external libvpx library on windows 2020-12-13 02:30:26 -05:00
Rachael Alexanderson
218b0cfb03 - syncing these files over from GZDoom
- this does not actually yet build for Windows ARM64, but it does put the framework in place to make that possible in the near future
2020-12-12 09:20:02 -05:00
Christoph Oelckers
b58b21cca0 - Exhumed: The global variable holding the Ramses sprite index was not stored in a savegame.
As a result it could result in the player facing an incorrect direction if this variable had not been set in a previous session.
Fixes #235.
2020-12-11 19:33:06 +01:00
Christoph Oelckers
72df9c26d8 - Duke: fixed: SE31's handler overwrote the interpolation coordinates, which rendered interpolation ineffective.
Also removing some redundant coordinate copying. Since we save all sprite coordinates at the start of a frame, there is no need to do the same again in the stat handlers.
Fixes #237
2020-12-11 19:17:41 +01:00
Christoph Oelckers
dd7d661f9a - explicitly disable mipmapping for indexed textures.
It looks like this code was not handled properly.
2020-12-10 20:46:44 +01:00
Christoph Oelckers
ddd0b412ae - Exhumed: only run the level init code after loading a save, not after saving.
Fixes #221
2020-12-10 20:25:20 +01:00
Christoph Oelckers
6c36852ceb - SW: fixed positioning of the inventory bar. 2020-12-10 20:20:17 +01:00
Christoph Oelckers
5b78f84bd7 - Blood: only set 'isrunning' when the player is actually running and not when just the run key is held down.
The old logic does not work because the run toggle results in this button being continuously held down.
2020-12-10 19:23:38 +01:00
Christoph Oelckers
fdd9c10a55 - fixed: the statistics display didn't take the HUD's scale factor into account.
Fixes #229
2020-12-10 19:20:24 +01:00
Christoph Oelckers
a8fd2e7ec3 - RR: fixed inventory display overlapping the weapon bar in status bar mode.
Fixes #231
2020-12-10 19:07:15 +01:00
Christoph Oelckers
f41fe7c692 - Blood: fixed double inventory display on overlay status bar.
Fixes #230
2020-12-10 19:02:09 +01:00
Christoph Oelckers
94d3d643d7 - fixed: the file system's entry count was not updated before rehashing.
This broke Blood's RFS parser.
2020-12-09 18:56:17 +01:00
Christoph Oelckers
b98e06cd20 - Blood: header dependency cleanup.
These are extremely ordering dependent so now blood.h serves as an umbrella header for most.
2020-12-09 15:56:32 +01:00
Christoph Oelckers
2c917ca7e1 - fixed cherry picked commit from upstream. 2020-12-08 22:21:03 +01:00
Christoph Oelckers
b3988165e2 - SW: fixed bad sector iterator in DriveCrush.
This was causing spurious crashes.
Fixes #218
2020-12-08 22:09:17 +01:00
Szilárd Biró
3713cb0f09 PCExhumed: Torch bouncing fix 2020-12-08 22:03:43 +01:00
Christoph Oelckers
1a2b93f402 - fixed sky panning in Duke.
This needs to take the composite texture into account because panning in Build is based on tile size, not map dimension.
It was also redone to use floating point to get rid of the horrible precision of the scrolling effect.
2020-12-06 20:49:32 +01:00
Christoph Oelckers
88bed95400 - Exhumed: Changed visibility from 2048 to 1024 because 2048 is clearly far too dark.
GDX also uses 1024 - I have no idea how PCExhumed gets away with 2048 here.
2020-12-06 20:25:23 +01:00
Christoph Oelckers
8d659bad32 - fixed V5/V6 format map loader. 2020-12-06 20:17:27 +01:00
Mitchell Richters
1e8fe482f3 - Duke: Partially address excessively fast sky in E4L1 as reported in #217.
* Before d545eb7aa9, `moveclouds()` simply set `ceilingxpanning`/`ceilingypanning`. Afterwards, it was accumulating with every passing loop.
* Despite fixing this, still seems a bit fast.
2020-12-06 23:51:20 +11:00
Christoph Oelckers
51205fbdac - split actInit into several smaller functions. 2020-12-06 12:52:08 +01:00
Christoph Oelckers
eee972d446 - removed some unused functions from actor.cpp. 2020-12-06 12:51:46 +01:00
Christoph Oelckers
19b731bc8f - removed the owner fuckery in Blood.
Par for course I'd say - instead of checking for replaced player actors at the only time it really matters - i.e. when respawning, it was encoded into the stored value, making the entire thing very messy.
For mow, multiplayer handling is not needed, but when it does, better go over all actors and manually substitute the two relevant fields, i.e. sprite.owner and xsprite.burnsource.
2020-12-06 12:51:46 +01:00
Christoph Oelckers
045e487859 - actInit cleanup, new iterators returning DBloodActor. 2020-12-06 12:51:46 +01:00
Christoph Oelckers
c92aaaee20 - This is version 0.8.0
Finally out of alpha, now that the model code is working. :)
2020-12-06 10:51:35 +01:00
Gaerzi
d644065103 - SW: Fix another bad line from 06a069750f that was missed when doing a36c122ff1. 2020-12-06 20:11:26 +11:00
Mitchell Richters
a36c122ff1 - SW: Fix bad copy-paste from 06a069750f that was causing issues with SO vehicles and turrets.
* Fixes #211.
2020-12-06 19:16:59 +11:00
Christoph Oelckers
d4198a5b1a - Exhumed: 'paused' should not be part of the 'in a game' check.
Fixes #209
2020-12-06 08:39:40 +01:00
Christoph Oelckers
5fc8859342 - Blood: instead of messing around with the damage factors when toggling god mode, let the game check the actual god mode flag itself.
This was just too volatile and prone to breakage.
Fixes #210.
2020-12-06 08:36:54 +01:00
Christoph Oelckers
99da4151d1 - fixed duplicate "snakecam" key in Exhumed savegame
This could cause the snake cam to be activated just by reloading a save.
Fixes #213
2020-12-06 08:22:56 +01:00
Christoph Oelckers
2f4abf93af - fixed loading of Blood savegames.
This was a strange case of C++ not doing what was to be expected due to hidden semantics.
Note: never assign {} to a type that has a non-default constructor!
Fixes #212
2020-12-06 08:18:03 +01:00
Christoph Oelckers
d04013066c - build a composite texture of all the segments for sky rendering to reduce the seams between the single segments. 2020-12-04 22:29:25 +01:00
Christoph Oelckers
aba3539275 - moved dudeSlope fully into DBloodActor. 2020-12-04 18:03:02 +01:00