chiark / gitweb /
otter.git
2 years agoCargo.toml: Update all versions to 0.7.3 otter-0.7.3
Ian Jackson [Sun, 25 Jul 2021 22:54:10 +0000 (23:54 +0100)]
Cargo.toml: Update all versions to 0.7.3

Commit made automatically by update-versions.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: Document fix to make-release
Ian Jackson [Sun, 25 Jul 2021 22:52:51 +0000 (23:52 +0100)]
CHANGELOG: Document fix to make-release

cargo packages may have been wrong, so re-tag rather than trying to
recover by hand.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agomake-release: Rely on nailing-cargo's new preclean function
Ian Jackson [Sun, 25 Jul 2021 22:50:58 +0000 (23:50 +0100)]
make-release: Rely on nailing-cargo's new preclean function

Our find rune was buggy and caused the publish of 0.7.2 to fail.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: Set date of today's release otter-0.7.2
Ian Jackson [Sun, 25 Jul 2021 22:29:13 +0000 (23:29 +0100)]
CHANGELOG: Set date of today's release

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agodocs: Drop a now-stabilised feature declaration
Ian Jackson [Sun, 25 Jul 2021 21:35:44 +0000 (22:35 +0100)]
docs: Drop a now-stabilised feature declaration

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agodocs: Document that we need miri for testing
Ian Jackson [Sun, 25 Jul 2021 21:31:25 +0000 (22:31 +0100)]
docs: Document that we need miri for testing

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agodocs: Note testing with latest nightly
Ian Jackson [Sun, 25 Jul 2021 21:30:19 +0000 (22:30 +0100)]
docs: Note testing with latest nightly

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo: update to thirtyfour_sync 0.25
Ian Jackson [Sun, 25 Jul 2021 21:27:09 +0000 (22:27 +0100)]
cargo: update to thirtyfour_sync 0.25

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo update
Ian Jackson [Sun, 25 Jul 2021 21:24:39 +0000 (22:24 +0100)]
cargo update

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: minor adjustments
Ian Jackson [Wed, 21 Jul 2021 20:45:34 +0000 (21:45 +0100)]
CHANGELOG: minor adjustments

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: document changes since last attempt
Ian Jackson [Wed, 21 Jul 2021 20:29:40 +0000 (21:29 +0100)]
CHANGELOG: document changes since last attempt

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojs test: synch: wait for api queue empty
Ian Jackson [Wed, 21 Jul 2021 20:09:47 +0000 (21:09 +0100)]
js test: synch: wait for api queue empty

Otheerwise we can lose a race, if we somehow keep the browser JS
environment and the Otter game server busy enough that the browser
doesn't manage to empty its api queue.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojs test: call test_update_hook on api queue empty
Ian Jackson [Wed, 21 Jul 2021 20:06:48 +0000 (21:06 +0100)]
js test: call test_update_hook on api queue empty

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojs test: rename test_update_hook from gen_update_hook
Ian Jackson [Wed, 21 Jul 2021 19:41:36 +0000 (20:41 +0100)]
js test: rename test_update_hook from gen_update_hook

