This automatically generates documentation from goal_src docstrings,
think doxygen/java-docs/rust docs/etc. It mostly supports everything
already, but here are the following things that aren't yet complete:
- file descriptions
- high-level documentation to go along with this (think pure markdown
docs describing overall systems that would be co-located in goal_src for
organizational purposes)
- enums
- states
- std-lib functions (all have empty strings right now for docs anyway)
The job of the new `gen-docs` function is solely to generate a bunch of
JSON data which should give you everything you need to generate some
decent documentation (outputting markdown/html/pdf/etc). It is not it's
responsibility to do that nice formatting -- this is by design to
intentionally delegate that responsibility elsewhere. Side-note, this is
about 12-15MB of minified json for jak 2 so far :)
In our normal "goal_src has changed" action -- we will generate this
data, and the website can download it -- use the information to generate
the documentation at build time -- and it will be included in the site.
Likewise, if we wanted to include docs along with releases for offline
viewing, we could do so in a similar fashion (just write a formatting
script to generate said documentation).
Lastly this work somewhat paves the way for doing more interesting
things in the LSP like:
- whats the docstring for this symbol?
- autocompleting function arguments
- type checking function arguments
- where is this symbol defined?
- etc
Fixes#2215
* add secrets menu, music player and some more pc settings
* remove todos
* rename string funcs
* replace cases
* add `game-text-id->string` function, refactor player menu generation
* remove process check, `cons` -> `dcons`, `strncpy`
* only show subtitle notices during a subtitle context
* move language & subtitles (back) to game options
* remove "accessibility" menu and put its option in "misc"
* new subtitle language selection
* properly split audio & text language
* Update game_text_en.gs
* misc setting size fixes
* better fix for subtitle notice
* final touches
* subtitle fixes & uk-english subtitles
* more english fixes