summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-09-19 16:21:50 -0400
committerscnorton <scnorton@biociphers.org>2017-09-19 16:21:50 -0400
commit99a7fcfdfa723390ecb25ec6819359b3521c8f34 (patch)
tree5ed8b6770ba8a562ebff1cab962eced8eb3b1c90
parente7e1938094081ba2e20232caca0239cb2290251f (diff)
sub_818DA78, SetLilycoveLadyRandomly
-rw-r--r--asm/lilycove_lady.s66
-rw-r--r--src/lilycove_lady.c39
2 files changed, 39 insertions, 66 deletions
diff --git a/asm/lilycove_lady.s b/asm/lilycove_lady.s
index 76ba3e423..51e288331 100644
--- a/asm/lilycove_lady.s
+++ b/asm/lilycove_lady.s
@@ -5,72 +5,6 @@
.text
- thumb_func_start sub_818DA78
-sub_818DA78: @ 818DA78
- push {lr}
- bl GetLilycoveLadyId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0818DA9C
- cmp r0, 0x1
- bgt _0818DA90
- cmp r0, 0
- beq _0818DA96
- b _0818DAA6
-_0818DA90:
- cmp r0, 0x2
- beq _0818DAA2
- b _0818DAA6
-_0818DA96:
- bl sub_818E004
- b _0818DAA6
-_0818DA9C:
- bl sub_818DBC4
- b _0818DAA6
-_0818DAA2:
- bl sub_818E674
-_0818DAA6:
- pop {r0}
- bx r0
- thumb_func_end sub_818DA78
-
-@ unused
- thumb_func_start SetLilycoveLadyRandomly
-SetLilycoveLadyRandomly: @ 818DAAC
- push {lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _0818DADC
- cmp r0, 0x1
- bgt _0818DAD0
- cmp r0, 0
- beq _0818DAD6
- b _0818DAE6
-_0818DAD0:
- cmp r1, 0x2
- beq _0818DAE2
- b _0818DAE6
-_0818DAD6:
- bl SetLilycoveQuizLady
- b _0818DAE6
-_0818DADC:
- bl SetLilycoveFavourLady
- b _0818DAE6
-_0818DAE2:
- bl SetLilycoveContestLady
-_0818DAE6:
- pop {r0}
- bx r0
- thumb_func_end SetLilycoveLadyRandomly
-
thumb_func_start sub_818DAEC
sub_818DAEC: @ 818DAEC
push {r4,lr}
diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c
index 7f4c4824a..ab1c24914 100644
--- a/src/lilycove_lady.c
+++ b/src/lilycove_lady.c
@@ -4,11 +4,15 @@
#include "global.h"
#include "event_data.h"
+#include "rng.h"
#include "lilycove_lady.h"
void SetLilycoveQuizLady(void);
void SetLilycoveFavourLady(void);
void SetLilycoveContestLady(void);
+void sub_818E004(void);
+void sub_818DBC4(void);
+void sub_818E674(void);
extern const u16 gUnknown_0860B074[];
extern const u16 gUnknown_0860B07E[];
@@ -55,3 +59,38 @@ void SetLilycoveLady(void)
break;
}
}
+
+void sub_818DA78(void)
+{
+ switch (GetLilycoveLadyId())
+ {
+ case LILYCOVE_LADY_QUIZ:
+ sub_818E004();
+ break;
+ case LILYCOVE_LADY_FAVOUR:
+ sub_818DBC4();
+ break;
+ case LILYCOVE_LADY_CONTEST:
+ sub_818E674();
+ break;
+ }
+}
+
+void SetLilycoveLadyRandomly(void)
+{
+ u8 id;
+
+ id = Random() % 3;
+ switch (id)
+ {
+ case LILYCOVE_LADY_QUIZ:
+ SetLilycoveQuizLady();
+ break;
+ case LILYCOVE_LADY_FAVOUR:
+ SetLilycoveFavourLady();
+ break;
+ case LILYCOVE_LADY_CONTEST:
+ SetLilycoveContestLady();
+ break;
+ }
+}