Author Topic: OpenVIII - an open-source Final Fantasy VIII engine implementation  (Read 6189 times)

LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
Here's the disk tree (spoiler instead of code to keep the base message short)
Spoiler: show

Folder PATH listing
Volume serial number is 20FB-C599
C:.
|   tree.txt
|   
+---FF8
    |   binkw32.dll
    |   Chocobo.exe
    |   FF8.exe
    |   FF8Config.exe
    |   ff8input.cfg
    |   publish.pak
    |   Readme.txt
    |   Uninst.isu
    |   
    +---Data
    |   |   battle.fi
    |   |   battle.fl
    |   |   battle.fs
    |   |   field.fi
    |   |   field.fl
    |   |   field.fs
    |   |   magic.fi
    |   |   magic.fl
    |   |   magic.fs
    |   |   main.fi
    |   |   main.fl
    |   |   main.fs
    |   |   menu.fi
    |   |   menu.fl
    |   |   menu.fs
    |   |   world.fi
    |   |   world.fl
    |   |   world.fs
    |   |   
    |   +---Music
    |   |   +---dmusic
    |   |   |       000s-lose.sgt
    |   |   |       001s-win.sgt
    |   |   |       001xg-win.sgt
    |   |   |       004s-run.sgt
    |   |   |       005s-battle.sgt
    |   |   |       005xg-Battle.sgt
    |   |   |       007s-end.sgt
    |   |   |       008s-antena.sgt
    |   |   |       009s-waiting.sgt
    |   |   |       012s-kani.sgt
    |   |   |       013s-battle2.sgt
    |   |   |       013xg-Battle2.sgt
    |   |   |       014s-Parade2.sgt
    |   |   |       015s-fuan2.sgt
    |   |   |       016s-march2.sgt
    |   |   |       017s-joriku.sgt
    |   |   |       018s-julia.sgt
    |   |   |       019s-waltz.sgt
    |   |   |       020s-friend.sgt
    |   |   |       021s-dangeon.sgt
    |   |   |       022s-pianosol.sgt
    |   |   |       023s-Parade.sgt
    |   |   |       024s-march1.sgt
    |   |   |       025s-himitsu.sgt
    |   |   |       026s-garden.sgt
    |   |   |       027s-fuan.sgt
    |   |   |       028s-polka2.sgt
    |   |   |       029s-anthem.sgt
    |   |   |       035s-m7f5.sgt
    |   |   |       036s-majo.sgt
    |   |   |       041s-field.sgt
    |   |   |       042s-guitar.sgt
    |   |   |       043a-concert-tap.sgt
    |   |   |       043b-concert-flute.sgt
    |   |   |       043c-concert-fiddle.sgt
    |   |   |       043d-concert-aguitar.sgt
    |   |   |       043e-concert-sax.sgt
    |   |   |       043f-concert-piano.sgt
    |   |   |       043g-concert-eguitar.sgt
    |   |   |       043h-concert-ebass.sgt
    |   |   |       046s-resistan.sgt
    |   |   |       047s-kaiso.sgt
    |   |   |       047xg-Kaiso.sgt
    |   |   |       048s-horizon.sgt
    |   |   |       049s-master.sgt
    |   |   |       051s-rinoa.sgt
    |   |   |       052s-travia.sgt
    |   |   |       053s-antena2.sgt
    |   |   |       054s-truth.sgt
    |   |   |       055s-jail.sgt
    |   |   |       056s-gargarde.sgt
    |   |   |       057s-timber.sgt
    |   |   |       058s-garbadia.sgt
    |   |   |       059s-pinch.sgt
    |   |   |       060s-scene1.sgt
    |   |   |       061s-pub.sgt
    |   |   |       062s-bat3.sgt
    |   |   |       063s-stage.sgt
    |   |   |       064s-choco.sgt
    |   |   |       065s-white.sgt
    |   |   |       066s-majomv.sgt
    |   |   |       067s-musho.sgt
    |   |   |       068s-missile.sgt
    |   |   |       069s-enzetu.sgt
    |   |   |       070s-card.sgt
    |   |   |       071s-gomon.sgt
    |   |   |       072s-soto.sgt
    |   |   |       073s-majobat.sgt
    |   |   |       075s-Gar3.sgt
    |   |   |       076s-Bossbat2.sgt
    |   |   |       077s-lasdun.sgt
    |   |   |       078s-gafly.sgt
    |   |   |       079s-demo.sgt
    |   |   |       080s-spy.sgt
    |   |   |       081s-mods.sgt
    |   |   |       082s-salt.sgt
    |   |   |       083s-alien.sgt
    |   |   |       084s-sekichu.sgt
    |   |   |       085s-esta.sgt
    |   |   |       086s-moonmv.sgt
    |   |   |       089s-hikutei.sgt
    |   |   |       090s-bossbat1.sgt
    |   |   |       091s-rag1.sgt
    |   |   |       092s-rag2.sgt
    |   |   |       093s-lasboss.sgt
    |   |   |       096s-keisho.sgt
    |   |   |       097s-ashuku.sgt
    |   |   |       099-joriku2.sgt
    |   |   |       chocoworld.sgt
    |   |   |       FF8.dls
    |   |   |       XGdefault.sgt
    |   |   |       Xgon.sgt
    |   |   |       
    |   |   +---stream
    |   |           003-combat.wav
    |   |           006-funsui.wav
    |   |           010-ante.wav
    |   |           011-wind.wav
    |   |           030-Flangchorus.wav
    |   |           031-dubchorus.wav
    |   |           032-Solochorus.wav
    |   |           033-Femalechorus.wav
    |   |           034-chorus.wav
    |   |           037-reet.wav
    |   |           038-soyo.wav
    |   |           039-rouka.wav
    |   |           040-night.wav
    |   |           044-sea.wav
    |   |           074-train.wav
    |   |           086-mdmotor.wav
    |   |           087-mdmotor.wav
    |   |           094-laswhite.wav
    |   |           095-lasbl.wav
    |   |           
    |   +---Sound
    |           audio.dat
    |           audio.fmt
    |           
    +---Save
        +---Slot1
        +---Slot2

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
What? They keep the saves in the ff8 folder? Is that really where they write to? I was going to ask about that anyway because steam saves it in my documents. I also was hoping to get a sample save file to see how it's different from the steam version. Main reason that confuses me is program files would be write protected so you'd need to play in admin mode if you installed it there. :P

