Code Monkey home page Code Monkey logo

ezquake-source's Introduction

ezQuake — Modern QuakeWorld Client

Homepage: https://ezquake.com

Community discord: http://discord.quake.world

This is the right place to start playing QuakeWorld® — the fastest first person shooter action game ever.

Combining the features of all modern QuakeWorld® clients, ezQuake makes QuakeWorld® easier to start and play. The immortal first person shooter Quake® in the brand new skin with superb graphics and extremely fast gameplay.

Features

  • Modern graphics
  • QuakeTV support
  • Rich menus
  • Multiview support
  • Tons of features to serve latest pro-gaming needs
  • Built in server browser & MP3 player control
  • Recorded games browser
  • Customization of all possible graphics elements of the game including Heads Up Display
  • All sorts of scripting possibilities
  • Windows, Linux, MacOSX and FreeBSD platforms supported (SDL2).

Our client comes only with bare minimum of game media. If you want to experience ezQuake with modern graphics and other additional media including custom configurations, maps, textures and more, try using the nQuake-installer.

Support

Need help with using ezQuake? Try #dev-corner on discord

Or (less populated these days) visit us on IRC at QuakeNet, channel #ezQuake: webchat or IRC.

Sometimes help from other users of ezQuake might be more useful to you so you can also try visiting the quakeworld.nu Client Talk-forums.

If you have found a bug, please report it here

Installation guide

To play Quakeworld you need the files pak0.pak and pak1.pak from the original Quake-game.

Install ezQuake to an existing Quake-installation

If you have an existing Quake-installation simply extract the ezQuake executable into your Quake-directory.

A typical error message when installing ezQuake into a pre-existing directory is about glide2x.dll missing. To get rid of this error, remove the file opengl32.dll from your Quake directory.

Upgrade an nQuake-installation

If you have a version of nQuake already installed you can upgrade ezQuake by extracting the new executable into the nQuake-directory.

Minimal clean installation

If you want to make a clean installation of ezQuake you can do this by following these steps:

  1. Create a new directory
  2. Extract the ezQuake-executable into this directory
  3. Create a subdirectory called id1
  4. Copy pak0.pak and pak1.pak into this subdirectory

Compiling

Compiling a Windows binary

Using Visual Studio

The project contain a VS solution.

Clone the ezQuake source code:

git clone --recurse-submodules https://github.com/ezQuake/ezquake-source.git ezquake

Initialize Vcpkg, and refresh submodules if needed:

bootstrap.bat

Load the solution into VS, and compile your preferred target.

Using Ubuntu Bash (WSL)

You can use the new Ubuntu Bash feature in Windows 10 to compile ezQuake for Windows.

To enable Bash for Windows, press the Start button and type Turn Windows f and select Turn Windows features on or off. Scroll down to Windows Subsystem for Linux (Beta) and enable it.

Now press WINDOWS+I, go to Update & security and then to the For developers tab. Enable Developer mode.

Now press the Start button again and enter bash. Click it and install Bash.

Enter the following command to install all required prerequisites to build ezQuake:

sudo apt-get install -y git mingw-w64 build-essential libspeexdsp-dev dos2unix pkg-config

Now clone the ezQuake source code:

git clone --recurse-submodules https://github.com/ezQuake/ezquake-source.git ezquake

Make sure line endings are not CRLF:

dos2unix *.sh

Now build the ezQuake executable:

EZ_CONFIG_FILE=.config_windows make

Copy the compiled binary to your Quake folder, the binary is called ezquake.exe.

Using a Linux system

Initialize/update git submodules:

git submodule update --init --recursive --remote

Make sure you have mingw32 toolchain installed. On Arch Linux it's mingw-w64 (select complete group).

Build an executable using the following command:

EZ_CONFIG_FILE=.config_windows make

You can add -jN as a parameter to make to build in parallell. Use number of cpu cores plus 1 (e.g. -j5 if you have a quad core processor).

Compiling a Linux binary

These instructions were tested on Ubuntu

Make sure you have the dependencies installed:

