Skip to content

Commit 24f3b70

Browse files
committed
fix(video): first kill camera not focusing on correct player with 5EPlay demos
ref #1123
1 parent a5ade52 commit 24f3b70

7 files changed

+53
-52
lines changed

src/node/counter-strike/json-actions-file/__snapshots__/generate-player-highlights-json-file.test.ts.snap

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,40 +16,40 @@ exports[`Generate player's highlights JSON file > CS2 1`] = `
1616
"cmd": "demo_gototick 872",
1717
"tick": 64
1818
},
19-
{
20-
"cmd": "spec_player 4",
21-
"tick": 872
22-
},
2319
{
2420
"cmd": "spec_mode 1",
2521
"tick": 872
2622
},
2723
{
2824
"cmd": "spec_player 4",
29-
"tick": 1200
25+
"tick": 872
3026
},
3127
{
3228
"cmd": "spec_mode 1",
3329
"tick": 1200
3430
},
3531
{
3632
"cmd": "spec_player 4",
37-
"tick": 1700
33+
"tick": 1200
3834
},
3935
{
4036
"cmd": "spec_mode 1",
4137
"tick": 1700
4238
},
39+
{
40+
"cmd": "spec_player 4",
41+
"tick": 1700
42+
},
4343
{
4444
"cmd": "demo_gototick 4872",
4545
"tick": 2256
4646
},
4747
{
48-
"cmd": "spec_player 4",
48+
"cmd": "spec_mode 1",
4949
"tick": 4872
5050
},
5151
{
52-
"cmd": "spec_mode 1",
52+
"cmd": "spec_player 4",
5353
"tick": 4872
5454
},
5555
{

src/node/counter-strike/json-actions-file/__snapshots__/generate-player-lowlights-json-file.test.ts.snap

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,40 +24,40 @@ exports[`Generate player's lowlights JSON file > CS2 1`] = `
2424
"cmd": "demo_gototick 872",
2525
"tick": 64
2626
},
27-
{
28-
"cmd": "spec_player 4",
29-
"tick": 872
30-
},
3127
{
3228
"cmd": "spec_mode 1",
3329
"tick": 872
3430
},
3531
{
3632
"cmd": "spec_player 4",
37-
"tick": 1200
33+
"tick": 872
3834
},
3935
{
4036
"cmd": "spec_mode 1",
4137
"tick": 1200
4238
},
4339
{
4440
"cmd": "spec_player 4",
45-
"tick": 1700
41+
"tick": 1200
4642
},
4743
{
4844
"cmd": "spec_mode 1",
4945
"tick": 1700
5046
},
47+
{
48+
"cmd": "spec_player 4",
49+
"tick": 1700
50+
},
5151
{
5252
"cmd": "demo_gototick 4872",
5353
"tick": 2256
5454
},
5555
{
56-
"cmd": "spec_player 4",
56+
"cmd": "spec_mode 1",
5757
"tick": 4872
5858
},
5959
{
60-
"cmd": "spec_mode 1",
60+
"cmd": "spec_player 4",
6161
"tick": 4872
6262
},
6363
{

src/node/counter-strike/json-actions-file/__snapshots__/generate-player-rounds-json-file.test.ts.snap

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,47 +25,47 @@ exports[`Generate player's rounds JSON file > CS2 1`] = `
2525
"tick": 64
2626
},
2727
{
28-
"cmd": "spec_player 4",
28+
"cmd": "spec_mode 1",
2929
"tick": 64
3030
},
3131
{
32-
"cmd": "spec_mode 1",
32+
"cmd": "spec_player 4",
3333
"tick": 64
3434
},
3535
{
3636
"cmd": "demo_gototick 10752",
3737
"tick": 5864
3838
},
3939
{
40-
"cmd": "spec_player 4",
40+
"cmd": "spec_mode 1",
4141
"tick": 5864
4242
},
4343
{
44-
"cmd": "spec_mode 1",
44+
"cmd": "spec_player 4",
4545
"tick": 5864
4646
},
4747
{
4848
"cmd": "demo_gototick 16152",
4949
"tick": 13184
5050
},
5151
{
52-
"cmd": "spec_player 4",
52+
"cmd": "spec_mode 1",
5353
"tick": 13184
5454
},
5555
{
56-
"cmd": "spec_mode 1",
56+
"cmd": "spec_player 4",
5757
"tick": 13184
5858
},
5959
{
6060
"cmd": "demo_gototick 21352",
6161
"tick": 18984
6262
},
6363
{
64-
"cmd": "spec_player 4",
64+
"cmd": "spec_mode 1",
6565
"tick": 18984
6666
},
6767
{
68-
"cmd": "spec_mode 1",
68+
"cmd": "spec_player 4",
6969
"tick": 18984
7070
},
7171
{

src/node/counter-strike/json-actions-file/json-actions-file-generator.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,17 @@ export class JSONActionsFileGenerator {
5151
tick: actionTick,
5252
});
5353
} else {
54-
this.actions.push({
55-
cmd: `spec_player ${playerId}`,
56-
tick: actionTick,
57-
});
5854
// The camera may be stuck in free mode with some demos (probably related to a server configuration)
5955
// Force the first person camera mode so the camera will properly focus on the player.
56+
// ! It's important to set spec_mode before spec_player otherwise the spec_player command may not work.
6057
this.actions.push({
6158
cmd: 'spec_mode 1',
6259
tick: actionTick,
6360
});
61+
this.actions.push({
62+
cmd: `spec_player ${playerId}`,
63+
tick: actionTick,
64+
});
6465
}
6566

6667
return this;

src/node/counter-strike/json-actions-file/output/cs2-player-highlights.dem.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,40 +13,40 @@
1313
"cmd": "demo_gototick 872",
1414
"tick": 64
1515
},
16-
{
17-
"cmd": "spec_player 4",
18-
"tick": 872
19-
},
2016
{
2117
"cmd": "spec_mode 1",
2218
"tick": 872
2319
},
2420
{
2521
"cmd": "spec_player 4",
26-
"tick": 1200
22+
"tick": 872
2723
},
2824
{
2925
"cmd": "spec_mode 1",
3026
"tick": 1200
3127
},
3228
{
3329
"cmd": "spec_player 4",
34-
"tick": 1700
30+
"tick": 1200
3531
},
3632
{
3733
"cmd": "spec_mode 1",
3834
"tick": 1700
3935
},
36+
{
37+
"cmd": "spec_player 4",
38+
"tick": 1700
39+
},
4040
{
4141
"cmd": "demo_gototick 4872",
4242
"tick": 2256
4343
},
4444
{
45-
"cmd": "spec_player 4",
45+
"cmd": "spec_mode 1",
4646
"tick": 4872
4747
},
4848
{
49-
"cmd": "spec_mode 1",
49+
"cmd": "spec_player 4",
5050
"tick": 4872
5151
},
5252
{

src/node/counter-strike/json-actions-file/output/cs2-player-lowlights.dem.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,40 +21,40 @@
2121
"cmd": "demo_gototick 872",
2222
"tick": 64
2323
},
24-
{
25-
"cmd": "spec_player 4",
26-
"tick": 872
27-
},
2824
{
2925
"cmd": "spec_mode 1",
3026
"tick": 872
3127
},
3228
{
3329
"cmd": "spec_player 4",
34-
"tick": 1200
30+
"tick": 872
3531
},
3632
{
3733
"cmd": "spec_mode 1",
3834
"tick": 1200
3935
},
4036
{
4137
"cmd": "spec_player 4",
42-
"tick": 1700
38+
"tick": 1200
4339
},
4440
{
4541
"cmd": "spec_mode 1",
4642
"tick": 1700
4743
},
44+
{
45+
"cmd": "spec_player 4",
46+
"tick": 1700
47+
},
4848
{
4949
"cmd": "demo_gototick 4872",
5050
"tick": 2256
5151
},
5252
{
53-
"cmd": "spec_player 4",
53+
"cmd": "spec_mode 1",
5454
"tick": 4872
5555
},
5656
{
57-
"cmd": "spec_mode 1",
57+
"cmd": "spec_player 4",
5858
"tick": 4872
5959
},
6060
{

src/node/counter-strike/json-actions-file/output/cs2-player-rounds.dem.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,47 +22,47 @@
2222
"tick": 64
2323
},
2424
{
25-
"cmd": "spec_player 4",
25+
"cmd": "spec_mode 1",
2626
"tick": 64
2727
},
2828
{
29-
"cmd": "spec_mode 1",
29+
"cmd": "spec_player 4",
3030
"tick": 64
3131
},
3232
{
3333
"cmd": "demo_gototick 10752",
3434
"tick": 5864
3535
},
3636
{
37-
"cmd": "spec_player 4",
37+
"cmd": "spec_mode 1",
3838
"tick": 5864
3939
},
4040
{
41-
"cmd": "spec_mode 1",
41+
"cmd": "spec_player 4",
4242
"tick": 5864
4343
},
4444
{
4545
"cmd": "demo_gototick 16152",
4646
"tick": 13184
4747
},
4848
{
49-
"cmd": "spec_player 4",
49+
"cmd": "spec_mode 1",
5050
"tick": 13184
5151
},
5252
{
53-
"cmd": "spec_mode 1",
53+
"cmd": "spec_player 4",
5454
"tick": 13184
5555
},
5656
{
5757
"cmd": "demo_gototick 21352",
5858
"tick": 18984
5959
},
6060
{
61-
"cmd": "spec_player 4",
61+
"cmd": "spec_mode 1",
6262
"tick": 18984
6363
},
6464
{
65-
"cmd": "spec_mode 1",
65+
"cmd": "spec_player 4",
6666
"tick": 18984
6767
},
6868
{

0 commit comments

Comments
 (0)