I did it!!
There are some issues:
1. The hanging cameras get player models, and these show up in the game. Could probably hide them by changing their model or not giving them one, but that would take a tremendous amount of work. Just have to live with it, so sometimes there's a guy there and you're like why is nobody shooting him :-p
To make matters worse, the player models move as they track the player they're 'spectating', so sometimes they resemble live players.
2. The pov cuts out when the player goes somewhere the camera can't see well, and their angles are apparently culled from the demo at that point. It also understandably cuts out when the cameras select the other player to view which happens from time to time. Sometimes it appears to happen automatically.
It would be theoretically possible to switch the setview and mine the angles when the camera switches, but this would be very much not worth the enormous amount of effort. It would require timestamping during the game, writing them down, carefully adding a setview entry for certain parts of the demo text, modifying the program to look for those specifically and mine the angles. I mean just.. meh.
3. Sometimes entities are lost such as moving platforms or potentially moving platforms. This might be part of the culling or perhaps it could just be ezquake's handling of .dem playback, not sure. I didn't try winquake yet.
4. The viewheight is a little off, it's a bit too low. I might be able to set v_viewheight a bit higher than default to compensate, but probably it would need something like qrack. It's not terribly dramatic and imo not worth the trouble.
Here's a sample game:
https://www.dropbox.com/s/zuics7sbzd...rufix.dem?dl=0
I'm very happy that I managed to do this, but after all of this work some of the magic is gone somehow. Shrug.
It's kind of a pita, because I have to decompile the demo with lmpc, look for the entity I want, fix setview, remove setangles, modify and recompile the angle mining program for the entity I want and run it. Run the camera angle replace program and finally lmpc it back into a demo.
I have some other demos from the event, so I might find some other interesting ones to convert, and different maps than dm2 might behave better with the cameras.
There are some issues:
1. The hanging cameras get player models, and these show up in the game. Could probably hide them by changing their model or not giving them one, but that would take a tremendous amount of work. Just have to live with it, so sometimes there's a guy there and you're like why is nobody shooting him :-p
To make matters worse, the player models move as they track the player they're 'spectating', so sometimes they resemble live players.
2. The pov cuts out when the player goes somewhere the camera can't see well, and their angles are apparently culled from the demo at that point. It also understandably cuts out when the cameras select the other player to view which happens from time to time. Sometimes it appears to happen automatically.
It would be theoretically possible to switch the setview and mine the angles when the camera switches, but this would be very much not worth the enormous amount of effort. It would require timestamping during the game, writing them down, carefully adding a setview entry for certain parts of the demo text, modifying the program to look for those specifically and mine the angles. I mean just.. meh.
3. Sometimes entities are lost such as moving platforms or potentially moving platforms. This might be part of the culling or perhaps it could just be ezquake's handling of .dem playback, not sure. I didn't try winquake yet.
4. The viewheight is a little off, it's a bit too low. I might be able to set v_viewheight a bit higher than default to compensate, but probably it would need something like qrack. It's not terribly dramatic and imo not worth the trouble.
Here's a sample game:
https://www.dropbox.com/s/zuics7sbzd...rufix.dem?dl=0
I'm very happy that I managed to do this, but after all of this work some of the magic is gone somehow. Shrug.
It's kind of a pita, because I have to decompile the demo with lmpc, look for the entity I want, fix setview, remove setangles, modify and recompile the angle mining program for the entity I want and run it. Run the camera angle replace program and finally lmpc it back into a demo.
I have some other demos from the event, so I might find some other interesting ones to convert, and different maps than dm2 might behave better with the cameras.
Comment