mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
Decomped some basic RNG functions
This commit is contained in:
parent
056569ca77
commit
1acc75c833
|
|
@ -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
|
||||
|
|
|
|||
45
asm/include/main_020022C4.inc
Normal file
45
asm/include/main_020022C4.inc
Normal 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
|
||||
1404
asm/main_02001A30.s
1404
asm/main_02001A30.s
File diff suppressed because it is too large
Load Diff
1361
asm/main_020022C4.s
Normal file
1361
asm/main_020022C4.s
Normal file
File diff suppressed because it is too large
Load Diff
9
include/main_0200224C.h
Normal file
9
include/main_0200224C.h
Normal 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
|
||||
2
main.lsf
2
main.lsf
|
|
@ -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
20
src/main_0200224C.c
Normal 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();
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user