/*
- * Copyright (C) 2021-2023 Mt.ZERO Software, Harry Godden - All Rights Reserved
+ * Copyright (C) 2021-2024 Mt.ZERO Software, Harry Godden - All Rights Reserved
*/
-#ifndef WORLD_GATE_H
-#define WORLD_GATE_H
+#pragma once
-#include "camera.h"
+#include "vg/vg_camera.h"
#include "world.h"
#include "shaders/model_gate.h"
+#include "entity.h"
-struct world_gates{
+struct world_gates
+{
glmesh mesh;
mdl_submesh sm_surface, sm_marker[4];
- camera cam;
+ vg_camera cam;
v3f userportal_co;
}
-static world_gates;
+extern world_gates;
-static void world_gates_init(void);
-static void gate_transform_update( ent_gate *gate );
-static int render_gate( world_instance *world, world_instance *world_inside,
- ent_gate *gate, camera *cam );
+void world_gates_init(void);
+void gate_transform_update( ent_gate *gate );
+int render_gate( world_instance *world, world_instance *world_inside,
+ ent_gate *gate, vg_camera *cam );
-static int gate_intersect( ent_gate *gate, v3f pos, v3f last );
-static u32 world_intersect_gates( world_instance *world, v3f pos, v3f last );
+int gate_intersect( ent_gate *gate, v3f pos, v3f last );
+u32 world_intersect_gates( world_instance *world, v3f pos, v3f last );
-static void ent_gate_call( world_instance *world, ent_call *call );
-static void ent_gate_get_mdl_mtx( ent_gate *gate, m4x3f mmdl );
+void ent_gate_call( world_instance *world, ent_call *call );
+void ent_gate_get_mdl_mtx( ent_gate *gate, m4x3f mmdl );
-static void world_link_nonlocal_async( void *payload, u32 size );
-static void world_unlink_nonlocal( world_instance *world );
-static void render_gate_unlinked( world_instance *world,
- ent_gate *gate, camera *cam );
-
-#endif /* WORLD_GATE_H */
+void world_link_nonlocal_async( void *payload, u32 size );
+void world_unlink_nonlocal( world_instance *world );
+void render_gate_unlinked( world_instance *world,
+ ent_gate *gate, vg_camera *cam );