(You may skip installing dependencies if you are going to use the build-linux.sh script included in the repository, this will take care of installing packages for you.)

  • For Debian/Ubuntu 16.10+
sudo apt install git build-essential libsdl2-2.0-0 libsdl2-dev libjansson-dev libexpat1-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libspeex-dev libspeexdsp-dev libfreetype6-dev libsndfile1-dev libpcre2-dev libminizip-dev
  • For openSUSE Tumbleweed
sudo zypper install -t pattern devel_C_C++
sudo zypper install git pcre2-devel Mesa-libGL-devel SDL2-devel libjansson-devel libexpat-devel libcurl-devel libpng16-devel libpng16-compat-devel libjpeg8-devel libjpeg-turbo libsndfile-devel speex-devel speexdsp-devel libXxf86vm-devel
  • For Fedora
sudo dnf group install 'C Development Tools and Libraries'
sudo dnf install git pcre2-devel mesa-libEGL-devel SDL2-devel jansson-devel expat-devel libcurl-devel libpng-devel libjpeg-turbo-devel libsndfile-devel speex-devel speexdsp-devel libXxf86vm-devel

Clone the git repository:

git clone --recurse-submodules https://github.com/ezQuake/ezquake-source.git

Switch to ezquake-source path:

cd ~/ezquake-source/

Initialize/update git submodules:

git submodule update --init --recursive --remote

Run the compilation (replace 5 with the number of cpu cores you have +1):

make -j5

You can add -jN as a parameter to make to build in parallell. Use number of cpu cores plus 1 (e.g. -j5 if you have a quad core processor).

Copy the compiled binary to your Quake folder, on 64bit linux the binary will be called ezquake-linux-x86_64.

Compiling an OS X binary

These instructions were tested on Mac OS X 10.10.

Get Homebrew

Run exactly as it says on the front page:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Make sure you run the brew doctor as instructed before doing anything else.

Then run:

brew install sdl2 sdl2_net sdl2_image sdl2_gfx sdl2_mixer pcre2 jansson pkg-config speex speexdsp libsndfile

When it's done, just run make and it should compile without errors.

Creating an app bundle

Call from main ezquake-source directory, e.g. you probably do something like this:

make
sh misc/install/create_osx_bundle.sh

Current directory should have an ezQuake.app folder which is the app.

There will also be an ezquake.zip which basically just zips up the .app.

Nightly builds

Nightly builds can be found here

ezquake-source's People

Contributors

aas avatar adonaldson avatar anderslindmark avatar andrestone avatar biomass avatar borisu7 avatar ciscon avatar drzel avatar dsvensson avatar dusty-qw avatar evhskurk avatar fzwoch avatar hemostx avatar hifi avatar jite avatar joakimsoderberg avatar johnnycz avatar josephpecoraro avatar krizej avatar meag avatar namtsui avatar niclaslindstedt avatar osm avatar plampila avatar ptarcher avatar qqshka avatar qwcream avatar se-sss avatar tcsabina avatar uzhosnah avatar

Stargazers

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

Watchers

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

ezquake-source's Issues

REQ: Validate config against documentation (was: hud_teamholdinfo_style > 2 does not draw anything)

When values superior to 2 is set, it doesn't draw anything (since it only checks "==" conditions in SCR_HUD_DrawTeamHoldInfo )

This fix should be trivial to implant:

In hud_common.c, line 4858:
else if(hud_teamholdinfo_style->value == HUD_TEAMHOLDINFO_STYLE_PERCENT_BARS2)
should be fixed by using:
else if(hud_teamholdinfo_style->value >= HUD_TEAMHOLDINFO_STYLE_PERCENT_BARS2)

Screenshots below.
glqwcl 2016-04-12 02-14-23-70

glqwcl 2016-04-12 02-14-56-45

BUG: shows your cameraview twice if you are the only player

Watch an mvd demo (say, a trick one), where there is only one player.
If you have multiview turned on, then the second camera window shows you again.

If there is only one player, the second window should not appear.
See the screenshot attached.

