Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Modifying A_FireShotgun

Recommended Posts

I see multiple references to the DECORATE action of A_FireShotgun in various custom WADs. I'm interested in modifying what the action does at a "root" level so that every wad that references it uses the modified values. I was hoping it would be in the gzdoom.pk3 file but after looking at github it looks like it's part of the code that gets compiled.

What would be the easiest/simplest way to modify this action (and potentially others) at the base level so that all references to it are modified? I'd be ok with making a tiny archive that I load after everything else. I'm very green at this by the way.

Share this post

Link to post

All of the A_* functions are called code pointers, or action specials action functions in ZDoom. Unfortunately I think the only way to modify what an action function does is by editing the source code and compiling your own version of ZDoom or GZDoom.

If you want to try this, the first step would be downloading the GZDoom source code from https://github.com/coelckers/gzdoom/releases and making sure you can compile it. I don't know much about building GZDoom, but ZDoom has some instructions on how to compile it: http://zdoom.org/wiki/Compile_ZDoom_on_Windows

After that you can go about playing with the source code to your liking.

Share this post

Link to post

Excluding recompiling the entire GZDoom, there is indeed no way to redefine behavior of an action function. To achieve your goal, you would have to find each particular actor that uses the function and replace him with a custom actor that uses a different function (for example A_CustomBulletAttack) where he originally used A_FireShotgun. This of course has to be done manually.

Share this post

Link to post
plums said:

All of the A_* functions are called code pointers, or action specials in ZDoom.

Action functions; action specials are what can be used as thing specials or line specials.

Share this post

Link to post

If I ever make my own game engine, I'll be damn sure to give every feature a radically different name from each other, to prevent this kind of confusion.

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now