diff --git a/Makefile b/Makefile index 4f32060..875640d 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ LDLIBS += -L/usr/X11R6/lib -lX11 -lXext `sdl-config --libs` AFLAGS = -g -Iinclude/ -w+macro-params -w+orphan-labels -w+number-overflow -ROOT = main.c stubs.c afont.c frustum.c kshape.c map.c maths.c md5.c mem3dc.c mem3dcpp.cpp module.c morph.c mslhand.c object.c shpanim.c sphere.c tables.c vdb.c version.c +ROOT = main.c stubs.c stubs2.cpp afont.c frustum.c kshape.c map.c maths.c md5.c mem3dc.c mem3dcpp.cpp module.c morph.c mslhand.c object.c shpanim.c sphere.c tables.c vdb.c version.c AVP = ai_sight.c avpview.c bh_agun.c bh_ais.c bh_alien.c bh_binsw.c bh_cable.c bh_corpse.c bh_deathvol.c bh_debri.c bh_dummy.c bh_fan.c bh_far.c bh_fhug.c bh_gener.c bh_ldoor.c bh_lift.c bh_light.c bh_lnksw.c bh_ltfx.c bh_marin.c bh_mission.c bh_near.c bh_pargen.c bh_plachier.c bh_plift.c bh_pred.c bh_queen.c bh_rubberduck.c bh_selfdest.c bh_snds.c bh_spcl.c bh_swdor.c bh_track.c bh_types.c bh_videoscreen.c bh_waypt.c bh_weap.c bh_xeno.c bonusabilities.c cconvars.cpp cdtrackselection.cpp cheatmodes.c comp_map.c comp_shp.c consolelog.cpp davehook.cpp deaths.c decal.c detaillevels.c dynamics.c dynblock.c equipmnt.c equiputl.cpp extents.c game.c game_statistics.c gamecmds.cpp gameflow.c gamevars.cpp hmodel.c hud.c inventry.c language.c lighting.c load_shp.c los.c maps.c mempool.c messagehistory.c missions.cpp movement.c paintball.c particle.c pfarlocs.c pheromon.c player.c pmove.c psnd.c psndproj.c pvisible.c savegame.c scream.cpp secstats.c sfx.c stratdef.c targeting.c track.c triggers.c weapons.c SHAPES = cube.c SUPPORT = consbind.cpp consbtch.cpp coordstr.cpp daemon.cpp r2base.cpp r2pos666.cpp reflist.cpp refobj.cpp scstring.cpp strtab.cpp strutil.c trig666.cpp wrapstr.cpp diff --git a/src/avp/game.c b/src/avp/game.c index 473e8cf..10e0ddf 100644 --- a/src/avp/game.c +++ b/src/avp/game.c @@ -573,298 +573,3 @@ void TimeStampedMessage(char *stringPtr) time = t; #endif } - - -#if 0 -/* KJL 14:24:34 01/05/98 - Interesting floating point experiments -(UpdateGame is a useful point at which to test things) */ - -#define IEEE_MANT_BITS 23 -#define IEEE_EXP_BITS 8 -#define IEEE_SIGN_BITS 1 -#define IEEE_EXP_BIAS 127 - -#define INVSQRT_TABLE_SEED_MANT_BITS 9 -#define INVSQRT_TABLE_SEED_EXP_BITS 1 -#define INVSQRT_TABLE_LENGTH_BITS (INVSQRT_TABLE_SEED_MANT_BITS + INVSQRT_TABLE_SEED_EXP_BITS) -#define INVSQRT_TABLE_NUM_ENTRIES (1 << INVSQRT_TABLE_LENGTH_BITS) -#define INVSQRT_TABLE_ENTRY_BITS 10 - -#define EXP_OF(x) (*(DWORD *)&(x) & 0x7f800000) - - -typedef struct _tab_in -{ -unsigned int mpad: ((IEEE_MANT_BITS + 1) - INVSQRT_TABLE_LENGTH_BITS); -unsigned int lookup: INVSQRT_TABLE_LENGTH_BITS; -unsigned int epad: 7; -unsigned int spad: 1; -} tab_in; - -typedef struct _tab_out -{ -unsigned int mpad: (IEEE_MANT_BITS - INVSQRT_TABLE_ENTRY_BITS); -unsigned int lookup: INVSQRT_TABLE_ENTRY_BITS; -unsigned int epad: 8; -unsigned int spad: 1; -} tab_out; - - -union myfp -{ -float fp; - -// used to build the lookup table -tab_in tab_in_; -tab_out tab_out_; -}; - - -unsigned int InvSqrtTab[INVSQRT_TABLE_NUM_ENTRIES]; - - -void -BuildInvSqrtTable() -{ - static int done = FALSE; - int i; - - if (done) return; - done = TRUE; - - for (i = 0; i < INVSQRT_TABLE_NUM_ENTRIES; i++) - { - union myfp fin, fout; - - fin.fp = 1.0F; - fin.tab_in_.lookup = i; - - // calculate the real value - fout.fp = 1.0F / (float)sqrt((double)fin.fp); - - // Add the value to the table. 1.0 is special. - if (fout.fp == 1.0F) - InvSqrtTab[i] = 0x3FF << (IEEE_MANT_BITS - INVSQRT_TABLE_ENTRY_BITS); - else - InvSqrtTab[i] = fout.tab_out_.lookup << (IEEE_MANT_BITS - - INVSQRT_TABLE_ENTRY_BITS); - } -} // BuildInvSqrtTable() - - -float __stdcall -InverseSquareRoot(float x) -{ -unsigned int index; -float r; -DWORD *dptr = (DWORD *)&r; - -*(DWORD *)&r = ((((3 * IEEE_EXP_BIAS - 1) << IEEE_MANT_BITS) - EXP_OF(x)) >> -1) & 0x7f800000; - -index = ((*(DWORD *)&x) >> (IEEE_MANT_BITS - INVSQRT_TABLE_ENTRY_BITS + 1)) -& (INVSQRT_TABLE_NUM_ENTRIES - 1); - -*dptr |= InvSqrtTab[index]; - -return r; -} // InverseSquareRoot() - - -void NormaliseTest(void) -{ - int i; - float d; - int outside; - #if 0 - i = 10000; - outside = 0; - ProfileStart(); - while(i--) - { - VECTORCH v; - v.vx = (FastRandom()&65535)+1; - v.vy = (FastRandom()&65535)+1; - v.vz = (FastRandom()&65535)+1; - - Normalise(&v); - { - int m = Magnitude(&v); - if (m<65530 || m>65540) - outside++; - } - } - ProfileStop("OLD NORM"); - textprint("Outside Range: %d\n",outside); - - i = 10000; - outside = 0; - ProfileStart(); - while(i--) - { - VECTORCH v; - v.vx = (FastRandom()&65535)+1; - v.vy = (FastRandom()&65535)+1; - v.vz = (FastRandom()&65535)+1; - - NewNormalise(&v); - { - int m = Magnitude(&v); - if (m<65536-50|| m>65536+50) - outside++; - } - } - ProfileStop("NEW NORM"); - textprint("Outside Range: %d\n",outside); - #endif - i = 10000; - d=0; - while(--i) - { - int m; - VECTORCH v; - v.vx = FastRandom()&65535; - v.vy = FastRandom()&65535; - v.vz = FastRandom()&65535; - m = InverseMagnitude(&v); - d+=m; - } - - #if 0 - textprint("%f\n",d); - i = 10000; - d=0; - ProfileStart(); - while(--i) - { - float m = sqrt((float)i); - d+=m; - } - ProfileStop("FSQRT"); - #endif - textprint("%f\n",d); - -} -static float fptmp; -static int itmp; - -void IntToFloat(void); -# pragma aux IntToFloat = \ -"fild itmp" \ -"fstp fptmp"; - -/* - - This macro makes usage of the above function easier and more elegant - -*/ - -#define i2f(a, b) { \ -itmp = (a); \ -IntToFloat(); \ -b = fptmp;} - -int InverseMagnitude(VECTORCH *v) -{ - int answer; - float m; - float mag; - { - float x,y,z; - x = v->vx; - y = v->vy; - z = v->vz; - mag = x*x+y*y+z*z; - } - { - unsigned int index; - float r; - DWORD *dptr = (DWORD *)&r; - - *(DWORD *)&r = ((((3 * IEEE_EXP_BIAS - 1) << IEEE_MANT_BITS) - EXP_OF(mag)) >> - 1) & 0x7f800000; - - index = ((*(DWORD *)&mag) >> (IEEE_MANT_BITS - INVSQRT_TABLE_ENTRY_BITS + 1)) - & (INVSQRT_TABLE_NUM_ENTRIES - 1); - - *dptr |= InvSqrtTab[index]; - - m = 65536.0*r; - } - - - f2i(answer,m); - return answer; -} - - -void CurrentQNormalise(QUAT *q) -{ - /* Normalise */ - double oos = 1.0/(65536.0*65536.0); - - double wsq = (double)q->quatw * (double)q->quatw * oos; - double xsq = (double)q->quatx * (double)q->quatx * oos; - double ysq = (double)q->quaty * (double)q->quaty * oos; - double zsq = (double)q->quatz * (double)q->quatz * oos; - - double m = sqrt(wsq + xsq + ysq + zsq); - - if(m == 0.0) m = 1.0; /* Just in case */ - m = 1.0 / m; - - q->quatw = (int) ((double)q->quatw * m); - q->quatx = (int) ((double)q->quatx * m); - q->quaty = (int) ((double)q->quaty * m); - q->quatz = (int) ((double)q->quatz * m); - -} - -void NewQNormalise(QUAT *q) -{ - float nw = q->quatw; - float nx = q->quatx; - float ny = q->quaty; - float nz = q->quatz; - - float m = sqrt(nw*nw+nx*nx+ny*ny+nz*nz); - - if (!m) return; - - m = 65536.0/m; - - f2i(q->quatw,nw * m); - f2i(q->quatx,nx * m); - f2i(q->quaty,ny * m); - f2i(q->quatz,nz * m); -} - -void QNormaliseTest(void) -{ - QUAT q,q2; - int i; - - for (i=0; i<10000; i++) - { - q.quatw = FastRandom()&65535; - q.quatx = FastRandom()&65535; - q.quaty = FastRandom()&65535; - q.quatz = FastRandom()&65535; - q2=q; - - NewQNormalise(&q); - CurrentQNormalise(&q2); - - if (q.quatw!=q2.quatw) - textprint("w%d ",q.quatw-q2.quatw); - if (q.quatx!=q2.quatx) - textprint("x%d ",q.quatx-q2.quatx); - if (q.quaty!=q2.quaty) - textprint("y%d ",q.quaty-q2.quaty); - if (q.quatz!=q2.quatz) - textprint("z%d ",q.quatz-q2.quatz); - } - -} -#endif - diff --git a/src/avp/support/indexfnt.cpp b/src/avp/support/indexfnt.cpp index 5d686e6..d163f90 100644 --- a/src/avp/support/indexfnt.cpp +++ b/src/avp/support/indexfnt.cpp @@ -1308,29 +1308,3 @@ void IndexedFont_HUD :: RenderChar_Unclipped } /* Internal function definitions ***********************************/ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/avp/support/indexfnt.hpp b/src/avp/support/indexfnt.hpp index 1e942d5..b1cf0ab 100644 --- a/src/avp/support/indexfnt.hpp +++ b/src/avp/support/indexfnt.hpp @@ -44,7 +44,11 @@ { public: static IndexedFont* GetFont( FontIndex I_Font_ToGet ); - // can return NULL if no font loaded in that slot +// static IndexedFont* GetFont( FontIndex I_Font_ToGet ) +// { +// return pIndexedFont[ I_Font_ToGet ]; +// } + // can return NULL if no font loaded in that slot static void UnloadFont( FontIndex I_Font_ToGet ); // there must be a font loaded in that slot @@ -160,11 +164,13 @@ static IndexedFont* pIndexedFont[ IndexedFonts_MAX_NUMBER_OF_FONTS ]; }; +#if 0 /* moved elsewhere because of GCC! */ // Inline methods: - inline/*static*/ IndexedFont* IndexedFont::GetFont( FontIndex I_Font_ToGet ) + /*inline*/ /* static */ IndexedFont* IndexedFont::GetFont( FontIndex I_Font_ToGet ) { return pIndexedFont[ I_Font_ToGet ]; } +#endif #if 0 class IndexedFont_FixedSpace : public IndexedFont @@ -250,15 +256,16 @@ ) const; // protected: - IndexedFont_HUD - ( - FontIndex I_Font_New - ) : IndexedFont + IndexedFont_HUD(FontIndex I_Font_New); + + #if 0 + : IndexedFont ( I_Font_New - ) + ) ; { } + #endif }; inline r2size IndexedFont_HUD::CalcSize ( diff --git a/src/avp/support/scstring.cpp b/src/avp/support/scstring.cpp index 94f3b19..4d3c578 100644 --- a/src/avp/support/scstring.cpp +++ b/src/avp/support/scstring.cpp @@ -9,19 +9,12 @@ *******************************************************************/ /* Includes ********************************************************/ + #include "3dc.h" #include "scstring.hpp" -#if SupportHHStuff - #include "hhfonts.h" - #include "hhfile.h" - #include "ifmisc.h" - #include "holder.hpp" - #include "mcstring.hpp" -#else - #include "strutil.h" - #include "indexfnt.hpp" -#endif +#include "strutil.h" +#include "indexfnt.hpp" #if TrackReferenceCounted #include "dcontext.hpp" @@ -29,13 +22,7 @@ #define UseLocalAssert Yes #include "ourasert.h" - -#ifdef __WATCOMC__ -#pragma warning 139 5 -#pragma message("Disabled Warning W139") -#endif - - + /* Version settings ************************************************/ #define LogStringTables No @@ -67,6 +54,7 @@ #endif +#include "teletype.hpp" /* Exported globals ************************************************/ /*static*/ SCString* SCString :: pFirst = NULL; diff --git a/src/avp/win95/d3d_hud.h b/src/avp/win95/d3d_hud.h index 3371d30..995e29d 100644 --- a/src/avp/win95/d3d_hud.h +++ b/src/avp/win95/d3d_hud.h @@ -1,12 +1,11 @@ -#include "langenum.h" -extern void D3D_HUD_Setup(void); -extern void D3D_HUDQuad_Output(int imageNumber,struct VertexTag *quadVerticesPtr,unsigned int colour); +#ifndef __AVP_WIN95_D3D_HUD_H__ +#define __AVP_WIN95_D3D_HUD_H__ +#include "langenum.h" extern int TransparencyLevelOfHUD; /* takes values of 0 (not drawn) to 255 (opaque) */ - struct VertexTag { int X; @@ -51,7 +50,8 @@ typedef struct } HUDCharDesc; - +extern void D3D_HUD_Setup(void); +extern void D3D_HUDQuad_Output(int imageNumber,struct VertexTag *quadVerticesPtr,unsigned int colour); extern void D3D_DrawHUDFontCharacter(HUDCharDesc *charDescPtr); extern void D3D_DrawHUDDigit(HUDCharDesc *charDescPtr); @@ -64,3 +64,5 @@ extern void D3D_BlitWhiteChar(int x, int y, unsigned char c); /* KJL 17:55:48 18/04/98 - called by HUD.c */ extern void Render_HealthAndArmour(unsigned int health, unsigned int armour); extern void Render_MarineAmmo(enum TEXTSTRING_ID ammoText, enum TEXTSTRING_ID magazinesText, unsigned int magazines, enum TEXTSTRING_ID roundsText, unsigned int rounds, int primaryAmmo); + +#endif diff --git a/src/kshape.c b/src/kshape.c index 29de827..9ca70be 100644 --- a/src/kshape.c +++ b/src/kshape.c @@ -4401,6 +4401,7 @@ extern void TranslationSetup(void) } +#if 0 #ifndef _MSC_VER void TranslatePoint(int *source, int *dest, int *matrix); #pragma aux TranslatePoint = \ @@ -4500,20 +4501,29 @@ void TranslatePoint(int *source, int *dest, int *matrix) } #endif +#endif + +/* TODO */ +static void TranslatePoint(float *source, float *dest, float *matrix) +{ + fprintf(stderr, "TranslatePoint(%f, %f, %f)\n"); +} + void TranslatePointIntoViewspace(VECTORCH *pointPtr) { - Source[0] = pointPtr->vx; Source[1] = pointPtr->vy; Source[2] = pointPtr->vz; - TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ViewMatrix); +// TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ViewMatrix); + TranslatePoint(Source, Dest, ViewMatrix); f2i(pointPtr->vx,Dest[0]); f2i(pointPtr->vy,Dest[1]); f2i(pointPtr->vz,Dest[2]); } + void SquishPoints(SHAPEINSTR *shapeinstrptr) { int **shapeitemarrayptr = shapeinstrptr->sh_instr_data; @@ -4541,7 +4551,8 @@ void SquishPoints(SHAPEINSTR *shapeinstrptr) Source[1] = point.vy; Source[2] = point.vz; - TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ViewMatrix); +// TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ViewMatrix); + TranslatePoint(Source, Dest, ViewMatrix); f2i(RotatedPts[i].vx,Dest[0]); f2i(RotatedPts[i].vy,Dest[1]); @@ -4626,8 +4637,9 @@ void MorphPoints(SHAPEINSTR *shapeinstrptr) Source[1] = srcPtr->vy+Global_ODB_Ptr->ObWorld.vy; Source[2] = srcPtr->vz+Global_ODB_Ptr->ObWorld.vz; - TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ViewMatrix); - +// TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ViewMatrix); + TranslatePoint(Source, Dest, ViewMatrix); + f2i(destPtr->vx,Dest[0]); f2i(destPtr->vy,Dest[1]); f2i(destPtr->vz,Dest[2]); @@ -4683,9 +4695,11 @@ void TranslateShapeVertices(SHAPEINSTR *shapeinstrptr) Source[1] = srcPtr->vy; Source[2] = srcPtr->vz; - TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ObjectViewMatrix); - TranslatePoint((int*)&Dest,(int*)&Source,(int*)&ViewMatrix); - +// TranslatePoint((int*)&Source,(int*)&Dest,(int*)&ObjectViewMatrix); +// TranslatePoint((int*)&Dest,(int*)&Source,(int*)&ViewMatrix); + TranslatePoint(Source, Dest, ObjectViewMatrix); + TranslatePoint(Dest, Source, ViewMatrix); + f2i(destPtr->vx,Source[0]); f2i(destPtr->vy,Source[1]); f2i(destPtr->vz,Source[2]); @@ -6392,7 +6406,7 @@ void DrawWaterFallPoly(VECTORCH *v) RenderPolygon.TranslucencyMode = TRANSLUCENCY_NORMAL; } { - static wv=0; + static int wv=0; unsigned int a; for (a=0; a<4; a++) { diff --git a/src/main.c b/src/main.c index 65e77b1..62c0c74 100644 --- a/src/main.c +++ b/src/main.c @@ -2,10 +2,11 @@ #include #include -#include "3dc.h" - #include "fixer.h" +#include "3dc.h" +#include "cdtrackselection.h" + PROCESSORTYPES ReadProcessorType() { return PType_PentiumMMX; @@ -23,5 +24,7 @@ int ExitWindowsSystem() int main(int argc, char *argv[]) { + LoadCDTrackList(); + return 0; } diff --git a/src/stubs.c b/src/stubs.c index b1c6805..f8e100d 100644 --- a/src/stubs.c +++ b/src/stubs.c @@ -7,11 +7,108 @@ #include "3dc.h" #include "platform.h" #include "psndplat.h" +#include "module.h" +#include "stratdef.h" +#include "avp_userprofile.h" +#include "projfont.h" +#include "savegame.h" +#include "pldnet.h" +#include "krender.h" +#include "kshape.h" +#include "d3d_hud.h" + +/* winmain.c */ +BOOL KeepMainRifFile = FALSE; +char LevelName[] = {"predbit6\0QuiteALongNameActually"}; +int HWAccel = 0; + + +/* win_func.cpp */ +void CheckForWindowsMessages() +{ + fprintf(stderr, "CheckForWindowsMessages()\n"); +} + + +/* krender.c -- thought this file was unused */ +void KDraw_Item_2dTexturePolygon(int *itemptr) +{ + fprintf(stderr, "KDraw_Item_2dTexturePolygon(%p)\n", itemptr); +} + + +/* item.c -- thought this file was unused */ +void Draw_Item_2dTexturePolygon(int *itemptr) +{ + extern int ScanDrawMode; + + if (ScanDrawMode == ScanDrawDirectDraw) { + KDraw_Item_2dTexturePolygon(itemptr); + } +} + + +/* gammacontrol.cpp */ +int RequestedGammaSetting; + + +/* indexfnt.cpp */ +void INDEXFNT_PFLoadHook(FontIndex I_Font_New, PFFONT *pffont_New) +{ + fprintf(stderr, "INDEXFNT_PFLoadHook(%d, %p)\n", I_Font_New, pffont_New); +} + + +/* avp_mp_config.cpp */ +char* GetCustomMultiplayerLevelName(int index, int gameType) +{ + fprintf(stderr, "GetCustomMultiplayerLevelName(%d, %d)\n", index, gameType); + + return NULL; +} + +BOOL BuildLoadIPAddressMenu() +{ + fprintf(stderr, "BuildLoadIPAddressMenu()\n"); + + return FALSE; +} + + +/* avp_intro.cpp */ +void DrawMainMenusBackdrop() +{ + fprintf(stderr, "DrawMainMenusBackdrop()\n"); +} + + +/* cd_player.cpp */ +int CDPlayerVolume; + +void CheckCDVolume() +{ + fprintf(stderr, "CheckCDVolume()\n"); +} + + +/* progress_bar.cpp */ +void Start_Progress_Bar() +{ + fprintf(stderr, "Start_Progress_Bar()\n"); +} + +void Set_Progress_Bar_Position() +{ + fprintf(stderr, "Set_Progress_Bar_Position()\n"); +} + /* smacker.c */ -int FmvColorRed; -int FmvColorGreen; +int FmvColourRed; +int FmvColourGreen; int FmvColourBlue; +int IntroOutroMoviesAreActive = 1; +int MoviesAreActive; void GetFMVInformation(int *messageNumberPtr, int *frameNumberPtr) { @@ -39,12 +136,6 @@ void UpdateAllFMVTextures() } -/* win_func.cpp */ -void CheckForWindowsMessages() -{ - fprintf(stderr, "CheckForWindowsMessages()\n"); -} - /* psndplat.cpp */ ACTIVESOUNDSAMPLE ActiveSounds[SOUND_MAXACTIVE]; @@ -181,21 +272,103 @@ void ATRemoveTexture(void * pTexture) fprintf(stderr, "ATRemoveTexture(%p)\n", pTexture); } + /* avp_menugfx.cpp */ char AAFontWidths[256]; +AVPMENUGFX AvPMenuGfxStorage[MAX_NO_OF_AVPMENUGFXS]; /* TODO: this is initialized in avp_menugfx.cpp */ void FadedScreen(int alpha) { fprintf(stderr, "FadedScreen(%d)\n", alpha); } +void ClearScreenToBlack() +{ + fprintf(stderr, "ClearScreenToBlack()\n"); +} -/* winmain.c */ -BOOL KeepMainRifFile = FALSE; +void DrawAvPMenuGfx(enum AVPMENUGFX_ID menuGfxID, int topleftX, int topleftY, int alpha,enum AVPMENUFORMAT_ID format) +{ + fprintf(stderr, "DrawAvPMenuGfx(%d, %d, %d, %d, %d)\n", menuGfxID, topleftX, topleftY, alpha, format); +} + +void DrawAvPMenuGfx_CrossFade(enum AVPMENUGFX_ID menuGfxID,enum AVPMENUGFX_ID menuGfxID2,int alpha) +{ + fprintf(stderr, "DrawAvPMenuGfx_CrossFade(%d, %d, %d)\n", menuGfxID, menuGfxID2, alpha); +} + +void DrawAvPMenuGfx_Faded(enum AVPMENUGFX_ID menuGfxID, int topleftX, int topleftY, int alpha,enum AVPMENUFORMAT_ID format) +{ + fprintf(stderr, "DrawAvPMenuGfx_Faded(%d, %d, %d, %d, %d)\n", menuGfxID, topleftX, topleftY, alpha, format); +} + +int RenderMenuText(char *textPtr, int x, int y, int alpha, enum AVPMENUFORMAT_ID format) +{ + fprintf(stderr, "RenderMenuText(%s, %d, %d, %d, %d)\n", textPtr, x, y, alpha, format); + + return 0; +} + +void LoadAllSplashScreenGfx() +{ + fprintf(stderr, "LoadAllSplashScreenGfx()\n"); +} + +void LoadAvPMenuGfx(enum AVPMENUGFX_ID menuGfxID) +{ + fprintf(stderr, "LoadAvPMenuGfx(%d)\n", menuGfxID); +} + + +/* avp_menus.cpp */ +AVP_USER_PROFILE *UserProfilePtr; +CONTROL_METHODS PlayerControlMethods; +int NumberOfSessionsFound; +JOYSTICK_CONTROL_METHODS PlayerJoystickControlMethods; +SESSION_DESC SessionData[MAX_NO_OF_SESSIONS]; +SAVE_SLOT_HEADER SaveGameSlot[NUMBER_OF_SAVE_SLOTS]; + +void GetFilenameForSaveSlot(int i, unsigned char *filenamePtr) +{ + fprintf(stderr, "GetFilenameForSaveSlot(%d, %p)\n", i, filenamePtr); +} + +void RenderBriefingText(int centreY, int brightness) +{ + fprintf(stderr, "RenderBriefingText(%d, %d)\n", centreY, brightness); +} + +void LoadLevelHeader(SAVE_BLOCK_HEADER* header) +{ + fprintf(stderr, "LoadLevelHeader(%p)\n", header); +} + +void AvP_TriggerInGameMenus() +{ + fprintf(stderr, "AvP_TriggerInGameMenus()\n"); +} + +void ScanSaveSlots() +{ + fprintf(stderr, "ScanSaveSlots()\n"); +} + +void SaveLevelHeader() +{ + fprintf(stderr, "SaveLevelHeader()\n"); +} + +int InGameMenusAreRunning() +{ + fprintf(stderr, "InGameMenusAreRunning()\n"); + + return 0; +} /* avpreg.cpp */ -char* AvpCDPath = 0; +char *AvpCDPath = 0; + void GetPathFromRegistry() { extern char * SecondTex_Directory; @@ -208,9 +381,21 @@ extern char * SecondSoundDir; } -/* d3d_render.cpp */ +/* avp_userprofile.c */ +int SmackerSoundVolume; + +int NumberOfUserProfiles() +{ + fprintf(stderr, "NumberOfUserProfiles()\n"); + + return 0; +} + +/* d3d_render.cpp -- some of these got mixed in with d3_func.cpp! */ int NumberOfLandscapePolygons; int FMVParticleColour; +int WireFrameMode; +int WaterFallBase; void InitDrawTest() { @@ -222,13 +407,230 @@ void InitForceField() fprintf(stderr, "InitForceField()\n"); } +void DrawNoiseOverlay(int t) +{ + fprintf(stderr, "DrawNoiseOverlay(%d)\n", t); +} -/* avp_userprofile.c */ -int SmackerSoundVolume; +void DrawScanlinesOverlay(float level) +{ + fprintf(stderr, "DrawScanlinesOverlay(%f)\n", level); +} + +int LightIntensityAtPoint(VECTORCH *pointPtr) +{ + fprintf(stderr, "LightIntensityAtPoint(%p)\n", pointPtr); + + return 0; +} + +void RenderString(char *stringPtr, int x, int y, int colour) +{ + fprintf(stderr, "RenderString(%s, %d, %d, %d)\n", stringPtr, x, y, colour); +} + +void RenderStringCentred(char *stringPtr, int centreX, int y, int colour) +{ + fprintf(stderr, "RenderStringCentred(%s, %d, %d, %d)\n", stringPtr, centreX, y, colour); +} + +void PostLandscapeRendering() +{ + fprintf(stderr, "PostLandscapeRendering()\n"); +} + +void SetFogDistance(int fogDistance) +{ + fprintf(stderr, "SetFontDistance(%d)\n", fogDistance); +} + +void CheckWireFrameMode(int shouldBeOn) +{ + fprintf(stderr, "CheckWireFrameMode(%d)\n", shouldBeOn); +} + +void WriteEndCodeToExecuteBuffer() +{ + fprintf(stderr, "WriteEndCodeToExecuteBuffer()\n"); +} + +BOOL UnlockExecuteBufferAndPrepareForUse() +{ + fprintf(stderr, "UnlockExecuteBufferAndPrepareForUse()\n"); + + return FALSE; +} + +void ThisFramesRenderingHasBegun() +{ + fprintf(stderr, "ThisFramesRenderingHasBegun()\n"); +} + +void SecondFlushD3DZBuffer() +{ + fprintf(stderr, "SecondFlushD3DZBuffer()\n"); +} + +void ReloadImageIntoD3DImmediateSurface(IMAGEHEADER* iheader) +{ + fprintf(stderr, "ReloadImageIntoD3DImmediateSurface(%p)\n", iheader); +} + +void ReleaseDirect3DNotDDOrImages() +{ + fprintf(stderr, "ReleaseDirect3DNotDDOrImages()\n"); +} + +void ReleaseDirect3DNotDD() +{ + fprintf(stderr, "ReleaseDirect3DNotDD()\n"); +} + +void ReleaseDirect3D() +{ + fprintf(stderr, "ReleaseDirect3D()\n"); +} + +void ReleaseD3DTexture(void* D3DTexture) +{ + fprintf(stderr, "ReleaseD3DTexture(%p)\n", D3DTexture); +} + +int GetTextureHandle(IMAGEHEADER *imageHeaderPtr) +{ + fprintf(stderr, "GetTextureHandle(%p)\n", imageHeaderPtr); + + return 0; +} + +void FlushD3DZBuffer() +{ + fprintf(stderr, "FlushD3DZBuffer()\n"); +} + +BOOL ExecuteBuffer() +{ + fprintf(stderr, "ExecuteBuffer()\n"); + + return FALSE; +} + +BOOL EndD3DScene() +{ + fprintf(stderr, "EndD3DScene()\n"); + + return FALSE; +} + +void D3D_ZBufferedGouraudTexturedPolygon_Output(POLYHEADER *inputPolyPtr, RENDERVERTEX *renderVerticesPtr) +{ + fprintf(stderr, "D3D_ZBufferedGouraudTexturedPolygon_Output(%p, %p)\n", inputPolyPtr, renderVerticesPtr); +} + +void D3D_ZBufferedGouraudPolygon_Output(POLYHEADER *inputPolyPtr,RENDERVERTEX *renderVerticesPtr) +{ + fprintf(stderr, "D3D_ZBufferedGouraudPolygon_Output(%p, %p)\n", inputPolyPtr, renderVerticesPtr); +} + +void D3D_ZBufferedCloakedPolygon_Output(POLYHEADER *inputPolyPtr,RENDERVERTEX *renderVerticesPtr) +{ + fprintf(stderr, "D3D_ZBufferedCloakedPolygon_Output(%p, %p)\n", inputPolyPtr, renderVerticesPtr); +} + +void D3D_SkyPolygon_Output(POLYHEADER *inputPolyPtr,RENDERVERTEX *renderVerticesPtr) +{ + fprintf(stderr, "D3D_SkyPolygon_Output(%p, %p)\n", inputPolyPtr, renderVerticesPtr); +} + +void D3D_ScreenInversionOverlay() +{ + fprintf(stderr, "D3D_ScreenInversionOverlay()\n"); +} + +void D3D_PredatorThermalVisionPolygon_Output(POLYHEADER *inputPolyPtr,RENDERVERTEX *renderVerticesPtr) +{ + fprintf(stderr, "D3D_PredatorThermalVisionPolygon_Output(%p, %p)\n", inputPolyPtr, renderVerticesPtr); +} + +void D3D_PredatorScreenInversionOverlay() +{ + fprintf(stderr, "D3D_PredatorScreenInversionOverlay()\n"); +} + +void D3D_PlayerOnFireOverlay() +{ + fprintf(stderr, "D3D_PlayerOnFireOverlay()\n"); +} + +void D3D_PlayerDamagedOverlay(int intensity) +{ + fprintf(stderr, "D3D_PlayerDamagedOverlay(%d)\n", intensity); +} + +void D3D_Particle_Output(PARTICLE *particlePtr,RENDERVERTEX *renderVerticesPtr) +{ + fprintf(stderr, "D3D_Particle_Output(%p, %p)\n", particlePtr, renderVerticesPtr); +} + +void D3D_HUD_Setup() +{ + fprintf(stderr, "D3D_HUD_Setup()\n"); +} + +void D3D_HUDQuad_Output(int imageNumber,struct VertexTag *quadVerticesPtr, unsigned int colour) +{ + fprintf(stderr, "D3D_HUDQuad_Output(%d, %p, %d)\n", imageNumber, quadVerticesPtr, colour); +} + +void D3D_FadeDownScreen(int brightness, int colour) +{ + fprintf(stderr, "D3D_FadeDownScreen(%d, %d)\n", brightness, colour); +} + +void D3D_DrawWaterTest(MODULE *testModulePtr) +{ + fprintf(stderr, "D3D_DrawWaterTest(%p)\n", testModulePtr); +} + +void D3D_DrawParticle_Rain(PARTICLE *particlePtr,VECTORCH *prevPositionPtr) +{ + fprintf(stderr, "D3D_DrawParticle_Rain(%p, %p)\n", particlePtr, prevPositionPtr); +} + +void D3D_DrawCable(VECTORCH *centrePtr, MATRIXCH *orientationPtr) +{ + fprintf(stderr, "D3D_DrawCable(%p, %p)\n", centrePtr, orientationPtr); +} + +void D3D_DrawBackdrop() +{ + fprintf(stderr, "D3D_DrawBackdrop()\n"); +} + +void D3D_Decal_Output(DECAL *decalPtr,RENDERVERTEX *renderVerticesPtr) +{ + fprintf(stderr, "D3D_Decal_Output(%p, %p)\n", decalPtr, renderVerticesPtr); +} + +void D3D_DecalSystem_Setup() +{ + fprintf(stderr, "D3D_DecalSystem_Setup()\n"); +} + +void D3D_DecalSystem_End() +{ + fprintf(stderr, "D3D_DecalSystem_End()\n"); +} + +void D3D_BackdropPolygon_Output(POLYHEADER *inputPolyPtr,RENDERVERTEX *renderVerticesPtr) +{ + fprintf(stderr, "D3D_BackdropPolygon_Output(%p, %p)\n", inputPolyPtr, renderVerticesPtr); +} /* dd_func.cpp */ long BackBufferPitch; +int VideoModeColourDepth; void FlipBuffers() { @@ -242,6 +644,48 @@ int ChangePalette (unsigned char* NewPalette) return 0; } +void BlitWin95Char(int x, int y, unsigned char toprint) +{ + fprintf(stderr, "BlitWin95Char(%d, %d, %d)\n", x, y, toprint); +} + +void ColourFillBackBuffer(int FillColour) +{ + fprintf(stderr, "ColourFillBackBuffer(%d)\n", FillColour); +} + +void LockSurfaceAndGetBufferPointer() +{ + fprintf(stderr, "LockSurfaceAndGetBufferPointer()\n"); +} + +void finiObjectsExceptDD() +{ + fprintf(stderr, "finiObjectsExceptDD()\n"); +} + +void finiObjects() +{ + fprintf(stderr, "finiObjects()\n"); +} + +void UnlockSurface() +{ + fprintf(stderr, "UnlockSurface()\n"); +} + +void ReleaseDDSurface(void* DDSurface) +{ + fprintf(stderr, "ReleaseDDSurface(%p)\n", DDSurface); +} + +BOOL ChangeDirectDrawObject() +{ + fprintf(stderr, "ChangeDirectDrawObject()\n"); + + return FALSE; +} + /* di_func.cpp */ unsigned char DebouncedGotAnyKey; @@ -320,9 +764,6 @@ void CDDA_SwitchOn() } -/* winmain.c */ -int HWAccel = 0; - /* dxlog.c */ void dx_str_log(char const * str, int line, char const * file) { @@ -335,6 +776,7 @@ void dx_strf_log(char const * fmt, ... ) va_start(ap, fmt); fprintf(stderr, "dx_strf_log: "); vfprintf(stderr,fmt,ap); + fprintf(stderr, "\n"); va_end(ap); } @@ -343,13 +785,248 @@ void dx_line_log(int line, char const * file) fprintf(stderr, "dx_line_log: %s/%d\n", file, line); } -#if 0 + /* pldnet.c */ - -#include "pldnet.h" - MULTIPLAYER_START* marineStartPositions=0; -#endif +MULTIPLAYER_START* predatorStartPositions=0; +MULTIPLAYER_START* alienStartPositions=0; +int numMarineStartPos=0; +int numPredatorStartPos=0; +int numAlienStartPos=0; +NETGAME_GAMEDATA netGameData; /* TODO: this constant is initialized in pldnet.c */ +DPID myIgniterId = 0; +DPID myNetworkKillerId = 0; +int ShowMultiplayerScoreTimer=0; +int MyHitBodyPartId=-1; +DPID MultiplayerObservedPlayer=0; +DPID AVPDPNetID; + +BOOL AreThereAnyLivesLeft() +{ + fprintf(stderr, "AreThereAnyLivesLeft()\n"); + + return FALSE; +} + +void TurnOffMultiplayerObserveMode() +{ + fprintf(stderr, "TurnOffMultiplayerObserveMode()\n"); +} + +void TransmitPlayerLeavingNetMsg() +{ + fprintf(stderr, "TransmitPlayerLeavingNetMsg()\n"); +} + +void TransmitEndOfGameNetMsg() +{ + fprintf(stderr, "TransmitEndOfGameNetMsg()\n"); +} + +void TeleportNetPlayerToAStartingPosition(STRATEGYBLOCK *playerSbPtr, int startOfGame) +{ + fprintf(stderr, "TeleportNetPlayerToAStartingPosition(%p, %d)\n", playerSbPtr, startOfGame); +} + +void SpeciesTag_DetermineMyNextCharacterType() +{ + fprintf(stderr, "SpeciesTag_DetermineMyNextCharacterType()\n"); +} + +void ShowNearestPlayersName() +{ + fprintf(stderr, "ShowNearestPlayersName()\n"); +} + +void RestartNetworkGame(int seed) +{ + fprintf(stderr, "RestartNetworkGame(%d)\n", seed); +} + +int PlayerIdInPlayerList(DPID Id) +{ + fprintf(stderr, "PlayerIdInPlayerList(%d)\n", Id); + + return 0; +} + +void NetSendMessages() +{ + fprintf(stderr, "NetSendMessages()\n"); +} + +void NetCollectMessages() +{ + fprintf(stderr, "NetCollectMessages()\n"); +} + +void GetNextMultiplayerObservedPlayer() +{ + fprintf(stderr, "GetNextMultiplayerObservedPlayer()\n"); +} + +void DoMultiplayerSpecificHud() +{ + fprintf(stderr, "DoMultiplayerSpecificHud()\n"); +} + +BOOL Current_Level_Requires_Mirror_Image() +{ + fprintf(stderr, "Current_Level_Requires_Mirror_Image()\n"); + + return FALSE; +} + +void CreatePlayersImageInMirror() +{ + fprintf(stderr, "CreatePlayersImageInMirror()\n"); +} + +void RenderPlayersImageInMirror() +{ + fprintf(stderr, "RenderPlayersImageInMirror()\n"); +} + +void AddNetMsg_AlienAIKilled(STRATEGYBLOCK *sbPtr,int death_code,int death_time, int GibbFactor,DAMAGE_PROFILE* damage) +{ + fprintf(stderr, "AddNetMsg_AlienAIKilled(%p, %d, %d, %d, %p)\n", sbPtr, death_code, death_time, GibbFactor, damage); +} + +void AddNetMsg_AlienAISeqChange(STRATEGYBLOCK *sbPtr,int sequence_type,int sub_sequence,int sequence_length,int tweening_time) +{ + fprintf(stderr, "AddNetMsg_AlienAISeqChange(%p, %d, %d, %d, %d)\n", sbPtr, sequence_type, sub_sequence, sequence_length, tweening_time); +} + +void AddNetMsg_ChatBroadcast(char *string,BOOL same_species_only) +{ + fprintf(stderr, "AddNetMsg_ChatBroadcast(%s, %d)\n", string, same_species_only); +} + +void AddNetMsg_CreateWeapon(char* objectName,int type,VECTORCH* location) +{ + fprintf(stderr, "AddNetMsg_CreateWeapon(%s, %d, %p)\n", objectName, type, location); +} + +void AddNetMsg_FarAlienPosition(STRATEGYBLOCK* sbPtr,int targetModuleIndex,int index,BOOL indexIsModuleIndex) +{ + fprintf(stderr, "AddNetMsg_FarAlienPosition(%p, %d, %d, %d)\n", sbPtr, targetModuleIndex, index, indexIsModuleIndex); +} + +void AddNetMsg_GhostHierarchyDamaged(STRATEGYBLOCK *sbPtr, DAMAGE_PROFILE *damage, int multiple, int sectionID,VECTORCH* incoming) +{ + fprintf(stderr, "AddNetMsg_GhostHierarchyDamaged(%p, %p, %d, %d, %p)\n", sbPtr, damage, multiple, sectionID, incoming); +} + +void AddNetMsg_Gibbing(STRATEGYBLOCK *sbPtr,int gibbFactor,int seed) +{ + fprintf(stderr, "AddNetMsg_Gibbing(%p, %d, %d)\n", sbPtr, gibbFactor, seed); +} + +void AddNetMsg_InanimateObjectDamaged(STRATEGYBLOCK *sbPtr, DAMAGE_PROFILE *damage, int multiple) +{ + fprintf(stderr, "AddNetMsg_InanimateObjectDamaged(%p, %p, %d)\n", sbPtr, damage, multiple); +} + +void AddNetMsg_InanimateObjectDestroyed(STRATEGYBLOCK *sbPtr) +{ + fprintf(stderr, "AddNetMsg_InanimateObjectDestroyed(%p)\n", sbPtr); +} + +void AddNetMsg_LOSRequestBinarySwitch(STRATEGYBLOCK *sbPtr) +{ + fprintf(stderr, "AddNetMsg_LOSRequestBinarySwitch(%p)\n", sbPtr); +} + +void AddNetMsg_LocalObjectDamaged(STRATEGYBLOCK *sbPtr, DAMAGE_PROFILE *damage,int multiple, int sectionID,int delta_seq,int delta_sub_seq,VECTORCH* incoming) +{ + fprintf(stderr, "AddNetMsg_LocalObjectDamaged(%p, %p, %d, %d, %d, %d, %p)\n", sbPtr, damage, multiple, sectionID, delta_seq, delta_sub_seq, incoming); +} + +void AddNetMsg_LocalObjectDestroyed(STRATEGYBLOCK *sbPtr) +{ + fprintf(stderr, "AddNetMsg_LocalObjectDestroyed(%p)\n", sbPtr); +} + +void AddNetMsg_LocalObjectDestroyed_Request(STRATEGYBLOCK *sbPtr) +{ + fprintf(stderr, "AddNetMsg_LocalObjectDestroyed_Request(%p)\n", sbPtr); +} + +void AddNetMsg_LocalObjectOnFire(STRATEGYBLOCK *sbPtr) +{ + fprintf(stderr, "AddNetMsg_LocalObjectOnFire(%p)\n", sbPtr); +} + +void AddNetMsg_LocalObjectState(STRATEGYBLOCK *sbPtr) +{ + fprintf(stderr, "AddNetMsg_LocalObjectState(%p)\n", sbPtr); +} + +void AddNetMsg_MakeDecal(enum DECAL_ID decalID, VECTORCH *normalPtr, VECTORCH *positionPtr, int moduleIndex) +{ + fprintf(stderr, "AddNetMsg_MakeDecal(%d, %p, %p, %d)\n", decalID, normalPtr, positionPtr, moduleIndex); +} + +void AddNetMsg_MakeExplosion(VECTORCH *positionPtr, enum EXPLOSION_ID explosionID) +{ + fprintf(stderr, "AddNetMsg_MakeExplosion(%p, %d)\n", positionPtr, explosionID); +} + +void AddNetMsg_MakeFlechetteExplosion(VECTORCH *positionPtr, int seed) +{ + fprintf(stderr, "AddNetMsg_MakeFlechetteExplosion(%p, %d)\n", positionPtr, seed); +} + +void AddNetMsg_MakePlasmaExplosion(VECTORCH *positionPtr, VECTORCH *fromPositionPtr, enum EXPLOSION_ID explosionID) +{ + fprintf(stderr, "AddNetMsg_MakePlasmaExplosion(%p, %p, %d)\n", positionPtr, fromPositionPtr, explosionID); +} + +void AddNetMsg_ObjectPickedUp(char* objectName) +{ + fprintf(stderr, "AddNetMsg_ObjectPickedUp(%s)\n", objectName); +} + +void AddNetMsg_PlatformLiftState(STRATEGYBLOCK *sbPtr) +{ + fprintf(stderr, "AddNetMsg_PlatformLiftState(%p)\n", sbPtr); +} + +void AddNetMsg_PlayerDeathAnim(int deathId,int objectId) +{ + fprintf(stderr, "AddNetMsg_PlayerDeathAnim(%d, %d)\n", deathId, objectId); +} + +void AddNetMsg_PlayerKilled(int objectId,DAMAGE_PROFILE* damage) +{ + fprintf(stderr, "AddNetMsg_PlayerKilled(%d, %p)\n", objectId, damage); +} + +void AddNetMsg_PredatorLaserSights(VECTORCH *positionPtr, VECTORCH *normalPtr, DISPLAYBLOCK *dispPtr) +{ + fprintf(stderr, "AddNetMsg_PredatorLaserSights(%p, %p, %p)\n", positionPtr, normalPtr, dispPtr); +} + +void AddNetMsg_RequestPlatformLiftActivate(STRATEGYBLOCK *sbPtr) +{ + fprintf(stderr, "AddNetMsg_RequestPlatformLiftActivate(%p)\n", sbPtr); +} + +void AddNetMsg_RestartNetworkGame(int seed) +{ + fprintf(stderr, "AddNetMsg_RestartNetworkGame(%d)\n", seed); +} + +void AddNetMsg_SpotAlienSound(int soundCategory,int alienType,int pitch,VECTORCH *position) +{ + fprintf(stderr, "AddNetMsg_SpotAlienSound(%d, %d, %d, %p)\n", soundCategory, alienType, pitch, position); +} + +void AddNetMsg_SpotOtherSound(enum soundindex SoundIndex,VECTORCH *position,int explosion) +{ + fprintf(stderr, "AddNetMsg_SpotOtherSound(%d, %p, %d)\n", SoundIndex, position, explosion); +} + /* win32 api */ size_t _mbclen(const unsigned char *s)