From 36f092e7757bfe404234466c1cc84ef47cd93bb5 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 30 Jan 2021 19:42:22 +1000 Subject: [PATCH] Split lib_12dc0.c into rng.c and args.c --- ld/libfiles.inc | 3 +- src/boot/entry.c | 2 +- src/boot/init.c | 2 +- src/boot/sched.c | 2 +- src/game/bondhead.c | 2 +- src/game/bondmove.c | 2 +- src/game/bondview.c | 2 +- src/game/bondwalk.c | 2 +- src/game/camdraw.c | 2 +- src/game/chr/chr.c | 2 +- src/game/chr/chraction.c | 2 +- src/game/chr/chrai.c | 2 +- src/game/chr/chraicommands.c | 2 +- src/game/core.c | 3 +- src/game/credits.c | 2 +- src/game/dlights.c | 2 +- src/game/explosions/explosions.c | 2 +- src/game/game_005fd0.c | 2 +- src/game/game_006bd0.c | 2 +- src/game/game_00b820.c | 2 +- src/game/game_00c490.c | 2 +- src/game/game_0147d0.c | 2 +- src/game/game_01d9f0.c | 2 +- src/game/game_02cde0.c | 2 +- src/game/game_0601b0.c | 2 +- src/game/game_092610.c | 2 +- src/game/game_095320.c | 2 +- src/game/game_096360.c | 2 +- src/game/game_097ba0.c | 2 +- src/game/game_0abe70.c | 2 +- src/game/game_0b63b0.c | 2 +- src/game/game_0b69d0.c | 2 +- src/game/game_0e0770.c | 2 +- src/game/game_0f09f0.c | 2 +- src/game/game_127910.c | 2 +- src/game/game_128f30.c | 2 +- src/game/game_129210.c | 2 +- src/game/game_150820.c | 2 +- src/game/game_157db0.c | 2 +- src/game/game_166e40.c | 2 +- src/game/game_190260.c | 2 +- src/game/game_197600.c | 2 +- src/game/game_1999b0.c | 2 +- src/game/game_19aa80.c | 2 +- src/game/gfxmemory.c | 2 +- src/game/mplayer/mplayer.c | 3 +- src/game/mplayer/options.c | 2 +- src/game/mplayer/scenarios.c | 2 +- src/game/mplayer/setup.c | 2 +- src/game/padhalllv.c | 2 +- src/game/pak/pak.c | 2 +- src/game/propobj.c | 2 +- src/game/sky.c | 2 +- src/game/smoke/smoke.c | 2 +- src/game/sparks/sparks.c | 2 +- src/game/splat.c | 2 +- src/game/training/training.c | 2 +- src/game/wallhit.c | 2 +- src/game/weather/weather.c | 2 +- src/include/game/data/data_000000.h | 2 +- src/include/lib/{lib_12dc0.h => args.h} | 7 +-- src/include/lib/rng.h | 10 ++++ src/lib/{lib_12dc0.c => args.c} | 67 +-------------------- src/lib/lib_0e9d0.c | 2 +- src/lib/main.c | 2 +- src/lib/model.c | 2 +- src/lib/rng.c | 77 +++++++++++++++++++++++++ 67 files changed, 156 insertions(+), 134 deletions(-) rename src/include/lib/{lib_12dc0.h => args.h} (63%) create mode 100644 src/include/lib/rng.h rename src/lib/{lib_12dc0.c => args.c} (50%) create mode 100644 src/lib/rng.c diff --git a/ld/libfiles.inc b/ld/libfiles.inc index a5ad51b80..f5afba663 100644 --- a/ld/libfiles.inc +++ b/ld/libfiles.inc @@ -32,7 +32,8 @@ build/ROMID/lib/lib_11420.o (section); \ build/ROMID/lib/memory.o (section); \ build/ROMID/lib/lib_126b0.o (section); \ - build/ROMID/lib/lib_12dc0.o (section); \ + build/ROMID/lib/rng.o (section); \ + build/ROMID/lib/args.o (section); \ build/ROMID/lib/str.o (section); \ build/ROMID/lib/ultra/libc/sprintf.o (section); \ build/ROMID/lib/lib_13710.o (section); \ diff --git a/src/boot/entry.c b/src/boot/entry.c index 81d6d3d75..d415f8a44 100644 --- a/src/boot/entry.c +++ b/src/boot/entry.c @@ -10,12 +10,12 @@ #include "game/data/data_02da90.h" #include "game/game_0e0770.h" #include "gvars/gvars.h" +#include "lib/args.h" #include "lib/lib_074f0.h" #include "lib/lib_09660.h" #include "lib/lib_0c000.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" #include "lib/lib_13710.h" #include "lib/lib_13750.h" #include "lib/lib_2fa00.h" diff --git a/src/boot/init.c b/src/boot/init.c index 6ea96f5e1..6c0aa7309 100644 --- a/src/boot/init.c +++ b/src/boot/init.c @@ -13,12 +13,12 @@ #include "game/data/data_02da90.h" #include "game/game_0e0770.h" #include "gvars/gvars.h" +#include "lib/args.h" #include "lib/lib_074f0.h" #include "lib/lib_09660.h" #include "lib/lib_0c000.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" #include "lib/lib_13710.h" #include "lib/lib_13750.h" #include "lib/lib_2fa00.h" diff --git a/src/boot/sched.c b/src/boot/sched.c index 3657ebce0..4f73b1397 100644 --- a/src/boot/sched.c +++ b/src/boot/sched.c @@ -11,13 +11,13 @@ #include "game/data/data_02da90.h" #include "game/game_0e0770.h" #include "gvars/gvars.h" +#include "lib/args.h" #include "lib/audiomgr.h" #include "lib/lib_074f0.h" #include "lib/lib_09660.h" #include "lib/lib_0c000.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" #include "lib/lib_13710.h" #include "lib/lib_13750.h" #include "lib/lib_2fa00.h" diff --git a/src/game/bondhead.c b/src/game/bondhead.c index 2fce746fc..8a4235757 100644 --- a/src/game/bondhead.c +++ b/src/game/bondhead.c @@ -11,7 +11,7 @@ #include "game/game_096b20.h" #include "game/bondhead.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_233c0.h" #include "lib/model.h" diff --git a/src/game/bondmove.c b/src/game/bondmove.c index 4bb82a17e..7843cc503 100644 --- a/src/game/bondmove.c +++ b/src/game/bondmove.c @@ -34,7 +34,7 @@ #include "gvars/gvars.h" #include "lib/lib_09660.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/bondview.c b/src/game/bondview.c index 63a0d5204..021d00e6d 100644 --- a/src/game/bondview.c +++ b/src/game/bondview.c @@ -20,7 +20,7 @@ #include "gvars/gvars.h" #include "lib/lib_09660.h" #include "lib/main.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "types.h" #include "gbiex.h" diff --git a/src/game/bondwalk.c b/src/game/bondwalk.c index c33a4734a..c35dfe8bc 100644 --- a/src/game/bondwalk.c +++ b/src/game/bondwalk.c @@ -25,7 +25,7 @@ #include "game/propobj.h" #include "gvars/gvars.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" #include "types.h" diff --git a/src/game/camdraw.c b/src/game/camdraw.c index 8a45c53bd..e95146432 100644 --- a/src/game/camdraw.c +++ b/src/game/camdraw.c @@ -20,7 +20,7 @@ #include "lib/main.h" #include "lib/memory.h" #include "lib/lib_126b0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "lib/libc/ll.h" #include "types.h" diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 42b9b8d67..31924c388 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -45,7 +45,7 @@ #include "lib/lib_09660.h" #include "lib/main.h" #include "lib/model.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index 595edbb19..fb670530a 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -48,7 +48,7 @@ #include "lib/main.h" #include "lib/model.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/chr/chrai.c b/src/game/chr/chrai.c index 559d2ac78..f8dc2b542 100644 --- a/src/game/chr/chrai.c +++ b/src/game/chr/chrai.c @@ -12,7 +12,7 @@ #include "game/data/data_020df0.h" #include "game/data/data_02da90.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 51fdf8882..83d098b7a 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -51,7 +51,7 @@ #include "lib/model.h" #include "lib/lib_0e9d0.h" #include "lib/lib_11420.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/core.c b/src/game/core.c index 0a3762092..3a3c5dfb5 100644 --- a/src/game/core.c +++ b/src/game/core.c @@ -103,13 +103,14 @@ #include "game/utils.h" #include "game/wallhit.h" #include "gvars/gvars.h" +#include "lib/args.h" #include "lib/controller.h" #include "lib/lib_06440.h" #include "lib/lib_09660.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "lib/lib_11420.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" #include "lib/lib_317f0.h" diff --git a/src/game/credits.c b/src/game/credits.c index c24af4ff0..76759b898 100644 --- a/src/game/credits.c +++ b/src/game/credits.c @@ -25,7 +25,7 @@ #include "lib/lib_09660.h" #include "lib/main.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/dlights.c b/src/game/dlights.c index 6903478ea..95d72ce78 100644 --- a/src/game/dlights.c +++ b/src/game/dlights.c @@ -25,7 +25,7 @@ #include "gvars/gvars.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "lib/lib_2f490.h" #include "lib/lib_317f0.h" diff --git a/src/game/explosions/explosions.c b/src/game/explosions/explosions.c index c5275ad63..44bec48b3 100644 --- a/src/game/explosions/explosions.c +++ b/src/game/explosions/explosions.c @@ -27,7 +27,7 @@ #include "gvars/gvars.h" #include "lib/lib_09660.h" #include "lib/main.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" #include "types.h" diff --git a/src/game/game_005fd0.c b/src/game/game_005fd0.c index a46a772b5..e7dc5bd73 100644 --- a/src/game/game_005fd0.c +++ b/src/game/game_005fd0.c @@ -11,7 +11,7 @@ #include "game/game_005fd0.h" #include "game/game_092610.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/game_006bd0.c b/src/game/game_006bd0.c index db788812a..3245bbd86 100644 --- a/src/game/game_006bd0.c +++ b/src/game/game_006bd0.c @@ -22,7 +22,7 @@ #include "gvars/gvars.h" #include "lib/lib_09660.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_317f0.h" diff --git a/src/game/game_00b820.c b/src/game/game_00b820.c index 5533c0481..695d3a5bb 100644 --- a/src/game/game_00b820.c +++ b/src/game/game_00b820.c @@ -15,7 +15,7 @@ #include "game/game_091e10.h" #include "gvars/gvars.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "types.h" GLOBAL_ASM( diff --git a/src/game/game_00c490.c b/src/game/game_00c490.c index 2b61a3556..91179b409 100644 --- a/src/game/game_00c490.c +++ b/src/game/game_00c490.c @@ -39,7 +39,7 @@ #include "gvars/gvars.h" #include "lib/memory.h" #include "lib/model.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/game_0147d0.c b/src/game/game_0147d0.c index e79c403dd..7060f318a 100644 --- a/src/game/game_0147d0.c +++ b/src/game/game_0147d0.c @@ -15,7 +15,7 @@ #include "game/mplayer/mplayer.h" #include "gvars/gvars.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/game_01d9f0.c b/src/game/game_01d9f0.c index d017615a2..ee842c245 100644 --- a/src/game/game_01d9f0.c +++ b/src/game/game_01d9f0.c @@ -10,7 +10,7 @@ #include "game/game_01d9f0.h" #include "gvars/gvars.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "lib/lib_317f0.h" #include "types.h" diff --git a/src/game/game_02cde0.c b/src/game/game_02cde0.c index 38deb8872..10d31ccd2 100644 --- a/src/game/game_02cde0.c +++ b/src/game/game_02cde0.c @@ -22,7 +22,7 @@ #include "gvars/gvars.h" #include "lib/memory.h" #include "lib/lib_126b0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" #include "types.h" diff --git a/src/game/game_0601b0.c b/src/game/game_0601b0.c index 737dbfcbb..cef8e4d37 100644 --- a/src/game/game_0601b0.c +++ b/src/game/game_0601b0.c @@ -35,7 +35,7 @@ #include "game/mpstats.h" #include "gvars/gvars.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/game_092610.c b/src/game/game_092610.c index b20442e55..8d439c8b1 100644 --- a/src/game/game_092610.c +++ b/src/game/game_092610.c @@ -18,7 +18,7 @@ #include "game/pad.h" #include "gvars/gvars.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "lib/lib_317f0.h" #include "types.h" diff --git a/src/game/game_095320.c b/src/game/game_095320.c index 0deb1b2a5..af5e71528 100644 --- a/src/game/game_095320.c +++ b/src/game/game_095320.c @@ -23,7 +23,7 @@ #include "gvars/gvars.h" #include "lib/lib_0d0a0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "types.h" diff --git a/src/game/game_096360.c b/src/game/game_096360.c index 5e24cd082..07233537c 100644 --- a/src/game/game_096360.c +++ b/src/game/game_096360.c @@ -13,7 +13,7 @@ #include "game/training/training.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/game_097ba0.c b/src/game/game_097ba0.c index b32ecf7eb..2958a096a 100644 --- a/src/game/game_097ba0.c +++ b/src/game/game_097ba0.c @@ -47,7 +47,7 @@ #include "lib/lib_09660.h" #include "lib/main.h" #include "lib/lib_0e9d0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/game_0abe70.c b/src/game/game_0abe70.c index 3cf5e0d15..f3e02fbea 100644 --- a/src/game/game_0abe70.c +++ b/src/game/game_0abe70.c @@ -16,7 +16,7 @@ #include "game/game_166e40.h" #include "gvars/gvars.h" #include "lib/main.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index 0499f64dc..45d40a8af 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -61,7 +61,7 @@ #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/game_0b69d0.c b/src/game/game_0b69d0.c index c8f092418..34e8e99b5 100644 --- a/src/game/game_0b69d0.c +++ b/src/game/game_0b69d0.c @@ -64,7 +64,7 @@ #include "lib/lib_0e9d0.h" #include "lib/memory.h" #include "lib/model.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/game_0e0770.c b/src/game/game_0e0770.c index c3e5786bc..152f6878b 100644 --- a/src/game/game_0e0770.c +++ b/src/game/game_0e0770.c @@ -18,7 +18,7 @@ #include "gvars/gvars.h" #include "lib/lib_09660.h" #include "lib/main.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index 9f7b9b0b1..e17edb965 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -42,7 +42,7 @@ #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_317f0.h" diff --git a/src/game/game_127910.c b/src/game/game_127910.c index 631e4af8f..5d6a7f0b7 100644 --- a/src/game/game_127910.c +++ b/src/game/game_127910.c @@ -14,7 +14,7 @@ #include "game/propobj.h" #include "gvars/gvars.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "types.h" const u32 var7f1b5150[] = {0xc3653838}; diff --git a/src/game/game_128f30.c b/src/game/game_128f30.c index 68079bb2e..f3108ad75 100644 --- a/src/game/game_128f30.c +++ b/src/game/game_128f30.c @@ -8,7 +8,7 @@ #include "game/data/data_020df0.h" #include "game/data/data_02da90.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "types.h" GLOBAL_ASM( diff --git a/src/game/game_129210.c b/src/game/game_129210.c index f360f2358..67ccad9ad 100644 --- a/src/game/game_129210.c +++ b/src/game/game_129210.c @@ -13,7 +13,7 @@ #include "game/propobj.h" #include "gvars/gvars.h" #include "lib/lib_126b0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "types.h" /** diff --git a/src/game/game_150820.c b/src/game/game_150820.c index 2d9e9bd46..f3a25ab86 100644 --- a/src/game/game_150820.c +++ b/src/game/game_150820.c @@ -14,7 +14,7 @@ #include "game/game_150820.h" #include "game/game_166e40.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/game_157db0.c b/src/game/game_157db0.c index adff26eeb..ad20c6ed7 100644 --- a/src/game/game_157db0.c +++ b/src/game/game_157db0.c @@ -39,7 +39,7 @@ #include "lib/main.h" #include "lib/memory.h" #include "lib/lib_126b0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_2f490.h" diff --git a/src/game/game_166e40.c b/src/game/game_166e40.c index 6d15961fb..e44bb59f2 100644 --- a/src/game/game_166e40.c +++ b/src/game/game_166e40.c @@ -13,7 +13,7 @@ #include "lib/lib_074f0.h" #include "lib/lib_0d0a0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "types.h" void *fileGetRomAddress(s32 filenum) diff --git a/src/game/game_190260.c b/src/game/game_190260.c index 0a136b286..1b57ce589 100644 --- a/src/game/game_190260.c +++ b/src/game/game_190260.c @@ -33,7 +33,7 @@ #include "game/splat.h" #include "gvars/gvars.h" #include "lib/model.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" #include "types.h" diff --git a/src/game/game_197600.c b/src/game/game_197600.c index c3a04c302..e8b961ca6 100644 --- a/src/game/game_197600.c +++ b/src/game/game_197600.c @@ -20,7 +20,7 @@ #include "game/mplayer/mplayer.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "types.h" const u32 var7f1b8fd0[] = {0x48742400}; diff --git a/src/game/game_1999b0.c b/src/game/game_1999b0.c index 83ccff5e5..d73cfea00 100644 --- a/src/game/game_1999b0.c +++ b/src/game/game_1999b0.c @@ -19,7 +19,7 @@ #include "game/padhalllv.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/game_19aa80.c b/src/game/game_19aa80.c index 374115bc1..4593ae0bd 100644 --- a/src/game/game_19aa80.c +++ b/src/game/game_19aa80.c @@ -22,7 +22,7 @@ #include "game/pad.h" #include "gvars/gvars.h" #include "lib/lib_0d0a0.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "types.h" u32 g_MpChallengeIndex = 0; diff --git a/src/game/gfxmemory.c b/src/game/gfxmemory.c index 5b2ed168b..1b4ede6c1 100644 --- a/src/game/gfxmemory.c +++ b/src/game/gfxmemory.c @@ -13,7 +13,7 @@ #include "lib/lib_074f0.h" #include "lib/lib_0d0a0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "types.h" /** diff --git a/src/game/mplayer/mplayer.c b/src/game/mplayer/mplayer.c index 8e4272079..96e7871ef 100644 --- a/src/game/mplayer/mplayer.c +++ b/src/game/mplayer/mplayer.c @@ -28,9 +28,10 @@ #include "game/mplayer/mplayer.h" #include "game/pak/pak.h" #include "gvars/gvars.h" +#include "lib/args.h" #include "lib/lib_09660.h" #include "lib/main.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_317f0.h" #include "types.h" diff --git a/src/game/mplayer/options.c b/src/game/mplayer/options.c index 322f358b9..0b15e742d 100644 --- a/src/game/mplayer/options.c +++ b/src/game/mplayer/options.c @@ -36,7 +36,7 @@ #include "lib/lib_09660.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/mplayer/scenarios.c b/src/game/mplayer/scenarios.c index 0e40aafe5..8e30cd856 100644 --- a/src/game/mplayer/scenarios.c +++ b/src/game/mplayer/scenarios.c @@ -36,7 +36,7 @@ #include "lib/lib_09660.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/mplayer/setup.c b/src/game/mplayer/setup.c index bd3ab9551..d5f7bfdcc 100644 --- a/src/game/mplayer/setup.c +++ b/src/game/mplayer/setup.c @@ -23,7 +23,7 @@ #include "game/pdoptions.h" #include "gvars/gvars.h" #include "lib/lib_09660.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "types.h" s32 menuhandlerMpDropOut(u32 operation, struct menuitem *item, union handlerdata *data) diff --git a/src/game/padhalllv.c b/src/game/padhalllv.c index e6f04481c..dbb229183 100644 --- a/src/game/padhalllv.c +++ b/src/game/padhalllv.c @@ -12,7 +12,7 @@ #include "game/pad.h" #include "game/padhalllv.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_233c0.h" #include "lib/libc/ll.h" #include "types.h" diff --git a/src/game/pak/pak.c b/src/game/pak/pak.c index 3e0991f70..ea72bcc8a 100644 --- a/src/game/pak/pak.c +++ b/src/game/pak/pak.c @@ -21,7 +21,7 @@ #include "lib/lib_06550.h" #include "lib/main.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_4cc10.h" #include "lib/lib_4ce60.h" #include "lib/lib_4d000.h" diff --git a/src/game/propobj.c b/src/game/propobj.c index 2da3ac279..af39f042f 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -71,7 +71,7 @@ #include "lib/lib_0e9d0.h" #include "lib/memory.h" #include "lib/model.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/game/sky.c b/src/game/sky.c index da11d2c57..fe5900b42 100644 --- a/src/game/sky.c +++ b/src/game/sky.c @@ -14,7 +14,7 @@ #include "gvars/gvars.h" #include "lib/lib_09660.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/smoke/smoke.c b/src/game/smoke/smoke.c index fa0406132..fa9fe5bc2 100644 --- a/src/game/smoke/smoke.c +++ b/src/game/smoke/smoke.c @@ -16,7 +16,7 @@ #include "game/game_166e40.h" #include "game/propobj.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/sparks/sparks.c b/src/game/sparks/sparks.c index d410e9a96..bb0d806c8 100644 --- a/src/game/sparks/sparks.c +++ b/src/game/sparks/sparks.c @@ -14,7 +14,7 @@ #include "game/game_166e40.h" #include "gvars/gvars.h" #include "lib/lib_09660.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "types.h" diff --git a/src/game/splat.c b/src/game/splat.c index 16e6a9789..a48d9c9bc 100644 --- a/src/game/splat.c +++ b/src/game/splat.c @@ -15,7 +15,7 @@ #include "game/wallhit.h" #include "gvars/gvars.h" #include "lib/model.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/training/training.c b/src/game/training/training.c index b0abc127e..33f62c945 100644 --- a/src/game/training/training.c +++ b/src/game/training/training.c @@ -39,7 +39,7 @@ #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/wallhit.c b/src/game/wallhit.c index feab20c65..d560409cd 100644 --- a/src/game/wallhit.c +++ b/src/game/wallhit.c @@ -19,7 +19,7 @@ #include "game/wallhit.h" #include "gvars/gvars.h" #include "lib/main.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "types.h" diff --git a/src/game/weather/weather.c b/src/game/weather/weather.c index 480997131..54fe28fde 100644 --- a/src/game/weather/weather.c +++ b/src/game/weather/weather.c @@ -18,7 +18,7 @@ #include "lib/main.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_317f0.h" diff --git a/src/include/game/data/data_000000.h b/src/include/game/data/data_000000.h index 5250e382e..cb33ec6d4 100644 --- a/src/include/game/data/data_000000.h +++ b/src/include/game/data/data_000000.h @@ -4,7 +4,7 @@ #include "types.h" extern s32 g_StageNum; -extern u64 rand_seed; +extern u64 g_RngSeed; extern struct chrdata *g_ChrSlots; // pointer to first element of chrs array extern s32 g_NumChrSlots; diff --git a/src/include/lib/lib_12dc0.h b/src/include/lib/args.h similarity index 63% rename from src/include/lib/lib_12dc0.h rename to src/include/lib/args.h index 83416422b..61ad459bf 100644 --- a/src/include/lib/lib_12dc0.h +++ b/src/include/lib/args.h @@ -1,15 +1,12 @@ -#ifndef _IN_LIB_LIB_12DC0_H -#define _IN_LIB_LIB_12DC0_H +#ifndef _IN_LIB_ARGS_H +#define _IN_LIB_ARGS_H #include #include "types.h" -void rngSetSeed(u32 amount); -u32 func00012e1c(u64 *value); char *argParseString(char *str); void argSetString(char *string); s32 argsParseDebugArgs(void); char *argFindByPrefix(s32 occurrence, char *string); void argGetLevel(s32 *stagenum); -u32 random(void); #endif diff --git a/src/include/lib/rng.h b/src/include/lib/rng.h new file mode 100644 index 000000000..03d41a0d2 --- /dev/null +++ b/src/include/lib/rng.h @@ -0,0 +1,10 @@ +#ifndef _IN_LIB_RNG_H +#define _IN_LIB_RNG_H +#include +#include "types.h" + +u32 random(void); +void rngSetSeed(u32 seed); +u32 func00012e1c(u64 *value); + +#endif diff --git a/src/lib/lib_12dc0.c b/src/lib/args.c similarity index 50% rename from src/lib/lib_12dc0.c rename to src/lib/args.c index 1c474d7a6..a8b081b32 100644 --- a/src/lib/lib_12dc0.c +++ b/src/lib/args.c @@ -9,14 +9,10 @@ #include "game/data/data_02a0e0.h" #include "game/data/data_02da90.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/args.h" #include "lib/lib_2fa00.h" #include "types.h" -u64 rand_seed = 0xab8d9f7781280783; - -u32 var8005ee08 = 0x00000000; -u32 var8005ee0c = 0x00000000; s32 argc = 1; char *argv[17] = { @@ -38,67 +34,6 @@ char *argv[17] = { NULL, }; -GLOBAL_ASM( -glabel random -/* 12dc0: 3c048006 */ lui $a0,%hi(rand_seed) -/* 12dc4: dc84ee00 */ ld $a0,%lo(rand_seed)($a0) -/* 12dc8: 3c018006 */ lui $at,%hi(rand_seed) -/* 12dcc: 000437fc */ dsll32 $a2,$a0,0x1f -/* 12dd0: 00042ff8 */ dsll $a1,$a0,0x1f -/* 12dd4: 000637fa */ dsrl $a2,$a2,0x1f -/* 12dd8: 0005283e */ dsrl32 $a1,$a1,0x0 -/* 12ddc: 0004233c */ dsll32 $a0,$a0,0xc -/* 12de0: 00c53025 */ or $a2,$a2,$a1 -/* 12de4: 0004203e */ dsrl32 $a0,$a0,0x0 -/* 12de8: 00c43026 */ xor $a2,$a2,$a0 -/* 12dec: 0006253a */ dsrl $a0,$a2,0x14 -/* 12df0: 30840fff */ andi $a0,$a0,0xfff -/* 12df4: 00862026 */ xor $a0,$a0,$a2 -/* 12df8: 0004103c */ dsll32 $v0,$a0,0x0 -/* 12dfc: fc24ee00 */ sd $a0,%lo(rand_seed)($at) -/* 12e00: 03e00008 */ jr $ra -/* 12e04: 0002103f */ dsra32 $v0,$v0,0x0 -); - -// Commented because ld isn't happy with bitshifting a u64. -//u32 random(void) -//{ -// rand_seed = ((rand_seed << 63) >> 31 | (rand_seed << 31) >> 32) ^ (rand_seed << 44) >> 32; -// rand_seed = rand_seed >> 20 & 0xfff ^ rand_seed; -// -// return rand_seed; -//} - -GLOBAL_ASM( -glabel rngSetSeed -/* 12e08: 64840001 */ daddiu $a0,$a0,0x1 -/* 12e0c: 3c018006 */ lui $at,%hi(rand_seed) -/* 12e10: fc24ee00 */ sd $a0,%lo(rand_seed)($at) -/* 12e14: 03e00008 */ jr $ra -/* 12e18: 24040000 */ addiu $a0,$zero,0x0 -); - -GLOBAL_ASM( -glabel func00012e1c -/* 12e1c: dc870000 */ ld $a3,0x0($a0) -/* 12e20: 000737fc */ dsll32 $a2,$a3,0x1f -/* 12e24: 00072ff8 */ dsll $a1,$a3,0x1f -/* 12e28: 000637fa */ dsrl $a2,$a2,0x1f -/* 12e2c: 0005283e */ dsrl32 $a1,$a1,0x0 -/* 12e30: 00073b3c */ dsll32 $a3,$a3,0xc -/* 12e34: 00c53025 */ or $a2,$a2,$a1 -/* 12e38: 0007383e */ dsrl32 $a3,$a3,0x0 -/* 12e3c: 00c73026 */ xor $a2,$a2,$a3 -/* 12e40: 00063d3a */ dsrl $a3,$a2,0x14 -/* 12e44: 30e70fff */ andi $a3,$a3,0xfff -/* 12e48: 00e63826 */ xor $a3,$a3,$a2 -/* 12e4c: 0007103c */ dsll32 $v0,$a3,0x0 -/* 12e50: fc870000 */ sd $a3,0x0($a0) -/* 12e54: 03e00008 */ jr $ra -/* 12e58: 0002103f */ dsra32 $v0,$v0,0x0 -/* 12e5c: 00000000 */ nop -); - /** * Split the given string into words and populate the argv array. */ diff --git a/src/lib/lib_0e9d0.c b/src/lib/lib_0e9d0.c index 05305aa9e..2ec1b0fd0 100644 --- a/src/lib/lib_0e9d0.c +++ b/src/lib/lib_0e9d0.c @@ -15,7 +15,7 @@ #include "lib/lib_0d0a0.h" #include "lib/lib_0e9d0.h" #include "lib/memory.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_2faf0.h" #include "lib/lib_2fc60.h" #include "lib/lib_317f0.h" diff --git a/src/lib/main.c b/src/lib/main.c index 4902c7d8d..b639349d7 100644 --- a/src/lib/main.c +++ b/src/lib/main.c @@ -47,6 +47,7 @@ #include "game/splat.h" #include "game/utils.h" #include "gvars/gvars.h" +#include "lib/args.h" #include "lib/lib_070d0.h" #include "lib/lib_074f0.h" #include "lib/lib_09660.h" @@ -57,7 +58,6 @@ #include "lib/lib_0e9d0.h" #include "lib/memory.h" #include "lib/lib_126b0.h" -#include "lib/lib_12dc0.h" #include "lib/lib_13750.h" #include "lib/lib_13790.h" #include "lib/lib_233c0.h" diff --git a/src/lib/model.c b/src/lib/model.c index 2267efaf9..adb06d7a8 100644 --- a/src/lib/model.c +++ b/src/lib/model.c @@ -16,7 +16,7 @@ #include "game/game_157db0.h" #include "game/game_166e40.h" #include "gvars/gvars.h" -#include "lib/lib_12dc0.h" +#include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" diff --git a/src/lib/rng.c b/src/lib/rng.c new file mode 100644 index 000000000..7f6ede95a --- /dev/null +++ b/src/lib/rng.c @@ -0,0 +1,77 @@ +#include +#include "constants.h" +#include "game/data/data_000000.h" +#include "game/data/data_0083d0.h" +#include "game/data/data_00e460.h" +#include "game/data/data_0160b0.h" +#include "game/data/data_01a3a0.h" +#include "game/data/data_020df0.h" +#include "game/data/data_02a0e0.h" +#include "game/data/data_02da90.h" +#include "gvars/gvars.h" +#include "lib/rng.h" +#include "lib/lib_2fa00.h" +#include "types.h" + +u64 g_RngSeed = 0xab8d9f7781280783; + +GLOBAL_ASM( +glabel random +/* 12dc0: 3c048006 */ lui $a0,%hi(g_RngSeed) +/* 12dc4: dc84ee00 */ ld $a0,%lo(g_RngSeed)($a0) +/* 12dc8: 3c018006 */ lui $at,%hi(g_RngSeed) +/* 12dcc: 000437fc */ dsll32 $a2,$a0,0x1f +/* 12dd0: 00042ff8 */ dsll $a1,$a0,0x1f +/* 12dd4: 000637fa */ dsrl $a2,$a2,0x1f +/* 12dd8: 0005283e */ dsrl32 $a1,$a1,0x0 +/* 12ddc: 0004233c */ dsll32 $a0,$a0,0xc +/* 12de0: 00c53025 */ or $a2,$a2,$a1 +/* 12de4: 0004203e */ dsrl32 $a0,$a0,0x0 +/* 12de8: 00c43026 */ xor $a2,$a2,$a0 +/* 12dec: 0006253a */ dsrl $a0,$a2,0x14 +/* 12df0: 30840fff */ andi $a0,$a0,0xfff +/* 12df4: 00862026 */ xor $a0,$a0,$a2 +/* 12df8: 0004103c */ dsll32 $v0,$a0,0x0 +/* 12dfc: fc24ee00 */ sd $a0,%lo(g_RngSeed)($at) +/* 12e00: 03e00008 */ jr $ra +/* 12e04: 0002103f */ dsra32 $v0,$v0,0x0 +); + +// Commented because ld isn't happy with bitshifting a u64. +//u32 random(void) +//{ +// g_RngSeed = ((g_RngSeed << 63) >> 31 | (g_RngSeed << 31) >> 32) ^ (g_RngSeed << 44) >> 32; +// g_RngSeed = g_RngSeed >> 20 & 0xfff ^ g_RngSeed; +// +// return g_RngSeed; +//} + +GLOBAL_ASM( +glabel rngSetSeed +/* 12e08: 64840001 */ daddiu $a0,$a0,0x1 +/* 12e0c: 3c018006 */ lui $at,%hi(g_RngSeed) +/* 12e10: fc24ee00 */ sd $a0,%lo(g_RngSeed)($at) +/* 12e14: 03e00008 */ jr $ra +/* 12e18: 24040000 */ addiu $a0,$zero,0x0 +); + +GLOBAL_ASM( +glabel func00012e1c +/* 12e1c: dc870000 */ ld $a3,0x0($a0) +/* 12e20: 000737fc */ dsll32 $a2,$a3,0x1f +/* 12e24: 00072ff8 */ dsll $a1,$a3,0x1f +/* 12e28: 000637fa */ dsrl $a2,$a2,0x1f +/* 12e2c: 0005283e */ dsrl32 $a1,$a1,0x0 +/* 12e30: 00073b3c */ dsll32 $a3,$a3,0xc +/* 12e34: 00c53025 */ or $a2,$a2,$a1 +/* 12e38: 0007383e */ dsrl32 $a3,$a3,0x0 +/* 12e3c: 00c73026 */ xor $a2,$a2,$a3 +/* 12e40: 00063d3a */ dsrl $a3,$a2,0x14 +/* 12e44: 30e70fff */ andi $a3,$a3,0xfff +/* 12e48: 00e63826 */ xor $a3,$a3,$a2 +/* 12e4c: 0007103c */ dsll32 $v0,$a3,0x0 +/* 12e50: fc870000 */ sd $a3,0x0($a0) +/* 12e54: 03e00008 */ jr $ra +/* 12e58: 0002103f */ dsra32 $v0,$v0,0x0 +/* 12e5c: 00000000 */ nop +);