-#+STARTUP: indent
* Project Deadlines
-** October
-*** TODO APC
+** December
+*** WAITING APC
:PROPERTIES:
:ATTACH_DIR: ~/proj/the_march/src/apc
:END:
-**** TODO Directory Structure for assets
- CLOCK: [2016-10-16 Sun 11:43]--[2016-10-16 Sun 11:45] => 0:02
-#+BEGIN: clocktable :maxlevel 2 :scope subtree
-#+CAPTION: Clock summary at [2016-10-16 Sun 11:45]
-| Headline | Time |
-|--------------+--------|
-| *Total time* | *0:02* |
-|--------------+--------|
-#+END:
-
-**** TODO File syntax for directories
+**** FUNCTIONAL Directory Structure for assets
+CLOSED: [2016-11-30 Wed 09:59]
+**** FUNCTIONAL File syntax for directories
+CLOSED: [2016-11-30 Wed 10:00]
CLOCK: [2016-10-18 Tue 9:30]--[2016-10-18 Tue 10:21] => 0:51
#+BEGIN: clocktable :maxlevel 2 :scope subtree
name of archetype
numbers signify variants
alpha+ . '_m' . [digit]+ signifies mapping varriant
-***** TODO Add x,y to filenames
-**** TODO Scanner :ATTACH:
+**** REVISION Scanner :ATTACH:
:PROPERTIES:
:Attachments: scanner.c
:ID: 2dec5876-7b81-4b9c-97fe-03b152fa276a
:END:
-**** TODO Lexer :ATTACH:
+scanner to give possibly infinite children
+**** REVISION Lexer :ATTACH:
:PROPERTIES:
:Attachments: lexer.c lexer_lex.rl
:ID: faf3ff67-f8e9-41fe-9a32-2ced4bbf5b99
:END:
-**** TODO Parser/IR :ATTACH:
+ revise the scanner/lexer a little later and get these buffer sizes down a
+ little. scanner should invoke lexer_lex directly instead of making lexer
+ handle its own direntp stack.
+**** STARTED Parser/IR :ATTACH:
:PROPERTIES:
:Attachments: parser.y irmem.c ir.c ir.h
:ID: fb24c302-4743-4a45-845a-4249d2b1a378
:END:
-***** TODO Add mdats to IR to handle multiple mappings for archetypes
- CLOCK: [2016-10-20 Thu 20:12]--[2016-10-20 Thu 23:12] => 3:00
- Recording: Lexer Lex(Mapfile)
- Maps can have variants and animations. Adding a state machine
- into the lexer that will parse png files and return its frame information.
- CLOCK: [2016-10-20 Thu 19:28]--[2016-10-20 Thu 19:46] => 0:18
- insert_mdat now compiles
- CLOCK: [2016-10-20 Thu 18:10]--[2016-10-20 Thu 18:53] => 0:43
- CLOCK: [2016-10-20 Thu 15:24]--[2016-10-20 Thu 16:24] => 1:00
- CLOCK: [2016-10-20 Thu 13:13]--[2016-10-20 Thu 14:10] => 0:57
- #+BEGIN: clocktable :maxlevel 2 :scope subtree
- #+CAPTION: Clock summary at [2016-10-20 Thu 14:10]
- | Headline | Time |
- |--------------+--------|
- | *Total time* | *0:57* |
- |--------------+--------|
- #+END:
-****** DONE Create variant_list in odat
-****** DONE Init num_variants
-****** DONE Create mdat struct
-****** DONE Create new quad struct
-****** DONE Change insert_quad() to insert x,y,z, and ref_id
-****** DONE Change parser.y to include quad_list
-****** DONE In elements, populate parent_id with set. In sets, set parent_id to null.
-****** DONE Incorporate mdat into parser and ir
-****** TODO Implement Lexer_lexmapfile
-Where are we storing the map file animations? Mdats will have framesheets.
-****** TODO Remove set name token in elements being passed back
-****** DONE Lexer_lex should pass control to lexer_lexmapfile
-When it recognizes a '_m\0', call lexer_lexmapfile
-The const str passed to lexer_lex is screwing up the state machine because
-the suffix isnt truly pruned (so pe == . instead of \0)
-Mappings come before archetypes.
-****** TODO
-****** TODO
-****** TODO
-****** TODO
-****** TODO
-parent_id should be pointer or ref_id? pointer
-Root mandatory, hitbox optional? Only a variant list?
-mopen/close in skeleton rule requires lexer to pass a operator
-for every new skeleton
-inesrt_mdat() needs more?
-
**** TODO Output
DEADLINE: <2016-10-20 Thu>
+** Christmas Holiday (December 21 - January 5)
*** TODO Test Suite for APC
- DEADLINE: <2016-10-20 Thu>
+DEADLINE: <2016-12-31 Sat>
*** TODO Animation Viewer
- DEADLINE: <2016-10-31 Mon>
+DEADLINE: <2017-01-07 Sat>
-** November
+** January
*** TODO Core State Machine
- DEADLINE: <2016-11-10 Thu>
*** TODO Renderer
- DEADLINE: <2016-11-10 Thu>
-*** TODO World Generator - Beta
- DEADLINE: <2016-11-20 Sun>
+*** TODO World Generator
*** TODO Core Improvements
- DEADLINE: <2016-11-20 Sun>
*** TODO Front-end Hooks
- DEADLINE: <2016-11-20 Sun>
-*** TODO World Generator - Stable
- DEADLINE: <2016-11-30 Wed>
*** TODO Physics Engine
- SCHEDULED: <2016-11-30 Wed>
- DEADLINE: <2016-12-20 Tue>
*** TODO Actors
- DEADLINE: <2016-11-30 Wed>
*** TODO Audio Backend
- DEADLINE: <2016-11-30 Wed>
-
-** December
+** February
*** TODO Account Management
- DEADLINE: <2016-12-10 Sat>
*** TODO User Management
- DEADLINE: <2016-12-10 Sat>
-*** TODO Controllers - Beta
- DEADLINE: <2016-12-10 Sat>
+*** TODO Controllers
*** TODO Internal Data Handling
- DEADLINE: <2016-12-10 Sat>
*** TODO Network Skeleton
- DEADLINE: <2016-12-10 Sat>
*** TODO Social Media
- SCHEDULED: <2016-12-10 Sat>
*** TODO Core Gameplay
- SCHEDULED: <2016-12-20 Tue>
-*** TODO Account Management - Stable
- DEADLINE: <2016-12-20 Tue>
-*** TODO Controllers - Stable
- DEADLINE: <2016-12-20 Tue>
-
-** Christmas Holiday (December 21 - January 5)
*** TODO Gameplay Developments
*** TODO Front-End Improvements (remote)
*** TODO AI Start
*** TODO Website Beta
-
-** January
+** March
*** TODO Gameplay - Win Conditions
- DEADLINE: <2017-01-10 Tue>
*** TODO Social Media Integration
- DEADLINE: <2017-01-10 Tue>
*** TODO Viable AI (Lua ^ JS)
- DEADLINE: <2017-01-20 Fri>
-
-** February
*** TODO Beta Deployment
- DEADLINE: <2017-02-01 Wed>
*** TODO Multiplay Beta
- DEADLINE: <2017-02-01 Wed>
*** TODO Early Access for Marketing
- DEADLINE: <2017-02-01 Wed>
-
-
-
-
* Notes
11/2 Changes to grammar
Theres a filename for every element. Not true for a set.
Need to finish insert_vdat, insert_variant, lexfilename, ?
+
+11/16 Adding directions to map files and models. Also adding SS operator to models to distinguish them
+from maps.
+** DONE Add map operator changes to lexer.c
+** DONE Rename mapping files
+** TODO Review parser.y, irmem.c, ir.c, ir.h, lexer.c
+** 11/16
+*** DONE Determine when to alloc vdat and implement it
+Either have a SS opening operator that signifies to alloc_vdat or check the current vdat
+in insert_framesheet().
+*Allocing an initial vdat at ir_init(), then allocing vdat for the next odat after vdat is complete.
+*** DONE Add directions to lexer_setstr fsm
+Add both the SS operator and the direction.
+*SS is the operator, D is the direction
+*** DONE Update lexer_setx() functions with directions
+First determine what to do about allocing the vdat because if we choose to have a single
+SS opening operator, then need to prune the str one past the operator so that lexstring
+only passes back a direction, and not the SS operator. This actually shouldnt be too difficult
+if we only have a single SS operator.
+*Didn't change anything because lex_lexstring() will handle SS and direction conversion.
+*** DONE Add files to test lexer_setstr directions inclusion
+Rewrite all the old ~/test/x files because they are all out of date at this point. Mapfiles
+need to be updated with directions after ~, and models need to have their SS operators incuded.
+Just need to make sure that the files are recognized correctly andd once they are, their str
+is set to the proper place for lexstring
+*** DONE Add directions to lexer_lexstring
+If encountering a mapfile or a SS operator, need to push operator, then convert the following
+letter (if it exists) to its numerical representation (0-8 for S-NW). Won't have to push operator
+if we only have a single operator. If it doesnt exist, need to push the default 0.
+**** TODO Write functions for ragel actions
+*** TODO Add files to test lexer_lexstring
+Need to make sure that lexstring does all the shit I just talked about.
+** 11/18
+*** DONE Link up ir and lexer because right now there are some inconsitencies
+*** DONE Add recursive sets
+Start with grammar
+insert_set() **** GET THIS DONE FIRST ****
+inset_set_vadtid()
+inset_set_svlink();
+Insert_set_label -> insert_set_name + insert_set_ref()
+*** TODO Files that need changing
+**** DONE lexer.c
+Remove matching modelname and SS operator for framesheets X
+For vdats/maps, remove matching set names X
+Make a bunch of test files
+**** DONE lexer_fsm.rl
+**** TODO parser.y
+Set with only childlist valid?
+Ref_id rules make sense?
+**** TODO ir.h
+**** TODO ir.c
+**** TODO irmem.c
+*** DONE Add refs to end of models/mapsp
+*** DONE Change SS direction to SS_name_direction
+*** TODO Change PATH/NAME_MAX, MAX_MODEL_LEN, MAX_ELENAME_LEN, find out max odat name, should be a
+multiple of that.
+11/27 Thinking of making FILENAME_MAX and FILEPATH_MAX for optimum clarity
+*** DONE Remove lexer_setstr, is useless now
+** 11/22
+*** TODO stpncpy() doesnt add a null byte if strlen(src) > n. Add one?
+*** DONE Does refid come after or before map?
+after
+*** DONE Test if SS LINK works in lexer.c
+** 11/25
+*** DONE Set parent odat name in insert_namelist?
+Either set the parent odats name, or set the parent odat which is the depth above
+*** TODO Add mlink to linkbuff
+*** TODO Should allocated vdats have num_models set to 0?
+Inside insert_framesheet of ir.c
+*** TODO insert_set() at end of set rule should insert the odat into its cdat represntation.
+** 11/26
+*** DONE Insert_namelist should handle implicitly defined sets
+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
+*** DONE current_set needs to return the current set at current depth
+Instead, just create a set at every depth in the setstack, assign parents/children based on setstack.
+*** DONE Where/when to malloc a set?
+When: When created in insert_namelist()
+Where: in set chunk stack
+*** TODO Reduce set_stack namelist (doesnt need 8 names for each depth)?
+*** TODO Revisit ir.h, Create list(in this todosection) of structs that need changing
+odat: remove hitbox, root
+map: remove entirely?
+root: remove?
+link: add mlink
+refid: whats the point of these things again?
+insert_x() functions: remove?
+*** TODO Handle case where numnames is > 8
+*** TODO Where does ir_init get called?
+*** TODO Review insert_framesheet
+ Should we set the odat vdat_idx/p here?
+*** TODO Write insert_set();
+
+
+
* Current TODO list
+** General:
+*** TODO Rename NAME token to something more generic??
+** 11/01
** TODO Make Null vdat
+why?
** DONE Fix all shift/reduce errors in new grammar
** DONE Add map variant changes (create new odat, share vdat)
+<<<<<<< HEAD
+
+=======
** DONE Add map operator changes to lexer.c
** DONE Rename mapping files
** TODO Review parser.y, irmem.c, ir.c, ir.h, lexer.c
+
+
+
+#+STARTUP: ident
+#+TODO: TODO(t) STARTED(s) WAITING(w) | FUNCTIONAL(f)
+#+TODO: BUG(b) REVISION(r) UPDATING(u) | DONE (d)
+#+TODO: | CANCELED(c)
+>>>>>>> 5666c47853b4499c510f9e342d722841e4f6a5e0