mirror of https://github.com/n64decomp/mk64.git
parent
2d3278d073
commit
e2c19fd4bc
|
@ -0,0 +1,54 @@
|
||||||
|
name: Doxygen GitHub Pages Deploy Action
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4.1.1
|
||||||
|
with:
|
||||||
|
submodules: "true"
|
||||||
|
- name: Get Complementary file
|
||||||
|
uses: actions/checkout@v4.1.1
|
||||||
|
with:
|
||||||
|
path: complementary_file
|
||||||
|
repository: UnspaghettifyKart/action-build-private-file
|
||||||
|
ssh-key: ${{ secrets.LINUX_DEPLOY_SSH_PRIVATE_KEY }}
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt install build-essential cmake pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev libcapstone-dev
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cp -r complementary_file/* .
|
||||||
|
echo "${{ secrets.AES_KEY }}" | openssl enc -d -aes-256-cbc -pass stdin -pbkdf2 -in baserom.us.z64.aes -out baserom.us.z64
|
||||||
|
make assets
|
||||||
|
make -j
|
||||||
|
- name: Install Doxygen
|
||||||
|
run: |
|
||||||
|
sudo apt-get install graphviz doxygen
|
||||||
|
wget https://www.doxygen.nl/files/doxygen-1.10.0.linux.bin.tar.gz
|
||||||
|
tar -xzf doxygen-*.linux.bin.tar.gz
|
||||||
|
|
||||||
|
- name: make badge
|
||||||
|
run: |
|
||||||
|
pip install pybadges
|
||||||
|
python3 progress.py badge
|
||||||
|
|
||||||
|
- name: Generate Doxygen documentation
|
||||||
|
run: |
|
||||||
|
./doxygen-*/bin/doxygen Doxyfile
|
||||||
|
|
||||||
|
- name: Create .nojekyll (ensures pages with underscores work on gh pages)
|
||||||
|
run: touch docs/html/.nojekyll
|
||||||
|
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
uses: JamesIves/github-pages-deploy-action@v4
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
branch: gh-pages
|
||||||
|
folder: docs/html
|
|
@ -1,36 +0,0 @@
|
||||||
name: Doxygen GitHub Pages Deploy Action
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: "true"
|
|
||||||
|
|
||||||
- name: Install Doxygen
|
|
||||||
run: |
|
|
||||||
sudo apt-get install graphviz doxygen -y
|
|
||||||
wget https://www.doxygen.nl/files/doxygen-1.10.0.linux.bin.tar.gz
|
|
||||||
tar -xzf doxygen-*.linux.bin.tar.gz
|
|
||||||
|
|
||||||
- name: Generate Doxygen documentation
|
|
||||||
run: |
|
|
||||||
./doxygen-*/bin/doxygen Doxyfile
|
|
||||||
|
|
||||||
- name: Create .nojekyll (ensures pages with underscores work on gh pages)
|
|
||||||
run: touch docs/html/.nojekyll
|
|
||||||
|
|
||||||
- name: Deploy to GitHub Pages
|
|
||||||
uses: JamesIves/github-pages-deploy-action@v4
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
branch: gh-pages
|
|
||||||
folder: docs/html
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
name: Linux Compile test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "*" ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ "master" ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.1.1
|
||||||
|
with:
|
||||||
|
submodules: "true"
|
||||||
|
- name: Get Complementary file
|
||||||
|
uses: actions/checkout@v4.1.1
|
||||||
|
with:
|
||||||
|
path: complementary_file
|
||||||
|
repository: UnspaghettifyKart/action-build-private-file
|
||||||
|
ssh-key: ${{ secrets.LINUX_SSH_PRIVATE_KEY }}
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt install build-essential cmake pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev libcapstone-dev
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cp -r complementary_file/* .
|
||||||
|
echo "${{ secrets.AES_KEY }}" | openssl enc -d -aes-256-cbc -pass stdin -pbkdf2 -in baserom.us.z64.aes -out baserom.us.z64
|
||||||
|
make assets
|
||||||
|
make -j
|
|
@ -0,0 +1,32 @@
|
||||||
|
name: Macos Compile test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "*" ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ "master" ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
if: 0
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.1.1
|
||||||
|
with:
|
||||||
|
submodules: "true"
|
||||||
|
- name: Get Complementary file
|
||||||
|
uses: actions/checkout@v4.1.1
|
||||||
|
with:
|
||||||
|
path: complementary_file
|
||||||
|
repository: UnspaghettifyKart/action-build-private-file
|
||||||
|
ssh-key: ${{ secrets.MACOS_SSH_PRIVATE_KEY }}
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
brew update
|
||||||
|
brew install python3 capstone coreutils make pkg-config tehzz/n64-dev/mips64-elf-binutils cmake
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cp -r complementary_file/* .
|
||||||
|
echo "${{ secrets.AES_KEY }}" | openssl enc -d -aes-256-cbc -pass stdin -pbkdf2 -in baserom.us.z64.aes -out baserom.us.z64
|
||||||
|
make assets
|
||||||
|
make -j
|
|
@ -0,0 +1,31 @@
|
||||||
|
name: Windows Compile test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "*" ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ "master" ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: windows-2022
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.1.1
|
||||||
|
with:
|
||||||
|
submodules: "true"
|
||||||
|
- name: Get Complementary file
|
||||||
|
uses: actions/checkout@v4.1.1
|
||||||
|
with:
|
||||||
|
path: complementary_file
|
||||||
|
repository: UnspaghettifyKart/action-build-private-file
|
||||||
|
ssh-key: ${{ secrets.WINDOWS_SSH_PRIVATE_KEY }}
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
Invoke-WebRequest https://github.com/coco875/mk64-tools/releases/download/v0.0.6/mips-tools-chain-windows.zip -OutFile mips-tools-chain-windows.zip
|
||||||
|
Expand-Archive mips-tools-chain-windows.zip -DestinationPath mips-tools-chain-windows
|
||||||
|
Copy-Item -Path mips-tools-chain-windows/mingw64 -Destination tools -Recurse
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
Copy-Item -Path complementary_file/* -Destination . -Recurse
|
||||||
|
echo "${{ secrets.AES_KEY }}" | openssl enc -d -aes-256-cbc -pass stdin -pbkdf2 -in baserom.us.z64.aes -out baserom.us.z64
|
||||||
|
python tools/windows_build.py
|
|
@ -93,8 +93,12 @@ expected/*
|
||||||
|
|
||||||
# Doxygen
|
# Doxygen
|
||||||
docs/html/*
|
docs/html/*
|
||||||
|
docs/doxygen_syms.md
|
||||||
|
|
||||||
# windows build
|
# windows build
|
||||||
mingw64/
|
mingw64/
|
||||||
.ash_history
|
.ash_history
|
||||||
!tools/ido-recomp/*/*
|
!tools/ido-recomp/*/*
|
||||||
|
|
||||||
|
# torch
|
||||||
|
torch.hash.yml
|
||||||
|
|
2
Doxyfile
2
Doxyfile
|
@ -947,7 +947,7 @@ INPUT = docs/ \
|
||||||
src/ \
|
src/ \
|
||||||
include/ \
|
include/ \
|
||||||
courses/ \
|
courses/ \
|
||||||
tools/doxygen_syms.md
|
docs/doxygen_syms.md
|
||||||
|
|
||||||
# This tag can be used to specify the character encoding of the source files
|
# This tag can be used to specify the character encoding of the source files
|
||||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
|
||||||
|
|
5
Makefile
5
Makefile
|
@ -176,8 +176,7 @@ ifeq ($(DUMMY),FAIL)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
|
ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
|
||||||
|
# Make tools if out of date
|
||||||
# Make tools if out of date
|
|
||||||
DUMMY != make -C $(TOOLS_DIR)
|
DUMMY != make -C $(TOOLS_DIR)
|
||||||
ifeq ($(DUMMY),FAIL)
|
ifeq ($(DUMMY),FAIL)
|
||||||
$(error Failed to build tools)
|
$(error Failed to build tools)
|
||||||
|
@ -356,7 +355,7 @@ BIN2C := $(PYTHON) $(TOOLS_DIR)/bin2c.py
|
||||||
EXTRACT_DATA_FOR_MIO := $(TOOLS_DIR)/extract_data_for_mio
|
EXTRACT_DATA_FOR_MIO := $(TOOLS_DIR)/extract_data_for_mio
|
||||||
ASSET_EXTRACT := $(PYTHON) $(TOOLS_DIR)/new_extract_assets.py
|
ASSET_EXTRACT := $(PYTHON) $(TOOLS_DIR)/new_extract_assets.py
|
||||||
LINKONLY_GENERATOR := $(PYTHON) $(TOOLS_DIR)/linkonly_generator.py
|
LINKONLY_GENERATOR := $(PYTHON) $(TOOLS_DIR)/linkonly_generator.py
|
||||||
TORCH := tools/torch/cmake-build-release/torch
|
TORCH := $(TOOLS_DIR)/torch/cmake-build-release/torch
|
||||||
EMULATOR = mupen64plus
|
EMULATOR = mupen64plus
|
||||||
EMU_FLAGS = --noosd
|
EMU_FLAGS = --noosd
|
||||||
LOADER = loader64
|
LOADER = loader64
|
||||||
|
|
25
README.md
25
README.md
|
@ -1,4 +1,4 @@
|
||||||
# Mario Kart 64
|
# Mario Kart 64
|
||||||
This work-in-progress decompilation of Mario Kart 64 pursues historical and educational elements within the game found via taking it apart and putting it back together. Inspiration to do so not only emanates from the game's hardware and technology but also its immensely positive effects on the cultures and families of nearly every nationality.
|
This work-in-progress decompilation of Mario Kart 64 pursues historical and educational elements within the game found via taking it apart and putting it back together. Inspiration to do so not only emanates from the game's hardware and technology but also its immensely positive effects on the cultures and families of nearly every nationality.
|
||||||
|
|
||||||
This repository does not contain assets. Compiling requires asset extraction from a prior copy of the game.
|
This repository does not contain assets. Compiling requires asset extraction from a prior copy of the game.
|
||||||
|
@ -11,24 +11,26 @@ It supports and builds the following versions:
|
||||||
| mk64.eu-1.0.z64 | EUR 1.0 | a729039453210b84f17019dda3f248d5888f7690 |
|
| mk64.eu-1.0.z64 | EUR 1.0 | a729039453210b84f17019dda3f248d5888f7690 |
|
||||||
| mk64.eu-final.z64 | EUR 1.1 | f6b5f519dd57ea59e9f013cc64816e9d273b2329 |
|
| mk64.eu-final.z64 | EUR 1.1 | f6b5f519dd57ea59e9f013cc64816e9d273b2329 |
|
||||||
|
|
||||||
|
status: [](https://github.com/n64decomp/mk64/actions/workflows/linux-compile.yml)
|
||||||
|
|
||||||
## Progress
|
## Progress
|
||||||
|
|
||||||
Total progress consists of all code segments together.
|
Total progress consists of all code segments together.
|
||||||
|
|
||||||
Game code progress consists of `main`, `ending` and `racing`.
|
Game code progress consists of `main`, `ending` and `racing`.
|
||||||
|
|
||||||
[](https://ci.valandil.ca/job/mk64/job/master/)
|

|
||||||
[](https://ci.valandil.ca/job/mk64/job/master/)
|

|
||||||
|
|
||||||
[](https://ci.valandil.ca/job/mk64/job/master/)
|

|
||||||
[](https://ci.valandil.ca/job/mk64/job/master/)
|

|
||||||
[](https://ci.valandil.ca/job/mk64/job/master/)
|

|
||||||
|
|
||||||
- [](https://ci.valandil.ca/job/mk64/job/master/)
|
- 
|
||||||
- [](https://ci.valandil.ca/job/mk64/job/master/)
|
- 
|
||||||
- [](https://ci.valandil.ca/job/mk64/job/master/)
|
- 
|
||||||
- [](https://ci.valandil.ca/job/mk64/job/master/)
|
- 
|
||||||
- [](https://ci.valandil.ca/job/mk64/job/master/)
|
- 
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
@ -39,7 +41,6 @@ Extract assets
|
||||||
```
|
```
|
||||||
make assets -j
|
make assets -j
|
||||||
```
|
```
|
||||||
```
|
|
||||||
make -j
|
make -j
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -30,11 +30,11 @@ Review the [n64decomp/sm64](https://github.com/n64decomp/sm64) readme for instru
|
||||||
# Windows
|
# Windows
|
||||||
|
|
||||||
- Clone the repo or download the zip.
|
- Clone the repo or download the zip.
|
||||||
- Download and extract the toolchain from [here](https://github.com/coco875/mk64-tools/releases/download/v0.0.6/mips-tools-chain-windows.zip)
|
- Download and extract the toolchain from [here](https://github.com/coco875/mk64-tools/releases/download/v0.0.7/mips-tools-chain-windows.zip)
|
||||||
|
|
||||||
### Setup
|
### Setup
|
||||||
- Place the `mingw64` folder from the toolchain into the tools folder like so: `mk64/tools/mingw64`.
|
- Place the `mingw64` folder from the toolchain into the tools folder like so: `mk64/tools/mingw64`.
|
||||||
- Open a terminal (cmd or powershell) in the repo folder and run `"tools\mingw64\w64devkit.exe"` and after `make`
|
- Open a terminal (cmd or powershell) in the repo folder and run `"tools\mingw64\w64devkit.exe"` and after `make assets && make -j`
|
||||||
- Wait for the build to finish and Enjoy!
|
- Wait for the build to finish and Enjoy!
|
||||||
|
|
||||||
# macOS
|
# macOS
|
||||||
|
|
|
@ -92,4 +92,4 @@ p {
|
||||||
|
|
||||||
html.dark-mode .clipboard {
|
html.dark-mode .clipboard {
|
||||||
fill: white;
|
fill: white;
|
||||||
}
|
}
|
|
@ -57,4 +57,4 @@ Complete resources for learning about mk64 decomp
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@endhtmlonly
|
@endhtmlonly
|
52
progress.py
52
progress.py
|
@ -5,10 +5,11 @@ import json
|
||||||
import csv
|
import csv
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
from pybadges import badge
|
||||||
|
|
||||||
# Script arguments.
|
# Script arguments.
|
||||||
parser = argparse.ArgumentParser(description="Computes current progress throughout the whole project.")
|
parser = argparse.ArgumentParser(description="Computes current progress throughout the whole project.")
|
||||||
parser.add_argument("format", nargs="?", default="text", choices=["text", "verbose", "totalBadge", "gameBadge", "mainBadge", "endingBadge", "racingBadge", "audioBadge", "osBadge", "bytesToDecompile", "globalAsmFuncs", "m2cFuncs", "nonmatchingFuncs"])
|
parser.add_argument("format", nargs="?", default="text", choices=["text", "verbose", "totalBadge", "gameBadge", "mainBadge", "endingBadge", "racingBadge", "audioBadge", "osBadge", "bytesToDecompile", "globalAsmFuncs", "m2cFuncs", "nonmatchingFuncs", "badge"])
|
||||||
parser.add_argument("-d", "--debug", dest='debug', action='store_true',
|
parser.add_argument("-d", "--debug", dest='debug', action='store_true',
|
||||||
help="Adds additional debug information, outputs files parsed and score for each file")
|
help="Adds additional debug information, outputs files parsed and score for each file")
|
||||||
parser.add_argument("-n", "--nonmatching", dest='nonmatching', action='store_true',
|
parser.add_argument("-n", "--nonmatching", dest='nonmatching', action='store_true',
|
||||||
|
@ -24,7 +25,7 @@ def GetNonMatchingFunctions(files):
|
||||||
functions = []
|
functions = []
|
||||||
|
|
||||||
for file in files:
|
for file in files:
|
||||||
with open(file) as f:
|
with open(file, encoding="utf-8") as f:
|
||||||
functions += re.findall(NON_MATCHING_FUNC_PATTERN, f.read(), re.DOTALL)
|
functions += re.findall(NON_MATCHING_FUNC_PATTERN, f.read(), re.DOTALL)
|
||||||
functions += re.findall(NON_MATCHING_PRAGMA_PATTERN, f.read(), re.DOTALL)
|
functions += re.findall(NON_MATCHING_PRAGMA_PATTERN, f.read(), re.DOTALL)
|
||||||
|
|
||||||
|
@ -38,7 +39,7 @@ def CountMipsToCFunctions(files):
|
||||||
functions = []
|
functions = []
|
||||||
|
|
||||||
for file in files:
|
for file in files:
|
||||||
with open(file) as f:
|
with open(file, encoding="utf-8") as f:
|
||||||
functions += re.findall(MIPS_TO_C_FUNC_PATTERN, f.read(), re.DOTALL)
|
functions += re.findall(MIPS_TO_C_FUNC_PATTERN, f.read(), re.DOTALL)
|
||||||
|
|
||||||
return functions
|
return functions
|
||||||
|
@ -51,7 +52,7 @@ def CountGlobalAsmFunctions(files):
|
||||||
functions = []
|
functions = []
|
||||||
|
|
||||||
for file in files:
|
for file in files:
|
||||||
with open(file) as f:
|
with open(file, encoding="utf-8") as f:
|
||||||
functions += re.findall(GLOBAL_ASM_FUNC_PATTERN, f.read(), re.DOTALL)
|
functions += re.findall(GLOBAL_ASM_FUNC_PATTERN, f.read(), re.DOTALL)
|
||||||
|
|
||||||
return functions
|
return functions
|
||||||
|
@ -65,7 +66,7 @@ def GetCFunctions(files):
|
||||||
functions = []
|
functions = []
|
||||||
|
|
||||||
for file in files:
|
for file in files:
|
||||||
with open(file) as f:
|
with open(file, encoding="utf-8") as f:
|
||||||
source_code = f.read()
|
source_code = f.read()
|
||||||
|
|
||||||
# Parse regex pattern
|
# Parse regex pattern
|
||||||
|
@ -523,5 +524,46 @@ elif args.format == 'verbose':
|
||||||
print(str(segRacing) + "/" + str(seg_racing_size) + " bytes " + adjective + " in segRacing " + str(segRacingPct) + "%")
|
print(str(segRacing) + "/" + str(seg_racing_size) + " bytes " + adjective + " in segRacing " + str(segRacingPct) + "%")
|
||||||
print(str(audio) + "/" + str(audio_size) + " bytes " + adjective + " in audio " + str(audioPct) + "%")
|
print(str(audio) + "/" + str(audio_size) + " bytes " + adjective + " in audio " + str(audioPct) + "%")
|
||||||
print(str(libultra) + "/" + str(libultra_size) + " bytes " + adjective + " in libultra " + str(libultraPct) + "%\n")
|
print(str(libultra) + "/" + str(libultra_size) + " bytes " + adjective + " in libultra " + str(libultraPct) + "%\n")
|
||||||
|
|
||||||
|
elif args.format == 'badge':
|
||||||
|
adjective = "decompiled" if args.nonmatching else "matched"
|
||||||
|
|
||||||
|
badge_size_left = badge(left_text="Size left", right_text=str(remaining_size), right_color="blue")
|
||||||
|
with open("docs/html/size_left.svg", "w") as f:
|
||||||
|
f.write(badge_size_left)
|
||||||
|
badge_total_size = badge(left_text="Total size", right_text=str(total_code_size), right_color="blue")
|
||||||
|
with open("docs/html/total_size.svg", "w") as f:
|
||||||
|
f.write(badge_total_size)
|
||||||
|
badge_total_pct = badge(left_text="Total progress", right_text=str(round(totalPct, 2))+"%", right_color="green")
|
||||||
|
with open("docs/html/total_progress.svg", "w") as f:
|
||||||
|
f.write(badge_total_pct)
|
||||||
|
badge_game_pct = badge(left_text="Game progress", right_text=str(round(gamePct, 2))+"%", right_color="green")
|
||||||
|
with open("docs/html/game_progress.svg", "w") as f:
|
||||||
|
f.write(badge_game_pct)
|
||||||
|
badge_asm_funcs = badge(left_text="ASM functions", right_text=str(TotalGlobalAsmFunctions), right_color="blue")
|
||||||
|
with open("docs/html/asm_funcs.svg", "w") as f:
|
||||||
|
f.write(badge_asm_funcs)
|
||||||
|
badge_nonmatching_funcs = badge(left_text="NON_MATCHING functions", right_text=str(TotalNonMatchingFunctions), right_color="blue")
|
||||||
|
with open("docs/html/nonmatching_funcs.svg", "w") as f:
|
||||||
|
f.write(badge_nonmatching_funcs)
|
||||||
|
badge_m2c_funcs = badge(left_text="MIPS_TO_C functions", right_text=str(TotalMipsToCFunctions), right_color="blue")
|
||||||
|
with open("docs/html/m2c_funcs.svg", "w") as f:
|
||||||
|
f.write(badge_m2c_funcs)
|
||||||
|
badge_seg_main = badge(left_text="Main progress", right_text=str(round(segMainPct, 2))+"%", right_color="green")
|
||||||
|
with open("docs/html/seg_main_progress.svg", "w") as f:
|
||||||
|
f.write(badge_seg_main)
|
||||||
|
badge_seg_ending = badge(left_text="Ending progress", right_text=str(round(segEndingPct, 2))+"%", right_color="green")
|
||||||
|
with open("docs/html/seg_ending_progress.svg", "w") as f:
|
||||||
|
f.write(badge_seg_ending)
|
||||||
|
badge_seg_racing = badge(left_text="Racing progress", right_text=str(round(segRacingPct, 2))+"%", right_color="green")
|
||||||
|
with open("docs/html/seg_racing_progress.svg", "w") as f:
|
||||||
|
f.write(badge_seg_racing)
|
||||||
|
badge_audio = badge(left_text="Audio progress", right_text=str(round(audioPct, 2))+"%", right_color="green")
|
||||||
|
with open("docs/html/audio_progress.svg", "w") as f:
|
||||||
|
f.write(badge_audio)
|
||||||
|
badge_libultra = badge(left_text="Libultra progress", right_text=str(round(libultraPct, 2))+"%", right_color="green")
|
||||||
|
with open("docs/html/libultra_progress.svg", "w") as f:
|
||||||
|
f.write(badge_libultra)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print("Unknown format argument: " + args.format)
|
print("Unknown format argument: " + args.format)
|
||||||
|
|
|
@ -5,6 +5,6 @@
|
||||||
/displaylist_packer
|
/displaylist_packer
|
||||||
/tkmk00
|
/tkmk00
|
||||||
/extract_data_for_mio
|
/extract_data_for_mio
|
||||||
/torch/build-cmake/*
|
/torch/cmake-build-release/*
|
||||||
__pycache__
|
__pycache__
|
||||||
*.pyc
|
*.pyc
|
||||||
|
|
|
@ -55,7 +55,7 @@ if __name__ == "__main__":
|
||||||
doxygen_formatted_content = process_map_file(map_file_path)
|
doxygen_formatted_content = process_map_file(map_file_path)
|
||||||
|
|
||||||
# Specify the output file path
|
# Specify the output file path
|
||||||
output_file_path = "tools/doxygen_syms.md"
|
output_file_path = "docs/doxygen_syms.md"
|
||||||
|
|
||||||
# Write the result to the output file
|
# Write the result to the output file
|
||||||
with open(output_file_path, 'w') as output_file:
|
with open(output_file_path, 'w') as output_file:
|
||||||
|
|
19841
tools/doxygen_syms.md
19841
tools/doxygen_syms.md
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,6 @@
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
bp = subprocess.Popen("tools/mingw64/w64devkit.exe", stdin=subprocess.PIPE)
|
||||||
|
bp.stdin.write(b"make assets && make -j && exit\n")
|
||||||
|
bp.stdin.close()
|
||||||
|
exit(bp.wait())
|
Loading…
Reference in New Issue