Files
itgmania212121/stepmania/src/GameConstantsAndTypes.h
T

205 lines
3.9 KiB
C
Raw Normal View History

2002-11-16 07:36:02 +00:00
#ifndef GAME_CONSTANTS_AND_TYPES_H
#define GAME_CONSTANTS_AND_TYPES_H
2002-05-01 19:14:55 +00:00
/*
-----------------------------------------------------------------------------
File: GameConstantsAndTypes.h
2002-07-27 19:29:51 +00:00
Desc: Things that are used in many places and don't change often.
2002-05-01 19:14:55 +00:00
Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved.
2002-05-01 19:14:55 +00:00
Chris Danford
Chris Gomez
2002-05-01 19:14:55 +00:00
-----------------------------------------------------------------------------
*/
2002-07-27 19:29:51 +00:00
//
2002-05-27 08:23:27 +00:00
// Screen Dimensions
//
2002-05-27 08:23:27 +00:00
#define SCREEN_WIDTH (640)
#define SCREEN_HEIGHT (480)
2002-05-01 19:14:55 +00:00
2002-05-27 08:23:27 +00:00
#define SCREEN_LEFT (0)
#define SCREEN_RIGHT (SCREEN_WIDTH)
#define SCREEN_TOP (0)
#define SCREEN_BOTTOM (SCREEN_HEIGHT)
2002-05-01 19:14:55 +00:00
2002-05-27 08:23:27 +00:00
#define CENTER_X (SCREEN_LEFT + (SCREEN_RIGHT - SCREEN_LEFT)/2.0f)
#define CENTER_Y (SCREEN_TOP + (SCREEN_BOTTOM - SCREEN_TOP)/2.0f)
2002-05-01 19:14:55 +00:00
#define SCREEN_NEAR (-1000)
#define SCREEN_FAR (1000)
//
2002-05-27 08:23:27 +00:00
// Note definitions
//
2002-07-02 00:27:58 +00:00
enum RadarCategory // starting from 12-o'clock rotating clockwise
2002-05-27 08:23:27 +00:00
{
RADAR_STREAM = 0,
RADAR_VOLTAGE,
RADAR_AIR,
2002-06-23 11:43:53 +00:00
RADAR_FREEZE,
2002-06-24 22:04:31 +00:00
RADAR_CHAOS,
2003-01-30 07:18:33 +00:00
NUM_RADAR_CATEGORIES // leave this at the end
2002-05-27 08:23:27 +00:00
};
2002-09-29 05:06:18 +00:00
enum Difficulty
{
DIFFICULTY_BEGINNER, // corresponds to DDREX Beginner
DIFFICULTY_EASY, // corresponds to Basic, Easy
DIFFICULTY_MEDIUM, // corresponds to Trick, Another, Standard, Normal
DIFFICULTY_HARD, // corresponds to Maniac, SSR, Heavy, Crazy
DIFFICULTY_CHALLENGE, // corresponds to 5th SMANIAC, MAX2 Challenge, EX Challenge
2002-09-29 05:06:18 +00:00
NUM_DIFFICULTIES,
DIFFICULTY_INVALID
2002-05-27 08:23:27 +00:00
};
2002-09-29 05:06:18 +00:00
CString DifficultyToString( Difficulty dc );
2002-06-29 11:59:09 +00:00
2002-09-29 05:06:18 +00:00
Difficulty StringToDifficulty( CString sDC );
2002-06-30 23:19:33 +00:00
2002-05-27 08:23:27 +00:00
enum NotesType
{
NOTES_TYPE_DANCE_SINGLE = 0,
NOTES_TYPE_DANCE_DOUBLE,
2002-09-12 08:37:12 +00:00
NOTES_TYPE_DANCE_COUPLE,
2002-05-27 08:23:27 +00:00
NOTES_TYPE_DANCE_SOLO,
NOTES_TYPE_PUMP_SINGLE,
2002-05-27 18:36:01 +00:00
NOTES_TYPE_PUMP_DOUBLE,
NOTES_TYPE_PUMP_COUPLE,
2002-06-20 22:09:05 +00:00
NOTES_TYPE_EZ2_SINGLE,
NOTES_TYPE_EZ2_DOUBLE,
NOTES_TYPE_EZ2_REAL,
NOTES_TYPE_PARA_SINGLE,
2002-12-28 16:07:19 +00:00
NOTES_TYPE_DS3DDX_SINGLE,
NOTES_TYPE_BM_SINGLE,
2002-06-14 22:25:22 +00:00
NUM_NOTES_TYPES, // leave this at the end
NOTES_TYPE_INVALID,
2002-05-27 08:23:27 +00:00
};
//
2002-05-27 08:23:27 +00:00
// Play mode stuff
//
2002-05-27 08:23:27 +00:00
enum PlayMode
{
PLAY_MODE_ARCADE,
PLAY_MODE_NONSTOP, // DDR EX Nonstop
PLAY_MODE_ONI, // DDR EX Challenge
PLAY_MODE_ENDLESS, // DDR PlayStation Endless
2003-04-07 05:14:27 +00:00
PLAY_MODE_BATTLE, // inventory battle
PLAY_MODE_RAVE, // DDR Disney Rave "Dance Magic"
2002-06-24 22:04:31 +00:00
NUM_PLAY_MODES,
PLAY_MODE_INVALID
2002-05-27 08:23:27 +00:00
};
CString PlayModeToString( PlayMode pm );
PlayMode StringToPlayMode( CString s );
2002-05-27 08:23:27 +00:00
2002-05-01 19:14:55 +00:00
enum SongSortOrder {
2002-05-01 19:14:55 +00:00
SORT_GROUP,
SORT_TITLE,
SORT_BPM,
SORT_MOST_PLAYED,
2003-02-17 20:38:57 +00:00
SORT_ROULETTE,
NUM_SORT_ORDERS
2002-05-01 19:14:55 +00:00
};
//
2002-06-24 22:04:31 +00:00
// Scoring stuff
//
2002-06-24 22:04:31 +00:00
enum TapNoteScore {
TNS_NONE,
TNS_MISS,
TNS_BOO,
TNS_GOOD,
TNS_GREAT,
2002-07-28 20:28:37 +00:00
TNS_PERFECT,
TNS_MARVELOUS,
2002-07-28 20:28:37 +00:00
NUM_TAP_NOTE_SCORES
2002-06-24 22:04:31 +00:00
};
//enum TapNoteTiming {
// TNT_NONE,
// TNT_EARLY,
// TNT_LATE
//};
enum HoldNoteScore
{
HNS_NONE, // this HoldNote has not been scored yet
HNS_OK, // the HoldNote has passed and was successfully held all the way through
2002-07-28 20:28:37 +00:00
HNS_NG, // the HoldNote has passed and they missed it
NUM_HOLD_NOTE_SCORES
2002-06-24 22:04:31 +00:00
};
//
// MemCard stuff
//
enum MemoryCard
{
MEMORY_CARD_PLAYER_1,
MEMORY_CARD_PLAYER_2,
MEMORY_CARD_MACHINE,
NUM_MEMORY_CARDS
};
2003-01-22 05:29:27 +00:00
//
2003-01-27 02:00:38 +00:00
// Ranking stuff
2003-01-22 05:29:27 +00:00
//
2003-01-26 07:33:03 +00:00
enum RankingCategory
2003-01-22 05:29:27 +00:00
{
2003-01-26 07:33:03 +00:00
RANKING_A, // 1-3 meter per song avg.
RANKING_B, // 4-6 meter per song avg.
RANKING_C, // 7-9 meter per song avg.
RANKING_D, // 10+ meter per song avg. // doesn't count extra stage!
NUM_RANKING_CATEGORIES
2003-01-22 05:29:27 +00:00
};
const CString DEFAULT_RANKING_NAME = "STEP";
2003-01-26 07:33:03 +00:00
RankingCategory AverageMeterToRankingCategory( float fAverageMeter );
2003-01-27 02:00:38 +00:00
const int NUM_RANKING_LINES = 5;
const int MAX_RANKING_NAME_LENGTH = 4;
2003-02-25 00:33:42 +00:00
//
// Group stuff
//
const CString GROUP_ALL_MUSIC = "";
2003-02-25 02:51:04 +00:00
//
// Battle stuff
//
const int NUM_INVENTORY_SLOTS = 3;
enum AttackLevel
{
ATTACK_LEVEL_1,
ATTACK_LEVEL_2,
ATTACK_LEVEL_3,
NUM_ATTACK_LEVELS
};
const int NUM_ATTACKS_PER_LEVEL = 3;
const int ITEM_NONE = -1;
const CString BG_ANIMS_DIR = "BGAnimations/";
const CString VISUALIZATIONS_DIR = "Visualizations/";
const CString RANDOMMOVIES_DIR = "RandomMovies/";
2002-11-16 07:36:02 +00:00
#endif