2014-09-24 00:15:00 +03:00
|
|
|
* TODO [64/92] [69%]
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Debug output
|
|
|
|
** DONE DOT output
|
|
|
|
** DONE LaTeX output
|
|
|
|
** DONE RTF output
|
|
|
|
** DONE HTML output
|
|
|
|
** DONE Split out template hanlding into separate class from output
|
|
|
|
** DONE Inject Output dependencies
|
|
|
|
** DONE Save section-number mapping and reuse automatically
|
|
|
|
** DONE Add support for custom document templates.
|
2013-05-28 00:40:21 +03:00
|
|
|
Fixed names and/or command-line options.
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Add section links in LaTeX output.
|
|
|
|
** DONE Prettier LaTeX output
|
2013-06-04 23:32:03 +03:00
|
|
|
Look at how some existing gamebooks are formatted.
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Parse wiki-style tags used to mark up sections
|
|
|
|
** DONE New text formatting style for section references
|
|
|
|
** DONE Inventory pick up items
|
|
|
|
** DONE Codewords set
|
|
|
|
** DONE Check if has inventory item
|
|
|
|
** DONE Check if has codeword
|
|
|
|
** DONE Remove item from inventory (forced by instructions)
|
|
|
|
** DONE Enable link if not having an item
|
|
|
|
** DONE Enable link if not having a codeword
|
|
|
|
** DONE Make sure dropped items can not be picked up again
|
|
|
|
** DONE Fix problem with map file from other book sometimes crashing formatter
|
|
|
|
** DONE Keys from formatted book should be added to map file, not replace it
|
|
|
|
** DONE Make inventory and codewords generic
|
2013-06-09 01:55:24 +03:00
|
|
|
They are the same, sort of, and it might be good to be able to
|
|
|
|
add other similar entities as well, like skills or spells or whatever.
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Otherwise/else handling for has.
|
|
|
|
** DONE Redesign otherwise/else to use xor tag on section reference.
|
|
|
|
** DONE Disable all links after finding an auto link (that is enabled).
|
|
|
|
** DONE Default templates. (templates/default?)
|
|
|
|
** DONE Book option to set title
|
|
|
|
** DONE Book option to set author
|
|
|
|
** DONE Book option to set max section number to use
|
|
|
|
** DONE Quote strings to not break formatting.
|
|
|
|
** DONE Include other templates from a template.
|
|
|
|
** DONE Template for book introduction (including rules etc)
|
2013-06-09 01:55:24 +03:00
|
|
|
Sections with some markup (has number 0?) are added as chapters
|
|
|
|
of introduction, otherwise formatted identical to other sections.
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Inserting images
|
|
|
|
** DONE HTML hide intro sections with link to display again
|
|
|
|
** DONE Only accept specific characters in section names
|
2013-06-11 01:02:19 +03:00
|
|
|
eg [a-z][a-z_0-9]+
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Random pick of link to follow from a section.
|
|
|
|
** DONE Possibility to make predictable random numbers and shuffling for testing
|
|
|
|
** DONE Test generate examples and compare to expected output in all formats
|
|
|
|
** DONE Unit tests (finally...)
|
|
|
|
** DONE Save game (ie player) state
|
|
|
|
** DONE Load game (ie player) state
|
|
|
|
** DONE Flag to select what tag(s) to include (eg for demo/preview/short...)
|
2013-06-15 00:36:59 +03:00
|
|
|
Allow sections with same name as long as only one is included.
|
|
|
|
Add book config for what section to use for references to excluded sections
|
|
|
|
(eg links to outside of demo version can lead to section explaining that)
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Counters (life, money, whatever) create and set
|
2013-06-09 01:55:24 +03:00
|
|
|
count tag to declare new counter, text in tag is display name
|
|
|
|
optional argument sets the starting value of the tag
|
2013-06-09 02:04:02 +03:00
|
|
|
display somewhere on page (in HTML output)
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Counters increase/decrease
|
|
|
|
** DONE Counters check
|
|
|
|
** DONE Make sure HTML output works with javascript disabled
|
2013-06-14 01:24:33 +03:00
|
|
|
and in inferior browsers
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Make sure counters start at 0 (not 1).
|
|
|
|
** DONE Remove the counter names from counter-tags output (and templates).
|
|
|
|
** DONE Buy (optionally decrease a counter to add something to a collection)
|
2013-06-19 01:09:16 +03:00
|
|
|
buy tag to specify what can be bought, eg [buy item]sword[/buy]
|
|
|
|
followed by cost tag to specify what it will cost, eg [cost gold]3[/cost]
|
2013-06-24 02:14:30 +03:00
|
|
|
Implemented by adding cost to the old found tag (put cost tag after it).
|
|
|
|
Might reconsider and make explicit buy tag for clarity?
|
2013-10-09 00:42:25 +03:00
|
|
|
** DONE Add text template used for outputting non-tagged (plain) text.
|
|
|
|
** DONE Named references, when that style is wanted (especially for HTML).
|
|
|
|
** DONE Seems to be a bug in rtf template, inserting image filename.
|
2014-04-04 00:47:08 +03:00
|
|
|
** DONE JavaScript tests running in nodejs (no GUI)
|
2013-10-09 00:42:25 +03:00
|
|
|
The big scripts in html templates are split out into separate files
|
|
|
|
already (script.html and endscript.html). It should be possible to
|
|
|
|
test those from nodejs?
|
2013-11-17 01:44:48 +02:00
|
|
|
** DONE Make debug output more useful with a stricter format easy to parse.
|
|
|
|
Will be taken care of when implementing JSON output.
|
2014-09-23 22:52:26 +03:00
|
|
|
** DONE checkgamebook.py script, parse debug file JSON
|
|
|
|
CLOSED: [2014-09-23 Tue 21:52]
|
2014-09-24 00:15:00 +03:00
|
|
|
** DONE checkgamebook.py build internal section graph
|
|
|
|
CLOSED: [2014-09-23 Tue 23:10]
|
|
|
|
** DONE checkgamebook.py find unreachable sections
|
|
|
|
CLOSED: [2014-09-23 Tue 23:10]
|
2014-04-04 00:47:08 +03:00
|
|
|
** TODO JavaScript improved design/code for what links to enable
|
|
|
|
Many strange things can happen when clicking one link changes something
|
|
|
|
that should now enable or disable some link. Instead of the current
|
|
|
|
hacks all links should be re-calculated every time something have been
|
|
|
|
clicked, doing the same checks as when first displaying a section.
|
2013-10-09 00:42:25 +03:00
|
|
|
** TODO Pick a specific number of things from those found in a(n intro) section
|
2013-06-19 01:09:16 +03:00
|
|
|
Used to pick up one or more of something found, or before starting.
|
|
|
|
Create counter and set to how many are allowed to be picked.
|
|
|
|
Add buy (and cost) tags for what can be taken.
|
|
|
|
Need to make sure it is rendered in a good way (might need more tags).
|
|
|
|
This will also work for picking eg starting skills.
|
2014-03-05 00:02:58 +02:00
|
|
|
** DONE Subtract from counter when following link (implies has at least that)
|
2013-06-19 01:09:16 +03:00
|
|
|
This is the cost tag again, when it immediately follows a reference.
|
2014-03-07 22:22:10 +02:00
|
|
|
** DONE Remove keyword (or item) when picking up something
|
|
|
|
Trade one thing from a collection to add something else to some collection.
|
|
|
|
** TODO Add keyword (or item) when following link
|
2013-06-19 01:09:16 +03:00
|
|
|
This is a new tag that follows a reference similar to a cost tag.
|
2014-03-07 22:22:10 +02:00
|
|
|
** DONE Remove keyword (or item) when following link
|
2014-03-05 00:02:58 +02:00
|
|
|
This is a new tag that follows a reference similar to a cost tag.
|
2014-03-07 22:22:10 +02:00
|
|
|
** TODO Fix bug in HTML with being able to click disabled things
|
|
|
|
It is possible sometimes to follow a disabled reference or
|
|
|
|
pick something up even when not having enough to pay its price.
|
|
|
|
Seems to only happen with things that do have a price, not those
|
|
|
|
disabled for other reasons.
|
|
|
|
** TODO When buying or trading for something, it can be receievd again
|
|
|
|
The js code to make sure that something you have had but later dropped
|
|
|
|
can not be picked up again seems to be broken for things that
|
|
|
|
have a price.
|
2013-10-09 00:42:25 +03:00
|
|
|
** TODO Use points to buy values for counters
|
2013-06-19 01:09:16 +03:00
|
|
|
Eg to buy starting values for some attributes in introsection.
|
2014-03-05 00:02:58 +02:00
|
|
|
** TODO Counter max values, not leaving a section too early
|
2013-06-19 01:09:16 +03:00
|
|
|
Use cost tag following inc tag to set price for increasing a counter.
|
|
|
|
Set max for points to 0.
|
|
|
|
Do not allow navigation until all points are spent (ie never allows
|
|
|
|
following links while a counter is above its max value).
|
|
|
|
The same mechanism can of course be used in-game at any section to
|
|
|
|
allow the player to buy increases in different counters.
|
2014-03-05 00:02:58 +02:00
|
|
|
** TODO Tag to remove counter when following link
|
|
|
|
What if a reference leads back to somewhere that counter is used?
|
|
|
|
In that case will revive the counter automatically.
|
|
|
|
Remove will only hide from GUI really.
|
2013-10-09 00:42:25 +03:00
|
|
|
** TODO Combat
|
2014-03-05 00:02:58 +02:00
|
|
|
Tag to set config parameters for combat system (probably in introsection).
|
|
|
|
Tag to mark up the link to use to trigger next round.
|
|
|
|
Tag to mark up retreat link.
|
|
|
|
Tag to mark up enemy starting values.
|
|
|
|
JavaScript easy to override parts of system, but quite configurable
|
|
|
|
just using the config parameters.
|
|
|
|
Allow multiple combat systems in the same book.
|
2013-10-09 00:42:25 +03:00
|
|
|
** TODO Some way to insert character sheet in book introduction
|
2014-03-05 00:02:58 +02:00
|
|
|
Using a PNG image is not nice. Not sure yet what tags are needed.
|
2013-10-09 00:42:25 +03:00
|
|
|
** TODO Defensive removal of any weird unicode not handled by quoting.
|
2014-03-05 00:02:58 +02:00
|
|
|
** TODO Somewhat user-friendly python error messages and always fail early
|
|
|
|
** TODO Somewhat user-friendly js error messages and always fail early
|
2013-10-09 00:42:25 +03:00
|
|
|
** TODO More formatting possibilities in sections
|
2014-03-05 00:02:58 +02:00
|
|
|
Look at existing gamebooks to get ideas to add to this todo list.
|
2014-09-23 22:52:26 +03:00
|
|
|
** TODO Document Gamebook format Basic gamebook (static, nothing about magic needed for dynamic)
|
|
|
|
** TODO Document Gamebook format Advanced (more complex layout options, but still static)
|
|
|
|
** TODO Document Gamebook format Dynamic (markup needed to make playable (HTML) version)
|
|
|
|
** TODO Document Gamebook format Standard output formats reference
|
|
|
|
** TODO Document Gamebook format Customization (make new output formats or override existing)
|
|
|
|
** TODO Reference documentation (all default template tags)
|
2014-03-07 22:22:10 +02:00
|
|
|
** TODO Make it possible for a modifier tag to refer to any other tag
|
|
|
|
Currently a modifier (eg cost) always applies to tag on its left or right,
|
|
|
|
and it can be a bit confusing to remember what direction, or awkward to
|
|
|
|
write the text in a good way to follow that rule. Make it possible to add
|
|
|
|
to a tag what it applies to (eg what item or reference the cost should apply to,
|
|
|
|
anywhere in the section).
|
2013-10-09 00:42:25 +03:00
|
|
|
** TODO HTML with javascript active, do not make new URLs (that break history)
|
2014-04-04 00:47:08 +03:00
|
|
|
** TODO JavaScript GUI tests running in a browser
|
2013-11-17 01:44:48 +02:00
|
|
|
Preferably headless (in nodejs?). Run tests on gamebook html example(s).
|
|
|
|
Work on laptop stashed as zombietest (using zombietest obviously).
|
2013-10-09 00:42:25 +03:00
|
|
|
** TODO HTML CSS
|
2014-02-28 23:59:10 +02:00
|
|
|
** TODO Fix broken references in list option output for some tag
|
|
|
|
When using the list option, and only including only sections for a tag,
|
|
|
|
there currently has to be a missingto section, and that section is always
|
|
|
|
listed even if it is not tagged.
|
2014-09-23 22:33:01 +03:00
|
|
|
** DONE Add json output file containing sections, counters, collections etc.
|
|
|
|
CLOSED: [2014-09-23 Tue 21:29]
|
2013-11-17 01:44:48 +02:00
|
|
|
This output format down-prioed because requires some changes to handle new-lines.
|
|
|
|
All previously supported formats handles new-lines in text without problems, JSON do not.
|
|
|
|
New-lines are added in ways that can currently not be affected by quoting functions.
|
2014-09-23 22:33:01 +03:00
|
|
|
Made debug format json. Will fix new-line problems when seen (not so far).
|
2013-10-09 00:42:25 +03:00
|
|
|
** TODO Sell (optionally increase a counter to drop something from a collection)
|
2013-06-26 12:37:48 +03:00
|
|
|
sell tag to specify what can be bought, eg [sell item]sword[/sell]
|
|
|
|
followed by cost tag to specify what it will cost, eg [cost gold]2[/cost]
|
|
|
|
Might want to wait with this and add normal drop function first?
|
2014-03-05 00:02:58 +02:00
|
|
|
This is like payPrice but a negative cost? Sort of.
|
2014-03-05 00:35:54 +02:00
|
|
|
** DONE Tags for current format
|
2014-03-05 00:02:58 +02:00
|
|
|
Automatic upper-case tags excluded not matching output format, eg when
|
|
|
|
generating a HTML file all sections tagged PDF or TXT are excluded
|
|
|
|
(unless also tagged as HTML of course). Sections with no format
|
|
|
|
tag are always included, so this has to be handled somewhat
|
|
|
|
differently from the normal include/exclude tags unfortunately.
|
|
|
|
Allow multiple sections with the same name, only use one that matches,
|
|
|
|
or treat as any other missing section otherwise.
|
2014-09-23 22:52:26 +03:00
|
|
|
** TODO checkgamebook.py ignore dummy and fake sections
|
|
|
|
** TODO checkgamebook.py trace items to find sections they are needed but can not have been found
|