Skip to content

Commit

Permalink
Fixed Bitmap size field.
Browse files Browse the repository at this point in the history
  • Loading branch information
nitrogenc committed Nov 23, 2020
1 parent 65b7201 commit 00c2f38
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ With the following arguments meaning:
```
## Changelog
```
23/11/2020 1.04 Fixed Bitmap size field.
30/04/2018 1.03 Added extra aggregated bitmap/collage output.
22/04/2018 1.02 Added support for (old?) bcache23.bmc files.
25/11/2016 1.01 Compressed data handling improved.
Expand Down
4 changes: 2 additions & 2 deletions bmc-tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ def b_export(self, dname):
return True
def b_export_bmp(self, width, height, data):
if not self.pal:
return "BM"+pack("<L", len(data)+126)+"\x00\x00\x00\x00\x7A\x00\x00\x00\x6C\x00\x00\x00"+pack("<L", width)+pack("<L", height)+"\x01\x00\x20\x00\x03\x00\x00\x00"+pack("<L", len(data))+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00\x00\xFF\x00\x00\xFF\x00\x00\x00\x00\x00\x00\xFF niW"+("\x00"*36)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+data
return "BM"+pack("<L", len(data)+122)+"\x00\x00\x00\x00\x7A\x00\x00\x00\x6C\x00\x00\x00"+pack("<L", width)+pack("<L", height)+"\x01\x00\x20\x00\x03\x00\x00\x00"+pack("<L", len(data))+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\x00\x00\xFF\x00\x00\xFF\x00\x00\x00\x00\x00\x00\xFF niW"+("\x00"*36)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+data
else:
return "BM"+pack("<L", len(data)+0x36)+"\x00\x00\x00\x00\x36\x04\x00\x00\x28\x00\x00\x00"+pack("<L", width)+pack("<L", height)+"\x01\x00\x08\x00\x00\x00\x00\x00"+pack("<L", len(data)-0x400)+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+data
def b_write(self, fname, data):
Expand All @@ -212,7 +212,7 @@ def b_flush(self):
return True

if __name__ == "__main__":
prs = argparse.ArgumentParser(description="RDP Bitmap Cache parser (v. 1.03, 30/04/2018)")
prs = argparse.ArgumentParser(description="RDP Bitmap Cache parser (v. 1.04, 23/11/2020)")
prs.add_argument("-s", "--src", help="Specify the BMCache file or directory to process.", required=True)
prs.add_argument("-d", "--dest", help="Specify the directory where to store the extracted bitmaps.", required=True)
prs.add_argument("-c", "--count", help="Only extract the given number of bitmaps.", type=int, default=-1)
Expand Down

0 comments on commit 00c2f38

Please sign in to comment.