mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-02-12 15:15:46 +00:00
- new MAPINFO parser complete but still untested.
- split of parser code from g_level.cpp - const-ified parameters to F_StartFinale. SVN r1378 (newmapinfo)
This commit is contained in:
parent
bf08ec6daf
commit
e7141238ba
8 changed files with 1482 additions and 1856 deletions
|
@ -437,6 +437,7 @@ add_executable( zdoom WIN32
|
||||||
g_game.cpp
|
g_game.cpp
|
||||||
g_hub.cpp
|
g_hub.cpp
|
||||||
g_level.cpp
|
g_level.cpp
|
||||||
|
g_mapinfo.cpp
|
||||||
g_skill.cpp
|
g_skill.cpp
|
||||||
gameconfigfile.cpp
|
gameconfigfile.cpp
|
||||||
gi.cpp
|
gi.cpp
|
||||||
|
|
|
@ -86,8 +86,8 @@ void F_AdvanceSlideshow ();
|
||||||
//
|
//
|
||||||
// F_StartFinale
|
// F_StartFinale
|
||||||
//
|
//
|
||||||
void F_StartFinale (char *music, int musicorder, int cdtrack, unsigned int cdid, char *flat, char *text,
|
void F_StartFinale (const char *music, int musicorder, int cdtrack, unsigned int cdid, const char *flat,
|
||||||
INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText, bool ending)
|
const char *text, INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText, bool ending)
|
||||||
{
|
{
|
||||||
bool loopmusic = ending ? !(gameinfo.flags & GI_NOLOOPFINALEMUSIC) : true;
|
bool loopmusic = ending ? !(gameinfo.flags & GI_NOLOOPFINALEMUSIC) : true;
|
||||||
gameaction = ga_nothing;
|
gameaction = ga_nothing;
|
||||||
|
|
|
@ -42,8 +42,8 @@ void F_Ticker ();
|
||||||
void F_Drawer ();
|
void F_Drawer ();
|
||||||
|
|
||||||
|
|
||||||
void F_StartFinale (char *music, int musicorder, int cdtrack, unsigned int cdid, char *flat, char *text,
|
void F_StartFinale (const char *music, int musicorder, int cdtrack, unsigned int cdid, const char *flat,
|
||||||
INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText, bool ending);
|
const char *text, INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText, bool ending);
|
||||||
|
|
||||||
void F_StartSlideshow ();
|
void F_StartSlideshow ();
|
||||||
|
|
||||||
|
|
|
@ -127,15 +127,15 @@ void G_LeavingHub(int mode, cluster_info_t * cluster, wbstartstruct_t * wbs)
|
||||||
wbs->plyr[j].ssecret += hubdata[i].plyr[j].ssecret;
|
wbs->plyr[j].ssecret += hubdata[i].plyr[j].ssecret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cluster->clustername)
|
if (cluster->ClusterName.IsNotEmpty())
|
||||||
{
|
{
|
||||||
if (cluster->flags & CLUSTER_LOOKUPNAME)
|
if (cluster->flags & CLUSTER_LOOKUPNAME)
|
||||||
{
|
{
|
||||||
strncpy(level.level_name, GStrings(cluster->clustername), 64);
|
strncpy(level.level_name, GStrings(cluster->ClusterName), 64);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strncpy(level.level_name, cluster->clustername, 64);
|
strncpy(level.level_name, cluster->ClusterName, 64);
|
||||||
}
|
}
|
||||||
level.level_name[63]=0;
|
level.level_name[63]=0;
|
||||||
}
|
}
|
||||||
|
|
1870
src/g_level.cpp
1870
src/g_level.cpp
File diff suppressed because it is too large
Load diff
|
@ -71,13 +71,15 @@ struct FMapInfoParser
|
||||||
|
|
||||||
FScanner sc;
|
FScanner sc;
|
||||||
int format_type;
|
int format_type;
|
||||||
|
bool HexenHack;
|
||||||
|
|
||||||
FMapInfoParser()
|
FMapInfoParser()
|
||||||
{
|
{
|
||||||
format_type = FMT_Unknown;
|
format_type = FMT_Unknown;
|
||||||
|
HexenHack = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ParseCluster();
|
||||||
void ParseNextMap(char *mapname);
|
void ParseNextMap(char *mapname);
|
||||||
void ParseLumpOrTextureName(char *name);
|
void ParseLumpOrTextureName(char *name);
|
||||||
level_info_t *ParseMapHeader(level_info_t &defaultinfo);
|
level_info_t *ParseMapHeader(level_info_t &defaultinfo);
|
||||||
|
@ -350,7 +352,6 @@ struct level_info_t
|
||||||
char fadetable[9];
|
char fadetable[9];
|
||||||
SBYTE WallVertLight, WallHorizLight;
|
SBYTE WallVertLight, WallHorizLight;
|
||||||
char f1[9];
|
char f1[9];
|
||||||
// TheDefaultLevelInfo initializes everything above this line.
|
|
||||||
int musicorder;
|
int musicorder;
|
||||||
FCompressedMemFile *snapshot;
|
FCompressedMemFile *snapshot;
|
||||||
DWORD snapshotVer;
|
DWORD snapshotVer;
|
||||||
|
@ -499,14 +500,17 @@ struct cluster_info_t
|
||||||
{
|
{
|
||||||
int cluster;
|
int cluster;
|
||||||
char finaleflat[9];
|
char finaleflat[9];
|
||||||
char *exittext;
|
FString ExitText;
|
||||||
char *entertext;
|
FString EnterText;
|
||||||
char *messagemusic;
|
FString MessageMusic;
|
||||||
int musicorder;
|
int musicorder;
|
||||||
int flags;
|
int flags;
|
||||||
int cdtrack;
|
int cdtrack;
|
||||||
char *clustername;
|
FString ClusterName;
|
||||||
unsigned int cdid;
|
unsigned int cdid;
|
||||||
|
|
||||||
|
void Reset();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Cluster flags
|
// Cluster flags
|
||||||
|
@ -521,6 +525,7 @@ struct cluster_info_t
|
||||||
extern FLevelLocals level;
|
extern FLevelLocals level;
|
||||||
|
|
||||||
extern TArray<level_info_t> wadlevelinfos;
|
extern TArray<level_info_t> wadlevelinfos;
|
||||||
|
extern TArray<cluster_info_t> wadclusterinfos;
|
||||||
|
|
||||||
extern SDWORD ACS_WorldVars[NUM_WORLDVARS];
|
extern SDWORD ACS_WorldVars[NUM_WORLDVARS];
|
||||||
extern SDWORD ACS_GlobalVars[NUM_GLOBALVARS];
|
extern SDWORD ACS_GlobalVars[NUM_GLOBALVARS];
|
||||||
|
|
1432
src/g_mapinfo.cpp
Normal file
1432
src/g_mapinfo.cpp
Normal file
File diff suppressed because it is too large
Load diff
|
@ -624,6 +624,10 @@
|
||||||
RelativePath=".\src\g_level.cpp"
|
RelativePath=".\src\g_level.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\g_mapinfo.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\g_skill.cpp"
|
RelativePath=".\src\g_skill.cpp"
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in a new issue