# ISI Gmotor engine MAS files # works universally with any game included: # ACTC, rFactor, ARCA, BMW M3, Sports Cart GT, NASCAR SimRacing/Thunder, F1 Challenge and possibly others # script for QuickBMS http://aluigi.org/papers.htm#quickbms set MAS_TYPE0 binary "GMOTORMAS10\0\0\0\0\0" set MAS_TYPE1 binary "\xC8\xCF\xD2\xD8\xCE\xD8\xE6\xC9\xCA\xDD\xD8\xBE\xBB\xA6\xBF\x90" set MAS_TYPE3 binary "CUBEMAS4.10\0\0\0\0\0" set FILES_SIZE long 256 getdstring SIGN 16 if SIGN == MAS_TYPE0 set MAS_TYPE long 0 elif SIGN == MAS_TYPE1 set MAS_TYPE long 1 get DUMMY long elif SIGN == MAS_TYPE3 set MAS_TYPE long 3 else set MAS_TYPE long 2 set FILES_SIZE long 0x20 goto 0 endif print "set MAS_TYPE %MAS_TYPE%" get FILES long get DATA_SIZE long savepos OFFSET math BASE_OFF = FILES math BASE_OFF *= FILES_SIZE math BASE_OFF += OFFSET for i = 0 < FILES if MAS_TYPE == 0 get DUMMY long get OFFSET long get SIZE long get ZSIZE long getdstring NAME 240 elif MAS_TYPE == 1 get DUMMY long getdstring NAME 236 get OFFSET long get SIZE long get ZSIZE long get DUMMY long elif MAS_TYPE == 2 getdstring NAME 0x10 get OFFSET long get SIZE long get ZSIZE long get DUMMY long elif MAS_TYPE == 3 get DUMMY long get OFFSET long get SIZE long get ZSIZE long get DUMMY long getdstring NAME 236 endif math OFFSET += BASE_OFF if ZSIZE == 0 math ZSIZE = SIZE endif if SIZE == ZSIZE log NAME OFFSET SIZE else clog NAME OFFSET ZSIZE SIZE endif next i