Commit graph

67 commits

Author SHA1 Message Date
Christoph Oelckers
03aad6559b - added a global leveltimer variable to Duke.
This timer only gets incremented by the main game ticker when the playsim is running.

This timer gets used for all playsim-related timing and animations so that these are decoupled from imprecisions in the global timer.
2020-08-31 00:33:41 +02:00
Christoph Oelckers
eb34b41716 - fixed keyboard look in Blood. 2020-08-29 17:07:25 +02:00
Christoph Oelckers
694444b62a - converted the remaining input bits.
Looks like it is working in all games except Blood (not that it surprises me that it's Blood again which has issues...)
2020-08-29 13:32:55 +02:00
Christoph Oelckers
fe7f3a2f9e - handle the run key. 2020-08-29 00:57:07 +02:00
Christoph Oelckers
b9e0f493b2 - transitioned the 5 primary action keys: Open, Jump, Crouch and Fire/AltFire. 2020-08-28 23:25:08 +02:00
Christoph Oelckers
e0ca98602d - made Blood's inventory cycle-able.
IMO it's a totally annoying limitations to block wraparound of the cursor.
2020-08-27 22:29:45 +02:00
Christoph Oelckers
447573aa36 - consolidation of invprev, invnext and invuse. 2020-08-27 22:19:24 +02:00
Christoph Oelckers
43de0d8312 - consolidation of inventory item activation through hotkeys.
This also adds hotkeys for Exhumed which never implemented them.
2020-08-27 21:25:09 +02:00
Christoph Oelckers
10df3e094a - rework of weapon input to use common features in shared code.
This also adds stubs for all unimplemented features in the games for easier addition.
2020-08-27 00:53:35 +02:00
Christoph Oelckers
99486cba7e - gave Blood the same treatment. 2020-08-27 00:21:11 +02:00
Christoph Oelckers
abf715eace - unified the packet structures of all games.
Currently the bit fields are still separate and they have to be merged, but for now the added memory does not matter.
Having this structure in the common parts will allow work on consolidating the input code, though.
2020-08-26 17:12:48 +02:00
Christoph Oelckers
d0655a1068 - renamed the fields in Blood's packet structure to match Duke's. 2020-08-26 16:59:41 +02:00
Christoph Oelckers
3fc79940f2 - merged the bit fields in Blood's packet structure.
Whatever this was for it made that thing extremely unwieldy.
With these merged the resulting structure doesn't look much different from Duke's anymore.
2020-08-26 16:59:41 +02:00
Mitchell Richters
76776d24d7 - All Games: Remove use of ClockTicks and replace with int. 2020-08-26 09:49:42 +10:00
Christoph Oelckers
0036402be8 - removed most of the network code in Blood.
Mainly to expose the parts that still get used in single player because there's some problems here that need addressing.
ENet is also gone now.
2020-08-03 20:06:27 +02:00
Christoph Oelckers
92d94543e5 - removed the Blood demo code as it won't be usable in this form anyway. 2020-07-28 00:01:16 +02:00
Christoph Oelckers
218a9c84fd - removed the last remaining Blood helpers from the file system, also deleted a few short files whose contents could be moved. 2020-07-27 19:38:41 +02:00
Christoph Oelckers
4e3ad09d70 - merged 5 more headers into misc.h.
These small header files are really counterproductive, file count has already gone down from 143 to 106.
2020-07-27 19:37:17 +02:00
Christoph Oelckers
b804589f81 - implemented a proper cache for Blood's SEQs.
Messing around in the file system cache should be a no-go, so now it's no longer done.
This also allows reenabling the byte swapping needed for Big Endian.
2020-07-27 19:28:54 +02:00
Christoph Oelckers
ab9854a215 - merged the 3 sound related headers in Blood. 2020-07-27 19:17:13 +02:00
NoOneBlood
9428c88e29 - Don't change statnum of thing converted to debris back to thing on impact trigger when firing with vector weapon.
- Change damage scale and min firedist for Custom Dude.
- Remove unnecessary checks in callback of tracking condition.
- Fix picWidth() function.
- Better initialization of modern stuff.
- kModernSeqSpawner: disable all other spawners with same TX ID when enabling current.
- Fix: sceneQav was not playing if resurrected with COUSTEAU cheat.
- kModernPictureChanger: remove kModernFlag01 feature (deprecated).
- kModernSectorFXChanger: add flags to control where exactly light effect should appear.
- kModernCondition:
 - add delay before sending command if condition is true.
 - take in account state, so kCmdState and kCmdNotState is useful.
 - fix wrong comparison result in some conditions.
 - add new various conditions.
- kModernPlayerControl:
 - fix start / stop playing qav scene when triggered with event command converted to sprite command.
 - add a way to resurrect / heal player.
 - add event commands to toggle inventory item status via trigger.
 - fix that Remote and Proximity detonators cannot be given.
 - add clear all screen effects option.
 - proper percents for changing movement / jumping.
- kModernRandomTX, kModernSequentialTX: change event redirection mode activation from kModernTypeFlag02 to kCmdLink.
- kModernSpriteDamager: treat damage value as percents by default, take in account god mode.
- kModernEffectGen: fix wrong cstat for effects.
- kModernPropertiesChanger: proper underwater status for sectors and players or enemies in it.
- Players: assign or update current player's sprite index for all conditions.

# Conflicts:
#	source/blood/src/nnexts.cpp
2020-05-22 17:36:37 +02:00
NoOneBlood
64de30209b - Player control: more strict rules for copying properties of xsprite
- Fix for custom health when respawning enemy
- Fix for custom dude when respawning it
- Conditions: added way to refresh sprite index in tracking conditions

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/aiunicult.cpp
#	source/blood/src/aiunicult.h
#	source/blood/src/dude.cpp
#	source/blood/src/dude.h
2020-05-22 17:33:05 +02:00
Mitchell Richters
68bf97462a Blood: Remove constexpr on player horizon values. 2020-04-01 22:34:57 +02:00
Mitchell Richters
e6420e1eb4 Blood: Rebalance q16mlook.
- Make scaling more consistent with other games.
- Fix CONSTEXPR to constexpr.
- Remove usage of macro 'F16()' by using explicit fix16_from_*() type.
2020-04-01 22:34:57 +02:00
nukeykt
c8372c233e Blood: Tie player input to the frame rate instead of the game tickrate
Look up/down and spin180 are a bit broken right now.
Big thanks to terminx for similar commit for eduke32.
2020-03-31 08:56:36 +02:00
Christoph Oelckers
29e51a677f First round of Blood Savegame fix.
- const-ify most tables in actor.cpp for documentation purposes.
- gVectorData cannot be made const because one single field in there gets modified by code. :?
- save the global data in nnexts.cpp.
2020-02-11 23:15:25 +01:00
CommonLoon102
8d7d8cc930 Blood: Clear keys on new level, fixes #308
# Conflicts:
#	source/blood/src/player.h
2020-02-11 18:17:22 +01:00
NoOneBlood
e79a693313 Refactor of NOONE_EXTESNIONS:
All functions and definitions was moved to nnexts.h and nnexts.cpp files
to minimize ifdefs and generally make code more clear

# Conflicts:
#	GNUmakefile
#	platform/Windows/nblood.vcxproj
#	platform/Windows/nblood.vcxproj.filters
#	platform/Windows/props/build_common.props
#	source/blood/src/actor.cpp
#	source/blood/src/ai.h
#	source/blood/src/aiunicult.cpp
#	source/blood/src/blood.cpp
#	source/blood/src/db.cpp
#	source/blood/src/eventq.cpp
#	source/blood/src/gameutil.cpp
#	source/blood/src/gameutil.h
#	source/blood/src/loadsave.cpp
#	source/blood/src/player.cpp
#	source/blood/src/player.h
#	source/blood/src/triggers.h
#	source/blood/src/view.cpp
2020-02-07 22:23:33 +01:00
nukeykt
9cc4d9f432 Blood: workaround dudeInfo OOB issue
# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/demo.cpp
#	source/blood/src/dude.cpp
#	source/blood/src/dude.h
2020-02-06 18:47:26 +01:00
NoOneBlood
0693b0efc8 - Added ifdefs for NOONE_EXTENSIONS that provides modern features for mappers
and changes that was required to minimize their amount in code.

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/ai.h
#	source/blood/src/aiunicult.cpp
#	source/blood/src/aiunicult.h
#	source/blood/src/db.cpp
#	source/blood/src/db.h
#	source/blood/src/dude.h
#	source/blood/src/gameutil.cpp
#	source/blood/src/loadsave.cpp
#	source/blood/src/player.h
#	source/blood/src/sfx.cpp
#	source/blood/src/triggers.h
#	source/blood/src/view.cpp
#	source/blood/src/weapon.cpp
2020-01-26 20:27:21 +01:00
nukeykt
7c1f9d971a Blood: fix spin 180 functionality 2020-01-23 18:18:45 +01:00
NoOneBlood
2b36e53706 - Removed event.causedBy for demo playback compatibility
- Fixed kThingArmedRemote in triggers.cpp (OperateSprite())
- Fixed kTrapFlame in triggers.cpp (OperateSprite())

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/player.h
2020-01-13 17:58:27 +01:00
NoOneBlood
4123a9e14e - gModernMap guard instead of VanillaMode in dudeSpawn
- No sound for player when jumping fix
2020-01-13 17:57:13 +01:00
NoOneBlood
6f3ccdc651 - Combination switches fix (and basically all event commands)
- No sound of jumping when player's jump velocity is too low
2020-01-13 17:57:13 +01:00
Christoph Oelckers
fb985d2503 - more macOS compilation fixes
Still not complete…
2020-01-07 01:11:19 +01:00
NoOneBlood
afb8c11683 - It's possible now to change posture settings for each player
- Touch trigger for walls fix
- It's possible to set custom clipdist for things (gModernMap only)
- Few tweaks for Custom Dude
- Player Control type fixes and updates

# Conflicts:
#	platform/Windows/nblood.vcxproj
#	source/blood/src/player.h
2020-01-02 19:20:11 +01:00
NoOneBlood
5bcfcc1b55 - Player Control type fixes
- Custom Dude type fixes
2020-01-02 19:20:11 +01:00
Grind Core
ec782a28de - Rewrite true random once again
- Fix Custom Dude genIdle aistate
- Fix grown and shrink races
- Fix qav scene was not able to stop if sprite is locked
- Fix stupid error in gDefaultJump array

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/view.cpp
2020-01-02 19:20:11 +01:00
Grind Core
da47ebbd2c - Rewrite true random, so it should work just fine now
- Way better AI for Custom Dude when attacking the target
- Minor warning fixes and other updates

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/aiunicult.cpp
#	source/blood/src/aiunicult.h
#	source/blood/src/asound.cpp
#	source/blood/src/gameutil.cpp
#	source/blood/src/gameutil.h
#	source/blood/src/player.h
#	source/blood/src/triggers.h
2020-01-02 19:20:10 +01:00
Christoph Oelckers
5e9b874610 - exported most of Blood's text to the string table
MP messages with %s yet to do.
2019-12-09 02:01:30 +01:00
Grind Core
0dbf3bbb1e - Custom Dude updates and refactor
- Player Control updates
- Minor modern types updates
- There was removed GDX prefix for all modern stuff

# Conflicts:
#	source/blood/src/aiunicult.cpp
#	source/blood/src/aiunicult.h
#	source/blood/src/mapedit.cpp
#	source/blood/src/player.h
#	source/blood/src/sfx.h
2019-11-24 22:38:21 +01:00
Grind Core
0d82280b87 - Added event initiator for sectors and walls
- Added dynamic dispersion for custom dude
- Added dynamic attack distance for custom dude
- Added dynamic damage resistance scale for custom dude
- There was some refactor actions performed
- Added player RX channels for triggering the players
- Updates for modern types
- There was added player control modern type which can do a lot things. It's
still WIP
- Other updates and fixes mainly related to gModernMap

Note that your save games will be no longer compatible

# Conflicts:
#	source/blood/src/actor.h
#	source/blood/src/aiunicult.h
#	source/blood/src/db.h
#	source/blood/src/player.h
#	source/blood/src/triggers.h
#	source/blood/src/weapon.cpp
2019-11-11 22:59:05 +01:00
Grind Core
d79c45584a - No weapon fix
I just forget to set default values
2019-11-11 22:54:03 +01:00
Grind Core
b6ad64ee54 Refactor: xsector, xwall and xsprite structs
- Added QAV scene player (playing user animation instead of weapon)
- Added trigger event intiator for sprites (WIP and experimental)

# Conflicts:
#	source/blood/src/actor.h
#	source/blood/src/player.h
2019-10-26 10:35:13 +02:00
Grind Core
b6c16abf6f Refactor:
- PLAYER.H structs
- ACTOR.H  structs

# Conflicts:
#	source/blood/src/db.h
#	source/blood/src/player.h
2019-10-22 17:49:59 +02:00
CommonLoon102
c342d25879 disable respawn for spawned dudes (#223)
makes sense
# Conflicts:
#	source/blood/src/view.cpp
2019-10-21 19:37:39 +02:00
Grind Core
70e0ed9ec4 - Refactor: added names for powerups and updated some old.
- AI: there is printing error message in conosole added (instead of dassert)
- Updates for Player Control modern type

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/actor.h
#	source/blood/src/globals.cpp
#	source/blood/src/globals.h
#	source/blood/src/player.h
#	source/blood/src/sound.cpp
#	source/blood/src/triggers.cpp
#	source/blood/src/triggers.h
#	source/blood/src/view.cpp
#	source/blood/src/weapon.cpp
#	source/blood/src/weapon.h
2019-10-20 12:30:16 +02:00
Grind Core
9dd46c1c7c - Fixes for refactor (wrong kills count)
- Fixes for refactor (proximity flag for dudes)
- Fixes for refactor (wrong kills count)

# Conflicts:
#	source/blood/src/actor.cpp
2019-10-14 22:42:43 +02:00
Grind Core
08dfee073c - Added names for callbacks
- Added names for sprite, wall and sector types
- Added gModernMap protection for using new features only on different version of map

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/callback.cpp
#	source/blood/src/callback.h
#	source/blood/src/triggers.h
2019-10-14 22:42:42 +02:00
Grind Core
f5f012ccb9 - Added names for statnums
- Added names for system RX/TX channels
- Detect if map requires new features to work properly via special TX and command
- Effect Gen update

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/eventq.h
#	source/blood/src/triggers.cpp
#	source/blood/src/triggers.h
2019-10-08 22:27:45 +02:00