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.
Zero Tolerance for Disrespect

Star Wars: Anakin's Speedway (PC) .dat

Featured Replies

Solved by Guest

  • Solution

Checked out the game files and after a LOT of trial and error, here's a working script. The reason it got complicated was because there's sometimes an additional random zero byte after the name and I had to implement some serious heuristics to get the proper data out of there.

# Luca Learning Ltd. - DAT extractor
# 
# (c) 2024-02-25 by AlphaTwentyThree of ResHax
# script for QuickBMS http://quickbms.aluigi.org

get FSIZE asize
get TOC long
goto TOC
get DUMMY short
get UNK1 long
get FOLDERS long
set CURROFF 4 # for heuristics

for i = 0 < FOLDERS
	savepos MYOFF
	get TEST byte
	if TEST != 0 # re-align
		goto MYOFF
	endif
	getDstring F1 1
	getDstring F2 1
	getDstring F3 1
	getDstring F4 1
	string FOLDER p= "%s%s%s%s" F4 F3 F2 F1
	get SECSIZE long
	get FILES long
	print "%FOLDER%: %FILES% files"
	
	for k = 1 <= FILES
		savepos MYOFF
		get DUMMY byte
		goto MYOFF
		callfunction getBLOCK 1
		xmath TEST "OFFSET + SIZE"
		if (OFFSET < 0 || TEST > FSIZE || NAMEL > 20 || OFFSET != CURROFF) && DUMMY = 0
			goto MYOFF
			get DUMMY byte
			callfunction getBLOCK 1
		endif

		getDstring NAME NAMEL
		string NAME p= "%s/%s" FOLDER NAME
		log NAME OFFSET SIZE
		math CURROFF += SIZE
	next k
next i

startfunction getBLOCK
	get OFFSET long
	get SIZE long
	get NAMEL byte
endfunction

 

Edited by AlphaTwentyThree
final script

Updated the script to a final version that works for all the DAT files. Had to implement some ugly heuristics to get it to work.

Please mark as solved.

Create an account or sign in to comment

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.