summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/assets.c6
-rw-r--r--src/objects/material.c9
2 files changed, 10 insertions, 5 deletions
diff --git a/src/assets.c b/src/assets.c
index 499b304..cd68bb8 100644
--- a/src/assets.c
+++ b/src/assets.c
@@ -3,6 +3,7 @@
#include "log.h"
#include "assets.h"
+#include "moro_vec.h"
#include "util.h"
mri_asset_manager asset_manager;
@@ -151,12 +152,11 @@ mri_asset *mri_asset_manager_get(mstr *part, mri_file_type_hint hint) {
if (!asset_loaded) {
mstr_prepend(path, mstr_c("assets/"));
- asset_from_path(path, mvec_next(asset_manager.files));
+ asset = mvec_next(asset_manager.files);
+ asset_from_path(path, asset);
if (asset->type == ASSET_VOID) {
mvec_pop(asset_manager.files);
asset = &asset_void;
- } else {
- asset = mvec_last(asset_manager.files);
}
}
diff --git a/src/objects/material.c b/src/objects/material.c
index 2076274..d49b0ea 100644
--- a/src/objects/material.c
+++ b/src/objects/material.c
@@ -49,9 +49,14 @@ void mri_material_load(mri_engine *engine, mri_material *material, mri_material_
pass = mri_material_next_pass(material);
pass->object = engine->current_object;
- pass->gl_object = &engine->current_object->gl_uv_object;
- glm_mat4_copy(engine->current_object->ortho, pass->model);
+ if (engine->current_object->passthrough) {
+ pass->gl_object = &engine->current_object->gl_object;
+ glm_mat4_copy(engine->current_object->model, pass->model);
+ } else {
+ pass->gl_object = &engine->current_object->gl_uv_object;
+ glm_mat4_copy(engine->current_object->ortho, pass->model);
+ }
mri_pass_load(engine, pass0, MATERIAL_ONLY_PASS, pass);
break;