mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-11 06:25:23 -05:00
commit
2e774667c8
36
asm/random.s
36
asm/random.s
|
|
@ -1,36 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start Random
|
||||
Random: @ 8044EC8
|
||||
ldr r2, _08044EDC @ =gUnknown_3005000
|
||||
ldr r1, [r2]
|
||||
ldr r0, _08044EE0 @ =0x41c64e6d
|
||||
muls r0, r1
|
||||
ldr r1, _08044EE4 @ =0x00006073
|
||||
adds r0, r1
|
||||
str r0, [r2]
|
||||
lsrs r0, 16
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08044EDC: .4byte gUnknown_3005000
|
||||
_08044EE0: .4byte 0x41c64e6d
|
||||
_08044EE4: .4byte 0x00006073
|
||||
thumb_func_end Random
|
||||
|
||||
thumb_func_start SeedRng
|
||||
SeedRng: @ 8044EE8
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldr r1, _08044EF4 @ =gUnknown_3005000
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08044EF4: .4byte gUnknown_3005000
|
||||
thumb_func_end SeedRng
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
1
common_syms/random.txt
Normal file
1
common_syms/random.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
gRngValue
|
||||
18
src/random.c
Normal file
18
src/random.c
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#include "global.h"
|
||||
#include "random.h"
|
||||
|
||||
// The number 1103515245 comes from the example implementation
|
||||
// of rand and srand in the ISO C standard.
|
||||
|
||||
u32 gRngValue;
|
||||
|
||||
u16 Random(void)
|
||||
{
|
||||
gRngValue = 1103515245 * gRngValue + 24691;
|
||||
return gRngValue >> 16;
|
||||
}
|
||||
|
||||
void SeedRng(u16 seed)
|
||||
{
|
||||
gRngValue = seed;
|
||||
}
|
||||
|
|
@ -132,9 +132,9 @@ gUnknown_3004FF8: @ 3004FF8
|
|||
gUnknown_3004FFC: @ 3004FFC
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005000: @ 3005000
|
||||
.space 0x4
|
||||
|
||||
.include "random.o"
|
||||
|
||||
.align 2
|
||||
gUnknown_3005004: @ 3005004
|
||||
.space 0x4
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user