Merge branch 'master' of https://github.com/coelckers/gzdoom into lightmaps2

This commit is contained in:
nashmuhandes 2021-10-17 03:42:15 +08:00
commit 12c509cc46
225 changed files with 194 additions and 16 deletions

3
.gitmodules vendored
View file

@ -1,3 +0,0 @@
[submodule "wadsrc_widescreen/static"]
path = wadsrc_widescreen/static
url = https://github.com/nashmuhandes/WidePix

View file

@ -414,7 +414,7 @@ add_subdirectory( wadsrc )
add_subdirectory( wadsrc_bm )
add_subdirectory( wadsrc_lights )
add_subdirectory( wadsrc_extra )
add_subdirectory( wadsrc_widescreen )
add_subdirectory( wadsrc_widepix )
add_subdirectory( src )
if( NOT CMAKE_CROSSCOMPILING )

View file

@ -1026,18 +1026,31 @@ void D_Display ()
// draw pause pic
if ((paused || pauseext) && menuactive == MENU_Off)
{
auto tex = TexMan.GetGameTextureByName(gameinfo.PauseSign, true);
double x = (SCREENWIDTH - tex->GetDisplayWidth() * CleanXfac)/2 +
tex->GetDisplayLeftOffset() * CleanXfac;
DrawTexture(twod, tex, x, 4, DTA_CleanNoMove, true, TAG_DONE);
if (paused && multiplayer)
// [MK] optionally let the status bar handle this
bool skip = false;
IFVIRTUALPTR(StatusBar, DBaseStatusBar, DrawPaused)
{
FFont *font = generic_ui? NewSmallFont : SmallFont;
FString pstring = GStrings("TXT_BY");
pstring.Substitute("%s", players[paused - 1].userinfo.GetName());
DrawText(twod, font, CR_RED,
(twod->GetWidth() - font->StringWidth(pstring)*CleanXfac) / 2,
(tex->GetDisplayHeight() * CleanYfac) + 4, pstring, DTA_CleanNoMove, true, TAG_DONE);
VMValue params[] { (DObject*)StatusBar, paused-1 };
int rv;
VMReturn ret(&rv);
VMCall(func, params, countof(params), &ret, 1);
skip = !!rv;
}
if ( !skip )
{
auto tex = TexMan.GetGameTextureByName(gameinfo.PauseSign, true);
double x = (SCREENWIDTH - tex->GetDisplayWidth() * CleanXfac)/2 +
tex->GetDisplayLeftOffset() * CleanXfac;
DrawTexture(twod, tex, x, 4, DTA_CleanNoMove, true, TAG_DONE);
if (paused && multiplayer)
{
FFont *font = generic_ui? NewSmallFont : SmallFont;
FString pstring = GStrings("TXT_BY");
pstring.Substitute("%s", players[paused - 1].userinfo.GetName());
DrawText(twod, font, CR_RED,
(twod->GetWidth() - font->StringWidth(pstring)*CleanXfac) / 2,
(tex->GetDisplayHeight() * CleanYfac) + 4, pstring, DTA_CleanNoMove, true, TAG_DONE);
}
}
}

View file

@ -853,6 +853,17 @@ class Inventory : Actor
}
}
//===========================================================================
//
// Inventory :: PreTravelled
//
// Called when an item in somebody's inventory is about to be carried
// over to another map, in case it needs to do special clean-up.
//
//===========================================================================
virtual void PreTravelled() {}
//===========================================================================
//
// Inventory :: Travelled

View file

@ -2083,6 +2083,15 @@ class PlayerPawn : Actor
me.ClearInventory();
me.GiveDefaultInventory();
}
// [MK] notify self and inventory that we're about to travel
// this must be called here so these functions can still have a
// chance to alter the world before a snapshot is done in hubs
me.PreTravelled();
for (item = me.Inv; item != NULL; item = item.Inv)
{
item.PreTravelled();
}
}
//===========================================================================
@ -2461,6 +2470,18 @@ class PlayerPawn : Actor
return wasdrowning;
}
//===========================================================================
//
// PlayerPawn :: PreTravelled
//
// Called before the player moves to another map, in case it needs to do
// special clean-up. This is called right before all carried items
// execute their respective PreTravelled() virtuals.
//
//===========================================================================
virtual void PreTravelled() {}
//===========================================================================
//
// PlayerPawn :: Travelled

