Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Tom

Pages: [1] 2 3 ... 9
Q-Gears / Re: Error message after compiling
« on: 2017-09-15 17:31:56 »
Try downloading the q-gears-data repository and looking for the file in there, a lot of those files were moved to that repo during the cleanup.  If you want to help develop join IRC for help/info!

A suggestion for end of disc 1 to make the fight harder and more interesting, you should lock the party to have Cloud and Aeris and let the user to select the 3rd party member and start the battle with Aeris on 0 HP so it sort of forces you to use Life spell or a phoenix item to get all 3 characters and then start attacking.

This would make the boss harder since you get sent in to the boss fight with 2 characters that are alive and is slightly cooler for the story than using a phoenix item after...

This appears to be a logical bug in the installer and will be addressed on the next release.
In the mean time play around with the config value DESTINATIONFOLDER=DEFAULT and the debug menu / variable editor see if you can get something to work!

I have given you all full access to all the variables the installer uses, so you pretty much have a built in debugger GUI, see what you can figure out. (Not many programs offer this!)
To access this feature select Debug from the Installer Coordinator menu and use the [Refresh] and [Apply] buttons to send your values to the installer!
If you find a combination that works save it to the .INI with the [Save .INI] button and load your saved .INI files with [Load .INI]

PS: The value "DEFAULT" in strings is a special command and tells the program to figure it out on its own.
~Happy debugging!~

Great to hear it worked!  The files need a special codec to be played such as DirectShow (It comes bundled on the original FF7 Install CD).

As for next version, some more developer tools will be bundled in the build to help with custom installs.  Be careful using these if you do not know how they work.

Any updates on that or similar projects?

Paul any progress with that?

Anyone else got any news on FF7 source code decompilation or remake?

Has the Install Movies to Hard drive option worked for anyone?  Have not had any feedback on it, it is a really requested feature and now its as easy as clicking Maximum install!

Hi guys! I can´t run ff7 98 version after w10 last update. I tried to install the game with tom´s installer but still don´t work. Any ideas?

Edit: Solved changing the audio driver. xD

Realizing this is a major issue I added a big warning label on the OP that you must do this step.  Thanks for reporting.

This is so cool, I wish this would work for ff7!  Great job!

The ff7 config is being worked on, its a 2 part project, first we have to understand how the ff7config.exe works and then recreate the dialogs windows etc and add the functions to them.

That is right, you heard it there is an update! 1.5.0 after about a year with no updates!
With quite a massive changelog:

Version 1.5.0 - Installer Coordinator II after about a year with no updates! (Last Edit: 2015-12-14 19:03:10)
+Installer Coordinator II
+CONFIG.INI configuration file lets you change the default options on your installer and create custom setup scripts that automatically install the game (Good for network installations?)
+Install Movies to hard drive option, called Maximum install! (Not selected by default)
+Variable Editor, lets you edit the variables of the program and create your own config.ini files
+If you select the wrong drive on a disc selection menu you can retry instead of being forced to quit
+A dialog before the final window asking you to restart or not was missing (forgotten perhaps?), it was added
*Graphical update, new graphical buttons and more exact text on the IC dialogs
*On the final window, clicking on the text next to the radio buttons changes the selection like in the original, previously you would have to click exactly on the radio button circle.
*Changes in internal code so less copy paste and more common shared modules
-Old style debug mode removed, its now a variable editor.

Anyone encountering issues should try re installing with the latest version of the installer!
You can uninstall the game by deleting the Square Soft folder in your 32 bit program files folder!

Exactly, paul is right, there is a lot of progress in that version on the original formats

First of all we need to get the game working, we shouldn't even be talking about bypassing the games limitations until it works as the original did.  In the 0.14 version most op codes are implemented, enough to run the first mission

Try selecting the riva or tnt option in the config window graphics options and direct3d mode.  Make sure you have an audio driver selected AND a MIDI device.

I agree with Paul, converting the data was bad idea,  using the original would allow rapid development focussing on the mechanics and cool parts and not files and directories :)

Complexity about which part?  Needless, can we make it simpler the decompiler?

True that or Akari engine 0.14

I don't know of any decompilers that produce structured runnable code at the moment.  IDA code is not compilable.  So is Boomerang code not compileable.  However I know that paid services that decompile code and manually fix issues do work.

I totally agree with Paul, we can't take such risks.  It's better to use original scripts because it's not possible for a program to covert them to a higher level language automatically and distributing files will get us shut down and we can't have that happen.

Hi Tom, Thanks for the response. Currently, Software Rendering is selected. I didn't have an option to select my specific graphics card. I'll keep trying to dream up other avenues to try. If you have any other suggestions I'd appreciate it. Regardless, thanks for creating the installer it gives me hope to be able to play FFVII again!
Make sure you select Install 1.02 and Install Chocobo Patch on the screen with Cloud on it.  Components Selection Screen.  Not installing 1.02 patch can lead to graphics drivers not being recognized.  If it does *not* work you might have to wait for my FF7Config Remake to be released:

I have been told that I can not distribute converted scripts even if I have hand converted them ...

The field script I wrote for that port were very much optimized from their originals, I had removed GOTOs from nearly everywhere and replaced them with IF/ELSEs and structured code, functions like locking the player and menu and making player invisible were grouped.  The fields do NOT use opcodes but LUA commands.  We don't "change an opcode and see what happens"

