Okay, the Think tip was great, Grash. Don't know why I didn't think of
looking into that before. I now added a Think() function to my trigger. In
MyTrigger::Touch(..) I placed a SetNextThink( gpGlobals->curtime + 10.0 );
and in Think() itself I then issued the engine->ServerCommand( "stop\n" )
which works like a charm. So the demo delay is taken care of. Next is the
renaming which I'm currently working on. I'm having a little trouble with
the file paths, but I should be able to take care of that myself.

Thanks everyone for your input! I guess I'll be back sooner or later with
another question.

2009/11/18 Grash <[email protected]>

> oh.. Got your problem now...
>
> You should create a new think for this ent that takes care of moving these
> files around. You can schedule the think when you want. So this will give
> you a chance for the demo to write. Also, you can set it up to call itself
> if the write fails (ie it's not ready to write yet).
>
>
>
> --- On Wed, 11/18/09, Klaus Müller <[email protected]> wrote:
>
> > From: Klaus Müller <[email protected]>
> > Subject: Re: [hlcoders] Change default demo directory and move demos
> after creation
> > To: "Discussion of Half-Life Programming" <
> [email protected]>
> > Date: Wednesday, November 18, 2009, 2:11 PM
> > Right now I'm just using the rename
> > from stdio.h. There is a way to move
> > files using Valve's filesystem. The problem is that you
> > can't call the
> > rename function right after you issued the server cmd to
> > stop the demo cause
> > it takes some time until the demo is created, hence the
> > file is in use and
> > rename() will fail.
> >
> > 2009/11/18 Tony Paloma <[email protected]>
> >
> > > Uh, wait. If you're just moving a file, why would you
> > use "system" and not
> > > the rename function from stdio.h.
> > >
> > > Also, I'm pretty sure valve's filesystem interface
> > provides a move
> > > function.
> > >
> > > -----Original Message-----
> > > From: [email protected]
> > > [mailto:[email protected]]
> > On Behalf Of Grash
> > > Sent: Wednesday, November 18, 2009 8:47 AM
> > > To: Discussion of Half-Life Programming
> > > Subject: Re: [hlcoders] Change default demo directory
> > and move demos after
> > > creation
> > >
> > > I feel real dirty suggesting this. But it's how I'd go
> > about doing it
> > > myself...
> > >
> > > you can use system() [or _wsystem()]
> > > http://msdn.microsoft.com/en-us/library/aa273022%28VS.60%29.aspx
> > >
> > > http://www.cplusplus.com/reference/clibrary/cstdlib/system/
> > > This describes as the function taking over the program
> > till the command
> > > finishes. Given we're talking about disk operation,
> > and that's slow as shit
> > > to perform this could be a concern!
> > >
> > > Is there a safer method in the source engine?
> > >
> > > --- On Tue, 11/17/09, N K <[email protected]>
> > wrote:
> > >
> > > > From: N K <[email protected]>
> > > > Subject: Re: [hlcoders] Change default demo
> > directory and move demos
> > > after
> > > creation
> > > > To: "Discussion of Half-Life Programming"
> > > <[email protected]>
> > > > Date: Tuesday, November 17, 2009, 3:30 PM
> > > > Well, that's embarrassing. I know I
> > > > tried to record to another directory by
> > > > using record "bla/temp.dem" and for some reason
> > it didn't
> > > > work. Now I
> > > > realise it does work so I must have messed up
> > with the
> > > > syntax when I tested
> > > > it before. So okay, one problem solved; one to
> > go... and
> > > > the renaming thing
> > > > is actually the more important one.
> > > >
> > > > 2009/11/17 Spencer 'voogru' MacDonald <[email protected]>
> > > >
> > > > > Why not just record the demo to where it
> > will end up
> > > > anyway and skip the
> > > > > whole moving part?
> > > > >
> > > > > With SourceTV you can change the demo path
> > by simply
> > > > doing like tv_record
> > > > > "path/to/demo.dem", probably the same with
> > the
> > > > standard record command.
> > > > >
> > > > > -----Original Message-----
> > > > > From: [email protected]
> > > > > [mailto:[email protected]]
> > > > On Behalf Of N K
> > > > > Sent: Tuesday, November 17, 2009 2:06 PM
> > > > > To: [email protected]
> > > > > Subject: [hlcoders] Change default demo
> > directory and
> > > > move demos after
> > > > > creation
> > > > >
> > > > > Hello everyone. I've got two rather special
> > questions
> > > > which I doubt have
> > > > > been asked before. I'm guessing that's also
> > why I
> > > > haven't been able to find
> > > > > anything about it on the internet so far.
> > > > >
> > > > > First of, I'm working with the OB version of
> > the SDK.
> > > > I've added a custom
> > > > > trigger to triggers.cpp that is supposed to
> > start and
> > > > stop a demo when the
> > > > > player touches it. That's where my first
> > question
> > > > comes up. I'm recording
> > > > > the demo to a temporary file that I want to
> > rename and
> > > > move after it's
> > > > > fully
> > > > > recorded. For that purpose I'd like to save
> > the
> > > > temporary demo in another
> > > > > folder than the root dir of my mod in
> > /sourcemods (say
> > > > in
> > > > > /sourcemods/mymod/temp). Is that possible
> > somehow or
> > > > is it not in the hands
> > > > > of modders? I have not been able to find
> > anything
> > > > about it in the source
> > > > > code the SDK provides so I'm getting the
> > feeling it's
> > > > not.
> > > > >
> > > > > Secondly, once the demo is stopped, I want
> > to rename
> > > > it after a certain
> > > > > scheme and then move it out of it's
> > temporary folder
> > > > (respectively the root
> > > > > dir if I can't change that). The problem is
> > that it
> > > > takes a certain time
> > > > > until the demo is stopped. Right now,
> > touching the
> > > > stopping trigger calls
> > > > > the Touch( CBaseEntity *pOther ) method from
> > where it
> > > > issues the following
> > > > > two commands:
> > > > >
> > > > > engine->ServerCommand( "stop\n" );
> > > > > pPlayer->MoveDemo( pPlayer );
> > > > >
> > > > > I've implemented the MoveDemo method in
> > > > basecombatcharacter.cpp cause I
> > > > > need
> > > > > to access player specific variables I added
> > to the
> > > > class. Now my question
> > > > > is
> > > > > simply how I could work around this problem,
> > meaning
> > > > how could I make sure
> > > > > the MoveDemo function gets called when I can
> > be sure
> > > > that the demo isn't
> > > > > used by the application anymore.
> > > > >
> > > > > In that context I just thought of another
> > question
> > > > that's of similar
> > > > > nature.
> > > > > I don't want to stop the demo at the exact
> > moment the
> > > > player touches the
> > > > > trigger. I'd rather have a little time
> > difference of
> > > > say 6+ seconds so the
> > > > > demo doesn't stop so abruptly.
> > > > >
> > > > > I'm really happy about any input from you
> > guys cause
> > > > I'm completely stuck
> > > > > because of these problems right now. Thank
> > you.
> > > > >
> > _______________________________________________
> > > > > To unsubscribe, edit your list preferences,
> > or view
> > > > the list archives,
> > > > > please visit:
> > > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > > >
> > > > >
> > > > >
> > _______________________________________________
> > > > > To unsubscribe, edit your list preferences,
> > or view
> > > > the list archives,
> > > > > please visit:
> > > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > > >
> > > > >
> > > > _______________________________________________
> > > > To unsubscribe, edit your list preferences, or
> > view the
> > > > list archives, please visit:
> > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > > >
> > > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > To unsubscribe, edit your list preferences, or view
> > the list archives,
> > > please visit:
> > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > >
> > >
> > >
> > > _______________________________________________
> > > To unsubscribe, edit your list preferences, or view
> > the list archives,
> > > please visit:
> > > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > >
> > >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the
> > list archives, please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
>
>
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to