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,240 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/utime.h>
#include <sys/stat.h>
#include <direct.h>
#include <io.h>
#include <windows.h>
void
Recursive_Copy(
const char* source_path,
const char* dest_path,
int mask_count,
const char* masks[],
bool delete_ok
)
{
//
//------------------------------------------------
// Get the mask to search in the current directory
//------------------------------------------------
//
char local_mask[200];
printf("Copying %s\n", source_path);
strcpy(local_mask, source_path);
strcat(local_mask, "\\*.*");
bool dest_exists = !_access(dest_path, 0);
//
//------------------------------------------------
// Spin through and find all non directory objects
//------------------------------------------------
//
WIN32_FIND_DATA data;
HANDLE handle = FindFirstFile(local_mask, &data);
if (handle != INVALID_HANDLE_VALUE)
{
do
{
if (!(data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
//
//-------------------------------------------
// Create the official from and to file names
//-------------------------------------------
//
char source[200];
strcpy(source, source_path);
strcat(source, "\\");
strcat(source, data.cFileName);
char dest[200];
strcpy(dest, dest_path);
strcat(dest, "\\");
strcat(dest, data.cFileName);
//
//-----------------------------------------------------------------
// See if we can get a handle to the destination file. If so, lets
// check its data before doing the copy
//-----------------------------------------------------------------
//
bool copy = true;
struct _stat dest_info;
if (!_stat(dest, &dest_info))
{
struct _stat src_info;
_stat(source, &src_info);
copy = (src_info.st_mtime > dest_info.st_mtime);
if (copy && !(dest_info.st_mode&_S_IWRITE))
_chmod(dest, _S_IWRITE|_S_IREAD);
}
//
//---------------------------
// Copy the file if indicated
//---------------------------
//
if (copy)
{
if (!dest_exists)
{
_mkdir(dest_path);
dest_exists = true;
}
CopyFile(source, dest, FALSE);
}
//
//---------------------------------------------------------------
// Otherwise, update the read/write flag of the destination if it
// is different from the source
//---------------------------------------------------------------
//
else
{
int dest_mode = dest_info.st_mode&(_S_IWRITE|_S_IREAD);
int src_mode =
(data.dwFileAttributes&FILE_ATTRIBUTE_READONLY) ?
_S_IREAD : _S_IREAD|_S_IWRITE;
if (dest_mode != src_mode)
_chmod(dest, src_mode);
}
}
} while (FindNextFile(handle, &data));
}
FindClose(handle);
//
//---------------------
// Look for directories
//---------------------
//
handle = FindFirstFile(local_mask, &data);
if (handle != INVALID_HANDLE_VALUE)
{
do
{
if (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if (
!strcmp(data.cFileName, ".")
|| !strcmp(data.cFileName, "..")
)
continue;
int i;
for (i=0; i<mask_count; ++i)
{
if (!_stricmp(data.cFileName, masks[i]))
break;
}
if (i<mask_count)
continue;
char source[200];
strcpy(source, source_path);
strcat(source, "\\");
strcat(source, data.cFileName);
char dest[200];
strcpy(dest, dest_path);
strcat(dest, "\\");
strcat(dest, data.cFileName);
if (!dest_exists)
{
_mkdir(dest_path);
dest_exists = true;
}
Recursive_Copy(source, dest, mask_count, masks, delete_ok);
}
} while (FindNextFile(handle, &data));
}
FindClose(handle);
//
//--------------------------------------------
// Spin through and delete all obsolete things
//--------------------------------------------
//
if (delete_ok)
{
strcpy(local_mask, dest_path);
strcat(local_mask, "\\*.*");
handle = FindFirstFile(local_mask, &data);
if (handle != INVALID_HANDLE_VALUE)
{
do
{
if (!(data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
//
//------------------------------
// Create the official from name
//------------------------------
//
char source[200];
strcpy(source, source_path);
strcat(source, "\\");
strcat(source, data.cFileName);
char dest[200];
strcpy(dest, dest_path);
strcat(dest, "\\");
strcat(dest, data.cFileName);
//
//-----------------------------------------------------------------
// See if we can get a handle to the destination file. If so, lets
// check its data before doing the copy
//-----------------------------------------------------------------
//
struct _stat src_info;
if (_stat(source, &src_info))
{
printf("Deleting %s\n", dest);
_chmod(dest, _S_IWRITE|_S_IREAD);
_unlink(dest);
}
}
} while (FindNextFile(handle, &data));
}
FindClose(handle);
}
}
int
main(
int argc,
const char* argv[]
)
{
if (argc < 3 || argc > 4)
{
printf("Usage: CopyProject [-nodelete] <srcpath> <destpath>\n");
return 1;
}
//
//-------------------------------
// First deal with the code files
//-------------------------------
//
const char *masks[]={
"Debug",
"Armor",
"Profile",
"Release"
};
int source_base = 1;
if (argc == 4)
++source_base;
Recursive_Copy(
argv[source_base],
argv[source_base+1],
sizeof(masks)/sizeof(*masks),
masks,
argc == 3
);
return 0;
}
@@ -0,0 +1,86 @@
# Microsoft Developer Studio Project File - Name="CopyProject" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=CopyProject - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "CopyProject.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "CopyProject.mak" CFG="CopyProject - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "CopyProject - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "CopyProject - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "CopyProject - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "CopyProject - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "CopyProject - Win32 Release"
# Name "CopyProject - Win32 Debug"
# Begin Source File
SOURCE=.\CopyProject.cpp
# End Source File
# End Target
# End Project
@@ -0,0 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "CopyProject"=.\CopyProject.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################