Recording and playing demos
Tried to record a demo and faced a few obstacles.
Firstly, there is no guide about recording, for example no info about what command should be used to reset map entities. After a while, thanks to lxr I've come to this bind:
bind "f4" "stop;record mydemo.dem;kz_sv_resetmap confirm;gototimer"
Then while recording I've noticed a few physics differences. One is about collisions, so I guess it's not a part of player movement code: all objects have rounded edges, landing can end up with sliding away from edges. Another one I have on a demo (map is kz_fu_frosty): download. After first bhop I'm flying over the box and pressing duck. It shouldn't cause any camera offsets but it does.
Next problem I've faced is playing the demo. Command playdemo works ok, but there is no speed parameter. Command demoui opens demo play interface where my demo was chosen already. I pressed Play button but nothing happened. Then I pressed Load and chose the demo manually, and game crashed with "bad inline model number 1" message. Command demoui2 just did nothing for me, both with and without demoname.
Finally, after passing the map there was a message in chat:
Congratulations! Kpoluk has finished fu_frosty in 01:47:95 winning a PLATINUM Medal
But the map name is kz_fu_frosty. As lxr said me, it's fu_frosty route of this map, but how should I guess it? Also I don't understand how to find out all route names of current map.
Well today pacMan posted some info about demo recording, so at least there is a guide. Other questions are still relevant.
Hi, I'm KZMod's developer, apologies for taking so long to get back to you, I mostly rely on Steam notifying me about new posts in the steam community forums, so in the future there will be a faster developer response if game related issues are posted there.
As for "all objects have rounded edges" I've not seen any reports about things like that before, if you could be more specific that would be helpful!
The camera offset issue in demos is a known problem but happens very rarely and so other things are being worked on at this time.
The speed parameter for this game is the demo_timescale command, i.e. demo_timescale 0.5 would be half speed. The demoui can be used while a demo is playing, so if you play a demo with playdemo, then enable demoui while the demo is playing, you can use the various commands on that for controlling speed and so on.
demoui2 is a slimmer version of demoui with less options if you prefer less unnecessary controls, it should be activated with a demo playing like the regular demoui.
I personally use "playdemo [demoname];demoui".
When you're doing a course in a map, the name of the route will appear in the scoreboard, and also in the congratulations message. For XJ submissions, you'd put that name (fu_frosty) in it, not the map name.
Hope this helps!
Seems like "rounded objects" is just a mapper's iniative and applies only for certain boxes there.So this question is irrelevant now.
Camera issue I was talking about is not just a demo bug, I see it right in the game during the run. I don't know the reason, but I've recorded one more demo without this bug so you can compare them:
same demo with duck bug
demo without duck bug
I've slowed demo with help of demo_timescale 0.1, and you can see shifting camera up (origin is not shifted if I'm not mistaken) at the moment of duck and then shifting down at the moment of unduck. Demo without bug has no such effect.
Also I've managed to use demoui during plaing the demo, but I expected to use there speed changing buttons like in CS (<< and >>), but left one was disabled and right did nothing. After moving slide player freezed.
demoui2 still had no effect although I tried it during playdemo.
Since I've used kz_sv_resetmap confirm command I was switching to "knife" every time, is there any way to keep usp after reset?
About route names - it was not for xj submissions but for KZ-Rush records page. I wanted to add map to our list but didn't know how to find out all possible routes. lxr said me that he parsed maps to do this. But what if someone is just curious and want to know all of them?
And one more question - can I hide timer after it was set invalid? (not counting /gototimer command).
I've looked at the demos and assuming that you only see the issue in the demos, it is the demo bug (as it looks like the demo bug to me).
The << >> controls in the demoui let you forward or rewind the demo by ticks. The slider above those controls with the % number let you control the speed. If you use the < > to advance by one demo tick, you might need to click Resume to get the demo to continue playing agian.
demoui2 works for me, I'd suggest verifying the game cache on Steam to make sure everything is in order, if it still doesn't work after that, please let me know your graphics settings and resolution.
kz_sv_resetmap doesn't preserve your previous weapon, but that is something I could add, thanks for letting me know!
Although there is technically no easy way currently to see all the course names in the map, you can do this in the console:
Check the Course1-Course20 convars, if they aren't blank then this is a course in the map. Only old maps use this system.
For new maps:
con_logfile consoleoutput
dumpstringtables
Then open the consoleoutput.log file in the KreedzClimbing/kz folder, and search the file for the name CourseNames, that will show a list of all the coursenames in the map. This honestly could be a game command too, I can't remember why I haven't done that yet. Make sure you set the logfile to blank again to prevent the file getting very large as you play the game.
There's no command to hide the timer automatically on invalid, however you can make a little bind to toggle the timer with:
bind j "toggle kz_cl_hud_hide_climbtimer"
Replacing j with your desired key.
Duck bug: as I mentioned before, it's not only the demo issue, I see it right in the game. And it's not a rare thing but like 1 of 10, so you can try it yourself, just do bhop on first block and stand up on the second one.
demoui2: I was playing on 800x600, so when I tried my native resolution 1600x900 I've finally seen it. Also I understood the meaning of speed slider, but buttons under it still confuse me. < and << always disabled, > works well, >> enabled but does nothing for me (both for demoui and demoui2). Also in demoui2 I played with the main slider and when I shift it to the beginning sometimes game shows "Loading" window and freezes at it (I mean not the whole game, just this progress bar stops). This "Loading" messages tends to appear when you drag your mouse not just along the timeline but also vertical. One time I even got game crash with bad inline model number 1 message, but wasn't able to repeat it. And about the interface of demoui2 - long demo name overlapses with text of "Load" button.
A few things about console:
When you install the game and run it console shows you a lot of info about conflicts and cheat cvars although you haven't done anything yet. And these messages pop up every time. They look like:
Convar sv_unlockedchapters has conflicting FCVAR_DONTRECORD flags (child: FCVAR_DONTRECORD, parent: no FCVAR_DONTRECORD, parent wins)
Unknown command "cl_thirdperson"
Can't use cheat cvar cam_snapto in multiplayer, unless the server has sv_cheats set to 1.
Can't use cheat cvar cam_ideallag in multiplayer, unless the server has sv_cheats set to 1.
Unknown command "sv_backspeed"
Unknown command "mat_spewalloc"
and so on.
By the way, when I tried to copy the text from console, I realised that ctrl+c works and it's good, but if I try to open context menu with right mouse click, selection disappears.
I'm not entirely sure this duck issue is actually a bug, when you duck in air in most source games you actually teleport upwards a number of units, you can't see it normally in kzmod because the camera counteracts the teleport. I'll check it out, but my first instinct on it is it's a camera issue you saw and not an actual movement bug and thus safe to ignore.
Most of the demo tools (like the demoui) are actually part of the engine and not code that I can access. The getting stuck loading thing has happened to me before and when that happens I just restart the demo. I'm guessing the bad inline model issue is also an engine bug, but it rarely happens to me as I just restart demos with the playdemo command.
Demos are played from beginning to end, meaning it isn't possible to rewind them, the only way to go backwards is for the game to reload the demo and fast forward to the new point, you can however go forward without reloading. Dragging the slider backwards will trigger a reload of the demo.
Those messages in the console are actually harmless but I might look into hiding them if it's confusing others.
The console is unfortunately another closed-source thing that is difficult for me to affect. I personally use ctrl+c as you said to copy to avoid any issues.
Just tried to record kz_bhop_goldbhop and faced this issue: after kz_sv_resetmap confirm I'm teleported when jumping at the first bhop (only once).
another bug while recording (mapname is kz_bhop_angkor): demo
here are some interesting logs I found after one of restarts:
Map has been reloaded by admin...
Recording to mydemo.dem...
This run is now invalid, the hook is now available.
DataTable warning: player: Out-of-range value (18.454100/12.000000) in SendPropFloat 'm_flPlaybackRate', clamping.
DataTable warning: player_demo_proxy: Out-of-range value (18.454100/12.000000) in SendPropFloat 'm_flPlaybackRate', clamping.
DataTable warning: player: Out-of-range value (18.127098/12.000000) in SendPropFloat 'm_flPlaybackRate', clamping.
DataTable warning: player_demo_proxy: Out-of-range value (18.127098/12.000000) in SendPropFloat 'm_flPlaybackRate', clamping.
DataTable warning: player: Out-of-range value (17.798006/12.000000) in SendPropFloat 'm_flPlaybackRate', clamping.
DataTable warning: player_demo_proxy: Out-of-range value (17.798006/12.000000) in SendPropFloat 'm_flPlaybackRate', clamping.
Completed demo, recording time 31.8, game frames 3186.
Seems like you can get it like this: start run, use hook to make it illegal, make sv_reset_map confirm and start run again, then go to the place where I saw it in demo.
Also I've mentioned this thing: when you going out of some tunnel where you've been in duck, at the moment when ceiling is no longer restrict you, your view offset is going a bit higher. I can record a demo although you can experience this on any map.
Please log in to post replies.