Christoph Oelckers
35f3de64f7
- partial cleanup of SW's game.h
...
inlined several macros, removed some unused ones, replaced a few with one or two uses and simplified some functions to remove 90's optimizations that these days have no positive effect aside from complicating the code.
2020-11-23 08:39:20 +01:00
Christoph Oelckers
6b889cbb77
- port from NBlood: Show all available powerups in HUD.
2020-11-23 07:49:36 +01:00
Mitchell Richters
3f14886830
- binaryangle.h: Return BAngToBAM()
as int64_t
to handle signed values without overflowing on unsigned values.
2020-11-23 10:49:47 +11:00
Mitchell Richters
ea2e4051f1
- Duke (RR): Fix incorrect inline call for angAdjustment
following changes in ea4ad0548a
.
2020-11-23 10:44:38 +11:00
Mitchell Richters
b65326dc22
- Duke (RR): Fix weapon swaying after copy-paste issue originating from 5172c43e71
.
2020-11-23 10:24:43 +11:00
Christoph Oelckers
bbf1352db1
- replaced approx 1/3 of all accesses to the tilesiz wrapper class.
2020-11-23 00:18:30 +01:00
Mitchell Richters
fc359065ae
- Duke: Tune level end summary screen text positioning.
...
* Number positioning was 1 px off for some items such as `TXT_YourTime`.
* Positioning of number and text was 1px off for some items such as `TXT_3DRTIME` and `TXT_EnemiesLeft`.
2020-11-23 09:36:05 +11:00
Christoph Oelckers
3ad37631a6
- SW: fixed several keycards that were accidentally flagged one-sided.
2020-11-22 23:18:45 +01:00
Mitchell Richters
89048c8e70
- binaryangle.h: Use cmath.h functions for binangle
/lookangle
trig methods as well.
2020-11-23 08:40:18 +11:00
Christoph Oelckers
b89cd6d14c
- cleanup on binaryangle.h
...
* why the reference parameters? These should be passed by value.
* removed the < and > operators from binangle class because angles should not be ordered.
* instead of calling the CRT trig functions, use the ones from cmath.h which are more reliable
2020-11-22 21:54:39 +01:00
Mitchell Richters
5ba2e7863d
- binaryangle.h: Add asbuildf()
method to all classes and use where appropriate.
2020-11-22 21:18:12 +01:00
Mitchell Richters
e57d6f8785
- Duke: Fix crane's angle settarget()
call.
...
* Fixes #185 .
2020-11-22 21:18:12 +01:00
Mitchell Richters
c42771228d
- binaryangle.h: Reverse order of binangle
and lookangle
classes and declare binangle
class a friend of lookangle
.
...
* In-prep for addressing #185 .
2020-11-22 21:18:11 +01:00
Mitchell Richters
3b3e926fd3
- gameinput.h: For PlayerAngle
struct, add int settarget()
overload and change one true call with a float to bvectangf()
.
2020-11-22 21:18:11 +01:00
Mitchell Richters
ea4ad0548a
- All Games: Make use of new addadjustment()
overloads in PlayerAngle
struct created in 25207e4f1818a5ed38648ce87673329cd75e20e4.
2020-11-22 21:18:11 +01:00
Mitchell Richters
2341ed4e25
- gameinput.h: For PlayerAngle
struct, add extra addadjustment()
overloads to remove type conversions game-side, and when incoming.
2020-11-22 21:18:11 +01:00
Mitchell Richters
35845a63e2
- binaryangle.h: Expand all classes with bit-shift operators and binangle
/lookangle
classes with some lt/le/ge/gt bools to have parity with the fixedhoriz
class.
2020-11-22 21:18:11 +01:00
Mitchell Richters
42689e02c4
- gameinput.cpp: Define getincanglebam()
and slightly clean up other getincangle*() functions.
2020-11-22 21:18:11 +01:00
Mitchell Richters
0190a98a10
- Remove calcSinTableValue()
inline function and clean up use of PI
/fPI
and BANG2RAD
#defines.
2020-11-22 21:18:10 +01:00
Mitchell Richters
6b66a958d0
- buildutils: Replace calcSinTableValue()
use within Exhumed with bsinf()
/bcosf()
.
2020-11-22 21:18:10 +01:00
Mitchell Richters
5172c43e71
- buildutils: Replace calcSinTableValue()
use within Duke with bsinf()
/bcosf()
.
2020-11-22 21:18:10 +01:00
Mitchell Richters
a2ac8cccc1
- buildutils: Replace calcSinTableValue()
use within SW with bsinf()
/bcosf()
.
2020-11-22 21:18:10 +01:00
Mitchell Richters
feb6d023fa
- buildutils: Replace sintable[]
use within SW's weapon.cpp with bsin()
/bcos()
.
2020-11-22 21:18:10 +01:00
Mitchell Richters
a7a223c13d
- buildutils: Replace sintable[]
use within SW's wallmove.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00
Mitchell Richters
a5082d24d9
- buildutils: Replace sintable[]
use within SW's track.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00
Mitchell Richters
72f12e19f3
- buildutils: Replace sintable[]
use within SW's sprite.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00
Mitchell Richters
09a560cb6d
- buildutils: Replace sintable[]
use within SW's skull.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00
Mitchell Richters
3d7d31a5b7
- buildutils: Replace sintable[]
use within SW's sector.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00
Mitchell Richters
f57372237c
- buildutils: Replace sintable[]
use within SW's sbar.cpp with bsin()
/bcos()
.
2020-11-22 21:18:09 +01:00
Mitchell Richters
f1d9c3ea9b
- buildutils: Replace sintable[]
use within SW's rooms.cpp with bsin()
/bcos()
.
2020-11-22 21:18:08 +01:00
Mitchell Richters
d0a8f1fbda
- buildutils: Replace sintable[]
use within SW's ripper2.cpp with bsin()
/bcos()
.
2020-11-22 21:18:08 +01:00
Mitchell Richters
54d0b4c291
- buildutils: Replace sintable[]
use within SW's ripper.cpp with bsin()
/bcos()
.
2020-11-22 21:18:08 +01:00
Mitchell Richters
f8cd6d2a37
- buildutils: Replace sintable[]
use within SW's player.cpp with bsin()
/bcos()
.
2020-11-22 21:18:08 +01:00
Mitchell Richters
73355edd2b
- buildutils: Replace sintable[]
use within SW's ninja.cpp with bsin()
/bcos()
.
2020-11-22 21:18:08 +01:00
Mitchell Richters
32ea54aca3
- buildutils: Replace sintable[]
use within SW's morph.cpp with bsin()
/bcos()
.
2020-11-22 21:18:07 +01:00
Mitchell Richters
512bb29ed9
- buildutils: Replace sintable[]
use within SW's mclip.cpp with bsin()
/bcos()
.
2020-11-22 21:18:07 +01:00
Mitchell Richters
94bd45569c
- buildutils: Replace sintable[]
use within SW's input.cpp with bsin()
/bcos()
.
2020-11-22 21:18:07 +01:00
Mitchell Richters
2e4bced7f9
- buildutils: Replace sintable[]
use within SW's hornet.cpp with bsin()
/bcos()
.
2020-11-22 21:18:07 +01:00
Mitchell Richters
85841f5abd
- buildutils: Replace sintable[]
use within SW's girlninj.cpp with bsin()
/bcos()
.
2020-11-22 21:18:07 +01:00
Mitchell Richters
f0be96c385
- buildutils: Replace sintable[]
use within SW's game.h with bsin()
/bcos()
.
2020-11-22 21:18:07 +01:00
Mitchell Richters
ffd768ab71
- buildutils: Replace sintable[]
use within SW's eel.cpp with bsin()
/bcos()
.
2020-11-22 21:18:07 +01:00
Mitchell Richters
e60747a913
- buildutils: Replace sintable[]
use within SW's draw.cpp with bsin()
/bcos()
.
2020-11-22 21:18:06 +01:00
Mitchell Richters
c2c49bd0b9
- buildutils: Replace sintable[]
use within SW's coolg.cpp with bsin()
/bcos()
.
2020-11-22 21:18:06 +01:00
Mitchell Richters
4192416268
- buildutils: Replace sintable[]
use within SW's bunny.cpp with bsin()
/bcos()
.
2020-11-22 21:18:06 +01:00
Mitchell Richters
156709d6bf
- buildutils: Replace sintable[]
use within SW's ai.cpp with bsin()
/bcos()
.
2020-11-22 21:18:06 +01:00
Mitchell Richters
772635e351
- buildutils: Replace sintable[]
use within SW's actor.cpp with bsin()
/bcos()
.
2020-11-22 21:18:06 +01:00
Mitchell Richters
ad814f66b0
- buildutils: Replace sintable[]
use within Duke's spawn.cpp with bsin()
/bcos()
.
2020-11-22 21:18:06 +01:00
Mitchell Richters
d6a094dcdd
- buildutils: Replace sintable[]
use within Duke's sectors_r.cpp with bsin()
/bcos()
.
2020-11-22 21:18:05 +01:00
Mitchell Richters
6fba78c123
- buildutils: Replace sintable[]
use within Duke's sectors_d.cpp with bsin()
/bcos()
.
2020-11-22 21:18:05 +01:00
Mitchell Richters
6ccf925429
- buildutils: Replace sintable[]
use within Duke's sectors.cpp with bsin()
/bcos()
.
2020-11-22 21:18:05 +01:00
Mitchell Richters
410c2cf41f
- buildutils: Replace sintable[]
use within Duke's sbar_*.cpp with bsin()
/bcos()
.
2020-11-22 21:18:05 +01:00
Mitchell Richters
0781d627dc
- buildutils: Replace sintable[]
use within Duke's prediction.cpp with bsin()
/bcos()
.
2020-11-22 21:18:05 +01:00
Mitchell Richters
6800e192e1
- buildutils: Replace sintable[]
use within Duke's player_w.cpp with bsin()
/bcos()
.
2020-11-22 21:18:05 +01:00
Mitchell Richters
1c5c90d00f
- buildutils: Replace sintable[]
use within Duke's player_r.cpp with bsin()
/bcos()
.
2020-11-22 21:18:04 +01:00
Mitchell Richters
5e45f988e3
- buildutils: Replace sintable[]
use within Duke's player_d.cpp with bsin()
/bcos()
.
2020-11-22 21:18:04 +01:00
Mitchell Richters
50b4d8cc99
- buildutils: Replace sintable[]
use within Duke's player.cpp with bsin()
/bcos()
.
2020-11-22 21:18:04 +01:00
Mitchell Richters
fd4e1b3b28
- buildutils: Replace sintable[]
use within Duke's input.cpp with bsin()
/bcos()
.
2020-11-22 21:18:04 +01:00
Mitchell Richters
d934bfd985
- buildutils: Replace sintable[]
use within Duke's gameexec.cpp with bsin()
/bcos()
.
2020-11-22 21:18:04 +01:00
Mitchell Richters
f1f0b42172
- buildutils: Replace sintable[]
use within Duke's game_misc.cpp with bsin()
/bcos()
.
2020-11-22 21:18:04 +01:00
Mitchell Richters
95fa3a6f52
- buildutils: Replace sintable[]
use within Duke's animatesprites_*.cpp with bsin()
/bcos()
.
2020-11-22 21:18:03 +01:00
Mitchell Richters
b6e8030307
- buildutils: Replace sintable[]
use within Duke's actors_r.cpp with bsin()
/bcos()
.
2020-11-22 21:18:03 +01:00
Mitchell Richters
abc49fed62
- buildutils: Replace sintable[]
use within Duke's actors_d.cpp with bsin()
/bcos()
.
2020-11-22 21:18:03 +01:00
Mitchell Richters
bf8b1238c6
- buildutils: Replace sintable[]
use within Duke's actors.cpp with bsin()
/bcos()
.
2020-11-22 21:18:03 +01:00
Mitchell Richters
bae4d77427
- buildutils: Replace sintable[]
use within Exhumed with bsin()
/bcos()
.
2020-11-22 21:18:03 +01:00
Mitchell Richters
d6d74c2712
- buildutils: Replace sintable[]
use within core with bsin()
/bcos()
.
2020-11-22 21:18:02 +01:00
Mitchell Richters
32a1796728
- buildutils: Replace sintable[]
use within Build with bsin()
/bcos()
, using bsinf()
/bcosf()
where appropriate.
...
* Includes a few header include shuffles to make it all come together.
2020-11-22 21:18:02 +01:00
Mitchell Richters
b2c42d5d03
- buildutils: Replace sintable[]
use within Blood with bsin()
/bcos()
.
...
* Further review of this should be considered as the use of sintable[] for nCos was actually sine and the use of sintable[] for nSin was actually cosine. Preserved math despite the variable names.
2020-11-22 21:18:02 +01:00
Mitchell Richters
cf6188b034
- buildutils: Replace Sin()
and Cos()
from Exhumed with bsin()
/bcos()
.
2020-11-22 21:18:02 +01:00
Mitchell Richters
8aa7051f78
- buildutils.h: Replace FSin()
from Exhumed with bsinf()
/bcosf()
.
2020-11-22 21:18:02 +01:00
Mitchell Richters
85bb248309
- binaryangle.h: Extend file with sine/cosine inline helper functions.
2020-11-22 21:18:02 +01:00
Christoph Oelckers
a906067102
- Duke WT: attenuate sound volume when commentaties are playing
2020-11-22 21:14:36 +01:00
Christoph Oelckers
3bd48fb8c5
- Exhumed: Fixed CalcPosVel not initializing the vel parameter.
...
This caused spurious errors in OpenAL if the passed values were NANs or INFs.
Fixes #183
2020-11-22 20:34:57 +01:00
Christoph Oelckers
182b8023ca
- Blood: ported BloodGDX's fix for the double shotgun graphics glitch.
...
Fixes #114
2020-11-22 20:09:09 +01:00
Christoph Oelckers
2db60ae847
- SW-TD: added a hack to flip an inverted card reader in level 10.
...
For now this is just inserted into the level loader - it should use more sophisticated checks.
Fixes #173 .
2020-11-22 19:47:20 +01:00
Christoph Oelckers
143dd3d2cf
- fixed weapon cycling in Exhumed.
...
The sword was checked for ammo (and failed) and wraparound was not handled.
Fixes #193
2020-11-22 18:59:59 +01:00
Christoph Oelckers
921a7a7166
- RRRA: fixed progression from E1L7 to E2L1 plus a texture related crash.
...
Fixes #189 .
2020-11-22 18:46:20 +01:00
Christoph Oelckers
24c797b7e3
- Duke World Tour: Exiting E1L7 should go back to E1L5.
...
fixes #187
2020-11-22 18:27:52 +01:00
Christoph Oelckers
dfc2cd8580
- make sure that all of SW's sound function check SoundEnabled().
...
Fixes #192
2020-11-22 18:16:08 +01:00
Christoph Oelckers
7df20ee047
- RR: Give ammo for the secondary ripsaw mode when picking up the weapon in standard RR, too.
2020-11-22 17:50:38 +01:00
Christoph Oelckers
034ef2290b
- RR: screen should not turn green when being attacked with alien poo.
2020-11-22 17:38:07 +01:00
Christoph Oelckers
63d71c120a
- Blood: save level stats as JSON.
2020-11-22 13:05:17 +01:00
Christoph Oelckers
c6c9b26af2
- do not specifically look in the 'music' directory for CD tracks.
...
Prepending of 'music/' is done automatically for all music not found without a path so this only limits options.
2020-11-22 12:51:13 +01:00
Christoph Oelckers
751c295b62
- minor savegame optimizations.
...
Do not write out empty elements of arrays where these are by far the most common ones.
2020-11-22 12:48:43 +01:00
Christoph Oelckers
1a588c3cbf
- merged two smaller savegame handlers into the main function.
2020-11-22 12:48:43 +01:00
Christoph Oelckers
2cb3d44384
- AI JSON serialization.
2020-11-22 12:48:43 +01:00
Christoph Oelckers
18352a760c
- more renames.
2020-11-22 12:48:42 +01:00
Christoph Oelckers
2c6fa57090
- activeXSprites map.
2020-11-22 12:48:42 +01:00
Christoph Oelckers
d4873754f3
- even more renames
2020-11-22 12:48:42 +01:00
Christoph Oelckers
dced173cda
- JSON serializer for actor.
...
Also cleaned up use of gAffectedSectors and gAffectedXWalls. These are merely needed as local worker variables, not as global persistent status.
2020-11-22 12:48:42 +01:00
Mitchell Richters
2c1b53ad1c
- Exhumed: Get GOG music playing without any user intervention required.
2020-11-22 22:35:45 +11:00
Mitchell Richters
d7c4e5e59f
- searchpaths.cpp: Add registry detection for Powerslave/Exhumed from GOG.
...
* Fixes #191 .
2020-11-22 22:23:01 +11:00
Christoph Oelckers
b2a7a0635b
- Blood: JSON serializer for triggers
...
Also renaming members of struct BUSY.
2020-11-21 20:25:06 +01:00
Christoph Oelckers
f73ca55c79
- renamed more disasm stuff.
2020-11-21 20:10:45 +01:00
Christoph Oelckers
27dfefef6c
- JSON serializer for warp.cpp
2020-11-21 19:39:24 +01:00
Christoph Oelckers
678dedf224
- more renaming.
2020-11-21 19:30:00 +01:00
Christoph Oelckers
c13dd52e34
- renamed a few functions with disasm names.
2020-11-21 19:19:02 +01:00
Christoph Oelckers
a319687373
- use static init for QAV callbacks.
...
runtime init order is undefined, so this is not safe.
2020-11-21 18:28:29 +01:00
Christoph Oelckers
9bd02634d9
- renamed a few things with disasm names.
2020-11-21 18:18:58 +01:00
Christoph Oelckers
7945242fa8
- removed some redundant utility functions.
2020-11-21 18:13:10 +01:00
Christoph Oelckers
8bfc6d98d4
- Blood: cleanup and simplification of SEQ code.
...
* removed all the large instance arrays. None of this is really necessary, all we need is a single dynamic array with only the active sequences that can expand as needed.
* added JSON serialization. With the above change this part now becomes trivial.
* renamed all 'atxx' variables in this code.
2020-11-21 18:12:51 +01:00
Christoph Oelckers
4aa06ff702
- use a static table for SEQ callbacks.
...
This ensures that callback indices are consistent. Runtime registration as performed by NBlood has undefined order and will make savegames non-transferrable.
2020-11-21 16:34:32 +01:00
Christoph Oelckers
fe845d7e12
- renamed some of those annoying 'atxx' variables.
2020-11-21 15:45:37 +01:00
Christoph Oelckers
1535182577
- simplified the event management further and added a JSON serializer for it.
2020-11-21 15:09:38 +01:00
Christoph Oelckers
5f54eac297
- made palette loader part of the game interface.
...
This gets rid of the Blood 'replace' hook for thus.
2020-11-21 12:54:09 +01:00
Christoph Oelckers
71e70f8d15
- simplified the event code by removing the priority queue layer.
...
We do not need that compatibility handling so the high level code can use the multiset directly.
2020-11-21 12:49:24 +01:00
Christoph Oelckers
b97f12a2eb
- did some global search & replace to reduce the number of accesses to the tilesiz wrapper.
2020-11-20 08:18:26 +01:00
Christoph Oelckers
9a43886be6
- Duke: fixed parsing of overlong CON identifiers.
2020-11-15 07:35:39 +01:00
alexey.lysiuk
07eeba88fa
- fixed incorrect autosegs section addresses on macOS
...
It appeared that getsectbyname() returns address stored in executable header as is, i.e. without adjusting it for ASLR
2020-11-14 12:48:39 +02:00
Christoph Oelckers
36479b623d
- re-fixed crosshair scale to only use one CVAR for everything.
2020-11-13 17:56:55 +01:00
sinisterseed
34dfb6c5fc
- fixed crosshair scaling in Exhumed & the other games.
...
The problem was that the CVARs operating the scale were different between Exhumed and the other titles, meaning that "crosshairscale" worked in one, but not the others. They have now been split.
Also lowered the default crosshair size as it was too much for Exhumed.
Fixes #180 .
2020-11-13 18:33:18 +02:00
sinisterseed
913239ee5d
- minor adjustment to the level stats widget.
...
Since the widget was right on top of the status bar, the shadows behind it were slightly bleeding into it.
2020-11-13 17:12:01 +02:00
Christoph Oelckers
d089aa8d2e
- moved Blood's and Exhumed's d_menu.cpp back into the gameprojects
...
With the new autoseg code this separation is not needed anymore.
2020-11-13 11:25:43 +01:00
alexey.lysiuk
555007539d
- eliminate dependency on linking order for autosegs registration
...
This fixes #164
2020-11-13 09:41:58 +01:00
Mitchell Richters
7673766d19
- Duke: Apply same zvel fix from 13839fc3e9
to shootgrowspark()
that was accidentally changed in f276a5f443
. I don't believe this to be an issue in any other spot for Duke.
2020-11-13 10:02:12 +11:00
Christoph Oelckers
483e0b6574
- fixed voxel rendering in palette emulation mode.
...
The recent changes for replacing fonts with hires versions made the paletted handling kick in, although the voxel textures are not suitable for that.
Fixes #178
2020-11-12 19:26:16 +01:00
Christoph Oelckers
f9a776e71c
- iterate linearly over sector effectors.
...
Apparently they aren't all properly linked into the required statnums.
Fixes #179
2020-11-12 19:12:58 +01:00
Mitchell Richters
735d89bfb6
- SW: Ensure save code backs up crouch_toggle
and player's current input.
...
* Fixes #166 .
2020-11-12 23:31:32 +11:00
Mitchell Richters
70b75f72b5
- Duke: Fix issues with crane angle adjustment in movecrane()
following changes in fca846272e
.
...
* Fixes #170 .
2020-11-12 23:21:03 +11:00
Mitchell Richters
13839fc3e9
- Duke: Fix shootstuff()
zvel calculation error following changes in badf536fef
.
...
* Fixes #177 .
2020-11-12 22:07:16 +11:00
alexey.lysiuk
6b12514a29
- fixed compilation with MSVC 14.28.29333 from VS2019 16.8.0
...
This fixes #175
include\algorithm(7419,1): error C2678: binary '=': no operator found which takes a left-hand operand of type 'const T' (or there is no acceptable conversion) (compiling source file source\common\scripting\jit\jit.cpp)
include\algorithm(7419,17): error C3892: '_First': you cannot assign to a variable that is const (compiling source file source\core\searchpaths.cpp)
2020-11-12 11:38:53 +02:00
Mitchell Richters
4dc1797345
- Duke: Reset p->dead_flag
when enabling the god cheat as per original behaviour.
...
* Fixes #172 .
2020-11-12 18:21:42 +11:00
Christoph Oelckers
2ee18b3a11
- fixed voxel rendering.
2020-11-11 20:31:27 +01:00
sinisterseed
a7dd547dc1
- fixed some typos in SW's digi.h file.
2020-11-11 17:45:01 +02:00
sinisterseed
9e0e3c649c
- marked a missed Wang speech line.
...
Sneaky one no less, took a while to find... (this was still playing on WT's Skyline when Wang was jumping between rooftops).
2020-11-11 17:37:21 +02:00
Christoph Oelckers
4bded16b09
- removed leftover Polymer checks.
2020-11-11 13:03:47 +01:00
Christoph Oelckers
a92b4943f9
- Duke: use original colors for inventory status display.
...
I took one liberty and still use green/yellow/red for the percentage, but this now uses palette translations so that it works better with hires replacements.
2020-11-11 11:49:05 +01:00
Christoph Oelckers
85edf38eba
- do not grayscale all hires tinting.
2020-11-11 07:57:25 +01:00
Christoph Oelckers
e2b6ebec91
- partially fixed colorization for hires replacements.
2020-11-10 23:59:04 +01:00
Christoph Oelckers
3558289d70
- give forward declared enum a type.
2020-11-10 21:44:15 +01:00
Christoph Oelckers
96fbfdcf86
- made hires replacements work for untranslated fonts.
2020-11-10 21:34:49 +01:00
Christoph Oelckers
8ac6a4d321
- removed redundant declaration of PickTexture.
2020-11-10 20:30:37 +01:00
Christoph Oelckers
873f4d7c0c
- link hires replacements to textures instead of tile numbers.
...
This is needed to connect them to fonts as well because its glyphs have no tile index.
2020-11-10 20:12:46 +01:00
Christoph Oelckers
ed599d0f05
- moved the hires texture replacement logic into a backend callback.
...
This way it can be handled transparently to the calling code.
Fonts do not work yet, though.
2020-11-10 16:22:02 +01:00
Christoph Oelckers
8c241afc40
- undid texture substitution in 2D code.
2020-11-10 10:08:17 +01:00
Christoph Oelckers
40358febc1
- changed render interface to resolve textures to materials in the backend.
...
This is needed to have a unified spot where to resolve textures for both 2D and 3D.
2020-11-10 09:08:48 +01:00
Christoph Oelckers
601680d08e
- moved widthBits and heightBits into engine.
...
These functions will go away with the rest of the renderer when the time comes, so this is the right place.
2020-11-09 20:56:28 +01:00
Christoph Oelckers
51115e75df
- avoid using widthBits and heightBits outside of engine code.
2020-11-09 20:51:30 +01:00
Christoph Oelckers
f24786af71
- Exhumed: Use 0 as transparent color index for the energy tile.
2020-11-09 19:16:43 +01:00
Christoph Oelckers
918425469a
- fixed crosshair setup.
...
Fixes #168
2020-11-09 17:20:14 +01:00
Christoph Oelckers
61b42ea448
- fixed font color in SW's menus
...
fixes #165
2020-11-09 16:56:59 +01:00
Christoph Oelckers
aed8a450fd
- SW: fixed episode menu display.
...
The subtitle needs to use the game specific drawer, not the generic one.
Fixes #162
2020-11-08 10:12:12 +01:00
Christoph Oelckers
40a9a4c86d
- removed redundant local variable in SW status bar code.
2020-11-08 09:12:15 +01:00
alexey.lysiuk
7f0d94798d
- fail CMake configuration process if libvpx was not found
...
This helps to avoid #160
2020-11-08 10:00:20 +02:00
Mitchell Richters
9e026d5042
- Exhumed: Partially address issues with LEV20 energy towers in #159 .
2020-11-08 12:48:23 +11:00
Mitchell Richters
8178d20f97
- c_notifybuffer.cpp: Center and pulse text for all RR games in DrawNative()
.
...
* Fixes #163 .
2020-11-08 10:39:45 +11:00
Mitchell Richters
f9f365a593
- Ensure crouch_toggle
bool from 6e3d414b3c
is serialised when saving game, and cleared when InputState::ClearAllInput()
is called.
2020-11-08 07:30:48 +11:00
Christoph Oelckers
59c72c923e
- added null pointer checks to locked door sound checks in RR.
...
This originally accessed undefined memory when no sprite was involved.
Fixes #157
2020-11-07 10:25:41 +01:00
Christoph Oelckers
976675c816
- added some helper code to deal with the fact that the sound system still needs to operate on sprites.
2020-11-07 10:25:40 +01:00
Mitchell Richters
ade1a80515
- gameinput.cpp: Remove crouch bool from applylook()
since we can now just rely in the actions bitfield that's already incoming as required and default scaleAdjust
in the prototype to 1
.
2020-11-07 18:25:06 +11:00
Mitchell Richters
6e3d414b3c
- inputstate.cpp: Move checkCrouchToggle()
from gameinput.ccp into ApplyGlobalInput()
and use static bool for crouch toggling vs. game-side bool.
2020-11-07 18:16:16 +11:00
Mitchell Richters
a153ebab7e
- SW: Migrate crouch toggling to backend solution implemented in 4ef0d20e0e
.
2020-11-07 17:53:11 +11:00
Mitchell Richters
01c494e29d
- Blood: Don't let Caleb's voice overlap if spamming the use key on a locked door.
...
* Fixes #113 .
2020-11-07 15:13:45 +11:00
Mitchell Richters
4ef0d20e0e
- gameinput.cpp: Consolidate checkCrouchToggle()
from Duke with discrete implementations from Blood in 7c8efde38c
and Exhumed in 032db82f82
to unify the functionality.
2020-11-07 13:44:25 +11:00
Mitchell Richters
032db82f82
- Exhumed: Add crouch toggle mechanism.
2020-11-07 13:27:58 +11:00
Mitchell Richters
7c8efde38c
- Blood: Add crouch toggle mechanism.
...
* Fixes #151 .
2020-11-07 13:23:16 +11:00
Mitchell Richters
a52ee89969
- Duke/RR: Add scaling to mouse input within motoApplyTurn()
and boatApplyTurn()
.
2020-11-07 09:56:57 +11:00
Mitchell Richters
f0b9029726
- Duke/RR: Fix incorrect boolean used in boatApplyTurn()
when implementing fcc2521347bb528d7a5bcd3996c509db85e993f0.
2020-11-07 09:56:57 +11:00
Mitchell Richters
74dfbfe6f8
- Duke/RR: Ensure p->vehForwardScale
/p->vehReverseScale
can only be a maximum of 1. Controller input with high sensitivity could effectively turbo-charge the bike ;)
2020-11-07 09:56:57 +11:00
Mitchell Richters
466bc84697
- Duke/RR: Completely revamped vehicle mouse/controller input.
...
* Original algorithm now used purely for keyboard input only.
* Mouse and controller input is no longer a scaled double version of the keyboard input.
* Mouse input is the square root of the base angle adjustment (20) multiplied by (mouse input divided by the input scale factor). As such, mouse input is completely consistent between synchronised and unsynchronised input.
* Controller input is base angle adjustment (20) multiplied by itself.
* Renamed `turnl`/`turnr` variables to `kbdLeft`/`kbdRight` respectively.
* Fixed issue where `p->TiltStatus` wasn't being backed up in `boatApplyTurn()`.
2020-11-07 09:56:57 +11:00
Mitchell Richters
c9708a5464
- CONTROL_GetInput()
: Reverse polarity of dx/dz and update processMovement()
appropriately.
2020-11-07 09:56:57 +11:00
Mitchell Richters
6f5f66ad35
- Duke/RR: Partially revert c9d875327850e839e3ad1f367ede15497d44fda3 by truncating p->MotoSpeed
to integer when calculating xvel/yvel to preserve original vehicle feel.
2020-11-07 09:56:57 +11:00
Mitchell Richters
567738f3ad
- Duke/RR: Tidy formatting of onMotorcycle()
, onBoat()
, onMotorcycleMove()
and onBoatMove()
.
2020-11-07 09:56:57 +11:00
Mitchell Richters
1545610501
- Duke/RR: Convert remaining vehicle function local ints to bools where appropriate.
2020-11-07 09:56:57 +11:00
Mitchell Richters
c223a50b29
- Duke/RR: Clean up vehicle turn left/right bools used in ticker functions.
2020-11-07 09:56:57 +11:00
Mitchell Richters
ad10ea4cb5
- Duke/RR: Initial implementation of scaled p->MotoSpeed
controller input.
2020-11-07 09:56:57 +11:00
Mitchell Richters
578ded1db3
- Duke/RR: Promote p->MotoSpeed
from short
to double
in prep for applying scaled controller input.
2020-11-07 09:56:57 +11:00
Mitchell Richters
c46ad10bb1
- Duke/RR: Clean up some disassembly variable names in vehicle so it's easier to understand what's going on.
2020-11-07 09:56:57 +11:00
Christoph Oelckers
94341e8582
- fixed missing null check in SetOwner and SetHitOwner.
2020-11-06 20:13:06 +01:00
Mitchell Richters
2d903ed918
- Exhumed: Skip over weapons owned but without ammo when doing WeapSel_Next
/WeapSel_Prev
.
...
* Fixes #148 .
2020-11-06 23:25:55 +11:00
Mitchell Richters
e3c6873410
- Exhumed: Move bullet puff animations up by 4096 units to give the illusion of more accurate aiming.
...
* Fixes #149 .
2020-11-06 23:02:57 +11:00
Mitchell Richters
71be467065
- Duke: Fix missing ammo counter on modern HUD for WT's flamethrower.
...
* Fixes #156 .
2020-11-06 22:07:11 +11:00
Mitchell Richters
f2e50161a5
- Exhumed: Fix issues on start of Level 20 following changes in 0c95aee8f5
.
...
* Fixes #152 .
2020-11-06 22:02:14 +11:00
Mitchell Richters
c823e33bb3
- Duke/RR: Fix remaining issues with drug mode.
...
* Primary issue was call to `renderSetAspect()` within `setdrugmode()` wasn't mulscaling with `viewingrange`.
* Changed `setdrugmode()` to `getdrugmode()` to return `p->drug_aspect`. This is so `renderSetAspect()` needs to only be called from one place only.
2020-11-06 20:52:43 +11:00
Christoph Oelckers
4e6e564e14
- silenced message about missing function prototypes for exports.
...
This is necessary to later separate the games' script content from each other because there'd be lots of unprototyped functions otherwise.
2020-11-05 18:59:21 +01:00
Christoph Oelckers
d5ff87fa4f
- RRRA: fixed vehicle collision with psychedelic cactuses.
...
This did not fully match the original source which had a critical difference here between RR and RRRA.
2020-11-05 14:31:55 +01:00
Christoph Oelckers
977223287e
- cap the frame rate of RRRA's cactus drug mode.
...
This was running at full render speed.
2020-11-05 07:31:48 +01:00
Christoph Oelckers
d8e331ef0f
- changed Duke/RR palette handling to only retrieve the currently active palette right before rendering.
...
Storing this in the player_struct is pointless and a relic from having to use real hardware palette switches.
With this now just being a translation index being passed to the backend it can be cheaply retrieved right when used and nowhere else.
Also making some changes to how RRRA's psychedelic cactus handles the projection. This fixes issues with occasionally passing a bad matrix.
2020-11-05 07:31:48 +01:00
Mitchell Richters
e8ccd9bc8c
- Fix compilation.
2020-11-05 11:14:04 +11:00
Christoph Oelckers
7621d3e105
- removed redundant dosetaspect function.
...
This was software rendering only.
2020-11-04 22:30:11 +01:00
Christoph Oelckers
60263ccad9
- fixed destroyit.
...
This caused parts of the exploding house in RRRA E1L5 not to disappear.
2020-11-04 21:53:56 +01:00
Christoph Oelckers
6729859e39
- fixed the crane.
...
Cannot take the special value out of the owner field. :(
2020-11-04 21:25:59 +01:00
Christoph Oelckers
721efae0d3
- fixed camera loop.
2020-11-04 20:44:12 +01:00
Christoph Oelckers
083454986b
- made camsprite an actor variable.
2020-11-04 20:40:26 +01:00
Christoph Oelckers
25c93e65fc
- more script ID wrappers for sectors.
2020-11-04 20:40:26 +01:00
Christoph Oelckers
aac5ab55a3
- movesprite cleanup.
2020-11-04 20:40:25 +01:00
Christoph Oelckers
7a95c1661e
- wrap actor index storage in sector in the script index API.
2020-11-04 20:40:25 +01:00
Christoph Oelckers
471a25f819
- operaterespawns.
...
# Conflicts:
# source/games/duke/src/sectors_d.cpp
# source/games/duke/src/sectors_r.cpp
2020-11-04 20:40:25 +01:00
Christoph Oelckers
5cf288a05c
- changed the trip bomb indexing to use a separate counter for robustness.
2020-11-04 20:40:25 +01:00
Christoph Oelckers
0eb10f0313
- newowner and related code.
2020-11-04 20:40:25 +01:00
Christoph Oelckers
c90e7d9b5f
- almost the last owners
2020-11-04 20:40:08 +01:00
Christoph Oelckers
d0db810ab0
- ud.camerasprite -> actor.
2020-11-04 20:40:08 +01:00
Christoph Oelckers
212b99d0f3
- use owner wrappers in spawn code.
2020-11-04 20:40:08 +01:00
Christoph Oelckers
24cfd841f2
- lotsofglass - final function in spawn.cpp
2020-11-04 20:40:07 +01:00
Christoph Oelckers
4add2b5839
- two more
2020-11-04 20:40:07 +01:00
Christoph Oelckers
ac5ea2f1c9
- 3 more wrappers gone.
2020-11-04 20:40:07 +01:00
Christoph Oelckers
8f754d163d
- removed inline wrappers that are not needed anymore.
...
# Conflicts:
# source/games/duke/src/spawn_r.cpp
2020-11-04 20:40:07 +01:00
Christoph Oelckers
f3f0fd0a3a
- ported the sound code to actors and removed the inline helpers.
2020-11-04 20:40:07 +01:00
Christoph Oelckers
4c3435bacf
- moved some non-owner info out of the owner field.
...
This only handles items where both reading and writing can be located.
2020-11-04 20:40:07 +01:00
Christoph Oelckers
15fc884909
- owners in spawn.cpp
2020-11-04 20:40:06 +01:00
Christoph Oelckers
90511a97e7
- initcrane and spawneffector.
2020-11-04 20:40:06 +01:00
Christoph Oelckers
e2e24fc508
- spawn.cpp part 2.
...
(Beware of the crane! That one's hacky!)
2020-11-04 20:40:06 +01:00
Christoph Oelckers
edb991e47d
- first part of spawn.cpp.
2020-11-04 20:40:06 +01:00
Christoph Oelckers
60977ef4dc
- the spawn dispatcher is no longer used.
2020-11-04 20:40:06 +01:00
Christoph Oelckers
c54f17a6d5
- hittype in spawn code.
2020-11-04 20:40:05 +01:00
Christoph Oelckers
e427668373
- the remaining iterators in sectors_r.cpp
2020-11-04 20:39:43 +01:00
Christoph Oelckers
6a8dc8217f
- 6 simple loops in sectors_r.cpp.
2020-11-04 20:39:43 +01:00
Christoph Oelckers
bb23d9131e
- player.i, part 4.
2020-11-04 20:39:43 +01:00
Christoph Oelckers
d773601d81
- player.i, part 3
2020-11-04 20:39:43 +01:00
Christoph Oelckers
cc0a668da3
- player.i, part 2
...
# Conflicts:
# source/games/duke/src/sectors_r.cpp
2020-11-04 20:39:43 +01:00
Christoph Oelckers
770897b8b9
- player.i, part 1
2020-11-04 20:39:42 +01:00
Christoph Oelckers
d5a74e4290
- handled several GetIndex calls.
2020-11-04 20:39:39 +01:00
Christoph Oelckers
64c83d166e
- fixed a few parameters
2020-11-04 20:39:39 +01:00
Christoph Oelckers
eb5cd98d9a
- fixed a few bad parameters.
2020-11-04 20:39:39 +01:00
Christoph Oelckers
a8212f0756
- crash fix in spawn and camera fix.
2020-11-04 20:25:02 +01:00
Christoph Oelckers
afd059d6a1
- the remaining loops in sectors_d.cpp
2020-11-04 19:55:18 +01:00
Christoph Oelckers
7c6ea9cff7
- activatebysector.
2020-11-04 19:55:17 +01:00
Christoph Oelckers
7aca51a6c4
- 6 more loops.
2020-11-04 19:55:17 +01:00
Christoph Oelckers
d8a7821b4f
- cleaned up a few more loops.
2020-11-04 19:55:17 +01:00
Christoph Oelckers
618c739318
- spawninitdefault.
2020-11-04 19:55:17 +01:00
Christoph Oelckers
4d4cb2da9b
- handle the cheap-ass ROR code.
2020-11-04 19:55:17 +01:00
Christoph Oelckers
10d4f92232
- use a dedicated variable to store the vehicle ammo for RRRA's bike and boat.
...
owner should be reserved for pointers.
2020-11-04 19:55:17 +01:00
Christoph Oelckers
803cf4aece
- the last two loops in premap_r.cpp
2020-11-04 19:55:16 +01:00
Christoph Oelckers
a63c62bf7c
- the geometry effect loop
2020-11-04 19:55:16 +01:00
Christoph Oelckers
9f3b74f4a2
- 3 loops in premap_r.cpp
2020-11-04 19:55:16 +01:00
Christoph Oelckers
8360ba99ff
- fixed cacheit_r sector loop.
2020-11-04 19:55:16 +01:00
Christoph Oelckers
68f9037883
- pointer replacements.
2020-11-04 19:55:16 +01:00
Christoph Oelckers
86909c9068
- fixed cacheit_d sector loop.
2020-11-04 19:55:16 +01:00
Christoph Oelckers
2b0f56a94c
- changed setsectinterpolate to receive a sector number, not a sprite number.
2020-11-04 19:55:16 +01:00
Christoph Oelckers
32fc9329de
- another iterator.
...
This one's for init code that needs to iterate sprites in spawn order.
2020-11-04 19:55:15 +01:00
Christoph Oelckers
12ef8c4543
This completes player_r.cpp
2020-11-04 19:55:15 +01:00
Christoph Oelckers
34d0219d06
- nullptr fixes
2020-11-04 19:55:15 +01:00
Christoph Oelckers
36370b71e2
- wrapped neartag to return an actor.
2020-11-04 19:55:15 +01:00
Christoph Oelckers
bc6ae872ae
- cleaned up the checkhitswitch interface to receive sprites as pointers.
2020-11-04 19:55:15 +01:00
Christoph Oelckers
3e7c8adc1e
- checkhitswitch_r part 4
2020-11-04 19:55:15 +01:00
Christoph Oelckers
4ce19b74b0
- checkhitswitch_r part 3
2020-11-04 19:55:14 +01:00
Christoph Oelckers
e81b37b31a
- checkhitswitch_r part 2
2020-11-04 19:55:14 +01:00
Christoph Oelckers
2a23dfa0a8
- checkhitswitch_r part 1
2020-11-04 19:55:14 +01:00
Christoph Oelckers
f13a8943ab
- checkhitswitch_d part 2
2020-11-04 19:55:14 +01:00
Christoph Oelckers
f1ab8f03ef
- checkhitswitch_d part 1
2020-11-04 19:55:14 +01:00
Christoph Oelckers
87e8801531
- handle the clipmove result in processinput.
2020-11-04 19:55:14 +01:00
Christoph Oelckers
419cf9af5e
- processinput part 1.
2020-11-04 19:55:13 +01:00
Christoph Oelckers
ef2c773e02
- RR processweapon pass 1
2020-11-04 19:55:13 +01:00
Christoph Oelckers
d4dabee52d
- OnMotorcycle/BoatHit.
2020-11-04 19:55:13 +01:00
Christoph Oelckers
454b2315d4
- use actors instead of indices for sound calls.
2020-11-04 19:55:13 +01:00
Christoph Oelckers
8d55138db0
- checkweapons_r.
2020-11-04 19:55:13 +01:00
Christoph Oelckers
635b53f78f
- RR-movement + dummyplayersprite
2020-11-04 19:55:13 +01:00
Christoph Oelckers
60ec6b8c7d
- handled the last remaining sprite references in player_d.cpp.
2020-11-04 19:55:12 +01:00
Christoph Oelckers
70e1b87160
- Duke underwater.
2020-11-04 19:55:12 +01:00
Christoph Oelckers
b302f2535f
- player index and hittypes in player_d.cpp
2020-11-04 19:55:12 +01:00
Christoph Oelckers
f598c16e03
- use the script interface where needed.
...
Later the scripts should only see some token representing an actor, not an index.
2020-11-04 08:24:17 +01:00
Christoph Oelckers
773aa9976d
- fixed compilation of release build.
2020-11-04 07:01:25 +01:00
Christoph Oelckers
29b08b2115
- access_spritenum
2020-11-03 22:49:17 +01:00
Christoph Oelckers
b891646c37
- all of player_w.cpp
2020-11-03 22:41:24 +01:00
Christoph Oelckers
be591e9cf9
- the last bit of shoot_d.
2020-11-03 22:41:24 +01:00
Christoph Oelckers
16089e56f0
- the rest of shoot_r.
2020-11-03 22:41:24 +01:00
Christoph Oelckers
47f77a97e4
- RR shootrpg and shootwhip.
2020-11-03 22:41:24 +01:00
Christoph Oelckers
aa6dd72688
- RR shootstuff
2020-11-03 22:41:23 +01:00
Christoph Oelckers
32a7c2349e
- shoot interface transitioned/operateweapon mostly done.
2020-11-03 22:01:58 +01:00
Christoph Oelckers
513744aa56
- this was nonsense. atwith is a tile number, not a sprite index.
2020-11-03 21:51:17 +01:00
Christoph Oelckers
7e29be7569
- switched checkhitwall interface to actors.
2020-11-03 21:49:57 +01:00
Christoph Oelckers
4258c27248
- switched the checkhitsprite interface to actors.
2020-11-03 21:43:50 +01:00
Christoph Oelckers
30f4057451
- removed the remaining references to 'i' from checkhitsprite_d.
2020-11-03 21:43:50 +01:00
Christoph Oelckers
a31cb23be1
- checkhitsprite_r references to 'i' removed.
2020-11-03 21:43:49 +01:00
Christoph Oelckers
1ab13688a7
- RR shootweapon
2020-11-03 21:43:49 +01:00
Christoph Oelckers
51705e5a61
- RR shootmelee.
2020-11-03 21:43:49 +01:00
Christoph Oelckers
f276a5f443
- shootlaser and shootgrowspark
2020-11-03 21:43:49 +01:00
Christoph Oelckers
badf536fef
- shootstuff and shootrpg.
2020-11-03 21:43:49 +01:00
Christoph Oelckers
ca78ed9b63
- shootweapon
2020-11-03 21:43:49 +01:00
Christoph Oelckers
617c2c2503
- replaced index for sound origin in checkhitsprite_r.
2020-11-03 21:43:48 +01:00
Christoph Oelckers
41f2fe5e06
- same for checkhitsprite_r.
2020-11-03 21:43:48 +01:00
Christoph Oelckers
4443234126
- replacing sprite[sn] in checkhitsprite_d.
2020-11-03 21:43:48 +01:00
Christoph Oelckers
faa4248c5c
- lotsofglass wrapper and variable renaming in checkhitsprite_d.
2020-11-03 20:43:38 +01:00
Christoph Oelckers
17737eea85
- wrapped hitscan in a variant returning an actor.
2020-11-03 20:43:38 +01:00
Christoph Oelckers
768487584e
- aim and all calling instances.
...
This also takes care of RR's chicken arrow storing an actor reference in lotag.
2020-11-03 20:42:03 +01:00
Christoph Oelckers
8268c1b538
- shootfireball, shootflamethrowerflame, shootknee
2020-11-03 20:21:53 +01:00
Christoph Oelckers
6ee856b8c1
- added missing 'break' to SE code.
...
This caused the car in RR's first level to go too fast.
2020-11-03 20:21:30 +01:00
Christoph Oelckers
3fdeedcae7
- player.cpp is free of array references, except one that's unavoidable for now.
2020-11-03 19:25:07 +01:00
Christoph Oelckers
79f850d126
- PlayerColorChanged, hits, hitasprite.
2020-11-03 19:21:44 +01:00
Christoph Oelckers
1fcd5eef47
- CON game access interface done.
2020-11-03 19:21:44 +01:00
Christoph Oelckers
f5cccb0df2
- actorflag, actorfella, automap, animateaccess, holoduke spawn, initreactor.
...
# Conflicts:
# source/games/duke/src/game_misc.cpp
2020-11-03 19:21:43 +01:00
Christoph Oelckers
2db8ace275
- eliminated all array accesses in game_misc.cpp.
2020-11-03 19:21:43 +01:00
Christoph Oelckers
61013af910
- fixed three crashes found when testing WW2GI.
2020-11-03 19:21:43 +01:00
Christoph Oelckers
a514910aa4
- use an actor pointer in Get/SetGameVarID's parameters to weed out the ordering screwups.
2020-11-03 19:21:43 +01:00
Christoph Oelckers
de92287d0b
- fixed the messed up parameter order of OnEvent.
...
This should serve as a textbook example why passing around indices is a very, very bad idea!
2020-11-03 19:21:42 +01:00
Christoph Oelckers
c1b5b17541
- removed a few references in animatesprites.
2020-11-03 19:21:42 +01:00
Christoph Oelckers
3ea6887c43
- replaced a bit more.
2020-11-03 19:21:42 +01:00
Christoph Oelckers
2c573a720b
- starting at the bottom of player_r.cpp.
2020-11-03 19:21:42 +01:00
Christoph Oelckers
33f730baf3
- replaced "sprite[p->i]" globally.
2020-11-03 19:21:42 +01:00
Christoph Oelckers
b5309a6410
- some quick'n easy replacements.
2020-11-03 19:21:42 +01:00
Christoph Oelckers
cd70818d54
- added a few NULL checks.
2020-11-03 07:12:11 +01:00
Christoph Oelckers
b2497b346c
- use GetActor() wrapper in hud weapon code.
2020-11-03 07:06:30 +01:00
Christoph Oelckers
f729f7d7a3
- renamed a few things in animatesprites.
...
This function will need special handling later, for now let's just reduce the work surface to a few pointers.
2020-11-03 07:06:30 +01:00
Christoph Oelckers
ac58dd8017
- execute.
2020-11-03 07:06:30 +01:00
Christoph Oelckers
8f815f9391
- LoadActor.
2020-11-03 07:06:29 +01:00
Christoph Oelckers
da9c4d90a2
- parse - part 7.
2020-11-03 07:06:29 +01:00
Christoph Oelckers
38817c3bee
- parse - part 6.
2020-11-03 07:06:29 +01:00
Christoph Oelckers
aa3d1fdcad
- parse - part 5.
2020-11-03 07:06:29 +01:00
Christoph Oelckers
7438b57f23
- parse - part 4.
2020-11-03 07:06:29 +01:00
Christoph Oelckers
59d9138b77
- parse - part 3.
2020-11-03 07:06:28 +01:00
Christoph Oelckers
65fc6dd3c7
- parse - part 2.
2020-11-03 07:06:28 +01:00
Christoph Oelckers
8bdeb66dcb
- parse - part 1.
2020-11-03 07:06:28 +01:00
Christoph Oelckers
0fac102c26
- renamed variables in ifcansee.
2020-11-03 07:06:28 +01:00
Christoph Oelckers
83217ee620
- ifcansee.
2020-11-03 07:06:27 +01:00
Christoph Oelckers
83b47f60b3
- ifcanshoottarget.
2020-11-03 07:06:27 +01:00
Christoph Oelckers
ea9a8642b0
- doactor.
...
# Conflicts:
# source/games/duke/src/gameexec.cpp
2020-11-03 07:06:27 +01:00
Christoph Oelckers
669fcc967f
- cheats.cpp and ccmds.cpp handled.
...
# Conflicts:
# source/games/duke/src/cheats.cpp
2020-11-03 07:06:27 +01:00
Christoph Oelckers
ad84c8149e
- the rest of sectors.cpp
2020-11-03 07:06:27 +01:00
Christoph Oelckers
4236f800f6
- operateactivators and operatemasterswitches.
2020-11-03 07:06:26 +01:00
Christoph Oelckers
7635fc9ad6
- operatesectors.
2020-11-03 07:06:26 +01:00
Christoph Oelckers
326ca9e172
- handle_st28,
2020-11-03 07:06:26 +01:00
Christoph Oelckers
06695073d0
- handle_st27.
2020-11-03 07:06:26 +01:00
Christoph Oelckers
d4c53226d0
- handle_st25.
2020-11-03 07:06:26 +01:00
Christoph Oelckers
fd8ee214f5
- handle_st23.
2020-11-03 07:06:25 +01:00
Christoph Oelckers
e6507887d3
- handle_st20.
2020-11-03 07:06:25 +01:00
Christoph Oelckers
2afbbcb157
- handle_st29.
2020-11-03 07:06:25 +01:00
Christoph Oelckers
7c491742f9
- handle_st15.
2020-11-03 07:06:25 +01:00
Christoph Oelckers
c9c649d3f8
- crash fix with null pointer.
2020-11-03 07:05:51 +01:00
Christoph Oelckers
88adef3caa
- split up operatesectors into more digestable pieces.
2020-11-03 07:03:01 +01:00
Christoph Oelckers
4dd9be7b6d
..
...
- activatewarpelevators
2020-11-03 06:52:26 +01:00
Christoph Oelckers
1a300aa220
- fixed GC crash with new statusbar code.
...
It looks GZDoom never run in the case where using Create<> to create an object this left a pointer uninitialized.
To be safe, use Calloc instead of Malloc to get the memory for the new object so that everything is nulled.
2020-11-03 06:51:42 +01:00
Christoph Oelckers
8d1409a708
- bring weaprec handling of RR in line with Duke.
...
This code set a sprite index where a tile number is expected by all other code checking this array.
In the stock game this should never trigger, though, as the actor being checked is the burning dynamite which cannot be picked up again as-is.
2020-11-03 06:51:29 +01:00
Christoph Oelckers
595a2156e4
- fixed bad spawn owner in refactored loop.
2020-11-02 21:45:36 +01:00
Christoph Oelckers
6adc2f8e55
- findplayer
2020-11-01 17:07:47 +01:00
Christoph Oelckers
fa5b48d270
- check_activator_motion, doanimations.
2020-11-01 17:07:47 +01:00
Christoph Oelckers
b2a2232260
- callsound
2020-11-01 17:07:46 +01:00
Christoph Oelckers
3c19f8e44e
- the last remaining small functions in actors_d.cpp and actors_r.cpp.
2020-11-01 17:07:46 +01:00
Christoph Oelckers
52c342a2ff
- renamed variables in move functions.
2020-11-01 17:07:46 +01:00
Christoph Oelckers
e6e53d1954
- move, fakebubbaspawn and destroyit.
2020-11-01 17:07:46 +01:00
Christoph Oelckers
a6f9673403
- moveeffectors.
2020-11-01 17:07:46 +01:00
Christoph Oelckers
c438061b83
- made SE06 and SE28 separate functions.
2020-11-01 17:07:45 +01:00
Christoph Oelckers
f5338d0acb
- moveexplosions.
2020-11-01 17:07:45 +01:00
Christoph Oelckers
76c4eeddc4
- moveactors.
2020-11-01 17:07:45 +01:00
Christoph Oelckers
2ad31247ec
- henstand and bowling.
2020-11-01 17:07:45 +01:00
Christoph Oelckers
a31a19d430
- fixed 2 bad iterators.
2020-11-01 17:07:45 +01:00
Christoph Oelckers
0c2a7de550
- fixed uninitialized variable with 'hitasprite'.
2020-11-01 17:06:52 +01:00
Christoph Oelckers
fd83b87b94
- rr_specialstats.
2020-11-01 15:25:18 +01:00
Christoph Oelckers
0ec7732bd4
- rrra_specialstats.
2020-11-01 15:22:34 +01:00
Christoph Oelckers
63646e7c5c
- heavyhbomb
2020-11-01 15:19:51 +01:00
Christoph Oelckers
441ed6bdc5
- flamethrowerflame
2020-11-01 15:17:49 +01:00
Christoph Oelckers
44fc4f9243
- greenslime.
2020-11-01 15:11:49 +01:00
Christoph Oelckers
d4ee8a1c48
- removed a few redundant GetIndex calls.
2020-11-01 15:08:48 +01:00
Christoph Oelckers
9826ff54f9
- movetransports.
2020-11-01 15:05:21 +01:00
Christoph Oelckers
076dcef5d0
- renamed variables in movetransports.
2020-11-01 14:56:23 +01:00
Christoph Oelckers
2d1b8a2b4b
- use the cleaned up movesprite interface in moveweapons.
2020-11-01 14:51:32 +01:00
Christoph Oelckers
3aaf2e80a9
- moveweapons.
2020-11-01 14:46:05 +01:00
Christoph Oelckers
00b12c5fd6
- weaponcommon subfunctions.
2020-11-01 12:27:43 +01:00
Christoph Oelckers
c5f7c29ead
- chickenarrow and movefireball.
2020-11-01 12:23:14 +01:00
Christoph Oelckers
a3860de440
- movestandables.
2020-11-01 12:09:01 +01:00
Christoph Oelckers
1af39eb29d
- move*bolt.
2020-11-01 12:08:39 +01:00
Christoph Oelckers
dc75037d01
- movecrack, movefireext, moveviewscreen.
2020-11-01 12:06:20 +01:00
Christoph Oelckers
a4ac7764de
- movetripbomb.
2020-11-01 12:02:58 +01:00
Christoph Oelckers
d9b6be83b3
- movefallers.
2020-11-01 12:00:29 +01:00
Christoph Oelckers
7e8be10b04
- movefta and ifhitsectors.
2020-11-01 11:58:41 +01:00
Christoph Oelckers
861342a278
- guts_d and guts_r.
2020-11-01 11:32:34 +01:00
Christoph Oelckers
90d1c5f7bb
- ifsquished.
2020-11-01 10:55:38 +01:00
Christoph Oelckers
4c9655b110
- check_fta_sounds.
2020-11-01 10:53:45 +01:00
Christoph Oelckers
b9aa5de217
- fixed merge error in handle_se00.
2020-11-01 10:52:38 +01:00
Christoph Oelckers
7967391728
- actors_lava.cpp handled.
2020-11-01 10:50:10 +01:00
Christoph Oelckers
6a97b3d58e
- renamed variables.
2020-11-01 10:49:50 +01:00
Christoph Oelckers
f0b1ab504d
- fall_common and its fallspecial subfunction.
2020-11-01 10:48:26 +01:00
Christoph Oelckers
185b795481
- renamed variables in alterang.
2020-11-01 10:45:09 +01:00
Christoph Oelckers
85ea1df76a
- alterang
2020-11-01 10:44:16 +01:00
Christoph Oelckers
31e5023004
- dodge, furthestcanseepoint, furthestangle.
2020-11-01 10:41:25 +01:00
Christoph Oelckers
4e675ea322
- makeitfall
2020-11-01 10:41:24 +01:00
Christoph Oelckers
291edcdab8
- getglobalz
2020-11-01 10:41:16 +01:00
Christoph Oelckers
8f75a58343
- shared SE31 code.
2020-11-01 10:31:41 +01:00
Christoph Oelckers
21fb3fb7bb
- shared SE25 code.
2020-11-01 10:27:54 +01:00
Christoph Oelckers
00f5a08390
- shared SE24 code.
2020-11-01 10:27:41 +01:00
Christoph Oelckers
02813802d4
- the 5 remaining shared SE handlers.
2020-11-01 10:12:27 +01:00
Christoph Oelckers
769bc3bd22
- handle_se20-26.
2020-11-01 10:02:58 +01:00
Christoph Oelckers
5d837176de
- handle_se18+19
2020-11-01 09:58:39 +01:00
Christoph Oelckers
5b096ea35e
- handle_se15-17.
2020-11-01 09:53:50 +01:00
Christoph Oelckers
33377e1810
- renamed a few things.
2020-11-01 09:45:37 +01:00
Christoph Oelckers
b585192721
- handle_se11-13.
2020-11-01 09:37:41 +01:00
Christoph Oelckers
83a9d99bd9
- use symbolic constants in spawneffectors.
2020-11-01 09:00:16 +01:00
Christoph Oelckers
45905b9137
- handle_se05, 08, 10.
2020-11-01 08:51:13 +01:00
Christoph Oelckers
2edc7168ca
- handle SE02-SE04.
2020-11-01 08:43:24 +01:00
Christoph Oelckers
3e62550489
- consolidated gutsdir functions by making the spawn offset for Duke's commander an actor property.
2020-11-01 08:23:03 +01:00
Christoph Oelckers
80aab4b5f7
- handle_se30.
2020-11-01 08:22:47 +01:00
Christoph Oelckers
a6468970c6
- renamed some variables.
2020-11-01 08:14:40 +01:00
Christoph Oelckers
2dd2ba1469
- handle_SE14 function signature and recordoldspritepos
2020-11-01 08:13:29 +01:00
Christoph Oelckers
d2b4cf6770
- reformatting
2020-11-01 08:03:07 +01:00
Christoph Oelckers
1b6161d472
- SE14 part 4
2020-11-01 08:00:43 +01:00
Christoph Oelckers
1cffc76c4e
- SE14 part 3
2020-11-01 08:00:03 +01:00
Christoph Oelckers
92f95ea195
- SE14 part 2
2020-11-01 07:56:49 +01:00
Christoph Oelckers
e13b61f496
- SE14 part 1
...
Doing this in smaller chunks because this function requires quite extensive adjustments.
2020-11-01 07:51:50 +01:00
Christoph Oelckers
1ce2600a43
- SE 0 and 1 handlers.
2020-11-01 07:36:49 +01:00
Christoph Oelckers
a37cfe2913
- renamed variables in handle_se00.
2020-11-01 07:28:49 +01:00
Christoph Oelckers
e9d6fb2bb5
- jibs, bloodpool, shell, glasspieces and scrap.
2020-11-01 07:27:15 +01:00
Christoph Oelckers
6cbe74e115
- forcesphere, watersplash2, frameeffect and money.
2020-11-01 07:24:00 +01:00
Christoph Oelckers
6e1d3a025a
- ooz, reactor and camera.
2020-11-01 07:23:27 +01:00
Christoph Oelckers
876b6d5081
- forcesphere and recon.
2020-11-01 07:20:17 +01:00
Christoph Oelckers
d0e12586ba
- added a higher level interface tp clipmove that unmangles its return.
2020-11-01 07:16:44 +01:00
Christoph Oelckers
3d16d9f44a
- respawnmarker, rat and queball.
2020-11-01 07:15:57 +01:00
Christoph Oelckers
6257ebc30c
- bounce, movetongue and rpgexplode.
2020-11-01 07:11:49 +01:00
Christoph Oelckers
e001b3117f
- movetouchplate, moveooz, movecanwithsomething.
...
# Conflicts:
# source/games/duke/src/funct.h
2020-11-01 07:07:59 +01:00
Christoph Oelckers
b7f26c064d
- 3 smaller functions.
2020-11-01 06:54:14 +01:00
Christoph Oelckers
c42ff35dc5
- hitradius
...
# Conflicts:
# source/games/duke/src/actors_d.cpp
# source/games/duke/src/actors_r.cpp
2020-10-31 13:24:31 +01:00
Christoph Oelckers
7dbe9d4bfb
- renaming in hitradius
2020-10-31 13:24:30 +01:00
Christoph Oelckers
81717b54ee
- detonate and movemasterswitch.
...
# Conflicts:
# source/games/duke/src/actors.cpp
2020-10-31 13:24:30 +01:00
Christoph Oelckers
89d750c94f
- renaming in movemasterswitch and detonate.
2020-10-31 13:24:30 +01:00
Christoph Oelckers
38e0ac1e3f
- movefountain and moveflammable.
...
# Conflicts:
# source/games/duke/src/actors.cpp
2020-10-31 13:24:30 +01:00
Christoph Oelckers
544078c9ba
- moveflammable renaming.
2020-10-31 13:24:29 +01:00
Christoph Oelckers
7a482c6284
- make DHUDFont an object.
2020-10-31 13:20:54 +01:00
Christoph Oelckers
7de6528a1f
- the status bars work as objects.
...
# Conflicts:
# source/common/menu/menudef.cpp
2020-10-31 13:20:54 +01:00
Christoph Oelckers
3b7ce26c86
- final function moves and renamed hud_scale to hud_scalefactor.
2020-10-31 13:20:00 +01:00
Christoph Oelckers
0270dcd5f6
- cleaned up leftovers.
2020-10-31 13:20:00 +01:00
Christoph Oelckers
37024df405
- Status bar draw code is now identical with GZDoom's.
2020-10-31 13:20:00 +01:00
Christoph Oelckers
3a0c84d3ca
- split statusbar.cpp in two.
...
To keep Raze-exclusive content out of the main file that's about to be edited.
2020-10-31 13:19:59 +01:00
Christoph Oelckers
41e1e9b51c
- ifhitbyweapon.
...
# Conflicts:
# source/games/duke/src/actors_d.cpp
# source/games/duke/src/actors_r.cpp
2020-10-31 13:19:26 +01:00
Christoph Oelckers
92c21e7259
- ifhitbyweapon cleanup.
...
Variables renamed and array accesses replaced with pointers in RR version.
2020-10-31 13:19:26 +01:00
Christoph Oelckers
28d0bc7477
- movecrane interface cleanup.
2020-10-31 13:19:26 +01:00
Christoph Oelckers
08f3e9e722
- variable renaming in movecrane for clarity
2020-10-31 13:19:25 +01:00
Christoph Oelckers
d95131cb4d
- actor iterators for movefx and its RRRA subfunction.
2020-10-31 13:19:25 +01:00
Christoph Oelckers
801e94ca54
- renamed variables in movefx for clarity.
2020-10-31 13:19:25 +01:00
Christoph Oelckers
be0880f106
- iterators in movedummyplayers and moveplayers updated.
2020-10-31 13:19:25 +01:00
Christoph Oelckers
cf8da6c6e3
- variable renaming for clarity.
2020-10-31 13:19:25 +01:00
Christoph Oelckers
b03a637e10
- ms function.
2020-10-31 13:19:24 +01:00
Christoph Oelckers
c53653106e
- fixed compilation.
2020-10-31 12:46:53 +01:00
Christoph Oelckers
e5ce1da9a3
- this is 0.7.3.
2020-10-31 12:41:17 +01:00
Christoph Oelckers
668c34d4c1
- ensure for all games that deleting a sprite unlinks all sounds from it.
...
This was only present in Duke but is needed for all games.
2020-10-29 00:08:06 +01:00
Christoph Oelckers
f341fbc1fb
- backend update.
2020-10-28 21:46:43 +01:00
Christoph Oelckers
5abc5c0509
- option menu positioning fix.
2020-10-25 17:11:45 +01:00
Christoph Oelckers
7dda316391
- define console background for Blood.
2020-10-25 15:31:20 +01:00
Christoph Oelckers
94892cc1f8
- set up the main menu background as default console background for Duke and its offspring games.
2020-10-25 15:06:06 +01:00
Christoph Oelckers
74df8f55da
- moved c_console.cpp to 'common'.
2020-10-25 13:26:40 +01:00
Christoph Oelckers
8d3585afe1
- console cleanup.
...
The bulk of the console is now free of game dependencies.
2020-10-25 13:14:42 +01:00
Christoph Oelckers
8bfb0b1e20
- do not dim the objects of the Exhumed background screen.
...
This was for dimming the console background but since the console already dims its background itself it made the background nearly opaque black.
2020-10-25 09:22:17 +01:00
Christoph Oelckers
273ad5e133
- backend update
2020-10-25 09:20:26 +01:00
Christoph Oelckers
570897005c
- added sound playback to the Smacker video player.
...
Thanks to Blood's weird setup and the resulting lack of sound support in NBlood's player I never realized that this is a fully featured movie format that actually has sound support.
Now the soundtrack will play if present.
2020-10-25 00:46:39 +02:00
Christoph Oelckers
1a21e73cd9
- fixed bad collision state check in movesprite.
...
Fixes #147
2020-10-24 21:36:27 +02:00
Christoph Oelckers
aeda977bc2
- fixed incomplete font initialization.
2020-10-24 21:02:00 +02:00
Christoph Oelckers
9a6a98ada9
- RR: Picking up the crossbow should also enable the dynamite as a separate weapon.
2020-10-24 20:43:36 +02:00
Christoph Oelckers
f02cf7e067
- fixed issues with fog setup and added missing fog to Exhumed's red palette.
...
Foggy lookups should not attempt to calculate a fade ramp, that does not work if the color gets brighter with distance.
Fixes #143
2020-10-24 20:33:33 +02:00
Christoph Oelckers
acda4b7799
- fixed Duke's RPG explosion
...
Fixes #146
2020-10-24 19:44:10 +02:00
Christoph Oelckers
28a926eb9a
- Blood: Copy the 'shade' member for sprites.
...
This got lost when the loader was transitioned to using a local buffer to read the map data.
Fixes #140
2020-10-24 19:11:58 +02:00
Christoph Oelckers
c33525381e
- undid the native part of GetFullscreenRect because the functions are not compatible.
2020-10-24 18:13:45 +02:00
Christoph Oelckers
ce03813ab1
- Exhumed: Fixed the invulnerability item.
...
Fixes #137
2020-10-24 18:03:06 +02:00
Christoph Oelckers
c82d9d2908
- backend update from GZDoom.
2020-10-24 17:30:47 +02:00
sinisterseed
8b03abcd00
- allow Wang to make sounds when healing with "Player Speech" turned off.
...
Looks like I overlooked this one while doing the speeches, which left Wang completely silent when healing. This allows his relief sound to play when the toggle is off, but the "Acupuncture" joke will still be silenced.
2020-10-24 14:24:54 +03:00
Christoph Oelckers
82d87deb30
- added missing includes for release build.
2020-10-24 10:01:14 +02:00
Christoph Oelckers
8fd0fe5955
- changed the spriteq to use pointers instead of indices.
2020-10-24 09:40:10 +02:00
Christoph Oelckers
34e39dd221
- pass spawner as an actor pointer to 'lotsofstuff'.
...
Allows doing this without using sprite indices.
2020-10-24 09:36:35 +02:00
Christoph Oelckers
a5b3681630
- foundation for a better collision info management.
...
The way this is handled is the main reason why Build maps are size limited, but since it is extremely invasive it needs to be taken out of the game code piece by piece, this is the framework for doing this for Duke.
2020-10-24 09:31:15 +02:00
Christoph Oelckers
16e49ac1fd
- use pointer for sprite access in movesprite_r.
...
Bringing it in line with movesprite_d.
2020-10-24 09:20:45 +02:00
Christoph Oelckers
42e5201e9f
- replaced a few array accesses where a pointer is already available.
2020-10-24 09:11:45 +02:00
Christoph Oelckers
87e4c0fa7d
- experimented a bit with optimizing the spawn function's use.
2020-10-24 09:05:54 +02:00
Christoph Oelckers
356060e127
- optimized another batch of array accesses in the spawn functions.
2020-10-24 08:52:21 +02:00
Christoph Oelckers
6311898152
- renamed a few disassembly variables.
2020-10-24 07:48:51 +02:00
Christoph Oelckers
5cde56de28
- another case of replacing a long list of array accesses with a pointer.
2020-10-24 07:39:51 +02:00