2016-03-01 15:47:10 +00:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//
|
2017-04-17 11:33:19 +00:00
|
|
|
// Copyright 1993-1996 id Software
|
|
|
|
// Copyright 1999-2016 Randy Heit
|
|
|
|
// Copyright 2002-2016 Christoph Oelckers
|
2016-03-01 15:47:10 +00:00
|
|
|
//
|
2017-04-17 11:33:19 +00:00
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
|
|
// it under the terms of the GNU General Public License as published by
|
|
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
|
|
// (at your option) any later version.
|
2016-03-01 15:47:10 +00:00
|
|
|
//
|
2017-04-17 11:33:19 +00:00
|
|
|
// This program is distributed in the hope that it will be useful,
|
2016-03-01 15:47:10 +00:00
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2017-04-17 11:33:19 +00:00
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU General Public License for more details.
|
|
|
|
//
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
|
|
// along with this program. If not, see http://www.gnu.org/licenses/
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|
2016-03-01 15:47:10 +00:00
|
|
|
//
|
|
|
|
// DESCRIPTION:
|
|
|
|
// Intermission.
|
|
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#ifndef __WI_STUFF__
|
|
|
|
#define __WI_STUFF__
|
|
|
|
|
|
|
|
#include "doomdef.h"
|
|
|
|
|
- allow the language table to supersede the title patches, if appropriate
For the Doom IWADs the provided font looks almost identical to the characters used on the title patches. So, for any level name that got replaced in some language, it will now check if the retrieved name comes from the default table, and if not, ignore the title patch and print the name with the specified font.
This also required removing the 'en' label from the default table, because with this present, the text would always be picked from 'en' instead of 'default'. Since 'en' and 'default' had the same contents, in any English locale the 'default' table was never hit, so this won't make any difference for the texts being chosen.
Last but not least, wminfo has been made a local variable in G_DoCompleted. There were two places where this was accessed from outside the summary screen or its setup code, and both were incorrect.
2019-02-14 23:29:24 +00:00
|
|
|
struct FLevelLocals;
|
2016-03-01 15:47:10 +00:00
|
|
|
|
|
|
|
//
|
|
|
|
// INTERMISSION
|
|
|
|
// Structure passed e.g. to WI_Start(wb)
|
|
|
|
//
|
|
|
|
struct wbplayerstruct_t
|
|
|
|
{
|
|
|
|
// Player stats, kills, collected items etc.
|
|
|
|
int skills;
|
|
|
|
int sitems;
|
|
|
|
int ssecret;
|
|
|
|
int stime;
|
|
|
|
int frags[MAXPLAYERS];
|
|
|
|
int fragcount; // [RH] Cumulative frags for this player
|
|
|
|
};
|
|
|
|
|
|
|
|
struct wbstartstruct_t
|
|
|
|
{
|
|
|
|
int finished_ep;
|
|
|
|
int next_ep;
|
|
|
|
|
|
|
|
FString current; // [RH] Name of map just finished
|
|
|
|
FString next; // next level, [RH] actual map name
|
2017-03-18 18:34:03 +00:00
|
|
|
FString nextname; // printable name for next level.
|
- allow the language table to supersede the title patches, if appropriate
For the Doom IWADs the provided font looks almost identical to the characters used on the title patches. So, for any level name that got replaced in some language, it will now check if the retrieved name comes from the default table, and if not, ignore the title patch and print the name with the specified font.
This also required removing the 'en' label from the default table, because with this present, the text would always be picked from 'en' instead of 'default'. Since 'en' and 'default' had the same contents, in any English locale the 'default' table was never hit, so this won't make any difference for the texts being chosen.
Last but not least, wminfo has been made a local variable in G_DoCompleted. There were two places where this was accessed from outside the summary screen or its setup code, and both were incorrect.
2019-02-14 23:29:24 +00:00
|
|
|
FString thisname; // printable name for next level.
|
2019-08-02 07:11:40 +00:00
|
|
|
FString nextauthor; // printable name for next level.
|
|
|
|
FString thisauthor; // printable name for next level.
|
2016-03-01 15:47:10 +00:00
|
|
|
|
2017-02-23 17:33:49 +00:00
|
|
|
FTextureID LName0;
|
|
|
|
FTextureID LName1;
|
2016-03-01 15:47:10 +00:00
|
|
|
|
|
|
|
int maxkills;
|
|
|
|
int maxitems;
|
|
|
|
int maxsecret;
|
|
|
|
int maxfrags;
|
|
|
|
|
|
|
|
// the par time and sucktime
|
|
|
|
int partime; // in tics
|
|
|
|
int sucktime; // in minutes
|
|
|
|
|
|
|
|
// total time for the entire current game
|
|
|
|
int totaltime;
|
|
|
|
|
|
|
|
// index of this player in game
|
|
|
|
int pnum;
|
|
|
|
|
|
|
|
wbplayerstruct_t plyr[MAXPLAYERS];
|
2019-02-17 23:43:40 +00:00
|
|
|
|
2016-03-01 15:47:10 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Intermission stats.
|
|
|
|
// Parameters for world map / intermission.
|
|
|
|
|
|
|
|
// Called by main loop, animate the intermission.
|
|
|
|
void WI_Ticker ();
|
|
|
|
|
|
|
|
// Called by main loop,
|
|
|
|
// draws the intermission directly into the screen buffer.
|
|
|
|
void WI_Drawer ();
|
|
|
|
|
|
|
|
// Setup for an intermission screen.
|
|
|
|
void WI_Start (wbstartstruct_t *wbstartstruct);
|
|
|
|
|
|
|
|
#endif
|