mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
179 lines
4.7 KiB
C
179 lines
4.7 KiB
C
#ifndef M_MARK_ROOM_H
|
|
#define M_MARK_ROOM_H
|
|
|
|
#include "types.h"
|
|
#include "game_h.h"
|
|
#include "m_mark_room_ovl.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define mMkRm_HINT_NUM 19
|
|
#define mMkRm_REWARD0_POINTS 70000
|
|
#define mMkRm_REWARD1_POINTS 100000
|
|
|
|
#define mMkRm_LETTER_BIT_NECESSITIES_COMPLETE (1ull << 0)
|
|
#define mMkRm_LETTER_BIT_NECESSITIES_COMPLETE_SAME_SERIES (1ull << 1)
|
|
#define mMkRm_LETTER_BIT_BASE_SERIES_FTR_COMPLETE (1ull << 2)
|
|
#define mMkRm_LETTER_BIT_BASE_SERIES_WALL_OR_FLOOR_MATCH (1ull << 3)
|
|
#define mMkRm_LETTER_BIT_BASE_SERIES_MATCHING_WALL_AND_FLOOR (1ull << 4)
|
|
#define mMkRm_LETTER_BIT_THEME_SERIES_WALL_AND_FLOOR_MATCH (1ull << 5)
|
|
#define mMkRm_LETTER_BIT_THEME_SERIES_COMPLETE (1ull << 6)
|
|
#define mMkRm_LETTER_BIT_THEME_OBSTACLE (1ull << 7)
|
|
#define mMkRm_LETTER_BIT_BAD_DIRECTION (1ull << 16)
|
|
#define mMkRm_LETTER_BIT_LETS_CLEAN (1ull << 17)
|
|
#define mMkRm_LETTER_BIT_SET_SERIES_COMPLETE (1ull << 32)
|
|
#define mMkRm_LETTER_BIT_SERIES_STARTED (1ull << 33) // at least 6 items in the theme series exist
|
|
#define mMkRm_LETTER_BIT_BASE_SERIES_FTR_ALMOST_COMPLETE (1ull << 34)
|
|
#define mMkRm_LETTER_BIT_SERIES_ALMOST_COMPLETE (1ull << 35)
|
|
|
|
#define mMkRm_EVALUATE_BASE_POINT (1u << 0)
|
|
#define mMkRm_EVALUATE_NECESSITY (1u << 1)
|
|
#define mMkRm_EVALUATE_BASE_SERIES (1u << 2)
|
|
#define mMkRm_EVALUATE_THEME_SERIES (1u << 3)
|
|
#define mMkRm_EVALUATE_SET_SERIES (1u << 4)
|
|
#define mMkRm_EVALUATE_LUCKY_FTR (1u << 5)
|
|
#define mMkRm_EVALUATE_DIRECTION (1u << 6)
|
|
#define mMkRm_EVALUATE_LETS_CLEAN (1u << 7)
|
|
|
|
#define mMkRm_FULL_EVALUATION ( \
|
|
mMkRm_EVALUATE_BASE_POINT | mMkRm_EVALUATE_NECESSITY | mMkRm_EVALUATE_BASE_SERIES | \
|
|
mMkRm_EVALUATE_THEME_SERIES | mMkRm_EVALUATE_SET_SERIES | mMkRm_EVALUATE_LUCKY_FTR | \
|
|
mMkRm_EVALUATE_DIRECTION | mMkRm_EVALUATE_LETS_CLEAN \
|
|
)
|
|
|
|
#define mMkRm_UPPER_EVALUATION ( \
|
|
mMkRm_EVALUATE_BASE_POINT | mMkRm_EVALUATE_SET_SERIES | mMkRm_EVALUATE_LUCKY_FTR | \
|
|
mMkRm_EVALUATE_DIRECTION | mMkRm_EVALUATE_LETS_CLEAN \
|
|
)
|
|
|
|
#define mMkRm_THEME_OBSTACLE_PENALTY 4000
|
|
#define mMkRm_FACING_WALL_PENALTY 800
|
|
#define mMkRm_LUCKY_BONUS 777
|
|
#define mMkRm_SET_SERIES_COMPLETE_BONUS 3000
|
|
#define mMkRm_THEME_SERIES_COMPLETE_FTR_BONUS 7000
|
|
#define mMkRm_THEME_SERIES_COMPLETE_BONUS_WALL_OR_FLOOR 10000
|
|
#define mMkRm_THEME_SERIES_COMPLETE_BONUS_WALL_AND_FLOOR 15000
|
|
#define mMkRm_BASE_SERIES_COMPLETE_FTR_BONUS 48000
|
|
#define mMkRm_BASE_SERIES_MATCHING_WALL_OR_FLOOR_BONUS 4800
|
|
#define mMkRm_BASE_SERIES_MATCHING_WALL_AND_FLOOR_BONUS 10000
|
|
#define mMkRm_NECESSITY_COMPLETE_SAME_SERIES_BONUS 16000
|
|
#define mMkRm_NECESSITY_COMPLETE_DIFF_SERIES_BONUS 4400
|
|
|
|
enum {
|
|
mMkRm_SERIES_EXOTIC,
|
|
mMkRm_SERIES_LOVELY,
|
|
mMkRm_SERIES_CLASSIC,
|
|
mMkRm_SERIES_RANCH,
|
|
mMkRm_SERIES_CABANA,
|
|
mMkRm_SERIES_BLUE,
|
|
mMkRm_SERIES_MODERN,
|
|
mMkRm_SERIES_REGAL,
|
|
mMkRm_SERIES_GREEN,
|
|
mMkRm_SERIES_CABIN,
|
|
mMkRm_SERIES_SPOOKY,
|
|
mMkRm_SERIES_JINGLE,
|
|
mMkRm_SERIES_KIDDIE,
|
|
mMkRm_SERIES_GARDEN,
|
|
mMkRm_SERIES_ROCKGARDEN,
|
|
mMkRm_SERIES_JAPANESE,
|
|
mMkRm_SERIES_CONSTRUCTION,
|
|
mMkRm_SERIES_SPACE,
|
|
mMkRm_SERIES_PUBLICBATH,
|
|
mMkRm_SERIES_SCHOOL,
|
|
mMkRm_SERIES_CHESS,
|
|
mMkRm_SERIES_BONSAI,
|
|
mMkRm_SERIES_WRITING,
|
|
mMkRm_SERIES_VASE,
|
|
mMkRm_SERIES_VENDING,
|
|
mMkRm_SERIES_NINTENDO,
|
|
mMkRm_SERIES_DARUMA,
|
|
mMkRm_SERIES_CACTUS,
|
|
mMkRm_SERIES_BEAR,
|
|
mMkRm_SERIES_FIGURE,
|
|
mMkRm_SERIES_TOTEMPOLE,
|
|
mMkRm_SERIES_GUITAR,
|
|
mMkRm_SERIES_DRUM,
|
|
mMkRm_SERIES_STRINGS,
|
|
mMkRm_SERIES_OFFICE,
|
|
mMkRm_SERIES_TRICERA,
|
|
mMkRm_SERIES_TREX,
|
|
mMkRm_SERIES_BRONT,
|
|
mMkRm_SERIES_STEGO,
|
|
mMkRm_SERIES_PTERA,
|
|
mMkRm_SERIES_PLESIO, /* HUBATA was a mistranslation of futabasaurus */
|
|
mMkRm_SERIES_MAMMOTH,
|
|
mMkRm_SERIES_ROBOT,
|
|
mMkRm_SERIES_APPLE,
|
|
mMkRm_SERIES_CITRUS,
|
|
mMkRm_SERIES_MELON,
|
|
mMkRm_SERIES_PEAR,
|
|
mMkRm_SERIES_LUCKY,
|
|
mMkRm_SERIES_PINE,
|
|
mMkRm_SERIES_FROGGY,
|
|
mMkRm_SERIES_IRIS,
|
|
mMkRm_SERIES_TULIP,
|
|
mMkRm_SERIES_DAFFODIL,
|
|
mMkRm_SERIES_OTHER,
|
|
mMkRm_SERIES_SNOWMAN,
|
|
mMkRm_SERIES_WESTERN,
|
|
mMkRm_SERIES_BACKYARD,
|
|
mMkRm_SERIES_HARVEST,
|
|
mMkRm_SERIES_BOXING,
|
|
mMkRm_SERIES_MARIO,
|
|
|
|
mMkRm_SERIES_NUM
|
|
};
|
|
|
|
enum {
|
|
mMkRm_SERIES_TYPE_ONE,
|
|
mMkRm_SERIES_TYPE_BASE,
|
|
mMkRm_SERIES_TYPE_THEME,
|
|
mMkRm_SERIES_TYPE_SET,
|
|
|
|
mMkRm_SERIES_TYPE_NUM
|
|
};
|
|
|
|
enum {
|
|
mMkRm_NECESSITY_CHAIR,
|
|
mMkRm_NECESSITY_DRESSER,
|
|
mMkRm_NECESSITY_WARDROBE,
|
|
mMkRm_NECESSITY_TABLE,
|
|
mMkRm_NECESSITY_BED,
|
|
mMkRm_NOT_NECESSITY,
|
|
|
|
mMkRm_NECESSITY_NUM
|
|
};
|
|
|
|
enum {
|
|
mMkRm_SURFACE_TYPE_NONE,
|
|
mMkRm_SURFACE_TYPE_SURFACE,
|
|
mMkRm_SURFACE_TYPE_PLACEABLE,
|
|
|
|
mMkRm_SURFACE_TYPE_NUM
|
|
};
|
|
|
|
enum {
|
|
mMkRm_LUCK_TYPE_NOT_LUCKY,
|
|
mMkRm_LUCK_TYPE_LUCKY,
|
|
|
|
mMkRm_LUCK_TYPE_NUM
|
|
};
|
|
|
|
enum {
|
|
mMkRm_FACE_TYPE_NO_FACE,
|
|
mMkRm_FACE_TYPE_HAS_FACE,
|
|
|
|
mMkRm_FACE_TYPE_NUM
|
|
};
|
|
|
|
extern void mMkRm_ReportChangePlayerRoom();
|
|
extern void mMkRm_MarkRoom(GAME* game);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|