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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stormlib.h

?? 骨骼動畫....把魔獸模型解出的代碼..
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*

  ShadowFlare MPQ API Library. (c) ShadowFlare Software 2002

  All functions below are actual functions that are part of this
  library and do not need any additional dll files.  It does not
  even require Storm to be able to decompress or compress files.

  This library emulates the interface of Lmpqapi and Storm MPQ
  functions, so it may be used as a replacement for them in
  MPQ extractors/archivers without even needing to recompile
  the program that uses Lmpqapi or Storm.  It has a few features
  not included in Lmpqapi and Storm, such as extra flags for some
  functions, setting the locale ID of existing files, and adding
  files without having to write them somewhere else first.  Also,
  MPQ handles used by functions prefixed with "SFile" and "Mpq"
  can be used interchangably; all functions use the same type
  of MPQ handles.  You cannot, however, use handles from this
  library with storm or lmpqapi or vice-versa.  Doing so will
  most likely result in a crash.

  Revision History:
  06/12/2002 1.07 (ShadowFlare)
  - No longer requires Storm.dll to compress or decompress
    Warcraft III files
  - Added SFileListFiles for getting names and information
    about all of the files in an archive
  - Fixed a bug with renaming and deleting files
  - Fixed a bug with adding wave compressed files with
    low compression setting
  - Added a check in MpqOpenArchiveForUpdate for proper
    dwMaximumFilesInArchive values (should be a number that
    is a power of 2).  If it is not a proper value, it will
    be rounded up to the next higher power of 2

  05/09/2002 1.06 (ShadowFlare)
  - Compresses files without Storm.dll!
  - If Warcraft III is installed, this library will be able to
    find Storm.dll on its own. (Storm.dll is needed to
    decompress Warcraft III files)
  - Fixed a bug where an embedded archive and the file that
    contains it would be corrupted if the archive was modified
  - Able to open all .w3m maps now

  29/06/2002 1.05 (ShadowFlare)
  - Supports decompressing files from Warcraft III MPQ archives
    if using Storm.dll from Warcraft III
  - Added MpqAddFileToArchiveEx and MpqAddFileFromBufferEx for
    using extra compression types

  29/05/2002 1.04 (ShadowFlare)
  - Files can be compressed now!
  - Fixed a bug in SFileReadFile when reading data not aligned
    to the block size
  - Optimized some of SFileReadFile's code.  It can read files
    faster now
  - SFile functions may now be used to access files not in mpq
    archives as you can with the real storm functions
  - MpqCompactArchive will no longer corrupt files with the
    MODCRYPTKEY flag as long as the file is either compressed,
    listed in "(listfile)", is "(listfile)", or is located in
    the same place in the compacted archive; so it is safe
    enough to use it on almost any archive
  - Added MpqAddWaveFromBuffer
  - Better handling of archives with no files
  - Fixed compression with COMPRESS2 flag

  15/05/2002 1.03 (ShadowFlare)
  - Supports adding files with the compression attribute (does
    not actually compress files).  Now archives created with
    this dll can have files added to them through lmpqapi
    without causing staredit to crash
  - SFileGetBasePath and SFileSetBasePath work more like their
    Storm equivalents now
  - Implemented MpqCompactArchive, but it is not finished yet.
    In its current state, I would recommend against using it
    on archives that contain files with the MODCRYPTKEY flag,
    since it will corrupt any files with that flag
  - Added SFMpqGetVersionString2 which may be used in Visual
    Basic to get the version string

  07/05/2002 1.02 (ShadowFlare)
  - SFileReadFile no longer passes the lpOverlapped parameter it
    receives to ReadFile.  This is what was causing the function
    to fail when used in Visual Basic
  - Added support for more Storm MPQ functions
  - GetLastError may now be used to get information about why a
    function failed

  01/05/2002 1.01 (ShadowFlare)
  - Added ordinals for Storm MPQ functions
  - Fixed MPQ searching functionality of SFileOpenFileEx
  - Added a check for whether a valid handle is given when
    SFileCloseArchive is called
  - Fixed functionality of SFileSetArchivePriority when multiple
    files are open
  - File renaming works for all filenames now
  - SFileReadFile no longer reallocates the buffer for each block
    that is decompressed.  This should make SFileReadFile at least
    a little faster

  30/04/2002 1.00 (ShadowFlare)
  - First version.
  - Compression not yet supported
  - Does not use SetLastError yet, so GetLastError will not return any
    errors that have to do with this library
  - MpqCompactArchive not implemented

  This library is freeware, you can do anything you want with it but with
  one exception.  If you use it in your program, you must specify this fact
  in Help|About box or in similar way.  You can obtain version string using
  SFMpqGetVersionString call.

  THIS LIBRARY IS DISTRIBUTED "AS IS".  NO WARRANTY OF ANY KIND IS EXPRESSED
  OR IMPLIED. YOU USE AT YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR 
  DATA LOSS, DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING
  OR MISUSING THIS SOFTWARE.

  Any comments or suggestions are accepted at blakflare@hotmail.com (ShadowFlare)
