summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKurausukun <lord.uber1@gmail.com>2021-03-19 18:58:50 -0400
committerhuderlem <huderlem@gmail.com>2021-03-21 13:43:53 -0500
commit9eb5794482fc1d529a866f53a6cadb743d8f9e2c (patch)
tree5783c76c904bb4fc181ea3590259dc74055ef604 /src
parentdfc6ee0e9e20658a80e4080da16c2f6423b85457 (diff)
cleanup some m4a code (thanks to shoomer)
Diffstat (limited to 'src')
-rw-r--r--src/m4a.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/m4a.c b/src/m4a.c
index e079ba4f6..7d7193334 100644
--- a/src/m4a.c
+++ b/src/m4a.c
@@ -1616,6 +1616,9 @@ void ply_xcmd_0C(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *tra
void ply_xcmd_0D(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
{
u32 unk;
+#ifdef UBFIX
+ unk = 0;
+#endif
READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable
READ_XCMD_BYTE(unk, 1)
@@ -1657,18 +1660,12 @@ start_song:
mplayInfo = &gPokemonCryMusicPlayers[i];
mplayInfo->ident++;
-#define CRY ((s32)&gPokemonCrySongs + i * sizeof(struct PokemonCrySong))
-#define CRY_OFS(field) offsetof(struct PokemonCrySong, field)
+ gPokemonCrySongs[i] = gPokemonCrySong;
- memcpy((void *)CRY, &gPokemonCrySong, sizeof(struct PokemonCrySong));
-
- *(u32 *)(CRY + CRY_OFS(tone)) = (u32)tone;
- *(u32 *)(CRY + CRY_OFS(part)) = CRY + CRY_OFS(part0);
- *(u32 *)(CRY + CRY_OFS(part) + 4) = CRY + CRY_OFS(part1);
- *(u32 *)(CRY + CRY_OFS(gotoTarget)) = CRY + CRY_OFS(cont);
-
-#undef CRY_OFS
-#undef CRY
+ gPokemonCrySongs[i].tone = tone;
+ gPokemonCrySongs[i].part[0] = &gPokemonCrySongs[i].part0;
+ gPokemonCrySongs[i].part[1] = &gPokemonCrySongs[i].part1;
+ gPokemonCrySongs[i].gotoTarget = (u32)&gPokemonCrySongs[i].cont;
mplayInfo->ident = ID_NUMBER;