mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Proper fix for score.py and static functions. It will ignore them now
This commit is contained in:
+11
-10
@@ -4,15 +4,8 @@
|
||||
#include "types.h"
|
||||
#include "macros.h"
|
||||
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ull_rshift.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ull_rem.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ull_div.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ll_lshift.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ll_div.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ll_mul.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ull_divremi.s")
|
||||
|
||||
/*
|
||||
#ifdef NON_MATCHING
|
||||
//Thse need to be compiled with -mips3, and linked differently
|
||||
unsigned long long __ull_rshift(unsigned long long a0, unsigned long long a1)
|
||||
{
|
||||
return a0 >> a1;
|
||||
@@ -66,4 +59,12 @@ long long __ll_rshift(long long a0, long long a1)
|
||||
{
|
||||
return a0 >> a1;
|
||||
}
|
||||
*/
|
||||
#else
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ull_rshift.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ull_rem.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ull_div.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ll_lshift.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ll_div.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ll_mul.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__ull_divremi.s")
|
||||
#endif
|
||||
|
||||
@@ -16,7 +16,8 @@ static void *is_proutSyncPrintf(void *str, const char *buf, size_t n) {
|
||||
|
||||
/**
|
||||
* Like sprintf, but simpler. It just hardcodes NULL for the dst,
|
||||
* and calls a function that just hardcodes a fake pointer
|
||||
* and calls a function that just hardcodes a fake pointer.
|
||||
* Could still be an earlier version of osSyncPrintf
|
||||
*/
|
||||
void rmonPrintf(const char *format, ...) {
|
||||
s32 written;
|
||||
|
||||
@@ -30,7 +30,7 @@ for folder in ASM_FOLDERS:
|
||||
BUILD_DIRECTORY = './build/us_1.0'
|
||||
SRC_DIRECTORY = './src'
|
||||
LIB_SRC_DIRECTORY = './lib/src'
|
||||
FUNCTION_REGEX = r'(?:(\/[*][*!][*]*\n(?:[^/]*\n)+?\s*[*]\/\n)(?:\s*)*?)?(void|s64|s32|s16|s8|u64|u32|u16|u8|f32|f64)(?:\s|[*])*?([0-9A-Za-z_]+)\s*[(][^)]*[)]\s*{'
|
||||
FUNCTION_REGEX = r'(?<!static\s)(?:(\/[*][*!][*]*\n(?:[^/]*\n)+?\s*[*]\/\n)(?:\s*)*?)?(void|s64|s32|s16|s8|u64|u32|u16|u8|f32|f64|int|char|short|long)\s(?:\s|[*])*?([0-9A-Za-z_]+)\s*[(][^)]*[)]\s*{'
|
||||
GLOBAL_ASM_REGEX = r'GLOBAL_ASM[(]".*(?=\/)\/([^.]+).s"[)]'
|
||||
WIP_REGEX = r'#if(?:.|\n)*?(GLOBAL_ASM[(][^)]*[)])(.|\n)*?#endif'
|
||||
NON_MATCHING_REGEX = re.compile(r'^#ifdef[ ]+NON_MATCHING', re.MULTILINE)
|
||||
@@ -92,10 +92,7 @@ class ScoreFile:
|
||||
matches = re.finditer(FUNCTION_REGEX, self.text, re.MULTILINE)
|
||||
for matchNum, match in enumerate(matches, start=1):
|
||||
groups = match.groups()
|
||||
#TODO: This function is static, and thus doesn't appear in the map.
|
||||
#Hardcoding it to be ignore works for now, but it's hacky
|
||||
if groups[2] != "_Putfld":
|
||||
self.functions.append(ScoreFileMatch(groups[0], groups[2]))
|
||||
self.functions.append(ScoreFileMatch(groups[0], groups[2]))
|
||||
matches = re.finditer(GLOBAL_ASM_REGEX, self.text, re.MULTILINE)
|
||||
for matchNum, match in enumerate(matches, start=1):
|
||||
groups = match.groups()
|
||||
|
||||
Reference in New Issue
Block a user