wm: glendy

ref: 1986f3905eca9114442405d2b3180eea9bc709bc
dir: /doc/todo/

View raw version
infra and documention:
	- have a mkfile X
		- cli
		- documention X
		- 9 client X
		- sdl
		- 9 server
		- unix server
	- have a makefile X
		- documention
	- write a man page for engine's documention X
		- make it better!
			- write info for score1, calc and nextglenda
		- have one paragraph per each function
		- add enums and variables X

engine:
	- move win/lose to engine X
	- make engine.c and engine.h from plan 9 client X
	- improve portablity X
		- compiles on plan 9 X
		- compiles on unix X
		- compiles on windows, dos X!
	- add turn X
	- domove() check if there are walls there X
	- move move() to engine X
		- some client-dependent parts are still in gui9
	- use dirmove in domove() X
	- figure what we should do with checknext, should we keep it? it's pretty like domove();
	- bring turn mangment to engine
		- undo X
		- restart X
		- move X
		- put X
	- should we make grid, turn and other stuff private and access them with some wrapper function?
	- seprate computer player stuff into seprate functions
	- unix.h X
		- make sysfatal noreturn X

9 client:
	- game board often is way smaller than window itself, what gives?
	- acme/sam colors X (somewhat)
		- real ACME™ colors!
	- undo
		- ed-style dumb undo X
		- ed-style smarter? undo
		- sam-style (∞) undo
	- multiplayer version X
		- ok, needs more testing X
		- even more testing X
	- net X
	- add flags for multiplayer X
	- show turn, player somewhere
	- add network menu

cli client:
	- single player X
	- multiplayer X (somewhat)
	- net
	- zig-zag effect X
	- fix bugs
		- SE sometimes goes to east?? X (fixed with zig-zag effects)
		- make map feel hex X (somewhat)
			- see if there are any better ways to do so X (map now has some basic curves)
	- compile and test in plan 9 X
	- compile and test in linux
	- compile and test in windows(!)
	- handle (handle what?)
	- remove m and p, do actions based on turn (NE instead of m NE etc)
	- undo X
	- quit X

SDL client:
	- write one.
	- makefile
	- compile and test? in plan 9
	- compile and test in linux
	- compile and test in windows(!)

network protocol:
	- define protocol, rfc style X
		- introduce HI msg [URGENT]
		- introduce session cookies (to resume a disconnected session?) [LOW]
	- refrence impl. of server X
	- refernce impl. of client X

plan 9 server:
	- write one? (maybe port it from unix server?) [LOW]

unix server:
	- have a barebones version X
	- allow multiplayers (2+) to play in the same time X
	- lock values X
	- don't crash once one disconnections X
	- pick a port X (it's 1768)
	- multithreaded X