「G_Bullethell」CVARの名前を「G_Danmaku」に変更し、目に見えないバグを修正しようとしました
This commit is contained in:
22
Makefile
22
Makefile
@@ -80,16 +80,18 @@ ifndef GENERATE_DEPENDENCIES
|
||||
GENERATE_DEPENDENCIES=1
|
||||
endif
|
||||
|
||||
ifndef BUILD_GAME_SO
|
||||
BUILD_GAME_SO=1
|
||||
ifneq ($(MOD_OA),1)
|
||||
ifneq ($(MOD_Q3),0)
|
||||
MOD_Q3=1
|
||||
CFLAGS+=-DMOD_Q3A
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef BUILD_GAME_QVM
|
||||
BUILD_GAME_QVM=1
|
||||
endif
|
||||
|
||||
ifdef BUILD_WRAPPER
|
||||
BUILD_WRAPPER=1
|
||||
ifneq ($(MOD_Q3),1)
|
||||
ifneq ($(MOD_OA),0)
|
||||
MOD_OA=1
|
||||
CFLAGS+=-DMOD_OA
|
||||
endif
|
||||
endif
|
||||
|
||||
#############################################################################
|
||||
@@ -516,6 +518,7 @@ ifneq ($(BUILD_GAME_QVM),0)
|
||||
$(B)/baseia/vm/cgame.qvm \
|
||||
$(B)/baseia/vm/qagame.qvm \
|
||||
$(B)/baseia/vm/ui.qvm \
|
||||
$(B)/baseia/description.txt \
|
||||
$(B)/baseia/pak1.pk3
|
||||
endif
|
||||
endif
|
||||
@@ -1016,6 +1019,9 @@ $(B)/baseia/qcommon/%.asm: $(CMDIR)/%.c $(Q3LCC)
|
||||
#############################################################################
|
||||
## GAME PAK
|
||||
#############################################################################
|
||||
$(B)/baseia/description.txt:
|
||||
$(echo_cmd) "GEN $@"
|
||||
@echo "Illusion Arena $(shell git rev-list --all | wc -l)" > $@
|
||||
$(B)/baseia/productid.txt:
|
||||
$(echo_cmd) "GEN $@"
|
||||
@echo "Illusion Arena $(shell git rev-list --all | wc -l)" > $@
|
||||
|
@@ -345,7 +345,7 @@ void CG_ParseServerinfo( void ) {
|
||||
cgs.timelimit = atoi( Info_ValueForKey( info, "timelimit" ) );
|
||||
cgs.maxclients = atoi( Info_ValueForKey( info, "sv_maxclients" ) );
|
||||
cgs.roundtime = atoi( Info_ValueForKey( info, "elimination_roundtime" ) );
|
||||
cgs.nopickup = atoi( Info_ValueForKey( info, "g_rockets" ) ) + atoi( Info_ValueForKey( info, "g_instantgib" ) ) + atoi( Info_ValueForKey( info, "g_elimination" ) ) + atoi( Info_ValueForKey( info, "g_bullethell" ) );
|
||||
cgs.nopickup = atoi( Info_ValueForKey( info, "g_rockets" ) ) + atoi( Info_ValueForKey( info, "g_instantgib" ) ) + atoi( Info_ValueForKey( info, "g_elimination" ) ) + atoi( Info_ValueForKey( info, "g_danmaku" ) );
|
||||
cgs.lms_mode = atoi( Info_ValueForKey( info, "g_lms_mode" ) );
|
||||
cgs.multiKill = atoi( Info_ValueForKey( info, "g_multiKill" ) );
|
||||
mapname = Info_ValueForKey( info, "mapname" );
|
||||
|
@@ -1674,6 +1674,8 @@ void BotChooseWeapon(bot_state_t *bs) {
|
||||
newweaponnum = WP_RAILGUN;
|
||||
else if(g_rockets.integer)
|
||||
newweaponnum = WP_ROCKET_LAUNCHER;
|
||||
else if(g_danmaku.integer)
|
||||
newweaponnum = WP_MACHINEGUN;
|
||||
else
|
||||
newweaponnum = trap_BotChooseBestFightWeapon(bs->ws, bs->inventory);
|
||||
if (bs->weaponnum != newweaponnum) bs->weaponchange_time = FloatTime();
|
||||
|
@@ -188,7 +188,7 @@ int BotAI_GetEntityState( int entityNum, entityState_t *state ) {
|
||||
memset( state, 0, sizeof(entityState_t) );
|
||||
if (!ent->inuse) return qfalse;
|
||||
if (!ent->r.linked) return qfalse;
|
||||
if ( !(g_gametype.integer == GT_ELIMINATION || g_gametype.integer == GT_LMS ||g_instantgib.integer || g_rockets.integer || g_bullethell.integer || g_elimination_allgametypes.integer || g_gametype.integer==GT_CTF_ELIMINATION)
|
||||
if ( !(g_gametype.integer == GT_ELIMINATION || g_gametype.integer == GT_LMS ||g_instantgib.integer || g_rockets.integer || g_danmaku.integer || g_elimination_allgametypes.integer || g_gametype.integer==GT_CTF_ELIMINATION)
|
||||
&& (ent->r.svFlags & SVF_NOCLIENT) ) return qfalse;
|
||||
memcpy( state, &ent->s, sizeof(entityState_t) );
|
||||
return qtrue;
|
||||
@@ -1498,7 +1498,7 @@ int BotAIStartFrame(int time) {
|
||||
trap_BotLibUpdateEntity(i, NULL);
|
||||
continue;
|
||||
}
|
||||
if ( !(g_gametype.integer == GT_ELIMINATION || g_gametype.integer == GT_LMS ||g_instantgib.integer || g_rockets.integer || g_bullethell.integer || g_elimination_allgametypes.integer || g_gametype.integer==GT_CTF_ELIMINATION)
|
||||
if ( !(g_gametype.integer == GT_ELIMINATION || g_gametype.integer == GT_LMS ||g_instantgib.integer || g_rockets.integer || g_danmaku.integer || g_elimination_allgametypes.integer || g_gametype.integer==GT_CTF_ELIMINATION)
|
||||
&& ent->r.svFlags & SVF_NOCLIENT) {
|
||||
trap_BotLibUpdateEntity(i, NULL);
|
||||
continue;
|
||||
|
@@ -2010,7 +2010,7 @@ else
|
||||
client->ps.ammo[WP_ROCKET_LAUNCHER] = -1;
|
||||
}
|
||||
// True Bullet Hell (all weapons w/ inf. ammo)
|
||||
if(g_bullethell.integer) {
|
||||
if(g_danmaku.integer) {
|
||||
client->ps.stats[STAT_WEAPONS] |= ( 1 << WP_GAUNTLET );
|
||||
client->ps.ammo[WP_GAUNTLET] = -1;
|
||||
client->ps.ammo[WP_GRAPPLING_HOOK] = -1;
|
||||
|
@@ -130,7 +130,7 @@ void TossClientItems( gentity_t *self ) {
|
||||
}
|
||||
}
|
||||
|
||||
if (g_instantgib.integer || g_rockets.integer || g_bullethell.integer || g_gametype.integer == GT_CTF_ELIMINATION || g_elimination_allgametypes.integer){
|
||||
if (g_instantgib.integer || g_rockets.integer || g_danmaku.integer || g_gametype.integer == GT_CTF_ELIMINATION || g_elimination_allgametypes.integer){
|
||||
//Nothing!
|
||||
}
|
||||
else
|
||||
|
@@ -416,7 +416,7 @@ void Touch_Item (gentity_t *ent, gentity_t *other, trace_t *trace) {
|
||||
qboolean predict;
|
||||
|
||||
//instant gib
|
||||
if ((g_instantgib.integer || g_rockets.integer || g_bullethell.integer || g_gametype.integer == GT_CTF_ELIMINATION || g_elimination_allgametypes.integer)
|
||||
if ((g_instantgib.integer || g_rockets.integer || g_danmaku.integer || g_gametype.integer == GT_CTF_ELIMINATION || g_elimination_allgametypes.integer)
|
||||
&& ent->item->giType != IT_TEAM)
|
||||
return;
|
||||
|
||||
@@ -710,7 +710,7 @@ void FinishSpawningItem( gentity_t *ent ) {
|
||||
|
||||
|
||||
// powerups don't spawn in for a while (but not in elimination)
|
||||
if(g_gametype.integer != GT_ELIMINATION && g_gametype.integer != GT_CTF_ELIMINATION && g_gametype.integer != GT_LMS && !g_instantgib.integer && !g_elimination_allgametypes.integer && !g_rockets.integer && !g_bullethell.integer )
|
||||
if(g_gametype.integer != GT_ELIMINATION && g_gametype.integer != GT_CTF_ELIMINATION && g_gametype.integer != GT_LMS && !g_instantgib.integer && !g_elimination_allgametypes.integer && !g_rockets.integer && !g_danmaku.integer )
|
||||
if ( ent->item->giType == IT_POWERUP ) {
|
||||
float respawn;
|
||||
|
||||
@@ -829,7 +829,7 @@ void ClearRegisteredItems( void ) {
|
||||
RegisterItem( BG_FindItemForWeapon( WP_ROCKET_LAUNCHER ) );
|
||||
}
|
||||
else
|
||||
if(g_bullethell.integer) {
|
||||
if(g_danmaku.integer) {
|
||||
RegisterItem( BG_FindItemForWeapon( WP_GAUNTLET ) );
|
||||
RegisterItem( BG_FindItemForWeapon( WP_MACHINEGUN ) );
|
||||
RegisterItem( BG_FindItemForWeapon( WP_SHOTGUN ) );
|
||||
@@ -974,7 +974,7 @@ void G_SpawnItem (gentity_t *ent, gitem_t *item) {
|
||||
ent->physicsBounce = 0.50; // items are bouncy
|
||||
|
||||
if (g_gametype.integer == GT_ELIMINATION || g_gametype.integer == GT_LMS ||
|
||||
( item->giType != IT_TEAM && (g_instantgib.integer || g_rockets.integer || g_bullethell.integer || g_elimination_allgametypes.integer || g_gametype.integer==GT_CTF_ELIMINATION) ) ) {
|
||||
( item->giType != IT_TEAM && (g_instantgib.integer || g_rockets.integer || g_danmaku.integer || g_elimination_allgametypes.integer || g_gametype.integer==GT_CTF_ELIMINATION) ) ) {
|
||||
ent->s.eFlags |= EF_NODRAW; //Invisible in elimination
|
||||
ent->r.svFlags |= SVF_NOCLIENT; //Don't broadcast
|
||||
}
|
||||
|
@@ -1072,7 +1072,7 @@ extern vmCvar_t g_elimination_lockspectator;
|
||||
extern vmCvar_t g_rockets;
|
||||
|
||||
// True Bullet Hell
|
||||
extern vmCvar_t g_bullethell;
|
||||
extern vmCvar_t g_danmaku;
|
||||
|
||||
//new in elimination Beta2
|
||||
extern vmCvar_t g_instantgib;
|
||||
|
@@ -127,7 +127,7 @@ vmCvar_t g_elimination_lockspectator;
|
||||
vmCvar_t g_rockets;
|
||||
|
||||
// True Bullet Hell
|
||||
vmCvar_t g_bullethell;
|
||||
vmCvar_t g_danmaku;
|
||||
|
||||
//dmn_clowns suggestions (with my idea of implementing):
|
||||
vmCvar_t g_instantgib;
|
||||
@@ -337,6 +337,8 @@ static cvarTable_t gameCvarTable[] = {
|
||||
{ &g_rockets, "g_rockets", "0", CVAR_SERVERINFO | CVAR_LATCH | CVAR_NORESTART, 0, qfalse },
|
||||
// Instagib
|
||||
{ &g_instantgib, "g_instantgib", "0", CVAR_SERVERINFO | CVAR_LATCH, 0, qfalse },
|
||||
// True Bullet Hell
|
||||
{ &g_danmaku, "g_danmaku", "0", CVAR_SERVERINFO | CVAR_LATCH | CVAR_NORESTART, 0, qtrue },
|
||||
// Vampire
|
||||
{ &g_vampire, "g_vampire", "0.0", CVAR_NORESTART, 0, qtrue },
|
||||
{ &g_vampireMaxHealth, "g_vampire_max_health", "500", CVAR_NORESTART, 0, qtrue },
|
||||
@@ -347,10 +349,8 @@ static cvarTable_t gameCvarTable[] = {
|
||||
{ &g_lms_mode, "g_lms_mode", "0", CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_NORESTART, 0, qtrue },
|
||||
// Catch-up
|
||||
{ &g_catchup, "g_catchup", "0", CVAR_ARCHIVE | CVAR_NORESTART, 0, qtrue},
|
||||
// True Bullet Hell
|
||||
{ &g_bullethell, "g_bullethell", "0", CVAR_SERVERINFO | CVAR_LATCH | CVAR_NORESTART, 0, qfalse },
|
||||
|
||||
{ &g_autonextmap, "g_autonextmap", "0", CVAR_ARCHIVE | CVAR_NORESTART, 0, qfalse},
|
||||
|
||||
{ &g_autonextmap, "g_autonextmap", "0", CVAR_ARCHIVE | CVAR_NORESTART, 0, qfalse},
|
||||
{ &g_mappools, "g_mappools", "0\\maps_dm.cfg\\1\\maps_tourney.cfg\\3\\maps_tdm.cfg\\4\\maps_ctf.cfg\\5\\maps_oneflag.cfg\\6\\maps_obelisk.cfg\
|
||||
\\7\\maps_harvester.cfg\\8\\maps_elimination.cfg\\9\\maps_ctf.cfg\\10\\maps_lms.cfg\\11\\maps_dd.cfg\\12\\maps_dom.cfg\\", CVAR_ARCHIVE | CVAR_NORESTART, 0, qfalse},
|
||||
{ &g_humanplayers, "g_humanplayers", "0", CVAR_ROM | CVAR_NORESTART, 0, qfalse },
|
||||
@@ -586,7 +586,7 @@ void G_UpdateCvars( void ) {
|
||||
VoteParseCustomVotes();
|
||||
|
||||
//Here comes the cvars that must trigger a map_restart
|
||||
if (cv->vmCvar == &g_instantgib || cv->vmCvar == &g_rockets || cv->vmCvar == &g_bullethell || cv->vmCvar == &g_elimination_allgametypes) {
|
||||
if (cv->vmCvar == &g_instantgib || cv->vmCvar == &g_rockets || cv->vmCvar == &g_danmaku || cv->vmCvar == &g_elimination_allgametypes) {
|
||||
trap_Cvar_Set("sv_dorestart","1");
|
||||
}
|
||||
|
||||
@@ -668,13 +668,12 @@ void G_InitGame( int levelTime, int randomSeed, int restart ) {
|
||||
G_UpdateTimestamp();
|
||||
|
||||
//disable unwanted cvars
|
||||
if( g_gametype.integer == GT_SINGLE_PLAYER )
|
||||
{
|
||||
g_instantgib.integer = 0;
|
||||
g_rockets.integer = 0;
|
||||
g_bullethell.integer = 0;
|
||||
g_vampire.value = 0.0f;
|
||||
}
|
||||
if( g_gametype.integer == GT_SINGLE_PLAYER ) {
|
||||
g_instantgib.integer = 0;
|
||||
g_rockets.integer = 0;
|
||||
g_danmaku.integer = 0;
|
||||
g_vampire.value = 0.0f;
|
||||
}
|
||||
|
||||
G_ProcessIPBans();
|
||||
|
||||
|
@@ -734,7 +734,7 @@ typedef struct {
|
||||
menuradiobutton_s oneway;
|
||||
menuradiobutton_s instantgib;
|
||||
menuradiobutton_s rockets;
|
||||
menuradiobutton_s bullethell;
|
||||
menuradiobutton_s danmaku;
|
||||
menulist_s lmsMode;
|
||||
menulist_s botSkill;
|
||||
|
||||
@@ -848,7 +848,7 @@ static void ServerOptions_Start( void ) {
|
||||
int lan;
|
||||
int instantgib;
|
||||
int rockets;
|
||||
int bullethell;
|
||||
int danmaku;
|
||||
int oneway;
|
||||
int lmsMode;
|
||||
int skill;
|
||||
@@ -866,7 +866,7 @@ static void ServerOptions_Start( void ) {
|
||||
pmove = s_serveroptions.pmove.curvalue;
|
||||
instantgib = s_serveroptions.instantgib.curvalue;
|
||||
rockets = s_serveroptions.rockets.curvalue;
|
||||
bullethell = s_serveroptions.bullethell.curvalue;
|
||||
danmaku = s_serveroptions.danmaku.curvalue;
|
||||
oneway = s_serveroptions.oneway.curvalue;
|
||||
//Sago: For some reason you need to add 1 to curvalue to get the UI to show the right thing (fixed?)
|
||||
lmsMode = s_serveroptions.lmsMode.curvalue; //+1;
|
||||
@@ -959,7 +959,7 @@ static void ServerOptions_Start( void ) {
|
||||
trap_Cvar_SetValue( "sv_lanForceRate", lan );
|
||||
trap_Cvar_SetValue( "g_instantgib", instantgib );
|
||||
trap_Cvar_SetValue( "g_rockets", rockets );
|
||||
trap_Cvar_SetValue( "g_bullethell", bullethell );
|
||||
trap_Cvar_SetValue( "g_danmaku", danmaku );
|
||||
trap_Cvar_SetValue( "g_lms_mode", lmsMode);
|
||||
trap_Cvar_SetValue( "elimination_ctf_oneway", oneway );
|
||||
switch(pmove) {
|
||||
@@ -1475,7 +1475,7 @@ static void ServerOptions_SetMenuItems( void ) {
|
||||
s_serveroptions.lan.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "sv_lanforcerate" ) );
|
||||
s_serveroptions.instantgib.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "g_instantgib" ) );
|
||||
s_serveroptions.rockets.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "g_rockets" ) );
|
||||
s_serveroptions.bullethell.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "g_bullethell" ) );
|
||||
s_serveroptions.danmaku.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "g_danmaku" ) );
|
||||
s_serveroptions.lmsMode.curvalue = Com_Clamp( 0, 3, trap_Cvar_VariableValue("g_lms_mode") );
|
||||
s_serveroptions.oneway.curvalue = Com_Clamp( 0, 1, trap_Cvar_VariableValue( "elimination_ctf_oneway" ) );
|
||||
s_serveroptions.pmove.curvalue = 0;
|
||||
@@ -1684,12 +1684,12 @@ static void ServerOptions_MenuInit( qboolean multiplayer ) {
|
||||
|
||||
// True Bullet Hell
|
||||
y += BIGCHAR_HEIGHT+2;
|
||||
s_serveroptions.bullethell.generic.type = MTYPE_RADIOBUTTON;
|
||||
s_serveroptions.bullethell.generic.flags = QMF_PULSEIFFOCUS|QMF_SMALLFONT;
|
||||
s_serveroptions.bullethell.generic.x = OPTIONS_X;
|
||||
s_serveroptions.bullethell.generic.y = y;
|
||||
s_serveroptions.bullethell.generic.name = "Bullet hell:";
|
||||
s_serveroptions.bullethell.generic.statusbar = ServerOptions_StatusBar_BulletHell;
|
||||
s_serveroptions.danmaku.generic.type = MTYPE_RADIOBUTTON;
|
||||
s_serveroptions.danmaku.generic.flags = QMF_PULSEIFFOCUS|QMF_SMALLFONT;
|
||||
s_serveroptions.danmaku.generic.x = OPTIONS_X;
|
||||
s_serveroptions.danmaku.generic.y = y;
|
||||
s_serveroptions.danmaku.generic.name = "Bullet hell:";
|
||||
s_serveroptions.danmaku.generic.statusbar = ServerOptions_StatusBar_BulletHell;
|
||||
|
||||
|
||||
if( s_serveroptions.gametype == GT_LMS ) {
|
||||
@@ -1838,7 +1838,7 @@ static void ServerOptions_MenuInit( qboolean multiplayer ) {
|
||||
Menu_AddItem( &s_serveroptions.menu, &s_serveroptions.pure );
|
||||
Menu_AddItem( &s_serveroptions.menu, &s_serveroptions.instantgib );
|
||||
Menu_AddItem( &s_serveroptions.menu, &s_serveroptions.rockets );
|
||||
Menu_AddItem( &s_serveroptions.menu, &s_serveroptions.bullethell );
|
||||
Menu_AddItem( &s_serveroptions.menu, &s_serveroptions.danmaku );
|
||||
if( s_serveroptions.gametype == GT_LMS) {
|
||||
Menu_AddItem( &s_serveroptions.menu, &s_serveroptions.lmsMode );
|
||||
}
|
||||
|
@@ -26,10 +26,22 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
// q_shared.h -- included first by ALL program modules.
|
||||
// A user mod should never modify this file
|
||||
|
||||
#if defined(MOD_OA)
|
||||
#define PRODUCT_NAME "ioq3+oa"
|
||||
#define BASEGAME "baseoa"
|
||||
#define CLIENT_WINDOW_TITLE "OpenArena"
|
||||
#define CLIENT_WINDOW_MIN_TITLE "OA"
|
||||
#elif defined(MOD_Q3A)
|
||||
#define PRODUCT_NAME "ioq3"
|
||||
#define BASEGAME "baseq3"
|
||||
#define CLIENT_WINDOW_TITLE "ioquake3"
|
||||
#define CLIENT_WINDOW_MIN_TITLE "ioq3"
|
||||
#else
|
||||
#define PRODUCT_NAME "ioq3+ia"
|
||||
#define BASEGAME "baseia"
|
||||
#define CLIENT_WINDOW_TITLE "Illusion Arena"
|
||||
#define CLIENT_WINDOW_MIN_TITLE "IA"
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define PRODUCT_VERSION "1.35"
|
||||
|
Reference in New Issue
Block a user