ezquake008

BUG: Client crash due to server browser refresh on startup

Reported by cosmos on IRC. Can't replicate locally, but fixed by removing cl_onload "sb_refresh". cosmos could reproduce in 2.2 and 3.0, cursor would blink 5 or 6 times then the client would crash.

Config entries:

//Server Browser
sb_autohide                          "1"
sb_autoupdate                        "1"
sb_findroutes                        "1"
sb_hidedead                          "1"
sb_hideempty                         "1"
sb_hidefull                          "0"
sb_hidehighping                      "0"
sb_hidenotempty                      "0"
sb_ignore_proxy                      ""
sb_inforetries                       "1"
sb_infospersec                       "200"
sb_infotimeout                       "400"
sb_listcache                         "0"
sb_liveupdate                        "2"
sb_mastercache                       "1"
sb_masterretries                     "3"
sb_mastertimeout                     "1000"
sb_nosockraw                         "0"
sb_pinglimit                         "80"
sb_pings                             "1"
sb_pingspersec                       "200"
sb_pingtimeout                       "400"
sb_proxinfopersec                    "10"
sb_proxretries                       "3"
sb_proxtimeout                       "1000"
sb_qtvlist_url                       "http://qtv.quakeworld.nu/?rss"
sb_showaddress                       "0"
sb_showfraglimit                     "0"
sb_showgamedir                       "0"
sb_showmap                           "1"
sb_showping                          "1"
sb_showplayers                       "1"
sb_showproxies                       "0"
sb_showtimelimit                     "0"
sb_sortplayers                       "92"
sb_sortservers                       "32"
sb_sortsources                       "3"
sb_sourcevalidity                    "30"
sb_status                            "1"

cl_onload                            "sb_refresh"

sb_sourceunmarkall
sb_sourcemark "QuakeServers URL"
sb_sourcemark "QuakeServers.net"
sb_sourcemark "Asgaard"
sb_sourcemark "Global"
sb_sourcemark "Poland"
sb_sourcemark "European Servers"
sb_sourcemark "Europe 4on4"
sb_sourcemark "World Qizmos"

BUG: Some auto cvars don't show automatically set value on initial load

E.g. /vid_displayfrequency works immediately, but /s_desired_samples does not.

Seems to be caused by S_SDL_Init() being called before Host_Init calls Cvar_Set() on all cvars, which clears the auto value.

(Auto values are just for informing the user, so this should have no effect on functionality)

REQ: Changes for mvd_auto_track_custom cvars

I've found some variables that are very close to what I wanted for them to do for mvd_auto_track_custom (%C and %c), although, instead of considering "what I did in this entire run" or "how much time I survived in this run", it uses "what I already did in this run" or "how much time I'm surviving". I want to use (%C-3)/%c) in the second specified way, with it, I will be able to see players that did at least 3 kills, but it will be focusing the player who did those kills in less time. In this case, a cvar that changes the behavior of the tracker by using all they did in a run instead of what they currently did in the run I watch, I think a cvar would be better because I don't find anything to mix variables from the first method with the second method, not sure if there is anything that would be good to mix.

%c is a time value which starts at 0, meaning that if you pick any variable and divide by it, you will get an division by 0 error in the console, in those cases, just giving 0 in the result of division will solve the problem.

The frag variables should have a damage version of them so that it is possible to consider players that causes damage but doesn't kill other players as trackeable/skilled players, also one damage variable that picks damage but only the damage that wasn't healed by the damaged player.

BUG: sys_disablewinkeys doesn't always disable the windows key; (also, a windows resolution issue when alt-tabbing)

sys_disablewinkeys 1 allows me to bind things to the windows key. I have +ssg bound there now, and it usually works fine. In fact, it always works fine right after I start up the client. But for some undiscovered reason the functionality breaks after extended game sessions, causing one to be inadvertently task-switched to the Windows desktop, potentially in the middle of a match.

My best guess is that the functionality breaks due to something related to alt-tabbing to windows intermittently during the client session. Something related to that process must be "reactivating" the windows keys for some reason, as I don't think it happens until I've alt-tabbed during a session (though it's not very predictable when it will occur - I just alt-tabbed a few times and couldn't reproduce the bug).

Another (probably unrelated) task switching issue:

Sometimes, upon alt-tabbing, the Windows desktop will take on the same resolution as the QW client. I play in 800_600, with desktop at 1600 * 1200. Usually this works fine with alt-tabbing. However, sometimes, for some unknown reason, I alt-tab to find my desktop also at 800_600.

As far as when this error occurs, it's an all or nothing thing. If alt-tabbing is working fine when I start up the client, the error will not happen later in that session. However, if the error occurs it will begin with the very first alt-tab during a session, and for every alt-tab thereafter. The only workaround is to manually switch back the desktop resolution every time you alt-tab, or reboot Windows.

OS: Windows 7
Ezquake client: 3.0 Alpha R4606`A91749E Win32:GL (most recent one posted in qw.nu forums).

Add option to post console to stdout

It would be really handy if the engine could print all the console stuff to stdout as well. That way users who launched it in a terminal window could easily do things, read, copy, paste etc.

Request: player gender cvar / appropriate obit pronouns

I'm returning to QuakeWorld after not playing seriously for about 13 years and I really like the features and usability of eqQuake (via nQuake). But being female, I'm surprised it hasn't implemented a player gender cvar.

Upon dying in-game, I very quickly noticed the jarring obit "Lisa* was looking good until he killed himself," which prompted me to investigate gender settings. But there doesn't seem to be an option.

I see a brief reference to player gender in vx_tracker.c, but am unsure how that relates to the rest of the project. Could you kindly implement player gender in the future? It has been pretty standard in these games since at least Quake II, and it seems like it'd be simple to add. Thank you!

*Not my real name.

REQ: Make clientport a console variable

Reported by raket on IRC. He's been doing testing on why fodquake sometimes gave him 25ms ping to UK server, but generally 38ms. Had previously worked out that fodquake randomises the clientport with each connection.

[raket] could you make clientport to a variable?
[raket] i ran ezquake -> 38ms in uk, started fodquake -> started tcpdump in a window
[raket] reconnected till i got 25ms
[raket] than run ezquake -clientport port, and 25ms

Looks like this is about hitting some kind of QoS sweetspot that might be outwith the user's control.

Compilation error on Ubuntu 14.10 (64-bit)

[LD] ezquake-linux-x86_64
.ezquake/common.o: In function `COM_GetUniqueTempFilename':
/home/calinou/Git/ezquake/common.c:374: warning: the use of `tempnam' is dangerous, better use `mkstemp'
/usr/bin/ld: .ezquake/sys_posix.o: undefined reference to symbol 'sem_post@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:396: recipe for target 'ezquake-linux-x86_64' failed
make: *** [ezquake-linux-x86_64] Error 1

BUG: Disparity between /connectbr and joining via server browser

(Report from up2, via quakeworld.nu forums)

i found a bug with ezquake's cl_proxyaddr and sb_refresh stuff
if I use the console and sb_refresh then do connectbr, this is what happens:
lv49exi 1
"port number in prx userinfo key is invalid"
but when I go to the server browser, without refreshing, I can connect to the same server
By pressing "x" (use proxies to connect)
here's the cl_proxyaddr after I use the server browser and press x
u09p35n 1

Build instructions for OS X

I'd love to try this out on OS X -- but there aren't any build instructions. I can paste my build errors if that'd help.

BUG: Does not compile on Linux (libpng12 not found)

Dev version of ezquake does not compile on Debian testing.
Debian switched to libpng16 and png.h is now in /usr/include/libpng16/png.h
but I get this in console:

make: *** No rule to make target '/usr/include/libpng12/png.h', needed by '.ezquake/cl_main.o'. Stop.

idea: social features

Possible abuse of Github issues, but it seemed like a good way to get the attention of the active devs.

I propose a few social features added to the client in the form of a plugin.

