SFTtech / openage

Free (as in freedom) open source clone of the Age of Empires II engine 🚀
http://openage.dev
Other
12.63k stars 1.11k forks source link

aoe:hd support [$10 awarded] #10

Closed boombatower closed 9 years ago

boombatower commented 9 years ago

Support converting aoe:hd assets. -- creating issue to track progress as suggested by TheJJ in irc. --

Also perhaps #1 is not as much of an issue since it allows those that own HD copy (much easier to get ahold of) to play on openage.

The $10 bounty on this issue has been claimed at Bountysource.

goto-bus-stop commented 9 years ago

implemented as of 91cbcf3 and db5e0e0

TheJJ commented 9 years ago

could anyone else confirm if HD is working now? I don't own it ;)

boombatower commented 9 years ago

It proceeds further as it used to trip up on sounds_x1.drs, but seems to still crap.

$ git describe
v2.2-324-g395f956
$ make media AGE2DIR="/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/"                                                                                                
buildsystem/runinenv PYTHONPATH=prependpath:py -- python3 -m openage.convert -v media -o "assets/converted" "/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/" graphics:*.* terrain:*.* sounds0:*.* sounds1:*.* gamedata0:*.* gamedata1:*.* gamedata2:*.* interface:*.*                                                   
setting age2 input directory to /var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/                                                                                                                  
DRS header [/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/Data/graphics.drs]                                                                                                                    
  copyright:          Copyright (c) 1997 Ensemble Studios.â–’                                                             
  version:            1.00                                                                                              
  ftype:              tribe                                                                                             
  table count:        1                                                                                                 
  file offset:        21292                                                                                             

DRS header [/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/Data/interfac.drs]                                                                                                                    
  copyright:          Copyright (c) 1997 Ensemble Studios.â–’                                                             
  version:            1.00                                                                                              
  ftype:              tribe                                                                                             
  table count:        3                                                                                                 
  file offset:        4348                                                                                              

DRS header [/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/Data/sounds.drs]                                                                                                                      
  copyright:          Copyright (c) 1997 Ensemble Studios.â–’                                                             
  version:            1.00                                                                                              
  ftype:              tribe                                                                                             
  table count:        1                                                                                                 
  file offset:        12328                                                                                             

DRS header [/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/Data/sounds_x1.drs]                                                                                                                   
  copyright:          Copyright (c) 1997 Ensemble Studios.â–’                                                             
  version:            1.00                                                                                              
  ftype:              tribe                                                                                             
  table count:        1                                                                                                 
  file offset:        4456                                                                                              

DRS header [/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/Data/gamedata_x1.drs]                                                                                                                 
  copyright:          Copyright (c) 1997 Ensemble Studios.â–’                                                             
  version:            1.00                                                                                              
  ftype:              tribe                                                                                             
  table count:        1                                                                                                 
  file offset:        1000                                                                                              

DRS header [/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/Data/gamedata_x1_p1.drs]
  copyright:          Copyright (c) 1997 Ensemble Studios.â–’
  version:            1.00
  ftype:              tribe
  table count:        2
  file offset:        172

DRS header [/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/Data/terrain.drs]
  copyright:          Copyright (c) 1997 Ensemble Studios.â–’
  version:            1.00
  ftype:              tribe
  table count:        1
  file offset:        400

Traceback (most recent call last):
  File "/usr/lib64/python3.3/runpy.py", line 160, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib64/python3.3/runpy.py", line 73, in _run_code
    exec(code, run_globals)
  File "/home/boombatower/openage/py/openage/convert/__main__.py", line 54, in <module>
    main()
  File "/home/boombatower/openage/py/openage/convert/__main__.py", line 51, in main
    args.handler(args)
  File "/home/boombatower/openage/py/openage/convert/mediafile.py", line 84, in media_convert
    drsfiles["gamedata0"] = DRS("Data/gamedata.drs")
  File "/home/boombatower/openage/py/openage/convert/drs.py", line 52, in __init__
    self.header = DRS.drs_header.unpack(buf)
struct.error: unpack requires a bytes object of length 64
make: *** [media] Error 1
goto-bus-stop commented 9 years ago

