3D resolution setting extended down to 1/16

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-03 09:48:25 +01:00
1 parent c54998be55
commit 4d1bf30586
4 files changed
+6 -4

No files matched your search

+1 -1
View File
@@ -73,7 +73,7 @@ fn apply_settings(s: &Settings, r3d: &mut R3d) {
r3d.outlines = s.outlines;
r3d.set_wall_detail(s.wall_subdivisions());
r3d.max_lights = s.max_lights as usize;
r3d.render_div = s.render_scale.clamp(1, 4) as u32;
r3d.render_div = s.render_scale.clamp(1, 16) as u32;
audio::set_volumes(s.music_volume, s.volume, s.muted);
}
+1 -1
View File
@@ -139,7 +139,7 @@ fn item_change(it: Item, s: &mut Settings, d: i32) {
Item::WallDetail => s.wall_detail = cycle(&[1u8, 2, 3], s.wall_detail, d),
Item::Lights => s.max_lights = cycle(&[8u8, 16, 24], s.max_lights, d),
Item::UiScale => s.ui_factor = cycle(&[0u8, 1, 2, 3, 4], s.ui_factor, d),
Item::RenderScale => s.render_scale = cycle(&[1u8, 2, 3, 4], s.render_scale.max(1), d),
Item::RenderScale => s.render_scale = cycle(&(1u8..=16).collect::<Vec<u8>>(), s.render_scale.clamp(1, 16), d),
Item::GameSpeed => s.game_speed = cycle(&[1.0f32, 2.0], s.game_speed, d),
Item::Hints => s.hints = !s.hints,
}
+3 -1
View File
@@ -142,7 +142,8 @@ pub struct Settings {
pub wall_detail: u8, // 1 low, 2 medium, 3 high
pub max_lights: u8, // 8, 16 or 24
pub ui_factor: u8, // interface size: 0 = automatic, 1..4 = fixed integer factor
pub render_scale: u8, // 3D world resolution divisor: 1 = full, 2..4 = pixel look
pub render_scale: u8, // 3D world resolution divisor: 1 = full, 2..16 = pixel look
pub touch_ui: u8, // touch interface: 0 = automatic (after the first touch), 1 = on, 2 = off
// game
pub game_speed: f32, // 1 or 2
pub hints: bool,
@@ -168,6 +169,7 @@ impl Default for Settings {
max_lights: 24,
ui_factor: 0,
render_scale: 1,
touch_ui: 0,
game_speed: 1.0,
hints: true,
map_w: 64,