Basic idea: Hook up the quake client to a web service. This would allow you to (from the QW client) say:

  • Is my friend Jacobite online
  • Go to the server that Jacobite is on

Of course there is so much more you could do (see below), but this would be a nice start.

What I think we'd need:

  • Generate HTTP requests (libcurl is already in the project so that seems like a fine fit) with a signature that only the server/client can generate
  • Deal with responses (most probably small chunks of data, JSON encoded)
  • A plugin that can deal with various Quake events and trigger HTTP calls.
  • A web service to manage it (this is something I can do in my sleep)

It could prove to be a nice demonstration of what's possible with plugins.

For example, when I load the quake client, an http request is made saying 'dies-el is online'. When I join a server an http request is made saying 'dies-el is playing at server with ip X'. When I leave, tell the server. When I quit, tell the server.

Now, this breaks down because Quake doesn't have a concept of usernames, you set your name when you join. Well, perhaps the first time you use the social features, you set yourself a username. That way, it doesn't matter what name you are playing under, you are still identifiable to your friends.

Future features:

  • By tracking the scores of the game, you could come up with a ranking for a player. We could then set up a matchmaking service (find me a duel against someone who is my skill level)
  • Instant messaging. You could send people 'out of server' messages

I'll probably potter on with this idea myself if everyone thinks it's a horrible idea, but I thought I'd share it with the project in case anyone fancied lending a hand. I'm a total c noob, but I can handle the web side of things (e.g. setting up the web service with a nice restful api)

REQ: Delay QTV playback to sync with twitch stream commentary

This gets raised every time there is a tournament being streamed - people want to watch with their own HUD etc, but listen to the commentary, and they're out of sync.

There is qtv_buffertime (current upper limit of 10 seconds, may need to be increased) but also getting the two in sync - maybe automatic pause when the countdown ends, and player can push button to unpause as the game starts on the Twitch stream?

Feels like it's almost there but not quite usable...

BUG: In some moments, keyboard layout goes back to qwerty (using colemak on linux64)

(ezquake version 3.0.1-dev R4865 ............) (date of the source is 05-07-2016)

On startup, Colemak layout works fine, but when the connection window that asks whether to [j]oin or to [o]bserve etc... comes up, it's on qwerty mode.

Had several ocasions when then suddenly the console is only working in qwerty mode also, but can't yet figure out how it happened.

Small additional issue: i have the backspace function remapped to CapsLock (kind of a colemak default) and in ezQuake it doesn't work. no biggie but would be amazing to have it working.

Loving ezQ3 a lot so far <3
have a good day!

BUG: Blank screen after /vid_restart when running fullscreen on Intel integrated gfx

(So far two machines affected, both laptops with integrated Intel graphics)

Program continues to run as normal (can type /vid_fullscreen 0, /vid_restart to get back to desktop) but image is displayed for one frame, then screen is completely blank (not black - just grey, as though the monitor is not being used).

Known workarounds:

  • Toggle back to windowed mode with alt-enter, and then back to fullscreen with another alt-enter. Toggling windowed>fullscreen with alt-enter does not trigger the issue (?!), even though all it is doing is setting /vid_fullscreen variable and executing /vid_restart on the console.
  • If Intel hotkeys are enabled, once fullscreen and issue is affecting screen: press control-alt-down to rotate screen 180 degrees (ezQuake will re-appear, up-side down), then control-alt-up to rectify it.
  • If two graphics systems available in the machine, run ezQuake using the non-Intel card

Can confirm this behaviour affects other fullscreen desktop applications, not just ezQuake.

Reported by sadhu on Discord

BUG: Special Character inserted into ^First ^letter @ ^console if a bound key is used :)

Hi Team EzQuake <3
sorry, another little Bug i found.

  • First Letter in Console gets promoted to "special Character", resulting in weird typos :)
  • If none of you swedish people experience this bug, it could be related to keyboard mappings? (win7, german keyboard, bug is present since early ezq3 alphas.)

Reproduce by:

open ezquake3
map dm4
now press exaclty once "W" or a movementkey of your choice
press tilde (to open console)
try to type the word "ok"

