)
add_executable(csprogs qcsrc/client/progs.inc)
-target_compile_definitions(csprogs PRIVATE -DCSQC)
+target_compile_definitions(csprogs PRIVATE -DGAMEQC -DCSQC)
add_dependencies(csprogs gmqcc)
add_executable(progs qcsrc/server/progs.inc)
-target_compile_definitions(progs PRIVATE -DSVQC)
+target_compile_definitions(progs PRIVATE -DGAMEQC -DSVQC)
add_dependencies(progs gmqcc)
add_executable(menu qcsrc/menu/progs.inc)
float autocvar_net_connecttimeout = 30;
-#ifndef MENUQC
+#ifdef GAMEQC
#include "anim.qc"
#include "animdecide.qc"
#include "ent_cs.qc"
#include "campaign_setup.qc"
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
#include "physics/all.inc"
#include "triggers/include.qc"
#include "viewloc.qc"
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
#include "minigames/minigames.qc"
#endif
#include "command/_mod.inc"
-#ifndef MENUQC
+#ifdef GAMEQC
#include "deathtypes/all.qc"
#include "effects/all.qc"
#include "impulses/all.qc"
#include "../mapinfo.qh"
-#ifndef MENUQC
+#ifdef GAMEQC
#include "../notifications/all.qh"
#endif
{
case CMD_REQUEST_COMMAND:
{
- #ifndef MENUQC
+ #ifdef GAMEQC
int NOTIF_ANNCE_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_ANNCE, { ++NOTIF_ANNCE_COUNT; });
int NOTIF_INFO_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_INFO, { ++NOTIF_INFO_COUNT; });
int NOTIF_CENTER_COUNT = 0; FOREACH(Notifications, it.nent_type == MSG_CENTER, { ++NOTIF_CENTER_COUNT; });
* Score indices
*/
-#ifndef MENUQC
+#ifdef GAMEQC
#define IS_INCREASING(x) ( (x) & SFL_LOWER_IS_BETTER )
#define IS_DECREASING(x) ( !((x) & SFL_LOWER_IS_BETTER) )
.entity tag_entity;
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
.bool debug;
.int sv_entnum;
REGISTER_NET_TEMP(net_debug)
}
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
/**
* 0: off
* 1: on
-#ifndef DAMAGEEFFECTS_H
-#define DAMAGEEFFECTS_H
-
-#ifdef CSQC
-#include <common/deathtypes/all.qh>
-#include <common/physics/movetypes/movetypes.qh>
-#include <client/mutators/events.qh>
-#include <common/vehicles/all.qh>
-#include <common/weapons/_all.qh>
-#endif
-
-#endif
+#include "damageeffects.qh"
#ifdef IMPLEMENTATION
#pragma once
+
+#ifdef CSQC
+#include <common/deathtypes/all.qh>
+#include <common/physics/movetypes/movetypes.qh>
+#include <client/mutators/events.qh>
+#include <common/vehicles/all.qh>
+#include <common/weapons/_all.qh>
+#endif
}
}
-#ifndef MENUQC
+#ifdef GAMEQC
string Item_Model(string item_mdl);
#endif
#include <common/t_items.qh>
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Bullets_ITEM, Item_Model("a_bullets.mdl"));
#endif
REGISTER_ITEM(Bullets, Ammo) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Bullets_ITEM;
#endif
this.m_name = "bullets";
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Cells_ITEM, Item_Model("a_cells.md3"));
#endif
REGISTER_ITEM(Cells, Ammo) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Cells_ITEM;
#endif
this.m_name = "cells";
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Plasma_ITEM, Item_Model("a_cells.md3"));
#endif
REGISTER_ITEM(Plasma, Ammo) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Plasma_ITEM;
#endif
this.m_name = "plasma";
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Rockets_ITEM, Item_Model("a_rockets.md3"));
#endif
REGISTER_ITEM(Rockets, Ammo) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Rockets_ITEM;
#endif
this.m_name = "rockets";
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Shells_ITEM, Item_Model("a_shells.md3"));
#endif
REGISTER_ITEM(Shells, Ammo) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Shells_ITEM;
#endif
this.m_name = "shells";
#include <common/t_items.qh>
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(ArmorSmall_ITEM, Item_Model("item_armor_small.md3"));
SOUND(ArmorSmall, "misc/armor1");
#endif
REGISTER_ITEM(ArmorSmall, Armor) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_ArmorSmall_ITEM;
this.m_sound = SND_ArmorSmall;
#endif
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(ArmorMedium_ITEM, Item_Model("item_armor_medium.md3"));
SOUND(ArmorMedium, "misc/armor10");
#endif
REGISTER_ITEM(ArmorMedium, Armor) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_ArmorMedium_ITEM;
this.m_sound = SND_ArmorMedium;
#endif
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(ArmorLarge_ITEM, Item_Model("item_armor_big.md3"));
SOUND(ArmorLarge, "misc/armor17_5");
#endif
REGISTER_ITEM(ArmorLarge, Armor) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_ArmorLarge_ITEM;
this.m_sound = SND_ArmorLarge;
#endif
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(ArmorMega_ITEM, Item_Model("item_armor_large.md3"));
SOUND(ArmorMega, "misc/armor25");
#endif
REGISTER_ITEM(ArmorMega, Armor) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_ArmorMega_ITEM;
this.m_sound = SND_ArmorMega;
#endif
#include <common/t_items.qh>
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(HealthSmall_ITEM, Item_Model("g_h1.md3"));
SOUND(HealthSmall, "misc/minihealth");
#endif
REGISTER_ITEM(HealthSmall, Health) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_HealthSmall_ITEM;
this.m_sound = SND_HealthSmall;
#endif
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(HealthMedium_ITEM, Item_Model("g_h25.md3"));
SOUND(HealthMedium, "misc/mediumhealth");
#endif
REGISTER_ITEM(HealthMedium, Health) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_HealthMedium_ITEM;
this.m_sound = SND_HealthMedium;
#endif
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(HealthLarge_ITEM, Item_Model("g_h50.md3"));
SOUND(HealthLarge, "misc/mediumhealth");
#endif
REGISTER_ITEM(HealthLarge, Health) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_HealthLarge_ITEM;
this.m_sound = SND_HealthLarge;
#endif
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(HealthMega_ITEM, Item_Model("g_h100.md3"));
SOUND(HealthMega, "misc/megahealth");
#endif
REGISTER_ITEM(HealthMega, Health) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_HealthMega_ITEM;
this.m_sound = SND_HealthMega;
#endif
.int m_itemid;
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Jetpack_ITEM, Item_Model("g_jetpack.md3"));
#endif
REGISTER_ITEM(Jetpack, Powerup) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Jetpack_ITEM;
this.m_itemid = IT_JETPACK;
#endif
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(JetpackFuel_ITEM, Item_Model("g_fuel.md3"));
#endif
REGISTER_ITEM(JetpackFuel, Ammo) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_JetpackFuel_ITEM;
#endif
this.m_name = "Fuel";
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(JetpackRegen_ITEM, Item_Model("g_fuelregen.md3"));
#endif
REGISTER_ITEM(JetpackRegen, Powerup) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_JetpackRegen_ITEM;
#endif
this.m_name = "Fuel regenerator";
#include <common/t_items.qh>
CLASS(Pickup, GameItem)
-#ifndef MENUQC
+#ifdef GAMEQC
ATTRIB(Pickup, m_model, Model);
ATTRIB(Pickup, m_sound, Sound, SND_ITEMPICKUP);
#endif
#endif
ENDCLASS(Powerup)
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Strength_ITEM, Item_Model("g_strength.md3"));
SOUND(Strength, "misc/powerup");
#endif
REGISTER_ITEM(Strength, Powerup) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Strength_ITEM;
this.m_sound = SND_Strength;
#endif
this.m_itemid = IT_STRENGTH;
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Shield_ITEM, Item_Model("g_invincible.md3"));
SOUND(Shield, "misc/powerup_shield");
#endif
REGISTER_ITEM(Shield, Powerup) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Shield_ITEM;
this.m_sound = SND_Shield;
#endif
{
int f = MAPINFO_FLAG_FORBIDDEN;
-#ifndef MENUQC
+#ifdef GAMEQC
if (!cvar("g_maplist_allow_hidden"))
#endif
f |= MAPINFO_FLAG_HIDDEN;
#include <lib/warpzone/server.qh>
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
#include "../animdecide.qh"
#include "../anim.qh"
vector animfixfps(entity e, vector a, vector b);
#ifndef MAGE_H
#define MAGE_H
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(MON_MAGE, M_Model("mage.dpm"));
#endif
ATTRIB(Mage, spawnflags, int, MON_FLAG_MELEE | MON_FLAG_RANGED);
ATTRIB(Mage, mins, vector, '-36 -36 -24');
ATTRIB(Mage, maxs, vector, '36 36 50');
-#ifndef MENUQC
+#ifdef GAMEQC
ATTRIB(Mage, m_model, Model, MDL_MON_MAGE);
#endif
ATTRIB(Mage, netname, string, "mage");
ENDCLASS(Mage)
REGISTER_MONSTER(MAGE, NEW(Mage)) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.mr_precache(this);
#endif
}
}
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
METHOD(Mage, mr_anim, bool(Mage this, entity actor))
{
TC(Mage, this);
#ifndef SHAMBLER_H
#define SHAMBLER_H
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(MON_SHAMBLER, M_Model("shambler.mdl"));
#endif
ATTRIB(Shambler, spawnflags, int, MONSTER_SIZE_BROKEN | MON_FLAG_SUPERMONSTER | MON_FLAG_MELEE | MON_FLAG_RANGED);
ATTRIB(Shambler, mins, vector, '-41 -41 -31');
ATTRIB(Shambler, maxs, vector, '41 41 65');
-#ifndef MENUQC
+#ifdef GAMEQC
ATTRIB(Shambler, m_model, Model, MDL_MON_SHAMBLER);
#endif
ATTRIB(Shambler, netname, string, "shambler");
ENDCLASS(Shambler)
REGISTER_MONSTER(SHAMBLER, NEW(Shambler)) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.mr_precache(this);
#endif
}
return true;
}
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
METHOD(Shambler, mr_anim, bool(Shambler this, entity actor))
{
TC(Shambler, this);
#ifndef SPIDER_H
#define SPIDER_H
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(MON_SPIDER, M_Model("spider.dpm"));
#endif
ATTRIB(Spider, spawnflags, int, MON_FLAG_MELEE | MON_FLAG_RANGED | MON_FLAG_RIDE);
ATTRIB(Spider, mins, vector, '-18 -18 -25');
ATTRIB(Spider, maxs, vector, '18 18 30');
-#ifndef MENUQC
+#ifdef GAMEQC
ATTRIB(Spider, m_model, Model, MDL_MON_SPIDER);
#endif
ATTRIB(Spider, netname, string, "spider");
ENDCLASS(Spider)
REGISTER_MONSTER(SPIDER, NEW(Spider)) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.mr_precache(this);
#endif
}
return true;
}
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
METHOD(Spider, mr_anim, bool(Spider this, entity actor))
{
TC(Spider, this);
#ifndef WYVERN_H
#define WYVERN_H
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(MON_WYVERN, M_Model("wizard.mdl"));
#endif
ATTRIB(Wyvern, spawnflags, int, MONSTER_TYPE_FLY | MONSTER_SIZE_BROKEN | MON_FLAG_RANGED | MON_FLAG_RIDE);
ATTRIB(Wyvern, mins, vector, '-20 -20 -58');
ATTRIB(Wyvern, maxs, vector, '20 20 20');
-#ifndef MENUQC
+#ifdef GAMEQC
ATTRIB(Wyvern, m_model, Model, MDL_MON_WYVERN);
#endif
ATTRIB(Wyvern, netname, string, "wyvern");
ENDCLASS(Wyvern)
REGISTER_MONSTER(WYVERN, NEW(Wyvern)) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.mr_precache(this);
#endif
}
return true;
}
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
METHOD(Wyvern, mr_anim, bool(Wyvern this, entity actor))
{
TC(Wyvern, this);
#ifndef ZOMBIE_H
#define ZOMBIE_H
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(MON_ZOMBIE, M_Model("zombie.dpm"));
#endif
ATTRIB(Zombie, spawnflags, int, MON_FLAG_MELEE | MON_FLAG_RIDE);
ATTRIB(Zombie, mins, vector, '-18 -18 -25');
ATTRIB(Zombie, maxs, vector, '18 18 47');
-#ifndef MENUQC
+#ifdef GAMEQC
ATTRIB(Zombie, m_model, Model, MDL_MON_ZOMBIE);
#endif
ATTRIB(Zombie, netname, string, "zombie");
ENDCLASS(Zombie)
REGISTER_MONSTER(ZOMBIE, NEW(Zombie)) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.mr_precache(this);
#endif
}
return true;
}
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
METHOD(Zombie, mr_anim, bool(Zombie this, entity actor))
{
TC(Zombie, this);
-#ifndef MUTATORS_BASE_H
-#define MUTATORS_BASE_H
+#pragma once
const int CBC_ORDER_FIRST = 1;
const int CBC_ORDER_LAST = 2;
void Mutator_Remove(Mutator mut);
bool mutator_log = false;
-#ifndef MENUQC
+#ifdef GAMEQC
/** server mutators activate corresponding client mutators for all clients */
REGISTER_NET_LINKED(Mutator)
} MACRO_END
#include "events.qh"
-
-#endif
-#ifndef COMMON_MUTATORS_EVENTS_H
-#define COMMON_MUTATORS_EVENTS_H
+#pragma once
#define EV_NO_ARGS(i, o)
/**/ o(string, MUTATOR_ARGV_1_string) \
/**/
MUTATOR_HOOKABLE(WeaponModel, EV_WeaponModel);
-
-#endif
#include <common/teams.qh>
#include <common/util.qh>
-#ifndef MENUQC
+#ifdef GAMEQC
REGISTER_WAYPOINT(Buff, _("Buff"), '1 0.5 0', 1);
REGISTER_RADARICON(Buff, 1);
#endif
#include "bugrigs.qh"
-#ifndef MENUQC
+#ifdef GAMEQC
#ifdef SVQC
#include <server/antilag.qh>
#include "doublejump.qh"
-#ifndef MENUQC
+#ifdef GAMEQC
#ifdef SVQC
#include <server/antilag.qh>
#endif
GETTER(float, instagib_respawntime_ammo)
GETTER(float, instagib_respawntimejitter_ammo)
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(VaporizerCells_ITEM, Item_Model("a_cells.md3"));
SOUND(VaporizerCells, "misc/itempickup");
#endif
REGISTER_ITEM(VaporizerCells, Ammo) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_VaporizerCells_ITEM;
this.m_sound = SND_VaporizerCells;
#endif
#endif
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(ExtraLife_ITEM, Item_Model("g_h100.md3"));
SOUND(ExtraLife, "misc/megahealth");
#endif
REGISTER_ITEM(ExtraLife, Powerup) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_ExtraLife_ITEM;
this.m_sound = SND_ExtraLife;
#endif
this.m_itemid = IT_NAILS;
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Invisibility_ITEM, Item_Model("g_strength.md3"));
SOUND(Invisibility, "misc/powerup");
#endif
REGISTER_ITEM(Invisibility, Powerup) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Invisibility_ITEM;
this.m_sound = SND_Invisibility;
#endif
this.m_itemid = IT_STRENGTH;
}
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(Speed_ITEM, Item_Model("g_invincible.md3"));
SOUND(Speed, "misc/powerup_shield");
#endif
REGISTER_ITEM(Speed, Powerup) {
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = MDL_Speed_ITEM;
this.m_sound = SND_Speed;
#endif
#include "multijump.qh"
-#ifndef MENUQC
+#ifdef GAMEQC
#ifdef SVQC
#include <server/antilag.qh>
-#ifndef MENUQC
+#ifdef GAMEQC
#define NADE_PROJECTILE(i, projectile, trail) MACRO_BEGIN { \
this.m_projectile[i] = projectile; \
this.m_trail[i] = trail; \
REGISTER_STAT(NADES_SMALL, int, autocvar_g_nades_nade_small)
-#ifndef MENUQC
+#ifdef GAMEQC
entity Nade_TrailEffect(int proj, int nade_team)
{
switch (proj)
return NADE_TYPE_Null;
}
-#ifndef MENUQC
+#ifdef GAMEQC
#include "effects.inc"
#endif
#include "net.qh"
-#ifndef MENUQC
+#ifdef GAMEQC
#include "nades.qh"
/* rating */ ATTRIB(HeavyMachineGun, bot_pickupbasevalue, float, BOT_PICKUP_RATING_HIGH);
/* color */ ATTRIB(HeavyMachineGun, wpcolor, vector, '0.5 0.5 0');
/* modelname */ ATTRIB(HeavyMachineGun, mdl, string, "ok_hmg");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(HeavyMachineGun, m_model, Model, MDL_HMG_ITEM);
#endif
/* crosshair */ ATTRIB(HeavyMachineGun, w_crosshair, string, "gfx/crosshairuzi");
/* rating */ ATTRIB(RocketPropelledChainsaw, bot_pickupbasevalue, float, BOT_PICKUP_RATING_HIGH);
/* color */ ATTRIB(RocketPropelledChainsaw, wpcolor, vector, '0.5 0.5 0');
/* modelname */ ATTRIB(RocketPropelledChainsaw, mdl, string, "ok_rl");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(RocketPropelledChainsaw, m_model, Model, MDL_RPC_ITEM);
#endif
/* crosshair */ ATTRIB(RocketPropelledChainsaw, w_crosshair, string, "gfx/crosshairrocketlauncher");
{
case CMD_REQUEST_COMMAND:
{
- #ifndef MENUQC
+ #ifdef GAMEQC
string filename = argv(1);
bool alsoprint = false;
if (filename == "")
#include "mapinfo.qh"
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
/*
* Get "real" origin, in worldspace, even if ent is attached to something else.
*/
return r;
}
-#ifndef MENUQC
-#ifndef CSQC
+#ifdef SVQC
entity _wordwrap_buffer_sprint_ent;
void wordwrap_buffer_sprint(string s)
{
return;
}
#endif
-#endif
#ifndef SVQC
string draw_UseSkinFor(string pic)
}
}
-#ifndef MENUQC
+#ifdef GAMEQC
float CheckWireframeBox(entity forent, vector v0, vector dvx, vector dvy, vector dvz)
{
traceline(v0, v0 + dvx, true, forent); if(trace_fraction < 1) return 0;
return order;
}
-#ifndef MENUQC
+#ifdef GAMEQC
void get_mi_min_max(float mode)
{
vector mi, ma;
return v;
}
-#ifndef MENUQC
+#ifdef GAMEQC
vector healtharmor_maxdamage(float h, float a, float armorblock, int deathtype)
{
// NOTE: we'll always choose the SMALLER value...
}
get_model_parameters_fixbone = 0;
-#ifndef MENUQC
+#ifdef GAMEQC
MUTATOR_CALLHOOK(ClearModelParams);
#endif
get_model_parameters_bone_upperbody = s;
if(c == "bone_weapon")
get_model_parameters_bone_weapon = s;
- #ifndef MENUQC
+ #ifdef GAMEQC
MUTATOR_CALLHOOK(GetModelParams, c, s);
#endif
for(int i = 0; i < MAX_AIM_BONES; ++i)
cvar_settemp_restore(); // this must be done LAST, but in any case
}
-#ifndef MENUQC
+#ifdef GAMEQC
.float skeleton_bones_index;
void Skeleton_SetBones(entity e)
{
queue_start.FindConnectedComponent_processing = 0;
}
-#ifndef MENUQC
+#ifdef GAMEQC
vector animfixfps(entity e, vector a, vector b)
{
// multi-frame anim: keep as-is
}
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
Notification Announcer_PickNumber(int type, int num)
{
return = NULL;
}
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
int Mod_Q1BSP_SuperContentsFromNativeContents(int nativecontents)
{
switch(nativecontents)
#pragma once
-#ifndef MENUQC
+#ifdef GAMEQC
vector real_origin(entity ent);
#endif
// this returns a tempstring containing a copy of s with additional \n newlines added, it also replaces \n in the text with a real newline
// NOTE: s IS allowed to be a tempstring
string wordwrap(string s, float l);
-#ifndef MENUQC
-#ifndef CSQC
+#ifdef SVQC
void wordwrap_sprint(entity to, string s, float l);
#endif
-#endif
void wordwrap_cb(string s, float l, void(string) callback);
#ifndef SVQC
vector decompressShortVector(float data);
float compressShortVector(vector vec);
-#ifndef MENUQC
+#ifdef GAMEQC
float CheckWireframeBox(entity forent, vector v0, vector dvx, vector dvy, vector dvz);
#endif
float cvar_settemp(string pKey, string pValue);
float cvar_settemp_restore();
-#ifndef MENUQC
+#ifdef GAMEQC
// modes: 0 = trust q3map2 (_mini images)
// 1 = trust tracebox (_radar images)
// in both modes, mapinfo's "size" overrides
string records_reply[10];
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
vector healtharmor_maxdamage(float h, float a, float armorblock, int deathtype); // returns vector: maxdamage, armorideal, 1 if fully armored
vector healtharmor_applydamage(float a, float armorblock, int deathtype, float damage); // returns vector: take, save, 0
#endif
string getcurrentmod();
-#ifndef MENUQC
+#ifdef GAMEQC
#ifdef CSQC
int ReadInt24_t();
#else
string get_model_parameters_desc;
float get_model_parameters(string mod, float skn); // call with string_null to clear; skin -1 means mod is the filename of the txt file and is to be split
-#ifndef MENUQC
+#ifdef GAMEQC
vector NearestPointOnBox(entity box, vector org);
#endif
string xencode(float f);
float xdecode(string s);
-#ifndef MENUQC
+#ifdef GAMEQC
string strtolower(string s);
#endif
// generic shutdown handler
void Shutdown();
-#ifndef MENUQC
+#ifdef GAMEQC
.float skeleton_bones;
void Skeleton_SetBones(entity e);
// loops through the tags of model v using counter tagnum
string CCR(string input);
-#ifndef MENUQC
+#ifdef GAMEQC
#ifdef CSQC
#define GENTLE (autocvar_cl_gentle || autocvar_cl_gentle_messages)
#else
#define normal_or_gentle(normal, gentle) (GENTLE ? ((gentle != "") ? gentle : normal) : normal)
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
vector animfixfps(entity e, vector a, vector b);
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
const float CNT_NORMAL = 1;
const float CNT_GAMESTART = 2;
const float CNT_IDLE = 3;
entity Announcer_PickNumber(float type, float num);
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
int Mod_Q1BSP_SuperContentsFromNativeContents(int nativecontents);
int Mod_Q1BSP_NativeContentsFromSuperContents(int supercontents);
#endif
ENDCLASS(Bumblebee)
REGISTER_VEHICLE(BUMBLEBEE, NEW(Bumblebee));
-#ifndef MENUQC
+#ifdef GAMEQC
MODEL(VEH_BUMBLEBEE_GUNCOCKPIT, "models/vehicles/wakizashi_cockpit.dpm");
#endif
#include <server/portals.qh>
#include <server/g_hook.qh>
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
#include "calculations.qc"
#endif
#ifdef SVQC
return M_ARGV(1, string);
}
-#ifndef MENUQC
+#ifdef GAMEQC
vector shotorg_adjustfromclient(vector vecs, float y_is_right, float algn)
{
switch (algn)
}
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
REGISTER_NET_TEMP(wframe)
#ifdef CSQC
#include "weapon.qh"
-#ifndef MENUQC
+#ifdef GAMEQC
#include "calculations.qh"
#include <common/models/all.qh>
#endif
weaponorder_byid = strzone(substring(weaponorder_byid, 1, -1));
}
-#ifndef MENUQC
+#ifdef GAMEQC
.entity weaponchild;
.entity exteriorweaponentity;
CLASS(WeaponPickup, Pickup)
ATTRIB(WeaponPickup, m_weapon, Weapon);
ATTRIB(WeaponPickup, m_name, string);
-#ifndef MENUQC
+#ifdef GAMEQC
ATTRIB(WeaponPickup, m_sound, Sound, SND_WEAPONPICKUP);
#endif
#ifdef SVQC
CONSTRUCT(WeaponPickup);
this.m_weapon = w;
this.m_name = w.m_name;
-#ifndef MENUQC
+#ifdef GAMEQC
this.m_model = w.m_model;
#endif
#ifdef SVQC
/* rating */ ATTRIB(Arc, bot_pickupbasevalue, float, BOT_PICKUP_RATING_HIGH);
/* color */ ATTRIB(Arc, wpcolor, vector, '1 1 1');
/* modelname */ ATTRIB(Arc, mdl, string, "arc");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Arc, m_model, Model, MDL_ARC_ITEM);
#endif
/* crosshair */ ATTRIB(Arc, w_crosshair, string, "gfx/crosshairhlac");
REGISTER_WEAPON(ARC, arc, NEW(Arc));
-#ifndef MENUQC
+#ifdef GAMEQC
const float ARC_MAX_SEGMENTS = 20;
vector arc_shotorigin[4];
.vector beam_start;
/* rating */ ATTRIB(Blaster, bot_pickupbasevalue, float, 0);
/* color */ ATTRIB(Blaster, wpcolor, vector, '1 0.5 0.5');
/* modelname */ ATTRIB(Blaster, mdl, string, "laser");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Blaster, m_model, Model, MDL_BLASTER_ITEM);
#endif
/* crosshair */ ATTRIB(Blaster, w_crosshair, string, "gfx/crosshairlaser");
/* rating */ ATTRIB(Crylink, bot_pickupbasevalue, float, BOT_PICKUP_RATING_MID);
/* color */ ATTRIB(Crylink, wpcolor, vector, '1 0.5 1');
/* modelname */ ATTRIB(Crylink, mdl, string, "crylink");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Crylink, m_model, Model, MDL_CRYLINK_ITEM);
#endif
/* crosshair */ ATTRIB(Crylink, w_crosshair, string, "gfx/crosshaircrylink");
/* rating */ ATTRIB(Devastator, bot_pickupbasevalue, float, BOT_PICKUP_RATING_HIGH);
/* color */ ATTRIB(Devastator, wpcolor, vector, '1 1 0');
/* modelname */ ATTRIB(Devastator, mdl, string, "rl");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Devastator, m_model, Model, MDL_DEVASTATOR_ITEM);
#endif
/* crosshair */ ATTRIB(Devastator, w_crosshair, string, "gfx/crosshairrocketlauncher");
/* rating */ ATTRIB(Electro, bot_pickupbasevalue, float, BOT_PICKUP_RATING_MID);
/* color */ ATTRIB(Electro, wpcolor, vector, '0 0.5 1');
/* modelname */ ATTRIB(Electro, mdl, string, "electro");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Electro, m_model, Model, MDL_ELECTRO_ITEM);
#endif
/* crosshair */ ATTRIB(Electro, w_crosshair, string, "gfx/crosshairelectro");
/* rating */ ATTRIB(Fireball, bot_pickupbasevalue, float, BOT_PICKUP_RATING_MID);
/* color */ ATTRIB(Fireball, wpcolor, vector, '1 0.5 0');
/* modelname */ ATTRIB(Fireball, mdl, string, "fireball");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Fireball, m_model, Model, MDL_FIREBALL_ITEM);
#endif
/* crosshair */ ATTRIB(Fireball, w_crosshair, string, "gfx/crosshairfireball");
/* rating */ ATTRIB(Hagar, bot_pickupbasevalue, float, BOT_PICKUP_RATING_MID);
/* color */ ATTRIB(Hagar, wpcolor, vector, '1 1 0.5');
/* modelname */ ATTRIB(Hagar, mdl, string, "hagar");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Hagar, m_model, Model, MDL_HAGAR_ITEM);
#endif
/* crosshair */ ATTRIB(Hagar, w_crosshair, string, "gfx/crosshairhagar");
/* rating */ ATTRIB(HLAC, bot_pickupbasevalue, float, BOT_PICKUP_RATING_MID);
/* color */ ATTRIB(HLAC, wpcolor, vector, '0 1 0');
/* modelname */ ATTRIB(HLAC, mdl, string, "hlac");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(HLAC, m_model, Model, MDL_HLAC_ITEM);
#endif
/* crosshair */ ATTRIB(HLAC, w_crosshair, string, "gfx/crosshairhlac");
/* rating */ ATTRIB(Hook, bot_pickupbasevalue, float, 0);
/* color */ ATTRIB(Hook, wpcolor, vector, '0 0.5 0');
/* modelname */ ATTRIB(Hook, mdl, string, "hookgun");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Hook, m_model, Model, MDL_HOOK_ITEM);
#endif
/* crosshair */ ATTRIB(Hook, w_crosshair, string, "gfx/crosshairhook");
/* rating */ ATTRIB(MachineGun, bot_pickupbasevalue, float, BOT_PICKUP_RATING_MID);
/* color */ ATTRIB(MachineGun, wpcolor, vector, '1 1 0');
/* modelname */ ATTRIB(MachineGun, mdl, string, "uzi");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(MachineGun, m_model, Model, MDL_MACHINEGUN_ITEM);
#endif
/* crosshair */ ATTRIB(MachineGun, w_crosshair, string, "gfx/crosshairuzi");
/* rating */ ATTRIB(MineLayer, bot_pickupbasevalue, float, BOT_PICKUP_RATING_HIGH);
/* color */ ATTRIB(MineLayer, wpcolor, vector, '0.75 1 0');
/* modelname */ ATTRIB(MineLayer, mdl, string, "minelayer");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(MineLayer, m_model, Model, MDL_MINELAYER_ITEM);
#endif
/* crosshair */ ATTRIB(MineLayer, w_crosshair, string, "gfx/crosshairminelayer");
/* rating */ ATTRIB(Mortar, bot_pickupbasevalue, float, BOT_PICKUP_RATING_MID);
/* color */ ATTRIB(Mortar, wpcolor, vector, '1 0 0');
/* modelname */ ATTRIB(Mortar, mdl, string, "gl");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Mortar, m_model, Model, MDL_MORTAR_ITEM);
#endif
/* crosshair */ ATTRIB(Mortar, w_crosshair, string, "gfx/crosshairgrenadelauncher");
/* rating */ ATTRIB(PortoLaunch, bot_pickupbasevalue, float, 0);
/* color */ ATTRIB(PortoLaunch, wpcolor, vector, '0.5 0.5 0.5');
/* modelname */ ATTRIB(PortoLaunch, mdl, string, "porto");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(PortoLaunch, m_model, Model, MDL_PORTO_ITEM);
#endif
/* crosshair */ ATTRIB(PortoLaunch, w_crosshair, string, "gfx/crosshairporto");
/* rating */ ATTRIB(Rifle, bot_pickupbasevalue, float, BOT_PICKUP_RATING_MID);
/* color */ ATTRIB(Rifle, wpcolor, vector, '0.5 1 0');
/* modelname */ ATTRIB(Rifle, mdl, string, "campingrifle");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Rifle, m_model, Model, MDL_RIFLE_ITEM);
#endif
/* crosshair */ ATTRIB(Rifle, w_crosshair, string, "gfx/crosshairrifle");
/* rating */ ATTRIB(Seeker, bot_pickupbasevalue, float, BOT_PICKUP_RATING_HIGH);
/* color */ ATTRIB(Seeker, wpcolor, vector, '0.5 1 0');
/* modelname */ ATTRIB(Seeker, mdl, string, "seeker");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Seeker, m_model, Model, MDL_SEEKER_ITEM);
#endif
/* crosshair */ ATTRIB(Seeker, w_crosshair, string, "gfx/crosshairseeker");
/* rating */ ATTRIB(Shockwave, bot_pickupbasevalue, float, BOT_PICKUP_RATING_LOW);
/* color */ ATTRIB(Shockwave, wpcolor, vector, '0.5 0.25 0');
/* modelname */ ATTRIB(Shockwave, mdl, string, "shotgun");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Shockwave, m_model, Model, MDL_SHOCKWAVE_ITEM);
#endif
/* crosshair */ ATTRIB(Shockwave, w_crosshair, string, "gfx/crosshairshotgun");
/* rating */ ATTRIB(Shotgun, bot_pickupbasevalue, float, BOT_PICKUP_RATING_LOW);
/* color */ ATTRIB(Shotgun, wpcolor, vector, '0.5 0.25 0');
/* modelname */ ATTRIB(Shotgun, mdl, string, "shotgun");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Shotgun, m_model, Model, MDL_SHOTGUN_ITEM);
#endif
/* crosshair */ ATTRIB(Shotgun, w_crosshair, string, "gfx/crosshairshotgun");
/* rating */ ATTRIB(Tuba, bot_pickupbasevalue, float, BOT_PICKUP_RATING_MID);
/* color */ ATTRIB(Tuba, wpcolor, vector, '0 1 0');
/* modelname */ ATTRIB(Tuba, mdl, string, "tuba");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Tuba, m_model, Model, MDL_TUBA_ITEM);
#endif
/* crosshair */ ATTRIB(Tuba, w_crosshair, string, "gfx/crosshairtuba");
/* rating */ ATTRIB(Vaporizer, bot_pickupbasevalue, float, BOT_PICKUP_RATING_HIGH);
/* color */ ATTRIB(Vaporizer, wpcolor, vector, '0.5 1 1');
/* modelname */ ATTRIB(Vaporizer, mdl, string, "minstanex");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Vaporizer, m_model, Model, MDL_VAPORIZER_ITEM);
#endif
/* crosshair */ ATTRIB(Vaporizer, w_crosshair, string, "gfx/crosshairminstanex");
/* rating */ ATTRIB(Vortex, bot_pickupbasevalue, float, BOT_PICKUP_RATING_HIGH);
/* color */ ATTRIB(Vortex, wpcolor, vector, '0.5 1 1');
/* modelname */ ATTRIB(Vortex, mdl, string, "nex");
-#ifndef MENUQC
+#ifdef GAMEQC
/* model */ ATTRIB(Vortex, m_model, Model, MDL_VORTEX_ITEM);
#endif
/* crosshair */ ATTRIB(Vortex, w_crosshair, string, "gfx/crosshairnex");
#endif
#undef ENGINE_EVENT
-#ifndef MENUQC
+#ifdef GAMEQC
#include <ecs/_mod.qh>
#endif
#pragma once
-#ifndef MENUQC
+#ifdef GAMEQC
#include "oo.qh"
#include "self.qh"
.entity _FOREACH_ENTITY_FIND_flags_next; noref string _FOREACH_ENTITY_FIND_flags_mutex;
#define FOREACH_ENTITY_FLAGS_UNORDERED(fld, match, body) _FOREACH_ENTITY_FIND_UNORDERED(, flags, fld, match, true, body)
-#ifndef MENUQC
+#ifdef GAMEQC
entity(vector org, float rad, .entity tofield) _findchainradius_tofield = #22;
#define FOREACH_ENTITY_RADIUS(org, dist, cond, body) ORDERED(FOREACH_ENTITY_RADIUS)(org, dist, cond, body)
.entity _FOREACH_ENTITY_FIND_radius_next; noref string _FOREACH_ENTITY_FIND_radius_mutex;
#define Read_string() ReadString()
#define Write_string(to, f) WriteString(to, f)
-#ifndef MENUQC
+#ifdef GAMEQC
const float APPROXPASTTIME_ACCURACY_REQUIREMENT = 0.05;
#define APPROXPASTTIME_MAX (16384 * APPROXPASTTIME_ACCURACY_REQUIREMENT)
#define APPROXPASTTIME_RANGE (64 * APPROXPASTTIME_ACCURACY_REQUIREMENT)
#pragma once
-#ifndef MENUQC
+#ifdef GAMEQC
/**
* Replicate a client cvar into a server field
#define setthink(e, f) SELFWRAP_SET(think, e, f)
#define getthink(e) SELFWRAP_GET(think, e)
-#ifndef MENUQC
+#ifdef GAMEQC
SELFWRAP(touch, void, (), (entity this, entity toucher), (this, other))
#define settouch(e, f) SELFWRAP_SET(touch, e, f)
#define gettouch(e) SELFWRAP_GET(touch, e)
#endif
-#ifndef MENUQC
+#ifdef GAMEQC
SELFWRAP(blocked, void, (), (entity this, entity blocker), (this, other))
#define setblocked(e, f) SELFWRAP_SET(blocked, e, f)
#define blocked stopusingthis
SELFWRAP(predraw, void, (), (entity this), (this))
#define setpredraw(e, f) SELFWRAP_SET(predraw, e, f)
-#ifndef MENUQC
+#ifdef GAMEQC
SELFWRAP(customizeentityforclient, bool, (), (entity this, entity client), (this, other))
#define setcefc(e, f) SELFWRAP_SET(customizeentityforclient, e, f)
#define getcefc(e) SELFWRAP_GET(customizeentityforclient, e)
#define movetogoal(e, ...) (__self = (e), builtin_movetogoal(__VA_ARGS__))
#define walkmove(e, ...) (__self = (e), builtin_walkmove(__VA_ARGS__))
-#ifndef MENUQC
+#ifdef GAMEQC
void adaptor_think2use(entity this) { if (this.use) this.use(this, NULL, NULL); }
#endif
#define ClipVelocity(in, normal, out, overbounce) \
(out = vec_epsilon(vec_reflect(in, normal, (overbounce) - 1), 0.1))
-#ifndef MENUQC
+#ifdef GAMEQC
vector get_corner_position(entity box, int corner)
{
switch (corner)
IN=$3
case ${MODE} in
- client) PROG=CSQC
+ client) DEFS="-DGAMEQC -DCSQC"
;;
- menu) PROG=MENUQC
+ menu) DEFS="-DMENUQC"
;;
- server) PROG=SVQC
+ server) DEFS="-DGAMEQC -DSVQC"
;;
esac
- qpp ${IN} ${OUT} -I. ${QCCIDENT} ${QCCDEFS} -D${PROG} > ${WORKDIR}/${MODE}.qc
+ qpp ${IN} ${OUT} -I. ${QCCIDENT} ${QCCDEFS} ${DEFS} > ${WORKDIR}/${MODE}.qc
qcc ${QCCFLAGS} -o ${OUT} ../${WORKDIR}/${MODE}.qc
}