Added some missing code for Liar Betty PV

This commit is contained in:
korenkonder
2024-06-16 23:49:06 +03:00
parent b3d225f929
commit 885da8ff9e
10 changed files with 123 additions and 58 deletions
+21 -23
View File
@@ -86,9 +86,9 @@ namespace rndr {
RenderManager::RenderManager() : pass_sw(), reflect_blur_num(), reflect_blur_filter(),
render(), sync_gpu(), cpu_time(), gpu_time(), draw_pass_3d(), field_11E(), field_11F(),
field_120(), show_ref_map(), reflect_type(), clear(), tex_index(), width(), height(),
multisample_framebuffer(), multisample_renderbuffer(), multisample(), check_state(),
show_vector_flags(), show_vector_length(), show_vector_z_offset(), show_stage_shadow(),
effect_texture(), npr_param(), field_31C(), field_31D(), field_31E(), field_31F(), field_320(), npr() {
multisample_framebuffer(), multisample_renderbuffer(), multisample(), check_state(), show_vector_flags(),
show_vector_length(), show_vector_z_offset(), show_stage_shadow(), effect_texture(), npr_param(),
field_31C(), reflect_texture_mask(), reflect_tone_curve(), field_31F(), light_stage_ambient(), npr() {
for (bool& i : pass_sw)
i = true;
@@ -165,10 +165,10 @@ namespace rndr {
refract = false;
npr_param = 0;
field_31C = false;
field_31D = false;
field_31E = false;
reflect_texture_mask = false;
reflect_tone_curve = false;
field_31F = false;
field_320 = false;
light_stage_ambient = false;
for (bool& i : draw_pass_3d)
i = true;
@@ -595,7 +595,7 @@ namespace rndr {
gl_state_enable_depth_test();
gl_state_set_depth_func(GL_LEQUAL);
gl_state_set_depth_mask(GL_TRUE);
rctx->disp_manager->draw(mdl::OBJ_TYPE_REFLECT_OPAQUE, 0, field_31D);
rctx->disp_manager->draw(mdl::OBJ_TYPE_REFLECT_OPAQUE, 0, reflect_texture_mask);
if (reflect_type == STAGE_DATA_REFLECT_REFLECT_MAP) {
gl_state_enable_blend();
gl_state_set_blend_func(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@@ -605,7 +605,7 @@ namespace rndr {
}
if (reflect_type == STAGE_DATA_REFLECT_REFLECT_MAP) {
uniform_value[U_REFLECT] = field_31E;
uniform_value[U_REFLECT] = reflect_tone_curve ? 1 : 0;
uniform_value[U_CLIP_PLANE] = clip_plane.data[0];
rctx->disp_manager->draw(mdl::OBJ_TYPE_REFLECT_CHARA_OPAQUE);
}
@@ -811,15 +811,21 @@ namespace rndr {
gl_state_bind_sampler(15, rctx->render_samplers[0]);
gl_state_bind_sampler(16, rctx->render_samplers[0]);
uniform_value[U12] = field_320 ? 1 : 0;
uniform_value[U_STAGE_AMBIENT] = light_stage_ambient ? 1 : 0;
if (alpha_z_sort) {
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT, 1);
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_SORT_BY_RADIUS, 2);
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_1, 1);
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_2, 1);
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_3, 1);
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_2_LOCAL, 1);
rctx->disp_manager->obj_sort(&rctx->view_mat,
mdl::OBJ_TYPE_TRANSLUCENT, 1, field_31F);
rctx->disp_manager->obj_sort(&rctx->view_mat,
mdl::OBJ_TYPE_TRANSLUCENT_SORT_BY_RADIUS, 2);
rctx->disp_manager->obj_sort(&rctx->view_mat,
mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_1, 1, field_31F);
rctx->disp_manager->obj_sort(&rctx->view_mat,
mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_2, 1, field_31F);
rctx->disp_manager->obj_sort(&rctx->view_mat,
mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_3, 1, field_31F);
rctx->disp_manager->obj_sort(&rctx->view_mat,
mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_2_LOCAL, 1, field_31F);
}
if (opaque_z_sort)
@@ -969,14 +975,6 @@ namespace rndr {
rctx->obj_scene_ubo.WriteMemory(rctx->obj_scene);
if (alpha_z_sort) {
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT, 1);
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_SORT_BY_RADIUS, 2);
}
if (opaque_z_sort)
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_OPAQUE, 0);
//shaders_ft.env_vert_set(20, show_vector_length, show_vector_z_offset, 0.0f, 0.0f);
for (int32_t i = 1; i < 4; i++) {
if (!(show_vector_flags & (1 << (i - 1))))