We're going to use it for something else too.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoautolower: Test that it works when claiming a hand
Ian Jackson [Wed, 21 Jul 2021 18:20:52 +0000 (19:20 +0100)]
autolower: Test that it works when claiming a hand

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoautolower: Prep for test by raising the hand we are about to claim
Ian Jackson [Wed, 21 Jul 2021 18:16:57 +0000 (19:16 +0100)]
autolower: Prep for test by raising the hand we are about to claim

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agowdt: Get rid of many redundant .release calls
Ian Jackson [Wed, 21 Jul 2021 17:42:38 +0000 (18:42 +0100)]
wdt: Get rid of many redundant .release calls

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agowdt: Get rid of many open-coded key_up/key_down pairs
Ian Jackson [Wed, 21 Jul 2021 17:35:40 +0000 (18:35 +0100)]
wdt: Get rid of many open-coded key_up/key_down pairs

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoautolower: Call piece_make_heavy when pinning
Ian Jackson [Wed, 21 Jul 2021 17:25:27 +0000 (18:25 +0100)]
autolower: Call piece_make_heavy when pinning

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoapi: Prep for calling make_piece_heavy
Ian Jackson [Wed, 21 Jul 2021 17:24:32 +0000 (18:24 +0100)]
api: Prep for calling make_piece_heavy

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoautolower: Call piece_make_heavy in create_occultation
Ian Jackson [Wed, 21 Jul 2021 17:20:14 +0000 (18:20 +0100)]
autolower: Call piece_make_heavy in create_occultation

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocreate_occultation: Pass PUOs_Simple_Modify witness at all callers
Ian Jackson [Tue, 20 Jul 2021 19:58:41 +0000 (20:58 +0100)]
create_occultation: Pass PUOs_Simple_Modify witness at all callers

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoautolower: Tolerate empty test module without warning
Ian Jackson [Wed, 21 Jul 2021 19:38:44 +0000 (20:38 +0100)]
autolower: Tolerate empty test module without warning

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoautolower: Introduce facility (no callers yet)
Ian Jackson [Wed, 21 Jul 2021 17:16:22 +0000 (18:16 +0100)]
autolower: Introduce facility (no callers yet)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoglobal: Provide an escape hatch for tests
Ian Jackson [Wed, 21 Jul 2021 17:15:07 +0000 (18:15 +0100)]
global: Provide an escape hatch for tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agogamestate: Fix botched comment
Ian Jackson [Tue, 20 Jul 2021 20:23:07 +0000 (21:23 +0100)]
gamestate: Fix botched comment

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Check that we only do funky stuff if needed
Ian Jackson [Mon, 19 Jul 2021 01:56:36 +0000 (02:56 +0100)]
jst-lower: Check that we only do funky stuff if needed

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agolowering: Only do clashing Z heavy when needed
Ian Jackson [Mon, 19 Jul 2021 02:23:20 +0000 (03:23 +0100)]
lowering: Only do clashing Z heavy when needed

If there are no pieces Q to insert, we con't need to worry about this,
because it'll just be an empty ignored plan entry.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agolowering: Do not construct range iter for empty plan entries
Ian Jackson [Mon, 19 Jul 2021 23:44:04 +0000 (00:44 +0100)]
lowering: Do not construct range iter for empty plan entries

We are going to want to let these have malformed reanges.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agolowering: Get state transition right for non-heavy targets
Ian Jackson [Mon, 19 Jul 2021 02:05:59 +0000 (03:05 +0100)]
lowering: Get state transition right for non-heavy targets

We would go into state B if we found any target.  But that's not
right: the chart says to disregard heavy targets, and indeed we don't
want to stack other things below them.

This can lead q_z_top legitimately being null on exit from the walk
loop, if there are no pieces in B or Z.  We still need a q_z_top: we
can't leave it open, because we want to make sure we only lower
pieces, not raise them.  So we choose the lowest piece in Q, or,
failing that, P.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Trap add_log_message to print to somewhere we can see
Ian Jackson [Mon, 19 Jul 2021 02:22:53 +0000 (03:22 +0100)]
jst-lower: Trap add_log_message to print to somewhere we can see

Otherwise, we just get an exception printed by nodejs which doesn't
actually include the message.

What we do here is print it to console.log where it will end up in
stderr, and *also* print a version to the machine-readable output
parsed by jst-lower.rs.

Currently jst-lower.rs bails on seeing it, which means these kind of
log messages are still fatal errors.  This is what we want - we don't
have any test cases that expect them.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Fix comments for new z level regiem
Ian Jackson [Mon, 19 Jul 2021 01:41:51 +0000 (02:41 +0100)]
jst-lower: Fix comments for new z level regiem

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Add only-z-same stress tests
Ian Jackson [Mon, 19 Jul 2021 01:39:53 +0000 (02:39 +0100)]
jst-lower: Add only-z-same stress tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Prepare for only-z-same stress tests
Ian Jackson [Mon, 19 Jul 2021 01:39:13 +0000 (02:39 +0100)]
jst-lower: Prepare for only-z-same stress tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Restore longer non-z-clash tests
Ian Jackson [Mon, 19 Jul 2021 01:35:05 +0000 (02:35 +0100)]
jst-lower: Restore longer non-z-clash tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Reduce exhaustive test size
Ian Jackson [Mon, 19 Jul 2021 01:11:31 +0000 (02:11 +0100)]
jst-lower: Reduce exhaustive test size

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Test identical ZCoord values
Ian Jackson [Mon, 19 Jul 2021 01:11:17 +0000 (02:11 +0100)]
jst-lower: Test identical ZCoord values

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agolowering: Cope when there are heavy pieces with clashing z coords
Ian Jackson [Mon, 19 Jul 2021 01:26:24 +0000 (02:26 +0100)]
lowering: Cope when there are heavy pieces with clashing z coords

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agolowering: Clarify a comment
Ian Jackson [Mon, 19 Jul 2021 17:51:16 +0000 (18:51 +0100)]
lowering: Clarify a comment

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Fix a debug output format
Ian Jackson [Mon, 19 Jul 2021 01:34:52 +0000 (02:34 +0100)]
jst-lower: Fix a debug output format

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Show ZUpdate mode in debug dump
Ian Jackson [Mon, 19 Jul 2021 01:10:41 +0000 (02:10 +0100)]
jst-lower: Show ZUpdate mode in debug dump

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Provide ZUpdateSpec::GOnly
Ian Jackson [Mon, 19 Jul 2021 17:56:42 +0000 (18:56 +0100)]
jst-lower: Provide ZUpdateSpec::GOnly

