#include "../client/mutators/events.qh"
#include "mapinfo.qh"
#include "notifications.qh"
- #include "deathtypes/all.qh"
+ #include <common/deathtypes/all.qh>
#elif defined(MENUQC)
#elif defined(SVQC)
#include "constants.qh"
#include "../server/defs.qh"
#include "../server/mutators/events.qh"
#include "notifications.qh"
- #include "deathtypes/all.qh"
+ #include <common/deathtypes/all.qh>
#include "mapinfo.qh"
#endif
+#ifndef MENUQC
+/*
+* Get "real" origin, in worldspace, even if ent is attached to something else.
+*/
+vector real_origin(entity ent)
+{
+ entity e;
+ vector v = ((ent.absmin + ent.absmax) * 0.5);
+
+ e = ent.tag_entity;
+ while(e)
+ {
+ v = v + ((e.absmin + e.absmax) * 0.5);
+ e = e.tag_entity;
+ }
+
+ return v;
+}
+#endif
+
string wordwrap_buffer;
void wordwrap_buffer_put(string s)
float cvar_settemp(string tmp_cvar, string tmp_value)
{
float created_saved_value;
- entity e;
created_saved_value = 0;
return 0;
}
- for(e = world; (e = find(e, classname, "saved_cvar_value")); )
- if(e.netname == tmp_cvar)
- created_saved_value = -1; // skip creation
+ FOREACH_ENTITY_CLASS("saved_cvar_value", it.netname == tmp_cvar,
+ {
+ created_saved_value = -1; // skip creation
+ break; // no need to continue
+ });
if(created_saved_value != -1)
{
// creating a new entity to keep track of this cvar
- e = new(saved_cvar_value);
+ entity e = new(saved_cvar_value);
make_pure(e);
e.netname = strzone(tmp_cvar);
e.message = strzone(cvar_string(tmp_cvar));
return created_saved_value;
}
-float cvar_settemp_restore()
+int cvar_settemp_restore()
{
- float i = 0;
+ int j = 0;
+ // FIXME this new-style loop fails!
+#if 0
+ FOREACH_ENTITY_CLASS("saved_cvar_value", true,
+ {
+ if(cvar_type(it.netname))
+ {
+ cvar_set(it.netname, it.message);
+ strunzone(it.netname);
+ strunzone(it.message);
+ remove(it);
+ ++j;
+ }
+ else
+ LOG_INFOF("Error: cvar %s doesn't exist anymore! It can still be restored once it's manually recreated.\n", it.netname);
+ });
+
+#else
entity e = world;
while((e = find(e, classname, "saved_cvar_value")))
{
{
cvar_set(e.netname, e.message);
remove(e);
- ++i;
+ ++j;
}
else
- LOG_INFOF("Error: cvar %s doesn't exist anymore! It can still be restored once it's manually recreated.\n", e.netname);
+ print(sprintf("Error: cvar %s doesn't exist anymore! It can still be restored once it's manually recreated.\n", e.netname));
}
+#endif
- return i;
+ return j;
}
float textLengthUpToWidth(string theText, float maxWidth, vector theSize, textLengthUpToWidth_widthFunction_t w)
{
shutdown_running = 1;
Shutdown();
+ shutdownhooks();
}
cvar_settemp_restore(); // this must be done LAST, but in any case
}
// multi-frame anim: keep as-is
if(a.y == 1)
{
- float dur;
- dur = frameduration(e.modelindex, a.x);
- if(dur <= 0 && b.y)
+ float dur = frameduration(e.modelindex, a.x);
+ if (dur <= 0 && b.y)
{
a = b;
dur = frameduration(e.modelindex, a.x);
}
- if(dur > 0)
+ if (dur > 0)
a.z = 1.0 / dur;
}
return a;