Author Topic: FF7 released on Android  (Read 7342 times)

Covarr

  • Covarr-Let
  • Administrator
  • *
  • Posts: 3941
  • Just Covarr. No "n".
    • View Profile
FF7 released on Android
« on: 2016-07-07 15:53:08 »
FF7 is on Android. I don't trust it to not be strawberries, considering Square Enix's history on Android of crashing when you switch tasks, extremely intrustive DRM, and poor optimization... but who knows, this could be good after some patches to fix the messed up colors and not working at all on Android N, but who knows.

-Ric-

  • *
  • Posts: 321
  • .
    • View Profile
Re: FF7 released on Android
« Reply #1 on: 2016-07-09 20:07:46 »
Doesn't even open on my S7 for some reason... plus it comes with bugs "out of the box".
Straight from the description:
Quote
"[Read before playing]
Depending on the terrain and timing of the action, the buggy, submarines, airships, and other modes of transportation may cease to move when the player embarks or disembarks. Currently, the only fix is to restart the game from a data file saved before the bug occurred. We recommend saving frequently and/or utilizing multiple save files. This bug occurs most often when players embark or disembark while extremely close to the terrain, as well as during time-sensitive activities for events.

Please note that the game will not save automatically when escaping from a battle on the world map, even if the Auto Save function is set to the ON setting."

I suggest everyone stay away from it until they sort that out.

Maki

  • 0xBAADF00D
  • *
  • Posts: 621
  • 0xCCCCCCCC
    • View Profile
