From af77b935974e2ddffb5f606a8a2576faabf517dc Mon Sep 17 00:00:00 2001 From: SmileTheory Date: Mon, 7 Jan 2013 20:30:49 -0800 Subject: [PATCH] #5818 - Modular renderer and Rend2 support for MSVC. --- code/asm/ftola.asm | 3 + code/asm/snapvector.asm | 3 + code/rend2/tr_init.c | 2 +- code/renderer/tr_init.c | 2 +- misc/msvc/glsl_stringify.vbs | 18 + misc/msvc/ioq3.sln | 22 +- misc/msvc/opengl1.vcproj | 932 +++++++++++++++++++++++++++++ misc/msvc/quake3.vcproj | 490 ++++------------ misc/msvc/rend2.vcproj | 1076 ++++++++++++++++++++++++++++++++++ 9 files changed, 2160 insertions(+), 388 deletions(-) create mode 100644 misc/msvc/glsl_stringify.vbs create mode 100644 misc/msvc/opengl1.vcproj create mode 100644 misc/msvc/rend2.vcproj diff --git a/code/asm/ftola.asm b/code/asm/ftola.asm index eea9d0e3..321b6b5e 100644 --- a/code/asm/ftola.asm +++ b/code/asm/ftola.asm @@ -21,6 +21,9 @@ ; MASM ftol conversion functions using SSE or FPU ; assume __cdecl calling convention is being used for x86, __fastcall for x64 +.686p +.xmm + IFNDEF idx64 .model flat, c ENDIF diff --git a/code/asm/snapvector.asm b/code/asm/snapvector.asm index 22f9b225..9e61bec6 100644 --- a/code/asm/snapvector.asm +++ b/code/asm/snapvector.asm @@ -24,6 +24,9 @@ ; function prototype: ; void qsnapvector(vec3_t vec) +.686p +.xmm + IFNDEF idx64 .model flat, c ENDIF diff --git a/code/rend2/tr_init.c b/code/rend2/tr_init.c index 2ee6ff32..94b97f8b 100644 --- a/code/rend2/tr_init.c +++ b/code/rend2/tr_init.c @@ -1504,7 +1504,7 @@ GetRefAPI @@@@@@@@@@@@@@@@@@@@@ */ #ifdef USE_RENDERER_DLOPEN -Q_EXPORT refexport_t QDECL *GetRefAPI ( int apiVersion, refimport_t *rimp ) { +Q_EXPORT refexport_t* QDECL GetRefAPI ( int apiVersion, refimport_t *rimp ) { #else refexport_t *GetRefAPI ( int apiVersion, refimport_t *rimp ) { #endif diff --git a/code/renderer/tr_init.c b/code/renderer/tr_init.c index 963dcdeb..a36e6f58 100644 --- a/code/renderer/tr_init.c +++ b/code/renderer/tr_init.c @@ -1324,7 +1324,7 @@ GetRefAPI @@@@@@@@@@@@@@@@@@@@@ */ #ifdef USE_RENDERER_DLOPEN -Q_EXPORT refexport_t QDECL *GetRefAPI ( int apiVersion, refimport_t *rimp ) { +Q_EXPORT refexport_t* QDECL GetRefAPI ( int apiVersion, refimport_t *rimp ) { #else refexport_t *GetRefAPI ( int apiVersion, refimport_t *rimp ) { #endif diff --git a/misc/msvc/glsl_stringify.vbs b/misc/msvc/glsl_stringify.vbs new file mode 100644 index 00000000..34e49553 --- /dev/null +++ b/misc/msvc/glsl_stringify.vbs @@ -0,0 +1,18 @@ +Dim fso, infile, outfile, line +Set fso = CreateObject("Scripting.FileSystemObject") +Set infile = fso.OpenTextFile(WScript.Arguments(0)) +Set outfile = fso.CreateTextFile(WScript.Arguments(1), True) + +outfile.WriteLine("const char *fallbackShader_" & fso.GetBaseName(WScript.Arguments(0)) & " =") +While Not infile.AtEndOfStream + line = infile.ReadLine + line = Replace(line, "\", "\\") + line = Replace(line, Chr(9), "\t") + line = Replace(line, Chr(34), "\" & chr(34)) + line = Chr(34) & line & "\n" & Chr(34) + outfile.WriteLine(line) +Wend +outfile.WriteLine(";") + +infile.Close +outfile.Close \ No newline at end of file diff --git a/misc/msvc/ioq3.sln b/misc/msvc/ioq3.sln index 88fa7f51..feeb79b9 100644 --- a/misc/msvc/ioq3.sln +++ b/misc/msvc/ioq3.sln @@ -1,5 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 +# Visual C++ Express 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cgame", "cgame.vcproj", "{C878E295-CB82-4B40-8ECF-5CE5525466FA}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "game", "game.vcproj", "{F9EE10DA-2404-4154-B904-F93C936C040A}" @@ -10,6 +10,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "quake3", "quake3.vcproj", " EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ui", "ui.vcproj", "{A8EAC38E-C7DA-42F8-811D-77FD092B9D19}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rend2", "rend2.vcproj", "{F7B397A4-8111-421B-A23B-B9A2CE509183}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opengl1", "opengl1.vcproj", "{CD289B03-887C-4602-BDCE-AB6785A7489E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug TA|Win32 = Debug TA|Win32 @@ -54,6 +58,22 @@ Global {A8EAC38E-C7DA-42F8-811D-77FD092B9D19}.Release TA|Win32.ActiveCfg = Release TA|Win32 {A8EAC38E-C7DA-42F8-811D-77FD092B9D19}.Release TA|Win32.Build.0 = Release TA|Win32 {A8EAC38E-C7DA-42F8-811D-77FD092B9D19}.Release|Win32.ActiveCfg = Release|Win32 + {F7B397A4-8111-421B-A23B-B9A2CE509183}.Debug TA|Win32.ActiveCfg = Debug TA|Win32 + {F7B397A4-8111-421B-A23B-B9A2CE509183}.Debug TA|Win32.Build.0 = Debug TA|Win32 + {F7B397A4-8111-421B-A23B-B9A2CE509183}.Debug|Win32.ActiveCfg = Debug|Win32 + {F7B397A4-8111-421B-A23B-B9A2CE509183}.Debug|Win32.Build.0 = Debug|Win32 + {F7B397A4-8111-421B-A23B-B9A2CE509183}.Release TA|Win32.ActiveCfg = Release TA|Win32 + {F7B397A4-8111-421B-A23B-B9A2CE509183}.Release TA|Win32.Build.0 = Release TA|Win32 + {F7B397A4-8111-421B-A23B-B9A2CE509183}.Release|Win32.ActiveCfg = Release|Win32 + {F7B397A4-8111-421B-A23B-B9A2CE509183}.Release|Win32.Build.0 = Release|Win32 + {CD289B03-887C-4602-BDCE-AB6785A7489E}.Debug TA|Win32.ActiveCfg = Debug TA|Win32 + {CD289B03-887C-4602-BDCE-AB6785A7489E}.Debug TA|Win32.Build.0 = Debug TA|Win32 + {CD289B03-887C-4602-BDCE-AB6785A7489E}.Debug|Win32.ActiveCfg = Debug|Win32 + {CD289B03-887C-4602-BDCE-AB6785A7489E}.Debug|Win32.Build.0 = Debug|Win32 + {CD289B03-887C-4602-BDCE-AB6785A7489E}.Release TA|Win32.ActiveCfg = Release TA|Win32 + {CD289B03-887C-4602-BDCE-AB6785A7489E}.Release TA|Win32.Build.0 = Release TA|Win32 + {CD289B03-887C-4602-BDCE-AB6785A7489E}.Release|Win32.ActiveCfg = Release|Win32 + {CD289B03-887C-4602-BDCE-AB6785A7489E}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/misc/msvc/opengl1.vcproj b/misc/msvc/opengl1.vcproj new file mode 100644 index 00000000..0d6e863b --- /dev/null +++ b/misc/msvc/opengl1.vcproj @@ -0,0 +1,932 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/misc/msvc/quake3.vcproj b/misc/msvc/quake3.vcproj index 09424501..5560da46 100644 --- a/misc/msvc/quake3.vcproj +++ b/misc/msvc/quake3.vcproj @@ -1,7 +1,7 @@ + + + + + + + + + + + + + + @@ -1526,14 +1574,6 @@ RelativePath="..\..\code\client\qal.c" > - - - - @@ -1542,6 +1582,50 @@ RelativePath="..\..\code\sdl\sdl_snd.c" > + + + + + + + + + + + + + + @@ -2479,246 +2563,6 @@ > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2943,130 +2787,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/misc/msvc/rend2.vcproj b/misc/msvc/rend2.vcproj new file mode 100644 index 00000000..66f714ac --- /dev/null +++ b/misc/msvc/rend2.vcproj @@ -0,0 +1,1076 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +