chiark / gitweb /
otter.git
4 years agohand: Fixes to track claiming and unclaiming
Ian Jackson [Sun, 14 Feb 2021 00:00:09 +0000 (00:00 +0000)]
hand: Fixes to track claiming and unclaiming

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohand: Fixes to track claiming and unclaiming
Ian Jackson [Sat, 13 Feb 2021 23:53:20 +0000 (23:53 +0000)]
hand: Fixes to track claiming and unclaiming

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohand: Track claiming and unclaiming
Ian Jackson [Sat, 13 Feb 2021 23:44:23 +0000 (23:44 +0000)]
hand: Track claiming and unclaiming

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoPiece internal API overhaul: pass PieceState, fallible
Ian Jackson [Sat, 13 Feb 2021 22:59:48 +0000 (22:59 +0000)]
Piece internal API overhaul: pass PieceState, fallible

Magic pieces are going to need to look at their state to decide how
to format themselves, and that is fallible.

Make formatting methods on PieceState fallible.  They return
InternalError.  Pass these methods &PieceState.

Textually extremely intrusive, but no functional change with existing
actually-infallible call sites.

We provide infallible versions of the describe_html functions, which
return a placeholder if there is an error.  This is because typically
at their call sites, returning an error is very inconvenient.  Eg, it
happens after a game update has actually occurred.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapi: make log_did_to_piece public
Ian Jackson [Sat, 13 Feb 2021 22:33:40 +0000 (22:33 +0000)]
api: make log_did_to_piece public

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Refactor describe_occulter
Ian Jackson [Sat, 13 Feb 2021 23:08:38 +0000 (23:08 +0000)]
hidden: Refactor describe_occulter

* Do not rely on shadowing of variables - very fragile
* Break out `bad`

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoxdata: fix downcasting to actually work
Ian Jackson [Sun, 14 Feb 2021 16:02:35 +0000 (16:02 +0000)]
xdata: fix downcasting to actually work

Urgh, this involved a lot of flail before I found (i) downcast-rs
(ii) the conditional lifetime bug.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoxdata: minor refactor nfc
Ian Jackson [Sat, 13 Feb 2021 22:09:23 +0000 (22:09 +0000)]
xdata: minor refactor nfc

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoprovide immutable xdata affordances
Ian Jackson [Sat, 13 Feb 2021 22:07:17 +0000 (22:07 +0000)]
provide immutable xdata affordances

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopass PieceState to [add_]ui_operations
Ian Jackson [Sat, 13 Feb 2021 22:02:54 +0000 (22:02 +0000)]
pass PieceState to [add_]ui_operations

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoscript.ts: Avoid triggering on ctrl keys (!)
Ian Jackson [Sun, 14 Feb 2021 15:59:58 +0000 (15:59 +0000)]
script.ts: Avoid triggering on ctrl keys (!)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoadd downcast-rs dependency
Ian Jackson [Sun, 14 Feb 2021 11:37:41 +0000 (11:37 +0000)]
add downcast-rs dependency

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agocargo update
Ian Jackson [Sun, 14 Feb 2021 11:32:16 +0000 (11:32 +0000)]
cargo update

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoProvide xdata affordances
Ian Jackson [Sat, 13 Feb 2021 21:49:51 +0000 (21:49 +0000)]
Provide xdata affordances

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoProvide PieceState xdata
Ian Jackson [Sat, 13 Feb 2021 21:40:32 +0000 (21:40 +0000)]
Provide PieceState xdata

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agomake dasharray return Html
Ian Jackson [Sat, 13 Feb 2021 20:27:43 +0000 (20:27 +0000)]
make dasharray return Html

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoMake a dasharray generator that takes a PlayerId
Ian Jackson [Sat, 13 Feb 2021 19:04:44 +0000 (19:04 +0000)]
Make a dasharray generator that takes a PlayerId

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoProvide GPlayers as a type
Ian Jackson [Sat, 13 Feb 2021 19:04:50 +0000 (19:04 +0000)]
Provide GPlayers as a type

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopieces: Provide stroke_attrs_hook nfc
Ian Jackson [Sat, 13 Feb 2021 18:52:54 +0000 (18:52 +0000)]
pieces: Provide stroke_attrs_hook nfc

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopieces: break out svg_piece_raw, nfc
Ian Jackson [Sat, 13 Feb 2021 12:58:38 +0000 (12:58 +0000)]
pieces: break out svg_piece_raw, nfc

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoabolish confusing SE type aliases
Ian Jackson [Sat, 13 Feb 2021 12:56:22 +0000 (12:56 +0000)]
abolish confusing SE type aliases

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopieces: Tidy up a name ref, nfc
Ian Jackson [Sat, 13 Feb 2021 11:25:56 +0000 (11:25 +0000)]
pieces: Tidy up a name ref, nfc

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohand: wip piece implementation
Ian Jackson [Fri, 12 Feb 2021 20:06:03 +0000 (20:06 +0000)]
hand: wip piece implementation

