I had a productive Friday night and Saturday. Done:
- When you press ready, then enter the handicap dialog, then others press ready and start playing, you now successfully join play. You're not stuck in the handicap dialog anymore. Now, level browser and handicap dialog behave the same in this regard.
- Batter's forward range vs. blockers in 0.10 should be exactly as it has always been in 0.9. Ensured 100 % singleplayer coverage.
- Batter's backward range vs. blockers in 0.10 is exactly what I want, see spoiler section in this post for details.
- Unittested the handicap merging to guard against common int overflow. I compute sums of fractions with 64-bit ints, where each fraction has an 8-bit numerator and an 8-bit denominator. Anything with up to 8 merged fractions will not overflow. More than 8 fractions will also work fine when the fractions are sane (e.g., 1/2, 1/5, 1/7, 1/10) and not the awkward edge case stuff from the unittest (101/102 + 102/103 + 103/104 + ...) / n.
(https://vignette.wikia.nocookie.net/googology/images/0/09/Ermine.png/revision/latest/scale-to-width-down/256)
Extend the batter's backwards range for 0.10 as far as possible so that this:
1. Faller falls onto a blocker.
2. Blocker turns faller away during faller's fall.
3. Assign batter to the lander.
... bats the blocker.
Still, this:
1. Walker walks towards a blocker.
2. Blocker turns walker.
3. Assign batter to walker immediately after turning.
... misses the blocker.
I believe that this feels best in multiplayer: When you fall onto a blocker, you can always bat the blocker, whether he turned you during the fall or not. To quote geoo: "Blocker müssen weg!"
Todo for 0.10.0:
- Server should tell 0.9 players that they can't see or can't enter 0.10 rooms.
- Draw tipped scales (= the handicap icon) in all resolutions.
- Writing long release notes!
(https://raw.githubusercontent.com/SimonN/lix-unstable/server/data/images/scale200/lobby_sp.I.png)
In later 0.10.x:
- Add replay support for handicap.
- File UX bug against the slowly-eating factory trap: Icho wasn't sure whether the chimney was a wall or whether it was part of the trap.
-- Simon