document contents of BugFixes patch
This commit is contained in:
@@ -557,7 +557,7 @@ BugFixes
|
||||
8000C6E8 807F0024 8000C6E8 807F0024 8000C6E8 807F0024 8000C6E8 807F0024 8000C6E8 807F0024 8000C6E8 807F0024 8000C6E8 807F0024 8000C6E8 807F0024 lwz r3, [r31 + 0x0024]
|
||||
8000C6EC 48165AA0 8000C6EC 482147D4 8000C6EC 482156C0 8000C6EC 48215474 8000C6EC 482146F4 8000C6EC 482146F4 8000C6EC 482157A8 8000C6EC 48215040 b +0x002146F4 /* 80220DE0 */
|
||||
8021D098 4BDEF638 8021D9FC 4BDEECD4 8021E8E8 4BDEDDE8 8021E69C 4BDEE034 8021D91C 4BDEEDB4 8021D91C 4BDEEDB4 8021E9D0 4BDEDD00 8021E268 4BDEE468 b -0x0021124C /* 8000C6D0 */
|
||||
80172188 4BE9A558 80220EBC 4BDEB824 80221DA8 4BDEA938 80221B5C 4BDEAB84 80220DDC 4BDEB904 80220DDC 4BDEB904 80221E90 4BDEA850 80221728 4BDEAFB8 b -0x002146FC /* 8000C6E0 */
|
||||
80220528 4BE9A558 80220EBC 4BDEB824 80221DA8 4BDEA938 80221B5C 4BDEAB84 80220DDC 4BDEB904 80220DDC 4BDEB904 80221E90 4BDEA850 80221728 4BDEAFB8 b -0x002146FC /* 8000C6E0 */
|
||||
|
||||
Dropped Mag Colour Bug Fix
|
||||
BugFixes
|
||||
|
||||
+107
-70
@@ -108,6 +108,111 @@ bool CompiledFunctionCode::is_big_endian() const {
|
||||
return this->arch == Architecture::POWERPC;
|
||||
}
|
||||
|
||||
static unordered_map<uint32_t, std::string> preprocess_function_code(const std::string& text) {
|
||||
auto parse_specific_version_list = +[](std::string&& text) -> vector<uint32_t> {
|
||||
phosg::strip_whitespace(text);
|
||||
vector<uint32_t> ret;
|
||||
for (auto& vers_token : phosg::split(text, ' ')) {
|
||||
phosg::strip_whitespace(vers_token);
|
||||
if (vers_token.empty()) {
|
||||
continue;
|
||||
}
|
||||
if (vers_token.size() != 4) {
|
||||
throw std::runtime_error("invalid specific_version: " + vers_token);
|
||||
}
|
||||
ret.emplace_back(*reinterpret_cast<const be_uint32_t*>(vers_token.data()));
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
|
||||
// Find a .versions directive and populate specific_versions
|
||||
vector<uint32_t> specific_versions;
|
||||
auto lines = phosg::split(text, '\n');
|
||||
for (auto& line : lines) {
|
||||
if (line.starts_with(".versions ")) {
|
||||
if (!specific_versions.empty()) {
|
||||
throw std::runtime_error("multiple .versions directives in file");
|
||||
}
|
||||
specific_versions = parse_specific_version_list(line.substr(10));
|
||||
if (specific_versions.empty()) {
|
||||
throw std::runtime_error(".versions directive does not specify any versions");
|
||||
}
|
||||
line.clear();
|
||||
}
|
||||
}
|
||||
|
||||
// If there's no .versions directive, just return the text as-is
|
||||
if (specific_versions.empty()) {
|
||||
return {{0, std::move(text)}};
|
||||
}
|
||||
|
||||
vector<deque<string>> version_lines;
|
||||
version_lines.resize(specific_versions.size());
|
||||
|
||||
size_t line_num = 1;
|
||||
vector<uint32_t> current_only_versions;
|
||||
unordered_set<uint32_t> current_only_versions_set;
|
||||
for (auto& line : lines) {
|
||||
phosg::strip_whitespace(line);
|
||||
if (line.starts_with(".only_versions ")) {
|
||||
current_only_versions = parse_specific_version_list(line.substr(15));
|
||||
current_only_versions_set.clear();
|
||||
for (uint32_t specific_version : current_only_versions) {
|
||||
current_only_versions_set.emplace(specific_version);
|
||||
}
|
||||
|
||||
} else if (line == ".all_versions") {
|
||||
current_only_versions.clear();
|
||||
current_only_versions_set.clear();
|
||||
|
||||
} else {
|
||||
size_t vers_offset = line.find("<VERS ");
|
||||
if (vers_offset == string::npos) {
|
||||
for (size_t vers_index = 0; vers_index < specific_versions.size(); vers_index++) {
|
||||
if (current_only_versions.empty() || current_only_versions_set.count(specific_versions[vers_index])) {
|
||||
version_lines[vers_index].emplace_back(line);
|
||||
} else {
|
||||
version_lines[vers_index].emplace_back("");
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
size_t token_index = 0;
|
||||
for (size_t vers_index = 0; vers_index < specific_versions.size(); vers_index++) {
|
||||
if (current_only_versions.empty() || current_only_versions_set.count(specific_versions[vers_index])) {
|
||||
string version_line = line;
|
||||
size_t vers_offset = line.find("<VERS ");
|
||||
while (vers_offset != string::npos) {
|
||||
size_t end_offset = version_line.find('>', vers_offset + 6);
|
||||
if (end_offset == string::npos) {
|
||||
throw runtime_error(std::format("(line {}) unterminated <VERS> replacement", line_num));
|
||||
}
|
||||
auto tokens = phosg::split(version_line.substr(vers_offset + 6, end_offset - vers_offset - 6), ' ');
|
||||
if (tokens.size() <= token_index) {
|
||||
throw runtime_error(std::format("(line {}) invalid <VERS> replacement", line_num));
|
||||
}
|
||||
version_line = version_line.substr(0, vers_offset) + tokens.at(token_index) + version_line.substr(end_offset + 1);
|
||||
vers_offset = version_line.find("<VERS ");
|
||||
}
|
||||
version_lines[vers_index].emplace_back(version_line);
|
||||
token_index++;
|
||||
} else {
|
||||
version_lines[vers_index].emplace_back("");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
line_num++;
|
||||
}
|
||||
|
||||
unordered_map<uint32_t, string> ret;
|
||||
for (size_t z = 0; z < specific_versions.size(); z++) {
|
||||
ret.emplace(specific_versions[z], phosg::join(version_lines.at(z), "\n"));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static vector<shared_ptr<CompiledFunctionCode>> compile_function_code(
|
||||
CompiledFunctionCode::Architecture arch,
|
||||
const string& function_directory,
|
||||
@@ -169,78 +274,10 @@ static vector<shared_ptr<CompiledFunctionCode>> compile_function_code(
|
||||
throw runtime_error("data not found for include: " + name + " (from " + asm_filename + " or " + bin_filename + ")");
|
||||
};
|
||||
|
||||
// Handle VERS tokens
|
||||
vector<uint32_t> specific_versions;
|
||||
auto lines = phosg::split(text, '\n');
|
||||
for (auto& line : lines) {
|
||||
if (line.starts_with(".versions ")) {
|
||||
if (!specific_versions.empty()) {
|
||||
throw std::runtime_error("multiple .versions directives in file");
|
||||
}
|
||||
for (auto& vers_token : phosg::split(line.substr(10), ' ')) {
|
||||
phosg::strip_whitespace(vers_token);
|
||||
if (vers_token.empty()) {
|
||||
continue;
|
||||
}
|
||||
if (vers_token.size() != 4) {
|
||||
throw std::runtime_error("invalid token in .version directive: " + vers_token);
|
||||
}
|
||||
specific_versions.emplace_back(*reinterpret_cast<const be_uint32_t*>(vers_token.data()));
|
||||
}
|
||||
line.clear();
|
||||
}
|
||||
}
|
||||
|
||||
// Preprocess <VERS> tokens in the text if a .versions directive was given
|
||||
vector<string> version_texts;
|
||||
if (specific_versions.empty()) {
|
||||
specific_versions.emplace_back(0);
|
||||
version_texts.emplace_back(text);
|
||||
|
||||
} else {
|
||||
vector<deque<string>> version_lines;
|
||||
version_lines.resize(specific_versions.size());
|
||||
|
||||
size_t line_num = 1;
|
||||
for (const auto& line : lines) {
|
||||
size_t vers_offset = line.find("<VERS ");
|
||||
if (vers_offset == string::npos) {
|
||||
for (auto& lines : version_lines) {
|
||||
lines.emplace_back(line);
|
||||
}
|
||||
|
||||
} else {
|
||||
for (size_t vers_index = 0; vers_index < specific_versions.size(); vers_index++) {
|
||||
string version_line = line;
|
||||
size_t vers_offset = line.find("<VERS ");
|
||||
while (vers_offset != string::npos) {
|
||||
size_t end_offset = version_line.find('>', vers_offset + 6);
|
||||
if (end_offset == string::npos) {
|
||||
throw runtime_error(std::format("(line {}) unterminated <VERS> replacement", line_num));
|
||||
}
|
||||
auto tokens = phosg::split(version_line.substr(vers_offset + 6, end_offset - vers_offset - 6), ' ');
|
||||
if (tokens.size() != specific_versions.size()) {
|
||||
throw runtime_error(std::format("(line {}) invalid <VERS> replacement", line_num));
|
||||
}
|
||||
version_line = version_line.substr(0, vers_offset) + tokens.at(vers_index) + version_line.substr(end_offset + 1);
|
||||
vers_offset = version_line.find("<VERS ");
|
||||
}
|
||||
version_lines[vers_index].emplace_back(version_line);
|
||||
}
|
||||
}
|
||||
line_num++;
|
||||
}
|
||||
|
||||
for (const auto& lines : version_lines) {
|
||||
version_texts.emplace_back(phosg::join(lines, "\n"));
|
||||
}
|
||||
}
|
||||
auto version_texts = preprocess_function_code(text);
|
||||
|
||||
vector<shared_ptr<CompiledFunctionCode>> ret;
|
||||
for (size_t vers_index = 0; vers_index < specific_versions.size(); vers_index++) {
|
||||
uint32_t specific_version = specific_versions[vers_index];
|
||||
const auto& version_text = version_texts.at(vers_index);
|
||||
|
||||
for (const auto& [specific_version, version_text] : version_texts) {
|
||||
try {
|
||||
ResourceDASM::EmulatorBase::AssembleResult assembled;
|
||||
if (arch == CompiledFunctionCode::Architecture::POWERPC) {
|
||||
|
||||
+10
-6
@@ -1714,19 +1714,23 @@ Action a_assemble_quest_script(
|
||||
|
||||
Action a_assemble_all_patches(
|
||||
"assemble-all-patches", "\
|
||||
assemble-all-patches\n\
|
||||
assemble-all-patches [--skip-encrypted]\n\
|
||||
Assemble all patches in the system/client-functions directory, and produce\n\
|
||||
two compiled .bin files for each patch (one unencrypted, for most PSO\n\
|
||||
versions, and one encrypted, for PSO GC JP v1.4, JP Ep3, and Ep3 Trial\n\
|
||||
Edition). The output files are saved in system/client-functions.\n",
|
||||
+[](phosg::Arguments&) {
|
||||
+[](phosg::Arguments& args) {
|
||||
auto fci = make_shared<FunctionCodeIndex>("system/client-functions");
|
||||
|
||||
auto process_code = +[](shared_ptr<const CompiledFunctionCode> code,
|
||||
uint32_t checksum_addr,
|
||||
uint32_t checksum_size,
|
||||
uint32_t override_start_addr) -> void {
|
||||
bool skip_encrypted = args.get<bool>("skip-encrypted");
|
||||
auto process_code = [&](shared_ptr<const CompiledFunctionCode> code,
|
||||
uint32_t checksum_addr,
|
||||
uint32_t checksum_size,
|
||||
uint32_t override_start_addr) -> void {
|
||||
for (uint8_t encrypted = 0; encrypted < 2; encrypted++) {
|
||||
if (encrypted && skip_encrypted) {
|
||||
continue;
|
||||
}
|
||||
phosg::StringWriter w;
|
||||
string data = prepare_send_function_call_data(
|
||||
code, {}, nullptr, 0, checksum_addr, checksum_size, override_start_addr, encrypted);
|
||||
|
||||
@@ -1,590 +0,0 @@
|
||||
.meta name="Bug fixes"
|
||||
.meta description="Fixes many minor\ngameplay, sound,\nand graphical bugs"
|
||||
# Original code by Ralf @ GC-Forever and Aleron Ives
|
||||
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
|
||||
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
|
||||
|
||||
.versions 3OE0 3OE1 3OJ2
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include WriteCodeBlocksGC
|
||||
|
||||
.data 0x8000B088
|
||||
.data 0x00000058
|
||||
.data 0x7FA3EB78
|
||||
.data 0x38800000
|
||||
.data <VERS 0x481AEB11 0x481AEB11 0x481AE725>
|
||||
.data 0x7FA3EB78
|
||||
.data <VERS 0x481AEDE0 0x481AEDE0 0x481AE9F4>
|
||||
.data 0x881F0000
|
||||
.data 0x28090001
|
||||
.data 0x4082000C
|
||||
.data 0x881F0001
|
||||
.data 0x3BFF0002
|
||||
.data <VERS 0x48100B68 0x48100B68 0x481008C4>
|
||||
.data 0x39200000
|
||||
.data <VERS 0x48100AF9 0x48100AF9 0x48100855>
|
||||
.data 0x7F43D378
|
||||
.data 0x7F64DB78
|
||||
.data 0x7F85E378
|
||||
.data 0x7FA6EB78
|
||||
.data 0x7FC7F378
|
||||
.data 0x7FE8FB78
|
||||
.data 0x39200001
|
||||
.data <VERS 0x48100AD9 0x48100AD9 0x48100835>
|
||||
.data <VERS 0x48102F64 0x48102F64 0x48102CC0>
|
||||
|
||||
.data 0x8000B5C8
|
||||
.data 0x00000014
|
||||
.data 0x80630098
|
||||
.data <VERS 0x483D5999 0x483D59F1 0x483D46F5>
|
||||
.data 0x807F042C
|
||||
.data 0x809F0430
|
||||
.data <VERS 0x48178C7C 0x48178C7C 0x481788C0>
|
||||
|
||||
.data 0x8000BBD0
|
||||
.data 0x00000020
|
||||
.data 0x809F0370
|
||||
.data 0x3884FC00
|
||||
.data 0x909F0370
|
||||
.data 0x807F0014
|
||||
.data 0x28030000
|
||||
.data 0x41820008
|
||||
.data 0x90830060
|
||||
.data <VERS 0x48165428 0x48165428 0x4816506C>
|
||||
|
||||
.data 0x8000C3F8
|
||||
.data 0x0000007C
|
||||
.data 0x28040000
|
||||
.data 0x4D820020
|
||||
.data 0x9421FFF0
|
||||
.data <VERS 0x481AD7A0 0x481AD7A0 0x481AD3B4>
|
||||
.data 0x9421FFE0
|
||||
.data 0x7C0802A6
|
||||
.data 0x90010024
|
||||
.data 0xBF410008
|
||||
.data 0x7C7F1B78
|
||||
.data 0x4BFFFFDD
|
||||
.data 0x3BC00000
|
||||
.data 0x3BBF0D04
|
||||
.data 0x837F032C
|
||||
.data 0x839D0000
|
||||
.data 0x7F83E379
|
||||
.data 0x41820018
|
||||
.data 0x38800001
|
||||
.data <VERS 0x480FED81 0x480FED81 0x480FEADD>
|
||||
.data 0x7F83E378
|
||||
.data 0x38800001
|
||||
.data <VERS 0x480FEEF1 0x480FEEF1 0x480FEC4D>
|
||||
.data 0x3BBD0004
|
||||
.data 0x3BDE0001
|
||||
.data 0x2C1E000D
|
||||
.data 0x4180FFD4
|
||||
.data 0x937F032C
|
||||
.data 0xBB410008
|
||||
.data 0x80010024
|
||||
.data 0x7C0803A6
|
||||
.data 0x38210020
|
||||
.data 0x4E800020
|
||||
|
||||
.data 0x8000C640
|
||||
.data 0x00000014
|
||||
.data 0x54800673
|
||||
.data 0x41820008
|
||||
.data 0x38800000
|
||||
.data 0x38040009
|
||||
.data <VERS 0x4810C938 0x4810C938 0x4810C694>
|
||||
|
||||
.data 0x8000C6D0
|
||||
.data 0x00000020
|
||||
.data 0x38000001
|
||||
.data 0x901D0054
|
||||
.data 0x807D0024
|
||||
.data <VERS 0x48211244 0x48211244 0x482109C0>
|
||||
.data 0x38000001
|
||||
.data 0x901F0378
|
||||
.data 0x807F0024
|
||||
.data <VERS 0x482146F4 0x482146F4 0x48165AA0>
|
||||
|
||||
.data 0x8000C8A0
|
||||
.data 0x00000014
|
||||
.data 0x1C00000A
|
||||
.data 0x57E407BD
|
||||
.data 0x41820008
|
||||
.data 0x7FA00734
|
||||
.data <VERS 0x4810605C 0x4810605C 0x48105DB8>
|
||||
|
||||
.data 0x8000C8C0
|
||||
.data 0x00000010
|
||||
.data 0x7000000F
|
||||
.data 0x7000004F
|
||||
.data 0x2C000004
|
||||
.data 0x4E800020
|
||||
|
||||
.data 0x8000D980
|
||||
.data 0x00000014
|
||||
.data 0x807C0000
|
||||
.data 0x2C030013
|
||||
.data 0x40820008
|
||||
.data 0x38600002
|
||||
.data <VERS 0x482AE568 0x482AE5AC 0x482ADB24>
|
||||
|
||||
.data 0x8000D9A0
|
||||
.data 0x00000018
|
||||
.data <VERS 0xC042FC88 0xC042FC88 0xC042FC78>
|
||||
.data 0x807E0030
|
||||
.data 0x70630020
|
||||
.data 0x41820008
|
||||
.data <VERS 0xC042FCA0 0xC042FCA0 0xC042FC90>
|
||||
.data <VERS 0x483280A0 0x483280E4 0x483276B0>
|
||||
|
||||
.data 0x8000E1E0
|
||||
.data 0x0000001C
|
||||
.data 0x7FC802A6
|
||||
.data 0x38A00000
|
||||
.data 0x38C0001E
|
||||
.data 0x38E00040
|
||||
.data <VERS 0x4807853D 0x4807853D 0x480782B1>
|
||||
.data 0x7FC803A6
|
||||
.data 0x4E800020
|
||||
|
||||
.data <VERS 0x80013084 0x80013084 0x8001306C>
|
||||
.data 0x00000004
|
||||
.data 0x4BFFFCC0
|
||||
|
||||
.data <VERS 0x800142F4 0x800142F4 0x800142DC>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BFF85CD 0x4BFF85CD 0x4BFF85E5>
|
||||
|
||||
.data <VERS 0x80015D1C 0x80015D1C 0x80015D04>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BFF6BA9 0x4BFF6BA9 0x4BFF6BC1>
|
||||
|
||||
.data <VERS 0x800917B4 0x800917B4 0x80091528>
|
||||
.data 0x00000008
|
||||
.data 0x4800024D
|
||||
.data 0xB3C3032C
|
||||
|
||||
.data <VERS 0x800BC9E8 0x800BC9E8 0x800BC750>
|
||||
.data 0x00000004
|
||||
.data 0x48000010
|
||||
|
||||
.data <VERS 0x80101EB8 0x80101EB8 0x80101C14>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x80104DEC 0x80104DEC 0x80104B48>
|
||||
.data 0x00000004
|
||||
.data 0x4182000C
|
||||
|
||||
.data <VERS 0x8010771C 0x8010771C 0x80107478>
|
||||
.data 0x00000004
|
||||
.data 0x4800000C
|
||||
|
||||
.data <VERS 0x80107730 0x80107730 0x8010748C>
|
||||
.data 0x00000004
|
||||
.data 0x7C030378
|
||||
|
||||
.data <VERS 0x8010BC14 0x8010BC14 0x8010B970>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BEFF488 0x4BEFF488 0x4BEFF72C>
|
||||
|
||||
.data <VERS 0x8010E03C 0x8010E03C 0x8010DD98>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BEFD078 0x4BEFD078 0x4BEFD31C>
|
||||
|
||||
.data <VERS 0x80112908 0x80112908 0x80112664>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BEF9F98 0x4BEF9F98 0x4BEFA23C>
|
||||
|
||||
.data <VERS 0x8011461C 0x8011461C 0x80114378>
|
||||
.data 0x00000004
|
||||
.data 0x38000012
|
||||
|
||||
.data <VERS 0x80118854 0x80118854 0x801185B0>
|
||||
.data 0x00000004
|
||||
.data 0x88040016
|
||||
|
||||
.data <VERS 0x80118860 0x80118860 0x801185BC>
|
||||
.data 0x00000004
|
||||
.data 0x88040017
|
||||
|
||||
.data <VERS 0x80118F84 0x80118F84 0x80118CE0>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BEF36BC 0x4BEF36BC 0x4BEF3960>
|
||||
|
||||
.data <VERS 0x8011CD34 0x8011CD34 0x8011CA90>
|
||||
.data 0x0000000C
|
||||
.data 0x7C030378
|
||||
.data 0x3863FFFF
|
||||
.data 0x4BFFFFE8
|
||||
|
||||
.data <VERS 0x8011CDF0 0x8011CDF0 0x8011CB4C>
|
||||
.data 0x0000000C
|
||||
.data 0x7C030378
|
||||
.data 0x3863FFFF
|
||||
.data 0x4BFFFFE8
|
||||
|
||||
.data <VERS 0x8011CE40 0x8011CE40 0x8011CB9C>
|
||||
.data 0x0000000C
|
||||
.data 0x7C040378
|
||||
.data 0x3884FFFF
|
||||
.data 0x4BFFFFE8
|
||||
|
||||
.data <VERS 0x801666E0 0x801666E0 0x80166324>
|
||||
.data 0x00000008
|
||||
.data 0x3C604005
|
||||
.data 0x4800009C
|
||||
|
||||
.data <VERS 0x8016677C 0x8016677C 0x801663C0>
|
||||
.data 0x00000004
|
||||
.data 0x4800001C
|
||||
|
||||
.data <VERS 0x80171010 0x80171010 0x80170C54>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BE9ABC0 0x4BE9ABC0 0x4BE9AF7C>
|
||||
|
||||
.data <VERS 0x80171030 0x80171030 0x80170C74>
|
||||
.data 0x00000004
|
||||
.data 0x60800420
|
||||
|
||||
.data <VERS 0x80184250 0x80184250 0x80172188>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BE87378 0x4BE87378 0x4BE9A558>
|
||||
|
||||
.data <VERS 0x80184290 0x80184290 0x80183E94>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x60000000 0x60000000 0x4BE87734>
|
||||
|
||||
.data <VERS 0x80189E20 0x80189E20 0x80183ED4>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x801937A8 0x801937A8 0x80189A54>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x801B9BA0 0x801B9BA0 0x801933DC>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BE52868 0x4BE52868 0x60000000>
|
||||
|
||||
.data <VERS 0x801B9E74 0x801B9E74 0x801B97B4>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BE51214 0x4BE51214 0x4BE52C54>
|
||||
|
||||
.data <VERS 0x801C62C0 0x801C62C0 0x801B9A88>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x389F02FC 0x389F02FC 0x4BE51600>
|
||||
|
||||
.data <VERS 0x801CA610 0x801CA610 0x801C5EA4>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x48000010 0x48000010 0x389F02FC>
|
||||
|
||||
.data <VERS 0x8021D91C 0x8021D91C 0x801CA1F4>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BDEEDB4 0x4BDEEDB4 0x48000010>
|
||||
|
||||
.data <VERS 0x80220DDC 0x80220DDC 0x8021D098>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BDEB904 0x4BDEB904 0x4BDEF638>
|
||||
|
||||
.data <VERS 0x80229C10 0x80229C10 0x80229354>
|
||||
.data 0x00000004
|
||||
.data 0x2C000001
|
||||
|
||||
.data <VERS 0x8022A410 0x8022A410 0x80229B54>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x8022A440 0x8022A440 0x80229B84>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x8022A470 0x8022A470 0x80229BB4>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x8022D10C 0x8022D10C 0x8022C850>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x8022D840 0x8022D840 0x8022CF84>
|
||||
.data 0x00000004
|
||||
.data 0x41810630
|
||||
|
||||
.data <VERS 0x8022DB34 0x8022DB34 0x8022D278>
|
||||
.data 0x00000004
|
||||
.data 0x4181033C
|
||||
|
||||
.data <VERS 0x8022DC28 0x8022DC28 0x8022D36C>
|
||||
.data 0x00000004
|
||||
.data 0x41810248
|
||||
|
||||
.data <VERS 0x8022EB64 0x8022EB64 0x8022E2A8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x8022EB94 0x8022EB94 0x8022E2D8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x8022EBC4 0x8022EBC4 0x8022E308>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x8022F370 0x8022F370 0x8022EAB4>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x8022F3A0 0x8022F3A0 0x8022EAE4>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x8022F3D0 0x8022F3D0 0x8022EB14>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80230974 0x80230974 0x802300B8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x802309A4 0x802309A4 0x802300E8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x802309D4 0x802309D4 0x80230118>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x802316E4 0x802316E4 0x80230E08>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x80231714 0x80231714 0x80230E38>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x80231744 0x80231744 0x80230E68>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80231FD8 0x80231FD8 0x802316FC>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x80232010 0x80232010 0x80231734>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x80232048 0x80232048 0x8023176C>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80234084 0x80234084 0x802337A8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x802340B4 0x802340B4 0x802337D8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x802340E4 0x802340E4 0x80233808>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x802366B0 0x802366B0 0x80235DD4>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x802366EC 0x802366EC 0x80235E10>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x80236728 0x80236728 0x80235E4C>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80236E88 0x80236E88 0x802365AC>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x80236EB8 0x80236EB8 0x802365DC>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x80236EE8 0x80236EE8 0x8023660C>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x8023789C 0x8023789C 0x80236FC0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x802378CC 0x802378CC 0x80236FF0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x802378FC 0x802378FC 0x80237020>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80238274 0x80238274 0x80237998>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x802382A4 0x802382A4 0x802379C8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x802382D4 0x802382D4 0x802379F8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x8023BBA4 0x8023BBA4 0x8023B2C8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x8023BBD4 0x8023BBD4 0x8023B2F8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x8023BC04 0x8023BC04 0x8023B328>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80250AEC 0x80250AEC 0x80250264>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x80268788 0x80268788 0x80267DDC>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x8026E2D4 0x8026E2D4 0x8026DA74>
|
||||
.data 0x00000004
|
||||
.data 0x3884AAFA
|
||||
|
||||
.data <VERS 0x8026E3E8 0x8026E3E8 0x8026DB88>
|
||||
.data 0x00000004
|
||||
.data 0x3863AAFA
|
||||
|
||||
.data <VERS 0x8026E470 0x8026E470 0x8026DC10>
|
||||
.data 0x00000004
|
||||
.data 0x3883AAFA
|
||||
|
||||
.data <VERS 0x802BBEF4 0x802BBF38 0x802BB4B0>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BD51A8C 0x4BD51A48 0x4BD524D0>
|
||||
|
||||
.data <VERS 0x802FC2F4 0x802FC338 0x802FB99C>
|
||||
.data 0x00000004
|
||||
.data 0x2C030001
|
||||
|
||||
.data <VERS 0x80301F58 0x80301F9C 0x80301600>
|
||||
.data 0x0000001C
|
||||
.data 0x48000020
|
||||
.data 0x3863A830
|
||||
.data <VERS 0x800DB9A4 0x800DB9A4 0x800DB98C>
|
||||
.data 0x2C000023
|
||||
.data 0x40820008
|
||||
.data 0x3863FB28
|
||||
.data 0x4800008C
|
||||
|
||||
.data <VERS 0x80301FF8 0x8030203C 0x803016A0>
|
||||
.data 0x00000004
|
||||
.data 0x4BFFFF64
|
||||
|
||||
.data <VERS 0x80335A50 0x80335A94 0x80335060>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BCD7F50 0x4BCD7F0C 0x4BCD8940>
|
||||
|
||||
.data <VERS 0x80356814 0x80356858 0x80355960>
|
||||
.data 0x00000004
|
||||
.data 0x388001E8
|
||||
|
||||
.data <VERS 0x80356838 0x8035687C 0x80355984>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BCB79A9 0x4BCB7965 0x4BCB885D>
|
||||
|
||||
.data <VERS 0x803568A8 0x803568EC 0x803559F4>
|
||||
.data 0x00000004
|
||||
.data 0x388001E8
|
||||
|
||||
.data <VERS 0x803568B8 0x803568FC 0x80355A04>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BCB7929 0x4BCB78E5 0x4BCB87DD>
|
||||
|
||||
.data <VERS 0x804B3EF0 0x804B43D0 0x804B3738>
|
||||
.data 0x00000008
|
||||
.data 0x70808080
|
||||
.data 0x60707070
|
||||
|
||||
.data <VERS 0x804C76B4 0x804C7B94 0x804C6EE4>
|
||||
.data 0x00000004
|
||||
.data 0x0000001E
|
||||
|
||||
.data <VERS 0x804C770C 0x804C7BEC 0x804C6F3C>
|
||||
.data 0x00000004
|
||||
.data 0x00000028
|
||||
|
||||
.data <VERS 0x804C7738 0x804C7C18 0x804C6F68>
|
||||
.data 0x00000004
|
||||
.data 0x00000032
|
||||
|
||||
.data <VERS 0x804C7764 0x804C7C44 0x804C6F94>
|
||||
.data 0x00000004
|
||||
.data 0x0000003C
|
||||
|
||||
.data <VERS 0x804C7774 0x804C7C54 0x804C6FA4>
|
||||
.data 0x00000004
|
||||
.data 0x0018003C
|
||||
|
||||
.data <VERS 0x804C79CC 0x804C7EAC 0x804C71FC>
|
||||
.data 0x00000004
|
||||
.data 0x00000028
|
||||
|
||||
.data <VERS 0x804CC310 0x804CC7F0 0x804CBB40>
|
||||
.data 0x00000004
|
||||
.data 0xFF0074EE
|
||||
|
||||
.data <VERS 0x805CA274 0x805D1294 0x805C996C>
|
||||
.data 0x00000004
|
||||
.data 0x435C0000
|
||||
|
||||
.data <VERS 0x805CBF10 0x805D2F30 0x805CB608>
|
||||
.data 0x00000004
|
||||
.data 0x46AFC800
|
||||
|
||||
.data <VERS 0x805CC1B0 0x805D31D0 0x805CB8A8>
|
||||
.data 0x00000004
|
||||
.data 0x43480000
|
||||
|
||||
# Belra arm bug fix (this part by fuzziqersoftware)
|
||||
.data <VERS 0x800959B0 0x800959B0 0x80095724>
|
||||
.data 0x00000004
|
||||
.address <VERS 0x800959B0 0x800959B0 0x80095724>
|
||||
bl belra_bugfix_hook1
|
||||
.data <VERS 0x800959C0 0x800959C0 0x80095734>
|
||||
.data 0x00000004
|
||||
.address <VERS 0x800959C0 0x800959C0 0x80095734>
|
||||
bl belra_bugfix_hook2
|
||||
|
||||
.data 0x8000B06C
|
||||
.deltaof belra_bugfix_hook1, belra_bugfix_end
|
||||
.address 0x8000B06C
|
||||
belra_bugfix_hook1:
|
||||
li r0, 1
|
||||
stw [r13 - <VERS 0x2E30 0x2E30 0x2E48>], r0 # Anchor: 80039388 @ 3OE1
|
||||
b [<VERS 803D4410 803D4468 803D3140>]
|
||||
belra_bugfix_hook2:
|
||||
li r4, 0
|
||||
stw [r13 - <VERS 0x2E30 0x2E30 0x2E48>], r4
|
||||
lwz r4, [r28 + 0x04]
|
||||
blr
|
||||
belra_bugfix_end:
|
||||
|
||||
.data 0x00000000
|
||||
.data 0x00000000
|
||||
@@ -1,554 +0,0 @@
|
||||
.meta name="Bug fixes"
|
||||
.meta description="Fixes many minor\ngameplay, sound,\nand graphical bugs"
|
||||
# Original code by Ralf @ GC-Forever and Aleron Ives
|
||||
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
|
||||
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
|
||||
|
||||
.versions 3OE2 3OJ3 3OJ4 3OJ5 3OP0
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include WriteCodeBlocksGC
|
||||
|
||||
.data 0x8000B088
|
||||
.data 0x00000058
|
||||
.data 0x7FA3EB78
|
||||
.data 0x38800000
|
||||
.data <VERS 0x481AECC1 0x481AEB91 0x481B1C09 0x481AEC5D 0x481AF17D>
|
||||
.data 0x7FA3EB78
|
||||
.data <VERS 0x481AEF90 0x481AEE60 0x481B1ED8 0x481AEF2C 0x481AF44C>
|
||||
.data 0x881F0000
|
||||
.data 0x28090001
|
||||
.data 0x4082000C
|
||||
.data 0x881F0001
|
||||
.data 0x3BFF0002
|
||||
.data <VERS 0x48100A54 0x48100AC4 0x48100B58 0x48100A44 0x48100C44>
|
||||
.data 0x39200000
|
||||
.data <VERS 0x481009E5 0x48100A55 0x48100AE9 0x481009D5 0x48100BD5>
|
||||
.data 0x7F43D378
|
||||
.data 0x7F64DB78
|
||||
.data 0x7F85E378
|
||||
.data 0x7FA6EB78
|
||||
.data 0x7FC7F378
|
||||
.data 0x7FE8FB78
|
||||
.data 0x39200001
|
||||
.data <VERS 0x481009C5 0x48100A35 0x48100AC9 0x481009B5 0x48100BB5>
|
||||
.data <VERS 0x48102E5C 0x48102EC0 0x4810300C 0x48102E4C 0x48103040>
|
||||
|
||||
.data 0x8000B5C8
|
||||
.data 0x00000014
|
||||
.data 0x80630098
|
||||
.data <VERS 0x483D90F1 0x483D70D1 0x483D8F71 0x483D8D21 0x483D7BE1>
|
||||
.data 0x807F042C
|
||||
.data 0x809F0430
|
||||
.data <VERS 0x48178DB0 0x48178C88 0x48178DEC 0x48178D4C 0x48179274>
|
||||
|
||||
.data 0x8000BBD0
|
||||
.data 0x00000020
|
||||
.data 0x809F0370
|
||||
.data 0x3884FC00
|
||||
.data 0x909F0370
|
||||
.data 0x807F0014
|
||||
.data 0x28030000
|
||||
.data 0x41820008
|
||||
.data 0x90830060
|
||||
.data <VERS 0x48165548 0x48165420 0x48165678 0x481654E4 0x48165A0C>
|
||||
|
||||
.data 0x8000C3F8
|
||||
.data 0x0000007C
|
||||
.data 0x28040000
|
||||
.data 0x4D820020
|
||||
.data 0x9421FFF0
|
||||
.data <VERS 0x481AD950 0x481AD820 0x481B0898 0x481AD8EC 0x481ADE0C>
|
||||
.data 0x9421FFE0
|
||||
.data 0x7C0802A6
|
||||
.data 0x90010024
|
||||
.data 0xBF410008
|
||||
.data 0x7C7F1B78
|
||||
.data 0x4BFFFFDD
|
||||
.data 0x3BC00000
|
||||
.data 0x3BBF0D04
|
||||
.data 0x837F032C
|
||||
.data 0x839D0000
|
||||
.data 0x7F83E379
|
||||
.data 0x41820018
|
||||
.data 0x38800001
|
||||
.data <VERS 0x480FEC6D 0x480FECDD 0x480FEDC9 0x480FEC5D 0x480FEE5D>
|
||||
.data 0x7F83E378
|
||||
.data 0x38800001
|
||||
.data <VERS 0x480FEDDD 0x480FEE4D 0x480FEF49 0x480FEDCD 0x480FEFCD>
|
||||
.data 0x3BBD0004
|
||||
.data 0x3BDE0001
|
||||
.data 0x2C1E000D
|
||||
.data 0x4180FFD4
|
||||
.data 0x937F032C
|
||||
.data 0xBB410008
|
||||
.data 0x80010024
|
||||
.data 0x7C0803A6
|
||||
.data 0x38210020
|
||||
.data 0x4E800020
|
||||
|
||||
.data 0x8000C640
|
||||
.data 0x00000014
|
||||
.data 0x54800673
|
||||
.data 0x41820008
|
||||
.data 0x38800000
|
||||
.data 0x38040009
|
||||
.data <VERS 0x4810C858 0x4810C8B0 0x4810C98C 0x4810C848 0x4810CA30>
|
||||
|
||||
.data 0x8000C6D0
|
||||
.data 0x00000020
|
||||
.data 0x38000001
|
||||
.data 0x901D0054
|
||||
.data 0x807D0024
|
||||
.data <VERS 0x482122F8 0x48211324 0x48212210 0x48211FC4 0x48211B90>
|
||||
.data 0x38000001
|
||||
.data 0x901F0378
|
||||
.data 0x807F0024
|
||||
.data <VERS 0x482157A8 0x482147D4 0x482156C0 0x48215474 0x48215040>
|
||||
|
||||
.data 0x8000C8A0
|
||||
.data 0x00000014
|
||||
.data 0x1C00000A
|
||||
.data 0x57E407BD
|
||||
.data 0x41820008
|
||||
.data 0x7FA00734
|
||||
.data <VERS 0x48105F54 0x48105FB8 0x48106190 0x48105F44 0x48106138>
|
||||
|
||||
.data 0x8000C8C0
|
||||
.data 0x00000010
|
||||
.data 0x7000000F
|
||||
.data 0x7000004F
|
||||
.data 0x2C000004
|
||||
.data 0x4E800020
|
||||
|
||||
.data 0x8000D980
|
||||
.data 0x00000014
|
||||
.data 0x807C0000
|
||||
.data 0x2C030013
|
||||
.data 0x40820008
|
||||
.data 0x38600002
|
||||
.data <VERS 0x482AFAE8 0x482AEA54 0x482AFB9C 0x482AF934 0x482AF27C>
|
||||
|
||||
.data 0x8000D9A0
|
||||
.data 0x00000018
|
||||
.data <VERS 0xC042FC88 0xC042FC80 0xC042FC80 0xC042FC80 0xC042FC88>
|
||||
.data 0x807E0030
|
||||
.data 0x70630020
|
||||
.data 0x41820008
|
||||
.data <VERS 0xC042FCA0 0xC042FC98 0xC042FC98 0xC042FC98 0xC042FCA0>
|
||||
.data <VERS 0x48329BC0 0x4832871C 0x48329C38 0x483299EC 0x48329004>
|
||||
|
||||
.data 0x8000E1E0
|
||||
.data 0x0000001C
|
||||
.data 0x7FC802A6
|
||||
.data 0x38A00000
|
||||
.data 0x38C0001E
|
||||
.data 0x38E00040
|
||||
.data <VERS 0x480786D5 0x4807859D 0x48078715 0x480786C5 0x4807869D>
|
||||
.data 0x7FC803A6
|
||||
.data 0x4E800020
|
||||
|
||||
.data <VERS 0x8001304C 0x8001309C 0x80013364 0x8001304C 0x800130C4>
|
||||
.data 0x00000004
|
||||
.data 0x4BFFFCC0
|
||||
|
||||
.data <VERS 0x800142BC 0x8001430C 0x800146A4 0x800142BC 0x80014334>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BFF8605 0x4BFF85B5 0x4BFF821D 0x4BFF8605 0x4BFF858D>
|
||||
|
||||
.data <VERS 0x80015CE4 0x80015D34 0x80016174 0x80015CE4 0x80015D5C>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BFF6BE1 0x4BFF6B91 0x4BFF6751 0x4BFF6BE1 0x4BFF6B69>
|
||||
|
||||
.data <VERS 0x8009194C 0x80091814 0x8009198C 0x8009193C 0x80091914>
|
||||
.data 0x00000008
|
||||
.data 0x4800024D
|
||||
.data 0xB3C3032C
|
||||
|
||||
.data <VERS 0x800BCB90 0x800BCA58 0x800BCBD0 0x800BCB80 0x800BCB58>
|
||||
.data 0x00000004
|
||||
.data 0x48000010
|
||||
|
||||
.data <VERS 0x80104CB4 0x80104D24 0x80104DE0 0x80104CA4 0x80104EA4>
|
||||
.data 0x00000004
|
||||
.data 0x4182000C
|
||||
|
||||
.data <VERS 0x801075E4 0x80107654 0x80107708 0x801075D4 0x801077D4>
|
||||
.data 0x00000004
|
||||
.data 0x4800000C
|
||||
|
||||
.data <VERS 0x801075F8 0x80107668 0x8010771C 0x801075E8 0x801077E8>
|
||||
.data 0x00000004
|
||||
.data 0x7C030378
|
||||
|
||||
.data <VERS 0x8010BB00 0x8010BB70 0x8010BC04 0x8010BAF0 0x8010BCF0>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BEFF59C 0x4BEFF52C 0x4BEFF498 0x4BEFF5AC 0x4BEFF3AC>
|
||||
|
||||
.data <VERS 0x8010DF34 0x8010DF98 0x8010E0E4 0x8010DF24 0x8010E118>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BEFD180 0x4BEFD11C 0x4BEFCFD0 0x4BEFD190 0x4BEFCF9C>
|
||||
|
||||
.data <VERS 0x80112800 0x80112864 0x80112A3C 0x801127F0 0x801129E4>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BEFA0A0 0x4BEFA03C 0x4BEF9E64 0x4BEFA0B0 0x4BEF9EBC>
|
||||
|
||||
.data <VERS 0x80114534 0x8011458C 0x80114634 0x80114524 0x8011470C>
|
||||
.data 0x00000004
|
||||
.data 0x38000012
|
||||
|
||||
.data <VERS 0x80118774 0x801187CC 0x8011885C 0x80118764 0x8011894C>
|
||||
.data 0x00000004
|
||||
.data 0x88040016
|
||||
|
||||
.data <VERS 0x80118780 0x801187D8 0x80118868 0x80118770 0x80118958>
|
||||
.data 0x00000004
|
||||
.data 0x88040017
|
||||
|
||||
.data <VERS 0x80118EA4 0x80118EFC 0x80118FD8 0x80118E94 0x8011907C>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BEF379C 0x4BEF3744 0x4BEF3668 0x4BEF37AC 0x4BEF35C4>
|
||||
|
||||
.data <VERS 0x8011CC7C 0x8011CCD4 0x8011CD0C 0x8011CC6C 0x8011CE54>
|
||||
.data 0x0000000C
|
||||
.data 0x7C030378
|
||||
.data 0x3863FFFF
|
||||
.data 0x4BFFFFE8
|
||||
|
||||
.data <VERS 0x8011CD38 0x8011CD90 0x8011CDC8 0x8011CD28 0x8011CF10>
|
||||
.data 0x0000000C
|
||||
.data 0x7C030378
|
||||
.data 0x3863FFFF
|
||||
.data 0x4BFFFFE8
|
||||
|
||||
.data <VERS 0x8011CD88 0x8011CDE0 0x8011CE18 0x8011CD78 0x8011CF60>
|
||||
.data 0x0000000C
|
||||
.data 0x7C040378
|
||||
.data 0x3884FFFF
|
||||
.data 0x4BFFFFE8
|
||||
|
||||
.data <VERS 0x80166800 0x801666D8 0x80166848 0x8016679C 0x80166CC4>
|
||||
.data 0x00000008
|
||||
.data 0x3C604005
|
||||
.data 0x4800009C
|
||||
|
||||
.data <VERS 0x8016689C 0x80166774 0x801668E4 0x80166838 0x80166D60>
|
||||
.data 0x00000004
|
||||
.data 0x4800001C
|
||||
|
||||
.data <VERS 0x80171130 0x80171008 0x80171260 0x801710CC 0x801715F4>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BE9AAA0 0x4BE9ABC8 0x4BE9A970 0x4BE9AB04 0x4BE9A5DC>
|
||||
|
||||
.data <VERS 0x80171150 0x80171028 0x80171280 0x801710EC 0x80171614>
|
||||
.data 0x00000004
|
||||
.data 0x60800420
|
||||
|
||||
.data <VERS 0x80184384 0x8018425C 0x801843C0 0x80184320 0x80184848>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BE87244 0x4BE8736C 0x4BE87208 0x4BE872A8 0x4BE86D80>
|
||||
|
||||
.data <VERS 0x801843C4 0x8018429C 0x80184400 0x80184360 0x80184888>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x80189F54 0x80189E2C 0x80189F90 0x80189EF0 0x8018A418>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x801938D8 0x801937B0 0x80193914 0x80193874 0x80193D9C>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x801B9D50 0x801B9C20 0x801BCC98 0x801B9CEC 0x801BA20C>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BE526B8 0x4BE527E8 0x4BE4F770 0x4BE5271C 0x4BE521FC>
|
||||
|
||||
.data <VERS 0x801BA024 0x801B9EF4 0x801BCF6C 0x801B9FC0 0x801BA4E0>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BE51064 0x4BE51194 0x4BE4E11C 0x4BE510C8 0x4BE50BA8>
|
||||
|
||||
.data <VERS 0x801C6490 0x801C6360 0x801C6604 0x801C642C 0x801C694C>
|
||||
.data 0x00000004
|
||||
.data 0x389F02FC
|
||||
|
||||
.data <VERS 0x801CA810 0x801CA6E0 0x801CB5EC 0x801CA7AC 0x801CACCC>
|
||||
.data 0x00000004
|
||||
.data 0x48000010
|
||||
|
||||
.data <VERS 0x8021E9D0 0x8021D9FC 0x8021E8E8 0x8021E69C 0x8021E268>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BDEDD00 0x4BDEECD4 0x4BDEDDE8 0x4BDEE034 0x4BDEE468>
|
||||
|
||||
.data <VERS 0x80221E90 0x80220EBC 0x80221DA8 0x80221B5C 0x80221728>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BDEA850 0x4BDEB824 0x4BDEA938 0x4BDEAB84 0x4BDEAFB8>
|
||||
|
||||
.data <VERS 0x8022ACC4 0x80229CF0 0x8022ABDC 0x8022A990 0x8022A55C>
|
||||
.data 0x00000004
|
||||
.data 0x2C000001
|
||||
|
||||
.data <VERS 0x8022B4C4 0x8022A4F0 0x8022B3E0 0x8022B190 0x8022AD5C>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x8022B4F4 0x8022A520 0x8022B410 0x8022B1C0 0x8022AD8C>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x8022B524 0x8022A550 0x8022B440 0x8022B1F0 0x8022ADBC>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x8022E1C0 0x8022D1EC 0x8022E128 0x8022DE8C 0x8022DA58>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x8022E8F4 0x8022D920 0x8022E85C 0x8022E5C0 0x8022E18C>
|
||||
.data 0x00000004
|
||||
.data 0x41810630
|
||||
|
||||
.data <VERS 0x8022FC18 0x8022EC44 0x8022FB30 0x8022F8E4 0x8022F4B0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x8022FC48 0x8022EC74 0x8022FB60 0x8022F914 0x8022F4E0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x8022FC78 0x8022ECA4 0x8022FB90 0x8022F944 0x8022F510>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80230424 0x8022F450 0x80230340 0x802300F0 0x8022FCBC>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x80230454 0x8022F480 0x80230370 0x80230120 0x8022FCEC>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x80230484 0x8022F4B0 0x802303A0 0x80230150 0x8022FD1C>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80231A28 0x80230A54 0x80231940 0x802316F4 0x802312C0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x80231A58 0x80230A84 0x80231970 0x80231724 0x802312F0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x80231A88 0x80230AB4 0x802319A0 0x80231754 0x80231320>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80232798 0x802317C4 0x802326B0 0x80232464 0x80232030>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x802327C8 0x802317F4 0x802326E0 0x80232494 0x80232060>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x802327F8 0x80231824 0x80232710 0x802324C4 0x80232090>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x8023308C 0x802320B8 0x80232FA4 0x80232D58 0x80232924>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x802330C4 0x802320F0 0x80232FDC 0x80232D90 0x8023295C>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x802330FC 0x80232128 0x80233014 0x80232DC8 0x80232994>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80235138 0x80234164 0x80235050 0x80234E04 0x802349D0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x80235168 0x80234194 0x80235080 0x80234E34 0x80234A00>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x80235198 0x802341C4 0x802350B0 0x80234E64 0x80234A30>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80237764 0x80236790 0x8023767C 0x80237430 0x80236FFC>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x802377A0 0x802367CC 0x802376B8 0x8023746C 0x80237038>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x802377DC 0x80236808 0x802376F4 0x802374A8 0x80237074>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80237F3C 0x80236F68 0x80237E54 0x80237C08 0x802377D4>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x80237F6C 0x80236F98 0x80237E84 0x80237C38 0x80237804>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x80237F9C 0x80236FC8 0x80237EB4 0x80237C68 0x80237834>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80238950 0x8023797C 0x80238868 0x8023861C 0x802381E8>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x80238980 0x802379AC 0x80238898 0x8023864C 0x80238218>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x802389B0 0x802379DC 0x802388C8 0x8023867C 0x80238248>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80239328 0x80238354 0x80239240 0x80238FF4 0x80238BC0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x80239358 0x80238384 0x80239270 0x80239024 0x80238BF0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x80239388 0x802383B4 0x802392A0 0x80239054 0x80238C20>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x8023CC58 0x8023BC84 0x8023CB70 0x8023C924 0x8023C4F0>
|
||||
.data 0x00000004
|
||||
.data 0x3880FF00
|
||||
|
||||
.data <VERS 0x8023CC88 0x8023BCB4 0x8023CBA0 0x8023C954 0x8023C520>
|
||||
.data 0x00000004
|
||||
.data 0x3880FE80
|
||||
|
||||
.data <VERS 0x8023CCB8 0x8023BCE4 0x8023CBD0 0x8023C984 0x8023C550>
|
||||
.data 0x00000004
|
||||
.data 0x3880FDB0
|
||||
|
||||
.data <VERS 0x80251C68 0x80250CB0 0x80251CA4 0x802519A4 0x802514B0>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x80269B5C 0x80268A88 0x80269AE4 0x80269898 0x802693A4>
|
||||
.data 0x00000004
|
||||
.data 0x60000000
|
||||
|
||||
.data <VERS 0x8026F6FC 0x8026E738 0x8026F794 0x8026F548 0x8026EF44>
|
||||
.data 0x00000004
|
||||
.data 0x3884AAFA
|
||||
|
||||
.data <VERS 0x8026F810 0x8026E84C 0x8026F8A8 0x8026F65C 0x8026F058>
|
||||
.data 0x00000004
|
||||
.data 0x3863AAFA
|
||||
|
||||
.data <VERS 0x8026F898 0x8026E8D4 0x8026F930 0x8026F6E4 0x8026F0E0>
|
||||
.data 0x00000004
|
||||
.data 0x3883AAFA
|
||||
|
||||
.data <VERS 0x802BD474 0x802BC3E0 0x802BD528 0x802BD2C0 0x802BCC08>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BD5050C 0x4BD515A0 0x4BD50458 0x4BD506C0 0x4BD50D78>
|
||||
|
||||
.data <VERS 0x802FDD28 0x802FC968 0x802FDE60 0x802FDB6C 0x802FD100>
|
||||
.data 0x00000004
|
||||
.data 0x2C030001
|
||||
|
||||
.data <VERS 0x8030398C 0x803025CC 0x80303A1C 0x803037D0 0x80302D64>
|
||||
.data 0x0000001C
|
||||
.data 0x48000020
|
||||
.data 0x3863A830
|
||||
.data <VERS 0x800DB9C4 0x800DB994 0x800DB9B4 0x800DB9B4 0x800DBA04>
|
||||
.data 0x2C000023
|
||||
.data 0x40820008
|
||||
.data 0x3863FB28
|
||||
.data 0x4800008C
|
||||
|
||||
.data <VERS 0x80303A2C 0x8030266C 0x80303ABC 0x80303870 0x80302E04>
|
||||
.data 0x00000004
|
||||
.data 0x4BFFFF64
|
||||
|
||||
.data <VERS 0x80337570 0x803360CC 0x803375E8 0x8033739C 0x803369B4>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BCD6430 0x4BCD78D4 0x4BCD63B8 0x4BCD6604 0x4BCD6FEC>
|
||||
|
||||
.data <VERS 0x80358440 0x80356D64 0x803582C0 0x80358074 0x80357834>
|
||||
.data 0x00000004
|
||||
.data 0x388001E8
|
||||
|
||||
.data <VERS 0x80358464 0x80356D88 0x803582E4 0x80358098 0x80357858>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BCB5D7D 0x4BCB7459 0x4BCB5EFD 0x4BCB6149 0x4BCB6989>
|
||||
|
||||
.data <VERS 0x803584D4 0x80356DF8 0x80358354 0x80358108 0x803578C8>
|
||||
.data 0x00000004
|
||||
.data 0x388001E8
|
||||
|
||||
.data <VERS 0x803584E4 0x80356E08 0x80358364 0x80358118 0x803578D8>
|
||||
.data 0x00000004
|
||||
.data <VERS 0x4BCB5CFD 0x4BCB73D9 0x4BCB5E7D 0x4BCB60C9 0x4BCB6909>
|
||||
|
||||
.data <VERS 0x804B8990 0x804B6E58 0x804B92F8 0x804B90B8 0x804B8E10>
|
||||
.data 0x00000008
|
||||
.data 0x70808080
|
||||
.data 0x60707070
|
||||
|
||||
.data <VERS 0x804CC1E4 0x804CA61C 0x804CCB6C 0x804CC90C 0x804CC5D4>
|
||||
.data 0x00000004
|
||||
.data 0x0000001E
|
||||
|
||||
.data <VERS 0x804CC23C 0x804CA674 0x804CCBC4 0x804CC964 0x804CC62C>
|
||||
.data 0x00000004
|
||||
.data 0x00000028
|
||||
|
||||
.data <VERS 0x804CC268 0x804CA6A0 0x804CCBF0 0x804CC990 0x804CC658>
|
||||
.data 0x00000004
|
||||
.data 0x00000032
|
||||
|
||||
.data <VERS 0x804CC294 0x804CA6CC 0x804CCC1C 0x804CC9BC 0x804CC684>
|
||||
.data 0x00000004
|
||||
.data 0x0000003C
|
||||
|
||||
.data <VERS 0x804CC2A4 0x804CA6DC 0x804CCC2C 0x804CC9CC 0x804CC694>
|
||||
.data 0x00000004
|
||||
.data 0x0018003C
|
||||
|
||||
.data <VERS 0x804CC4FC 0x804CA934 0x804CCE84 0x804CCC24 0x804CC8EC>
|
||||
.data 0x00000004
|
||||
.data 0x00000028
|
||||
|
||||
.data <VERS 0x804D0E58 0x804CF290 0x804D17E0 0x804D1580 0x804D1248>
|
||||
.data 0x00000004
|
||||
.data 0xFF0074EE
|
||||
|
||||
.data <VERS 0x805DAAB4 0x805D3F6C 0x805DB40C 0x805DB1AC 0x805D6CF4>
|
||||
.data 0x00000004
|
||||
.data 0x435C0000
|
||||
|
||||
.data <VERS 0x805DC750 0x805D5C08 0x805DD0A8 0x805DCE48 0x805D8990>
|
||||
.data 0x00000004
|
||||
.data 0x46AFC800
|
||||
|
||||
.data <VERS 0x805DC9F0 0x805D5EA8 0x805DD348 0x805DD0E8 0x805D8C30>
|
||||
.data 0x00000004
|
||||
.data 0x43480000
|
||||
|
||||
.data 0x00000000
|
||||
.data 0x00000000
|
||||
@@ -0,0 +1,882 @@
|
||||
.meta name="Bug fixes"
|
||||
.meta description="Fixes many minor\ngameplay, sound,\nand graphical bugs"
|
||||
# Most original codes by Ralf @ GC-Forever and Aleron Ives, except where noted
|
||||
# https://www.gc-forever.com/forums/viewtopic.php?t=2050
|
||||
# https://www.gc-forever.com/forums/viewtopic.php?t=2049
|
||||
|
||||
.versions 3OJ2 3OJ3 3OJ4 3OJ5 3OE0 3OE1 3OE2 3OP0
|
||||
|
||||
entry_ptr:
|
||||
reloc0:
|
||||
.offsetof start
|
||||
start:
|
||||
.include WriteCodeBlocksGC
|
||||
|
||||
|
||||
|
||||
# Olga Flow Barta Bug Fix (makes barta work on ice weakness Olga Flow instead of damaging player)
|
||||
|
||||
.label g1_hook_call, <VERS 0x802BB4B0 0x802BC3E0 0x802BD528 0x802BD2C0 0x802BBEF4 0x802BBF38 0x802BD474 0x802BCC08>
|
||||
.label g1_hook_loc, 0x8000D980
|
||||
.data g1_hook_loc
|
||||
.deltaof g1_hook_start, g1_hook_end
|
||||
.address g1_hook_loc
|
||||
g1_hook_start:
|
||||
lwz r3, [r28]
|
||||
cmpwi r3, 19
|
||||
bnelr
|
||||
li r3, 0x0002
|
||||
blr
|
||||
g1_hook_end:
|
||||
|
||||
.data g1_hook_call
|
||||
.data 4
|
||||
.address g1_hook_call
|
||||
bl g1_hook_loc
|
||||
|
||||
|
||||
|
||||
# Morfos Frozen Player Bug Fix (stops Morfos Laser multi-hitting when player is frozen)
|
||||
|
||||
.label g2_hook_call, <VERS 0x80335060 0x803360CC 0x803375E8 0x8033739C 0x80335A50 0x80335A94 0x80337570 0x803369B4>
|
||||
.label g2_hook_loc, 0x8000D9A0
|
||||
.data g2_hook_loc
|
||||
.deltaof g2_hook_start, g2_hook_end
|
||||
.address g2_hook_loc
|
||||
g2_hook_start:
|
||||
lfs f2, [r2 - <VERS 0x0388 0x0380 0x0380 0x0380 0x0378 0x0378 0x0378 0x0378>]
|
||||
lwz r3, [r30 + 0x0030]
|
||||
andi. r3, r3, 0x0020
|
||||
beqlr
|
||||
lfs f2, [r2 - <VERS 0x0370 0x0368 0x0368 0x0368 0x0360 0x0360 0x0360 0x0360>]
|
||||
blr
|
||||
g2_hook_end:
|
||||
|
||||
.data g2_hook_call
|
||||
.data 4
|
||||
.address g2_hook_call
|
||||
bl g2_hook_loc
|
||||
|
||||
|
||||
|
||||
# Tiny Grass Assassins Bug Fix
|
||||
|
||||
.data <VERS 0x800BC750 0x800BCA58 0x800BCBD0 0x800BCB80 0x800BC9E8 0x800BC9E8 0x800BCB90 0x800BCB58>
|
||||
.data 4
|
||||
b +0x10
|
||||
|
||||
|
||||
|
||||
# Bulclaw HP Bug Fix
|
||||
|
||||
.data <VERS 0x80091528 0x80091814 0x8009198C 0x8009193C 0x800917B4 0x800917B4 0x8009194C 0x80091914>
|
||||
.data 8
|
||||
bl +0x024C
|
||||
sth [r3 + 0x032C], r30
|
||||
|
||||
|
||||
|
||||
# Control Tower: Delbiter Death SFX Bug Fix
|
||||
|
||||
.label g3_patch_loc, <VERS 0x80301600 0x803025CC 0x80303A1C 0x803037D0 0x80301F58 0x80301F9C 0x8030398C 0x80302D64>
|
||||
.data g3_patch_loc
|
||||
.deltaof g3_code_start, g3_code_end
|
||||
.address g3_patch_loc
|
||||
g3_code_start:
|
||||
b +0x20
|
||||
subi r3, r3, 0x57D0
|
||||
lwz r0, [r13 - <VERS 0x4674 0x466C 0x464C 0x464C 0x465C 0x465C 0x463C 0x45FC>]
|
||||
cmpwi r0, 35
|
||||
bne g3_skip
|
||||
subi r3, r3, 0x04D8
|
||||
g3_skip:
|
||||
b +0x8C
|
||||
g3_code_end:
|
||||
|
||||
.data <VERS 0x803016A0 0x8030266C 0x80303ABC 0x80303870 0x80301FF8 0x8030203C 0x80303A2C 0x80302E04>
|
||||
.data 0x00000004
|
||||
b -0x9C
|
||||
|
||||
|
||||
|
||||
# Weapon Attributes Patch (allows attributes to work on minibosses and Olga Flow)
|
||||
|
||||
.label g4_hook_call1, <VERS 0x800142DC 0x8001430C 0x800146A4 0x800142BC 0x800142F4 0x800142F4 0x800142BC 0x80014334>
|
||||
.label g4_hook_call2, <VERS 0x80015D04 0x80015D34 0x80016174 0x80015CE4 0x80015D1C 0x80015D1C 0x80015CE4 0x80015D5C>
|
||||
.label g4_hook_loc, 0x8000C8C0
|
||||
.data g4_hook_loc
|
||||
.deltaof g4_hook_start, g4_hook_end
|
||||
.address g4_hook_loc
|
||||
g4_hook_start:
|
||||
andi. r0, r0, 0x000F
|
||||
g4_hook_entry2:
|
||||
andi. r0, r0, 0x004F
|
||||
cmpwi r0, 4
|
||||
blr
|
||||
g4_hook_end:
|
||||
|
||||
.data g4_hook_call1
|
||||
.data 4
|
||||
.address g4_hook_call1
|
||||
bl g4_hook_start
|
||||
|
||||
.data g4_hook_call2
|
||||
.data 4
|
||||
.address g4_hook_call2
|
||||
bl g4_hook_entry2
|
||||
|
||||
|
||||
|
||||
# Ruins Laser Fence SFX Bug Fix
|
||||
|
||||
.data <VERS 0x80166324 0x801666D8 0x80166848 0x8016679C 0x801666E0 0x801666E0 0x80166800 0x80166CC4>
|
||||
.data 8
|
||||
lis r3, 0x4005
|
||||
b +0x9C
|
||||
|
||||
.data <VERS 0x801663C0 0x80166774 0x801668E4 0x80166838 0x8016677C 0x8016677C 0x8016689C 0x80166D60>
|
||||
.data 4
|
||||
b +0x1C
|
||||
|
||||
|
||||
|
||||
# SFX Cancellation Distance Bug Fix
|
||||
|
||||
.data <VERS 0x805CB608 0x805D5C08 0x805DD0A8 0x805DCE48 0x805CBF10 0x805D2F30 0x805DC750 0x805D8990>
|
||||
.data 4
|
||||
.float 22500
|
||||
|
||||
.data <VERS 0x805CB8A8 0x805D5EA8 0x805DD348 0x805DD0E8 0x805CC1B0 0x805D31D0 0x805DC9F0 0x805D8C30>
|
||||
.data 4
|
||||
.float 200
|
||||
|
||||
|
||||
|
||||
# Foie SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x8022E2A8 0x8022EC44 0x8022FB30 0x8022F8E4 0x8022EB64 0x8022EB64 0x8022FC18 0x8022F4B0>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x8022E2D8 0x8022EC74 0x8022FB60 0x8022F914 0x8022EB94 0x8022EB94 0x8022FC48 0x8022F4E0>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x8022E308 0x8022ECA4 0x8022FB90 0x8022F944 0x8022EBC4 0x8022EBC4 0x8022FC78 0x8022F510>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Gifoie SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x802300B8 0x80230A54 0x80231940 0x802316F4 0x80230974 0x80230974 0x80231A28 0x802312C0>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x802300E8 0x80230A84 0x80231970 0x80231724 0x802309A4 0x802309A4 0x80231A58 0x802312F0>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x80230118 0x80230AB4 0x802319A0 0x80231754 0x802309D4 0x802309D4 0x80231A88 0x80231320>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Rafoie SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x802365AC 0x80236F68 0x80237E54 0x80237C08 0x80236E88 0x80236E88 0x80237F3C 0x802377D4>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x802365DC 0x80236F98 0x80237E84 0x80237C38 0x80236EB8 0x80236EB8 0x80237F6C 0x80237804>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x8023660C 0x80236FC8 0x80237EB4 0x80237C68 0x80236EE8 0x80236EE8 0x80237F9C 0x80237834>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
.data <VERS 0x80236FC0 0x8023797C 0x80238868 0x8023861C 0x8023789C 0x8023789C 0x80238950 0x802381E8>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x80236FF0 0x802379AC 0x80238898 0x8023864C 0x802378CC 0x802378CC 0x80238980 0x80238218>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x80237020 0x802379DC 0x802388C8 0x8023867C 0x802378FC 0x802378FC 0x802389B0 0x80238248>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Barta SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x80229B54 0x8022A4F0 0x8022B3E0 0x8022B190 0x8022A410 0x8022A410 0x8022B4C4 0x8022AD5C>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x80229B84 0x8022A520 0x8022B410 0x8022B1C0 0x8022A440 0x8022A440 0x8022B4F4 0x8022AD8C>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x80229BB4 0x8022A550 0x8022B440 0x8022B1F0 0x8022A470 0x8022A470 0x8022B524 0x8022ADBC>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Gibarta SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x8022EAB4 0x8022F450 0x80230340 0x802300F0 0x8022F370 0x8022F370 0x80230424 0x8022FCBC>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x8022EAE4 0x8022F480 0x80230370 0x80230120 0x8022F3A0 0x8022F3A0 0x80230454 0x8022FCEC>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x8022EB14 0x8022F4B0 0x802303A0 0x80230150 0x8022F3D0 0x8022F3D0 0x80230484 0x8022FD1C>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Rabarta SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x80235DD4 0x80236790 0x8023767C 0x80237430 0x802366B0 0x802366B0 0x80237764 0x80236FFC>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x80235E10 0x802367CC 0x802376B8 0x8023746C 0x802366EC 0x802366EC 0x802377A0 0x80237038>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x80235E4C 0x80236808 0x802376F4 0x802374A8 0x80236728 0x80236728 0x802377DC 0x80237074>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Zonde SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x8023B2C8 0x8023BC84 0x8023CB70 0x8023C924 0x8023BBA4 0x8023BBA4 0x8023CC58 0x8023C4F0>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x8023B2F8 0x8023BCB4 0x8023CBA0 0x8023C954 0x8023BBD4 0x8023BBD4 0x8023CC88 0x8023C520>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x8023B328 0x8023BCE4 0x8023CBD0 0x8023C984 0x8023BC04 0x8023BC04 0x8023CCB8 0x8023C550>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Gizonde SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x80230E08 0x802317C4 0x802326B0 0x80232464 0x802316E4 0x802316E4 0x80232798 0x80232030>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x80230E38 0x802317F4 0x802326E0 0x80232494 0x80231714 0x80231714 0x802327C8 0x80232060>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x80230E68 0x80231824 0x80232710 0x802324C4 0x80231744 0x80231744 0x802327F8 0x80232090>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Razonde SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x80237998 0x80238354 0x80239240 0x80238FF4 0x80238274 0x80238274 0x80239328 0x80238BC0>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x802379C8 0x80238384 0x80239270 0x80239024 0x802382A4 0x802382A4 0x80239358 0x80238BF0>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x802379F8 0x802383B4 0x802392A0 0x80239054 0x802382D4 0x802382D4 0x80239388 0x80238C20>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Grants SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x802316FC 0x802320B8 0x80232FA4 0x80232D58 0x80231FD8 0x80231FD8 0x8023308C 0x80232924>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x80231734 0x802320F0 0x80232FDC 0x80232D90 0x80232010 0x80232010 0x802330C4 0x8023295C>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x8023176C 0x80232128 0x80233014 0x80232DC8 0x80232048 0x80232048 0x802330FC 0x80232994>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Megid SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x802337A8 0x80234164 0x80235050 0x80234E04 0x80234084 0x80234084 0x80235138 0x802349D0>
|
||||
.data 4
|
||||
li r4, 0xFFFFFF00
|
||||
|
||||
.data <VERS 0x802337D8 0x80234194 0x80235080 0x80234E34 0x802340B4 0x802340B4 0x80235168 0x80234A00>
|
||||
.data 4
|
||||
li r4, 0xFFFFFE80
|
||||
|
||||
.data <VERS 0x80233808 0x802341C4 0x802350B0 0x80234E64 0x802340E4 0x802340E4 0x80235198 0x80234A30>
|
||||
.data 4
|
||||
li r4, 0xFFFFFDB0
|
||||
|
||||
|
||||
|
||||
# Anti SFX Pitch Bug Fix
|
||||
|
||||
.data <VERS 0x80229354 0x80229CF0 0x8022ABDC 0x8022A990 0x80229C10 0x80229C10 0x8022ACC4 0x8022A55C>
|
||||
.data 4
|
||||
cmpwi r0, 1
|
||||
|
||||
|
||||
|
||||
# Shield DFP/EVP Bug Fix (allows shields to reach true max DFP/EVP values)
|
||||
|
||||
.data <VERS 0x801185B0 0x801187CC 0x8011885C 0x80118764 0x80118854 0x80118854 0x80118774 0x8011894C>
|
||||
.data 4
|
||||
lbz r0, [r4 + 0x0016]
|
||||
|
||||
.data <VERS 0x801185BC 0x801187D8 0x80118868 0x80118770 0x80118860 0x80118860 0x80118780 0x80118958>
|
||||
.data 4
|
||||
lbz r0, [r4 + 0x0017]
|
||||
|
||||
|
||||
|
||||
# VR Spaceship Item Drop Bug Fix (allows items to drop from enemies above a certain Y position)
|
||||
|
||||
.data <VERS 0x805C996C 0x805D3F6C 0x805DB40C 0x805DB1AC 0x805CA274 0x805D1294 0x805DAAB4 0x805D6CF4>
|
||||
.data 4
|
||||
.float 220
|
||||
|
||||
|
||||
|
||||
# Invalid Items Bug Fix
|
||||
|
||||
.data <VERS 0x8011CA90 0x8011CCD4 0x8011CD0C 0x8011CC6C 0x8011CD34 0x8011CD34 0x8011CC7C 0x8011CE54>
|
||||
.data 0x0C
|
||||
mr r3, r0
|
||||
subi r3, r3, 0x0001
|
||||
b -0x18
|
||||
|
||||
.data <VERS 0x8011CB4C 0x8011CD90 0x8011CDC8 0x8011CD28 0x8011CDF0 0x8011CDF0 0x8011CD38 0x8011CF10>
|
||||
.data 0x0C
|
||||
mr r3, r0
|
||||
subi r3, r3, 0x0001
|
||||
b -0x18
|
||||
|
||||
.data <VERS 0x8011CB9C 0x8011CDE0 0x8011CE18 0x8011CD78 0x8011CE40 0x8011CE40 0x8011CD88 0x8011CF60>
|
||||
.data 0x0C
|
||||
mr r4, r0
|
||||
subi r4, r4, 0x0001
|
||||
b -0x18
|
||||
|
||||
|
||||
|
||||
# Item Removal Maxed Stats Bug Fix
|
||||
|
||||
.label g5_hook1_call, <VERS 0x801B9A88 0x801B9EF4 0x801BCF6C 0x801B9FC0 0x801B9E74 0x801B9E74 0x801BA024 0x801BA4E0>
|
||||
.label g5_hook1_ret, <VERS 0x801B9A8C 0x801B9EF8 0x801BCF70 0x801B9FC4 0x801B9E78 0x801B9E78 0x801BA028 0x801BA4E4>
|
||||
.label g5_hook2_call, <VERS 0x8010B970 0x8010BB70 0x8010BC04 0x8010BAF0 0x8010BC14 0x8010BC14 0x8010BB00 0x8010BCF0>
|
||||
.label g5_hook3_call, <VERS 0x8010DD98 0x8010DF98 0x8010E0E4 0x8010DF24 0x8010E03C 0x8010E03C 0x8010DF34 0x8010E118>
|
||||
.label g5_hook3_ret, <VERS 0x8010DD9C 0x8010DF9C 0x8010E0E8 0x8010DF28 0x8010E040 0x8010E040 0x8010DF38 0x8010E11C>
|
||||
.label g5_hook3_apply_bonuses, <VERS 0x8010B90C 0x8010BB0C 0x8010BBA0 0x8010BA8C 0x8010BBB0 0x8010BBB0 0x8010BA9C 0x8010BC8C>
|
||||
.label g5_hooks_loc, 0x8000B088
|
||||
.data g5_hooks_loc
|
||||
.deltaof g5_hook1_start, g5_hooks_end
|
||||
.address g5_hooks_loc
|
||||
g5_hook1_start:
|
||||
mr r3, r29
|
||||
li r4, 0x0000
|
||||
bl [<VERS 801B97B4 801B9C20 801BCC98 801B9CEC 801B9BA0 801B9BA0 801B9D50 801BA20C>]
|
||||
mr r3, r29
|
||||
b g5_hook1_ret
|
||||
g5_hook2_start:
|
||||
lbz r0, [r31]
|
||||
cmplwi r9, 1
|
||||
bnelr
|
||||
lbz r0, [r31 + 1]
|
||||
addi r31, r31, 2
|
||||
blr
|
||||
g5_hook3_start:
|
||||
li r9, 0x0000
|
||||
bl g5_hook3_apply_bonuses
|
||||
mr r3, r26
|
||||
mr r4, r27
|
||||
mr r5, r28
|
||||
mr r6, r29
|
||||
mr r7, r30
|
||||
mr r8, r31
|
||||
li r9, 1
|
||||
bl g5_hook3_apply_bonuses
|
||||
b g5_hook3_ret
|
||||
g5_hooks_end:
|
||||
|
||||
.data g5_hook1_call
|
||||
.data 4
|
||||
.address g5_hook1_call
|
||||
b g5_hook1_start
|
||||
|
||||
.data g5_hook2_call
|
||||
.data 4
|
||||
.address g5_hook2_call
|
||||
bl g5_hook2_start
|
||||
|
||||
.data g5_hook3_call
|
||||
.data 4
|
||||
.address g5_hook3_call
|
||||
b g5_hook3_start
|
||||
|
||||
.label g5_hook4_loc, 0x8000C3F8
|
||||
.label g5_hook4_call, <VERS 0x801B97B4 0x801B9C20 0x801BCC98 0x801B9CEC 0x801B9BA0 0x801B9BA0 0x801B9D50 0x801BA20C>
|
||||
.label g5_hook4_ret, <VERS 0x801B97B8 0x801B9C24 0x801BCC9C 0x801B9CF0 0x801B9BA4 0x801B9BA4 0x801B9D54 0x801BA210>
|
||||
.label TItemEquipBase_v16, <VERS 0x8010B094 0x8010B294 0x8010B390 0x8010B214 0x8010B338 0x8010B338 0x8010B224 0x8010B414>
|
||||
.label TItemEquipBase_v17, <VERS 0x8010AF18 0x8010B118 0x8010B204 0x8010B098 0x8010B1BC 0x8010B1BC 0x8010B0A8 0x8010B298>
|
||||
.data g5_hook4_loc
|
||||
.deltaof g5_hook4_start, g5_hook4_end
|
||||
.address g5_hook4_loc
|
||||
g5_hook4_start:
|
||||
cmplwi r4, 0
|
||||
beqlr
|
||||
stwu [r1 - 0x0010], r1
|
||||
b g5_hook4_ret
|
||||
g5_hook4_entry:
|
||||
stwu [r1 - 0x20], r1
|
||||
mflr r0
|
||||
stw [r1 + 0x24], r0
|
||||
stmw [r1 + 0x08], r26
|
||||
mr r31, r3
|
||||
bl g5_hook4_start
|
||||
li r30, 0
|
||||
addi r29, r31, 0x0D04
|
||||
lwz r27, [r31 + 0x032C]
|
||||
g5_hook4_again:
|
||||
lwz r28, [r29]
|
||||
mr. r3, r28
|
||||
beq g5_hook4_skip
|
||||
li r4, 1
|
||||
bl TItemEquipBase_v17
|
||||
mr r3, r28
|
||||
li r4, 1
|
||||
bl TItemEquipBase_v16
|
||||
g5_hook4_skip:
|
||||
addi r29, r29, 4
|
||||
addi r30, r30, 1
|
||||
cmpwi r30, 13
|
||||
blt g5_hook4_again
|
||||
stw [r31 + 0x032C], r27
|
||||
lmw r26, [r1 + 0x08]
|
||||
lwz r0, [r1 + 0x24]
|
||||
mtlr r0
|
||||
addi r1, r1, 0x0020
|
||||
blr
|
||||
g5_hook4_end:
|
||||
|
||||
.data g5_hook4_call
|
||||
.data 4
|
||||
.address g5_hook4_call
|
||||
b g5_hook4_entry
|
||||
|
||||
|
||||
|
||||
# Unit Present Bug Fix
|
||||
|
||||
.label g6_hook_loc, 0x8000C640
|
||||
.label g6_hook_call, <VERS 0x80118CE0 0x80118EFC 0x80118FD8 0x80118E94 0x80118F84 0x80118F84 0x80118EA4 0x8011907C>
|
||||
.data g6_hook_loc
|
||||
.deltaof g6_hook_start, g6_hook_end
|
||||
.address g6_hook_loc
|
||||
g6_hook_start:
|
||||
rlwinm. r0, r4, 0, 25, 25
|
||||
beq g6_hook_skip
|
||||
li r4, 0x0000
|
||||
g6_hook_skip:
|
||||
addi r0, r4, 0x0009
|
||||
blr
|
||||
g6_hook_end:
|
||||
|
||||
.data g6_hook_call
|
||||
.data 4
|
||||
.address g6_hook_call
|
||||
bl g6_hook_start
|
||||
|
||||
|
||||
|
||||
# Bank Item Stacking Bug Fix
|
||||
|
||||
.label g7_hook1_loc, 0x8000C6D0
|
||||
.label g7_hook1_call, <VERS 0x8021D098 0x8021D9FC 0x8021E8E8 0x8021E69C 0x8021D91C 0x8021D91C 0x8021E9D0 0x8021E268>
|
||||
.label g7_hook2_call, <VERS 0x80220528 0x80220EBC 0x80221DA8 0x80221B5C 0x80220DDC 0x80220DDC 0x80221E90 0x80221728>
|
||||
.data g7_hook1_loc
|
||||
.deltaof g7_hook1_start, g7_hooks_end
|
||||
.address g7_hook1_loc
|
||||
g7_hook1_start:
|
||||
li r0, 1
|
||||
stw [r29 + 0x54], r0
|
||||
lwz r3, [r29 + 0x24]
|
||||
blr
|
||||
g7_hook2_start:
|
||||
li r0, 1
|
||||
stw [r31 + 0x0378], r0
|
||||
lwz r3, [r31 + 0x24]
|
||||
blr
|
||||
g7_hooks_end:
|
||||
|
||||
.data g7_hook1_call
|
||||
.data 4
|
||||
.address g7_hook1_call
|
||||
bl g7_hook1_start
|
||||
|
||||
.data g7_hook2_call
|
||||
.data 4
|
||||
.address g7_hook2_call
|
||||
bl g7_hook2_start
|
||||
|
||||
|
||||
|
||||
# Dropped Mag Color Bug Fix
|
||||
|
||||
.data <VERS 0x80114378 0x8011458C 0x80114634 0x80114524 0x8011461C 0x8011461C 0x80114534 0x8011470C>
|
||||
.data 4
|
||||
li r0, 0x12
|
||||
|
||||
|
||||
|
||||
# Meseta Drop System Bug Fix
|
||||
|
||||
.data <VERS 0x80107478 0x80107654 0x80107708 0x801075D4 0x8010771C 0x8010771C 0x801075E4 0x801077D4>
|
||||
.data 4
|
||||
b +0x0C
|
||||
|
||||
.data <VERS 0x8010748C 0x80107668 0x8010771C 0x801075E8 0x80107730 0x80107730 0x801075F8 0x801077E8>
|
||||
.data 4
|
||||
mr r3, r0
|
||||
|
||||
|
||||
|
||||
# Present Color Bug Fix
|
||||
|
||||
.only_versions 3OJ2 3OE0 3OE1
|
||||
.data <VERS 0x80101C14 0x80101EB8 0x80101EB8>
|
||||
.data 4
|
||||
nop
|
||||
.all_versions
|
||||
|
||||
|
||||
|
||||
# Offline Quests Drop Table Bug Fix
|
||||
|
||||
.data <VERS 0x80104B48 0x80104D24 0x80104DE0 0x80104CA4 0x80104DEC 0x80104DEC 0x80104CB4 0x80104EA4>
|
||||
.data 4
|
||||
beq +0x0C
|
||||
|
||||
|
||||
|
||||
# Mag Revival Priority Bug Fix
|
||||
|
||||
.label g8_hook_loc, 0x8000C8A0
|
||||
.label g8_hook_call, <VERS 0x80112664 0x80112864 0x80112A3C 0x801127F0 0x80112908 0x80112908 0x80112800 0x801129E4>
|
||||
.data g8_hook_loc
|
||||
.deltaof g8_hook_start, g8_hook_end
|
||||
.address g8_hook_loc
|
||||
g8_hook_start:
|
||||
mulli r0, r0, 10
|
||||
rlwinm. r4, r31, 0, 30, 30
|
||||
beqlr
|
||||
extsh r0, r29
|
||||
blr
|
||||
g8_hook_end:
|
||||
|
||||
.data g8_hook_call
|
||||
.data 4
|
||||
.address g8_hook_call
|
||||
bl g8_hook_start
|
||||
|
||||
|
||||
|
||||
# Mag Revival Challenge & Quest Mode Bug Fix
|
||||
|
||||
.data <VERS 0x801CA1F4 0x801CA6E0 0x801CB5EC 0x801CA7AC 0x801CA610 0x801CA610 0x801CA810 0x801CACCC>
|
||||
.data 4
|
||||
b +0x10
|
||||
|
||||
|
||||
|
||||
# Chat Bubble Window TAB Bug Fix
|
||||
|
||||
.data <VERS 0x80250264 0x80250CB0 0x80251CA4 0x802519A4 0x80250AEC 0x80250AEC 0x80251C68 0x802514B0>
|
||||
.data 4
|
||||
nop
|
||||
|
||||
|
||||
|
||||
# Chat Log Window LF/Tab Bug Fix
|
||||
|
||||
.data <VERS 0x80267DDC 0x80268A88 0x80269AE4 0x80269898 0x80268788 0x80268788 0x80269B5C 0x802693A4>
|
||||
.data 4
|
||||
nop
|
||||
|
||||
|
||||
|
||||
# Dark/Hell Special GFX Bug Fix (makes Dark/Hell display graphic on success like in PSO BB)
|
||||
|
||||
.label g9_hook_loc, 0x8000E1E0
|
||||
.label g9_hook_call1, <VERS 0x80355984 0x80356D88 0x803582E4 0x80358098 0x80356838 0x8035687C 0x80358464 0x80357858>
|
||||
.label g9_hook_call2, <VERS 0x80355A04 0x80356E08 0x80358364 0x80358118 0x803568B8 0x803568FC 0x803584E4 0x803578D8>
|
||||
.data g9_hook_loc
|
||||
.deltaof g9_hook_start, g9_hook_end
|
||||
.address g9_hook_loc
|
||||
g9_hook_start:
|
||||
mflr r30
|
||||
li r5, 0x0000
|
||||
li r6, 0x001E
|
||||
li r7, 0x0040
|
||||
bl [<VERS 800864A0 8008678C 80086904 800868B4 8008672C 8008672C 800868C4 8008688C>]
|
||||
mtlr r30
|
||||
blr
|
||||
g9_hook_end:
|
||||
|
||||
.data g9_hook_call1
|
||||
.data 4
|
||||
.address g9_hook_call1
|
||||
bl g9_hook_start
|
||||
|
||||
.data g9_hook_call2
|
||||
.data 4
|
||||
.address g9_hook_call2
|
||||
bl g9_hook_start
|
||||
|
||||
.data <VERS 0x80355960 0x80356D64 0x803582C0 0x80358074 0x80356814 0x80356858 0x80358440 0x80357834>
|
||||
.data 4
|
||||
li r4, 0x01E8
|
||||
|
||||
.data <VERS 0x803559F4 0x80356DF8 0x80358354 0x80358108 0x803568A8 0x803568EC 0x803584D4 0x803578C8>
|
||||
.data 4
|
||||
li r4, 0x01E8
|
||||
|
||||
|
||||
|
||||
# Gol Dragon Camera Bug Fix (makes the camera after Gol Dragon display "normally")
|
||||
|
||||
.data <VERS 0x802FB99C 0x802FC968 0x802FDE60 0x802FDB6C 0x802FC2F4 0x802FC338 0x802FDD28 0x802FD100>
|
||||
.data 4
|
||||
cmpwi r3, 1
|
||||
|
||||
|
||||
|
||||
# Box/Fence Fadeout Bug Fix (stops boxes and other environmental objects fading in and out as you approach)
|
||||
|
||||
.data <VERS 0x80189A54 0x80189E2C 0x80189F90 0x80189EF0 0x80189E20 0x80189E20 0x80189F54 0x8018A418>
|
||||
.data 4
|
||||
nop
|
||||
|
||||
.data <VERS 0x801933DC 0x801937B0 0x80193914 0x80193874 0x801937A8 0x801937A8 0x801938D8 0x80193D9C>
|
||||
.data 4
|
||||
nop
|
||||
|
||||
|
||||
|
||||
# TP Bar Color Bug Fix
|
||||
|
||||
.data <VERS 0x8026DA74 0x8026E738 0x8026F794 0x8026F548 0x8026E2D4 0x8026E2D4 0x8026F6FC 0x8026EF44>
|
||||
.data 4
|
||||
subi r4, r4, 0x5506
|
||||
|
||||
.data <VERS 0x8026DB88 0x8026E84C 0x8026F8A8 0x8026F65C 0x8026E3E8 0x8026E3E8 0x8026F810 0x8026F058>
|
||||
.data 4
|
||||
subi r3, r3, 0x5506
|
||||
|
||||
.data <VERS 0x8026DC10 0x8026E8D4 0x8026F930 0x8026F6E4 0x8026E470 0x8026E470 0x8026F898 0x8026F0E0>
|
||||
.data 4
|
||||
subi r4, r3, 0x5506
|
||||
|
||||
.data <VERS 0x804CBB40 0x804CF290 0x804D17E0 0x804D1580 0x804CC310 0x804CC7F0 0x804D0E58 0x804D1248>
|
||||
.data 4
|
||||
.data 0xFF0074EE
|
||||
|
||||
|
||||
|
||||
# Devil's and Demon's Special Damage Display Bug Fix
|
||||
|
||||
.data <VERS 0x8001306C 0x8001309C 0x80013364 0x8001304C 0x80013084 0x80013084 0x8001304C 0x800130C4>
|
||||
.data 4
|
||||
b -0x0340
|
||||
|
||||
|
||||
|
||||
# Christmas Trees Bug Fix
|
||||
|
||||
.label g10_hook_loc, 0x8000B5C8
|
||||
.label g10_hook_call, <VERS 0x80183E94 0x8018425C 0x801843C0 0x80184320 0x80184250 0x80184250 0x80184384 0x80184848>
|
||||
.label g10_hook_ret, <VERS 0x80183E98 0x80184260 0x801843C4 0x80184324 0x80184254 0x80184254 0x80184388 0x8018484C>
|
||||
.data g10_hook_loc
|
||||
.deltaof g10_hook_start, g10_hook_end
|
||||
.address g10_hook_loc
|
||||
g10_hook_start:
|
||||
lwz r3, [r3 + 0x98]
|
||||
bl [<VERS 803DFCC0 803E269C 803E453C 803E42EC 803E0F64 803E0FBC 803E46BC 803E31AC>]
|
||||
lwz r3, [r31 + 0x042C]
|
||||
lwz r4, [r31 + 0x0430]
|
||||
b g10_hook_ret
|
||||
g10_hook_end:
|
||||
|
||||
.data g10_hook_call
|
||||
.data 4
|
||||
.address g10_hook_call
|
||||
b g10_hook_start
|
||||
|
||||
.data <VERS 0x80183ED4 0x8018429C 0x80184400 0x80184360 0x80184290 0x80184290 0x801843C4 0x80184888>
|
||||
.data 4
|
||||
nop
|
||||
|
||||
|
||||
|
||||
# Rain Drops Color Bug Fix
|
||||
|
||||
.data <VERS 0x804B3738 0x804B6E58 0x804B92F8 0x804B90B8 0x804B3EF0 0x804B43D0 0x804B8990 0x804B8E10>
|
||||
.data 8
|
||||
.data 0x70808080
|
||||
.data 0x60707070
|
||||
|
||||
|
||||
|
||||
# Reverser Target Lock Bug Fix
|
||||
|
||||
.data <VERS 0x801C5EA4 0x801C6360 0x801C6604 0x801C642C 0x801C62C0 0x801C62C0 0x801C6490 0x801C694C>
|
||||
.data 4
|
||||
addi r4, r31, 0x02FC
|
||||
|
||||
|
||||
|
||||
# Deband/Shifta/Resta Target Bug Fix
|
||||
|
||||
.data <VERS 0x8022CF84 0x8022D920 0x8022E85C 0x8022E5C0 0x8022D840 0x8022D840 0x8022E8F4 0x8022E18C>
|
||||
.data 4
|
||||
bgt +0x0630
|
||||
|
||||
.only_versions 3OJ2 3OE0 3OE1
|
||||
.data <VERS 0x8022D278 0x8022DB34 0x8022DB34>
|
||||
.data 4
|
||||
bgt +0x033C
|
||||
|
||||
.data <VERS 0x8022D36C 0x8022DC28 0x8022DC28>
|
||||
.data 4
|
||||
bgt +0x0248
|
||||
.all_versions
|
||||
|
||||
|
||||
|
||||
# Tech Auto Targeting Bug Fix
|
||||
|
||||
.data <VERS 0x8022C850 0x8022D1EC 0x8022E128 0x8022DE8C 0x8022D10C 0x8022D10C 0x8022E1C0 0x8022DA58>
|
||||
.data 4
|
||||
nop
|
||||
|
||||
.data <VERS 0x804C6EE4 0x804CA61C 0x804CCB6C 0x804CC90C 0x804C76B4 0x804C7B94 0x804CC1E4 0x804CC5D4>
|
||||
.data 4
|
||||
.data 0x0000001E
|
||||
|
||||
.data <VERS 0x804C6F3C 0x804CA674 0x804CCBC4 0x804CC964 0x804C770C 0x804C7BEC 0x804CC23C 0x804CC62C>
|
||||
.data 4
|
||||
.data 0x00000028
|
||||
|
||||
.data <VERS 0x804C6F68 0x804CA6A0 0x804CCBF0 0x804CC990 0x804C7738 0x804C7C18 0x804CC268 0x804CC658>
|
||||
.data 4
|
||||
.data 0x00000032
|
||||
|
||||
.data <VERS 0x804C6F94 0x804CA6CC 0x804CCC1C 0x804CC9BC 0x804C7764 0x804C7C44 0x804CC294 0x804CC684>
|
||||
.data 4
|
||||
.data 0x0000003C
|
||||
|
||||
.data <VERS 0x804C6FA4 0x804CA6DC 0x804CCC2C 0x804CC9CC 0x804C7774 0x804C7C54 0x804CC2A4 0x804CC694>
|
||||
.data 4
|
||||
.data 0x0018003C
|
||||
|
||||
.data <VERS 0x804C71FC 0x804CA934 0x804CCE84 0x804CCC24 0x804C79CC 0x804C7EAC 0x804CC4FC 0x804CC8EC>
|
||||
.data 4
|
||||
.data 0x00000028
|
||||
|
||||
|
||||
|
||||
# Enable Trap Animations
|
||||
|
||||
.label g11_hook_loc, 0x8000BBD0
|
||||
.label g11_hook_call, <VERS 0x80170C54 0x80171008 0x80171260 0x801710CC 0x80171010 0x80171010 0x80171130 0x801715F4>
|
||||
.data g11_hook_loc
|
||||
.deltaof g11_hook_start, g11_hook_end
|
||||
.address g11_hook_loc
|
||||
g11_hook_start:
|
||||
lwz r4, [r31 + 0x0370]
|
||||
subi r4, r4, 0x0400
|
||||
stw [r31 + 0x0370], r4
|
||||
lwz r3, [r31 + 0x14]
|
||||
cmplwi r3, 0
|
||||
beqlr
|
||||
stw [r3 + 0x0060], r4
|
||||
blr
|
||||
g11_hook_end:
|
||||
|
||||
.data g11_hook_call
|
||||
.data 4
|
||||
.address g11_hook_call
|
||||
bl g11_hook_start
|
||||
|
||||
.data <VERS 0x80170C74 0x80171028 0x80171280 0x801710EC 0x80171030 0x80171030 0x80171150 0x80171614>
|
||||
.data 4
|
||||
ori r0, r4, 0x0420
|
||||
|
||||
|
||||
|
||||
# Belra arm bug fix (this part by fuzziqersoftware)
|
||||
|
||||
.only_versions 3OJ2 3OE0 3OE1
|
||||
.label g12_hook1_call, <VERS 0x80095724 0x800959B0 0x800959B0>
|
||||
.label g12_hook2_call, <VERS 0x80095734 0x800959C0 0x800959C0>
|
||||
.label g12_hook_loc, 0x8000B06C
|
||||
.data g12_hook_loc
|
||||
.deltaof g12_hook1_start, g12_hook_end
|
||||
.address g12_hook_loc
|
||||
g12_hook1_start:
|
||||
li r0, 1
|
||||
stw [r13 - <VERS 0x2E48 0x2E30 0x2E30>], r0 # Anchor: 80039388 @ 3OE1
|
||||
b [<VERS 803D3140 803D4410 803D4468>]
|
||||
g12_hook2_start:
|
||||
li r4, 0
|
||||
stw [r13 - <VERS 0x2E48 0x2E30 0x2E30>], r4
|
||||
lwz r4, [r28 + 0x04]
|
||||
blr
|
||||
g12_hook_end:
|
||||
|
||||
.data g12_hook1_call
|
||||
.data 4
|
||||
.address g12_hook1_call
|
||||
bl g12_hook1_start
|
||||
|
||||
.data g12_hook2_call
|
||||
.data 4
|
||||
.address g12_hook2_call
|
||||
bl g12_hook2_start
|
||||
|
||||
.all_versions
|
||||
|
||||
|
||||
|
||||
.data 0
|
||||
.data 0
|
||||
Reference in New Issue
Block a user