Doesn't do very much yet

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agopieces: Make SimplePieceSpec suitable for deserialize
Ian Jackson [Sat, 13 Feb 2021 02:04:03 +0000 (02:04 +0000)]
pieces: Make SimplePieceSpec suitable for deserialize

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoChange SimplePieceSpec::load_raw
Ian Jackson [Sat, 13 Feb 2021 11:20:09 +0000 (11:20 +0000)]
Change SimplePieceSpec::load_raw

This gives the Common back now

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoMakefile: provide new clena-for-retest target
Ian Jackson [Sat, 13 Feb 2021 12:46:16 +0000 (12:46 +0000)]
Makefile: provide new clena-for-retest target

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoslotmap: Actually use our branch everywhere
Ian Jackson [Sat, 13 Feb 2021 12:34:23 +0000 (12:34 +0000)]
slotmap: Actually use our branch everywhere

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoRevert "SimpleShape: Move itemname out of common"
Ian Jackson [Sat, 13 Feb 2021 11:05:30 +0000 (11:05 +0000)]
Revert "SimpleShape: Move itemname out of common"

Actually we need to reuse Disc and Square as they are, so we must
do this by hand somehow.

This reverts commit 878aeb46778ef76feea9bc51d0691f37074fcabb.

4 years agoSimpleShape: Move itemname out of common
Ian Jackson [Sat, 13 Feb 2021 11:02:37 +0000 (11:02 +0000)]
SimpleShape: Move itemname out of common

We want Hand not to have an itemname field.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoSimpleShape: Make INVISIBLE_EDGE_SENSITIVE a const
Ian Jackson [Sat, 13 Feb 2021 01:45:55 +0000 (01:45 +0000)]
SimpleShape: Make INVISIBLE_EDGE_SENSITIVE a const

