|
|
/*/****************************************************************************
* 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*);
|