sm64/include/backup.h

180 lines
4.1 KiB
C

/********************************************************************************
backup.h: Ultra 64 MARIO Brothers include file
Copyright (c) 1996 Nintendo co., ltd. All rights reserved
May 11, 1986
********************************************************************************/
#ifndef BACKUP_H
#define BACKUP_H
#define BuGetCourseNumber(stage) (buCourseTable[(stage)-1])
#define BuGetHiScore(course) ((ushort)(BuGetWinScore(course) & 0xffff))
#define BuGetWinner(course) ((ushort)(BuGetWinScore(course) >> 16))
#define BuGetCourseStars(player,course) BuGetNumStars(player,course)
#define BuGetTotalStars(player) BuGetSumStars(player, 0,24)
#define BuGetExtraStars(player) BuGetSumStars(player,15,24)
#define BuSetStartingStar() (buStartingStarFlag=BuGetStarFlag(activePlayerNo-1,activeCourseNo-1))
#define BuGetStartingStar() buStartingStarFlag
#define BuGetLastCourseNo() buLastBackupCourseNo
#define BuGetLastStarNo() buLastBackupStarNo
#define BuIsHiScore() buLastBackupHiScore
#define BuIsMyHiScore() buLastBackupMyHiScore
extern char buCourseTable[38];
extern uchar buLastBackupCourseNo;
extern uchar buLastBackupStarNo;
extern uchar buLastBackupHiScore;
extern uchar buLastBackupMyHiScore;
extern uchar buStartingStarFlag;
extern uchar buYosshiJump;
/********************************************************************************/
/* */
/* item flags. */
/* */
/********************************************************************************/
#define BU_ITEM_ACTIVE 0x00000001
#define BU_ITEM_REDSW 0x00000002
#define BU_ITEM_GREENSW 0x00000004
#define BU_ITEM_BLUESW 0x00000008
#define BU_ITEM_KOOPAKEY1 0x00000010
#define BU_ITEM_KOOPAKEY2 0x00000020
#define BU_ITEM_KEYDOOR1 0x00000040
#define BU_ITEM_KEYDOOR2 0x00000080
#define BU_ITEM_WATERWALL 0x00000100
#define BU_ITEM_DRAINSW 0x00000200
#define BU_ITEM_STARDOOR0 0x00000400
#define BU_ITEM_STARDOOR1 0x00000800
#define BU_ITEM_STARDOOR2 0x00001000
#define BU_ITEM_STARDOOR3 0x00002000
#define BU_ITEM_STARDOOR4 0x00004000
#define BU_ITEM_STARDOOR5 0x00008000
#define BU_ITEM_STARDOOR6 0x00100000
#define BU_ITEM_LOSTHAT 0x00010000
#define BU_ITEM_CONDORHAT 0x00020000
#define BU_ITEM_MONKEYHAT 0x00040000
#define BU_ITEM_DARUMAHAT 0x00080000
#define BU_ITEM_YOSSHI 0x00200000
#define BU_ITEM_KINOPIO1 0x01000000
#define BU_ITEM_KINOPIO2 0x02000000
#define BU_ITEM_KINOPIO3 0x04000000
#define BU_ITEM_RABBIT1 0x08000000
#define BU_ITEM_RABBIT2 0x10000000
#define BU_ITEM_HATFLAGS 0x000F0000
#define BU_ITEM_ALLFLAGS 0x000003FF
#define BU_ITEM_KILLKOOPA1 0x00000050
#define BU_ITEM_KILLKOOPA2 0x000000A0
/********************************************************************************/
/* */
/* function prototype definition. */
/* */
/********************************************************************************/
extern void
BuWriteStorage(int player);
extern void
BuClearStorage(int player);
extern int
BuCopyStorage(int source, int destination);
extern void
BuInitBackUp(void);
extern void
BuRestoreBackUp(void);
extern void
BuStoreBackUp(short score, short starno);
extern int
BuIsActive(int player);
extern ulong
BuGetWinScore(int course);
extern int
BuGetNumStars(int player, int course);
extern int
BuGetSumStars(int player, int course, int end_course);
extern int
BuGetStarFlag(int player, int course);
extern void
BuSetStarFlag(int player, int course, int starflag);
extern int
BuGetNumCoins(int player, int course);
extern void
BuSetItemFlag(ulong itemflag);
extern void
BuClrItemFlag(ulong itemflag);
extern ulong
BuGetItemFlag(void);
extern int
BuGetCannonFlag(void);
extern void
BuSetCannonFlag(void);
extern void
BuSetHatPosition(short posx, short posy, short posz);
extern int
BuGetHatPosition(SVector position);
extern void
BuSetSoundMode(ushort mode);
extern ushort
BuGetSoundMode(void);
extern void
BuRestoreHat(void);
extern void
BuClearRamStorage(void);
extern void
BuSetMidPoint(BGPortPtr bgport);
extern int
BuGetMidPoint(BGPortPtr bgport);
#endif