148 lines
5.6 KiB
C
148 lines
5.6 KiB
C
/*/****************************************************************************
|
|
* name: proto.h
|
|
*
|
|
* description: Contains all the "extern" functions declarations
|
|
*
|
|
* designed: g3d_soft
|
|
* last modified: $Author: unknown $, $Date: 94/11/24 11:50:08 $
|
|
*
|
|
* version: $Id: PROTO.H 1.33 94/11/24 11:50:08 unknown Exp $
|
|
*
|
|
******************************************************************************/
|
|
|
|
extern VOID Decoder(BYTE *); /*** CADDI command decoder ***/
|
|
|
|
/*** RC opcodes ***/
|
|
|
|
extern VOID (*SetFgColor())(VOID);
|
|
extern VOID (*SetFgIndex())(VOID);
|
|
extern VOID (*SetClipList())(VOID);
|
|
extern VOID (*SetBgColor())(VOID);
|
|
extern VOID (*SetBgIndex())(VOID);
|
|
extern VOID (*SetTrivialIn())(VOID);
|
|
extern VOID (*SetTransparency())(VOID);
|
|
extern VOID (*SetEndPoint())(VOID);
|
|
extern VOID (*SetLineStyle())(VOID);
|
|
extern VOID (*SetFillPattern())(VOID);
|
|
extern VOID (*SetLogicOp())(VOID);
|
|
extern VOID (*SetZBuffer())(VOID);
|
|
extern VOID (*InitRC())(VOID);
|
|
extern VOID (*Set2DViewport())(VOID);
|
|
extern VOID (*Set2DWindow())(VOID);
|
|
extern VOID (*Set2DWindow32())(VOID);
|
|
extern VOID (*SetLightSources())(VOID);
|
|
extern VOID (*SetSurfaceAttr())(VOID);
|
|
extern VOID (*SetViewer())(VOID);
|
|
extern VOID (*SetClip3D())(VOID);
|
|
extern VOID (*SetRenderData())(VOID);
|
|
extern VOID (*SetRenderMode())(VOID);
|
|
extern VOID (*ChangeMatrix())(VOID);
|
|
extern VOID (*SetOutline())(VOID);
|
|
extern VOID (*SetPlaneMask())(VOID);
|
|
extern VOID (*SetAsynchronousSwap())(VOID);
|
|
extern VOID (*SetLineStyleOffset())(VOID);
|
|
|
|
/*** SC opcodes ***/
|
|
extern VOID (*RenderScPolyLine())(VOID);
|
|
extern VOID (*RenderScPolygon())(VOID);
|
|
extern VOID (*SpanLine())(VOID);
|
|
extern VOID (*RenderSCPolyTriangle())(VOID);
|
|
|
|
/*** 2D opcodes ***/
|
|
extern VOID (*Render2DMultiPolyLine())(VOID);
|
|
extern VOID (*Render2DPolygon())(VOID);
|
|
extern VOID (*Render2DPolygon32())(VOID);
|
|
|
|
/*** MISC opcodes ***/
|
|
extern VOID (*Sync())(VOID);
|
|
extern VOID (*NoOp())(VOID);
|
|
extern VOID (*Clear())(VOID);
|
|
extern VOID (*SetBufferConfiguration())(VOID);
|
|
extern VOID (*SetBufferConfIndex())(VOID);
|
|
extern VOID (*SetBufferDummy())(VOID);
|
|
extern VOID (*SetBufferSideSide())(VOID);
|
|
extern VOID (*SetBufferFrontBack())(VOID);
|
|
|
|
extern VOID (*BadOpcode())(VOID); /*** Non-existing opcode replacement ***/
|
|
|
|
/*** 3D opcodes ***/
|
|
|
|
extern VOID (*RenderPolyQuad())(VOID);
|
|
extern VOID (*RenderPolyLine())(VOID);
|
|
extern VOID (*Triangle())(VOID);
|
|
extern VOID (*RenderPolyTriangle())(VOID);
|
|
|
|
/*** MISC functions ***/
|
|
|
|
extern DWORD XformRGB24ToSliceFmt(DWORD);
|
|
extern DWORD XformMask24ToSliceFmt(DWORD);
|
|
extern VOID DefCaddiSysRegToTitan(VOID);
|
|
extern VOID SetHWtoRC(VOID);
|
|
|
|
/*** INIT functions ***/
|
|
|
|
extern BYTE* CaddiInit(BYTE*, BYTE*);
|
|
extern VOID InitDefaultRC(VOID);
|
|
extern VOID InitDefaultClipList(VOID);
|
|
extern VOID CaddiClose(VOID);
|
|
extern BYTE* InitSysParm(VOID);
|
|
extern VOID InitDefaultLSDB(VOID);
|
|
|
|
extern VOID MGASysInit(BYTE*);
|
|
extern VOID MGAVidInit(BYTE*, BYTE*);
|
|
extern DWORD GetMGAMctlwtst(DWORD, DWORD);
|
|
extern VOID SetMGALUT(volatile BYTE _Far *, BYTE*, BYTE, BYTE);
|
|
extern VOID GetMGAConfiguration(volatile BYTE _Far *, DWORD*, DWORD*, DWORD*);
|
|
extern SDWORD setFrequence(volatile BYTE _Far *, SDWORD, SDWORD);
|
|
extern SDWORD setTVP3026Freq(volatile BYTE _Far *, SDWORD, SDWORD, BYTE);
|
|
|
|
/*** 3D functions ***/
|
|
|
|
extern VOID CalcLSKB();
|
|
|
|
/*** Utility functions used to setup CADDI buffers ***/
|
|
|
|
extern DWORD BufDone(BYTE*);
|
|
extern DWORD BufNoOp(BYTE*, BYTE*, WORD);
|
|
extern DWORD BufSync(BYTE*);
|
|
extern DWORD BufSetFgColor(BYTE*, BYTE*, float, float, float);
|
|
extern DWORD BufSetBgColor(BYTE*, BYTE*, float, float, float);
|
|
extern DWORD BufSetLogicOp(BYTE*, BYTE*, WORD);
|
|
extern DWORD BufSetFillPattern(BYTE*, BYTE*, WORD, BYTE[8]);
|
|
extern DWORD BufSetLineStyle(BYTE*, BYTE*, WORD, DWORD);
|
|
extern DWORD BufSetEndPoint(BYTE*, BYTE*, WORD);
|
|
extern DWORD BufSetTransparency(BYTE*, BYTE*, WORD);
|
|
extern DWORD BufSetTrivialIn(BYTE*, BYTE*, WORD);
|
|
extern DWORD BufSetZBuffer(BYTE*, BYTE*, WORD, DWORD);
|
|
extern DWORD BufInitRC(BYTE*, BYTE*);
|
|
extern DWORD BufSet2DViewport(BYTE*, BYTE*, WORD, WORD, WORD, WORD);
|
|
extern DWORD BufSet2DWindow(BYTE*, BYTE*, SWORD, SWORD, SWORD, SWORD);
|
|
extern DWORD BufSet2DWindow32(BYTE*, BYTE*, SDWORD, SDWORD, SDWORD, SDWORD);
|
|
extern DWORD BufClear(BYTE*, BYTE*, WORD, float, float, float, float);
|
|
extern DWORD BufSetViewer(BYTE*, BYTE*, WORD, float, float, float, float, float, float);
|
|
extern DWORD BufSetSurfaceAttr(BYTE*, BYTE*, float, float, float, float, float, float,
|
|
float, float, float, float, float, float, float);
|
|
extern DWORD BufSetBufferConfiguration(BYTE*, BYTE*, BYTE, BYTE);
|
|
extern DWORD BufSetClip3D(BYTE*, BYTE*, WORD);
|
|
extern DWORD BufSetRenderData(BYTE*, BYTE*, DWORD);
|
|
extern DWORD BufSetRenderMode(BYTE*, BYTE*, WORD);
|
|
extern DWORD BufSetPlaneMask(BYTE*, BYTE*, WORD, DWORD);
|
|
extern DWORD BufSetLineStyleOffset(BYTE*, BYTE*, WORD);
|
|
|
|
/*** Blit functions ***/
|
|
|
|
extern VOID (*SetEnvBlitPlan(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD))
|
|
(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD);
|
|
extern VOID (*SetEnvBlitPoly(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD))
|
|
(SWORD, SWORD, SWORD, SWORD, WORD, WORD, WORD);
|
|
extern VOID (*SetEnvIloadPlan(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
|
|
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);
|
|
extern VOID (*SetEnvIloadPoly(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
|
|
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);
|
|
extern VOID (*SetEnvIdumpPoly(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
|
|
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);
|
|
extern VOID (*SetEnvIloadExp(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
|
|
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);
|
|
extern VOID (*SetEnvIloadDither(SWORD, SWORD, WORD, WORD, WORD, DWORD*))
|
|
(SWORD, SWORD, WORD, WORD, WORD, DWORD*);
|