diff options
author | mrb0nk500 <b0nk@b0nk.xyz> | 2023-03-04 17:49:03 -0400 |
---|---|---|
committer | mrb0nk500 <b0nk@b0nk.xyz> | 2023-03-04 17:49:03 -0400 |
commit | cb40b0808a639fa0de330cb2b88574a0e8b4d2d5 (patch) | |
tree | 874b64b99c55f244d97d627f61869c084eea09ed | |
parent | 1892a429d2b635b369684676f0528a3320f95cc2 (diff) |
TProtocol: Match ctor
The reason for the large change is because I was trying to figure out
why `TTcpSocket`'s ctor was so disjointed from the rest of the
functions. Turns out, it's inlined, and inlining was turned off.
Most likely, the whole codebase has inlining turned off.
oof, press f `TArray`.
-rw-r--r-- | context.h | 71 | ||||
-rw-r--r-- | include/pso/TArray.h | 5 | ||||
-rw-r--r-- | include/pso/TObject.h | 2 | ||||
-rw-r--r-- | include/pso/TPlyCharData.h | 2 | ||||
-rw-r--r-- | include/pso/TPlyClientConfig.h | 4 | ||||
-rw-r--r-- | include/pso/TPlyDispData.h | 6 | ||||
-rw-r--r-- | include/pso/TPlyGuildCardTag.h | 2 | ||||
-rw-r--r-- | include/pso/TPlyInventory.h | 5 | ||||
-rw-r--r-- | include/pso/TPlySmth.h | 18 | ||||
-rw-r--r-- | include/pso/TProtocol.h | 18 | ||||
-rw-r--r-- | include/pso/TSocket.h | 2 | ||||
-rw-r--r-- | include/pso/TTcpSocket.h | 5 | ||||
-rw-r--r-- | include/pso/macros.h | 8 | ||||
-rw-r--r-- | src/pso/TPlyGuildCardTag.cpp | 5 | ||||
-rw-r--r-- | src/pso/TProtocol.cpp | 109 | ||||
-rw-r--r-- | src/pso/TTcpSocket.cpp | 5 |
16 files changed, 203 insertions, 64 deletions
@@ -105,6 +105,11 @@ typedef long ptrdiff_t; return m_##name; \ } +#define PRIVATE_MEMBER_GETTER_C_ARRAY(type, name, size) \ + TArray<type, size> &name() { \ + return to_TArray<type, size>(m_##name); \ + } + #define PRIVATE_MEMBER_GETTER_FUNC(ret_type, name, ...) \ ret_type (*name())(__VA_ARGS__) { \ return m_##name; \ @@ -130,6 +135,9 @@ typedef long ptrdiff_t; #define PRIVATE_MEMBER_ACCESSORS_ARRAY(type, name, size) \ PRIVATE_MEMBER_GETTER_ARRAY(type, name, size) +#define PRIVATE_MEMBER_ACCESSORS_C_ARRAY(type, name, size) \ + PRIVATE_MEMBER_GETTER_C_ARRAY(type, name, size) + #define PRIVATE_MEMBER_ACCESSORS_FUNC(ret_type, name, ...) \ PRIVATE_MEMBER_GETTER_FUNC(ret_type, name, __VA_ARGS__); \ PRIVATE_MEMBER_SETTER_FUNC(ret_type, name, __VA_ARGS__) @@ -342,6 +350,11 @@ private: }; }; +template<typename T, size_t n> +inline TArray<T, n> &to_TArray(T *array) { + return reinterpret_cast<TArray<T, n> &>(*array); +} + // pso/TMenuList.h template <typename T> class TMenuListEntry : public TPlyGuildCardTag { @@ -470,6 +483,9 @@ static const int tl_object_count = 20; EXTERN_OBJECT_NAME(TTcpSocket); extern TTcpSocket *tcp_socket_table[16]; +// pso/TProtocol.h +EXTERN_OBJECT_NAME(TProtocol); + // TObject.cpp #define o(name) extern const char *name##_name; OBJECT_NAMES @@ -594,7 +610,7 @@ struct disp_data_part2 { disp_data_part2 &assign(const disp_data_part2 &src); TArray<char, 16> name; - u64 smth; + TArray<u32, 2> smth; u32 name_colour; u8 extra_model; TArray<u8, 15> padding; @@ -624,7 +640,7 @@ struct gc_tag { // pso/TPlyInventory.h struct TItemData { - TItemData(); + void init(); void bswap(); TItemData &assign(const TItemData &src); @@ -775,8 +791,8 @@ private: // pso/TPlyDispData.h class TPlyDispConfigSmthTag { public: - TPlyDispConfigSmthTag(); - ~TPlyDispConfigSmthTag(); + //TPlyDispConfigSmthTag(); + //~TPlyDispConfigSmthTag(); void bswap(); TPlyDispConfigSmthTag &assign(const TPlyDispConfigSmthTag &src); @@ -834,6 +850,8 @@ public: TPlyGuildCardTag(); TPlyGuildCardTag(u16 tag2, u32 guildcard_number); + TPlyGuildCardTag &operator=(const TPlyGuildCardTag &src); + void bswap(); void assign(const TPlyGuildCardTag &src); void assign(const TPlyGuildCardTag *src); @@ -857,8 +875,7 @@ private: // pso/TPlyInventory.h class TPlyInventoryItem { public: - TPlyInventoryItem() {}; - + void init(); void bswap(); TPlyInventoryItem &assign(const TPlyInventoryItem &src); @@ -892,17 +909,18 @@ private: // pso/TPlySmth.h class TPlySmth { public: - TPlySmth(); - - TPlySmth &operator=(const TPlySmth &src); + TPlySmth() {}; - void bswap(); - - TPlySmth &assign(const TPlySmth &src); + void bswap() { + bswap_32(m_smth.as<u32>()); + bswap_32(m_smth1.as<u32>()); + }; PRIVATE_MEMBER_ACCESSORS_ARRAY(u8, smth, 4); PRIVATE_MEMBER_ACCESSORS_ARRAY(u8, smth1, 4); -private: + + friend class TProtocol; +protected: TArray<u8, 4> m_smth; TArray<u8, 4> m_smth1; }; @@ -1011,7 +1029,9 @@ private: }; +protected: const char *m_name; +private: union { object_flags m_flags; u16 m_flags_u16; @@ -1074,14 +1094,14 @@ public: void empty_func2(); void log(const char *str); int get_node_count(); - bool all_parents_unqueued_for_destruction(); + int all_parents_unqueued_for_destruction(); static void *alloc(size_t size); static void free(void *ptr); bool toggle_flag_9_if_flag_10_is_clear(); }; // pso/TSocket.h -class TSocket : public TObject { +class TSocket : private TObject { private: ipv4_addr m_dst_addr; u16 m_dst_port; @@ -1158,7 +1178,10 @@ private: PSOV3EncryptionTCP m_recv_crypt; int m_is_encrypted; public: - WEAK_FUNC TTcpSocket(TObject *parent = nullptr); + WEAK_FUNC TTcpSocket(TObject *parent) : TSocket(parent) { + m_name = TTcpSocket_name; + } + virtual ~TTcpSocket(); virtual short open() override; @@ -1273,10 +1296,10 @@ private: TArray<u8, 80> m_unused3; TPlyCharData m_character_data; u32 m_unused4; - TArray<TMenuListEntry<GameListEntry>, 64> m_game_entries; - TArray<TMenuListEntry<GameListEntry>, 64> m_game_entries2; - TArray<TMenuListEntry<LobbyListEntry>, 16> m_lobby_entries; - TArray<TMenuListEntry<QuestListEntry>, 30> m_quest_entries; + TMenuListEntry<GameListEntry> m_game_entries[64]; + TMenuListEntry<GameListEntry> m_game_entries2[64]; + TMenuListEntry<LobbyListEntry> m_lobby_entries[16]; + TMenuListEntry<QuestListEntry> m_quest_entries[30]; TArray<u8, 128> m_unused5; TArray<char, 17> m_serial_number3; TArray<char, 17> m_password2; @@ -1317,10 +1340,10 @@ public: PRIVATE_MEMBER_ACCESSORS_ARRAY(u8, unused3, 80); PRIVATE_MEMBER_ACCESSORS(TPlyCharData, character_data); PRIVATE_MEMBER_ACCESSORS(u32, unused4); - PRIVATE_MEMBER_ACCESSORS_ARRAY(TMenuListEntry<GameListEntry>, game_entries, 64); - PRIVATE_MEMBER_ACCESSORS_ARRAY(TMenuListEntry<GameListEntry>, game_entries2, 64); - PRIVATE_MEMBER_ACCESSORS_ARRAY(TMenuListEntry<LobbyListEntry>, lobby_entries, 16); - PRIVATE_MEMBER_ACCESSORS_ARRAY(TMenuListEntry<QuestListEntry>, quest_entries, 30); + PRIVATE_MEMBER_ACCESSORS_C_ARRAY(TMenuListEntry<GameListEntry>, game_entries, 64); + PRIVATE_MEMBER_ACCESSORS_C_ARRAY(TMenuListEntry<GameListEntry>, game_entries2, 64); + PRIVATE_MEMBER_ACCESSORS_C_ARRAY(TMenuListEntry<LobbyListEntry>, lobby_entries, 16); + PRIVATE_MEMBER_ACCESSORS_C_ARRAY(TMenuListEntry<QuestListEntry>, quest_entries, 30); PRIVATE_MEMBER_ACCESSORS_ARRAY(u8, unused5, 128); PRIVATE_MEMBER_ACCESSORS_ARRAY(char, serial_number3, 17); PRIVATE_MEMBER_ACCESSORS_ARRAY(char, password2, 17); diff --git a/include/pso/TArray.h b/include/pso/TArray.h index cefe6c8..c9ac0e6 100644 --- a/include/pso/TArray.h +++ b/include/pso/TArray.h @@ -173,4 +173,9 @@ private: }; }; +template<typename T, size_t n> +inline TArray<T, n> &to_TArray(T *array) { + return reinterpret_cast<TArray<T, n> &>(*array); +} + #endif diff --git a/include/pso/TObject.h b/include/pso/TObject.h index 87d2bed..ef2cf66 100644 --- a/include/pso/TObject.h +++ b/include/pso/TObject.h @@ -110,7 +110,9 @@ private: }; +protected: const char *m_name; +private: union { object_flags m_flags; u16 m_flags_u16; diff --git a/include/pso/TPlyCharData.h b/include/pso/TPlyCharData.h index 1cdad01..d516c10 100644 --- a/include/pso/TPlyCharData.h +++ b/include/pso/TPlyCharData.h @@ -10,7 +10,7 @@ class TPlyCharData { public: - TPlyCharData(); + TPlyCharData() {} void bswap(); TPlyCharData &assign(const TPlyCharData &src); diff --git a/include/pso/TPlyClientConfig.h b/include/pso/TPlyClientConfig.h index d5796ad..6551fc2 100644 --- a/include/pso/TPlyClientConfig.h +++ b/include/pso/TPlyClientConfig.h @@ -8,13 +8,13 @@ class TPlyClientConfig { public: - PRIVATE_MEMBER_ACCESSORS(u64, magic); + PRIVATE_MEMBER_ACCESSORS_ARRAY(u32, magic, 2); PRIVATE_MEMBER_ACCESSORS(u32, flags); PRIVATE_MEMBER_ACCESSORS(u32, proxy_dst_addr); PRIVATE_MEMBER_ACCESSORS(u16, proxy_dst_port); PRIVATE_MEMBER_ACCESSORS_ARRAY(u8, mbr_0xe, 14); private: - u64 m_magic; + TArray<u32, 2> m_magic; u32 m_flags; u32 m_proxy_dst_addr; u16 m_proxy_dst_port; diff --git a/include/pso/TPlyDispData.h b/include/pso/TPlyDispData.h index a237bbc..7901fb9 100644 --- a/include/pso/TPlyDispData.h +++ b/include/pso/TPlyDispData.h @@ -39,7 +39,7 @@ struct disp_data_part2 { disp_data_part2 &assign(const disp_data_part2 &src); TArray<char, 16> name; - u64 smth; + TArray<u32, 2> smth; u32 name_colour; u8 extra_model; TArray<u8, 15> padding; @@ -62,8 +62,8 @@ struct disp_data_part2 { class TPlyDispConfigSmthTag { public: - TPlyDispConfigSmthTag(); - ~TPlyDispConfigSmthTag(); + //TPlyDispConfigSmthTag(); + //~TPlyDispConfigSmthTag(); void bswap(); TPlyDispConfigSmthTag &assign(const TPlyDispConfigSmthTag &src); diff --git a/include/pso/TPlyGuildCardTag.h b/include/pso/TPlyGuildCardTag.h index 5808e56..8a8e577 100644 --- a/include/pso/TPlyGuildCardTag.h +++ b/include/pso/TPlyGuildCardTag.h @@ -16,6 +16,8 @@ public: TPlyGuildCardTag(); TPlyGuildCardTag(u16 tag2, u32 guildcard_number); + TPlyGuildCardTag &operator=(const TPlyGuildCardTag &src); + void bswap(); void assign(const TPlyGuildCardTag &src); void assign(const TPlyGuildCardTag *src); diff --git a/include/pso/TPlyInventory.h b/include/pso/TPlyInventory.h index 6143a06..6cfb7ec 100644 --- a/include/pso/TPlyInventory.h +++ b/include/pso/TPlyInventory.h @@ -7,7 +7,7 @@ #include <pso/TArray.h> struct TItemData { - TItemData(); + void init(); void bswap(); TItemData &assign(const TItemData &src); @@ -26,8 +26,7 @@ struct TItemData { class TPlyInventoryItem { public: - TPlyInventoryItem() {}; - + void init(); void bswap(); TPlyInventoryItem &assign(const TPlyInventoryItem &src); diff --git a/include/pso/TPlySmth.h b/include/pso/TPlySmth.h index 660955f..99bf763 100644 --- a/include/pso/TPlySmth.h +++ b/include/pso/TPlySmth.h @@ -4,26 +4,28 @@ #include <global_types.h> #include <pso/protocol.h> #include <pso/TArray.h> +#include <pso/TProtocol.h> class TPlySmth { public: - TPlySmth() /*{}*/; + TPlySmth() {}; - TPlySmth &operator=(const TPlySmth &src) /*{ return assign(src); }*/; + //TPlySmth &operator=(const TPlySmth &src) { return assign(src); }; - void bswap() /*{ - bswap_32(m_smth.at_as<u32>(0)); - bswap_32(m_smth1.at_as<u32>(0)); - }*/; + void bswap() { + bswap_32(m_smth.as<u32>()); + bswap_32(m_smth1.as<u32>()); + }; TPlySmth &assign(const TPlySmth &src) /*{ m_smth = src.m_smth; - m_smth1 = src.m_smth1; }*/; PRIVATE_MEMBER_ACCESSORS_ARRAY(u8, smth, 4); PRIVATE_MEMBER_ACCESSORS_ARRAY(u8, smth1, 4); -private: + + friend class TProtocol; +protected: TArray<u8, 4> m_smth; TArray<u8, 4> m_smth1; }; diff --git a/include/pso/TProtocol.h b/include/pso/TProtocol.h index 5be26eb..ed80d04 100644 --- a/include/pso/TProtocol.h +++ b/include/pso/TProtocol.h @@ -19,6 +19,8 @@ #include <pso/TTcpSocket.h> +EXTERN_OBJECT_NAME(TProtocol); + struct packet { packet_header header; TArray<u8, 0x7c00-sizeof(packet_header)> data; @@ -67,10 +69,10 @@ private: TArray<u8, 80> m_unused3; TPlyCharData m_character_data; u32 m_unused4; - TArray<TMenuListEntry<GameListEntry>, 64> m_game_entries; - TArray<TMenuListEntry<GameListEntry>, 64> m_game_entries2; - TArray<TMenuListEntry<LobbyListEntry>, 16> m_lobby_entries; - TArray<TMenuListEntry<QuestListEntry>, 30> m_quest_entries; + TMenuListEntry<GameListEntry> m_game_entries[64]; + TMenuListEntry<GameListEntry> m_game_entries2[64]; + TMenuListEntry<LobbyListEntry> m_lobby_entries[16]; + TMenuListEntry<QuestListEntry> m_quest_entries[30]; TArray<u8, 128> m_unused5; TArray<char, 17> m_serial_number3; TArray<char, 17> m_password2; @@ -111,10 +113,10 @@ public: PRIVATE_MEMBER_ACCESSORS_ARRAY(u8, unused3, 80); PRIVATE_MEMBER_ACCESSORS(TPlyCharData, character_data); PRIVATE_MEMBER_ACCESSORS(u32, unused4); - PRIVATE_MEMBER_ACCESSORS_ARRAY(TMenuListEntry<GameListEntry>, game_entries, 64); - PRIVATE_MEMBER_ACCESSORS_ARRAY(TMenuListEntry<GameListEntry>, game_entries2, 64); - PRIVATE_MEMBER_ACCESSORS_ARRAY(TMenuListEntry<LobbyListEntry>, lobby_entries, 16); - PRIVATE_MEMBER_ACCESSORS_ARRAY(TMenuListEntry<QuestListEntry>, quest_entries, 30); + PRIVATE_MEMBER_ACCESSORS_C_ARRAY(TMenuListEntry<GameListEntry>, game_entries, 64); + PRIVATE_MEMBER_ACCESSORS_C_ARRAY(TMenuListEntry<GameListEntry>, game_entries2, 64); + PRIVATE_MEMBER_ACCESSORS_C_ARRAY(TMenuListEntry<LobbyListEntry>, lobby_entries, 16); + PRIVATE_MEMBER_ACCESSORS_C_ARRAY(TMenuListEntry<QuestListEntry>, quest_entries, 30); PRIVATE_MEMBER_ACCESSORS_ARRAY(u8, unused5, 128); PRIVATE_MEMBER_ACCESSORS_ARRAY(char, serial_number3, 17); PRIVATE_MEMBER_ACCESSORS_ARRAY(char, password2, 17); diff --git a/include/pso/TSocket.h b/include/pso/TSocket.h index b11d8ef..c55dd08 100644 --- a/include/pso/TSocket.h +++ b/include/pso/TSocket.h @@ -13,7 +13,7 @@ union ipv4_addr { TArray<u8, 4> addr_bytes; }; -class TSocket : public TObject { +class TSocket : private TObject { private: ipv4_addr m_dst_addr; u16 m_dst_port; diff --git a/include/pso/TTcpSocket.h b/include/pso/TTcpSocket.h index b6faf56..b2c8cfb 100644 --- a/include/pso/TTcpSocket.h +++ b/include/pso/TTcpSocket.h @@ -19,7 +19,10 @@ private: PSOV3EncryptionTCP m_recv_crypt; int m_is_encrypted; public: - WEAK_FUNC TTcpSocket(TObject *parent = nullptr); + WEAK_FUNC TTcpSocket(TObject *parent) : TSocket(parent) { + m_name = TTcpSocket_name; + } + virtual ~TTcpSocket(); virtual short open() override; diff --git a/include/pso/macros.h b/include/pso/macros.h index 4e7ad0c..5901143 100644 --- a/include/pso/macros.h +++ b/include/pso/macros.h @@ -75,6 +75,11 @@ return m_##name; \ } +#define PRIVATE_MEMBER_GETTER_C_ARRAY(type, name, size) \ + TArray<type, size> &name() { \ + return to_TArray<type, size>(m_##name); \ + } + #define PRIVATE_MEMBER_GETTER_FUNC(ret_type, name, ...) \ ret_type (*name())(__VA_ARGS__) { \ return m_##name; \ @@ -96,6 +101,9 @@ #define PRIVATE_MEMBER_ACCESSORS_ARRAY(type, name, size) \ PRIVATE_MEMBER_GETTER_ARRAY(type, name, size) +#define PRIVATE_MEMBER_ACCESSORS_C_ARRAY(type, name, size) \ + PRIVATE_MEMBER_GETTER_C_ARRAY(type, name, size) + #define PRIVATE_MEMBER_ACCESSORS_FUNC(ret_type, name, ...) \ PRIVATE_MEMBER_GETTER_FUNC(ret_type, name, __VA_ARGS__); \ PRIVATE_MEMBER_SETTER_FUNC(ret_type, name, __VA_ARGS__) diff --git a/src/pso/TPlyGuildCardTag.cpp b/src/pso/TPlyGuildCardTag.cpp index 2626adc..021c644 100644 --- a/src/pso/TPlyGuildCardTag.cpp +++ b/src/pso/TPlyGuildCardTag.cpp @@ -16,6 +16,11 @@ void TPlyGuildCardTag::bswap() { bswap_16(&m_tag.tag2); } +TPlyGuildCardTag &TPlyGuildCardTag::operator=(const TPlyGuildCardTag &src) { + _assign(src); + return *this; +} + void TPlyGuildCardTag::assign(const TPlyGuildCardTag &src) { _assign(src); } diff --git a/src/pso/TProtocol.cpp b/src/pso/TProtocol.cpp index 41986d1..b0be8ee 100644 --- a/src/pso/TProtocol.cpp +++ b/src/pso/TProtocol.cpp @@ -11,26 +11,119 @@ #include "pso/TObject.h" #include "pso/TProtocol.h" #include "pso/TSocket.h" -#include "pso/TTcpSocket.h" +OBJECT_NAME(TProtocol); +void TProtocol::run_task() { -TProtocol::TProtocol(TObject *parent, u16 sub_version, int language, char *serial_number, char *access_key, char *password) : TTcpSocket(parent) { +} +int TProtocol::send(u8 *data, size_t size) { + return TTcpSocket::send(data, size); } -TProtocol::~TProtocol() { +int handle_command(packet *pkt) { } -void TProtocol::run_task() { +TProtocol::~TProtocol() { } -int TProtocol::send(u8 *data, size_t size) { - return TTcpSocket::send(data, size); -} +#define fill_with(name, value) memset(&m_##name, value, sizeof(m_##name)) +#define copy(name) strncpy(m_##name.m_data, name, sizeof(m_##name.m_data)) -int handle_command(packet *pkt) { +#pragma dont_inline on +TProtocol::TProtocol(TObject *parent, u16 sub_version, int language, char *serial_number, char *access_key, char *password) : TTcpSocket(parent) { + u8 thing[6]; + m_name = TProtocol_name; + memset(thing, 0, sizeof(thing)); + { + int i = 0; + int j = 0; + m_smth.m_smth.m_data[i++] = 0; + m_smth.m_smth.m_data[i++] = 0; + m_smth.m_smth.m_data[i++] = thing[j++]; + m_smth.m_smth.m_data[i++] = thing[j++]; + i = 0; + m_smth.m_smth1.m_data[i++] = thing[j++]; + m_smth.m_smth1.m_data[i++] = thing[j++]; + m_smth.m_smth1.m_data[i++] = thing[j++]; + m_smth.m_smth1.m_data[i++] = thing[j++]; + } + m_guildcard_tag = TPlyGuildCardTag(-1, -1); + m_login_response_state = 0; + m_connected = 0; + m_joined_game = 0; + m_has_meet_user_settings = 0; + m_buffer_ready = 0; + m_entry_count = 0; + m_unused = 0; + m_lobby_list_count = 0; + m_unused5.m_data[0] = 0; + m_unused2 = 0; + m_udp_disabled = 0; + m_packet_offset = 0; + m_packet_size = 0; + m_sub_version = sub_version; + m_language = language; + fill_with(serial_number, 0); + fill_with(access_key, 0); + fill_with(password, 0); + + copy(serial_number); + copy(access_key); + copy(password); + + fill_with(client_config, 0); + + m_recv_handlers.m_data[0] = nullptr; + m_recv_handlers.m_data[1] = nullptr; + m_recv_handlers.m_data[2] = nullptr; + m_recv_handlers.m_data[3] = nullptr; + m_recv_handlers.m_data[4] = nullptr; + m_recv_handlers.m_data[6] = nullptr; + m_recv_handlers.m_data[7] = nullptr; + m_recv_handlers.m_data[8] = nullptr; + m_recv_handlers.m_data[10] = nullptr; + m_recv_handlers.m_data[11] = nullptr; + m_recv_handlers.m_data[12] = nullptr; + m_recv_handlers.m_data[13] = nullptr; + m_recv_handlers.m_data[14] = nullptr; + m_recv_handlers.m_data[36] = nullptr; + m_recv_handlers.m_data[15] = nullptr; + m_recv_handlers.m_data[16] = nullptr; + m_recv_handlers.m_data[17] = nullptr; + m_recv_handlers.m_data[18] = nullptr; + m_recv_handlers.m_data[19] = nullptr; + m_recv_handlers.m_data[20] = nullptr; + m_recv_handlers.m_data[22] = nullptr; + m_recv_handlers.m_data[23] = nullptr; + m_recv_handlers.m_data[25] = nullptr; + m_recv_handlers.m_data[26] = nullptr; + m_recv_handlers.m_data[33] = nullptr; + m_recv_handlers.m_data[34] = nullptr; + m_recv_handlers.m_data[35] = nullptr; + m_recv_handlers.m_data[36] = nullptr; + m_recv_handlers.m_data[37] = nullptr; + m_recv_handlers.m_data[38] = nullptr; + m_recv_handlers.m_data[41] = nullptr; + m_recv_handlers.m_data[28] = nullptr; + m_recv_handlers.m_data[43] = nullptr; + m_recv_handlers.m_data[42] = nullptr; + m_recv_handlers.m_data[44] = nullptr; + m_recv_handlers.m_data[45] = nullptr; + m_recv_handlers.m_data[46] = nullptr; + m_recv_handlers.m_data[49] = nullptr; + m_recv_handlers.m_data[50] = nullptr; + m_recv_handlers.m_data[51] = nullptr; + m_recv_handlers.m_data[32] = nullptr; + m_recv_handlers.m_data[47] = nullptr; + m_recv_handlers.m_data[48] = nullptr; } + +void dummy(); +#pragma dont_inline off +#undef fill_with +#undef copy diff --git a/src/pso/TTcpSocket.cpp b/src/pso/TTcpSocket.cpp index 7244ad6..f105298 100644 --- a/src/pso/TTcpSocket.cpp +++ b/src/pso/TTcpSocket.cpp @@ -61,11 +61,6 @@ short tcp_receive(short nh, void (*notify)(short size, short sock_fd), short len int get_link_status(); char *get_sock_status_name(short code); - -WEAK_FUNC TTcpSocket::TTcpSocket(TObject *parent) : TSocket(parent) { - set_name(TTcpSocket_name); -} - TTcpSocket::~TTcpSocket() { close(); } |