亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? readmap.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 3 頁
字號:
    	print( "%s:%d:err\n", __FILE__, __LINE__);    	return FALSE;	}    xsiz = MAP_map[floorindex].xsiz;    if( fx < 0 || fx >= xsiz ) {        return FALSE;	}    if( fy < 0 || fy >= MAP_map[floorindex].ysiz ) {        return FALSE;	}    if( tile != -1 )    	MAP_map[floorindex].tile[fy*xsiz+fx] = tile;    if( obj != -1)    	MAP_map[floorindex].obj[fy*xsiz+fx] = obj;    return TRUE;}BOOL MAP_initReadMap( char* maptilefile , char* mapdir ){    print("\n");    if( !MAP_readMapConfFile(maptilefile) )        return FALSE;    if( !MAP_readBattleMapConfFile( getBattleMapfile( ) ) )        return FALSE;    if( !MAP_readMapDir(mapdir) )        return FALSE;    return TRUE;}static int MAP_coKindAndInt[MAP_KINDNUM]={    MAP_WALKABLE,};BOOL MAP_makeVariousMap(char* atile, char* aobj, int floor, int startx,                        int starty, int xsiz, int ysiz, MAP_kind   kind ){    int     i,j;    int     findex;    int     fxsiz;    int     startpoint;    if( atile == NULL || aobj == NULL || kind < 0 || kind >= MAP_KINDNUM ) {    	print( "%s:%d:err\n", __FILE__, __LINE__);        return FALSE;	}    findex = MAP_getfloorIndex( floor );    if( findex == -1 ) {    	print( "%s:%d:err\n", __FILE__, __LINE__);    	return FALSE;	}    fxsiz = MAP_map[findex].xsiz;    startpoint = startx + starty * fxsiz ;    for( i = 0 ; i < ysiz ; i ++ ){        for( j = 0 ; j < xsiz ; j ++ ){            atile[i*xsiz+j] = MAP_getImageInt( MAP_map[findex].tile[                startpoint + i*xsiz + j],MAP_coKindAndInt[kind] )                ? 1 : 0;            aobj[i*xsiz+j] = MAP_getImageInt( MAP_map[findex].obj[                startpoint + i*xsiz + j],MAP_coKindAndInt[kind] )                ? 1 : 0;        }    }    return TRUE;}BOOL MAP_makeWalkableMap( char* data,  int floor, int startx, int starty,                          int xsiz, int ysiz ){    int     i,j;    char*   obj;    obj = allocateMemory(xsiz*ysiz*sizeof(char));    if( obj == NULL )return FALSE;    if( MAP_makeVariousMap( data, obj, floor, startx, starty, xsiz, ysiz,                            MAP_KINDWALKABLE ) == FALSE ){        freeMemory( obj );        return FALSE;    }    for( i = 0 ; i < ysiz ; i ++ )        for( j = 0 ; j < xsiz ; j ++ )            data[j+i*ysiz] = data[j+i*ysiz] & obj[j+i*ysiz];#ifdef DEBUG    for( i = 0 ; i < ysiz ; i ++ ){        for( j = 0 ; j < xsiz ; j ++ )            if( data[j+i*ysiz] ){                print(" ");            }else                print("O");        print("\n");    }#endif  /*DEBUG*/    return TRUE;}BOOL MAP_IsThereSpecificFloorid( int floorid ){    if( MAP_getfloorIndex(floorid)== -1)return FALSE;    else                                return TRUE;}BOOL MAP_IsValidCoordinate( int floor, int x, int y ){    if( MAP_IsThereSpecificFloorid(floor)==FALSE )return FALSE;    if( x < 0 || MAP_getfloorX(floor)<=x )return FALSE;    if( y < 0 || MAP_getfloorY(floor)<=y )return FALSE;    return TRUE;}int MAP_attackSpecificPoint( int floor, int x, int y, int damage ,                             int charaindex ){#if 0    int     mapindex;    int     xsiz;    int     objimagenumber;    mapindex = MAP_getfloorIndex(floor);    if( mapindex == -1 ) {    	print( "%s:%d:err\n", __FILE__, __LINE__);    	return 5;	}    xsiz = MAP_map[mapindex].xsiz;    if( 0 > x || x >= xsiz || 0 >y || y >= MAP_map[mapindex].ysiz ) {    	print( "%s:%d:err\n", __FILE__, __LINE__);        return 5;	}    if( damage <= 0 )return 5;    objimagenumber = MAP_map[mapindex].obj[x+y*xsiz];    if( MAP_getImageInt( objimagenumber,MAP_DEFENCE ) > 0 ){        MAP_map[mapindex].objhp[x+y*xsiz] -= damage;        if( MAP_map[mapindex].objhp[x+y*xsiz] < 0 ){            MAP_map[mapindex].obj[x+y*xsiz] = 0;#if 1            {                char *stringdata;                RECT seekr , retr;                seekr.x = x;                seekr.y = y;                seekr.width = 1;                seekr.height = 1;                stringdata = MAP_getdataFromRECT(floor,&seekr,&retr);                if( stringdata ){                    print("RINGO: RETR: %d %d %d %d\n",                          retr.x,retr.y,retr.width,retr.height);                    if( CHAR_getInt( charaindex , CHAR_WHICHTYPE )                        == CHAR_TYPEPLAYER ){                        int fd = getfdFromCharaIndex( charaindex );                        lssproto_M_send(fd,floor, retr.x, retr.y,                                        retr.x + retr.width, retr.y + retr.height,                                        stringdata );                    }                } else {                    print("RINGO: bad stringdata. %d %d %d %d\n",                          seekr.x,seekr.y,seekr.width,seekr.height);                }            }#endif            return 1;        }        return 2;    }    if( MAP_getImageInt(MAP_map[mapindex].obj[y*xsiz+x],MAP_HAVEHEIGHT )        == 0 )        return 4;#endif    return 3;}BOOL MAP_appendTailObj( int floor, int x, int y, int objindex ){    int     mapindex;    int     xsiz;    int     dataindex;    MAP_Objlink*    c;    MAP_Objlink*    top;    mapindex = MAP_getfloorIndex( floor );    if( mapindex == -1 ) {    	//print( "%s:%d:err(fl=%d,x=%d,y=%d)\n", __FILE__, __LINE__, floor, x, y );    	return FALSE;	}    xsiz = MAP_map[mapindex].xsiz;    if( 0 > x || x >= xsiz || 0 >y || y >= MAP_map[mapindex].ysiz ) {    	//print( "%s:%d:err(fl=%d,x=%d,y=%d)\n", __FILE__, __LINE__, floor, x, y);        return FALSE;	}    dataindex = y*xsiz+x;    top = MAP_map[mapindex].olink[dataindex];    if( top == NULL ){        top = allocateMemory( sizeof(MAP_Objlink) );        if( top == NULL ) {    		//print( "%s:%d:err(fl=%d,x=%d,y=%d)\n", __FILE__, __LINE__, floor, x, y);        	return FALSE;        }        top->next      = NULL;        top->objindex  = objindex;        MAP_map[mapindex].olink[dataindex] = top;        return TRUE;    }    for( c=top ; c->next ; c = c->next );    c->next = allocateMemory(sizeof(MAP_Objlink));    if( c->next == NULL )return FALSE;    c->next->next = NULL;    c->next->objindex = objindex;    return TRUE;}BOOL MAP_removeObj( int floor, int x, int y, int objindex ){    int     mapindex;    int     xsiz;    int     dataindex;    MAP_Objlink*    c;    MAP_Objlink*    last=NULL;    mapindex = MAP_getfloorIndex( floor );    if( mapindex == -1 ) {    	print( "%s:%d:錯誤\n", __FILE__, __LINE__);    	return FALSE;	}    xsiz = MAP_map[mapindex].xsiz;    if( 0 > x || x >= xsiz || 0 >y || y >= MAP_map[mapindex].ysiz ) {    	print( "%s:%d:錯誤 地圖號[%d] x:[%d] y:[%d]\n", __FILE__, __LINE__, floor, x, y);        return FALSE;	}    dataindex = y*xsiz+x;    c = MAP_map[mapindex].olink[dataindex];    while( c ){        if( c->objindex == objindex ){            if( last )                last->next = c->next;            else                MAP_map[mapindex].olink[dataindex] = c->next;            freeMemory( c );            return TRUE;        }        last = c;        c = c->next;    }    print( "%s:%d:錯誤\n", __FILE__, __LINE__);    return FALSE;}BOOL _MAP_objmove( char *file, int line, int objindex, int ofloor, int ox, int oy, int nfloor,                  int nx, int ny ){#if 1    int     oldmapindex;    int     oldxsiz;    int     dataindex;    MAP_Objlink*    c;    MAP_Objlink*    last=NULL;    MAP_Objlink*    pointer=NULL;    oldmapindex = MAP_getfloorIndex( ofloor );    if( oldmapindex == -1 ) {    	print( "%s:%d:錯誤 地圖號[%d] x:[%d] y:[%d]\n", __FILE__, __LINE__,		    				 ofloor, ox, oy);    	return FALSE;	}    oldxsiz = MAP_map[oldmapindex].xsiz;    if( 0 > ox || ox >= oldxsiz        || 0 >oy || oy >= MAP_map[oldmapindex].ysiz )	{    	print( "%s:%d:錯誤 地圖號[%d] x:[%d] y:[%d]\n", __FILE__, __LINE__,		    				 ofloor, ox, oy);        return FALSE;	}    dataindex = oy*oldxsiz+ox;    c = MAP_map[oldmapindex].olink[dataindex];    while( c ){        if( c->objindex == objindex ){            if( last )                last->next = c->next;            else                MAP_map[oldmapindex].olink[dataindex] = c->next;            pointer = c;            pointer->next = NULL;            break;        }        last = c;        c = c->next;    }    if( !pointer ) {    	print( "\n%s:%d:錯誤( %d,%d,%d )->(%d,%d,%d)\n", __FILE__, __LINE__,			ofloor, ox, oy, nfloor, nx, ny );    	return FALSE;	}    {        int     newmapindex;        int     newxsiz;        MAP_Objlink*    top;        if( ofloor == nfloor ){            newmapindex = oldmapindex;            newxsiz     = oldxsiz;        }else{            newmapindex = MAP_getfloorIndex( nfloor );            if( newmapindex == -1 ) {		    	print( "%s:%d:錯誤 地圖號[%d] x:[%d] y:[%d]\n", __FILE__, __LINE__,		    				 nfloor, nx, ny);            	return FALSE;			}            newxsiz = MAP_map[newmapindex].xsiz;        }        if( 0 > nx || nx >= newxsiz            || 0 >ny || ny >= MAP_map[newmapindex].ysiz )		{	    	print( "%s:%d:錯誤 地圖號[%d] x:[%d] y:[%d]\n", __FILE__, __LINE__,	    				 nfloor, nx, ny);            return FALSE;		}        dataindex = ny*newxsiz+nx;        top = MAP_map[newmapindex].olink[dataindex];        if( top == NULL ){            top = MAP_map[newmapindex].olink[dataindex] = pointer;            top->next = NULL;            return TRUE;        }        for( c=top ; c->next ; c = c->next );        c->next = pointer;        c->next->next = NULL;        return TRUE;    }#else    if( MAP_removeObj( ofloor,ox,oy,objindex)        && MAP_appendTailObj( nfloor, nx ,ny, objindex ) )        return TRUE;#endif    print( "%s:%d:錯誤\n", __FILE__, __LINE__);    return FALSE;}MAP_Objlink* _MAP_getTopObj( char *file, int line,int floor, int x, int y ){    int     mapindex;    int     xsiz;    mapindex = MAP_getfloorIndex( floor );    if( mapindex == -1 ) {    	//print( "callfrom[%s:%d] %s:%d:err floor(%d,%d,%d)\n", file, line, __FILE__, __LINE__,    	//	floor, x, y );    	return NULL;	}    xsiz = MAP_map[mapindex].xsiz;#if 1	if(  x >= xsiz) return NULL;	if( y >= MAP_map[mapindex].ysiz ) return NULL;	if( x < 0 ) return NULL;	if( y < 0 ) return NULL;    return MAP_map[mapindex].olink[y*xsiz+x];#else    if( 0 <= x && x < xsiz && 0 <= y && y < MAP_map[mapindex].ysiz )        return MAP_map[mapindex].olink[y*xsiz+x];    else        return NULL;#endif}BOOL MAP_addNewObj( int floor, int x, int y, int objindex ){    OBJECT  map;    BOOL    ret;    for( map=MAP_getTopObj(floor,x,y) ; map ; map = NEXT_OBJECT(map)) {        if( GET_OBJINDEX(map) == objindex ) {	    	print( "%s:%d:err\n", __FILE__, __LINE__);            return 0;		}	}    ret = MAP_appendTailObj( floor, x, y, objindex );    if( ret )return 1;    else     return -1;}char *MAP_getFloorName( int floor){    int     floorindex;    floorindex = MAP_getfloorIndex( floor );    if( floorindex == -1 ) {    	print( "%s:%d:err\n", __FILE__, __LINE__);    	return NULL;    }    return MAP_map[floorindex].string;}BOOL MAP_setObjData( int ff ,int fx, int fy, int obj, int objhp ){    int     floorindex,xsiz;    floorindex = MAP_getfloorIndex( ff );    if( floorindex == -1 ) {    	print( "%s:%d:err\n", __FILE__, __LINE__);    	return FALSE;	}    xsiz = MAP_map[floorindex].xsiz;    if( fx < 0 || fx >= xsiz ) {        return FALSE;	}    if( fy < 0 || fy >= MAP_map[floorindex].ysiz ) {        return FALSE;	}    MAP_map[floorindex].obj[fy*xsiz+fx] = obj;    return TRUE;}void MAP_sendAroundMapdata( int fl, int fromx, int fromy){    char*   mapdata;    RECT    seek,ret;	int		i,j;	seek.x = fromx;	seek.y = fromy;	seek.width = seek.height = 1;    mapdata = MAP_getdataFromRECT(fl,&seek,&ret);    if( mapdata != NULL ) {		int x = fromx;		int	y = fromy;		for( i =x-MAP_CHAR_DEFAULTSEESIZ/2 ; i <= x+MAP_CHAR_DEFAULTSEESIZ/2 ; i++ ){			for( j = y-MAP_CHAR_DEFAULTSEESIZ/2 ; j <= y+MAP_CHAR_DEFAULTSEESIZ/2 ;				 j ++ ){				OBJECT  object;				for( object = MAP_getTopObj(fl,i,j) ;					 object ;					 object = NEXT_OBJECT(object ) ){					int objindex = GET_OBJINDEX(object);					if( OBJECT_getType(objindex) == OBJTYPE_NOUSE ) continue;					if( OBJECT_getType(objindex) == OBJTYPE_CHARA ) {						int index = OBJECT_getIndex( objindex);						if( CHAR_getInt( index, CHAR_WHICHTYPE)	== CHAR_TYPEPLAYER)	{							int fd = getfdFromCharaIndex( index );							if( fd !=  -1 ) {						        lssproto_M_send( fd, fl, ret.x,ret.y,					                         ret.x+ret.width, ret.y+ret.height,					                         mapdata );							}						}					}				}			}		}	}else {		print( "地圖數(shù)據(jù)錯誤 %s:%d \n" , __FILE__, __LINE__);	}}#ifdef _STATUS_WATERWORD //水世界狀態(tài)int MAP_getMapFloorType( int floor){	int i=0;	int WaterWord[]={8101,8015,8029,8028,8027,817,8007,8100,151,160,161,-1};	while( WaterWord[i] != -1 ){		if( floor == WaterWord[i] ){			return 1;		}		i++;	}	return 0;}#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷精品久久二区二区蜜臂av| 精品一区二区三区在线播放视频 | 亚洲精品一区二区三区影院| 欧美性色欧美a在线播放| 99久久国产综合精品色伊| 99视频热这里只有精品免费| av毛片久久久久**hd| 色婷婷亚洲一区二区三区| 日本乱人伦一区| 欧美二区三区91| 精品99一区二区| 国产精品色呦呦| 亚洲精品水蜜桃| 日产国产欧美视频一区精品| 精品亚洲porn| 色综合色狠狠综合色| 欧美高清激情brazzers| 久久一日本道色综合| 日韩理论片中文av| 午夜精品爽啪视频| 国产高清成人在线| 在线观看日韩国产| 日韩精品资源二区在线| 国产精品欧美久久久久无广告| 亚洲人精品午夜| 午夜亚洲福利老司机| 国产一区二区中文字幕| 色综合天天综合给合国产| 欧美精品色一区二区三区| 国产三级一区二区三区| 亚洲一区二区五区| 国产又黄又大久久| 欧美色区777第一页| 国产亚洲精久久久久久| 亚洲成在人线免费| 成人sese在线| 日韩精品一区二区三区三区免费| 亚洲欧洲成人自拍| 久久99精品久久久久婷婷| 色狠狠av一区二区三区| 国产日韩欧美综合在线| 丝袜a∨在线一区二区三区不卡| 成人免费视频caoporn| 91精品国产综合久久久久久久| 中文字幕不卡在线观看| 青青草精品视频| 欧美日韩中文字幕精品| 中文字幕亚洲欧美在线不卡| 国产在线播放一区二区三区| 欧美日韩国产综合一区二区三区 | 99久久婷婷国产精品综合| 日韩欧美的一区| 午夜不卡av免费| 欧美制服丝袜第一页| 国产精品天干天干在线综合| 久久66热偷产精品| 欧美妇女性影城| 午夜av电影一区| 色8久久精品久久久久久蜜| 国产精品久久久久久久久快鸭| 美国一区二区三区在线播放| 欧美精选在线播放| 天天综合日日夜夜精品| 欧美久久久久久蜜桃| 五月激情综合婷婷| 欧美一级在线免费| 免费欧美日韩国产三级电影| 在线电影国产精品| 全国精品久久少妇| 欧美大黄免费观看| 精品综合免费视频观看| 精品国产91九色蝌蚪| 国产麻豆精品在线观看| 久久久久久夜精品精品免费| 国内精品伊人久久久久av一坑| 欧美α欧美αv大片| 老司机精品视频一区二区三区| 欧美videossexotv100| 国产又粗又猛又爽又黄91精品| 久久久久国产精品厨房| 丰满亚洲少妇av| 中文字幕中文字幕在线一区 | 亚洲18色成人| 4438x亚洲最大成人网| 蜜乳av一区二区三区| 久久久一区二区| 91在线观看污| 一区二区三区中文在线| 91精品国产综合久久精品麻豆| 日本不卡视频在线| 国产亚洲精品bt天堂精选| www.性欧美| 一区二区视频在线| 欧美精品高清视频| 国产精品综合在线视频| 一区二区三区四区在线免费观看 | 亚洲日本一区二区| 欧美日高清视频| 日韩精品亚洲一区二区三区免费| 日韩限制级电影在线观看| 国产999精品久久久久久绿帽| 亚洲视频在线一区观看| 欧美一区二区三区四区视频| 国产99久久久久久免费看农村| 亚洲综合在线电影| 久久久影视传媒| 欧美日韩一区二区三区四区五区| 久久精品国产秦先生| 国产精品国产三级国产aⅴ原创| 欧美色图12p| 不卡的电影网站| 久久精品99国产精品日本| 亚洲精选在线视频| 国产日韩欧美一区二区三区综合 | 欧美aaaaa成人免费观看视频| 欧美国产综合色视频| 91精品欧美福利在线观看| av一区二区三区黑人| 精品综合久久久久久8888| 亚洲一区二区三区在线| 中文字幕成人av| 精品久久久久久久久久久久包黑料| 色综合天天性综合| 高清av一区二区| 久久精品国产亚洲一区二区三区 | 欧美精品高清视频| 91丝袜美女网| 北条麻妃一区二区三区| 国产精品影视网| 久久爱另类一区二区小说| 日韩精品一卡二卡三卡四卡无卡| 亚洲精选视频在线| 中文字幕中文在线不卡住| 久久久99精品久久| 精品播放一区二区| 精品国产一区二区三区久久影院 | 日韩午夜电影av| 欧美视频第二页| 91捆绑美女网站| 99在线热播精品免费| 国产91高潮流白浆在线麻豆| 国产精品中文字幕一区二区三区| 六月丁香婷婷久久| 激情综合一区二区三区| 韩国v欧美v亚洲v日本v| 蜜桃传媒麻豆第一区在线观看| 日本女人一区二区三区| 日韩精品久久理论片| 日韩av一区二区三区四区| 亚洲高清免费在线| 亚洲sss视频在线视频| 性感美女极品91精品| 亚洲a一区二区| 蜜臀av一区二区在线观看| 老鸭窝一区二区久久精品| 国产一区二区三区免费观看| 国产综合色在线| 成人h动漫精品一区二| 色香蕉久久蜜桃| 欧美人与z0zoxxxx视频| 91精品国产手机| 久久婷婷成人综合色| 国产精品系列在线| 亚洲欧美激情小说另类| 午夜视黄欧洲亚洲| 久久综合综合久久综合| 国产精品中文欧美| 色综合久久中文字幕| 在线成人免费视频| 久久综合色综合88| 综合精品久久久| 青椒成人免费视频| 成人性生交大片免费| 欧美日韩日日骚| 久久久精品tv| 亚洲一区二区三区四区中文字幕| 蜜桃久久久久久| 99在线视频精品| 日韩欧美中文一区二区| 中文乱码免费一区二区| 五月婷婷综合激情| 国产精品888| 欧美午夜宅男影院| 久久精品视频网| 亚洲成人高清在线| 成人免费三级在线| 日韩三级中文字幕| 亚洲精品亚洲人成人网| 韩国v欧美v日本v亚洲v| 欧美亚洲一区三区| 国产蜜臀av在线一区二区三区| 一区二区欧美精品| 成人一区二区视频| 欧美大片在线观看一区二区| 亚洲精品中文字幕乱码三区| 激情五月婷婷综合网| 欧美乱妇15p| 亚洲精品免费在线播放| 国产成a人亚洲精品| 日韩欧美你懂的|