X-Git-Url: https://www.kengrimes.com/gitweb/?p=henge%2Fwebcc.git;a=blobdiff_plain;f=org%2Fschedule.org;h=a1cec6208a6aa41d2f0e5932a8af7e5b95d29c5a;hp=b398d1a407c4d6dbfa4ee13ec4f5f9215ab00d13;hb=2fa32982299074f586853262ef43290c4ca88533;hpb=657f682400710c0c3f529e6c0b597b9f7c2dc370 diff --git a/org/schedule.org b/org/schedule.org index b398d1a..a1cec62 100644 --- a/org/schedule.org +++ b/org/schedule.org @@ -1,95 +1,234 @@ * Project Deadlines -** October -*** TODO APC +** December +*** WAITING APC :PROPERTIES: :ATTACH_DIR: ~/proj/the_march/src/apc :END: -**** TODO Scanner :ATTACH: +**** 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 +#+CAPTION: Clock summary at [2016-10-16 Sun 11:46] +| Headline | Time | +|--------------+--------| +| *Total time* | *0:01* | +|--------------+--------| +#+END: + +env_assets +env/cityblock/ +large/small/center (sets) +signifigance of numbers in filenames vs letters + letters - variations + numbers - 1 horizontal, 2 vertical +signifigance of numbering after _m + +env/cityblock + /large + /small + /center + /vertical + /horizontal + set_name set_id element_name element_id + +Directions in filenames for statics are ? + Dont have framesheets so they dont need a direction. + + + +env_deco +/env/deco/ +name of archetype +numbers signify variants +alpha+ . '_m' . [digit]+ signifies mapping varriant +**** 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 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 + Mapfiles and vdats are now going to be extracted at binary output time. This means + that we dont have to handle text strings in the grammar, just filename and directory structure. + E.g. mdats (which were mapfile data structs and are now called variants), no longer consist of quad + lists but of the height/width of the frames inside the variant and the name of the filename so that + it can be processed later at binary out. This is also true for vdats, which used to consist of spritesheets + and are now just a height/width of the frames and the name of the file. + +Filepath is stored in vdat/variant. When should this get passed back? After height/width has +been lexed. + +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