wfowler1 / LibBSP

C# library for parsing and reading BSP (Binary Space Partition) structures in Quake-based game engines
Other
93 stars 26 forks source link

Call of Duty 1 & 2 Support #3

Closed optimus-code closed 2 years ago

optimus-code commented 2 years ago

Hi there! Great work on the library so far. I'm impressed with the variety of games already supported.

Have you considered adding support of Call of Duty 1 and 2? The formats aren't too dissimilar to normal Q3 and you can find documentation via the following links:

https://pierov.org/2015/08/31/a-note-about-call-of-duty-1uo-bsp-maps/ https://wiki.zeroy.com/index.php/Call_of_Duty_2:_d3dbsp (Other cod games) https://wiki.zeroy.com/index.php?title=Call_of_Duty_4:_d3dbsp

I'd be particularly interested in learning how to implement the terrain systems of these games.

wfowler1 commented 2 years ago

Hey, thanks for your interest!

COD1 and COD2 are already supported. Some structures aren't implemented, I haven't had the time or motivation to completely reverse engineer those, and what little documentation there is online (especially for COD2) is pretty sparse.

As far as terrain goes, they are actually stored as normal faces, so if all you want to do is render the map you can get by with that. There is more information stored in a separate lump in COD1 though and you can use it for collision information.

optimus-code commented 2 years ago

Ah! My bad! I was using an older version of the repo! That's interesting about terrain, I was expecting to see an extra lump or something. Thanks for clarifying that!