diff --git a/include/code0/main.h b/include/code0/main.h index 8f599f7..96ec017 100644 --- a/include/code0/main.h +++ b/include/code0/main.h @@ -12,7 +12,12 @@ #define SCREEN_WIDTH 320 #define SCREEN_HEIGHT 240 + +#ifdef WIDESCREEN +#define ASPECT_RATIO (16.0f / 9.0f) +#else #define ASPECT_RATIO (4.0f / 3.0f) +#endif #define GFX_TASKS 2 #define DISPLAY_LIST_SIZE 0x1400 diff --git a/src/code0/4600.c b/src/code0/4600.c index 196b7c3..4730970 100644 --- a/src/code0/4600.c +++ b/src/code0/4600.c @@ -211,7 +211,12 @@ void scanSectors(s32 posx, s32 posy, s32 posz, f32 arg3, s16 sectnum) s32 i, j; D_8012FC40 = 1; - viewrange = (klabs(D_8016A15C) * 0.7999999999999999)/*(1/1.25)*/ + 0.6283185307179999/*(PI/5)*/; +#ifdef WIDESCREEN + /*TODO: understand magic value*/ + viewrange = (klabs(D_8016A15C) * 0.7999999999999999) /*(1/1.25)*/ + (PI / 4); +#else + viewrange = (klabs(D_8016A15C) * 0.7999999999999999) /*(1/1.25)*/ + 0.6283185307179999 /*(PI/5)*/; +#endif if (sinf(D_801AC8E0) > 0.0f) f2 = sinf(D_801AC8E0); diff --git a/src/code0/FDE0.c b/src/code0/FDE0.c index c6cf562..fac3bef 100644 --- a/src/code0/FDE0.c +++ b/src/code0/FDE0.c @@ -533,8 +533,14 @@ void func_80011180(void) { f32 f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14; s32 i; +#ifdef WIDESCREEN + /*TODO: understand magic value*/ + f1 = sinf(0.75f); + f2 = cosf(0.75f); +#else f1 = sinf(0.61086524f); f2 = cosf(0.61086524f); +#endif f3 = ((SCREEN_WIDTH / 2.f) - 1.f) / (f1 / f2); f5 = ((SCREEN_HEIGHT / 2.f) - 1.f); f4 = 1.0 / sqrt(SQ(f3) + SQ(f5));