Lexer actually lexes filenames now, and odats are made out of mapvariants
[henge/webcc.git] / org / schedule.org
1 #+STARTUP: indent
2 * Project Deadlines
3
4 ** October
5 *** TODO APC
6 :PROPERTIES:
7 :ATTACH_DIR: ~/proj/the_march/src/apc
8 :END:
9 **** TODO Directory Structure for assets
10 CLOCK: [2016-10-16 Sun 11:43]--[2016-10-16 Sun 11:45] => 0:02
11 #+BEGIN: clocktable :maxlevel 2 :scope subtree
12 #+CAPTION: Clock summary at [2016-10-16 Sun 11:45]
13 | Headline | Time |
14 |--------------+--------|
15 | *Total time* | *0:02* |
16 |--------------+--------|
17 #+END:
18
19 **** TODO File syntax for directories
20 CLOCK: [2016-10-18 Tue 9:30]--[2016-10-18 Tue 10:21] => 0:51
21
22 #+BEGIN: clocktable :maxlevel 2 :scope subtree
23 #+CAPTION: Clock summary at [2016-10-16 Sun 11:46]
24 | Headline | Time |
25 |--------------+--------|
26 | *Total time* | *0:01* |
27 |--------------+--------|
28 #+END:
29
30 env_assets
31 env/cityblock/
32 large/small/center (sets)
33 signifigance of numbers in filenames vs letters
34 letters - variations
35 numbers - 1 horizontal, 2 vertical
36 signifigance of numbering after _m
37
38 env/cityblock
39 /large
40 /small
41 /center
42 /vertical
43 /horizontal
44 set_name set_id element_name element_id
45
46 Directions in filenames for statics are ?
47 Dont have framesheets so they dont need a direction.
48
49
50
51 env_deco
52 /env/deco/
53 name of archetype
54 numbers signify variants
55 alpha+ . '_m' . [digit]+ signifies mapping varriant
56 ***** TODO Add x,y to filenames
57 **** TODO Scanner :ATTACH:
58 :PROPERTIES:
59 :Attachments: scanner.c
60 :ID: 2dec5876-7b81-4b9c-97fe-03b152fa276a
61 :END:
62 **** TODO Lexer :ATTACH:
63 :PROPERTIES:
64 :Attachments: lexer.c lexer_lex.rl
65 :ID: faf3ff67-f8e9-41fe-9a32-2ced4bbf5b99
66 :END:
67 **** TODO Parser/IR :ATTACH:
68 :PROPERTIES:
69 :Attachments: parser.y irmem.c ir.c ir.h
70 :ID: fb24c302-4743-4a45-845a-4249d2b1a378
71 :END:
72 ***** TODO Add mdats to IR to handle multiple mappings for archetypes
73 CLOCK: [2016-10-20 Thu 20:12]--[2016-10-20 Thu 23:12] => 3:00
74 Recording: Lexer Lex(Mapfile)
75 Maps can have variants and animations. Adding a state machine
76 into the lexer that will parse png files and return its frame information.
77 CLOCK: [2016-10-20 Thu 19:28]--[2016-10-20 Thu 19:46] => 0:18
78 insert_mdat now compiles
79 CLOCK: [2016-10-20 Thu 18:10]--[2016-10-20 Thu 18:53] => 0:43
80 CLOCK: [2016-10-20 Thu 15:24]--[2016-10-20 Thu 16:24] => 1:00
81 CLOCK: [2016-10-20 Thu 13:13]--[2016-10-20 Thu 14:10] => 0:57
82 #+BEGIN: clocktable :maxlevel 2 :scope subtree
83 #+CAPTION: Clock summary at [2016-10-20 Thu 14:10]
84 | Headline | Time |
85 |--------------+--------|
86 | *Total time* | *0:57* |
87 |--------------+--------|
88 #+END:
89 ****** DONE Create variant_list in odat
90 ****** DONE Init num_variants
91 ****** DONE Create mdat struct
92 ****** DONE Create new quad struct
93 ****** DONE Change insert_quad() to insert x,y,z, and ref_id
94 ****** DONE Change parser.y to include quad_list
95 ****** DONE In elements, populate parent_id with set. In sets, set parent_id to null.
96 ****** DONE Incorporate mdat into parser and ir
97 ****** TODO Implement Lexer_lexmapfile
98 Where are we storing the map file animations? Mdats will have framesheets.
99 ****** TODO Remove set name token in elements being passed back
100 ****** DONE Lexer_lex should pass control to lexer_lexmapfile
101 When it recognizes a '_m\0', call lexer_lexmapfile
102 The const str passed to lexer_lex is screwing up the state machine because
103 the suffix isnt truly pruned (so pe == . instead of \0)
104 Mappings come before archetypes.
105 ****** TODO
106 ****** TODO
107 ****** TODO
108 ****** TODO
109 ****** TODO
110 parent_id should be pointer or ref_id? pointer
111 Root mandatory, hitbox optional? Only a variant list?
112 mopen/close in skeleton rule requires lexer to pass a operator
113 for every new skeleton
114 inesrt_mdat() needs more?
115
116 **** TODO Output
117 DEADLINE: <2016-10-20 Thu>
118 *** TODO Test Suite for APC
119 DEADLINE: <2016-10-20 Thu>
120 *** TODO Animation Viewer
121 DEADLINE: <2016-10-31 Mon>
122
123 ** November
124 *** TODO Core State Machine
125 DEADLINE: <2016-11-10 Thu>
126 *** TODO Renderer
127 DEADLINE: <2016-11-10 Thu>
128 *** TODO World Generator - Beta
129 DEADLINE: <2016-11-20 Sun>
130 *** TODO Core Improvements
131 DEADLINE: <2016-11-20 Sun>
132 *** TODO Front-end Hooks
133 DEADLINE: <2016-11-20 Sun>
134 *** TODO World Generator - Stable
135 DEADLINE: <2016-11-30 Wed>
136 *** TODO Physics Engine
137 SCHEDULED: <2016-11-30 Wed>
138 DEADLINE: <2016-12-20 Tue>
139 *** TODO Actors
140 DEADLINE: <2016-11-30 Wed>
141 *** TODO Audio Backend
142 DEADLINE: <2016-11-30 Wed>
143
144 ** December
145 *** TODO Account Management
146 DEADLINE: <2016-12-10 Sat>
147 *** TODO User Management
148 DEADLINE: <2016-12-10 Sat>
149 *** TODO Controllers - Beta
150 DEADLINE: <2016-12-10 Sat>
151 *** TODO Internal Data Handling
152 DEADLINE: <2016-12-10 Sat>
153 *** TODO Network Skeleton
154 DEADLINE: <2016-12-10 Sat>
155 *** TODO Social Media
156 SCHEDULED: <2016-12-10 Sat>
157 *** TODO Core Gameplay
158 SCHEDULED: <2016-12-20 Tue>
159 *** TODO Account Management - Stable
160 DEADLINE: <2016-12-20 Tue>
161 *** TODO Controllers - Stable
162 DEADLINE: <2016-12-20 Tue>
163
164 ** Christmas Holiday (December 21 - January 5)
165 *** TODO Gameplay Developments
166 *** TODO Front-End Improvements (remote)
167 *** TODO AI Start
168 *** TODO Website Beta
169
170 ** January
171 *** TODO Gameplay - Win Conditions
172 DEADLINE: <2017-01-10 Tue>
173 *** TODO Social Media Integration
174 DEADLINE: <2017-01-10 Tue>
175 *** TODO Viable AI (Lua ^ JS)
176 DEADLINE: <2017-01-20 Fri>
177
178 ** February
179 *** TODO Beta Deployment
180 DEADLINE: <2017-02-01 Wed>
181 *** TODO Multiplay Beta
182 DEADLINE: <2017-02-01 Wed>
183 *** TODO Early Access for Marketing
184 DEADLINE: <2017-02-01 Wed>
185
186
187
188
189
190 * Notes
191 11/2 Changes to grammar
192 Mapfiles and vdats are now going to be extracted at binary output time. This means
193 that we dont have to handle text strings in the grammar, just filename and directory structure.
194 E.g. mdats (which were mapfile data structs and are now called variants), no longer consist of quad
195 lists but of the height/width of the frames inside the variant and the name of the filename so that
196 it can be processed later at binary out. This is also true for vdats, which used to consist of spritesheets
197 and are now just a height/width of the frames and the name of the file.
198
199 Filepath is stored in vdat/variant. When should this get passed back? After height/width has
200 been lexed.
201
202 Theres a filename for every element. Not true for a set.
203
204 Need to finish insert_vdat, insert_variant, lexfilename, ?
205 * Current TODO list
206 ** TODO Make Null vdat
207 ** DONE Fix all shift/reduce errors in new grammar
208 ** DONE Add map variant changes (create new odat, share vdat)
209 ** DONE Add map operator changes to lexer.c
210 ** DONE Rename mapping files
211 ** TODO Review parser.y, irmem.c, ir.c, ir.h, lexer.c