Oh, that's strange. I guess you may have a gamedata.drs file in your HD install Data/, which isn't there on mine. Could you add a screenshot of your Data/ directory, and maybe upload the gamedata.drs somewhere?

e; an easier / less error prone way might be to just try: xx except that whole DRS instance line instead of checking if the file exists.

boombatower commented 9 years ago
$ ls -l "/var/run/media/boombatower/8C2C93C52C93A8AA/Program Files (x86)/Steam/SteamApps/common/Age2HD/Data/"
total 250329
-rw------- 2 boombatower users   329568 Apr  5  2013 blendomatic.dat
-rw------- 2 boombatower users   741518 Apr  5  2013 blendomatic_x1.dat
-rw------- 1 boombatower users    84471 Apr  5  2013 BlkEdge.Dat
-rw------- 1 boombatower users     3056 Apr  5  2013 clf_pal.pal
-rw------- 2 boombatower users      125 Apr  5  2013 custome_palette_list.txt
-rw------- 2 boombatower users   926934 Dec  6  2013 empires2_x1_p1.dat
-rw------- 2 boombatower users  1041720 Sep  2  2013 empires2_x1_v1.dat
-rw------- 2 boombatower users  1350376 Sep 24 20:02 empires2_x2_p1.dat
-rw------- 2 boombatower users   300124 Apr  5  2013 FilterMaps.dat
drwx------ 1 boombatower users     4096 Apr  5  2013 fonts
-rw------- 1 boombatower users        0 Aug 22 21:57 gamedata.drs
-rw------- 2 boombatower users  1766259 Sep 26 23:08 gamedata_x1.drs
-rw------- 2 boombatower users   530869 Sep  2  2013 gamedata_x1_p1.drs
-rw------- 2 boombatower users  4007358 Sep 26 23:08 gamedata_x2.drs
-rw------- 2 boombatower users 65479394 Sep 24 20:02 gamedata_x2_p1.drs
-rw------- 1 boombatower users 86137347 Apr  5  2013 graphics.drs
-rw------- 1 boombatower users 44276389 Jun 19 00:11 interfac.drs
-rw------- 2 boombatower users    73800 Apr  5  2013 lightMaps.dat
drwx------ 1 boombatower users     8192 Aug 27 20:06 Load
drwx------ 1 boombatower users        0 Apr  5  2013 Loc
-rw------- 1 boombatower users   124623 Apr  5  2013 LoQMaps.dat
-rw------- 1 boombatower users     2976 Apr  5  2013 pal_2.pal
-rw------- 1 boombatower users     2933 Apr  5  2013 pal_3.pal
-rw------- 1 boombatower users     2982 Apr  5  2013 pal_4.pal
-rw------- 1 boombatower users     3103 Apr  5  2013 pal_5.pal
-rw------- 1 boombatower users     2718 Apr  5  2013 pal_6.pal
-rw------- 2 boombatower users   164000 Apr  5  2013 PatternMasks.dat
-rw------- 1 boombatower users     1167 Apr  5  2013 shadow.col
drwx------ 1 boombatower users    32768 Aug 22 20:46 Slp
-rw------- 1 boombatower users 29678340 Apr  5  2013 sounds.drs
-rw------- 1 boombatower users 12003432 Apr  5  2013 sounds_x1.drs
-rw------- 1 boombatower users     7208 Apr  5  2013 STemplet.dat
-rw------- 1 boombatower users  6649972 Apr  5  2013 terrain.drs
drwx------ 1 boombatower users        0 Sep 23  2013 Textures
-rw------- 1 boombatower users   209287 Apr  5  2013 TileEdge.Dat                                                       
-rw------- 1 boombatower users   327680 Apr  5  2013 view_icm.dat         

As discussed in IRC, removed the 0 byte gamedata.drs file and script ran. Had to install a few python 3.x dependencies, but appears to have succeeded!

media files extracted: 3619
boombatower commented 9 years ago

Looks nice! http://i.imgur.com/ZOHfIc6.jpg

cydactyl commented 9 years ago

@goto-bus-stop, don't forget to claim your bounty, https://www.bountysource.com/issues/5542471-aoe-hd-support