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

LordUrQuan

  • VirtualBox dweller
  • Insane poster
  • *
  • Posts: 324
  • Karma: -1
  • LOAD "FF2J",8,1
    • View Profile
Definite progress... Even without putting in the manual hard-coding of C:\Games\FF8, the intro began to play (sans sound) and I got to the main menu.  Upon choosing the 'Open VIII debug tools' option, I got an unhandled exception in DirtyEncoder.cs, line 67.
Code: [Select]
System.NullReferenceException: 'Object reference not set to an instance of an object.' value was null.
Identical errors (in other locations) if I attempt to start a new game or load a saved one.  I knew those options wouldn't work, but thought it might be helpful in figuring out why the debug won't load.

Sebanisu

  • Crazy poster
  • *
  • Posts: 148
  • Karma: 7
    • View Profile
That's odd. Can you see what is on the stack when it gives the exception? https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-use-the-call-stack-window?view=vs-2019 the idea is something is sending null to the dirtyencoder and it's throwing an error. So I need to make the encoder handle null better and I need to know what is sending null to it. The stack shows all the commands being executed in a first in, last out order. So it'll show what lines started this chain of events. I have a few ideas of what it could be. Just desire more info.

Sent from my Pixel XL using Tapatalk


LordUrQuan

  • VirtualBox dweller
  • Insane poster
  • *
  • Posts: 324
  • Karma: -1
  • LOAD "FF2J",8,1
    • View Profile
I think this is what you asked for: https://imgur.com/E7psnHq

Sebanisu

  • Crazy poster
  • *
  • Posts: 148
  • Karma: 7
    • View Profile
I think this is what you asked for: https://imgur.com/E7psnHq
Yep. I'll work on it tomorrow night.


Did a small fix before work. I forced the values in that area to send null to it and got the same exception and added a null check to length. So it returns 0 instead of throwing an error.

I was wondering, some of those lines of text have a : with something after it. the ones that were sending null will have nothing after the :. Which ones is it?

Anyhow have a good day.
« Last Edit: 2019-05-05 09:22:32 by Sebanisu »

LordUrQuan

  • VirtualBox dweller
  • Insane poster
  • *
  • Posts: 324
  • Karma: -1
  • LOAD "FF2J",8,1
    • View Profile
I was wondering, some of those lines of text have a : with something after it. the ones that were sending null will have nothing after the :. Which ones is it?
I honestly don't understand the question since there's no : punctuation in my screenshot :(

Unrelated noob question: In VS 2017, if I want to download all the latest changes being made, but not attempt uploading, is 'Sync' the correct button to press?  I've been nuking the entire repo and cloning from fresh (inefficient, but at least it ensures I don't screw up anything!)

Sebanisu

  • Crazy poster
  • *
  • Posts: 148
  • Karma: 7
    • View Profile
You were getting the exception when going to the Debug menu inside the running OpenVIII is what i meant. I kinda wanted to know what was missing maybe a screenshot.

When you goto Sync there's Fetch and Pull. Fetch checks for updates and Pull gets the newest code. I think, I have been using the GitHub gui. And sometimes don't pay attention to what the words on the buttons are.  :P

LordUrQuan

  • VirtualBox dweller
  • Insane poster
  • *
  • Posts: 324
  • Karma: -1
  • LOAD "FF2J",8,1
    • View Profile
Ok... either I did it wrong (again), or Maki broke something earlier today?  Got this error just after attempting a fresh run to test out your null->0 changes:
Code: [Select]
1>------ Build started: Project: FF8, Configuration: Debug x64 ------
1>  C:/Users/Simplisafe/Source/Repos/MaKiPL/OpenVIII/FF8/Content/Shadow.png
1>C:/Users/Simplisafe/Source/Repos/MaKiPL/OpenVIII/FF8/Content/Shadow.png : error : Importer 'TextureImporter' had unexpected failure!
1>  System.DllNotFoundException: Unable to load DLL 'FreeImage': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
1>     at FreeImageAPI.FreeImage.GetFileType(String filename, Int32 size)
1>     at FreeImageAPI.FreeImage.LoadEx(String filename, FREE_IMAGE_LOAD_FLAGS flags, FREE_IMAGE_FORMAT& format)
1>     at Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.Import(String filename, ContentImporterContext context)
1>     at Microsoft.Xna.Framework.Content.Pipeline.ContentImporter`1.Microsoft.Xna.Framework.Content.Pipeline.IContentImporter.Import(String filename, ContentImporterContext context)
1>     at MonoGame.Framework.Content.Pipeline.Builder.PipelineManager.ProcessContent(PipelineBuildEvent pipelineEvent)
1>C:\Program Files (x86)\MSBuild\MonoGame\v3.0\MonoGame.Content.Builder.targets(84,5): error MSB3073: The command ""C:\Program Files (x86)\MSBuild\MonoGame\v3.0\Tools\MGCB.exe" /quiet /platform:DesktopGL /@:"C:\Users\Simplisafe\Source\Repos\MaKiPL\OpenVIII\FF8\Content\Content.mgcb" /outputDir:"bin\DesktopGL\Content" /intermediateDir:"obj\DesktopGL\Content"" exited with code 1.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

Sebanisu

  • Crazy poster
  • *
  • Posts: 148
  • Karma: 7
    • View Profile
Looks like if i'm reading this correctly the FreeImage.dll is in a c++ redistributable pack. https://www.microsoft.com/en-us/download/details.aspx?id=40784  http://community.monogame.net/t/monogame-noob-unable-to-load-freeimage/6255

Monogame probably used it for windows and uses something else on linux. It's because maki is loading a png for putting a shadow under characters. If you installed a texture pack for high res menu graphics it would probably had the same error.

Might need to add this to the readme if it works for you.

Though it does seem linux is broken :P I fixed the linux bug on my fork, but in the middle of building a ingame menus so no need to commit right now :)
« Last Edit: 2019-05-06 03:10:52 by Sebanisu »

LordUrQuan

  • VirtualBox dweller
  • Insane poster
  • *
  • Posts: 324
  • Karma: -1
  • LOAD "FF2J",8,1
    • View Profile
Adding the 2013 re-dist got me through the build fail and into the debug menu.  Just got a note that Maki committed a bunch of stuff, so I'll refresh my local repo. Question I should have asked earlier... is there a slack/IRC/discus/whatever so I don't keep spamming the thread?  I'll work on a new Windows (and maybe OpenSuSE since I also use that at home) "Getting started" late tonight or sometime tomorrow so other folks hopefully won't have as steep a curve to get started.

Sebanisu

  • Crazy poster
  • *
  • Posts: 148
  • Karma: 7
    • View Profile
There is a room on the discord. You could also comment on an issue on github. I made one related to getting  the CD version working after you posted.

Sent from my Pixel XL using Tapatalk


Maki

  • Software hacker
  • Freak
  • *
  • Posts: 584
  • Karma: 117
  • Liberi fatali
    • View Profile

Yagami Light

  • Crazy poster
  • *
  • Posts: 126
  • Karma: 20
    • View Profile
The smooth high fps animations look really good, looking forward to seeing more in the future

Kaldarasha

  • No life
  • *
  • Posts: 2412
  • Karma: 150
  • Prince of Model Editing
    • View Profile
https://www.pro-linux.de/news/1/27233/openviii-final-fantasy-viii-f%C3%83%C2%BCr-linux.html

Now the project.becomes more and more popular, though that article is in German.
« Last Edit: 2019-07-09 18:13:31 by Kaldarasha »

rick

  • Fast newbie
  • *
  • Posts: 45
  • Karma: -21
    • View Profile
SE hates VIII for some reason
[/quote]

because they are damn morons, trust me , there isn't any other reason, but aside of this , can you share your program with us ? with this program we could also modify the spawn conditions and locations of the monsters, in that way we can fight even the bosses like they are normal monsters
« Last Edit: 2019-09-10 20:00:30 by rick »

LordUrQuan

  • VirtualBox dweller
  • Insane poster
  • *
  • Posts: 324
  • Karma: -1
  • LOAD "FF2J",8,1
    • View Profile
O-VIII is nowhere near ready for that.  Right now, it's not much more than a way to view the world map, battle scenes, and menus.  Long ways off before it's something people can actually play the game with, or create mods for.

rick

  • Fast newbie
  • *
  • Posts: 45
  • Karma: -21
    • View Profile
O-VIII is nowhere near ready for that.  Right now, it's not much more than a way to view the world map, battle scenes, and menus.  Long ways off before it's something people can actually play the game with, or create mods for.

ok, so it is still a prototype, i hope it will be solved as soon as possible

gunner_1207

  • Fast newbie
  • *
  • Posts: 47
  • Karma: -1
  • If your upright an above ground,its a gd day
    • View Profile
good things come to those who wait, it is an exciting project

rick

  • Fast newbie
  • *
  • Posts: 45
  • Karma: -21
    • View Profile
good things come to those who wait, it is an exciting project

yes, like i said i hope it is released soon, final fantasy 9 already have that mod to change the location and so the spawn condition of the monsters , this chapter really waited too much for this , with the possibiltiy to change the location of the bosses we can finally avoid to create thousand saves in order to be able to fight again and again a specific monster like we have to do now

Maki

  • Software hacker
  • Freak
  • *
  • Posts: 584
  • Karma: 117
  • Liberi fatali
    • View Profile
What exactly you want to do, Rick? Change world map encounters, change field encounters, change monster to fight, change how many monsters you fight?

rick

  • Fast newbie
  • *
  • Posts: 45
  • Karma: -21
    • View Profile
What exactly you want to do, Rick? Change world map encounters, change field encounters, change monster to fight, change how many monsters you fight?

i will explain for good now: like what you can do with hadesworkshop (a general editor for final fantasy 9 created by trilititi), i want to put all the bosses and the other kind of "one time only-fight" monsters in a piece of the worldmap , for example , i would place all the bosses in the island closest to hell , so with that modification , you will meet only the bosses in that island, and you will encounter them again and again like they are normal monsters

Sebanisu

  • Crazy poster
  • *
  • Posts: 148
  • Karma: 7
    • View Profile
You could d/l the source code and poke around maybe the answer you seek is in there somewhere. But *shrugs*. Maki's been working on this a long time and I started working on it like 6 months ago. And it's a long process :P Who knows how much longer things will take.

rick

  • Fast newbie
  • *
  • Posts: 45
  • Karma: -21
    • View Profile
You could d/l the source code and poke around maybe the answer you seek is in there somewhere. But *shrugs*. Maki's been working on this a long time and I started working on it like 6 months ago. And it's a long process :P Who knows how much longer things will take.

i see, but the fact that there is already the possibility to inject the program in to the game is already a great step foward, what else is remaining to do ?
« Last Edit: 2019-09-10 21:08:42 by rick »

Sebanisu

  • Crazy poster
  • *
  • Posts: 148
  • Karma: 7
    • View Profile
It's not injection. This is a whole new engine. And there is a chart on the GitHub page. But alot is not done. I've been working on menus for a while.

Sent from my Pixel XL using Tapatalk


rick

  • Fast newbie
  • *
  • Posts: 45
  • Karma: -21
    • View Profile
It's not injection. This is a whole new engine. And there is a chart on the GitHub page. But alot is not done. I've been working on menus for a while.

Sent from my Pixel XL using Tapatalk

yes i noticed that list of elements contained in the various archivies and the percentage of discoveries about them

Maki

  • Software hacker
  • Freak
  • *
  • Posts: 584
  • Karma: 117
  • Liberi fatali
    • View Profile
yes i noticed that list of elements contained in the various archivies and the percentage of discoveries about them
That's.. not what it means
Anyway, to answer your question- various battle formations are called 'encounters'. There are about 1500 encounters. That means that there are 1500 data entries where you set battle ground (background), where you set active enemies you fight, additional stuff. Now everything uses that ~1500 entries. No matter if you are on worldmap and get into battle or you are on field and get into battle or you run into script battle- it always plays a battle with given index to the 'encounter' data.
The encounters data- the core battle information is in file "scene.out" file in battle.fs

You have to grab archive unpacking tool- if it's remaster, then you would need zzzTool + Deling for unpacking battle.fs- then you would need to use a tool called "Ifrit". If you have steam or PC version from 2000/2013 then skip the 'zzz' part.

zzztool: http://forums.qhimm.com/index.php?topic=19209.0
deling: http://forums.qhimm.com/index.php?topic=13050.0
ifrit: http://forums.qhimm.com/index.php?topic=8741.0

that is for editing the core encounter. If you want to edit which exactly encounter index is played at given worldmap segment, then use Rinoa's toolset: http://forums.qhimm.com/index.php?topic=17064.0
from there unpack wmset.obj, edit the encounters on worldmap, repack, and then again put into battle.fs and zzz if remaster