Browse Source

Converted ZC_ACK_GUILD_MENUINTERFACE to struct (#8627)

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
AoShinHo 8 months ago
parent
commit
82a0c503ce
5 changed files with 27 additions and 19 deletions
  1. 19 16
      src/map/clif.cpp
  2. 1 1
      src/map/clif.hpp
  3. 0 1
      src/map/clif_packetdb.hpp
  4. 1 1
      src/map/guild.cpp
  5. 6 0
      src/map/packets.hpp

+ 19 - 16
src/map/clif.cpp

@@ -8691,8 +8691,8 @@ void clif_guild_send_onlineinfo(map_session_data *sd)
 }
 }
 
 
 
 
-/// Bitmask of enabled guild window tabs (ZC_ACK_GUILD_MENUINTERFACE).
-/// 014e <menu flag>.L
+/// Bitmask of enabled guild window tabs 
+/// 014e <menu flag>.L (ZC_ACK_GUILD_MENUINTERFACE)
 /// menu flag:
 /// menu flag:
 ///      0x00 = Basic Info (always on)
 ///      0x00 = Basic Info (always on)
 ///     &0x01 = Member manager
 ///     &0x01 = Member manager
@@ -8701,17 +8701,18 @@ void clif_guild_send_onlineinfo(map_session_data *sd)
 ///     &0x10 = Expulsion list
 ///     &0x10 = Expulsion list
 ///     &0x40 = Unknown (GMENUFLAG_ALLGUILDLIST)
 ///     &0x40 = Unknown (GMENUFLAG_ALLGUILDLIST)
 ///     &0x80 = Notice
 ///     &0x80 = Notice
-void clif_guild_masterormember(map_session_data *sd)
-{
-	int fd;
+void clif_guild_masterormember(map_session_data& sd){
 
 
-	nullpo_retv(sd);
+	PACKET_ZC_ACK_GUILD_MENUINTERFACE p{};
 
 
-	fd=sd->fd;
-	WFIFOHEAD(fd,packet_len(0x14e));
-	WFIFOW(fd,0) = 0x14e;
-	WFIFOL(fd,2) = (sd->state.gmaster_flag) ? 0xd7 : 0x57;
-	WFIFOSET(fd,packet_len(0x14e));
+	p.packetType = HEADER_ZC_ACK_GUILD_MENUINTERFACE;
+	if(sd.state.gmaster_flag){
+		p.menuFlag = 0xd7;
+	}else{
+		p.menuFlag = 0x57;
+	}
+
+	clif_send(&p,sizeof(p),&sd.bl,SELF);
 }
 }
 
 
 
 
@@ -14069,11 +14070,13 @@ void clif_parse_CreateGuild(int fd,map_session_data *sd){
 }
 }
 
 
 
 
-/// Request for guild window interface permissions (CZ_REQ_GUILD_MENUINTERFACE).
-/// 014d
-void clif_parse_GuildCheckMaster(int fd, map_session_data *sd)
-{
-	clif_guild_masterormember(sd);
+/// Request for guild window interface permissions 
+/// 014d (CZ_REQ_GUILD_MENUINTERFACE)
+static void clif_parse_GuildCheckMaster(int fd, map_session_data *sd){
+	if(sd == nullptr)
+		return;
+
+	clif_guild_masterormember(*sd);
 }
 }
 
 
 
 

+ 1 - 1
src/map/clif.hpp

@@ -1041,7 +1041,7 @@ void clif_party_dead( map_session_data& sd );
 // guild
 // guild
 void clif_guild_created( map_session_data& sd, int flag );
 void clif_guild_created( map_session_data& sd, int flag );
 void clif_guild_belonginfo( map_session_data& sd );
 void clif_guild_belonginfo( map_session_data& sd );
-void clif_guild_masterormember(map_session_data *sd);
+void clif_guild_masterormember(map_session_data& sd);
 void clif_guild_basicinfo( map_session_data& sd );
 void clif_guild_basicinfo( map_session_data& sd );
 void clif_guild_allianceinfo(map_session_data& sd);
 void clif_guild_allianceinfo(map_session_data& sd);
 void clif_guild_memberlist( map_session_data& sd );
 void clif_guild_memberlist( map_session_data& sd );

+ 0 - 1
src/map/clif_packetdb.hpp

@@ -162,7 +162,6 @@
 	packet(0x014a,6);
 	packet(0x014a,6);
 	packet(0x014b,27);
 	packet(0x014b,27);
 	parseable_packet(0x014d,2,clif_parse_GuildCheckMaster,0);
 	parseable_packet(0x014d,2,clif_parse_GuildCheckMaster,0);
-	packet(0x014e,6);
 	parseable_packet(0x014f,6,clif_parse_GuildRequestInfo,2);
 	parseable_packet(0x014f,6,clif_parse_GuildRequestInfo,2);
 	packet(0x0150,110);
 	packet(0x0150,110);
 	parseable_packet(0x0151,6,clif_parse_GuildRequestEmblem,2);
 	parseable_packet(0x0151,6,clif_parse_GuildRequestEmblem,2);

+ 1 - 1
src/map/guild.cpp

@@ -847,7 +847,7 @@ int guild_recv_info(const struct mmo_guild &sg) {
 			sd->guild = g;
 			sd->guild = g;
 			sd->state.gmaster_flag = 1;
 			sd->state.gmaster_flag = 1;
 			clif_name_area(&sd->bl); // [LuzZza]
 			clif_name_area(&sd->bl); // [LuzZza]
-			clif_guild_masterormember(sd);
+			clif_guild_masterormember(*sd);
 		}
 		}
 	} else {
 	} else {
 		before = g->guild;
 		before = g->guild;

+ 6 - 0
src/map/packets.hpp

@@ -817,6 +817,12 @@ struct PACKET_ZC_CARTOFF {
 } __attribute__((packed));
 } __attribute__((packed));
 DEFINE_PACKET_HEADER(ZC_CARTOFF, 0x12b)
 DEFINE_PACKET_HEADER(ZC_CARTOFF, 0x12b)
 
 
+struct PACKET_ZC_ACK_GUILD_MENUINTERFACE {
+	int16 packetType;
+	int menuFlag;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_GUILD_MENUINTERFACE, 0x014e)
+
 struct PACKET_ZC_NOTIFY_POSITION_TO_GUILDM {
 struct PACKET_ZC_NOTIFY_POSITION_TO_GUILDM {
 	int16 packetType;
 	int16 packetType;
 	uint32 aid;
 	uint32 aid;