Giter VIP home page Giter VIP logo

3zb2's Introduction

Yamagi Quake II

Yamagi Quake II is an enhanced client for id Software's Quake II with focus on offline and coop gameplay. Both the gameplay and the graphics are unchanged, but many bugs in the last official release were fixed and some nice to have features like widescreen support and a modern OpenGL 3.2 renderer were added. Unlike most other Quake II source ports Yamagi Quake II is fully 64-bit clean. It works perfectly on modern processors and operating systems. Yamagi Quake II runs on nearly all common platforms; including FreeBSD, Linux, NetBSD, OpenBSD, Windows and macOS (experimental).

This code is built upon Icculus Quake II, which itself is based on Quake II 3.21. Yamagi Quake II is released under the terms of the GPL version 2. See the LICENSE file for further information.

Documentation

Before asking any question, read through the documentation! The current version can be found here: doc/010_index.md

Releases

The official releases (including Windows binaries) can be found at our homepage: https://www.yamagi.org/quake2
Unsupported preview builds for Windows can be found at https://deponie.yamagi.org/quake2/misc/

3zb2's People

Contributors

abalfoort avatar danielgibson avatar dremor8484 avatar earth-metal avatar mjr4077au avatar neonknightoa avatar yamagi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

3zb2's Issues

Can't build on Windows

Hi!

Trying to build on Windows

Running make shows this short log:

c:\games\Yamagi\bots_src\3zb2>make
===> Building game.dll
process_begin: CreateProcess(NULL, mkdir -p release, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [Makefile:169: 3zb2] Error 2

My system: Windows 11. Build was started under cmd.exe shell.

gcc and make versions:

make --version
GNU Make 4.4.1
Built for Windows32
Copyright (C) 1988-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gcc --version
gcc (GCC) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

-arch i386 should be removed for Darwin

Looks like we need to remove support for i386 architecture for newer OSX versions (ifeq ($(YQ2_OSTYPE), Darwin) case). There should be no "-arch i386" or "make" will fail with:

ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [release/game.dylib] Error 1
make: *** [3zb2] Error 2

locating 3ZBConfig.cfg w/ +basedir

I'm trying to run a server on Ubuntu using their quake2-server package (which uses yamagi quake2). I've got 3zb2 installed and the game finds the game.so in /usr/lib/yamagi-quake2/3zb2 and is able to find the pak6.pak in /usr/share/games/quake2/3zb2... but doesn't appear to be able to locate the 3ZBConfig.cfg, routes, etc. even though they are in that same directory. Looking at the source a little, I think this is because the code is simply using fopen with relative paths like 3zb2/3ZBConfig.cfg which aren't guaranteed to be relative to the basedir. I think when the basedir is set, it should probably be using that as the base path to use when opening those files.

Help Needed on Linux

I think I'm close but I'm missing something. I have compiled Yamagi on Linux and I've copied the assets from this repo to 3zb2 folder, I put game.so into that folder also, and I'm running the game w/ this alias:

alias quake2="cd ~/Games/Linux/Quake\ II &&  ./quake2 -datadir ~/Games/Linux/Quake\ II +set game 3zb2 +set deathmatch 1 +disconnect"

The game loads fine, but here are my issues:

  • The game doesn't autoexec game.cfg, so I have to do it manually.
  • The game doesn't autoexec addbot.cfg, so I have to do it manually.
  • When I type addbot it says Add bot 1 but nothing ever happens.
  • When I type sv spb 2 it says server command spb not found.

Any help would be appreciated.

Build issues using mingw on windows

I managed to compile dll but it doesnt work for some reason. Lots of warnings about unknown pragma. i cannot execute sv spb $.

Could you release windows binaries please?

How to run with Yamagi Quake2 on Linux?

The README states:

For more informations refer to the user guide, included with the assets.

The user guide contains no information about running this modification though.

Build warnings on Debian

Building 3zb2 on Debian 12 there are lots of warnings.
Most of them are easy to remedy:

[  3%] Building C object CMakeFiles/game.dir/src/bot/fire.c.o
/home/arjen/dev/Q2RTX/workingdir/_yquake2/3zb2/src/bot/fire.c: In function ‘B_UseHyperBlaster’:
/home/arjen/dev/Q2RTX/workingdir/_yquake2/3zb2/src/bot/fire.c:539:11: warning: variable ‘zc’ set but not used [-Wunused-but-set-variable]
  539 |  zgcl_t  *zc;
      |           ^~

But this one I don't know how to resolve:

In file included from /home/arjen/dev/Q2RTX/workingdir/_yquake2/3zb2/src/g_ctf.c:1:
/home/arjen/dev/Q2RTX/workingdir/_yquake2/3zb2/src/g_ctf.c: In function ‘SelectCTFSpawnPoint’:
/home/arjen/dev/Q2RTX/workingdir/_yquake2/3zb2/src/header/local.h:537:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  537 | #define FOFS(x) (int)&(((edict_t *)0)->x)
      |                 ^
/home/arjen/dev/Q2RTX/workingdir/_yquake2/3zb2/src/g_ctf.c:410:31: note: in expansion of macro ‘FOFS’
  410 |  while ((spot = G_Find (spot, FOFS(classname), cname)) != NULL)
      |                               ^~~~

I've been searching on stackoverflow.com but couldn't find something that could help in this case.

Anybody has an idea?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.