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.

fifa ea game fsh file [SHPI, G359, SKIN, hifa]

Featured Replies

  • Author
  • Localization

episoder, posted Tue Nov 07, 2017 3:18 pm (29842)


no. or... yes i should maybe scratch that thread here. if it doesn't execute at all make sure the bat-file and quickbms are all in that file folder. i don't search for any pathes or files. and... the script works that way that it reads the internal filenames from the fsh you drag. and imports only existing mofidied files in that folder and writes those in this fsh file if they are compliant. and no new file is generated. that is functioning correct. i found no better way without rewriting and renaming all that files (can modify the opened and read locked source file?). to check if it overwrote something you can read the file modification date of the fsh.

or should i really make it idiot proof. do everything for you? wtf. you sound like an authist or a total idiot. sorry. :D
  • Replies 81
  • Views 1
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

hardrock, posted Tue Nov 07, 2017 4:49 pm (29846)


everything works except the importing part, when i drag drop, nothing happens, no errors, no success report., it opens & close..files are in same folder.
this is last one,,
pls just upload the script and qbms.bat....
you have my file you can check and upload the script and .bat for me, once and for all,.
you're clever guy, I'm not that much, that is why I'm asking for help..everyone ain't like you.
  • Author
  • Localization

episoder, posted Tue Nov 07, 2017 5:37 pm (29847)


yeh. i refuxed it. you gotta choose the fsh file you wanna repack and it outputs a _repack.fsh now. renaming the output is your problem.

input and modified pvrs all gotta be in the same input folder - no way around that found. output folder can be different.

fsh_repack.bms

Code:
log memory_file 0 0      ; reout

get fsize asize 0
log memory_file 0 fsize 0   ; copy input

get fsig long memory_file
if fsig != 1229998163
   print "not a fsh file"
   exit
else
   get osize long memory_file
   get files long memory_file
   get gsig long memory_file

   for file = 0       getdstring iname 4 memory_file
      get offset long memory_file
      savepos fpoint memory_file
      goto offset memory_file
      get nn byte memory_file
      get size_payload threebyte memory_file
      goto 0xc memory_file seek_cur

      string iname .pvr
      open fdse iname 1 exists
      if exists = 0
         print "%iname% missing - skipped"         ; noexit skip
      else
         get psig long 1
         if psig != 55727696
            print "%iname% is not a valid pvr file"      ; noexit skip
         else
            goto 0x2c 1 seek_cur         ; skip pvr header
            get size_meta long 1
            goto size_meta 1 seek_cur      ; skip meta
            savepos ipoint 1
   
            get isize asize 1
            xmath fit "isize - ipoint"
            math size_payload - 0x10         ; minus header
            if fit                math fit >> 2            ; speed. blocks align @long
               for transfer = 1 to fit         ; source dependant. fsh payload
                  get data long 1         ; got a 0x10 padded 'safe zone'
                  put data long memory_file
               next transfer
            else
               print "%iname% is too large to inject"   ; noexit skip
               print "%fit% > %size_payload%"
            endif
         endif
      endif
      goto fpoint memory_file                  ; next file
   next file

   get oname filename 0
   string oname -= 4
   string oname = _repack.fsh
   log oname 0 fsize memory_file
endif


tell me that this works now. :)
  • Author
  • Localization

hardrock, posted Wed Nov 08, 2017 1:18 am (29857)


..
  • Author
  • Localization

hardrock, posted Wed Nov 08, 2017 2:29 am (29858)


Thank YOu!!!1

We can End this now!!!!
  • Author
  • Localization

daffa17, posted Wed Nov 08, 2017 7:15 pm (29879)


How pvr to fsh again ? Please script please
  • Author
  • Localization

daffa17, posted Thu Nov 09, 2017 12:25 pm (29898)


episoder wrote:
yeh. i refuxed it. you gotta choose the fsh file you wanna repack and it outputs a _repack.fsh now. renaming the output is your problem.

input and modified pvrs all gotta be in the same input folder - no way around that found. output folder can be different.

fsh_repack.bms

Code:
log memory_file 0 0      ; reout

