fabiangreffrath / woof

Woof! is a continuation of the Boom/MBF bloodline of Doom source ports.
GNU General Public License v2.0
186 stars 32 forks source link

Crash Logs #1748

Closed BigStronk64 closed 3 weeks ago

BigStronk64 commented 4 weeks ago

Say you're developing a mod and it repeatedly crashes, there is nothing that tells you what causes the crash. I feel there should be a feature where if a crash occurs a txt would be exported detailing what caused the crash

rfomin commented 4 weeks ago

There should be an error message in the popup window or in the console. If there is any other kind of crash, just upload the mod here with steps on how to reproduce the crash and we will investigate.

BigStronk64 commented 4 weeks ago

So I figured out the issue, I used the A_SkullAttack function in a pinky state in order to replicate a sort of launch attack where the pinky launches itself towards you. The sourceport (after enough A_SkullAttack functions are called) shits itself and crashes as it cannot handle it, is there anyway this could be fixed? or is this an intentional limit?

rfomin commented 4 weeks ago

It should probably work. If you upload your test WAD/DEHACKED, I will debug it.

BigStronk64 commented 3 weeks ago

Debug.zip Here you go

fabiangreffrath commented 3 weeks ago

Well, this little patch fixes the crash, but I'd like to know how numspechits could get below zero in the first place.

--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -415,7 +415,7 @@ static boolean P_Move(mobj_t *actor, boolean dropoff) // killough 9/12/98
          return true;
         }

-      if (!numspechit)
+      if (numspechit <= 0)
         return false;

       actor->movedir = DI_NODIR;
fabiangreffrath commented 3 weeks ago

DSDA-Doom crashes just alike, so maybe @kraflab would like to join the discussion.

fabiangreffrath commented 3 weeks ago

Alternative patch:

--- a/src/p_map.c
+++ b/src/p_map.c
@@ -940,6 +940,7 @@ boolean P_TryMove(mobj_t *thing, fixed_t x, fixed_t y, boolean dropoff)
            P_CrossSpecialLine(spechit[numspechit], oldside, thing, false);
        }

+  numspechit = 0;
   return true;
 }
BigStronk64 commented 3 weeks ago

is there anyway I could implement this patch myself into my build?

rfomin commented 3 weeks ago

is there anyway I could implement this patch myself into my build?

Try Win-64 artifact from this page: https://github.com/fabiangreffrath/woof/actions/runs/9578082056