diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index e4e89b6b1a..a2a0c0b969 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -7,16 +7,25 @@ on: jobs: build: - runs-on: ubuntu-latest + # Ubuntu 22.04 is needed for an up-to-date version of doxygen. + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v2 - - name: generate docs - uses: mattnotmitt/doxygen-action@v1 + - name: Checkout m.css + uses: actions/checkout@v2 with: - doxyfile-path: 'Doxyfile' + repository: octorock/m.css + ref: refs/heads/bitfields + path: ./m.css + - name: Install doxygen + run: sudo apt install -y doxygen + - name: Generate docs + run: ./m.css/documentation/doxygen.py doxygen_config.py - name: deploy docs to github pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./docs/doxygen + publish_dir: ./docs/doxygen/html + # We do not need history for the gh-pages branch. + force_orphan: true diff --git a/Doxyfile b/Doxyfile index 42a3a3c08b..9111f24c11 100644 --- a/Doxyfile +++ b/Doxyfile @@ -1221,7 +1221,7 @@ HTML_STYLESHEET = # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = +HTML_EXTRA_FILES = docs/doxygen/beanstalk-bg.png # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to @@ -2295,14 +2295,14 @@ DOT_NUM_THREADS = 0 # The default value is: Helvetica. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTNAME = Helvetica +DOT_FONTNAME = Source Sans Pro # The DOT_FONTSIZE tag can be used to set the size (in points) of the font of # dot graphs. # Minimum value: 4, maximum value: 24, default value: 10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTSIZE = 10 +DOT_FONTSIZE = 16 # By default doxygen will tell dot to use the default font as specified with # DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set diff --git a/README.md b/README.md index 5663c81735..653c182421 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,12 @@ It can target the following ROMs: **Note:** This repository does not include any of the assets necessary to build the ROM. A prior copy of the game is required to extract the needed assets. -Website: +Website: Discord: +Documentation: + ## Installation To set up the repository, see [INSTALL.md](INSTALL.md). diff --git a/docs/doxygen/style.css b/docs/doxygen/style.css new file mode 100644 index 0000000000..362ba283f4 --- /dev/null +++ b/docs/doxygen/style.css @@ -0,0 +1,43 @@ +html { + height: 100%; +} +dl { + padding-left: 1em; +} +body { + min-height: 100%; + background-image: url("beanstalk-bg.png"); + background-attachment: fixed; + background-size: cover; +} +body > header > nav { + background: #2f363fe5; +} +main>article>.m-container { + padding-top: 1em; + padding-bottom: 1em; + background: #2f363fe5; +} +code { + background: #2f363fe5; +} +body > footer > nav { + background: transparent; + padding: 0; + color: #555; +} +body > footer > nav a { + color: #222; +} +ul.m-doc li.m-doc-expansible > a:first-child::before, ul.m-doc li.m-doc-collapsible > a:first-child::before { + background: transparent; +} +.m-doc-template, dl.m-doc dd, ul.m-doc li > span.m-doc, dl.m-doc dd svg.m-math, ul.m-doc li > span.m-doc svg.m-math { + color: #a4a4a4; +} +img.m-image, svg.m-image { + display: inline-block; +} +main p { + text-indent: 0; +} \ No newline at end of file diff --git a/doxygen_config.py b/doxygen_config.py index 9d37b5197d..45b24d7ece 100644 --- a/doxygen_config.py +++ b/doxygen_config.py @@ -1,63 +1,22 @@ # Configuration file for https://mcss.mosra.cz/documentation/doxygen/ -DOXYFILE = "Doxyfile" -MAIN_PROJECT_URL = "https://github.com/zeldaret/tmc" +DOXYFILE = 'Doxyfile' +MAIN_PROJECT_URL = 'https://github.com/zeldaret/tmc' SHOW_UNDOCUMENTED = True SEARCH_RESULT_ID_BYTES = 4 SEARCH_FILE_OFFSET_BYTES = 4 SEARCH_NAME_SIZE_BYTES = 2 SEARCH_DOWNLOAD_BINARY = True -HTML_HEADER = """ - -""" LINKS_NAVBAR1 = [ - ("Modules", 'modules', []), - ("Pages", 'pages', []) + ('Modules', 'modules', []), + ('Pages', 'pages', []) ] LINKS_NAVBAR2 = [ - ("Classes", 'annotated', []), - ("Files", 'files', []) -] \ No newline at end of file + ('Classes', 'annotated', []), + ('Files', 'files', []) +] +STYLESHEETS = [ + 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600', + '../css/m-dark+documentation.compiled.css', + 'docs/doxygen/style.css' +] +FAVICON = 'https://zelda64.dev/favicon.ico' \ No newline at end of file diff --git a/include/entity.h b/include/entity.h index 30bc9a7522..60ed7507e3 100644 --- a/include/entity.h +++ b/include/entity.h @@ -134,7 +134,7 @@ typedef struct Entity_ { /*0x15*/ u8 direction; /**< Facing direction. @see Direction */ /*0x16*/ u8 carryFlags; /**< Flags for carrying this Entity. */ /*0x17*/ u8 followerFlag; /**< Controls collisions between followers, unused. */ - /*0x18*/ struct { + /*0x18*/ struct SpriteSettings { /* */ u32 draw : 2; /**< Draw type. 0 = disabled, 1 = clip to screen, 3 = draw always */ /* 0x2 */ /* */ u32 ss2 : 1; /* 4 */ /* */ u32 ss3 : 1; /* 8 */ @@ -142,20 +142,20 @@ typedef struct Entity_ { /* */ u32 flipX : 1; /**< Flip sprite horizontally. */ /* 0x40 */ /* */ u32 flipY : 1; /**< Flip sprite vertically. */ /* 0x80 */ /* */ } PACKED spriteSettings; - /*0x19*/ struct { + /*0x19*/ struct SpriteRendering { /* */ u32 b0 : 2; /* 1-2 */ /* */ u32 alphaBlend : 2; /* 4-8 */ /* */ u32 b2 : 2; /* 0x10 */ /* */ u32 b3 : 2; /* 0x40 */ /* */ } PACKED spriteRendering; - /*0x1a*/ union { + /*0x1a*/ union Palette { /* */ u8 raw; - /* */ struct { + /* */ struct PaletteB { /* */ u8 b0 : 4; /* */ u8 b4 : 4; /* */ } PACKED b; /* */ } PACKED palette; - /*0x1b*/ struct { + /*0x1b*/ struct SpriteOrientation { /* */ u32 b0 : 1; /* 1 */ /* */ u32 b1 : 5; /* 0x2-0x10 */ /* */ u32 flipY : 2; /* 0x20-0x40 */