chiark / gitweb /
Ian Jackson [Sun, 21 Mar 2021 00:49:57 +0000 (00:49 +0000)]
clock: Avoid distracting text selection when clicking
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 21 Mar 2021 00:32:04 +0000 (00:32 +0000)]
hidden: Do not allow a player to access entirely-invisible pieces
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 21 Mar 2021 00:20:14 +0000 (00:20 +0000)]
updates: Remove an obsolete todo
We don't need a function for mapping pos. This is done via
PieceRenderInstructions etc.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sun, 21 Mar 2021 00:16:01 +0000 (00:16 +0000)]
hidden: Update max_z for max occulted displaced Z
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:54:40 +0000 (23:54 +0000)]
hidden: Tidy up a dbg!
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:52:42 +0000 (23:52 +0000)]
Do occultation removal before actually removing the piece
Otherwise the code in hidden gets *quite* unhappy.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:42:39 +0000 (23:42 +0000)]
hidden: Handle removal of occulted pieces (more)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:37:35 +0000 (23:37 +0000)]
hidden: Handle removal of occulted pieces
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:31:04 +0000 (23:31 +0000)]
hidden: Remove a done comment
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:30:02 +0000 (23:30 +0000)]
hidden: Fix a comment to refer to the right thing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:26:55 +0000 (23:26 +0000)]
hidden: Prevent occultation scrambling of grasped things
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:20:26 +0000 (23:20 +0000)]
script: Remove a done todo
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:19:48 +0000 (23:19 +0000)]
clock: Tiny style change
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:18:03 +0000 (23:18 +0000)]
clock: Make it Moveable IfWresting if claimed
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:11:03 +0000 (23:11 +0000)]
PieceMoveable: Honour in JS
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 23:10:51 +0000 (23:10 +0000)]
PieceMoveable: Provide in session data
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:58:41 +0000 (22:58 +0000)]
PieceMoveable: Enforce in /m api call
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:58:21 +0000 (22:58 +0000)]
PieceMoveable: Move calculation into a method on GPiece
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:52:11 +0000 (22:52 +0000)]
PieceMoveable: Put in updates
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:31:31 +0000 (22:31 +0000)]
hand: Remove a wrong todo comment
We don't need PUU::RecalculateOccultations. This is done by create_
and remove_occultation. This is just as well as a PUO would be
horrible.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:29:55 +0000 (22:29 +0000)]
hand: Remove a wrong todo comment
We don't need to do anything special. cmdlistener will take care of
removing any occultation.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:28:04 +0000 (22:28 +0000)]
clock: Serialise the `current`
Not sure why this wasn't done before. Probably some remnant of early
design things.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:27:51 +0000 (22:27 +0000)]
clock: Provide a loaded_hook, to restart after load
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:21:35 +0000 (22:21 +0000)]
PieceTrait, global: Provide loaded_hook() with &InstanceRef
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:15:44 +0000 (22:15 +0000)]
PieceTrait, global: Provide loaded_hook()
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 22:06:57 +0000 (22:06 +0000)]
Replace OE::PieceGone with POE::PieceGone
The client might experience PieceGone due to occultation, so that's
not an error. The Delete update in the updates stream will generally
tell them what's going on.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:58:37 +0000 (21:58 +0000)]
clock: Delete some now-obsolete todos
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:58:09 +0000 (21:58 +0000)]
otterlib: Turn an must fix into a todo
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:57:35 +0000 (21:57 +0000)]
clock: Delete mockup files
We don't need these now.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:38:47 +0000 (21:38 +0000)]
clock: Fix reset view again
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:37:45 +0000 (21:37 +0000)]
clock: Tidying, refactor, introduce initial()
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:34:18 +0000 (21:34 +0000)]
clock: Tidying, rename Spec
This was very confusing.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:32:54 +0000 (21:32 +0000)]
clock: Tidying, introduce ChessClock::per_move()
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:31:30 +0000 (21:31 +0000)]
clock: Tidying, code motion
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:28:43 +0000 (21:28 +0000)]
clock: Give Y an extra per_move
This breaks detection of whether we're reset. We'll fix that in a
moment.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:23:24 +0000 (21:23 +0000)]
clock: Actually get per_move basically working
There are still some wrinkles.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:22:20 +0000 (21:22 +0000)]
clock: Fix per_move implementation (try to)
This still doesn't work when it needs to because typically the clock
is paused in both cases and this function then exits early.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:19:37 +0000 (21:19 +0000)]
clock: Plumb was_current through to do_start_or_stop
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:16:17 +0000 (21:16 +0000)]
penultima: clock: Add a per_move time to the spec
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 20:16:55 +0000 (20:16 +0000)]
clock: Implement per_move, but brokenly
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 19:25:35 +0000 (19:25 +0000)]
clock: auto-swap active player
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 19:20:50 +0000 (19:20 +0000)]
clock: Fix spinning
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 19:20:13 +0000 (19:20 +0000)]
clock: Add a missing Debug derive
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 19:00:45 +0000 (19:00 +0000)]
clock: Some todos
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 18:47:04 +0000 (18:47 +0000)]
clock: Implement held_change_hook, at least in part
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 18:52:40 +0000 (18:52 +0000)]
clock: Break out unprepared_update()
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 18:10:41 +0000 (18:10 +0000)]
clock: Implement the thread which actually counts
This is still not entirely right...
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 18:47:41 +0000 (18:47 +0000)]
pass PieceId to held_change_hook
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 18:45:18 +0000 (18:45 +0000)]
pass &InstanceRef to held_change_hook
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:47:41 +0000 (21:47 +0000)]
prelude: Provide CLOCK_MONOTONIC too
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 17:29:02 +0000 (17:29 +0000)]
global: Provide InstanceWeakRef
The chess clock is going to need this.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 16:56:36 +0000 (16:56 +0000)]
clock: Reset it on loading
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 16:53:25 +0000 (16:53 +0000)]
clock: Break out State::reset (nfc)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 16:50:17 +0000 (16:50 +0000)]
clock: svg: Position secs explicitly
The sigil might kern oddly
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 16:48:07 +0000 (16:48 +0000)]
clock: svg: Break out "font", nfc
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 16:47:59 +0000 (16:47 +0000)]
clock svg: wip, playing about
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 16:42:55 +0000 (16:42 +0000)]
clock: Actually send out the PieceImage updates
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:41:22 +0000 (21:41 +0000)]
clock: Sort out updates to actually work
We use the new Image facility, and use Unpredictable as approriate.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 21:40:46 +0000 (21:40 +0000)]
clock: impl Display for User and fix Debug to be debuggy
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 12:40:54 +0000 (12:40 +0000)]
clock: Try making these all WRC::Unpredictable
This was flailing.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 19:47:25 +0000 (19:47 +0000)]
clock: User swap to other position
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 01:27:25 +0000 (01:27 +0000)]
clock: Some todos
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 01:23:36 +0000 (01:23 +0000)]
clock: Improve layout slightly
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 01:19:40 +0000 (01:19 +0000)]
clock: Fix a typo in svg
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 01:18:29 +0000 (01:18 +0000)]
clock: Prevent both users being the same
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 01:13:50 +0000 (01:13 +0000)]
clock: Use BadPieceStateForOperation
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 00:20:13 +0000 (00:20 +0000)]
clock: implement ui_operation
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 00:44:23 +0000 (00:44 +0000)]
clock: Rename fn initial_time
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 01:09:05 +0000 (01:09 +0000)]
Plumb &InstanceRef through to load()
clock will want this.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 01:05:46 +0000 (01:05 +0000)]
updates: log_did_to_piece*: take immutable GPlayer
Not sure why this took a mutable one ever...
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 00:33:05 +0000 (00:33 +0000)]
prelude: Add POE
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 18 Mar 2021 23:48:28 +0000 (23:48 +0000)]
clock: Implement add_ui_operations
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 00:40:34 +0000 (00:40 +0000)]
xdata: Some reformatting
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 00:38:24 +0000 (00:38 +0000)]
xdata: Provide get_mut_exp
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 00:36:22 +0000 (00:36 +0000)]
xdata: Break out xdata_missing
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 00:34:38 +0000 (00:34 +0000)]
xdata: Split out xdata_get_mut_inner
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 00:22:47 +0000 (00:22 +0000)]
clock: impl TryFrom<char> for User
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 00:20:41 +0000 (00:20 +0000)]
Rename BadClockUserError so we can reuse it
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Fri, 19 Mar 2021 00:05:40 +0000 (00:05 +0000)]
plumb GameState into add_ui_operations
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 18 Mar 2021 23:48:07 +0000 (23:48 +0000)]
clock: Rename Current from Running
This is the user whose turn it is but we might be paused, not running.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 18 Mar 2021 23:34:56 +0000 (23:34 +0000)]
clock: finish display (more or less)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 18 Mar 2021 23:25:48 +0000 (23:25 +0000)]
clock: svg adjustments
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 18 Mar 2021 23:23:56 +0000 (23:23 +0000)]
clock: svg adjustments
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 18 Mar 2021 21:29:37 +0000 (21:29 +0000)]
clock: svg adjustments
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 18 Mar 2021 21:26:35 +0000 (21:26 +0000)]
clock: svg adjustments
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 17 Mar 2021 18:04:53 +0000 (18:04 +0000)]
clock: wip rendering
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 18 Mar 2021 21:11:06 +0000 (21:11 +0000)]
clock: Fix xdata typetag (!)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Thu, 18 Mar 2021 21:10:11 +0000 (21:10 +0000)]
clock: actually load state
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 18:29:43 +0000 (18:29 +0000)]
Provide &InstanceRef in ApiPieceOpArgs
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 16:09:46 +0000 (16:09 +0000)]
updates: Provide piece_update_image
This is the actual entrypoint
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 15:53:22 +0000 (15:53 +0000)]
Break out piece_updata_fallible_player (nfc)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 15:08:23 +0000 (15:08 +0000)]
Add an UnpreparedUpdates to PieceUpdateFromOpComplex
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Sat, 20 Mar 2021 14:03:19 +0000 (14:03 +0000)]
updates: New "PreparedUpdateEntry_Image"
This allows server code to just update the SVG without causing cseq
updates, conflicts, etc.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 17 Mar 2021 17:52:02 +0000 (17:52 +0000)]
clock: in URender, distinguish a lack of player
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 17 Mar 2021 17:50:53 +0000 (17:50 +0000)]
clock: wip svg: Test no-player visibility
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 17 Mar 2021 17:35:43 +0000 (17:35 +0000)]
clock: Abolish PMissing state
We're just going to let this be fine
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 17 Mar 2021 17:32:46 +0000 (17:32 +0000)]
clock: Fix some comments
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 17 Mar 2021 17:32:35 +0000 (17:32 +0000)]
clock: Move timespec_serde into utils
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 17 Mar 2021 03:10:30 +0000 (03:10 +0000)]
clock: Provide remaining as a TimeSpec
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Ian Jackson [Wed, 17 Mar 2021 02:57:22 +0000 (02:57 +0000)]
clock: Reformat a tiny bit
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>