Code: [Select]
    FFVII.Data.triangleId = entity_manager:get_entity( "Cloud" ):get_move_triangle_id()
    if (FFVII.Data.triangleId == FFVII.Data.expectedTriangleId) then
      if (FFVII.Data.progress_game < 7) then
        entity_manager:player_lock( true )
        -- field:menu_lock( true )
        background2d:scroll_to_position( -96 * 3, 60 * 3, Background2D.SMOOTH, 1.066667 )
        script:request( Script.ENTITY, "Cloud", "scene_part_1", 6 )
        FFVII.Data.progress_game = 7
        script:request_end_sync( Script.ENTITY, "Biggs", "scene_part_2", 6 )
        script:wait( 0.2 )
        script:request_end_sync( Script.ENTITY, "Jessie", "scene_part_3", 6 )
        script:wait( 0.333333 )
        script:request_end_sync( Script.ENTITY, "Biggs", "scene_part_4", 5 )
        script:wait( 0.266667 )
        script:request_end_sync( Script.ENTITY, "Cloud", "scene_part_6", 6 )
        script:wait( 0.266667 )
        script:request_end_sync( Script.ENTITY, "Barret", "scene_part_8", 6 )
        script:wait( 0.4 )
        -- music:execute_akao( 0x20, 52, 64 )
        script:wait( 0.266667 )
        -- music:execute_akao( 0x20, 32, 64 )
        script:request( Script.ENTITY, "DoorLeft", "open", 6 )
        script:request( Script.ENTITY, "DoorRight", "open", 6 )
        script:wait( 0.333333 )
        script:request( Script.ENTITY, "Jessie", "scene_part_10", 6 )
        script:wait( 1 )
        script:request( Script.ENTITY, "Biggs", "scene_part_11", 6 )
        script:wait( 0.2 )
        script:request( Script.ENTITY, "Wedge", "scene_part_12", 6 )
        script:wait( 0.5 )
        script:request_end_sync( Script.ENTITY, "Barret", "scene_part_13", 6 )
        -- Prepare map change
        script:request( Script.ENTITY, "Barret", "scene_part_15", 6 )
        script:wait( 1 )
        -- field:movie_set( 20 )
        FFVII.Data.bMoviePlaying = 1
        -- field:play_movie()
        load_field_map_request("ffvii_md1_2", "md1_1_Director_on_update_addr_1044")
        entity_manager:player_lock( false )
        -- field:menu_lock( false )

That is what field script looks like.  And yes its very documented, there is a page that contains these commands and another one explaining what they do.
The main problem that keeps Q-Gears behind is the lack of C++ programming on the side of the engine / converter.  However if we were to use Akari's Engine the conversion would be cut to bits because we would just use the original data anyways.

Remember: All the data conversion must be done programmatically because we can not distribute converted data!  This means each user will have to have a program that converts all the original data to the XYZ's Engine Data and the conversion can not be done by hand.  Unless off course the engine can use the original data.

We have Q-Gears engine Akari made that works with the original formats, 0.13 i think was the version?  It interprets the field opcodes like the original one did.  Theres also the new Q-Gears engine but that uses LUA and needs manual conversion to work

Not interested in unity for rendering triangles and pictures...
The closest to what we want is OGRE and SDL, ff7 needs a renderer, nothing more.  And using modern formats is not in any way easy because you have to manually convert the data to the "modern" formats which is not fast/enjoyable either.  The amount of LUA you would need for the field scripts in the game exceeds the amount of C code that makes the game run. 
For an example nmkin_1 which is a simple field compared to many many others is 1867 lines.
nivgate which is a Nibelheim gate field is 2874 lines and its still a non complex field.
I don't even want to think about the mayor's minigame in Midgar Tower how big it would be...

Lets say on average the each field has 1500 lines of code which is generous.  Multiply that by 700, and you got 1,050,000 lines.  Not counting savemap scripts, battle scripts, battle AI scripts and world map scripts.  Lets face it people, including myself have tried to convert the games data to alternative formats like LUA for use with new engines and have failed many times.  Lets try something different and target the engine this time.

Not implying anywhere that unity is not good, its great for making games and physics simulation but not suitable with that we can do here.

Building a house out of toothpicks isn't a great idea. If you are willing to spend THAT kind of time, you'd be better off just recreating that game in some engine and recreating the assets in modern formats. Don't even both trying to convert scripts, rewrite them yourself
Please don't say such things! Its far worse to recreate the game in a different engine and use modern formats.  First of all, there is no advantage in using modern formats to store the games data.  You gain nothing and give yourself a nightmare worth of converting.  Also please don't just throw around the just "rewrite them yourself",  I have attempted to do that with the Midgar Conversion Project: AND with Finishing Touch: both times I realized it is utterly impossible to rewrite or convert the scripts since it takes about 5 days to a week to convert a field working 2-3 hours a day.  Given there are only around 50 weeks in a year and there are over 700 fields ehh I wouldn't bother.
The fastest solution to get the game working is to re-create the engine that was used to run the game in the first place so you only have to worry about the engine and not the data.  Early versions of Q-Gears accomplished this and progress was going smooth until suddenly the code was rewritten.
What ergonomy_joe is doing is great and is the proper way to do it because fighting with the engine is a winnable battle, fighting with the data is overwhelming and a certain loss.

I want  to find out how he does it and try to do it myself.  How does he get the games ASM?  How do you split the games code into files that you can compare?  Then once I recompile it with the compiler used to make the game what do I compare?

Pages: [1] 2 3 ... 9