Commit graph

1693 commits

Author SHA1 Message Date
Mitchell Richters
c62e5db2bc - Blood: Fix angle issues with NHIS. 2021-07-18 17:35:11 +10:00
Mitchell Richters
9432f9ec90 - Blood: Add nullptr check for actor2 in ProcessTouchObjects().
* Fixes crash during testing of NHIS.
2021-07-18 16:56:49 +10:00
Mitchell Richters
bcff74f5e4 Revert "- Duke: Restore a little bit of original code to make comparisons between us and the source easier."
This reverts commit 7607190dad.

* Not good in hindsight... We need the actual value from the backend to ensure we can match up against `WeaponSel_Next`/`WeaponSel_Prev`/`WeaponSel_Alt` as required.
2021-07-17 22:42:58 +10:00
Mitchell Richters
2a8e636066 - Exhumed: Extend 7b8dcde5d2 by showing the M60's clip/magazine amount available when cl_showmagamt 1 is set. 2021-07-17 14:57:43 +10:00
Mitchell Richters
6940384625 - Exhumed: Move pistol clip/magazine recalculation code that was added in 593bbe10ef from FillWeapons() to CheckClip(). 2021-07-17 14:57:00 +10:00
Mitchell Richters
052429f350 - Exhumed: Change M60's clip/magazine capacity from 99 to 100 to better match the max ammo capacity of the weapon. This does not increase the player's available ammunition. 2021-07-17 14:56:05 +10:00
Mitchell Richters
f9b75b1aa9 - Exhumed: Make FillWeapons() fill the ammo count to the maximum allowed by the game for all weapons (300). 2021-07-17 14:54:36 +10:00
Mitchell Richters
7607190dad - Duke: Restore a little bit of original code to make comparisons between us and the source easier. 2021-07-17 12:12:36 +10:00
Mitchell Richters
ec20f66eda - Duke/RR: Always ensure player's wantweaponfire is reset to -1 after switching weapon.
* Fixes #333.
2021-07-17 12:12:12 +10:00
Mitchell Richters
0bb0896985 - Duke: Fix BOSS2 (Cycloid Emperor) killing himself issue by removing some lines left behind from a2e3bb5725.
* Fixes #455.
2021-07-17 10:56:21 +10:00
Mitchell Richters
f022f197ab - Blood: Repair weapon switching issue by adding missing guard from 6980e8b355 that got lost during e375c799ce.
* Fixes #366.
2021-07-17 09:14:08 +10:00
Mitchell Richters
d0e6a7ea29 - Allow CON-based games to have multiplayer episodes filtered from menu.
* Fixes #461.
* Fixes #462.
2021-07-16 20:55:29 +02:00
Mitchell Richters
593bbe10ef - Exhumed: Ensure FillWeapons() recalculates the pistol clip amount after filling.
* When cheating, this wasn't done which lead to the clip having 6 rounds when via modulo it should have only had 3.
2021-07-17 00:11:37 +10:00
Mitchell Richters
7b8dcde5d2 - Exhumed: Make use of cl_showmagamt.
* Fixes #463.
2021-07-16 23:52:56 +10:00
Mitchell Richters
76554f5f4d - Repair incorrect method call to IniFile class from 6576adb80b.
* Fixes #473.
2021-07-16 23:01:07 +10:00
Christoph Oelckers
6576adb80b - Blood: validate .ini files before using them.
They must at least have one "Episode?" section to be accepted.
2021-07-13 12:34:35 +02:00
Christoph Oelckers
7a99b6376e - forgot to save this... 2021-07-13 12:31:14 +02:00
Christoph Oelckers
b06ad5c77f - Blood: fixed order of initialization for voxels.
Just like Shadow Warrior it needs to load its voxel table before .def files.
2021-07-13 12:11:17 +02:00
Mitchell Richters
5af06923d8 - Blood: Revise 6018213c71 and use the proper volume flag VF_HIDEFROMSP to hide multiplayer episodes from the menu. 2021-07-11 22:30:59 +10:00
Mitchell Richters
5441272bec - SW: Create inline function pspPresentRetractScale() to scale the rate at which weapons present and retract based on the current tile's height vs. the original asset's height.
* Reported to me by @Phredreeke, who had it reported to him from someone else.
* The sword in the widescreen assets pack we load by default has a height of 216px vs 136px of the default tile.
* Because the game presents and retracts weapons at a set rate, the time it took to swap between the sword and other weapons took ~1.58x longer than the original assets.
* This speeds up the present/retract rate based on the loaded asset's height to ensure the weapon switches in the same elapsed time.
* This may be extended to other weapons if required but the sword is the only one I'm aware of that has more height.
* Confirmed no matter what motion the sword was performing, `psp->picndx` was always 2080 so we shouldn't need a hashtable or anything like this.
2021-07-11 19:22:59 +10:00
Christoph Oelckers
1b45c83d59 - SW: fixed countermeasure for empty lower skills 2021-07-11 08:24:10 +02:00
Mitchell Richters
32283037ed - Use isWW2GI() in more places. 2021-07-11 12:42:33 +10:00
Mitchell Richters
172b77b9e7 - SW: Ensure PANEL_SPRITEstruct's ox/oy values are in the save data. 2021-07-11 12:05:53 +10:00
Mitchell Richters
9d64779da0 - SW: Replace all uses of NULL with nullptr. 2021-07-10 22:25:18 +10:00
Mitchell Richters
e3f2d76378 - SW: Declare and initialise variables in pWeaponBob() vs declaring and initialising later on to reduce warnings about variables being uninitialised. 2021-07-10 22:16:51 +10:00
Mitchell Richters
5d7938c24e - SW: Rename cl_smoothsway to cl_swsmoothsway and enable by default 2021-07-10 22:07:05 +10:00
Mitchell Richters
55cef642b6 - SW: Factor out bob coordinate backups. 2021-07-10 22:01:42 +10:00
Mitchell Richters
9575f8a3d3 - SW: Factor out panel interpolation backups; 2021-07-10 22:01:40 +10:00
Mitchell Richters
4d4946fb6b - SW: Factor out repeated panel coordinate math into inline functions. 2021-07-10 22:01:37 +10:00
Mitchell Richters
27f1e487a2 - SW: Remove fixed-point math from panel x/y coordinate updating. 2021-07-10 22:01:35 +10:00
Christoph Oelckers
64fc0b66b2 - SW: added countermeasure to re-enable lower skills on mods not implementing them.
Aside from spawning the enemies from the lowest supported skill it will also reduce the threat level by reducing health of some enemies or by replacing the harder Ninja variants with the base type.
2021-07-06 10:26:43 +02:00
Mitchell Richters
0724b3326c - SW: Promote PANEL_SPRITEstruct's xorig/yorig values from int to double to match x/ox and y/oy respectively.
* Makes bobbing a touch smoother.
* Removes 47 explicit casts.
2021-06-27 22:40:33 +10:00
Christoph Oelckers
5e96e955f3 - add hitscan only autoaim for SW.
# Conflicts:
#	source/games/sw/src/weapon.cpp
2021-06-26 12:22:10 +02:00
Christoph Oelckers
2af2d29084 - add hitscan only autoaim for SW. 2021-06-26 12:18:27 +02:00
Christoph Oelckers
4dd293d551 - zero-terminate the buffer for reading Blood's INI files. 2021-06-26 12:04:21 +02:00
Christoph Oelckers
0f7d3d0cbb - streamlined and fixed game startup with '-map' option.
* Blood: Initialize global pointers in app_init so that they are not NULL.
* consider Mapinfo data when checking for a given level name.
* removed redundant level name output.
2021-06-26 10:11:50 +02:00
Christoph Oelckers
63bc36e3c4 - renamed some constants.
Manually copied from NBlood because the underlying code has changed too much already.
2021-06-24 14:14:16 +02:00
Mitchell Richters
b015bc0685 - Duke (RRRA): Fix alt weapon slot for CHICKEN_WEAPON and CROSSBOW_WEAPON.
* Fixes #440.
2021-06-24 18:56:12 +10:00
Mitchell Richters
6018213c71 - Blood: Don't parse BloodBathOnly levels in the INI loader.
* Fixes #442.
2021-06-24 18:21:06 +10:00
Christoph Oelckers
20ca676539 - RR: fixed crash in function that handles acts of mass destruction (like blowing up gas stations.)
With bad setups 'spr' could be left uninitialized. This crashed E1L1 of 'The Hickston Swamp' mod.
2021-06-11 23:20:50 +02:00
Christoph Oelckers
d270d75d74 - re-added line of code that got lost during refactoring. 2021-06-10 00:14:04 +02:00
Christoph Oelckers
4b35a30de5 - RR: fixed the bowling lane lights.
Tiles had not been made writable.
Also renamed a few bowling related things.
2021-06-09 23:53:05 +02:00
Christoph Oelckers
5b38343407 - fixed sprite exclusion logic in getzrange.
This was using the wrong flag.
2021-06-09 00:31:54 +02:00
Christoph Oelckers
89344a6023 - Exhumed: precache all frames of tile animations. 2021-06-02 21:31:38 +02:00
Christoph Oelckers
207298aeb4 - fixed compilation (again.) 2021-06-02 21:00:39 +02:00
NoOneBlood
73683b3ebe Remove viewSetSystemMessage() when setting dude flags via command
# Conflicts:
#	source/blood/src/nnexts.cpp
2021-06-02 20:52:49 +02:00
Christoph Oelckers
86082d4c10 - fixed last commit 2021-06-02 20:52:48 +02:00
NoOneBlood
f433c6ee11 Use dude physics as base for debris physics
Remove dude flags commands
Update kModernSlopeChanger
Add stealth dude flag
Update for sector pause/continue motion