this results in my "ok" ending up as a "tk" with a colored "t"

I´ve attached a screen, to demonstrate how it looks.
ezquake002

BUG: OSX: Option+Key no longer works, produces garbage

On OS X, Option+Key no longer works.

  1. Show console
  2. Type "this" without option produces white text "this"
  3. Type "this" holding option produces garbage

Expected Typing "this" holding option to produce alternate color (gold/red) text.

This broke with:
6ac7059 Initial changes to support non-american keyboard layouts & cyrillic characters.

BUG: ezquake doesn't capture windows key in linux

[qirex] ezq3 now longer seems to grap keyboard input fully
[qirex] i have keyboard shortcuts like win+u
[qirex] in my window manager
[qirex] but also have bound win+u in ezquake
[qirex] now the keybinding in ezquake no longer works
[qirex] in 2.2 that short cut did override the one from the window manager
[qirex] 3.0 no longer does
[qirex] Arch Linux
[qirex] wm is XMonad
[qirex] even in fullscreen ezquake doesn't get the win+... keys

Workaround is to set environment variable SDL_GRAB_KEYBOARD to 1
Equivalent hint is SDL_HINT_GRAB_KEYBOARD - doesn't appear to get used on Windows, need to check OSX.

Credit to qirex for reporting, then finding & testing the workaround.

os x: mouse cursor stays visible

hi,

I compiled ezquake from source, which runs fine — except the mouse cursor doesn't disappear in the game. the menu looks fine, though.

unrelatedly, I used to use the version of ezquake that comes with nQuake, but the latest one doesn't work in os x yosemite. that one – IIRC – comes as an *.app that let's you change settings (like resolution, etc.) before you launch the actual game. — is that nQuake-specific or is there also a way to make an *.app when compiling ezquake from source? (I couldn't find any information on this).

BUG: Reloading video might crash on Linux (gamma related?)

From qirex:
20:35:21 < qirex> dimman: i've been retrying ezquake on linux
20:35:28 < qirex> vid_restart make it crash
20:35:37 < qirex> as well as vid_fullscreen 0

X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 151 (XFree86-VidModeExtension)
Minor opcode of failed request: 17 (XF86VidModeGetGammaRamp)
Value in failed request: 0x1e00009
Serial number of failed request: 307
Current serial number in output stream: 311

BUG: viewsize/fov

When using a viewsize under 100 the fov doesn't calculate properly, it seems the fov is higher

BUG: Serverbrowser crashes

SB crashes on Windows, using alpha/latest and past versions.

It appears to crash more frequently when files.txt and the dummy are selected.
I suspected multithreading issue here, but also happens when only 1 core assigned.

Crash happens when refreshing.

REQ: OSX code uses deprecated audio feature that needs updating

When I run the latest (as of today) compiled code from git and spits out the following code in the osx terminal form which I ran it.

2016-03-14 21:32:50.085 ezquake-darwin-x86_64-dev[72788:9406395] 21:32:50.085 WARNING: 140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.

BUG: folder bugs (servers.txt)

In my QuakeWorld folder, these weird folders keep popping up:

ezq/
ezquak/
se/
servers.t/
servers.txt/

I can't reproduce it, though if I remove the folders they will reappear after a while at seemingly random times.

REQ: Option to disable dynamic lightning on powerup items

In vanilla Quake the powerup (Quad, Pent) items have no dynamic lightning, it is only when they are picked up that the player itself is surrounded by it.

Please add an option to disable dynamic lightning on the items themselves.

BUG: ezQuake might crash on alt-tab

dahmer and leopold noticed that the client might crash when alt-tabbing.
From quakeworld.nu thread (http://www.quakeworld.nu/forum/topic/6757/page/last#103084)

leopold:
dimman, for me and others ezquake 3 likes to crash on alt-tab. Here's a backtrace from gdb:
#0 0x00000eaf618fe7d6 in SCR_HUD_DrawGroup (hud=Variable "hud" is not available.

) at hud_common.c:2158
2158 if (pic != NULL && pic->height > 0)
(gdb) bt
#0 0x00000eaf618fe7d6 in SCR_HUD_DrawGroup (hud=Variable "hud" is not available.

) at hud_common.c:2158
#1 0x00000eaf618eb957 in HUD_DrawObject (hud=0xeb18bac2700) at hud.c:1452
#2 0x00000eaf618eba38 in HUD_Draw () at hud.c:1495
#3 0x00000eaf618d66af in SCR_DrawElements () at cl_screen.c:3316
#4 0x00000eaf618d73f4 in SCR_UpdateScreen () at cl_screen.c:3451
#5 0x00000eaf618c2977 in CL_Frame (time=Variable "time" is not available.

) at cl_main.c:2546
#6 0x00000eaf61840f18 in Host_Frame (time=0.0043760000000929722) at host.c:464
#7 0x00000eaf61985275 in main (argc=2, argv=0x7f7fffff78c8) at sys_posix.c:347