Re: FF7 released on Android
« Reply #2 on: 2016-07-09 21:51:55 »
.OBB file analysis:
Code: [Select]
    \---ff7_1.02
    |   APP.LOG
    |   ff7.exe
    |   ff7input.cfg
    |   ff7_de.exe
    |   ff7_en.exe
    |   ff7_es.exe
    |   ff7_fr.exe
    |   ff7_ja.exe
    |   
    \---data
        +---battle
        |       battle.lgp
        |       enemy012.dat
        |       enemy331.dat
        |       kage.dat
        |       magic.lgp
        |       mark.dat
        |       rain7.tex
        |       seffect1.tex
        |       seffect2.tex
        |       seffect3.tex
        |       sky_a.lmd
        |       sky_b.ply
        |       sky_c.lmd
        |       sky_d.ply
        |       STAGE57.DAT
        |       
        +---cd
        |       cr_as.lgp
        |       cr_fr.lgp
        |       cr_gm.lgp
        |       cr_sp.lgp
        |       cr_us.lgp
        |       disc_fr.lgp
        |       disc_gm.lgp
        |       disc_sp.lgp
        |       disc_us.lgp
        |       moviecam.lgp
        |       
        +---field
        |       char.lgp
        |       fflevel.lgp
        |       flevel.lgp
        |       gflevel.lgp
        |       jfleve.lgp
        |       sflevel.lgp
        |       
        +---lang-de
        |   +---battle
        |   |       camdat0.bin
        |   |       camdat1.bin
        |   |       camdat2.bin
        |   |       co.bin
        |   |       scene.bin
        |   |       
        |   +---kernel
        |   |       kernel.bin
        |   |       kernel2.bin
        |   |       window.bin
        |   |       
        |   \---movies
        |           ending2.webm
        |           jenova_e.webm
        |           
        +---lang-en
        |   +---battle
        |   |       camdat0.bin
        |   |       camdat1.bin
        |   |       camdat2.bin
        |   |       co.bin
        |   |       scene.bin
        |   |       
        |   +---kernel
        |   |       kernel.bin
        |   |       kernel2.bin
        |   |       window.bin
        |   |       
        |   \---movies
        |           ending2.webm
        |           jenova_e.webm
        |           
        +---lang-es
        |   +---battle
        |   |       camdat0.bin
        |   |       camdat1.bin
        |   |       camdat2.bin
        |   |       co.bin
        |   |       scene.bin
        |   |       
        |   +---kernel
        |   |       kernel.bin
        |   |       kernel2.bin
        |   |       window.bin
        |   |       
        |   \---movies
        |           ending2.webm
        |           jenova_e.webm
        |           
        +---lang-fr
        |   +---battle
        |   |       camdat0.bin
        |   |       camdat1.bin
        |   |       camdat2.bin
        |   |       co.bin
        |   |       scene.bin
        |   |       
        |   +---kernel
        |   |       kernel.bin
        |   |       kernel2.bin
        |   |       window.bin
        |   |       
        |   \---movies
        |           ending2.webm
        |           jenova_e.webm
        |           
        +---lang-ja
        |   +---battle
        |   |       camdat0.bin
        |   |       camdat1.bin
        |   |       camdat2.bin
        |   |       co.bin
        |   |       scene.bin
        |   |       
        |   +---kernel
        |   |       kernel.bin
        |   |       kernel2.bin
        |   |       window.bin
        |   |       
        |   \---movies
        |           ending2.webm
        |           jenova_e.webm
        |           
        +---menu
        |       menu_fr.lgp
        |       menu_gm.lgp
        |       menu_ja.lgp
        |       menu_sp.lgp
        |       menu_us.lgp
        |       
        +---midi
        |   |   awe.lgp
        |   |   midi.lgp
        |   |   xg.lgp
        |   |   ygm.lgp
        |   |   
        |   \---sf2
        |           FF7.sf2
        |           FF7m.sf2
        |           ff7s.SF2
        |           lb2.SF2
        |           
        +---minigame
        |       chocobo.lgp
        |       coaster.lgp
        |       condor.lgp
        |       condorj.lgp
        |       fchocobo.lgp
        |       fcondor.lgp
        |       fsub.lgp
        |       gchocobo.lgp
        |       gcondor.lgp
        |       gsub.lgp
        |       high-fr.lgp
        |       high-ge.lgp
        |       high-sp.lgp
        |       high-us.lgp
        |       schocobo.lgp
        |       scondor.lgp
        |       snowboard-fr.lgp
        |       snowboard-ge.lgp
        |       snowboard-sp.lgp
        |       snowboard-us.lgp
        |       ssub.lgp
        |       sub.lgp
        |       
        +---movies
        |       biglight.webm
        |       bike.webm
        |       biskdead.webm
        |       boogdemo.webm
        |       boogdown.webm
        |       boogstar.webm
        |       boogup.webm
        |       brgnvl.webm
        |       canon.webm
        |       canonh1p.webm
        |       canonh3f.webm
        |       canonht0.webm
        |       canonht1.webm
        |       canonht2.webm
        |       canonon.webm
        |       car_1209.webm
        |       c_scene1.webm
        |       c_scene2.webm
        |       c_scene3.webm
        |       dumcrush.webm
        |       d_ropego.webm
        |       d_ropein.webm
        |       earithdd.webm
        |       eidoslogo.webm
        |       ending1.webm
        |       ending3.webm
        |       explode.webm
        |       fallpl.webm
        |       fcar.webm
        |       feelwin0.webm
        |       feelwin1.webm
        |       fship2.webm
        |       funeral.webm
        |       gelnica.webm
        |       gold1.webm
        |       gold2.webm
        |       gold3.webm
        |       gold4.webm
        |       gold5.webm
        |       gold6.webm
        |       gold7.webm
        |       gold7_2.webm
        |       greatpit.webm
        |       hiwind0.webm
        |       hwindfly.webm
        |       hwindjet.webm
        |       jairofal.webm
        |       jairofly.webm
        |       junair_d.webm
        |       junair_u.webm
        |       junelego.webm
        |       junelein.webm
        |       junin_go.webm
        |       junin_in.webm
        |       junon.webm
        |       junsea.webm
        |       last4_2.webm
        |       last4_3.webm
        |       last4_4.webm
        |       lastflor.webm
        |       lastmap.webm
        |       loslake1.webm
        |       lslmv.webm
        |       mainplr.webm
        |       meteofix.webm
        |       meteosky.webm
        |       mk8.webm
        |       mkup.webm
        |       monitor.webm
        |       mtcrl.webm
        |       mtnvl.webm
        |       mtnvl2.webm
        |       nivlsfs.webm
        |       northmk.webm
        |       nrcrl.webm
        |       nrcrl_b.webm
        |       nvlmk.webm
        |       ontrain.webm
        |       opening.webm
        |       parashot.webm
        |       phoenix.webm
        |       plrexp.webm
        |       rckethit0.webm
        |       rckethit1.webm
        |       rcketoff.webm
        |       rcktfail.webm
        |       setogake.webm
        |       smk.webm
        |       southmk.webm
        |       sqlogo.webm
        |       staffroll.webm
        |       u_ropego.webm
        |       u_ropein.webm
        |       weapon0.webm
        |       weapon1.webm
        |       weapon2.webm
        |       weapon3.webm
        |       weapon4.webm
        |       weapon5.webm
        |       wh2e2.webm
        |       white2.webm
        |       zmind01.webm
        |       zmind02.webm
        |       zmind03.webm
        |       
        +---music
        |       heart.wav
        |       music.idx
        |       sato.wav
        |       sensui.wav
        |       wind.wav
        |       
        +---music_2
        |       aseri.akb
        |       aseri.akb.ogg
        |       aseri2.akb
        |       ayasi.akb
        |       barret.akb
        |       bat.akb
        |       bee.akb
        |       bokujo.akb
        |       boo.akb
        |       cannon.akb
        |       canyon.akb
        |       cephiros.akb
        |       chase.akb
        |       chu.akb
        |       chu2.akb
        |       cinco.akb
        |       cintro.akb
        |       comical.akb
        |       condor.akb
        |       corel.akb
        |       corneo.akb
        |       costa.akb
        |       crlost.akb
        |       crwin.akb
        |       date.akb
        |       dokubo.akb
        |       dun2.akb
        |       earis.akb
        |       earislo.akb
        |       elec.akb
        |       fan2.akb
        |       fanfare.akb
        |       fiddle.akb
        |       fin.akb
        |       geki.akb
        |       gold1.akb
        |       guitar2.akb
        |       gun.akb
        |       hen.akb
        |       hiku.akb
        |       horror.akb
        |       iseki.akb
        |       jukai.akb
        |       junon.akb
        |       jyro.akb
        |       ketc.akb
        |       kita.akb
        |       kurai.akb
        |       lb1.akb
        |       lb2.akb
        |       ld.akb
        |       makoro.akb
        |       mati.akb
        |       mekyu.akb
        |       mogu.akb
        |       mura1.akb
        |       nointro.akb
        |       oa.akb
        |       ob.akb
        |       odds.akb
        |       over2.akb
        |       parade.akb
        |       pj.akb
        |       pre.akb
        |       red.akb
        |       rhythm.akb
        |       riku.akb
        |       ro.akb
        |       rocket.akb
        |       roll.akb
        |       rukei.akb
        |       sadbar.akb
        |       sadsid.akb
        |       sea.akb
        |       seto.akb
        |       si.akb
        |       sid2.akb
        |       sido.akb
        |       siera.akb
        |       sinra.akb
        |       sinraslo.akb
        |       snow.akb
        |       ta.akb
        |       tb.akb
        |       tender.akb
        |       tifa.akb
        |       tm.akb
        |       utai.akb
        |       vincent.akb
        |       walz.akb
        |       weapon.akb
        |       yado.akb
        |       yufi.akb
        |       yufi2.akb
        |       yume.akb
        |       
        +---sound
        |       audio.dat
        |       audio.fmt
        |       
        \---wm
                WM0.BOT
                WM0.MAP
                WM2.BOT
                WM2.MAP
                WM3.BOT
                WM3.MAP
                world_fr.lgp
                world_gm.lgp
                world_ja.lgp
                world_sp.lgp
                world_us.lgp
               

