summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-08-19 12:55:29 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-08-19 12:55:29 +0000
commit3c89751e48a424ce26bc1c6f78f4bf7fb6242fac (patch)
tree3c8b08a06bfe053c32d6312092576db372fc757e /src/map/clif.c
parent2a2455a8ac012ef30c85c07d0ad5dd39307acae4 (diff)
downloadhercules-3c89751e48a424ce26bc1c6f78f4bf7fb6242fac.tar.gz
hercules-3c89751e48a424ce26bc1c6f78f4bf7fb6242fac.tar.bz2
hercules-3c89751e48a424ce26bc1c6f78f4bf7fb6242fac.tar.xz
hercules-3c89751e48a424ce26bc1c6f78f4bf7fb6242fac.zip
* Cleaned/clarified some #include relationships between headers
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects) * Removed way messed-up script function 'unitdeadsit' * Tagged 'FIXME' lines written by myself git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c69
1 files changed, 33 insertions, 36 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index b4975ff22..cede06761 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -711,7 +711,7 @@ int clif_clearunit_delayed(struct block_list* bl, unsigned int tick)
return 0;
}
-void clif_get_weapon_view(TBL_PC* sd, unsigned short *rhand, unsigned short *lhand)
+void clif_get_weapon_view(struct map_session_data* sd, unsigned short *rhand, unsigned short *lhand)
{
#if PACKETVER > 3
struct item_data *id;
@@ -895,9 +895,9 @@ static int clif_set0078(struct block_list* bl, unsigned char* buf)
WBUFW(buf,42)=sc->opt3;
}
WBUFW(buf,14)=vd->class_;
- WBUFW(buf,16)=vd->hair_style; //Required for pets (removes attack cursor)
+ WBUFW(buf,16)=vd->hair_style; //Required for pets (removes attack cursor)
//18W: Weapon
- WBUFW(buf,20)=vd->head_bottom; //Pet armor (ignored by client)
+ WBUFW(buf,20)=vd->head_bottom; //Pet armor (ignored by client)
if (bl->type == BL_NPC && vd->class_ == FLAG_CLASS)
{ //The hell, why flags work like this?
WBUFL(buf,22)=emblem_id;
@@ -1068,7 +1068,7 @@ static int clif_set007b(struct block_list *bl, struct view_data *vd, struct unit
WBUFW(buf,16)=vd->class_;
WBUFW(buf,18)=vd->hair_style; //Required for pets (removes attack cursor)
//20L: Weapon/Shield
- WBUFW(buf,24)=vd->head_bottom; //Pet armor
+ WBUFW(buf,24)=vd->head_bottom; //Pet armor
WBUFL(buf,26)=gettick();
//30W: Head top
//32W: Head mid
@@ -1098,7 +1098,7 @@ static int clif_set007b(struct block_list *bl, struct view_data *vd, struct unit
WBUFW(buf,46)=sc->opt3;
}
WBUFW(buf,14)=vd->class_;
- WBUFW(buf,16)=vd->hair_style; //For pets (disables mob attack cursor)
+ WBUFW(buf,16)=vd->hair_style; //Required for pets (removes attack cursor)
//18W: Weapon
WBUFW(buf,20)=vd->head_bottom; //Pet armor
WBUFL(buf,22)=gettick();
@@ -1315,10 +1315,9 @@ int clif_spawn(struct block_list *bl)
WBUFW(buf,10)=sc->opt2;
WBUFW(buf,12)=sc->option;
}
- WBUFW(buf,14)=vd->hair_style; //For pets (disables mob attack cursor)
- //14W: Hair Style
+ WBUFW(buf,14)=vd->hair_style; //Required for pets (removes attack cursor)
//16W: Weapon
- WBUFW(buf,18)=vd->head_bottom; //Pet armor (ignored by client)
+ WBUFW(buf,18)=vd->head_bottom; //Pet armor (ignored by client)
WBUFW(buf,20)=vd->class_;
//22W: Shield
//24W: Head top
@@ -1364,7 +1363,7 @@ int clif_spawn(struct block_list *bl)
}
break;
case BL_PET:
- if (vd->head_bottom) //Pet armor display fix.
+ if (vd->head_bottom)
clif_pet_equip_area((TBL_PET*)bl); // needed to display pet equip properly
break;
}
@@ -3713,7 +3712,7 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl)
clif_refreshlook(&sd->bl,bl->id,LOOK_CLOTHES_COLOR,vd->cloth_color,SELF);
switch (bl->type)
- { // FIXME: 'AREA' causes unneccessary spam since this should be 1:1 communication
+ { // FIXME: 'AREA' causes unneccessary spam since this should be 1:1 communication [ultramage]
case BL_PC:
{
TBL_PC* tsd = (TBL_PC*)bl;
@@ -3740,8 +3739,8 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl)
}
break;
case BL_PET:
- if (vd->head_bottom) //Pet armor display fix.
- clif_pet_equip(sd, (TBL_PET*)bl);
+ if (vd->head_bottom)
+ clif_pet_equip(sd, (TBL_PET*)bl); // needed to display pet equip properly
break;
}
}
@@ -3858,42 +3857,40 @@ void clif_takeitem(struct block_list* src, struct block_list* dst)
}
/*==========================================
- * inform clients in area that `sd` is sitting
+ * inform clients in area that `bl` is sitting
*------------------------------------------*/
-void clif_sitting(struct map_session_data* sd)
+void clif_sitting(struct block_list* bl)
{
unsigned char buf[32];
-
- nullpo_retv(sd);
+ nullpo_retv(bl);
WBUFW(buf, 0) = 0x8a;
- WBUFL(buf, 2) = sd->bl.id;
+ WBUFL(buf, 2) = bl->id;
WBUFB(buf,26) = 2;
- clif_send(buf, packet_len(0x8a), &sd->bl, AREA);
+ clif_send(buf, packet_len(0x8a), bl, AREA);
- if(disguised(&sd->bl)) {
- WBUFL(buf, 2) = -sd->bl.id;
- clif_send(buf, packet_len(0x8a), &sd->bl, SELF);
+ if(disguised(bl)) {
+ WBUFL(buf, 2) = - bl->id;
+ clif_send(buf, packet_len(0x8a), bl, SELF);
}
}
/*==========================================
- * inform clients in area that `sd` is standing
+ * inform clients in area that `bl` is standing
*------------------------------------------*/
-void clif_standing(struct map_session_data* sd)
+void clif_standing(struct block_list* bl)
{
unsigned char buf[32];
-
- nullpo_retv(sd);
+ nullpo_retv(bl);
WBUFW(buf, 0) = 0x8a;
- WBUFL(buf, 2) = sd->bl.id;
+ WBUFL(buf, 2) = bl->id;
WBUFB(buf,26) = 3;
- clif_send(buf, packet_len(0x8a), &sd->bl, AREA);
+ clif_send(buf, packet_len(0x8a), bl, AREA);
- if(disguised(&sd->bl)) {
- WBUFL(buf, 2) = -sd->bl.id;
- clif_send(buf, packet_len(0x8a), &sd->bl, SELF);
+ if(disguised(bl)) {
+ WBUFL(buf, 2) = - bl->id;
+ clif_send(buf, packet_len(0x8a), bl, SELF);
}
}
@@ -6115,7 +6112,7 @@ int clif_sendegg(struct map_session_data *sd)
* type = 5 -> param = hairstyle number
* If sd is null, the update is sent to nearby objects, otherwise it is sent only to that player.
*------------------------------------------*/
-int clif_send_petdata(struct map_session_data *sd, struct pet_data* pd, int type, int param)
+int clif_send_petdata(struct map_session_data* sd, struct pet_data* pd, int type, int param)
{
uint8 buf[16];
nullpo_retr(0, pd);
@@ -8675,7 +8672,7 @@ void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action_type,
if(pc_issit(sd)) {
//Bugged client? Just refresh them.
- clif_sitting(sd);
+ clif_sitting(&sd->bl);
return;
}
@@ -8690,17 +8687,17 @@ void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action_type,
pc_setsit(sd);
skill_sit(sd,1);
- clif_sitting(sd);
+ clif_sitting(&sd->bl);
break;
case 0x03: // standup
if (!pc_issit(sd)) {
//Bugged client? Just refresh them.
- clif_standing(sd);
+ clif_standing(&sd->bl);
return;
}
pc_setstand(sd);
skill_sit(sd,0);
- clif_standing(sd);
+ clif_standing(&sd->bl);
break;
}
}
@@ -10834,7 +10831,7 @@ void clif_parse_PMIgnore(int fd, struct map_session_data *sd)
WFIFOSET(fd, packet_len(0x0d1));
//Sort the ignore list.
- //FIXME: why not just use a simple shift-and-insert scheme instead?
+ //FIXME: why not just use a simple shift-and-insert scheme instead? [ultramage]
qsort (sd->ignore[0].name, MAX_IGNORE_LIST, sizeof(sd->ignore[0].name), pstrcmp);
}
else