*/

#ifndef SHADOWFLARE_MPQ_API_INCLUDED
#define SHADOWFLARE_MPQ_API_INCLUDED

#include <windows.h>

#ifndef SFMPQ_STATIC

#ifdef SFMPQAPI_EXPORTS
#define SFMPQAPI __declspec(dllexport)
#else
#define SFMPQAPI __declspec(dllimport)
#endif

#else
#define SFMPQAPI
#endif

#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
	WORD Major;
	WORD Minor;
	WORD Revision;
	WORD Subrevision;
} SFMPQVERSION;

// MpqInitialize does nothing.  It is only provided for
// compatibility with MPQ archivers that use lmpqapi.
BOOL   SFMPQAPI WINAPI MpqInitialize();

LPCSTR SFMPQAPI WINAPI MpqGetVersionString();
float  SFMPQAPI WINAPI MpqGetVersion();

void SFMPQAPI WINAPI SFMpqDestroy(); // This no longer needs to be called.  It is only provided for compatibility with older versions

// SFMpqGetVersionString2's return value is the required length of the buffer plus
// the terminating null, so use SFMpqGetVersionString2(0, 0); to get the length.
LPCSTR SFMPQAPI WINAPI SFMpqGetVersionString();
DWORD  SFMPQAPI WINAPI SFMpqGetVersionString2(LPCSTR lpBuffer, DWORD dwBufferLength);
SFMPQVERSION SFMPQAPI WINAPI SFMpqGetVersion();

// Returns 0 if the dll version is equal to the version your program was compiled
// with, 1 if the dll is newer, -1 if the dll is older.
long SFMPQAPI __forceinline SFMpqCompareVersion();

// General error codes
#define MPQ_ERROR_MPQ_INVALID      0x85200065
#define MPQ_ERROR_FILE_NOT_FOUND   0x85200066
#define MPQ_ERROR_DISK_FULL        0x85200068 //Physical write file to MPQ failed. Not sure of exact meaning
#define MPQ_ERROR_HASH_TABLE_FULL  0x85200069
#define MPQ_ERROR_ALREADY_EXISTS   0x8520006A
#define MPQ_ERROR_BAD_OPEN_MODE    0x8520006C //When MOAU_READ_ONLY is used without MOAU_OPEN_EXISTING

#define MPQ_ERROR_COMPACT_ERROR    0x85300001

// MpqOpenArchiveForUpdate flags
#define MOAU_CREATE_NEW        0x00
#define MOAU_CREATE_ALWAYS     0x08 //Was wrongly named MOAU_CREATE_NEW
#define MOAU_OPEN_EXISTING     0x04
#define MOAU_OPEN_ALWAYS       0x20
#define MOAU_READ_ONLY         0x10 //Must be used with MOAU_OPEN_EXISTING
#define MOAU_MAINTAIN_LISTFILE 0x01

// MpqAddFileToArchive flags
#define MAFA_EXISTS           0x80000000 //Will be added if not present
#define MAFA_UNKNOWN40000000  0x40000000
#define MAFA_MODCRYPTKEY      0x00020000
#define MAFA_ENCRYPT          0x00010000
#define MAFA_COMPRESS         0x00000200
#define MAFA_COMPRESS2        0x00000100
#define MAFA_REPLACE_EXISTING 0x00000001

// MpqAddFileToArchiveEx compression flags
#define MAFA_COMPRESS_STANDARD 0x08 //Standard PKWare DCL compression
#define MAFA_COMPRESS_DEFLATE  0x02 //ZLib's deflate compression
#define MAFA_COMPRESS_WAVE     0x81 //Standard wave compression
#define MAFA_COMPRESS_WAVE2    0x41 //Unused wave compression

// Flags for individual compression types used for wave compression
#define MAFA_COMPRESS_WAVECOMP1 0x80 //Main compressor for standard wave compression
#define	MAFA_COMPRESS_WAVECOMP2 0x40 //Main compressor for unused wave compression
#define MAFA_COMPRESS_WAVECOMP3 0x01 //Secondary compressor for wave compression

// ZLib deflate compression level constants (used with MpqAddFileToArchiveEx and MpqAddFileFromBufferEx)
#define Z_NO_COMPRESSION         0
#define Z_BEST_SPEED             1
#define Z_BEST_COMPRESSION       9
#define Z_DEFAULT_COMPRESSION  (-1)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人午夜高潮毛片| 石原莉奈在线亚洲三区| 精品三级在线观看| 欧美日韩免费一区二区三区视频| 99精品在线免费| 日本韩国欧美三级| 欧美日韩精品一区二区天天拍小说| 色婷婷激情久久| 欧美日韩一区中文字幕| 欧美日韩一区二区三区高清| 欧美体内she精高潮| 欧美日韩成人在线一区| 4438x成人网最大色成网站| 日韩欧美一级在线播放| 久久这里只有精品6| 中文字幕av一区 二区| 亚洲日穴在线视频| 亚洲福利电影网| 国模无码大尺度一区二区三区| 国产一区二区在线观看视频| 国产精品夜夜嗨| 色综合天天综合色综合av | 一区二区激情视频| 午夜精品久久久久久久| 免费观看成人av| 91麻豆福利精品推荐| 色狠狠色狠狠综合| 欧美一区二区三级| 国产精品青草综合久久久久99| 亚洲品质自拍视频网站| 免费高清不卡av| av午夜精品一区二区三区| 欧美做爰猛烈大尺度电影无法无天| 欧美日本一区二区三区四区| 久久久久久久久久久久电影| 一区二区在线免费观看| 美女视频网站久久| 成人高清伦理免费影院在线观看| 欧美性生活久久| 久久久www免费人成精品| 亚洲激情图片qvod| 国产精品一区二区久久精品爱涩| 91麻豆免费观看| 亚洲精品一线二线三线无人区| 国产精品久久一级| 国产一区二区三区久久久| 欧美自拍丝袜亚洲| 亚洲国产精品成人综合色在线婷婷 | 91精品国产综合久久精品麻豆 | 99视频热这里只有精品免费| 欧美电影在线免费观看| 国产精品久久网站| 久草这里只有精品视频| 欧美三级韩国三级日本一级| 最新日韩av在线| 欧美最猛黑人xxxxx猛交| 精品国产精品网麻豆系列| 亚洲一二三区视频在线观看| 国产91精品精华液一区二区三区| 日韩限制级电影在线观看| 亚洲人成网站精品片在线观看| 国产一区在线视频| 欧美va在线播放| 视频一区在线播放| 欧美性猛交一区二区三区精品| 国产精品久久久久7777按摩| 久久精品国产一区二区| 欧美精品三级在线观看| 亚洲资源中文字幕| 日本韩国欧美一区| 亚洲精品国产第一综合99久久 | 亚洲综合一二三区| 在线影院国内精品| 一区二区三区在线视频免费观看| 91网站在线观看视频| 国产精品久久久久影院老司| 成人动漫精品一区二区| 国产精品乱码久久久久久| 国产精品综合一区二区| 国产欧美日本一区二区三区| 国产露脸91国语对白| 国产三级精品视频| www.在线成人| 亚洲少妇屁股交4| 91精品福利在线| 亚洲成人一二三| 日韩一区二区电影网| 国产麻豆成人传媒免费观看| 国产色综合一区| 成人app软件下载大全免费| 国产精品少妇自拍| 色欧美乱欧美15图片| 亚洲一区二区三区四区在线免费观看| 欧美三级资源在线| 久久精品国产久精国产爱| 亚洲精品一线二线三线| 成人av网址在线观看| 亚洲自拍与偷拍| 欧美大片一区二区三区| 国产成人av一区二区三区在线| 国产三级精品三级| 色婷婷精品久久二区二区蜜臀av| 日韩中文欧美在线| 国产日韩欧美精品综合| 色94色欧美sute亚洲线路一ni | 久久se这里有精品| 亚洲蜜臀av乱码久久精品| 欧美精选午夜久久久乱码6080| 麻豆91小视频| 国产精品久久久久aaaa| 91精品午夜视频| gogo大胆日本视频一区| 美腿丝袜亚洲一区| 综合色天天鬼久久鬼色| 日韩三级在线观看| 一本色道a无线码一区v| 日日夜夜免费精品| 国产精品电影一区二区| 欧美一级国产精品| 99精品欧美一区| 韩国精品主播一区二区在线观看| 综合av第一页| 国产视频在线观看一区二区三区 | 国产精品国产三级国产aⅴ入口| 欧美少妇bbb| 不卡一卡二卡三乱码免费网站| 喷水一区二区三区| 亚洲色图制服丝袜| 欧美—级在线免费片| 日韩一二三区不卡| 欧美日韩电影在线播放| 一本久久综合亚洲鲁鲁五月天| 日本高清不卡视频| 欧美精选在线播放| 亚洲成人免费看| 久久久久97国产精华液好用吗| 欧美日韩国产免费一区二区| 99久久久无码国产精品| 成人精品国产免费网站| 国产麻豆精品在线| 狠狠狠色丁香婷婷综合久久五月| 婷婷综合久久一区二区三区| 亚洲另类在线视频| 亚洲视频综合在线| 成人欧美一区二区三区白人| 国产日韩精品一区二区三区 | 国产成人精品aa毛片| 久久国产精品99精品国产 | 国产成人免费视频网站| 国产乱码一区二区三区| 国产在线麻豆精品观看| 国产伦精品一区二区三区免费| 美女诱惑一区二区| 蜜臀av国产精品久久久久| 日韩av中文在线观看| 三级不卡在线观看| 日韩1区2区3区| 蜜臀久久久久久久| 七七婷婷婷婷精品国产| 精品亚洲porn| 成人三级伦理片| 99riav久久精品riav| 99re这里只有精品首页| 欧美在线制服丝袜| 91麻豆精品国产91久久久| 欧美一级电影网站| 久久综合五月天婷婷伊人| 欧美精品一区二区三区一线天视频| 日韩你懂的在线观看| 国产亚洲成aⅴ人片在线观看 | 国产成人精品免费一区二区| 成人免费毛片a| 91国在线观看| 日韩区在线观看| 中文字幕精品—区二区四季| 成人欧美一区二区三区白人| 午夜激情一区二区三区| 久久99国产精品麻豆| www.亚洲在线| 欧美一级二级三级蜜桃| 国产日产欧产精品推荐色| 亚洲男女毛片无遮挡| 午夜国产精品影院在线观看| 国产在线不卡视频| 色呦呦国产精品| 精品久久久影院| 一区二区视频在线| 老司机午夜精品99久久| 成人av一区二区三区| 欧美老女人第四色| 国产精品欧美一区喷水| 香蕉成人伊视频在线观看| 国产suv一区二区三区88区| 欧美日本一道本| 日本一区二区三区四区| 天天做天天摸天天爽国产一区| 国产69精品久久99不卡| 欧美日韩亚洲综合一区| 中文字幕精品一区二区精品绿巨人| 午夜视频在线观看一区|