Fix deserializing resource usage debug data
This commit is contained in:
parent
f38b540273
commit
3e7752463a
|
@ -56,15 +56,17 @@ Array ServersDebugger::ResourceUsage::serialize() {
|
||||||
bool ServersDebugger::ResourceUsage::deserialize(const Array &p_arr) {
|
bool ServersDebugger::ResourceUsage::deserialize(const Array &p_arr) {
|
||||||
CHECK_SIZE(p_arr, 1, "ResourceUsage");
|
CHECK_SIZE(p_arr, 1, "ResourceUsage");
|
||||||
uint32_t size = p_arr[0];
|
uint32_t size = p_arr[0];
|
||||||
CHECK_SIZE(p_arr, size, "ResourceUsage");
|
ERR_FAIL_COND_V(size % 4, false);
|
||||||
int idx = 1;
|
CHECK_SIZE(p_arr, 1 + size, "ResourceUsage");
|
||||||
for (uint32_t i = 0; i < size / 4; i++) {
|
uint32_t idx = 1;
|
||||||
|
while (idx < 1 + size) {
|
||||||
ResourceInfo info;
|
ResourceInfo info;
|
||||||
info.path = p_arr[idx];
|
info.path = p_arr[idx];
|
||||||
info.format = p_arr[idx + 1];
|
info.format = p_arr[idx + 1];
|
||||||
info.type = p_arr[idx + 2];
|
info.type = p_arr[idx + 2];
|
||||||
info.vram = p_arr[idx + 3];
|
info.vram = p_arr[idx + 3];
|
||||||
infos.push_back(info);
|
infos.push_back(info);
|
||||||
|
idx += 4;
|
||||||
}
|
}
|
||||||
CHECK_END(p_arr, idx, "ResourceUsage");
|
CHECK_END(p_arr, idx, "ResourceUsage");
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue