<commit_before>/*
===========================================================================

Daemon GPL Source Code
Copyright (C) 2011 <NAME> <<EMAIL>>

Daemon is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

Daemon is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

===========================================================================
*/

#include "../qcommon/q_shared.h"
#include "../qcommon/vm_traps.h"
#include "../qcommon/vm_traps.h"

#define GAME_API_VERSION          9

#define SVF_NOCLIENT              0x00000001
#define SVF_CLIENTMASK            0x00000002
#define SVF_VISDUMMY              0x00000004
#define SVF_BOT                   0x00000008
#define SVF_POW                   0x00000010 // ignored by the engine
#define SVF_BROADCAST             0x00000020
#define SVF_PORTAL                0x00000040
#define SVF_BLANK                 0x00000080 // ignored by the engine
#define SVF_NOFOOTSTEPS           0x00000100 // ignored by the engine
#define SVF_CAPSULE               0x00000200
#define SVF_VISDUMMY_MULTIPLE     0x00000400
#define SVF_SINGLECLIENT          0x00000800
#define SVF_NOSERVERINFO          0x00001000 // only meaningful for entities numbered in [0..MAX_CLIENTS)
#define SVF_NOTSINGLECLIENT       0x00002000
#define SVF_IGNOREBMODELEXTENTS   0x00004000
#define SVF_SELF_PORTAL           0x00008000
#define SVF_SELF_PORTAL_EXCLUSIVE 0x00010000
#define SVF_RIGID_BODY            0x00020000 // ignored by the engine

typedef struct
{
	qboolean linked; // qfalse if not in any good cluster
	int      linkcount;

	int      svFlags; // SVF_NOCLIENT, SVF_BROADCAST, etc.
	int      singleClient; // only send to this client when SVF_SINGLECLIENT is set
	int      hiMask, loMask; // if SVF_CLIENTMASK is set, then only send to the
	//  clients specified by the following 64-bit bitmask:
	//  hiMask: high-order bits (32..63)
	//  loMask: low-order bits (0..31)

	qboolean bmodel; // if false, assume an explicit mins/maxs bounding box
	// only set by trap_SetBrushModel
	vec3_t   mins, maxs;
	int      contents; // CONTENTS_TRIGGER, CONTENTS_SOLID, CONTENTS_BODY, etc.
	// a non-solid entity should have this set to 0

	vec3_t absmin, absmax; // derived from mins/maxs and origin + rotation

	// currentOrigin will be used for all collision detection and world linking.
	// it will not necessarily be the same as the trajectory evaluation for the current
	// time, because each entity must be moved one at a time after time is advanced
	// to avoid simultanious collision issues
	vec3_t currentOrigin;
	vec3_t currentAngles;

	// Creation time, for entities which need it
	int    startTime;

	// when a trace call is made and the specified pass entity isn't none,
	//  then a given entity will be excluded from testing if:
	// - the given entity is the pass entity (use case: don't interact with self),
	// - the owner of the given entity is the pass entity (use case: don't interact with your own missiles), or
	// - the given entity and the pass entity have the same owner entity (that is not none)
	//    (use case: don't interact with other missiles from owner).
	// that is, ent will be excluded if
	// ( passEntityNum != ENTITYNUM_NONE &&
	//   ( ent->s.number == passEntityNum || ent->r.ownerNum == passEntityNum ||
	//     ( ent->r.ownerNum != ENTITYNUM_NONE && ent->r.ownerNum == entities[passEntityNum].r.ownerNum ) ) )
	int      ownerNum;
	int      eventTime;
<commit_msg>replace entityShared_t::startTime with gentity_t::startTime [note: this changes the game module ABI]<commit_after>/*
===========================================================================

Daemon GPL Source Code
Copyright (C) 2011 <NAME> <<EMAIL>>

Daemon is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

Daemon is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

===========================================================================
*/

#include "../qcommon/q_shared.h"
#include "../qcommon/vm_traps.h"
#include "../qcommon/vm_traps.h"

#define GAME_API_VERSION          9

#define SVF_NOCLIENT              0x00000001
#define SVF_CLIENTMASK            0x00000002
#define SVF_VISDUMMY              0x00000004
#define SVF_BOT                   0x00000008
#define SVF_POW                   0x00000010 // ignored by the engine
#define SVF_BROADCAST             0x00000020
#define SVF_PORTAL                0x00000040
#define SVF_BLANK                 0x00000080 // ignored by the engine
#define SVF_NOFOOTSTEPS           0x00000100 // ignored by the engine
#define SVF_CAPSULE               0x00000200
#define SVF_VISDUMMY_MULTIPLE     0x00000400
#define SVF_SINGLECLIENT          0x00000800
#define SVF_NOSERVERINFO          0x00001000 // only meaningful for entities numbered in [0..MAX_CLIENTS)
#define SVF_NOTSINGLECLIENT       0x00002000
#define SVF_IGNOREBMODELEXTENTS   0x00004000
#define SVF_SELF_PORTAL           0x00008000
#define SVF_SELF_PORTAL_EXCLUSIVE 0x00010000
#define SVF_RIGID_BODY            0x00020000 // ignored by the engine

typedef struct
{
	qboolean linked; // qfalse if not in any good cluster
	int      linkcount;

	int      svFlags; // SVF_NOCLIENT, SVF_BROADCAST, etc.
	int      singleClient; // only send to this client when SVF_SINGLECLIENT is set
	int      hiMask, loMask; // if SVF_CLIENTMASK is set, then only send to the
	//  clients specified by the following 64-bit bitmask:
	//  hiMask: high-order bits (32..63)
	//  loMask: low-order bits (0..31)

	qboolean bmodel; // if false, assume an explicit mins/maxs bounding box
	// only set by trap_SetBrushModel
	vec3_t   mins, maxs;
	int      contents; // CONTENTS_TRIGGER, CONTENTS_SOLID, CONTENTS_BODY, etc.
	// a non-solid entity should have this set to 0

	vec3_t absmin, absmax; // derived from mins/maxs and origin + rotation

	// currentOrigin will be used for all collision detection and world linking.
	// it will not necessarily be the same as the trajectory evaluation for the current
	// time, because each entity must be moved one at a time after time is advanced
	// to avoid simultanious collision issues
	vec3_t currentOrigin;
	vec3_t currentAngles;

	// when a trace call is made and the specified pass entity isn't none,
	//  then a given entity will be excluded from testing if:
	// - the given entity is the pass entity (use case: don't interact with self),
	// - the owner of the given entity is the pass entity (use case: don't interact with your own missiles), or
	// - the given entity and the pass entity have the same owner entity (that is not none)
	//    (use case: don't interact with other missiles from owner).
	// that is, ent will be excluded if
	// ( passEntityNum != ENTITYNUM_NONE &&
	//   ( ent->s.number == passEntityNum || ent->r.ownerNum == passEntityNum ||
	//     ( ent->r.ownerNum != ENTITYNUM_NONE && ent->r.ownerNum == entities[passEntityNum].r.ownerNum ) ) )
	int      ownerNum;
	int      eventTime;

{'fraction_non_alphanumeric': 0.10535052994509003, 'fraction_numerical': 0.046737326012003574, 'mean_word_length': 3.226659471127901, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 8, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5906637', 'n_tokens_mistral': 2582, 'n_tokens_neox': 2258, 'n_words': 899}