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

