diff options
| author | Simon Tatham <anakin@pobox.com> | 2005-05-30 16:15:34 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2005-05-30 16:15:34 +0000 |
| commit | 90560462c4842dccc0288eb408f15539acc0ab83 (patch) | |
| tree | d32e6a40e8f20409f2fe4709ff85607a217e9d1f /osx.m | |
| parent | 7ddaa1382f064466f158315198788daf33b05052 (diff) | |
| download | puzzles-90560462c4842dccc0288eb408f15539acc0ab83.zip puzzles-90560462c4842dccc0288eb408f15539acc0ab83.tar.gz puzzles-90560462c4842dccc0288eb408f15539acc0ab83.tar.bz2 puzzles-90560462c4842dccc0288eb408f15539acc0ab83.tar.xz | |
First cut at a game timer. Yet another backend function which
indicates whether a particular game state should have the timer
going (for Mines the initial indeterminate state does not have this
property, and neither does a dead or won state); a midend function
that optionally (on request from the game) prepends a timer to the
front of the status bar text; some complicated midend timing code.
It's not great. It's ugly; it's probably slightly inaccurate; it's
got no provision for anyone but the game author decreeing whether a
game is timed or not. But Mines can't be taken seriously without a
timer, so it's a start.
[originally from svn r5866]
Diffstat (limited to 'osx.m')
| -rw-r--r-- | osx.m | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -383,7 +383,7 @@ struct frontend { - (void)keyDown:(NSEvent *)ev; - (void)activateTimer; - (void)deactivateTimer; -- (void)setStatusLine:(NSString *)text; +- (void)setStatusLine:(char *)text; @end @implementation MyImageView @@ -1131,9 +1131,11 @@ struct frontend { [self sheetEndWithStatus:NO]; } -- (void)setStatusLine:(NSString *)text +- (void)setStatusLine:(char *)text { - [[status cell] setTitle:text]; + char *rewritten = midend_rewrite_statusbar(me, text); + [[status cell] setTitle:[NSString stringWithCString:rewritten]]; + sfree(rewritten); } @end @@ -1267,7 +1269,7 @@ void activate_timer(frontend *fe) void status_bar(frontend *fe, char *text) { - [fe->window setStatusLine:[NSString stringWithCString:text]]; + [fe->window setStatusLine:text]; } /* ---------------------------------------------------------------------- |