Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
path: root/doc/TODO
blob: f8d81c93cf873a298c428cf6f787777559ac58f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
TODO

milestone 1:
	fix turning (needs more testing)
	fix camera frustum clip
	fix cl_prediction

milestone 2:
	targetting system
	server-client event system, hit-once lightweight entities
	explosion events
	weapon fire events
	zones

milestone 3:
	gui

filesystem:
	write a filesystem based on streams
	write handlers for zip
	fs_homedir, to define the writeable directory
	fs_datadir, readonly package datadir
	fs_base, fs_mod, fs_game, to be used by modules
	
model:
	engine flare key (ok)
	split map loader from model (ok)

	load vertices into VertexData
	support map classes (e.g. func_rotate), requires class VertexData

	rework textures/shaders
		on .map load, convert 'common/entity' to a flag
		rename 'entity' to 'primairy'
		add 'common/primairy_dark', ''common/secondairy', 'common/secondairy_dark' and convert to flags
		sort triangles by flags
		render by flag
		use quads array and quad flag?
	
core:
	connection to remote game (ok)
	read/write configuration file (ok)
	split client and server configuration (ok)
	parse command line options (ok)
	execute command line options (ok)
	globe entity (ok)
	refactor 'say', it should not be a game function (ok)
	execute config files (ok)

	zones (breaks network proto)
	game module loading/unloading (breaks network proto, server must send module type)
	support entity secondairy color (breaks network proto)

	toggle func to toggle a bool cvar

network:
	UDP datagrams (ok)
	buffered sends (ok)
	client connection state (ok)
	zlib compression (partial)
	protocol version in handshake (ok)
	rcon framework (ok)

	protocol description (incomplete)
	private chat
	zone/system chat (requires zones)
	group/clan chat (requires groups)
	rcon authentication, rcon command, servers must be able to disable rcon

	fix lag/client prediction
	detect and disconnect clients behaving badly

client:
	console chars (ok)
        console text color and wrapping (ok)
	input handler switching (ok)
	key binds (ok)
	better crosshair bitmaps (ok)
	keyboard repeat (ok)
	fix tracking camera (ok)
	
	shift/ctrl/alt modifier key binds	

render:
	render pipeline (ok)
	.map models (ok)
	write RLE tga screenshots (ok)
	texture registry (ok)
	add small camera light (ok)

	text quads render pipe? (see model quads) 
		- text can't be a in quadpipe -> gui layers
	test/fix? lighting without sun in world.ini
	sun light strenght

gui:
	a gui library with widgets and buttons
	convert console and chat to gui

sound:
	engine sounds (ok)
	user interface sounds (ok)

	enitity/event positional sounds

game:
	implement player credits
	entity health/shield/armor
	gui concept artwork

win32 port:
	network not functional (ok)
	texture loading is broken (ok)
	screenshots are broken (ok)
	sound is broken (ok)

	directory creation