top of page

Inner Journeys, LLC Group

Public·587 members

Nikita Ignatiev
Nikita Ignatiev

Quake 2 (1997)


  • Installed Direct3D SDK and Microsoft SDK (for MFC) and the thing compiled fine.Software erosion: It seems that what happened to Quake codebase has started to happen with Quake 2: You cannot open the workspace with Visual Studio 2010. You will need to use VS 2008 :(.Note : If after compiling you run into the error: "Couldn't fall back to software refresh!" it means the renderer DLL failed to load properly, this is easy to fix:Quake2 kernel loads its two dlls using win32 API: LoadLibrary. If the DLL is not exactly what it was expecting or if the DLL dependencies cannot be resolved it will fail silently instead of displaying the error message. So:Make sure you are linking all 5 projects with the same runtime library by right clicking on each project -> properties -> C/C++: Check that "runtime library" = Multi-threaded Debug DLL (with configuration "Debug", otherwise use release).

If you are using the quake2 release from id software it should fix the issue.Now if you are using my version: I added the engine capability to output PNG screenshots, so you also need to build libpng and libz (it is in a subdirectory). Make sure your select the Debug DLL configuration. Once built don't forget to place the libpng and zlib dlls in the same folder as quake2.exe.




Quake 2 (1997)



  • Quake2 is mono-threaded, the entry point can be found in win32/sys_win.c. WinMain method can be summarized as follow: game_export_t *ge;// Contains function pointers to game dll refexport_t re; // Contains function pointers to renderer dll WinMain()//From quake2.exe Qcommon_Init (argc, argv); while(1) Qcommon_Frame SV_Frame() //Server Code //In network mode do not act as a server if (!svs.initialized) return; // Jump into game.dll via function pointer ge->RunFrame(); CL_Frame() //Client code //If server only do not render anything if (dedicated->value) return; // Jump into rendere.dll via function pointer re.BeginFrame(); //[...] re.EndFrame(); Fully unrolled loop in my raw notes.We may ask "why such a big change in term of architecture ?". To answer let's take a look at all the Quake versions from 1996 to 1997:Quake.

  • WinQuake.

  • GLQuake.

  • VQuake. (A few words by one of the dev Stefan Podell and the difficulty of V2200 at Zbuffering (mirror) ).

  • Quake World Server.

  • Quake World Client.

A lot of executables were produced and every time the code had to be forked or tweaked via preprocessor #ifdef. It was a mess and the way to solve this was to:


Since I was running Windows on a Mac with Parallels it was uneasy to hit "printscreen" while the game was running. I hardcoded the '*' from the keypad to produce the same: // keys.c if (key == '*') if (down) //Avoid auto-repeat !! Cmd_ExecuteString("screenshot"); Finally I added a lot of comments and diagrams. Here is "my" full source code:Notes : If you start working on this source you need to compile the sub-project libpng first otherwise you will get an error message at runtime: "Couldn't fall back to software refresh!". This is very easy to fix here is the solution i posted on reddit: I ran into this issue a month ago and you are right it is a DLL loading error and it is very easy to fix. You see quake2 kernel loads some dlls using win32 API: LoadLibrary: If the DLL is not exactly what it was expecting or if the DLL dependencies cannot be resolved it will fail silently instead of displaying the error message. So: - Make sure you are linking all 5 projects with the same runtime library by right clicking on each project -> properties -> C/C++: Check that "runtime library" = Multi-threaded Debug DLL (with configuration "Debug", otherwise use release). If you are using the quake2 release from id software it should fix the issue. If you are using my version: I added the engine capability to output PNG screenshots, so you also need to build libpng and libz (it is in a subdirectory). Make sure your select the Debug DLL configuration. Once built don't forget to place the libpng and zlib dlls in the same folder as quake2.exe. Done ;) !


Heh, time ago i lost my quake 2 cd, and when i wanted to hear some of the tracks for other games and stuff, i found this page, so, thanks to the admins for this site, u made my life happier :3 (really! :D)


TEHRAN, Iran (CNN) -- The official death toll from the earthquake that rocked Iran's northwestern Ardabil region rose on Monday to 965, but rescue workers estimated that the actual toll may be three times that figure.


Friday's quake in Iran, which struck a largely rural region, had a magnitude of 5.5 and left 40,000 people homeless in heavy snow and harsh winter conditions. It was centered near Ardabil and Meshkinshahr.


In Pakistan, the two moderate earthquakes that jolted twotowns Monday caused no casualties, officials said. They came three days after a more powerful quake killed about 60 people in southwestern Pakistan. 041b061a72


About

Welcome to the group! You can connect with other members, ge...

Members

  • Sussie
    Sussie
  • Gracee Mangrum
    Gracee Mangrum
  • DoanThiBichNiem
    DoanThiBichNiem
  • zbetphd
  • Anthony Lee
    Anthony Lee
bottom of page