Commit Graph

14308 Commits

Author SHA1 Message Date
Mitchell Richters 4298399e00 - Build: Change `MAXSPRITESONSCREEN` from constant of 2560 to 1/4 of MAXSPRITES.
* Mods like Blood's Eviction are pushing these limits hard. Bumping the onscreen limit resolved recurring crash on `sstation.map` with no apparent ill-effects.
2021-07-25 15:38:51 +10:00
Mitchell Richters ffe62da3c7 - Blood: Add some nullptr checks to the `aiPatrol*()` inline bools. 2021-07-25 15:37:50 +10:00
Mitchell Richters 7329cb8f1f - Blood: Comment out `bonk` code from 754554a493 to get things building for now. 2021-07-25 13:12:29 +10:00
NoOneBlood 754554a493 Increase kMaxSuperXSprites from 128 to 512.
Fix mirror (ROR) intialization so it won't crash if more than 1024 sectors used.
Fix random item generator so items that inherits TX ID won't send command at respawn.
Fix for things (400 - 433) that affected by modern physics so it won't return to vanilla physics after getting damage.
Fix kTeleportTarget so teleported sprites won't stuck in floors or ceilings.
Corpses won't gib as gargoyles anymore (gModernMap).

kModernCondition:
 - remove bool comparison (condCmpb).
 - remove no extra comparison (condCmpne).
 - remove "else if" search at level start.
 - add global (game) conditions type.
 - add more conditions.
 - make error report a bit more informative.

Add more options and damage effects for kModernSpriteDamager.
Add more options for kModernMissileGen and allow to spawn projectile on TX ID sprites location.
Add more options and vertical wind processing for kModernWindGen.
Add more options and effects for kModernEffectGen.
Allow kMarkerDudeSpawn to spawn enemies on TX ID sprites location (gModernMap).
Allow kModernCustomDudeSpawn to spawn dude on TX ID sprites location.
Add Screen and Aim trigger flags for sprites that can be triggered with Sight (gModernMap).

Patrolling enemies:
 - add turn AI state.
 - add "return back" option for path markers.
 - add "turning while waiting" option for markers.
 - make enemies to hear some sounds assuming that player generates and hears it too.
 - add kModernStealthRegion type to affect current spot progress velocity.
 - replace AI's CanMove and aiChooseDirection to a better versions.
 - make flying enemies to not spin around the marker.
 - treat Phantasm as flying enemy!
 - allow to continue patrol when falling in water.

Fix compile warnings
Various minor fixes / cleanup.
2021-07-25 13:11:55 +10:00
Mitchell Richters 8a029cb4e1 - Blood: Fix ammo colour for status bar and first fullscreen HUD.
* Reported by Spill.
* Fixes #490.
2021-07-24 22:06:00 +10:00
Mitchell Richters a55b8f716d - Blood: Repair some missing nullptr checks causing a crash upon reloading after dying.
* Reported by Spill.
2021-07-24 21:39:29 +10:00
Mitchell Richters ef05eec531 - Change a68d5aae70 to not do a leading zero, but add an extra space of `frameDelay` less than 10.
* Thanks, Graf. It's better :)
2021-07-24 17:51:14 +10:00
Christoph Oelckers 8e8b3a32fe - fixed initialization pf upscale state properly.
This avoids indirectly calling FlushAll during startup.
2021-07-24 09:10:21 +02:00
Christoph Oelckers ccce75667e Revert "- Remove `CVAR_NOINITCALL` bit from `gl_texture_hqresize*` CVARs."
This reverts commit e03d532670.
2021-07-24 09:08:29 +02:00
Mitchell Richters cb01fb0cf2 - Duke/RR: Remove check `p.gotweapon[]` check in `DrawWeaponBar()` that was causing weapon bar to display incorrect tiles and values.
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=72541.
2021-07-24 16:18:06 +10:00
Mitchell Richters e03d532670 - Remove `CVAR_NOINITCALL` bit from `gl_texture_hqresize*` CVARs.
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=72466.
2021-07-24 15:58:05 +10:00
Mitchell Richters 20bffbd94d - Exhumed: Revert source for `ammo` in `DrawHUD2()` from 7b8dcde5d2.
* Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=72853.
2021-07-24 15:40:48 +10:00
Mitchell Richters a68d5aae70 - Add leading zero to `statFPS()` output (`vid_fps`) so that the text doesn't bounce continually when alternating between 10 ms and <10 ms. 2021-07-24 15:40:47 +10:00
alexey.lysiuk 56d313f08d - use SDL Vulkan window flag directly 2021-07-21 17:37:52 +03:00
Vanfanel 2aea69b48a Pass the missing fullscreen flag when creating a Vukan window. 2021-07-21 14:41:28 +03:00
Mitchell Richters d9a7465c08 - SW: Remove `gi->FreeGameData()` from game as its inside code wasn't freeing game data but level data already freed in `gi->FreeLevelData()`.
* This was causing `GameMain()` to try to call `TerminateLevel()` after tile data had been freed, causing a hard stop.
* Fixes #464.
2021-07-20 20:11:29 +10:00
Mitchell Richters c5f63b95e5 - Capitalise `CPART07.AR_` and `CPART15.AR_` in `ProcessOptions()`. The original files are in capitals and this is important as POSIX systems are case-sensitive. We can't cater towards every use-case but this should cover most bases.
* Fixes #308.
2021-07-20 19:06:45 +10:00
Mitchell Richters af9f2f3eb6 - Duke: Ensure `gi->NextLevel()` sets the skill level upon invocation. 2021-07-20 18:55:16 +10:00
Mitchell Richters 675356be1a - Ensure `g_nextskill` is used everywhere so that setting skill for next level works properly. 2021-07-20 18:51:34 +10:00
Mitchell Richters 33845c4a23 - Add `skill` CCMD to return player's current skill, while also being able to set skill for next game.
* Fixes #332.
2021-07-20 18:50:58 +10:00
Mitchell Richters 77630dcbc7 - Rename `DeferedStartGame()` to `DeferredStartGame()`. 2021-07-20 18:43:17 +10:00
Mitchell Richters 4ac1376b9f - Make naming of multiplayer episode exclusion stuff from d0e6a7ea29 more generic and exclude invalid episodes from "Duke It Out in DC", "Duke Nuclear Winter" and "Duke Caribbean". 2021-07-19 12:24:47 +10:00
Mitchell Richters b969a9aee3 - Blood: Capitalise `Blood` for 1.0 and 1.1 grpinfo definitions for consistency. 2021-07-18 22:46:18 +10:00
Mitchell Richters bce8ea67d9 - Blood: Fixed grpinfo declarations for Blood 1.0 and 1.1 as per wildweasel on the forums: https://forum.zdoom.org/viewtopic.php?f=358&t=67220&start=45#p1149216
* Tested with 1.1 files and confirmed working as expected.
2021-07-18 22:38:42 +10:00
Mitchell Richters 00aa4e73a0 - Blood: Hide `Multiplayer` from the menu.
* We don't know when we'll get multiplayer going, if at all as it depends on whether someone wants to step up and contribute to it. For now, let's not tease our players who may think it's on the horizon.
2021-07-18 21:48:37 +10:00
Mitchell Richters 0f5243c39e - Blood: Lock input after setting angle/horizon targets in nnexts.cpp code, then unlock in `ProcessInput()` where `resetForcedSyncInput()` is called. 2021-07-18 19:26:24 +10:00
Mitchell Richters ca65c4c9da - Allow ticker to lock input to player's angle and horizon without having to force use of synchronised input. 2021-07-18 19:25:41 +10:00
Mitchell Richters 58ed7f8745 - Blood: Restore original horizon algorithm in `trPlayerCtrlSetLookAngle()` and adjust to Raze's backend input code. 2021-07-18 18:52:21 +10:00
Mitchell Richters b4af9e87c1 - Blood: Make delirium rotscrnang smoother with use of more precision. 2021-07-18 18:13:48 +10:00
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 52e29d4112 - Fix menu strings and missing class declaration for `VideoOptions`. 2021-07-18 00:34:39 +10:00
Mitchell Richters db84d7a29d - Update `language.0` file. 2021-07-18 00:31:49 +10:00
Mitchell Richters ba18afa2c8 - Update `language.csv` file. 2021-07-18 00:31:40 +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
Christoph Oelckers 4ee93de36c - added 'endofgame' CCMD.
Not really good yet, but it does what's needed, i.e. write out the statistics for the current session.
2021-07-17 09:42:59 +02:00
Mitchell Richters 0778dfb22a - Exhumed: Move key display on `DrawHUD2()` to accommodate larger ammo display for M60 with `cl_showmagamt 1` from 2a8e636066. 2021-07-17 15:03:00 +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 d77e143ee8 - allow palette emulation for indexed hightiles. 2021-07-17 07:40:13 +10:00
Christoph Oelckers 3e76f71f02 - support for indexed hightiles. 2021-07-17 07:40:05 +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