From f414171cbfe6ff2dcbdffcfe0765a57e29f4f21f Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Sat, 19 Apr 2025 17:37:03 -0500 Subject: [PATCH] haunted_mansion: add collision --- .../hauntedMansionCollision.blend | Bin 0 -> 882160 bytes .../hauntedMansionCollision.mtl | 2 + .../hauntedMansionCollision.obj | 360 +++++++ model/haunted_mansion/model_collision.h | 931 ++++++++++++++++++ src/haunted_mansion.cpp | 219 +++- 5 files changed, 1494 insertions(+), 18 deletions(-) create mode 100644 model/haunted_mansion/hauntedMansionCollision.blend create mode 100644 model/haunted_mansion/hauntedMansionCollision.mtl create mode 100644 model/haunted_mansion/hauntedMansionCollision.obj create mode 100644 model/haunted_mansion/model_collision.h diff --git a/model/haunted_mansion/hauntedMansionCollision.blend b/model/haunted_mansion/hauntedMansionCollision.blend new file mode 100644 index 0000000000000000000000000000000000000000..044337981862b6c6995f59e53bdafcaf8e7f0591 GIT binary patch literal 882160 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Π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 #include "model/haunted_mansion/model_mansion.h" #include "model/haunted_mansion/model_cone.h" #include "model/haunted_mansion/model_cube.h" +#include "model/haunted_mansion/model_collision.h" + +#define _fsrra(n) (1.0f / (__builtin_sqrtf(n))) void vbr100() { @@ -227,6 +230,33 @@ void do_get_condition() } } +void global_polygon_type_0(ta_parameter_writer& writer) +{ + const uint32_t parameter_control_word = para_control::para_type::polygon_or_modifier_volume + | para_control::list_type::opaque + | obj_control::col_type::packed_color + ; + + const uint32_t isp_tsp_instruction_word = isp_tsp_instruction_word::depth_compare_mode::always + | isp_tsp_instruction_word::culling_mode::no_culling; + + const uint32_t tsp_instruction_word = tsp_instruction_word::fog_control::no_fog + | tsp_instruction_word::src_alpha_instr::one + | tsp_instruction_word::dst_alpha_instr::zero + ; + + const uint32_t texture_control_word = 0; + + writer.append() = + ta_global_parameter::polygon_type_0(parameter_control_word, + isp_tsp_instruction_word, + tsp_instruction_word, + texture_control_word, + 0, // data_size_for_sort_dma + 0 // next_address_for_sort_dma + ); +} + void global_polygon_type_1(ta_parameter_writer& writer, uint32_t texture_address, uint32_t list, @@ -331,12 +361,51 @@ static inline void render_tri(ta_parameter_writer& writer, ci); } +static inline void render_line(ta_parameter_writer& writer, + vec3 p1, + vec3 p2, + uint32_t base_color) +{ + float dy = p2.y - p1.y; + float dx = p2.x - p1.x; + float d = _fsrra(dx * dx + dy * dy) * 0.7f; + float dy1 = dy * d; + float dx1 = dx * d; + + const vec3 v[4] = { + { p1.x + dy1, p1.y + -dx1, p1.z }, + { p1.x + -dy1, p1.y + dx1, p1.z }, + { p2.x + -dy1, p2.y + dx1, p2.z }, + { p2.x + dy1, p2.y + -dx1, p2.z }, + }; + + writer.append() = + ta_vertex_parameter::polygon_type_0(polygon_vertex_parameter_control_word(false), + v[0].x, v[0].y, v[0].z, + base_color); + + writer.append() = + ta_vertex_parameter::polygon_type_0(polygon_vertex_parameter_control_word(false), + v[1].x, v[1].y, v[1].z, + base_color); + + writer.append() = + ta_vertex_parameter::polygon_type_0(polygon_vertex_parameter_control_word(false), + v[3].x, v[3].y, v[3].z, + base_color); + + writer.append() = + ta_vertex_parameter::polygon_type_0(polygon_vertex_parameter_control_word(true), + v[2].x, v[2].y, v[2].z, + base_color); +} + constexpr inline mat4x4 screen_rotation(float theta, float x, float y) { //float zt = -0.7853981633974483 + (0.2); float zt = -0.7853981633974483 * 0; - float yt = -0.7853981633974483 * theta; - float xt = 0.7853981633974483 * 4; + float yt = -0.7853981633974483 * 0; + float xt = 0.7853981633974483 * 0; //float xt = 0.7853981633974483 * 3.7; mat4x4 rx = { @@ -370,8 +439,6 @@ constexpr inline mat4x4 screen_rotation(float theta, float x, float y) return ry * t * rx * rz; } -#define _fsrra(n) (1.0f / (__builtin_sqrtf(n))) - static inline float inverse_length(vec3 v) { float f = dot(v, v); @@ -678,22 +745,118 @@ void render_cone(ta_parameter_writer& writer, const mat4x4& cone_model) screen_transform(c)); } -void transfer_scene(ta_parameter_writer& writer, const mat4x4& screen, const mat4x4& cone_model) +vec2 line_intersection(vec2 a1, vec2 a2, + vec2 b1, vec2 b2) +{ + float x1 = a1.x; + float y1 = a1.y; + float x2 = a2.x; + float y2 = a2.y; + + float x3 = b1.x; + float y3 = b1.y; + float x4 = b2.x; + float y4 = b2.y; + + float x1x2 = x1 - x2; + float x1x3 = x1 - x3; + float x3x4 = x3 - x4; + float y1y2 = y1 - y2; + float y1y3 = y1 - y3; + float y3y4 = y3 - y4; + + float div = 1.0f / (x1x2 * y3y4 - y1y2 * x3x4); + + float t = (x1x3 * y3y4 - y1y3 * x3x4) * div; + float u = -(x1x2 * y1y3 - y1y2 * x1x3) * div; + + return {t, u}; +} + +bool collided[256] = {}; + +bool line_has_collision(vec3 a1, vec3 a2, const mat4x4& model_trans, const mat4x4& screen) +{ + const struct model * model = &haunted_mansion_collision_model; + const struct object * object = &haunted_mansion_collision_house_coll_display; + + float tx = screen[0][3]; + float ty = screen[2][3]; + + for (int i = 0; i < object->line_count; i++) { + + const union line * line = &object->line[i]; + + vec3 la = model->position[line->a]; + vec3 lb = model->position[line->b]; + + vec2 b1 = {la.x + tx, la.z + ty}; + vec2 b2 = {lb.x + tx, lb.z + ty}; + + vec2 tu = line_intersection({a1.x, a1.y}, + {a2.x, a2.y}, + {b1.x, b1.y}, + {b2.x, b2.y}); + + if (tu.x >= 0.0f && tu.x <= 1.0f && tu.y >= 0.0f && tu.y <= 1.0f) { + collided[i] = true; + return true; + } + } + return false; +} + +float last_dx = 0; +float last_dy = 0; + +void render_collision(ta_parameter_writer& writer, const mat4x4& model_trans, const mat4x4& screen) +{ + mat4x4 trans = screen * model_trans; + + const uint32_t base_color = 0xffffffff; + + const struct model * model = &haunted_mansion_collision_model; + const struct object * object = &haunted_mansion_collision_house_coll_display; + + int line_count = object->line_count; + for (int i = 0; i < line_count; i++) { + + const union line * line = &object->line[i]; + + vec3 a = trans * model->position[line->a]; + vec3 b = trans * model->position[line->b]; + + if (a.z < 0 || b.z < 0) + continue; + + render_line(writer, + screen_transform(a), + screen_transform(b), + collided[i] ? 0xffff0000 : base_color); + } + + vec3 a = {last_dx * -2, last_dy * -2, 1}; + vec3 b = {0, 0, 1}; + if (a.z > 0) { + render_line(writer, + screen_transform(a), + screen_transform(b), + 0xff00ff00); + } +} + +void transfer_scene(ta_parameter_writer& writer, const mat4x4& mansion_model_trans, const mat4x4& screen, const mat4x4& cone_model) { // opaque { - global_polygon_type_1(writer, texture_memory_alloc.texture.start, + global_polygon_type_1(writer, + texture_memory_alloc.texture.start, para_control::list_type::opaque, isp_tsp_instruction_word::culling_mode::no_culling); - float scale = 1.f; - float translate = 0.f; - const mat4x4 model = { - scale, 0, 0, 0, - 0, scale, 0, 0, - 0, 0, -scale, translate, - 0, 0, 0, 1, - }; - render_model(writer, model, screen, &mansion_model); + render_model(writer, mansion_model_trans, screen, &mansion_model); + + global_polygon_type_0(writer); + render_collision(writer, mansion_model_trans, screen); } // end of opaque list writer.append() = @@ -823,7 +986,7 @@ constexpr inline mat4x4 update_cone() return mry * mrx; } -constexpr inline mat4x4 update_analog(mat4x4& screen) +constexpr inline mat4x4 update_analog(const mat4x4& model_trans, const mat4x4& screen) { const float l_ = static_cast(data[0].analog_coordinate_axis[0]) * (1.f / 255.f); const float r_ = static_cast(data[0].analog_coordinate_axis[1]) * (1.f / 255.f); @@ -833,6 +996,17 @@ constexpr inline mat4x4 update_analog(mat4x4& screen) float x = 0.05f * -x_; float y = 0.05f * y_; + last_dx = x; + last_dy = y; + + vec3 a = {last_dx * -2, last_dy * -2, 1.f}; + vec3 b = {0, 0, 1.f}; + + if (line_has_collision(a, b, model_trans, screen)) { + x = 0; + y = 0; + } + mat4x4 t = { 1, 0, 0, x, 0, 1, 0, 0, @@ -926,10 +1100,19 @@ void main() mat4x4 screen = screen_rotation(0, 0, 0); + float scale = 1.f; + float translate = 0.f; + const mat4x4 mansion_model_trans = { + scale, 0, 0, 0, + 0, -scale, 0, 0, + 0, 0, scale, translate, + 0, 0, 0, 1, + }; + while (1) { maple::dma_wait_complete(); do_get_condition(); - screen = update_analog(screen); + screen = update_analog(mansion_model_trans, screen); mat4x4 cone_model = update_cone(); ta_polygon_converter_init2(texture_memory_alloc.isp_tsp_parameters[ta].start, @@ -941,7 +1124,7 @@ void main() tile_width, tile_height); writer.offset = 0; - transfer_scene(writer, screen, cone_model); + transfer_scene(writer, mansion_model_trans, screen, cone_model); ta_polygon_converter_writeback(writer.buf, writer.offset); ta_polygon_converter_transfer(writer.buf, writer.offset); ta_wait_opaque_modifier_volume_list();