beyond-all-reason / beyond-all-reason/RecoilEngine

Modelled projectiles with 0 speed fail to render

Open
#2,033 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
679
Forks
290
Avg merge
3d 2h
Merged PRs (30d)
40

Description

Example repro.
```lua
Spring.SpawnProjectile(WeaponDefNames.vehassault_plasma.id, { -- ZK, adjust as appropriate
pos = {123, 456, 789}, -- adjust as appropriate to map
ttl = 99999,
gravity = 0, speed = {0,0,0} -- gravity needed to keep speed at 0
model = "objects3d/wep_m_ajax.s3o", -- this weapon is otherwise default yellow plasma, which works
})
```
I assume this is because the model normally points towards its speed vector. It would be fine to render it in any orientation at speed 0/0/0 as long as it renders at all. The main use case for such 0 speed projectiles is testing/development, so it's not that important, but it's very hard to tell what is going on otherwise.

Contributor guide

Open the contributing guide

Research direction

Start by running the Lua Spring.SpawnProjectile reproduction with speed set to {0,0,0} and inspect the projectile rendering path. Determine how model orientation is derived when the speed vector is zero; done means the modelled projectile renders in any stable orientation without changing nonzero-speed behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, lua
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.