Decomped some basic RNG functions

This commit is contained in:
Chesyon 2025-09-22 11:22:35 -04:00
parent 056569ca77
commit 1acc75c833
7 changed files with 1437 additions and 1447 deletions

View File

@ -1,46 +1,3 @@
#pragma once
.public CardPullOut
.public Debug_Print0
.public GX_DispOff
.public InitMemAllocTable
.public MemAlloc
.public NATURAL_LOG_VALUE_TABLE
.public OS_GetLockID
.public PRNG_SEQUENCE_NUM
.public StartThread
.public WaitForInterrupt
.public _02092464
.public _020AEF30
.public _020AEF58
.public _0229AFC0
.public _0229AFCC
.public _0229AFE4
.public _0229B004
.public _0229B0E0
.public _0229B0E8
.public _0229B0F0
.public _0229B0F8
.public _0229B110
.public _0229B114
.public _022B966C
.public sub_02003AD0
.public sub_020059A8
.public sub_02079844
.public sub_02079888
.public sub_02079940
.public sub_02079A64
.public sub_02079B0C
.public sub_02079C14
.public sub_02079DB8
.public sub_02079DE0
.public sub_02079E74
.public sub_0207A030
.public sub_0207A048
.public sub_0207A0CC
.public sub_0207A164
.public sub_0207B930
.public sub_02083434
.public sub_02083450
.public sub_0208346C
.public sub_0208347C
.public sub_020845D8

View File

@ -0,0 +1,45 @@
#pragma once
.public CardPullOut
.public Debug_Print0
.public GX_DispOff
.public InitMemAllocTable
.public MemAlloc
.public OS_GetLockID
.public Rand16Bit
.public StartThread
.public WaitForInterrupt
.public _02092464
.public _020AEF30
.public _020AEF58
.public _0229AFC0
.public _0229AFCC
.public _0229AFE4
.public _0229B004
.public _0229B0E0
.public _0229B0E8
.public _0229B0F0
.public _0229B0F8
.public _0229B110
.public _0229B114
.public _022B966C
.public sub_02003AD0
.public sub_020059A8
.public sub_02079844
.public sub_02079888
.public sub_02079940
.public sub_02079A64
.public sub_02079B0C
.public sub_02079C14
.public sub_02079DB8
.public sub_02079DE0
.public sub_02079E74
.public sub_0207A030
.public sub_0207A048
.public sub_0207A0CC
.public sub_0207A164
.public sub_0207B930
.public sub_02083434
.public sub_02083450
.public sub_0208346C
.public sub_0208347C
.public sub_020845D8

File diff suppressed because it is too large Load Diff

1361
asm/main_020022C4.s Normal file

File diff suppressed because it is too large Load Diff

9
include/main_0200224C.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef PMDSKY_MAIN_0200224C_H
#define PMDSKY_MAIN_0200224C_H
u16 Rand16Bit();
u32 RandInt(u32 n);
s32 RandRange(s32 x, s32 y);
u32 Rand32Bit();
#endif //PMDSKY_MAIN_0200224C_H

View File

@ -17,6 +17,8 @@ Static main
Object asm/main_020018A4.o
Object src/main_020018D0.o
Object asm/main_02001A30.o
Object src/main_0200224C.o
Object asm/main_020022C4.o
Object src/main_0200330C.o
Object asm/main_02003328.o
Object src/main_0200383C.o

20
src/main_0200224C.c Normal file
View File

@ -0,0 +1,20 @@
#include "main_0200224C.h"
extern u16 PRNG_SEQUENCE_NUM;
u16 Rand16Bit() {
PRNG_SEQUENCE_NUM = (PRNG_SEQUENCE_NUM * 0x6D) + 0x3FD;
return PRNG_SEQUENCE_NUM;
}
u32 RandInt(u32 n) {
return ((s32)n * Rand16Bit()) >> 0x10;
}
s32 RandRange(s32 x, s32 y) {
return x + ((s32) ((y - x) * Rand16Bit()) >> 0x10);
}
u32 Rand32Bit() {
return (Rand16Bit() << 0x10) | Rand16Bit();
}