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

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

?? rad.h

?? RadGameTools_Bink_SDK.rar and older version
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef __RAD__
#define __RAD__

#define RADCOPYRIGHT "Copyright (C) 1994-98 RAD Game Tools, Inc."

#ifndef __RADRES__

//  __RADDOS__ means DOS code (16 or 32 bit)
//  __RAD16__ means 16 bit code (Win16)
//  __RAD32__ means 32 bit code (DOS, Win386, Win32s, Mac)
//  __RADWIN__ means Windows code (Win16, Win386, Win32s)
//  __RADWINEXT__ means Windows 386 extender (Win386)
//  __RADNT__ means Win32s code
//  __RADMAC__ means Macintosh
//  __RAD68K__ means 68K Macintosh
//  __RADPPC__ means PowerMac


#if (defined(__MWERKS__) && !defined(__INTEL__)) || defined(THINK_C) || defined(powerc) || defined(macintosh) || defined(__powerc)

  #define __RADMAC__
  #if defined(powerc) || defined(__powerc)
    #define __RADPPC__
  #else
    #define __RAD68K__
  #endif

  #define __RAD32__

#else 

  #ifdef __DOS__
    #define __RADDOS__
  #endif

  #ifdef __386__
    #define __RAD32__
  #endif

  #ifdef _Windows    //For Borland
    #ifdef __WIN32__
      #define WIN32
    #else
      #define __WINDOWS__
    #endif
  #endif

  #ifdef _WINDOWS    //For MS
    #ifndef _WIN32
      #define __WINDOWS__
    #endif
  #endif

  #ifdef _WIN32           
    #define __RADWIN__
    #define __RADNT__
    #define __RAD32__
  #else
    #ifdef __NT__
      #define __RADWIN__
      #define __RADNT__
      #define __RAD32__
    #else
      #ifdef __WINDOWS_386__
        #define __RADWIN__
        #define __RADWINEXT__
        #define __RAD32__
      #else
        #ifdef __WINDOWS__
          #define __RADWIN__
          #define __RAD16__
        #else
          #ifdef WIN32
            #define __RADWIN__
            #define __RADNT__
            #define __RAD32__
          #endif
        #endif
      #endif
    #endif
  #endif

#endif

#if (!defined(__RADDOS__) && !defined(__RADWIN__) && !defined(__RADMAC__))
  #error RAD.H did not detect your platform.  Define __DOS__, __WINDOWS__, WIN32, macintosh, or powerc.
#endif

#ifdef __RADMAC__

  // this define is for CodeWarrior 11's stupid new libs (even though
  //   we don't use longlong's).

  #define __MSL_LONGLONG_SUPPORT__

  #define RADLINK
  #define RADEXPLINK

  #ifdef __CFM68K__
    #ifdef __RADINDLL__
      #define RADEXPFUNC RADDEFFUNC __declspec(export)
    #else
      #define RADEXPFUNC RADDEFFUNC __declspec(import)
    #endif
  #else
    #define RADEXPFUNC RADDEFFUNC
  #endif
  #define RADASMLINK

#else

  #ifdef __RADNT__
    #ifndef _WIN32
      #define _WIN32
    #endif
    #ifndef WIN32
      #define WIN32
    #endif
  #endif

  #ifdef __RADWIN__
    #ifdef __RAD32__
      #ifdef __RADNT__

        #define RADLINK __stdcall
        #define RADEXPLINK __stdcall

        #ifdef __RADINEXE__
          #define RADEXPFUNC RADDEFFUNC
        #else
          #ifndef __RADINDLL__
            #define RADEXPFUNC RADDEFFUNC __declspec(dllimport)
            #ifdef __BORLANDC__
              #if __BORLANDC__<=0x460
                #undef RADEXPFUNC
                #define RADEXPFUNC RADDEFFUNC
              #endif
            #endif
          #else
            #define RADEXPFUNC RADDEFFUNC __declspec(dllexport)
          #endif
        #endif
      #else
        #define RADLINK __pascal
        #define RADEXPLINK __far __pascal
        #define RADEXPFUNC RADDEFFUNC
      #endif
    #else
      #define RADLINK __pascal
      #define RADEXPLINK __far __pascal __export
      #define RADEXPFUNC RADDEFFUNC
    #endif
  #else
    #define RADLINK __pascal
    #define RADEXPLINK __pascal
    #define RADEXPFUNC RADDEFFUNC
  #endif

  #define RADASMLINK __cdecl

