Skip to content

Commit ff86149

Browse files
committed
ex_song and another_song support
1 parent 474fc83 commit ff86149

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

DiscordDiva/dllmain.cpp

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,21 +108,25 @@ Difficulty GetDifficulty() {
108108
return (Difficulty)(*DIFFICULTY);
109109
}
110110

111-
SongData* GetSongData() {
112-
return *(SongData**)0x140d0a920;
111+
SongData GetSongData() {
112+
SongData sd;
113+
sd.isLong = *(char*)0x140D0A590;
114+
memcpy(sd.songName, (void*)0x140D0A578, sizeof(sd.songName));
115+
sd.songID = *(int*)0x140CDD8E0;
116+
return sd;
113117
}
114118

115-
void GetSongName(SongData* song, char* buffer, rsize_t bufferSize) {
119+
void GetSongName(SongData song, char* buffer, rsize_t bufferSize) {
116120
char* defaultSongName;
117-
if (song->isLong > 0x0f)
121+
if (song.isLong > 0x0f)
118122
{
119-
defaultSongName = *(char**)song->songName;
123+
defaultSongName = *(char**)song.songName;
120124
}
121125
else
122126
{
123-
defaultSongName = song->songName;
127+
defaultSongName = song.songName;
124128
}
125-
GetOverrideName(song->songID, defaultSongName, buffer, bufferSize);
129+
GetOverrideName(song.songID, defaultSongName, buffer, bufferSize);
126130
}
127131
void GetSongName(char* buffer, rsize_t bufferSize) {
128132
auto song = GetSongData();
@@ -134,7 +138,7 @@ char lastState = 0x01;
134138
void OnGameStateChange() {
135139
auto song = GetSongData();
136140
//Filter out the Dummy stage
137-
char isPlayingGame = song->songID == 999 ? 0 : *IS_PLAYING_GAME;
141+
char isPlayingGame = song.songID == 999 ? 0 : *IS_PLAYING_GAME;
138142
if (isPlayingGame != lastState)
139143
{
140144
char songName[100];

DiscordDiva/dllmain.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ struct SongData {
1919
char isLong;
2020
};
2121
void GetSongName(char* buffer, rsize_t bufferSize);
22-
void GetSongName(SongData* song, char* buffer, rsize_t bufferSize);
23-
SongData* GetSongData();
22+
void GetSongName(SongData song, char* buffer, rsize_t bufferSize);
23+
SongData GetSongData();

0 commit comments

Comments
 (0)