mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-15 16:51:31 +00:00
Merge remote-tracking branch 'zdoom/master' into openal
This commit is contained in:
commit
e8233d7e87
15 changed files with 55 additions and 26 deletions
|
@ -230,6 +230,12 @@ endif( GME_FOUND AND NOT FORCE_INTERNAL_GME )
|
||||||
|
|
||||||
set( LZMA_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/lzma/C" )
|
set( LZMA_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/lzma/C" )
|
||||||
|
|
||||||
|
if( NOT CMAKE_CROSSCOMPILING )
|
||||||
|
if( NOT CROSS_EXPORTS )
|
||||||
|
set( CROSS_EXPORTS "" )
|
||||||
|
endif( NOT CROSS_EXPORTS )
|
||||||
|
endif( NOT CMAKE_CROSSCOMPILING )
|
||||||
|
|
||||||
add_subdirectory( lzma )
|
add_subdirectory( lzma )
|
||||||
add_subdirectory( tools )
|
add_subdirectory( tools )
|
||||||
add_subdirectory( dumb )
|
add_subdirectory( dumb )
|
||||||
|
|
|
@ -34,7 +34,7 @@ if( NOT MSVC AND NOT APPLE )
|
||||||
DEPENDS qnan )
|
DEPENDS qnan )
|
||||||
|
|
||||||
set( GEN_FP_FILES arith.h gd_qnan.h )
|
set( GEN_FP_FILES arith.h gd_qnan.h )
|
||||||
set( GEN_FP_DEPS ${CMAKE_CURRENT_BINARY_DIR}/arith.h ${CMAKE_CURRENTY_BINARY_DIR}/gd_qnan.h )
|
set( GEN_FP_DEPS ${CMAKE_CURRENT_BINARY_DIR}/arith.h ${CMAKE_CURRENT_BINARY_DIR}/gd_qnan.h )
|
||||||
endif( NOT MSVC AND NOT APPLE )
|
endif( NOT MSVC AND NOT APPLE )
|
||||||
|
|
||||||
add_library( gdtoa
|
add_library( gdtoa
|
||||||
|
|
|
@ -631,12 +631,13 @@ else( WIN32 )
|
||||||
endif( APPLE )
|
endif( APPLE )
|
||||||
endif( WIN32 )
|
endif( WIN32 )
|
||||||
|
|
||||||
if( NO_ASM )
|
|
||||||
add_definitions( -DNOASM )
|
|
||||||
else( NO_ASM )
|
|
||||||
if( NOT ASM_SOURCES )
|
if( NOT ASM_SOURCES )
|
||||||
set( ASM_SOURCES "" )
|
set( ASM_SOURCES "" )
|
||||||
endif( NOT ASM_SOURCES )
|
endif( NOT ASM_SOURCES )
|
||||||
|
|
||||||
|
if( NO_ASM )
|
||||||
|
add_definitions( -DNOASM )
|
||||||
|
else( NO_ASM )
|
||||||
if( X64 )
|
if( X64 )
|
||||||
ADD_ASM_FILE( asm_x86_64 tmap3 )
|
ADD_ASM_FILE( asm_x86_64 tmap3 )
|
||||||
else( X64 )
|
else( X64 )
|
||||||
|
|
|
@ -1598,7 +1598,7 @@ void D_AddConfigWads (TArray<FString> &wadfiles, const char *section)
|
||||||
{
|
{
|
||||||
// D_AddWildFile resets GameConfig's position, so remember it
|
// D_AddWildFile resets GameConfig's position, so remember it
|
||||||
GameConfig->GetPosition (pos);
|
GameConfig->GetPosition (pos);
|
||||||
D_AddWildFile (wadfiles, value);
|
D_AddWildFile (wadfiles, ExpandEnvVars(value));
|
||||||
// Reset GameConfig's position to get next wad
|
// Reset GameConfig's position to get next wad
|
||||||
GameConfig->SetPosition (pos);
|
GameConfig->SetPosition (pos);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2163,7 +2163,8 @@ void Net_DoCommand (int type, BYTE **stream, int player)
|
||||||
{
|
{
|
||||||
DWORD which = ReadLong (stream);
|
DWORD which = ReadLong (stream);
|
||||||
|
|
||||||
if (gamestate == GS_LEVEL && !paused)
|
if (gamestate == GS_LEVEL && !paused
|
||||||
|
&& players[player].playerstate != PST_DEAD)
|
||||||
{
|
{
|
||||||
AInventory *item = players[player].mo->Inventory;
|
AInventory *item = players[player].mo->Inventory;
|
||||||
while (item != NULL && item->InventoryID != which)
|
while (item != NULL && item->InventoryID != which)
|
||||||
|
|
|
@ -3530,9 +3530,18 @@ void FParser::SF_MapThingNumExist()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
t_return.type = svt_int;
|
// Inventory items in the player's inventory have to be considered non-present.
|
||||||
|
if (SpawnedThings[intval]->IsKindOf(RUNTIME_CLASS(AInventory)) &&
|
||||||
|
barrier_cast<AInventory*>(SpawnedThings[intval])->Owner != NULL)
|
||||||
|
{
|
||||||
|
t_return.value.i = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
t_return.value.i = 1;
|
t_return.value.i = 1;
|
||||||
}
|
}
|
||||||
|
t_return.type = svt_int;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3770,12 +3779,15 @@ void FParser::SF_ObjType()
|
||||||
mo = Script->trigger;
|
mo = Script->trigger;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mo != NULL)
|
||||||
|
{
|
||||||
for (unsigned int i = 0; i < countof(ActorTypes); i++) if (mo->GetClass() == ActorTypes[i])
|
for (unsigned int i = 0; i < countof(ActorTypes); i++) if (mo->GetClass() == ActorTypes[i])
|
||||||
{
|
{
|
||||||
t_return.type = svt_int;
|
t_return.type = svt_int;
|
||||||
t_return.value.i = i;
|
t_return.value.i = i;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
t_return.type = svt_int;
|
t_return.type = svt_int;
|
||||||
t_return.value.i = -1;
|
t_return.value.i = -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
#ifndef __HU_STUFF_H__
|
#ifndef __HU_STUFF_H__
|
||||||
#define __HU_STUFF_H__
|
#define __HU_STUFF_H__
|
||||||
|
|
||||||
|
#include "doomtype.h"
|
||||||
|
|
||||||
struct event_t;
|
struct event_t;
|
||||||
class player_t;
|
class player_t;
|
||||||
|
|
||||||
|
@ -52,7 +54,7 @@ int HU_GetRowColor(player_t *player, bool hightlight);
|
||||||
|
|
||||||
// Sorting routines
|
// Sorting routines
|
||||||
|
|
||||||
int comparepoints(const void *arg1, const void *arg2);
|
int STACK_ARGS comparepoints(const void *arg1, const void *arg2);
|
||||||
int compareteams(const void *arg1, const void *arg2);
|
int STACK_ARGS compareteams(const void *arg1, const void *arg2);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -226,11 +226,11 @@ static int P_Set3DFloor(line_t * line, int param, int param2, int alpha)
|
||||||
if (param==0)
|
if (param==0)
|
||||||
{
|
{
|
||||||
flags=FF_EXISTS|FF_RENDERALL|FF_SOLID|FF_INVERTSECTOR;
|
flags=FF_EXISTS|FF_RENDERALL|FF_SOLID|FF_INVERTSECTOR;
|
||||||
|
alpha = 255;
|
||||||
for (i=0;i<sec->linecount;i++)
|
for (i=0;i<sec->linecount;i++)
|
||||||
{
|
{
|
||||||
line_t * l=sec->lines[i];
|
line_t * l=sec->lines[i];
|
||||||
|
|
||||||
alpha=255;
|
|
||||||
if (l->special==Sector_SetContents && l->frontsector==sec)
|
if (l->special==Sector_SetContents && l->frontsector==sec)
|
||||||
{
|
{
|
||||||
alpha=clamp<int>(l->args[1], 0, 100);
|
alpha=clamp<int>(l->args[1], 0, 100);
|
||||||
|
@ -252,12 +252,10 @@ static int P_Set3DFloor(line_t * line, int param, int param2, int alpha)
|
||||||
|
|
||||||
l->frontsector->ColorMap =
|
l->frontsector->ColorMap =
|
||||||
GetSpecialLights (l->frontsector->ColorMap->Color,
|
GetSpecialLights (l->frontsector->ColorMap->Color,
|
||||||
(unsigned int)(vavoomcolors[l->args[0]]&VC_COLORMASK),
|
vavoomcolors[l->args[0]],
|
||||||
l->frontsector->ColorMap->Desaturate);
|
l->frontsector->ColorMap->Desaturate);
|
||||||
|
|
||||||
alpha = (int)((unsigned int)(vavoomcolors[l->args[0]]&VC_ALPHAMASK)>>24);
|
|
||||||
}
|
}
|
||||||
else alpha=(alpha*255)/100;
|
alpha=(alpha*255)/100;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5105,7 +5105,7 @@ int DLevelScript::CallFunction(int argCount, int funcIndex, SDWORD *args, const
|
||||||
|
|
||||||
while ((source = it.Next()) != NULL)
|
while ((source = it.Next()) != NULL)
|
||||||
{
|
{
|
||||||
P_LineAttack(activator, angle, range, pitch, damage, damagetype, pufftype, fhflags);
|
P_LineAttack(source, angle, range, pitch, damage, damagetype, pufftype, fhflags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1255,7 +1255,9 @@ int P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage,
|
||||||
// This does not save the player if damage >= TELEFRAG_DAMAGE, still need to
|
// This does not save the player if damage >= TELEFRAG_DAMAGE, still need to
|
||||||
// telefrag him right? ;) (Unfortunately the damage is "absorbed" by armor,
|
// telefrag him right? ;) (Unfortunately the damage is "absorbed" by armor,
|
||||||
// but telefragging should still do enough damage to kill the player)
|
// but telefragging should still do enough damage to kill the player)
|
||||||
if ((player->cheats & CF_BUDDHA) && damage < TELEFRAG_DAMAGE)
|
if ((player->cheats & CF_BUDDHA) && damage < TELEFRAG_DAMAGE
|
||||||
|
// Ignore players that are already dead.
|
||||||
|
&& player->playerstate != PST_DEAD)
|
||||||
{
|
{
|
||||||
// If this is a voodoo doll we need to handle the real player as well.
|
// If this is a voodoo doll we need to handle the real player as well.
|
||||||
player->mo->health = target->health = player->health = 1;
|
player->mo->health = target->health = player->health = 1;
|
||||||
|
|
|
@ -314,6 +314,10 @@ void AActor::Serialize (FArchive &arc)
|
||||||
arc << PoisonDamageType << PoisonDamageTypeReceived;
|
arc << PoisonDamageType << PoisonDamageTypeReceived;
|
||||||
}
|
}
|
||||||
arc << ConversationRoot << Conversation;
|
arc << ConversationRoot << Conversation;
|
||||||
|
if (SaveVersion >= 4509)
|
||||||
|
{
|
||||||
|
arc << FriendPlayer;
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
FString tagstr;
|
FString tagstr;
|
||||||
|
|
|
@ -214,8 +214,11 @@ static const FEnumList ResamplerNames[] =
|
||||||
{ "No Interpolation", FMOD_DSP_RESAMPLER_NOINTERP },
|
{ "No Interpolation", FMOD_DSP_RESAMPLER_NOINTERP },
|
||||||
{ "NoInterp", FMOD_DSP_RESAMPLER_NOINTERP },
|
{ "NoInterp", FMOD_DSP_RESAMPLER_NOINTERP },
|
||||||
{ "Linear", FMOD_DSP_RESAMPLER_LINEAR },
|
{ "Linear", FMOD_DSP_RESAMPLER_LINEAR },
|
||||||
|
// [BL] 64-bit version of FMOD Ex 4.26 crashes with these resamplers.
|
||||||
|
#if !(defined(_M_X64) || defined(__amd64__)) || !(FMOD_VERSION >= 0x42600 && FMOD_VERSION <= 0x426FF)
|
||||||
{ "Cubic", FMOD_DSP_RESAMPLER_CUBIC },
|
{ "Cubic", FMOD_DSP_RESAMPLER_CUBIC },
|
||||||
{ "Spline", FMOD_DSP_RESAMPLER_SPLINE },
|
{ "Spline", FMOD_DSP_RESAMPLER_SPLINE },
|
||||||
|
#endif
|
||||||
{ NULL, 0 }
|
{ NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ const char *GetVersionString();
|
||||||
|
|
||||||
// Use 4500 as the base git save version, since it's higher than the
|
// Use 4500 as the base git save version, since it's higher than the
|
||||||
// SVN revision ever got.
|
// SVN revision ever got.
|
||||||
#define SAVEVER 4508
|
#define SAVEVER 4509
|
||||||
|
|
||||||
#define SAVEVERSTRINGIFY2(x) #x
|
#define SAVEVERSTRINGIFY2(x) #x
|
||||||
#define SAVEVERSTRINGIFY(x) SAVEVERSTRINGIFY2(x)
|
#define SAVEVERSTRINGIFY(x) SAVEVERSTRINGIFY2(x)
|
||||||
|
|
|
@ -18,7 +18,7 @@ actor SuperBootspork : Chainsaw 2005
|
||||||
actor MiniZorcher : Pistol
|
actor MiniZorcher : Pistol
|
||||||
{
|
{
|
||||||
game Chex
|
game Chex
|
||||||
obituary "$OP_MPZORCH"
|
obituary "$OB_MPZORCH"
|
||||||
inventory.pickupmessage "$GOTMINIZORCHER"
|
inventory.pickupmessage "$GOTMINIZORCHER"
|
||||||
Tag "$TAG_MINIZORCHER"
|
Tag "$TAG_MINIZORCHER"
|
||||||
states
|
states
|
||||||
|
@ -31,7 +31,7 @@ actor MiniZorcher : Pistol
|
||||||
actor LargeZorcher : Shotgun 2001
|
actor LargeZorcher : Shotgun 2001
|
||||||
{
|
{
|
||||||
game Chex
|
game Chex
|
||||||
obituary "$OP_MPZORCH"
|
obituary "$OB_MPZORCH"
|
||||||
inventory.pickupmessage "$GOTLARGEZORCHER"
|
inventory.pickupmessage "$GOTLARGEZORCHER"
|
||||||
Tag "$TAG_LARGEZORCHER"
|
Tag "$TAG_LARGEZORCHER"
|
||||||
}
|
}
|
||||||
|
|
|
@ -991,9 +991,9 @@ HHUSTR_E5M9 = "L ECHEVAUX DE D'SPARIL";
|
||||||
|
|
||||||
// Keys
|
// Keys
|
||||||
|
|
||||||
TXT_GOTBLUEKEY = "CLE BLEUE";
|
TXT_GOTBLUEKEY = "CLÉ BLEUE";
|
||||||
TXT_GOTYELLOWKEY = "CLE JAUNE";
|
TXT_GOTYELLOWKEY = "CLÉ JAUNE";
|
||||||
TXT_GOTGREENKEY = "CLE ROUGE";
|
TXT_GOTGREENKEY = "CLÉ VERTE";
|
||||||
|
|
||||||
// Artifacts
|
// Artifacts
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue