mirror of
https://github.com/DrBeef/JKXR.git
synced 2024-11-29 23:42:38 +00:00
4597b03873
Opens in Android Studio but haven't even tried to build it yet (it won't.. I know that much!)
281 lines
10 KiB
C
281 lines
10 KiB
C
/*
|
|
===========================================================================
|
|
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__
|
|
|