nfc

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoSimpleShape: Allow specifying edge width
Ian Jackson [Sat, 13 Feb 2021 01:44:24 +0000 (01:44 +0000)]
SimpleShape: Allow specifying edge width

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoSimpleShape: svg_piece: Refator to use more write!
Ian Jackson [Sat, 13 Feb 2021 01:28:19 +0000 (01:28 +0000)]
SimpleShape: svg_piece: Refator to use more write!

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoSimpleShape: svg_piece: Introduce f local
Ian Jackson [Sat, 13 Feb 2021 01:22:01 +0000 (01:22 +0000)]
SimpleShape: svg_piece: Introduce f local

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agosimple pieces: edge, make clickable have minimum width
Ian Jackson [Sat, 13 Feb 2021 01:13:07 +0000 (01:13 +0000)]
simple pieces: edge, make clickable have minimum width

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agosimple pieces: support edges, fixes
Ian Jackson [Sat, 13 Feb 2021 01:06:09 +0000 (01:06 +0000)]
simple pieces: support edges, fixes

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agosimple pieces: support edges
Ian Jackson [Fri, 12 Feb 2021 23:09:13 +0000 (23:09 +0000)]
simple pieces: support edges

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agobreak out SimpleShape
Ian Jackson [Fri, 12 Feb 2021 23:41:06 +0000 (23:41 +0000)]
break out SimpleShape

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agosimplify SimplePieceSpec etc.
Ian Jackson [Fri, 12 Feb 2021 23:26:37 +0000 (23:26 +0000)]
simplify SimplePieceSpec etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agomake FaceColourSpecs a type in specs
Ian Jackson [Fri, 12 Feb 2021 22:57:40 +0000 (22:57 +0000)]
make FaceColourSpecs a type in specs

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoRefactor to introduce SimplePieceSpec
Ian Jackson [Fri, 12 Feb 2021 19:13:35 +0000 (19:13 +0000)]
Refactor to introduce SimplePieceSpec

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoconfig: Drop spurious dbg! logging
Ian Jackson [Sat, 13 Feb 2021 00:06:33 +0000 (00:06 +0000)]
config: Drop spurious dbg! logging

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agofix "make check"
Ian Jackson [Fri, 12 Feb 2021 21:18:08 +0000 (21:18 +0000)]
fix "make check"

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agouse log_did_to_piece_whoby in ungrab nfc
Ian Jackson [Fri, 12 Feb 2021 01:23:38 +0000 (01:23 +0000)]
use log_did_to_piece_whoby in ungrab nfc

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoprovide log_did_to_piece_whoby, nfc
Ian Jackson [Fri, 12 Feb 2021 01:22:50 +0000 (01:22 +0000)]
provide log_did_to_piece_whoby, nfc

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agocall recalculate_occultation in ungrab
Ian Jackson [Fri, 12 Feb 2021 01:24:39 +0000 (01:24 +0000)]
call recalculate_occultation in ungrab

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Make recaulculate_occultation take just plain vanilla
Ian Jackson [Fri, 12 Feb 2021 01:17:11 +0000 (01:17 +0000)]
hidden: Make recaulculate_occultation take just plain vanilla

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoapi.rs: Provide ipieces as part of ApiOpArgs
Ian Jackson [Fri, 12 Feb 2021 01:16:25 +0000 (01:16 +0000)]
api.rs: Provide ipieces as part of ApiOpArgs

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Provide recalculate_occultation
Ian Jackson [Fri, 12 Feb 2021 01:01:25 +0000 (01:01 +0000)]
hidden: Provide recalculate_occultation

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Provide Occultation::in_region()
Ian Jackson [Fri, 12 Feb 2021 00:54:46 +0000 (00:54 +0000)]
hidden: Provide Occultation::in_region()

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Add some missing impls
Ian Jackson [Fri, 12 Feb 2021 00:54:29 +0000 (00:54 +0000)]
hidden: Add some missing impls

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Use Area
Ian Jackson [Fri, 12 Feb 2021 00:53:56 +0000 (00:53 +0000)]
hidden: Use Area

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoArea: implement .contains()
Ian Jackson [Fri, 12 Feb 2021 00:53:25 +0000 (00:53 +0000)]
Area: implement .contains()

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Fix type of PUO::PerPlayer
Ian Jackson [Fri, 12 Feb 2021 00:52:45 +0000 (00:52 +0000)]
hidden: Fix type of PUO::PerPlayer

This is keyed by PlayerId, ie a SecondaryMap

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoutils: Provide OldNew
Ian Jackson [Fri, 12 Feb 2021 00:45:52 +0000 (00:45 +0000)]
utils: Provide OldNew

Will be used by new hidden ocde.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoupdates: Change type aliases POU and PUOs
Ian Jackson [Thu, 11 Feb 2021 19:17:56 +0000 (19:17 +0000)]
updates: Change type aliases POU and PUOs

Now we have aliases for both the singular and plural types

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Move Visible into a variant of OccultationKind
Ian Jackson [Thu, 11 Feb 2021 19:07:44 +0000 (19:07 +0000)]
hidden: Move Visible into a variant of OccultationKind

All these Options are very confusing.  This gets rid of an extension
trait too.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Occultation data structures
Ian Jackson [Sun, 31 Jan 2021 23:08:52 +0000 (23:08 +0000)]
hidden: Occultation data structures

Nothing really updates or uses these yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoArea: impl Eq
Ian Jackson [Mon, 1 Feb 2021 01:57:37 +0000 (01:57 +0000)]
Area: impl Eq

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoprovide Area type
Ian Jackson [Sun, 31 Jan 2021 23:09:24 +0000 (23:09 +0000)]
provide Area type

We are going to want this for occultations.  This doesn't really do
anything yet.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: per-player id map: Fix to not use _ that way
Ian Jackson [Fri, 12 Feb 2021 00:42:43 +0000 (00:42 +0000)]
hidden: per-player id map: Fix to not use _ that way

