From 0b16411d302c940ff98ae5529821d9b5a4dbfbd7 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Thu, 26 Jan 2012 14:07:37 -0500 Subject: assert fix for mempyNonAliased16 call --- indra/llprimitive/llmodel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index cb32a510b8..28ed051c55 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -1026,7 +1026,8 @@ void LLModel::setVolumeFaceData( if (tc.get()) { - LLVector4a::memcpyNonAliased16((F32*) face.mTexCoords, (F32*) tc.get(), num_verts*2*sizeof(F32)); + U32 tex_size = (num_verts*2*sizeof(F32)+0xF)&~0xF; + LLVector4a::memcpyNonAliased16((F32*) face.mTexCoords, (F32*) tc.get(), tex_size); } else { -- cgit v1.2.3 From a0bab1952bfe09be49164bad0ab7205735109395 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Fri, 27 Jan 2012 16:12:50 -0500 Subject: BUILDFIX header file capitalization Will clean this up to be more in line with our standards later --- indra/llprimitive/llmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index cb32a510b8..768d3a6ae8 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -28,7 +28,7 @@ #include "llmodel.h" #include "llmemory.h" -#include "llconvexdecomposition.h" +#include "LLConvexDecomposition.h" #include "llsdserialize.h" #include "llvector4a.h" #if LL_MSVC -- cgit v1.2.3 From 4d77d3cca1c932516781222e0c8c14d27f876466 Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Tue, 28 Feb 2012 19:07:44 -0800 Subject: PATH-199: Cleaning up code related to object flags so that I can better use the flags to managed pathfinding flags such as permanent and character. --- indra/llprimitive/object_flags.h | 9 --------- 1 file changed, 9 deletions(-) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/object_flags.h b/indra/llprimitive/object_flags.h index 94c559d757..2f07665e6f 100644 --- a/indra/llprimitive/object_flags.h +++ b/indra/llprimitive/object_flags.h @@ -41,28 +41,19 @@ const U32 FLAGS_TAKES_MONEY = 0x00000200; const U32 FLAGS_PHANTOM = 0x00000400; const U32 FLAGS_INVENTORY_EMPTY = 0x00000800; -const U32 FLAGS_JOINT_HINGE = 0x00001000; -const U32 FLAGS_JOINT_P2P = 0x00002000; -const U32 FLAGS_JOINT_LP2P = 0x00004000; -// const U32 FLAGS_JOINT_WHEEL = 0x00008000; const U32 FLAGS_INCLUDE_IN_SEARCH = 0x00008000; const U32 FLAGS_ALLOW_INVENTORY_DROP = 0x00010000; const U32 FLAGS_OBJECT_TRANSFER = 0x00020000; const U32 FLAGS_OBJECT_GROUP_OWNED = 0x00040000; -//const U32 FLAGS_OBJECT_YOU_OFFICER = 0x00080000; const U32 FLAGS_CAMERA_DECOUPLED = 0x00100000; const U32 FLAGS_ANIM_SOURCE = 0x00200000; const U32 FLAGS_CAMERA_SOURCE = 0x00400000; -const U32 FLAGS_CAST_SHADOWS = 0x00800000; - const U32 FLAGS_OBJECT_OWNER_MODIFY = 0x10000000; const U32 FLAGS_TEMPORARY_ON_REZ = 0x20000000; -const U32 FLAGS_TEMPORARY = 0x40000000; -const U32 FLAGS_ZLIB_COMPRESSED = 0x80000000; const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE; -- cgit v1.2.3 From 894d79e4ecccda85e357f859c666031cc138e34b Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Wed, 29 Feb 2012 12:34:28 -0800 Subject: PATH-199: More cleanup of object flags and syncing with definitions from the server-side using left-shifted bits instead 0x explicits for better human readability. --- indra/llprimitive/object_flags.h | 146 ++++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 71 deletions(-) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/object_flags.h b/indra/llprimitive/object_flags.h index 2f07665e6f..278ab12aa3 100644 --- a/indra/llprimitive/object_flags.h +++ b/indra/llprimitive/object_flags.h @@ -1,71 +1,75 @@ -/** - * @file object_flags.h - * @brief Flags for object creation and transmission - * - * $LicenseInfo:firstyear=2001&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_OBJECT_FLAGS_H -#define LL_OBJECT_FLAGS_H - -// downstream flags from sim->viewer -const U32 FLAGS_USE_PHYSICS = 0x00000001; -const U32 FLAGS_CREATE_SELECTED = 0x00000002; -const U32 FLAGS_OBJECT_MODIFY = 0x00000004; -const U32 FLAGS_OBJECT_COPY = 0x00000008; -const U32 FLAGS_OBJECT_ANY_OWNER = 0x00000010; -const U32 FLAGS_OBJECT_YOU_OWNER = 0x00000020; -const U32 FLAGS_SCRIPTED = 0x00000040; -const U32 FLAGS_HANDLE_TOUCH = 0x00000080; -const U32 FLAGS_OBJECT_MOVE = 0x00000100; -const U32 FLAGS_TAKES_MONEY = 0x00000200; -const U32 FLAGS_PHANTOM = 0x00000400; -const U32 FLAGS_INVENTORY_EMPTY = 0x00000800; - -const U32 FLAGS_INCLUDE_IN_SEARCH = 0x00008000; - -const U32 FLAGS_ALLOW_INVENTORY_DROP = 0x00010000; -const U32 FLAGS_OBJECT_TRANSFER = 0x00020000; -const U32 FLAGS_OBJECT_GROUP_OWNED = 0x00040000; - -const U32 FLAGS_CAMERA_DECOUPLED = 0x00100000; -const U32 FLAGS_ANIM_SOURCE = 0x00200000; -const U32 FLAGS_CAMERA_SOURCE = 0x00400000; - -const U32 FLAGS_OBJECT_OWNER_MODIFY = 0x10000000; - -const U32 FLAGS_TEMPORARY_ON_REZ = 0x20000000; - -const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE; - -typedef enum e_havok_joint_type -{ - HJT_INVALID = 0, - HJT_HINGE = 1, - HJT_POINT = 2, -// HJT_LPOINT = 3, -// HJT_WHEEL = 4, - HJT_EOF = 3 -} EHavokJointType; - -#endif - +/** + * @file object_flags.h + * @brief Flags for object creation and transmission + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_OBJECT_FLAGS_H +#define LL_OBJECT_FLAGS_H + +// downstream flags from sim->viewer +const U32 FLAGS_USE_PHYSICS = (1U << 0); +const U32 FLAGS_CREATE_SELECTED = (1U << 1); +const U32 FLAGS_OBJECT_MODIFY = (1U << 2); +const U32 FLAGS_OBJECT_COPY = (1U << 3); +const U32 FLAGS_OBJECT_ANY_OWNER = (1U << 4); +const U32 FLAGS_OBJECT_YOU_OWNER = (1U << 5); +const U32 FLAGS_SCRIPTED = (1U << 6); +const U32 FLAGS_HANDLE_TOUCH = (1U << 7); +const U32 FLAGS_OBJECT_MOVE = (1U << 8); +const U32 FLAGS_TAKES_MONEY = (1U << 9); +const U32 FLAGS_PHANTOM = (1U << 10); +const U32 FLAGS_INVENTORY_EMPTY = (1U << 11); +//const U32 FLAGS_UNUSED_000 = (1U << 12); // was FLAGS_JOINT_HINGE +//const U32 FLAGS_UNUSED_001 = (1U << 13); // was FLAGS_JOINT_P2P +//const U32 FLAGS_UNUSED_002 = (1U << 14); // was FLAGS_JOINT_LP2P +const U32 FLAGS_INCLUDE_IN_SEARCH = (1U << 15); +const U32 FLAGS_ALLOW_INVENTORY_DROP = (1U << 16); +const U32 FLAGS_OBJECT_TRANSFER = (1U << 17); +const U32 FLAGS_OBJECT_GROUP_OWNED = (1U << 18); +//const U32 FLAGS_UNUSED_003 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER +const U32 FLAGS_CAMERA_DECOUPLED = (1U << 20); +const U32 FLAGS_ANIM_SOURCE = (1U << 21); +const U32 FLAGS_CAMERA_SOURCE = (1U << 22); +//const U32 FLAGS_UNUSED_004 = (1U << 23); // was FLAGS_CAST_SHADOWS +//const U32 FLAGS_UNUSED_005 = (1U << 24); +//const U32 FLAGS_UNUSED_006 = (1U << 25); +//const U32 FLAGS_UNUSED_007 = (1U << 26); +//const U32 FLAGS_UNUSED_008 = (1U << 27); +const U32 FLAGS_OBJECT_OWNER_MODIFY = (1U << 28); +const U32 FLAGS_TEMPORARY_ON_REZ = (1U << 29); +//const U32 FLAGS_UNUSED_009 = (1U << 30); // was FLAGS_TEMPORARY +//const U32 FLAGS_UNUSED_010 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED +const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE; + +typedef enum e_havok_joint_type +{ + HJT_INVALID = 0, + HJT_HINGE = 1, + HJT_POINT = 2, +// HJT_LPOINT = 3, +// HJT_WHEEL = 4, + HJT_EOF = 3 +} EHavokJointType; + +#endif -- cgit v1.2.3 From 3d237bd242c01895c8122b0a2fda3e305992fd1b Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Wed, 29 Feb 2012 14:41:47 -0800 Subject: PATH-199: Starting to introducing the pathfinding flags for the object. --- indra/llprimitive/object_flags.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/object_flags.h b/indra/llprimitive/object_flags.h index 278ab12aa3..f7f6841b53 100644 --- a/indra/llprimitive/object_flags.h +++ b/indra/llprimitive/object_flags.h @@ -40,26 +40,26 @@ const U32 FLAGS_OBJECT_MOVE = (1U << 8); const U32 FLAGS_TAKES_MONEY = (1U << 9); const U32 FLAGS_PHANTOM = (1U << 10); const U32 FLAGS_INVENTORY_EMPTY = (1U << 11); -//const U32 FLAGS_UNUSED_000 = (1U << 12); // was FLAGS_JOINT_HINGE -//const U32 FLAGS_UNUSED_001 = (1U << 13); // was FLAGS_JOINT_P2P -//const U32 FLAGS_UNUSED_002 = (1U << 14); // was FLAGS_JOINT_LP2P +const U32 FLAGS_OBJECT_PERMANENT = (1U << 12); +const U32 FLAGS_CHARACTER = (1U << 13); +//const U32 FLAGS_UNUSED_000 = (1U << 14); // was FLAGS_JOINT_LP2P const U32 FLAGS_INCLUDE_IN_SEARCH = (1U << 15); const U32 FLAGS_ALLOW_INVENTORY_DROP = (1U << 16); const U32 FLAGS_OBJECT_TRANSFER = (1U << 17); const U32 FLAGS_OBJECT_GROUP_OWNED = (1U << 18); -//const U32 FLAGS_UNUSED_003 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER +//const U32 FLAGS_UNUSED_001 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER const U32 FLAGS_CAMERA_DECOUPLED = (1U << 20); const U32 FLAGS_ANIM_SOURCE = (1U << 21); const U32 FLAGS_CAMERA_SOURCE = (1U << 22); -//const U32 FLAGS_UNUSED_004 = (1U << 23); // was FLAGS_CAST_SHADOWS -//const U32 FLAGS_UNUSED_005 = (1U << 24); -//const U32 FLAGS_UNUSED_006 = (1U << 25); -//const U32 FLAGS_UNUSED_007 = (1U << 26); -//const U32 FLAGS_UNUSED_008 = (1U << 27); +//const U32 FLAGS_UNUSED_002 = (1U << 23); // was FLAGS_CAST_SHADOWS +//const U32 FLAGS_UNUSED_003 = (1U << 24); +//const U32 FLAGS_UNUSED_004 = (1U << 25); +//const U32 FLAGS_UNUSED_005 = (1U << 26); +//const U32 FLAGS_UNUSED_006 = (1U << 27); const U32 FLAGS_OBJECT_OWNER_MODIFY = (1U << 28); const U32 FLAGS_TEMPORARY_ON_REZ = (1U << 29); -//const U32 FLAGS_UNUSED_009 = (1U << 30); // was FLAGS_TEMPORARY -//const U32 FLAGS_UNUSED_010 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED +//const U32 FLAGS_UNUSED_007 = (1U << 30); // was FLAGS_TEMPORARY +//const U32 FLAGS_UNUSED_008 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE; typedef enum e_havok_joint_type -- cgit v1.2.3 From 1cdef4903daea1622923550b1328b659a594b029 Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Wed, 18 Apr 2012 16:03:33 -0700 Subject: Updating to the latest llphysicextensions pre-built package with the now lowercased version of the header file names. --- indra/llprimitive/llmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index 768d3a6ae8..cb32a510b8 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -28,7 +28,7 @@ #include "llmodel.h" #include "llmemory.h" -#include "LLConvexDecomposition.h" +#include "llconvexdecomposition.h" #include "llsdserialize.h" #include "llvector4a.h" #if LL_MSVC -- cgit v1.2.3 From cbebd682f7b9b0cff120bc36d9db9bb170dc1b2a Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Wed, 25 Apr 2012 13:04:13 -0700 Subject: Removing windows line endings from .h and .cpp files. --- indra/llprimitive/object_flags.h | 150 +++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 75 deletions(-) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/object_flags.h b/indra/llprimitive/object_flags.h index f7f6841b53..b06a5ad4e3 100644 --- a/indra/llprimitive/object_flags.h +++ b/indra/llprimitive/object_flags.h @@ -1,75 +1,75 @@ -/** - * @file object_flags.h - * @brief Flags for object creation and transmission - * - * $LicenseInfo:firstyear=2001&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_OBJECT_FLAGS_H -#define LL_OBJECT_FLAGS_H - -// downstream flags from sim->viewer -const U32 FLAGS_USE_PHYSICS = (1U << 0); -const U32 FLAGS_CREATE_SELECTED = (1U << 1); -const U32 FLAGS_OBJECT_MODIFY = (1U << 2); -const U32 FLAGS_OBJECT_COPY = (1U << 3); -const U32 FLAGS_OBJECT_ANY_OWNER = (1U << 4); -const U32 FLAGS_OBJECT_YOU_OWNER = (1U << 5); -const U32 FLAGS_SCRIPTED = (1U << 6); -const U32 FLAGS_HANDLE_TOUCH = (1U << 7); -const U32 FLAGS_OBJECT_MOVE = (1U << 8); -const U32 FLAGS_TAKES_MONEY = (1U << 9); -const U32 FLAGS_PHANTOM = (1U << 10); -const U32 FLAGS_INVENTORY_EMPTY = (1U << 11); -const U32 FLAGS_OBJECT_PERMANENT = (1U << 12); -const U32 FLAGS_CHARACTER = (1U << 13); -//const U32 FLAGS_UNUSED_000 = (1U << 14); // was FLAGS_JOINT_LP2P -const U32 FLAGS_INCLUDE_IN_SEARCH = (1U << 15); -const U32 FLAGS_ALLOW_INVENTORY_DROP = (1U << 16); -const U32 FLAGS_OBJECT_TRANSFER = (1U << 17); -const U32 FLAGS_OBJECT_GROUP_OWNED = (1U << 18); -//const U32 FLAGS_UNUSED_001 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER -const U32 FLAGS_CAMERA_DECOUPLED = (1U << 20); -const U32 FLAGS_ANIM_SOURCE = (1U << 21); -const U32 FLAGS_CAMERA_SOURCE = (1U << 22); -//const U32 FLAGS_UNUSED_002 = (1U << 23); // was FLAGS_CAST_SHADOWS -//const U32 FLAGS_UNUSED_003 = (1U << 24); -//const U32 FLAGS_UNUSED_004 = (1U << 25); -//const U32 FLAGS_UNUSED_005 = (1U << 26); -//const U32 FLAGS_UNUSED_006 = (1U << 27); -const U32 FLAGS_OBJECT_OWNER_MODIFY = (1U << 28); -const U32 FLAGS_TEMPORARY_ON_REZ = (1U << 29); -//const U32 FLAGS_UNUSED_007 = (1U << 30); // was FLAGS_TEMPORARY -//const U32 FLAGS_UNUSED_008 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED -const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE; - -typedef enum e_havok_joint_type -{ - HJT_INVALID = 0, - HJT_HINGE = 1, - HJT_POINT = 2, -// HJT_LPOINT = 3, -// HJT_WHEEL = 4, - HJT_EOF = 3 -} EHavokJointType; - -#endif +/** + * @file object_flags.h + * @brief Flags for object creation and transmission + * + * $LicenseInfo:firstyear=2001&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#ifndef LL_OBJECT_FLAGS_H +#define LL_OBJECT_FLAGS_H + +// downstream flags from sim->viewer +const U32 FLAGS_USE_PHYSICS = (1U << 0); +const U32 FLAGS_CREATE_SELECTED = (1U << 1); +const U32 FLAGS_OBJECT_MODIFY = (1U << 2); +const U32 FLAGS_OBJECT_COPY = (1U << 3); +const U32 FLAGS_OBJECT_ANY_OWNER = (1U << 4); +const U32 FLAGS_OBJECT_YOU_OWNER = (1U << 5); +const U32 FLAGS_SCRIPTED = (1U << 6); +const U32 FLAGS_HANDLE_TOUCH = (1U << 7); +const U32 FLAGS_OBJECT_MOVE = (1U << 8); +const U32 FLAGS_TAKES_MONEY = (1U << 9); +const U32 FLAGS_PHANTOM = (1U << 10); +const U32 FLAGS_INVENTORY_EMPTY = (1U << 11); +const U32 FLAGS_OBJECT_PERMANENT = (1U << 12); +const U32 FLAGS_CHARACTER = (1U << 13); +//const U32 FLAGS_UNUSED_000 = (1U << 14); // was FLAGS_JOINT_LP2P +const U32 FLAGS_INCLUDE_IN_SEARCH = (1U << 15); +const U32 FLAGS_ALLOW_INVENTORY_DROP = (1U << 16); +const U32 FLAGS_OBJECT_TRANSFER = (1U << 17); +const U32 FLAGS_OBJECT_GROUP_OWNED = (1U << 18); +//const U32 FLAGS_UNUSED_001 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER +const U32 FLAGS_CAMERA_DECOUPLED = (1U << 20); +const U32 FLAGS_ANIM_SOURCE = (1U << 21); +const U32 FLAGS_CAMERA_SOURCE = (1U << 22); +//const U32 FLAGS_UNUSED_002 = (1U << 23); // was FLAGS_CAST_SHADOWS +//const U32 FLAGS_UNUSED_003 = (1U << 24); +//const U32 FLAGS_UNUSED_004 = (1U << 25); +//const U32 FLAGS_UNUSED_005 = (1U << 26); +//const U32 FLAGS_UNUSED_006 = (1U << 27); +const U32 FLAGS_OBJECT_OWNER_MODIFY = (1U << 28); +const U32 FLAGS_TEMPORARY_ON_REZ = (1U << 29); +//const U32 FLAGS_UNUSED_007 = (1U << 30); // was FLAGS_TEMPORARY +//const U32 FLAGS_UNUSED_008 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED +const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE; + +typedef enum e_havok_joint_type +{ + HJT_INVALID = 0, + HJT_HINGE = 1, + HJT_POINT = 2, +// HJT_LPOINT = 3, +// HJT_WHEEL = 4, + HJT_EOF = 3 +} EHavokJointType; + +#endif -- cgit v1.2.3 From 702e6815ed70cb210dc2a014237e0c15a2a69045 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 5 Jul 2012 12:16:48 -0400 Subject: partial changes for building with the llphysicsextensions source package --- indra/llprimitive/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/CMakeLists.txt b/indra/llprimitive/CMakeLists.txt index 7d0e313ff3..e4d9de7eb6 100644 --- a/indra/llprimitive/CMakeLists.txt +++ b/indra/llprimitive/CMakeLists.txt @@ -7,12 +7,14 @@ include(LLCommon) include(LLMath) include(LLMessage) include(LLXML) +include(LLPhysicsExtensions) include_directories( ${LLCOMMON_INCLUDE_DIRS} ${LLMATH_INCLUDE_DIRS} ${LLMESSAGE_INCLUDE_DIRS} ${LLXML_INCLUDE_DIRS} + ${LLPHYSICSEXTENSIONS_INCLUDE_DIRS} ${LIBS_PREBUILT_DIR}/include/collada ${LIBS_PREBUILT_DIR}/include/collada/1.4 ) -- cgit v1.2.3 From 90fdf60d697f5c1e451a41eff0c6856e36cf1b64 Mon Sep 17 00:00:00 2001 From: Todd Stinson Date: Thu, 12 Jul 2012 14:12:58 -0700 Subject: PATH-807: Adding an additional check for if the object is marked as volume-detect. Note that this will require Andrew's corresponding server-side change to take effect. However, the viewer change alone should have no neative effect prior to the server being updated. --- indra/llprimitive/object_flags.h | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/object_flags.h b/indra/llprimitive/object_flags.h index b06a5ad4e3..31dbd15ae0 100644 --- a/indra/llprimitive/object_flags.h +++ b/indra/llprimitive/object_flags.h @@ -40,26 +40,34 @@ const U32 FLAGS_OBJECT_MOVE = (1U << 8); const U32 FLAGS_TAKES_MONEY = (1U << 9); const U32 FLAGS_PHANTOM = (1U << 10); const U32 FLAGS_INVENTORY_EMPTY = (1U << 11); -const U32 FLAGS_OBJECT_PERMANENT = (1U << 12); + +const U32 FLAGS_AFFECTS_NAVMESH = (1U << 12); const U32 FLAGS_CHARACTER = (1U << 13); -//const U32 FLAGS_UNUSED_000 = (1U << 14); // was FLAGS_JOINT_LP2P +const U32 FLAGS_VOLUME_DETECT = (1U << 14); const U32 FLAGS_INCLUDE_IN_SEARCH = (1U << 15); + const U32 FLAGS_ALLOW_INVENTORY_DROP = (1U << 16); const U32 FLAGS_OBJECT_TRANSFER = (1U << 17); const U32 FLAGS_OBJECT_GROUP_OWNED = (1U << 18); -//const U32 FLAGS_UNUSED_001 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER +//const U32 FLAGS_UNUSED_000 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER + const U32 FLAGS_CAMERA_DECOUPLED = (1U << 20); const U32 FLAGS_ANIM_SOURCE = (1U << 21); const U32 FLAGS_CAMERA_SOURCE = (1U << 22); -//const U32 FLAGS_UNUSED_002 = (1U << 23); // was FLAGS_CAST_SHADOWS -//const U32 FLAGS_UNUSED_003 = (1U << 24); -//const U32 FLAGS_UNUSED_004 = (1U << 25); -//const U32 FLAGS_UNUSED_005 = (1U << 26); -//const U32 FLAGS_UNUSED_006 = (1U << 27); + +//const U32 FLAGS_UNUSED_001 = (1U << 23); // was FLAGS_CAST_SHADOWS + +//const U32 FLAGS_UNUSED_002 = (1U << 24); +//const U32 FLAGS_UNUSED_003 = (1U << 25); +//const U32 FLAGS_UNUSED_004 = (1U << 26); +//const U32 FLAGS_UNUSED_005 = (1U << 27); + const U32 FLAGS_OBJECT_OWNER_MODIFY = (1U << 28); + const U32 FLAGS_TEMPORARY_ON_REZ = (1U << 29); -//const U32 FLAGS_UNUSED_007 = (1U << 30); // was FLAGS_TEMPORARY -//const U32 FLAGS_UNUSED_008 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED +//const U32 FLAGS_UNUSED_006 = (1U << 30); // was FLAGS_TEMPORARY +//const U32 FLAGS_UNUSED_007 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED + const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE; typedef enum e_havok_joint_type -- cgit v1.2.3 From 833d73d6747e6983e21ba7716a704c01c95d6a73 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Fri, 13 Jul 2012 17:46:43 -0600 Subject: fix for SH-3235: Bump maps are not loaded until objects change LOD --- indra/llprimitive/llprimitive.cpp | 31 +++++++++++++++++++++++++++++-- indra/llprimitive/llprimitive.h | 7 ++++++- 2 files changed, 35 insertions(+), 3 deletions(-) (limited to 'indra/llprimitive') diff --git a/indra/llprimitive/llprimitive.cpp b/indra/llprimitive/llprimitive.cpp index 30532247ac..6dee192783 100755 --- a/indra/llprimitive/llprimitive.cpp +++ b/indra/llprimitive/llprimitive.cpp @@ -149,7 +149,8 @@ bool LLPrimitive::cleanupVolumeManager() LLPrimitive::LLPrimitive() : mTextureList(), mNumTEs(0), - mMiscFlags(0) + mMiscFlags(0), + mNumBumpmapTEs(0) { mPrimitiveCode = 0; @@ -237,7 +238,10 @@ void LLPrimitive::setAllTETextures(const LLUUID &tex_id) //=============================================================== void LLPrimitive::setTE(const U8 index, const LLTextureEntry& te) { - mTextureList.copyTexture(index, te); + if(mTextureList.copyTexture(index, te) != TEM_CHANGE_NONE && te.getBumpmap() > 0) + { + mNumBumpmapTEs++; + } } S32 LLPrimitive::setTETexture(const U8 index, const LLUUID &id) @@ -316,6 +320,7 @@ S32 LLPrimitive::setTERotation(const U8 index, const F32 r) //=============================================================== S32 LLPrimitive::setTEBumpShinyFullbright(const U8 index, const U8 bump) { + updateNumBumpmap(index, bump); return mTextureList.setBumpShinyFullbright(index, bump); } @@ -326,11 +331,13 @@ S32 LLPrimitive::setTEMediaTexGen(const U8 index, const U8 media) S32 LLPrimitive::setTEBumpmap(const U8 index, const U8 bump) { + updateNumBumpmap(index, bump); return mTextureList.setBumpMap(index, bump); } S32 LLPrimitive::setTEBumpShiny(const U8 index, const U8 bump_shiny) { + updateNumBumpmap(index, bump_shiny); return mTextureList.setBumpShiny(index, bump_shiny); } @@ -1445,6 +1452,26 @@ void LLPrimitive::takeTextureList(LLPrimTextureList& other_list) mTextureList.take(other_list); } +void LLPrimitive::updateNumBumpmap(const U8 index, const U8 bump) +{ + LLTextureEntry* te = getTE(index); + if(!te) + { + return; + } + + U8 old_bump = te->getBumpmap(); + if(old_bump > 0) + { + mNumBumpmapTEs--; + } + if((bump & TEM_BUMP_MASK) > 0) + { + mNumBumpmapTEs++; + } + + return; +} //============================================================================ // Moved from llselectmgr.cpp diff --git a/indra/llprimitive/llprimitive.h b/indra/llprimitive/llprimitive.h index 998016f8f6..8dcaa8c740 100644 --- a/indra/llprimitive/llprimitive.h +++ b/indra/llprimitive/llprimitive.h @@ -421,7 +421,8 @@ public: inline BOOL isAvatar() const; inline BOOL isSittingAvatar() const; inline BOOL isSittingAvatarOnGround() const; - + inline bool hasBumpmap() const { return mNumBumpmapTEs > 0;} + void setFlags(U32 flags) { mMiscFlags = flags; } void addFlags(U32 flags) { mMiscFlags |= flags; } void removeFlags(U32 flags) { mMiscFlags &= ~flags; } @@ -435,6 +436,9 @@ public: inline static BOOL isPrimitive(const LLPCode pcode); inline static BOOL isApp(const LLPCode pcode); +private: + void updateNumBumpmap(const U8 index, const U8 bump); + protected: LLPCode mPrimitiveCode; // Primitive code LLVector3 mVelocity; // how fast are we moving? @@ -444,6 +448,7 @@ protected: LLPrimTextureList mTextureList; // list of texture GUIDs, scales, offsets U8 mMaterial; // Material code U8 mNumTEs; // # of faces on the primitve + U8 mNumBumpmapTEs; // number of bumpmap TEs. U32 mMiscFlags; // home for misc bools public: -- cgit v1.2.3