its exploded contents. Does't work once there's been some undo
activity as I don't have a way to get the length of the stack below
the undo/redo line. Looks promising though.
-- and to detect when an incoming move doesn't make sense. These
latter changes may not be necessary now that hash code is checked
first thing, but can't hurt, and there will be devices without hash
codes for a while.
so that snapshotting made score strings disappear. Also rename
stream_copyFromStream to stream_getFromStream to make it clearer that
the src is modified. And swap params in stream_setPos().
of which is TBD). When a new-version client connects, store the value
it's passed. At first this will let me track how quickly people
upgrade. Later I can use it to let different clients have different
formats to their messages e.g. to proxy.
with 15x15 and 17x17 (and presumably larger) with the old games being
upgraded mid-game: when server's new and wants to use a larger board
but not all clients are capable, shrink the board; and, when new
server is opening state saved by pre-upgrade code, assume a non-0
proto version for clients that registered earlier (as old code didn't
save the client's proto version.)
to query model for values. Now everybody else queries new model API
rather than client via util_getSquareBonus(), model uses its internal
values if present otherwise falls back to util_getSquareBonus(), and
internalizes the array as part of the game. Now it should be easier
to have different bonus patterns and to have them exchanged as part of
network game init.
clients to append their stream version to their inital connect
message. (The format can't change, so detecting additional length was
the only option. comm.c on existing clients won't allow more than one
connect message per channel, so adding a new to be used in addition
didn't work.) New servers detect this; old will ignore. Track the
version (implicit or not) of all clients, and use the lowest any
supports, so that new server and all new clients will use newer proto.
MAX_COLS was larger than 16. In order that old-style messages on
relay be readable by new-style code on device, modified server.c's
protocol to include stream version. But: unless I come up with a
better way of doing this all devices will have to be upgraded at the
same time: old won't be able to read the new format as it's done here.