Commit graph

1457 commits

Author SHA1 Message Date
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
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
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
32283037ed - Use isWW2GI() in more places. 2021-07-11 12:42:33 +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
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
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
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
9c60ab791b - implemented all needed font overrides for localization. 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
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
e10bcf6294 - split the screen job code into a generic and a Raze specific part.
Preparations for porting this to GZDoom.
2021-05-22 01:35:50 +02:00
Christoph Oelckers
d572e56839 - removed the indirection for the global arrays.
No idea what part of EDuke32 needed this, but it is not necessary.
2021-05-21 14:32:01 +02:00
Christoph Oelckers
ec976d9db7 - RR: fixed double negation in pitch math when throwing dynamite. 2021-05-20 19:06:11 +02:00
Christoph Oelckers
f136330628 - removed the native versions of Duke's and RR's status bar. 2021-05-15 17:15:29 +02:00
Christoph Oelckers
781cb32dcf - fixed all issues with Duke's/RR's status bar. 2021-05-15 16:46:08 +02:00
Christoph Oelckers
f84f58e714 - ported Duke and RR status bars.
Compiles but not tested yet.
2021-05-15 14:27:32 +02:00
Christoph Oelckers
d311792e06 - engine side preparations for Duke Statusbar scriptification.
Mainly, gotweapon had to be reverted to a flat bool array to avoid implementing FixedBitArray for the VM.
Also adding a few new tile names and PushV for string arrays.
2021-05-15 10:44:35 +02:00
Christoph Oelckers
5a6121d424 - status bar interface work. 2021-05-15 10:25:38 +02:00
Christoph Oelckers
5ae1c334fa - Duke: fixed bad check in 'ifnotmoving' CON command. 2021-05-14 10:03:07 +02:00
Christoph Oelckers
cb2bc7967a - fixed the remaining warnings. 2021-05-12 21:50:01 +02:00
Christoph Oelckers
cf22a70d82 - fixed all warnings in Duke. 2021-05-12 21:50:01 +02:00
Christoph Oelckers
d097c8e635 - removed the non-functional and long abandoned level music alias feature.
With RMAPINFO such a hack is no longer needed for anything.
2021-05-12 21:48:40 +02:00
Christoph Oelckers
03289f5097 - silenced some warnings. 2021-05-12 21:47:32 +02:00
Christoph Oelckers
e40ed2262e - cleanup of 'gotpic' handling. 2021-05-10 20:13:28 +02:00
Christoph Oelckers
e74aca291c - position tweaking for Nam's skies.
Why is this such an utter mess to get skies placed correctly? :(
2021-05-10 20:13:28 +02:00
Cacodemon345
ce4b748ff0 Fix compilation with Clang on FreeBSD 2021-05-09 19:52:52 +02:00
Christoph Oelckers
43981bff85 - Duke: fixed mirror setup for new renderer.
A wall must be marked one-way to be used as a mirror.
2021-05-08 16:27:01 +02:00
Christoph Oelckers
de904d3052 . Duke: made the 'lonely effector' error non fatal.
Instead just move the bogus effector sprite out of the way.
2021-05-08 15:41:49 +02:00
Christoph Oelckers
c679f83f75 - make all games return to the main menu when the game is ended with F10.
Duke still went to the intro movies which was a bit problematic.
2021-05-04 11:32:09 +02:00
Christoph Oelckers
a303da37a9 - added a mapinfo dumper and used it to verify correctness of the data generated from game-native definitions.
Also simplified the levelnumber setup a bit.
2021-05-03 23:00:24 +02:00
Christoph Oelckers
7d77b2315f - merged the few remaining contents of mmulti.h into d_net.h 2021-05-03 19:01:00 +02:00
Christoph Oelckers
56fcf904b5 - Backend update from GZDoom. 2021-05-03 14:48:55 +02:00
Christoph Oelckers
8003ab6fa3 Merge branch 'scriptable_cutscenes' into newrenderer 2021-05-02 22:37:46 +02:00
Christoph Oelckers
c9791bc148 - renamed PlayerHorizon function to deconflict with the same-named struct 2021-05-02 21:56:45 +02:00
Christoph Oelckers
698d62bbc6 - merged FixMapInfo into loadcons.
No need to delay the remaining content. The reasons for the separate function no longer exist.
2021-05-02 19:41:24 +02:00
Christoph Oelckers
60d007fa93 - Duke: fixed non-scrolling SE24. 2021-05-02 19:32:20 +02:00
Christoph Oelckers
bb9d492db6 - migrated RRRA as well. 2021-05-02 14:01:10 +02:00
Christoph Oelckers
6f4e380728 - migrated RR's cutscene definitions.
Also turned several level-specific init options into map flags or map parameters.
2021-05-02 13:12:24 +02:00
Christoph Oelckers
dbd179be5c - RR progression fixes.
* E1L7 abuses an 'end the game' command to progress to E2L1, this needs special treatment.
* handle ENDGAME.MAP more cleanly by injecting an 'engine.con' into the compilation chain to define its map record. The main issue with this is that it needs to be defined before the regular CONs run.
* check the already defined 'clearinventory' and 'clearweapons' flags that are exposed through RMAPINFO (Duke/RR only so far.)
2021-05-02 10:55:22 +02:00
Christoph Oelckers
9bc210fe35 - fixed RR weapon clearing in E2L2 and RRRA E1L3. 2021-05-02 10:37:20 +02:00
Christoph Oelckers
1798380f23 - adapted map transition in Duke/RR.
There's still some issues which will be taken care of by adding map flags.
2021-05-02 10:35:43 +02:00
Christoph Oelckers
e9385ed4e8 - adapted Blood to the new level progression features and simplified several parts, particularly the clumsy retrieval of the next level.
Some cheats in Duke will not work correctly with this commit!
2021-05-02 09:08:57 +02:00
Christoph Oelckers
93bfc35ad6 - use the volumes to find the starting maps for the menu and the clusters for the cutscenes. 2021-05-02 01:01:30 +02:00