#endif

#ifdef __RADWIN__
  #ifndef _WINDOWS
    #define _WINDOWS
  #endif
#endif

#ifdef __cplusplus
  #define RADDEFFUNC extern "C"
  #define RADDEFSTART extern "C" {
  #define RADDEFEND }
#else
  #define RADDEFFUNC
  #define RADDEFSTART
  #define RADDEFEND
#endif


RADDEFSTART

#define s8 signed char
#define u8 unsigned char
#define u32 unsigned long
#define s32 signed long
#define u64 unsigned __int64
#define s64 signed __int64

#ifdef __RAD32__
  #define PTR4

  #define u16 unsigned short
  #define s16 signed short

  #ifdef __RADMAC__

    #include <string.h>
    #include <memory.h>
    #include <OSUtils.h>

    #define radstrlen strlen

    #define radmemset memset

    #define radmemcmp memcmp

    #define radmemcpy(dest,source,size) BlockMoveData((Ptr)(source),(Ptr)(dest),size)

    #define radmemcpydb(dest,source,size) BlockMoveData((Ptr)(source),(Ptr)(dest),size)

    #define radstrcat strcat

    #define radstrcpy strcpy

    static u32 inline radsqr(s32 a) {  return(a*a);  }
   
    #ifdef __RAD68K__

      #pragma parameter __D0 mult64anddiv(__D0,__D1,__D2)
      u32 mult64anddiv(u32 m1,u32 m2,u32 d) ={0x4C01,0x0C01,0x4C42,0x0C01};
      //  muls.l d1,d1:d0  divs.l d2,d1:d0
               
      #pragma parameter radconv32a(__A0,__D0)
      void radconv32a(void* p,u32 n) ={0x4A80,0x600C,0x2210,0xE059,0x4841,0xE059,0x20C1,0x5380,0x6EF2};
      // tst.l d0  bra.s @loope  @loop:  move.l (a0),d1  ror.w #8,d1  swap d1 ror.w #8,d1  move.l d1,(a0)+  sub.l #1,d0  bgt.s @loop  @loope:
      
    #else

      u32 mult64anddiv(u32 m1,u32 m2,u32 d);

      void radconv32a(void* p,u32 n);

    #endif

  #else

    #ifdef __WATCOMC__

      u32 radsqr(s32 a);
      #pragma aux radsqr = "mul eax" parm [eax] modify [EDX eax];

      u32 mult64anddiv(u32 m1,u32 m2,u32 d);
      #pragma aux mult64anddiv = "mul ecx" "div ebx" parm [eax] [ecx] [ebx] modify [EDX eax];

      s32 radabs(s32 ab);
      #pragma aux radabs = "test eax,eax" "jge skip" "neg eax" "skip:" parm [eax];

      #define radabs32 radabs

      u32 DOSOut(const char* str);
      #pragma aux DOSOut = "cld" "mov ecx,0xffffffff" "xor eax,eax" "mov edx,edi" "repne scasb" "not ecx" "dec ecx" "mov ebx,1" "mov ah,0x40" "int 0x21" parm [EDI] modify [EAX EBX ECX EDX EDI] value [ecx];
    
      void DOSOutNum(const char* str,u32 len);
      #pragma aux DOSOutNum = "mov ah,0x40" "mov ebx,1" "int 0x21" parm [edx] [ecx] modify [eax ebx];

      u32 ErrOut(const char* str);
      #pragma aux ErrOut = "cld" "mov ecx,0xffffffff" "xor eax,eax" "mov edx,edi" "repne scasb" "not ecx" "dec ecx" "xor ebx,ebx" "mov ah,0x40" "int 0x21" parm [EDI] modify [EAX EBX ECX EDX EDI] value [ecx];
    
      void ErrOutNum(const char* str,u32 len);
      #pragma aux ErrOutNum = "mov ah,0x40" "xor ebx,ebx" "int 0x21" parm [edx] [ecx] modify [eax ebx];

      void radmemset16(void* dest,u16 value,u32 size);
      #pragma aux radmemset16 = "cld" "mov bx,ax" "shl eax,16" "mov ax,bx" "mov bl,cl" "shr ecx,1" "rep stosd" "mov cl,bl" "and cl,1" "rep stosw" parm [EDI] [EAX] [ECX] modify [EAX EDX EBX ECX EDI];
    
      void radmemset(void* dest,u8 value,u32 size);
      #pragma aux radmemset = "cld" "mov ah,al" "mov bx,ax" "shl eax,16" "mov ax,bx" "mov bl,cl" "shr ecx,2" "and bl,3" "rep stosd" "mov cl,bl" "rep stosb" parm [EDI] [AL] [ECX] modify [EAX EDX EBX ECX EDI];

      void radmemset32(void* dest,u32 value,u32 size);
      #pragma aux radmemset32 = "cld" "rep stosd" parm [EDI] [EAX] [ECX] modify [EAX EDX EBX ECX EDI];

      void radmemcpy(void* dest,const void* source,u32 size);
      #pragma aux radmemcpy = "cld" "mov bl,cl" "shr ecx,2" "rep movsd" "mov cl,bl" "and cl,3" "rep movsb" parm [EDI] [ESI] [ECX] modify [EBX ECX EDI ESI];

      void __far *radfmemcpy(void __far* dest,const void __far* source,u32 size);
      #pragma aux radfmemcpy = "cld" "push es" "push ds" "mov es,cx" "mov ds,dx" "mov ecx,eax" "shr ecx,2" "rep movsd" "mov cl,al" "and cl,3" "rep movsb" "pop ds" "pop es" parm [CX EDI] [DX ESI] [EAX] modify [ECX EDI ESI] value [CX EDI];

      void radmemcpydb(void* dest,const void* source,u32 size);  //Destination bigger
      #pragma aux radmemcpydb = "std" "mov bl,cl" "lea esi,[esi+ecx-4]" "lea edi,[edi+ecx-4]" "shr ecx,2" "rep movsd" "and bl,3" "jz dne" "add esi,3" "add edi,3" "mov cl,bl" "rep movsb" "dne:" "cld" parm [EDI] [ESI] [ECX] modify [EBX ECX EDI ESI];

      char* radstrcpy(void* dest,const void* source);
      #pragma aux radstrcpy = "cld" "mov edx,edi" "lp:" "mov al,[esi]" "inc esi" "mov [edi],al" "inc edi" "cmp al,0" "jne lp" parm [EDI] [ESI] modify [EAX EDX EDI ESI] value [EDX];

      char __far* radfstrcpy(void __far* dest,const void __far* source);
      #pragma aux radfstrcpy = "cld" "push es" "push ds" "mov es,cx" "mov ds,dx" "mov edx,edi" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" "pop ds" "pop es" parm [CX EDI] [DX ESI] modify [EAX EDX EDI ESI] value [CX EDX];

      char* radstpcpy(void* dest,const void* source);
      #pragma aux radstpcpy = "cld" "lp:" "mov al,[esi]" "inc esi" "mov [edi],al" "inc edi" "cmp al,0" "jne lp" "dec edi" parm [EDI] [ESI] modify [EAX EDI ESI] value [EDI];

      char* radstpcpyrs(void* dest,const void* source);
      #pragma aux radstpcpyrs = "cld" "lp:" "mov al,[esi]" "inc esi" "mov [edi],al" "inc edi" "cmp al,0" "jne lp" "dec esi" parm [EDI] [ESI] modify [EAX EDI ESI] value [ESI];

      u32 radstrlen(const void* dest);
      #pragma aux radstrlen = "cld" "mov ecx,0xffffffff" "xor eax,eax" "repne scasb" "not ecx" "dec ecx" parm [EDI] modify [EAX ECX EDI] value [ECX];
    
      char* radstrcat(void* dest,const void* source);
      #pragma aux radstrcat = "cld" "mov ecx,0xffffffff" "mov edx,edi" "xor eax,eax" "repne scasb" "dec edi" "lp:" "lodsb" "stosb" "test al,0xff" "jnz lp" \
      parm [EDI] [ESI] modify [EAX ECX EDI ESI] value [EDX];
    
      char* radstrchr(const void* dest,char chr);
      #pragma aux radstrchr = "cld" "lp:" "lodsb" "cmp al,dl" "je fnd" "cmp al,0" "jnz lp" "mov esi,1" "fnd:" "dec esi" parm [ESI] [DL] modify [EAX ESI] value [esi];

      s8 radmemcmp(const void* s1,const void* s2,u32 len);
      #pragma aux radmemcmp = "cld" "rep cmpsb" "setne al" "jbe end" "neg al" "end:"  parm [EDI] [ESI] [ECX] modify [ECX EDI ESI];

      s8 radstrcmp(const void* s1,const void* s2);
      #pragma aux radstrcmp = "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,ah" "jne set" "cmp al,0" "je set" "inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" \
      parm [EDI] [ESI] modify [EAX EDI ESI];

      s8 radstricmp(const void* s1,const void* s2);                                                                       
      #pragma aux radstricmp = "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" "cmp ah,'a'" "jb c2" "cmp ah,'z'" "ja c2" "sub ah,32" "c2:" "cmp al,ah" "jne set" "cmp al,0" "je set" \
     "inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" \
      parm [EDI] [ESI] modify [EAX EDI ESI];

      s8 radstrnicmp(const void* s1,const void* s2,u32 len);
      #pragma aux radstrnicmp = "lp:" "mov al,[esi]" "mov ah,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub al,32" "c1:" "cmp ah,'a'" "jb c2" "cmp ah,'z'" "ja c2" "sub ah,32" "c2:" "cmp al,ah" "jne set" "cmp al,0" "je set" \
      "dec ecx" "jz set" "inc esi" "inc edi" "jmp lp" "set:" "setne al" "jbe end" "neg al" "end:" \
      parm [EDI] [ESI] [ECX] modify [EAX ECX EDI ESI];

      char* radstrupr(void* s1);
      #pragma aux radstrupr = "mov ecx,edi" "lp:" "mov al,[edi]" "cmp al,'a'" "jb c1" "cmp al,'z'" "ja c1" "sub [edi],32" "c1:" "inc edi" "cmp al,0" "jne lp" parm [EDI] modify [EAX EDI] value [ecx];

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产高清视频一区| 久久国产综合精品| 91行情网站电视在线观看高清版| 国产精品无码永久免费888| 国产成人精品影视| 1区2区3区国产精品| 欧美做爰猛烈大尺度电影无法无天| 亚洲国产一区视频| 日韩欧美高清在线| 国产精品一二三四五| 一区免费观看视频| 欧美精品免费视频| 国产一区二区女| 亚洲精品乱码久久久久| 日韩一区二区三区免费看 | 亚洲精品国产精品乱码不99| 色噜噜狠狠成人网p站| 亚洲va欧美va人人爽午夜| 欧美电影免费观看高清完整版在线| 国产精品亚洲一区二区三区妖精 | 国产人妖乱国产精品人妖| aaa国产一区| 青青草97国产精品免费观看| 国产日韩欧美精品一区| 91久久线看在观草草青青| 日本va欧美va精品发布| 国产拍欧美日韩视频二区| 91国偷自产一区二区开放时间 | 国产精品久久久久久久午夜片| 色婷婷亚洲精品| 久久er精品视频| 亚洲欧美日韩在线不卡| 日韩欧美国产三级| 91福利小视频| 国产aⅴ综合色| 日韩av在线播放中文字幕| 国产精品对白交换视频| 日韩欧美一级精品久久| 91久久精品网| 波多野结衣中文字幕一区二区三区| 亚洲成人第一页| 国产精品美女一区二区在线观看| 在线综合亚洲欧美在线视频| 91污片在线观看| 国产一区二区精品在线观看| 性欧美疯狂xxxxbbbb| 日韩一区欧美一区| 久久久国产一区二区三区四区小说 | 精品综合免费视频观看| 亚洲欧美日韩中文播放| 国产性做久久久久久| 91麻豆精品国产自产在线观看一区| 国产一区二区三区久久悠悠色av| 亚洲成a人v欧美综合天堂下载| 国产精品久久久久一区二区三区| 日韩欧美激情在线| 欧美剧情片在线观看| 在线视频国内一区二区| www.在线成人| av一区二区三区黑人| 国产精品一区二区果冻传媒| 久久99国产精品久久99果冻传媒| 亚洲成人资源网| 午夜成人免费视频| 亚洲成av人片一区二区梦乃| 亚洲女人****多毛耸耸8| 中文字幕视频一区| 欧美国产精品v| 国产精品视频九色porn| 欧美国产97人人爽人人喊| 久久综合久久久久88| 久久综合狠狠综合| 久久先锋影音av鲁色资源网| 精品美女在线播放| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | a亚洲天堂av| 国产不卡视频一区| 国产成人免费在线视频| 国产精品99久久久久久宅男| 国产精品综合久久| 国产91富婆露脸刺激对白| 国产精品一卡二卡在线观看| 国产成人免费网站| fc2成人免费人成在线观看播放| 成人在线视频一区二区| 91污在线观看| 欧美日韩国产乱码电影| 日韩欧美中文字幕制服| 久久色.com| 日韩理论片在线| 亚洲成av人在线观看| 蜜桃精品在线观看| 国产一区免费电影| 成人激情黄色小说| 欧美视频一区二区三区| 日韩欧美电影一区| 国产亚洲一区二区在线观看| 中文字幕在线播放不卡一区| 亚洲图片欧美一区| 久久精品国产精品亚洲红杏| 成人国产精品视频| 欧美综合久久久| 2023国产精品| 成人免费在线观看入口| 天堂午夜影视日韩欧美一区二区| 激情偷乱视频一区二区三区| 成人一区二区三区中文字幕| 在线视频一区二区三区| 日韩欧美在线网站| 亚洲欧洲国产日韩| 日韩二区在线观看| 国产成人av电影在线观看| 色噜噜狠狠成人中文综合| 日韩一二三区视频| 亚洲日本va午夜在线影院| 人人爽香蕉精品| 91蜜桃免费观看视频| 日韩欧美一区二区免费| 亚洲色图.com| 激情综合一区二区三区| 欧美亚洲国产bt| 欧美国产亚洲另类动漫| 日本成人在线看| 暴力调教一区二区三区| 日韩欧美久久一区| 亚洲欧美精品午睡沙发| 精品一区二区三区免费视频| 在线免费观看不卡av| 久久久av毛片精品| 日本亚洲视频在线| 在线免费观看成人短视频| 国产三级欧美三级日产三级99| 午夜av一区二区| 91碰在线视频| 国产婷婷精品av在线| 日韩高清一区二区| 欧美色图在线观看| 综合久久综合久久| 国产成人精品免费视频网站| 欧美一区二区三区的| 亚洲图片欧美一区| 一本一道久久a久久精品| 国产婷婷精品av在线| 寂寞少妇一区二区三区| 91精品国产一区二区| 亚洲卡通欧美制服中文| 成人国产电影网| 久久香蕉国产线看观看99| 免费观看30秒视频久久| 欧美二区乱c少妇| 亚洲国产日韩综合久久精品| 色综合久久久网| 国产精品乱子久久久久| 国产精品亚洲午夜一区二区三区| 欧美电影免费观看高清完整版在线观看| 一区二区三区四区精品在线视频 | 久久一夜天堂av一区二区三区| 日韩不卡免费视频| 制服丝袜一区二区三区| 天天av天天翘天天综合网| 欧美日韩一区不卡| 亚洲成人在线观看视频| 欧美午夜一区二区| 午夜精品久久久久久久久| 欧美日韩一区精品| 性久久久久久久久| 欧美一级午夜免费电影| 美女网站在线免费欧美精品| 制服丝袜在线91| 久久国产成人午夜av影院| 日韩精品一区二区三区三区免费| 久久疯狂做爰流白浆xx| 精品久久一区二区| 国产精品综合二区| 国产精品少妇自拍| 色欧美片视频在线观看| 亚洲国产wwwccc36天堂| 国产精品免费视频一区| av不卡免费电影| 亚洲一区二区欧美激情| 欧美肥胖老妇做爰| 黑人巨大精品欧美黑白配亚洲| 成人欧美一区二区三区1314| 欧美一区二区三区四区在线观看| 亚洲国产精品成人综合色在线婷婷| 国产成人一区在线| 中文字幕av一区二区三区高| 色综合天天综合在线视频| 91玉足脚交白嫩脚丫在线播放| 亚洲视频免费在线观看| 色88888久久久久久影院野外| 亚洲成av人片一区二区梦乃| 日韩免费电影一区| 大胆亚洲人体视频| 亚洲地区一二三色| 国产婷婷精品av在线| 欧美在线不卡视频| 激情伊人五月天久久综合| 国产精品欧美久久久久无广告 | 成人性生交大片免费看在线播放|