MCPcopy Create free account
hub / github.com/GDRETools/gdsdecomp / parse_variant

Method parse_variant

compat/resource_compat_binary.cpp:185–723  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

183}
184
185Error ResourceLoaderCompatBinary::parse_variant(Variant &r_v) {
186 uint32_t prop_type = f->get_32();
187 print_bl("find property of type: " + itos(prop_type));
188
189 switch (prop_type) {
190 case VARIANT_NIL: {
191 r_v = Variant();
192 } break;
193 case VARIANT_BOOL: {
194 r_v = bool(f->get_32());
195 } break;
196 case VARIANT_INT: {
197 r_v = int(f->get_32());
198 } break;
199 case VARIANT_INT64: {
200 r_v = int64_t(f->get_64());
201 } break;
202 case VARIANT_FLOAT: {
203 r_v = f->get_real();
204 } break;
205 case VARIANT_DOUBLE: {
206 r_v = f->get_double();
207 } break;
208 case VARIANT_STRING: {
209 r_v = get_unicode_string();
210 } break;
211 case VARIANT_VECTOR2: {
212 Vector2 v;
213 v.x = f->get_real();
214 v.y = f->get_real();
215 r_v = v;
216
217 } break;
218 case VARIANT_VECTOR2I: {
219 Vector2i v;
220 v.x = f->get_32();
221 v.y = f->get_32();
222 r_v = v;
223
224 } break;
225 case VARIANT_RECT2: {
226 Rect2 v;
227 v.position.x = f->get_real();
228 v.position.y = f->get_real();
229 v.size.x = f->get_real();
230 v.size.y = f->get_real();
231 r_v = v;
232
233 } break;
234 case VARIANT_RECT2I: {
235 Rect2i v;
236 v.position.x = f->get_32();
237 v.position.y = f->get_32();
238 v.size.x = f->get_32();
239 v.size.y = f->get_32();
240 r_v = v;
241
242 } break;

Callers 1

Calls 11

CallableClass · 0.85
_advance_paddingFunction · 0.85
read_realsFunction · 0.85
push_backMethod · 0.80
localize_pathMethod · 0.80
sizeMethod · 0.45
containsMethod · 0.45
findMethod · 0.45
is_validMethod · 0.45
resizeMethod · 0.45
get_bufferMethod · 0.45

Tested by 1