Not currently used.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Fix some output formatting
Ian Jackson [Sun, 18 Jul 2021 23:01:16 +0000 (00:01 +0100)]
jst-lower: Fix some output formatting

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Prep for other ZUS
Ian Jackson [Sun, 18 Jul 2021 22:55:06 +0000 (23:55 +0100)]
jst-lower: Prep for other ZUS

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Test cawe from a recent game where we experienced bug
Ian Jackson [Fri, 16 Jul 2021 19:19:55 +0000 (20:19 +0100)]
jst-lower: Test cawe from a recent game where we experienced bug

This used to produce
  Z coordinate range has end equal to start, cannot iterate
but it was fixed in
  zcoord: Fix some more edge case bugs in range algorithm
  6d84e4c7dda0bc89ad229de5a03b3b50e551506f

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojstest: Copy zlevels from game into jst-lower
Ian Jackson [Sun, 18 Jul 2021 20:45:38 +0000 (21:45 +0100)]
jstest: Copy zlevels from game into jst-lower

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Move ZUS into StartPieceSpec
Ian Jackson [Sun, 18 Jul 2021 20:43:00 +0000 (21:43 +0100)]
jst-lower: Move ZUS into StartPieceSpec

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojstest: Pass lastg to ZUpdateSpec::next
Ian Jackson [Sun, 18 Jul 2021 20:57:40 +0000 (21:57 +0100)]
jstest: Pass lastg to ZUpdateSpec::next

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Introduce ZLevel::show
Ian Jackson [Sun, 18 Jul 2021 20:39:33 +0000 (21:39 +0100)]
jst-lower: Introduce ZLevel::show

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Make ZUpdateSpec an enum, not a trait
Ian Jackson [Sun, 18 Jul 2021 19:52:42 +0000 (20:52 +0100)]
jst-lower: Make ZUpdateSpec an enum, not a trait

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Plumb zg through to many places
Ian Jackson [Sun, 18 Jul 2021 19:37:01 +0000 (20:37 +0100)]
jst-lower: Plumb zg through to many places

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojst-lower: Introduce ZUpdateSpec
Ian Jackson [Sat, 17 Jul 2021 11:38:45 +0000 (12:38 +0100)]
jst-lower: Introduce ZUpdateSpec

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord: Fix docs for some_range
Ian Jackson [Sat, 17 Jul 2021 11:37:26 +0000 (12:37 +0100)]
zcoord: Fix docs for some_range

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord tests: Test some bad ranges
Ian Jackson [Sat, 17 Jul 2021 11:34:56 +0000 (12:34 +0100)]
zcoord tests: Test some bad ranges

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord tests: Introduce It::new()
Ian Jackson [Sat, 17 Jul 2021 11:28:27 +0000 (12:28 +0100)]
zcoord tests: Introduce It::new()

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord tests: Use mk in range tests
Ian Jackson [Sat, 17 Jul 2021 11:24:20 +0000 (12:24 +0100)]
zcoord tests: Use mk in range tests

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord tests: Rename zc (from bf)
Ian Jackson [Sat, 17 Jul 2021 11:22:57 +0000 (12:22 +0100)]
zcoord tests: Rename zc (from bf)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord: Add a test for range carry/borrow edge case
Ian Jackson [Sat, 17 Jul 2021 11:21:38 +0000 (12:21 +0100)]
zcoord: Add a test for range carry/borrow edge case

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord: Fix some more edge case bugs in range algorithm
Ian Jackson [Sat, 17 Jul 2021 11:21:35 +0000 (12:21 +0100)]
zcoord: Fix some more edge case bugs in range algorithm

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord: Add a test for range carry/borrow
Ian Jackson [Fri, 16 Jul 2021 19:42:33 +0000 (20:42 +0100)]
zcoord: Add a test for range carry/borrow

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord: Fix typo in comment
Ian Jackson [Sat, 17 Jul 2021 13:10:19 +0000 (14:10 +0100)]
zcoord: Fix typo in comment

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agozcoord: Improve a test failure message
Ian Jackson [Fri, 16 Jul 2021 19:35:27 +0000 (20:35 +0100)]
zcoord: Improve a test failure message

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agojstest: from-pieces: Show more things, including z and zg
Ian Jackson [Fri, 16 Jul 2021 00:46:11 +0000 (01:46 +0100)]
jstest: from-pieces: Show more things, including z and zg

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCargo.toml: Update all versions to 0.7.2
Ian Jackson [Thu, 15 Jul 2021 18:44:46 +0000 (19:44 +0100)]
Cargo.toml: Update all versions to 0.7.2

