diff --git a/source/core/gamecontrol.cpp b/source/core/gamecontrol.cpp index 258949fb6..0c09e0acb 100644 --- a/source/core/gamecontrol.cpp +++ b/source/core/gamecontrol.cpp @@ -1422,17 +1422,17 @@ void ST_LoadCrosshair(int num, bool alwaysload); CVAR(Int, crosshair, 0, CVAR_ARCHIVE) -void DrawCrosshair(int deftile, int health, double xdelta, double ydelta, double scale, DAngle angle, PalEntry color) +void DrawCrosshair(int health, double xdelta, double ydelta, double scale, DAngle angle, PalEntry color) { if (automapMode == am_off && cl_crosshair) { - if (deftile < MAXTILES && crosshair == 0) + if (crosshair == 0) { - auto tile = tileGetTexture(deftile); - if (tile) + auto tex = TexMan.FindGameTexture("CROSSHAIR", ETextureType::Any); + if (tex && tex->isValid()) { double crosshair_scale = crosshairscale > 0.0f ? crosshairscale * scale : 1.; - DrawTexture(twod, tile, 160 + xdelta, 100 + ydelta, DTA_Color, color, DTA_Rotate, angle.Degrees(), + DrawTexture(twod, tex, 160 + xdelta, 100 + ydelta, DTA_Color, color, DTA_Rotate, angle.Degrees(), DTA_FullscreenScale, FSMode_Fit320x200, DTA_ScaleX, crosshair_scale, DTA_ScaleY, crosshair_scale, DTA_CenterOffsetRel, true, DTA_ViewportX, viewport3d.Left(), DTA_ViewportY, viewport3d.Top(), DTA_ViewportWidth, viewport3d.Width(), DTA_ViewportHeight, viewport3d.Height(), TAG_DONE); diff --git a/source/core/gamecontrol.h b/source/core/gamecontrol.h index 93e39496a..64af92d4d 100644 --- a/source/core/gamecontrol.h +++ b/source/core/gamecontrol.h @@ -39,7 +39,7 @@ void CONFIG_ReadCombatMacros(); int GameMain(); int GetAutomapZoom(int gZoom); -void DrawCrosshair(int deftile, int health, double xdelta, double ydelta, double scale, DAngle angle, PalEntry color = 0xffffffff); +void DrawCrosshair(int health, double xdelta, double ydelta, double scale, DAngle angle, PalEntry color = 0xffffffff); void updatePauseStatus(); void DeferredStartGame(MapRecord* map, int skill, bool nostopsound = false); void ChangeLevel(MapRecord* map, int skill, bool bossexit = false); diff --git a/source/games/blood/src/namelist.h b/source/games/blood/src/namelist.h index 9261318e7..a96f6408f 100644 --- a/source/games/blood/src/namelist.h +++ b/source/games/blood/src/namelist.h @@ -4,7 +4,7 @@ x(BackTile, 253) x(Monolithscreen, 2050) x(GTIScreen, 2052) -x(CrosshairTile, 2319) +x(Crosshair, 2319) x(LoadScreen, 2049) x(LoadScreenWideBack, 9216) x(LoadScreenWideLeft, 9217) diff --git a/source/games/blood/src/view.cpp b/source/games/blood/src/view.cpp index c9ef04dea..07088e6d1 100644 --- a/source/games/blood/src/view.cpp +++ b/source/games/blood/src/view.cpp @@ -704,7 +704,7 @@ void viewDrawScreen(bool sceneonly) if (sceneonly) return; auto offsets = pPlayer->Angles.getCrosshairOffsets(interpfrac); - DrawCrosshair(kCrosshairTile, pPlayer->actor->xspr.health >> 4, offsets.first.X, offsets.first.Y, 2, offsets.second); + DrawCrosshair(pPlayer->actor->xspr.health >> 4, offsets.first.X, offsets.first.Y, 2, offsets.second); #if 0 // This currently does not work. May have to be redone as a hardware effect. if (v4 && gNetPlayers > 1) { diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index 12e9a02b9..1a4200238 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -36,7 +36,6 @@ This file contains parts of DukeGDX by Alexander Makarov-[M210] (m210-2007@mail. #include "ns.h" #include "global.h" -#include "names_d.h" #include "serializer.h" #include "dukeactor.h" #include "texturemanager.h" diff --git a/source/games/duke/src/actors_lava.cpp b/source/games/duke/src/actors_lava.cpp index dbb5b422f..b2959cd46 100644 --- a/source/games/duke/src/actors_lava.cpp +++ b/source/games/duke/src/actors_lava.cpp @@ -27,7 +27,6 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms //------------------------------------------------------------------------- #include "ns.h" #include "global.h" -#include "names_r.h" #include "serializer.h" #include "savegamehelp.h" #include "dukeactor.h" diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index 845afedf1..4f3e68184 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -28,7 +28,6 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms #include "ns.h" #include "global.h" -#include "names_r.h" #include "mapinfo.h" #include "dukeactor.h" diff --git a/source/games/duke/src/animatesprites_d.cpp b/source/games/duke/src/animatesprites_d.cpp index 603d5a65d..87ac71ef0 100644 --- a/source/games/duke/src/animatesprites_d.cpp +++ b/source/games/duke/src/animatesprites_d.cpp @@ -36,7 +36,6 @@ source as it is released. #include "ns.h" #include "global.h" #include "prediction.h" -#include "names_d.h" #include "dukeactor.h" #include "gamefuncs.h" #include "models/modeldata.h" diff --git a/source/games/duke/src/animatesprites_r.cpp b/source/games/duke/src/animatesprites_r.cpp index 47d6ad15e..8cd18ea1e 100644 --- a/source/games/duke/src/animatesprites_r.cpp +++ b/source/games/duke/src/animatesprites_r.cpp @@ -29,7 +29,6 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms #include "ns.h" #include "global.h" -#include "names_r.h" #include "prediction.h" #include "dukeactor.h" #include "gamefuncs.h" diff --git a/source/games/duke/src/bowling.cpp b/source/games/duke/src/bowling.cpp index 843449103..ec002049a 100644 --- a/source/games/duke/src/bowling.cpp +++ b/source/games/duke/src/bowling.cpp @@ -28,7 +28,6 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms #include "ns.h" #include "global.h" -#include "names_r.h" #include "dukeactor.h" #include "buildtiles.h" #include "texturemanager.h" diff --git a/source/games/duke/src/constants.h b/source/games/duke/src/constants.h index 8ffb099b6..a4f2854e3 100644 --- a/source/games/duke/src/constants.h +++ b/source/games/duke/src/constants.h @@ -25,6 +25,8 @@ enum FOF = 13, MIRROR_DUKE = 560, MIRROR_RR = 1089, + SCRAP_DUKE = 2390, + SCRAP_RR = 1595, // hack alert! CYCLER is free for use here as all items of this type get destroyed right on map spawn and this value never gets checked anywhere else. // This avoids overallocation of empty tile slots as a high value slightly below the tile limit would do. diff --git a/source/games/duke/src/dispatch.cpp b/source/games/duke/src/dispatch.cpp index 187c19bda..dd8766588 100644 --- a/source/games/duke/src/dispatch.cpp +++ b/source/games/duke/src/dispatch.cpp @@ -123,7 +123,4 @@ void SetDispatcher() } } - -int TILE_CROSSHAIR; - END_DUKE_NS diff --git a/source/games/duke/src/flags_d.cpp b/source/games/duke/src/flags_d.cpp index 82c467ef8..ce3b6f0ad 100644 --- a/source/games/duke/src/flags_d.cpp +++ b/source/games/duke/src/flags_d.cpp @@ -34,7 +34,6 @@ source as it is released. #include "ns.h" #include "global.h" -#include "names_d.h" BEGIN_DUKE_NS @@ -55,10 +54,6 @@ void initactorflags_d() gs.weaponsandammosprites[12] = DukeRPGAmmoClass; gs.weaponsandammosprites[13] = DukeFreezeSpriteClass; gs.weaponsandammosprites[14] = DukeFreezeAmmoClass; - gs.firstdebris = DTILE_SCRAP6; - - TILE_CROSSHAIR = DTILE_CROSSHAIR; - } diff --git a/source/games/duke/src/flags_r.cpp b/source/games/duke/src/flags_r.cpp index 8c2557a61..a30a70f00 100644 --- a/source/games/duke/src/flags_r.cpp +++ b/source/games/duke/src/flags_r.cpp @@ -28,7 +28,6 @@ Prepared for public release, 03/21/2003 - Charlie Wiederhold, 3D Realms #include "ns.h" #include "global.h" -#include "names_r.h" BEGIN_DUKE_NS @@ -50,9 +49,6 @@ void initactorflags_r() gs.weaponsandammosprites[13] = RedneckTitgunClass; gs.weaponsandammosprites[14] = RedneckTitAmmoClass; - TILE_CROSSHAIR = RTILE_CROSSHAIR; - - gs.firstdebris = RTILE_SCRAP6; gs.gutsscale = 0.125; } diff --git a/source/games/duke/src/game_misc.cpp b/source/games/duke/src/game_misc.cpp index 738976f7b..b1e578ab0 100644 --- a/source/games/duke/src/game_misc.cpp +++ b/source/games/duke/src/game_misc.cpp @@ -286,7 +286,7 @@ void drawoverlays(double interpfrac) if (ps[myconnectindex].newOwner == nullptr && ud.cameraactor == nullptr) { auto offsets = pp->Angles.getCrosshairOffsets(interpfrac); - DrawCrosshair(TILE_CROSSHAIR, ps[screenpeek].last_extra, offsets.first.X, offsets.first.Y + (pp->over_shoulder_on ? 2.5 : 0), isRR() ? 0.5 : 1, offsets.second); + DrawCrosshair(ps[screenpeek].last_extra, offsets.first.X, offsets.first.Y + (pp->over_shoulder_on ? 2.5 : 0), isRR() ? 0.5 : 1, offsets.second); } if (paused == 2) diff --git a/source/games/duke/src/gameexec.cpp b/source/games/duke/src/gameexec.cpp index 1dbe3386c..cb858c515 100644 --- a/source/games/duke/src/gameexec.cpp +++ b/source/games/duke/src/gameexec.cpp @@ -1920,7 +1920,7 @@ int ParseState::parse(void) break; case concmd_debris: insptr++; - spawndebris(g_ac, *insptr - gs.firstdebris, *(insptr + 1)); + spawndebris(g_ac, *insptr - (isRR() ? SCRAP_RR : SCRAP_DUKE), *(insptr + 1)); // must subtract the index of the first scrap tile. insptr += 2; break; case concmd_count: diff --git a/source/games/duke/src/gamevar.cpp b/source/games/duke/src/gamevar.cpp index f50c45b1d..f00487081 100644 --- a/source/games/duke/src/gamevar.cpp +++ b/source/games/duke/src/gamevar.cpp @@ -41,7 +41,6 @@ source as it is released. #include "mapinfo.h" // This currently only works for WW2GI. -#include "names_d.h" BEGIN_DUKE_NS diff --git a/source/games/duke/src/global.h b/source/games/duke/src/global.h index 7f0d30243..6911bac54 100644 --- a/source/games/duke/src/global.h +++ b/source/games/duke/src/global.h @@ -38,8 +38,7 @@ struct DukeGameInfo int lasermode; int freezerhurtowner; int impact_damage; - int firstdebris; - + ActorInfo actorinfo[MAXTILES]; int16_t max_ammo_amount[MAX_WEAPONS]; PClassActor* weaponsandammosprites[15]; diff --git a/source/games/duke/src/hudweapon_d.cpp b/source/games/duke/src/hudweapon_d.cpp index fd1497c87..19dfa0db2 100644 --- a/source/games/duke/src/hudweapon_d.cpp +++ b/source/games/duke/src/hudweapon_d.cpp @@ -34,7 +34,6 @@ source as it is released. #include "ns.h" #include "global.h" -#include "names_d.h" #include "dukeactor.h" #include "buildtiles.h" diff --git a/source/games/duke/src/hudweapon_r.cpp b/source/games/duke/src/hudweapon_r.cpp index 879f52504..17f533238 100644 --- a/source/games/duke/src/hudweapon_r.cpp +++ b/source/games/duke/src/hudweapon_r.cpp @@ -28,7 +28,6 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms #include "ns.h" #include "global.h" -#include "names_r.h" #include "dukeactor.h" BEGIN_DUKE_NS diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index 330c0e048..91d88c07e 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -36,7 +36,6 @@ source as it is released. #include "ns.h" #include "global.h" #include "gamevar.h" -#include "names_d.h" #include "dukeactor.h" BEGIN_DUKE_NS diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index 08bdb5469..ad6facd24 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -28,7 +28,6 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms #include "ns.h" #include "global.h" -#include "names_r.h" #include "mapinfo.h" #include "dukeactor.h" diff --git a/source/games/duke/src/player_w.cpp b/source/games/duke/src/player_w.cpp index 9b580a06d..8d9b6e69c 100644 --- a/source/games/duke/src/player_w.cpp +++ b/source/games/duke/src/player_w.cpp @@ -36,7 +36,6 @@ source as it is released. #include "ns.h" #include "global.h" #include "gamevar.h" -#include "names_d.h" #include "dukeactor.h" BEGIN_DUKE_NS diff --git a/source/games/duke/src/premap_d.cpp b/source/games/duke/src/premap_d.cpp index bc391a704..f0dbeeaa0 100644 --- a/source/games/duke/src/premap_d.cpp +++ b/source/games/duke/src/premap_d.cpp @@ -35,7 +35,6 @@ source as it is released. #include "ns.h" #include "global.h" #include "build.h" -#include "names_d.h" #include "dukeactor.h" #include "precache.h" diff --git a/source/games/duke/src/premap_r.cpp b/source/games/duke/src/premap_r.cpp index cbd21e970..c16c0f277 100644 --- a/source/games/duke/src/premap_r.cpp +++ b/source/games/duke/src/premap_r.cpp @@ -28,7 +28,6 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms #include "ns.h" #include "global.h" -#include "names_r.h" #include "mapinfo.h" #include "dukeactor.h" #include "precache.h" diff --git a/source/games/duke/src/sectors_d.cpp b/source/games/duke/src/sectors_d.cpp index 8a4407f2e..8f532a22a 100644 --- a/source/games/duke/src/sectors_d.cpp +++ b/source/games/duke/src/sectors_d.cpp @@ -35,7 +35,6 @@ source as it is released. #include "ns.h" #include "global.h" #include "sounds.h" -#include "names_d.h" #include "mapinfo.h" #include "dukeactor.h" #include "secrets.h" diff --git a/source/games/duke/src/sectors_r.cpp b/source/games/duke/src/sectors_r.cpp index ba7b4b434..9e77ae98f 100644 --- a/source/games/duke/src/sectors_r.cpp +++ b/source/games/duke/src/sectors_r.cpp @@ -29,7 +29,6 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms #include "ns.h" #include "global.h" #include "sounds.h" -#include "names_r.h" #include "mapinfo.h" #include "dukeactor.h" #include "secrets.h" diff --git a/source/games/duke/src/sounds.cpp b/source/games/duke/src/sounds.cpp index 19073ab72..6dd4d5eed 100644 --- a/source/games/duke/src/sounds.cpp +++ b/source/games/duke/src/sounds.cpp @@ -43,7 +43,6 @@ source as it is released. #include "mapinfo.h" #include "raze_sound.h" #include "gamestate.h" -#include "names_d.h" #include "i_music.h" #include "vm.h" #include "s_music.h" diff --git a/source/games/exhumed/src/gameloop.cpp b/source/games/exhumed/src/gameloop.cpp index 6ef8d02ed..42899604f 100644 --- a/source/games/exhumed/src/gameloop.cpp +++ b/source/games/exhumed/src/gameloop.cpp @@ -80,7 +80,7 @@ void GameInterface::Render() { DrawStatusBar(); auto offsets = PlayerList[nLocalPlayer].Angles.getCrosshairOffsets(interpfrac); - DrawCrosshair(kCrosshairTile, PlayerList[nLocalPlayer].nHealth >> 3, offsets.first.X, offsets.first.Y, 1, offsets.second); + DrawCrosshair(PlayerList[nLocalPlayer].nHealth >> 3, offsets.first.X, offsets.first.Y, 1, offsets.second); if (paused && !M_Active()) { diff --git a/source/games/exhumed/src/namelist.h b/source/games/exhumed/src/namelist.h index dfb93db96..b099879de 100644 --- a/source/games/exhumed/src/namelist.h +++ b/source/games/exhumed/src/namelist.h @@ -16,7 +16,7 @@ x(AmmoSpriteGrenade, 878) x(AmmoSpriteFuel, 879) x(AmmoSpriteM60_1, 881) x(WeaponSpriteCobra, 899) -x(CrosshairTile, 1579) +x(Crosshair, 1579) x(SkullJaw, 3437) x(PowerslaveLogo, 3442) x(AmmoSpriteCobra, 3457) diff --git a/source/games/sw/src/draw.cpp b/source/games/sw/src/draw.cpp index 734ce4def..690612907 100644 --- a/source/games/sw/src/draw.cpp +++ b/source/games/sw/src/draw.cpp @@ -1014,7 +1014,7 @@ void PrintSpriteInfo(PLAYER* pp) static void DrawCrosshair(PLAYER* pp, const double interpfrac) { auto offsets = pp->Angles.getCrosshairOffsets(interpfrac); - ::DrawCrosshair(2326, pp->actor->user.Health, offsets.first.X, offsets.first.Y + ((pp->Flags & PF_VIEW_FROM_OUTSIDE) ? 5 : 0), 2, offsets.second, shadeToLight(10)); + ::DrawCrosshair(pp->actor->user.Health, offsets.first.X, offsets.first.Y + ((pp->Flags & PF_VIEW_FROM_OUTSIDE) ? 5 : 0), 2, offsets.second, shadeToLight(10)); } //--------------------------------------------------------------------------- diff --git a/source/games/sw/src/namelist.h b/source/games/sw/src/namelist.h index da9ee9822..95a45741c 100644 --- a/source/games/sw/src/namelist.h +++ b/source/games/sw/src/namelist.h @@ -280,6 +280,7 @@ x(COMPASS_MID_TIC2, 2391) x(FAF_PORTAL, 341) x(FAF_PORTAL2, 342) x(SYBEXSCREEN, 5261) +x(CROSSHAIR, 2326) // stuff bunnies like x(DARKGRASS, 153)