Did you not do a full install? looks like the movies are missing. I think it'll be required. I think on FF7 98 cd you had an option to install everything to the hard drive. If not we'll need logic to check the cds for the movies and we currently scan the folder for the movies we don't have a hard coded list. :P I guess you could add your cd as a folder to scan. Though you'd need to rerun scan every time you do a disc swap. I did a recent change to make it so if movies don't exist it should just skip playback.

At least the FI FL FS files are there sound files and music files. So we will need to change the paths for everything. So it can find them correctly. I'm thinking to change the main directory to the FF8 folder. Instead of lang-en. Then in the part where the FI FL FS files are defined I'd check for the lang-en exists.

Did you want me to work on the changes or did you want to do them and do a pull request?
« Last Edit: 2019-05-02 13:03:10 by Sebanisu »

LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
What? They keep the saves in the ff8 folder? is that really where they write to? I was going to ask about that anyway because steam saves it in my documents. I also was hoping to get a sample save file to see how it's different from the steam version.
A-yup... I'll Google Drive a save straight off the opening movie later today (EDIT: https://drive.google.com/open?id=1vc08Yy0P4RS54QrTJtGAD2VYpbmPs7W0).  I don't think the format is all that different, at least as far as spells are concerned, because I'm able to hack in plenty of them with Hyne.

Did you not do a full install? looks like the movies are missing. I think it'll be required. I think on FF7 98 cd you had an option to install everything to the hard drive. If not we'll need logic to check the cds for the movies and we currently scan the folder for the movies we don't have a hard coded list. :P I guess you could add your cd as a folder to scan. Though you'd need to rerun scan every time you do a disc swap. I did a recent change to make it so if movies don't exist it should just skip playback.
Yes, full install (FF8 Program Files 303424K, Optional Game Data 287392K).  Movies are probably only on the CDs (a different copy protection mechanism from FF7?).  Also keep in mind that in 2000, OEM hard drives from companies like Dell and Gateway were only in the double-digit gigabyte range, so space was still something of a luxury.  These are the contents of disk 1:
Spoiler: show

Directory of D:\

11/16/1999  07:30 AM       411,254,120 disc1.pak
11/17/1999  07:33 AM                 2 Disk1
11/22/1999  01:02 PM            32,400 field.fi
11/22/1999  12:40 PM           122,271 field.fl
11/22/1999  01:01 PM       294,122,967 field.fs