Commit made automatically by update-versions.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agodocs: Document that we tested with current nightly
Ian Jackson [Thu, 15 Jul 2021 18:26:58 +0000 (19:26 +0100)]
docs: Document that we tested with current nightly

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: Documentation of changes, formatting etc.
Ian Jackson [Thu, 15 Jul 2021 18:09:44 +0000 (19:09 +0100)]
CHANGELOG: Documentation of changes, formatting etc.

This is actually perfectly compatible, so call it 0.7.2.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo: Document updates
Ian Jackson [Thu, 15 Jul 2021 17:58:33 +0000 (18:58 +0100)]
cargo: Document updates

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo: upgrade "usvg"
Ian Jackson [Thu, 15 Jul 2021 17:53:37 +0000 (18:53 +0100)]
cargo: upgrade "usvg"

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo: upgrade "nix" and get rid of old error klunk
Ian Jackson [Thu, 15 Jul 2021 17:52:30 +0000 (18:52 +0100)]
cargo: upgrade "nix" and get rid of old error klunk

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo: upgrade "flexi_logger"
Ian Jackson [Thu, 15 Jul 2021 17:45:01 +0000 (18:45 +0100)]
cargo: upgrade "flexi_logger"

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo: upgrade "env_logger"
Ian Jackson [Thu, 15 Jul 2021 17:42:29 +0000 (18:42 +0100)]
cargo: upgrade "env_logger"

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo: upgrade "delegate"
Ian Jackson [Thu, 15 Jul 2021 17:31:21 +0000 (18:31 +0100)]
cargo: upgrade "delegate"

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo: update everything else
Ian Jackson [Thu, 15 Jul 2021 17:28:00 +0000 (18:28 +0100)]
cargo: update everything else

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agocargo: update syn
Ian Jackson [Thu, 15 Jul 2021 17:27:09 +0000 (18:27 +0100)]
cargo: update syn

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: Documentation of changes, formatting etc.
Ian Jackson [Thu, 15 Jul 2021 15:01:57 +0000 (16:01 +0100)]
CHANGELOG: Documentation of changes, formatting etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: Documentation of changes, formatting etc.
Ian Jackson [Wed, 14 Jul 2021 23:39:41 +0000 (00:39 +0100)]
CHANGELOG: Documentation of changes, formatting etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: Documentation of changes, formatting etc.
Ian Jackson [Wed, 14 Jul 2021 23:33:19 +0000 (00:33 +0100)]
CHANGELOG: Documentation of changes, formatting etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: Documentation of changes, formatting
Ian Jackson [Wed, 14 Jul 2021 23:26:39 +0000 (00:26 +0100)]
CHANGELOG: Documentation of changes, formatting

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: Documentation of changes (wip)
Ian Jackson [Wed, 14 Jul 2021 23:14:28 +0000 (00:14 +0100)]
CHANGELOG: Documentation of changes (wip)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoCHANGELOG: Documentation of changes (wip)
Ian Jackson [Wed, 14 Jul 2021 22:52:47 +0000 (23:52 +0100)]
CHANGELOG: Documentation of changes (wip)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoscript: Fix handling of mixed actions (clashing keystrokes)
Ian Jackson [Wed, 14 Jul 2021 22:21:38 +0000 (23:21 +0100)]
script: Fix handling of mixed actions (clashing keystrokes)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoplayer labels: Do not print pointless ???
Ian Jackson [Wed, 14 Jul 2021 18:49:21 +0000 (19:49 +0100)]
player labels: Do not print pointless ???

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agowdt-hand: Clean up after regrab-race
Ian Jackson [Mon, 5 Apr 2021 11:37:45 +0000 (12:37 +0100)]
wdt-hand: Clean up after regrab-race

