42 PAD.
flags &= ~PAD_FLAG_DEMO_PLAYBACK;
s32 startDemoRecording(void)
Demo recording was left out of the release: it never starts.
s32 isDemoRecording(s32 pad)
1 while pad pad records a demo, -1 while another pad does, 0 otherwise (never set)
void stopDemoRecording(void)
Does nothing: demo recording was left out.
void stopDemoPlayback(void)
Gives the pads back to the players.
s32 isDemoPlaying(s32 pad)
1 while pad pad replays a demo, -1 while another pad does, 0 otherwise
s32 startDemoPlayback(s16 pad, PadBuffer *data)
Replays data (one raw buffer a frame) as the input of pad.
s32 setVibration(u16 port, s32 motor, s16 time, u8 value)
Starts a motor for time vsyncs (0 stops it)
PadState PAD
Controller input: cleared by initPad, then the methods.
#define PAD_FLAG_DEMO_RECORDING
#define PAD_FLAG_DEMO_PLAYBACK
PadState.flags: bits 0-7 hold the mode lock of each port/slot (lockPadMode), the rest are these.
PadBuffer * demoData
a buffer a frame
A port's receive buffer, and a frame of a demo: a pad, or a multitap and the four pads behind it.