mirror of
https://github.com/n64decomp/sm64.git
synced 2024-11-13 12:55:07 -05:00
33 lines
975 B
C
33 lines
975 B
C
#ifndef COURSE_TABLE_H
|
|
#define COURSE_TABLE_H
|
|
|
|
// Start of the 3 cap courses in a row.
|
|
#define COURSE_CAP_COURSES COURSE_COTMC
|
|
|
|
#define DEFINE_COURSE(courseenum, _1) courseenum,
|
|
#define DEFINE_COURSES_END() \
|
|
COURSE_BONUS_STAGES, \
|
|
COURSE_STAGES_MAX = COURSE_BONUS_STAGES - 1, \
|
|
COURSE_STAGES_COUNT = COURSE_STAGES_MAX,
|
|
|
|
#define DEFINE_BONUS_COURSE(courseenum, _1) courseenum,
|
|
|
|
enum CourseNum {
|
|
#include "levels/course_defines.h"
|
|
COURSE_END, // To mark end + 1 for marking max and count.
|
|
// TODO: clean this up. This is still bad. Which
|
|
// one is clearer? Need to get rid of one of these.
|
|
COURSE_MAX = COURSE_END - 1,
|
|
COURSE_COUNT = COURSE_MAX,
|
|
COURSE_MIN = COURSE_NONE + 1
|
|
};
|
|
|
|
#undef DEFINE_COURSE
|
|
#undef DEFINE_COURSES_END
|
|
#undef DEFINE_BONUS_COURSE
|
|
|
|
#define COURSE_IS_MAIN_COURSE(cmd) ((cmd) >= COURSE_MIN && (cmd) <= COURSE_STAGES_MAX)
|
|
#define COURSE_NUM_TO_INDEX(cmd) ((cmd) - 1)
|
|
|
|
#endif // COURSE_TABLE_H
|