Преглед изворни кода

Fixed numerous /W4 warnings (and created more :)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11514 54d463be-8e91-2dee-dedb-b68131a5f0ec
ultramage пре 17 година
родитељ
комит
4cfb15d8bb
22 измењених фајлова са 146 додато и 149 уклоњено
  1. 1 1
      src/common/mapindex.c
  2. 1 0
      src/common/mmo.h
  3. 4 3
      src/map/atcommand.c
  4. 15 24
      src/map/battle.c
  5. 3 4
      src/map/battle.h
  6. 19 16
      src/map/clif.c
  7. 1 1
      src/map/clif.h
  8. 2 2
      src/map/map.c
  9. 7 7
      src/map/map.h
  10. 1 1
      src/map/mob.h
  11. 2 2
      src/map/npc.c
  12. 4 6
      src/map/pc.c
  13. 1 1
      src/map/pc.h
  14. 4 3
      src/map/script.c
  15. 10 11
      src/map/skill.c
  16. 5 5
      src/map/skill.h
  17. 23 23
      src/map/status.c
  18. 3 2
      src/map/trade.c
  19. 1 1
      src/map/trade.h
  20. 19 16
      src/map/unit.c
  21. 13 13
      src/map/unit.h
  22. 7 7
      src/map/vending.c

+ 1 - 1
src/common/mapindex.c

@@ -17,7 +17,7 @@ struct _indexes {
 	char name[MAP_NAME_LENGTH]; //Stores map name
 } indexes[MAX_MAPINDEX];
 
-static unsigned short max_index = 0;
+int max_index = 0;
 
 char mapindex_cfgfile[80] = "db/map_index.txt";
 

+ 1 - 0
src/common/mmo.h

@@ -25,6 +25,7 @@
 //Number of slots carded equipment can have. Never set to less than 4 as they are also used to keep the data of forged items/equipment. [Skotlex]
 //Note: The client seems unable to receive data for more than 4 slots due to all related packets having a fixed size.
 #define MAX_SLOTS 4
+//Max amount of a single stacked item
 #define MAX_AMOUNT 30000
 #define MAX_ZENY 1000000000
 #define MAX_FAME 1000000000

+ 4 - 3
src/map/atcommand.c

@@ -2781,12 +2781,13 @@ static int atcommand_stopattack(struct block_list *bl,va_list ap)
 /*==========================================
  *
  *------------------------------------------*/
