Closed quanticc closed 9 years ago
High quality config, thanks SAS41! - https://gist.github.com/iabarca/90a97dbeb9e707b7ebfb Static commands to clean the interface - https://gist.github.com/iabarca/d44956abbb5f39fa21f9 Cvars that could be user-selectable - https://gist.github.com/iabarca/32d4fa55acc4a6707ed8
Adding on : A list of updated commands can be found here : twowordbird
The most important commands will be (last link here)
Changing of skybox : sv_skyname skybox_name
List of skyboxes: https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Sky_List
Will you be creating a new branch for this, a new repo entirely or just using v4.x?
I've created a branch off v4.x for now (#48)
Changes expected:
Those are mainly cosmetic changes, so the transition doesn't look like you're running TF2, but internally you could already hack the tool to run csgo on the feature branch from #48, taking advantage of the folder structure it creates under the "lwrt" folder.
Also adding that I'm most likely to work on this stuff no earlier than January 6th, where I have some spare time. If you would like to contribute I'll gladly accept your pull requests from your branch to csgo-support
. Program can be run using gradlew
command.
In TF2 cl_drawhud
is bound to a certain key as seen here. I think that behavior is ok, giving the option to choose one or another state within the game.
Crosshair is present in the UI as a checkbox. Same should happen for CS:GO. Also in TF2 there's an alias to prevent further changes to the crosshair cvar, since it might change during playback due to cvar changes getting recorded in pov demos. I'm not sure if this happens to CS:GO demos.
About cl_draw_only_deathnotices 1
I don't know what is better: (a) give the option to set it in the UI, (b) fixing the 1 value, (c) add a keybinding similar to cl_drawhud or both (a) and (c).
voice_caster_enable
should definitely be in a checkbox so the user can decide whether to keep it disabled or not.
Question about skyboxes, can you change skyboxes during demo playback with that command? If not, does it work like TF2 where you can "trick" the game by replacing your own skybox with the same filenames of all default skybox files inside a custom folder?
Another question on a different matter. In TF2 I bundle a couple of HUDs where one of them offers partial elements visible, like a middle ground between killfeed-only and full hud. Is this possible to do/desired/expected in CS:GO?
Thanks for the help!
cl_draw_only_deathnotices 1
I think fixing it to 1 value is a better choice. I doubt any movie makers make use of any other HUD other than the killfeed. The other HUD images consist of players alive, team's players health, weapons they are holding etc which are pretty useless and distracting as it covers the screen a lot.voice_caster_enable
can be a option as movie makers rather get the audio from VODs as the in-game caster's voice is... just too horrible. sv_skyname forest
for example. Instantly changes the skyboxes :D P.S: I have some broken English in there and I know it. So sorry. My English isn't that good :(
Edit: Just tried a few old HUD and CS:GO just crashes. "swf file is invalid" or some sort. Seems like some things were changed in the HUDs. Best to just disable and ignore custom HUDs editing for now. cl_draw_only_deathnotices
should probably make the screen as clean as possible.
Edit 2 : Will try out POVs demo to see if crosshair changes accordingly.
Edit 3: Crosshair stays the same throughout the demo. It follows whatever the user has. Or did I do something wrong here? All I did was download a POV demo and played it. Player's crosshair stays the same as mine.
Thanks for the feedback, glad to know about the skyboxes thing. I think the tool won't have much custom options to choose from then, too restricted, but it's still fine in terms of simplicity.
English is not my native language either. It's working out just fine :earth_americas:
Sure no problem. Glad to help!
I'll search for more commands along the way as you update the repository.
Another command sv_ignoregrenaderadio 1
turn off radio commands when grenade is being thrown.
Managed to test some stuff. I've learned a few things, there is no custom folder in CS:Go, everything must go through cfg folder, ugh.
I know it's just a hassle but can't you just move the user's regular config to a backup folder and put a movie config in it's place?
We should also probably add an FOV slider, or just leave it at 90.
Hi, no hassle at all. I've realized that CS:GO doesn't use custom folders so, is it only the cfg folder that can contain custom content then?
Also I don't know what qualifies as a high quality config for CS:GO, do you think this file is appropiate (graphics wise)?
Any feedback would be appreciated.
Edit: Basically I just want to know what kind of custom stuff you can add to the game during demo playback besides custom cfgs. For instance you can put model replacements, custom skyboxes, texture changes in TF2.
Alright, it's possible to test stuff with this working version: lawena-snapshot-4.2.0-pre.2-34 (Edit: Link removed, check latest version on the first comment)
It contains the core features, now your feedback is required. Commit details are at #48
Instructions: extract, run lawena.exe
and select Counter-Strike: Global Offensive.
Thanks @Dubbled, @SAS41 and @shaunidiot so far.
I believe mat_postprocess_enable 0
should be added as well to the config.
Ok, that can be added directly to recording.cfg
inside lwrt/csgo/config/cfg
(link). No need to bundle it in a commit yet.
I've been reading this thread and applied some convars and settings to the pull request before I merged it. Files/settings are loaded correctly, but I need to test the values if they are having any effect.
Other things I've learned..
host_timescale 0
used in that guide, stops sounds completely.host_timescale 0.001
to help Source Recorder capture all needed frames (when you use high fps or have low specs) and not lose quality. However in CS:GO looks like you have to use demo_timescale
to do that. Will test.Posting here as update, I'll research about those topics and make the fixes next Wednesday.
host_timescale 0
is by recording just the frames first and then going back with host_timescale 1
and using host_framerate 0
to capture the audio and video. Then when I use VD, I just enter in the FPS manually and sync the audio in Vegas to the clip.Ok, so I've attempted to record using the version you posted on the 31st, and it seems there is a problem with the recording config. Once the frames have been rendered and the wav recorded, the wav sound is glitched as if host_timescale
is set to 0
instead of 1
, but this is not the case as I have attempted to change to host_timescale 1
and this has not resolved the problem.
Alright, but the config in that exact version was updated. Can you check updating that version to latest one (4.2.0-pre.2-37
)
If you already did, files loaded into csgo are these: https://github.com/iabarca/lawena-recording-tool/tree/v4.x/lwrt/csgo/config/cfg
In particular, recording.cfg
has the recording stuff. I've noticed that almost all of the commands there are not working due to being "locked" (says unknown command).
I'm going to change host_timescale
to demo_timescale
: https://github.com/iabarca/lawena-recording-tool/blob/v4.x/lwrt/csgo/config/cfg/recbindings.cfg#L63
Also defaulting host_timescale
to 0
That might solve it. Thanks
Edit: line 63, not 64
Updated to 4.2.0-pre.2-42
of snapshot branch, reflecting above changes.
O keybind toggles between host_timescale 0
(Lawena default) and host_timescale 1
Ok, 4.2.0-pre.2-42
has solved the no audio problem. I was able to record with host_timescale 1
and have no demo bugs. Here is a 60 fps H.264 render.
OK! I've done some more testing after a little bit of a hiatus and I've decided a couple of things should be changed to make the tool easier to use:
host_framerate 0
. This makes navigating the demo to the point where you want to start your recording much easier. Once the start recording binding is pressed, the bind should automatically run the command host_framerate x
where x
is the selected recording framerate in the tool, and then begin recording. EDIT: See #53, I believe I have fixed this.P
) should only record tga files. See next bullet point for an explanation.host_timescale .001
, there should be another bind (maybe [
would work) that would record audio only with host_timescale 1
, host_framerate 0
and startmovie x wav
. The user could then sync the audio to the clip manually until a better solution is found.Awesome, glad to have you back.
The suggestions are great but I'm not sure if startmovie
can be used to do video-only or audio-only passes. I know that if you ignore the video and audio parameter, it just uses tga/wav by default. Have you confirmed that startmovie x wav
works?
At the moment, the only way I know to avoid wasting disk space by doing two passes would be using SrcDemo2.
I have confirmed that you can use startmovie x wav
. Run just startmovie
and check out the output to look at the other options. We can also use startmovie x tga
to do video only.
Perfect. I'll be adapting the record bindings to allow for video-only and audio-only segments. Thanks
Okay, pushed a couple commits, latest version is now 4.2.0-pre.2-59
. It should allow recording of video only and audio only segments using F1 and F2 respectively.
Also added a way to remember game selection to avoid choosing game each time.
Edit: Made some corrections
Sounds good. Two things:
host_framerate
cvar automatically changes to the selected framerate in the tool. This should stay zero so the audio records at real time.sv_skyname
can change the sky in the demo. Not sure how you would want to implement this. The skybox will not change in the demo if the command is run at game launch. Instead maybe the skybox command could be run when recording with P
or with F1
. I do not think there is a way to run a cfg at demo start.vertigoblue_hdr
bind F4 toggle sv_skyname cs_baggage_skybox_ embassy italy jungle office sky_cs15_daylight01_hdr sky_cs15_daylight02_hdr sky_cs15_daylight03_hdr sky_cs15_daylight04_hdr sky_dust vietnam vertigoblue_hdr
I believe the skybox issues could be sorted using the same method as the recording framerate. Since the TF2 and CS:GO functionality are separate (from what I understand) wouldn't it be possible to do lines.add("sv_skyboxname " + skybox);
?
I'll clarify. If there is a specific skybox selected in the drop down, do lines.add("alias startrecording "demo_timescale 0.001; recframerate; bind P stoprecording; sv_skyboxname " + skybox");
to recbindings.cfg. If the skybox is set to default, just leave out the skybox part.
I thought you could change skyboxes during the demo playback. Is that correct?
You can.
At the moment I think It's not practical to extract the official vpks to get the skybox files and show preview images for the user to select, since the selected skybox can be modified in-game using sv_skyname
command (this is not possible in TF2). I think a toggle (or group of aliases) to rotate between all available skyboxes should be enough.
I pushed something to cover the skybox changing. Therefore I'm closing this since the basic functionality is available and working relatively fine. Next step will be adding the VirtualDub integration.
Further improvements or fixes to the cs:go version are going to their respective issues.
Support for CS:GO is already present in the
v4.x/snapshot
update branch. We are still testing it behaves as expected. Additional features will be added after stability is consistent.Can be downloaded from: https://www.dropbox.com/s/qbf8oj3301nknhr/lawena-snapshot-4.2.0-pre.2-60-g0ae61d9.zip?dl=0
Roadmap to basic functionality:
Future: Further integration with SrcDemo2/VirtualDub/HandBrake for recorded frame segments will be worked on both TF2 and CS:GO after basic functionality is working.