Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
5.6 KiB

  1. /*/****************************************************************************
  2. * name: proto.h
  3. *
  4. * description: Contains all the "extern" functions declarations
  5. *
  6. * designed: g3d_soft
  7. * last modified: $Author: unknown $, $Date: 94/11/24 11:50:08 $
  8. *
  9. * version: $Id: PROTO.H 1.33 94/11/24 11:50:08 unknown Exp $
  10. *
  11. ******************************************************************************/
  12. extern VOID Decoder(BYTE *); /*** CADDI command decoder ***/
  13. /*** RC opcodes ***/
  14. extern VOID (*SetFgColor())(VOID);
  15. extern VOID (*SetFgIndex())(VOID);
  16. extern VOID (*SetClipList())(VOID);
  17. extern VOID (*SetBgColor())(VOID);
  18. extern VOID (*SetBgIndex())(VOID);
  19. extern VOID (*SetTrivialIn())(VOID);
  20. extern VOID (*SetTransparency())(VOID);
  21. extern VOID (*SetEndPoint())(VOID);
  22. extern VOID (*SetLineStyle())(VOID);
  23. extern VOID (*SetFillPattern())(VOID);
  24. extern VOID (*SetLogicOp())(VOID);
  25. extern VOID (*SetZBuffer())(VOID);
  26. extern VOID (*InitRC())(VOID);
  27. extern VOID (*Set2DViewport())(VOID);
  28. extern VOID (*Set2DWindow())(VOID);
  29. extern VOID (*Set2DWindow32())(VOID);
  30. extern VOID (*SetLightSources())(VOID);
  31. extern VOID (*SetSurfaceAttr())(VOID);
  32. extern VOID (*SetViewer())(VOID);
  33. extern VOID (*SetClip3D())(VOID);
  34. extern VOID (*SetRenderData())(VOID);
  35. extern VOID (*SetRenderMode())(VOID);
  36. extern VOID (*ChangeMatrix())(VOID);
  37. extern VOID (*SetOutline())(VOID);
  38. extern VOID (*SetPlaneMask())(VOID);
  39. extern VOID (*SetAsynchronousSwap())(VOID);
  40. extern VOID (*SetLineStyleOffset())(VOID);
  41. /*** SC opcodes ***/
  42. extern VOID (*RenderScPolyLine())(VOID);
  43. extern VOID (*RenderScPolygon())(VOID);
  44. extern VOID (*SpanLine())(VOID);
  45. extern VOID (*RenderSCPolyTriangle())(VOID);
  46. /*** 2D opcodes ***/
  47. extern VOID (*Render2DMultiPolyLine())(VOID);
  48. extern VOID (*Render2DPolygon())(VOID);
  49. extern VOID (*Render2DPolygon32())(VOID);
  50. /*** MISC opcodes ***/
  51. extern VOID (*Sync())(VOID);
  52. extern VOID (*NoOp())(VOID);
  53. extern VOID (*Clear())(VOID);
  54. extern VOID (*SetBufferConfiguration())(VOID);
  55. extern VOID (*SetBufferConfIndex())(VOID);
  56. extern VOID (*SetBufferDummy())(VOID);
  57. extern VOID (*SetBufferSideSide())(VOID);
  58. extern VOID (*SetBufferFrontBack())(VOID);
  59. extern VOID (*BadOpcode())(VOID); /*** Non-existing opcode replacement ***/
  60. /*** 3D opcodes ***/
  61. extern VOID (*RenderPolyQuad())(VOID);
  62. extern VOID (*RenderPolyLine())(VOID);
  63. extern VOID (*Triangle())(VOID);
  64. extern VOID (*RenderPolyTriangle())(VOID);
  65. /*** MISC functions ***/
  66. extern DWORD XformRGB24ToSliceFmt(DWORD);
  67. extern DWORD XformMask24ToSliceFmt(DWORD);
  68. extern VOID DefCaddiSysRegToTitan(VOID);
  69. extern VOID SetHWtoRC(VOID);
  70. /*** INIT functions ***/
  71. extern BYTE* CaddiInit(BYTE*, BYTE*);
  72. extern VOID InitDefaultRC(VOID);
  73. extern VOID InitDefaultClipList(VOID);
  74. extern VOID CaddiClose(VOID);
  75. extern BYTE* InitSysParm(VOID);
  76. extern VOID InitDefaultLSDB(VOID);
  77. extern VOID MGASysInit(BYTE*);
  78. extern VOID MGAVidInit(BYTE*, BYTE*);
  79. extern DWORD GetMGAMctlwtst(DWORD, DWORD);
  80. extern VOID SetMGALUT(volatile BYTE _Far *, BYTE*, BYTE, BYTE);
  81. extern VOID GetMGAConfiguration(volatile BYTE _Far *, DWORD*, DWORD*, DWORD*);
  82. extern SDWORD setFrequence(volatile BYTE _Far *, SDWORD, SDWORD);
  83. extern SDWORD setTVP3026Freq(volatile BYTE _Far *, SDWORD, SDWORD, BYTE);
  84. /*** 3D functions ***/
  85. extern VOID CalcLSKB();
  86. /*** Utility functions used to setup CADDI buffers ***/
  87. extern DWORD BufDone(BYTE*);
  88. extern DWORD BufNoOp(BYTE*, BYTE*, WORD);
  89. extern DWORD BufSync(BYTE*);
  90. extern DWORD BufSetFgColor(BYTE*, BYTE*, float, float, float);
  91. extern DWORD BufSetBgColor(BYTE*, BYTE*, float, float, float);
  92. extern DWORD BufSetLogicOp(BYTE*, BYTE*, WORD);
  93. extern DWORD BufSetFillPattern(BYTE*, BYTE*, WORD, BYTE[8]);
  94. extern DWORD BufSetLineStyle(BYTE*, BYTE*, WORD, DWORD);
  95. extern DWORD BufSetEndPoint(BYTE*, BYTE*, WORD);
  96. extern DWORD BufSetTransparency(BYTE*, BYTE*, WORD);
  97. extern DWORD BufSetTrivialIn(BYTE*, BYTE*, WORD);
  98. extern DWORD BufSetZBuffer(BYTE*, BYTE*, WORD, DWORD);
  99. extern DWORD BufInitRC(BYTE*, BYTE*);
  100. extern DWORD BufSet2DViewport(BYTE*, BYTE*, WORD, WORD, WORD, WORD);
  101. extern DWORD BufSet2DWindow(BYTE*, BYTE*, SWORD, SWORD, SWORD, SWORD);
  102. extern DWORD BufSet2DWindow32(BYTE*, BYTE*, SDWORD, SDWORD, SDWORD, SDWORD);
  103. extern DWORD BufClear(BYTE*, BYTE*, WORD, float, float, float, float);
  104. extern DWORD BufSetViewer(BYTE*, BYTE*, WORD, float, float, float, float, float, float);
  105. extern DWORD BufSetSurfaceAttr(BYTE*, BYTE*, float, float, float, float, float, float,
  106. float, float, float, float, float, float, float);
  107. extern DWORD BufSetBufferConfiguration(BYTE*, BYTE*, BYTE, BYTE);
  108. extern DWORD BufSetClip3D(BYTE*, BYTE*, WORD);
  109. extern DWORD BufSetRenderData(BYTE*, BYTE*, DWORD);
  110. extern DWORD BufSetRenderMode(BYTE*, BYTE*, WORD);
  111. extern DWORD BufSetPlaneMask(BYTE*, BYTE*, WORD, DWORD);
  112. extern DWORD BufSetLineStyleOffset(BYTE*, BYTE*, WORD);
  113. /*** Blit functions ***/
  114. extern VOID (*SetEnvBlitPlan(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD))
  115. (SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD);
  116. extern VOID (*SetEnvBlitPoly(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD))
  117. (SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD);
  118. extern VOID (*SetEnvIloadPlan(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
  119. (SWORD, SWORD, WORD, WORD, WORD, DWORD*);
  120. extern VOID (*SetEnvIloadPoly(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
  121. (SWORD, SWORD, WORD, WORD, WORD, DWORD*);
  122. extern VOID (*SetEnvIdumpPoly(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
  123. (SWORD, SWORD, WORD, WORD, WORD, DWORD*);
  124. extern VOID (*SetEnvIloadExp(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
  125. (SWORD, SWORD, WORD, WORD, WORD, DWORD*);
  126. extern VOID (*SetEnvIloadDither(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
  127. (SWORD, SWORD, WORD, WORD, WORD, DWORD*);