Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS

Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
This commit is contained in:
Cyd
2026-06-24 21:28:16 -05:00
commit 2b8ca921cb
66341 changed files with 7923174 additions and 0 deletions
@@ -0,0 +1,104 @@
#include"MW4AppHeaders.hpp"
#include<Windows.h>
//
//Do not use ….\EulaTest\\1.0 as the key for your game; use your game name and version instead…
// PLEASE NOTE: do not place backslashes on beginning or end of regkey.
//
#define GAME_REG_KEY "Software\\Microsoft\\Microsoft Games\\MechWarrior Vengeance"
typedef DWORD (*EBUPROC) (LPCTSTR lpRegKeyLocation, LPCTSTR lpEULAFileName, LPCSTR lpWarrantyFileName, BOOL fCheckForFirstRun);
//
//The game applications .RC file should define strings for the EULA and WARRANTY pathnames…
//
bool FirstRunEula(const char *eula_filename,const char *warranty_filename)
{
#if 1 // jcem
return true;
#else // jcem
EBUPROC pfnEBUEula;
HINSTANCE hMod;
hMod = LoadLibrary("Assets\\binaries\\EBUEula.dll");
if (NULL == hMod)
hMod = LoadLibrary("EBUEula.dll");
if (NULL == hMod) // cant attach to DLL
{
STOP(("Cannot Load EBUEula.dll"));
}
pfnEBUEula = (EBUPROC) GetProcAddress(hMod, "EBUEula");
if (NULL == pfnEBUEula) // cant find entry point
{
FreeLibrary(hMod);
STOP(("Cannot Find Entry Point to EBUEula.dll"));
}
//
//This call enables both EULA and warranty accepting/viewing/printing. If your
//game doesnt ship with a WARRANTY file, specifiy NULL instead of szWarranty…
//The code below, for instance, works with both OEM and retail builds…
//
const char *pszWarrantyParam = 0xFFFFFFFF != GetFileAttributes(warranty_filename) ? warranty_filename : NULL;
BOOL fAllowGameToRun = pfnEBUEula(GAME_REG_KEY, eula_filename, pszWarrantyParam, TRUE);
FreeLibrary(hMod);
return fAllowGameToRun?true:false;
#endif // jcem
}
bool EulaDeclineMsg(const char *str,const char *caption)
{
return IDOK==MessageBox(NULL,str,caption,MB_OKCANCEL);
}
bool ExecuteAndWait(const char *exename)
{
STARTUPINFO sinfo;
PROCESS_INFORMATION pinfo;
ZeroMemory(&sinfo,sizeof(sinfo));
sinfo.cb=sizeof(sinfo);
if(CreateProcess(exename,NULL,NULL,NULL,FALSE,NULL,NULL,NULL,&sinfo,&pinfo)==NULL) return false;
DWORD eflag;
do
{
if(GetExitCodeProcess(pinfo.hProcess,&eflag)==0) return false;
}
while(eflag==STILL_ACTIVE);
return true;
}
extern HWND hWindow;
extern void __stdcall EnterWindowMode();
extern void __stdcall EnterFullScreenMode();
bool WinMessageBox(const char *str,const char *msg,int mode)
{
bool res=false;
bool needflip=Environment.fullScreen;
if(needflip) gos_EnableSetting(gos_Set_MinMaxApp,0);
switch(mode)
{
case 0:
res=(IDRETRY==MessageBox(hWindow,msg,str,MB_RETRYCANCEL));
break;
case 1:
res=(IDOK==MessageBox(hWindow,msg,str,MB_OK));
break;
}
if(needflip) gos_EnableSetting(gos_Set_MinMaxApp,1);
return res;
}