- added Hacx localization support.

Unlike the other games this required a bit of patching of the IWAD's data with a new MAPINFO so it needs to be in a separate .pk3 file loaded after the IWAD.
Since this needs to be loaded after the IWAD it was also possible to add a small DECORATE lump which fixes a few errors inherited from the original Dehacked patch, like monster counting bugs and unintentionally shootable decorations.
This commit is contained in:
Christoph Oelckers 2019-07-13 20:29:29 +02:00
parent 28d4401f4b
commit b087f3f4ed
262 changed files with 951 additions and 8 deletions

View File

@ -408,6 +408,7 @@ add_subdirectory( wadsrc )
add_subdirectory( wadsrc_bm )
add_subdirectory( wadsrc_lights )
add_subdirectory( wadsrc_extra )
add_subdirectory( wadsrc_hacxextra )
add_subdirectory( src )
if( NOT CMAKE_CROSSCOMPILING )

View File

@ -51,6 +51,8 @@
CVAR (Bool, queryiwad, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
CVAR (String, defaultiwad, "", CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
const char* BaseFileSearch(const char* file, const char* ext, bool lookfirstinprogdir);
//==========================================================================
//
// Parses IWAD definitions
@ -751,19 +753,27 @@ int FIWadManager::IdentifyVersion (TArray<FString> &wadfiles, const char *iwad,
// Load additional resources from the same directory as the IWAD itself.
for (unsigned i=0; i < info.Load.Size(); i++)
{
long lastslash = picks[pick].mFullPath.LastIndexOf ('/');
FString path;
if (lastslash == -1)
if (info.Load[i][0] != ':')
{
path = "";// wads[pickwad].Path;
long lastslash = picks[pick].mFullPath.LastIndexOf('/');
if (lastslash == -1)
{
path = "";// wads[pickwad].Path;
}
else
{
path = FString(picks[pick].mFullPath.GetChars(), lastslash + 1);
}
path += info.Load[i];
D_AddFile(wadfiles, path);
}
else
{
path = FString (picks[pick].mFullPath.GetChars(), lastslash + 1);
auto wad = BaseFileSearch(info.Load[i].GetChars() + 1, NULL, true);
if (wad) D_AddFile(wadfiles, wad);
}
path += info.Load[i];
D_AddFile (wadfiles, path);
}
return picks[pick].mInfoIndex;

View File

@ -82,7 +82,7 @@ IWad
Mapinfo = "mapinfo/hacx.txt"
MustContain = "MAP01", "HACX-R"
BannerColors = "00 00 a8", "a8 a8 a8"
Load = "hacx_gzdoom_stuff.pk3"
Load = ":hacx_gzdoom_stuff.pk3"
DeleteLumps = "FONTDEFS"
}

View File

@ -0,0 +1,3 @@
cmake_minimum_required( VERSION 2.8.7 )
add_pk3(hacx_gzdoom_stuff.pk3 ${CMAKE_CURRENT_SOURCE_DIR}/static)

View File

@ -0,0 +1,44 @@
// fix some broken definitions in the IWAD.
actor HacxRoamingMine2 : HacxRoamingMine replaces WolfensteinSS
{
+noblood
states
{
Melee:
Pain:
SSWV N 0 A_Die
stop
}
}
actor HacxGlass2 : HacxGlass replaces Cacodemon
{
+noblood
-COUNTKILL
-ISMONSTER
}
actor HacxDMan2 : HacxDMan replaces LostSoul
{
+COUNTKILL
}
actor HacxSamuraiStatue2 : HacxSamuraiStatue replaces Candlestick
{
-SHOOTABLE
}
actor HacxMummy2 : HacxMummy replaces BrainStem
{
seesound "fatso/sight"
attacksound "imp/melee"
painsound "fatso/pain"
deathsound "fatso/death"
activesound "skeleton/death"
}
actor HacxENKBlind2 : HacxENKBlind replaces BlurSphere
{
-VISIBILITYPULSE
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More