diff options
author | Haru <haru@dotalux.com> | 2018-11-15 04:01:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-15 04:01:03 +0100 |
commit | 47d6523817646f2d4f081b93ec44a971a01fce25 (patch) | |
tree | 39f5f62367fed1efe1dd734a2f3a588f2e44a9f4 /src/common/packets.c | |
parent | 3b93418544f84f142ea2a6e2bcdf1621267ff989 (diff) | |
parent | 1f237031a63567d8c96bca4a28ab9557ebe1459e (diff) | |
download | hercules-47d6523817646f2d4f081b93ec44a971a01fce25.tar.gz hercules-47d6523817646f2d4f081b93ec44a971a01fce25.tar.bz2 hercules-47d6523817646f2d4f081b93ec44a971a01fce25.tar.xz hercules-47d6523817646f2d4f081b93ec44a971a01fce25.zip |
Merge pull request #2321 from 4144/packetlen
Add complete packet len table
Diffstat (limited to 'src/common/packets.c')
-rw-r--r-- | src/common/packets.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/common/packets.c b/src/common/packets.c new file mode 100644 index 000000000..429418e0a --- /dev/null +++ b/src/common/packets.c @@ -0,0 +1,64 @@ +/** + * This file is part of Hercules. + * http://herc.ws - http://github.com/HerculesWS/Hercules + * + * Copyright (C) 2012-2018 Hercules Dev Team + * + * Hercules 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 3 of the License, or + * (at your option) any later version. + * + * This program 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/>. + */ +#define HERCULES_CORE + +#include "config/core.h" // CONSOLE_INPUT, MAX_CONSOLE_INPUT +#include "common/packets.h" + +#include "common/cbasetypes.h" +#include "common/mmo.h" +#include "common/nullpo.h" + +#include <string.h> + +static struct packets_interface packets_s; +struct packets_interface *packets; + +static void packets_init(void) +{ + packets->addLens(); +} + +static void packets_addLens(void) +{ +#define packetLen(id, len) packets->addLen(id, len); +#include "common/packets_len.h" +} + +static void packets_addLen(int id, int len) +{ + Assert_retv(id <= MAX_PACKET_DB && id >= MIN_PACKET_DB); + packets->db[id] = len; +} + +static void packets_final(void) +{ +} + +void packets_defaults(void) +{ + packets = &packets_s; + packets->init = packets_init; + packets->final = packets_final; + packets->addLens = packets_addLens; + packets->addLen = packets_addLen; + + memset(&packets->db, 0, sizeof(packets->db)); +} |