Page MenuHomePhabricator

[Wilds] Make "arc anoid" system requirements more accurate
ClosedPublic

Authored by epriestley on Feb 2 2019, 1:23 PM.
Tags
None
Referenced Files
F18566968: D20085.id.diff
Tue, Sep 9, 3:04 PM
F18456769: D20085.id.diff
Mon, Sep 1, 11:32 AM
F18428312: D20085.diff
Sun, Aug 31, 1:17 AM
F18194374: D20085.id47959.diff
Aug 17 2025, 9:42 AM
F18107580: D20085.id47971.diff
Aug 11 2025, 1:39 AM
F18035232: D20085.id47960.diff
Aug 3 2025, 1:27 AM
F17968316: D20085.id.diff
Aug 1 2025, 1:19 PM
F17942082: D20085.id47959.diff
Jul 31 2025, 6:14 AM
Subscribers
None

Details

Summary

Fixes T8693. Ref T13098. On a 30x15 terminal, the we can only fit "Score: X/12 * Deaths: Y" on the top line if both X and Y are less than 10, so they can render with a single character.

As soon as the player breaks more than 9 blocks or dies more than 9 times, we need an extra character to render the score. This causes an off-screen write to curses and crashes.

Raise the minimum requirement to 32 columns so we can render "12/12" and up to "99" deaths. Then, change the display logic to show "99" if you die more than 99 times.

(At this resolution we always generate a board with 12 blocks, even if the terminal is very very tall, so we don't need to deal with a case where the "Score" might read "101/200".)

Test Plan
  • Beat the game on a 32x15 terminal.
  • Changed logic to award me 1000 deaths per actual death.
  • Died on a 32x15 terminal.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

epriestley created this revision.
epriestley edited the summary of this revision. (Show Details)
  • Actually make the death change work.
  • Remove debugging code.
  • Programming on a 32x15 terminal is hard, okay?
  • Wordsmithing on help text.
This revision is now accepted and ready to land.Feb 2 2019, 3:24 PM
This revision was automatically updated to reflect the committed changes.