Die4Ever / build-engine-randomizer

Build Engine Randomizer (Duke Nukem 3D, Shadow Warrior, Ion Fury, Blood, PowerSlave)
https://discord.gg/QwjnYWhKsY
GNU Affero General Public License v3.0
21 stars 1 forks source link

support more Build Engine games and versions #4

Open Die4Ever opened 2 years ago

Die4Ever commented 2 years ago

most of the work for this would be inside the BuildGames folder

If anyone can help fill in the lists of sprite picnum ids, that would be very helpful

Lists of games and info:

https://en.wikipedia.org/wiki/Category:Build_(game_engine)_games

https://www.giantbomb.com/build-engine/3015-1733/games/

http://advsys.net/ken/build.htm

https://www.mobygames.com/game-group/25d-engine-build

https://www.zoom-platform.com/product/duke-nukem-3d-atomic-edition

https://wiki.eduke32.com/wiki/Frequently_Asked_Questions

need default settings for undetected games

Die4Ever commented 2 years ago

Blood doesn't use a GRP file, it uses RFF https://moddingwiki.shikadi.net/wiki/RFF_Format

but Cryptic Passage uses plain MAP files

neither one seems to use CON files

split off into issue #21

Die4Ever commented 2 years ago

"I had nothing to do with the design of the .CON files. They were designed by Todd Replogle, for use with Duke Nukem 3D. This is why you don't see them in Shadow Warrior or Blood."

http://advsys.net/ken/build.htm

Die4Ever commented 2 years ago

PowerSlave https://forums.duke4.net/topic/10872-/

https://github.com/nukeykt/NBlood

PowerSlave demos http://www.jonof.id.au/buildgames/ps.html

added some data for PowerSlave support https://github.com/Die4Ever/build-engine-randomizer/commit/07d9ae43679678a6a5b2a3814f31285b670cbee7

should Map version 6 be a subclass or just some if statements? probably don't need an abstract base class, I think the differences will be small

http://dukertcm.com/knowledge-base/build-games/powerslave.html

Die4Ever commented 2 years ago

Duke 3D World Tour uses an external USER.CON file, need to support external files, maybe with just a "../" prefix in the config for the file name, also need to support external maps though

And need to make backups of the external files, might want to have hashes for them, or maybe we can put our files in a separate folder, need to look at how EDuke32 handles that

{'name': 'Duke Nukem 3D: Atomic Edition (WT)', 'type': 'Duke Nukem 3D', 'md5': '', 'crc': 2552954442, 'sha1': '', 'path_overrides': {'USER.CON': '../USER.CON'}}

game directory: image

maps folder: image

7/16/2022 6:25:29 PM: ERROR:, ERROR: in GetGame, 
unknown game, C:/Program Files (x86)/Steam/steamapps/common/Duke Nukem 3D Twentieth Anniversary World Tour/e32wt.grp, 
size:, 37, crc32:, 0x5BD05463, md5:, 756a398d7d684f55785005833b4dd67c, sha1:, 7a9afeb6bb1ad7dd097487cad3c8775debddc730
Die4Ever commented 2 years ago

https://forums.duke4.net/topic/5440-demo-versions-of-build-games/

Die4Ever commented 1 year ago

https://github.com/fgsfds/Legend-of-the-Seven-Paladins-3D