From 0a78fbaf494f740b980f99672b97072a355de1f8 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sat, 18 Dec 2021 22:18:16 +0000 Subject: [PATCH 01/10] Amend MM FAQ --- src/assets/md/mm_faq.md | 100 ++++++++++++++++++++++++++++++++-------- 1 file changed, 81 insertions(+), 19 deletions(-) diff --git a/src/assets/md/mm_faq.md b/src/assets/md/mm_faq.md index 0e3de68..d1709df 100644 --- a/src/assets/md/mm_faq.md +++ b/src/assets/md/mm_faq.md @@ -1,3 +1,51 @@ +- [MM Decompilation FAQ](#mm-decompilation-faq) + - [What is Decompilation? What is matching + decompilation?](#what-is-decompilation-what-is-matching-decompilation) + - [What language was this game written + in?](#what-language-was-this-game-written-in) + - [What is this project's goal?](#what-is-this-projects-goal) + - [Which versions will be + decompiled?](#which-versions-will-be-decompiled) + - [Does decomp run on console?](#does-decomp-run-on-console) + - [PC port?](#pc-port) + - [Can decomp be used to make + mods?](#can-decomp-be-used-to-make-mods) + - [Who can contribute? What do I need to + know?](#who-can-contribute-what-do-i-need-to-know) + - [Is any use being made of leaked + materials?](#is-any-use-being-made-of-leaked-materials) + - [How do I set up the decompilation on my + computer?](#how-do-i-set-up-the-decompilation-on-my-computer) + - [Why does the progress graph move so + inconsistently?](#why-does-the-progress-graph-move-so-inconsistently) + - [When will the project be finished? What would \"Finished\" + mean?](#when-will-the-project-be-finished-what-would-finished-mean) + - [What decompiler is being used?](#what-decompiler-is-being-used) + - [Is Majora\'s Mask more optimized than Super Mario + 64?](#is-majoras-mask-more-optimized-than-super-mario-64) + - [How can I help?](#how-can-i-help) + - [Where can I get more + information?](#where-can-i-get-more-information) + - [I would like to write an article or make a video about this + project. Who should I contact for further + information?](#i-would-like-to-write-an-article-or-make-a-video-about-this-project.-who-should-i-contact-for-further-information) + - [How similar is Majora\'s Mask to Ocarina of Time? Can code be + copypasted between the + two?](#how-similar-is-majoras-mask-to-ocarina-of-time-can-code-be-copypasted-between-the-two) + - [Why is Majora\'s Mask so far behind Ocarina of + Time?](#why-is-majoras-mask-so-far-behind-ocarina-of-time) + - [Are Ocarina of Time and Majora\'s Mask using the same + decompilation + method?](#are-ocarina-of-time-and-majoras-mask-using-the-same-decompilation-method) + - [Why is Majora\'s Mask harder to match than Ocarina of + Time?](#why-is-majoras-mask-harder-to-match-than-ocarina-of-time) + - [What is asset analysis, and why is it not mentioned on Ocarina + of Time's + page?](#what-is-asset-analysis-and-why-is-it-not-mentioned-on-ocarina-of-times-page) + - [Why is there no assembly code in the Majora\'s Mask repo? What + is transient + ASM?](#why-is-there-no-assembly-code-in-the-majoras-mask-repo-what-is-transient-asm) + - [What language was this game written in?](#what-language-was-this-game-written-in) - [What is this project's goal?](#what-is-this-projects-goal) @@ -5,8 +53,7 @@ decompiled?](#which-versions-will-be-decompiled) - [Does decomp run on console?](#does-decomp-run-on-console) - [PC port?](#pc-port) -- [Can decomp be used to make - mods?](#can-decomp-be-used-to-make-mods) +- [Can decomp be used to make mods?](#can-decomp-be-used-to-make-mods) - [Who can contribute? What do I need to know?](#who-can-contribute-what-do-i-need-to-know) - [Is any use being made of leaked @@ -31,13 +78,12 @@ two?](#how-similar-is-majoras-mask-to-ocarina-of-time-can-code-be-copypasted-between-the-two) - [Why is Majora\'s Mask so far behind Ocarina of Time?](#why-is-majoras-mask-so-far-behind-ocarina-of-time) -- [Are Ocarina of Time and Majora\'s Mask using the same - decompilation +- [Are Ocarina of Time and Majora\'s Mask using the same decompilation method?](#are-ocarina-of-time-and-majoras-mask-using-the-same-decompilation-method) - [Why is Majora\'s Mask harder to match than Ocarina of Time?](#why-is-majoras-mask-harder-to-match-than-ocarina-of-time) -- [Why is there no assembly code in the Majora\'s Mask repo? What - is transient +- [Why is there no assembly code in the Majora\'s Mask repo? What is + transient ASM?](#why-is-there-no-assembly-code-in-the-majoras-mask-repo-what-is-transient-asm) MM Decompilation FAQ @@ -146,7 +192,7 @@ How do I set up the decompilation on my computer? ------------------------------------------------- See the instructions in the -[README.md](https://github.com/zeldaret/mm/\#readme) +[README.md](https://github.com/zeldaret/mm/#readme) Why does the progress graph move so inconsistently? --------------------------------------------------- @@ -205,18 +251,17 @@ our custom decompiler `mips_to_c`. How can I help? --------------- -- Ocarina of Time has no more code decompilation work to do, at least - on the first version. -- Most code still needs a lot of documentation. -- Object decompilation is analysis and identification of the content - of the asset files used in code (textures, 3D models, animations, - collision data, etc.). There is plenty of this still to do. -- If you want to do code decompilation now, Majora\'s Mask is similar - to Ocarina of Time, but a bit more difficult. It has plenty of - simple actor files available that are suitable for beginners. -- If you would like to help but not in a code-related way, we are very - happy to talk to anyone who would like to publish articles or videos - about the project. +Majora's Mask has lots of code available to work on, much of it +beginner-friendly. We also have [a +tutorial](https://github.com/zeldaret/mm/blob/master/docs/tutorial/contents.md), +which will explain how to get started. The codebases are similar enough +that you may also find [the Ocarina of Time +tutorial](https://github.com/zeldaret/oot/blob/master/docs/tutorial/contents.md) +useful. + +But above all, if you want to help, join [the +Discord](http://discord.zelda64.dev/) and we can help with anything you +have trouble with. Where can I get more information? --------------------------------- @@ -280,6 +325,23 @@ retail versions of Ocarina of Time are also compiled with `-O2 -g3`, so it too will have this problem when that project moves to supporting retail versions. +What is asset analysis, and why is it not mentioned on Ocarina of Time's page? +------------------------------------------------------------------------------ + +This means taking the asset files extracted from the ROM, that contain +images, models, animations, audio, text, etc., and + +- splitting them into their individual components (individual images, + animations, etc.), which we refer to as *debinarisation*. A + debinarised object's components will have automatically generated + names. +- labelling and documenting each of these components according to + their use (this is the identification part). + +Ocarina of Time does not track this, mainly because no one thought to +set up tracking when assets started being worked on, or fancied +rebuilding the history to account for it subsequently. + Why is there no assembly code in the Majora\'s Mask repo? What is transient ASM? -------------------------------------------------------------------------------- From b48eeb3b7db1ff55c2850c0c8c6b97bad5e63182 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sat, 18 Dec 2021 22:19:49 +0000 Subject: [PATCH 02/10] Correct typo in TMC FAQ --- src/assets/md/tmc_faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/md/tmc_faq.md b/src/assets/md/tmc_faq.md index 3f20b6d..377a14b 100644 --- a/src/assets/md/tmc_faq.md +++ b/src/assets/md/tmc_faq.md @@ -40,7 +40,7 @@ the language the Gameboy Advance uses. What compiler does it use? -------------------------- -abgcc, a standard C compiler for GameBoy Advance games (also used by +agbcc, a standard C compiler for GameBoy Advance games (also used by Pokemon, for example) Do you have a decompiler like mips2c? How hard is it to match? From ad76443d12f6c7bb7890dfa745cb4d8c57377896 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sat, 18 Dec 2021 22:20:42 +0000 Subject: [PATCH 03/10] Rephrase in OoT FAQ --- src/assets/md/oot_faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/md/oot_faq.md b/src/assets/md/oot_faq.md index 25e7463..33d6d0d 100644 --- a/src/assets/md/oot_faq.md +++ b/src/assets/md/oot_faq.md @@ -139,8 +139,8 @@ Can decomp be used to make mods? It is possible to use it in its current state (indeed, a number of mods have already used it), but not recommended unless you are *very* -familiar with the codebase. It will be much better in future, it is a -high priority to improve the codebase's suitability for modding. +familiar with the codebase. It is a high priority to improve the +codebase's suitability for modding, so it will be better in the future. Who can contribute? What do I need to know? ------------------------------------------- From 3cdab1db904ebfdc4ee637d6e68cb6935e664ede Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sat, 18 Dec 2021 22:23:36 +0000 Subject: [PATCH 04/10] MM ToC --- src/assets/md/mm_faq.md | 63 +++++++---------------------------------- 1 file changed, 11 insertions(+), 52 deletions(-) diff --git a/src/assets/md/mm_faq.md b/src/assets/md/mm_faq.md index d1709df..b0a6c91 100644 --- a/src/assets/md/mm_faq.md +++ b/src/assets/md/mm_faq.md @@ -1,51 +1,5 @@ -- [MM Decompilation FAQ](#mm-decompilation-faq) - - [What is Decompilation? What is matching - decompilation?](#what-is-decompilation-what-is-matching-decompilation) - - [What language was this game written - in?](#what-language-was-this-game-written-in) - - [What is this project's goal?](#what-is-this-projects-goal) - - [Which versions will be - decompiled?](#which-versions-will-be-decompiled) - - [Does decomp run on console?](#does-decomp-run-on-console) - - [PC port?](#pc-port) - - [Can decomp be used to make - mods?](#can-decomp-be-used-to-make-mods) - - [Who can contribute? What do I need to - know?](#who-can-contribute-what-do-i-need-to-know) - - [Is any use being made of leaked - materials?](#is-any-use-being-made-of-leaked-materials) - - [How do I set up the decompilation on my - computer?](#how-do-i-set-up-the-decompilation-on-my-computer) - - [Why does the progress graph move so - inconsistently?](#why-does-the-progress-graph-move-so-inconsistently) - - [When will the project be finished? What would \"Finished\" - mean?](#when-will-the-project-be-finished-what-would-finished-mean) - - [What decompiler is being used?](#what-decompiler-is-being-used) - - [Is Majora\'s Mask more optimized than Super Mario - 64?](#is-majoras-mask-more-optimized-than-super-mario-64) - - [How can I help?](#how-can-i-help) - - [Where can I get more - information?](#where-can-i-get-more-information) - - [I would like to write an article or make a video about this - project. Who should I contact for further - information?](#i-would-like-to-write-an-article-or-make-a-video-about-this-project.-who-should-i-contact-for-further-information) - - [How similar is Majora\'s Mask to Ocarina of Time? Can code be - copypasted between the - two?](#how-similar-is-majoras-mask-to-ocarina-of-time-can-code-be-copypasted-between-the-two) - - [Why is Majora\'s Mask so far behind Ocarina of - Time?](#why-is-majoras-mask-so-far-behind-ocarina-of-time) - - [Are Ocarina of Time and Majora\'s Mask using the same - decompilation - method?](#are-ocarina-of-time-and-majoras-mask-using-the-same-decompilation-method) - - [Why is Majora\'s Mask harder to match than Ocarina of - Time?](#why-is-majoras-mask-harder-to-match-than-ocarina-of-time) - - [What is asset analysis, and why is it not mentioned on Ocarina - of Time's - page?](#what-is-asset-analysis-and-why-is-it-not-mentioned-on-ocarina-of-times-page) - - [Why is there no assembly code in the Majora\'s Mask repo? What - is transient - ASM?](#why-is-there-no-assembly-code-in-the-majoras-mask-repo-what-is-transient-asm) - +- [What is Decompilation? What is matching + decompilation?](#what-is-decompilation-what-is-matching-decompilation) - [What language was this game written in?](#what-language-was-this-game-written-in) - [What is this project's goal?](#what-is-this-projects-goal) @@ -53,7 +7,8 @@ decompiled?](#which-versions-will-be-decompiled) - [Does decomp run on console?](#does-decomp-run-on-console) - [PC port?](#pc-port) -- [Can decomp be used to make mods?](#can-decomp-be-used-to-make-mods) +- [Can decomp be used to make + mods?](#can-decomp-be-used-to-make-mods) - [Who can contribute? What do I need to know?](#who-can-contribute-what-do-i-need-to-know) - [Is any use being made of leaked @@ -78,12 +33,16 @@ two?](#how-similar-is-majoras-mask-to-ocarina-of-time-can-code-be-copypasted-between-the-two) - [Why is Majora\'s Mask so far behind Ocarina of Time?](#why-is-majoras-mask-so-far-behind-ocarina-of-time) -- [Are Ocarina of Time and Majora\'s Mask using the same decompilation +- [Are Ocarina of Time and Majora\'s Mask using the same + decompilation method?](#are-ocarina-of-time-and-majoras-mask-using-the-same-decompilation-method) - [Why is Majora\'s Mask harder to match than Ocarina of Time?](#why-is-majoras-mask-harder-to-match-than-ocarina-of-time) -- [Why is there no assembly code in the Majora\'s Mask repo? What is - transient +- [What is asset analysis, and why is it not mentioned on Ocarina + of Time's + page?](#what-is-asset-analysis-and-why-is-it-not-mentioned-on-ocarina-of-times-page) +- [Why is there no assembly code in the Majora\'s Mask repo? What + is transient ASM?](#why-is-there-no-assembly-code-in-the-majoras-mask-repo-what-is-transient-asm) MM Decompilation FAQ From 5bccdf44ada76cfc621cad4cc26c538c1c31c2f4 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sat, 18 Dec 2021 22:48:25 +0000 Subject: [PATCH 05/10] Fix TMC github link --- src/assets/json/games.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/assets/json/games.json b/src/assets/json/games.json index 0bccd60..5ff8e6d 100644 --- a/src/assets/json/games.json +++ b/src/assets/json/games.json @@ -131,7 +131,7 @@ "slug": "tmc", "title": "The Minish Cap", "links": { - "github": "https://www.github.com/zeldaret/mm" + "github": "https://www.github.com/zeldaret/tmc" }, "faq": "tmc_faq", "csvs": { From 6e4b0474b0cfe602d171ff4d6d683837031ef165 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sun, 19 Dec 2021 02:57:22 +0000 Subject: [PATCH 06/10] Add another interesting discovery to TMC FAQ --- src/assets/md/tmc_faq.md | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/assets/md/tmc_faq.md b/src/assets/md/tmc_faq.md index 377a14b..91f8f5a 100644 --- a/src/assets/md/tmc_faq.md +++ b/src/assets/md/tmc_faq.md @@ -61,8 +61,13 @@ workings for curiosity, and also for applications in speedrunning. How many versions are there? Are all of them going to be decompiled? -------------------------------------------------------------------- -There are 5 versions: - US retail - EU retail - JP retail - US demo - JP -demo +There are 5 versions: + +- US retail +- EU retail +- JP retail +- US demo +- JP demo All will eventually be decompiled, and they are being worked on concurrently (see next question for why this is efficient). @@ -89,18 +94,26 @@ not be making it. Can this be used for modding? ----------------------------- -In theory, yes. The rom is already shiftable, but not everything is -decompiled yet and the repository is subject to major changes as more is -worked on, so we do not recommend it unless you really know what you are -doing. +In theory, yes: several mods have already been made using parts of decomp. +The rom is already shiftable, but not everything is decompiled yet and the +repository is subject to major changes as more is worked on, so we do not +recommend it unless you really know what you are doing. Have you found out anything interesting? ---------------------------------------- -Yes! - Unlike a lot of 2D games, some parts of TMC use 3D hit boxes - -The engine has many similarities to Four Swords' - There's some left -over development information like unused strings corresponding to game -flags, and some graphics config files. +Yes! + +- Unlike a lot of 2D games, some parts of TMC use 3D hit boxes +- The engine has many similarities to Four Swords' +- There's some left over development information like unused strings + corresponding to game flags, and some graphics config files. +- internally, the developers used the flags `DRUG_1`, `DRUG_2`, + `DRUG_3`, `DRUG_ALL` to store the state of growing pico blooms found + in Minish Village, used for producing picolyte. Additionally, the + flag TAIMA\_SAIBAI\_1ST ("cannabis farmer") is used to determine + whether or not the player has talked to the pico bloom minish for + the first time. Interpret this how you like! Is what you find out here useful for any other games? ----------------------------------------------------- From ee5b3b2a814047ed2f6ae2bcc06ccebdcbb78493 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Sun, 19 Dec 2021 02:58:49 +0000 Subject: [PATCH 07/10] Slight rephrase --- src/assets/md/tmc_faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/md/tmc_faq.md b/src/assets/md/tmc_faq.md index 91f8f5a..9d4cfcc 100644 --- a/src/assets/md/tmc_faq.md +++ b/src/assets/md/tmc_faq.md @@ -108,10 +108,10 @@ Yes! - The engine has many similarities to Four Swords' - There's some left over development information like unused strings corresponding to game flags, and some graphics config files. -- internally, the developers used the flags `DRUG_1`, `DRUG_2`, +- Internally, the developers used flags named `DRUG_1`, `DRUG_2`, `DRUG_3`, `DRUG_ALL` to store the state of growing pico blooms found in Minish Village, used for producing picolyte. Additionally, the - flag TAIMA\_SAIBAI\_1ST ("cannabis farmer") is used to determine + flag `TAIMA_SAIBAI_1ST` ("cannabis farmer") is used to determine whether or not the player has talked to the pico bloom minish for the first time. Interpret this how you like! From b74b8a65e0d82f8eec0e252810f2365120c9b0e5 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Mon, 20 Dec 2021 15:51:35 +0000 Subject: [PATCH 08/10] Add TP --- .../game-summary/game-summary.component.html | 2 +- .../game-summary/game-summary.component.ts | 2 +- src/assets/json/games.json | 14 +++++++++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/app/games/game-summaries/game-summary/game-summary.component.html b/src/app/games/game-summaries/game-summary/game-summary.component.html index 6a53250..b3cf785 100644 --- a/src/app/games/game-summaries/game-summary/game-summary.component.html +++ b/src/app/games/game-summaries/game-summary/game-summary.component.html @@ -4,7 +4,7 @@ {{ data.title }} - Percent completion: {{ (total * 100).toFixed(2) }}% + Percent completion: {{ (total * 100).toFixed(2) }}% diff --git a/src/app/games/game-summaries/game-summary/game-summary.component.ts b/src/app/games/game-summaries/game-summary/game-summary.component.ts index 89ba924..c31c2ed 100644 --- a/src/app/games/game-summaries/game-summary/game-summary.component.ts +++ b/src/app/games/game-summaries/game-summary/game-summary.component.ts @@ -22,7 +22,7 @@ export class GameSummaryComponent implements OnChanges { /** * The percentage to display for completion. */ - total: number; + total: number = -1; /** * Icon definition. */ diff --git a/src/assets/json/games.json b/src/assets/json/games.json index 0bccd60..8f5149a 100644 --- a/src/assets/json/games.json +++ b/src/assets/json/games.json @@ -131,7 +131,7 @@ "slug": "tmc", "title": "The Minish Cap", "links": { - "github": "https://www.github.com/zeldaret/mm" + "github": "https://www.github.com/zeldaret/tmc" }, "faq": "tmc_faq", "csvs": { @@ -171,5 +171,17 @@ ] } ] + }, + { + "slug": "tp", + "title": "Twilight Princess", + "links": { + "github": "https://www.github.com/zeldaret/tp" + }, + "faq": "tp_faq", + "csvs": { + }, + "progressMeta": [ + ] } ] \ No newline at end of file From 3cee393043c95d7c6cfbe2900bc39c37997a5620 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Mon, 20 Dec 2021 16:00:48 +0000 Subject: [PATCH 09/10] Add TP FAQ Co-authored-by: TakaRikka <38417346+TakaRikka@users.noreply.github.com> --- src/assets/md/tp_faq.md | 110 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 src/assets/md/tp_faq.md diff --git a/src/assets/md/tp_faq.md b/src/assets/md/tp_faq.md new file mode 100644 index 0000000..92d9c4e --- /dev/null +++ b/src/assets/md/tp_faq.md @@ -0,0 +1,110 @@ +- [What programming language was Twilight Princess written in?](#what-programming-language-was-twilight-princess-written-in) +- [What compiler is used?](#what-compiler-is-used) +- [What's the goal of this project?](#whats-the-goal-of-this-project) +- [How many versions are there? Are all of them going to be decompiled?](#how-many-versions-are-there-are-all-of-them-going-to-be-decompiled) +- [Why is there no progress graph?](#why-is-there-no-progress-graph) +- [PC port?](#pc-port) +- [Can this be used for modding?](#can-this-be-used-for-modding) +- [I'd like to help. How should I get started?](#id-like-to-help.-how-should-i-get-started) +- [What do I need to know to contribute?](#what-do-i-need-to-know-to-contribute) +- [What decompiler is being used?](#what-decompiler-is-being-used) +- [How similar is TP to The Wind Waker and Skyward Sword?](#how-similar-is-tp-to-the-wind-waker-and-skyward-sword) +- [Why start work on TP before TWW?](#why-start-work-on-tp-before-tww) +- [Why start with NTSCU GameCube? What about the debug version?](#why-start-with-ntscu-gamecube-what-about-the-debug-version) + +Twilight Princess Decompilation Project FAQ +=========================================== + +What programming language was Twilight Princess written in? +----------------------------------------------------------- + +Twilight Princess was originally written in C++, which is compiled to PowerPC assembly, which is the language the GameCube and Wii uses. + + +What compiler is used? +---------------------- + +Metrowerks CodeWarrior, a standard C++ compiler for GameCube / Wii games. Version 2.7 is the version we currently use, however further testing may eventually prove a different version was originally used. + + +What's the goal of this project? +-------------------------------- + +Our long-term goal is to produce a highly documented and complete C++ codebase for every version of Twilight Princess. Our current goal is to complete decompilation for the NTSC-U GameCube version of Twilight Princess. This project will help to gain a deep understanding of the game, and open up the path to more complex modding capabilities. + + +How many versions are there? Are all of them going to be decompiled? +-------------------------------------------------------------------- + +There are 12 known versions: + +- NTSC-U GameCube +- PAL GameCube +- NTSC-J GameCube +- NTSC-U Wii 1.0 +- NTSC-U Wii 1.2 +- PAL Wii +- NTSC-J Wii +- NTSC-K Wii +- NTSC-U Wii Demo +- PAL Wii Demo +- CHN Nvidia Shield +- CHN Nvidia Shield Debug + +The goal is to eventually decompile every version, starting with NTSC-U GameCube. + + +Why is there no progress graph? +------------------------------- + +The project currently isn't set up to display a web progress graph, however in the future it will be supported. In the meantime, there is a python script within the project that will calculate current progress. + + +PC port? +-------- + +Yes, it will be possible. However our team will not be working on it. + + +Can this be used for modding? +----------------------------- + +Currently the codebase is not fully shiftable. This means adding / changing things will break the resulting built ROM. Our goal is introduce shiftability in the near future, however modding may still be difficult until the project is in a more complete state. + + +I'd like to help. How should I get started? +------------------------------------------- + +Great, we're always happy to get new contributors! +Most importantly, [join the Discord](https://discord.zelda64.dev/), since this is where all the discussion takes place. +You can read the project [README](https://github.com/zeldaret/tp/blob/master/README.md) for general information on setting the project up on your system. + + +What do I need to know to contribute? +------------------------------------- + +The most important skills are some knowledge of C++, some basic knowledge of PowerPC assembly, and general knowledge about the game. Having a ton of coding experience isn't required for this project, you will learn as you go. Feel free to ask any questions in the discord! + + +What decompiler is being used? +------------------------------ + +We primarily use [Ghidra](https://ghidra-sre.org/) with plugins to support GC / Wii games for this project. However, a custom built [ppc_to_cpp](https://github.com/matt-kempster/mips_to_c) decompiler is in the works that may also be useful. + + +How similar is TP to The Wind Waker and Skyward Sword? +------------------------------------------------------ + +Twilight Princess shares some similarities to both The Wind Waker and Skyward Sword, however each game is highly modified to fit the needs of the game. Much of the `f` library is very similar to The Wind Waker, while `JSystem` is a common library amongst many GC / Wii games. However, the majority of each game is independent from each other, with only small similarities here and there. + + +Why start work on TP before TWW? +-------------------------------- + +There were simply more people interested in starting a decompilation project for Twilight Princess than for The Wind Waker, and the knowledge gained from TP will still be useful to both The Wind Waker and Skyward Sword. + + +Why start with NTSCU GameCube? What about the debug version? +------------------------------------------------------------ + +The project leads decided to start with the most common version used in speedrunning, as many contributors are from the speedrunning community and many people have access to that version. We reference the debug rom a great amount during the decompilation process however, as it offers much more insight through debug strings and less aggressive function inlining. \ No newline at end of file From 38379c400747d9b241e40ee06d1f13d3acb7f568 Mon Sep 17 00:00:00 2001 From: Elliptic Ellipsis Date: Mon, 20 Dec 2021 17:29:49 +0000 Subject: [PATCH 10/10] Use null --- .../game-summaries/game-summary/game-summary.component.html | 2 +- .../games/game-summaries/game-summary/game-summary.component.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/games/game-summaries/game-summary/game-summary.component.html b/src/app/games/game-summaries/game-summary/game-summary.component.html index b3cf785..afe15c9 100644 --- a/src/app/games/game-summaries/game-summary/game-summary.component.html +++ b/src/app/games/game-summaries/game-summary/game-summary.component.html @@ -4,7 +4,7 @@ {{ data.title }} - Percent completion: {{ (total * 100).toFixed(2) }}% + Percent completion: {{ (total * 100).toFixed(2) }}% diff --git a/src/app/games/game-summaries/game-summary/game-summary.component.ts b/src/app/games/game-summaries/game-summary/game-summary.component.ts index c31c2ed..79b9556 100644 --- a/src/app/games/game-summaries/game-summary/game-summary.component.ts +++ b/src/app/games/game-summaries/game-summary/game-summary.component.ts @@ -22,7 +22,7 @@ export class GameSummaryComponent implements OnChanges { /** * The percentage to display for completion. */ - total: number = -1; + total: number = null; /** * Icon definition. */