exe files are compiled with C++
Their PE is normally supported with Windows
Most of the files are big LGP archives. I'm not faimiliar with FF7, but:
data\midi\ files are LGP archives of real MIDI files. They appear to use different instruments for different sound device
Movies are in WEBM format
eidoslogo.webm is in fact the "Square-enix" modern logo
/data/music contains .wav files (playable)
/data/music2 contains .AKB files, that are not playable, but after opening with hex editor you can see, that they contain OggS magic at 0xCC, so simple delete first 204 bytes and save as .OGG. Voila, purest OGG music file

/data/sound/ contains the same files as FFVIII do in /audio/ - the audio.dat and audio.fmt (I mean the extensions, the file structure, not the same songs :D )

Starting ff7.exe makes the game output ds:MessageBoxA with:
"Please insert FF7 Game Disc 1, 2, or 3 and try again."
Then shows black window and closes automatically.

Starting ff7_en.exe displays error for no AF3DN.p file

I tried cracking the game by putting assembly hack:
.text:0040A355                 jz      short loc_40A379

The game displayed the "insert disc" error no more, loaded dinput.dll and put me in fullscreen but closed immidiately.

That's all for now.. FF7 is no my territory, but I think this is some mixup of Steam version and PC version? 

I haven't touched the classes.dex in APK anyway, although I think it's not worth looking at..

