Mitchell Richters
fe652c9348
- Use isNamWW2GI()
in more places.
2021-07-11 12:41:08 +10:00
Mitchell Richters
aa13b50504
- Use isRR()
in more places.
2021-07-11 12:40:46 +10:00
Mitchell Richters
6894be4ad1
- Use the new isSWALL()
wrapper everywhere.
2021-07-11 12:40:01 +10:00
Mitchell Richters
ffba10a7c5
- SW: Set default skill level to match original release and what the manual says is default.
2021-07-11 12:08:12 +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
b5b9452adb
- Optimise fFindDistance2D()
to multiply by inverse rather than divide by a constant.
2021-07-10 22:08:48 +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
Dino Bollinger
8dd0f947f7
Remove useless code introduced in bad17f29
2021-07-07 21:31:32 +02:00
Christoph Oelckers
62a5a720e8
- Check for maps with bad setup of their wall lists.
...
Lo Wang In Time's map 11 does not include wall 0 into its sector, which caused crashes when trying to triangulate this sector.
2021-07-06 10:29:24 +02: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
Christoph Oelckers
e5cb1976d3
- disable texture name truncation for textures/ directory.
...
Unlike Doom, a similar limit does not exist here and must not be enforced. Any texture from this folder needs to be usable by its full name without extension to be able to replace named tiles.
2021-07-05 22:39:24 +02:00
Mitchell Richters
1dbf34fe56
- Repair some potential issues from 1354d52c05
that might be causing issues with #455 .
2021-07-04 21:06:13 +10:00
Christoph Oelckers
5d67987fe1
- don't attempt to decode animation frames at offsets beyond the end of the current page.
...
Copied from EDuke32.
2021-07-02 20:33:53 +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
e9b2bf9e4e
- shortened the message for not found game data and restrict to non-Windows systems.
2021-06-26 12:10:46 +02:00
Hugo Locurcio
a10018bc36
Display game data path when no game data files are found
...
This helps users find the location where they should place
game data files.
2021-06-26 12:06:35 +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
acadd716f8
- For Unix systems, ensure that the root of the player's .config directory is scanned for content, not just subdirectories.
...
* Fixes #430 .
2021-06-24 20:47:14 +10: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
39983f8144
- Fix maps loaded from the command line starting with corrupted sectors.
...
* Starting game same way `map` CCMD does it for now.
2021-06-24 18:50:10 +10:00
Mitchell Richters
9645009b28
- Fix -map
command-line argument not working.
...
* Fixes #441 .
2021-06-24 18:49:26 +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
Emile Belanger
b6e76337e0
Fix so small font is displayed correctly
2021-06-20 16:34:26 +02:00
Christoph Oelckers
0069af02e7
- use a slightly higher depth bias for translucent elements.
...
These can otherwise cause z-fighting when being used with non-translucent floor and wall sprites.
2021-06-13 09:39:07 +02:00
Christoph Oelckers
5556756d43
- map fix for Hickston Swamp (RR mod) E1L3:
...
Wall sprite is placed in the wrong sector which makes the new renderer's far stricter checks to reduce sprite flicker fail to position it correctly.
2021-06-13 09:32:30 +02: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
15635ec7c8
- fixed crash when trying to triangulate broken sectors.
...
In these cases it is possible that the wall index may go below 0.
2021-06-11 23:18:46 +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
1cea743536
- restrict lookup of engine/engine.def to the main game files.
...
Mods should not use this to load their data.
2021-06-09 08:38:40 +02:00
Christoph Oelckers
9d36e61d3f
- depth bias fixes.
2021-06-09 00:47:13 +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
a32489be31
- wall sprite positioning tweaks.
...
Turns out that a distance of one Build unit from a wall alone is not enough to render them glitch-free, some depth bias is still needed.
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
Christoph Oelckers
c4fa99c891
- ProcessTouchObjects
2021-06-02 20:44:55 +02:00
Christoph Oelckers
f7668fc074
- first pass over ProcessTouchObject
2021-06-02 20:44:54 +02:00
Christoph Oelckers
a7572bca0a
- actImpactMissile.
2021-06-02 20:43:14 +02:00
Christoph Oelckers
f96521a7f4
- fixed: Floor sprites must set their view orientation.
...
The translucent element sorter needs this to operate properly.
2021-06-02 20:32:35 +02:00
Christoph Oelckers
3c5ef9c8e6
- properly render geometry that's fully shrouded in fog.
2021-06-01 21:48:39 +02:00
Christoph Oelckers
dc846dcd49
- Duke: avoid clipping against self when executing script logic for floor sprites.
...
A good place to see the result is a kitchen knife in E4L2 that went missing due to the faulty check.
2021-06-01 21:21:39 +02:00
Christoph Oelckers
f0d2aef9d9
- fixed hires replacements for colorized font characters.
2021-06-01 11:29:39 +02:00
Christoph Oelckers
454816299e
- reorganized loading of textures.
...
Due to dependencies on initializing some data in app_init it was not possible to cleanly set up the fonts.
This adds a game-side function for loading the entire palettes before starting with the texture data and another one for loading game-side texture data.
This now allows fully setting up the palettes before starting with the textures and to fully set up the textures before reading the .def files.
All this is needed because to properly initialize, the fonts need to be able to access the fully initialized texture state, including replacements and hires substitutions from the .def files.
2021-06-01 11:05:26 +02:00
Christoph Oelckers
8b507ed606
- enabled the ENDOOM-like text screens when quitting Duke and SW.
...
Turned out that all they needed was the font.
2021-05-31 23:16:52 +02:00
Christoph Oelckers
1636ddc00e
- set the main resource file's index in the file system.
...
Some checks need this.
2021-05-31 21:20:32 +02:00
Christoph Oelckers
25e57763af
- implemented substitution for incomplete fonts.
2021-05-31 21:20:32 +02:00
Christoph Oelckers
9c60ab791b
- implemented all needed font overrides for localization.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
d174b61c3c
- allow switching between the two Duke BigFonts and fix Y in Duke's BigFont13.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
90bcba302e
- layout adjustments for localized texts.
...
In particular SW's main menu was far too tightly spaced, allowing no room for accents.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
af781e0422
- moved all font setup out of the C++ code.
...
All internal fonts now get defined through FONTDEFS.
Also fixing a few offsets.
2021-05-31 21:20:31 +02:00
Christoph Oelckers
42b70a7d93
- added internationalized fonts.
...
This still needs a bit of fixing and tweaking but most is working.
2021-05-31 21:20:30 +02:00
Christoph Oelckers
cd56fd66d2
- RR: fixed advanced notify display's font size.
...
At some point the scale multiplier must have gotten lost, which with the twice as large fonts in this game resulted in text being too large.
2021-05-31 21:20:28 +02:00
Christoph Oelckers
f97b4e830d
- pass fonts instead of indices to Blood's viewDrawText function.
...
As preparation for building a proper font system.
2021-05-31 21:20:28 +02:00
Christoph Oelckers
d7e1707b37
- removed the Doom specific font init code.
...
This has no use in Raze and only got in the way by enforcing unwanted defaults.
2021-05-31 21:20:28 +02:00
Christoph Oelckers
a7921e4c01
- use the same formula as Duke to offset SW's shadows in Polymost.
2021-05-29 14:04:57 +02:00
Christoph Oelckers
1ea09cd3d2
- removed bogus assert in SW's track setup.
...
One of the stock maps (WT $airport map.) triggers this assert so it cannot remain.
2021-05-29 13:22:14 +02:00
Christoph Oelckers
2b8a80c6ce
- added the out-of-bounds vertex handler to the secondary triangulator as well.
...
If SW does this, triangulation must not be attempted as it will inevitably fail.
2021-05-29 13:19:44 +02:00
Christoph Oelckers
db21313c96
- add some hackery to deal with WT's bosses.
...
This was the result of some gross change to the spawning code which suddenly changed the rules about minibosses.
To reduce the impact, it is only enabled for the "Alien World Order" maps.
2021-05-29 13:12:50 +02:00
Christoph Oelckers
2e9732ce79
- fixed new renderer's use of fog on skies: The palette value from the wall was used instead of the one from the sky plane.
2021-05-29 12:09:16 +02:00
Christoph Oelckers
8fae793341
- defined a new constant, CR_NATIVEPAL, to use the font functions with a predefined palette.
...
This is mainly for code clarification, the value is the same as CR_UNDEFINED.
2021-05-29 11:47:05 +02:00
Christoph Oelckers
22be26bd2d
- font system fixes.
2021-05-28 12:16:07 +02:00
Christoph Oelckers
d44500863b
- removed the multiplayer scoreboard screens.
...
Since there is no plan to keep them in case MP gets implemented there's no need to maintain them.
These should later be replaced by a generic screen using a better font and a layout that takes higher resolutions into account.
2021-05-27 13:33:54 +02:00
Rachael Alexanderson
fd97da05b7
- allow UNC search paths on Windows
2021-05-26 10:47:36 -04:00
Christoph Oelckers
4ff4fa643b
- rewrote the default translation handling to be compatible with luminosity translations.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
8b1757eee2
- got rid of most of the font system's baggage that's no longer needed.
...
Mainly this means that it's no longer necessary to reorder the palette to get working translated glyphs, so the FFontChar1 class and the TranslatedPic member and its invasive handling could all be cleaned out.
All font operations now take place on true color data, with the sole execption of FSpecialFont's 'notranslate' handling.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
9769f346ec
- refactored the special fonts away from BuildTranslation so that this function and the entire large heap of ugly baggage it drags in can finally be deleted.
...
Function is gone, baggage will come next.
2021-05-25 12:59:09 +02:00
Christoph Oelckers
372d425e01
- use luminosity translations for single lump fonts and let them use their original palette.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
377829d6a2
- let hex fonts use the luminosity translations.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
0bab333f36
- redid font translation so that it doesn't need to crush the font characters' color set to the base palette.
...
Right now it creates a special type of luminance translation that can operate on a true color bitmap.
2021-05-25 12:59:08 +02:00
Christoph Oelckers
0b181c67b9
- don't skip lines when an empty one gets deleted.
2021-05-23 17:22:29 +02:00
Christoph Oelckers
f212421547
- don't let the triangulator choke on empty sectors.
2021-05-23 17:19:01 +02:00
Christoph Oelckers
8aed9063f8
- sector splitting hack for SW $bath.map.
2021-05-23 17:06:47 +02:00
Christoph Oelckers
572f45ca53
- delete lines in proper order when eliminating a pair.
...
Deleting the lower one first will delete the wrong second one.
2021-05-23 16:36:06 +02:00
Christoph Oelckers
b2545f8042
- PlayMusic script function.
2021-05-23 16:21:04 +02:00
Christoph Oelckers
d98a567597
- halt the game timer when setting up a cutscene and when starting movie playback.
...
These are both lengthy operations that can take several 100s of milliseconds, so when starting a streaming video they can throw off the timing quite significantly.
With this the intermissiondelay counter could be removed as it was only there to flush the accumulated time before starting video playback.
2021-05-23 14:36:54 +02:00
Christoph Oelckers
cc1def8d77
- fixed: When the node builder is used for triangulation, all zero-length lines must be eliminated first.
...
These can cause triangulation errors.
2021-05-23 09:16:30 +02:00
Brian Koropoff
bea0379830
Fix off-by-one error in group search
...
This could be hit when loading raze.pk3 from the build directory while
the file search path contains only one grp file
2021-05-23 08:51:32 +02:00
Brian Koropoff
9394ebe768
Resolve raze.pk3 via search paths
...
Linux installs typically don't have it next to the program binary
2021-05-23 08:51:32 +02:00
Brian Koropoff
e4e949877d
Fix buffer overflow at maploader.cpp:392
2021-05-22 22:31:16 +02:00
Christoph Oelckers
b899b63843
- Raze must still use zmusiclite due to license restrictions... :(
...
This was a copy/paste error when cleaning up some things in the project file.
2021-05-22 19:23:47 +02:00
Christoph Oelckers
0c6e2f0c9e
- silenced some warnings.
2021-05-22 15:34:04 +02:00
Christoph Oelckers
d7a47b2f3a
- route all accesses to gameaction from the backend through the sysCallbacks.
...
gameactions are frontend specific so this needs to be decoupled.
2021-05-22 13:02:34 +02:00
Christoph Oelckers
6ae09f8ec9
- ported Doom's type-on text screens as a screen job overlay.
2021-05-22 12:08:08 +02:00
Christoph Oelckers
5337513044
- ported GZDoom's subtitle drawer to the cutscene framework.
...
For later use, this isn't used yet.
2021-05-22 10:26:53 +02:00
Christoph Oelckers
f69fe334fc
- removed duplicate variable.
2021-05-22 09:22:30 +02:00