diff options
author | Jacek Antonelli | 2008-08-15 23:44:46 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-08-15 23:44:46 -0500 |
commit | 38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4 (patch) | |
tree | adca584755d22ca041a2dbfc35d4eca01f70b32c /linden/indra/llmessage/llregionflags.h | |
parent | README.txt (diff) | |
download | meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.zip meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.gz meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.bz2 meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.xz |
Second Life viewer sources 1.13.2.12
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llmessage/llregionflags.h | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/linden/indra/llmessage/llregionflags.h b/linden/indra/llmessage/llregionflags.h new file mode 100644 index 0000000..6a8f72a --- /dev/null +++ b/linden/indra/llmessage/llregionflags.h | |||
@@ -0,0 +1,178 @@ | |||
1 | /** | ||
2 | * @file llregionflags.h | ||
3 | * @brief Flags that are sent in the statistics message region_flags field. | ||
4 | * | ||
5 | * Copyright (c) 2002-2007, Linden Research, Inc. | ||
6 | * | ||
7 | * The source code in this file ("Source Code") is provided by Linden Lab | ||
8 | * to you under the terms of the GNU General Public License, version 2.0 | ||
9 | * ("GPL"), unless you have obtained a separate licensing agreement | ||
10 | * ("Other License"), formally executed by you and Linden Lab. Terms of | ||
11 | * the GPL can be found in doc/GPL-license.txt in this distribution, or | ||
12 | * online at http://secondlife.com/developers/opensource/gplv2 | ||
13 | * | ||
14 | * There are special exceptions to the terms and conditions of the GPL as | ||
15 | * it is applied to this Source Code. View the full text of the exception | ||
16 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
17 | * online at http://secondlife.com/developers/opensource/flossexception | ||
18 | * | ||
19 | * By copying, modifying or distributing this software, you acknowledge | ||
20 | * that you have read and understood your obligations described above, | ||
21 | * and agree to abide by those obligations. | ||
22 | * | ||
23 | * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO | ||
24 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
25 | * COMPLETENESS OR PERFORMANCE. | ||
26 | */ | ||
27 | |||
28 | #ifndef LL_LLREGIONFLAGS_H | ||
29 | #define LL_LLREGIONFLAGS_H | ||
30 | |||
31 | // Can you be hurt here? Should health be on? | ||
32 | const U32 REGION_FLAGS_ALLOW_DAMAGE = (1 << 0); | ||
33 | |||
34 | // Can you make landmarks here? | ||
35 | const U32 REGION_FLAGS_ALLOW_LANDMARK = (1 << 1); | ||
36 | |||
37 | // Do we reset the home position when someone teleports away from here? | ||
38 | const U32 REGION_FLAGS_ALLOW_SET_HOME = (1 << 2); | ||
39 | |||
40 | // Do we reset the home position when someone teleports away from here? | ||
41 | const U32 REGION_FLAGS_RESET_HOME_ON_TELEPORT = (1 << 3); | ||
42 | |||
43 | // Does the sun move? | ||
44 | const U32 REGION_FLAGS_SUN_FIXED = (1 << 4); | ||
45 | |||
46 | // Tax free zone (no taxes on objects, land, etc.) | ||
47 | const U32 REGION_FLAGS_TAX_FREE = (1 << 5); | ||
48 | |||
49 | // Can't change the terrain heightfield, even on owned parcels, | ||
50 | // but can plant trees and grass. | ||
51 | const U32 REGION_FLAGS_BLOCK_TERRAFORM = (1 << 6); | ||
52 | |||
53 | // Can't release, sell, or buy land. | ||
54 | const U32 REGION_FLAGS_BLOCK_LAND_RESELL = (1 << 7); | ||
55 | |||
56 | // All content wiped once per night | ||
57 | const U32 REGION_FLAGS_SANDBOX = (1 << 8); | ||
58 | |||
59 | const U32 REGION_FLAGS_SKIP_AGENT_ACTION = (1 << 10); | ||
60 | const U32 REGION_FLAGS_SKIP_UPDATE_INTEREST_LIST= (1 << 11); | ||
61 | const U32 REGION_FLAGS_SKIP_COLLISIONS = (1 << 12); // Pin all non agent rigid bodies | ||
62 | const U32 REGION_FLAGS_SKIP_SCRIPTS = (1 << 13); | ||
63 | const U32 REGION_FLAGS_SKIP_PHYSICS = (1 << 14); // Skip all physics | ||
64 | const U32 REGION_FLAGS_EXTERNALLY_VISIBLE = (1 << 15); | ||
65 | const U32 REGION_FLAGS_MAINLAND_VISIBLE = (1 << 16); | ||
66 | const U32 REGION_FLAGS_PUBLIC_ALLOWED = (1 << 17); | ||
67 | const U32 REGION_FLAGS_BLOCK_DWELL = (1 << 18); | ||
68 | |||
69 | // Is flight allowed? | ||
70 | const U32 REGION_FLAGS_BLOCK_FLY = (1 << 19); | ||
71 | |||
72 | // Is direct teleport (p2p) allowed? | ||
73 | const U32 REGION_FLAGS_ALLOW_DIRECT_TELEPORT = (1 << 20); | ||
74 | |||
75 | // Is there an administrative override on scripts in the region at the | ||
76 | // moment. This is the similar skip scripts, except this flag is | ||
77 | // presisted in the database on an estate level. | ||
78 | const U32 REGION_FLAGS_ESTATE_SKIP_SCRIPTS = (1 << 21); | ||
79 | |||
80 | const U32 REGION_FLAGS_RESTRICT_PUSHOBJECT = (1 << 22); | ||
81 | |||
82 | const U32 REGION_FLAGS_DENY_ANONYMOUS = (1 << 23); | ||
83 | const U32 REGION_FLAGS_DENY_IDENTIFIED = (1 << 24); | ||
84 | const U32 REGION_FLAGS_DENY_TRANSACTED = (1 << 25); | ||
85 | |||
86 | const U32 REGION_FLAGS_ALLOW_PARCEL_CHANGES = (1 << 26); | ||
87 | |||
88 | const U32 REGION_FLAGS_ABUSE_EMAIL_TO_ESTATE_OWNER = (1 << 27); | ||
89 | |||
90 | const U32 REGION_FLAGS_NULL_LAYER = (1 << 9); | ||
91 | |||
92 | const U32 REGION_FLAGS_DEFAULT = REGION_FLAGS_ALLOW_LANDMARK | | ||
93 | REGION_FLAGS_ALLOW_SET_HOME | | ||
94 | REGION_FLAGS_ALLOW_PARCEL_CHANGES; | ||
95 | |||
96 | const U32 REGION_FLAGS_PRELUDE_SET = REGION_FLAGS_RESET_HOME_ON_TELEPORT; | ||
97 | const U32 REGION_FLAGS_PRELUDE_UNSET = REGION_FLAGS_ALLOW_LANDMARK | ||
98 | | REGION_FLAGS_ALLOW_SET_HOME; | ||
99 | |||
100 | const U32 REGION_FLAGS_ESTATE_MASK = REGION_FLAGS_EXTERNALLY_VISIBLE | ||
101 | | REGION_FLAGS_MAINLAND_VISIBLE | ||
102 | | REGION_FLAGS_PUBLIC_ALLOWED | ||
103 | | REGION_FLAGS_SUN_FIXED | ||
104 | | REGION_FLAGS_DENY_ANONYMOUS | ||
105 | | REGION_FLAGS_DENY_IDENTIFIED | ||
106 | | REGION_FLAGS_DENY_TRANSACTED; | ||
107 | |||
108 | inline BOOL is_prelude( U32 flags ) | ||
109 | { | ||
110 | // definition of prelude does not depend on fixed-sun | ||
111 | return 0 == (flags & REGION_FLAGS_PRELUDE_UNSET) | ||
112 | && 0 != (flags & REGION_FLAGS_PRELUDE_SET); | ||
113 | } | ||
114 | |||
115 | inline U32 set_prelude_flags(U32 flags) | ||
116 | { | ||
117 | // also set the sun-fixed flag | ||
118 | return ((flags & ~REGION_FLAGS_PRELUDE_UNSET) | ||
119 | | (REGION_FLAGS_PRELUDE_SET | REGION_FLAGS_SUN_FIXED)); | ||
120 | } | ||
121 | |||
122 | inline U32 unset_prelude_flags(U32 flags) | ||
123 | { | ||
124 | // also unset the fixed-sun flag | ||
125 | return ((flags | REGION_FLAGS_PRELUDE_UNSET) | ||
126 | & ~(REGION_FLAGS_PRELUDE_SET | REGION_FLAGS_SUN_FIXED)); | ||
127 | } | ||
128 | |||
129 | // estate constants. Need to match first few etries in indra.estate table. | ||
130 | const U32 ESTATE_ALL = 0; // will not match in db, reserved key for logic | ||
131 | const U32 ESTATE_MAINLAND = 1; | ||
132 | const U32 ESTATE_ORIENTATION = 2; | ||
133 | const U32 ESTATE_INTERNAL = 3; | ||
134 | const U32 ESTATE_SHOWCASE = 4; | ||
135 | const U32 ESTATE_KIDGRID = 5; | ||
136 | const U32 ESTATE_LAST_LINDEN = 5; // last linden owned/managed estate | ||
137 | |||
138 | // for EstateOwnerRequest, setaccess message | ||
139 | const U32 ESTATE_ACCESS_ALLOWED_AGENTS = 1 << 0; | ||
140 | const U32 ESTATE_ACCESS_ALLOWED_GROUPS = 1 << 1; | ||
141 | const U32 ESTATE_ACCESS_BANNED_AGENTS = 1 << 2; | ||
142 | const U32 ESTATE_ACCESS_MANAGERS = 1 << 3; | ||
143 | |||
144 | //maximum number of access list entries we can fit in one packet | ||
145 | const S32 ESTATE_ACCESS_MAX_ENTRIES_PER_PACKET = 63; | ||
146 | |||
147 | // for reply to "getinfo", don't need to forward to all sims in estate | ||
148 | const U32 ESTATE_ACCESS_SEND_TO_AGENT_ONLY = 1 << 4; | ||
149 | |||
150 | const U32 ESTATE_ACCESS_ALL = ESTATE_ACCESS_ALLOWED_AGENTS | ||
151 | | ESTATE_ACCESS_ALLOWED_GROUPS | ||
152 | | ESTATE_ACCESS_BANNED_AGENTS | ||
153 | | ESTATE_ACCESS_MANAGERS; | ||
154 | |||
155 | // for EstateOwnerRequest, estateaccessdelta message | ||
156 | const U32 ESTATE_ACCESS_APPLY_TO_ALL_ESTATES = 1 << 0; | ||
157 | const U32 ESTATE_ACCESS_APPLY_TO_MANAGED_ESTATES = 1 << 1; | ||
158 | |||
159 | const U32 ESTATE_ACCESS_ALLOWED_AGENT_ADD = 1 << 2; | ||
160 | const U32 ESTATE_ACCESS_ALLOWED_AGENT_REMOVE = 1 << 3; | ||
161 | const U32 ESTATE_ACCESS_ALLOWED_GROUP_ADD = 1 << 4; | ||
162 | const U32 ESTATE_ACCESS_ALLOWED_GROUP_REMOVE = 1 << 5; | ||
163 | const U32 ESTATE_ACCESS_BANNED_AGENT_ADD = 1 << 6; | ||
164 | const U32 ESTATE_ACCESS_BANNED_AGENT_REMOVE = 1 << 7; | ||
165 | const U32 ESTATE_ACCESS_MANAGER_ADD = 1 << 8; | ||
166 | const U32 ESTATE_ACCESS_MANAGER_REMOVE = 1 << 9; | ||
167 | |||
168 | const S32 ESTATE_MAX_MANAGERS = 10; | ||
169 | const S32 ESTATE_MAX_ACCESS_IDS = 300; // max for access, banned | ||
170 | const S32 ESTATE_MAX_GROUP_IDS = (S32) ESTATE_ACCESS_MAX_ENTRIES_PER_PACKET; | ||
171 | |||
172 | // 'Sim Wide Delete' flags | ||
173 | const U32 SWD_OTHERS_LAND_ONLY = (1 << 0); | ||
174 | const U32 SWD_ALWAYS_RETURN_OBJECTS = (1 << 1); | ||
175 | const U32 SWD_SCRIPTED_ONLY = (1 << 2); | ||
176 | |||
177 | #endif | ||
178 | |||