summaryrefslogtreecommitdiff
path: root/src/map/map.h
diff options
context:
space:
mode:
author(no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-01-26 14:28:19 +0000
committer(no author) <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-01-26 14:28:19 +0000
commit7923c32b8ebfbebd09dc0d783e93fef51a4ec38b (patch)
tree9ab81fa169eb48e71e208f080e5f776f066cad51 /src/map/map.h
parent8ca00fc7e0e1457b1cb1537e2caeefa150344360 (diff)
downloadhercules-7923c32b8ebfbebd09dc0d783e93fef51a4ec38b.tar.gz
hercules-7923c32b8ebfbebd09dc0d783e93fef51a4ec38b.tar.bz2
hercules-7923c32b8ebfbebd09dc0d783e93fef51a4ec38b.tar.xz
hercules-7923c32b8ebfbebd09dc0d783e93fef51a4ec38b.zip
* Fixed a bug in gettick cache when compiling in Windows
- Changed "read_map_from_bitmap" to "read_map_from_cache" in map_athena, "map_bitmap_path" to "map_cache_file" - Fixed item effects not showing when only one was used - Fixed a bug in Safety Wall - Allow only either Storm Gust or Lord of Vermillion to cause damage if stacked together - Added path_search_long, map_find_skill_unit_oncell git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@998 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/map.h')
-rw-r--r--src/map/map.h54
1 files changed, 21 insertions, 33 deletions
diff --git a/src/map/map.h b/src/map/map.h
index ed66e5669..1d0f7a432 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -100,7 +100,7 @@ struct skill_unit_group {
};
struct skill_unit_group_tickset {
unsigned int tick;
- int group_id;
+ int id;
};
struct skill_timerskill {
int timer;
@@ -505,15 +505,10 @@ enum {
EQP_HELM = 0x0100, // ����i
};
-#define MAX_CELL_TYPE 7 //���ł̓Z���̃^�C�v�͐����I��6���ő�Ȃ̂�7�ɂ����A
- //MAX_CELL_TYPE+1�̓��[�v�|�C���g�Ȃǂ̃^�b�`�n��
-
struct map_data {
char name[24];
unsigned char *gat; // NULL�Ȃ牺��map_data_other_server�Ƃ��Ĉ���
char *alias; // [MouseJstr]
- int *gat_fileused[MAX_CELL_TYPE+1+1]; //�����r�b�g�}�b�v���g���Ȃ炱������g���A
- //���gat�̓L���X�g�����gat_fileused[0]�Ɏw��
struct block_list **block;
struct block_list **block_mob;
int *block_count,*block_mob_count;
@@ -567,8 +562,6 @@ struct map_data_other_server {
unsigned long ip;
unsigned int port;
};
-#define read_gat(m,x,y) (map_getcell(m,x,y,CELL_CHKTYPE)) //�r�b�g�}�b�v�g���ꍇ���\CPU�ɕ��S������̂ŁA���ɓI�Ɏg����
-#define read_gatp(m,x,y) (map_getcellp(m,x,y,CELL_CHKTYPE)) //����
struct flooritem_data {
struct block_list bl;
@@ -627,24 +620,20 @@ enum {
LOOK_BASE,LOOK_HAIR,LOOK_WEAPON,LOOK_HEAD_BOTTOM,LOOK_HEAD_TOP,LOOK_HEAD_MID,LOOK_HAIR_COLOR,LOOK_CLOTHES_COLOR,LOOK_SHIELD,LOOK_SHOES
};
-/*-------CELL_CHK*----------------
- * CELL_CHKPASS: �Z����0,3,6�̂ǂ������̏ꍇ��1��Ԃ��A�ȊO��0
- * CELL_CHKNOPASS: �Z����1�A5�̂ǂ������̏ꍇ��1��Ԃ��A�ȊO��0
- * CELL_CHKWATER: �Z����3�̏ꍇ��1��Ԃ��A�ȊO��0
- * CELL_CHKHIGH�F �Z����5�̏ꍇ��1��Ԃ��A�ȊO��0
- * CHELL_CHKTOUCH�F�Z���̓^�b�`�n�̏ꍇ��1��Ԃ��A�ȊO��0
- * CELL_CHKTYPE�F �Z���̃^�C�v��m�肽���ꍇ��1��Ԃ��A�ȊO��0
-*/
-typedef enum {
- CELL_CHKPASS,CELL_CHKNOPASS,CELL_CHKWATER=3,CELL_CHKHIGH=5,CELL_CHKTOUCH,CELL_CHKTYPE
-} CELL_CHK;
-
-/*-------CELL_SET*---------------
- * �قƂ�ǂ͏�ƑΉ��A�ݒ�p
+/*
+ * map_getcell()�����Ī����ի髰
*/
-typedef enum {
- CELL_SETPASS,CELL_SETNOPASS,CELL_SETWATER=3,CELL_SETHIGH=5,CELL_SETNOHIGH,CELL_SETTOUCH
-} CELL_SET;
+typedef enum {
+ CELL_CHKWALL=1, // ��(���뫿����1)
+ CELL_CHKWATER=3, // ���(���뫿����3)
+ CELL_CHKGROUND=5, // ������ڪ(���뫿����5)
+ CELL_CHKNPC=0x80, // ���ë������ת�NPC(���뫿����0x80�ի髰)
+ CELL_CHKPASS, // ��Φʦ��(���뫿����1,5���)
+ CELL_CHKNOPASS, // ��Φ��ʦ(���뫿����1,5)
+ CELL_GETTYPE // ���뫿���ת�����
+} cell_t;
+// map_setcell()�����Ī����ի髰
+#define CELL_SETNPC 0x80 // ���ë������ת�NPC�򫻫ë�
struct chat_data {
struct block_list bl;
@@ -667,11 +656,11 @@ extern int autosave_interval;
extern int agit_flag;
extern int night_flag; // 0=day, 1=night [Yor]
-//------bitmap�g�p��grf�t�@�C���g�p�����Ή��ł��邽�߂ɒlj��A�܂��A
-//�Z���̎擾��ݒ�͗񋓌^CELL_CHK*��CELL_SET*���g���������Ӑ}���킩��₷���̂ŕύX���Ă݂�
-int map_getcell(int,int,int,CELL_CHK);
-int map_getcellp(struct map_data*,int,int,CELL_CHK);
-extern int map_read_flag; //�Z�����̃\�[�X����t���O�A0�Ȃ�grf�t�@�C���A1�Ȃ�r�b�g�}�b�v�t�@�C��
+// gat?֧
+int map_getcell(int,int,int,cell_t);
+int map_getcellp(struct map_data*,int,int,cell_t);
+void map_setcell(int,int,int,int);
+extern int map_read_flag; // 0: grf�ի����� 1: ����ë��� 2: ����ë���(?��)
enum {
READ_FROM_GAT, READ_FROM_AFM,
READ_FROM_BITMAP, CREATE_BITMAP,
@@ -702,6 +691,7 @@ void map_foreachinmovearea(int (*)(struct block_list*,va_list),int,int,int,int,i
int map_countnearpc(int,int,int);
//block�֘A�ɒlj�
int map_count_oncell(int m,int x,int y);
+struct skill_unit *map_find_skill_unit_oncell(int m,int x,int y,int skill_id);
// �ꎞ�Iobject�֘A
int map_addobject(struct block_list *);
int map_delobject(int);
@@ -737,15 +727,13 @@ void map_addnickdb(struct map_session_data *);
struct map_session_data * map_nick2sd(char*);
int compare_item(struct item *a, struct item *b);
-// gat�֘A
-int map_setcell(int,int,int,CELL_SET);
-
// ���̑�
int map_check_dir(int s_dir,int t_dir);
int map_calc_dir( struct block_list *src,int x,int y);
// path.c���
int path_search(struct walkpath_data*,int,int,int,int,int,int);
+int path_search_long(int m,int x0,int y0,int x1,int y1);
int path_blownpos(int m,int x0,int y0,int dx,int dy,int count);
int map_who(int fd);