get fsize asize 0
log memory_file 0 fsize 0   ; copy input

get fsig long memory_file
if fsig != 1229998163
   print "not a fsh file"
   exit
else
   get osize long memory_file
   get files long memory_file
   get gsig long memory_file

   for file = 0       getdstring iname 4 memory_file
      get offset long memory_file
      savepos fpoint memory_file
      goto offset memory_file
      get nn byte memory_file
      get size_payload threebyte memory_file
      goto 0xc memory_file seek_cur

      string iname .pvr
      open fdse iname 1 exists
      if exists = 0
         print "%iname% missing - skipped"         ; noexit skip
      else
         get psig long 1
         if psig != 55727696
            print "%iname% is not a valid pvr file"      ; noexit skip
         else
            goto 0x2c 1 seek_cur         ; skip pvr header
            get size_meta long 1
            goto size_meta 1 seek_cur      ; skip meta
            savepos ipoint 1
   
            get isize asize 1
            xmath fit "isize - ipoint"
            math size_payload - 0x10         ; minus header
            if fit                math fit >> 2            ; speed. blocks align @long
               for transfer = 1 to fit         ; source dependant. fsh payload
                  get data long 1         ; got a 0x10 padded 'safe zone'
                  put data long memory_file
               next transfer
            else
               print "%iname% is too large to inject"   ; noexit skip
               print "%fit% > %size_payload%"
            endif
         endif
      endif
      goto fpoint memory_file                  ; next file
   next file

   get oname filename 0
   string oname -= 4
   string oname = _repack.fsh
   log oname 0 fsize memory_file
endif


tell me that this works now. :)
  • Author
  • Localization

daffa17, posted Thu Nov 09, 2017 12:28 pm (29899)


Pvr to repack fsh not work bro , 0 reimport this description
  • Author
  • Localization

episoder, posted Thu Nov 09, 2017 1:54 pm (29903)


what's not working?

i posted already: the fsh file you wanna repack and the modified pvr gotta be in the same folder. the pvr files gotta have the same name as the ones you extracted and gotta be valid pvr files ofc. then just run the script.

if something is not working correct you can read in the console what the problem is.
  • Author
  • Localization

daffa17, posted Thu Nov 09, 2017 2:11 pm (29904)


Waiting i send my fsh and pvr
  • Author
  • Localization

episoder, posted Thu Nov 09, 2017 3:23 pm (29908)


yeh. okay. i dunno what you didn't get done with the script. but you made a mistake with the texture. you gotta encode the texture in opengl_es etc1 format and tick generate mimmaps. i have no idea if any other format might work in this game engine. i could rewrite the replaced payload size, but well... i dunno if the engine would accept that. so i can't do that. just identical payload replacement.

anyway... there's your fsh -> http://www.mediafire.com/file/1udgrmnxjk21mue/k0.rar

/thread
  • Author
  • Localization

daffa17, posted Thu Nov 09, 2017 3:40 pm (29909)


Ok testing bro ,,what save setting pvr on photoshop
  • Author
  • Localization

wolftatoo, posted Thu Nov 09, 2017 4:27 pm (29912)


Dear episoder,me and my friend daffa are sm how confused,
Its when reimporting the pvrs that errors occures.
Would u provide a "boring" step by step how to reimport pvr to fsh,and upload the .bms script too,please, its been months we r working on this and u cant imagine how frustrating it can get when u r so close..
Thank u for ur understanding bro!
  • Author
  • Localization

episoder, posted Thu Nov 09, 2017 5:33 pm (29914)


i don't use photoshop. but... you obviously gotta choose ETC as the format. the resulting pvr file with all mipmaps should be almost the same size as the original pvr you extracted.

and no need to upload the script. you can copy-paste the script text from up there and save as .bms file. or not?!? really?!?
  • Author
  • Localization

daffa17, posted Thu Nov 09, 2017 9:34 pm (29917)


How to same pvr mod to original ? Bro?
  • Author
  • Localization

daffa17, posted Thu Nov 09, 2017 10:09 pm (29918)


