You are not logged in.

bfstats | BF1942 replay is a web page where you can play a recording of a BF1942 round. I created it to see whether it would be possible to capture game events while playing and store them in a file. Turns out you can, with a little help from SiMPLE Forum - Battlefield 1942 Plus.
Here are a couple of recordings I took, it lets you roam the map, go FPV on other players and jump between skirmishes.
- Bocage
- Midway
If you are game and want to try it, you just need to turn on recording and watch it back. Post here what didn't work and send me your recording.
For those who are keen it's best if you know your way around dsound.dll and know how to install it
- Download BF42++ dsound.dll from here, https://github.com/sila-skandia/bf42plu … und-replay, it's the usual BF42++ with the round recording added to it
- Join a game like normal, in the console type `plus.recordReplays 1` and play like normal
- when you're done go over to bfstats | BF1942 replay and select the recording under `Battlefield 1942\replays` folder (file will end in .ndjson)
Let me know what you think!!
Last edited by skandia (2026-09-28 23:52:01)
What the hell, this is absolutely wild?! I can't even believe I just watched a BF1942 round recording interactively through my phone browser, wtf...
This is the craziest thing for BF1942 I've ever seen, lol. I'm just amazed.
Would you mind giving a hint on how it works? Did you replicate the game's 3D engine including animations? Does it have its own physics to show interactions and collisions properly? How does the client capture everything happening on the map with such precision?

I need to write up the whole project for those interested, but I will tldr; what is involved:
- You are viewing a BF1942 implementation in JavaScript to make it work in the browser. So things like physics, ballistics and all the game mechanics were converted to JS.
- The models, maps, kits, poses, animations are extracted out of the game rfa archives, same with the sound files, their .con files and so on.
You can actually play single-player with bots, which are just as dumb as the ones in the real game.
With the game engine in place, I needed a way to capture the game data while you're playing. Because we already have BF42+ it was hooking BF1942.exe and already doing this. I just added in capture for every possible event sent by the server. Because the Linux server binary was compiled with full debug symbols you can actually see the method names and data types to reverse engineer them. So that's what BF42++ is doing, and converting them to a JSON format I store.
Then the idea was to combine these recordings with my JS implementation and it worked surprisingly well.

Holy shhhhhh
This is madness! ![]()
Well done!

I have a question tho. When following different players (especially ones flying planes) they were sometimes flagged as "out of range", their models frozen. Does it mean their animations weren't recorded since the one recording the game (you, in this case) was so far from them at that point that their models weren't rendered from your POV?

Spot on. It can merge multiple recordings together so the more people recording their games and uploading them will increase coverage.
- You are viewing a BF1942 implementation in JavaScript to make it work in the browser. So things like physics, ballistics and all the game mechanics were converted to JS.
Ok, this is crazier than I thought. Does that mean you have somehow fully decompiled the game executable and now have its code?

Yeah, here's the code if you're interested under the tools folder github.com/sila-skandia/bfstats/


The players had a gentleman's agreement tonight for only Zook & Knives. I was able to record most of the round using Skandia's new recorder. We had a lot of fun. I love the first person perspective that's available for all players as well.