Did you want me to work on the changes or did you want to do them and do a pull request?
You'll have to be the code wizard... I haven't touched any flavor of C since undergrad 20+ years ago, so while I can navigate build tools, as well as read and (sometimes) understand what's taking place, useful code isn't going to be streaming from my keyboard :(

Second edit: Curiously, the game kept crashing to desktop until after I had dropped aali's driver in place.  I don't think the driver itself was the solution, but rather that EAX.DLL was missing from the FF8 folder despite the installer having claimed that it was successfully loaded.  I didn't notice this on my first install because I just drop aali by habit, and things "just worked."
« Last Edit: 2019-05-02 14:36:30 by LordUrQuan »

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
Looks like to get the movies you need to use http://mirex.mypage.sk/index.php?selected=1 < unmass tool referenced in http://forums.qhimm.com/index.php?topic=4114.msg55983#msg55983. And the videos aren't in avi/mkv form. it's possible FFMPEG can still play it back won't know till we try. I think they said they are BIK files. I'd see about unmassing the pak files for the videos and putting them in your ff8\movies along with and cam files that might be there too. We might eventually add support for the PAK format natively but I'm unsure where to start on that.
per https://trac.ffmpeg.org/ticket/3266 BIK files should be recognized by ffmpeg.

To summarize unmass PAK files. Put BIK and CAM files into ff8\movies. I'll need to make the code scan for them as well.

I'll work on updating the the code. You might have to pull from my fork to test before we update the master. I'll post when I've done the changes. I might have to run an errand today. And I work Friday - Sunday. So hopefully we can get it working today. :P

LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
No luck on that... unmass reads the FI files, but not the PAK (complains about unknown file format).  Dragon unpacker isn't doing any better... going to poke around Google and see what else may exist... In the meanwhile, which branch/repo should I be following for your edits?

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
I went ahead and did a pull request as the changes shouldn't of broken anything. So you should be able to download the new code. And give it a try.

If you can't get the movies right away it shouldn't matter. The code should skip that part if it doesn't see them.

The save files are the same in both versions. So just added the location to scan. Though it checks the steam save folder first and only checks the other if it can't find it.

I'll try to read more about the pak files. one site said they might be zip or rar files. might try renaming them to see if you can open them that way.

Maki has https://github.com/MaKiPL/FF8-Rinoa-s-Toolset that might open the pak files. yes under Tools>Movie Extractor .PAK
« Last Edit: 2019-05-02 17:59:20 by Sebanisu »

LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
Maki has https://github.com/MaKiPL/FF8-Rinoa-s-Toolset that might open the pak files. yes under Tools>Movie Extractor .PAK
Success!! Though there's nothing to suggest what the extracted filenames should be, just a sequential ID number of the movie within the PAK file.

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
Well the steam version has disc00_00h.avi where disc00 is disc 1. As long as it's in the same order it should work. As we don't care what the names are we just care about what order they are in the directory. I can make the code search subfolders if you want. then you can put the movies unpacked from disc1 into disc00 folder instead of renaming all the files. :)


I just did that quick change. if you wanna download the change.

There might be an issue where some videos are on more than one disc. Where on the steam version we only have one copy of each video. Might take some fiddling to figure out which ones are duplicates.

« Last Edit: 2019-05-02 18:50:36 by Sebanisu »

LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
Well the steam version has disc00_00h.avi where disc00 is disc 1. As long as it's in the same order it should work. As we don't care what the names are we just care about what order they are in the directory. I can make the code search subfolders if you want. then you can put the movies unpacked from disc1 into disc00 folder instead of renaming all the files. :)
Should probably do whatever will make it easiest in the long-term for any modders and upscalers who follow behind us. You and Maki are the brains of the outfit ;)

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
I've only been working on the "easier" stuff. :P Maki started this project. Him and Albeoris are doing the more complex stuff.

I don't know if i was clear on my last post but you should be able to put the movie files in ff8\movies\disc00, 01, 02, and 03. Though like I said there will be probably be duplicates. If everything's working you should be able to see the videos play on the debug screen. Eventually we can make a list of the movies that need to be pulled from each disc and which ones we don't need.

LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
After many contortions getting my home system set up, I have what I *think* is a successful build?
C:\Users\Raistlin\Source\Repos\MaKiPL\OpenVIII\FF8\bin\x64\Debug\FF8.exe   451KB

Except it doesn't actually do anything besides create a black box in the center of my screen, even after plopping it (and all those support files) right on top of the original install.  The only things I saw pass by in the build window were a ton of variables never being used, a handful of unreachable code segments, and some warnings about function obsolescence.

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
The warnings are just wip code. Like I recently uncommented a large struct in saves that I haven't implement yet. Because it's hundreds of variables. Black screen should be a movie playing the squaresoft logo then the overture starts playing. Then main menu. You can press enter to skip parts. I'm going to work. Have a good day.

Sent from my Pixel XL using Tapatalk


LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
Ok... seems there really is a problem with my build beyond missing movies.  Behind the black box was an "FF8 has stopped working" error box.  Info inside it:
Code: [Select]
Problem signature:
  Problem Event Name: CLR20r3
  Problem Signature 01: FF8.exe
  Problem Signature 02: 1.0.0.0
  Problem Signature 03: 5ccbb555
  Problem Signature 04: FF8
  Problem Signature 05: 1.0.0.0
  Problem Signature 06: 5ccbb555
  Problem Signature 07: 8
  Problem Signature 08: 7e
  Problem Signature 09: System.Exception
  OS Version: 6.1.7601.2.1.0.256.48
  Locale ID: 1033
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt

Hopefully there's something in there to tell whether I have a build setting wrong, or if it's another CD vs. Steam issue.  In the meanwhile, I used Rinoa's TS to map out the BIK movies (there are no CAM), and came up with this:
Disk 1
Spoiler: show
1   Intro to Balamb Garden
2   Meeting Quistis
3   Meeting Zell
4   Skiffs attacking Dollet
5   Meeting Selphie
6   Dollet sat dish activation
7   ATM crushes the happy car
8   ATM trashes the town, ‘til Quistis puts it down
9   Squall and Rinoa meet
10   Come dance with me, you’ll love it!
11   Insertion of Timber Owls’ train cars
12   Separating with the President’s car
13   TV station fade-out
14   Someone knocked over the camera
15   Intro to Galbadia Garden
16   Meeting Irvine
17   Escalator up to Galbadia town square
18   Meeting Edea
19   Edea approaches the podium
20   Edea’s fast zoom-out to town square
21   Stone lizards are real lizards, didn’ja know?
22   The parade begins
23   The parade continues
24   Seifer’s on that float!!
25   The clock tower rises
26   Trapping Edea
27   Sending the signal
28   Squall attacks…
29   … and Seifer’s waiting
30   Sub-Zero wins.  Flawless victory.
31   Opening movie

Disk 2
Spoiler: show
1   Moving prison cell canisters
2   View of the desert prison
3   Retracting the walkways
4   Gooooiiinnggg down!
5   Fire ze missiles!
6   Missile launchers go boom
7   The base also goes boom
8   Missiles in the cloudy sky
9   Missile wing, skim the seas
10   BalGard controls activate
11   BalGard energizes
12   The missiles miss, BalGard survives
13   The missiles hit… Redo from save?
14   BalGard gliding over the plains, without Rinoa
15   BalGard gliding over the plains, with Rinoa
16   BalGard runs over Ma Dincht’s
17   BalGard takes to the seas
18   Time for an ocean rest
19   Meeting the White SeeD ship
20   Crashing into FH
21   Mirrored coliseum
22   GalGard spotted
23   Galbadians scare off Bambi
24   Galbadian lawnmower
25   ShinRa motorcycles, hasshin!!!
26   Glancing blows to the gardens, Rinoa falls down
27   GalGard grinds the side
28   GalGard lines up for another pass
29   GalGard lined up and crashing in
30   ShinRa mobile infantry, launch!
31   GalGard really needs to learn how to drive
32   BalGard counter-crashes
33   Someone deploys the emergency slide
34   Squall rescues Rinoa

Disk 3
Spoiler: show
1   Esthar becomes visible
2   Taking the panel tram into Esthar
3   Esthar rent-a-car
4   Returning Esthar’s car
5   Magic carpet ride
6   Now arriving at gate…
7   Capsule arrives at…
8   Railguns shoot us into space
9   Orbit achieved
10   Catching capsules
11   Sir… the moon!!!
12   Spysat takes more pics
13   Pandora visits town
14   Pandora lines up for activation
15   Lunar cry begins
16   Adel awakens
17   Escape the station!
18   Rinoa’s foggin’ the glass
19   Getting sleepy…
20   How about I take a nap?
21   Is that going to be my wedding ring?
22   Skroob agrees, nothing like Perri-Air
23   The cry in full effect
24   Squall and Rinoa see the Ragnarok
25   Ragnarok tumbling
26   Boarding Ragnarok
27   You will not turn my girl into a popsicle
28   Ragnarok gunning for Pandora
29   Full speed ahead, Ragnaroks
30   All weapons, keep firing!
31   The cry has landed
32   Pretty blue globe, monsters move in

