jkxr/Projects/Android/jni/OpenJK/codeJK2/game/objectives.h

282 lines
10 KiB
C
Raw Normal View History

/*
===========================================================================
Copyright (C) 2000 - 2013, Raven Software, Inc.
Copyright (C) 2001 - 2013, Activision, Inc.
Copyright (C) 2013 - 2015, OpenJK contributors
This file is part of the OpenJK source code.
OpenJK is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
===========================================================================
*/
#ifndef __OBJECTIVES_H__
#define __OBJECTIVES_H__
// mission Objectives
// DO NOT CHANGE MAX_MISSION_OBJ. IT AFFECTS THE SAVEGAME STRUCTURE
typedef enum //# Objective_e
{
//=================================================
//
//=================================================
KEJIM_POST_OBJ1 = 0, //# KEJIM POST
KEJIM_POST_OBJ2, //# KEJIM POST
KEJIM_BASE_OBJ1, //# KEJIM BASE
KEJIM_BASE_OBJ2, //# KEJIM BASE
KEJIM_BASE_OBJ3, //# KEJIM BASE
ARTUS_MINE_OBJ1, //# ARTUS MINE
ARTUS_MINE_OBJ2, //# ARTUS MINE
ARTUS_MINE_OBJ3, //# ARTUS MINE
ARTUS_DETENTION_OBJ1, //# ARTUS DETENTION
ARTUS_DETENTION_OBJ2, //# ARTUS DETENTION
ARTUS_TOPSIDE_OBJ1, //# ARTUS TOPSIDE
ARTUS_TOPSIDE_OBJ2, //# ARTUS TOPSIDE
YAVIN_TEMPLE_OBJ1, //# YAVIN TEMPLE
YAVIN_TRIAL_OBJ1, //# YAVIN TRIAL
YAVIN_TRIAL_OBJ2, //# YAVIN TRIAL
NS_STREETS_OBJ1, //# NS STREETS
NS_STREETS_OBJ2, //# NS STREETS
NS_STREETS_OBJ3, //# NS STREETS
NS_HIDEOUT_OBJ1, //# NS HIDEOUT
NS_HIDEOUT_OBJ2, //# NS HIDEOUT
NS_STARPAD_OBJ1, //# NS STARPAD
NS_STARPAD_OBJ2, //# NS STARPAD
NS_STARPAD_OBJ3, //# NS STARPAD
NS_STARPAD_OBJ4, //# NS STARPAD
NS_STARPAD_OBJ5, //# NS STARPAD
BESPIN_UNDERCITY_OBJ1, //# BESPIN UNDERCITY
BESPIN_UNDERCITY_OBJ2, //# BESPIN UNDERCITY
BESPIN_STREETS_OBJ1, //# BESPIN STREETS
BESPIN_STREETS_OBJ2, //# BESPIN STREETS
BESPIN_PLATFORM_OBJ1, //# BESPIN PLATFORM
BESPIN_PLATFORM_OBJ2, //# BESPIN PLATFORM
CAIRN_BAY_OBJ1, //# CAIRN BAY
CAIRN_BAY_OBJ2, //# CAIRN BAY
CAIRN_ASSEMBLY_OBJ1, //# CAIRN ASSEMBLY
CAIRN_REACTOR_OBJ1, //# CAIRN REACTOR
CAIRN_REACTOR_OBJ2, //# CAIRN REACTOR
CAIRN_DOCK1_OBJ1, //# CAIRN DOCK1
CAIRN_DOCK1_OBJ2, //# CAIRN DOCK1
DOOM_COMM_OBJ1, //# DOOM COMM
DOOM_COMM_OBJ2, //# DOOM COMM
DOOM_COMM_OBJ3, //# DOOM COMM
DOOM_DETENTION_OBJ1, //# DOOM DETENTION
DOOM_DETENTION_OBJ2, //# DOOM DETENTION
DOOM_SHIELDS_OBJ1, //# DOOM SHIELDS
DOOM_SHIELDS_OBJ2, //# DOOM SHIELDS
YAVIN_SWAMP_OBJ1, //# YAVIN SWAMP
YAVIN_SWAMP_OBJ2, //# YAVIN SWAMP
YAVIN_CANYON_OBJ1, //# YAVIN CANYON
YAVIN_CANYON_OBJ2, //# YAVIN CANYON
YAVIN_COURTYARD_OBJ1, //# YAVIN COURTYARD
YAVIN_COURTYARD_OBJ2, //# YAVIN COURTYARD
YAVIN_FINAL_OBJ1, //# YAVIN FINAL
KEJIM_POST_OBJ3, //# KEJIM POST - GRAPHICS IN IT.
KEJIM_POST_OBJ4, //# KEJIM POST - GRAPHICS IN IT.
KEJIM_POST_OBJ5, //# KEJIM POST - GRAPHICS IN IT.
ARTUS_DETENTION_OBJ3, //# ARTUS DETENTION
DOOM_COMM_OBJ4, //# DOOM COMM - GRAPHICS IN IT.
DOOM_SHIELDS_OBJ3, //# DOOM SHIELDS
DEMO_OBJ1, //# DEMO
DEMO_OBJ2, //# DEMO
DEMO_OBJ3, //# DEMO
DEMO_OBJ4, //# DEMO
//# #eol
MAX_OBJECTIVES,
} objectiveNumber_t;
typedef enum //# MissionFailed_e
{
MISSIONFAILED_JAN=0, //#
MISSIONFAILED_LUKE, //#
MISSIONFAILED_LANDO, //#
MISSIONFAILED_R5D2, //#
MISSIONFAILED_WARDEN, //#
MISSIONFAILED_PRISONERS, //#
MISSIONFAILED_EMPLACEDGUNS, //#
MISSIONFAILED_LADYLUCK, //#
MISSIONFAILED_KYLECAPTURE, //#
MISSIONFAILED_TOOMANYALLIESDIED, //#
//# #eol
MAX_MISSIONFAILED,
} missionFailed_t;
typedef enum //# StatusText_e
{
//=================================================
//
//=================================================
STAT_INSUBORDINATION = 0, //# Starfleet will not tolerate such insubordination
STAT_YOUCAUSEDDEATHOFTEAMMATE, //# You caused the death of a teammate.
STAT_DIDNTPROTECTTECH, //# You failed to protect Chell, your technician.
STAT_DIDNTPROTECT7OF9, //# You failed to protect 7 of 9
STAT_NOTSTEALTHYENOUGH, //# You weren't quite stealthy enough
STAT_STEALTHTACTICSNECESSARY, //# Starfleet will not tolerate such insubordination
STAT_WATCHYOURSTEP, //# Watch your step
STAT_JUDGEMENTMUCHDESIRED, //# Your judgement leaves much to be desired
//# #eol
MAX_STATUSTEXT,
} statusText_t;
extern qboolean missionInfo_Updated;
#define SET_TACTICAL_OFF 0
#define SET_TACTICAL_ON 1
#define SET_OBJ_HIDE 0
#define SET_OBJ_SHOW 1
#define SET_OBJ_PENDING 2
#define SET_OBJ_SUCCEEDED 3
#define SET_OBJ_FAILED 4
#define OBJECTIVE_HIDE 0
#define OBJECTIVE_SHOW 1
#define OBJECTIVE_STAT_PENDING 0
#define OBJECTIVE_STAT_SUCCEEDED 1
#define OBJECTIVE_STAT_FAILED 2
extern int statusTextIndex;
void OBJ_SaveObjectiveData(void);
void OBJ_LoadObjectiveData(void);
extern void OBJ_SetPendingObjectives(gentity_t *ent);
#ifndef G_OBJECTIVES_CPP
extern stringID_table_t objectiveTable [];
extern stringID_table_t statusTextTable [];
extern stringID_table_t missionFailedTable [];
#else
stringID_table_t objectiveTable [] =
{
//=================================================
//
//=================================================
ENUM2STRING(KEJIM_POST_OBJ1), //# KEJIM POST
ENUM2STRING(KEJIM_POST_OBJ2), //# KEJIM POST
ENUM2STRING(KEJIM_BASE_OBJ1), //# KEJIM BASE
ENUM2STRING(KEJIM_BASE_OBJ2), //# KEJIM BASE
ENUM2STRING(KEJIM_BASE_OBJ3), //# KEJIM BASE
ENUM2STRING(ARTUS_MINE_OBJ1), //# ARTUS MINE
ENUM2STRING(ARTUS_MINE_OBJ2), //# ARTUS MINE
ENUM2STRING(ARTUS_MINE_OBJ3), //# ARTUS MINE
ENUM2STRING(ARTUS_DETENTION_OBJ1), //# ARTUS DETENTION
ENUM2STRING(ARTUS_DETENTION_OBJ2), //# ARTUS DETENTION
ENUM2STRING(ARTUS_TOPSIDE_OBJ1), //# ARTUS TOPSIDE
ENUM2STRING(ARTUS_TOPSIDE_OBJ2), //# ARTUS TOPSIDE
ENUM2STRING(YAVIN_TEMPLE_OBJ1), //# YAVIN TEMPLE
ENUM2STRING(YAVIN_TRIAL_OBJ1), //# YAVIN TRIAL
ENUM2STRING(YAVIN_TRIAL_OBJ2), //# YAVIN TRIAL
ENUM2STRING(NS_STREETS_OBJ1), //# NS STREETS
ENUM2STRING(NS_STREETS_OBJ2), //# NS STREETS
ENUM2STRING(NS_STREETS_OBJ3), //# NS STREETS
ENUM2STRING(NS_HIDEOUT_OBJ1), //# NS HIDEOUT
ENUM2STRING(NS_HIDEOUT_OBJ2), //# NS HIDEOUT
ENUM2STRING(NS_STARPAD_OBJ1), //# NS STARPAD
ENUM2STRING(NS_STARPAD_OBJ2), //# NS STARPAD
ENUM2STRING(NS_STARPAD_OBJ3), //# NS STARPAD
ENUM2STRING(NS_STARPAD_OBJ4), //# NS STARPAD
ENUM2STRING(NS_STARPAD_OBJ5), //# NS STARPAD
ENUM2STRING(BESPIN_UNDERCITY_OBJ1), //# BESPIN UNDERCITY
ENUM2STRING(BESPIN_UNDERCITY_OBJ2), //# BESPIN UNDERCITY
ENUM2STRING(BESPIN_STREETS_OBJ1), //# BESPIN STREETS
ENUM2STRING(BESPIN_STREETS_OBJ2), //# BESPIN STREETS
ENUM2STRING(BESPIN_PLATFORM_OBJ1), //# BESPIN PLATFORM
ENUM2STRING(BESPIN_PLATFORM_OBJ2), //# BESPIN PLATFORM
ENUM2STRING(CAIRN_BAY_OBJ1), //# CAIRN BAY
ENUM2STRING(CAIRN_BAY_OBJ2), //# CAIRN BAY
ENUM2STRING(CAIRN_ASSEMBLY_OBJ1), //# CAIRN ASSEMBLY
ENUM2STRING(CAIRN_REACTOR_OBJ1), //# CAIRN REACTOR
ENUM2STRING(CAIRN_REACTOR_OBJ2), //# CAIRN REACTOR
ENUM2STRING(CAIRN_DOCK1_OBJ1), //# CAIRN DOCK1
ENUM2STRING(CAIRN_DOCK1_OBJ2), //# CAIRN DOCK1
ENUM2STRING(DOOM_COMM_OBJ1), //# DOOM COMM
ENUM2STRING(DOOM_COMM_OBJ2), //# DOOM COMM
ENUM2STRING(DOOM_COMM_OBJ3), //# DOOM COMM
ENUM2STRING(DOOM_DETENTION_OBJ1), //# DOOM DETENTION
ENUM2STRING(DOOM_DETENTION_OBJ2), //# DOOM DETENTION
ENUM2STRING(DOOM_SHIELDS_OBJ1), //# DOOM SHIELDS
ENUM2STRING(DOOM_SHIELDS_OBJ2), //# DOOM SHIELDS
ENUM2STRING(YAVIN_SWAMP_OBJ1), //# YAVIN SWAMP
ENUM2STRING(YAVIN_SWAMP_OBJ2), //# YAVIN SWAMP
ENUM2STRING(YAVIN_CANYON_OBJ1), //# YAVIN CANYON
ENUM2STRING(YAVIN_CANYON_OBJ2), //# YAVIN CANYON
ENUM2STRING(YAVIN_COURTYARD_OBJ1), //# YAVIN COURTYARD
ENUM2STRING(YAVIN_COURTYARD_OBJ2), //# YAVIN COURTYARD
ENUM2STRING(YAVIN_FINAL_OBJ1), //# YAVIN FINAL
ENUM2STRING(KEJIM_POST_OBJ3), //# KEJIM POST - GRAPHICS IN IT.
ENUM2STRING(KEJIM_POST_OBJ4), //# KEJIM POST - GRAPHICS IN IT.
ENUM2STRING(KEJIM_POST_OBJ5), //# KEJIM POST - GRAPHICS IN IT.
ENUM2STRING(ARTUS_DETENTION_OBJ3), //# ARTUS DETENTION
ENUM2STRING(DOOM_COMM_OBJ4), //# DOOM COMM - GRAPHICS IN IT. IT MUST BE LAST IN THE LIST
ENUM2STRING(DOOM_SHIELDS_OBJ3), //# DOOM SHIELDS
ENUM2STRING(DEMO_OBJ1), //# DEMO
ENUM2STRING(DEMO_OBJ2), //# DEMO
ENUM2STRING(DEMO_OBJ3), //# DEMO
ENUM2STRING(DEMO_OBJ4), //# DEMO
//stringID_table_t Must end with a null entry
{"", 0}
};
stringID_table_t missionFailedTable [] =
{
ENUM2STRING(MISSIONFAILED_JAN), //# JAN DIED
ENUM2STRING(MISSIONFAILED_LUKE), //# LUKE DIED
ENUM2STRING(MISSIONFAILED_LANDO), //# LANDO DIED
ENUM2STRING(MISSIONFAILED_R5D2), //# R5D2 DIED
ENUM2STRING(MISSIONFAILED_WARDEN), //# THE WARDEN DIED
ENUM2STRING(MISSIONFAILED_PRISONERS), //# TOO MANY PRISONERS DIED
ENUM2STRING(MISSIONFAILED_EMPLACEDGUNS),//# ALL EMPLACED GUNS GONE
ENUM2STRING(MISSIONFAILED_LADYLUCK), //# LADY LUCK DISTROYED
ENUM2STRING(MISSIONFAILED_KYLECAPTURE), //# KYLE HAS BEEN CAPTURED
ENUM2STRING(MISSIONFAILED_TOOMANYALLIESDIED), //# TOO MANY ALLIES DIED
//stringID_table_t Must end with a null entry
{"", 0}
};
stringID_table_t statusTextTable [] =
{
//=================================================
//
//=================================================
ENUM2STRING(STAT_INSUBORDINATION), //# Starfleet will not tolerate such insubordination
ENUM2STRING(STAT_YOUCAUSEDDEATHOFTEAMMATE), //# You caused the death of a teammate.
ENUM2STRING(STAT_DIDNTPROTECTTECH), //# You failed to protect Chell, your technician.
ENUM2STRING(STAT_DIDNTPROTECT7OF9), //# You failed to protect 7 of 9
ENUM2STRING(STAT_NOTSTEALTHYENOUGH), //# You weren't quite stealthy enough
ENUM2STRING(STAT_STEALTHTACTICSNECESSARY), //# Starfleet will not tolerate such insubordination
ENUM2STRING(STAT_WATCHYOURSTEP), //# Watch your step
ENUM2STRING(STAT_JUDGEMENTMUCHDESIRED), //# Your judgement leaves much to be desired
//stringID_table_t Must end with a null entry
{"", 0}
};
#endif// #ifndef G_OBJECTIVES_CPP
#endif// #ifndef __OBJECTIVES_H__