(think I need some other stuff for video/audio).
You should probably contact Square Enix and see how much money they're willing to give you for it. Awesome job!
Get better soon Maki, the amount you have done already just by yourself is impressive, even though its based on the pc version which has lots of graphical bugs and sound issues compared to ps1, it shouldn't be too hard to replace those with better versions since its open source. Possibilities are endless still sad you have put more effort in this than Square Enix has done since the original release.
So I downloaded everything changed the line in memory file and saved it, pressed 'build ff8', says it succeeded but when I click the exe nothing happens.
Is the memory line correct am I missing something?
public const string FF8DIR = @"D:\Program Files (x86)\Steam\steamapps\common\FINAL FANTASY VIII\Data\lang-en\"; //Work
Ok I've run the debugger theres 29 warnings but first thing that pops up is
Exception Unhandled: System.IO.DirectoryNotFoundException: 'Could not find a part of the path 'C:\media\griever\Data\SteamLibrary\steamapps\common\FINAL FANTASY VIII\Data\Music\dmusic'.'
I do have the music mod installed could that be the issue?
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
chocoworld.sgt
FF8.dls
list.txt
XGdefault.sgt
Xgon.sgt
Contents for dmusic_backup000s-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
list.txt
XGdefault.sgt
Xgon.sgt
Unsure if Maki would like me to commit my code to github.sure I do- feel free to commit any code you think is needed. This is in-dev prototype, so everything goes in. The code would be rewritten to support config like in original FF8, so don't worry about controls and/or gamepad support
I installed Roses and Wine W07 full with installer and it renamed dmusic to dmusic_backup so I guess just need to add a if statement to check both folders?Yep, exactly.
EDIT: Ok uninstalling the music mod fixes all the issuesPhew!
I got some audio playing in linux but it's all distorted for some reason.
I am loading the entire ogg into a byte array to add to a sound effect.
It's expected behaviour- I am not converting ADPCM to PCM stream due to NAudio compatibility issues with Linux- instead I'm forcing to play compressed sound.I realized all this after a while. I spent a lot of time trying too google a way to convert the adpcm to pcm. Just kept finding the function that you already were using in windows. I actually thought I fixed it by removing waveout from the equation. Till I went to check again last night and i then realized I was looking at the wrong function as the problem. I was thinking of comparing the bytes of the pre and post converted audio. *shrugs*.
Vorbis OGG is also a compression format, just like adpcm. They both need conversion to basic stream, which FFMpeg will be capable of this.Naudio.Vorbis uncompesses the audio to a 32-bit float WaveStream. I found a function to convert it to 16 bit. So the ogg music is playing and
I'll be moving to FFMpeg soon- that will solve this problemSounds good. I was thinking of finishing up the ogg music playing stuff. It works like the directmusic stuff. So I was going to setup my code to mirror what you have there.
epe[i].labelASM = symbolNames[epe[i].label];
"C:\\ff8\\Data\\eng\\FIELD\\mapdata\\te\\testbl3\\testbl3.sy" I guess this is supposed to be a bunch of strings. It's many 0 and 255 values instead. I was getting a lot of index out of range errors when it was trying parse it.For some reason the loop is not working correctly at least not on all the files... I'm 99% sure my code is correct but on '512 The Loser.ogg' it's obvious that STARTLOOP is being ignored. So it is looping the whole sound effect. So I look forward to ffmpeg.
<
Are you sure? LOOPSTART should be absent when you don't want a loop. LOOPSTART=0 will loop from start.
// convert input frame to output buffer
int got_samples = swr_convert(
swr_ctx,
&buffer, out_samples,
(const uint8_t **)frame->data, frame->nb_samples);
frame->data is the issue. it's throwing an error cannot cast byte_ptrArray8 to byte **. #define AV_NUM_DATA_POINTERS 8
uint8_t * data [AV_NUM_DATA_POINTERS]// pointer to the picture/channel planes.
https://www.ffmpeg.org/doxygen/2.6/structAVFrame.html (https://www.ffmpeg.org/doxygen/2.6/structAVFrame.html) byte*[] data = new byte*[8];
so I did make one of those and copied that data one byte at a time to it. But then I couldn't make byte*[] into byte**;byte*[] a = frame->data;
int frame_count=0;
fixed (byte** b = a)
{
frame_count = ffmpeg.swr_convert(swr, (byte**)&buffer, frame->nb_samples, b, frame->nb_samples);
if (frame_count < 0)
throw new Exception($"{frame_count} - {averror(frame_count)}");
}
------I've committed everything locally. I think I need permission on Github to submit to you. It should probably go in it's own branch to prevent messing anything you are working on.
I'd recommend increasing the movement speed on the world map segment, takes too long to explore.Maybe I could add the plus and minus keys as a throttle.
Monsters looks so cool, I downloaded the new version but I get exception skipping to main menuMake sure you are on 32 bit. Midi doesn't work on 64 bit
System.BadImageFormatException: 'Could not load file or assembly 'DirectMidiNet, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.'
Ok now I get exception error when I try enter any of the battle encounters
System.UnauthorizedAccessException: 'Access to the path 'D:\out.dat' is denied.'
#if _WINDOWS
MakiExtended.DumpBuffer(buffer, "D:/out.dat");
#endif
Path.Combine(Path.GetTempPath(), "out.dat")
public static string FF8DIR => @"C:\Games\FF8\Data\";
is the correct path for a disk release that was installed to C:\Games\FF8?maybe there is a registry entry we could use to detect the disc version as well.These keys were created during install on Win7 Pro x64:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Square Soft, Inc\FINAL FANTASY VIII\1.00]
"MidiOptions"=dword:00000000
"InstallOptions"=dword:000000ff
"SoundOptions"=dword:00000000
"DataDrive"="c:"
"MIDIGUID"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"SoundGUID"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"GraphicsGUID"=hex:00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"AppPath"="C:\\Games\\FF8"
"Graphics"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\FF8.exe]
"Path"="C:\\Games\\FF8"
@="C:\\Games\\FF8\\FF8.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\FF8.exe]
"Path"="C:\\Games\\FF8"
@="C:\\Games\\FF8\\FF8.exe"
..\Data\lang-en doesn't exist on a CD install. There's \Data\Music, \Data\Sound, and \Data\a_bunch_of_FI_FL_and_FS_filesThough line memory 141 should be:
public static string FF8DIR => @"C:\Games\FF8\Data\lang-en";
Everything goes from the lang-en directory when it's looking for stuff.
That is odd. the ffcc line 1232 is related to sound file and ogg music play. I'm surprised it got this far with the files missing. :PWell, I sussed from Kaldarasha that PC'00 and Steam were pretty different from each other, that's why I'm here :D
Instead of touching memory.cs 141. goto WindowsGameLocationProvider.cs line 36. Add the disc version install directory to the list. it checks there before checking the registry for the steam version.Did that... new build errors, both in Module_main_menu_Loading.cs, "The parameter modifier 'ref' cannot be used with 'this'" at lines 16 and 22.
Edit: Should probably make sure I'm using the right settings... target framework .NET 4.6, platform target x86, language version C#7.0Looks correct. x86 is only required for the midi library though maki is working on replacing that and then it should run on both just fine. I usually test on x64 and the code for midi is just disabled.
C:\Program Files (x86)\Steam\steamapps\common\FINAL FANTASY VIII
│ AF3DN.P
│ AF4DN.P
│ avcodec-53.dll
│ avformat-53.dll
│ avutil-51.dll
│ bass.dll
│ binkw32.dll
│ Chocobo_EN.exe
│ Chocobo_EN.exe.manifest
│ ddraw.dll
│ eax.dll
│ FF8.ico
│ FF8_EN.exe
│ FF8_EN.exe.manifest
│ FF8_Launcher.exe
│ firewall_entry.vdf
│ lang.dat
│ libeay32.dll
│ libssl32.dll
│ manual.pdf
│ phonon4.dll
│ QtCore4.dll
│ QtGui4.dll
│ QtNetwork4.dll
│ QtWebKit4.dll
│ QtXml4.dll
│ QtXmlPatterns4.dll
│ ssleay32.dll
│ steam_api.dll
│ strings.dat
│
├───Data
│ │ res.dat
│ │
│ ├───disk
│ │ Disk1
│ │ Disk2
│ │ Disk3
│ │ Disk4
│ │
│ ├───lang-en
│ │ │ 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
│ │ │
│ │ └───movies
│ │ disc03_05h.avi
│ │
│ ├───movies
│ │ disc00_00.cam
│ │ disc00_00h.avi
│ │ disc00_01.cam
│ │ disc00_01h.avi
│ │ disc00_02.cam
│ │ disc00_02h.avi
│ │ disc00_03.cam
│ │ disc00_03h.avi
│ │ disc00_04.cam
│ │ disc00_04h.avi
│ │ disc00_05.cam
│ │ disc00_05h.avi
│ │ disc00_06.cam
│ │ disc00_06h.avi
│ │ disc00_07.cam
│ │ disc00_07h.avi
│ │ disc00_08.cam
│ │ disc00_08h.avi
│ │ disc00_09.cam
│ │ disc00_09h.avi
│ │ disc00_10.cam
│ │ disc00_10h.avi
│ │ disc00_11.cam
│ │ disc00_11h.avi
│ │ disc00_12.cam
│ │ disc00_12h.avi
│ │ disc00_13.cam
│ │ disc00_13h.avi
│ │ disc00_14.cam
│ │ disc00_14h.avi
│ │ disc00_15.cam
│ │ disc00_15h.avi
│ │ disc00_16.cam
│ │ disc00_16h.avi
│ │ disc00_17.cam
│ │ disc00_17h.avi
│ │ disc00_18.cam
│ │ disc00_18h.avi
│ │ disc00_19.cam
│ │ disc00_19h.avi
│ │ disc00_20.cam
│ │ disc00_20h.avi
│ │ disc00_21.cam
│ │ disc00_21h.avi
│ │ disc00_22.cam
│ │ disc00_22h.avi
│ │ disc00_23.cam
│ │ disc00_23h.avi
│ │ disc00_24.cam
│ │ disc00_24h.avi
│ │ disc00_25.cam
│ │ disc00_25h.avi
│ │ disc00_26.cam
│ │ disc00_26h.avi
│ │ disc00_27.cam
│ │ disc00_27h.avi
│ │ disc00_28.cam
│ │ disc00_28h.avi
│ │ disc00_29.cam
│ │ disc00_29h.avi
│ │ disc00_30.cam
│ │ disc00_30h.avi
│ │ disc01_00.cam
│ │ disc01_00h.avi
│ │ disc01_01.cam
│ │ disc01_01h.avi
│ │ disc01_02.cam
│ │ disc01_02h.avi
│ │ disc01_03.cam
│ │ disc01_03h.avi
│ │ disc01_04.cam
│ │ disc01_04h.avi
│ │ disc01_05.cam
│ │ disc01_05h.avi
│ │ disc01_06.cam
│ │ disc01_06h.avi
│ │ disc01_07.cam
│ │ disc01_07h.avi
│ │ disc01_08.cam
│ │ disc01_08h.avi
│ │ disc01_09.cam
│ │ disc01_09h.avi
│ │ disc01_10.cam
│ │ disc01_10h.avi
│ │ disc01_11.cam
│ │ disc01_11h.avi
│ │ disc01_12.cam
│ │ disc01_12h.avi
│ │ disc01_13.cam
│ │ disc01_13h.avi
│ │ disc01_14.cam
│ │ disc01_14h.avi
│ │ disc01_15.cam
│ │ disc01_15h.avi
│ │ disc01_16.cam
│ │ disc01_16h.avi
│ │ disc01_17.cam
│ │ disc01_17h.avi
│ │ disc01_18.cam
│ │ disc01_18h.avi
│ │ disc01_19.cam
│ │ disc01_19h.avi
│ │ disc01_20.cam
│ │ disc01_20h.avi
│ │ disc01_21.cam
│ │ disc01_21h.avi
│ │ disc01_22.cam
│ │ disc01_22h.avi
│ │ disc01_23.cam
│ │ disc01_23h.avi
│ │ disc01_24.cam
│ │ disc01_24h.avi
│ │ disc01_25.cam
│ │ disc01_25h.avi
│ │ disc01_26.cam
│ │ disc01_26h.avi
│ │ disc01_27.cam
│ │ disc01_27h.avi
│ │ disc01_28.cam
│ │ disc01_28h.avi
│ │ disc01_29.cam
│ │ disc01_29h.avi
│ │ disc01_30.cam
│ │ disc01_30h.avi
│ │ disc01_31.cam
│ │ disc01_31h.avi
│ │ disc01_32.cam
│ │ disc01_32h.avi
│ │ disc01_33.cam
│ │ disc01_33h.avi
│ │ disc02_00.cam
│ │ disc02_00h.avi
│ │ disc02_01.cam
│ │ disc02_01h.avi
│ │ disc02_02.cam
│ │ disc02_02h.avi
│ │ disc02_03.cam
│ │ disc02_03h.avi
│ │ disc02_04.cam
│ │ disc02_04h.avi
│ │ disc02_05.cam
│ │ disc02_05h.avi
│ │ disc02_06.cam
│ │ disc02_06h.avi
│ │ disc02_07.cam
│ │ disc02_07h.avi
│ │ disc02_08.cam
│ │ disc02_08h.avi
│ │ disc02_09.cam
│ │ disc02_09h.avi
│ │ disc02_10.cam
│ │ disc02_10h.avi
│ │ disc02_11.cam
│ │ disc02_11h.avi
│ │ disc02_12.cam
│ │ disc02_12h.avi
│ │ disc02_13.cam
│ │ disc02_13h.avi
│ │ disc02_14.cam
│ │ disc02_14h.avi
│ │ disc02_15.cam
│ │ disc02_15h.avi
│ │ disc02_16.cam
│ │ disc02_16h.avi
│ │ disc02_17.cam
│ │ disc02_17h.avi
│ │ disc02_18.cam
│ │ disc02_18h.avi
│ │ disc02_19.cam
│ │ disc02_19h.avi
│ │ disc02_20.cam
│ │ disc02_20h.avi
│ │ disc02_21.cam
│ │ disc02_21h.avi
│ │ disc02_22.cam
│ │ disc02_22h.avi
│ │ disc02_23.cam
│ │ disc02_23h.avi
│ │ disc02_24.cam
│ │ disc02_24h.avi
│ │ disc02_25.cam
│ │ disc02_25h.avi
│ │ disc02_26.cam
│ │ disc02_26h.avi
│ │ disc02_27.cam
│ │ disc02_27h.avi
│ │ disc02_28.cam
│ │ disc02_28h.avi
│ │ disc02_29.cam
│ │ disc02_29h.avi
│ │ disc02_30.cam
│ │ disc02_30h.avi
│ │ disc02_31.cam
│ │ disc02_31h.avi
│ │ disc03_00.cam
│ │ disc03_00h.avi
│ │ disc03_01.cam
│ │ disc03_01h.avi
│ │ disc03_02.cam
│ │ disc03_02h.avi
│ │ disc03_03.cam
│ │ disc03_03h.avi
│ │ disc03_04.cam
│ │ disc03_04h.avi
│ │ disc03_05.cam
│ │ disc03_06.cam
│ │ disc03_06h.avi
│ │ disc04_00h.avi
│ │
│ ├───Music
│ │ │ eyes_on_me.wav
│ │ │ eyes_on_me_BACKUP.wav
│ │ │
│ │ ├───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
│
├───licenses
│ ffmpeg_license_LGPLv2.1.txt
│ libogg_license_BSD.txt
│ libvorbis_license_BSD.txt
│ libvpx_license_BSD.txt
│ Qt_license_LGPLv2.1.txt
│
├───plugins
│ ├───designer
│ │ qwebview.dll
│ │
│ └───imageformats
│ qgif4.dll
│ qico4.dll
│ qjpeg4.dll
│ qmng4.dll
│ qsvg4.dll
│ qtiff4.dll
│
└───shaders
pixel.hlsl
vert.hlsl
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:
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 :(
Maki has https://github.com/MaKiPL/FF8-Rinoa-s-Toolset that might open the pak files. yes under Tools>Movie Extractor .PAKSuccess!! Though there's nothing to suggest what the extracted filenames should be, just a sequential ID number of the movie within the PAK file.
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 ;)
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
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
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.
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: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.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.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)
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...
what really confuses me is why you receive such generic-looking error on debug buildsOS - 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)
A few questions:
Which operating system are you on?
You mention VS, which version you use?
I'll show you some instructions for VS2017Your 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 (https://imgur.com/a/F2fNjBK)
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.
Yep it was my line 37 in windows location cs file. I forgot to remove ,"data" from that line.I see
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.
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.
System.NullReferenceException: 'Object reference not set to an instance of an object.' value was null.
I think this is what you asked for: https://imgur.com/E7psnHq
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 :(
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 ==========
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.
good things come to those who wait, it is an exciting project
What exactly you want to do, Rick? Change world map encounters, change field encounters, change monster to fight, change how many monsters you fight?
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.
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 themThat's.. not what it means
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
that program is anything but not intuitiveYeah- that's why it's archived and no longer developed. I answered on e-mail. I'll record video tutorial for you later this day.
Yeah- that's why it's archived and no longer developed. I answered on e-mail. I'll record video tutorial for you later this day.
Dude...
Yeah- that's why it's archived and no longer developed. I answered on e-mail. I'll record video tutorial for you later this day.
if none even care to reply then i have no choice but to write another message, and it isn't double posting because is not the same message, it is a new one, instead of expect ignored people to just suck it up, care to give an answer to what people say or ask , it would solve the problem , unlike what would do an edited previous message that would be ignored
Have you considered that maybe there's a reason why no one is replying to you? No one owes you a response.
What you have been posting about isn't easily doable. There doesn't appear to be a program that you can just open, edit encounters with 2 clicks, save and done. You're going to have to do proper research if you want to get that done this badly.
rick, i'm no staff member, but i think that if you continue with that behaviour, your future here is not exactly bright...