This will help when we add another test case here.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agowdt-hand: New test case for ungrab-then-regrab (2)
Ian Jackson [Mon, 5 Apr 2021 11:37:41 +0000 (12:37 +0100)]
wdt-hand: New test case for ungrab-then-regrab (2)

Check that the piece is now held by alice.
This fails without the grab/regrab fix.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agowdt-hand: Do checks for both players
Ian Jackson [Wed, 14 Jul 2021 16:50:45 +0000 (17:50 +0100)]
wdt-hand: Do checks for both players

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agowdt-hand: New test case for ungrab-then-regrab (1)
Ian Jackson [Mon, 5 Apr 2021 11:27:29 +0000 (12:27 +0100)]
wdt-hand: New test case for ungrab-then-regrab (1)

Check that we don't get a conflict.
This fails without the grab/regrab fix.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoregrab: Enable regrab (when not wresting)
Ian Jackson [Wed, 14 Jul 2021 17:02:12 +0000 (18:02 +0100)]
regrab: Enable regrab (when not wresting)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agowdt-simple: Allow "piece held by another player" as if it were conflict
Ian Jackson [Wed, 14 Jul 2021 18:30:02 +0000 (19:30 +0100)]
wdt-simple: Allow "piece held by another player" as if it were conflict

Regrab will allow us to try to grab the thing, not mind that it
doesn't work, and then get this conflict.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoloose: Track and honour cseq_loose in client
Ian Jackson [Wed, 14 Jul 2021 15:32:46 +0000 (16:32 +0100)]
loose: Track and honour cseq_loose in client

Not used yet

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agowdt-hand: Do release mouse after alice click
Ian Jackson [Wed, 14 Jul 2021 18:41:04 +0000 (19:41 +0100)]
wdt-hand: Do release mouse after alice click

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoapi: Loose ops: Make a loose conflicted op generate a Server update
Ian Jackson [Wed, 14 Jul 2021 16:31:53 +0000 (17:31 +0100)]
api: Loose ops: Make a loose conflicted op generate a Server update

As according to the PROTOCOL.md.  This is no longer a client update,
and the client can't really reconcile it.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoscript: Abolish conflict_expected
Ian Jackson [Wed, 14 Jul 2021 15:34:49 +0000 (16:34 +0100)]
script: Abolish conflict_expected

This was always false.  It was a bad attempt at conflict/error
handling, which is now done according to a properly thought-out
scheme.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoscript: Introduce plumbing for loose parameter (3)
Ian Jackson [Wed, 14 Jul 2021 15:27:12 +0000 (16:27 +0100)]
script: Introduce plumbing for loose parameter (3)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoscript: Introduce plumbing for loose parameter (2)
Ian Jackson [Wed, 14 Jul 2021 15:26:33 +0000 (16:26 +0100)]
script: Introduce plumbing for loose parameter (2)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoscript: Introduce plumbing for loose parameter
Ian Jackson [Wed, 14 Jul 2021 15:25:09 +0000 (16:25 +0100)]
script: Introduce plumbing for loose parameter

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoscript: Fix a formatting glitch
Ian Jackson [Wed, 14 Jul 2021 15:24:02 +0000 (16:24 +0100)]
script: Fix a formatting glitch

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoapi: Support loose grab op
Ian Jackson [Wed, 14 Jul 2021 15:17:45 +0000 (16:17 +0100)]
api: Support loose grab op

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agogamestate: Track last_released client
Ian Jackson [Wed, 14 Jul 2021 15:17:24 +0000 (16:17 +0100)]
gamestate: Track last_released client

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoapi: Skeleton support for loose ops, pass ClientId
Ian Jackson [Wed, 14 Jul 2021 15:17:01 +0000 (16:17 +0100)]
api: Skeleton support for loose ops, pass ClientId

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
2 years agoapi: Skeleton support for loose ops
Ian Jackson [Wed, 14 Jul 2021 15:03:44 +0000 (16:03 +0100)]
api: Skeleton support for loose ops

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>