BOOL MAP_getMapDataFromFXY( int f , int x , int y, int* map ) { int mapdata[2]; int ret; ret = MAP_getTileAndObjData(f,x,y,&mapdata[0],&mapdata[1] ); map[0] = mapdata[0]; map[1] = mapdata[1]; return ret; }
/*------------------------------------------------------------ * 甄 毛隙爛仄化}公仇及左皮斥尼弁玄卞嫖今互丐月井升丹井 * 婁醒 * fl int 白夫失 * x int x 甄 * y int y 甄 * 忒曰襖 * 嫖今互丐月 TRUE * 嫖今互卅中 FALSE ------------------------------------------------------------*/ BOOL MAP_haveHeight( int fl, int x, int y ) { int map[2]; /* 穴永皿犯□正毛 化仁月 */ if( !MAP_getTileAndObjData( fl,x,y, &map[0], &map[1] ) ) return FALSE; return MAP_getImageInt( map[1], MAP_HAVEHEIGHT ); }
BOOL MAP_getMapDataFromCharIndex( int index , int* map ) { int mapdata[2]; int ret; ret = MAP_getTileAndObjData(MAP_CHARFLOOR(index), MAP_CHARX(index), MAP_CHARY(index), &mapdata[0],&mapdata[1] ); map[0] = mapdata[0]; map[1] = mapdata[1]; return ret; }
/*------------------------------------------------------------ * 洶仃月井升丹井 蠅允月〔平乓仿互 氏匹中月井升丹井婁醒互丐月〔 * 婁醒 * ff int floor * fx int x甄 * fy int y甄 * isfly int 氏匹中月井升丹井 * 忒曰襖 * 洶仃月 TRUE(1) * 洶仃卅中 FALSE(0) ------------------------------------------------------------*/ BOOL MAP_walkAbleFromPoint( int ff, int fx, int fy, BOOL isfly ) { int map[2]; if( !MAP_getTileAndObjData( ff,fx,fy, &map[0], &map[1] ) ){ return FALSE; } if( isfly ){ int i; for( i = 0 ; i < 2 ; i ++ ) if( MAP_getImageInt( map[i], MAP_HAVEHEIGHT ) == TRUE ){ return FALSE; } return TRUE; }else{ switch( MAP_getImageInt( map[1], MAP_WALKABLE ) ){ case 0: return FALSE; break; case 1: if( MAP_getImageInt( map[0], MAP_WALKABLE ) == 1 ){ return TRUE; }else{ return FALSE; } break; case 2: return TRUE; break; default: return FALSE; break; } } return FALSE; }