Disk 4 (which I think is missing a ton, most notably the "Game Victory" and closing credits FMVs)
Spoiler: show
1   Seifer introduces Rinoa to Adel
2   Time compression aquarium
3   Ultimecia’s castle
4   Meeting Ultimecia?
« Last Edit: 2019-05-04 01:12:13 by LordUrQuan »

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
I read that there was low res and high res movies. I wonder if some videos only have the low res versions on the disc.  at least from what i see of the first 3 discs things look pretty similar to the steam version. The cam data might not be needed as we currently aren't using it.

I might put that list into the code to make it easier to tell which movie is what. :)

Now for some stabs in the dark since I'm unsure why it's not working I'm gonna list some ideas.

One thing I was wondering is if you had all the required libraries installed. I assumed you did or else it wouldn't let you build I think. If you goto Tools > NuGet Package Manager >  Manage NuGet Packages for solution. You should have:
Code: [Select]
FFmpeg.AutoGen v4.1.0.4
MonoGame.Framework.DesktopGL v3.7.1.189
MonoGame.Framework.DesktopGL.Core v3.7.0.7
MonoGame.Framework.OpenGL v3.7.1.189
NAudio v1.8.5
NAudio.Vorbis v1.0.0
NVorbis v0.8.6

Maybe you could put a breakpoint in Game1.cs maybe at the start of Initialize(). Just see to if the code fails right at the start or if it stops at a certain point. I'd step over stuff at first to see how far you get than step into a function it crashes on. Assuming it lets ya.

https://stackoverflow.com/questions/4052770/deciphering-the-net-clr20r3-exception-parameters-p1-p10 has some info how to read those CLR20r3 messages. I am unsure if I can run the command on my FF8.exe or if i'd need your build to see the issue.

Might be worth trying to Build -> Clean Solution.

lol it's late i should get going.

Maybe Maki will have some ideas when they get back.
« Last Edit: 2019-05-04 02:30:15 by Sebanisu »

LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
Quote from: Sebanisu
I read that there was low res and high res movies. I wonder if some videos only have the low res versions on the disc.  at least from what i see of the first 3 discs things look pretty similar to the steam version. The cam data might not be needed as we currently aren't using it.
Rinoa's Toolset just lists a ton of ID+offset+length, and has buttons to extract either the high res or low res.  Only four videos are listed in the disk4.pak file, so something must be different about it compared to the other three that's confusing the extractor.

Quote from: Sebanisu
One thing I was wondering is if you had all the required libraries installed. I assumed you did or else it wouldn't let you build I think. If you goto Tools > NuGet Package Manager >  Manage NuGet Packages for solution. You should have:
Code: [Select]
FFmpeg.AutoGen v4.1.0.4
MonoGame.Framework.DesktopGL v3.7.1.189
MonoGame.Framework.DesktopGL.Core v3.7.0.7
MonoGame.Framework.OpenGL v3.7.1.189
NAudio v1.8.5
NAudio.Vorbis v1.0.0
NVorbis v0.8.6
All libraries and versions match.  Any way to make sure I didn't forget to include some piece of VS itself?  I just mashed the options that seemed to make the most sense, so it's entirely possible that something did get left out at the IDE level rather than the imported libraries.

Quote from: Sebanisu
Maybe you could put a breakpoint in Game1.cs maybe at the start of Initialize(). Just see to if the code fails right at the start or if it stops at a certain point. I'd step over stuff at first to see how far you get than step into a function it crashes on. Assuming it lets ya.
You'll have to feed me the code... I remember what a breakpoint is/does (we used them in my M6800 assembly class), but I have no idea how to insert them with C# (which hadn't been invented yet)

Quote from: Sebanisu
lol it's late i should get going.
Indeed... I've been told I'm taking the littles to some sort of kite flying thing tomorrow.  Hopefully there'll at least be some degree of wind...

Maki

  • Software hacker
  • Freak
  • *
  • Posts: 556
  • Karma: 113
  • Paranoid
    • View Profile
what really confuses me is why you receive such generic-looking error on debug builds
A few questions:
Which operating system are you on?
You mention VS, which version you use?

C# is perfect for debugging due to JIT technology. I'll show you some instructions for VS2017:
First choose valid build configuration for your operating system:

Naturally I'm on Windows so I'm choosing WindowsDebug



Now, there is one remaining option: x86 and x64 (green arrow). There's no much difference other than that x64 does NOT use the crappy direct DirectSound wrapper (I mean wrapper is cool, but whole DirectSound is NO-NO as of today). For maximum stability I recommend choosing x64.
Now simply hit "Run" (red arrow) and before the game will strawberries itself the code will show exactly why, where and what's wrong

The same behaviour applies to MonoDevelop. Choosing build to DebugLinux, choosing either x86/x64 (doesn't matter here, DirectSound is disabled anyway on Linux) and hitting 'Debug...' or something like this, don't really remember now

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
Oh to make a breakpoint you need to click the area to the left of a line number. If you did it right a red circle will show up. Then the debugger will stop there when it is about to run that line.

Sent from my Pixel XL using Tapatalk


LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
Quote from: Maki
what really confuses me is why you receive such generic-looking error on debug builds
A few questions:
Which operating system are you on?
You mention VS, which version you use?
OS - Win7 Pro x64 inside Virtualbox 6.0.6 (video "card" is VBoxVGA... the new VBoxSVGA, while supposedly better, doesn't support OpenGL 2 at all, and hasn't been very good with DirectX either)
VS 2017 Community

Quote from: Maki
I'll show you some instructions for VS2017
Your screenshots made it obvious... I'm still a noob when it comes to IDEs and was doing it all wrong ;)  I had been hitting \Build\Build Solution, then taking the (supposedly successful) results and dropping those in my FF8 folder.  Hitting 'Start' within VS is a bit more useful... the crash (even without breakpoint) appears to be happening in ArchiveWorker.cs line 25, looking for C:\Games\FF8\Data\Data\menu.fi. https://imgur.com/a/F2fNjBK

Edit:  Here's my file structure after extracting all the movies:
Spoiler: show
Folder PATH listing
Volume serial number is 20FB-C599
C:\Games
|   newtree.txt
|   
+---FF8
    |   app.log
    |   binkw32.dll
    |   Chocobo.exe
    |   eax.dll
    |   EAXUnified.exe
    |   ff7_opengl.cfg
    |   ff7_opengl.fgd
    |   ff7_opengl.reg
    |   FF8.exe
    |   FF8Config.exe
    |   ff8input.cfg
    |   ff8_opengl.cfg
    |   FF8_Patch12.txt
    |   publish.pak
    |   Readme.txt
    |   Uninst.isu
    |   
    +---Data
    |   |   battle.fi
    |   |   battle.fl
    |   |   battle.fs
    |   |   field.fi
    |   |   field.fl
    |   |   field.fs
    |   |   magic.fi
    |   |   magic.fl
    |   |   magic.fs
    |   |   main.fi
    |   |   main.fl
    |   |   main.fs
    |   |   menu.fi
    |   |   menu.fl
    |   |   menu.fs
    |   |   world.fi
    |   |   world.fl
    |   |   world.fs
    |   |   
    |   +---Music
    |   |   +---dmusic
    |   |   |       000s-lose.sgt
    |   |   |       001s-win.sgt
    |   |   |       001xg-win.sgt
    |   |   |       004s-run.sgt
    |   |   |       005s-battle.sgt
    |   |   |       005xg-Battle.sgt
    |   |   |       007s-end.sgt
    |   |   |       008s-antena.sgt
    |   |   |       009s-waiting.sgt
    |   |   |       012s-kani.sgt
    |   |   |       013s-battle2.sgt
    |   |   |       013xg-Battle2.sgt
    |   |   |       014s-Parade2.sgt
    |   |   |       015s-fuan2.sgt
    |   |   |       016s-march2.sgt
    |   |   |       017s-joriku.sgt
    |   |   |       018s-julia.sgt
    |   |   |       019s-waltz.sgt
    |   |   |       020s-friend.sgt
    |   |   |       021s-dangeon.sgt
    |   |   |       022s-pianosol.sgt
    |   |   |       023s-Parade.sgt
    |   |   |       024s-march1.sgt
    |   |   |       025s-himitsu.sgt
    |   |   |       026s-garden.sgt
    |   |   |       027s-fuan.sgt
    |   |   |       028s-polka2.sgt
    |   |   |       029s-anthem.sgt
    |   |   |       035s-m7f5.sgt
    |   |   |       036s-majo.sgt
    |   |   |       041s-field.sgt
    |   |   |       042s-guitar.sgt
    |   |   |       043a-concert-tap.sgt
    |   |   |       043b-concert-flute.sgt
    |   |   |       043c-concert-fiddle.sgt
    |   |   |       043d-concert-aguitar.sgt
    |   |   |       043e-concert-sax.sgt
    |   |   |       043f-concert-piano.sgt
    |   |   |       043g-concert-eguitar.sgt
    |   |   |       043h-concert-ebass.sgt
    |   |   |       046s-resistan.sgt
    |   |   |       047s-kaiso.sgt
    |   |   |       047xg-Kaiso.sgt
    |   |   |       048s-horizon.sgt
    |   |   |       049s-master.sgt
    |   |   |       051s-rinoa.sgt
    |   |   |       052s-travia.sgt
    |   |   |       053s-antena2.sgt
    |   |   |       054s-truth.sgt
    |   |   |       055s-jail.sgt
    |   |   |       056s-gargarde.sgt
    |   |   |       057s-timber.sgt
    |   |   |       058s-garbadia.sgt
    |   |   |       059s-pinch.sgt
    |   |   |       060s-scene1.sgt
    |   |   |       061s-pub.sgt
    |   |   |       062s-bat3.sgt
    |   |   |       063s-stage.sgt
    |   |   |       064s-choco.sgt
    |   |   |       065s-white.sgt
    |   |   |       066s-majomv.sgt
    |   |   |       067s-musho.sgt
    |   |   |       068s-missile.sgt
    |   |   |       069s-enzetu.sgt
    |   |   |       070s-card.sgt
    |   |   |       071s-gomon.sgt
    |   |   |       072s-soto.sgt
    |   |   |       073s-majobat.sgt
    |   |   |       075s-Gar3.sgt
    |   |   |       076s-Bossbat2.sgt
    |   |   |       077s-lasdun.sgt
    |   |   |       078s-gafly.sgt
    |   |   |       079s-demo.sgt
    |   |   |       080s-spy.sgt
    |   |   |       081s-mods.sgt
    |   |   |       082s-salt.sgt
    |   |   |       083s-alien.sgt
    |   |   |       084s-sekichu.sgt
    |   |   |       085s-esta.sgt
    |   |   |       086s-moonmv.sgt
    |   |   |       089s-hikutei.sgt
    |   |   |       090s-bossbat1.sgt
    |   |   |       091s-rag1.sgt
    |   |   |       092s-rag2.sgt
    |   |   |       093s-lasboss.sgt
    |   |   |       096s-keisho.sgt
    |   |   |       097s-ashuku.sgt
    |   |   |       099-joriku2.sgt
    |   |   |       chocoworld.sgt
    |   |   |       FF8.dls
    |   |   |       XGdefault.sgt
    |   |   |       Xgon.sgt
    |   |   |       
    |   |   +---stream
    |   |           003-combat.wav
    |   |           006-funsui.wav
    |   |           010-ante.wav
    |   |           011-wind.wav
    |   |           030-Flangchorus.wav
    |   |           031-dubchorus.wav
    |   |           032-Solochorus.wav
    |   |           033-Femalechorus.wav
    |   |           034-chorus.wav
    |   |           037-reet.wav
    |   |           038-soyo.wav
    |   |           039-rouka.wav
    |   |           040-night.wav
    |   |           044-sea.wav
    |   |           074-train.wav
    |   |           086-mdmotor.wav
    |   |           087-mdmotor.wav
    |   |           094-laswhite.wav
    |   |           095-lasbl.wav
    |   |           
    |   +---Sound
    |           audio.dat
    |           audio.fmt
    |           
    +---direct
    |   +---battle
    |   +---char
    |   +---chocobo
    |   +---coaster
    |   +---condor
    |   +---cr
    |   +---disc
    |   +---flevel
    |   +---high
    |   +---magic
    |   +---menu
    |   +---midi
    |   +---moviecam
    |   +---snowboard
    |   +---sub
    |   +---world
    +---mods
    +---movies
    |   +---disc01
    |   |       01.bik
    |   |       02.bik
    |   |       03.bik
    |   |       04.bik
    |   |       05.bik
    |   |       06.bik
    |   |       07.bik
    |   |       08.bik
    |   |       09.bik
    |   |       10.bik
    |   |       11.bik
    |   |       12.bik
    |   |       13.bik
    |   |       14.bik
    |   |       15.bik
    |   |       16.bik
    |   |       17.bik
    |   |       18.bik
    |   |       19.bik
    |   |       20.bik
    |   |       21.bik
    |   |       22.bik
    |   |       23.bik
    |   |       24.bik
    |   |       25.bik
    |   |       26.bik
    |   |       27.bik
    |   |       28.bik
    |   |       29.bik
    |   |       30.bik
    |   |       31.bik
    |   |       
    |   +---disc02
    |   |       01.bik
    |   |       02.bik
    |   |       03.bik
    |   |       04.bik
    |   |       05.bik
    |   |       06.bik
    |   |       07.bik
    |   |       08.bik
    |   |       09.bik
    |   |       10.bik
    |   |       11.bik
    |   |       12.bik
    |   |       13.bik
    |   |       14.bik
    |   |       15.bik
    |   |       16.bik
    |   |       17.bik
    |   |       18.bik
    |   |       19.bik
    |   |       20.bik
    |   |       21.bik
    |   |       22.bik
    |   |       23.bik
    |   |       24.bik
    |   |       25.bik
    |   |       26.bik
    |   |       27.bik
    |   |       28.bik
    |   |       29.bik
    |   |       30.bik
    |   |       31.bik
    |   |       32.bik
    |   |       33.bik
    |   |       34.bik
    |   |       
    |   +---disc03
    |   |       01.bik
    |   |       02.bik
    |   |       03.bik
    |   |       04.bik
    |   |       05.bik
    |   |       06.bik
    |   |       07.bik
    |   |       08.bik
    |   |       09.bik
    |   |       10.bik
    |   |       11.bik
    |   |       12.bik
    |   |       13.bik
    |   |       14.bik
    |   |       15.bik
    |   |       16.bik
    |   |       17.bik
    |   |       18.bik
    |   |       19.bik
    |   |       20.bik
    |   |       21.bik
    |   |       22.bik
    |   |       23.bik
    |   |       24.bik
    |   |       25.bik
    |   |       26.bik
    |   |       27.bik
    |   |       28.bik
    |   |       29.bik
    |   |       30.bik
    |   |       31.bik
    |   |       32.bik
    |   |       
    |   +---disc04
    |           01.bik
    |           02.bik
    |           03.bik
    |           04.bik
    |           
    +---plugins
    |       ff7music.fgp
    |       ffmpeg_movies.fgp
    |       vgmstream_music.fgp
    |       
    +---Save
    |   +---Slot1
    |   |       save01
    |   |       
    |   +---Slot2
    +---shaders
            bloom2.post
            main.frag
            main.vert
            yuv.frag
« Last Edit: 2019-05-04 13:55:52 by LordUrQuan »

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
Remember I altered the main directory to the ff8 folder since it's failing to find something in data\data check your windows location cs to make sure the location you added didn't end with data. If you hadn't added anything maybe, I forgot to remove data from the registry reading part.

What is you running the VM in? This will run on Linux if you want to copy the files out of your VM and use monodevelop to compile it.

« Last Edit: 2019-05-05 00:42:30 by Sebanisu »

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
Yep it was me, line 37 in windows location cs file. I forgot to remove ,"data" from that line.

« Last Edit: 2019-05-05 00:42:08 by Sebanisu »

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
-- Duplicate post-- was having mobile data issues.

« Last Edit: 2019-05-05 00:41:55 by Sebanisu »

LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
Quote from: Sebanisu
What is you running the VM in?
The host OS is Win10 Pro x64, currently on build 1809.  I generally play older games within a VM rather than with "compatibility mode"... just seems to work out better having things run on an OS contemporary with their release.  My first couple attempts at FF7 plus 7th Heaven were... educational(?)... and having snapshots to revert back to saved a lot of headache compared to trying to manually clean out the registry.


Quote from: Sebanisu
Yep it was my line 37 in windows location cs file. I forgot to remove ,"data" from that line.
I see
Code: [Select]
String dataPath = Path.Combine(installLocation, "Data"); //no lang-en on cd version. at that location... not sure if I can just null out the 'Data' portion, or if that'll make the Path.Combine function choke.

LordUrQuan

  • Crazy poster
  • *
  • Posts: 236
  • Karma: 2
    • View Profile
Remember I altered the main directory to the ff8 folder since it's failing to find something in data\data check your windows location cs to make sure the location you added didn't end with data.
I also forgot to put C:\Games\FF8 back in at line 50 after doing a fresh clone, so oops on both of us.  Anyways, put that back in, and new error @line 122 of Strings.cs : Access to the path 'd:\MNGRPdump.txt' is denied.

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
You can comment out the dump lines. They are for debugging. They are located in memory.cs in the init() method. I checked if d: existed but didn't check if it was writeable. It's probably your CD drive. Heh. Those lines basically export all the strings so I can make sure things are processing correctly. Comment by putting // in front of those lines. I'll tweak stuff when I am home.
« Last Edit: 2019-05-05 01:30:39 by Sebanisu »

Sebanisu

  • Crazy poster
  • *
  • Posts: 107
  • Karma: 6
    • View Profile
I made the changes we talked about today. Pull the new code and see if you can get farther now.