diff --git a/desmume/src/movie.cpp b/desmume/src/movie.cpp index 0c40b066b..3457cc023 100644 --- a/desmume/src/movie.cpp +++ b/desmume/src/movie.cpp @@ -30,6 +30,7 @@ #include "debug.h" #include "rtc.h" #include "common.h" +#include "mic.h" using namespace std; bool freshMovie = false; //True when a movie loads, false when movie is altered. Used to determine if a movie has been altered since opening @@ -549,6 +550,10 @@ static void openRecordingMovie(const char* fname) if(mr->command_reset()) {} //ResetNES(); + if(mr->command_microphone()) + MicButtonPressed=1; + else + MicButtonPressed=0; NDS_setPadFromMovie(mr->pad); NDS_setTouchFromMovie(); @@ -576,7 +581,10 @@ static void openRecordingMovie(const char* fname) { MovieRecord mr; - mr.commands = 0; + if(MicButtonPressed == 1) + mr.commands=9; + else + mr.commands = 0; mr.pad = nds.pad; if(nds.isTouch) { mr.touch.x = nds.touchX >> 4; diff --git a/desmume/src/movie.h b/desmume/src/movie.h index 0f637c031..ac345cdf6 100644 --- a/desmume/src/movie.h +++ b/desmume/src/movie.h @@ -59,6 +59,7 @@ public: //the disk format will support up to 64bit if necessary uint8 commands; bool command_reset() { return (commands&MOVIECMD_RESET)!=0; } + bool command_microphone() { return (commands&9)!=0; } void toggleBit(int bit) {