Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

demultiplexing UBB2 videos [script]

Featured Replies

  • Author
  • Localization

AlphaTwentyThree, posted Fri Apr 10, 2015 10:23 am (4434)


Hi everybody,

I've finally finished my script that can demultiplex .ubb videos a.k.a. hnm. Those were used in Mega Race for example. It's a bit messy because of the different fields that can be contained in these videos.
Code:
# demultiplex ubb/hnm videos
# script by AlphaTwentyThree for QuickBMS http://quickbms.aluigi.org

idstring "UBB2"
set OFFSET 0x44
get FSIZE asize
putvarchr MEMORY_FILE FSIZE 0
putvarchr MEMORY_FILE2 FSIZE 0
putvarchr MEMORY_FILE3 FSIZE 0
putvarchr MEMORY_FILE4 FSIZE 0
putvarchr MEMORY_FILE5 FSIZE 0
putvarchr MEMORY_FILE6 FSIZE 0
putvarchr MEMORY_FILE7 FSIZE 0
putvarchr MEMORY_FILE8 FSIZE 0
log MEMORY_FILE 0 0
log MEMORY_FILE2 0 0
log MEMORY_FILE3 0 0
log MEMORY_FILE4 0 0
log MEMORY_FILE5 0 0
log MEMORY_FILE6 0 0
log MEMORY_FILE7 0 0
log MEMORY_FILE8 0 0

for i = 1 #<= 100
   goto OFFSET
   get SIZE long
   getDstring IDENT 2
   #print "%IDENT% at %OFFSET%"
   get DUMMY short
   savepos OFFSET
   math SIZE -= 8
   if IDENT == "SD"
      append
      log MEMORY_FILE OFFSET SIZE
      append
      math OFFSET = SIZE
   elif IDENT == "PL"
      append
      log MEMORY_FILE2 OFFSET SIZE
      append
      math OFFSET = SIZE
   elif IDENT == "IV"
      append
      log MEMORY_FILE3 OFFSET SIZE
      append
      math OFFSET = SIZE
   elif IDENT == "DD"
      append
      log MEMORY_FILE4 OFFSET SIZE
      append
      math OFFSET = SIZE
   elif IDENT == "IZ"
      append
      log MEMORY_FILE5 OFFSET SIZE
      append
      math OFFSET = SIZE
   elif IDENT == "IU"
      append
      log MEMORY_FILE6 OFFSET SIZE
      append
      math OFFSET = SIZE
   elif IDENT == "TR"
      append
      log MEMORY_FILE7 OFFSET SIZE
      append
      math OFFSET = SIZE
   elif IDENT == "ZB"
      append
      log MEMORY_FILE8 OFFSET SIZE
      append
      math OFFSET = SIZE
   else # block size wrong -> go again
      math OFFSET -= 4
   endif
   if OFFSET >= FSIZE
      break
   endif
   xmath TEST "OFFSET 4"
   if TEST >= FSIZE
      break
   endif
next i

get SIZE asize MEMORY_FILE
if SIZE > 0
   get NAME basename
   string NAME = ".sd"
   log NAME 0 SIZE MEMORY_FILE
endif
get SIZE asize MEMORY_FILE2
if SIZE > 0
   get NAME basename
   string NAME = ".pl"
   log NAME 0 SIZE MEMORY_FILE2
endif
get SIZE asize MEMORY_FILE3
if SIZE > 0
   get NAME basename
   string NAME = ".iv"
   log NAME 0 SIZE MEMORY_FILE3
endif
get SIZE asize MEMORY_FILE4
if SIZE > 0
   get NAME basename
   string NAME = ".dd"
   log NAME 0 SIZE MEMORY_FILE4
endif
get SIZE asize MEMORY_FILE5
if SIZE > 0
   get NAME basename
   string NAME = ".iz"
   log NAME 0 SIZE MEMORY_FILE5
endif
get SIZE asize MEMORY_FILE6
if SIZE > 0
   get NAME basename
   string NAME = ".iu"
   log NAME 0 SIZE MEMORY_FILE6
endif
get SIZE asize MEMORY_FILE7
if SIZE > 0
   get NAME basename
   string NAME = ".tr"
   log NAME 0 SIZE MEMORY_FILE7
endif
get SIZE asize MEMORY_FILE8
if SIZE > 0
   get NAME basename
   string NAME = ".zb"
   log NAME 0 SIZE MEMORY_FILE8
endif
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.