#+STARTUP: indent * Project Deadlines ** October *** TODO 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 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 ***** TODO Add x,y to filenames **** TODO Scanner :ATTACH: :PROPERTIES: :Attachments: scanner.c :ID: 2dec5876-7b81-4b9c-97fe-03b152fa276a :END: **** TODO Lexer :ATTACH: :PROPERTIES: :Attachments: lexer.c lexer_lex.rl :ID: faf3ff67-f8e9-41fe-9a32-2ced4bbf5b99 :END: **** TODO 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> *** TODO Test Suite for APC DEADLINE: <2016-10-20 Thu> *** TODO Animation Viewer DEADLINE: <2016-10-31 Mon> ** November *** 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 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 *** 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 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 *** 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, ? * Current TODO list ** TODO Make Null vdat ** DONE Fix all shift/reduce errors in new grammar ** DONE Add map variant changes (create new odat, share vdat) ** DONE Add map operator changes to lexer.c ** DONE Rename mapping files ** TODO Review parser.y, irmem.c, ir.c, ir.h, lexer.c