Important information: this site is currently scheduled to go offline indefinitely by December 1st 2023.
If you wish to donate to attempt the preservation of tools and software somewhere else before it goes down, check the GoFundMe

Age of Empires Online (*.BAR)

The Original Forum. Game archives, full of resources. How to open them? Get help here.
Post Reply
WRS
ultra-veteran
ultra-veteran
Posts: 603
Joined: Fri Nov 06, 2009 12:13 am
Has thanked: 74 times
Been thanked: 332 times

Age of Empires Online (*.BAR)

Post by WRS »

http://ageofempiresonline.com/

just found out about this game. addictive! 8)

Code: Select all

# Age of Empires Online (*.BAR)
# Script for QuickBMS by WRS

idstring "ESPN"
get DUMMY long
get ENDIAN long

# possible endian check. not sure if aoeo is pc only atm
if ENDIAN == 0x44332211
 # little (pc)
elif ENDIAN == 0x11223344
 # big (xbox ?)
  endian big
else
  print "failed at endian check"
  cleanexit
endif

goto 276

get DUMMY long
get FILES1 long
get OFFSET long

goto OFFSET

string LASTSTR = ""
callfunction getstr 1
string DIR = LASTSTR

get FILES2 long # again, may only be files in LASTSTR ? todo: compare w/ prev FILES

if FILES1 != FILES2
  print "file count mismatch  %FILES1% != %FILES2%"
  cleanexit
endif

for f = 0 < FILES2
  get PNTR long
  get SIZE1 long
  get SIZE2 long
  get DUMMY long
  get DUMMY long
  get DUMMY long
  get DUMMY long
  string LASTSTR = ""
  callfunction getstr 1

  if SIZE1 != SIZE2 
    print "%FNAME% may be compressed. skipping"
  else
    string FNAME p= "%s%s" DIR LASTSTR
    log FNAME PNTR SIZE1
  endif

next f



cleanexit

startfunction getstr

  get STRLEN long
  math STRLEN *= 2 # 16-bit / unicode
  getdstring UNISTR STRLEN
  set LASTSTR unicode UNISTR

endfunction
i made a new thread because there is binary xml (XMB) format which i might look into + post something on later

update apparently both the bar and xmb formats are used in other age of empires games .. :|
Useful tool links:
Post Reply