]>
git.gir.st - minesVIiper.git/log
girst [Thu, 1 Nov 2018 20:30:24 +0000 (21:30 +0100)]
remove buggy 'p', fix vt220 issue, implement SIGCONT
vt220 is unable to cope with screen_setup() and show_minefield() in
rapid succession because downloading (parsing?) the DRCS takes a while.
resolution: only send .init_seq once.
also: an experimental 'choord on flag' mode is implemented behind a
-D... flag
girst [Thu, 1 Nov 2018 19:32:15 +0000 (20:32 +0100)]
add note that sending drcs breaks vt220
girst [Thu, 1 Nov 2018 15:39:26 +0000 (16:39 +0100)]
'p': stomp adjacent
stopgap feature for HJKL/^H^J^K^L; does the common action of choording
around a cell after flagging it
girst [Thu, 25 Oct 2018 13:35:19 +0000 (15:35 +0200)]
update readme keybindings
girst [Thu, 25 Oct 2018 13:29:11 +0000 (15:29 +0200)]
minor refactoring
cannot reproduce "in `-d' mode if f.w is odd we are 1 char short in the
status line"
girst [Thu, 25 Oct 2018 13:05:36 +0000 (15:05 +0200)]
simplify find/'til/after, backword
girst [Thu, 25 Oct 2018 13:00:02 +0000 (15:00 +0200)]
resize mode and ex mode improvements, backword
also some minor refactoring
girst [Thu, 25 Oct 2018 09:36:58 +0000 (11:36 +0200)]
clean up ex mode
girst [Thu, 25 Oct 2018 06:47:55 +0000 (08:47 +0200)]
first draft of ex mode / colon commands
girst [Wed, 24 Oct 2018 14:07:32 +0000 (16:07 +0200)]
on win: show all flags
the original minesweeper sets all mines to flags when won. this also
helps distinguishing wins from losses (that previously only differed
in emoticon)
girst [Thu, 24 May 2018 09:41:18 +0000 (11:41 +0200)]
clear status line after dismissing quit dialog
girst [Sun, 20 May 2018 20:25:33 +0000 (22:25 +0200)]
less noisey `make test'
girst [Sun, 20 May 2018 20:13:14 +0000 (22:13 +0200)]
fix -d maxwidth
girst [Sun, 20 May 2018 17:15:12 +0000 (19:15 +0200)]
quit warning
girst [Sun, 20 May 2018 17:08:59 +0000 (19:08 +0200)]
alias fq for f?, macros renamed
girst [Sun, 20 May 2018 16:36:08 +0000 (18:36 +0200)]
find, till, after x
girst [Sun, 20 May 2018 16:27:29 +0000 (18:27 +0200)]
-pedantic improvements; less noise in tests
girst [Sun, 20 May 2018 16:02:14 +0000 (18:02 +0200)]
fix stray STX messing with `m', `f', `t'
girst [Sun, 20 May 2018 15:54:18 +0000 (17:54 +0200)]
implement find/till (horizontal only)
girst [Wed, 2 May 2018 19:14:35 +0000 (21:14 +0200)]
stomp radius: fix disappearing mines on game over screen
girst [Tue, 1 May 2018 19:23:50 +0000 (21:23 +0200)]
flesh out resize mode
also fix a bug in clamp_fieldsize() re. win-width
girst [Tue, 1 May 2018 17:34:49 +0000 (19:34 +0200)]
stop timer on 'r', CTRL-R during game
girst [Mon, 30 Apr 2018 16:21:21 +0000 (18:21 +0200)]
stomp radius now with mouse, renamed partial_show_minefield()
partial_show_minefield() -> redraw_cell(): more intuitive, less long
stomp radius:
factored out into functions show_stomp() and wait_stomp().
initially, I just used them as-is in wait_mouse_up(), but then
do_uncover() showed the stomp _again_, which is undesired.
do_uncover() now takes a new parameter, actor, which tells it
what method the user used to activate it. (feels like a dirty
hack :( )
PS: this took 2 --amends to get right m(
girst [Mon, 30 Apr 2018 15:43:04 +0000 (17:43 +0200)]
shave off 4 bytes in DEC scheme (II)
GNOME-Terminal is also missing DECDWL and we are using SS2 somewhere
else too; so this whole thing was moot and I'm doing it.
This reverts commit
b7cb4eb688ac83ae91e8a63e7ba18c81e2a4d2c3 .
girst [Mon, 30 Apr 2018 14:40:28 +0000 (16:40 +0200)]
stomp radius bugfix
go figure: the signal handler interrupting the poll(2) call makes it go
right though. that meant, the stomp radius might not be shown the full
150ms, but only a fraction of it if SIGALRM comes in at a unfavourable
time.
girst [Mon, 30 Apr 2018 02:42:03 +0000 (04:42 +0200)]
add mines.h as dependency
girst [Mon, 30 Apr 2018 02:41:49 +0000 (04:41 +0200)]
move FIELDSPEC help into header
girst [Mon, 30 Apr 2018 02:31:04 +0000 (04:31 +0200)]
Revert "shave off 4 bytes in DEC scheme"
while that was a correct change, gnome-terminal and mlterm don't support
this escape sequence (xterm does) :(
This reverts commit
0dc199da7121ed4595229bb3fe99dd8891f59d8a .
girst [Mon, 30 Apr 2018 02:28:43 +0000 (04:28 +0200)]
shave off 4 bytes in DEC scheme
girst [Mon, 30 Apr 2018 02:03:17 +0000 (04:03 +0200)]
don't warn on too many mines; minor cleanup, ideas for stomp-radius
girst [Mon, 30 Apr 2018 00:50:36 +0000 (02:50 +0200)]
refactor resize mode, bump version number (changed scheme)
i'm out of numbers of pi i know off the top of my head
girst [Mon, 30 Apr 2018 00:20:21 +0000 (02:20 +0200)]
finish resize mode
- use lower level getchar function: getch_wrapper() calls
wait_mouse_up() which fails in resize mode.
- must free_field() _before_ resizing the field, otherwise when
free_field() iterates over f.{w,h} it might over- or undershoot
girst [Fri, 27 Apr 2018 18:12:55 +0000 (20:12 +0200)]
start with resize mode (segfaults!), mouse highlight, minor cleanups
mouse highlight is now also reverse-video instead of a glyph
girst [Fri, 27 Apr 2018 16:58:14 +0000 (18:58 +0200)]
implement AROUND() macro
replaces the many "for(line-1..line+1 and col-1..col+1)" loops
girst [Fri, 27 Apr 2018 16:17:31 +0000 (18:17 +0200)]
fix bug with pressing q during game; cleanup
girst [Thu, 26 Apr 2018 21:40:18 +0000 (23:40 +0200)]
more event loop refactoring: mainly get/set marks
girst [Thu, 26 Apr 2018 20:49:33 +0000 (22:49 +0200)]
refactor main event loop
probably needs more testing. I've started reusing enums; let's see how
that turns out.
girst [Thu, 19 Apr 2018 19:26:39 +0000 (21:26 +0200)]
further refractoring (screen setup, game struct)
amended commit also fixes segfault introduced during refactor
girst [Thu, 19 Apr 2018 17:17:25 +0000 (19:17 +0200)]
further cleanup and refactoring
girst [Thu, 19 Apr 2018 14:59:36 +0000 (16:59 +0200)]
help text into header
girst [Thu, 19 Apr 2018 14:42:37 +0000 (16:42 +0200)]
move fieldspec parsing into function
girst [Thu, 19 Apr 2018 13:16:57 +0000 (15:16 +0200)]
restructure mines.c (renamed from mines_2017.c)
- move declarations in a header file
girst [Thu, 19 Apr 2018 12:47:26 +0000 (14:47 +0200)]
extend test target (-pedantic build)
girst [Thu, 19 Apr 2018 12:40:20 +0000 (14:40 +0200)]
fix "\e is non-ISO-standard escape sequence"
-pedantic doesn't like the \e used in VT220's schema.h
girst [Thu, 19 Apr 2018 11:54:53 +0000 (13:54 +0200)]
finally fix returning from alternate screen bug
the cursor position was off causing the screen to get partially overwritten. now saving the cursor's position before entering alternate screen and restoring after exiting from it.
girst [Sun, 1 Apr 2018 22:07:33 +0000 (00:07 +0200)]
remove flag_offset, fix operator precedence bug
found with -Wextra
girst [Sun, 1 Apr 2018 21:49:37 +0000 (23:49 +0200)]
VT220: Soft charset for Flag glyph (cleanup)
girst [Sun, 1 Apr 2018 21:33:15 +0000 (23:33 +0200)]
DECDCL flag glyph (new version)
girst [Sun, 1 Apr 2018 00:53:33 +0000 (02:53 +0200)]
new flag for monoscheme
girst [Sat, 31 Mar 2018 23:07:53 +0000 (01:07 +0200)]
s/move/move_ph/ ; s/cursor_move/move_hi/
girst [Sat, 31 Mar 2018 23:02:03 +0000 (01:02 +0200)]
add `make test'
girst [Sat, 31 Mar 2018 23:01:50 +0000 (01:01 +0200)]
minor cleanup
girst [Sat, 31 Mar 2018 22:23:03 +0000 (00:23 +0200)]
crudely fix `-q' flagcounter, :D clicking in dec mode wasn't broken at all
girst [Sat, 31 Mar 2018 21:31:23 +0000 (23:31 +0200)]
implement 'z' key, improved scheme (is new version)
girst [Sat, 31 Mar 2018 20:54:17 +0000 (22:54 +0200)]
simplify :D click, fix :o emoticon in DEC mode
girst [Sat, 31 Mar 2018 20:17:36 +0000 (22:17 +0200)]
fix segfault when clicking out of bound and then using the keyboard
girst [Sat, 31 Mar 2018 20:00:25 +0000 (22:00 +0200)]
implement cursor keys, fix endgame emoticon, minor fixes
girst [Sat, 31 Mar 2018 18:58:53 +0000 (20:58 +0200)]
simplify border, minor fixes, 80col code, etc
girst [Sat, 31 Mar 2018 15:57:37 +0000 (17:57 +0200)]
finish schemes cleanup, fix %.*s format
girst [Sat, 31 Mar 2018 15:04:21 +0000 (17:04 +0200)]
cleanup color esc.seq with macro
girst [Sat, 31 Mar 2018 14:45:30 +0000 (16:45 +0200)]
cleanup schemes.h
girst [Sat, 31 Mar 2018 14:42:38 +0000 (16:42 +0200)]
color flag, v2
girst [Sat, 31 Mar 2018 14:28:06 +0000 (16:28 +0200)]
color flag icon, v1
girst [Thu, 29 Mar 2018 04:38:25 +0000 (06:38 +0200)]
fix missing modechar after flagging
girst [Thu, 29 Mar 2018 02:25:58 +0000 (04:25 +0200)]
fix mines>999, time>999, simplify 2nd line
girst [Thu, 29 Mar 2018 01:02:33 +0000 (03:02 +0200)]
crude patch for >999 mines
girst [Sat, 24 Mar 2018 23:35:12 +0000 (00:35 +0100)]
clamp field size to window/mouse-max, dynamic minenum if not given
girst [Wed, 7 Mar 2018 00:59:56 +0000 (01:59 +0100)]
count non-placed flags (down) instead of placed (up)
girst [Mon, 5 Mar 2018 01:54:45 +0000 (02:54 +0100)]
add default mine-num for 8x8 and 16x16
girst [Sat, 3 Mar 2018 16:21:05 +0000 (17:21 +0100)]
todo: wait_mouse_up does not redraw correct emoticon
girst [Sat, 3 Mar 2018 16:14:02 +0000 (17:14 +0100)]
add bug notice
girst [Sat, 3 Mar 2018 16:09:56 +0000 (17:09 +0100)]
nicer emoticons
didn't like the X( and 8) -- eyes now always colons
girst [Sat, 3 Mar 2018 16:08:19 +0000 (17:08 +0100)]
add game won emoticon, move them to schemes.h
girst [Wed, 28 Feb 2018 02:13:24 +0000 (03:13 +0100)]
update keybindings in `-h'
girst [Wed, 28 Feb 2018 02:06:12 +0000 (03:06 +0100)]
increase version number
girst [Wed, 28 Feb 2018 02:03:03 +0000 (03:03 +0100)]
fix typos in readme
girst [Wed, 28 Feb 2018 01:58:15 +0000 (02:58 +0100)]
update readme to reflect recent changes
girst [Wed, 28 Feb 2018 01:49:17 +0000 (02:49 +0100)]
move find-word-boundary code into one giant macro (dry)
have fun debugging this mess, future me!
girst [Wed, 28 Feb 2018 00:52:58 +0000 (01:52 +0100)]
better bigmove (now moves to "word boundaries" (changes of open/flag state))
girst [Wed, 28 Feb 2018 00:09:01 +0000 (01:09 +0100)]
add indicator for space mode next to the time
girst [Tue, 27 Feb 2018 23:49:36 +0000 (00:49 +0100)]
working invert cursor
girst [Tue, 27 Feb 2018 23:03:13 +0000 (00:03 +0100)]
testing some flag patterns
girst [Fri, 23 Feb 2018 01:42:23 +0000 (02:42 +0100)]
modeful space will always choord, s/set_cursor_pos/move_cursor/
girst [Fri, 23 Feb 2018 01:00:24 +0000 (02:00 +0100)]
update introductory comment & version number
girst [Fri, 23 Feb 2018 00:43:31 +0000 (01:43 +0100)]
implement modeful space, cleanup gameloop a tiny bit
girst [Sun, 18 Feb 2018 20:31:25 +0000 (21:31 +0100)]
slightly improve alt.screen handling (will force-clear)
girst [Sun, 18 Feb 2018 17:08:32 +0000 (18:08 +0100)]
change command line switches -w -h -m to positional
girst [Sun, 18 Feb 2018 16:32:57 +0000 (17:32 +0100)]
implement m ' ` (mark and jump)
girst [Sat, 17 Feb 2018 17:40:55 +0000 (18:40 +0100)]
fix out of bounds check for right_click, use alternate screen
small bug with alt.screen: the cursor in the primary screen moves down
by 1 playfield's worth
girst [Thu, 7 Sep 2017 16:15:19 +0000 (18:15 +0200)]
add questionmark key
allows to place question marks by hitting `?'. `-q' still sets what
flags can be set with `i'.
girst [Thu, 7 Sep 2017 16:12:11 +0000 (18:12 +0200)]
deduplicate code for cursor movement; alias 0='^'
adds a function that handles cursor movement. takes absolute
line/column-coordinates.
girst [Sun, 6 Aug 2017 16:25:01 +0000 (18:25 +0200)]
fix fallthrough bug in game loop
somehow, I managed to insert the case statement for restarting the game in
between the cases for flagging with the mouse and keyboard, which are connected
together with a fallthrough. That made the game restart whenever the mouse was
used to flag. I didn't notice this earlier, since I mostly play this game with the keyboard. (shame on me for not testing my code :| )
girst [Tue, 18 Jul 2017 13:05:41 +0000 (15:05 +0200)]
add link to homepage
girst [Wed, 5 Jul 2017 16:05:16 +0000 (18:05 +0200)]
make vt220 scheme use bright color and blink-effect
girst [Wed, 5 Jul 2017 12:40:45 +0000 (14:40 +0200)]
on win/lose: allow restarting with 'r'
girst [Tue, 4 Jul 2017 20:41:43 +0000 (22:41 +0200)]
dec scheme: change flag character to "!"
girst [Tue, 4 Jul 2017 19:49:21 +0000 (21:49 +0200)]
more readme, update `-h`
still TODO: screenshot
girst [Tue, 4 Jul 2017 19:11:15 +0000 (21:11 +0200)]
Add readme
contains a quick overview, and the keyboard mappings.
TODO: screenshot, vt220 mode, command line arguments, etc.
girst [Tue, 4 Jul 2017 19:07:40 +0000 (21:07 +0200)]
add ^$gG movements
girst [Tue, 4 Jul 2017 18:25:31 +0000 (20:25 +0200)]
finish VT220 mode