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

checking 100% demos

Recommended Posts

Does anyone know a good way to check demos to see if all monsters are dead? Timer desyncs often for non ultimate doom demos and other ports don't say how many monsters are alive.

Share this post


Link to post

I don't recall any tool that does that, though a feature of this sort would be a good addition for PrBoom or PrBoom+. Maybe an option that displays kills like I've seen ZDaemon do it in Cooperative games: showing the remaining monsters out of the initial number. This value can be negative with Arch-viles or Respawn mode, but as long as it's 0 or less everything is dead (except Lost souls.)

Share this post


Link to post

Well that could be a problem for maps with arch-viles. If an arch-vile respawns a monster and that monster does not die I want to know about it. Therefore when something respawns or a monster is revived the counter should go up.

Share this post


Link to post

xit-vono
myk

:) PrBoom+ does it more year

P.S. Xit, all monsters except for two chainguners were already dead on 31-st minute in your pt083522.lmp!

Share this post


Link to post

Hmm, I see the "smart totals" yet on enabling it I didn't see anything special... the kills % was normal according to the kills ratio (I exited Map01 in Respawn with just over 40 kills and kills computed 166%) From what I saw, there was nothing telling me if I had killed everything... and I tried the Boom style HUD but it just gave the kills vs. initial monsters.

Share this post


Link to post

entryway said:
Oh. It works only with the ressurected (not respawned) monsters.

I guess that's okay, since it covers what matters to max demos.

Share this post


Link to post

In competn you have to have all monsters dead in max type demos. I know it says on the page that you have to kill everything at least once, but Adam Hegyi told me otherwise. An exception would be map30 type maps though.

Share this post


Link to post

Just use regular prboom 2.4.0 and adjust the HUD until you see the stats.

You will a see, a M and a S, the number on the right of the M is the number of alive monsters. So if it reachs 0 before you exit, that means it's a valid maxkills demo.

It's far more readable than prboom+ smart totals. But prboom+ has another cool feature for movie runs : TXT print out of all the stats (I used it to check my plutonia max run)

btw, Entryway, even though it is mentioned in your history.txt, you dont speak about the -levelstat option in your usage.txt ^^

another glitch : I cant open the txt -levelstat file with notepad, all the lines are gathered into 1 very long lines, so I got to open with word :(

Share this post


Link to post
VinceDSS said:

Just use regular prboom 2.4.0 and adjust the HUD until you see the stats.
You will a see, a M and a S, the number on the right of the M is the number of alive monsters. So if it reachs 0 before you exit, that means it's a valid maxkills demo.

But it has the same bug with -respawn

It's far more readable than prboom+ smart totals.

I do not agree.
K: 2 M: 25 is far more readable than k:2/27 ?

btw, Entryway, even though it is mentioned in your history.txt, you dont speak about the -levelstat option in your usage.txt ^^

Ask Grazza :)

another glitch : I cant open the txt -levelstat file with notepad, all the lines are gathered into 1 very long lines, so I got to open with word :(

ok

Share this post


Link to post

VinceDSS said:
another glitch : I cant open the txt -levelstat file with notepad, all the lines are gathered into 1 very long lines, so I got to open with word :(

I've made and entry on the TXT right click menu for files like this to allow me to view them with MS Edit. Wordpad will do the job as well. You can go to Settings/Folder Option on the Start menu, choose Files Types, and go to Text Document. Click Edit and New, and add an Action called Edit with the Application used to perform action as (full path)\edit.com (you can browse for it.) Andrey might change the TXT format on the PRBoom+ output, but this'll serve for any such files (which aren't too rare anyway.)

Share this post


Link to post
VinceDSS said:

Just use regular prboom 2.4.0 and adjust the HUD until you see the stats. You will a see, a M and a S, the number on the right of the M is the number of alive monsters. So if it reachs 0 before you exit, that means it's a valid maxkills demo.

This is available in Prboom+. You just need to turn off "Smart Totals".

Personally, I would prefer it if the alive monsters counter were available together with smart totals, rather than it being one or the other.

Sorry about forgetting to include -levelstat when I've updated usage.txt. Are there any other new prboom+ command-line options that aren't mentioned in usage.txt?

Share this post


Link to post

I like Xit's fisticuffs with monsters.
I've added an opportunity to look from monster's eyes :)
It looks funny.

2 Grazza
I think no.

Share this post


Link to post

entryway said:
I've added an opportunity to look from monster's eyes :)

Heh, interesting. I've often thought about being able to do this.

Share this post


Link to post

entryway said:
But it has the same bug with -respawn


Could someone explain what that is - there were a few bugs in the live counter, but I don't use it much and have lost touch with the problems. It behaves as I expect it to behave - if you play -respawn then the #live total goes up whenever something respawns - so either I've missed the bug, or other people expect something quite different.

K: 2 M: 25 is far more readable than k:2/27 ?


Hmm, so you have (kills)/(kills+live) ?

My thinking when I added the live counter was that kills and live monsters are really entirely orthogonal concepts when you have resurrection and respawning. So keep them apart, have a kills counter which is completely traditional and corresponds to the %tage on the end-level screen (basically a score, how many scalps); and have a live counter to tell people whether there's anything still around to kill.

Share this post


Link to post

cph said:
Hmm, so you have (kills)/(kills+live) ?

Looks like kills on one hand (2), and living monsters on the other (25), adding up to the total number of monsters (27.) And yeah, the other is just kills vs. the total.

Share this post


Link to post

The live monsters counter has always done what I'd expect it to, and I find it very useful for verification - when it reads 0 it means that everything is dead. I normally have smart totals turned off for that reason. It's nice the way the start totals turn blue, but I prefer the clarity of the zero.

With respawn on, it is less relevant, as you're unlikely to get the number of live monsters down to zero in any case. I'm not sure what bug, if any, there is in that case, as I don't think I've ever bothered to look at the live monsters counter when watching a -respawn - all that matters is how the number killed corresponds to the original total.

I don't recall clearly what the bugs with the live monsters counter were, but I think it had something to do with using savegames - which isn't relevant to demos in any case. And was there something to do with multi-level demos too? I don't recall encountering any problems with that though. But maybe Andrey fixed these issues, and that's why I have never encountered them.

Share this post


Link to post
cph said:

My thinking when I added the live counter was that kills and live monsters are really entirely orthogonal concepts when you have resurrection and respawning. So keep them apart, have a kills counter which is completely traditional and corresponds to the %tage on the end-level screen (basically a score, how many scalps); and have a live counter to tell people whether there's anything still around to kill.

I have an additional flag for mobj->flags
#define MF_RESSURECTED (uint_64_t) (0x0000001000000000)

I set this flag in A_VileChase() for raised corpses and in P_NightmareRespawn() for respawned monsters
As a matter of fact I have two counters for player_t struct

typedef struct player_s
{
  int killcount;
  int resurectedkillcount;
  ...
}
static void P_KillMobj(mobj_t *source, mobj_t *target)
{
  ...
  if (target->flags & MF_COUNTKILL)
  {
    source->player->killcount++;
    if (target->flags & MF_RESSURECTED)
      source->player->resurectedkillcount++;
  }

Hmm, so you have (kills)/(kills+live) ?

I have (killcount-resurectedkillcount) / totalkills
(totalkills is a primary quantity of monsters at a level)

I think I incarnate correct logic.

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
×