Your edited my fsh is work , but how same pvr mod to pvr original
Please help bro
  • Author
  • Localization

episoder, posted Thu Nov 09, 2017 10:33 pm (29919)


i don't speak gibberish. sorry sissy. :)

/thread2
  • Author
  • Localization

daffa17, posted Thu Nov 09, 2017 11:47 pm (29921)


You ready aplication whats up bro
  • Author
  • Localization

wolftatoo, posted Fri Nov 10, 2017 11:10 am (29934)


This is what we did:
After saving modded pvr,we replaced original 1 with the edited lowj.pvr(now folder only contains original fsh and edited pvr)
we run repack script but 0 file reimported!
  • Author
  • Localization

episoder, posted Fri Nov 10, 2017 4:11 pm (29942)


any errors printed in the console? use this if you don't see it. i can't make it red blinking signs sorry. lol

Code:
log memory_file 0 0

get fsize asize 0
log memory_file 0 fsize 0

set rmpd 0
set skpd 0

get oname filename 0
get fsig long memory_file
if fsig != 1229998163
   print "\nERROR %oname% is not a fsh file"
   print "\nUsage: input the fsh file you wanna repack"
   exit
else
   get osize long memory_file
   get files long memory_file
   get gsig long memory_file

   for file = 0 < files
      getdstring iname 4 memory_file
      get offset long memory_file
      savepos fpoint memory_file
      goto offset memory_file
      get nn byte memory_file
      get size_payload threebyte memory_file
      goto 0xc memory_file seek_cur

      string iname .pvr
      open fdse iname 1 exists
      if exists = 0
         print "\nERROR %iname% not present in input folder - skipped"
         math skpd 1
      else
         get psig long 1
         if psig != 55727696
            print "\nERROR %iname% is not a valid pvr file - skipped"
            math skpd 1
         else
            goto 0x2c 1 seek_cur
            get size_meta long 1
            goto size_meta 1 seek_cur
            savepos ipoint 1
   
            get isize asize 1
            xmath fit "isize - ipoint"
            math size_payload - 0x10
            if fit <= size_payload
               math fit >> 2
               for transfer = 1 to fit
                  get data long 1
                  put data long memory_file
               next transfer
               math rmpd 1
            else
               print "\nERROR %iname% too large. %fit% > %size_payload%"
               math skpd 1
            endif
         endif
      endif
      goto fpoint memory_file
   next file

   print "\n%skpd% file(s) skipped - eventually check for ERRORs"

   if rmpd > 0
      string oname -= 4
      string oname = _repack.fsh
      print "\n%rmpd% file(s) imported"
      print "\n"
      log oname 0 fsize memory_file
   else
      print "\n0 files imported - check for ERRORs"
   endif

endif


if it doesn't write any file at all, i'm sure you missing the concept of it. you just execute the script. no bms reimport. and you gotta select the fsh as the input file.
  • Author
  • Localization

aluigi, posted Fri Nov 10, 2017 5:44 pm (29945)


Please note that it's not possible to "reimport" something which is not dumped from a file like a MEMORY_FILE input (for example a file built or edited in such MEMORY_FILE).
  • Author
  • Localization

episoder, posted Fri Nov 10, 2017 6:24 pm (29951)


aluigi wrote:
Please note that it's not possible to "reimport" something which is not dumped from a file like a MEMORY_FILE input (for example a file built or edited in such MEMORY_FILE).


does that mean if i'd just log the raw payloads when extracting, it would reimport backwards? in a loop too?

means that'd need a second and third script to header and strip the raw dump to/from pvr. right?
  • Author
  • Localization

aluigi, posted Fri Nov 10, 2017 6:48 pm (29952)


For example this is ok for reimporting: log "out.dat" 0 SIZE
While this is not valid and completely ignored during the reimport process: log "out.dat" 0 SIZE MEMORY_FILE
That's because the reimport mode is nothing else than a reverse operation that works when you have a file input and a direct file output.

I quickly checked your script and it looks like you just edit one field in the input file through the "put" command, right?
There is not a dump/extraction process, it's an editing.

Honestly I don't know what to suggest except writing another script/tool.
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.