mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-27 22:22:08 +00:00
Merge branch 'master' into Clip3DLights
This commit is contained in:
commit
456e71ec4b
6 changed files with 48 additions and 5 deletions
|
@ -70,6 +70,27 @@
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@interface NSWindow(EnterFullscreenOnZoom)
|
||||||
|
- (void)enterFullscreenOnZoom;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation NSWindow(EnterFullscreenOnZoom)
|
||||||
|
|
||||||
|
- (void)enterFullscreen:(id)sender
|
||||||
|
{
|
||||||
|
ToggleFullscreen = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)enterFullscreenOnZoom
|
||||||
|
{
|
||||||
|
NSButton* zoomButton = [self standardWindowButton:NSWindowZoomButton];
|
||||||
|
[zoomButton setEnabled:YES];
|
||||||
|
[zoomButton setAction:@selector(enterFullscreen:)];
|
||||||
|
[zoomButton setTarget:self];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
EXTERN_CVAR(Bool, ticker )
|
EXTERN_CVAR(Bool, ticker )
|
||||||
EXTERN_CVAR(Bool, vid_vsync)
|
EXTERN_CVAR(Bool, vid_vsync)
|
||||||
|
@ -676,6 +697,7 @@ void CocoaVideo::SetWindowedMode(const int width, const int height)
|
||||||
|
|
||||||
[m_window setContentSize:windowSize];
|
[m_window setContentSize:windowSize];
|
||||||
[m_window center];
|
[m_window center];
|
||||||
|
[m_window enterFullscreenOnZoom];
|
||||||
[m_window exitAppOnClose];
|
[m_window exitAppOnClose];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1797,8 +1797,8 @@ void R_DrawFogBoundary (int x1, int x2, short *uclip, short *dclip)
|
||||||
// we need to use a new colormap.
|
// we need to use a new colormap.
|
||||||
|
|
||||||
fixed_t lightstep = rw_lightstep;
|
fixed_t lightstep = rw_lightstep;
|
||||||
fixed_t light = rw_light+lightstep*(x2-x1);
|
fixed_t light = rw_light+lightstep*(x2-x1-1);
|
||||||
int x = x2;
|
int x = x2-1;
|
||||||
int t2 = uclip[x];
|
int t2 = uclip[x];
|
||||||
int b2 = dclip[x];
|
int b2 = dclip[x];
|
||||||
int rcolormap = GETPALOOKUP (light, wallshade);
|
int rcolormap = GETPALOOKUP (light, wallshade);
|
||||||
|
|
|
@ -6200,6 +6200,7 @@ enum CBF
|
||||||
CBF_SETMASTER = 1 << 2, //^ but with master.
|
CBF_SETMASTER = 1 << 2, //^ but with master.
|
||||||
CBF_SETTRACER = 1 << 3, //^ but with tracer.
|
CBF_SETTRACER = 1 << 3, //^ but with tracer.
|
||||||
CBF_SETONPTR = 1 << 4, //Sets the pointer change on the actor doing the checking instead of self.
|
CBF_SETONPTR = 1 << 4, //Sets the pointer change on the actor doing the checking instead of self.
|
||||||
|
CBF_DROPOFF = 1 << 5, //Check for dropoffs.
|
||||||
};
|
};
|
||||||
|
|
||||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CheckBlock)
|
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CheckBlock)
|
||||||
|
@ -6219,7 +6220,8 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_CheckBlock)
|
||||||
}
|
}
|
||||||
|
|
||||||
//Nothing to block it so skip the rest.
|
//Nothing to block it so skip the rest.
|
||||||
if (P_TestMobjLocation(mobj)) return;
|
bool checker = (flags & CBF_DROPOFF) ? P_CheckMove(mobj, mobj->X(), mobj->Y()) : P_TestMobjLocation(mobj);
|
||||||
|
if (checker) return;
|
||||||
|
|
||||||
if (mobj->BlockingMobj)
|
if (mobj->BlockingMobj)
|
||||||
{
|
{
|
||||||
|
|
|
@ -979,9 +979,11 @@ void FWadCollection::FixMacHexen()
|
||||||
const long iwadSize = reader->GetLength();
|
const long iwadSize = reader->GetLength();
|
||||||
|
|
||||||
static const long DEMO_SIZE = 13596228;
|
static const long DEMO_SIZE = 13596228;
|
||||||
|
static const long BETA_SIZE = 13749984;
|
||||||
static const long FULL_SIZE = 21078584;
|
static const long FULL_SIZE = 21078584;
|
||||||
|
|
||||||
if ( DEMO_SIZE != iwadSize
|
if ( DEMO_SIZE != iwadSize
|
||||||
|
&& BETA_SIZE != iwadSize
|
||||||
&& FULL_SIZE != iwadSize)
|
&& FULL_SIZE != iwadSize)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -1000,13 +1002,22 @@ void FWadCollection::FixMacHexen()
|
||||||
0x4b, 0x0a, 0x6a, 0x3b, 0xed, 0x3a, 0x6f, 0x31
|
0x4b, 0x0a, 0x6a, 0x3b, 0xed, 0x3a, 0x6f, 0x31
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const BYTE HEXEN_BETA_MD5[16] =
|
||||||
|
{
|
||||||
|
0x2a, 0xf1, 0xb2, 0x7c, 0xd1, 0x1f, 0xb1, 0x59,
|
||||||
|
0xe6, 0x08, 0x47, 0x2a, 0x1b, 0x53, 0xe4, 0x0e
|
||||||
|
};
|
||||||
|
|
||||||
static const BYTE HEXEN_FULL_MD5[16] =
|
static const BYTE HEXEN_FULL_MD5[16] =
|
||||||
{
|
{
|
||||||
0xb6, 0x81, 0x40, 0xa7, 0x96, 0xf6, 0xfd, 0x7f,
|
0xb6, 0x81, 0x40, 0xa7, 0x96, 0xf6, 0xfd, 0x7f,
|
||||||
0x3a, 0x5d, 0x32, 0x26, 0xa3, 0x2b, 0x93, 0xbe
|
0x3a, 0x5d, 0x32, 0x26, 0xa3, 0x2b, 0x93, 0xbe
|
||||||
};
|
};
|
||||||
|
|
||||||
if ( 0 != memcmp(HEXEN_DEMO_MD5, checksum, sizeof checksum)
|
const bool isBeta = 0 == memcmp(HEXEN_BETA_MD5, checksum, sizeof checksum);
|
||||||
|
|
||||||
|
if ( !isBeta
|
||||||
|
&& 0 != memcmp(HEXEN_DEMO_MD5, checksum, sizeof checksum)
|
||||||
&& 0 != memcmp(HEXEN_FULL_MD5, checksum, sizeof checksum))
|
&& 0 != memcmp(HEXEN_FULL_MD5, checksum, sizeof checksum))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -1014,7 +1025,10 @@ void FWadCollection::FixMacHexen()
|
||||||
|
|
||||||
static const int EXTRA_LUMPS = 299;
|
static const int EXTRA_LUMPS = 299;
|
||||||
|
|
||||||
const int lastLump = GetLastLump(IWAD_FILENUM);
|
// Hexen Beta is very similar to Demo but it has MAP41: Maze at the end of the WAD
|
||||||
|
// So keep this map if it's present but discard all extra lumps
|
||||||
|
|
||||||
|
const int lastLump = GetLastLump(IWAD_FILENUM) - (isBeta ? 12 : 0);
|
||||||
assert(GetFirstLump(IWAD_FILENUM) + 299 < lastLump);
|
assert(GetFirstLump(IWAD_FILENUM) + 299 < lastLump);
|
||||||
|
|
||||||
for (int i = lastLump - EXTRA_LUMPS + 1; i <= lastLump; ++i)
|
for (int i = lastLump - EXTRA_LUMPS + 1; i <= lastLump; ++i)
|
||||||
|
|
|
@ -516,6 +516,7 @@ enum
|
||||||
CBF_SETMASTER = 1 << 2, //^ but with master.
|
CBF_SETMASTER = 1 << 2, //^ but with master.
|
||||||
CBF_SETTRACER = 1 << 3, //^ but with tracer.
|
CBF_SETTRACER = 1 << 3, //^ but with tracer.
|
||||||
CBF_SETONPTR = 1 << 4, //Sets the pointer change on the actor doing the checking instead of self.
|
CBF_SETONPTR = 1 << 4, //Sets the pointer change on the actor doing the checking instead of self.
|
||||||
|
CBF_DROPOFF = 1 << 5, //Check for dropoffs.
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
|
|
@ -896,6 +896,10 @@ OptionMenu "MiscOptions"
|
||||||
Option "Merge left+right Alt/Ctrl/Shift", "k_mergekeys", "OnOff"
|
Option "Merge left+right Alt/Ctrl/Shift", "k_mergekeys", "OnOff"
|
||||||
Option "Alt-Enter toggles fullscreen", "k_allowfullscreentoggle", "OnOff"
|
Option "Alt-Enter toggles fullscreen", "k_allowfullscreentoggle", "OnOff"
|
||||||
}
|
}
|
||||||
|
IfOption(Mac)
|
||||||
|
{
|
||||||
|
Option "Command-F toggles fullscreen", "k_allowfullscreentoggle", "OnOff"
|
||||||
|
}
|
||||||
Option "Show IWAD selection dialog", "queryiwad", "OnOff"
|
Option "Show IWAD selection dialog", "queryiwad", "OnOff"
|
||||||
StaticText " "
|
StaticText " "
|
||||||
Option "Enable cheats from all games", "allcheats", "OnOff"
|
Option "Enable cheats from all games", "allcheats", "OnOff"
|
||||||
|
|
Loading…
Reference in a new issue