Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Badly view weapons #85

Open
edombek opened this issue Oct 9, 2023 · 11 comments
Open

Badly view weapons #85

edombek opened this issue Oct 9, 2023 · 11 comments
Labels
bug external regression A problem possibly beyond our control (i.e. glibc)

Comments

@edombek
Copy link

edombek commented Oct 9, 2023

in all variants graphic settings
изображение

@The-Gig
Copy link

The-Gig commented Oct 9, 2023

Could you please provide some more infos? Operating System? Graphic card? Binaries used (e.g. stock 0.8.8, nightly builds, third party fork)? Did you also try using a clean q3config.cfg, or "clean" homepath and basepath (without extra pk3 files in baseoa)?

@edombek
Copy link
Author

edombek commented Oct 9, 2023

Could you please provide some more infos? Operating System? Graphic card? Binaries used (e.g. stock 0.8.8, nightly builds, third party fork)? Did you also try using a clean q3config.cfg, or "clean" homepath and basepath (without extra pk3 files in baseoa)?

I check configs and check stock binaries and git version builded this: https://aur.archlinux.org/packages/openarena-git
I am usage ArchLinux, NVIDIA GeForce GTX 1650, nvidia driver (535.113.01), but openarena used intel graphics...
изображение

@The-Gig
Copy link

The-Gig commented Oct 9, 2023

Some OpenArena packages used by some Linux distros repositories are known to have strange issues. OpenArena Team does not have control over them.
Try manually downloading the official package from OA website...

@edombek
Copy link
Author

edombek commented Oct 9, 2023

if you download from the site, the same problem

@The-Gig
Copy link

The-Gig commented Oct 9, 2023

Did you get the problem since your very first start of the game? If that's the case, it might be a video card driver problem (try if there is another version you can try to install. But I'm not familiar with drivers under Linux). If it started recently, maybe you autodownloaded some poorly packaged pk3 file (e.g. some third party map) which messed up your game (you can try using a clean settings/autodownload folder by starting OA with "+set fs_homepath [path]" parameter from OS command line.)

@edombek
Copy link
Author

edombek commented Oct 9, 2023

It didn’t help... I hope that the drivers are installed and this will be fixed soon

@The-Gig
Copy link

The-Gig commented Oct 10, 2023

You didn't specify whether you experienced the issue since day one or it started later...
However, maybe you may try using some other versions of the engine...

@ghost
Copy link

ghost commented Dec 22, 2023

I have exactly same issue.

Os: Arch linux, 6.1.68-1-lts
Graphics: Intel Corporation Alder Lake-UP3 GT2 [Iris Xe Graphics] (rev 0c)
DE: Wayland+Sway

I haven't launched the game for a long time (I don't remember did I even ever start it on this machine). Today wanted to play and experienced this bug.
I tried to reinstall openarena, tried to remove it and instead install openarena-git from AUR.
Tried to remove $HOME/.openarena and tried different graphics settings in game.
Still same result - some weapon textures like on that screenshot are broken. Interesting what not all of them are broken, so I found:

  • Gauntlet - texture broken
  • Machinegun - texture broken
  • Shotgun - fine
  • Rocket launcher - fine
  • Grenade launcher - fine
  • Lightning gun - texture itself is fine, but lightning effect doesn't show.
    Didn't check others...

Here is the log (game executed from openarena AUR package): log.txt

@leilei-
Copy link
Member

leilei- commented Jan 16, 2024

this intel bug is unfortunate but at the same time it intrigues me. I don't have any intel iGPUs relevant nor a linux install that could use them but I do wonder if r_ext_vertex_shaders could be affecting it in some way, or gulp a glibc regression.

The machinegun barrel uses the same texture as the rest of the gun so I doubt it's texture specific. I almost think it's related to the MD3's bounding box (for internal rendering, not collision)

@leilei- leilei- added bug external regression A problem possibly beyond our control (i.e. glibc) labels Apr 28, 2024
NoiseByNorthwest added a commit to NoiseByNorthwest/gamecode that referenced this issue Jun 21, 2024
Several people have noticed a curious regression which cause some
secondary weapon models (such as machinegun's barrel) to not be
rendered.
For instance:
- OpenArena#316
- OpenArena/engine#85
- https://forum.manjaro.org/t/openarena-lightning-gun-beam-not-visible-with-glibc-2-37-x86-64-bug/135312

And some people have hypothesized that this could have something to
do with a recent change in glibc.

I'm also facing this issue since an upgrade from ubuntu 22.04 to
24.04 and I've found its cause, here is the patch.

As you can see the logic to add a suffix to the primary weapon
model was previously based on a call to COM_StripExtension() with
the same pointer for in & out.
However, this function passes in & out to Q_strncpyz() which itself
relies on strncpy() which does not specify the expected behavior
in case of aliasing/overlapping of src & dst.
So it was relying on an unspecified behavior, prone to change
at any time and without any communication.

This patch passes the build step but I've tested it in-game with the
legacy project https://github.com/OpenArena/legacy and a back-ported
version of it.
@The-Gig
Copy link

The-Gig commented Oct 4, 2024

Situation recap:

@NoiseByNorthwest
Copy link

Making Q_strncpy() working with overlapping pointers is the best solution. I wasn't aware that fixing at this level would save us from having to fix all mods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug external regression A problem possibly beyond our control (i.e. glibc)
Projects
None yet
Development

No branches or pull requests

4 participants