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

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

?? buildrsccfile.pm

?? M3355的源代碼
?? PM
?? 第 1 頁 / 共 2 頁
字號(hào):
#!/usr/bin/perl

package BuildRscCFile;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(BuildImg BuildFnt BuildStr BuildDataFile BuildInc CopyAndSave BuildDir BuildCompactDir);



# set up some constants
my $BIG_ENDIAN     = 2;
my $LITTLE_ENDIAN  = 1;
my $NATIVE_ENDIAN  = 0;

@_ui16 = ("S","v","n");
@_ui32 = ("L","V","N");

#config endian
$output_endian = $BIG_ENDIAN;

$ui16 = $_ui16[$output_endian];
$ui32 = $_ui32[$output_endian];

# and export them
@EXPORT_OK = qw($BIG_ENDIAN $LITTLE_ENDIAN $NATIVE_ENDIAN $ui16 $ui32);



#------------------------------------------------------------------------
# RecordAFileIntoDir : Record a file's infomation into a dir file
#
# $DirFile: string, Dir file' name
# $TargetFile: string, target file's name
# $SaveName: string(<=6), target file's save name in dir
# $FileAddress: number(L), target file's save address , 0xFFFFFFFF for unknown yet
# $FileAttr: number(C), target file's attribute
# ------------------------------------------------------------------------
sub RecordAFileIntoDir
{
	my ($DirFile,$TargetFile,$FileAttr,$FileAddress) = @_;
	my @file_state;
	my $SaveName;

	$TargetFile =~ /\/*([a-zA-Z0-9_]+)\./;
	
	$SaveName = $1;

#	# print "Save name is $SaveName\n";
	
	open (H_DIR_FILE,">>$DirFile") || die ("Error: Can not open $DirFile !");#record every image file's palette info into this dir file
	binmode(H_DIR_FILE);
	
	my $temp = syswrite (H_DIR_FILE, $SaveName, 6, 0);
	for (;$temp<6;$temp++)
	{
		syswrite H_DIR_FILE, pack ("C",0); # add to 6 if not enogh
	}
	syswrite H_DIR_FILE, pack ("C",0); # reserved
	syswrite H_DIR_FILE, pack ("C",($FileAttr)); 
	syswrite H_DIR_FILE, pack("$ui32",($FileAddress)); # DWORD for FileAddress, 0xFFFFFFFF for null value, this will be refilled in later procedure
	@file_state = stat("$TargetFile");
	syswrite H_DIR_FILE, pack("$ui32",$file_state[7]);
	
	close(H_DIR_FILE);
}

sub BuildFnt
{
#### step 1 : get arguments
	
	my ( $FntCFile,$FntBinSaveName , $FntDirFile, $is_zip) = @_;		
	# print "  Build Font file \"$FntCFile\", iszip = $is_zip\n";

	#save name should be within 6 chars.
	if (length($FntBinSaveName)>6)
	{
		$FntBinSaveName = substr($FntBinSaveName,0,6);
	}

	my $FntBinFile = $FntBinSaveName.".fbn";

#### step 2 : declare my data
	#const
	my $FBN_HEAD_LENGTH = 16;
	my $EHVW_INFO_LENGTH = 20;
	my $MASS_INFO_LENGTH = 16;

	#vars
	
	my $font_flag;
	my $char_number;
	my $font_height;

	my $member_address;

	my $line;
	my $linenum = 0;
	my @file_state;

##
	my @proglist;

	my $STEP_FONT_INFO = 0;
	my $STEP_MCHAR_END_ADDR = 1;
	my $STEP_CHAR_INDEX = 2;
	my $STEP_CHAR_END = 3;
	my $STEP_CHAR_WIDTH = 4;
	my $STEP_CHAR_DATA = 5;
	my $STEP_OVER = 6;

	my $SUB_STEP_SEEK_DATA = 0;
	my $SUB_STEP_HANDLE_DATA = 1;

	my $ft_info_stru;
	my $scanswitch;
	my $sub_scan;

	my $temp;

#### step 3: open C and Bin files

	open (H_FNT_C,$FntCFile) || die ("Error: Can not open file $FntCFile\n");
	# print "     $FntCFile has been opened !\n";
	
	open (H_FNT_BIN,">$FntBinFile") || die ("Error: Can not open file $FntBinFile !");#record one font data
	binmode(H_FNT_BIN);	
	
	# for fbn's header 's name part (12 bytes)
	$temp = syswrite (H_FNT_BIN, $FntBinSaveName, 12, 0);
	for (;$temp<12;$temp++)
	{
		syswrite H_FNT_BIN, pack ("C",0); # add to 6 if not enogh
	}
	
	
#### step 4: init some vars	

	$ft_info_stru = $FntCFile;
	$ft_info_stru =~ s/[a-zA-Z0-9_\.]*\\//g;	#remove the path part, letf filename only
	$ft_info_stru =~ s/\.fnt//;		#remove ext name and add _table
	$ft_info_stru = "ft_info_".$ft_info_stru;
	$ft_info_stru =~ tr/A-Z/a-z/; # structure names in .fnt are all low case

	$scanswitch = $STEP_FONT_INFO;
	$sub_scan = $SUB_STEP_SEEK_DATA;

#### step 5: deal with .fnt file's data
	foreach $line (<H_FNT_C>) 
	{
		$linenum ++;

		$line =~ s/(\/\/.*)//; #remove lines marked by //
	
		if ($scanswitch == $STEP_FONT_INFO)
		{
			
			if ($line =~ /CHAR_NUM\s+(\d+)/)
			{
				$char_number = $1;				
			}
			elsif ($line =~ /CHAR_HEIGHT\s+(\d+)/)
			{
				$font_height = $1;
			}
			elsif ($line =~ /(EHVW_FONT_INFO|MASS_FONT_INFO)\s+$ft_info_stru/)
			{
				$font_flag = $1;
				if ($font_flag =~ /EHVW_FONT_INFO/)
				{	
					# for fbn's header 's flag part (1 bytes) and reserved part (3 bytes)
					syswrite H_FNT_BIN, (pack("C",0x81)); # 10XX 0001 FOR "EH VW . . 1BPP"
					syswrite H_FNT_BIN, (pack("C",0));
					syswrite H_FNT_BIN, (pack("C",0));
					syswrite H_FNT_BIN, (pack("C",0));
					
					# for WORD wCharSetNum;
					syswrite H_FNT_BIN, pack("$ui16",$char_number);
					
					# for BYTE bHeight;
					syswrite H_FNT_BIN, pack("C",$font_height);
					
					# for BYTE placeholer
					syswrite H_FNT_BIN, (pack("C",0));

					# for const BYTE* pIndexTable; 2 bytes per item
					$member_address = $FBN_HEAD_LENGTH + $EHVW_INFO_LENGTH;
					syswrite H_FNT_BIN, (pack("$ui32",$member_address));
					
					# for const WORD * pEndTable; 2 bytes per item
					$member_address += $char_number * 2; # add length of pIndexTable
					syswrite H_FNT_BIN, (pack("$ui32",$member_address));
					
					# for const BYTE * pWidthTable; 1 byte per item
					$member_address += $char_number * 2;# add length of pEndTable
					syswrite H_FNT_BIN, (pack("$ui32",$member_address));
					
					# for const BYTE* pFontData;
					$member_address += $char_number * 1;# add length of pWidthTable
					syswrite H_FNT_BIN, (pack("$ui32",$member_address));
					
					$scanswitch = $STEP_CHAR_INDEX;
				}
				elsif ($font_flag =~ /MASS_FONT_INFO/)
				{
					# for fbn's header 's flag part (1 bytes) and reserved part (3 bytes)
					syswrite H_FNT_BIN, (pack("C",0x01)); # 00XX 0001 FOR "VH VW . . 1BPP"
					syswrite H_FNT_BIN, (pack("C",0));
					syswrite H_FNT_BIN, (pack("C",0));
					syswrite H_FNT_BIN, (pack("C",0));
					
					# for WORD wCharSetNum;
					syswrite H_FNT_BIN, pack("$ui16",$char_number);
				
					# for placeholer
					syswrite H_FNT_BIN, (pack("C",0));
					syswrite H_FNT_BIN, (pack("C",0));
				
					# for const DWORD * pOffsetTable;
					$member_address = $FBN_HEAD_LENGTH + $MASS_INFO_LENGTH;
					syswrite H_FNT_BIN, (pack("$ui32",$member_address));
					
					# for const BYTE* pIndexTable;
					$member_address += $char_number * 4; # add length of pOffsetTable
					syswrite H_FNT_BIN, (pack("$ui32",$member_address));
					
					# for const BYTE* pFontData;
					$member_address += $char_number * 2;# add length of pIndexTable
					syswrite H_FNT_BIN, (pack("$ui32",$member_address));

					$scanswitch = $STEP_MCHAR_END_ADDR;
				}
			}	
		}
		elsif ($scanswitch == $STEP_MCHAR_END_ADDR)
		{
			if ($sub_scan == $SUB_STEP_SEEK_DATA)
			{
				if ($line =~ /mass_char_end_adr\[\]=/)
				{
					$sub_scan = $SUB_STEP_HANDLE_DATA;
				}
			}
			elsif ($sub_scan == $SUB_STEP_HANDLE_DATA)
			{
				while ($line =~ /(\d+)/g) 
				{
					syswrite H_FNT_BIN, pack("$ui32",$1);
				}
				if ($line =~ /}/) #finish handling char_index[]
				{
					$scanswitch = $STEP_CHAR_INDEX;# next step
					$sub_scan = $SUB_STEP_SEEK_DATA; #reset
				}
			}		
		}
		elsif ($scanswitch == $STEP_CHAR_INDEX)
		{
			if ($sub_scan == $SUB_STEP_SEEK_DATA)
			{
				if ($line =~ /char_index\[\]=/)
				{
					# print "    >deal with char_index\[\] at line $linenum\n";
					$sub_scan = $SUB_STEP_HANDLE_DATA;
				}
			}
			elsif ($sub_scan == $SUB_STEP_HANDLE_DATA)
			{
				while ($line =~ /(0x..)/g) 
				{
					syswrite H_FNT_BIN, (pack("C",hex($1)));
				}
				if ($line =~ /}/) #finish handling char_index[]
				{
					if ($font_flag =~ /EHVW_FONT_INFO/)#for EHVW char
					{
						$scanswitch = $STEP_CHAR_END;# next step
						$sub_scan = $SUB_STEP_SEEK_DATA; #reset
					}
					else#for mass char
					{
						$scanswitch = $STEP_CHAR_DATA;# next step
						$sub_scan = $SUB_STEP_SEEK_DATA; #reset
					}
				}
			}
		}
		elsif ($scanswitch == $STEP_CHAR_END)
		{
			if ($sub_scan == $SUB_STEP_SEEK_DATA)
			{
				if ($line =~ /char_end\[\]=/)
				{
					# print "    >deal with char_end\[\] at line $linenum\n";
					$sub_scan = $SUB_STEP_HANDLE_DATA;
				}
			}
			elsif ($sub_scan == $SUB_STEP_HANDLE_DATA)
			{
				while ($line =~ /(\d+)/g) 
				{
					syswrite H_FNT_BIN, (pack("$ui16",$1));
				}
				if ($line =~ /}/) #finish handling char_end[]
				{
					$scanswitch = $STEP_CHAR_WIDTH;# next step
					$sub_scan = $SUB_STEP_SEEK_DATA; #reset
				}
			}
		}
		elsif ($scanswitch == $STEP_CHAR_WIDTH)
		{
			if ($sub_scan == $SUB_STEP_SEEK_DATA)
			{
				if ($line =~ /char_width\[\]=/)
				{
					# print "    >deal with char_width\[\] at line $linenum\n";
					$sub_scan = $SUB_STEP_HANDLE_DATA;
				}
			}
			elsif ($sub_scan == $SUB_STEP_HANDLE_DATA)
			{
				while ($line =~ /(\d+)/g) 
				{
					syswrite H_FNT_BIN, (pack("C",$1));
				}
				if ($line =~ /}/) #finish handling char_width[]
				{
					$scanswitch = $STEP_CHAR_DATA;# next step
					$sub_scan = $SUB_STEP_SEEK_DATA; #reset
				}
			}
		}
		elsif ($scanswitch == $STEP_CHAR_DATA)
		{
			if ($sub_scan == $SUB_STEP_SEEK_DATA)
			{
				if ($line =~ /char_data\[\]=/)
				{
					# print "    >deal with char_data\[\] at line $linenum\n";
					$sub_scan = $SUB_STEP_HANDLE_DATA;
				}
			}
			elsif ($sub_scan == $SUB_STEP_HANDLE_DATA)
			{
				while ($line =~ /(0x..)/g) 
				{
					syswrite H_FNT_BIN, (pack("C",hex($1)));
				}
				if ($line =~ /}/) #finish handling char_width[]
				{					
#					$scanswitch = $STEP_OVER;# over
#					$sub_scan = $SUB_STEP_SEEK_DATA; #reset
					last; #over, jump out of foreach.
				}
			}
		}
	}
	
#### step 6: close C and Bin files

	close(H_FNT_BIN);
	close (H_FNT_C);
	# print "     $FntCFile has been closed !\n\n";	


#### step 7: build file info in dir file
	my $file_attr;
	if ($is_zip != 0)
	{
		$file_attr = 0x42; # 0 1 xx 0010 for (file|zip|font)
		
		@proglist = ("7zip","e", "$FntBinFile", "$FntBinFile".".7z", "-lc0", "-lp2");
    	system(@proglist);
		@proglist = ("mv","$FntBinFile".".7z","$FntBinFile");
    	system(@proglist); 	
	}
	else
	{
		$file_attr = 0x02; # 0 0 xx 0010 for (file|not-zip|font)
	}
	RecordAFileIntoDir($FntDirFile,$FntBinFile,$file_attr,0xFFFFFFFF);

}

sub BuildStr
{
#### step 1 : get arguments
	
	my ( $StrCFile, $StrIDFile,$StrBinSaveName, $StrDirFile, $is_zip ) = @_;		
	# print "  Build String file \"$StrCFile\", iszip = $is_zip\n";

	#save name should be within 6 chars.
	if (length($StrBinSaveName)>6)
	{
		$StrBinSaveName = substr($StrBinSaveName,0,6);
	}

	my $StrBinFile = $StrBinSaveName.".sbn";

#### step 2 : declare my data
	#const
	my $SBN_HEAD_LENGTH = 16;

	#vars

	my @StrIDs = (""); #reserve first one.
	my @StrAddrs = (0); #reserve first one.

	my $StringIDIndex;
	
	my $string_number;
	my $string_address;
	
	my $line;
	my $linenum = 0;
	
	my @file_state;
	my @proglist;

	my $temp;


#### step 3: open C and Bin files

	open (H_STR_C,$StrCFile) || die ("Error: Can not open file $StrCFile\n");
	# print "     $StrCFile has been opened !\n";
	
	open (H_STR_ID,$StrIDFile) || die ("Error: Can not open file $StrIDFile\n");
	# print "     $StrIDFile has been opened !\n";
	
	open (H_STR_BIN,">$StrBinFile") || die ("Error: Can not open file $StrBinFile !");#record one font data
	binmode(H_STR_BIN);	
	
	# for sbn's header 's name part (12 bytes)
	$temp = syswrite (H_STR_BIN, $StrBinSaveName, 12, 0); #12 bytes for name
	for (;$temp<12;$temp++)
	{
		syswrite H_STR_BIN, pack ("C",0); 
	}

#### step 4: deal with String id file

	foreach $line (<H_STR_ID>) 
	{
		$line =~ s/(\/\/.*)//; #remove lines marked by //
	
		if ($line =~ /\#define\s+(RS_[A-Z0-9_]+)\s+\d+/)
		{
			$temp = $1;
			$temp =~ tr/A-Z/a-z/;
			@StrIDs = (@StrIDs,$temp); #record ids

#			# print "$1\n";
		}
		elsif ($line =~ /\#define\s+STR_TABLE_CELL_NUM\s+\d+/)
		{
			last;#end
		}
	}

	$string_number = @StrIDs; #num of string ids

	syswrite H_STR_BIN, pack("$ui16",0); #reserved 2 bytes
	syswrite H_STR_BIN, pack("$ui16",$string_number); 
	
#### step 5: deal with .str file
	## step 5.1: string data part
	$string_address = $SBN_HEAD_LENGTH + 4 * $string_number;
	seek (H_STR_BIN, $string_address, 0); #jump over table area.


#	# print "step 5.1 start \n";
#	# print "????1???? $StrAddrs[$StringIDIndex] \n";
	$StringIDIndex = 1;
	foreach $line (<H_STR_C>) 
	{
		$line =~ s/(\/\/.*)//; #remove lines marked by //
		$line =~ s/(\s*)//g; #remove all space for easy patten
		
		if ($line =~ /constBYTE($StrIDs[$StringIDIndex])[a-z0-9_]+\[\]=/)
		{
			$StrAddrs[$StringIDIndex] = $string_address;
			while ($line =~ /(0x..)/g) 
			{
				$string_address ++;
				syswrite H_STR_BIN, pack("C",hex($1));
			}
			$StringIDIndex ++;
			if ($StringIDIndex >= @StrIDs)
			{
				last;
			}
		}
	}
	if ($StringIDIndex < @StrIDs)
	{
		print "Warning: String No.$StringIDIndex is missed in file \n		$StrCFile !!!\n";
	}	
#	# print "step 5.1 over \n";

	
	## step 5.2: string table part
	seek(H_STR_BIN,$SBN_HEAD_LENGTH,0); #move file pointer to table area.
	for ($StringIDIndex = 0;$StringIDIndex<@StrIDs;$StringIDIndex++)
	{
		syswrite H_STR_BIN, pack("$ui32",$StrAddrs[$StringIDIndex]);
	}
	
#### step 6: close C and Bin files

	close(H_STR_BIN);
	close (H_STR_ID);
	close (H_STR_C);
	# print "     $StrIDFile has been closed !\n";	
	# print "     $StrCFile has been closed ! \n\n";	


#### step 7: build file info in dir file
	my $file_attr;
	if ($is_zip != 0)
	{
		$file_attr = 0x43; # 0 1 xx 0011 for (file|zip|string)
		
		@proglist = ("7zip","e","$StrBinFile", "$StrBinFile".".7z", "-lc0", "-lp2");
    	system(@proglist);
		@proglist = ("mv","$StrBinFile".".7z","$StrBinFile");
    	system(@proglist); 	
	}
	else
	{
		$file_attr = 0x03; # 0 0 xx 0011 for (file|not-zip|string)
	}
	
	RecordAFileIntoDir($StrDirFile,$StrBinFile,$file_attr,0xFFFFFFFF);
		
}

sub BuildImg
{
#### step 1 : get arguments
	
	my ( $ImgCFile, $ImgBinFile, $ImgDirFile, $is_zip,$PalDirFile) = @_;		
	# print "  Build Image file \"$ImgCFile\", iszip = $is_zip\n";
	
#### step 2 : deal with data in image C file
	#const
	my $STEP_OPEN_IID = 0;
	my $STEP_FIND_BPP = 1;
	my $STEP_FIND_TABLE = 2;
	my $STEP_FIND_PALETTE = 3;
	my $STEP_RECORD_PALETTE = 4;	
	my $STEP_RECORD_TABLE = 5;
	my $STEP_FIND_DATA = 6;
	my $STEP_HANDLE_DATA = 7;

	my $PAL_FILE_ATTR = 0x04;		# not-zip palette file
	
	#var
#	my $first_create;
	my $scan_step;
	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产精品一区二区三区| 亚洲综合男人的天堂| 91日韩在线专区| 五月天激情综合网| 日本一区二区三级电影在线观看 | 91精品国产综合久久精品app| 国产一区二区三区久久久 | 精彩视频一区二区三区| 中文字幕日韩精品一区| ww久久中文字幕| 欧美日韩一区在线| 成人avav在线| 国产精品自产自拍| 男人的j进女人的j一区| 一区二区三区精品视频在线| 欧美国产日韩a欧美在线观看| 欧美精品丝袜中出| 日本黄色一区二区| av午夜一区麻豆| 国模套图日韩精品一区二区| 亚洲国产精品自拍| 亚洲欧美另类小说| 国产精品入口麻豆原神| 久久亚洲捆绑美女| 精品免费视频一区二区| 欧美伦理影视网| 日本韩国欧美在线| 一本大道久久精品懂色aⅴ| 成人动漫在线一区| 国产成人免费视| 国产精品一线二线三线| 狠狠色丁香九九婷婷综合五月| 日韩va亚洲va欧美va久久| 五月综合激情日本mⅴ| 亚洲国产精品天堂| 亚洲一区二区精品视频| 亚洲精品国产一区二区三区四区在线 | 国产三区在线成人av| 欧美tk—视频vk| 欧美日韩国产中文| 欧美日本国产视频| 欧美日韩精品一区二区| 欧美伊人久久久久久久久影院 | 一本色道久久综合亚洲精品按摩| yourporn久久国产精品| 波多野结衣亚洲| 91网页版在线| 欧亚一区二区三区| 欧美日韩高清一区二区| 欧美理论片在线| 日韩一区二区三区四区五区六区| 欧美一区二区播放| 精品国免费一区二区三区| 国产偷国产偷亚洲高清人白洁| 日本一区二区三区久久久久久久久不 | 欧美aⅴ一区二区三区视频| 日本不卡一区二区三区| 乱一区二区av| 国产91清纯白嫩初高中在线观看| 国产精品影视在线| 成人av手机在线观看| 色综合天天综合色综合av| 欧美色综合网站| 日韩美女视频在线| 国产日产欧美一区二区视频| 亚洲欧美在线高清| 亚洲第一在线综合网站| 麻豆国产精品一区二区三区 | 欧美日韩1区2区| 日韩一级高清毛片| 久久婷婷成人综合色| 国产精品超碰97尤物18| 亚洲午夜日本在线观看| 免费av网站大全久久| 国产suv精品一区二区6| 在线精品视频免费播放| 日韩欧美美女一区二区三区| 亚洲国产精品激情在线观看| 亚洲一级在线观看| 国内外精品视频| 91免费小视频| 欧美成人福利视频| 亚洲女与黑人做爰| 久久狠狠亚洲综合| 一本到高清视频免费精品| 制服视频三区第一页精品| 日本一区二区三区国色天香 | 日韩欧美久久久| 色哟哟日韩精品| 欧美亚洲动漫精品| 亚洲精品综合在线| 成人毛片视频在线观看| 91日韩在线专区| 亚洲成人免费影院| 蜜桃视频第一区免费观看| 另类小说综合欧美亚洲| 久久精品视频免费| 在线观看www91| 国产激情一区二区三区| 久久av资源网| 欧美一区二区三区在线观看| 94-欧美-setu| 九一久久久久久| 天堂蜜桃91精品| 亚洲一区二区黄色| 卡一卡二国产精品| 欧美日韩精品一区视频| 中文字幕av一区二区三区免费看 | 欧美一卡二卡三卡| 蜜臀av一区二区在线免费观看 | 丁香一区二区三区| 678五月天丁香亚洲综合网| 亚洲免费三区一区二区| 国产高清不卡二三区| 日韩欧美专区在线| 日韩中文字幕一区二区三区| 成人国产精品视频| 久久精品一级爱片| 激情综合网激情| 欧美一区二区三区免费视频| 亚洲国产一区在线观看| 色天使久久综合网天天| 一区二区中文字幕在线| 成人在线综合网| 国产区在线观看成人精品| 国产在线一区观看| 欧美成人一区二区三区片免费 | 不卡视频免费播放| 国产人久久人人人人爽| 国产成人亚洲综合a∨猫咪| 亚洲精品在线免费观看视频| 麻豆成人91精品二区三区| 制服.丝袜.亚洲.另类.中文 | 日精品一区二区| 欧美人伦禁忌dvd放荡欲情| 一区二区三区av电影| 日本高清无吗v一区| 亚洲免费在线视频| 91成人免费网站| 亚洲图片欧美色图| 欧美性xxxxxxxx| 亚洲va国产va欧美va观看| 欧美伦理电影网| 免费在线观看一区二区三区| 日韩欧美国产综合在线一区二区三区| 视频一区中文字幕国产| 91精品国产91综合久久蜜臀| 舔着乳尖日韩一区| 91精品国产美女浴室洗澡无遮挡| 日韩av电影一区| 2021久久国产精品不只是精品| 久久机这里只有精品| 精品国产1区2区3区| 国产成人在线免费观看| 亚洲国产精品精华液2区45| 91香蕉视频污| 午夜不卡在线视频| 精品国产污污免费网站入口 | 91麻豆6部合集magnet| 亚洲综合在线视频| 在线不卡的av| 国产精品一品视频| 中文字幕视频一区二区三区久| 91福利在线免费观看| 奇米综合一区二区三区精品视频 | 国产精品亲子伦对白| 一本到三区不卡视频| 日韩成人一级大片| 国产亚洲欧美色| 欧美亚洲动漫精品| 黄色成人免费在线| 综合久久久久久| 91精品国产91久久久久久一区二区| 韩国一区二区视频| 亚洲欧美日韩在线不卡| 宅男在线国产精品| 国产成人av自拍| 亚洲国产视频a| 国产亚洲欧美日韩日本| 欧美视频一区二区在线观看| 韩国女主播成人在线| 亚洲女同一区二区| 欧美一区二区播放| 91小视频在线| 国内精品久久久久影院薰衣草| 亚洲伦理在线精品| 欧美哺乳videos| 色网站国产精品| 国模大尺度一区二区三区| 亚洲午夜免费视频| 国产精品免费人成网站| 日韩一区二区在线免费观看| 99久久精品免费看国产免费软件| 日本不卡一二三| 亚洲美女在线国产| 国产午夜精品一区二区三区四区| 欧美老人xxxx18| 91亚洲资源网| 国产一区二区91| 日本不卡在线视频|