This means "may be unused", not "internal", in Rust.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agorework InternalLogicError
Ian Jackson [Thu, 11 Feb 2021 00:07:12 +0000 (00:07 +0000)]
rework InternalLogicError

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoadd backtrace dependency
Ian Jackson [Thu, 11 Feb 2021 00:03:01 +0000 (00:03 +0000)]
add backtrace dependency

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agovisible slotmap keys: Break out impl_for_slotmap_key
Ian Jackson [Mon, 1 Feb 2021 01:19:35 +0000 (01:19 +0000)]
visible slotmap keys: Break out impl_for_slotmap_key

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agovisible slotmap keys: handle null specially
Ian Jackson [Mon, 1 Feb 2021 01:13:18 +0000 (01:13 +0000)]
visible slotmap keys: handle null specially

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agoDelete some obsolete commented-out code
Ian Jackson [Mon, 1 Feb 2021 00:51:06 +0000 (00:51 +0000)]
Delete some obsolete commented-out code

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agostyle: MGR and MGI type aliases, etc.
Ian Jackson [Mon, 1 Feb 2021 00:41:40 +0000 (00:41 +0000)]
style: MGR and MGI type aliases, etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agostyle: Make commands::* not global, type aliases, etc.
Ian Jackson [Mon, 1 Feb 2021 00:36:12 +0000 (00:36 +0000)]
style: Make commands::* not global, type aliases, etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agostyle: Centralise many type aliases
Ian Jackson [Mon, 1 Feb 2021 00:23:03 +0000 (00:23 +0000)]
style: Centralise many type aliases

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agostyle: Remove space before : in zcoord/
Ian Jackson [Mon, 1 Feb 2021 00:12:20 +0000 (00:12 +0000)]
style: Remove space before : in zcoord/

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agostyle: Remove space before : in wdriver*
Ian Jackson [Mon, 1 Feb 2021 00:11:23 +0000 (00:11 +0000)]
style: Remove space before : in wdriver*

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agostyle: Remove space before :, etc., in src/*.rs
Ian Jackson [Mon, 1 Feb 2021 00:09:48 +0000 (00:09 +0000)]
style: Remove space before :, etc., in src/*.rs

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agostyle: Remove space before : in src/bin/
Ian Jackson [Mon, 1 Feb 2021 00:03:57 +0000 (00:03 +0000)]
style: Remove space before : in src/bin/

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agostyle: Remove space before : in daemon/
Ian Jackson [Mon, 1 Feb 2021 00:02:46 +0000 (00:02 +0000)]
style: Remove space before : in daemon/

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Provide stub PieceOccult
Ian Jackson [Sun, 31 Jan 2021 23:07:21 +0000 (23:07 +0000)]
hidden: Provide stub PieceOccult

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Add some dividers to the file, etc.
Ian Jackson [Sun, 31 Jan 2021 23:35:21 +0000 (23:35 +0000)]
hidden: Add some dividers to the file, etc.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Document the convention about last face
Ian Jackson [Sun, 31 Jan 2021 23:07:32 +0000 (23:07 +0000)]
hidden: Document the convention about last face

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agomovement: Prevent players moving things that they haven't grasped
Ian Jackson [Sun, 31 Jan 2021 23:06:37 +0000 (23:06 +0000)]
movement: Prevent players moving things that they haven't grasped

Also, a todo.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
squash! movement: Prevent players moving things that they haven't grasped

4 years agohidden: a todo
Ian Jackson [Sun, 31 Jan 2021 23:06:14 +0000 (23:06 +0000)]
hidden: a todo

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: docs: Small note
Ian Jackson [Sun, 31 Jan 2021 23:05:48 +0000 (23:05 +0000)]
hidden: docs: Small note

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agomove our default() into zcoord::misc and use it everywhere
Ian Jackson [Sun, 31 Jan 2021 23:47:41 +0000 (23:47 +0000)]
move our default() into zcoord::misc and use it everywhere

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agouse our default() alias everywhere we can
Ian Jackson [Sun, 31 Jan 2021 23:44:49 +0000 (23:44 +0000)]
use our default() alias everywhere we can

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Abolish Lens
Ian Jackson [Sun, 31 Jan 2021 22:43:36 +0000 (22:43 +0000)]
hidden: Abolish Lens

This is never used for anything and can be simply deleted now.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Provide and use piece_at_all_occluded in cmdlistener
Ian Jackson [Sun, 31 Jan 2021 22:41:49 +0000 (22:41 +0000)]
hidden: Provide and use piece_at_all_occluded in cmdlistener

We still don't deal with listing (partly) occluded pieces, or taking
them into account for library placement.

In the future this may become more sophisticaed.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Abolish longstanding temporary make_angle_visible
Ian Jackson [Sun, 31 Jan 2021 17:14:37 +0000 (17:14 +0000)]
hidden: Abolish longstanding temporary make_angle_visible

This is going to be done directly in hidden, in piece_pri.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Trace missing piece map lookups too
Ian Jackson [Sun, 31 Jan 2021 16:45:37 +0000 (16:45 +0000)]
hidden: Trace missing piece map lookups too

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Add trace for piece ID mapping
Ian Jackson [Sun, 31 Jan 2021 15:27:10 +0000 (15:27 +0000)]
hidden: Add trace for piece ID mapping

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Refactor piece_pri very slightly to break ut face
Ian Jackson [Sun, 31 Jan 2021 15:26:39 +0000 (15:26 +0000)]
hidden: Refactor piece_pri very slightly to break ut face

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Pass PlayerId to new APIs
Ian Jackson [Sun, 31 Jan 2021 15:26:14 +0000 (15:26 +0000)]
hidden: Pass PlayerId to new APIs

We want this for debug logging right now, but we'll surely want it for
actual processing when we implement all this.

NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Use new PieceRenderInstructions and svg massage APIs
Ian Jackson [Sun, 31 Jan 2021 21:51:03 +0000 (21:51 +0000)]
hidden: Use new PieceRenderInstructions and svg massage APIs

In general terms:
 * When we need a PieceRenderInstructions get it from piece_pri
   (including from gs.occults) rather than from a Lens.
 * Delete the methods from Lens (and the dummy make_pieceid_visible
   function) so we are sure they aren't used.
 * Use the new massage_prep_piecestate function rather than the
   method on Lens.
 * Consequential changes, including providing mutable gpl in one
   placea, and adding/removing _ prefixes for expectedly used/unsued
   variables.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: New PieceRenderInstructions etc. API
Ian Jackson [Sun, 31 Jan 2021 18:48:52 +0000 (18:48 +0000)]
hidden: New PieceRenderInstructions etc. API

This is how things are going to be.  We need to call these everywhere,
and make them do something.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden prep: Make pri an argument to piece_update_player
Ian Jackson [Sun, 31 Jan 2021 21:50:36 +0000 (21:50 +0000)]
hidden prep: Make pri an argument to piece_update_player

This is where it's going to want to be in a moment.  NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden prep: api_wrest: Reorganise borrows
Ian Jackson [Sun, 31 Jan 2021 21:18:48 +0000 (21:18 +0000)]
hidden prep: api_wrest: Reorganise borrows

 * Borrow gs.players separately.
 * Borrow gpl mut.
 * Change the order of things.

We'll want this in a moment.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden prep: api_wrest: Move was formatting earlier
Ian Jackson [Sun, 31 Jan 2021 21:11:18 +0000 (21:11 +0000)]
hidden prep: api_wrest: Move was formatting earlier

We want to drop the borrow on gs.players.get(was) because we will want
a mut borrow of gs.players soon.

NFC

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden prep: Pass GameOccults to log_did_to_piece
Ian Jackson [Sun, 31 Jan 2021 12:26:15 +0000 (12:26 +0000)]
hidden prep: Pass GameOccults to log_did_to_piece

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden prep: Provide GameOccults in GameState
Ian Jackson [Sun, 31 Jan 2021 18:48:43 +0000 (18:48 +0000)]
hidden prep: Provide GameOccults in GameState

This is currently empty and unused.  It's a placeholder which we are
going to plumb through everywhere.

NFC but breaks the savefile format.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden prep: Pass &mut GPlayerState to log_did_to_piece
Ian Jackson [Sun, 31 Jan 2021 12:23:12 +0000 (12:23 +0000)]
hidden prep: Pass &mut GPlayerState to log_did_to_piece

Piece id conversion is going to possibly need to update the map in
gpl.

NFC.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agodaemon: wip: add a todo relating to PieceGone
Ian Jackson [Sat, 30 Jan 2021 23:50:24 +0000 (23:50 +0000)]
daemon: wip: add a todo relating to PieceGone

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: wip a new Lens placeholder
Ian Jackson [Sat, 30 Jan 2021 23:13:41 +0000 (23:13 +0000)]
hidden: wip a new Lens placeholder

(Actually, we changed our mind about this and it was never used.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agohidden: Declare new status of Lens
Ian Jackson [Sat, 30 Jan 2021 23:04:51 +0000 (23:04 +0000)]
hidden: Declare new status of Lens

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
4 years agocargo: Update to our slotmap MR git branch
Ian Jackson [Sat, 30 Jan 2021 01:58:03 +0000 (01:58 +0000)]
cargo: Update to our slotmap MR git branch

This does not seem to show up in the lockfile.  Odd.

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