- 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:
Christoph Oelckers 2009-01-30 09:51:16 +00:00
parent bf08ec6daf
commit e7141238ba
8 changed files with 1482 additions and 1856 deletions

View file

@ -437,6 +437,7 @@ add_executable( zdoom WIN32
g_game.cpp
g_hub.cpp
g_level.cpp
g_mapinfo.cpp
g_skill.cpp
gameconfigfile.cpp
gi.cpp

View file

@ -86,8 +86,8 @@ void F_AdvanceSlideshow ();
//
// F_StartFinale
//
void F_StartFinale (char *music, int musicorder, int cdtrack, unsigned int cdid, char *flat, char *text,
INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText, bool ending)
void F_StartFinale (const char *music, int musicorder, int cdtrack, unsigned int cdid, const char *flat,
const char *text, INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText, bool ending)
{
bool loopmusic = ending ? !(gameinfo.flags & GI_NOLOOPFINALEMUSIC) : true;
gameaction = ga_nothing;

View file

@ -42,8 +42,8 @@ void F_Ticker ();
void F_Drawer ();
void F_StartFinale (char *music, int musicorder, int cdtrack, unsigned int cdid, char *flat, char *text,
INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText, bool ending);
void F_StartFinale (const char *music, int musicorder, int cdtrack, unsigned int cdid, const char *flat,
const char *text, INTBOOL textInLump, INTBOOL finalePic, INTBOOL lookupText, bool ending);
void F_StartSlideshow ();

View file

@ -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;
}
}
if (cluster->clustername)
if (cluster->ClusterName.IsNotEmpty())
{
if (cluster->flags & CLUSTER_LOOKUPNAME)
{
strncpy(level.level_name, GStrings(cluster->clustername), 64);
strncpy(level.level_name, GStrings(cluster->ClusterName), 64);
}
else
{
strncpy(level.level_name, cluster->clustername, 64);
strncpy(level.level_name, cluster->ClusterName, 64);
}
level.level_name[63]=0;
}

File diff suppressed because it is too large Load diff

View file

@ -71,13 +71,15 @@ struct FMapInfoParser
FScanner sc;
int format_type;
bool HexenHack;
FMapInfoParser()
{
format_type = FMT_Unknown;
HexenHack = false;
}
void ParseCluster();
void ParseNextMap(char *mapname);
void ParseLumpOrTextureName(char *name);
level_info_t *ParseMapHeader(level_info_t &defaultinfo);
@ -350,7 +352,6 @@ struct level_info_t
char fadetable[9];
SBYTE WallVertLight, WallHorizLight;
char f1[9];
// TheDefaultLevelInfo initializes everything above this line.
int musicorder;
FCompressedMemFile *snapshot;
DWORD snapshotVer;
@ -499,14 +500,17 @@ struct cluster_info_t
{
int cluster;
char finaleflat[9];
char *exittext;
char *entertext;
char *messagemusic;
FString ExitText;
FString EnterText;
FString MessageMusic;
int musicorder;
int flags;
int cdtrack;
char *clustername;
FString ClusterName;
unsigned int cdid;
void Reset();
};
// Cluster flags
@ -521,6 +525,7 @@ struct cluster_info_t
extern FLevelLocals level;
extern TArray<level_info_t> wadlevelinfos;
extern TArray<cluster_info_t> wadclusterinfos;
extern SDWORD ACS_WorldVars[NUM_WORLDVARS];
extern SDWORD ACS_GlobalVars[NUM_GLOBALVARS];

1432
src/g_mapinfo.cpp Normal file

File diff suppressed because it is too large Load diff

View file

@ -624,6 +624,10 @@
RelativePath=".\src\g_level.cpp"
>
</File>
<File
RelativePath=".\src\g_mapinfo.cpp"
>
</File>
<File
RelativePath=".\src\g_skill.cpp"
>