◆ PString()
BrawlLib.Internal.PString.PString |
( |
byte * |
address | ) |
|
|
inline |
11 {
12 _address = address;
13 }
◆ Equals() [1/5]
override bool BrawlLib.Internal.PString.Equals |
( |
object |
obj | ) |
|
|
inline |
89 {
90 if (obj is PString)
91 {
92 return Equals((PString) obj,
false);
93 }
94
95 if (obj is string)
96 {
97 return Equals((
string) obj,
false);
98 }
99
100 return false;
101 }
override bool Equals(object obj)
Definition: PString.cs:88
◆ Equals() [2/5]
bool BrawlLib.Internal.PString.Equals |
( |
PString |
s, |
|
|
bool |
ignoreCase |
|
) |
| |
|
inline |
114 {
115 byte* pStr1 = _address;
116 byte* pStr2 = s._address;
117 byte b1, b2;
118
119 do
120 {
121 b1 = *pStr1++;
122 b2 = *pStr2++;
123 if (b1 != b2)
124 {
125 if (ignoreCase)
126 {
127 if (b1 >= 0x41 && b1 <= 0x5A)
128 {
129 if (b1 + 0x20 == b2)
130 {
131 continue;
132 }
133 }
134 else if (b1 >= 0x61 && b1 <= 0x7A)
135 {
136 if (b1 - 0x20 == b2)
137 {
138 continue;
139 }
140 }
141 }
142
143 return false;
144 }
145 } while (b1 != 0);
146
147 return true;
148 }
◆ Equals() [3/5]
static bool BrawlLib.Internal.PString.Equals |
( |
PString |
s1, |
|
|
PString |
s2, |
|
|
bool |
ignoreCase |
|
) |
| |
|
inlinestatic |
104 {
105 return s1.Equals(s2, ignoreCase);
106 }
◆ Equals() [4/5]
static bool BrawlLib.Internal.PString.Equals |
( |
PString |
s1, |
|
|
string |
s2, |
|
|
bool |
ignoreCase |
|
) |
| |
|
inlinestatic |
109 {
110 return s1.Equals(s2, ignoreCase);
111 }
◆ Equals() [5/5]
bool BrawlLib.Internal.PString.Equals |
( |
string |
s, |
|
|
bool |
ignoreCase |
|
) |
| |
|
inline |
151 {
152 byte* pStr1 = _address;
153 char* pStr2;
154 byte b1, b2;
155
156 fixed (char* pChar = s)
157 {
158 pStr2 = pChar;
159 do
160 {
161 b1 = *pStr1++;
162 b2 = (byte) *pStr2++;
163 if (b1 != b2)
164 {
165 if (ignoreCase)
166 {
167 if (b1 >= 0x41 && b1 <= 0x5A)
168 {
169 if (b1 + 0x20 == b2)
170 {
171 continue;
172 }
173 }
174 else if (b1 >= 0x61 && b1 <= 0x7A)
175 {
176 if (b1 - 0x20 == b2)
177 {
178 continue;
179 }
180 }
181 }
182
183 return false;
184 }
185 } while (b1 != 0);
186 }
187
188 return true;
189 }
◆ GetHashCode()
override int BrawlLib.Internal.PString.GetHashCode |
( |
| ) |
|
|
inline |
192 {
193 return base.GetHashCode();
194 }
◆ operator byte *()
static implicit BrawlLib.Internal.PString.operator byte * |
( |
PString |
p | ) |
|
|
inlinestatic |
38 {
39 return p._address;
40 }
◆ operator int()
static implicit BrawlLib.Internal.PString.operator int |
( |
PString |
p | ) |
|
|
inlinestatic |
16 {
17 return (int) p._address;
18 }
◆ operator PString() [1/3]
static implicit BrawlLib.Internal.PString.operator PString |
( |
byte * |
p | ) |
|
|
inlinestatic |
43 {
45 }
PString(byte *address)
Definition: PString.cs:10
◆ operator PString() [2/3]
static implicit BrawlLib.Internal.PString.operator PString |
( |
sbyte * |
p | ) |
|
|
inlinestatic |
◆ operator PString() [3/3]
static implicit BrawlLib.Internal.PString.operator PString |
( |
VoidPtr |
p | ) |
|
|
inlinestatic |
◆ operator sbyte *()
static implicit BrawlLib.Internal.PString.operator sbyte * |
( |
PString |
p | ) |
|
|
inlinestatic |
28 {
29 return (sbyte*) p._address;
30 }
◆ operator string()
static BrawlLib.Internal.PString.operator string |
( |
PString |
p | ) |
|
|
inlineexplicitstatic |
58 {
59 return new string((sbyte*) p._address);
60 }
◆ operator uint()
static implicit BrawlLib.Internal.PString.operator uint |
( |
PString |
p | ) |
|
|
inlinestatic |
22 {
23 return (uint) p._address;
24 }
◆ operator VoidPtr()
static implicit BrawlLib.Internal.PString.operator VoidPtr |
( |
PString |
p | ) |
|
|
inlinestatic |
48 {
49 return *(VoidPtr*) &p;
50 }
◆ operator!=() [1/2]
static bool BrawlLib.Internal.PString.operator!= |
( |
PString |
p, |
|
|
PString |
s |
|
) |
| |
|
inlinestatic |
84 {
85 return !p.Equals(s, false);
86 }
◆ operator!=() [2/2]
static bool BrawlLib.Internal.PString.operator!= |
( |
PString |
p, |
|
|
string |
s |
|
) |
| |
|
inlinestatic |
74 {
75 return !p.Equals(s, false);
76 }
◆ operator+()
static PString BrawlLib.Internal.PString.operator+ |
( |
PString |
p, |
|
|
int |
amount |
|
) |
| |
|
inlinestatic |
63 {
64 p._address += amount;
65 return p;
66 }
◆ operator==() [1/2]
static bool BrawlLib.Internal.PString.operator== |
( |
PString |
p, |
|
|
PString |
s |
|
) |
| |
|
inlinestatic |
79 {
80 return p.Equals(s, false);
81 }
◆ operator==() [2/2]
static bool BrawlLib.Internal.PString.operator== |
( |
PString |
p, |
|
|
string |
s |
|
) |
| |
|
inlinestatic |
69 {
70 return p.Equals(s, false);
71 }
◆ ToString()
override string BrawlLib.Internal.PString.ToString |
( |
| ) |
|
|
inline |
197 {
198 return new string(this);
199 }
◆ Write() [1/5]
void BrawlLib.Internal.PString.Write |
( |
byte * |
p, |
|
|
int |
offset, |
|
|
int |
len |
|
) |
| |
|
inline |
251 {
252 byte* s = _address;
253 p += offset;
254 for (int i = 0; i < len; i++)
255 {
256 *s++ = *p++;
257 }
258 }
◆ Write() [2/5]
void BrawlLib.Internal.PString.Write |
( |
char * |
p, |
|
|
int |
offset, |
|
|
int |
len |
|
) |
| |
|
inline |
241 {
242 byte* s = _address;
243 p += offset;
244 for (int i = 0; i < len; i++)
245 {
246 *s++ = (byte) *p++;
247 }
248 }
◆ Write() [3/5]
void BrawlLib.Internal.PString.Write |
( |
string |
s | ) |
|
|
inline |
223 {
225 }
void Write(string s)
Definition: PString.cs:222
◆ Write() [4/5]
void BrawlLib.Internal.PString.Write |
( |
string |
s, |
|
|
int |
offset |
|
) |
| |
|
inline |
228 {
229 Write(s, offset, s.Length);
230 }
◆ Write() [5/5]
void BrawlLib.Internal.PString.Write |
( |
string |
s, |
|
|
int |
offset, |
|
|
int |
len |
|
) |
| |
|
inline |
233 {
234 fixed (char* p = s)
235 {
236 Write(p, offset, len);
237 }
238 }
◆ Length
int BrawlLib.Internal.PString.Length |
|
get |
208 {
209 get
210 {
211 int len = 0;
212 byte* p = _address;
213 while (*p++ != 0)
214 {
215 len++;
216 }
217
218 return len;
219 }
220 }
◆ this[int index]
byte BrawlLib.Internal.PString.this[int index] |
|
getsetadd |
202 {
203 get => _address[index];
204 set => _address[index] = value;
205 }
The documentation for this struct was generated from the following file:
- BrawlLib/Internal/PString.cs