Compare commits
2 Commits
d9b676d1b2
...
d7a6bc4ae4
Author | SHA1 | Date | |
---|---|---|---|
d7a6bc4ae4 | |||
597a8c736e |
7
deps/ox/src/ox/mc/read.hpp
vendored
7
deps/ox/src/ox/mc/read.hpp
vendored
@ -248,12 +248,17 @@ constexpr Error MetalClawReaderTemplate<Reader>::field(const char*, HashMap<Stri
|
|||||||
auto reader = child("");
|
auto reader = child("");
|
||||||
auto &handler = *reader.interface();
|
auto &handler = *reader.interface();
|
||||||
oxReturnError(handler.setTypeInfo("List", 0, {}, static_cast<std::size_t>(len)));
|
oxReturnError(handler.setTypeInfo("List", 0, {}, static_cast<std::size_t>(len)));
|
||||||
for (std::size_t i = 0; i < len; ++i) {
|
// this loop body needs to be in a lambda because of the potential alloca call
|
||||||
|
constexpr auto loopBody = [](auto& handler) {
|
||||||
oxRequire(keyLen, handler.stringLength(nullptr));
|
oxRequire(keyLen, handler.stringLength(nullptr));
|
||||||
auto wkey = ox_malloca(keyLen + 1, char, 0);
|
auto wkey = ox_malloca(keyLen + 1, char, 0);
|
||||||
auto wkeyPtr = wkey.get();
|
auto wkeyPtr = wkey.get();
|
||||||
oxReturnError(handler.fieldCString("", &wkeyPtr, keyLen + 1));
|
oxReturnError(handler.fieldCString("", &wkeyPtr, keyLen + 1));
|
||||||
oxReturnError(handler.field("", &val->operator[](wkey.get())));
|
oxReturnError(handler.field("", &val->operator[](wkey.get())));
|
||||||
|
return OxError(0);
|
||||||
|
};
|
||||||
|
for (std::size_t i = 0; i < len; ++i) {
|
||||||
|
oxReturnError(loopBody(handler));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -357,9 +357,9 @@ ox::Error initGfx(
|
|||||||
for (auto &bg : gctx.cbbs) {
|
for (auto &bg : gctx.cbbs) {
|
||||||
initBackgroundBufferset(gctx.bgShader, bg);
|
initBackgroundBufferset(gctx.bgShader, bg);
|
||||||
}
|
}
|
||||||
|
initSpritesBufferset(gctx.spriteShader, gctx.spriteBlocks);
|
||||||
if (initParams.glInstallDrawer) {
|
if (initParams.glInstallDrawer) {
|
||||||
turbine::gl::addDrawer(gctx.turbineCtx, &gctx.drawer);
|
turbine::gl::addDrawer(gctx.turbineCtx, &gctx.drawer);
|
||||||
initSpritesBufferset(gctx.spriteShader, gctx.spriteBlocks);
|
|
||||||
}
|
}
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user