merging schedule
[henge/webcc.git] / org / schedule.org
1 * Project Deadlines
2
3 ** December
4 *** WAITING APC
5 :PROPERTIES:
6 :ATTACH_DIR: ~/proj/the_march/src/apc
7 :END:
8 **** FUNCTIONAL Directory Structure for assets
9 CLOSED: [2016-11-30 Wed 09:59]
10 **** FUNCTIONAL File syntax for directories
11 CLOSED: [2016-11-30 Wed 10:00]
12 CLOCK: [2016-10-18 Tue 9:30]--[2016-10-18 Tue 10:21] => 0:51
13
14 #+BEGIN: clocktable :maxlevel 2 :scope subtree
15 #+CAPTION: Clock summary at [2016-10-16 Sun 11:46]
16 | Headline | Time |
17 |--------------+--------|
18 | *Total time* | *0:01* |
19 |--------------+--------|
20 #+END:
21
22 env_assets
23 env/cityblock/
24 large/small/center (sets)
25 signifigance of numbers in filenames vs letters
26 letters - variations
27 numbers - 1 horizontal, 2 vertical
28 signifigance of numbering after _m
29
30 env/cityblock
31 /large
32 /small
33 /center
34 /vertical
35 /horizontal
36 set_name set_id element_name element_id
37
38 Directions in filenames for statics are ?
39 Dont have framesheets so they dont need a direction.
40
41
42
43 env_deco
44 /env/deco/
45 name of archetype
46 numbers signify variants
47 alpha+ . '_m' . [digit]+ signifies mapping varriant
48 **** REVISION Scanner :ATTACH:
49 :PROPERTIES:
50 :Attachments: scanner.c
51 :ID: 2dec5876-7b81-4b9c-97fe-03b152fa276a
52 :END:
53 scanner to give possibly infinite children
54 **** REVISION Lexer :ATTACH:
55 :PROPERTIES:
56 :Attachments: lexer.c lexer_lex.rl
57 :ID: faf3ff67-f8e9-41fe-9a32-2ced4bbf5b99
58 :END:
59 revise the scanner/lexer a little later and get these buffer sizes down a
60 little. scanner should invoke lexer_lex directly instead of making lexer
61 handle its own direntp stack.
62 **** STARTED Parser/IR :ATTACH:
63 :PROPERTIES:
64 :Attachments: parser.y irmem.c ir.c ir.h
65 :ID: fb24c302-4743-4a45-845a-4249d2b1a378
66 :END:
67 **** TODO Output
68 DEADLINE: <2016-10-20 Thu>
69 ** Christmas Holiday (December 21 - January 5)
70 *** TODO Test Suite for APC
71 DEADLINE: <2016-12-31 Sat>
72 *** TODO Animation Viewer
73 DEADLINE: <2017-01-07 Sat>
74
75 ** January
76 *** TODO Core State Machine
77 *** TODO Renderer
78 *** TODO World Generator
79 *** TODO Core Improvements
80 *** TODO Front-end Hooks
81 *** TODO Physics Engine
82 *** TODO Actors
83 *** TODO Audio Backend
84 ** February
85 *** TODO Account Management
86 *** TODO User Management
87 *** TODO Controllers
88 *** TODO Internal Data Handling
89 *** TODO Network Skeleton
90 *** TODO Social Media
91 *** TODO Core Gameplay
92 *** TODO Gameplay Developments
93 *** TODO Front-End Improvements (remote)
94 *** TODO AI Start
95 *** TODO Website Beta
96 ** March
97 *** TODO Gameplay - Win Conditions
98 *** TODO Social Media Integration
99 *** TODO Viable AI (Lua ^ JS)
100 *** TODO Beta Deployment
101 *** TODO Multiplay Beta
102 *** TODO Early Access for Marketing
103
104 * Notes
105 11/2 Changes to grammar
106 Mapfiles and vdats are now going to be extracted at binary output time. This means
107 that we dont have to handle text strings in the grammar, just filename and directory structure.
108 E.g. mdats (which were mapfile data structs and are now called variants), no longer consist of quad
109 lists but of the height/width of the frames inside the variant and the name of the filename so that
110 it can be processed later at binary out. This is also true for vdats, which used to consist of spritesheets
111 and are now just a height/width of the frames and the name of the file.
112
113 Filepath is stored in vdat/variant. When should this get passed back? After height/width has
114 been lexed.
115
116 Theres a filename for every element. Not true for a set.
117
118 Need to finish insert_vdat, insert_variant, lexfilename, ?
119
120 11/16 Adding directions to map files and models. Also adding SS operator to models to distinguish them
121 from maps.
122 ** DONE Add map operator changes to lexer.c
123 ** DONE Rename mapping files
124 ** TODO Review parser.y, irmem.c, ir.c, ir.h, lexer.c
125 ** 11/16
126 *** DONE Determine when to alloc vdat and implement it
127 Either have a SS opening operator that signifies to alloc_vdat or check the current vdat
128 in insert_framesheet().
129 *Allocing an initial vdat at ir_init(), then allocing vdat for the next odat after vdat is complete.
130 *** DONE Add directions to lexer_setstr fsm
131 Add both the SS operator and the direction.
132 *SS is the operator, D is the direction
133 *** DONE Update lexer_setx() functions with directions
134 First determine what to do about allocing the vdat because if we choose to have a single
135 SS opening operator, then need to prune the str one past the operator so that lexstring
136 only passes back a direction, and not the SS operator. This actually shouldnt be too difficult
137 if we only have a single SS operator.
138 *Didn't change anything because lex_lexstring() will handle SS and direction conversion.
139 *** DONE Add files to test lexer_setstr directions inclusion
140 Rewrite all the old ~/test/x files because they are all out of date at this point. Mapfiles
141 need to be updated with directions after ~, and models need to have their SS operators incuded.
142 Just need to make sure that the files are recognized correctly andd once they are, their str
143 is set to the proper place for lexstring
144 *** DONE Add directions to lexer_lexstring
145 If encountering a mapfile or a SS operator, need to push operator, then convert the following
146 letter (if it exists) to its numerical representation (0-8 for S-NW). Won't have to push operator
147 if we only have a single operator. If it doesnt exist, need to push the default 0.
148 **** TODO Write functions for ragel actions
149 *** TODO Add files to test lexer_lexstring
150 Need to make sure that lexstring does all the shit I just talked about.
151 ** 11/18
152 *** DONE Link up ir and lexer because right now there are some inconsitencies
153 *** DONE Add recursive sets
154 Start with grammar
155 insert_set() **** GET THIS DONE FIRST ****
156 inset_set_vadtid()
157 inset_set_svlink();
158 Insert_set_label -> insert_set_name + insert_set_ref()
159 *** TODO Files that need changing
160 **** DONE lexer.c
161 Remove matching modelname and SS operator for framesheets X
162 For vdats/maps, remove matching set names X
163 Make a bunch of test files
164 **** DONE lexer_fsm.rl
165 **** TODO parser.y
166 Set with only childlist valid?
167 Ref_id rules make sense?
168 **** TODO ir.h
169 **** TODO ir.c
170 **** TODO irmem.c
171 *** DONE Add refs to end of models/mapsp
172 *** DONE Change SS direction to SS_name_direction
173 *** TODO Change PATH/NAME_MAX, MAX_MODEL_LEN, MAX_ELENAME_LEN, find out max odat name, should be a
174 multiple of that.
175 11/27 Thinking of making FILENAME_MAX and FILEPATH_MAX for optimum clarity
176 *** DONE Remove lexer_setstr, is useless now
177 ** 11/22
178 *** TODO stpncpy() doesnt add a null byte if strlen(src) > n. Add one?
179 *** DONE Does refid come after or before map?
180 after
181 *** DONE Test if SS LINK works in lexer.c
182 ** 11/25
183 *** DONE Set parent odat name in insert_namelist?
184 Either set the parent odats name, or set the parent odat which is the depth above
185 *** TODO Add mlink to linkbuff
186 *** TODO Should allocated vdats have num_models set to 0?
187 Inside insert_framesheet of ir.c
188 *** TODO insert_set() at end of set rule should insert the odat into its cdat represntation.
189 ** 11/26
190 *** DONE Insert_namelist should handle implicitly defined sets
191 Create the parents too. E.g. for A_B_C and setstack has A, shoudl create B, link to A, create C, link to B
192 *** DONE current_set needs to return the current set at current depth
193 Instead, just create a set at every depth in the setstack, assign parents/children based on setstack.
194 *** DONE Where/when to malloc a set?
195 When: When created in insert_namelist()
196 Where: in set chunk stack
197 *** TODO Reduce set_stack namelist (doesnt need 8 names for each depth)?
198 *** TODO Revisit ir.h, Create list(in this todosection) of structs that need changing
199 odat: remove hitbox, root
200 map: remove entirely?
201 root: remove?
202 link: add mlink
203 refid: whats the point of these things again?
204 insert_x() functions: remove?
205 *** TODO Handle case where numnames is > 8
206 *** TODO Where does ir_init get called?
207 *** TODO Review insert_framesheet
208 Should we set the odat vdat_idx/p here?
209 *** TODO Write insert_set();
210
211
212
213 * Current TODO list
214 ** General:
215 *** TODO Rename NAME token to something more generic??
216 ** 11/01
217 ** TODO Make Null vdat
218 why?
219 ** DONE Fix all shift/reduce errors in new grammar
220 ** DONE Add map variant changes (create new odat, share vdat)
221 <<<<<<< HEAD
222
223 =======
224 ** DONE Add map operator changes to lexer.c
225 ** DONE Rename mapping files
226 ** TODO Review parser.y, irmem.c, ir.c, ir.h, lexer.c
227
228
229
230 #+STARTUP: ident
231 #+TODO: TODO(t) STARTED(s) WAITING(w) | FUNCTIONAL(f)
232 #+TODO: BUG(b) REVISION(r) UPDATING(u) | DONE (d)
233 #+TODO: | CANCELED(c)
234 >>>>>>> 5666c47853b4499c510f9e342d722841e4f6a5e0