UPDATE:
ff7_en.exe has .dotemu section, I've seen such thing in Steam versions.
« Last Edit: 2016-07-10 15:29:10 by Maki »

Fendera

  • *
  • Posts: 41
  • Your friendly neighbor :D
    • View Profile
Re: FF7 released on Android
« Reply #3 on: 2016-07-10 09:58:50 »
Can't believe Square Enix released such a mess. The Android version is full of bugs right now, the cutscenes with weird colors and so on..  poor midi soundfiles. Refund.

-Ric-

  • *
  • Posts: 321
  • .
    • View Profile
Re: FF7 released on Android
« Reply #4 on: 2016-07-10 13:33:00 »
They should have done what they did with FF9... Proper  touch controls with slightly updated graphics and battle interface. Instead they released a piece of crap that appears to be nothing more than the PC version being emulated with a crappy virtual keyboard applied on top and BUGS, lots of bugs.

itoikenza

  • *
  • Posts: 47
  • Chrono Cross Modder: http://pastebin.com/fuj8s836
    • View Profile
    • Chrono Cross Hacking Wish List!
Re: FF7 released on Android
« Reply #5 on: 2016-07-27 17:50:18 »
damn.

Fischkopf

  • *
  • Posts: 217
    • View Profile
Re: FF7 released on Android
« Reply #6 on: 2016-07-28 16:55:11 »
Let me guess, it probably has the same bug as the PS4 version (still unfixed i might add) where the music track restarts after battles instead of continuing?

sithlord48

  • *
  • Posts: 1634
  • Dark Lord of the Savegame
    • View Profile
    • Blackchocobo
Re: FF7 released on Android
« Reply #7 on: 2016-07-29 12:22:32 »
come on why is anyone suprised by this we know for a fact they don't have source for ff7 . Without the source all they can do it either emulate the pc or psx copy.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: FF7 released on Android
« Reply #8 on: 2016-07-29 15:42:25 »
come on why is anyone suprised by this we know for a fact they don't have source for ff7 . Without the source all they can do it either emulate the pc or psx copy.

Exactly.  Also, why are people obsessed with buying this game... again.  Don't we all have this already?  It seems everyone wants this game on every system and every place.  If we had fridge magnets capable of playing the game, Enix would be there to sell them.

Covarr

  • Covarr-Let
  • Administrator
  • *
  • Posts: 3941
  • Just Covarr. No "n".
    • View Profile
Re: FF7 released on Android
« Reply #9 on: 2016-07-29 16:00:08 »
come on why is anyone suprised by this we know for a fact they don't have source for ff7 . Without the source all they can do it either emulate the pc or psx copy.
The surprise isn't that they're emulating the PC copy, but that they're doing such a poor job of it. The PS4 and iOS versions mostly worked pretty well, but Square Enix seemingly has a hate-on (or at best complete apathy) for Android so this version is much worse than any other released in the past decade. That they have the audacity to charge more for this broken port than for the far superior (as in actually working) Steam version is just despicable.

KnifeTheSky77

  • *
  • Posts: 548
  • Somnambulistic Paraphile
    • View Profile
Re: FF7 released on Android
« Reply #10 on: 2016-07-29 19:17:15 »
It is a little sad when I can clearly see that the devs didn't adhere to the fragment life cycle in their app appropriately. I mean come on,