diff options
| author | coco875 <59367621+coco875@users.noreply.github.com> | 2024-09-01 05:14:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-31 21:14:39 -0600 |
| commit | 56de6d00ea29ca6559cc813e00a095bd37931555 (patch) | |
| tree | 29452f138ab44cd100515816a1094d0c4e1d4745 /src/actors | |
| parent | a2951134385cb4bb65815985f9dd18c1ca4bc5cc (diff) | |
[enhancement] Disable LOD (#72)
* implement disable LOD
* disable lod for bowser statue
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
Diffstat (limited to 'src/actors')
| -rw-r--r-- | src/actors/box_truck/render.inc.c | 4 | ||||
| -rw-r--r-- | src/actors/car/render.inc.c | 3 | ||||
| -rw-r--r-- | src/actors/piranha_plant/render.inc.c | 4 | ||||
| -rw-r--r-- | src/actors/school_bus/render.inc.c | 4 | ||||
| -rw-r--r-- | src/actors/tanker_truck/render.inc.c | 4 | ||||
| -rw-r--r-- | src/actors/train/render.inc.c | 12 | ||||
| -rw-r--r-- | src/actors/yoshi_egg/render.inc.c | 5 |
7 files changed, 36 insertions, 0 deletions
diff --git a/src/actors/box_truck/render.inc.c b/src/actors/box_truck/render.inc.c index 2ce7647b0..b18b22643 100644 --- a/src/actors/box_truck/render.inc.c +++ b/src/actors/box_truck/render.inc.c @@ -22,6 +22,10 @@ void render_actor_box_truck(Camera* arg0, struct Actor* arg1) { return; } + if (CVarGetInteger("gDisableLod", 0) == 1) { + temp_f0 = 0.0f; + } + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); diff --git a/src/actors/car/render.inc.c b/src/actors/car/render.inc.c index 0d3a6a96d..3ac8ec1c1 100644 --- a/src/actors/car/render.inc.c +++ b/src/actors/car/render.inc.c @@ -19,6 +19,9 @@ void render_actor_car(Camera* arg0, struct Actor* arg1) { is_within_render_distance(arg0->pos, arg1->pos, arg0->rot[1], 2500.0f, gCameraZoom[arg0 - camera1], 9000000.0f); if (!(temp_f0 < 0.0f)) { + if (CVarGetInteger("gDisableLod", 0) == 1) { + temp_f0 = 0.0f; + } gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); diff --git a/src/actors/piranha_plant/render.inc.c b/src/actors/piranha_plant/render.inc.c index c6f6e1ae9..b14fd5d63 100644 --- a/src/actors/piranha_plant/render.inc.c +++ b/src/actors/piranha_plant/render.inc.c @@ -53,6 +53,10 @@ void render_actor_piranha_plant(Camera* arg0, Mat4 arg1, struct PiranhaPlant* ar return; } + if (CVarGetInteger("gDisableLod", 0) == 1) { + temp_f0 = 0.0f; + } + if (90000.0f < temp_f0) { switch (temp_lo) { diff --git a/src/actors/school_bus/render.inc.c b/src/actors/school_bus/render.inc.c index dc6753074..47c40ef1f 100644 --- a/src/actors/school_bus/render.inc.c +++ b/src/actors/school_bus/render.inc.c @@ -23,6 +23,10 @@ void render_actor_school_bus(Camera* arg0, struct Actor* arg1) { return; } + if (CVarGetInteger("gDisableLod", 0) == 1) { + temp_f0 = 0.0f; + } + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); diff --git a/src/actors/tanker_truck/render.inc.c b/src/actors/tanker_truck/render.inc.c index 8d940dc33..f28eb60de 100644 --- a/src/actors/tanker_truck/render.inc.c +++ b/src/actors/tanker_truck/render.inc.c @@ -19,6 +19,10 @@ void render_actor_tanker_truck(Camera* camera, struct Actor* arg1) { if (!(temp_f0 < 0.0f)) { + if (CVarGetInteger("gDisableLod", 0) == 1) { + temp_f0 = 0.0f; + } + gSPTexture(gDisplayListHead++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); diff --git a/src/actors/train/render.inc.c b/src/actors/train/render.inc.c index cdaca02f0..4f4c26d6a 100644 --- a/src/actors/train/render.inc.c +++ b/src/actors/train/render.inc.c @@ -26,6 +26,10 @@ void render_actor_train_engine(Camera* camera, struct TrainCar* actor) { return; } + if (CVarGetInteger("gDisableLod", 0) == 1) { + distance = 0.0f; + } + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot); @@ -173,6 +177,10 @@ void render_actor_train_tender(Camera* camera, struct TrainCar* actor) { return; } + if (CVarGetInteger("gDisableLod", 0) == 1) { + temp_f0 = 0.0f; + } + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot); @@ -258,6 +266,10 @@ void render_actor_train_passenger_car(Camera* camera, struct TrainCar* actor) { return; } + if (CVarGetInteger("gDisableLod", 0) == 1) { + temp_f0 = 0.0f; + } + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); mtxf_pos_rotation_xyz(sp120, actor->pos, actor->rot); diff --git a/src/actors/yoshi_egg/render.inc.c b/src/actors/yoshi_egg/render.inc.c index c7a500c0b..6c2a7a0cc 100644 --- a/src/actors/yoshi_egg/render.inc.c +++ b/src/actors/yoshi_egg/render.inc.c @@ -29,6 +29,11 @@ void render_actor_yoshi_egg(Camera* arg0, Mat4 arg1, struct YoshiValleyEgg* egg, temp_f0 = 0.0f; } + if (CVarGetInteger("gDisableLod", 0) == 1) { + arg3 = 15; + temp_f0 = 0.0f; + } + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); if ((arg3 > 12) && (arg3 < 20)) { if (temp_f0 < 640000.0f) { |
