Advertisement
Frinkeldoodle

parappa2_extract.bms

Apr 21st, 2017
595
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. # PaRappa the Rapper 2
  2. # script for QuickBMS http://quickbms.aluigi.org
  3.  
  4. comtype lzss "12 4 2 2 0"
  5. get INT_SIZE asize
  6. math FOLDER = 0
  7. for DATA_OFF = 0 < INT_SIZE
  8. savepos BASE_OFF
  9. idstring "\x11\x22\x33\x44"
  10. get FILES long
  11. get ID long
  12. get INFO_OFF long
  13. get DATA_OFF long
  14. get DATA_SIZE long
  15. get ZERO long
  16. get ZERO long
  17. math INFO_OFF += BASE_OFF
  18. math DATA_OFF += INFO_OFF
  19. if FILES != 0
  20. for i = 0 < FILES
  21. get OFFSET long
  22. putarray 0 i OFFSET
  23. next i
  24. goto INFO_OFF
  25. for i = 0 < FILES
  26. get NAME_OFF long
  27. get SIZE long
  28. putarray 1 i NAME_OFF
  29. putarray 2 i SIZE
  30. next i
  31. savepos OFFSET
  32. for i = 0 < FILES
  33. getarray NAME_OFF 1 i
  34. math NAME_OFF += OFFSET
  35. goto NAME_OFF
  36. get NAME string
  37. putarray 3 i NAME
  38. next i
  39. goto DATA_OFF
  40. get SIZE long
  41. get ZSIZE long
  42. savepos OFFSET
  43. clog MEMORY_FILE OFFSET ZSIZE SIZE
  44. for i = 0 < FILES
  45. getarray OFFSET 0 i
  46. getarray SIZE 2 i
  47. getarray NAME 3 i
  48. if i < 10
  49. string FNAME p= "%d/000%d_%s" FOLDER i NAME
  50. elif i < 100
  51. string FNAME p= "%d/00%d_%s" FOLDER i NAME
  52. elif i < 1000
  53. string FNAME p= "%d/0%d_%s" FOLDER i NAME
  54. else
  55. string FNAME p= "%d/%d_%s" FOLDER i NAME
  56. endif
  57. log FNAME OFFSET SIZE MEMORY_FILE
  58. next i
  59. endif
  60. math DATA_OFF += DATA_SIZE
  61. goto DATA_OFF
  62. next FOLDER
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement