diff --git a/CMakeLists.txt b/CMakeLists.txt index 64e850e932..c09f0dbd94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -228,6 +228,12 @@ endif( GME_FOUND AND NOT FORCE_INTERNAL_GME ) 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( tools ) add_subdirectory( dumb ) diff --git a/gdtoa/CMakeLists.txt b/gdtoa/CMakeLists.txt index 7f394e1403..9ec7c2f610 100644 --- a/gdtoa/CMakeLists.txt +++ b/gdtoa/CMakeLists.txt @@ -34,7 +34,7 @@ if( NOT MSVC AND NOT APPLE ) DEPENDS qnan ) 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 ) add_library( gdtoa diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index efbeab3b55..22fd833b45 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -643,12 +643,13 @@ else( WIN32 ) endif( APPLE ) endif( WIN32 ) +if( NOT ASM_SOURCES ) + set( ASM_SOURCES "" ) +endif( NOT ASM_SOURCES ) + if( NO_ASM ) add_definitions( -DNOASM ) else( NO_ASM ) - if( NOT ASM_SOURCES ) - set( ASM_SOURCES "" ) - endif( NOT ASM_SOURCES ) if( X64 ) ADD_ASM_FILE( asm_x86_64 tmap3 ) else( X64 ) diff --git a/src/fragglescript/t_func.cpp b/src/fragglescript/t_func.cpp index 2513a68a82..32d4909d49 100644 --- a/src/fragglescript/t_func.cpp +++ b/src/fragglescript/t_func.cpp @@ -3530,8 +3530,17 @@ void FParser::SF_MapThingNumExist() } else { + // Inventory items in the player's inventory have to be considered non-present. + if (SpawnedThings[intval]->IsKindOf(RUNTIME_CLASS(AInventory)) && + barrier_cast(SpawnedThings[intval])->Owner != NULL) + { + t_return.value.i = 0; + } + else + { + t_return.value.i = 1; + } t_return.type = svt_int; - t_return.value.i = 1; } } } @@ -3770,11 +3779,14 @@ void FParser::SF_ObjType() mo = Script->trigger; } - for(unsigned int i=0;iGetClass() == ActorTypes[i]) + if (mo != NULL) { - t_return.type = svt_int; - t_return.value.i = i; - return; + for (unsigned int i = 0; i < countof(ActorTypes); i++) if (mo->GetClass() == ActorTypes[i]) + { + t_return.type = svt_int; + t_return.value.i = i; + return; + } } t_return.type = svt_int; t_return.value.i = -1; diff --git a/src/hu_stuff.h b/src/hu_stuff.h index e2cc75918a..dc22a2adcc 100644 --- a/src/hu_stuff.h +++ b/src/hu_stuff.h @@ -21,6 +21,8 @@ #ifndef __HU_STUFF_H__ #define __HU_STUFF_H__ +#include "doomtype.h" + struct event_t; class player_t; @@ -52,7 +54,7 @@ int HU_GetRowColor(player_t *player, bool hightlight); // Sorting routines -int comparepoints(const void *arg1, const void *arg2); -int compareteams(const void *arg1, const void *arg2); +int STACK_ARGS comparepoints(const void *arg1, const void *arg2); +int STACK_ARGS compareteams(const void *arg1, const void *arg2); #endif diff --git a/src/p_3dfloors.cpp b/src/p_3dfloors.cpp index dce8459bb4..ce6224b538 100644 --- a/src/p_3dfloors.cpp +++ b/src/p_3dfloors.cpp @@ -227,11 +227,11 @@ static int P_Set3DFloor(line_t * line, int param, int param2, int alpha) if (param==0) { flags=FF_EXISTS|FF_RENDERALL|FF_SOLID|FF_INVERTSECTOR; + alpha = 255; for (i=0;ilinecount;i++) { line_t * l=sec->lines[i]; - alpha=255; if (l->special==Sector_SetContents && l->frontsector==sec) { alpha=clamp(l->args[1], 0, 100); @@ -253,12 +253,10 @@ static int P_Set3DFloor(line_t * line, int param, int param2, int alpha) l->frontsector->ColorMap = GetSpecialLights (l->frontsector->ColorMap->Color, - (unsigned int)(vavoomcolors[l->args[0]]&VC_COLORMASK), + vavoomcolors[l->args[0]], 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; } } diff --git a/src/p_acs.cpp b/src/p_acs.cpp index 981870a360..feecbb0aa9 100644 --- a/src/p_acs.cpp +++ b/src/p_acs.cpp @@ -5105,7 +5105,7 @@ int DLevelScript::CallFunction(int argCount, int funcIndex, SDWORD *args, const 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); } } } diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 72679ef719..076d106eb3 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -314,6 +314,10 @@ void AActor::Serialize (FArchive &arc) arc << PoisonDamageType << PoisonDamageTypeReceived; } arc << ConversationRoot << Conversation; + if (SaveVersion >= 4509) + { + arc << FriendPlayer; + } { FString tagstr; diff --git a/src/version.h b/src/version.h index da8d3b6211..4b309d3d61 100644 --- a/src/version.h +++ b/src/version.h @@ -76,7 +76,7 @@ const char *GetVersionString(); // Use 4500 as the base git save version, since it's higher than the // SVN revision ever got. -#define SAVEVER 4508 +#define SAVEVER 4509 #define SAVEVERSTRINGIFY2(x) #x #define SAVEVERSTRINGIFY(x) SAVEVERSTRINGIFY2(x)