(gdb)

I guess pic is freed but not set to NULL and points to invalid memory.

BUG: Client crash when calling SDL_GL_DeleteContext (vid_restart, closing ezquake)

Client can crash when calling SDL_GL_DeleteContext()
The passed parameter is correct, SDL calls wglDeleteContext(), and the access violation is in nvoglv32.dll
Internet searches indicate that this can happen if textures/buffers/gl-objects are not freed before calling wglDeleteContext.

Struggling to find exact steps to reproduce. Also reported by locust.

BUG: Ezquake crash (on console-autocompletion IF vid_settings changed)

I can reproduce a crash by:

-opening EZQUAKE with gl_no24bit 1 (saved in config)
-game open & via console: gl_no24bit 0 , + vid_restart
-FOR EXAMPLE: now change gamma... type gl_ga (HIT TAB, to get autocompletion)
-crashes.

Crashes on other GL_ or Vid_ related commands then. Not sure about others.
(Windows 7, 64bit, latest+nightly)

BUG: Numpad isnt workning

Numpad isnt workning in last build.
If i change to in_builtinkeymap to 0 i can write witn the numpad in console, but still cant use it as teamsays.

BUG: gl_lightmode 2 not described in help

gl_lightmode 2 is not described in help, but the menu in ezQuake allows the value so i assume it does something good.

On a similar note the values for cl_deadbodyfilter displays weirdly. Descriptions of values are there but not the actual values before them, probably because it's an integer instead of enum in the json.

ezQuake depends on Growl?

Installed nQuake (ezQuake), tried to run it, and it crashes with the following error:

Process:               EZQuake-GL [51086]
Path:                  /Users/USER/*/EZQuake-GL.app/Contents/MacOS/EZQuake-GL
Identifier:            net.sf.ezquakegl
Version:               ???
Code Type:             X86 (Native)
Parent Process:        ??? [1]
Responsible:           EZQuake-GL [51086]
User ID:               504

Date/Time:             2016-06-22 21:48:56.573 -0700
OS Version:            Mac OS X 10.10.5 (14F1021)
Report Version:        11
Anonymous UUID:        E77358BA-B254-B53F-E419-BC9920A02B6B

Sleep/Wake UUID:       E973E0B9-6B6A-4BE2-BCEB-69E8A7F0CC69

Time Awake Since Boot: 49000 seconds
Time Since Wake:       1900 seconds

Crashed Thread:        0

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000002, 0x0000000000000000

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: @executable_path/../Frameworks/Growl.framework/Versions/A/Growl
  Referenced from: /Users/USER/*/EZQuake-GL.app/Contents/MacOS/EZQuake-GL
  Reason: image not found

If I'm reading this right, it appears to be quitting because it depends on Growl (which isn't installed)?!

External textures not loading

Using the same config as i have for ezQuake 2.x my 24-bit textures from nQuake/qw/textures/ will not get loaded in ezQuake 3.0.

I have gl_externaltextures_world set to 1 but still get the deault low res textures.

Version: nightly build ezquake-1df22c7

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.