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

bastion crashes with QC error when plasma hits walls #33

Open
SpiritQuaddicted opened this issue Jul 4, 2014 · 2 comments
Open

bastion crashes with QC error when plasma hits walls #33

SpiritQuaddicted opened this issue Jul 4, 2014 · 2 comments
Labels

Comments

@SpiritQuaddicted
Copy link
Owner

https://www.quaddicted.com/reviews/kinn_bastion.html crashes when the plasma shots by the Q2 enforcer guys in the "lower chambers" hit a wall.

CALL1      870(te_plasmaburn)te_plasmaburn()
monsters/monster_supergrunt.qc : sgrunt_plasma_touch
<NO FUNCTION>
Bad builtin call number 433 for te_plasmaburn
Please contact the PROGS.DAT author
Use BUILTINLIST to see all assigned builtin functions
Try "builtin remapping" by setting PR_BUILTIN_REMAP to 1


=========================
Host_Error: Program error
=========================

When I set "pr_builtin_remap 1" it still crashes:

CALL1      870(te_plasmaburn)te_plasmaburn()
monsters/monster_supergrunt.qc : sgrunt_plasma_touch
monsters/monster_supergrunt.qc : sgrunt_plasma_touch
Bad builtin call number 433 for te_plasmaburn
Please contact the PROGS.DAT author
Use BUILTINLIST to see all assigned builtin functions
(null)

=========================
Host_Error: Program error
=========================
@neogeographica
Copy link
Collaborator

I don't know much about the engine/QuakeC interface, but this looks like a DarkPlaces QuakeC extension that isn't implemented in reQuiem. See pr_cmds.c.

It doesn't look like reQuiem advertises support for this extension. But maybe something is broken about that. Or, the QuakeC in the bastion progs.dat may not be checking for DP_TE_PLASMABURN extension and just assuming that it exists, maybe based on some other extension existing.

@neogeographica
Copy link
Collaborator

Launching the mod I see that it does actually check whether DP_TE_PLASMABURN is supported, and PF_checkextension in reQuiem properly returns 0 (not supported). So if the QuakeC were well behaved, it would not try to execute te_plasmaburn. But it does try.

As mentioned above, I would guess that the reason it has a problem on reQuiem and not some other engines is that another extension's presence greenlights it to use te_plasmaburn, intentionally or otherwise. Other engines probably tend to support either most/all of the DP extensions or none of them, while reQuiem has scattered support for things like DP_ENT_ALPHA, DP_QUAKE2_MODEL, and DP_TE_BLOOD (other extensions that the bastion mod checks for).

I guess the mod is closed-source?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants