mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-04 20:58:03 +03:00
Minor fixes
This commit is contained in:
@@ -31,7 +31,7 @@ static void draw_pass_shadow_esm_filter(render_context* rctx,
|
||||
render_texture* dst, render_texture* buf, render_texture* src);
|
||||
static bool draw_pass_shadow_litproj(render_context* rctx, light_proj* litproj);
|
||||
static void draw_pass_sss_contour(render_context* rctx, post_process* pp);
|
||||
static void draw_pass_sss_filter(render_context* rctx, sss_data* a1);
|
||||
static void draw_pass_sss_filter(render_context* rctx, sss_data* sss);
|
||||
static int32_t draw_pass_3d_get_translucent_count(render_context* rctx);
|
||||
static void draw_pass_3d_shadow_reset(render_context* rctx);
|
||||
static void draw_pass_3d_shadow_set(shadow* shad, render_context* rctx);
|
||||
@@ -1228,7 +1228,7 @@ static void draw_pass_sss_filter_calc_coef(double_t a1, size_t a2, double_t a3,
|
||||
}
|
||||
}
|
||||
|
||||
static void draw_pass_sss_filter(render_context* rctx, sss_data* a1) {
|
||||
static void draw_pass_sss_filter(render_context* rctx, sss_data* sss) {
|
||||
const int32_t sss_count = 6;
|
||||
vec3 interest = rctx->camera->interest;
|
||||
vec3 view_point = rctx->camera->view_point;
|
||||
@@ -1280,8 +1280,8 @@ static void draw_pass_sss_filter(render_context* rctx, sss_data* a1) {
|
||||
rctx->obj_batch.g_sss_param = { v33, 0.0f, 0.0f, 0.0f };
|
||||
|
||||
gl_state_active_texture(0);
|
||||
if (a1->npr_contour) {
|
||||
a1->textures[0].bind();
|
||||
if (sss->npr_contour) {
|
||||
sss->textures[0].bind();
|
||||
glViewport(0, 0, 640, 360);
|
||||
post_process* pp = &rctx->post_process;
|
||||
uniform_value[U_REDUCE] = 0;
|
||||
@@ -1289,11 +1289,11 @@ static void draw_pass_sss_filter(render_context* rctx, sss_data* a1) {
|
||||
gl_state_bind_texture_2d(pp->rend_texture.color_texture->tex);
|
||||
render_texture::draw_quad(&shaders_ft, 640, 360, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f);
|
||||
}
|
||||
a1->textures[2].bind();
|
||||
sss->textures[2].bind();
|
||||
glViewport(0, 0, 320, 180);
|
||||
uniform_value[U_SSS_FILTER] = 0;
|
||||
shaders_ft.set(SHADER_FT_SSS_FILT);
|
||||
gl_state_bind_texture_2d(a1->textures[0].color_texture->tex);
|
||||
gl_state_bind_texture_2d(sss->textures[0].color_texture->tex);
|
||||
render_texture::draw_quad(&shaders_ft, 640, 360, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f);
|
||||
|
||||
sss_filter_gaussian_coef_shader_data shader_data = {};
|
||||
@@ -1306,11 +1306,11 @@ static void draw_pass_sss_filter(render_context* rctx, sss_data* a1) {
|
||||
draw_pass_sss_filter_calc_coef(1.0, sss_count, v34, 3, a5, a6, a7, a8, shader_data.g_coef);
|
||||
|
||||
rctx->sss_filter_gaussian_coef_ubo.WriteMapMemory(shader_data);
|
||||
a1->textures[1].bind();
|
||||
sss->textures[1].bind();
|
||||
glViewport(0, 0, 320, 180);
|
||||
uniform_value[U_SSS_FILTER] = 3;
|
||||
shaders_ft.set(SHADER_FT_SSS_FILT);
|
||||
gl_state_bind_texture_2d(a1->textures[2].color_texture->tex);
|
||||
gl_state_bind_texture_2d(sss->textures[2].color_texture->tex);
|
||||
rctx->sss_filter_gaussian_coef_ubo.Bind(1);
|
||||
render_texture::draw_quad(&shaders_ft, 320, 180, 1.0f, 1.0f, 0.96f, 1.0f, 0.0f);
|
||||
gl_state_bind_texture_2d(0);
|
||||
|
||||
@@ -18,7 +18,7 @@ static void stage_param_snow_write_string(stream& s,
|
||||
char* buf, size_t buf_size, std::string& value);
|
||||
|
||||
stage_param_snow_colli_ground::stage_param_snow_colli_ground()
|
||||
: field_0(), field_4(), field_8(), field_C(), field_10() {
|
||||
: min_x(), max_x(), min_z(), max_z(), y() {
|
||||
|
||||
}
|
||||
|
||||
@@ -183,8 +183,8 @@ static void stage_param_snow_read_inner(stage_param_snow* snow, stream& s) {
|
||||
else if (!str_utils_compare_length(buf, sizeof(buf), "colli_ground", 12)) {
|
||||
stage_param_snow_colli_ground& colli_ground = snow->colli_ground;
|
||||
if (buf[12] != ' ' || sscanf_s(buf + 13, "%f %f %f %f %f",
|
||||
&colli_ground.field_0, &colli_ground.field_4, &colli_ground.field_8,
|
||||
&colli_ground.field_C, &colli_ground.field_10) != 5)
|
||||
&colli_ground.min_x, &colli_ground.max_x,
|
||||
&colli_ground.min_z, &colli_ground.max_z, &colli_ground.y) != 5)
|
||||
goto End;
|
||||
}
|
||||
}
|
||||
@@ -264,11 +264,11 @@ static void stage_param_snow_write_inner(stage_param_snow* snow, stream& s) {
|
||||
|
||||
stage_param_snow_colli_ground& colli_ground = snow->colli_ground;
|
||||
s.write("colli_ground", 12);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.field_0);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.field_4);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.field_8);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.field_C);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.field_10);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.min_x);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.max_x);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.min_z);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.max_z);
|
||||
stage_param_snow_write_float_t(s, buf, sizeof(buf), colli_ground.y);
|
||||
s.write_char('\n');
|
||||
}
|
||||
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
#include <string>
|
||||
|
||||
struct stage_param_snow_colli_ground {
|
||||
float_t field_0;
|
||||
float_t field_4;
|
||||
float_t field_8;
|
||||
float_t field_C;
|
||||
float_t field_10;
|
||||
float_t min_x;
|
||||
float_t max_x;
|
||||
float_t min_z;
|
||||
float_t max_z;
|
||||
float_t y;
|
||||
|
||||
stage_param_snow_colli_ground();
|
||||
};
|
||||
|
||||
@@ -43,7 +43,8 @@ bool TaskDataInit::Ctrl() {
|
||||
|
||||
switch (state) {
|
||||
case 0: {
|
||||
sprite_manager_reset_res_data();
|
||||
// Fucks up scaling
|
||||
//sprite_manager_reset_res_data();
|
||||
sprite_manager_read_file(4, "", aft_data, aft_spr_db);
|
||||
sprite_manager_read_file(472, "", aft_data, aft_spr_db);
|
||||
sprite_manager_read_file(43, "", aft_data, aft_spr_db);
|
||||
|
||||
+4
-5
@@ -2651,11 +2651,10 @@ namespace dw {
|
||||
callback_data.field_8 = 0x1000002;
|
||||
else {
|
||||
vec2 v23 = sub_1402E4790();
|
||||
if (v23.x + v10 <= v9)
|
||||
if (v9 <= v23.x + v10 + v23.y)
|
||||
callback_data.field_8 = 0x1000005;
|
||||
else
|
||||
callback_data.field_8 = 0x1000006;
|
||||
if (v23.x + v10 > v9)
|
||||
callback_data.field_8 = 0x1000005;
|
||||
else if (v9 > v23.x + v10 + v23.y)
|
||||
callback_data.field_8 = 0x1000006;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
-13
@@ -240,6 +240,8 @@ int32_t render_main(render_init_struct* ris) {
|
||||
#if !(BAKE_PNG || BAKE_VIDEO)
|
||||
width = window_rect.right;
|
||||
height = window_rect.bottom;
|
||||
old_width = width;
|
||||
old_height = height;
|
||||
#endif
|
||||
|
||||
scale_index = ris->scale_index > 0 && ris->scale_index < RENDER_SCALE_MAX
|
||||
@@ -852,6 +854,8 @@ static render_context* render_context_load() {
|
||||
internal_2d_res.x, internal_2d_res.y, width, height);
|
||||
rctx->render_manager.resize(internal_2d_res.x, internal_2d_res.y);
|
||||
rctx->litproj->resize(internal_3d_res.x, internal_3d_res.y);
|
||||
sprite_manager_set_res((double_t)internal_2d_res.x / (double_t)internal_2d_res.y,
|
||||
internal_2d_res.x, internal_2d_res.y);
|
||||
|
||||
rctx->camera->initialize(aspect);
|
||||
|
||||
@@ -1326,22 +1330,12 @@ static void render_resize_fb(render_context* rctx, bool change_fb) {
|
||||
double_t res_width = (double_t)width;
|
||||
double_t res_height = (double_t)height;
|
||||
double_t view_aspect = res_width / res_height;
|
||||
res_width = round(res_height * aspect);
|
||||
res_height = round(res_width / aspect);
|
||||
if (view_aspect < aspect) {
|
||||
res_width = (double_t)width;
|
||||
if (view_aspect < aspect)
|
||||
res_height = round(res_width / aspect);
|
||||
}
|
||||
else {
|
||||
else if (view_aspect > aspect)
|
||||
res_width = round(res_height * aspect);
|
||||
res_height = round(res_width / aspect);
|
||||
if (view_aspect > aspect)
|
||||
res_height = round(res_width / aspect);
|
||||
}
|
||||
|
||||
vec2i internal_res;
|
||||
internal_res.x = (int32_t)res_width;
|
||||
internal_res.y = (int32_t)res_height;
|
||||
vec2i internal_res = { (int32_t)res_width, (int32_t)res_height };
|
||||
|
||||
#if BAKE_PNG || BAKE_VIDEO
|
||||
internal_2d_res = vec2i::clamp(internal_res * 2, 1, sv_max_texture_size);
|
||||
|
||||
Reference in New Issue
Block a user