mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-29 02:10:36 +00:00
- transitioned SW's automap to the global variables
Also copied the automap label output to the status bar for proper ordering.
This commit is contained in:
parent
7859a29e95
commit
debb4b17b6
8 changed files with 52 additions and 70 deletions
|
@ -947,7 +947,7 @@ ResizeView(PLAYERp pp)
|
||||||
if (M_Active() || paused)
|
if (M_Active() || paused)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (dimensionmode == 2 || dimensionmode == 5 || dimensionmode == 6)
|
if (automapMode != am_off)
|
||||||
{
|
{
|
||||||
int32_t timepassed = (int32_t)(totalclock - mapzoomclock);
|
int32_t timepassed = (int32_t)(totalclock - mapzoomclock);
|
||||||
mapzoomclock += timepassed;
|
mapzoomclock += timepassed;
|
||||||
|
@ -957,14 +957,6 @@ ResizeView(PLAYERp pp)
|
||||||
if (buttonMap.ButtonDown(gamefunc_Enlarge_Screen))
|
if (buttonMap.ButtonDown(gamefunc_Enlarge_Screen))
|
||||||
zoom = min<int32_t>(zoom + mulscale7(timepassed * synctics, zoom), 4096);
|
zoom = min<int32_t>(zoom + mulscale7(timepassed * synctics, zoom), 4096);
|
||||||
|
|
||||||
#if 0
|
|
||||||
if (inputState.GetKeyStatus(sc_Escape))
|
|
||||||
{
|
|
||||||
inputState.ClearKeyStatus(sc_Escape);
|
|
||||||
dimensionmode = 3;
|
|
||||||
ScrollMode2D = FALSE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1337,7 +1329,7 @@ void DrawCrosshair(PLAYERp pp)
|
||||||
{
|
{
|
||||||
extern SWBOOL CameraTestMode;
|
extern SWBOOL CameraTestMode;
|
||||||
|
|
||||||
if (cl_crosshair && !(CameraTestMode) && !TEST(pp->Flags, PF_VIEW_FROM_OUTSIDE) && dimensionmode != 6)
|
if (cl_crosshair && !(CameraTestMode) && !TEST(pp->Flags, PF_VIEW_FROM_OUTSIDE) && automapMode == am_off)
|
||||||
{
|
{
|
||||||
int32_t a = 2326;
|
int32_t a = 2326;
|
||||||
|
|
||||||
|
@ -1830,7 +1822,7 @@ drawscreen(PLAYERp pp)
|
||||||
tq16horiz = fix16_min(tq16horiz, fix16_from_int(PLAYER_HORIZ_MAX));
|
tq16horiz = fix16_min(tq16horiz, fix16_from_int(PLAYER_HORIZ_MAX));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dimensionmode != 6)// && !ScreenSavePic)
|
if (automapMode != am_full)// && !ScreenSavePic)
|
||||||
{
|
{
|
||||||
// Cameras must be done before the main loop.
|
// Cameras must be done before the main loop.
|
||||||
JS_DrawCameras(pp, tx, ty, tz);
|
JS_DrawCameras(pp, tx, ty, tz);
|
||||||
|
@ -1846,7 +1838,7 @@ drawscreen(PLAYERp pp)
|
||||||
DrawOverlapRoom(tx, ty, tz, tq16ang, tq16horiz, tsectnum);
|
DrawOverlapRoom(tx, ty, tz, tq16ang, tq16horiz, tsectnum);
|
||||||
OverlapDraw = FALSE;
|
OverlapDraw = FALSE;
|
||||||
|
|
||||||
if (dimensionmode != 6)// && !ScreenSavePic)
|
if (automapMode != am_full)// && !ScreenSavePic)
|
||||||
{
|
{
|
||||||
// TEST this! Changed to camerapp
|
// TEST this! Changed to camerapp
|
||||||
//JS_DrawMirrors(camerapp, tx, ty, tz, tq16ang, tq16horiz);
|
//JS_DrawMirrors(camerapp, tx, ty, tz, tq16ang, tq16horiz);
|
||||||
|
@ -1906,9 +1898,9 @@ drawscreen(PLAYERp pp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((dimensionmode == 5 || dimensionmode == 6) && pp == Player+myconnectindex)
|
if ((automapMode != am_off) && pp == Player+myconnectindex)
|
||||||
{
|
{
|
||||||
if (ScrollMode2D)
|
if (automapFollow)
|
||||||
{
|
{
|
||||||
tx = Follow_posx;
|
tx = Follow_posx;
|
||||||
ty = Follow_posy;
|
ty = Follow_posy;
|
||||||
|
@ -1927,7 +1919,7 @@ drawscreen(PLAYERp pp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dimensionmode == 6)
|
if (automapMode == am_full)
|
||||||
{
|
{
|
||||||
// only clear the actual window.
|
// only clear the actual window.
|
||||||
twod->AddColorOnlyQuad(windowxy1.x, windowxy1.y, (windowxy2.x + 1) - windowxy1.x, (windowxy2.y + 1) - windowxy1.y, 0xff000000);
|
twod->AddColorOnlyQuad(windowxy1.x, windowxy1.y, (windowxy2.x + 1) - windowxy1.x, (windowxy2.y + 1) - windowxy1.y, 0xff000000);
|
||||||
|
|
|
@ -136,7 +136,6 @@ GAME_SET gs;
|
||||||
SWBOOL PlayerTrackingMode = false;
|
SWBOOL PlayerTrackingMode = false;
|
||||||
SWBOOL SlowMode = false;
|
SWBOOL SlowMode = false;
|
||||||
SWBOOL FrameAdvanceTics = 3;
|
SWBOOL FrameAdvanceTics = 3;
|
||||||
SWBOOL ScrollMode2D = false;
|
|
||||||
|
|
||||||
SWBOOL DebugOperate = false;
|
SWBOOL DebugOperate = false;
|
||||||
void LoadingLevelScreen(void);
|
void LoadingLevelScreen(void);
|
||||||
|
@ -339,7 +338,7 @@ void DrawMenuLevelScreen(void)
|
||||||
void InitLevelGlobals(void)
|
void InitLevelGlobals(void)
|
||||||
{
|
{
|
||||||
ChopTics = 0;
|
ChopTics = 0;
|
||||||
dimensionmode = 3;
|
automapMode = am_off;
|
||||||
zoom = 768;
|
zoom = 768;
|
||||||
PlayerGravity = 24;
|
PlayerGravity = 24;
|
||||||
wait_active_check_offset = 0;
|
wait_active_check_offset = 0;
|
||||||
|
|
|
@ -881,11 +881,6 @@ extern FString ThemeSongs[6]; //
|
||||||
extern char EpisodeNames[3][MAX_EPISODE_NAME_LEN+2];
|
extern char EpisodeNames[3][MAX_EPISODE_NAME_LEN+2];
|
||||||
|
|
||||||
extern int Follow_posx, Follow_posy;
|
extern int Follow_posx, Follow_posy;
|
||||||
extern SWBOOL ScrollMode2D;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -2225,7 +2220,7 @@ extern char keys[];
|
||||||
|
|
||||||
extern short screenpeek;
|
extern short screenpeek;
|
||||||
|
|
||||||
extern int dimensionmode, zoom;
|
extern int zoom;
|
||||||
|
|
||||||
#define STAT_DAMAGE_LIST_SIZE 20
|
#define STAT_DAMAGE_LIST_SIZE 20
|
||||||
extern int16_t StatDamageList[STAT_DAMAGE_LIST_SIZE];
|
extern int16_t StatDamageList[STAT_DAMAGE_LIST_SIZE];
|
||||||
|
|
|
@ -187,24 +187,20 @@ getinput(SW_PACKET *loc, SWBOOL tied)
|
||||||
Follow_posx = pp->posx;
|
Follow_posx = pp->posx;
|
||||||
Follow_posy = pp->posy;
|
Follow_posy = pp->posy;
|
||||||
|
|
||||||
if (dimensionmode == 3)
|
automapMode++;
|
||||||
dimensionmode = 5;
|
if (automapMode == am_count)
|
||||||
else if (dimensionmode == 5)
|
{
|
||||||
dimensionmode = 6;
|
automapMode = am_off;
|
||||||
else
|
|
||||||
{
|
|
||||||
dimensionmode = 3;
|
|
||||||
ScrollMode2D = FALSE;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Toggle follow map mode on/off
|
// Toggle follow map mode on/off
|
||||||
if (dimensionmode == 5 || dimensionmode == 6)
|
if (automapMode != am_off)
|
||||||
{
|
{
|
||||||
if (buttonMap.ButtonDown(gamefunc_Map_Follow_Mode))
|
if (buttonMap.ButtonDown(gamefunc_Map_Follow_Mode))
|
||||||
{
|
{
|
||||||
buttonMap.ClearButton(gamefunc_Map_Follow_Mode);
|
buttonMap.ClearButton(gamefunc_Map_Follow_Mode);
|
||||||
ScrollMode2D = !ScrollMode2D;
|
automapFollow = !automapFollow;
|
||||||
Follow_posx = pp->posx;
|
Follow_posx = pp->posx;
|
||||||
Follow_posy = pp->posy;
|
Follow_posy = pp->posy;
|
||||||
}
|
}
|
||||||
|
@ -212,12 +208,12 @@ getinput(SW_PACKET *loc, SWBOOL tied)
|
||||||
|
|
||||||
// If in 2D follow mode, scroll around using glob vars
|
// If in 2D follow mode, scroll around using glob vars
|
||||||
// Tried calling this in domovethings, but key response it too poor, skips key presses
|
// Tried calling this in domovethings, but key response it too poor, skips key presses
|
||||||
// Note: ScrollMode2D = Follow mode, so this get called only during follow mode
|
// Note: this get called only during follow mode
|
||||||
if (!tied && ScrollMode2D && pp == Player + myconnectindex && !Prediction)
|
if (!tied && automapFollow && pp == Player + myconnectindex && !Prediction)
|
||||||
MoveScrollMode2D(Player + myconnectindex);
|
MoveScrollMode2D(Player + myconnectindex);
|
||||||
|
|
||||||
// !JIM! Added M_Active() so that you don't move at all while using menus
|
// !JIM! Added M_Active() so that you don't move at all while using menus
|
||||||
if (M_Active() || ScrollMode2D)
|
if (M_Active() || automapFollow)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SET_LOC_KEY(loc->bits, SK_SPACE_BAR, buttonMap.ButtonDown(gamefunc_Open));
|
SET_LOC_KEY(loc->bits, SK_SPACE_BAR, buttonMap.ButtonDown(gamefunc_Open));
|
||||||
|
@ -522,7 +518,7 @@ getinput(SW_PACKET *loc, SWBOOL tied)
|
||||||
if (screenpeek < 0)
|
if (screenpeek < 0)
|
||||||
screenpeek = connecthead;
|
screenpeek = connecthead;
|
||||||
|
|
||||||
if (dimensionmode != 2 && screenpeek == myconnectindex)
|
if (screenpeek == myconnectindex)
|
||||||
{
|
{
|
||||||
// JBF: figure out what's going on here
|
// JBF: figure out what's going on here
|
||||||
DoPlayerDivePalette(pp); // Check Dive again
|
DoPlayerDivePalette(pp); // Check Dive again
|
||||||
|
@ -577,7 +573,7 @@ void registerinputcommands()
|
||||||
C_RegisterFunction("invprev", nullptr, [](CCmdFuncPtr)->int { BitsToSend |= BIT(SK_INV_LEFT); return CCMD_OK; });
|
C_RegisterFunction("invprev", nullptr, [](CCmdFuncPtr)->int { BitsToSend |= BIT(SK_INV_LEFT); return CCMD_OK; });
|
||||||
C_RegisterFunction("invnext", nullptr, [](CCmdFuncPtr)->int { BitsToSend |= BIT(SK_INV_RIGHT); return CCMD_OK; });
|
C_RegisterFunction("invnext", nullptr, [](CCmdFuncPtr)->int { BitsToSend |= BIT(SK_INV_RIGHT); return CCMD_OK; });
|
||||||
C_RegisterFunction("gas_bomb", nullptr, [](CCmdFuncPtr)->int { inv_hotkey = INVENTORY_CHEMBOMB + 1; return CCMD_OK; });
|
C_RegisterFunction("gas_bomb", nullptr, [](CCmdFuncPtr)->int { inv_hotkey = INVENTORY_CHEMBOMB + 1; return CCMD_OK; });
|
||||||
C_RegisterFunction("flash_bomb", nullptr, [](CCmdFuncPtr)->int { if (dimensionmode == 3) inv_hotkey = INVENTORY_FLASHBOMB + 1; return CCMD_OK; });
|
C_RegisterFunction("flash_bomb", nullptr, [](CCmdFuncPtr)->int { inv_hotkey = INVENTORY_FLASHBOMB + 1; return CCMD_OK; });
|
||||||
C_RegisterFunction("caltrops", nullptr, [](CCmdFuncPtr)->int { inv_hotkey = INVENTORY_CALTROPS + 1; return CCMD_OK; });
|
C_RegisterFunction("caltrops", nullptr, [](CCmdFuncPtr)->int { inv_hotkey = INVENTORY_CALTROPS + 1; return CCMD_OK; });
|
||||||
C_RegisterFunction("turnaround", nullptr, [](CCmdFuncPtr)->int { BitsToSend |= BIT(SK_TURN_180); return CCMD_OK; });
|
C_RegisterFunction("turnaround", nullptr, [](CCmdFuncPtr)->int { BitsToSend |= BIT(SK_TURN_180); return CCMD_OK; });
|
||||||
C_RegisterFunction("invuse", nullptr, [](CCmdFuncPtr)->int { BitsToSend |= BIT(SK_INV_USE); return CCMD_OK; });
|
C_RegisterFunction("invuse", nullptr, [](CCmdFuncPtr)->int { BitsToSend |= BIT(SK_INV_USE); return CCMD_OK; });
|
||||||
|
|
|
@ -65,29 +65,6 @@ void drawoverheadmap(int cposx, int cposy, int czoom, short cang)
|
||||||
int32_t tmpydim = (xdim * 5) / 8;
|
int32_t tmpydim = (xdim * 5) / 8;
|
||||||
renderSetAspect(65536, divscale16(tmpydim * 320, xdim * 200));
|
renderSetAspect(65536, divscale16(tmpydim * 320, xdim * 200));
|
||||||
|
|
||||||
// draw location text
|
|
||||||
if (hud_size == Hud_Nothing)
|
|
||||||
{
|
|
||||||
txt_x = 7;
|
|
||||||
txt_y = 168;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
txt_x = 7;
|
|
||||||
txt_y = 147;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ScrollMode2D)
|
|
||||||
{
|
|
||||||
MNU_DrawSmallString(txt_x, txt_y - 7, "Follow Mode", 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
sprintf(ds,"%s",currentLevel->DisplayName());
|
|
||||||
|
|
||||||
MNU_DrawSmallString(txt_x,txt_y,ds,0, 0);
|
|
||||||
|
|
||||||
//////////////////////////////////
|
|
||||||
|
|
||||||
xvect = sintable[(2048 - cang) & 2047] * czoom;
|
xvect = sintable[(2048 - cang) & 2047] * czoom;
|
||||||
yvect = sintable[(1536 - cang) & 2047] * czoom;
|
yvect = sintable[(1536 - cang) & 2047] * czoom;
|
||||||
xvect2 = mulscale16(xvect, yxaspect);
|
xvect2 = mulscale16(xvect, yxaspect);
|
||||||
|
@ -123,8 +100,7 @@ void drawoverheadmap(int cposx, int cposy, int czoom, short cang)
|
||||||
|
|
||||||
col = 152;
|
col = 152;
|
||||||
|
|
||||||
//if (dimensionmode == 2)
|
if (automapMode == am_full)
|
||||||
if (dimensionmode == 6)
|
|
||||||
{
|
{
|
||||||
if (sector[i].floorz != sector[i].ceilingz)
|
if (sector[i].floorz != sector[i].ceilingz)
|
||||||
if (sector[wal->nextsector].floorz != sector[wal->nextsector].ceilingz)
|
if (sector[wal->nextsector].floorz != sector[wal->nextsector].ceilingz)
|
||||||
|
@ -200,7 +176,7 @@ SHOWSPRITE:
|
||||||
x1 = mulscale16(ox, xvect) - mulscale16(oy, yvect);
|
x1 = mulscale16(ox, xvect) - mulscale16(oy, yvect);
|
||||||
y1 = mulscale16(oy, xvect2) + mulscale16(ox, yvect2);
|
y1 = mulscale16(oy, xvect2) + mulscale16(ox, yvect2);
|
||||||
|
|
||||||
if (dimensionmode == 5 && (gNet.MultiGameType != MULTI_GAME_COMMBAT || j == Player[screenpeek].PlayerSprite))
|
if (automapMode == am_overlay && (gNet.MultiGameType != MULTI_GAME_COMMBAT || j == Player[screenpeek].PlayerSprite))
|
||||||
{
|
{
|
||||||
ox = (sintable[(spr->ang + 512) & 2047] >> 7);
|
ox = (sintable[(spr->ang + 512) & 2047] >> 7);
|
||||||
oy = (sintable[(spr->ang) & 2047] >> 7);
|
oy = (sintable[(spr->ang) & 2047] >> 7);
|
||||||
|
@ -293,7 +269,7 @@ SHOWSPRITE:
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 32: // Floor sprite
|
case 32: // Floor sprite
|
||||||
if (dimensionmode == 5)
|
if (automapMode == am_overlay)
|
||||||
{
|
{
|
||||||
tilenum = spr->picnum;
|
tilenum = spr->picnum;
|
||||||
xoff = (int)tileLeftOffset(tilenum) + (int)spr->xoffset;
|
xoff = (int)tileLeftOffset(tilenum) + (int)spr->xoffset;
|
||||||
|
|
|
@ -7235,7 +7235,7 @@ UpdatePanel(double smoothratio)
|
||||||
|
|
||||||
TRAVERSE_CONNECT(pnum)
|
TRAVERSE_CONNECT(pnum)
|
||||||
{
|
{
|
||||||
if (dimensionmode != 2 && pnum == screenpeek)
|
if (pnum == screenpeek)
|
||||||
pDisplaySprites(Player + pnum, smoothratio);
|
pDisplaySprites(Player + pnum, smoothratio);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7249,7 +7249,7 @@ PreUpdatePanel(double smoothratio)
|
||||||
//if (DrawBeforeView)
|
//if (DrawBeforeView)
|
||||||
TRAVERSE_CONNECT(pnum)
|
TRAVERSE_CONNECT(pnum)
|
||||||
{
|
{
|
||||||
if (dimensionmode != 2 && pnum == screenpeek)
|
if (pnum == screenpeek)
|
||||||
pDisplaySprites(Player + pnum, smoothratio);
|
pDisplaySprites(Player + pnum, smoothratio);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,7 +124,7 @@ extern SWBOOL DebugOperate;
|
||||||
|
|
||||||
//unsigned char synctics, lastsynctics;
|
//unsigned char synctics, lastsynctics;
|
||||||
|
|
||||||
int dimensionmode, zoom;
|
int zoom;
|
||||||
int ChopTics;
|
int ChopTics;
|
||||||
|
|
||||||
PLAYER Player[MAX_SW_PLAYERS_REG + 1];
|
PLAYER Player[MAX_SW_PLAYERS_REG + 1];
|
||||||
|
@ -2477,7 +2477,7 @@ MoveScrollMode2D(PLAYERp pp)
|
||||||
if (buttonMap.ButtonDown(gamefunc_Map_Follow_Mode))
|
if (buttonMap.ButtonDown(gamefunc_Map_Follow_Mode))
|
||||||
{
|
{
|
||||||
buttonMap.ClearButton(gamefunc_Map_Follow_Mode);
|
buttonMap.ClearButton(gamefunc_Map_Follow_Mode);
|
||||||
ScrollMode2D = !ScrollMode2D;
|
automapFollow = !automapFollow;
|
||||||
// Reset coords
|
// Reset coords
|
||||||
Follow_posx = pp->posx;
|
Follow_posx = pp->posx;
|
||||||
Follow_posy = pp->posy;
|
Follow_posy = pp->posy;
|
||||||
|
|
|
@ -895,8 +895,32 @@ private:
|
||||||
|
|
||||||
void PrintLevelStats(int bottomy)
|
void PrintLevelStats(int bottomy)
|
||||||
{
|
{
|
||||||
|
if (automapMode == am_full)
|
||||||
|
{
|
||||||
|
int txt_x, txt_y;
|
||||||
|
// draw location text (moved here so that it gets printed on top of the border)
|
||||||
|
if (hud_size == Hud_Nothing)
|
||||||
|
{
|
||||||
|
txt_x = 7;
|
||||||
|
txt_y = 168;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
txt_x = 7;
|
||||||
|
txt_y = 147;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (automapFollow)
|
||||||
|
{
|
||||||
|
MNU_DrawSmallString(txt_x, txt_y - 7, "Follow Mode", 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
sprintf(ds,"%s",currentLevel->DisplayName());
|
||||||
|
|
||||||
|
MNU_DrawSmallString(txt_x,txt_y,ds,0, 0);
|
||||||
|
}
|
||||||
// JBF 20040124: display level stats in screen corner
|
// JBF 20040124: display level stats in screen corner
|
||||||
if (hud_stats && !(CommEnabled || numplayers > 1))
|
else if (hud_stats && !(CommEnabled || numplayers > 1))
|
||||||
{
|
{
|
||||||
auto pp = Player + screenpeek;
|
auto pp = Player + screenpeek;
|
||||||
FLevelStats stats{};
|
FLevelStats stats{};
|
||||||
|
|
Loading…
Reference in a new issue