# Conflicts:
#	source/blood/src/db.h
#	source/blood/src/nnexts.cpp
#	source/blood/src/nnexts.h

# Conflicts:
#	source/blood/src/nnexts.cpp
2021-06-02 20:52:48 +02:00
Christoph Oelckers
7fa690082e - fixed cherry picked commit.
# Conflicts:
#	source/core/gamecontrol.h
2021-06-02 20:52:47 +02:00
NoOneBlood
3a59243ea0 - Fixed getPlayeById() function in multiplayer.
- Fixed debris physics flags was not properly reset on level restart.
- Added new modern type "kModernSlopeChanger" that can manipulate sector and sprite slopes.
- Allow to drop items and keys for players in multiplayer (gModernMap only).
- Added event commands to manipulate dude flags.
- Patrol enemies (xsprite.dudeFlag4, gModernMap only):
  - Added path markers following.
  - Added stealth mechanics.
  - Added spot target progress bar.
  - Added alarm dude flag.
  - Added blind dude flag.
  - Added deaf dude flag.
  - Added conditions for kModernCondition related to patrol enemies.
- kModernDamager can work like generator and damage anyone in sectors or in map.
- kSectorDamage is not does the damage if in Off state (gModernMap only).
- Additional options kModernSeqSpawner.
- Effects that created with kModernEffectSpawner now inherits offset of the sprite.
- Added kCmdSectorMotionPause and kCmdSectorMotionContinue event commands that allows to pause or continue sector motion (gModernMap only, WIP).
- Various minor fixes.

# Conflicts:
#	source/blood/src/ai.cpp
#	source/blood/src/common_game.h
#	source/blood/src/eventq.cpp
#	source/blood/src/nnexts.cpp
#	source/blood/src/nnexts.h
#	source/blood/src/triggers.cpp
#	source/blood/src/triggers.h
#	source/blood/src/view.cpp

# Conflicts:
#	source/games/blood/src/ai.cpp
#	source/games/blood/src/nnexts.h

# Conflicts:
#	source/games/blood/src/actor.cpp
#	source/games/blood/src/ai.cpp
2021-06-02 20:51:47 +02:00