2021-01-15 08:26:54 +00:00
|
|
|
# pylint: skip-file
|
|
|
|
# See https://github.com/ddnet/ddnet/issues/3507
|
|
|
|
|
2022-02-12 21:41:16 +00:00
|
|
|
from datatypes import Enum, Flags, NetArray, NetBool, NetEvent, NetIntAny, NetIntRange, NetMessage, NetMessageEx, NetObject, NetObjectEx, NetString, NetStringHalfStrict, NetStringStrict, NetTick
|
2008-04-27 05:59:38 +00:00
|
|
|
|
|
|
|
Emotes = ["NORMAL", "PAIN", "HAPPY", "SURPRISE", "ANGRY", "BLINK"]
|
2019-07-29 11:46:24 +00:00
|
|
|
PlayerFlags = ["PLAYING", "IN_MENU", "CHATTING", "SCOREBOARD", "AIM"]
|
2008-08-31 14:37:35 +00:00
|
|
|
GameFlags = ["TEAMS", "FLAGS"]
|
2017-01-04 13:14:10 +00:00
|
|
|
GameStateFlags = ["GAMEOVER", "SUDDENDEATH", "PAUSED", "RACETIME"]
|
2022-07-08 13:31:58 +00:00
|
|
|
CharacterFlags = ["SOLO", "JETPACK", "COLLISION_DISABLED", "ENDLESS_HOOK", "ENDLESS_JUMP", "SUPER",
|
|
|
|
"HAMMER_HIT_DISABLED", "SHOTGUN_HIT_DISABLED", "GRENADE_HIT_DISABLED", "LASER_HIT_DISABLED", "HOOK_HIT_DISABLED",
|
2019-06-13 22:24:50 +00:00
|
|
|
"TELEGUN_GUN", "TELEGUN_GRENADE", "TELEGUN_LASER",
|
2022-06-10 21:54:42 +00:00
|
|
|
"WEAPON_HAMMER", "WEAPON_GUN", "WEAPON_SHOTGUN", "WEAPON_GRENADE", "WEAPON_LASER", "WEAPON_NINJA",
|
2024-05-02 11:15:52 +00:00
|
|
|
"MOVEMENTS_DISABLED", "IN_FREEZE", "PRACTICE_MODE", "LOCK_MODE", "TEAM0_MODE"]
|
2019-06-13 22:24:50 +00:00
|
|
|
GameInfoFlags = [
|
|
|
|
"TIMESCORE", "GAMETYPE_RACE", "GAMETYPE_FASTCAP", "GAMETYPE_FNG",
|
|
|
|
"GAMETYPE_DDRACE", "GAMETYPE_DDNET", "GAMETYPE_BLOCK_WORLDS",
|
|
|
|
"GAMETYPE_VANILLA", "GAMETYPE_PLUS", "FLAG_STARTS_RACE", "RACE",
|
|
|
|
"UNLIMITED_AMMO", "DDRACE_RECORD_MESSAGE", "RACE_RECORD_MESSAGE",
|
|
|
|
"ALLOW_EYE_WHEEL", "ALLOW_HOOK_COLL", "ALLOW_ZOOM", "BUG_DDRACE_GHOST",
|
|
|
|
"BUG_DDRACE_INPUT", "BUG_FNG_LASER_RANGE", "BUG_VANILLA_BOUNCE",
|
|
|
|
"PREDICT_FNG", "PREDICT_DDRACE", "PREDICT_DDRACE_TILES", "PREDICT_VANILLA",
|
|
|
|
"ENTITIES_DDNET", "ENTITIES_DDRACE", "ENTITIES_RACE", "ENTITIES_FNG",
|
2020-09-24 09:38:27 +00:00
|
|
|
"ENTITIES_VANILLA", "DONT_MASK_ENTITIES", "ENTITIES_BW"
|
|
|
|
# Full, use GameInfoFlags2 for more flags
|
|
|
|
]
|
|
|
|
GameInfoFlags2 = [
|
2022-06-15 19:10:51 +00:00
|
|
|
"ALLOW_X_SKINS", "GAMETYPE_CITY", "GAMETYPE_FDDRACE", "ENTITIES_FDDRACE", "HUD_HEALTH_ARMOR", "HUD_AMMO",
|
2023-09-05 00:02:13 +00:00
|
|
|
"HUD_DDRACE", "NO_WEAK_HOOK", "NO_SKIN_CHANGE_FOR_FROZEN"
|
2019-06-13 22:24:50 +00:00
|
|
|
]
|
2019-08-02 16:16:58 +00:00
|
|
|
ExPlayerFlags = ["AFK", "PAUSED", "SPEC"]
|
2023-05-04 21:34:57 +00:00
|
|
|
LegacyProjectileFlags = [f"CLIENTID_BIT{i}" for i in range(8)] + [
|
2021-01-17 16:18:08 +00:00
|
|
|
"NO_OWNER", "IS_DDNET", "BOUNCE_HORIZONTAL", "BOUNCE_VERTICAL",
|
|
|
|
"EXPLOSIVE", "FREEZE",
|
|
|
|
]
|
2023-05-04 21:34:57 +00:00
|
|
|
ProjectileFlags = [
|
|
|
|
"BOUNCE_HORIZONTAL", "BOUNCE_VERTICAL", "EXPLOSIVE", "FREEZE", "NORMALIZE_VEL",
|
|
|
|
]
|
2023-09-19 21:22:15 +00:00
|
|
|
LaserFlags = [
|
|
|
|
"NO_PREDICT",
|
|
|
|
]
|
2008-04-27 05:59:38 +00:00
|
|
|
|
2023-05-04 21:34:57 +00:00
|
|
|
LaserTypes = ["RIFLE", "SHOTGUN", "DOOR", "FREEZE", "DRAGGER", "GUN", "PLASMA"]
|
|
|
|
DraggerTypes = ["WEAK", "WEAK_NW", "NORMAL", "NORMAL_NW", "STRONG", "STRONG_NW"]
|
|
|
|
GunTypes = ["UNFREEZE", "EXPLOSIVE", "FREEZE", "EXPFREEZE"]
|
2022-09-14 22:57:39 +00:00
|
|
|
|
2011-04-12 17:23:20 +00:00
|
|
|
Emoticons = ["OOP", "EXCLAMATION", "HEARTS", "DROP", "DOTDOT", "MUSIC", "SORRY", "GHOST", "SUSHI", "SPLATTEE", "DEVILTEE", "ZOMG", "ZZZ", "WTF", "EYES", "QUESTION"]
|
2008-06-12 10:51:48 +00:00
|
|
|
|
2022-02-17 23:51:02 +00:00
|
|
|
Powerups = ["HEALTH", "ARMOR", "WEAPON", "NINJA", "ARMOR_SHOTGUN", "ARMOR_GRENADE", "ARMOR_NINJA", "ARMOR_LASER"]
|
2019-05-14 13:21:58 +00:00
|
|
|
Authed = ["NO", "HELPER", "MOD", "ADMIN"]
|
2021-10-14 20:59:39 +00:00
|
|
|
EntityClasses = ["PROJECTILE", "DOOR", "DRAGGER_WEAK", "DRAGGER_NORMAL", "DRAGGER_STRONG", "GUN_NORMAL", "GUN_EXPLOSIVE", "GUN_FREEZE", "GUN_UNFREEZE", "LIGHT", "PICKUP"]
|
2008-06-12 10:51:48 +00:00
|
|
|
|
|
|
|
RawHeader = '''
|
2018-01-11 15:01:13 +00:00
|
|
|
#include <engine/shared/teehistorian_ex.h>
|
2010-05-29 07:25:38 +00:00
|
|
|
|
2008-06-12 10:51:48 +00:00
|
|
|
enum
|
|
|
|
{
|
2011-01-03 11:50:38 +00:00
|
|
|
INPUT_STATE_MASK=0x3f
|
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
TEAM_SPECTATORS=-1,
|
|
|
|
TEAM_RED,
|
2011-03-04 16:08:10 +00:00
|
|
|
TEAM_BLUE,
|
|
|
|
|
2011-03-10 09:14:41 +00:00
|
|
|
FLAG_MISSING=-3,
|
|
|
|
FLAG_ATSTAND,
|
2011-03-04 16:08:10 +00:00
|
|
|
FLAG_TAKEN,
|
2011-03-10 09:08:14 +00:00
|
|
|
|
|
|
|
SPEC_FREEVIEW=-1,
|
2015-07-26 17:21:53 +00:00
|
|
|
SPEC_FOLLOW=-2,
|
2008-06-12 10:51:48 +00:00
|
|
|
};
|
2019-06-03 19:52:14 +00:00
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
2023-09-05 00:02:13 +00:00
|
|
|
GAMEINFO_CURVERSION=9,
|
2019-06-03 19:52:14 +00:00
|
|
|
};
|
2008-06-12 10:51:48 +00:00
|
|
|
'''
|
|
|
|
|
|
|
|
Enums = [
|
|
|
|
Enum("EMOTE", Emotes),
|
|
|
|
Enum("POWERUP", Powerups),
|
2019-05-14 13:21:58 +00:00
|
|
|
Enum("EMOTICON", Emoticons),
|
|
|
|
Enum("AUTHED", Authed),
|
2021-08-30 22:05:56 +00:00
|
|
|
Enum("ENTITYCLASS", EntityClasses),
|
2022-09-14 22:57:39 +00:00
|
|
|
Enum("LASERTYPE", LaserTypes),
|
2023-05-04 21:34:57 +00:00
|
|
|
Enum("LASERDRAGGERTYPE", DraggerTypes),
|
|
|
|
Enum("LASERGUNTYPE", GunTypes),
|
2008-06-12 10:51:48 +00:00
|
|
|
]
|
2008-04-27 05:59:38 +00:00
|
|
|
|
2008-08-27 15:51:09 +00:00
|
|
|
Flags = [
|
2011-03-04 16:08:10 +00:00
|
|
|
Flags("PLAYERFLAG", PlayerFlags),
|
|
|
|
Flags("GAMEFLAG", GameFlags),
|
2019-04-17 21:47:32 +00:00
|
|
|
Flags("GAMESTATEFLAG", GameStateFlags),
|
2019-04-18 11:56:32 +00:00
|
|
|
Flags("CHARACTERFLAG", CharacterFlags),
|
2019-05-21 08:11:02 +00:00
|
|
|
Flags("GAMEINFOFLAG", GameInfoFlags),
|
2020-09-24 09:38:27 +00:00
|
|
|
Flags("GAMEINFOFLAG2", GameInfoFlags2),
|
2019-07-29 11:46:24 +00:00
|
|
|
Flags("EXPLAYERFLAG", ExPlayerFlags),
|
2023-05-04 21:34:57 +00:00
|
|
|
Flags("LEGACYPROJECTILEFLAG", LegacyProjectileFlags),
|
2021-01-17 16:18:08 +00:00
|
|
|
Flags("PROJECTILEFLAG", ProjectileFlags),
|
2023-09-19 21:22:15 +00:00
|
|
|
Flags("LASERFLAG", LaserFlags),
|
2008-08-27 15:51:09 +00:00
|
|
|
]
|
|
|
|
|
2008-04-27 05:59:38 +00:00
|
|
|
Objects = [
|
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetObject("PlayerInput", [
|
|
|
|
NetIntAny("m_Direction"),
|
|
|
|
NetIntAny("m_TargetX"),
|
|
|
|
NetIntAny("m_TargetY"),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_Jump"),
|
|
|
|
NetIntAny("m_Fire"),
|
|
|
|
NetIntAny("m_Hook"),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2011-03-01 17:31:20 +00:00
|
|
|
NetIntRange("m_PlayerFlags", 0, 256),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_WantedWeapon"),
|
|
|
|
NetIntAny("m_NextWeapon"),
|
|
|
|
NetIntAny("m_PrevWeapon"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2008-04-27 05:59:38 +00:00
|
|
|
NetObject("Projectile", [
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
|
|
|
NetIntAny("m_VelX"),
|
|
|
|
NetIntAny("m_VelY"),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntRange("m_Type", 0, 'NUM_WEAPONS-1'),
|
|
|
|
NetTick("m_StartTick"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
|
|
|
NetObject("Laser", [
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
|
|
|
NetIntAny("m_FromX"),
|
|
|
|
NetIntAny("m_FromY"),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetTick("m_StartTick"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
|
|
|
NetObject("Pickup", [
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntRange("m_Type", 0, 'max_int'),
|
|
|
|
NetIntRange("m_Subtype", 0, 'max_int'),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
|
|
|
NetObject("Flag", [
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2011-03-04 16:08:10 +00:00
|
|
|
NetIntRange("m_Team", 'TEAM_RED', 'TEAM_BLUE')
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
2011-03-04 16:08:10 +00:00
|
|
|
NetObject("GameInfo", [
|
|
|
|
NetIntRange("m_GameFlags", 0, 256),
|
|
|
|
NetIntRange("m_GameStateFlags", 0, 256),
|
2010-05-29 07:25:38 +00:00
|
|
|
NetTick("m_RoundStartTick"),
|
2017-01-04 13:14:10 +00:00
|
|
|
NetIntRange("m_WarmupTimer", 'min_int', 'max_int'),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntRange("m_ScoreLimit", 0, 'max_int'),
|
|
|
|
NetIntRange("m_TimeLimit", 0, 'max_int'),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntRange("m_RoundNum", 0, 'max_int'),
|
|
|
|
NetIntRange("m_RoundCurrent", 0, 'max_int'),
|
2011-03-04 16:08:10 +00:00
|
|
|
]),
|
2008-04-27 05:59:38 +00:00
|
|
|
|
2011-03-04 16:08:10 +00:00
|
|
|
NetObject("GameData", [
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_TeamscoreRed"),
|
|
|
|
NetIntAny("m_TeamscoreBlue"),
|
2011-03-04 16:08:10 +00:00
|
|
|
|
2011-03-10 09:14:41 +00:00
|
|
|
NetIntRange("m_FlagCarrierRed", 'FLAG_MISSING', 'MAX_CLIENTS-1'),
|
|
|
|
NetIntRange("m_FlagCarrierBlue", 'FLAG_MISSING', 'MAX_CLIENTS-1'),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetObject("CharacterCore", [
|
|
|
|
NetIntAny("m_Tick"),
|
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
|
|
|
NetIntAny("m_VelX"),
|
|
|
|
NetIntAny("m_VelY"),
|
2008-04-27 05:59:38 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_Angle"),
|
|
|
|
NetIntRange("m_Direction", -1, 1),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntRange("m_Jumped", 0, 3),
|
2020-08-11 20:49:16 +00:00
|
|
|
NetIntRange("m_HookedPlayer", -1, 'MAX_CLIENTS-1'),
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntRange("m_HookState", -1, 5),
|
2024-04-13 15:02:18 +00:00
|
|
|
NetIntAny("m_HookTick"),
|
2010-05-29 07:25:38 +00:00
|
|
|
|
|
|
|
NetIntAny("m_HookX"),
|
|
|
|
NetIntAny("m_HookY"),
|
|
|
|
NetIntAny("m_HookDx"),
|
|
|
|
NetIntAny("m_HookDy"),
|
|
|
|
]),
|
|
|
|
|
|
|
|
NetObject("Character:CharacterCore", [
|
2011-03-01 17:31:20 +00:00
|
|
|
NetIntRange("m_PlayerFlags", 0, 256),
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntRange("m_Health", 0, 10),
|
|
|
|
NetIntRange("m_Armor", 0, 10),
|
|
|
|
NetIntRange("m_AmmoCount", 0, 10),
|
|
|
|
NetIntRange("m_Weapon", 0, 'NUM_WEAPONS-1'),
|
|
|
|
NetIntRange("m_Emote", 0, len(Emotes)),
|
2019-04-12 14:32:50 +00:00
|
|
|
NetIntRange("m_AttackTick", 0, 'max_int'),
|
2008-06-12 10:51:48 +00:00
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetObject("PlayerInfo", [
|
|
|
|
NetIntRange("m_Local", 0, 1),
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_ClientId", 0, 'MAX_CLIENTS-1'),
|
2011-01-03 11:50:38 +00:00
|
|
|
NetIntRange("m_Team", 'TEAM_SPECTATORS', 'TEAM_BLUE'),
|
2008-09-23 07:43:41 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_Score"),
|
|
|
|
NetIntAny("m_Latency"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
2008-10-08 20:47:56 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetObject("ClientInfo", [
|
2018-02-04 15:00:47 +00:00
|
|
|
# 4*4 = 16 characters
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_Name0"), NetIntAny("m_Name1"), NetIntAny("m_Name2"),
|
2011-03-15 10:23:49 +00:00
|
|
|
NetIntAny("m_Name3"),
|
|
|
|
|
2018-02-04 15:00:47 +00:00
|
|
|
# 4*3 = 12 characters
|
2011-03-15 10:23:49 +00:00
|
|
|
NetIntAny("m_Clan0"), NetIntAny("m_Clan1"), NetIntAny("m_Clan2"),
|
|
|
|
|
|
|
|
NetIntAny("m_Country"),
|
2008-10-08 20:47:56 +00:00
|
|
|
|
2018-02-04 15:00:47 +00:00
|
|
|
# 4*6 = 24 characters
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_Skin0"), NetIntAny("m_Skin1"), NetIntAny("m_Skin2"),
|
|
|
|
NetIntAny("m_Skin3"), NetIntAny("m_Skin4"), NetIntAny("m_Skin5"),
|
2008-10-08 20:47:56 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntRange("m_UseCustomColor", 0, 1),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_ColorBody"),
|
|
|
|
NetIntAny("m_ColorFeet"),
|
2008-10-08 20:47:56 +00:00
|
|
|
]),
|
2011-03-10 09:08:14 +00:00
|
|
|
|
|
|
|
NetObject("SpectatorInfo", [
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_SpectatorId", 'SPEC_FREEVIEW', 'MAX_CLIENTS-1'),
|
2011-03-10 09:08:14 +00:00
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2017-05-21 23:07:13 +00:00
|
|
|
NetObjectEx("MyOwnObject", "my-own-object@heinrich5991.de", [
|
|
|
|
NetIntAny("m_Test"),
|
|
|
|
]),
|
|
|
|
|
2019-04-17 21:47:32 +00:00
|
|
|
NetObjectEx("DDNetCharacter", "character@netobj.ddnet.tw", [
|
2022-06-22 21:46:25 +00:00
|
|
|
NetIntAny("m_Flags", 0),
|
|
|
|
NetTick("m_FreezeEnd", 0),
|
2022-05-24 15:26:49 +00:00
|
|
|
NetIntRange("m_Jumps", -1, 255, 2),
|
2022-06-22 21:46:25 +00:00
|
|
|
NetIntAny("m_TeleCheckpoint", -1),
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_StrongWeakId", 0, 'MAX_CLIENTS-1', 0),
|
2022-05-24 15:26:49 +00:00
|
|
|
|
|
|
|
# New data fields for jump display, freeze bar and ninja bar
|
|
|
|
# Default values indicate that these values should not be used
|
|
|
|
NetIntRange("m_JumpedTotal", -1, 255, -1),
|
|
|
|
NetTick("m_NinjaActivationTick", -1),
|
|
|
|
NetTick("m_FreezeStart", -1),
|
2022-05-24 18:00:03 +00:00
|
|
|
# New data fields for improved target accuracy
|
2022-05-24 15:26:49 +00:00
|
|
|
NetIntAny("m_TargetX", 0),
|
|
|
|
NetIntAny("m_TargetY", 0),
|
|
|
|
], validate_size=False),
|
2022-03-27 16:18:53 +00:00
|
|
|
|
2019-05-14 23:03:30 +00:00
|
|
|
NetObjectEx("DDNetPlayer", "player@netobj.ddnet.tw", [
|
|
|
|
NetIntAny("m_Flags"),
|
|
|
|
NetIntRange("m_AuthLevel", "AUTHED_NO", "AUTHED_ADMIN"),
|
|
|
|
]),
|
|
|
|
|
2019-06-03 19:52:14 +00:00
|
|
|
NetObjectEx("GameInfoEx", "gameinfo@netobj.ddnet.tw", [
|
2022-06-22 21:46:25 +00:00
|
|
|
NetIntAny("m_Flags", 0),
|
|
|
|
NetIntAny("m_Version", 0),
|
|
|
|
NetIntAny("m_Flags2", 0),
|
2019-06-13 22:24:50 +00:00
|
|
|
], validate_size=False),
|
2019-05-21 08:11:02 +00:00
|
|
|
|
2021-01-17 16:18:08 +00:00
|
|
|
# The code assumes that this has the same in-memory representation as
|
|
|
|
# the Projectile net object.
|
2023-05-04 21:34:57 +00:00
|
|
|
NetObjectEx("DDRaceProjectile", "projectile@netobj.ddnet.tw", [
|
2021-01-17 16:18:08 +00:00
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
|
|
|
NetIntAny("m_Angle"),
|
|
|
|
NetIntAny("m_Data"),
|
|
|
|
NetIntRange("m_Type", 0, 'NUM_WEAPONS-1'),
|
|
|
|
NetTick("m_StartTick"),
|
|
|
|
]),
|
|
|
|
|
2022-09-14 22:49:40 +00:00
|
|
|
NetObjectEx("DDNetLaser", "laser@netobj.ddnet.tw", [
|
|
|
|
NetIntAny("m_ToX"),
|
|
|
|
NetIntAny("m_ToY"),
|
|
|
|
NetIntAny("m_FromX"),
|
|
|
|
NetIntAny("m_FromY"),
|
|
|
|
NetTick("m_StartTick"),
|
2022-09-26 17:49:17 +00:00
|
|
|
NetIntRange("m_Owner", -1, 'MAX_CLIENTS-1'),
|
2022-09-14 22:49:40 +00:00
|
|
|
NetIntAny("m_Type"),
|
2023-05-04 21:34:57 +00:00
|
|
|
NetIntAny("m_SwitchNumber", -1),
|
|
|
|
NetIntAny("m_Subtype", -1),
|
2023-09-19 21:22:15 +00:00
|
|
|
NetIntAny("m_Flags", 0),
|
2023-05-04 21:34:57 +00:00
|
|
|
]),
|
|
|
|
|
|
|
|
NetObjectEx("DDNetProjectile", "ddnet-projectile@netobj.ddnet.tw", [
|
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
|
|
|
NetIntAny("m_VelX"),
|
|
|
|
NetIntAny("m_VelY"),
|
|
|
|
NetIntRange("m_Type", 0, 'NUM_WEAPONS-1'),
|
|
|
|
NetTick("m_StartTick"),
|
|
|
|
NetIntRange("m_Owner", -1, 'MAX_CLIENTS-1'),
|
|
|
|
NetIntAny("m_SwitchNumber"),
|
|
|
|
NetIntAny("m_TuneZone"),
|
|
|
|
NetIntAny("m_Flags"),
|
|
|
|
]),
|
|
|
|
|
|
|
|
NetObjectEx("DDNetPickup", "pickup@netobj.ddnet.tw", [
|
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
|
|
|
NetIntRange("m_Type", 0, 'max_int'),
|
|
|
|
NetIntRange("m_Subtype", 0, 'max_int'),
|
|
|
|
NetIntAny("m_SwitchNumber"),
|
2022-09-14 22:49:40 +00:00
|
|
|
]),
|
|
|
|
|
2008-04-27 05:59:38 +00:00
|
|
|
## Events
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2008-06-12 10:51:48 +00:00
|
|
|
NetEvent("Common", [
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2008-04-27 05:59:38 +00:00
|
|
|
|
2008-06-12 10:51:48 +00:00
|
|
|
NetEvent("Explosion:Common", []),
|
|
|
|
NetEvent("Spawn:Common", []),
|
2008-10-17 11:23:21 +00:00
|
|
|
NetEvent("HammerHit:Common", []),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2008-06-12 10:51:48 +00:00
|
|
|
NetEvent("Death:Common", [
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_ClientId", 0, 'MAX_CLIENTS-1'),
|
2008-06-12 10:51:48 +00:00
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2011-06-01 17:43:48 +00:00
|
|
|
NetEvent("SoundGlobal:Common", [ #TODO 0.7: remove me
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_SoundId", 0, 'NUM_SOUNDS-1'),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
2008-06-12 10:51:48 +00:00
|
|
|
NetEvent("SoundWorld:Common", [
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_SoundId", 0, 'NUM_SOUNDS-1'),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
2008-06-12 10:51:48 +00:00
|
|
|
NetEvent("DamageInd:Common", [
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntAny("m_Angle"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
2017-05-21 23:07:13 +00:00
|
|
|
|
|
|
|
NetObjectEx("MyOwnEvent", "my-own-event@heinrich5991.de", [
|
|
|
|
NetIntAny("m_Test"),
|
|
|
|
]),
|
2020-06-24 17:01:01 +00:00
|
|
|
|
2020-06-25 12:56:23 +00:00
|
|
|
NetObjectEx("SpecChar", "spec-char@netobj.ddnet.tw", [
|
2020-06-24 17:01:01 +00:00
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
|
|
|
]),
|
2021-08-15 10:53:14 +00:00
|
|
|
|
|
|
|
# Switch state for a player team.
|
|
|
|
NetObjectEx("SwitchState", "switch-state@netobj.ddnet.tw", [
|
2022-06-22 21:46:25 +00:00
|
|
|
NetIntAny("m_HighestSwitchNumber", 0),
|
2021-08-15 10:53:14 +00:00
|
|
|
# 256 switches / 32 bits = 8 int32
|
2022-06-22 21:46:25 +00:00
|
|
|
NetArray(NetIntAny("m_aStatus", 0), 8),
|
2022-05-24 21:53:40 +00:00
|
|
|
# send the endtick of up to 4 timed switchers
|
2022-06-22 21:46:25 +00:00
|
|
|
NetArray(NetIntAny("m_aSwitchNumbers", 0), 4),
|
|
|
|
NetArray(NetIntAny("m_aEndTicks", 0), 4),
|
2022-05-24 21:53:40 +00:00
|
|
|
], validate_size=False),
|
2022-02-13 20:29:36 +00:00
|
|
|
|
2021-08-30 22:05:56 +00:00
|
|
|
# Switch info for map items
|
|
|
|
NetObjectEx("EntityEx", "entity-ex@netobj.ddnet.tw", [
|
|
|
|
NetIntAny("m_SwitchNumber"),
|
|
|
|
NetIntAny("m_Layer"),
|
|
|
|
NetIntAny("m_EntityClass"),
|
|
|
|
]),
|
2008-04-27 05:59:38 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
Messages = [
|
|
|
|
|
|
|
|
### Server messages
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_Motd", [
|
|
|
|
NetString("m_pMessage"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_Broadcast", [
|
|
|
|
NetString("m_pMessage"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_Chat", [
|
2014-01-30 15:49:15 +00:00
|
|
|
NetIntRange("m_Team", -2, 3),
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_ClientId", -1, 'MAX_CLIENTS-1'),
|
2014-01-08 17:21:07 +00:00
|
|
|
NetStringHalfStrict("m_pMessage"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_KillMsg", [
|
|
|
|
NetIntRange("m_Killer", 0, 'MAX_CLIENTS-1'),
|
|
|
|
NetIntRange("m_Victim", 0, 'MAX_CLIENTS-1'),
|
|
|
|
NetIntRange("m_Weapon", -3, 'NUM_WEAPONS-1'),
|
|
|
|
NetIntAny("m_ModeSpecial"),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_SoundGlobal", [
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_SoundId", 0, 'NUM_SOUNDS-1'),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_TuneParams", []),
|
2023-08-15 10:13:29 +00:00
|
|
|
NetMessage("Unused", []),
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_ReadyToEnter", []),
|
2008-04-27 05:59:38 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_WeaponPickup", [
|
|
|
|
NetIntRange("m_Weapon", 0, 'NUM_WEAPONS-1'),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_Emoticon", [
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_ClientId", 0, 'MAX_CLIENTS-1'),
|
2010-05-29 07:25:38 +00:00
|
|
|
NetIntRange("m_Emoticon", 0, 'NUM_EMOTICONS-1'),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
2008-09-24 14:47:03 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_VoteClearOptions", [
|
2008-11-08 12:50:46 +00:00
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2011-03-26 21:06:29 +00:00
|
|
|
NetMessage("Sv_VoteOptionListAdd", [
|
|
|
|
NetIntRange("m_NumOptions", 1, 15),
|
|
|
|
NetStringStrict("m_pDescription0"), NetStringStrict("m_pDescription1"), NetStringStrict("m_pDescription2"),
|
|
|
|
NetStringStrict("m_pDescription3"), NetStringStrict("m_pDescription4"), NetStringStrict("m_pDescription5"),
|
|
|
|
NetStringStrict("m_pDescription6"), NetStringStrict("m_pDescription7"), NetStringStrict("m_pDescription8"),
|
|
|
|
NetStringStrict("m_pDescription9"), NetStringStrict("m_pDescription10"), NetStringStrict("m_pDescription11"),
|
|
|
|
NetStringStrict("m_pDescription12"), NetStringStrict("m_pDescription13"), NetStringStrict("m_pDescription14"),
|
|
|
|
]),
|
|
|
|
|
2011-03-25 10:49:35 +00:00
|
|
|
NetMessage("Sv_VoteOptionAdd", [
|
|
|
|
NetStringStrict("m_pDescription"),
|
|
|
|
]),
|
|
|
|
|
|
|
|
NetMessage("Sv_VoteOptionRemove", [
|
2011-03-25 08:49:21 +00:00
|
|
|
NetStringStrict("m_pDescription"),
|
2008-11-08 12:50:46 +00:00
|
|
|
]),
|
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_VoteSet", [
|
2023-12-03 19:19:56 +00:00
|
|
|
NetIntRange("m_Timeout", 0, 'max_int'),
|
2010-08-12 13:22:07 +00:00
|
|
|
NetStringStrict("m_pDescription"),
|
2011-03-25 09:26:59 +00:00
|
|
|
NetStringStrict("m_pReason"),
|
2008-09-24 14:47:03 +00:00
|
|
|
]),
|
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Sv_VoteStatus", [
|
|
|
|
NetIntRange("m_Yes", 0, 'MAX_CLIENTS'),
|
|
|
|
NetIntRange("m_No", 0, 'MAX_CLIENTS'),
|
|
|
|
NetIntRange("m_Pass", 0, 'MAX_CLIENTS'),
|
|
|
|
NetIntRange("m_Total", 0, 'MAX_CLIENTS'),
|
2008-09-24 14:47:03 +00:00
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2008-04-27 05:59:38 +00:00
|
|
|
### Client messages
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Cl_Say", [
|
|
|
|
NetBool("m_Team"),
|
2014-01-08 17:21:07 +00:00
|
|
|
NetStringHalfStrict("m_pMessage"),
|
2017-09-13 20:35:09 +00:00
|
|
|
], teehistorian=False),
|
2008-04-27 05:59:38 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Cl_SetTeam", [
|
2011-01-03 11:50:38 +00:00
|
|
|
NetIntRange("m_Team", 'TEAM_SPECTATORS', 'TEAM_BLUE'),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
2011-03-10 09:08:14 +00:00
|
|
|
|
|
|
|
NetMessage("Cl_SetSpectatorMode", [
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_SpectatorId", 'SPEC_FREEVIEW', 'MAX_CLIENTS-1'),
|
2011-03-10 09:08:14 +00:00
|
|
|
]),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Cl_StartInfo", [
|
2010-08-12 13:22:07 +00:00
|
|
|
NetStringStrict("m_pName"),
|
2011-03-15 10:23:49 +00:00
|
|
|
NetStringStrict("m_pClan"),
|
|
|
|
NetIntAny("m_Country"),
|
2010-08-12 13:22:07 +00:00
|
|
|
NetStringStrict("m_pSkin"),
|
2010-05-29 07:25:38 +00:00
|
|
|
NetBool("m_UseCustomColor"),
|
|
|
|
NetIntAny("m_ColorBody"),
|
|
|
|
NetIntAny("m_ColorFeet"),
|
2011-04-12 17:23:20 +00:00
|
|
|
]),
|
2008-04-27 05:59:38 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Cl_ChangeInfo", [
|
2010-08-12 13:22:07 +00:00
|
|
|
NetStringStrict("m_pName"),
|
2011-03-15 10:23:49 +00:00
|
|
|
NetStringStrict("m_pClan"),
|
|
|
|
NetIntAny("m_Country"),
|
2010-08-12 13:22:07 +00:00
|
|
|
NetStringStrict("m_pSkin"),
|
2010-05-29 07:25:38 +00:00
|
|
|
NetBool("m_UseCustomColor"),
|
|
|
|
NetIntAny("m_ColorBody"),
|
|
|
|
NetIntAny("m_ColorFeet"),
|
2008-07-08 09:07:21 +00:00
|
|
|
]),
|
2008-09-24 14:47:03 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Cl_Kill", []),
|
2008-04-27 05:59:38 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Cl_Emoticon", [
|
|
|
|
NetIntRange("m_Emoticon", 0, 'NUM_EMOTICONS-1'),
|
2008-04-27 05:59:38 +00:00
|
|
|
]),
|
2008-09-24 14:47:03 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Cl_Vote", [
|
|
|
|
NetIntRange("m_Vote", -1, 1),
|
2017-09-13 20:35:09 +00:00
|
|
|
], teehistorian=False),
|
2011-04-12 17:23:20 +00:00
|
|
|
|
2010-05-29 07:25:38 +00:00
|
|
|
NetMessage("Cl_CallVote", [
|
2022-06-30 22:36:32 +00:00
|
|
|
NetStringStrict("m_pType"),
|
|
|
|
NetStringStrict("m_pValue"),
|
|
|
|
NetStringStrict("m_pReason"),
|
2017-09-13 20:35:09 +00:00
|
|
|
], teehistorian=False),
|
2014-01-21 23:08:30 +00:00
|
|
|
|
2021-01-10 16:41:06 +00:00
|
|
|
NetMessage("Cl_IsDDNetLegacy", []),
|
2013-02-02 13:08:02 +00:00
|
|
|
|
2021-01-10 16:41:06 +00:00
|
|
|
NetMessage("Sv_DDRaceTimeLegacy", [
|
2010-10-30 19:44:46 +00:00
|
|
|
NetIntAny("m_Time"),
|
|
|
|
NetIntAny("m_Check"),
|
2010-10-31 20:50:40 +00:00
|
|
|
NetIntRange("m_Finish", 0, 1),
|
2010-10-30 19:44:46 +00:00
|
|
|
]),
|
2014-01-21 23:08:30 +00:00
|
|
|
|
2021-01-10 16:41:06 +00:00
|
|
|
NetMessage("Sv_RecordLegacy", [
|
2010-10-31 20:50:40 +00:00
|
|
|
NetIntAny("m_ServerTimeBest"),
|
|
|
|
NetIntAny("m_PlayerTimeBest"),
|
2010-10-30 19:44:46 +00:00
|
|
|
]),
|
2014-01-21 23:08:30 +00:00
|
|
|
|
2023-08-15 10:13:29 +00:00
|
|
|
NetMessage("Unused2", []),
|
2014-01-21 23:08:30 +00:00
|
|
|
|
2021-01-10 16:23:00 +00:00
|
|
|
NetMessage("Sv_TeamsStateLegacy", []),
|
2014-01-01 23:34:05 +00:00
|
|
|
|
2020-06-29 15:47:26 +00:00
|
|
|
# deprecated, use showothers@netmsg.ddnet.tw instead
|
|
|
|
NetMessage("Cl_ShowOthersLegacy", [
|
2014-01-02 00:56:09 +00:00
|
|
|
NetBool("m_Show"),
|
2017-05-21 23:07:13 +00:00
|
|
|
]),
|
2014-01-30 15:49:15 +00:00
|
|
|
# Can't add any NetMessages here!
|
2017-05-21 23:07:13 +00:00
|
|
|
|
|
|
|
NetMessageEx("Sv_MyOwnMessage", "my-own-message@heinrich5991.de", [
|
|
|
|
NetIntAny("m_Test"),
|
|
|
|
]),
|
2020-06-28 09:48:25 +00:00
|
|
|
|
|
|
|
NetMessageEx("Cl_ShowDistance", "show-distance@netmsg.ddnet.tw", [
|
|
|
|
NetIntAny("m_X"),
|
|
|
|
NetIntAny("m_Y"),
|
|
|
|
]),
|
2020-06-28 08:09:25 +00:00
|
|
|
|
2020-06-29 15:47:26 +00:00
|
|
|
NetMessageEx("Cl_ShowOthers", "showothers@netmsg.ddnet.tw", [
|
2020-06-28 08:09:25 +00:00
|
|
|
NetIntRange("m_Show", 0, 2),
|
|
|
|
]),
|
2020-12-23 00:25:04 +00:00
|
|
|
|
2021-01-10 16:23:00 +00:00
|
|
|
NetMessageEx("Sv_TeamsState", "teamsstate@netmsg.ddnet.tw", []),
|
2021-01-10 16:41:06 +00:00
|
|
|
|
|
|
|
NetMessageEx("Sv_DDRaceTime", "ddrace-time@netmsg.ddnet.tw", [
|
|
|
|
NetIntAny("m_Time"),
|
|
|
|
NetIntAny("m_Check"),
|
|
|
|
NetIntRange("m_Finish", 0, 1),
|
|
|
|
]),
|
|
|
|
|
2021-02-11 23:31:51 +00:00
|
|
|
NetMessageEx("Sv_Record", "record@netmsg.ddnet.tw", [
|
2021-01-10 16:41:06 +00:00
|
|
|
NetIntAny("m_ServerTimeBest"),
|
|
|
|
NetIntAny("m_PlayerTimeBest"),
|
|
|
|
]),
|
2023-03-17 21:53:10 +00:00
|
|
|
|
2023-04-17 21:33:30 +00:00
|
|
|
NetMessageEx("Sv_KillMsgTeam", "killmsgteam@netmsg.ddnet.tw", [
|
|
|
|
NetIntRange("m_Team", 0, 'MAX_CLIENTS-1'),
|
|
|
|
NetIntRange("m_First", -1, 'MAX_CLIENTS-1'),
|
2023-03-17 21:53:10 +00:00
|
|
|
]),
|
2023-09-15 11:58:30 +00:00
|
|
|
|
|
|
|
NetMessageEx("Sv_YourVote", "yourvote@netmsg.ddnet.org", [
|
|
|
|
NetIntRange("m_Voted", -1, 1),
|
|
|
|
]),
|
2023-11-20 11:23:56 +00:00
|
|
|
|
|
|
|
NetMessageEx("Sv_RaceFinish", "racefinish@netmsg.ddnet.org", [
|
2024-03-05 14:44:09 +00:00
|
|
|
NetIntRange("m_ClientId", 0, 'MAX_CLIENTS-1'),
|
2023-11-20 11:23:56 +00:00
|
|
|
NetIntAny("m_Time"),
|
|
|
|
NetIntAny("m_Diff"),
|
|
|
|
NetBool("m_RecordPersonal"),
|
|
|
|
NetBool("m_RecordServer", default=False),
|
|
|
|
]),
|
2023-12-13 23:04:23 +00:00
|
|
|
|
|
|
|
NetMessageEx("Sv_CommandInfo", "commandinfo@netmsg.ddnet.org", [
|
|
|
|
NetStringStrict("m_pName"),
|
|
|
|
NetStringStrict("m_pArgsFormat"),
|
|
|
|
NetStringStrict("m_pHelpText")
|
|
|
|
]),
|
|
|
|
|
|
|
|
NetMessageEx("Sv_CommandInfoRemove", "commandinfo-remove@netmsg.ddnet.org", [
|
|
|
|
NetStringStrict("m_pName")
|
|
|
|
]),
|
2023-12-23 14:42:43 +00:00
|
|
|
|
|
|
|
NetMessageEx("Sv_VoteOptionGroupStart", "sv-vote-option-group-start@netmsg.ddnet.org", []),
|
|
|
|
NetMessageEx("Sv_VoteOptionGroupEnd", "sv-vote-option-group-end@netmsg.ddnet.org", []),
|
2024-01-05 17:10:24 +00:00
|
|
|
|
|
|
|
NetMessageEx("Sv_CommandInfoGroupStart", "sv-commandinfo-group-start@netmsg.ddnet.org", []),
|
|
|
|
NetMessageEx("Sv_CommandInfoGroupEnd", "sv-commandinfo-group-end@netmsg.ddnet.org", []),
|
2024-02-20 20:41:20 +00:00
|
|
|
|
|
|
|
NetMessageEx("Sv_ChangeInfoCooldown", "change-info-cooldown@netmsg.ddnet.org", [
|
|
|
|
NetTick("m_WaitUntil")
|
|
|
|
]),
|
2008-04-27 05:59:38 +00:00
|
|
|
]
|