View file

@ -987,6 +987,15 @@ class LevelCompatibility : LevelPostProcessor
break;
}
case '6CDA2721AA1076F063557CF89D88E92B': // hexen.wad map08
{
// Amulet of warding accidentally shifted outside of map
SetThingXY(256,-1632,2352);
// Icon of the defender outside of map
SetThingSkills(261,0);
break;
}
case '39C594CAC07EE51C80F757DA465FCC94': // strife1.wad map10
{
// fix the shooting range by matching sector 138 and 145 properties together

View file

@ -235,6 +235,8 @@ class BaseStatusBar : StatusBarCore native
virtual bool ProcessMidPrint(Font fnt, String msg, bool bold) { return false; }
// [MK] let the HUD handle drawing the chat prompt
virtual bool DrawChat(String txt) { return false; }
// [MK] let the HUD handle drawing the pause graphics
virtual bool DrawPaused(int player) { return false; }
native TextureID GetMugshot(int accuracy, int stateflags=MugShot.STANDARD, String default_face = "STF");
native int GetTopOfStatusBar();

2
wadsrc_widepix/static/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/psd
/reference

View file

@ -0,0 +1,76 @@
WidePix v1.3
-------------
Made by Nash Muhandes
(C) 2020 - 2021 Nash Muhandes
Widescreen (16:9 and 21:9) graphical extensions.
Supported games:
- Doom
- Heretic
- Hexen
- Strife
- Chex Quest
- Hacx
- Harmony
Please see license.md for licensing info.
--------------------------------------------------------------------------------
NOTE:
-----
WidePix was conceived on March 15, 2020, before there was any public knowledge
about the widescreen images that shipped with the September 2020 update of the
Unity port of Doom.
Differences between WidePix and Doom Unity:
- Completely built from the ground up (not based off Doom Unity's graphics)
- The original 4:3 portion is left completely unaltered where possible*
- Ultrawide (21:9) aspect ratio support
- Custom animation for Doom 1 Episode 3
- Weapon sprite extensions (both horizontally/vertically, where applicable)
* I generally avoid changing the center image as I feel it's important to
preserve the original artwork. However, that said, there are some cases where
alterations were unavoidable because not doing so would've made it impossible
to extend the images. I have documented such cases below:
TNT INTERPIC: There was a solid-black, 1-pixel border around the image.
Hexen TITLEPIC and INTERPIC: There were what appeared to be anti-aliasing
artifacts on the left and right borders.
Strife SS4F3, SS5F1, SS5F3, SS6F2, SS6F3, VELLOGO: Weird artifacts at the
borders made the images impossible to extend.
Chex Quest WIMAP0: There's a bright 1-pixel-wide sliver to the left.
CREDITS:
--------
id Software: For making Doom.
Nash Muhandes: For making WidePix.
Gez: For telling me the exact dimensions needed for the 21:9 graphics, and tips
on how to handle Wadsmoosh.
Kinsie: For providing the unaltered Doom 1 Registered TITLEPIC.
Rachael Alexanderson: Github maintenance help.
-------------------------------------------------------------------------------
Some high resolution images were used as a source to create the widescreen
extensions. They are listed below.
Don Ivan Punchatz - Doom 1 cover artwork.
Gerald Brom - Doom 2 cover artwork.
Simon "fragglet" Howard: High res versions of the original cover artwork.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,5 @@
graphic INTERPIC, 560, 200
{
patch INTER_E4, 0, 0 { }
}

View file

@ -0,0 +1,10 @@
graphic BOSSBACK, 560, 200
{
patch PLUBOSS, 0, 0 { }
}
graphic INTERPIC, 560, 200
{
patch PLUINTER, 0, 0 { }
}

View file

@ -0,0 +1,10 @@
graphic BOSSBACK, 560, 200
{
patch TNTBOSS, 0, 0 { }
}
graphic INTERPIC, 560, 200
{
patch TNTINTER, 0, 0 { }
}

View file

@ -0,0 +1,5 @@
sprite SHT2E0, 233, 63
{
offset 32, -105
patch "/patches/SHT2E0.lmp", 0, 0 { }
}

View file

@ -0,0 +1,5 @@
sprite SHT2E0, 233, 63
{
offset 32, -105
patch "/patches/SHT2E0.lmp", 0, 0 { }
}

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