-static int atcommand_pvpoff_sub(struct block_list *bl,va_list ap) {
+static int atcommand_pvpoff_sub(struct block_list *bl,va_list ap)
+{
 	TBL_PC* sd = (TBL_PC*)bl;
 	clif_pvpset(sd, 0, 0, 2);
-	if (sd->pvp_timer != UINT_MAX) {
+	if (sd->pvp_timer != -1) {
 		delete_timer(sd->pvp_timer, pc_calc_pvprank_timer);
-		sd->pvp_timer = UINT_MAX;
+		sd->pvp_timer = -1;
 	}
 	return 0;
 }

+ 15 - 24
src/map/battle.c

@@ -144,7 +144,7 @@ struct delay_damage {
 	unsigned short distance;
 	unsigned short skill_lv;
 	unsigned short skill_id;
-	unsigned short dmg_lv;
+	enum damage_lv dmg_lv;
 	unsigned short attack_type;
 };
 
@@ -168,7 +168,7 @@ int battle_delay_damage_sub (int tid, unsigned int tick, int id, int data)
 	return 0;
 }
 
-int battle_delay_damage (unsigned int tick, struct block_list *src, struct block_list *target, int attack_type, int skill_id, int skill_lv, int damage, int dmg_lv, int ddelay)
+int battle_delay_damage (unsigned int tick, struct block_list *src, struct block_list *target, int attack_type, int skill_id, int skill_lv, int damage, enum damage_lv dmg_lv, int ddelay)
 {
 	struct delay_damage *dat;
 	nullpo_retr(0, src);
@@ -836,10 +836,10 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
 static struct Damage battle_calc_weapon_attack(
 	struct block_list *src,struct block_list *target,int skill_num,int skill_lv,int wflag)
 {
-	unsigned short skillratio = 100;	//Skill dmg modifiers.
+	unsigned int skillratio = 100;	//Skill dmg modifiers.
 	short skill=0;
 	short s_ele, s_ele_, t_class;
-	short i, nk;
+	int i, nk;
 
 	struct map_session_data *sd, *tsd;
 	struct Damage wd;
@@ -1838,8 +1838,8 @@ static struct Damage battle_calc_weapon_attack(
 		//Card Fix, sd side
 		if ((wd.damage || wd.damage2) && !(nk&NK_NO_CARDFIX_ATK))
 		{
-			short cardfix = 1000, cardfix_ = 1000;
-			short t_race2 = status_get_race2(target);	
+			int cardfix = 1000, cardfix_ = 1000;
+			int t_race2 = status_get_race2(target);	
 			if(sd->state.arrow_atk)
 			{
 				cardfix=cardfix*(100+sd->right_weapon.addrace[tstatus->race]+sd->arrow_addrace[tstatus->race])/100;
@@ -2097,12 +2097,11 @@ static struct Damage battle_calc_weapon_attack(
 /*==========================================
  * battle_calc_magic_attack [DracoRPG]
  *------------------------------------------*/
-struct Damage battle_calc_magic_attack(
-	struct block_list *src,struct block_list *target,int skill_num,int skill_lv,int mflag)
-	{
-	short i, nk;
+struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list *target,int skill_num,int skill_lv,int mflag)
+{
+	int i, nk;
 	short s_ele;
-	unsigned short skillratio = 100;	//Skill dmg modifiers.
+	unsigned int skillratio = 100;	//Skill dmg modifiers.
 
 	struct map_session_data *sd, *tsd;
 	struct Damage ad;
@@ -2392,7 +2391,7 @@ struct Damage battle_calc_magic_attack(
 	  	{	//Target cards.
 			short s_race2=status_get_race2(src);
 			short s_class= status_get_class(src);
-			short cardfix=1000;
+			int cardfix=1000;
 
 			if (!(nk&NK_NO_ELEFIX))
 				cardfix=cardfix*(100-tsd->subele[s_ele])/100;
@@ -2598,11 +2597,7 @@ struct Damage  battle_calc_misc_attack(struct block_list *src,struct block_list
 			}
 
 			hitrate+= sstatus->hit - flee;
-
-			if (hitrate > battle_config.max_hitrate)
-				hitrate = battle_config.max_hitrate;
-			else if (hitrate < battle_config.min_hitrate)
-				hitrate = battle_config.min_hitrate;
+			hitrate = cap_value(hitrate, battle_config.min_hitrate, battle_config.max_hitrate);
 
 			if(rand()%100 < hitrate)
 				i = 1;
@@ -2733,15 +2728,11 @@ void battle_drain(TBL_PC *sd, struct block_list *tbl, int rdamage, int ldamage,
 		
 		hp = wd->hp_drain[type].value;
 		if (wd->hp_drain[type].rate)
-			hp += battle_calc_drain(*damage,
-				wd->hp_drain[type].rate,
-		  		wd->hp_drain[type].per);
+			hp += battle_calc_drain(*damage, wd->hp_drain[type].rate, wd->hp_drain[type].per);
 
 		sp = wd->sp_drain[type].value;
 		if (wd->sp_drain[type].rate)
-			sp += battle_calc_drain(*damage,
-				wd->sp_drain[type].rate,
-			  	wd->sp_drain[type].per);
+			sp += battle_calc_drain(*damage, wd->sp_drain[type].rate, wd->sp_drain[type].per);
 
 		if (hp) {
 			if (wd->hp_drain[type].type)
@@ -2768,7 +2759,7 @@ void battle_drain(TBL_PC *sd, struct block_list *tbl, int rdamage, int ldamage,
 /*==========================================
  * ’Ê?í?UŒ‚?ˆ—?‚܂Ƃß
  *------------------------------------------*/
-int battle_weapon_attack(struct block_list* src, struct block_list* target, unsigned int tick, int flag)
+enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* target, unsigned int tick, int flag)
 {
 	struct map_session_data *sd = NULL, *tsd = NULL;
 	struct status_data *sstatus, *tstatus;

+ 3 - 4
src/map/battle.h

@@ -11,7 +11,7 @@ struct Damage {
 	int amotion,dmotion;
 	int blewcount;
 	int flag;
-	int dmg_lv;	//ATK_LUCKY,ATK_FLEE,ATK_DEF
+	enum damage_lv dmg_lv;	//ATK_LUCKY,ATK_FLEE,ATK_DEF
 };
 
 // 属性表(読み込みはpc.c、battle_attr_fixで使用)
@@ -48,11 +48,10 @@ enum {	// 
 	BF_SKILLMASK= 0x0f00,
 };
 
-int battle_delay_damage (unsigned int tick, struct block_list *src, struct block_list *target, int attack_type, int skill_id, int skill_lv, int damage, int dmg_lv, int ddelay);
+int battle_delay_damage (unsigned int tick, struct block_list *src, struct block_list *target, int attack_type, int skill_id, int skill_lv, int damage, enum damage_lv dmg_lv, int ddelay);
 
 // 通常攻撃処理まとめ
-int battle_weapon_attack( struct block_list *bl,struct block_list *target,
-	 unsigned int tick,int flag);
+enum damage_lv battle_weapon_attack( struct block_list *bl,struct block_list *target,unsigned int tick,int flag);
 
 // 各種パラメータを得る
 struct block_list* battle_get_master(struct block_list *src);

+ 19 - 16
src/map/clif.c

@@ -3925,7 +3925,7 @@ static void clif_getareachar_skillunit(struct map_session_data *sd, struct skill
 		WFIFOB(fd,14)=unit->group->unit_id;
 		WFIFOB(fd,15)=1;
 		WFIFOB(fd,16)=1;
-		safestrncpy(WFIFOP(fd,17),unit->group->valstr,MESSAGE_SIZE);
+		safestrncpy((char*)WFIFOP(fd,17),unit->group->valstr,MESSAGE_SIZE);
 		WFIFOSET(fd,packet_len(0x1c9));
 		return;
 	}
@@ -4559,7 +4559,7 @@ void clif_skill_setunit(struct skill_unit *unit)
 /*==========================================
  * ワープ場所選択
  *------------------------------------------*/
-void clif_skill_warppoint(struct map_session_data* sd, int skill_num, int skill_lv, int map1, int map2, int map3, int map4)
+void clif_skill_warppoint(struct map_session_data* sd, short skill_num, short skill_lv, unsigned short map1, unsigned short map2, unsigned short map3, unsigned short map4)
 {
 	int fd;
 	nullpo_retv(sd);
@@ -5017,7 +5017,7 @@ int clif_solved_charname(int fd, int charid, const char* name)
 	WFIFOHEAD(fd,packet_len(0x194));
 	WFIFOW(fd,0)=0x194;
 	WFIFOL(fd,2)=charid;
-	safestrncpy(WFIFOP(fd,6), name, NAME_LENGTH);
+	safestrncpy((char*)WFIFOP(fd,6), name, NAME_LENGTH);
 	WFIFOSET(fd,packet_len(0x194));
 	return 0;
 }
@@ -8145,7 +8145,7 @@ void clif_parse_Hotkey(int fd, struct map_session_data *sd) {
  *------------------------------------------*/
 void clif_parse_WalkToXY(int fd, struct map_session_data *sd)
 {
-	int x, y;
+	short x, y;
 	int cmd;
 
 	if (pc_isdead(sd)) {
@@ -9112,13 +9112,13 @@ void clif_parse_TradeAck(int fd,struct map_session_data *sd)
  *------------------------------------------*/
 void clif_parse_TradeAddItem(int fd,struct map_session_data *sd)
 {
-	int index = RFIFOW(fd,2);
+	short index = RFIFOW(fd,2);
 	int amount = RFIFOL(fd,4);
 
 	if( index == 0 )
 		trade_tradeaddzeny(sd, amount);
 	else
-		trade_tradeadditem(sd, index, amount);
+		trade_tradeadditem(sd, index, (short)amount);
 }
 
 /*==========================================
@@ -9218,7 +9218,7 @@ void clif_parse_SkillUp(int fd,struct map_session_data *sd)
 	pc_skillup(sd,RFIFOW(fd,2));
 }
 
-static void clif_parse_UseSkillToId_homun(struct homun_data *hd, struct map_session_data *sd, unsigned int tick, int skillnum, int skilllv, int target_id)
+static void clif_parse_UseSkillToId_homun(struct homun_data *hd, struct map_session_data *sd, unsigned int tick, short skillnum, short skilllv, int target_id)
 {
 	int lv;
 
@@ -9251,14 +9251,16 @@ static void clif_parse_UseSkillToId_homun(struct homun_data *hd, struct map_sess
  *------------------------------------------*/
 void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
 {
-	int skillnum, skilllv, tmp, target_id;
+	short skillnum, skilllv;
+	int tmp, target_id;
 	unsigned int tick = gettick();
 
 	skilllv = RFIFOW(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[0]);
-	if (skilllv < 1) skilllv = 1; //No clue, I have seen the client do this with guild skills :/ [Skotlex]
 	skillnum = RFIFOW(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[1]);
 	target_id = RFIFOL(fd,packet_db[sd->packet_ver][RFIFOW(fd,0)].pos[2]);
 
+	if (skilllv < 1) skilllv = 1; //No clue, I have seen the client do this with guild skills :/ [Skotlex]
+
 	//Whether skill fails or not is irrelevant, the char ain't idle. [Skotlex]
 	sd->idletime = last_tick;
 
@@ -9364,7 +9366,7 @@ void clif_parse_UseSkillToId(int fd, struct map_session_data *sd)
 /*==========================================
  * スキル使用(場所指定)
  *------------------------------------------*/
-void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, int skilllv, int skillnum, int x, int y, int skillmoreinfo)
+void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, short skilllv, short skillnum, short x, short y, int skillmoreinfo)
 {
 	int lv;
 	unsigned int tick = gettick();
@@ -9460,7 +9462,7 @@ void clif_parse_UseSkillToPosMoreInfo(int fd, struct map_session_data *sd)
  *------------------------------------------*/
 void clif_parse_UseSkillMap(int fd, struct map_session_data* sd)
 {
-	int skill_num = RFIFOW(fd,2);
+	short skill_num = RFIFOW(fd,2);
 	char map_name[MAP_NAME_LENGTH];
 	mapindex_getmapname((char*)RFIFOP(fd,4), map_name);
 
@@ -9858,7 +9860,7 @@ void clif_parse_PartyInvite(int fd, struct map_session_data *sd)
 void clif_parse_PartyInvite2(int fd, struct map_session_data *sd)
 {
 	struct map_session_data *t_sd;
-	char *name = RFIFOP(fd,2);
+	char *name = (char*)RFIFOP(fd,2);
 	name[NAME_LENGTH]='\0';
 
 	if(map[sd->bl.m].flag.partylock)
@@ -11239,7 +11241,7 @@ void clif_parse_HomMoveToMaster(int fd, struct map_session_data *sd)
 
 void clif_parse_HomMoveTo(int fd,struct map_session_data *sd)
 {	//[orn]
-	int x,y,cmd;
+	short x,y,cmd;
 	nullpo_retv(sd);
 
 	if(!merc_is_hom_active(sd->hd))
@@ -11487,7 +11489,7 @@ static int packetdb_readdb(void)
 	FILE *fp;
 	char line[1024];
 	int ln=0;
-	int cmd,i,j,k,packet_ver;
+	int cmd,i,j,packet_ver;
 	int max_cmd=-1;
 	int skip_ver = 0;
 	int warned = 0;
@@ -11792,8 +11794,8 @@ static int packetdb_readdb(void)
 			ShowError("packet_db: packet len error\n");
 			continue;
 		}
-		k = atoi(str[1]);
-		packet_db[packet_ver][cmd].len = k;
+
+		packet_db[packet_ver][cmd].len = (short)atoi(str[1]);
 
 		if(str[2]==NULL){
 			packet_db[packet_ver][cmd].func = NULL;
@@ -11826,6 +11828,7 @@ static int packetdb_readdb(void)
 			exit(EXIT_FAILURE);
 		}
 		for(j=0,p2=str[3];p2;j++){
+			short k;
 			str2[j]=p2;
 			p2=strchr(p2,':');
 			if(p2) *p2++=0;

+ 1 - 1
src/map/clif.h

@@ -203,7 +203,7 @@ int clif_skill_damage(struct block_list *src,struct block_list *dst,unsigned int
 int clif_skill_nodamage(struct block_list *src,struct block_list *dst,int skill_id,int heal,int fail);
 int clif_skill_poseffect(struct block_list *src,int skill_id,int val,int x,int y,int tick);
 int clif_skill_estimation(struct map_session_data *sd,struct block_list *dst);
-void clif_skill_warppoint(struct map_session_data* sd, int skill_num, int skill_lv, int map1, int map2, int map3, int map4);
+void clif_skill_warppoint(struct map_session_data* sd, int skill_num, int skill_lv, unsigned short map1, unsigned short map2, unsigned short map3, unsigned short map4);
 int clif_skill_memo(struct map_session_data *sd,int flag);
 int clif_skill_teleportmessage(struct map_session_data *sd,int flag);
 int clif_skill_produce_mix_list(struct map_session_data *sd, int trigger);

+ 2 - 2
src/map/map.c

@@ -2153,9 +2153,9 @@ int map_check_dir(int s_dir,int t_dir)
 /*==========================================
  * Returns the direction of the given cell, relative to 'src'
  *------------------------------------------*/
-int map_calc_dir(struct block_list* src, int x, int y)
+uint8 map_calc_dir(struct block_list* src, int x, int y)
 {
-	int dir = 0;
+	unsigned char dir = 0;
 	int dx, dy;
 	
 	nullpo_retr(0, src);

+ 7 - 7
src/map/map.h

@@ -290,7 +290,7 @@ struct skill_unit_group {
 	unsigned int tick;
 	int limit,interval;
 
-	int skill_id,skill_lv;
+	short skill_id,skill_lv;
 	int val1,val2,val3;
 	char *valstr;
 	int unit_id;
@@ -327,7 +327,7 @@ struct unit_data {
 	unsigned int attackabletime;
 	unsigned int canact_tick;
 	unsigned int canmove_tick;
-	unsigned char dir;
+	uint8 dir;
 	unsigned char walk_count;
 	struct {
 		unsigned change_walk_target : 1 ;
@@ -397,7 +397,7 @@ struct status_change {
 
 struct s_vending {
 	short index;
-	unsigned short amount;
+	short amount;
 	unsigned int value;
 };
 
@@ -753,7 +753,7 @@ struct map_session_data {
 	int trade_partner;
 	struct { 
 		struct {
-			int index, amount;
+			short index, amount;
 		} item[10];
 		int zeny, weight;
 	} deal;
@@ -780,7 +780,7 @@ struct map_session_data {
 	}feel_map[3];// 0 - Sun; 1 - Moon; 2 - Stars
 	short hate_mob[3];
 
-	unsigned int pvp_timer;
+	int pvp_timer;
 	short pvp_point;
 	unsigned short pvp_rank, pvp_lastusers;
 	unsigned short pvp_won, pvp_lost;
@@ -1024,7 +1024,7 @@ struct pet_data {
 };
 
 // state of a single attack attempt; used in flee/def penalty calculations when mobbed
-enum {
+enum damage_lv {
 	ATK_LUCKY=1, // attack was lucky-dodged
 	ATK_FLEE,    // attack was dodged
 	ATK_DEF      // attack connected
@@ -1346,7 +1346,7 @@ struct map_session_data * map_nick2sd(const char*);
 
 // ‚»‚Ì‘¼
 int map_check_dir(int s_dir,int t_dir);
-int map_calc_dir( struct block_list *src,int x,int y);
+unsigned char map_calc_dir( struct block_list *src,int x,int y);
 int map_random_dir(struct block_list *bl, short *x, short *y); // [Skotlex]
 
 // path.c‚æ‚è

+ 1 - 1
src/map/mob.h

@@ -66,7 +66,7 @@ struct mob_db {
 	char sprite[NAME_LENGTH],name[NAME_LENGTH],jname[NAME_LENGTH];
 	unsigned int base_exp,job_exp;
 	unsigned int mexp,mexpper;
-	int range2,range3;
+	short range2,range3;
 	short race2;	// celest
 	unsigned short lv;
 	struct { int nameid,p; } dropitem[MAX_MOB_DROP];

+ 2 - 2
src/map/npc.c

@@ -532,7 +532,7 @@ int npc_timerevent_stop(struct npc_data* nd)
 		return 0;
 	td = get_timer(*tid);
 	if (td && td->data) 
-		ers_free(timer_event_ers, (struct event_timer_data*)td->data);
+		ers_free(timer_event_ers, (void*)td->data);
 	delete_timer(*tid,npc_timerevent);
 	*tid = -1;
 	//Set the timer tick to the time that has passed since the beginning of the timers and now.
@@ -1316,7 +1316,7 @@ int npc_unload(struct npc_data* nd)
 			struct TimerData *td = NULL;
 			td = get_timer(nd->u.scr.timerid);
 			if (td && td->data) 
-				ers_free(timer_event_ers, (struct event_timer_data*)td->data);
+				ers_free(timer_event_ers, (void*)td->data);
 			delete_timer(nd->u.scr.timerid, npc_timerevent);
 		}
 		if (nd->u.scr.timer_event)

+ 4 - 6
src/map/pc.c

@@ -3398,7 +3398,7 @@ int pc_steal_coin(struct map_session_data *sd,struct block_list *target)
  * 2 - Map not in this map-server, and failed to locate alternate map-server.
  * 3 - Failed to warp player because it was in transition between maps.
  *------------------------------------------*/
-int pc_setpos(struct map_session_data *sd,unsigned short mapindex,int x,int y,int clrtype)
+int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y, uint8 clrtype)
 {
 	int m;
 
@@ -6688,11 +6688,9 @@ int pc_calc_pvprank_timer(int tid,unsigned int tick,int id,int data)
 	sd=map_id2sd(id);
 	if(sd==NULL)
 		return 0;
-	sd->pvp_timer=UINT_MAX;
-	if( pc_calc_pvprank(sd)>0 )
-		sd->pvp_timer=add_timer(
-			gettick()+PVP_CALCRANK_INTERVAL,
-			pc_calc_pvprank_timer,id,data);
+	sd->pvp_timer = -1;
+	if( pc_calc_pvprank(sd) > 0 )
+		sd->pvp_timer = add_timer(gettick()+PVP_CALCRANK_INTERVAL,pc_calc_pvprank_timer,id,data);
 	return 0;
 }
 

+ 1 - 1
src/map/pc.h

@@ -142,7 +142,7 @@ int pc_clean_skilltree(struct map_session_data *sd);
 #define pc_checkoverhp(sd) (sd->battle_status.hp == sd->battle_status.max_hp)
 #define pc_checkoversp(sd) (sd->battle_status.sp == sd->battle_status.max_sp)
 
-int pc_setpos(struct map_session_data*,unsigned short,int,int,int);
+int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y, uint8 clrtype);
 int pc_setsavepoint(struct map_session_data*,short,int,int);
 int pc_randomwarp(struct map_session_data *sd,int type);
 int pc_memo(struct map_session_data *sd,int i);

+ 4 - 3
src/map/script.c

@@ -9417,12 +9417,13 @@ BUILDIN_FUNC(pvpon)
 	return 0;
 }
 
-static int buildin_pvpoff_sub(struct block_list *bl,va_list ap) {
+static int buildin_pvpoff_sub(struct block_list *bl,va_list ap)
+{
 	TBL_PC* sd = (TBL_PC*)bl;
 	clif_pvpset(sd, 0, 0, 2);
-	if (sd->pvp_timer != UINT_MAX) {
+	if (sd->pvp_timer != -1) {
 		delete_timer(sd->pvp_timer, pc_calc_pvprank_timer);
-		sd->pvp_timer = UINT_MAX;
+		sd->pvp_timer = -1;
 	}
 	return 0;
 }

+ 10 - 11
src/map/skill.c

@@ -6481,7 +6481,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, int skillid, int sk
 /*==========================================
  * 
  *------------------------------------------*/
-int skill_castend_map (struct map_session_data *sd, int skill_num, const char *map)
+int skill_castend_map (struct map_session_data *sd, short skill_num, const char *map)
 {
 	nullpo_retr(0, sd);
 
@@ -6708,7 +6708,7 @@ static bool skill_dance_switch(struct skill_unit* unit, int flag)
  * flag&1 is used to determine when the skill 'morphs' (Warp portal becomes active, or Fire Pillar becomes active)
  * flag&2 is used to determine if this skill was casted with Magic Power active.
  *------------------------------------------*/
-struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid, int skilllv, int x, int y, int flag)
+struct skill_unit_group* skill_unitsetting (struct block_list *src, short skillid, short skilllv, short x, short y, int flag)
 {
 	struct skill_unit_group *group;
 	int i,limit,val1=0,val2=0,val3=0;
@@ -6975,7 +6975,8 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid,
 	for(i=0;i<layout->count;i++)
 	{
 		struct skill_unit *unit;
-		int ux,uy,alive=1;
+		short ux,uy;
+		int alive=1;
 		ux = x + layout->dx[i];
 		uy = y + layout->dy[i];
 
@@ -7942,13 +7943,13 @@ static int skill_check_condition_char_sub (struct block_list *bl, va_list ap)
 			}
 			break;
 	}
-	return 0;
+	//return 0;
 }
 
 /*==========================================
  * Checks and stores partners for ensemble skills [Skotlex]
  *------------------------------------------*/
-int skill_check_pc_partner (struct map_session_data *sd, int skill_id, int* skill_lv, int range, int cast_flag)
+int skill_check_pc_partner (struct map_session_data *sd, short skill_id, short* skill_lv, int range, int cast_flag)
 {
 	static int c=0;
 	static int p_sd[2] = { 0, 0 };
@@ -8039,7 +8040,7 @@ int skill_isammotype (struct map_session_data *sd, int skill)
  * &1: finished casting the skill (invoke hp/sp/item consumption)
  * &2: picked menu entry (Warp Portal, Teleport and other menu based skills)
  *------------------------------------------*/
-int skill_check_condition(struct map_session_data* sd, int skill, int lv, int type)
+int skill_check_condition(struct map_session_data* sd, short skill, short lv, int type)
 {
 	struct status_data *status;
 	struct status_change *sc;
@@ -9322,11 +9323,9 @@ int skill_sit (struct map_session_data *sd, int type)
 	if(type) {
 		if (map_foreachinrange(skill_sit_count,&sd->bl, range, BL_PC, flag) > 1)
 			map_foreachinrange(skill_sit_in,&sd->bl, range, BL_PC, flag);
-		return 0;
 	} else {
 		if (map_foreachinrange(skill_sit_count,&sd->bl, range, BL_PC, flag) < 2)
 			map_foreachinrange(skill_sit_out,&sd->bl, range, BL_PC, flag);
-		return 0;
 	}
 	return 0;
 }
@@ -9954,7 +9953,7 @@ int skill_delunit (struct skill_unit* unit)
  *------------------------------------------*/
 static int skill_unit_group_newid = MAX_SKILL_DB;
 
-struct skill_unit_group *skill_initunitgroup (struct block_list *src, int count, int skillid, int skilllv, int unit_id, int limit, int interval)
+struct skill_unit_group* skill_initunitgroup (struct block_list* src, int count, short skillid, short skilllv, int unit_id, int limit, int interval)
 {
 	struct unit_data* ud = unit_bl2ud( src );
 	struct skill_unit_group* group;
@@ -10406,7 +10405,7 @@ int skill_unit_move_sub (struct block_list* bl, va_list ap)
 	{
 		if( flag&1 )
 		{
-			unsigned int result = skill_unit_onplace(unit,target,tick);
+			int result = skill_unit_onplace(unit,target,tick);
 			if( flag&2 && result )
 			{	//Clear skill ids we have stored in onout.
 				ARR_FIND( 0, ARRAYLENGTH(skill_unit_temp), i, skill_unit_temp[i] == result );
@@ -10416,7 +10415,7 @@ int skill_unit_move_sub (struct block_list* bl, va_list ap)
 		}
 		else
 		{
-			unsigned int result = skill_unit_onout(unit,target,tick);
+			int result = skill_unit_onout(unit,target,tick);
 			if( flag&2 && result )
 			{	//Store this unit id.
 				ARR_FIND( 0, ARRAYLENGTH(skill_unit_temp), i, skill_unit_temp[i] == 0 );

+ 5 - 5
src/map/skill.h

@@ -191,7 +191,7 @@ const char*	skill_get_desc( int id ); 	// [Skotlex]
 int skill_isammotype(struct map_session_data *sd, int skill);
 int skill_castend_id( int tid, unsigned int tick, int id,int data );
 int skill_castend_pos( int tid, unsigned int tick, int id,int data );
-int skill_castend_map( struct map_session_data *sd,int skill_num, const char *map);
+int skill_castend_map( struct map_session_data *sd,short skill_num, const char *map);
 
 int skill_cleartimerskill(struct block_list *src);
 int skill_addtimerskill(struct block_list *src,unsigned int tick,int target,int x,int y,int skill_id,int skill_lv,int type,int flag);
@@ -203,10 +203,10 @@ int skill_blown(struct block_list* src, struct block_list* target, int count, in
 int skill_break_equip(struct block_list *bl, unsigned short where, int rate, int flag);
 int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int lv, int time);
 // ƒ†ƒjƒbƒgƒXƒLƒ‹
-struct skill_unit_group *skill_unitsetting( struct block_list *src, int skillid,int skilllv,int x,int y,int flag);
+struct skill_unit_group *skill_unitsetting(struct block_list* src, short skillid, short skilllv, short x, short y, int flag);
 struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int x, int y, int val1, int val2);
 int skill_delunit(struct skill_unit *unit);
-struct skill_unit_group *skill_initunitgroup(struct block_list *src, int count,int skillid,int skilllv,int unit_id, int limit, int interval);
+struct skill_unit_group *skill_initunitgroup(struct block_list* src, int count, short skillid, short skilllv, int unit_id, int limit, int interval);
 int skill_delunitgroup(struct block_list *src, struct skill_unit_group *group);
 int skill_clear_unitgroup(struct block_list *src);
 int skill_clear_group(struct block_list *bl, int flag);
@@ -217,8 +217,8 @@ int skill_unit_ondamaged(struct skill_unit *src,struct block_list *bl,
 int skill_castfix( struct block_list *bl, int skill_id, int skill_lv);
 int skill_castfix_sc( struct block_list *bl, int time);
 int skill_delayfix( struct block_list *bl, int skill_id, int skill_lv);
-int skill_check_condition( struct map_session_data *sd,int skill, int lv, int type);
-int skill_check_pc_partner(struct map_session_data *sd, int skill_id, int* skill_lv, int range, int cast_flag);
+int skill_check_condition( struct map_session_data *sd, short skill, short lv, int type);
+int skill_check_pc_partner(struct map_session_data *sd, short skill_id, short* skill_lv, int range, int cast_flag);
 // -- moonsoul	(added skill_check_unit_cell)
 int skill_check_unit_cell(int skillid,int m,int x,int y,int unit_id);
 int skill_unit_out_all( struct block_list *bl,unsigned int tick,int range);

+ 23 - 23
src/map/status.c

@@ -3173,7 +3173,7 @@ static unsigned short status_calc_str(struct block_list *bl, struct status_chang
 	if(sc->data[SC_SPIRIT].timer!=-1 && sc->data[SC_SPIRIT].val2 == SL_HIGH && str < 50)
 		str = 50;
 
-	return cap_value(str,0,USHRT_MAX);
+	return (unsigned short)cap_value(str,0,USHRT_MAX);
 }
 
 static unsigned short status_calc_agi(struct block_list *bl, struct status_change *sc, int agi)
@@ -3212,7 +3212,7 @@ static unsigned short status_calc_agi(struct block_list *bl, struct status_chang
 	if(sc->data[SC_SPIRIT].timer!=-1 && sc->data[SC_SPIRIT].val2 == SL_HIGH && agi < 50)
 		agi = 50;
 
-	return cap_value(agi,0,USHRT_MAX);
+	return (unsigned short)cap_value(agi,0,USHRT_MAX);
 }
 
 static unsigned short status_calc_vit(struct block_list *bl, struct status_change *sc, int vit)
@@ -3241,7 +3241,7 @@ static unsigned short status_calc_vit(struct block_list *bl, struct status_chang
 	if(sc->data[SC_SPIRIT].timer!=-1 && sc->data[SC_SPIRIT].val2 == SL_HIGH && vit < 50)
 		vit = 50;
 
-	return cap_value(vit,0,USHRT_MAX);
+	return (unsigned short)cap_value(vit,0,USHRT_MAX);
 }
 
 static unsigned short status_calc_int(struct block_list *bl, struct status_change *sc, int int_)
@@ -3278,7 +3278,7 @@ static unsigned short status_calc_int(struct block_list *bl, struct status_chang
 	if(sc->data[SC_SPIRIT].timer!=-1 && sc->data[SC_SPIRIT].val2 == SL_HIGH && int_ < 50)
 		int_ = 50;
 
-	return cap_value(int_,0,USHRT_MAX);
+	return (unsigned short)cap_value(int_,0,USHRT_MAX);
 }
 
 static unsigned short status_calc_dex(struct block_list *bl, struct status_change *sc, int dex)
@@ -3320,7 +3320,7 @@ static unsigned short status_calc_dex(struct block_list *bl, struct status_chang
 	if(sc->data[SC_SPIRIT].timer!=-1 && sc->data[SC_SPIRIT].val2 == SL_HIGH && dex < 50)
 		dex  = 50;
 
-	return cap_value(dex,0,USHRT_MAX);
+	return (unsigned short)cap_value(dex,0,USHRT_MAX);
 }
 
 static unsigned short status_calc_luk(struct block_list *bl, struct status_change *sc, int luk)
@@ -3347,7 +3347,7 @@ static unsigned short status_calc_luk(struct block_list *bl, struct status_chang
 	if(sc->data[SC_SPIRIT].timer!=-1 && sc->data[SC_SPIRIT].val2 == SL_HIGH && luk < 50)
 		luk = 50;
 
-	return cap_value(luk,0,USHRT_MAX);
+	return (unsigned short)cap_value(luk,0,USHRT_MAX);
 }
 
 static unsigned short status_calc_batk(struct block_list *bl, struct status_change *sc, int batk)
@@ -3382,7 +3382,7 @@ static unsigned short status_calc_batk(struct block_list *bl, struct status_chan
 		batk += sc->data[SC_GATLINGFEVER].val3;
 	if(sc->data[SC_MADNESSCANCEL].timer!=-1)
 		batk += 100;
-	return cap_value(batk,0,USHRT_MAX);
+	return (unsigned short)cap_value(batk,0,USHRT_MAX);
 }
 
 static unsigned short status_calc_watk(struct block_list *bl, struct status_change *sc, int watk)
@@ -3425,7 +3425,7 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
 	if(sc->data[SC_STRIPWEAPON].timer!=-1)
 		watk -= watk * sc->data[SC_STRIPWEAPON].val2/100;
 
-	return cap_value(watk,0,USHRT_MAX);
+	return (unsigned short)cap_value(watk,0,USHRT_MAX);
 }
 
 static unsigned short status_calc_matk(struct block_list *bl, struct status_change *sc, int matk)
@@ -3444,7 +3444,7 @@ static unsigned short status_calc_matk(struct block_list *bl, struct status_chan
 	if(sc->data[SC_INCMATKRATE].timer!=-1)
 		matk += matk * sc->data[SC_INCMATKRATE].val1/100;
 
-	return cap_value(matk,0,USHRT_MAX);
+	return (unsigned short)cap_value(matk,0,USHRT_MAX);
 }
 
 static signed short status_calc_critical(struct block_list *bl, struct status_change *sc, int critical)
@@ -3461,7 +3461,7 @@ static signed short status_calc_critical(struct block_list *bl, struct status_ch
 	if(sc->data[SC_CLOAKING].timer!=-1)
 		critical += critical;
 
-	return cap_value(critical,10,SHRT_MAX);
+	return (short)cap_value(critical,10,SHRT_MAX);
 }
 
 static signed short status_calc_hit(struct block_list *bl, struct status_change *sc, int hit)
@@ -3489,7 +3489,7 @@ static signed short status_calc_hit(struct block_list *bl, struct status_change
 	if(sc->data[SC_INCREASING].timer!=-1)
 		hit += 20; // RockmanEXE; changed based on updated [Reddozen]
 	
-	return cap_value(hit,1,SHRT_MAX);
+	return (short)cap_value(hit,1,SHRT_MAX);
 }
 
 static signed short status_calc_flee(struct block_list *bl, struct status_change *sc, int flee)
@@ -3529,7 +3529,7 @@ static signed short status_calc_flee(struct block_list *bl, struct status_change
 	if(sc->data[SC_SPEED].timer!=-1)
 		flee += 10 + sc->data[SC_SPEED].val1 * 10 ;
 
-	return cap_value(flee,1,SHRT_MAX);
+	return (short)cap_value(flee,1,SHRT_MAX);
 }
 
 static signed short status_calc_flee2(struct block_list *bl, struct status_change *sc, int flee2)
@@ -3540,7 +3540,7 @@ static signed short status_calc_flee2(struct block_list *bl, struct status_chang
 	if(sc->data[SC_WHISTLE].timer!=-1)
 		flee2 += sc->data[SC_WHISTLE].val3*10;
 
-	return cap_value(flee2,10,SHRT_MAX);
+	return (short)cap_value(flee2,10,SHRT_MAX);
 }
 
 static signed char status_calc_def(struct block_list *bl, struct status_change *sc, int def)
@@ -3583,7 +3583,7 @@ static signed char status_calc_def(struct block_list *bl, struct status_change *
 	if (sc->data[SC_FLING].timer!=-1)
 		def -= def * (sc->data[SC_FLING].val2)/100;
 
-	return cap_value(def,0,CHAR_MAX);
+	return (char)cap_value(def,0,CHAR_MAX);
 }
 
 static signed short status_calc_def2(struct block_list *bl, struct status_change *sc, int def2)
@@ -3617,7 +3617,7 @@ static signed short status_calc_def2(struct block_list *bl, struct status_change
 	if(sc->data[SC_FLING].timer!=-1)
 		def2 -= def2 * (sc->data[SC_FLING].val3)/100;
 
-	return cap_value(def2,1,SHRT_MAX);
+	return (short)cap_value(def2,1,SHRT_MAX);
 }
 
 static signed char status_calc_mdef(struct block_list *bl, struct status_change *sc, int mdef)
@@ -3642,7 +3642,7 @@ static signed char status_calc_mdef(struct block_list *bl, struct status_change
 	if(sc->data[SC_ENDURE].timer!=-1 && sc->data[SC_ENDURE].val4 == 0)
 		mdef += sc->data[SC_ENDURE].val1;
 
-	return cap_value(mdef,0,CHAR_MAX);
+	return (char)cap_value(mdef,0,CHAR_MAX);
 }
 
 static signed short status_calc_mdef2(struct block_list *bl, struct status_change *sc, int mdef2)
@@ -3655,7 +3655,7 @@ static signed short status_calc_mdef2(struct block_list *bl, struct status_chang
 	if(sc->data[SC_MINDBREAKER].timer!=-1)
 		mdef2 -= mdef2 * sc->data[SC_MINDBREAKER].val3/100;
 
-	return cap_value(mdef2,1,SHRT_MAX);
+	return (short)cap_value(mdef2,1,SHRT_MAX);
 }
 
 static unsigned short status_calc_speed(struct block_list *bl, struct status_change *sc, int speed)
@@ -3731,7 +3731,7 @@ static unsigned short status_calc_speed(struct block_list *bl, struct status_cha
 	if(sc->data[SC_SLOWDOWN].timer!=-1)
 		speed = speed * 100/75;
 	
-	return cap_value(speed,10,USHRT_MAX);
+	return (short)cap_value(speed,10,USHRT_MAX);
 }
 
 static short status_calc_aspd_rate(struct block_list *bl, struct status_change *sc, int aspd_rate)
@@ -3830,7 +3830,7 @@ static short status_calc_aspd_rate(struct block_list *bl, struct status_change *
 			aspd_rate += 100;
 	}
 
-	return cap_value(aspd_rate,0,SHRT_MAX);
+	return (short)cap_value(aspd_rate,0,SHRT_MAX);
 }
 
 static unsigned short status_calc_dmotion(struct block_list *bl, struct status_change *sc, int dmotion)
@@ -3845,7 +3845,7 @@ static unsigned short status_calc_dmotion(struct block_list *bl, struct status_c
 	if(sc->data[SC_RUN].timer!=-1)
 		return 0;
 
-	return cap_value(dmotion,0,USHRT_MAX);
+	return (unsigned short)cap_value(dmotion,0,USHRT_MAX);
 }
 
 static unsigned int status_calc_maxhp(struct block_list *bl, struct status_change *sc, unsigned int maxhp)
@@ -3892,7 +3892,7 @@ static unsigned char status_calc_element(struct block_list *bl, struct status_ch
 		return ELE_UNDEAD;
 	if( sc->data[SC_ELEMENTALCHANGE].timer!=-1)
 		return sc->data[SC_ELEMENTALCHANGE].val2;
-	return cap_value(element,0,UCHAR_MAX);
+	return (unsigned char)cap_value(element,0,UCHAR_MAX);
 }
 
 static unsigned char status_calc_element_lv(struct block_list *bl, struct status_change *sc, int lv)
@@ -3909,7 +3909,7 @@ static unsigned char status_calc_element_lv(struct block_list *bl, struct status
 		return 1;
 	if(sc->data[SC_ELEMENTALCHANGE].timer!=-1)
 		return sc->data[SC_ELEMENTALCHANGE].val1;
-	return cap_value(lv,1,4);
+	return (unsigned char)cap_value(lv,1,4);
 }
 
 
@@ -3935,7 +3935,7 @@ unsigned char status_calc_attack_element(struct block_list *bl, struct status_ch
 		return ELE_DARK;
 	if( sc->data[SC_GHOSTWEAPON].timer!=-1)
 		return ELE_GHOST;
-	return cap_value(element,0,UCHAR_MAX);
+	return (unsigned char)cap_value(element,0,UCHAR_MAX);
 }
 
 static unsigned short status_calc_mode(struct block_list *bl, struct status_change *sc, int mode)

+ 3 - 2
src/map/trade.c

@@ -228,7 +228,8 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd)
 	struct item inventory[MAX_INVENTORY];
 	struct item inventory2[MAX_INVENTORY];
 	struct item_data *data;
-	int trade_i, i, amount, n;
+	int trade_i, i, n;
+	short amount;
 
 	if(sd->state.finalsave || tsd->state.finalsave)
 		return 0; //Item transferring fails 
@@ -312,7 +313,7 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd)
 /*==========================================
  * Adds an item/qty to the trade window
  *------------------------------------------*/
-void trade_tradeadditem(struct map_session_data *sd, int index, int amount)
+void trade_tradeadditem(struct map_session_data *sd, short index, short amount)
 {
 	struct map_session_data *target_sd;
 	struct item *item;

+ 1 - 1
src/map/trade.h

@@ -9,7 +9,7 @@ struct map_session_data;
 
 void trade_traderequest(struct map_session_data *sd, struct map_session_data *target_sd);
 void trade_tradeack(struct map_session_data *sd,int type);
-void trade_tradeadditem(struct map_session_data *sd,int index,int amount);
+void trade_tradeadditem(struct map_session_data *sd,short index,short amount);
 void trade_tradeaddzeny(struct map_session_data *sd,int amount);
 void trade_tradeok(struct map_session_data *sd);
 void trade_tradecancel(struct map_session_data *sd);

+ 19 - 16
src/map/unit.c

@@ -31,8 +31,8 @@
 #include <string.h>
 
 
-const int dirx[8]={0,-1,-1,-1,0,1,1,1};
-const int diry[8]={1,1,0,-1,-1,-1,0,1};
+const short dirx[8]={0,-1,-1,-1,0,1,1,1};
+const short diry[8]={1,1,0,-1,-1,-1,0,1};
 
 struct unit_data* unit_bl2ud(struct block_list *bl)
 {
@@ -103,7 +103,8 @@ int unit_walktoxy_sub(struct block_list *bl)
 static int unit_walktoxy_timer(int tid,unsigned int tick,int id,int data)
 {
 	int i;
-	int x,y,dx,dy,dir;
+	int x,y,dx,dy;
+	uint8 dir;
 	struct block_list       *bl;
 	struct map_session_data *sd = NULL;
 	struct mob_data         *md = NULL;
@@ -272,7 +273,7 @@ static int unit_delay_walktoxy_timer(int tid, unsigned int tick, int id, int dat
 //&1 -> 1/0 = easy/hard
 //&2 -> force walking
 //&4 -> Delay walking if the reason you can't walk is the canwalk delay
-int unit_walktoxy( struct block_list *bl, int x, int y, int flag)
+int unit_walktoxy( struct block_list *bl, short x, short y, int flag)
 {
 	struct unit_data* ud = NULL;
 	struct status_change* sc = NULL;
@@ -401,7 +402,8 @@ int unit_walktobl(struct block_list *bl, struct block_list *tbl, int range, int
 int unit_run(struct block_list *bl)
 {
 	struct status_change *sc = status_get_sc(bl);
-	int i,to_x,to_y,dir_x,dir_y;
+	short to_x,to_y,dir_x,dir_y;
+	int i;
 
 	if (!sc || !sc->count || sc->data[SC_RUN].timer == -1)
 		return 0;
@@ -454,7 +456,7 @@ int unit_run(struct block_list *bl)
 }
 
 //Makes bl attempt to run dist cells away from target. Uses hard-paths.
-int unit_escape(struct block_list *bl, struct block_list *target, int dist)
+int unit_escape(struct block_list *bl, struct block_list *target, short dist)
 {
 	int dir = map_calc_dir(target, bl->x, bl->y);
 	while( dist > 0 && map_getcell(bl->m, bl->x + dist*dirx[dir], bl->y + dist*diry[dir], CELL_CHKNOREACH) )
@@ -463,9 +465,10 @@ int unit_escape(struct block_list *bl, struct block_list *target, int dist)
 }
 
 //Instant warp function.
-int unit_movepos(struct block_list *bl,int dst_x,int dst_y, int easy, int checkpath)
+int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int easy, bool checkpath)
 {
-	int dx,dy,dir;
+	short dx,dy;
+	uint8 dir;
 	struct unit_data        *ud = NULL;
 	struct map_session_data *sd = NULL;
 	struct walkpath_data wpd;
@@ -535,7 +538,7 @@ int unit_setdir(struct block_list *bl,unsigned char dir)
 	return 0;
 }
 
-int unit_getdir(struct block_list *bl)
+uint8 unit_getdir(struct block_list *bl)
 {
 	struct unit_data *ud;
 	nullpo_retr( 0, bl );
@@ -547,7 +550,7 @@ int unit_getdir(struct block_list *bl)
 //Warps a unit/ud to a given map/position. 
 //In the case of players, pc_setpos is used.
 //it respects the no warp flags, so it is safe to call this without doing nowarpto/nowarp checks.
-int unit_warp(struct block_list *bl,int m,short x,short y,int type)
+int unit_warp(struct block_list *bl,short m,short x,short y,uint8 type)
 {
 	struct unit_data *ud;
 	nullpo_retr(0, bl);
@@ -666,7 +669,7 @@ int unit_stop_walking(struct block_list *bl,int type)
 	return 1;
 }
 
-int unit_skilluse_id(struct block_list *src, int target_id, int skill_num, int skill_lv)
+int unit_skilluse_id(struct block_list *src, int target_id, short skill_num, short skill_lv)
 {
 	if(skill_num < 0) return 0;
 
@@ -780,7 +783,7 @@ int unit_set_walkdelay(struct block_list *bl, unsigned int tick, int delay, int
 	return 1;
 }
 
-int unit_skilluse_id2(struct block_list *src, int target_id, int skill_num, int skill_lv, int casttime, int castcancel)
+int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, short skill_lv, int casttime, int castcancel)
 {
 	struct unit_data *ud;
 	struct status_data *tstatus;
@@ -1053,7 +1056,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, int skill_num, int
 	return 1;
 }
 
-int unit_skilluse_pos(struct block_list *src, int skill_x, int skill_y, int skill_num, int skill_lv)
+int unit_skilluse_pos(struct block_list *src, short skill_x, short skill_y, short skill_num, short skill_lv)
 {
 	if(skill_num < 0)
 		return 0;
@@ -1064,7 +1067,7 @@ int unit_skilluse_pos(struct block_list *src, int skill_x, int skill_y, int skil
 	);
 }
 
-int unit_skilluse_pos2( struct block_list *src, int skill_x, int skill_y, int skill_num, int skill_lv, int casttime, int castcancel)
+int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, short skill_num, short skill_lv, int casttime, int castcancel)
 {
 	struct map_session_data *sd = NULL;
 	struct unit_data        *ud = NULL;
@@ -1602,7 +1605,7 @@ int unit_changeviewsize(struct block_list *bl,short size)
  * Otherwise it is assumed bl is being warped.
  * On-Kill specific stuff is not performed here, look at status_damage for that.
  *------------------------------------------*/
-int unit_remove_map(struct block_list *bl, int clrtype)
+int unit_remove_map(struct block_list *bl, uint8 clrtype)
 {
 	struct unit_data *ud = unit_bl2ud(bl);
 	struct status_change *sc = status_get_sc(bl);
@@ -1750,7 +1753,7 @@ int unit_remove_map(struct block_list *bl, int clrtype)
  * If clrtype is <0, no saving is performed. This is only for non-authed
  * objects that shouldn't be on a map yet.
  *------------------------------------------*/
-int unit_free(struct block_list *bl, int clrtype)
+int unit_free(struct block_list *bl, uint8 clrtype)
 {
 	struct unit_data *ud = unit_bl2ud( bl );
 	nullpo_retr(0, ud);

+ 13 - 13
src/map/unit.h

@@ -12,7 +12,7 @@ struct unit_data;
 
 // 歩行開始
 //     戻り値は、0 ( 成功 ), 1 ( 失敗 )
-int unit_walktoxy( struct block_list *bl, int x, int y, int easy);
+int unit_walktoxy( struct block_list *bl, short x, short y, int easy);
 int unit_walktobl( struct block_list *bl, struct block_list *target, int range, int easy);
 int unit_run(struct block_list *bl);
 
@@ -26,12 +26,12 @@ int unit_can_move(struct block_list *bl);
 int unit_is_walking(struct block_list *bl);
 int unit_set_walkdelay(struct block_list *bl, unsigned int tick, int delay, int type);
 
-int unit_escape(struct block_list *bl, struct block_list *target, int dist);
+int unit_escape(struct block_list *bl, struct block_list *target, short dist);
 // 位置の強制移動(吹き飛ばしなど)
-int unit_movepos(struct block_list *bl,int dst_x,int dst_y, int easy, int checkpath);
-int unit_warp(struct block_list *bl, int map, short x, short y, int type);
+int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int easy, bool checkpath);
+int unit_warp(struct block_list *bl, short map, short x, short y, uint8 type);
 int unit_setdir(struct block_list *bl,unsigned char dir);
-int unit_getdir(struct block_list *bl);
+uint8 unit_getdir(struct block_list *bl);
 
 // そこまで歩行でたどり着けるかの判定
 int unit_can_reach_pos(struct block_list *bl,int x,int y,int easy);
@@ -43,12 +43,12 @@ int unit_attack(struct block_list *src,int target_id,int continuous);
 int unit_cancel_combo(struct block_list *bl);
 
 // スキル使用
-int unit_skilluse_id(struct block_list *src, int target_id, int skill_num, int skill_lv);
-int unit_skilluse_pos(struct block_list *src, int skill_x, int skill_y, int skill_num, int skill_lv);
+int unit_skilluse_id(struct block_list *src, int target_id, short skill_num, short skill_lv);
+int unit_skilluse_pos(struct block_list *src, short skill_x, short skill_y, short skill_num, short skill_lv);
 
 // スキル使用( 補正済みキャスト時間、キャンセル不可設定付き )
-int unit_skilluse_id2(struct block_list *src, int target_id, int skill_num, int skill_lv, int casttime, int castcancel);
-int unit_skilluse_pos2( struct block_list *src, int skill_x, int skill_y, int skill_num, int skill_lv, int casttime, int castcancel);
+int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, short skill_lv, int casttime, int castcancel);
+int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, short skill_num, short skill_lv, int casttime, int castcancel);
 
 // 詠唱キャンセル
 int unit_skillcastcancel(struct block_list *bl,int type);
@@ -61,15 +61,15 @@ void unit_dataset(struct block_list *bl);
 int unit_fixdamage(struct block_list *src,struct block_list *target,unsigned int tick,int sdelay,int ddelay,int damage,int div,int type,int damage2);
 // その他
 struct unit_data* unit_bl2ud(struct block_list *bl);
-int unit_remove_map(struct block_list *bl, int clrtype);
-int unit_free(struct block_list *bl, int clrtype);
+int unit_remove_map(struct block_list *bl, uint8 clrtype);
+int unit_free(struct block_list *bl, uint8 clrtype);
 int unit_changeviewsize(struct block_list *bl,short size);
 
 // 初期化ルーチン
 int do_init_unit(void);
 int do_final_unit(void);
 
-extern const int dirx[8];
-extern const int diry[8];
+extern const short dirx[8];
+extern const short diry[8];
 
 #endif /* _UNIT_H_ */

+ 7 - 7
src/map/vending.c

@@ -81,8 +81,8 @@ void vending_purchasereq(struct map_session_data* sd, int id, const uint8* data,
 	w = 0;  // weight counter
 	for( i = 0; i < count; i++ )
 	{
-		unsigned short amount = *(uint16*)(data + 4*i + 0);
-		short idx             = *(uint16*)(data + 4*i + 2);
+		short amount = *(uint16*)(data + 4*i + 0);
+		short idx    = *(uint16*)(data + 4*i + 2);
 		idx -= 2;
 
 		if( amount <= 0 )
@@ -150,8 +150,8 @@ void vending_purchasereq(struct map_session_data* sd, int id, const uint8* data,
 
 	for( i = 0; i < count; i++ )
 	{
-		unsigned short amount = *(uint16*)(data + 4*i + 0);
-		short idx             = *(uint16*)(data + 4*i + 2);
+		short amount = *(uint16*)(data + 4*i + 0);
+		short idx    = *(uint16*)(data + 4*i + 2);
 		idx -= 2;
 
 		//Logs sold (V)ending items [Lupus]
@@ -248,9 +248,9 @@ void vending_openvending(struct map_session_data* sd, const char* message, bool
 	i = 0;
 	for( j = 0; j < count; j++ )
 	{
-		int index           = *(uint16*)(data + 8*j + 0);
-		unsigned int amount = *(uint16*)(data + 8*j + 2);
-		unsigned int value  = *(uint32*)(data + 8*j + 4);
+		short index        = *(uint16*)(data + 8*j + 0);
+		short amount       = *(uint16*)(data + 8*j + 2);
+		unsigned int value = *(uint32*)(data + 8*j + 4);
 
 		index -= 2; // offset adjustment (client says that the first cart position is 2)