summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/avp/bh_marin.c13
-rw-r--r--src/avp/bh_mission.c1
-rw-r--r--src/avp/bh_near.c8
-rw-r--r--src/avp/bh_plift.c1
-rw-r--r--src/avp/bh_pred.c22
-rw-r--r--src/avp/bh_queen.c5
-rw-r--r--src/avp/bh_types.c1
-rw-r--r--src/avp/bh_videoscreen.c1
-rw-r--r--src/avp/bh_waypt.c3
-rw-r--r--src/avp/bh_weap.c26
-rw-r--r--src/avp/bh_weap.h1
-rw-r--r--src/avp/bh_xeno.c5
-rw-r--r--src/avp/bonusabilities.c2
-rw-r--r--src/avp/bonusabilities.h1
-rw-r--r--src/avp/cheatmodes.c2
-rw-r--r--src/avp/comp_map.c23
-rw-r--r--src/avp/davehook.cpp2
-rw-r--r--src/avp/dynamics.c19
-rw-r--r--src/avp/dynamics.h1
-rw-r--r--src/avp/game.c3
-rw-r--r--src/avp/game.h6
-rw-r--r--src/avp/game_statistics.c6
-rw-r--r--src/avp/game_statistics.h3
-rw-r--r--src/avp/gamecmds.cpp26
-rw-r--r--src/avp/hmodel.c4
-rw-r--r--src/avp/hud.c6
-rw-r--r--src/avp/inventry.c1
-rw-r--r--src/avp/inventry.h6
-rw-r--r--src/avp/messagehistory.c1
-rw-r--r--src/avp/messagehistory.h8
-rw-r--r--src/avp/paintball.c1
-rw-r--r--src/avp/paintball.h4
-rw-r--r--src/avp/particle.c4
-rw-r--r--src/avp/particle.h4
-rw-r--r--src/avp/pmove.c2
-rw-r--r--src/avp/pmove.h2
-rw-r--r--src/avp/weapons.c1
-rw-r--r--src/avp/win95/d3d_hud.h2
-rw-r--r--src/avp/win95/frontend/avp_intro.cpp1
-rw-r--r--src/avp/win95/frontend/avp_intro.h6
-rw-r--r--src/avp/win95/frontend/avp_menudata.c712
-rw-r--r--src/avp/win95/frontend/avp_menugfx.cpp4
-rw-r--r--src/avp/win95/frontend/avp_menugfx.hpp3
-rw-r--r--src/avp/win95/frontend/avp_menus.c4
-rw-r--r--src/avp/win95/frontend/avp_menus.h2
-rw-r--r--src/avp/win95/gadgets/ahudgadg.hpp11
-rw-r--r--src/avp/win95/gadgets/hudgadg.hpp4
-rw-r--r--src/avp/win95/pldnet.h1
-rw-r--r--src/avp/win95/progress_bar.cpp2
-rw-r--r--src/avp/win95/usr_io.c126
-rw-r--r--src/avp/win95/usr_io.h1
-rw-r--r--src/include/module.h1
-rw-r--r--src/kshape.h9
-rw-r--r--src/menus.c4
-rw-r--r--src/net.c10
-rw-r--r--src/opengl.h7
-rw-r--r--src/win95/chnkload.cpp62
-rw-r--r--src/win95/shpanim.h2
58 files changed, 671 insertions, 528 deletions
diff --git a/src/avp/bh_marin.c b/src/avp/bh_marin.c
index 572a20c..6d5fb3c 100644
--- a/src/avp/bh_marin.c
+++ b/src/avp/bh_marin.c
@@ -91,7 +91,11 @@ extern void PrintSpottedNumber(void);
/* prototypes for this file */
static STATE_RETURN_CONDITION Execute_MFS_Wait(STRATEGYBLOCK *sbPtr);
+#if 0
static STATE_RETURN_CONDITION Execute_MFS_Hunt(STRATEGYBLOCK *sbPtr);
+static STATE_RETURN_CONDITION Execute_MNS_DischargeGL(STRATEGYBLOCK *sbPtr);
+static STATE_RETURN_CONDITION Execute_MNS_Hunt(STRATEGYBLOCK *sbPtr);
+#endif
static STATE_RETURN_CONDITION Execute_MFS_Wander(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MFS_Approach(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MFS_Firing(STRATEGYBLOCK *sbPtr);
@@ -107,13 +111,11 @@ static STATE_RETURN_CONDITION Execute_MNS_Wait(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_DischargeLOSWeapon(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_DischargeShotgun(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_DischargePistol(STRATEGYBLOCK *sbPtr);
-static STATE_RETURN_CONDITION Execute_MNS_DischargeGL(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_DischargeSADAR(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_DischargeFlamethrower(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_ThrowMolotov(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_DischargeMinigun(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_SentryMode(STRATEGYBLOCK *sbPtr);
-static STATE_RETURN_CONDITION Execute_MNS_Hunt(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_Respond(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_Retreat(STRATEGYBLOCK *sbPtr);
static STATE_RETURN_CONDITION Execute_MNS_Return(STRATEGYBLOCK *sbPtr);
@@ -5942,7 +5944,7 @@ static STATE_RETURN_CONDITION Execute_MFS_SentryMode(STRATEGYBLOCK *sbPtr)
}
return(SRC_No_Change);
}
-
+#if 0
static STATE_RETURN_CONDITION Execute_MFS_Hunt(STRATEGYBLOCK *sbPtr)
{
MARINE_STATUS_BLOCK *marineStatusPointer;
@@ -5984,6 +5986,7 @@ static STATE_RETURN_CONDITION Execute_MFS_Hunt(STRATEGYBLOCK *sbPtr)
marineStatusPointer->stateTimer = MARINE_FAR_MOVE_TIME;
return(SRC_No_Change);
}
+#endif
static STATE_RETURN_CONDITION Execute_MFS_Approach(STRATEGYBLOCK *sbPtr) {
@@ -11406,6 +11409,7 @@ void FakeTrackerWheepGenerator(VECTORCH *marinepos, STRATEGYBLOCK *me) {
}
}
+#if 0
static STATE_RETURN_CONDITION Execute_MNS_Hunt(STRATEGYBLOCK *sbPtr)
{
MARINE_STATUS_BLOCK *marineStatusPointer;
@@ -11545,6 +11549,7 @@ static STATE_RETURN_CONDITION Execute_MNS_Hunt(STRATEGYBLOCK *sbPtr)
return(SRC_No_Change);
}
+#endif
static STATE_RETURN_CONDITION Execute_MNS_Respond(STRATEGYBLOCK *sbPtr)
{
@@ -12600,6 +12605,7 @@ static STATE_RETURN_CONDITION Execute_MNS_ThrowMolotov(STRATEGYBLOCK *sbPtr)
return(SRC_No_Change);
}
+#if 0
static STATE_RETURN_CONDITION Execute_MNS_DischargeGL(STRATEGYBLOCK *sbPtr)
{
MARINE_STATUS_BLOCK *marineStatusPointer;
@@ -12856,6 +12862,7 @@ static STATE_RETURN_CONDITION Execute_MNS_DischargeGL(STRATEGYBLOCK *sbPtr)
}
return(SRC_No_Change);
}
+#endif
static STATE_RETURN_CONDITION Execute_MNS_NewDischargeGL(STRATEGYBLOCK *sbPtr)
{
diff --git a/src/avp/bh_mission.c b/src/avp/bh_mission.c
index a2c7297..a337de4 100644
--- a/src/avp/bh_mission.c
+++ b/src/avp/bh_mission.c
@@ -9,6 +9,7 @@
extern void MissionObjectiveTriggered(void* mission_objective);
extern void MakeMissionVisible(void* mission_objective);
extern void MakeMissionPossible(void* mission_objective);
+extern void StartTriggerPlotFMV(int number);
void * MissionCompleteBehaveInit(void* bhdata,STRATEGYBLOCK* sbptr)
{
diff --git a/src/avp/bh_near.c b/src/avp/bh_near.c
index 8ae5c72..0bc2d17 100644
--- a/src/avp/bh_near.c
+++ b/src/avp/bh_near.c
@@ -61,6 +61,8 @@ extern void Execute_Alien_Dying(STRATEGYBLOCK *sbPtr);
int AlienIsAbleToClimb(STRATEGYBLOCK *sbPtr);
int AlienIsAbleToStand(STRATEGYBLOCK *sbPtr);
+static int StartAlienPounce(STRATEGYBLOCK *sbPtr);
+static int AlienHasPathToTarget(STRATEGYBLOCK *sbPtr);
extern ATTACK_DATA Alien_Special_Gripping_Attack;
@@ -612,6 +614,7 @@ static enum AMMO_ID GetAttackDamageType(STRATEGYBLOCK *sbPtr,int flagnum) {
}
+#if 0
static void DoAlienAIAttackSound(STRATEGYBLOCK *sbPtr) {
DYNAMICSBLOCK *dynPtr;
@@ -642,6 +645,7 @@ static void DoAlienAIAttackSound(STRATEGYBLOCK *sbPtr) {
#endif
}
+#endif
static void DoAlienAIRandomHiss(STRATEGYBLOCK *sbPtr) {
@@ -2137,7 +2141,7 @@ int AlienIsAwareOfTarget(STRATEGYBLOCK *sbPtr) {
return 1;
}
-int AlienHasPathToTarget(STRATEGYBLOCK *sbPtr) {
+static int AlienHasPathToTarget(STRATEGYBLOCK *sbPtr) {
ALIEN_STATUS_BLOCK *alienStatusPointer=(ALIEN_STATUS_BLOCK *)(sbPtr->SBdataptr);
@@ -2147,10 +2151,10 @@ int AlienHasPathToTarget(STRATEGYBLOCK *sbPtr) {
{
GLOBALASSERT(alienStatusPointer->Target->containingModule);
{
+ #if 0
PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
LOCALASSERT(playerStatusPtr);
- #if 0
if((playerStatusPtr->cloakOn==1)&&(playerStatusPtr->cloakPositionGivenAway==0)) {
return 0;
}
diff --git a/src/avp/bh_plift.c b/src/avp/bh_plift.c
index 93cb25d..8accdf4 100644
--- a/src/avp/bh_plift.c
+++ b/src/avp/bh_plift.c
@@ -11,6 +11,7 @@
#include "dynblock.h"
#include "dynamics.h"
#include "showcmds.h"
+#include "weapons.h"
#define UseLocalAssert Yes
diff --git a/src/avp/bh_pred.c b/src/avp/bh_pred.c
index 5ba27fe..f8edf96 100644
--- a/src/avp/bh_pred.c
+++ b/src/avp/bh_pred.c
@@ -37,6 +37,7 @@ Source file for predator AI
#include "bh_dummy.h"
#include "bh_agun.h"
#include "scream.h"
+#include "game_statistics.h"
#define UseLocalAssert Yes
#include "ourasert.h"
@@ -77,9 +78,15 @@ static PRED_RETURN_CONDITION Execute_PFS_Pathfinder(STRATEGYBLOCK *sbPtr);
static PRED_RETURN_CONDITION Execute_PFS_Return(STRATEGYBLOCK *sbPtr);
static PRED_RETURN_CONDITION Execute_PFS_Engage(STRATEGYBLOCK *sbPtr);
+#if 0
static PRED_RETURN_CONDITION Execute_PNS_Approach(STRATEGYBLOCK *sbPtr);
-static PRED_RETURN_CONDITION Execute_PNS_Avoidance(STRATEGYBLOCK *sbPtr);
static PRED_RETURN_CONDITION Execute_PNS_StandGround(STRATEGYBLOCK *sbPtr);
+static PRED_RETURN_CONDITION Execute_PNS_NewDischargePistol(STRATEGYBLOCK *sbPtr);
+static PRED_RETURN_CONDITION Predator_ThreatAnalysis(STRATEGYBLOCK *sbPtr);
+static void CreateNPCPredatorPlasBolt(VECTORCH *startingPosition, VECTORCH *targetDirection);
+static void CreateNPCPredatorDisc(VECTORCH *startingPosition, VECTORCH *targetDirection);
+#endif
+static PRED_RETURN_CONDITION Execute_PNS_Avoidance(STRATEGYBLOCK *sbPtr);
static PRED_RETURN_CONDITION Execute_PNS_Wander(STRATEGYBLOCK *sbPtr);
static PRED_RETURN_CONDITION Execute_PNS_Hunt(STRATEGYBLOCK *sbPtr);
static PRED_RETURN_CONDITION Execute_PNS_Retreat(STRATEGYBLOCK *sbPtr);
@@ -98,14 +105,11 @@ static PRED_RETURN_CONDITION Execute_PNS_Recover(STRATEGYBLOCK *sbPtr);
static PRED_RETURN_CONDITION Execute_PNS_Taunting(STRATEGYBLOCK *sbPtr);
static PRED_RETURN_CONDITION Execute_PNS_DischargeSpeargun(STRATEGYBLOCK *sbPtr);
static PRED_RETURN_CONDITION Execute_PNS_AttackBrutallyWithPlasmaCaster(STRATEGYBLOCK *sbPtr);
-static PRED_RETURN_CONDITION Execute_PNS_NewDischargePistol(STRATEGYBLOCK *sbPtr);
-static PRED_RETURN_CONDITION Predator_ThreatAnalysis(STRATEGYBLOCK *sbPtr);
+static PRED_RETURN_CONDITION Execute_PNS_SelfDestruct(STRATEGYBLOCK *sbPtr);
static void Execute_Dying(STRATEGYBLOCK *sbPtr);
-static void CreateNPCPredatorPlasBolt(VECTORCH *startingPosition, VECTORCH *targetDirection);
-static void CreateNPCPredatorDisc(VECTORCH *startingPosition, VECTORCH *targetDirection);
static void SetPredatorAnimationSequence(STRATEGYBLOCK *sbPtr,HMODEL_SEQUENCE_TYPES type, int subtype, int length, int tweening);
static int PredatorShouldBeCrawling(STRATEGYBLOCK *sbPtr);
static int PredatorShouldAttackPlayer(STRATEGYBLOCK *sbPtr);
@@ -2812,6 +2816,7 @@ static PRED_RETURN_CONDITION Execute_PNS_Avoidance(STRATEGYBLOCK *sbPtr)
return(PRC_No_Change);
}
+#if 0
static PRED_RETURN_CONDITION Execute_PNS_Approach(STRATEGYBLOCK *sbPtr)
{
PREDATOR_STATUS_BLOCK *predatorStatusPointer;
@@ -2914,6 +2919,7 @@ static PRED_RETURN_CONDITION Execute_PNS_Approach(STRATEGYBLOCK *sbPtr)
}
return(PRC_No_Change);
}
+#endif
static PRED_RETURN_CONDITION Execute_PNS_EngageWithPistol(STRATEGYBLOCK *sbPtr)
{
@@ -3484,6 +3490,7 @@ static PRED_RETURN_CONDITION Execute_PNS_AttackWithWristblade(STRATEGYBLOCK *sbP
}
+#if 0
static PRED_RETURN_CONDITION Execute_PNS_StandGround(STRATEGYBLOCK *sbPtr)
{
PREDATOR_STATUS_BLOCK *predatorStatusPointer;
@@ -3524,6 +3531,7 @@ static PRED_RETURN_CONDITION Execute_PNS_StandGround(STRATEGYBLOCK *sbPtr)
}
return(PRC_No_Change);
}
+#endif
static PRED_RETURN_CONDITION Execute_PNS_SwapWeapon(STRATEGYBLOCK *sbPtr) {
@@ -4162,6 +4170,7 @@ static void Execute_Dying(STRATEGYBLOCK *sbPtr)
predStatusPointer->stateTimer -= NormalFrameTime;
}
+#if 0
/* Patrick 4/7/97 --------------------------------------------------
Behaviour support functions
---------------------------------------------------------------------*/
@@ -4255,6 +4264,7 @@ static void CreateNPCPredatorDisc(VECTORCH *startingPosition, VECTORCH *targetDi
dynPtr->LinVelocity.vy = MUL_FIXED(targetDirection->vy,PRED_DISCSPEED);
dynPtr->LinVelocity.vz = MUL_FIXED(targetDirection->vz,PRED_DISCSPEED);
}
+#endif
static void SetPredatorAnimationSequence(STRATEGYBLOCK *sbPtr,HMODEL_SEQUENCE_TYPES type, int subtype, int length, int tweening)
{
@@ -6479,6 +6489,7 @@ static PRED_RETURN_CONDITION Execute_PNS_AttackBrutallyWithPlasmaCaster(STRATEGY
return(PRC_No_Change);
}
+#if 0
static PRED_RETURN_CONDITION Predator_ThreatAnalysis(STRATEGYBLOCK *sbPtr) {
PREDATOR_STATUS_BLOCK *predatorStatusPointer;
@@ -6701,6 +6712,7 @@ static PRED_RETURN_CONDITION Execute_PNS_NewDischargePistol(STRATEGYBLOCK *sbPtr
#endif
return(PRC_No_Change);
}
+#endif
static PRED_RETURN_CONDITION Execute_PNS_SelfDestruct(STRATEGYBLOCK *sbPtr)
{
diff --git a/src/avp/bh_queen.c b/src/avp/bh_queen.c
index 0b8a64b..3eb1f1e 100644
--- a/src/avp/bh_queen.c
+++ b/src/avp/bh_queen.c
@@ -90,6 +90,7 @@ static BOOL TargetIsFiringFlamethrowerAtQueen(STRATEGYBLOCK *sbPtr);
static void MakeNonFragable(HMODELCONTROLLER *controller);
static void QueenCalculateTargetInfo(STRATEGYBLOCK *sbPtr);
void HandleHangarAirlock();
+static BOOL LockerDoorIsClosed();
QUEEN_MANOEUVRE Queen_Next_Command;
@@ -1144,7 +1145,7 @@ void QueenMove_Walk(STRATEGYBLOCK *sbPtr) {
else
{
VECTORCH velocity;
- int walkSpeed;
+ //int walkSpeed;
velocity.vx=sbPtr->DynPtr->OrientMat.mat31;
velocity.vy=0;
@@ -4509,7 +4510,7 @@ void QueenBehaviour(STRATEGYBLOCK *sbPtr)
}
-BOOL LockerDoorIsClosed()
+static BOOL LockerDoorIsClosed()
{
TRACK_OBJECT_BEHAV_BLOCK* door;
GLOBALASSERT(LockerDoorSbptr);
diff --git a/src/avp/bh_types.c b/src/avp/bh_types.c
index e69f377..2eba2c9 100644
--- a/src/avp/bh_types.c
+++ b/src/avp/bh_types.c
@@ -7,6 +7,7 @@
#include "stratdef.h"
#include "gamedef.h"
#include "bh_types.h"
+#include "bonusabilities.h"
#include "weapons.h"
#include "comp_shp.h"
diff --git a/src/avp/bh_videoscreen.c b/src/avp/bh_videoscreen.c
index c2571bd..d835376 100644
--- a/src/avp/bh_videoscreen.c
+++ b/src/avp/bh_videoscreen.c
@@ -8,6 +8,7 @@
#include "dynblock.h"
#include "dynamics.h"
#include "bh_debri.h"
+#include "plat_shp.h"
#define UseLocalAssert Yes
#include "ourasert.h"
diff --git a/src/avp/bh_waypt.c b/src/avp/bh_waypt.c
index 3f6b6d7..899c33a 100644
--- a/src/avp/bh_waypt.c
+++ b/src/avp/bh_waypt.c
@@ -47,6 +47,7 @@ int NewFindThisRoute(WAYPOINT_HEADER *waypoints, WAYPOINT_ROUTE *thisroute,WAYPO
void SweepWaypoints(WAYPOINT_HEADER *waypoints, STRATEGYBLOCK *sbPtr, VECTORCH *targetPosition);
int FindBestRoute(WAYPOINT_ROUTE *bestroute,WAYPOINT_HEADER *waypoints);
int NPCContainsPoint(STRATEGYBLOCK *sbPtr,VECTORCH *point);
+static int WaypointContainsPoint(WAYPOINT_VOLUME *waypoint, VECTORCH *point);
void GetTargetPositionInWaypoint(WAYPOINT_VOLUME *waypoint,VECTORCH *output);
@@ -270,7 +271,7 @@ int NPCGetWaypointDirection(WAYPOINT_HEADER *waypoints, STRATEGYBLOCK *sbPtr, VE
}
-int WaypointContainsPoint(WAYPOINT_VOLUME *waypoint, VECTORCH *point) {
+static int WaypointContainsPoint(WAYPOINT_VOLUME *waypoint, VECTORCH *point) {
/* 'point' should be in module space. */
diff --git a/src/avp/bh_weap.c b/src/avp/bh_weap.c
index 107eced..b91804f 100644
--- a/src/avp/bh_weap.c
+++ b/src/avp/bh_weap.c
@@ -23,11 +23,16 @@
#include "bh_alien.h"
#include "bh_marin.h"
#include "bh_dummy.h"
+#include "bh_rubberduck.h"
#include "pvisible.h"
#include "pheromon.h"
#include "psnd.h"
#include "psndplat.h"
#include "huddefs.h"
+#include "ai_sight.h"
+#include "targeting.h"
+#include "inventry.h"
+#include "game_statistics.h"
#include "particle.h"
#include "sfx.h"
@@ -66,7 +71,6 @@ void InitialiseEnergyBoltBehaviour(DAMAGE_PROFILE *damage, int factor);
static void InitialiseFlameThrowerBehaviour(void);
void InitialiseDiscBehaviour(STRATEGYBLOCK *target,SECTION_DATA *disc_section);
static void InitialiseAlienSpitBehaviour(void);
-static void InitialiseFragmentationGrenade(VECTORCH *originPtr);
STRATEGYBLOCK* InitialiseEnergyBoltBehaviourKernel(VECTORCH *position,MATRIXCH *orient, int player, DAMAGE_PROFILE *damage, int factor);
static void InitialiseFrisbeeBehaviour(void);
STRATEGYBLOCK* InitialiseFrisbeeBoltBehaviourKernel(VECTORCH *position,MATRIXCH *orient, int player, DAMAGE_PROFILE *damage, int factor);
@@ -80,6 +84,8 @@ STRATEGYBLOCK *PredDisc_GetNewTarget(PC_PRED_DISC_BEHAV_BLOCK *bptr,VECTORCH *di
int ObjectIsOnScreen(DISPLAYBLOCK *object);
void Frisbee_Hit_Environment(STRATEGYBLOCK *sbPtr,COLLISIONREPORT *reportPtr);
void Crunch_Position_For_Players_Weapon(VECTORCH *position);
+static int SBForcesBounce(STRATEGYBLOCK *sbPtr);
+static int Reflect(VECTORCH *Incident, VECTORCH *Normal, EULER *Output);
/*KJL****************************************************************************************
* G L O B A L S *
@@ -240,11 +246,10 @@ int FrisbeeSight_FrustrumReject(STRATEGYBLOCK *sbPtr,VECTORCH *localOffset,STRAT
)) {
/* 90 horizontal, 90 vertical? */
#else
- if ((fixed_offset.vx <0) && (
- ((fixed_offset.vy) < (-fixed_offset.vx))&&(fixed_offset.vy>=0))
- ||((fixed_offset.vy<0)&&((-fixed_offset.vy) < (-fixed_offset.vx))
- )&&(
- (fixed_offset.vz>0)
+ if (((fixed_offset.vx <0) && (
+ ((fixed_offset.vy) < (-fixed_offset.vx))&&(fixed_offset.vy>=0)))
+ || (((fixed_offset.vy<0)&&((-fixed_offset.vy) < (-fixed_offset.vx))
+ )&&((fixed_offset.vz>0))
)) {
/* 90 horizontal, 90 vertical? */
#endif
@@ -468,7 +473,6 @@ STRATEGYBLOCK* CreateFrisbeeKernel(VECTORCH *position, MATRIXCH *orient, int fro
/* Create HModel. */
{
SECTION *root_section;
- SECTION_DATA *local_disc;
root_section=GetNamedHierarchyFromLibrary("mdisk","Mdisk");
@@ -483,6 +487,7 @@ STRATEGYBLOCK* CreateFrisbeeKernel(VECTORCH *position, MATRIXCH *orient, int fro
dispPtr->HModelControlBlock=&fblk->HModelController;
#if 0
+ SECTION_DATA *local_disc;
/* Match disks. */
local_disc=GetThisSectionData(bblk->HModelController.section_data,"disk");
local_disc->World_Offset=disc_section->World_Offset;
@@ -1345,6 +1350,7 @@ extern void ClusterGrenadeBehaviour(STRATEGYBLOCK *sbPtr)
}
}
+#if 0
static void InitialiseFragmentationGrenade(VECTORCH *originPtr)
{
DISPLAYBLOCK *dispPtr;
@@ -1405,6 +1411,8 @@ static void InitialiseFragmentationGrenade(VECTORCH *originPtr)
if(AvP.Network != I_No_Network) AddNetGameObjectID(dispPtr->ObStrategyBlock);
#endif
}
+#endif
+
extern void ProximityGrenadeBehaviour(STRATEGYBLOCK *sbPtr)
{
DYNAMICSBLOCK *dynPtr = sbPtr->DynPtr;
@@ -3391,7 +3399,7 @@ static void GetGunDirection(VECTORCH *gunDirectionPtr, VECTORCH *positionPtr)
Normalise(gunDirectionPtr);
}
-int Reflect(VECTORCH *Incident, VECTORCH *Normal, EULER *Output) {
+static int Reflect(VECTORCH *Incident, VECTORCH *Normal, EULER *Output) {
int dot,retval;
VECTORCH outVec,normInc;
@@ -3420,7 +3428,7 @@ int Reflect(VECTORCH *Incident, VECTORCH *Normal, EULER *Output) {
return(retval);
}
-int SBForcesBounce(STRATEGYBLOCK *sbPtr) {
+static int SBForcesBounce(STRATEGYBLOCK *sbPtr) {
if (sbPtr==NULL) {
return(0);
diff --git a/src/avp/bh_weap.h b/src/avp/bh_weap.h
index 5d36349..ace01a1 100644
--- a/src/avp/bh_weap.h
+++ b/src/avp/bh_weap.h
@@ -27,6 +27,7 @@ void FirePredPistolFlechettes(VECTORCH *base_position,VECTORCH *base_offset,MATR
extern void FrisbeeEnergyBoltBehaviour(STRATEGYBLOCK *sbPtr);
extern int SBIsEnvironment(STRATEGYBLOCK *sbPtr);
+int ValidTargetForProxMine(STRATEGYBLOCK *obstaclePtr);
typedef struct OneShotBehaviourType
{
diff --git a/src/avp/bh_xeno.c b/src/avp/bh_xeno.c
index c4775d7..4f97944 100644
--- a/src/avp/bh_xeno.c
+++ b/src/avp/bh_xeno.c
@@ -39,6 +39,7 @@
#include "bh_alien.h"
#include "bh_corpse.h"
#include "bh_dummy.h"
+#include "game_statistics.h"
#define UseLocalAssert Yes
#include "ourasert.h"
@@ -4124,7 +4125,9 @@ void Execute_Xeno_TurnToFace_Far(STRATEGYBLOCK *sbPtr)
void Execute_Xeno_Follow_Far(STRATEGYBLOCK *sbPtr)
{
XENO_STATUS_BLOCK *xenoStatusPointer;
+#if FAR_XENO_ACTIVITY
int anglex,angley;
+#endif
LOCALASSERT(sbPtr);
xenoStatusPointer = (XENO_STATUS_BLOCK *)(sbPtr->SBdataptr);
@@ -4319,7 +4322,9 @@ void Execute_Xeno_Return_Far(STRATEGYBLOCK *sbPtr)
void Execute_Xeno_Avoidance_Far(STRATEGYBLOCK *sbPtr)
{
XENO_STATUS_BLOCK *xenoStatusPointer;
+#if FAR_XENO_ACTIVITY
int anglex,angley;
+#endif
LOCALASSERT(sbPtr);
xenoStatusPointer = (XENO_STATUS_BLOCK *)(sbPtr->SBdataptr);
diff --git a/src/avp/bonusabilities.c b/src/avp/bonusabilities.c
index 206b78c..1e99931 100644
--- a/src/avp/bonusabilities.c
+++ b/src/avp/bonusabilities.c
@@ -184,7 +184,7 @@ static DISPLAYBLOCK* CreateGrapplingHook(void)
}
-extern void GrapplingHookBehaviour(STRATEGYBLOCK *sbPtr)
+void GrapplingHookBehaviour(STRATEGYBLOCK *sbPtr)
{
DYNAMICSBLOCK *dynPtr = sbPtr->DynPtr;
diff --git a/src/avp/bonusabilities.h b/src/avp/bonusabilities.h
index f701fae..65b9ec0 100644
--- a/src/avp/bonusabilities.h
+++ b/src/avp/bonusabilities.h
@@ -6,3 +6,4 @@ extern void ActivateGrapplingHook(void);
extern void HandleGrapplingHookForces(void);
extern void RenderGrapplingHook(void);
extern void DisengageGrapplingHook(void);
+void GrapplingHookBehaviour(STRATEGYBLOCK *sbPtr);
diff --git a/src/avp/cheatmodes.c b/src/avp/cheatmodes.c
index 812c31a..bf5fc20 100644
--- a/src/avp/cheatmodes.c
+++ b/src/avp/cheatmodes.c
@@ -14,6 +14,8 @@ int CheatMode_Environment=0;
extern void CheatMode_GetNextAllowedSpecies(int *speciesPtr, int searchForward);
extern void CheatMode_GetNextAllowedEnvironment(int *environmentPtr, int searchForward);
extern void CheatMode_CheckOptionsAreValid(void);
+static int ThereIsAnAllowedEnvironment(void);
+static int EnvironmentPlayableBySpecies(int environment);
#define NUMBER_OF_ENVIRONMENTS (MAX_NO_OF_MARINE_EPISODES+MAX_NO_OF_PREDATOR_EPISODES+MAX_NO_OF_ALIEN_EPISODES)
#define NUMBER_OF_SPECIES 3
diff --git a/src/avp/comp_map.c b/src/avp/comp_map.c
index 83fcee1..3f937e0 100644
--- a/src/avp/comp_map.c
+++ b/src/avp/comp_map.c
@@ -180,7 +180,7 @@ MAPBLOCK6 Term_Type6 = {
MAPBLOCK8 Player_and_Camera_Type8[] = {
#if SupportModules
/* Ship */
-
+ {
MapType_Player,
I_ShapeMarinePlayer, /*mainshapelist position 0*/
@@ -188,8 +188,8 @@ MAPBLOCK8 Player_and_Camera_Type8[] = {
/* MapType_Camera, */
- 0, 0, 0, /* Loc */
- 0, 3062, 0, /* Orient */
+ {0, 0, 0}, /* Loc */
+ {0, 3062, 0}, /* Orient */
ObFlag_MultLSrc
|0
@@ -227,7 +227,7 @@ MAPBLOCK8 Player_and_Camera_Type8[] = {
0, /* MapMass */
0,0,0, /* MapNewtonV */
#endif
- 0,0,0, /* MapOrigin */
+ {0,0,0}, /* MapOrigin */
0, /* MapSimShapes */
0, /* MapViewType */
@@ -235,8 +235,8 @@ MAPBLOCK8 Player_and_Camera_Type8[] = {
0, /* MapMPtr */
0, /* MapDPtr */
- 0,0,0, /* MapMOffset */
-
+ {0,0,0} /* MapMOffset */
+ },
/****************************************************************************/
@@ -295,10 +295,11 @@ MAPBLOCK8 Player_and_Camera_Type8[] = {
/****************************************************************************/
/* Map End */
#endif /*SupportModules*/
+ {
MapType_Term, /* Map Type Function */
0, /* Shape */
- 0,0,0, /* Loc */
- 0,0,0, /* Orient */
+ {0,0,0}, /* Loc */
+ {0,0,0}, /* Orient */
0, /* Flags 1 */
0, /* Flags 2 */
0, /* Flags 3 */
@@ -316,13 +317,13 @@ MAPBLOCK8 Player_and_Camera_Type8[] = {
0, /* MapMass */
0,0,0, /* MapNewtonV */
#endif
- 0,0,0, /* MapOrigin */
+ {0,0,0}, /* MapOrigin */
0, /* MapSimShapes */
0, /* MapViewType */
0, /* MapMPtr */
0, /* MapDPtr */
- 0,0,0, /* MapMOffset */
-
+ {0,0,0} /* MapMOffset */
+ }
};
diff --git a/src/avp/davehook.cpp b/src/avp/davehook.cpp
index b49cf60..c55941d 100644
--- a/src/avp/davehook.cpp
+++ b/src/avp/davehook.cpp
@@ -301,7 +301,9 @@
void DAVEHOOK_Init(void)
{
+#if 0
static SCString* pSCString_TestLeak = new SCString("this is a test memory leak");
+#endif
MissionHacks :: TestInit();
diff --git a/src/avp/dynamics.c b/src/avp/dynamics.c
index 96afed8..edb5ae9 100644
--- a/src/avp/dynamics.c
+++ b/src/avp/dynamics.c
@@ -165,6 +165,7 @@ static void MakeStaticBoundingBoxForNRBB(STRATEGYBLOCK *sbPtr);
static int RelocateNRBB(STRATEGYBLOCK *sbPtr);
static void FindLandscapePolygonsInObjectsVicinity(STRATEGYBLOCK *sbPtr);
+#if 0
static signed int DistanceMovedBeforeNRBBHitsNegYPolygon(DYNAMICSBLOCK *dynPtr, struct ColPolyTag *polyPtr, int distanceToMove);
static signed int DistanceMovedBeforeNRBBHitsPosYPolygon(DYNAMICSBLOCK *dynPtr, struct ColPolyTag *polyPtr, int distanceToMove);
static signed int DistanceMovedBeforeNRBBHitsNegXPolygon(DYNAMICSBLOCK *dynPtr, struct ColPolyTag *polyPtr, int distanceToMove);
@@ -172,6 +173,7 @@ static signed int DistanceMovedBeforeNRBBHitsPosXPolygon(DYNAMICSBLOCK *dynPtr,
static signed int DistanceMovedBeforeNRBBHitsNegZPolygon(DYNAMICSBLOCK *dynPtr, struct ColPolyTag *polyPtr, int distanceToMove);
static signed int DistanceMovedBeforeNRBBHitsPosZPolygon(DYNAMICSBLOCK *dynPtr, struct ColPolyTag *polyPtr, int distanceToMove);
static void TestForValidMovement(STRATEGYBLOCK *sbPtr);
+#endif
static int MoveObject(STRATEGYBLOCK *sbPtr);
static void TestForValidPlayerStandUp(STRATEGYBLOCK *sbPtr);
static int SteppingUpIsValid(STRATEGYBLOCK *sbPtr);
@@ -188,7 +190,6 @@ static int (*RelocationIsValid)(STRATEGYBLOCK *sbPtr);
static void MovePlatformLift(STRATEGYBLOCK *sbPtr);
static void FindLandscapePolygonsInParticlesPath(PARTICLE *particlePtr, VECTORCH *displacementPtr);
-void AddEffectsOfForceGenerators(VECTORCH *positionPtr, VECTORCH *impulsePtr, int mass);
VECTORCH *GetNearestModuleTeleportPoint(MODULE* thisModulePtr, VECTORCH* positionPtr);
@@ -1570,17 +1571,13 @@ static int MoveObject(STRATEGYBLOCK *sbPtr)
if (!wentUpStep)
{
- STRATEGYBLOCK *obstacleSBPtr;
+ STRATEGYBLOCK *obstacleSBPtr = 0;
if (polygonPtr->ParentObject)
- if (polygonPtr->ParentObject->ObStrategyBlock)
- {
- obstacleSBPtr = polygonPtr->ParentObject->ObStrategyBlock;
- }
- else
- {
- obstacleSBPtr = 0;
- }
+ if (polygonPtr->ParentObject->ObStrategyBlock)
+ {
+ obstacleSBPtr = polygonPtr->ParentObject->ObStrategyBlock;
+ }
DistanceToStepUp = 0;
@@ -3479,6 +3476,7 @@ static int AxisToIgnore(VECTORCH *normal)
}
}
+#if 0
static void TestForValidMovement(STRATEGYBLOCK *sbPtr)
{
#if 1
@@ -3503,6 +3501,7 @@ static void TestForValidMovement(STRATEGYBLOCK *sbPtr)
}
#endif
}
+#endif
static int RelocateSphere(STRATEGYBLOCK *sbPtr)
{
diff --git a/src/avp/dynamics.h b/src/avp/dynamics.h
index ca71b50..89ae69f 100644
--- a/src/avp/dynamics.h
+++ b/src/avp/dynamics.h
@@ -53,5 +53,6 @@ extern void GetPolygonNormal(struct ColPolyTag *polyPtr);
extern EULER HeadOrientation;
extern int ParticleDynamics(PARTICLE *particlePtr, VECTORCH *obstacleNormalPtr, int *moduleIndexPtr);
+void AddEffectsOfForceGenerators(VECTORCH *positionPtr, VECTORCH *impulsePtr, int mass);
#endif /* end of preprocessor condition for file wrapping */
diff --git a/src/avp/game.c b/src/avp/game.c
index 6090860..0c5b03f 100644
--- a/src/avp/game.c
+++ b/src/avp/game.c
@@ -5,6 +5,8 @@
#include "stratdef.h"
#include "gamedef.h"
+#include "game_statistics.h"
+#include "messagehistory.h"
#include "dynblock.h"
#include "dynamics.h"
@@ -42,6 +44,7 @@
#include "pldnet.h"
#include "kshape.h"
+#include "game.h"
/* KJL 16:00:13 11/22/96 - One of my evil experiments.... */
#define PENTIUM_PROFILING_ON 0
diff --git a/src/avp/game.h b/src/avp/game.h
new file mode 100644
index 0000000..e78ee21
--- /dev/null
+++ b/src/avp/game.h
@@ -0,0 +1,6 @@
+#ifndef GAME_H
+#define GAME_H
+
+void TimeStampedMessage(char *stringPtr);
+
+#endif
diff --git a/src/avp/game_statistics.c b/src/avp/game_statistics.c
index a2725de..c0937fc 100644
--- a/src/avp/game_statistics.c
+++ b/src/avp/game_statistics.c
@@ -12,6 +12,7 @@
#include "bh_debri.h"
#include "bh_weap.h"
#include "pldghost.h"
+#include "opengl.h"
#define UseLocalAssert Yes
#include "ourasert.h"
@@ -40,7 +41,6 @@ extern int AlienEpisodeToPlay;
extern char LevelName[];
extern AvP_Level_Target_Desc LevelStatsTargets[I_MaxDifficulties][AVP_ENVIRONMENT_END_OF_LIST];
-extern void DoStatisticsScreen(int completed_level);
/* Default structure: */
AvP_GameStats_Stored DefaultLevelGameStats = {
@@ -78,7 +78,7 @@ AvP_GameStats_Stored DefaultLevelGameStats = {
#define NEWLINE_SPACING ((ScreenDescriptorBlock.SDB_Height<400)? 12:15)
-extern void CurrentGameStats_Initialise(void)
+void CurrentGameStats_Initialise(void)
{
int i;
for (i=0; i<STATS_VICTIM_MAXIMUM; i++)
@@ -834,7 +834,7 @@ extern void CurrentGameStats_CreatureKilled(STRATEGYBLOCK *sbPtr,SECTION_DATA *s
}
-extern void DoFailedLevelStatisticsScreen(void)
+void DoFailedLevelStatisticsScreen(void)
{
extern int deathFadeLevel;
D3D_FadeDownScreen(deathFadeLevel,0);
diff --git a/src/avp/game_statistics.h b/src/avp/game_statistics.h
index e8372a0..a9409b9 100644
--- a/src/avp/game_statistics.h
+++ b/src/avp/game_statistics.h
@@ -100,6 +100,9 @@ extern void CurrentGameStats_CreatureKilled(STRATEGYBLOCK *sbPtr,SECTION_DATA *s
extern void CurrentGameStats_TrophyCollected(STRATEGYBLOCK *sbPtr);
extern void CurrentGameStats_HeadBitten(STRATEGYBLOCK *sbPtr);
extern void InitialiseCurrentGameStatistics(void);
+extern void CurrentGameStats_Initialise(void);
+extern void DoFailedLevelStatisticsScreen(void);
+extern void DoStatisticsScreen(int completed_level);
#ifdef __cplusplus
}
diff --git a/src/avp/gamecmds.cpp b/src/avp/gamecmds.cpp
index 0cec53b..a9b0796 100644
--- a/src/avp/gamecmds.cpp
+++ b/src/avp/gamecmds.cpp
@@ -97,6 +97,7 @@ static void ShowFPS(void)
{
ShowDebuggingText.FPS = ~ShowDebuggingText.FPS;
}
+#if CONSOLE_DEBUGGING_COMMANDS_ACTIVATED
static void ShowEnvironment(void)
{
ShowDebuggingText.Environment = ~ShowDebuggingText.Environment;
@@ -129,17 +130,19 @@ static void ShowTears(void)
{
ShowDebuggingText.Tears = ~ShowDebuggingText.Tears;
}
-static void ShowPolyCount(void)
-{
- ShowDebuggingText.PolyCount = ~ShowDebuggingText.PolyCount;
-}
static void ShowSounds(void)
{
ShowDebuggingText.Sounds = ~ShowDebuggingText.Sounds;
}
+#endif
+static void ShowPolyCount(void)
+{
+ ShowDebuggingText.PolyCount = ~ShowDebuggingText.PolyCount;
+}
extern void ChangeToMarine();
+#if CONSOLE_DEBUGGING_COMMANDS_ACTIVATED
static void ChangeToSpecialist_General()
{
netGameData.myCharacterSubType=NGSCT_General;
@@ -208,6 +211,12 @@ static void ChangeToSpecialist_Pistols()
ChangeToMarine();
}
+static void ForceAssertionFailure(void)
+{
+ LOCALASSERT("This assertion has been forced to stop the game"==0);
+}
+#endif
+
extern void ShowMultiplayerScores(void)
{
ShowMultiplayerScoreTimer=5*ONE_FIXED;
@@ -225,11 +234,6 @@ static void DoMultiplayerSaySpecies(char* string)
AddNetMsg_ChatBroadcast(string,TRUE);
}
-static void ForceAssertionFailure(void)
-{
- LOCALASSERT("This assertion has been forced to stop the game"==0);
-}
-
static void CDCommand_Play(int track)
@@ -265,6 +269,7 @@ static void CDCommand_Volume(int volume)
}
+#if CONSOLE_DEBUGGING_COMMANDS_ACTIVATED
static void GunX(int x)
{
PLAYER_STATUS *playerStatusPtr= (PLAYER_STATUS *) (Player->ObStrategyBlock->SBdataptr);
@@ -289,12 +294,14 @@ static void GunZ(int z)
twPtr->RestPosition.vz = z;
}
+#endif
static void MakeRotatingLight(void)
{
MakeLightElement(&Player->ObWorld,LIGHTELEMENT_ROTATING);
}
+#if CONSOLE_DEBUGGING_COMMANDS_ACTIVATED
static void RestartMultiplayer(void)
{
/* obviously have to be in a network game... */
@@ -309,6 +316,7 @@ static void CompleteLevel(void)
{
AvP.LevelCompleted = 1;
}
+#endif
void CreateGameSpecificConsoleCommands(void)
diff --git a/src/avp/hmodel.c b/src/avp/hmodel.c
index c7f4d2a..e7f37fc 100644
--- a/src/avp/hmodel.c
+++ b/src/avp/hmodel.c
@@ -27,6 +27,8 @@
#include "load_shp.h"
#include "plat_shp.h"
#include "avp_userprofile.h"
+#include "maths.h"
+#include "opengl.h"
#define UseLocalAssert Yes
#include "ourasert.h"
@@ -4940,7 +4942,7 @@ void LoadHierarchy(SAVE_BLOCK_HEADER* header,HMODELCONTROLLER* controller)
{
SAVE_BLOCK_HEADER* delta_header;
- while(delta_header = GetNextBlockIfOfType(SaveBlock_HierarchyDelta))
+ while((delta_header = GetNextBlockIfOfType(SaveBlock_HierarchyDelta)))
{
LoadHierarchyDelta(delta_header,controller);
}
diff --git a/src/avp/hud.c b/src/avp/hud.c
index 68efcf3..952717a 100644
--- a/src/avp/hud.c
+++ b/src/avp/hud.c
@@ -35,6 +35,8 @@
#include "pldghost.h"
#include "d3d_render.h"
+#include "kshape.h"
+#include "opengl.h"
#include "bh_ais.h"
#include "bh_alien.h"
@@ -49,6 +51,7 @@
#include "pldnet.h"
#include "avp_userprofile.h"
#include "hud.h"
+#include "chnkload.h"
extern int ScanDrawMode;
@@ -1881,7 +1884,6 @@ void DrawWristDisplay(void)
{
extern HMODELCONTROLLER PlayersWeaponHModelController;
SECTION_DATA *sectionPtr;
- int i;
char *sectionName[]= {"Dum bar display","Dum 1 display","Dum 2 display","Dum 3 display","Dum 4 display"};
@@ -1890,7 +1892,7 @@ void DrawWristDisplay(void)
RenderPredatorPlasmaCasterCharge(PlayerStatusPtr->PlasmaCasterCharge, &sectionPtr->World_Offset, &sectionPtr->SecMat);
#if 0
- for (i=0; i<5; i++)
+ for (int i=0; i<5; i++)
{
DECAL CurrentDecal;
extern MODULE *playerPherModule;
diff --git a/src/avp/inventry.c b/src/avp/inventry.c
index cc3188f..dc34e60 100644
--- a/src/avp/inventry.c
+++ b/src/avp/inventry.c
@@ -33,7 +33,6 @@ rounds fired etc etc etc*/
void InitialisePlayersInventory(PLAYER_STATUS *playerStatusPtr);
void MaintainPlayersInventory(void);
void SetPlayerSecurityClearance(STRATEGYBLOCK *sbPtr, unsigned int securityLevel);
-int SlotForThisWeapon(enum WEAPON_ID weaponID);
static int AbleToPickupAmmo(enum AMMO_ID ammoID);
static int AbleToPickupWeapon(enum WEAPON_ID weaponID);
diff --git a/src/avp/inventry.h b/src/avp/inventry.h
index 77bd267..5c397ea 100644
--- a/src/avp/inventry.h
+++ b/src/avp/inventry.h
@@ -1,3 +1,6 @@
+#ifndef INVENTRY_H
+#define INVENTRY_H
+
/*KJL*****************************************************
* INVENTRY.H - contains externs to the fns in INVENTRY.C *
*****************************************************KJL*/
@@ -13,6 +16,7 @@ extern void MaintainPlayersInventory(void);
------------------------------------------------------------------------------*/
extern void SetPlayerSecurityClearance(STRATEGYBLOCK *sbPtr, unsigned int securityLevel);
extern int ReturnPlayerSecurityClearance(STRATEGYBLOCK *sbPtr, unsigned int securityLevel);
+int SlotForThisWeapon(enum WEAPON_ID weaponID);
@@ -34,3 +38,5 @@ typedef struct player_starting_equipment
extern PLAYER_STARTING_EQUIPMENT StartingEquipment;
#define PISTOL_INFINITE_AMMO (netGameData.pistolInfiniteAmmo)
+
+#endif
diff --git a/src/avp/messagehistory.c b/src/avp/messagehistory.c
index d53528c..6c46413 100644
--- a/src/avp/messagehistory.c
+++ b/src/avp/messagehistory.c
@@ -4,6 +4,7 @@
#include "stratdef.h"
#include "gamedef.h"
#include "language.h"
+#include "messagehistory.h"
#define MAX_NO_OF_MESSAGES_IN_HISTORY 64
diff --git a/src/avp/messagehistory.h b/src/avp/messagehistory.h
new file mode 100644
index 0000000..d598fb0
--- /dev/null
+++ b/src/avp/messagehistory.h
@@ -0,0 +1,8 @@
+#ifndef MESSAGEHISTORY_H
+#define MESSAGEHISTORY_H
+
+void MessageHistory_DisplayPrevious(void);
+void MessageHistory_Initialise(void);
+void MessageHistory_Maintain(void);
+
+#endif
diff --git a/src/avp/paintball.c b/src/avp/paintball.c
index 671f16f..e5dc2f8 100644
--- a/src/avp/paintball.c
+++ b/src/avp/paintball.c
@@ -2,6 +2,7 @@
#include "3dc.h"
#include "module.h"
#include "inline.h"
+#include "kshape.h"
#include "paintball.h"
#include "showcmds.h"
diff --git a/src/avp/paintball.h b/src/avp/paintball.h
index 7f90860..07db072 100644
--- a/src/avp/paintball.h
+++ b/src/avp/paintball.h
@@ -30,5 +30,9 @@ extern void PaintBallMode_DrawCurrentDecalAtTarget(void);
extern void PaintBallMode_ChangeSelectedDecalID(int delta);
extern void PaintBallMode_ChangeSize(int delta);
extern void PaintBallMode_AddDecal(void);
+extern void PaintBallMode_ChangeSubclass(int delta);
+extern void PaintBallMode_Randomise(void);
+extern void PaintBallMode_RemoveDecal(void);
+extern void PaintBallMode_Rotate(void);
#endif
diff --git a/src/avp/particle.c b/src/avp/particle.c
index 757b43e..192a393 100644
--- a/src/avp/particle.c
+++ b/src/avp/particle.c
@@ -24,15 +24,19 @@
#include "sphere.h"
#include "bh_rubberduck.h"
#include "bh_weap.h"
+#include "weapons.h"
#include "avpview.h"
#include "pldghost.h"
#include "detaillevels.h"
#include "psnd.h"
+#include "kzsort.h"
#include "avp_userprofile.h"
#define UseLocalAssert Yes
#include "ourasert.h"
#include "savegame.h"
#include "los.h"
+#include "chnkload.h"
+#include "maths.h"
#include <math.h>
diff --git a/src/avp/particle.h b/src/avp/particle.h
index 9043d06..85e3a80 100644
--- a/src/avp/particle.h
+++ b/src/avp/particle.h
@@ -196,6 +196,10 @@ extern void MakeFocusedExplosion(VECTORCH *originPtr, VECTORCH *blastPositionPtr
extern void MakeElectricalExplosion(VECTORCH *positionPtr);
void MakeSprayOfSparks(MATRIXCH *orientationPtr, VECTORCH *positionPtr);
void PlayerPheromoneTrail(DYNAMICSBLOCK *dynPtr);
+void MakeGrenadeTrailParticles(VECTORCH *prevPositionPtr, VECTORCH *positionPtr);
+void MakePlasmaTrailParticles(DYNAMICSBLOCK *dynPtr, int number);
+void NewTrailPoint(DYNAMICSBLOCK *dynPtr);
+void TimeScaleThingy();
#define MAX_NO_OF_BLOOD_PARTICLES 500
diff --git a/src/avp/pmove.c b/src/avp/pmove.c
index d5bec6a..f0db3f1 100644
--- a/src/avp/pmove.c
+++ b/src/avp/pmove.c
@@ -1696,7 +1696,7 @@ static void LoadInMovementValues(void)
-extern void ThrowAFlare(void)
+void ThrowAFlare(void)
{
extern int NumberOfFlaresActive;
diff --git a/src/avp/pmove.h b/src/avp/pmove.h
index ac4fc00..a0637d7 100644
--- a/src/avp/pmove.h
+++ b/src/avp/pmove.h
@@ -73,6 +73,8 @@ typedef enum player_morph_state
extern void InitPlayerMovementData(STRATEGYBLOCK* sbPtr);
extern void PlayerBehaviour(STRATEGYBLOCK* sbptr);
extern void ExecuteFreeMovement(STRATEGYBLOCK* sbPtr);
+void ThrowAFlare(void);
+void StartPlayerTaunt(void);
#ifdef __cplusplus
diff --git a/src/avp/weapons.c b/src/avp/weapons.c
index 6ddb8ae..c00c372 100644
--- a/src/avp/weapons.c
+++ b/src/avp/weapons.c
@@ -297,7 +297,6 @@ void HandleWeaponImpact(VECTORCH *positionPtr, STRATEGYBLOCK *sbPtr, enum AMMO_I
void FireAutoGun(STRATEGYBLOCK *sbPtr);
-void MakeMatrixFromDirection(VECTORCH *directionPtr, MATRIXCH *matrixPtr);
void FindEndOfShape(VECTORCH* endPositionPtr, int shapeIndex);
static void CalculateTorque(EULER *rotationPtr, VECTORCH *directionPtr, STRATEGYBLOCK *sbPtr);
static void CalculateTorqueAtPoint(EULER *rotationPtr, VECTORCH *pointPtr, STRATEGYBLOCK *sbPtr);
diff --git a/src/avp/win95/d3d_hud.h b/src/avp/win95/d3d_hud.h
index 995e29d..b945831 100644
--- a/src/avp/win95/d3d_hud.h
+++ b/src/avp/win95/d3d_hud.h
@@ -64,5 +64,7 @@ extern void D3D_BlitWhiteChar(int x, int y, unsigned char c);
/* KJL 17:55:48 18/04/98 - called by HUD.c */
extern void Render_HealthAndArmour(unsigned int health, unsigned int armour);
extern void Render_MarineAmmo(enum TEXTSTRING_ID ammoText, enum TEXTSTRING_ID magazinesText, unsigned int magazines, enum TEXTSTRING_ID roundsText, unsigned int rounds, int primaryAmmo);
+void D3D_DrawHUDPredatorDigit(HUDCharDesc *charDescPtr, int scale);
+void Draw_HUDImage(HUDImageDesc *imageDescPtr);
#endif
diff --git a/src/avp/win95/frontend/avp_intro.cpp b/src/avp/win95/frontend/avp_intro.cpp
index 263ab37..ee26dfc 100644
--- a/src/avp/win95/frontend/avp_intro.cpp
+++ b/src/avp/win95/frontend/avp_intro.cpp
@@ -6,6 +6,7 @@ extern "C"
#include "inline.h"
//#include "smacker.h"
#include "avp_menus.h"
+ #include "avp_intro.h"
extern int NormalFrameTime;
extern int GotAnyKey;
extern int DebouncedGotAnyKey;
diff --git a/src/avp/win95/frontend/avp_intro.h b/src/avp/win95/frontend/avp_intro.h
new file mode 100644
index 0000000..09ce400
--- /dev/null
+++ b/src/avp/win95/frontend/avp_intro.h
@@ -0,0 +1,6 @@
+#ifndef AVP_INTRO_H
+#define AVP_INTRO_H
+
+void PlayMenuMusic(void);
+
+#endif
diff --git a/src/avp/win95/frontend/avp_menudata.c b/src/avp/win95/frontend/avp_menudata.c
index c2b391e..238814e 100644
--- a/src/avp/win95/frontend/avp_menudata.c
+++ b/src/avp/win95/frontend/avp_menudata.c
@@ -91,66 +91,66 @@ static AVPMENU_ELEMENT AvPMenu_MainMenu[] =
#else
static AVPMENU_ELEMENT AvPMenu_MainMenu[] =
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER, AVPMENU_SINGLEPLAYER,0,0, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_STARTSINGLEPLAYER}, {AVPMENU_SINGLEPLAYER},{0},{0}, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER_HELP},
#if SAVE_GAME_ON
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_LOADGAME, AVPMENU_LOADGAME, 0,0, TEXTSTRING_LOADGAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_LOADGAME}, {AVPMENU_LOADGAME}, {0},{0}, TEXTSTRING_LOADGAME_HELP},
#endif
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_MULTIPLAYER, AVPMENU_MULTIPLAYER_CONNECTION,0,0, TEXTSTRING_MAINMENU_MULTIPLAYER_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_SKIRMISH, AVPMENU_MULTIPLAYER_SKIRMISH,0,0, TEXTSTRING_MAINMENU_SKIRMISH_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS, AVPMENU_OPTIONS,0,0, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_AVOPTIONS_TITLE, AVPMENU_MAINMENUAVOPTIONS,0,0, TEXTSTRING_AVOPTIONS_TITLE_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE, AVPMENU_USERPROFILESELECT,0,0, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_EXITGAME, AVPMENU_EXITGAME,0,0, TEXTSTRING_MAINMENU_EXITGAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_MULTIPLAYER}, {AVPMENU_MULTIPLAYER_CONNECTION},{0},{0},TEXTSTRING_MAINMENU_MULTIPLAYER_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_SKIRMISH}, {AVPMENU_MULTIPLAYER_SKIRMISH},{0},{0}, TEXTSTRING_MAINMENU_SKIRMISH_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS}, {AVPMENU_OPTIONS},{0},{0}, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_AVOPTIONS_TITLE}, {AVPMENU_MAINMENUAVOPTIONS},{0},{0}, TEXTSTRING_AVOPTIONS_TITLE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_CHANGEUSERPROFILE}, {AVPMENU_USERPROFILESELECT},{0},{0}, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_EXITGAME}, {AVPMENU_EXITGAME},{0},{0}, TEXTSTRING_MAINMENU_EXITGAME_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
#endif
static AVPMENU_ELEMENT AvPMenu_MainMenu_WithCheats[] =
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER, AVPMENU_SINGLEPLAYER,0,0, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_STARTSINGLEPLAYER}, {AVPMENU_SINGLEPLAYER},{0},{0}, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER_HELP},
#if SAVE_GAME_ON
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_LOADGAME, AVPMENU_LOADGAME, 0,0, TEXTSTRING_LOADGAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_LOADGAME}, {AVPMENU_LOADGAME},{0},{0}, TEXTSTRING_LOADGAME_HELP},
#endif
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_MULTIPLAYER, AVPMENU_MULTIPLAYER_CONNECTION,0,0, TEXTSTRING_MAINMENU_MULTIPLAYER_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_SKIRMISH, AVPMENU_MULTIPLAYER_SKIRMISH,0,0, TEXTSTRING_MAINMENU_SKIRMISH_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS, AVPMENU_OPTIONS,0,0, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_AVOPTIONS_TITLE, AVPMENU_MAINMENUAVOPTIONS,0,0, TEXTSTRING_AVOPTIONS_TITLE_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE, AVPMENU_USERPROFILESELECT,0,0, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_CHEATOPTIONS, AVPMENU_CHEATOPTIONS,0,0, TEXTSTRING_MAINMENU_CHEATOPTIONS_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_EXITGAME, AVPMENU_EXITGAME,0,0, TEXTSTRING_MAINMENU_EXITGAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_MULTIPLAYER}, {AVPMENU_MULTIPLAYER_CONNECTION},{0},{0},TEXTSTRING_MAINMENU_MULTIPLAYER_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_SKIRMISH}, {AVPMENU_MULTIPLAYER_SKIRMISH},{0},{0}, TEXTSTRING_MAINMENU_SKIRMISH_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS}, {AVPMENU_OPTIONS},{0},{0}, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_AVOPTIONS_TITLE}, {AVPMENU_MAINMENUAVOPTIONS},{0},{0}, TEXTSTRING_AVOPTIONS_TITLE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_CHANGEUSERPROFILE}, {AVPMENU_USERPROFILESELECT},{0},{0}, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_CHEATOPTIONS}, {AVPMENU_CHEATOPTIONS},{0},{0}, TEXTSTRING_MAINMENU_CHEATOPTIONS_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_EXITGAME}, {AVPMENU_EXITGAME},{0},{0}, TEXTSTRING_MAINMENU_EXITGAME_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_Debug_MainMenu[] =
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER, AVPMENU_SINGLEPLAYER,0,0, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_STARTSINGLEPLAYER}, {AVPMENU_SINGLEPLAYER},{0},{0}, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER_HELP},
#if SAVE_GAME_ON
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_LOADGAME, AVPMENU_LOADGAME, 0,0, TEXTSTRING_LOADGAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_LOADGAME}, {AVPMENU_LOADGAME}, {0},{0}, TEXTSTRING_LOADGAME_HELP},
#endif
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_SKIRMISH, AVPMENU_MULTIPLAYER_SKIRMISH,0,0, TEXTSTRING_MAINMENU_SKIRMISH_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS, AVPMENU_OPTIONS,0,0, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_AVOPTIONS_TITLE, AVPMENU_MAINMENUAVOPTIONS,0,0, TEXTSTRING_AVOPTIONS_TITLE_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE, AVPMENU_USERPROFILESELECT,0,0, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_EXITGAME, AVPMENU_EXITGAME,0,0, TEXTSTRING_MAINMENU_EXITGAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_SKIRMISH}, {AVPMENU_MULTIPLAYER_SKIRMISH},{0},{0}, TEXTSTRING_MAINMENU_SKIRMISH_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS}, {AVPMENU_OPTIONS},{0},{0}, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_AVOPTIONS_TITLE}, {AVPMENU_MAINMENUAVOPTIONS},{0},{0}, TEXTSTRING_AVOPTIONS_TITLE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_CHANGEUSERPROFILE}, {AVPMENU_USERPROFILESELECT},{0},{0}, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_EXITGAME}, {AVPMENU_EXITGAME},{0},{0}, TEXTSTRING_MAINMENU_EXITGAME_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_Debug_MainMenu_WithCheats[] =
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER, AVPMENU_SINGLEPLAYER,0,0, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_STARTSINGLEPLAYER}, {AVPMENU_SINGLEPLAYER},{0},{0}, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER_HELP},
#if SAVE_GAME_ON
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_LOADGAME, AVPMENU_LOADGAME, 0,0, TEXTSTRING_LOADGAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_LOADGAME}, {AVPMENU_LOADGAME}, {0},{0}, TEXTSTRING_LOADGAME_HELP},
#endif
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_SKIRMISH, AVPMENU_MULTIPLAYER_SKIRMISH,0,0, TEXTSTRING_MAINMENU_SKIRMISH_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS, AVPMENU_OPTIONS,0,0, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_AVOPTIONS_TITLE, AVPMENU_MAINMENUAVOPTIONS,0,0, TEXTSTRING_AVOPTIONS_TITLE_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE, AVPMENU_USERPROFILESELECT,0,0, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_CHEATOPTIONS, AVPMENU_CHEATOPTIONS,0,0, TEXTSTRING_MAINMENU_CHEATOPTIONS_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_EXITGAME, AVPMENU_EXITGAME,0,0, TEXTSTRING_MAINMENU_EXITGAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_SKIRMISH}, {AVPMENU_MULTIPLAYER_SKIRMISH},{0},{0}, TEXTSTRING_MAINMENU_SKIRMISH_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS}, {AVPMENU_OPTIONS},{0},{0}, TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_AVOPTIONS_TITLE}, {AVPMENU_MAINMENUAVOPTIONS},{0},{0}, TEXTSTRING_AVOPTIONS_TITLE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_CHANGEUSERPROFILE}, {AVPMENU_USERPROFILESELECT},{0},{0}, TEXTSTRING_MAINMENU_CHANGEUSERPROFILE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_CHEATOPTIONS}, {AVPMENU_CHEATOPTIONS},{0},{0}, TEXTSTRING_MAINMENU_CHEATOPTIONS_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_EXITGAME}, {AVPMENU_EXITGAME},{0},{0}, TEXTSTRING_MAINMENU_EXITGAME_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_ExitGame[] =
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_NO, AVPMENU_MAIN},
- {AVPMENU_ELEMENT_QUITGAME, TEXTSTRING_YES},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_NO}, {AVPMENU_MAIN}},
+ {AVPMENU_ELEMENT_QUITGAME, {TEXTSTRING_YES}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
@@ -158,131 +158,131 @@ static AVPMENU_ELEMENT AvPMenu_ExitGame[] =
static AVPMENU_ELEMENT AvPMenu_SinglePlayer[] =
{
- {AVPMENU_ELEMENT_GOTOMENU_GFX, AVPMENUGFX_ALIEN_LOGO, AVPMENU_ALIENLEVELS,0,0, TEXTSTRING_MAINMENU_SINGLEPLAYER_ALIEN},
- {AVPMENU_ELEMENT_GOTOMENU_GFX, AVPMENUGFX_MARINE_LOGO, AVPMENU_MARINELEVELS,0,0, TEXTSTRING_MAINMENU_SINGLEPLAYER_MARINE},
- {AVPMENU_ELEMENT_GOTOMENU_GFX, AVPMENUGFX_PREDATOR_LOGO, AVPMENU_PREDATORLEVELS,0,0, TEXTSTRING_MAINMENU_SINGLEPLAYER_PREDATOR},
-// {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MAINMENU_TITLE, AVPMENU_MAIN},
+ {AVPMENU_ELEMENT_GOTOMENU_GFX, {AVPMENUGFX_ALIEN_LOGO}, {AVPMENU_ALIENLEVELS},{0},{0}, TEXTSTRING_MAINMENU_SINGLEPLAYER_ALIEN},
+ {AVPMENU_ELEMENT_GOTOMENU_GFX, {AVPMENUGFX_MARINE_LOGO}, {AVPMENU_MARINELEVELS},{0},{0}, TEXTSTRING_MAINMENU_SINGLEPLAYER_MARINE},
+ {AVPMENU_ELEMENT_GOTOMENU_GFX, {AVPMENUGFX_PREDATOR_LOGO}, {AVPMENU_PREDATORLEVELS},{0},{0}, TEXTSTRING_MAINMENU_SINGLEPLAYER_PREDATOR},
+// {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MAINMENU_TITLE}, {AVPMENU_MAIN}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_ControlsOptions[] =
{
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MOUSECONTROLS_VERTICAL_AXIS, 1, (int*)&PlayerControlMethods.VAxisIsMovement, TEXTSTRING_MOUSECONTROLS_LOOKING, TEXTSTRING_MOUSECONTROLS_VERTICAL_AXIS_HELP},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_MOUSECONTROLS_YSENSITIVITY, DEFAULT_MOUSEY_SENSITIVITY*3, (int*)&PlayerControlMethods.MouseYSensitivity, 0, TEXTSTRING_MOUSECONTROLS_YSENSITIVITY_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MOUSECONTROLS_VERTICAL_AXIS}, {1}, {(int*)&PlayerControlMethods.VAxisIsMovement}, {TEXTSTRING_MOUSECONTROLS_LOOKING}, TEXTSTRING_MOUSECONTROLS_VERTICAL_AXIS_HELP},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_MOUSECONTROLS_YSENSITIVITY}, {DEFAULT_MOUSEY_SENSITIVITY*3}, {(int*)&PlayerControlMethods.MouseYSensitivity}, {0}, TEXTSTRING_MOUSECONTROLS_YSENSITIVITY_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MOUSECONTROLS_HORIZONTAL_AXIS, 1, (int*)&PlayerControlMethods.HAxisIsTurning, TEXTSTRING_MOUSECONTROLS_SIDESTEPPING, TEXTSTRING_MOUSECONTROLS_HORIZONTAL_AXIS_HELP},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_MOUSECONTROLS_XSENSITIVITY, DEFAULT_MOUSEX_SENSITIVITY*3, (int*)&PlayerControlMethods.MouseXSensitivity, 0, TEXTSTRING_MOUSECONTROLS_XSENSITIVITY_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MOUSECONTROLS_HORIZONTAL_AXIS}, {1}, {(int*)&PlayerControlMethods.HAxisIsTurning}, {TEXTSTRING_MOUSECONTROLS_SIDESTEPPING}, TEXTSTRING_MOUSECONTROLS_HORIZONTAL_AXIS_HELP},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_MOUSECONTROLS_XSENSITIVITY}, {DEFAULT_MOUSEX_SENSITIVITY*3}, {(int*)&PlayerControlMethods.MouseXSensitivity}, {0}, TEXTSTRING_MOUSECONTROLS_XSENSITIVITY_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MOUSECONTROLS_INVERTVERTICAL, 1, (int*)&PlayerControlMethods.FlipVerticalAxis, TEXTSTRING_NO, TEXTSTRING_MOUSECONTROLS_INVERTVERTICAL_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MOUSECONTROLS_AUTOCENTRE, 1, (int*)&PlayerControlMethods.AutoCentreOnMovement, TEXTSTRING_NO, TEXTSTRING_MOUSECONTROLS_AUTOCENTRE_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MOUSECONTROLS_INVERTVERTICAL}, {1}, {(int*)&PlayerControlMethods.FlipVerticalAxis}, {TEXTSTRING_NO}, TEXTSTRING_MOUSECONTROLS_INVERTVERTICAL_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MOUSECONTROLS_AUTOCENTRE}, {1}, {(int*)&PlayerControlMethods.AutoCentreOnMovement},{TEXTSTRING_NO}, TEXTSTRING_MOUSECONTROLS_AUTOCENTRE_HELP},
- {AVPMENU_ELEMENT_KEYCONFIGOK, TEXTSTRING_MOUSECONTROLS_SAVETHESESETTINGS, AVPMENU_INGAME, 0, 0, TEXTSTRING_MOUSECONTROLS_SAVETHESESETTINGS_HELP},
- {AVPMENU_ELEMENT_RESETKEYCONFIG, TEXTSTRING_CONTROLS_RESETTODEFAULT, 0, 0, 0, TEXTSTRING_CONTROLS_RESETTODEFAULT_HELP},
+ {AVPMENU_ELEMENT_KEYCONFIGOK, {TEXTSTRING_MOUSECONTROLS_SAVETHESESETTINGS},{AVPMENU_INGAME},{0},{0},TEXTSTRING_MOUSECONTROLS_SAVETHESESETTINGS_HELP},
+ {AVPMENU_ELEMENT_RESETKEYCONFIG, {TEXTSTRING_CONTROLS_RESETTODEFAULT}, {0},{0},{0}, TEXTSTRING_CONTROLS_RESETTODEFAULT_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_JoystickControlsOptions[] =
{
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_JOYSTICKCONTROLS_ENABLED, 1, (int*)&PlayerJoystickControlMethods.JoystickEnabled, TEXTSTRING_NO, TEXTSTRING_JOYSTICKCONTROLS_ENABLED_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_JOYSTICKCONTROLS_ENABLED}, {1}, {(int*)&PlayerJoystickControlMethods.JoystickEnabled}, {TEXTSTRING_NO}, TEXTSTRING_JOYSTICKCONTROLS_ENABLED_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MOUSECONTROLS_VERTICAL_AXIS, 1, (int*)&PlayerJoystickControlMethods.JoystickVAxisIsMovement, TEXTSTRING_MOUSECONTROLS_LOOKING, TEXTSTRING_MOUSECONTROLS_VERTICAL_AXIS_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MOUSECONTROLS_HORIZONTAL_AXIS, 1, (int*)&PlayerJoystickControlMethods.JoystickHAxisIsTurning, TEXTSTRING_MOUSECONTROLS_SIDESTEPPING, TEXTSTRING_MOUSECONTROLS_HORIZONTAL_AXIS_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MOUSECONTROLS_INVERTVERTICAL, 1, (int*)&PlayerJoystickControlMethods.JoystickFlipVerticalAxis, TEXTSTRING_NO, TEXTSTRING_JOYSTICKCONTROLS_INVERTVERTICAL_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MOUSECONTROLS_VERTICAL_AXIS}, {1}, {(int*)&PlayerJoystickControlMethods.JoystickVAxisIsMovement}, {TEXTSTRING_MOUSECONTROLS_LOOKING}, TEXTSTRING_MOUSECONTROLS_VERTICAL_AXIS_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MOUSECONTROLS_HORIZONTAL_AXIS}, {1}, {(int*)&PlayerJoystickControlMethods.JoystickHAxisIsTurning}, {TEXTSTRING_MOUSECONTROLS_SIDESTEPPING}, TEXTSTRING_MOUSECONTROLS_HORIZONTAL_AXIS_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MOUSECONTROLS_INVERTVERTICAL}, {1}, {(int*)&PlayerJoystickControlMethods.JoystickFlipVerticalAxis}, {TEXTSTRING_NO}, TEXTSTRING_JOYSTICKCONTROLS_INVERTVERTICAL_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_JOYSTICKCONTROLS_POVHATVERTICAL, 1, (int*)&PlayerJoystickControlMethods.JoystickPOVVAxisIsMovement, TEXTSTRING_MOUSECONTROLS_LOOKING, TEXTSTRING_JOYSTICKCONTROLS_POVHATVERTICAL_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_JOYSTICKCONTROLS_POVHATHORIZONTAL,1, (int*)&PlayerJoystickControlMethods.JoystickPOVHAxisIsTurning, TEXTSTRING_MOUSECONTROLS_SIDESTEPPING, TEXTSTRING_JOYSTICKCONTROLS_POVHATHORIZONTAL_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_JOYSTICKCONTROLS_POVHATREVERSED, 1, (int*)&PlayerJoystickControlMethods.JoystickPOVFlipVerticalAxis,TEXTSTRING_NO, TEXTSTRING_JOYSTICKCONTROLS_POVHATREVERSED_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_JOYSTICKCONTROLS_POVHATVERTICAL},{1}, {(int*)&PlayerJoystickControlMethods.JoystickPOVVAxisIsMovement}, {TEXTSTRING_MOUSECONTROLS_LOOKING}, TEXTSTRING_JOYSTICKCONTROLS_POVHATVERTICAL_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_JOYSTICKCONTROLS_POVHATHORIZONTAL},{1}, {(int*)&PlayerJoystickControlMethods.JoystickPOVHAxisIsTurning}, {TEXTSTRING_MOUSECONTROLS_SIDESTEPPING}, TEXTSTRING_JOYSTICKCONTROLS_POVHATHORIZONTAL_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_JOYSTICKCONTROLS_POVHATREVERSED}, {1}, {(int*)&PlayerJoystickControlMethods.JoystickPOVFlipVerticalAxis},{TEXTSTRING_NO}, TEXTSTRING_JOYSTICKCONTROLS_POVHATREVERSED_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_JOYSTICKCONTROLS_RUDDERENABLED, 1, (int*)&PlayerJoystickControlMethods.JoystickRudderEnabled, TEXTSTRING_NO, TEXTSTRING_JOYSTICKCONTROLS_RUDDERENABLED_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_JOYSTICKCONTROLS_RUDDERAXIS, 1, (int*)&PlayerJoystickControlMethods.JoystickRudderAxisIsTurning,TEXTSTRING_MOUSECONTROLS_SIDESTEPPING, TEXTSTRING_JOYSTICKCONTROLS_RUDDERAXIS_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_JOYSTICKCONTROLS_RUDDERENABLED}, {1}, {(int*)&PlayerJoystickControlMethods.JoystickRudderEnabled}, {TEXTSTRING_NO}, TEXTSTRING_JOYSTICKCONTROLS_RUDDERENABLED_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_JOYSTICKCONTROLS_RUDDERAXIS}, {1}, {(int*)&PlayerJoystickControlMethods.JoystickRudderAxisIsTurning},{TEXTSTRING_MOUSECONTROLS_SIDESTEPPING}, TEXTSTRING_JOYSTICKCONTROLS_RUDDERAXIS_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_TRACKERBALL_ENABLED, 1, (int*)&PlayerJoystickControlMethods.JoystickTrackerBallEnabled, TEXTSTRING_NO, TEXTSTRING_TRACKERBALL_ENABLED_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_TRACKERBALL_FLIPVERTICALAXIS, 1, (int*)&PlayerJoystickControlMethods.JoystickTrackerBallFlipVerticalAxis, TEXTSTRING_NO, TEXTSTRING_TRACKERBALL_FLIPVERTICALAXIS_HELP},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_TRACKERBALL_VERTICAL_SENSITIVITY, DEFAULT_TRACKERBALL_VERTICAL_SENSITIVITY*3, (int*)&PlayerJoystickControlMethods.JoystickTrackerBallVerticalSensitivity, 0, TEXTSTRING_MOUSECONTROLS_YSENSITIVITY_HELP},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_TRACKERBALL_HORIZONTAL_SENSITIVITY, DEFAULT_TRACKERBALL_HORIZONTAL_SENSITIVITY*3, (int*)&PlayerJoystickControlMethods.JoystickTrackerBallHorizontalSensitivity, 0, TEXTSTRING_MOUSECONTROLS_YSENSITIVITY_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_TRACKERBALL_ENABLED}, {1}, {(int*)&PlayerJoystickControlMethods.JoystickTrackerBallEnabled}, {TEXTSTRING_NO}, TEXTSTRING_TRACKERBALL_ENABLED_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_TRACKERBALL_FLIPVERTICALAXIS}, {1}, {(int*)&PlayerJoystickControlMethods.JoystickTrackerBallFlipVerticalAxis}, {TEXTSTRING_NO}, TEXTSTRING_TRACKERBALL_FLIPVERTICALAXIS_HELP},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_TRACKERBALL_VERTICAL_SENSITIVITY}, {DEFAULT_TRACKERBALL_VERTICAL_SENSITIVITY*3}, {(int*)&PlayerJoystickControlMethods.JoystickTrackerBallVerticalSensitivity}, {0}, TEXTSTRING_MOUSECONTROLS_YSENSITIVITY_HELP},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_TRACKERBALL_HORIZONTAL_SENSITIVITY}, {DEFAULT_TRACKERBALL_HORIZONTAL_SENSITIVITY*3}, {(int*)&PlayerJoystickControlMethods.JoystickTrackerBallHorizontalSensitivity}, {0}, TEXTSTRING_MOUSECONTROLS_YSENSITIVITY_HELP},
-// {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MOUSECONTROLS_AUTOCENTRE, 1, (int*)&PlayerControlMethods.AutoCentreOnMovement, TEXTSTRING_NO},
+// {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MOUSECONTROLS_AUTOCENTRE}, {1}, {(int*)&PlayerControlMethods.AutoCentreOnMovement}, TEXTSTRING_NO},
- {AVPMENU_ELEMENT_KEYCONFIGOK, TEXTSTRING_MOUSECONTROLS_SAVETHESESETTINGS, AVPMENU_INGAME, 0, 0, TEXTSTRING_MOUSECONTROLS_SAVETHESESETTINGS_HELP},
- {AVPMENU_ELEMENT_RESETKEYCONFIG, TEXTSTRING_CONTROLS_RESETTODEFAULT, 0, 0, 0, TEXTSTRING_CONTROLS_RESETTODEFAULT_HELP},
+ {AVPMENU_ELEMENT_KEYCONFIGOK, {TEXTSTRING_MOUSECONTROLS_SAVETHESESETTINGS}, {AVPMENU_INGAME}, {0},{0},TEXTSTRING_MOUSECONTROLS_SAVETHESESETTINGS_HELP},
+ {AVPMENU_ELEMENT_RESETKEYCONFIG,{TEXTSTRING_CONTROLS_RESETTODEFAULT}, {0},{0},{0}, TEXTSTRING_CONTROLS_RESETTODEFAULT_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_VideoModeOptions[] =
{
- {AVPMENU_ELEMENT_VIDEOMODE, TEXTSTRING_VIDEOOPTIONS_TITLE, 0, 0, 0, TEXTSTRING_VIDEOOPTIONS_TITLE_HELP},
- {AVPMENU_ELEMENT_VIDEOMODEOK, TEXTSTRING_AVOPTIONS_USETHESESETTINGS, AVPMENU_MAINMENUAVOPTIONS, 0, 0, TEXTSTRING_AVOPTIONS_USETHESESETTINGS_HELP},
+ {AVPMENU_ELEMENT_VIDEOMODE, {TEXTSTRING_VIDEOOPTIONS_TITLE}, {0}, {0}, {0}, TEXTSTRING_VIDEOOPTIONS_TITLE_HELP},
+ {AVPMENU_ELEMENT_VIDEOMODEOK, {TEXTSTRING_AVOPTIONS_USETHESESETTINGS}, {AVPMENU_MAINMENUAVOPTIONS}, {0}, {0}, TEXTSTRING_AVOPTIONS_USETHESESETTINGS_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_InGameAVOptions[] =
{
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_AVOPTIONS_GAMMASETTING, 255, &RequestedGammaSetting},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_AVOPTIONS_EFFECTSVOLUME, VOLUME_MAX, &EffectsSoundVolume},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_AVOPTIONS_MUSICVOLUME, ONE_FIXED/512, &SmackerSoundVolume},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_AVOPTIONS_CDVOLUME, CDDA_VOLUME_MAX, &CDPlayerVolume},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_AVOPTIONS_INGAMEMOVIES, 1, &MoviesAreActive, TEXTSTRING_NO},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_DETAILLEVELS_TITLE, AVPMENU_DETAILLEVELS},
- {AVPMENU_ELEMENT_SAVESETTINGS, TEXTSTRING_AVOPTIONS_USETHESESETTINGS, 0, 0, 0, TEXTSTRING_AVOPTIONS_USETHESESETTINGS_HELP},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_AVOPTIONS_GAMMASETTING}, {255}, {&RequestedGammaSetting}},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_AVOPTIONS_EFFECTSVOLUME}, {VOLUME_MAX}, {&EffectsSoundVolume}},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_AVOPTIONS_MUSICVOLUME}, {ONE_FIXED/512}, {&SmackerSoundVolume}},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_AVOPTIONS_CDVOLUME}, {CDDA_VOLUME_MAX}, {&CDPlayerVolume}},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_AVOPTIONS_INGAMEMOVIES}, {1}, {&MoviesAreActive}, {TEXTSTRING_NO}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_DETAILLEVELS_TITLE}, {AVPMENU_DETAILLEVELS}},
+ {AVPMENU_ELEMENT_SAVESETTINGS, {TEXTSTRING_AVOPTIONS_USETHESESETTINGS},{0},{0},{0}, TEXTSTRING_AVOPTIONS_USETHESESETTINGS_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_MainMenuAVOptions[] =
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_VIDEOOPTIONS_TITLE, AVPMENU_VIDEOMODE, 0, 0, TEXTSTRING_VIDEOOPTIONS_TITLE_HELP},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_AVOPTIONS_EFFECTSVOLUME, VOLUME_MAX, &EffectsSoundVolume, 0, TEXTSTRING_AVOPTIONS_EFFECTSVOLUME_HELP},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_AVOPTIONS_MUSICVOLUME, ONE_FIXED/512, &SmackerSoundVolume, 0, TEXTSTRING_AVOPTIONS_MUSICVOLUME_HELP},
- {AVPMENU_ELEMENT_SLIDER, TEXTSTRING_AVOPTIONS_CDVOLUME, CDDA_VOLUME_MAX, &CDPlayerVolume, 0, TEXTSTRING_AVOPTIONS_CDVOLUME_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_AVOPTIONS_INGAMEMOVIES, 1, &MoviesAreActive, TEXTSTRING_NO, TEXTSTRING_AVOPTIONS_INGAMEMOVIES_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_AVOPTIONS_INTROOUTROMOVIES, 1, &IntroOutroMoviesAreActive, TEXTSTRING_NO, TEXTSTRING_AVOPTIONS_INTROOUTROMOVIES_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_DETAILLEVELS_TITLE, AVPMENU_DETAILLEVELS, 0, 0, TEXTSTRING_DETAILLEVELS_TITLE_HELP},
- {AVPMENU_ELEMENT_SAVESETTINGS, TEXTSTRING_AVOPTIONS_USETHESESETTINGS, 0, 0, 0, TEXTSTRING_AVOPTIONS_USETHESESETTINGS_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_VIDEOOPTIONS_TITLE}, {AVPMENU_VIDEOMODE}, {0}, {0}, TEXTSTRING_VIDEOOPTIONS_TITLE_HELP},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_AVOPTIONS_EFFECTSVOLUME}, {VOLUME_MAX}, {&EffectsSoundVolume}, {0}, TEXTSTRING_AVOPTIONS_EFFECTSVOLUME_HELP},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_AVOPTIONS_MUSICVOLUME}, {ONE_FIXED/512}, {&SmackerSoundVolume}, {0}, TEXTSTRING_AVOPTIONS_MUSICVOLUME_HELP},
+ {AVPMENU_ELEMENT_SLIDER, {TEXTSTRING_AVOPTIONS_CDVOLUME}, {CDDA_VOLUME_MAX}, {&CDPlayerVolume}, {0}, TEXTSTRING_AVOPTIONS_CDVOLUME_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_AVOPTIONS_INGAMEMOVIES}, {1}, {&MoviesAreActive}, {TEXTSTRING_NO}, TEXTSTRING_AVOPTIONS_INGAMEMOVIES_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_AVOPTIONS_INTROOUTROMOVIES}, {1}, {&IntroOutroMoviesAreActive}, {TEXTSTRING_NO}, TEXTSTRING_AVOPTIONS_INTROOUTROMOVIES_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_DETAILLEVELS_TITLE}, {AVPMENU_DETAILLEVELS}, {0}, {0}, TEXTSTRING_DETAILLEVELS_TITLE_HELP},
+ {AVPMENU_ELEMENT_SAVESETTINGS, {TEXTSTRING_AVOPTIONS_USETHESESETTINGS},{0},{0},{0}, TEXTSTRING_AVOPTIONS_USETHESESETTINGS_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_UserProfileSelect[] =
{
- {AVPMENU_ELEMENT_USERPROFILE, TEXTSTRING_MARINELEVELS_1, 0, &UserProfileNumber, 0, TEXTSTRING_USERPROFILE_HELP},
+ {AVPMENU_ELEMENT_USERPROFILE, {TEXTSTRING_MARINELEVELS_1}, {0}, {&UserProfileNumber}, {0}, TEXTSTRING_USERPROFILE_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_UserProfileEnterName[] =
{
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_BLANK, MAX_SIZE_OF_USERS_NAME, NULL},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_CONTINUE, AVPMENU_MAIN},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_BLANK}, {MAX_SIZE_OF_USERS_NAME}, {NULL}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_CONTINUE}, {AVPMENU_MAIN}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_UserProfileDelete[] =
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_NO, AVPMENU_USERPROFILESELECT, 0, 0, TEXTSTRING_USERPROFILE_DELETE_HELP},
- {AVPMENU_ELEMENT_USERPROFILE_DELETE, TEXTSTRING_YES, 0, 0, 0, TEXTSTRING_USERPROFILE_DELETE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_NO}, {AVPMENU_USERPROFILESELECT}, {0}, {0}, TEXTSTRING_USERPROFILE_DELETE_HELP},
+ {AVPMENU_ELEMENT_USERPROFILE_DELETE, {TEXTSTRING_YES}, {0}, {0}, {0}, TEXTSTRING_USERPROFILE_DELETE_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_MarineLevels[] =
{
- {AVPMENU_ELEMENT_MARINEEPISODE, TEXTSTRING_MARINELEVELS_1, MAX_NO_OF_MARINE_EPISODES-1, &MarineEpisodeToPlay},
+ {AVPMENU_ELEMENT_MARINEEPISODE, {TEXTSTRING_MARINELEVELS_1}, {MAX_NO_OF_MARINE_EPISODES-1}, {&MarineEpisodeToPlay}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_AlienLevels[] =
{
- {AVPMENU_ELEMENT_ALIENEPISODE, TEXTSTRING_ALIENLEVELS_1, MAX_NO_OF_ALIEN_EPISODES-1, &AlienEpisodeToPlay},
+ {AVPMENU_ELEMENT_ALIENEPISODE, {TEXTSTRING_ALIENLEVELS_1}, {MAX_NO_OF_ALIEN_EPISODES-1}, {&AlienEpisodeToPlay}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_PredatorLevels[] =
{
- {AVPMENU_ELEMENT_PREDATOREPISODE, TEXTSTRING_PREDATORLEVELS_1, MAX_NO_OF_PREDATOR_EPISODES-1, &PredatorEpisodeToPlay},
+ {AVPMENU_ELEMENT_PREDATOREPISODE, {TEXTSTRING_PREDATORLEVELS_1}, {MAX_NO_OF_PREDATOR_EPISODES-1}, {&PredatorEpisodeToPlay}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_Multiplayer[]=
{
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_MULTIPLAYER_PLAYERNAME, NET_PLAYERNAMELENGTH-1, (int*)MP_PlayerName, 0, TEXTSTRING_MULTIPLAYER_PLAYERNAME_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_STARTGAME, AVPMENU_MULTIPLAYER_CONFIG, 0, 0, TEXTSTRING_MULTIPLAYER_STARTGAME_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_JOINGAME, AVPMENU_MULTIPLAYERJOINGAME, 0, 0, TEXTSTRING_MULTIPLAYER_JOINGAME_HELP},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_MULTIPLAYER_PLAYERNAME}, {NET_PLAYERNAMELENGTH-1}, {(int*)MP_PlayerName}, {0}, TEXTSTRING_MULTIPLAYER_PLAYERNAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_STARTGAME}, {AVPMENU_MULTIPLAYER_CONFIG}, {0}, {0}, TEXTSTRING_MULTIPLAYER_STARTGAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_JOINGAME}, {AVPMENU_MULTIPLAYERJOINGAME}, {0}, {0}, TEXTSTRING_MULTIPLAYER_JOINGAME_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
@@ -291,51 +291,51 @@ static AVPMENU_ELEMENT AvPMenu_Multiplayer[]=
static AVPMENU_ELEMENT AvPMenu_Multiplayer_LobbiedServer[]=
{
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_MULTIPLAYER_PLAYERNAME, NET_PLAYERNAMELENGTH-1, (int*)MP_PlayerName, 0, TEXTSTRING_MULTIPLAYER_PLAYERNAME_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_CONTINUE, AVPMENU_MULTIPLAYER_CONFIG, 0, 0, TEXTSTRING_MULTIPLAYER_CONTINUETOCONFIG_HELP},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_MULTIPLAYER_PLAYERNAME}, {NET_PLAYERNAMELENGTH-1}, {(int*)MP_PlayerName}, {0}, TEXTSTRING_MULTIPLAYER_PLAYERNAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_CONTINUE}, {AVPMENU_MULTIPLAYER_CONFIG}, {0}, {0}, TEXTSTRING_MULTIPLAYER_CONTINUETOCONFIG_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_Multiplayer_LobbiedClient[]=
{
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_MULTIPLAYER_PLAYERNAME, NET_PLAYERNAMELENGTH-1, (int*)MP_PlayerName, 0, TEXTSTRING_MULTIPLAYER_PLAYERNAME_HELP},
- {AVPMENU_ELEMENT_JOINLOBBIED, TEXTSTRING_MULTIPLAYER_CONTINUE, AVPMENU_MULTIPLAYER_JOINING, 0, 0, TEXTSTRING_MULTIPLAYER_CONTINUETOCONFIG_HELP},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_MULTIPLAYER_PLAYERNAME}, {NET_PLAYERNAMELENGTH-1}, {(int*)MP_PlayerName}, {0}, TEXTSTRING_MULTIPLAYER_PLAYERNAME_HELP},
+ {AVPMENU_ELEMENT_JOINLOBBIED, {TEXTSTRING_MULTIPLAYER_CONTINUE}, {AVPMENU_MULTIPLAYER_JOINING}, {0}, {0}, TEXTSTRING_MULTIPLAYER_CONTINUETOCONFIG_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_Multiplayer_Skirmish[]=
{
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_MULTIPLAYER_PLAYERNAME, NET_PLAYERNAMELENGTH-1, (int*)MP_PlayerName, 0, TEXTSTRING_MULTIPLAYER_PLAYERNAME_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_CONTINUE, AVPMENU_MULTIPLAYER_CONFIG, 0, 0, TEXTSTRING_MULTIPLAYER_CONTINUETOCONFIG_HELP},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_MULTIPLAYER_PLAYERNAME}, {NET_PLAYERNAMELENGTH-1}, {(int*)MP_PlayerName}, {0}, TEXTSTRING_MULTIPLAYER_PLAYERNAME_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_CONTINUE}, {AVPMENU_MULTIPLAYER_CONFIG}, {0}, {0}, TEXTSTRING_MULTIPLAYER_CONTINUETOCONFIG_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_MultiplayerStartGame[]=
{
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_MULTIPLAYER_SESSIONNAME, MAX_MULTIPLAYER_NAME_LENGTH, (int*)MP_SessionName},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_SPECIES, 2, &MP_Species, TEXTSTRING_MULTIPLAYER_MARINE},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_GAMESTYLE, 3, &MP_GameStyle, TEXTSTRING_MULTIPLAYER_DEATHMATCH},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ENVIRONMENT, MAX_NO_OF_MULTIPLAYER_EPISODES-1, &MP_LevelNumber, TEXTSTRING_MULTIPLAYERLEVELS_1},
- {AVPMENU_ELEMENT_STARTMPGAME, TEXTSTRING_LEVELSELECT_START, 0},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_MULTIPLAYER_SESSIONNAME}, {MAX_MULTIPLAYER_NAME_LENGTH}, {(int*)MP_SessionName}},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SPECIES}, {2}, {&MP_Species}, {TEXTSTRING_MULTIPLAYER_MARINE}},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_GAMESTYLE}, {3}, {&MP_GameStyle}, {TEXTSTRING_MULTIPLAYER_DEATHMATCH}},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ENVIRONMENT}, {MAX_NO_OF_MULTIPLAYER_EPISODES-1}, {&MP_LevelNumber}, {TEXTSTRING_MULTIPLAYERLEVELS_1}},
+ {AVPMENU_ELEMENT_STARTMPGAME, {TEXTSTRING_LEVELSELECT_START}, {0}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_MultiplayerJoinGame[]=
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_FINDLOCAL, AVPMENU_MULTIPLAYERSELECTSESSION, 0, 0, TEXTSTRING_MULTIPLAYER_FINDLOCAL_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_OPENADDRESS, AVPMENU_MULTIPLAYEROPENADDRESS, 0, 0, TEXTSTRING_MULTIPLAYER_OPENADDRESS_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_FINDLOCAL}, {AVPMENU_MULTIPLAYERSELECTSESSION}, {0}, {0}, TEXTSTRING_MULTIPLAYER_FINDLOCAL_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_OPENADDRESS}, {AVPMENU_MULTIPLAYEROPENADDRESS}, {0}, {0}, TEXTSTRING_MULTIPLAYER_OPENADDRESS_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_MultiplayerJoinGame2[]=
{
- {AVPMENU_ELEMENT_DUMMYTEXTFIELD, TEXTSTRING_MULTIPLAYER_SESSIONNAME, MAX_MULTIPLAYER_NAME_LENGTH, (int*)MP_SessionName},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_SPECIES, 2, &MP_Species, TEXTSTRING_MULTIPLAYER_MARINE},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_GAMESTYLE, 1, &MP_GameStyle, TEXTSTRING_MULTIPLAYER_DEATHMATCH},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ENVIRONMENT, MAX_NO_OF_MULTIPLAYER_EPISODES-1, &MP_LevelNumber, TEXTSTRING_MULTIPLAYERLEVELS_1},
- {AVPMENU_ELEMENT_JOINMPGAME, TEXTSTRING_LEVELSELECT_START, 0},
+ {AVPMENU_ELEMENT_DUMMYTEXTFIELD, {TEXTSTRING_MULTIPLAYER_SESSIONNAME}, {MAX_MULTIPLAYER_NAME_LENGTH}, {(int*)MP_SessionName}},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SPECIES}, {2}, {&MP_Species}, {TEXTSTRING_MULTIPLAYER_MARINE}},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_GAMESTYLE}, {1}, {&MP_GameStyle}, {TEXTSTRING_MULTIPLAYER_DEATHMATCH}},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ENVIRONMENT}, {MAX_NO_OF_MULTIPLAYER_EPISODES-1}, {&MP_LevelNumber}, {TEXTSTRING_MULTIPLAYERLEVELS_1}},
+ {AVPMENU_ELEMENT_JOINMPGAME, {TEXTSTRING_LEVELSELECT_START}, {0}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
@@ -368,155 +368,155 @@ static AVPMENU_ELEMENT AvPMenu_MultiplayerConnection[]=
static AVPMENU_ELEMENT AvPMenu_MultiplayerOpenAddress[]=
{
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_MULTIPLAYER_ADDRESS, MAX_IPADDRESS_LENGTH, (int*)IPAddressString, 0, TEXTSTRING_MPHELP_IPADDRESS},
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_FILENAME, 20, (int*)IP_Address_Name, 0, TEXTSTRING_MPHELP_ADDRESSDESCRIPTION},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_OKTOCONNECT, AVPMENU_MULTIPLAYERSELECTSESSION, 0, 0, TEXTSTRING_MULTIPLAYER_OKTOCONNECT_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_LOADADDRESS, AVPMENU_MULTIPLAYER_LOADIPADDRESS, 0, 0, TEXTSTRING_MPHELP_LOADADDRESS},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_MULTIPLAYER_ADDRESS}, {MAX_IPADDRESS_LENGTH}, {(int*)IPAddressString}, {0}, TEXTSTRING_MPHELP_IPADDRESS},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_FILENAME}, {20}, {(int*)IP_Address_Name}, {0}, TEXTSTRING_MPHELP_ADDRESSDESCRIPTION},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_OKTOCONNECT}, {AVPMENU_MULTIPLAYERSELECTSESSION}, {0}, {0}, TEXTSTRING_MULTIPLAYER_OKTOCONNECT_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_LOADADDRESS}, {AVPMENU_MULTIPLAYER_LOADIPADDRESS}, {0}, {0}, TEXTSTRING_MPHELP_LOADADDRESS},
{AVPMENU_ELEMENT_ENDOFMENU}
};
AVPMENU_ELEMENT AvPMenu_Multiplayer_Config[]=
{
- {AVPMENU_ELEMENT_RESETMPCONFIG, TEXTSTRING_CONTROLS_RESETTODEFAULT, 0, 0, TEXTSTRING_BLANK, TEXTSTRING_CONTROLS_RESETTODEFAULT_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_LOADCONFIG, AVPMENU_MULTIPLAYER_LOADCONFIG, 0, TEXTSTRING_BLANK, TEXTSTRING_MULTIPLAYER_LOADCONFIG_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_SAVECONFIG, AVPMENU_MULTIPLAYER_SAVECONFIG, 0, TEXTSTRING_BLANK, TEXTSTRING_MULTIPLAYER_SAVECONFIG_HELP},
+ {AVPMENU_ELEMENT_RESETMPCONFIG, {TEXTSTRING_CONTROLS_RESETTODEFAULT}, {0}, {0}, {TEXTSTRING_BLANK}, TEXTSTRING_CONTROLS_RESETTODEFAULT_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_LOADCONFIG}, {AVPMENU_MULTIPLAYER_LOADCONFIG}, {0}, {TEXTSTRING_BLANK}, TEXTSTRING_MULTIPLAYER_LOADCONFIG_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_SAVECONFIG}, {AVPMENU_MULTIPLAYER_SAVECONFIG}, {0}, {TEXTSTRING_BLANK}, TEXTSTRING_MULTIPLAYER_SAVECONFIG_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_LEVELSELECT_START, AVPMENU_MULTIPLAYER_SPECIES_HOST, 0, TEXTSTRING_BLANK, TEXTSTRING_LEVELSELECT_START_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_LEVELSELECT_START}, {AVPMENU_MULTIPLAYER_SPECIES_HOST}, {0}, {TEXTSTRING_BLANK}, TEXTSTRING_LEVELSELECT_START_HELP},
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_MULTIPLAYER_SESSIONNAME, MAX_MULTIPLAYER_NAME_LENGTH, (int*)MP_SessionName, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_SESSIONNAME},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_MULTIPLAYER_SESSIONNAME}, {MAX_MULTIPLAYER_NAME_LENGTH}, {(int*)MP_SessionName}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_SESSIONNAME},
#ifdef MPLAYER_DEMO
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_GAMESTYLE, 1, (int*)&netGameData.gameType, TEXTSTRING_MULTIPLAYER_DEATHMATCH, TEXTSTRING_MPHELP_GAMESTYLE_DEATHMATCH},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_GAMESTYLE}, {1}, {(int*)&netGameData.gameType}, {TEXTSTRING_MULTIPLAYER_DEATHMATCH}, TEXTSTRING_MPHELP_GAMESTYLE_DEATHMATCH},
#else
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_GAMESTYLE, 5, (int*)&netGameData.gameType, TEXTSTRING_MULTIPLAYER_DEATHMATCH, TEXTSTRING_MPHELP_GAMESTYLE_DEATHMATCH},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_GAMESTYLE}, {5}, {(int*)&netGameData.gameType}, {TEXTSTRING_MULTIPLAYER_DEATHMATCH}, TEXTSTRING_MPHELP_GAMESTYLE_DEATHMATCH},
#endif
//values initialised later
- {AVPMENU_ELEMENT_TEXTSLIDER_POINTER, TEXTSTRING_MULTIPLAYER_ENVIRONMENT, 0, &netGameData.levelNumber, 0, TEXTSTRING_MPHELP_ENVIRONMENT},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_GAMESPEED, 3, (int*)&netGameData.gameSpeed, TEXTSTRING_MULTIPLAYER_70PERCENT, TEXTSTRING_MPHELP_GAMESPEED},
+ {AVPMENU_ELEMENT_TEXTSLIDER_POINTER, {TEXTSTRING_MULTIPLAYER_ENVIRONMENT}, {0}, {&netGameData.levelNumber}, {0}, TEXTSTRING_MPHELP_ENVIRONMENT},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_GAMESPEED}, {3}, {(int*)&netGameData.gameSpeed}, {TEXTSTRING_MULTIPLAYER_70PERCENT}, TEXTSTRING_MPHELP_GAMESPEED},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_SCORELIMIT, 1000000, &netGameData.scoreLimit, TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_SCORELIMIT, TEXTSTRING_MULTIPLAYER_NOSCORELIMIT},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_TIMELIMIT, 255, &netGameData.timeLimit, TEXTSTRING_MULTIPLAYER_MINUTES, TEXTSTRING_MPHELP_TIMELIMIT, TEXTSTRING_MULTIPLAYER_NOTIMELIMIT},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_INVULNTIME, 255, &netGameData.invulnerableTime, TEXTSTRING_MULTIPLAYER_SECONDS, TEXTSTRING_MPHELP_INVULNTIME, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_SCORELIMIT}, {1000000}, {&netGameData.scoreLimit}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_SCORELIMIT, TEXTSTRING_MULTIPLAYER_NOSCORELIMIT},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_TIMELIMIT}, {255}, {&netGameData.timeLimit}, {TEXTSTRING_MULTIPLAYER_MINUTES}, TEXTSTRING_MPHELP_TIMELIMIT, TEXTSTRING_MULTIPLAYER_NOTIMELIMIT},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_INVULNTIME}, {255}, {&netGameData.invulnerableTime}, {TEXTSTRING_MULTIPLAYER_SECONDS}, TEXTSTRING_MPHELP_INVULNTIME, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXPREDATOR, 8, &netGameData.maxPredator, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXALIEN, 8, &netGameData.maxAlien, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE, 8, &netGameData.maxMarine, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_GENERAL, 8, &netGameData.maxMarineGeneral, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_PULSERIFLE, 8, &netGameData.maxMarinePulseRifle, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_SMARTGUN, 8, &netGameData.maxMarineSmartgun, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_FLAMER, 8, &netGameData.maxMarineFlamer, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_SADAR, 8, &netGameData.maxMarineSadar, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_GRENADE, 8, &netGameData.maxMarineGrenade, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_MINIGUN, 8, &netGameData.maxMarineMinigun, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_SKEETER, 8, &netGameData.maxMarineSmartDisc, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_PISTOLS, 8, &netGameData.maxMarinePistols, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXPREDATOR}, {8}, {&netGameData.maxPredator}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXALIEN}, {8}, {&netGameData.maxAlien}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE}, {8}, {&netGameData.maxMarine}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_GENERAL}, {8}, {&netGameData.maxMarineGeneral}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_PULSERIFLE}, {8}, {&netGameData.maxMarinePulseRifle}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_SMARTGUN}, {8}, {&netGameData.maxMarineSmartgun}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_FLAMER}, {8}, {&netGameData.maxMarineFlamer}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_SADAR}, {8}, {&netGameData.maxMarineSadar}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_GRENADE}, {8}, {&netGameData.maxMarineGrenade}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_MINIGUN}, {8}, {&netGameData.maxMarineMinigun}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_SKEETER}, {8}, {&netGameData.maxMarineSmartDisc}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_PISTOLS}, {8}, {&netGameData.maxMarinePistols}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SMARTGUN, 1, &netGameData.allowSmartgun, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_FLAMER, 1, &netGameData.allowFlamer, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SADAR, 1, &netGameData.allowSadar, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_GRENADELAUNCHER, 1, &netGameData.allowGrenadeLauncher, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_MINIGUN, 1, &netGameData.allowMinigun, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SKEETER, 1, &netGameData.allowSmartDisc, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_MARINE_PISTOLS, 1, &netGameData.allowPistols, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_DISC, 1, &netGameData.allowDisc, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_PISTOL, 1, &netGameData.allowPistol, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_PLASMACASTER, 1, &netGameData.allowPlasmaCaster, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SPEARGUN, 1, &netGameData.allowSpeargun, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_MEDICOMP, 1, &netGameData.allowMedicomp, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SMARTGUN}, {1}, {&netGameData.allowSmartgun}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_FLAMER}, {1}, {&netGameData.allowFlamer}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SADAR}, {1}, {&netGameData.allowSadar}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_GRENADELAUNCHER}, {1}, {&netGameData.allowGrenadeLauncher}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_MINIGUN}, {1}, {&netGameData.allowMinigun}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SKEETER}, {1}, {&netGameData.allowSmartDisc}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_MARINE_PISTOLS}, {1}, {&netGameData.allowPistols}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_DISC}, {1}, {&netGameData.allowDisc}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_PISTOL}, {1}, {&netGameData.allowPistol}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_PLASMACASTER}, {1}, {&netGameData.allowPlasmaCaster}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SPEARGUN}, {1}, {&netGameData.allowSpeargun}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_MEDICOMP}, {1}, {&netGameData.allowMedicomp}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_DYNAMICSCORING, 1, &netGameData.useDynamicScoring, TEXTSTRING_NO, TEXTSTRING_MPHELP_DYNAMICSCORING},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_CHARACTERSCORING, 1, &netGameData.useCharacterKillValues, TEXTSTRING_NO, TEXTSTRING_MPHELP_CHARACTERSCORING},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_DYNAMICSCORING}, {1}, {&netGameData.useDynamicScoring}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_DYNAMICSCORING},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_CHARACTERSCORING}, {1}, {&netGameData.useCharacterKillValues}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_CHARACTERSCORING},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_BASEKILLVALUE, 255, &netGameData.baseKillValue, TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_BASEKILLVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_ALIENVALUE, 255, &netGameData.characterKillValues[NGCT_Alien], TEXTSTRING_BLANK, TEXTSTRING_MPHELP_ALIENVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_MARINEVALUE, 255, &netGameData.characterKillValues[NGCT_Marine], TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MARINEVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_PREDATORVALUE, 255, &netGameData.characterKillValues[NGCT_Predator], TEXTSTRING_BLANK, TEXTSTRING_MPHELP_PREDATORVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_BASEKILLVALUE}, {255}, {&netGameData.baseKillValue}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_BASEKILLVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_ALIENVALUE}, {255}, {&netGameData.characterKillValues[NGCT_Alien]}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_ALIENVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MARINEVALUE}, {255}, {&netGameData.characterKillValues[NGCT_Marine]}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MARINEVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_PREDATORVALUE}, {255}, {&netGameData.characterKillValues[NGCT_Predator]}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_PREDATORVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_AI_ALIENVALUE, 255, &netGameData.aiKillValues[0], TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_AI_PREDALIENVALUE, 255, &netGameData.aiKillValues[1], TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_AI_PRAETORIANVALUE, 255, &netGameData.aiKillValues[2], TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_AI_ALIENVALUE}, {255}, {&netGameData.aiKillValues[0]}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_AI_PREDALIENVALUE}, {255}, {&netGameData.aiKillValues[1]}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_AI_PRAETORIANVALUE}, {255}, {&netGameData.aiKillValues[2]}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_LIVES, 255, &netGameData.maxLives, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_LIVES, TEXTSTRING_MULTIPLAYER_INFINITE},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_SHAREDLIVES, 1, &netGameData.useSharedLives, TEXTSTRING_NO, TEXTSTRING_MPHELP_SHAREDLIVES},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_LIVES}, {255}, {&netGameData.maxLives}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_LIVES, TEXTSTRING_MULTIPLAYER_INFINITE},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SHAREDLIVES}, {1}, {&netGameData.useSharedLives}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_SHAREDLIVES},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS, 1000000, &netGameData.pointsForRespawn, TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_RESPAWN_POINTS, TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS_NO},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_RESPAWN_TIME, 255, &netGameData.timeForRespawn, TEXTSTRING_MULTIPLAYER_SECONDS, TEXTSTRING_MPHELP_RESPAWN_TIME, TEXTSTRING_MULTIPLAYER_RESPAWN_TIME_NO},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS}, {1000000}, {&netGameData.pointsForRespawn}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_RESPAWN_POINTS, TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS_NO},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_RESPAWN_TIME}, {255}, {&netGameData.timeForRespawn}, {TEXTSTRING_MULTIPLAYER_SECONDS}, TEXTSTRING_MPHELP_RESPAWN_TIME, TEXTSTRING_MULTIPLAYER_RESPAWN_TIME_NO},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_PREDESTROYLIGHTS, 1, &netGameData.preDestroyLights, TEXTSTRING_NO, TEXTSTRING_MPHELP_PREDESTROYLIGHTS},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_PREDESTROYLIGHTS}, {1}, {&netGameData.preDestroyLights}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_PREDESTROYLIGHTS},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_NOFRIENDLYFIRE, 1, &netGameData.disableFriendlyFire, TEXTSTRING_NO, TEXTSTRING_MPHELP_NOFRIENDLYFIRE},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_FALLINGDAMAGE, 1, &netGameData.fallingDamage, TEXTSTRING_NO, TEXTSTRING_MPHELP_FALLINGDAMAGE},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_PISTOLINFINITEAMMO, 1, &netGameData.pistolInfiniteAmmo, TEXTSTRING_NO, TEXTSTRING_MPHELP_PISTOLINFINITEAMMO},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_SPECIALISTPISTOLS, 1, &netGameData.specialistPistols, TEXTSTRING_NO, TEXTSTRING_MPHELP_SPECIALISTPISTOLS},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_NOFRIENDLYFIRE}, {1}, {&netGameData.disableFriendlyFire}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_NOFRIENDLYFIRE},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_FALLINGDAMAGE}, {1}, {&netGameData.fallingDamage}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_FALLINGDAMAGE},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_PISTOLINFINITEAMMO}, {1}, {&netGameData.pistolInfiniteAmmo}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_PISTOLINFINITEAMMO},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SPECIALISTPISTOLS}, {1}, {&netGameData.specialistPistols}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_SPECIALISTPISTOLS},
{AVPMENU_ELEMENT_ENDOFMENU}
};
AVPMENU_ELEMENT AvPMenu_Multiplayer_Config_Join[]=
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_LEVELSELECT_START, AVPMENU_MULTIPLAYER_SPECIES_JOIN, 0, TEXTSTRING_BLANK, TEXTSTRING_LEVELSELECT_START_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_LEVELSELECT_START}, {AVPMENU_MULTIPLAYER_SPECIES_JOIN}, {0}, {TEXTSTRING_BLANK}, TEXTSTRING_LEVELSELECT_START_HELP},
- {AVPMENU_ELEMENT_DUMMYTEXTFIELD, TEXTSTRING_MULTIPLAYER_SESSIONNAME, MAX_MULTIPLAYER_NAME_LENGTH, (int*)MP_SessionName, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_SESSIONNAME},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_GAMESTYLE, 5, (int*)&netGameData.gameType, TEXTSTRING_MULTIPLAYER_DEATHMATCH, TEXTSTRING_MPHELP_GAMESTYLE_DEATHMATCH},
+ {AVPMENU_ELEMENT_DUMMYTEXTFIELD, {TEXTSTRING_MULTIPLAYER_SESSIONNAME}, {MAX_MULTIPLAYER_NAME_LENGTH}, {(int*)MP_SessionName}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_SESSIONNAME},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_GAMESTYLE}, {5}, {(int*)&netGameData.gameType}, {TEXTSTRING_MULTIPLAYER_DEATHMATCH}, TEXTSTRING_MPHELP_GAMESTYLE_DEATHMATCH},
//values initialised later
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER_POINTER, TEXTSTRING_MULTIPLAYER_ENVIRONMENT, 0, &netGameData.levelNumber, 0, TEXTSTRING_MPHELP_ENVIRONMENT},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_GAMESPEED, 3, (int*)&netGameData.gameSpeed, TEXTSTRING_MULTIPLAYER_70PERCENT, TEXTSTRING_MPHELP_GAMESPEED},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER_POINTER, {TEXTSTRING_MULTIPLAYER_ENVIRONMENT}, {0}, {&netGameData.levelNumber}, {0}, TEXTSTRING_MPHELP_ENVIRONMENT},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_GAMESPEED}, {3}, {(int*)&netGameData.gameSpeed}, {TEXTSTRING_MULTIPLAYER_70PERCENT}, TEXTSTRING_MPHELP_GAMESPEED},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_SCORELIMIT, 1000000, &netGameData.scoreLimit, TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_SCORELIMIT, TEXTSTRING_MULTIPLAYER_NOSCORELIMIT},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_TIMELIMIT, 255, &netGameData.timeLimit, TEXTSTRING_MULTIPLAYER_MINUTES, TEXTSTRING_MPHELP_TIMELIMIT, TEXTSTRING_MULTIPLAYER_NOTIMELIMIT},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_INVULNTIME, 255, &netGameData.invulnerableTime, TEXTSTRING_MULTIPLAYER_SECONDS, TEXTSTRING_MPHELP_INVULNTIME, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_SCORELIMIT}, {1000000}, {&netGameData.scoreLimit}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_SCORELIMIT, TEXTSTRING_MULTIPLAYER_NOSCORELIMIT},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_TIMELIMIT}, {255}, {&netGameData.timeLimit}, {TEXTSTRING_MULTIPLAYER_MINUTES}, TEXTSTRING_MPHELP_TIMELIMIT, TEXTSTRING_MULTIPLAYER_NOTIMELIMIT},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_INVULNTIME}, {255}, {&netGameData.invulnerableTime}, {TEXTSTRING_MULTIPLAYER_SECONDS}, TEXTSTRING_MPHELP_INVULNTIME, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXPREDATOR, 8, &netGameData.maxPredator, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXALIEN, 8, &netGameData.maxAlien, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE, 8, &netGameData.maxMarine, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_GENERAL, 8, &netGameData.maxMarineGeneral, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_PULSERIFLE, 8, &netGameData.maxMarinePulseRifle, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_SMARTGUN, 8, &netGameData.maxMarineSmartgun, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_FLAMER, 8, &netGameData.maxMarineFlamer, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_SADAR, 8, &netGameData.maxMarineSadar, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_GRENADE, 8, &netGameData.maxMarineGrenade, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_MINIGUN, 8, &netGameData.maxMarineMinigun, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_SKEETER, 8, &netGameData.maxMarineSmartDisc, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MAXMARINE_PISTOLS, 8, &netGameData.maxMarinePistols, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXPREDATOR}, {8}, {&netGameData.maxPredator}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXALIEN}, {8}, {&netGameData.maxAlien}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE}, {8}, {&netGameData.maxMarine}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXCHARACTER, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_GENERAL}, {8}, {&netGameData.maxMarineGeneral}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_PULSERIFLE}, {8}, {&netGameData.maxMarinePulseRifle}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_SMARTGUN}, {8}, {&netGameData.maxMarineSmartgun}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_FLAMER}, {8}, {&netGameData.maxMarineFlamer}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_SADAR}, {8}, {&netGameData.maxMarineSadar}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_GRENADE}, {8}, {&netGameData.maxMarineGrenade}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_MINIGUN}, {8}, {&netGameData.maxMarineMinigun}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_SKEETER}, {8}, {&netGameData.maxMarineSmartDisc}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MAXMARINE_PISTOLS}, {8}, {&netGameData.maxMarinePistols}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MAXSPECIALIST, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SMARTGUN, 1, &netGameData.allowSmartgun, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_FLAMER, 1, &netGameData.allowFlamer, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SADAR, 1, &netGameData.allowSadar, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_GRENADELAUNCHER, 1, &netGameData.allowGrenadeLauncher, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_MINIGUN, 1, &netGameData.allowMinigun, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SKEETER, 1, &netGameData.allowSmartDisc, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_MARINE_PISTOLS, 1, &netGameData.allowPistols, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_DISC, 1, &netGameData.allowDisc, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_PISTOL, 1, &netGameData.allowPistol, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_PLASMACASTER, 1, &netGameData.allowPlasmaCaster, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SPEARGUN, 1, &netGameData.allowSpeargun, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_MEDICOMP, 1, &netGameData.allowMedicomp, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SMARTGUN}, {1}, {&netGameData.allowSmartgun}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_FLAMER}, {1}, {&netGameData.allowFlamer}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SADAR}, {1}, {&netGameData.allowSadar}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_GRENADELAUNCHER}, {1}, {&netGameData.allowGrenadeLauncher}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_MINIGUN}, {1}, {&netGameData.allowMinigun}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SKEETER}, {1}, {&netGameData.allowSmartDisc}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_MARINE_PISTOLS}, {1}, {&netGameData.allowPistols}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_DISC}, {1}, {&netGameData.allowDisc}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_PISTOL}, {1}, {&netGameData.allowPistol}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_PLASMACASTER}, {1}, {&netGameData.allowPlasmaCaster}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SPEARGUN}, {1}, {&netGameData.allowSpeargun}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_MEDICOMP}, {1}, {&netGameData.allowMedicomp}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_DYNAMICSCORING, 1, &netGameData.useDynamicScoring, TEXTSTRING_NO, TEXTSTRING_MPHELP_DYNAMICSCORING},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_CHARACTERSCORING, 1, &netGameData.useCharacterKillValues, TEXTSTRING_NO, TEXTSTRING_MPHELP_CHARACTERSCORING},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_DYNAMICSCORING}, {1}, {&netGameData.useDynamicScoring}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_DYNAMICSCORING},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_CHARACTERSCORING}, {1}, {&netGameData.useCharacterKillValues}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_CHARACTERSCORING},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_BASEKILLVALUE, 255, &netGameData.baseKillValue, TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_BASEKILLVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_ALIENVALUE, 255, &netGameData.characterKillValues[NGCT_Alien], TEXTSTRING_BLANK, TEXTSTRING_MPHELP_ALIENVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_MARINEVALUE, 255, &netGameData.characterKillValues[NGCT_Marine], TEXTSTRING_BLANK, TEXTSTRING_MPHELP_MARINEVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_PREDATORVALUE, 255, &netGameData.characterKillValues[NGCT_Predator], TEXTSTRING_BLANK, TEXTSTRING_MPHELP_PREDATORVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_BASEKILLVALUE}, {255}, {&netGameData.baseKillValue}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_BASEKILLVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_ALIENVALUE}, {255}, {&netGameData.characterKillValues[NGCT_Alien]}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_ALIENVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_MARINEVALUE}, {255}, {&netGameData.characterKillValues[NGCT_Marine]}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_MARINEVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_PREDATORVALUE}, {255}, {&netGameData.characterKillValues[NGCT_Predator]}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_PREDATORVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_AI_ALIENVALUE, 255, &netGameData.aiKillValues[0], TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_AI_PREDALIENVALUE, 255, &netGameData.aiKillValues[1], TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_AI_PRAETORIANVALUE, 255, &netGameData.aiKillValues[2], TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_AI_ALIENVALUE}, {255}, {&netGameData.aiKillValues[0]}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_AI_PREDALIENVALUE}, {255}, {&netGameData.aiKillValues[1]}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_AI_PRAETORIANVALUE}, {255}, {&netGameData.aiKillValues[2]}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_LIVES, 255, &netGameData.maxLives, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_LIVES, TEXTSTRING_MULTIPLAYER_INFINITE},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_SHAREDLIVES, 1, &netGameData.useSharedLives, TEXTSTRING_NO, TEXTSTRING_MPHELP_SHAREDLIVES},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_LIVES}, {255}, {&netGameData.maxLives}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_LIVES, TEXTSTRING_MULTIPLAYER_INFINITE},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SHAREDLIVES}, {1}, {&netGameData.useSharedLives}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_SHAREDLIVES},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS, 1000000, &netGameData.pointsForRespawn, TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_RESPAWN_POINTS, TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS_NO},
- {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, TEXTSTRING_MULTIPLAYER_RESPAWN_TIME, 255, &netGameData.timeForRespawn, TEXTSTRING_MULTIPLAYER_SECONDS, TEXTSTRING_MPHELP_RESPAWN_TIME, TEXTSTRING_MULTIPLAYER_RESPAWN_TIME_NO},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS}, {1000000}, {&netGameData.pointsForRespawn}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_RESPAWN_POINTS, TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS_NO},
+ {AVPMENU_ELEMENT_DUMMYNUMBERFIELD, {TEXTSTRING_MULTIPLAYER_RESPAWN_TIME}, {255}, {&netGameData.timeForRespawn}, {TEXTSTRING_MULTIPLAYER_SECONDS}, TEXTSTRING_MPHELP_RESPAWN_TIME, TEXTSTRING_MULTIPLAYER_RESPAWN_TIME_NO},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_PREDESTROYLIGHTS, 1, &netGameData.preDestroyLights, TEXTSTRING_NO, TEXTSTRING_MPHELP_PREDESTROYLIGHTS},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_PREDESTROYLIGHTS}, {1}, {&netGameData.preDestroyLights}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_PREDESTROYLIGHTS},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_NOFRIENDLYFIRE, 1, &netGameData.disableFriendlyFire, TEXTSTRING_NO, TEXTSTRING_MPHELP_NOFRIENDLYFIRE},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_FALLINGDAMAGE, 1, &netGameData.fallingDamage, TEXTSTRING_NO, TEXTSTRING_MPHELP_FALLINGDAMAGE},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_PISTOLINFINITEAMMO, 1, &netGameData.pistolInfiniteAmmo, TEXTSTRING_NO, TEXTSTRING_MPHELP_PISTOLINFINITEAMMO},
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_MULTIPLAYER_SPECIALISTPISTOLS, 1, &netGameData.specialistPistols, TEXTSTRING_NO, TEXTSTRING_MPHELP_SPECIALISTPISTOLS},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_NOFRIENDLYFIRE}, {1}, {&netGameData.disableFriendlyFire}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_NOFRIENDLYFIRE},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_FALLINGDAMAGE}, {1}, {&netGameData.fallingDamage}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_FALLINGDAMAGE},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_PISTOLINFINITEAMMO}, {1}, {&netGameData.pistolInfiniteAmmo}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_PISTOLINFINITEAMMO},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SPECIALISTPISTOLS}, {1}, {&netGameData.specialistPistols}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_SPECIALISTPISTOLS},
{AVPMENU_ELEMENT_ENDOFMENU}
};
@@ -524,51 +524,51 @@ AVPMENU_ELEMENT AvPMenu_Multiplayer_Config_Join[]=
AVPMENU_ELEMENT AvPMenu_Skirmish_Config[]=
{
- {AVPMENU_ELEMENT_RESETMPCONFIG, TEXTSTRING_CONTROLS_RESETTODEFAULT, 0, 0, TEXTSTRING_BLANK, TEXTSTRING_CONTROLS_RESETTODEFAULT_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_LOADCONFIG, AVPMENU_MULTIPLAYER_LOADCONFIG, 0, TEXTSTRING_BLANK, TEXTSTRING_MULTIPLAYER_LOADCONFIG_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MULTIPLAYER_SAVECONFIG, AVPMENU_MULTIPLAYER_SAVECONFIG, 0, TEXTSTRING_BLANK, TEXTSTRING_MULTIPLAYER_SAVECONFIG_HELP},
+ {AVPMENU_ELEMENT_RESETMPCONFIG, {TEXTSTRING_CONTROLS_RESETTODEFAULT}, {0}, {0}, {TEXTSTRING_BLANK}, TEXTSTRING_CONTROLS_RESETTODEFAULT_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_LOADCONFIG}, {AVPMENU_MULTIPLAYER_LOADCONFIG}, {0}, {TEXTSTRING_BLANK}, TEXTSTRING_MULTIPLAYER_LOADCONFIG_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MULTIPLAYER_SAVECONFIG}, {AVPMENU_MULTIPLAYER_SAVECONFIG}, {0}, {TEXTSTRING_BLANK}, TEXTSTRING_MULTIPLAYER_SAVECONFIG_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_LEVELSELECT_START, AVPMENU_MULTIPLAYER_SPECIES_HOST, 0, TEXTSTRING_BLANK, TEXTSTRING_LEVELSELECT_START_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_LEVELSELECT_START}, {AVPMENU_MULTIPLAYER_SPECIES_HOST}, {0}, {TEXTSTRING_BLANK}, TEXTSTRING_LEVELSELECT_START_HELP},
//values initialised later
- {AVPMENU_ELEMENT_TEXTSLIDER_POINTER, TEXTSTRING_MULTIPLAYER_ENVIRONMENT, 0, &netGameData.levelNumber, 0, TEXTSTRING_MPHELP_ENVIRONMENT},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_GAMESPEED, 3, (int*)&netGameData.gameSpeed, TEXTSTRING_MULTIPLAYER_70PERCENT, TEXTSTRING_MPHELP_GAMESPEED},
+ {AVPMENU_ELEMENT_TEXTSLIDER_POINTER, {TEXTSTRING_MULTIPLAYER_ENVIRONMENT}, {0}, {&netGameData.levelNumber}, {0}, TEXTSTRING_MPHELP_ENVIRONMENT},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_GAMESPEED}, {3}, {(int*)&netGameData.gameSpeed}, {TEXTSTRING_MULTIPLAYER_70PERCENT}, TEXTSTRING_MPHELP_GAMESPEED},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_SCORELIMIT, 1000000, &netGameData.scoreLimit, TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_SCORELIMIT, TEXTSTRING_MULTIPLAYER_NOSCORELIMIT},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_TIMELIMIT, 255, &netGameData.timeLimit, TEXTSTRING_MULTIPLAYER_MINUTES, TEXTSTRING_MPHELP_TIMELIMIT, TEXTSTRING_MULTIPLAYER_NOTIMELIMIT},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_INVULNTIME, 255, &netGameData.invulnerableTime, TEXTSTRING_MULTIPLAYER_SECONDS, TEXTSTRING_MPHELP_INVULNTIME, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_SCORELIMIT}, {1000000}, {&netGameData.scoreLimit}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_SCORELIMIT, TEXTSTRING_MULTIPLAYER_NOSCORELIMIT},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_TIMELIMIT}, {255}, {&netGameData.timeLimit}, {TEXTSTRING_MULTIPLAYER_MINUTES}, TEXTSTRING_MPHELP_TIMELIMIT, TEXTSTRING_MULTIPLAYER_NOTIMELIMIT},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_INVULNTIME}, {255}, {&netGameData.invulnerableTime}, {TEXTSTRING_MULTIPLAYER_SECONDS}, TEXTSTRING_MPHELP_INVULNTIME, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SMARTGUN, 1, &netGameData.allowSmartgun, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_FLAMER, 1, &netGameData.allowFlamer, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SADAR, 1, &netGameData.allowSadar, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_GRENADELAUNCHER, 1, &netGameData.allowGrenadeLauncher, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_MINIGUN, 1, &netGameData.allowMinigun, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SKEETER, 1, &netGameData.allowSmartDisc, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_MARINE_PISTOLS, 1, &netGameData.allowPistols, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_DISC, 1, &netGameData.allowDisc, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_PISTOL, 1, &netGameData.allowPistol, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_PLASMACASTER, 1, &netGameData.allowPlasmaCaster, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_SPEARGUN, 1, &netGameData.allowSpeargun, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ALLOW_MEDICOMP, 1, &netGameData.allowMedicomp, TEXTSTRING_NO, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SMARTGUN}, {1}, {&netGameData.allowSmartgun}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_FLAMER}, {1}, {&netGameData.allowFlamer}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SADAR}, {1}, {&netGameData.allowSadar}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_GRENADELAUNCHER}, {1}, {&netGameData.allowGrenadeLauncher}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_MINIGUN}, {1}, {&netGameData.allowMinigun}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SKEETER}, {1}, {&netGameData.allowSmartDisc}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_MARINE_PISTOLS}, {1}, {&netGameData.allowPistols}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_DISC}, {1}, {&netGameData.allowDisc}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_PISTOL}, {1}, {&netGameData.allowPistol}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_PLASMACASTER}, {1}, {&netGameData.allowPlasmaCaster}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_SPEARGUN}, {1}, {&netGameData.allowSpeargun}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ALLOW_MEDICOMP}, {1}, {&netGameData.allowMedicomp}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_ALLOWEAPON_PRED},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_BASEKILLVALUE, 255, &netGameData.baseKillValue, TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_BASEKILLVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_BASEKILLVALUE}, {255}, {&netGameData.baseKillValue}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_BASEKILLVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_AI_ALIENVALUE, 255, &netGameData.aiKillValues[0], TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_AI_PREDALIENVALUE, 255, &netGameData.aiKillValues[1], TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_AI_PRAETORIANVALUE, 255, &netGameData.aiKillValues[2], TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_AI_ALIENVALUE}, {255}, {&netGameData.aiKillValues[0]}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_AI_PREDALIENVALUE}, {255}, {&netGameData.aiKillValues[1]}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_AI_PRAETORIANVALUE}, {255}, {&netGameData.aiKillValues[2]}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_AIVALUE, TEXTSTRING_BLANK},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_LIVES, 255, &netGameData.maxLives, TEXTSTRING_BLANK, TEXTSTRING_MPHELP_LIVES, TEXTSTRING_MULTIPLAYER_INFINITE},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_LIVES}, {255}, {&netGameData.maxLives}, {TEXTSTRING_BLANK}, TEXTSTRING_MPHELP_LIVES, TEXTSTRING_MULTIPLAYER_INFINITE},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS, 1000000, &netGameData.pointsForRespawn, TEXTSTRING_MULTIPLAYER_POINTS, TEXTSTRING_MPHELP_RESPAWN_POINTS, TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS_NO},
- {AVPMENU_ELEMENT_NUMBERFIELD, TEXTSTRING_MULTIPLAYER_RESPAWN_TIME, 255, &netGameData.timeForRespawn, TEXTSTRING_MULTIPLAYER_SECONDS, TEXTSTRING_MPHELP_RESPAWN_TIME, TEXTSTRING_MULTIPLAYER_RESPAWN_TIME_NO},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS}, {1000000}, {&netGameData.pointsForRespawn}, {TEXTSTRING_MULTIPLAYER_POINTS}, TEXTSTRING_MPHELP_RESPAWN_POINTS, TEXTSTRING_MULTIPLAYER_RESPAWN_POINTS_NO},
+ {AVPMENU_ELEMENT_NUMBERFIELD, {TEXTSTRING_MULTIPLAYER_RESPAWN_TIME}, {255}, {&netGameData.timeForRespawn}, {TEXTSTRING_MULTIPLAYER_SECONDS}, TEXTSTRING_MPHELP_RESPAWN_TIME, TEXTSTRING_MULTIPLAYER_RESPAWN_TIME_NO},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_PREDESTROYLIGHTS, 1, &netGameData.preDestroyLights, TEXTSTRING_NO, TEXTSTRING_MPHELP_PREDESTROYLIGHTS},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_PREDESTROYLIGHTS}, {1}, {&netGameData.preDestroyLights}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_PREDESTROYLIGHTS},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_FALLINGDAMAGE, 1, &netGameData.fallingDamage, TEXTSTRING_NO, TEXTSTRING_MPHELP_FALLINGDAMAGE},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_FALLINGDAMAGE}, {1}, {&netGameData.fallingDamage}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_FALLINGDAMAGE},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_PISTOLINFINITEAMMO, 1, &netGameData.pistolInfiniteAmmo, TEXTSTRING_NO, TEXTSTRING_MPHELP_PISTOLINFINITEAMMO},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_PISTOLINFINITEAMMO}, {1}, {&netGameData.pistolInfiniteAmmo}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_PISTOLINFINITEAMMO},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_SPECIALISTPISTOLS, 1, &netGameData.specialistPistols, TEXTSTRING_NO, TEXTSTRING_MPHELP_SPECIALISTPISTOLS},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SPECIALISTPISTOLS}, {1}, {&netGameData.specialistPistols}, {TEXTSTRING_NO}, TEXTSTRING_MPHELP_SPECIALISTPISTOLS},
{AVPMENU_ELEMENT_ENDOFMENU}
};
@@ -576,16 +576,16 @@ AVPMENU_ELEMENT AvPMenu_Skirmish_Config[]=
static AVPMENU_ELEMENT AvPMenu_Multiplayer_Species_Host[]=
{
- {AVPMENU_ELEMENT_SPECIES_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_SPECIES, 10, &MP_Species, TEXTSTRING_MULTIPLAYER_MARINE, TEXTSTRING_MULTIPLAYER_SPECIES_HELP},
- {AVPMENU_ELEMENT_STARTMPGAME, TEXTSTRING_LEVELSELECT_START, 0, 0, 0, TEXTSTRING_MULTIPLAYER_START2_HELP},
+ {AVPMENU_ELEMENT_SPECIES_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SPECIES}, {10}, {&MP_Species}, {TEXTSTRING_MULTIPLAYER_MARINE}, TEXTSTRING_MULTIPLAYER_SPECIES_HELP},
+ {AVPMENU_ELEMENT_STARTMPGAME, {TEXTSTRING_LEVELSELECT_START}, {0}, {0}, {0}, TEXTSTRING_MULTIPLAYER_START2_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_Multiplayer_Species_Join[]=
{
- {AVPMENU_ELEMENT_SPECIES_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_SPECIES, 10, &MP_Species, TEXTSTRING_MULTIPLAYER_MARINE, TEXTSTRING_MULTIPLAYER_SPECIES_HELP},
- {AVPMENU_ELEMENT_JOINMPGAME, TEXTSTRING_LEVELSELECT_START, 0, 0, 0, TEXTSTRING_MULTIPLAYER_START2_HELP},
+ {AVPMENU_ELEMENT_SPECIES_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SPECIES}, {10}, {&MP_Species}, {TEXTSTRING_MULTIPLAYER_MARINE}, TEXTSTRING_MULTIPLAYER_SPECIES_HELP},
+ {AVPMENU_ELEMENT_JOINMPGAME, {TEXTSTRING_LEVELSELECT_START}, {0}, {0}, {0}, TEXTSTRING_MULTIPLAYER_START2_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
@@ -593,23 +593,23 @@ char MP_Config_Name[22];
char MP_Config_Description[202]="";
static AVPMENU_ELEMENT AvPMenu_Multiplayer_SaveConfig[] =
{
- {AVPMENU_ELEMENT_TEXTFIELD, TEXTSTRING_FILENAME, 20, (int*)MP_Config_Name, 0, TEXTSTRING_CONFIGFILENAME_HELP},
- {AVPMENU_ELEMENT_TEXTFIELD_SMALLWRAPPED, TEXTSTRING_DESCRIPTION, 200, (int*)MP_Config_Description, 0, TEXTSTRING_CONFIGDESCRIPTION_HELP},
- {AVPMENU_ELEMENT_SAVEMPCONFIG, TEXTSTRING_SAVEFILE, AVPMENU_MULTIPLAYER_CONFIG, 0, 0, TEXTSTRING_CONFIGSAVEFILE_HELP},
+ {AVPMENU_ELEMENT_TEXTFIELD, {TEXTSTRING_FILENAME}, {20}, {(int*)MP_Config_Name}, {0}, TEXTSTRING_CONFIGFILENAME_HELP},
+ {AVPMENU_ELEMENT_TEXTFIELD_SMALLWRAPPED, {TEXTSTRING_DESCRIPTION}, {200}, {(int*)MP_Config_Description}, {0}, TEXTSTRING_CONFIGDESCRIPTION_HELP},
+ {AVPMENU_ELEMENT_SAVEMPCONFIG, {TEXTSTRING_SAVEFILE}, {AVPMENU_MULTIPLAYER_CONFIG}, {0}, {0}, TEXTSTRING_CONFIGSAVEFILE_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_Multiplayer_DeleteConfig[] =
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_NO, AVPMENU_MULTIPLAYER_CONFIG, 0, 0, TEXTSTRING_DELETECONFIGURATION_HELP},
- {AVPMENU_ELEMENT_DELETEMPCONFIG, TEXTSTRING_YES, 0, 0, 0, TEXTSTRING_DELETECONFIGURATION_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_NO}, {AVPMENU_MULTIPLAYER_CONFIG}, {0}, {0}, TEXTSTRING_DELETECONFIGURATION_HELP},
+ {AVPMENU_ELEMENT_DELETEMPCONFIG, {TEXTSTRING_YES}, {0}, {0}, {0}, TEXTSTRING_DELETECONFIGURATION_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_Multiplayer_Joining[] =
{
- {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, TEXTSTRING_BLANK, 1, &netGameData.joiningGameStatus, TEXTSTRING_MULTIPLAYER_WAITSTART, TEXTSTRING_MULTIPLAYER_WAIT_HELP},
+ {AVPMENU_ELEMENT_DUMMYTEXTSLIDER, {TEXTSTRING_BLANK}, {1}, {&netGameData.joiningGameStatus}, {TEXTSTRING_MULTIPLAYER_WAITSTART}, TEXTSTRING_MULTIPLAYER_WAIT_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
@@ -617,27 +617,27 @@ static AVPMENU_ELEMENT AvPMenu_Multiplayer_Joining[] =
static AVPMENU_ELEMENT AvPMenu_InGame[] =
{
- {AVPMENU_ELEMENT_RESUMEGAME,TEXTSTRING_INGAMEMENU_RESUMEGAME, 0},
+ {AVPMENU_ELEMENT_RESUMEGAME,{TEXTSTRING_INGAMEMENU_RESUMEGAME}, {0}},
#if SAVE_GAME_ON
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_SAVEGAME, AVPMENU_SAVEGAME},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_LOADGAME, AVPMENU_LOADGAME},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_SAVEGAME}, {AVPMENU_SAVEGAME}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_LOADGAME}, {AVPMENU_LOADGAME}},
#endif
- {AVPMENU_ELEMENT_RESTARTGAME,TEXTSTRING_INGAMEMENU_RESTARTMISSION, 0},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MOUSECONTROLS_TITLE, AVPMENU_CONTROLS},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_JOYSTICKCONTROLS_TITLE, AVPMENU_JOYSTICKCONTROLS},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MARINEKEYCONTROLS_TITLE, AVPMENU_MARINEKEYCONFIG},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_AVOPTIONS_TITLE, AVPMENU_INGAMEAVOPTIONS},
- {AVPMENU_ELEMENT_QUITGAME, TEXTSTRING_INGAMEMENU_QUITTOMAINMENU, 0},
+ {AVPMENU_ELEMENT_RESTARTGAME,{TEXTSTRING_INGAMEMENU_RESTARTMISSION}, {0}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MOUSECONTROLS_TITLE}, {AVPMENU_CONTROLS}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_JOYSTICKCONTROLS_TITLE}, {AVPMENU_JOYSTICKCONTROLS}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MARINEKEYCONTROLS_TITLE}, {AVPMENU_MARINEKEYCONFIG}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_AVOPTIONS_TITLE}, {AVPMENU_INGAMEAVOPTIONS}},
+ {AVPMENU_ELEMENT_QUITGAME, {TEXTSTRING_INGAMEMENU_QUITTOMAINMENU}, {0}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_InNetGame[] =
{
- {AVPMENU_ELEMENT_RESUMEGAME,TEXTSTRING_INGAMEMENU_RESUMEGAME, 0},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MOUSECONTROLS_TITLE, AVPMENU_CONTROLS},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_JOYSTICKCONTROLS_TITLE, AVPMENU_JOYSTICKCONTROLS},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MARINEKEYCONTROLS_TITLE, AVPMENU_MARINEKEYCONFIG},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_AVOPTIONS_TITLE, AVPMENU_INGAMEAVOPTIONS},
- {AVPMENU_ELEMENT_QUITGAME, TEXTSTRING_INGAMEMENU_QUITTOMAINMENU, 0},
+ {AVPMENU_ELEMENT_RESUMEGAME,{TEXTSTRING_INGAMEMENU_RESUMEGAME}, {0}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MOUSECONTROLS_TITLE}, {AVPMENU_CONTROLS}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_JOYSTICKCONTROLS_TITLE}, {AVPMENU_JOYSTICKCONTROLS}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MARINEKEYCONTROLS_TITLE}, {AVPMENU_MARINEKEYCONFIG}},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_AVOPTIONS_TITLE}, {AVPMENU_INGAMEAVOPTIONS}},
+ {AVPMENU_ELEMENT_QUITGAME, {TEXTSTRING_INGAMEMENU_QUITTOMAINMENU}, {0}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
@@ -651,39 +651,39 @@ static AVPMENU_ELEMENT AvPMenu_KeyConfig[NUMBER_OF_PREDATOR_INPUTS+2+1];
static AVPMENU_ELEMENT AvPMenu_Options[] =
{
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MOUSECONTROLS_TITLE, AVPMENU_CONTROLS, 0, 0, TEXTSTRING_MOUSECONTROLS_TITLE_HELP},
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_JOYSTICKCONTROLS_TITLE, AVPMENU_JOYSTICKCONTROLS, 0, 0, TEXTSTRING_JOYSTICKCONTROLS_TITLE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MOUSECONTROLS_TITLE}, {AVPMENU_CONTROLS}, {0}, {0}, TEXTSTRING_MOUSECONTROLS_TITLE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_JOYSTICKCONTROLS_TITLE}, {AVPMENU_JOYSTICKCONTROLS}, {0}, {0}, TEXTSTRING_JOYSTICKCONTROLS_TITLE_HELP},
#if !(MARINE_DEMO||ALIEN_DEMO)
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_PREDATORKEYCONTROLS_TITLE, AVPMENU_PREDATORKEYCONFIG, 0, 0, TEXTSTRING_PREDATORKEYCONTROLS_TITLE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_PREDATORKEYCONTROLS_TITLE}, {AVPMENU_PREDATORKEYCONFIG}, {0}, {0}, TEXTSTRING_PREDATORKEYCONTROLS_TITLE_HELP},
#endif
#if !(PREDATOR_DEMO||ALIEN_DEMO)
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_MARINEKEYCONTROLS_TITLE, AVPMENU_MARINEKEYCONFIG, 0, 0, TEXTSTRING_MARINEKEYCONTROLS_TITLE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_MARINEKEYCONTROLS_TITLE}, {AVPMENU_MARINEKEYCONFIG}, {0}, {0}, TEXTSTRING_MARINEKEYCONTROLS_TITLE_HELP},
#endif
#if !(PREDATOR_DEMO||MARINE_DEMO)
- {AVPMENU_ELEMENT_GOTOMENU, TEXTSTRING_ALIENKEYCONTROLS_TITLE, AVPMENU_ALIENKEYCONFIG, 0, 0, TEXTSTRING_ALIENKEYCONTROLS_TITLE_HELP},
+ {AVPMENU_ELEMENT_GOTOMENU, {TEXTSTRING_ALIENKEYCONTROLS_TITLE}, {AVPMENU_ALIENKEYCONFIG}, {0}, {0}, TEXTSTRING_ALIENKEYCONTROLS_TITLE_HELP},
#endif
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_DifficultyLevelSelect[] =
{
- {AVPMENU_ELEMENT_DIFFICULTYLEVEL, TEXTSTRING_DIFFICULTY_EASY, 0, 0, 0, TEXTSTRING_DIFFICULTY_EASY_HELP},
- {AVPMENU_ELEMENT_DIFFICULTYLEVEL, TEXTSTRING_DIFFICULTY_MEDIUM, 0, 0, 0, TEXTSTRING_DIFFICULTY_MEDIUM_HELP},
- {AVPMENU_ELEMENT_DIFFICULTYLEVEL, TEXTSTRING_DIFFICULTY_HARD, 0, 0, 0, TEXTSTRING_DIFFICULTY_HARD_HELP},
+ {AVPMENU_ELEMENT_DIFFICULTYLEVEL, {TEXTSTRING_DIFFICULTY_EASY}, {0}, {0}, {0}, TEXTSTRING_DIFFICULTY_EASY_HELP},
+ {AVPMENU_ELEMENT_DIFFICULTYLEVEL, {TEXTSTRING_DIFFICULTY_MEDIUM}, {0}, {0}, {0}, TEXTSTRING_DIFFICULTY_MEDIUM_HELP},
+ {AVPMENU_ELEMENT_DIFFICULTYLEVEL, {TEXTSTRING_DIFFICULTY_HARD}, {0}, {0}, {0}, TEXTSTRING_DIFFICULTY_HARD_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_BriefingBonus[] =
{
- {AVPMENU_ELEMENT_DIFFICULTYLEVEL, TEXTSTRING_LEVELSELECT_START},
+ {AVPMENU_ELEMENT_DIFFICULTYLEVEL, {TEXTSTRING_LEVELSELECT_START}},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_CheatOptions[] =
{
- {AVPMENU_ELEMENT_CHEATMODE_TEXTSLIDER, TEXTSTRING_MAINMENU_CHEATMODE, MAX_NUMBER_OF_CHEATMODES-1, &CheatMode_Active, TEXTSTRING_CHEATOPTIONS_1, TEXTSTRING_CHEATOPTIONS_CHEATMODE_HELP},
- {AVPMENU_ELEMENT_CHEATMODE_SPECIES_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_SPECIES, 2, &CheatMode_Species, TEXTSTRING_MULTIPLAYER_MARINE, TEXTSTRING_CHEATOPTIONS_SPECIES_HELP},
- {AVPMENU_ELEMENT_CHEATMODE_ENVIRONMENT_TEXTSLIDER, TEXTSTRING_MULTIPLAYER_ENVIRONMENT, (MAX_NO_OF_MARINE_EPISODES+MAX_NO_OF_PREDATOR_EPISODES+MAX_NO_OF_ALIEN_EPISODES-1), &CheatMode_Environment, TEXTSTRING_MARINELEVELS_1, TEXTSTRING_CHEATOPTIONS_ENVIRONMENT_HELP},
- {AVPMENU_ELEMENT_STARTLEVELWITHCHEAT, TEXTSTRING_LEVELSELECT_START, 0},
+ {AVPMENU_ELEMENT_CHEATMODE_TEXTSLIDER, {TEXTSTRING_MAINMENU_CHEATMODE}, {MAX_NUMBER_OF_CHEATMODES-1}, {&CheatMode_Active}, {TEXTSTRING_CHEATOPTIONS_1}, TEXTSTRING_CHEATOPTIONS_CHEATMODE_HELP},
+ {AVPMENU_ELEMENT_CHEATMODE_SPECIES_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_SPECIES}, {2}, {&CheatMode_Species}, {TEXTSTRING_MULTIPLAYER_MARINE}, TEXTSTRING_CHEATOPTIONS_SPECIES_HELP},
+ {AVPMENU_ELEMENT_CHEATMODE_ENVIRONMENT_TEXTSLIDER, {TEXTSTRING_MULTIPLAYER_ENVIRONMENT}, {(MAX_NO_OF_MARINE_EPISODES+MAX_NO_OF_PREDATOR_EPISODES+MAX_NO_OF_ALIEN_EPISODES-1)}, {&CheatMode_Environment}, {TEXTSTRING_MARINELEVELS_1}, TEXTSTRING_CHEATOPTIONS_ENVIRONMENT_HELP},
+ {AVPMENU_ELEMENT_STARTLEVELWITHCHEAT, {TEXTSTRING_LEVELSELECT_START}, {0}},
{AVPMENU_ELEMENT_ENDOFMENU}
@@ -691,42 +691,42 @@ static AVPMENU_ELEMENT AvPMenu_CheatOptions[] =
static AVPMENU_ELEMENT AvPMenu_DetailLevels[] =
{
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_DETAILLEVELS_DECALNUMBER, 3, &MenuDetailLevelOptions.DecalNumber, TEXTSTRING_DETAILLEVELS_VERYLOW, TEXTSTRING_DETAILLEVELS_DECALNUMBER_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_DETAILLEVELS_LIGHTCORONAS, 1, &MenuDetailLevelOptions.LightCoronas, TEXTSTRING_DETAILLEVELS_OFF, TEXTSTRING_DETAILLEVELS_LIGHTCORONAS_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_DETAILLEVELS_DECALSONCHARACTERS, 1, &MenuDetailLevelOptions.DecalsOnCharacters, TEXTSTRING_DETAILLEVELS_OFF, TEXTSTRING_DETAILLEVELS_DECALSONCHARACTERS_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_DETAILLEVELS_DEFORMABLEEXPLOSIONS, 1, &MenuDetailLevelOptions.DeformableExplosions, TEXTSTRING_DETAILLEVELS_OFF, TEXTSTRING_DETAILLEVELS_DEFORMABLEEXPLOSIONS_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_DETAILLEVELS_CHARACTERCOMPLEXITY, 3, &MenuDetailLevelOptions.CharacterComplexity, TEXTSTRING_DETAILLEVELS_VERYLOW, TEXTSTRING_DETAILLEVELS_CHARACTERCOMPLEXITY_HELP},
- {AVPMENU_ELEMENT_TEXTSLIDER, TEXTSTRING_DETAILLEVELS_PARTICLECOMPLEXITY, 1, &MenuDetailLevelOptions.ParticleComplexity, TEXTSTRING_DETAILLEVELS_OFF, TEXTSTRING_DETAILLEVELS_PARTICLECOMPLEXITY_HELP},
- {AVPMENU_ELEMENT_SAVESETTINGS, TEXTSTRING_AVOPTIONS_USETHESESETTINGS, 0, 0, 0, TEXTSTRING_AVOPTIONS_USETHESESETTINGS_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_DETAILLEVELS_DECALNUMBER}, {3}, {&MenuDetailLevelOptions.DecalNumber}, {TEXTSTRING_DETAILLEVELS_VERYLOW}, TEXTSTRING_DETAILLEVELS_DECALNUMBER_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_DETAILLEVELS_LIGHTCORONAS}, {1}, {&MenuDetailLevelOptions.LightCoronas}, {TEXTSTRING_DETAILLEVELS_OFF}, TEXTSTRING_DETAILLEVELS_LIGHTCORONAS_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_DETAILLEVELS_DECALSONCHARACTERS}, {1}, {&MenuDetailLevelOptions.DecalsOnCharacters}, {TEXTSTRING_DETAILLEVELS_OFF}, TEXTSTRING_DETAILLEVELS_DECALSONCHARACTERS_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_DETAILLEVELS_DEFORMABLEEXPLOSIONS}, {1}, {&MenuDetailLevelOptions.DeformableExplosions}, {TEXTSTRING_DETAILLEVELS_OFF}, TEXTSTRING_DETAILLEVELS_DEFORMABLEEXPLOSIONS_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_DETAILLEVELS_CHARACTERCOMPLEXITY}, {3}, {&MenuDetailLevelOptions.CharacterComplexity}, {TEXTSTRING_DETAILLEVELS_VERYLOW}, TEXTSTRING_DETAILLEVELS_CHARACTERCOMPLEXITY_HELP},
+ {AVPMENU_ELEMENT_TEXTSLIDER, {TEXTSTRING_DETAILLEVELS_PARTICLECOMPLEXITY}, {1}, {&MenuDetailLevelOptions.ParticleComplexity}, {TEXTSTRING_DETAILLEVELS_OFF}, TEXTSTRING_DETAILLEVELS_PARTICLECOMPLEXITY_HELP},
+ {AVPMENU_ELEMENT_SAVESETTINGS, {TEXTSTRING_AVOPTIONS_USETHESESETTINGS}, {0}, {0}, {0}, TEXTSTRING_AVOPTIONS_USETHESESETTINGS_HELP},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_LoadGame[] =
{
- {AVPMENU_ELEMENT_LOADGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_LOADGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_LOADGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_LOADGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_LOADGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_LOADGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_LOADGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_LOADGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_LOADGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_LOADGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_LOADGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_LOADGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_LOADGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_LOADGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_LOADGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_LOADGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_LOADGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_LOADGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_LOADGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_LOADGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_LOADGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_LOADGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_LOADGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_LOADGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_LOADGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_LOADGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_LOADGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_LOADGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_LOADGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_LOADGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_LOADGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_LOADGAME_INSTRUCTIONS},
{AVPMENU_ELEMENT_ENDOFMENU}
};
static AVPMENU_ELEMENT AvPMenu_SaveGame[] =
{
- {AVPMENU_ELEMENT_SAVEGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_SAVEGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_SAVEGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_SAVEGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_SAVEGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_SAVEGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_SAVEGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_SAVEGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_SAVEGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_SAVEGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_SAVEGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
- {AVPMENU_ELEMENT_SAVEGAME, TEXTSTRING_BLANK, 0, 0, 0, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_SAVEGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_SAVEGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_SAVEGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
+ {AVPMENU_ELEMENT_SAVEGAME, {TEXTSTRING_BLANK}, {0}, {0}, {0}, TEXTSTRING_SAVEGAME_INSTRUCTIONS},
{AVPMENU_ELEMENT_ENDOFMENU}
};
@@ -735,149 +735,149 @@ static AVPMENU_ELEMENT AvPMenu_SaveGame[] =
AVPMENU AvPMenusData[]=
{
// AVPMENU_MAIN
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_TITLE, &AvPMenu_MainMenu, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_TITLE, AvPMenu_MainMenu, AVPMENU_MAIN, 0},
// AVPMENU_MAIN_WITHCHEATS
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_TITLE, &AvPMenu_MainMenu_WithCheats, AVPMENU_MAIN_WITHCHEATS, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_TITLE, AvPMenu_MainMenu_WithCheats, AVPMENU_MAIN_WITHCHEATS, 0},
// AVPMENU_DEBUG_MAIN
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_TITLE, &AvPMenu_Debug_MainMenu, AVPMENU_DEBUG_MAIN, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_TITLE, AvPMenu_Debug_MainMenu, AVPMENU_DEBUG_MAIN, 0},
// AVPMENU_DEBUG_MAIN_WITHCHEATS
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_TITLE, &AvPMenu_Debug_MainMenu_WithCheats, AVPMENU_DEBUG_MAIN_WITHCHEATS, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_TITLE, AvPMenu_Debug_MainMenu_WithCheats, AVPMENU_DEBUG_MAIN_WITHCHEATS, 0},
// AVPMENU_EXITGAME
- {AVPMENU_FONT_BIG, TEXTSTRING_EXITGAME_TITLE, &AvPMenu_ExitGame, AVPMENU_MAIN, 1},
+ {AVPMENU_FONT_BIG, TEXTSTRING_EXITGAME_TITLE, AvPMenu_ExitGame, AVPMENU_MAIN, 1},
// AVPMENU_USERPROFILESELECT
- {AVPMENU_FONT_BIG, TEXTSTRING_USERPROFILE_SELECT, &AvPMenu_UserProfileSelect, AVPMENU_USERPROFILESELECT, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_USERPROFILE_SELECT, AvPMenu_UserProfileSelect, AVPMENU_USERPROFILESELECT, 0},
// AVPMENU_USERPROFILEENTERNAME
- {AVPMENU_FONT_BIG, TEXTSTRING_USERPROFILE_ENTERNAME, &AvPMenu_UserProfileEnterName, AVPMENU_USERPROFILESELECT, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_USERPROFILE_ENTERNAME, AvPMenu_UserProfileEnterName, AVPMENU_USERPROFILESELECT, 0},
// AVPMENU_USERPROFILEDELETE
- {AVPMENU_FONT_BIG, TEXTSTRING_USERPROFILE_DELETE, &AvPMenu_UserProfileDelete, AVPMENU_USERPROFILESELECT, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_USERPROFILE_DELETE, AvPMenu_UserProfileDelete, AVPMENU_USERPROFILESELECT, 0},
// AVPMENU_SINGLEPLAYER
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER, &AvPMenu_SinglePlayer, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_STARTSINGLEPLAYER, AvPMenu_SinglePlayer, AVPMENU_MAIN, 0},
// AVPMENU_MARINELEVELS
- {AVPMENU_FONT_BIG, TEXTSTRING_LEVELSELECT_TITLE, &AvPMenu_MarineLevels, AVPMENU_SINGLEPLAYER, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_LEVELSELECT_TITLE, AvPMenu_MarineLevels, AVPMENU_SINGLEPLAYER, 0},
// AVPMENU_ALIENLEVELS
- {AVPMENU_FONT_BIG, TEXTSTRING_LEVELSELECT_TITLE, &AvPMenu_AlienLevels, AVPMENU_SINGLEPLAYER, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_LEVELSELECT_TITLE, AvPMenu_AlienLevels, AVPMENU_SINGLEPLAYER, 0},
// AVPMENU_PREDATORLEVELS
- {AVPMENU_FONT_BIG, TEXTSTRING_LEVELSELECT_TITLE, &AvPMenu_PredatorLevels, AVPMENU_SINGLEPLAYER, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_LEVELSELECT_TITLE, AvPMenu_PredatorLevels, AVPMENU_SINGLEPLAYER, 0},
// AVPMENU_MULTIPLAYER
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_MULTIPLAYER, &AvPMenu_Multiplayer, AVPMENU_MULTIPLAYER_CONNECTION, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_MULTIPLAYER, AvPMenu_Multiplayer, AVPMENU_MULTIPLAYER_CONNECTION, 0},
// AVPMENU_MULTIPLAYER_LOBBIEDSERVER
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_MULTIPLAYER, &AvPMenu_Multiplayer_LobbiedServer, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_MULTIPLAYER, AvPMenu_Multiplayer_LobbiedServer, AVPMENU_MAIN, 0},
// AVPMENU_MULTIPLAYER_LOBBIEDCLIENT
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_MULTIPLAYER, &AvPMenu_Multiplayer_LobbiedClient, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_MULTIPLAYER, AvPMenu_Multiplayer_LobbiedClient, AVPMENU_MAIN, 0},
// AVPMENU_MULTIPLAYER_LOBBIEDCLIENT
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_SKIRMISH, &AvPMenu_Multiplayer_Skirmish, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_SKIRMISH, AvPMenu_Multiplayer_Skirmish, AVPMENU_MAIN, 0},
// AVPMENU_MULTIPLAYERSTARTGAME_
- {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_STARTGAME, &AvPMenu_MultiplayerStartGame, AVPMENU_MULTIPLAYER, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_STARTGAME, AvPMenu_MultiplayerStartGame, AVPMENU_MULTIPLAYER, 0},
// AVPMENU_MULTIPLAYERJOINGAME
- {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_JOINGAME, &AvPMenu_MultiplayerJoinGame, AVPMENU_MULTIPLAYER, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_JOINGAME, AvPMenu_MultiplayerJoinGame, AVPMENU_MULTIPLAYER, 0},
//AVPMENU_MULTIPLAYERSELECTSESSION
- {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_SELECTSESSION, &AvPMenu_MultiplayerSelectSession, AVPMENU_MULTIPLAYERJOINGAME, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_SELECTSESSION, AvPMenu_MultiplayerSelectSession, AVPMENU_MULTIPLAYERJOINGAME, 0},
// AVPMENU_MULTIPLAYERJOINGAME2
- {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_JOINGAME, &AvPMenu_MultiplayerJoinGame2, AVPMENU_MULTIPLAYERJOINGAME, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_JOINGAME, AvPMenu_MultiplayerJoinGame2, AVPMENU_MULTIPLAYERJOINGAME, 0},
// AVPMENU_MULTIPLAYEROPENADDRESS
- {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_OPENADDRESS, &AvPMenu_MultiplayerOpenAddress, AVPMENU_MULTIPLAYERJOINGAME, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_OPENADDRESS, AvPMenu_MultiplayerOpenAddress, AVPMENU_MULTIPLAYERJOINGAME, 0},
// AVPMENU_MULTIPLAYER_LOADIPADDRESS
{AVPMENU_FONT_BIG, TEXTSTRING_MULTIPLAYER_LOADADDRESS, 0, AVPMENU_MULTIPLAYEROPENADDRESS, 0},
// AVPMENU_MULTIPLAYER CONNECTION
- {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_MULTIPLAYER, &AvPMenu_MultiplayerConnection, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_MAINMENU_MULTIPLAYER, AvPMenu_MultiplayerConnection, AVPMENU_MAIN, 0},
// AVPMENU_MULTIPLAYER_CONFIG
- {AVPMENU_FONT_SMALL,TEXTSTRING_MULTIPLAYER_CONFIG, &AvPMenu_Multiplayer_Config, AVPMENU_MULTIPLAYER, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_MULTIPLAYER_CONFIG, AvPMenu_Multiplayer_Config, AVPMENU_MULTIPLAYER, 0},
// AVPMENU_MULTIPLAYER_CONFIG_JOIN
- {AVPMENU_FONT_SMALL,TEXTSTRING_MULTIPLAYER_CONFIG, &AvPMenu_Multiplayer_Config_Join, AVPMENU_MULTIPLAYER, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_MULTIPLAYER_CONFIG, AvPMenu_Multiplayer_Config_Join, AVPMENU_MULTIPLAYER, 0},
// AVPMENU_SKIRMISH_CONFIG
- {AVPMENU_FONT_SMALL,TEXTSTRING_MAINMENU_SKIRMISH, &AvPMenu_Skirmish_Config, AVPMENU_MULTIPLAYER_SKIRMISH, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_MAINMENU_SKIRMISH, AvPMenu_Skirmish_Config, AVPMENU_MULTIPLAYER_SKIRMISH, 0},
// AVPMENU_MULTIPLAYER_SPECIES_HOST
- {AVPMENU_FONT_BIG,TEXTSTRING_MULTIPLAYER_STARTGAME, &AvPMenu_Multiplayer_Species_Host, AVPMENU_MULTIPLAYER_CONFIG, 0},
+ {AVPMENU_FONT_BIG,TEXTSTRING_MULTIPLAYER_STARTGAME, AvPMenu_Multiplayer_Species_Host, AVPMENU_MULTIPLAYER_CONFIG, 0},
// AVPMENU_MULTIPLAYER_SPECIES_JOIN
- {AVPMENU_FONT_BIG,TEXTSTRING_MULTIPLAYER_JOINGAME, &AvPMenu_Multiplayer_Species_Join, AVPMENU_MULTIPLAYER_CONFIG_JOIN, 0},
+ {AVPMENU_FONT_BIG,TEXTSTRING_MULTIPLAYER_JOINGAME, AvPMenu_Multiplayer_Species_Join, AVPMENU_MULTIPLAYER_CONFIG_JOIN, 0},
// AVPMENU_MULTIPLAYER_SAVECONFIG
- {AVPMENU_FONT_BIG,TEXTSTRING_MULTIPLAYER_SAVECONFIG, &AvPMenu_Multiplayer_SaveConfig, AVPMENU_MULTIPLAYER_CONFIG, 0},
+ {AVPMENU_FONT_BIG,TEXTSTRING_MULTIPLAYER_SAVECONFIG, AvPMenu_Multiplayer_SaveConfig, AVPMENU_MULTIPLAYER_CONFIG, 0},
// AVPMENU_MULTIPLAYER_LOADCONFIG
{AVPMENU_FONT_BIG,TEXTSTRING_MULTIPLAYER_LOADCONFIG, 0, AVPMENU_MULTIPLAYER_CONFIG, 0},
// AVPMENU_MULTIPLAYER_DELETECONFIG
- {AVPMENU_FONT_BIG,TEXTSTRING_DELETECONFIGURATION, &AvPMenu_Multiplayer_DeleteConfig, AVPMENU_MULTIPLAYER_LOADCONFIG, 0},
+ {AVPMENU_FONT_BIG,TEXTSTRING_DELETECONFIGURATION, AvPMenu_Multiplayer_DeleteConfig, AVPMENU_MULTIPLAYER_LOADCONFIG, 0},
// AVPMENU_MULTIPLAYER_JOINING
- {AVPMENU_FONT_BIG,TEXTSTRING_MULTIPLAYER_JOININGGAME, &AvPMenu_Multiplayer_Joining, AVPMENU_MULTIPLAYER_JOINING, 0},
+ {AVPMENU_FONT_BIG,TEXTSTRING_MULTIPLAYER_JOININGGAME, AvPMenu_Multiplayer_Joining, AVPMENU_MULTIPLAYER_JOINING, 0},
// AVPMENU_CONTROLS
- {AVPMENU_FONT_SMALL,TEXTSTRING_MOUSECONTROLS_TITLE, &AvPMenu_ControlsOptions, AVPMENU_OPTIONS, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_MOUSECONTROLS_TITLE, AvPMenu_ControlsOptions, AVPMENU_OPTIONS, 0},
// AVPMENU_JOYSTICKCONTROLS
- {AVPMENU_FONT_SMALL,TEXTSTRING_JOYSTICKCONTROLS_TITLE, &AvPMenu_JoystickControlsOptions, AVPMENU_OPTIONS, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_JOYSTICKCONTROLS_TITLE, AvPMenu_JoystickControlsOptions, AVPMENU_OPTIONS, 0},
// AVPMENU_INGAMEAVOPTIONS
- {AVPMENU_FONT_SMALL,TEXTSTRING_AVOPTIONS_TITLE, &AvPMenu_InGameAVOptions, AVPMENU_INGAME, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_AVOPTIONS_TITLE, AvPMenu_InGameAVOptions, AVPMENU_INGAME, 0},
// AVPMENU_MAINMENUAVOPTIONS
- {AVPMENU_FONT_SMALL,TEXTSTRING_AVOPTIONS_TITLE, &AvPMenu_MainMenuAVOptions, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_AVOPTIONS_TITLE, AvPMenu_MainMenuAVOptions, AVPMENU_MAIN, 0},
// AVPMENU_VIDEOMODE
- {AVPMENU_FONT_BIG, TEXTSTRING_VIDEOOPTIONS_TITLE, &AvPMenu_VideoModeOptions, AVPMENU_MAINMENUAVOPTIONS, 0},
+ {AVPMENU_FONT_BIG, TEXTSTRING_VIDEOOPTIONS_TITLE, AvPMenu_VideoModeOptions, AVPMENU_MAINMENUAVOPTIONS, 0},
// AVPMENU_INGAME
- {AVPMENU_FONT_SMALL,TEXTSTRING_BLANK, &AvPMenu_InGame, AVPMENU_INGAME, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_BLANK, AvPMenu_InGame, AVPMENU_INGAME, 0},
// AVPMENU_INNETGAME
- {AVPMENU_FONT_SMALL,TEXTSTRING_BLANK, &AvPMenu_InNetGame, AVPMENU_INNETGAME, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_BLANK, AvPMenu_InNetGame, AVPMENU_INNETGAME, 0},
// AVPMENU_MARINEKEYCONFIG
- {AVPMENU_FONT_SMALL,TEXTSTRING_MARINEKEYCONTROLS_TITLE, &AvPMenu_KeyConfig, AVPMENU_OPTIONS, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_MARINEKEYCONTROLS_TITLE, AvPMenu_KeyConfig, AVPMENU_OPTIONS, 0},
// AVPMENU_PREDATORKEYCONFIG
- {AVPMENU_FONT_SMALL,TEXTSTRING_PREDATORKEYCONTROLS_TITLE, &AvPMenu_KeyConfig, AVPMENU_OPTIONS, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_PREDATORKEYCONTROLS_TITLE, AvPMenu_KeyConfig, AVPMENU_OPTIONS, 0},
// AVPMENU_ALIENKEYCONFIG
- {AVPMENU_FONT_SMALL,TEXTSTRING_ALIENKEYCONTROLS_TITLE, &AvPMenu_KeyConfig, AVPMENU_OPTIONS, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_ALIENKEYCONTROLS_TITLE, AvPMenu_KeyConfig, AVPMENU_OPTIONS, 0},
// AVPMENU_OPTIONS
- {AVPMENU_FONT_BIG,TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS, &AvPMenu_Options, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG,TEXTSTRING_MAINMENU_GAMEPLAYOPTIONS, AvPMenu_Options, AVPMENU_MAIN, 0},
// AVPMENU_LEVELBRIEFING_BASIC
- {AVPMENU_FONT_BIG,TEXTSTRING_LEVELBRIEFING_TITLE, &AvPMenu_DifficultyLevelSelect, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG,TEXTSTRING_LEVELBRIEFING_TITLE, AvPMenu_DifficultyLevelSelect, AVPMENU_MAIN, 0},
// AVPMENU_LEVELBRIEFING_BONUS
- {AVPMENU_FONT_BIG,TEXTSTRING_LEVELBRIEFING_TITLE, &AvPMenu_BriefingBonus, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG,TEXTSTRING_LEVELBRIEFING_TITLE, AvPMenu_BriefingBonus, AVPMENU_MAIN, 0},
// AVPMENU_CHEATOPTIONS
- {AVPMENU_FONT_BIG,TEXTSTRING_MAINMENU_CHEATOPTIONS, &AvPMenu_CheatOptions, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_BIG,TEXTSTRING_MAINMENU_CHEATOPTIONS, AvPMenu_CheatOptions, AVPMENU_MAIN, 0},
// AVPMENU_DETAILLEVELS
- {AVPMENU_FONT_SMALL,TEXTSTRING_DETAILLEVELS_TITLE, &AvPMenu_DetailLevels, AVPMENU_MAINMENUAVOPTIONS, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_DETAILLEVELS_TITLE, AvPMenu_DetailLevels, AVPMENU_MAINMENUAVOPTIONS, 0},
// AVPMENU_LOADGAME
- {AVPMENU_FONT_SMALL,TEXTSTRING_LOADGAME, &AvPMenu_LoadGame, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_LOADGAME, AvPMenu_LoadGame, AVPMENU_MAIN, 0},
// AVPMENU_SAVEGAME
- {AVPMENU_FONT_SMALL,TEXTSTRING_SAVEGAME, &AvPMenu_SaveGame, AVPMENU_MAIN, 0},
+ {AVPMENU_FONT_SMALL,TEXTSTRING_SAVEGAME, AvPMenu_SaveGame, AVPMENU_MAIN, 0},
};
diff --git a/src/avp/win95/frontend/avp_menugfx.cpp b/src/avp/win95/frontend/avp_menugfx.cpp
index 407d1d9..f45404c 100644
--- a/src/avp/win95/frontend/avp_menugfx.cpp
+++ b/src/avp/win95/frontend/avp_menugfx.cpp
@@ -143,7 +143,7 @@ extern int LengthOfMenuText(char *textPtr)
return (pFont->CalcSize(textPtr).w);
}
-extern int RenderMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format)
+extern int RenderMenuText(const char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format)
{
IndexedFont* pFont = IndexedFont :: GetFont(IntroFont_Light);
r2pos R2Pos_StartOfRow;
@@ -1848,4 +1848,4 @@ static void CalculateWidthsOfAAFont(void)
}
-}; \ No newline at end of file
+};
diff --git a/src/avp/win95/frontend/avp_menugfx.hpp b/src/avp/win95/frontend/avp_menugfx.hpp
index 53ea5b6..9194353 100644
--- a/src/avp/win95/frontend/avp_menugfx.hpp
+++ b/src/avp/win95/frontend/avp_menugfx.hpp
@@ -97,7 +97,7 @@ extern void LoadAllAvPMenuGfx(void);
extern void LoadAllSplashScreenGfx(void);
extern void ReleaseAllAvPMenuGfx(void);
-extern int RenderMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format);
+extern int RenderMenuText(const char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format);
extern int RenderSmallMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format);
extern int RenderSmallMenuText_Coloured(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format, int red, int green, int blue);
@@ -117,5 +117,6 @@ extern int HeightOfMenuGfx(enum AVPMENUGFX_ID menuGfxID);
extern void ClearScreenToBlack(void);
+extern void InitialiseMenuGfx(void);
#endif
diff --git a/src/avp/win95/frontend/avp_menus.c b/src/avp/win95/frontend/avp_menus.c
index 488134b..5d47b92 100644
--- a/src/avp/win95/frontend/avp_menus.c
+++ b/src/avp/win95/frontend/avp_menus.c
@@ -23,6 +23,9 @@
#include "avp_mp_config.h"
#include "psnd.h"
#include "savegame.h"
+#include "game.h"
+#include "avp_menugfx.hpp"
+#include "avp_intro.h"
/* used to get file time */
#include <sys/types.h>
@@ -102,7 +105,6 @@ extern void DrawMainMenusBackdrop(void);
static void TestValidityOfCheatMenu(void);
void SetBriefingTextForEpisode(int episode, I_PLAYER_TYPE playerID);
void SetBriefingTextToBlank(void);
-void RenderBriefingText(int centreY, int brightness);
void CheckForKeysWithMultipleAssignments(void);
void HandleCheatModeFeatures(void);
void ShowMenuFrameRate(void);
diff --git a/src/avp/win95/frontend/avp_menus.h b/src/avp/win95/frontend/avp_menus.h
index 0461923..f900fe6 100644
--- a/src/avp/win95/frontend/avp_menus.h
+++ b/src/avp/win95/frontend/avp_menus.h
@@ -351,4 +351,6 @@ int AvP_InGameMenus(void);
int InGameMenusAreRunning(void);
+void RenderBriefingText(int centreY, int brightness);
+
#endif
diff --git a/src/avp/win95/gadgets/ahudgadg.hpp b/src/avp/win95/gadgets/ahudgadg.hpp
index c193068..dd7737a 100644
--- a/src/avp/win95/gadgets/ahudgadg.hpp
+++ b/src/avp/win95/gadgets/ahudgadg.hpp
@@ -15,9 +15,6 @@
#ifdef __cplusplus
- extern "C" {
-#endif
-
/* Version settings *****************************************************/
/* Constants ***********************************************************/
@@ -84,11 +81,17 @@
// not allowed to be NULL
};
#endif // UseGadgets
+#endif
/* Exported globals *****************************************************/
-/* Function prototypes **************************************************/
+#ifdef __cplusplus
+ extern "C" {
+#endif
+/* Function prototypes **************************************************/
+void BringDownConsoleWithSayTypedIn();
+void BringDownConsoleWithSaySpeciesTypedIn();
/* End of the header ****************************************************/
diff --git a/src/avp/win95/gadgets/hudgadg.hpp b/src/avp/win95/gadgets/hudgadg.hpp
index d327027..d2dd2e5 100644
--- a/src/avp/win95/gadgets/hudgadg.hpp
+++ b/src/avp/win95/gadgets/hudgadg.hpp
@@ -12,8 +12,6 @@
#endif
#ifdef __cplusplus
- extern "C" {
-#endif
/* Version settings *****************************************************/
@@ -135,8 +133,6 @@
/* End of the header ****************************************************/
-#ifdef __cplusplus
- };
#endif
#endif
diff --git a/src/avp/win95/pldnet.h b/src/avp/win95/pldnet.h
index f616054..e23391a 100644
--- a/src/avp/win95/pldnet.h
+++ b/src/avp/win95/pldnet.h
@@ -1006,6 +1006,7 @@ extern void CheckStateOfObservedPlayer();
void MinimalNetCollectMessages(void);
void InitAVPNetGameForHost(int species, int gamestyle, int level);
void InitAVPNetGameForJoin(void);
+void CreatePlayersImageInMirror(void);
/* ---------------------------------------------------------------------
diff --git a/src/avp/win95/progress_bar.cpp b/src/avp/win95/progress_bar.cpp
index ffa1ddc..78e81e6 100644
--- a/src/avp/win95/progress_bar.cpp
+++ b/src/avp/win95/progress_bar.cpp
@@ -12,6 +12,7 @@
extern "C"
{
#include "language.h"
+#include "avp_menus.h"
extern SCREENDESCRIPTORBLOCK ScreenDescriptorBlock;
//extern LPDIRECTDRAWSURFACE lpDDSBack; // DirectDraw back surface
extern int DebouncedGotAnyKey;
@@ -25,7 +26,6 @@ extern void ThisFramesRenderingHasFinished(void);
extern int AAFontImageNumber;
extern int FadingGameInAfterLoading;
-extern void RenderBriefingText(int centreY, int brightness);
extern void InGameFlipBuffers();
diff --git a/src/avp/win95/usr_io.c b/src/avp/win95/usr_io.c
index 2bf75cf..9c8671d 100644
--- a/src/avp/win95/usr_io.c
+++ b/src/avp/win95/usr_io.c
@@ -22,10 +22,12 @@
#include "usr_io.h"
#include "hud_map.h"
#include "hud.h"
+#include "messagehistory.h"
#include "iofocus.h"
#include "paintball.h"
+#include "ahudgadg.hpp"
#include "avp_menus.h"
extern int InGameMenusAreRunning(void);
@@ -85,18 +87,18 @@ PLAYER_INPUT_CONFIGURATION DefaultMarineInputPrimaryConfig =
KEY_LMOUSE, // FirePrimaryWeapon;
KEY_RMOUSE, // FireSecondaryWeapon;
- KEY_RBRACKET, // NextWeapon;
- KEY_LBRACKET, // PreviousWeapon;
- KEY_BACKSPACE, // FlashbackWeapon;
+ {KEY_RBRACKET}, // NextWeapon;
+ {KEY_LBRACKET}, // PreviousWeapon;
+ {KEY_BACKSPACE}, // FlashbackWeapon;
- KEY_SLASH, // ImageIntensifier;
- KEY_FSTOP, // ThrowFlare;
- KEY_APOSTROPHE, // Jetpack;
- KEY_SEMICOLON, // Taunt
- KEY_F1,
- KEY_F11,
- KEY_F12,
- KEY_TAB,
+ {KEY_SLASH}, // ImageIntensifier;
+ {KEY_FSTOP}, // ThrowFlare;
+ {KEY_APOSTROPHE}, // Jetpack;
+ {KEY_SEMICOLON}, // Taunt
+ {KEY_F1},
+ {KEY_F11},
+ {KEY_F12},
+ {KEY_TAB}
};
PLAYER_INPUT_CONFIGURATION DefaultPredatorInputPrimaryConfig =
{
@@ -122,21 +124,21 @@ PLAYER_INPUT_CONFIGURATION DefaultPredatorInputPrimaryConfig =
KEY_LMOUSE, // FirePrimaryWeapon;
KEY_RMOUSE, // FireSecondaryWeapon;
- KEY_RBRACKET, // NextWeapon;
- KEY_LBRACKET, // PreviousWeapon;
- KEY_BACKSPACE, // FlashbackWeapon;
+ {KEY_RBRACKET}, // NextWeapon;
+ {KEY_LBRACKET}, // PreviousWeapon;
+ {KEY_BACKSPACE}, // FlashbackWeapon;
- KEY_FSTOP, // Cloak;
- KEY_SLASH, // CycleVisionMode;
- KEY_PAGEUP, // ZoomIn;
- KEY_PAGEDOWN, // ZoomOut;
- KEY_APOSTROPHE, // GrapplingHook
- KEY_COMMA, // RecallDisk
- KEY_SEMICOLON, // Taunt
- KEY_F1,
- KEY_F11,
- KEY_F12,
- KEY_TAB,
+ {KEY_FSTOP}, // Cloak;
+ {KEY_SLASH}, // CycleVisionMode;
+ {KEY_PAGEUP}, // ZoomIn;
+ {KEY_PAGEDOWN}, // ZoomOut;
+ {KEY_APOSTROPHE}, // GrapplingHook
+ {KEY_COMMA}, // RecallDisk
+ {KEY_SEMICOLON}, // Taunt
+ {KEY_F1},
+ KEY_F11,
+ KEY_F12,
+ KEY_TAB
};
PLAYER_INPUT_CONFIGURATION DefaultAlienInputPrimaryConfig =
@@ -163,12 +165,12 @@ PLAYER_INPUT_CONFIGURATION DefaultAlienInputPrimaryConfig =
KEY_LMOUSE, // FirePrimaryWeapon;
KEY_RMOUSE, // FireSecondaryWeapon;
- KEY_SLASH, // AlternateVision;
- KEY_FSTOP, // Taunt;
- KEY_F1,
- KEY_F11,
- KEY_F12,
- KEY_TAB,
+ {KEY_SLASH}, // AlternateVision;
+ {KEY_FSTOP}, // Taunt;
+ {KEY_F1},
+ {KEY_F11},
+ {KEY_F12},
+ {KEY_TAB}
};
#elif 0 // Dutch
PLAYER_INPUT_CONFIGURATION DefaultMarineInputPrimaryConfig =
@@ -635,19 +637,19 @@ PLAYER_INPUT_CONFIGURATION DefaultMarineInputSecondaryConfig =
KEY_NUMPAD0, // FirePrimaryWeapon;
KEY_NUMPADDEL, // FireSecondaryWeapon;
- KEY_MOUSEWHEELUP, // NextWeapon;
- KEY_MOUSEWHEELDOWN, // PreviousWeapon;
- KEY_VOID, // FlashbackWeapon;
+ {KEY_MOUSEWHEELUP}, // NextWeapon;
+ {KEY_MOUSEWHEELDOWN}, // PreviousWeapon;
+ {KEY_VOID}, // FlashbackWeapon;
- KEY_VOID, // ImageIntensifier;
- KEY_VOID, // ThrowFlare;
- KEY_VOID, // Jetpack;
- KEY_VOID, // Taunt
+ {KEY_VOID}, // ImageIntensifier;
+ {KEY_VOID}, // ThrowFlare;
+ {KEY_VOID}, // Jetpack;
+ {KEY_VOID}, // Taunt
- KEY_VOID,
- KEY_VOID,
- KEY_VOID,
- KEY_VOID,
+ {KEY_VOID},
+ {KEY_VOID},
+ {KEY_VOID},
+ {KEY_VOID}
};
@@ -677,22 +679,22 @@ PLAYER_INPUT_CONFIGURATION DefaultPredatorInputSecondaryConfig =
KEY_NUMPAD0, // FirePrimaryWeapon;
KEY_NUMPADDEL, // FireSecondaryWeapon;
- KEY_VOID, // NextWeapon;
- KEY_VOID, // PreviousWeapon;
- KEY_VOID, // FlashbackWeapon;
+ {KEY_VOID}, // NextWeapon;
+ {KEY_VOID}, // PreviousWeapon;
+ {KEY_VOID}, // FlashbackWeapon;
- KEY_VOID, // Cloak;
- KEY_VOID, // CycleVisionMode;
- KEY_MOUSEWHEELUP, // ZoomIn;
- KEY_MOUSEWHEELDOWN, // ZoomOut;
- KEY_VOID, // GrapplingHook;
- KEY_VOID, // RecallDisk
- KEY_VOID, // Taunt
+ {KEY_VOID}, // Cloak;
+ {KEY_VOID}, // CycleVisionMode;
+ {KEY_MOUSEWHEELUP}, // ZoomIn;
+ {KEY_MOUSEWHEELDOWN}, // ZoomOut;
+ {KEY_VOID}, // GrapplingHook;
+ {KEY_VOID}, // RecallDisk
+ {KEY_VOID}, // Taunt
- KEY_VOID,
- KEY_VOID,
- KEY_VOID,
- KEY_VOID,
+ {KEY_VOID},
+ KEY_VOID,
+ KEY_VOID,
+ KEY_VOID
};
@@ -720,12 +722,12 @@ PLAYER_INPUT_CONFIGURATION DefaultAlienInputSecondaryConfig =
KEY_NUMPAD0, // FirePrimaryWeapon;
KEY_NUMPADDEL, // FireSecondaryWeapon;
- KEY_VOID, // AlternateVision;
- KEY_VOID, // Taunt;
- KEY_VOID,
- KEY_VOID,
- KEY_VOID,
- KEY_VOID,
+ {KEY_VOID}, // AlternateVision;
+ {KEY_VOID}, // Taunt;
+ {KEY_VOID},
+ {KEY_VOID},
+ {KEY_VOID},
+ {KEY_VOID}
};
diff --git a/src/avp/win95/usr_io.h b/src/avp/win95/usr_io.h
index db25011..6297a7f 100644
--- a/src/avp/win95/usr_io.h
+++ b/src/avp/win95/usr_io.h
@@ -317,6 +317,7 @@ typedef struct
extern void LoadAKeyConfiguration(char* Filename);
extern void SaveAKeyConfiguration(char* Filename);
+void LoadDefaultPrimaryConfigs(void);
#ifdef __cplusplus
};
diff --git a/src/include/module.h b/src/include/module.h
index a42a6ca..cf225f9 100644
--- a/src/include/module.h
+++ b/src/include/module.h
@@ -395,6 +395,7 @@ void UpdateModules(void);
void ModuleFunctions(MODULE *mptr, MFUNCTION mf);
void AllocateModuleObject(MODULE *mptr);
void DeallocateModuleObject(MODULE *mptr);
+void AllNewModuleHandler(void);
/*
diff --git a/src/kshape.h b/src/kshape.h
index 4361e7f..6bd1f60 100644
--- a/src/kshape.h
+++ b/src/kshape.h
@@ -2,6 +2,7 @@
#define _kshape_h_ 1
#include "particle.h"
+#include "sphere.h"
typedef struct
@@ -101,6 +102,14 @@ extern void CheckRenderStatesForModule(MODULE *modulePtr);
extern void RenderDecal(DECAL *decalPtr);
extern void RenderParticle(PARTICLE *particlePtr);
+void RenderInsideAlienTongue(int offset);
+void RenderPredatorTargetingSegment(int theta, int scale, int drawInRed);
+void RenderPredatorPlasmaCasterCharge(int value, VECTORCH *worldOffsetPtr, MATRIXCH *orientationPtr);
+void CreateStarArray(void);
+void OutputTranslucentPolyList(void);
+void RenderLightFlare(VECTORCH *positionPtr, unsigned int colour);
+extern void RenderFlechetteParticle(PARTICLE *particlePtr);
+void RenderExplosionSurface(VOLUMETRIC_EXPLOSION *explosionPtr);
/* KJL 10:25:44 7/23/97 - this offset is used to push back the normal game gfx,
so that the HUD can be drawn over the top without sinking into walls, etc. */
diff --git a/src/menus.c b/src/menus.c
index 1359786..47b6d30 100644
--- a/src/menus.c
+++ b/src/menus.c
@@ -376,7 +376,7 @@ static void UnloadMenuFont()
IntroFont_Light.info.ImagePtr = NULL;
}
-int LengthOfMenuText(char *textPtr)
+int LengthOfMenuText(const char *textPtr)
{
int width = 0;
@@ -400,7 +400,7 @@ int LengthOfSmallMenuText(char *textPtr)
return width;
}
-int RenderMenuText(char *textPtr, int sx, int sy, int alpha, enum AVPMENUFORMAT_ID format)
+int RenderMenuText(const char *textPtr, int sx, int sy, int alpha, enum AVPMENUFORMAT_ID format)
{
int width;
diff --git a/src/net.c b/src/net.c
index be90dd7..166ec4a 100644
--- a/src/net.c
+++ b/src/net.c
@@ -35,14 +35,22 @@ void DpExtUnInit()
HRESULT DpExtRecv(int lpDP2A, void *lpidFrom, void *lpidTo, DWORD dwFlags, void *lplpData, LPDWORD lpdwDataSize)
{
+/*
fprintf(stderr, "DpExtRecv(%d, %p, %p, %d, %p, %p)\n", lpDP2A, lpidFrom, lpidTo, dwFlags, lplpData, lpdwDataSize);
-
+*/
return 1;
}
HRESULT DpExtSend(int lpDP2A, DPID idFrom, DPID idTo, DWORD dwFlags, void *lpData, DWORD dwDataSize)
{
+/*
fprintf(stderr, "DpExtSend(%d, %d, %d, %d, %p, %d)\n", lpDP2A, idFrom, idTo, dwFlags, lpData, dwDataSize);
+*/
+ FILE *fp = fopen("net.log", "ab");
+ fprintf(fp, "\nDpExtSend(%d, %d, %d, %d, %p, %d) ", lpDP2A, idFrom, idTo, dwFlags, lpData, dwDataSize);
+ fprintf(fp, "time = %d\n", timeGetTime());
+ fwrite(lpData, dwDataSize, 1, fp);
+ fclose(fp);
return 1;
}
diff --git a/src/opengl.h b/src/opengl.h
index 86e68c4..876a71e 100644
--- a/src/opengl.h
+++ b/src/opengl.h
@@ -8,5 +8,12 @@ void ThisFramesRenderingHasBegun();
void ThisFramesRenderingHasFinished();
void D3D_SkyPolygon_Output(POLYHEADER *inputPolyPtr, RENDERVERTEX *renderVerticesPtr);
void D3D_DrawBackdrop();
+void D3D_FadeDownScreen(int brightness, int colour);
+void RenderString(char *stringPtr, int x, int y, int colour);
+void RenderStringCentred(char *stringPtr, int centreX, int y, int colour);
+void D3D_DecalSystem_Setup();
+void D3D_DecalSystem_End();
+void SecondFlushD3DZBuffer();
+void D3D_PlayerDamagedOverlay(int intensity);
#endif
diff --git a/src/win95/chnkload.cpp b/src/win95/chnkload.cpp
index 1a348df..e7e1149 100644
--- a/src/win95/chnkload.cpp
+++ b/src/win95/chnkload.cpp
@@ -147,8 +147,8 @@ void Shape_Fragment_Type::Setup_sh_frags(Fragment_Type_Chunk* ftc)
sh_fragdesc->sh_fragsound=(SHAPEFRAGMENTSOUND*)PoolAllocateMem(sizeof(SHAPEFRAGMENTSOUND));
sh_fragdesc->sh_fragsound->sound_loaded=GetSoundForMainRif (ftsoc->wav_name);
- sh_fragdesc->sh_fragsound->inner_range=ftsoc->inner_range*local_scale;
- sh_fragdesc->sh_fragsound->outer_range=ftsoc->outer_range*local_scale;
+ sh_fragdesc->sh_fragsound->inner_range=(unsigned long)(ftsoc->inner_range*local_scale);
+ sh_fragdesc->sh_fragsound->outer_range=(unsigned long)(ftsoc->outer_range*local_scale);
sh_fragdesc->sh_fragsound->pitch=ftsoc->pitch;
sh_fragdesc->sh_fragsound->max_volume=ftsoc->max_volume;
@@ -922,9 +922,9 @@ CTM_ReturnType copy_to_mainshapelist(RIFFHANDLE h, Shape_Chunk * tmpshp, int fla
if (sflc)
{
- mainshapelist[main_shape_num]->sh_fragdesc->sh_frags[fragpos].x_offset = sflc->frag_loc.x * local_scale;
- mainshapelist[main_shape_num]->sh_fragdesc->sh_frags[fragpos].y_offset = sflc->frag_loc.y * local_scale;
- mainshapelist[main_shape_num]->sh_fragdesc->sh_frags[fragpos].z_offset = sflc->frag_loc.z * local_scale;
+ mainshapelist[main_shape_num]->sh_fragdesc->sh_frags[fragpos].x_offset = (int)(sflc->frag_loc.x * local_scale);
+ mainshapelist[main_shape_num]->sh_fragdesc->sh_frags[fragpos].y_offset = (int)(sflc->frag_loc.y * local_scale);
+ mainshapelist[main_shape_num]->sh_fragdesc->sh_frags[fragpos].z_offset = (int)(sflc->frag_loc.z * local_scale);
}
else
@@ -945,8 +945,8 @@ CTM_ReturnType copy_to_mainshapelist(RIFFHANDLE h, Shape_Chunk * tmpshp, int fla
{
mainshapelist[main_shape_num]->sh_fragdesc->sh_fragsound=(SHAPEFRAGMENTSOUND*)PoolAllocateMem(sizeof(SHAPEFRAGMENTSOUND));
mainshapelist[main_shape_num]->sh_fragdesc->sh_fragsound->sound_loaded=GetSoundForMainRif (ftsoc->wav_name);
- mainshapelist[main_shape_num]->sh_fragdesc->sh_fragsound->inner_range=ftsoc->inner_range*local_scale;
- mainshapelist[main_shape_num]->sh_fragdesc->sh_fragsound->outer_range=ftsoc->outer_range*local_scale;
+ mainshapelist[main_shape_num]->sh_fragdesc->sh_fragsound->inner_range=(unsigned long)(ftsoc->inner_range*local_scale);
+ mainshapelist[main_shape_num]->sh_fragdesc->sh_fragsound->outer_range=(unsigned long)(ftsoc->outer_range*local_scale);
mainshapelist[main_shape_num]->sh_fragdesc->sh_fragsound->pitch=ftsoc->pitch;
mainshapelist[main_shape_num]->sh_fragdesc->sh_fragsound->max_volume=ftsoc->max_volume;
}
@@ -2176,7 +2176,7 @@ void SetupAnimatingShape(Shape_Chunk* sc,SHAPEHEADER* shp, Shape_Merge_Data_Chun
int x=max(-sas->min_x,sas->max_x);
int y=max(-sas->min_y,sas->max_y);
int z=max(-sas->min_z,sas->max_z);
- sas->radius=sqrt(x*x+y*y+z*z);
+ sas->radius=(int)sqrt(x*x+y*y+z*z);
sas->vertex_normals=(int*)PoolAllocateMem(sizeof(VECTORCH)*cas->num_verts);
@@ -2327,9 +2327,9 @@ BOOL copy_to_shapeheader (
object_float.z=(double)object->location.z;
VECTORCH object_int;
- object_int.vx=object_float.x*local_scale;
- object_int.vy=object_float.y*local_scale;
- object_int.vz=object_float.z*local_scale;
+ object_int.vx=(int)(object_float.x*local_scale);
+ object_int.vy=(int)(object_float.y*local_scale);
+ object_int.vz=(int)(object_float.z*local_scale);
for (i=0; i<shphd->numpoints; i++) {
tptr[i*3] = (int) ((cshp_ptr->v_list[i].x+object_float.x)*local_scale);
@@ -2653,18 +2653,18 @@ BOOL copy_sprite_to_shapeheader (RIFFHANDLE h, SHAPEHEADER *& shphd,Sprite_Heade
if(sec)
{
- shphd->shapemaxx =sec->maxx*GlobalScale;
- shphd->shapeminx =sec->minx*GlobalScale;
- shphd->shapemaxy =sec->maxy*GlobalScale;
- shphd->shapeminy =sec->miny*GlobalScale;
+ shphd->shapemaxx =(int)(sec->maxx*GlobalScale);
+ shphd->shapeminx =(int)(sec->minx*GlobalScale);
+ shphd->shapemaxy =(int)(sec->maxy*GlobalScale);
+ shphd->shapeminy =(int)(sec->miny*GlobalScale);
}
else
{
- shphd->shapemaxx =ssc->maxx*GlobalScale;
- shphd->shapeminx =-ssc->maxx*GlobalScale;
- shphd->shapemaxy =ssc->maxy*GlobalScale;
- shphd->shapeminy =-ssc->maxy*GlobalScale;
+ shphd->shapemaxx =(int)(ssc->maxx*GlobalScale);
+ shphd->shapeminx =(int)(-ssc->maxx*GlobalScale);
+ shphd->shapemaxy =(int)(ssc->maxy*GlobalScale);
+ shphd->shapeminy =(int)(-ssc->maxy*GlobalScale);
}
shphd->shapemaxz =501*GlobalScale;
shphd->shapeminz =-501*GlobalScale;
@@ -2876,10 +2876,10 @@ BOOL copy_sprite_to_shapeheader (RIFFHANDLE h, SHAPEHEADER *& shphd,Sprite_Heade
tf->txf_uvdata[pos2][l*2+1]=ProcessUVCoord(h,UVC_SPRITE_V,f->UVCoords[3-l][1]<<16,BmpConv[f->Texture]);
- tf->txf_uvdata[pos][l*2+8]=-(f->UVCoords[3-l][0]-f->CentreX)*bmpscale*GlobalScale;
- tf->txf_uvdata[pos][l*2+9]=(f->UVCoords[3-l][1]-f->CentreY)*bmpscale*GlobalScale;
- tf->txf_uvdata[pos2][l*2+8]=-(f->UVCoords[3-l][0]-f->CentreX)*bmpscale*GlobalScale;
- tf->txf_uvdata[pos2][l*2+9]=(f->UVCoords[3-l][1]-f->CentreY)*bmpscale*GlobalScale;
+ tf->txf_uvdata[pos][l*2+8]=(int)(-(f->UVCoords[3-l][0]-f->CentreX)*bmpscale*GlobalScale);
+ tf->txf_uvdata[pos][l*2+9]=(int)((f->UVCoords[3-l][1]-f->CentreY)*bmpscale*GlobalScale);
+ tf->txf_uvdata[pos2][l*2+8]=(int)(-(f->UVCoords[3-l][0]-f->CentreX)*bmpscale*GlobalScale);
+ tf->txf_uvdata[pos2][l*2+9]=(int)((f->UVCoords[3-l][1]-f->CentreY)*bmpscale*GlobalScale);
}
}
@@ -2893,10 +2893,10 @@ BOOL copy_sprite_to_shapeheader (RIFFHANDLE h, SHAPEHEADER *& shphd,Sprite_Heade
tf->txf_uvdata[pos2][l*2+1]=ProcessUVCoord(h,UVC_SPRITE_V,f->UVCoords[l][1]<<16,BmpConv[f->Texture]);
- tf->txf_uvdata[pos][l*2+8]=(f->UVCoords[l][0]-f->CentreX)*bmpscale*GlobalScale;
- tf->txf_uvdata[pos][l*2+9]=(f->UVCoords[l][1]-f->CentreY)*bmpscale*GlobalScale;
- tf->txf_uvdata[pos2][l*2+8]=(f->UVCoords[l][0]-f->CentreX)*bmpscale*GlobalScale;
- tf->txf_uvdata[pos2][l*2+9]=(f->UVCoords[l][1]-f->CentreY)*bmpscale*GlobalScale;
+ tf->txf_uvdata[pos][l*2+8]=(int)((f->UVCoords[l][0]-f->CentreX)*bmpscale*GlobalScale);
+ tf->txf_uvdata[pos][l*2+9]=(int)((f->UVCoords[l][1]-f->CentreY)*bmpscale*GlobalScale);
+ tf->txf_uvdata[pos2][l*2+8]=(int)((f->UVCoords[l][0]-f->CentreX)*bmpscale*GlobalScale);
+ tf->txf_uvdata[pos2][l*2+9]=(int)((f->UVCoords[l][1]-f->CentreY)*bmpscale*GlobalScale);
}
}
@@ -2975,10 +2975,10 @@ BOOL copy_to_map6(Object_Chunk * ob,MAPBLOCK6* mapblock, int shplst_pos)
QUAT q;
- q.quatx = -ob->object_data.orientation.x*ONE_FIXED;
- q.quaty = -ob->object_data.orientation.y*ONE_FIXED;
- q.quatz = -ob->object_data.orientation.z*ONE_FIXED;
- q.quatw = ob->object_data.orientation.w*ONE_FIXED;
+ q.quatx = (int)(-ob->object_data.orientation.x*ONE_FIXED);
+ q.quaty = (int)(-ob->object_data.orientation.y*ONE_FIXED);
+ q.quatz = (int)(-ob->object_data.orientation.z*ONE_FIXED);
+ q.quatw = (int)(ob->object_data.orientation.w*ONE_FIXED);
MATRIXCH m;
diff --git a/src/win95/shpanim.h b/src/win95/shpanim.h
index 1722c18..36e6e13 100644
--- a/src/win95/shpanim.h
+++ b/src/win95/shpanim.h
@@ -72,7 +72,7 @@ typedef struct shapeanimationheader
// Private variables
- unsigned long num_sequences;
+ int num_sequences;
SHAPEANIMATIONSEQUENCE * anim_sequences;