Skip to content

Commit

Permalink
ZMAPINFO/Changelog updates
Browse files Browse the repository at this point in the history
  • Loading branch information
dashodanger committed Oct 6, 2023
1 parent 994bf15 commit bbcf79a
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 5 deletions.
9 changes: 6 additions & 3 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ New Features
to present skill levels
- Default value is false

- RSCRIPT: "EXACT_" prefix added for ON_CONDITION checks (Courtesy of akaAgar - https://github.com/edge-classic/EDGE-classic/pull/578)
- Allows check for the exact value of a benefit/etc, versus the default of greater-than-or-equal


General Improvements/Changes
Expand All @@ -46,9 +48,10 @@ General Improvements/Changes
- Video Options crosshair selection will not be shown when switching to/from weapons that have DDF custom crosshairs
- Slightly re-organized the Key binding menu to accomodate the new 3rd and 4th attacks.
- Implemented 'episode' UMAPINFO key; EDGE-Classic now fully supports the UMAPINFO spec, Revision 2.2
- ZMAPINFO/MAPINFO episode definitions will now be parsed as well
- ZMAPINFO/MAPINFO will now respect the 'noskillmenu' episode definition key
- Leverages the new NO_SKILL_MENU DDFGAME command mentioned above
- ZMAPINFO/MAPINFO parsing updates:
- Episode definitions and the 'clearepisodes' directive will now be respected
- ZMAPINFO 'ResetInventory' level definition key will result in the RESET_PLAYER DDFLEVL command being applied


Bugs fixed
----------
Expand Down
4 changes: 4 additions & 0 deletions source_files/edge/p_umapinfo.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1385,6 +1385,10 @@ static void ParseZMAPINFOEntry(epi::lexer_c& lex, MapEntry *val)
{
val->spidermastermindspecial = true;
}
else if (epi::case_cmp(key, "resetinventory") == 0)
{
val->resetplayer = true;
}
else if (epi::prefix_case_cmp(key, "specialaction_") == 0)
{
// Only one specialaction_* should be used at a time
Expand Down
3 changes: 1 addition & 2 deletions source_files/edge/p_umapinfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,13 @@ struct MapEntry
int docast;
int dobunny;
int endgame;
bool resetplayer = false;
bool map07special = false;
bool baronspecial = false;
bool cyberdemonspecial = false;
bool spidermastermindspecial = false;
char *specialaction;

unsigned int propertycount;
struct MapProperty *properties;
struct BossAction *bossactions;
};

Expand Down
5 changes: 5 additions & 0 deletions source_files/edge/w_wad.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1648,6 +1648,11 @@ void W_ReadUMAPINFOLumps(void)
temp_level->nextmapname.clear();
}

if(Maps.maps[i].resetplayer)
{
temp_level->force_on |= MPF_ResetPlayer;
}

if(Maps.maps[i].partime > 0)
temp_level->partime = Maps.maps[i].partime;

Expand Down

0 comments on commit bbcf79a

Please sign in to comment.