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 - Akari

Pages: [1] 2 3 4 5 6 ... 31
1
Line run scripts by this events:
script 1 - if PC talk to line
script 2 - if PC move towards line (with solid radius)
script 3 - if PC cross the line (position of entity cross the line by moving)
script 4 - if PC move inside line (any directions) (with solid radius)
script 5 - if PC enter the line (with solid radius)
script 6 - if PC leave the line (with solid radius)

I can check additional detales if you interested.

2
The last time I noodled around with things, there was quite a bit left to reverse engineer, which I guess you could also call the design flaw. qgears was always meant to work with the original formats of things, and be a drop in replacement for the ff7 exe (if I'm remembering this right). Ogre3D as a game engine is also... tricky to work with imo

The idea behind my work on Q-Gears was to create JRPG engine capable of run games like Final Fantasy 7 8 9 and Xenogears. All data was meant to be exported into this format. That should allow anyone to create their own scenario, additional mechanics with little coding.

I'm working in game industry and Ogre is one of the simplest render engine available for open source. Now I think something like Open Framework is better because it supports not only render, but sound and video as well.

Reimplement ffvii engine is also possible. But you need to reimplement a thousands of hardcoded hacks as well then.

I think akari still does some reversing every once in a while
Edit: here's some fun stuff https://github.com/Akari1982/q-gears_reverse

I reversed almost everything from world map engine lately. Very interesting and very hardcoded.

Quote
Sound like time would be best spent reversing then. Is there any sort of centralized db for keeping track of the progress, or is it just scattered throughout the various efforts? If so, perhaps organizing such an db would be useful.

I think that reversing isnt needed at this time. Almost everything is understood. You just need to grab your beloved editor and start to write things, implement them one by one. But first question is - what are you want to do - just reimplement engine with all its problems and restrictions or create enviroment that can run original content as well as new - custom one.

3
@Akari taking another stab at q-gears? I see you are back to reversing https://github.com/Akari1982/q-gears_reverse

I didn't stop reversing. It was just a slowdown. But lately I work hard at world map module of FFVII. Half work done.

4
> Am I right that the program exports them to .mesh files? I've not seen those before, is it possible to convert those to obj, fbx or x3d so I can open them in Blender?

mesh is Ogre3d file format. I converted into it to use in QGears (https://www.youtube.com/watch?v=YPnej8iKMPg).
i think you can find converters from mesh into obj or modify exporter to support your needs.

5
This may help too
https://github.com/Akari1982/x-gears/tree/master/utilites/xeno_field_exporter
I have exporter here and I export some of models with animations. Though animations is hard in xenogears and exporter doesn't support all of them.

6
I just finished reverse almost all the opcodes. I write them down later. You can see them here (https://github.com/Akari1982/q-gears_reverse/blob/master/ffvii/DISC/SCUS_941_akao.cpp). This is all code that handles sound sequenses in FFVII. SPU and DMA library are separate and comes from PSYQ. You can search opcodes by names like "AKAO_opcode_f2"
 
Opcodes in sounds and in music are the same and do same things. Difference is that music uses a lot of channels with separate sequence for each channel. I think you can adapt your player to play music.

Quote
I'm especially interested by the LFO table, which is too much work to reverse engineer by ear. Can you confirm it's your "akao_wave_table" array ?

Yes. This is LFO table. You can use values from c++ files. They taken from binaries and used in PSX version.

If you have question about specific opcode feel free to ask. I look at them more closely and reverse it deeper.

8
Look at the version 0.14 and earlier https://github.com/q-gears/q-gears-reversing-data/tree/master/media/version_old. It uses SDL. It can play movie work with native scripts and so on. It uses PSX version of native data but youcan easily convert to PC version. Some of features support pretty lame but definetly worth looking at. Whole first mission with movie was playable.

9
Quote
Currently we are going to go with SDL: https://www.libsdl.org/
This is totally not starting from scratch, this is going to are going to reuse code from many different versions of Q-Gears to make something actually worth playing.

Look at the version 0.14 and earlier https://github.com/q-gears/q-gears-reversing-data/tree/master/media/version_old. It uses SDL. It can play movie work with native scripts and so on. It uses PSX version of native data but youcan easily convert to PC version. Some of features support pretty lame but definetly worth looking at.

10
Q-Gears / Re: QGears team needs more people!
« on: 2015-03-27 13:02:43 »
We're mostly more into Xenogears, but this engine seems to illustrate similar capacity for many classic PSX Square games.

The engine has few exported models from Q-Gears (you can see them in demo http://www.youtube.com/watch?v=YPnej8iKMPg). And now I'm working on things related to Xenogears: I want to export all Lahan related walkmeshes and make our walking algorythm work with it. Maybe add Jumping sliding and related things from Xeno.

12
Q-Gears / Re: Orge3d version change
« on: 2015-02-18 18:07:19 »
1) 2.0 still in RC version so it's too early to switch to it.

2) In v 2.0 legacy OpenGL RenderSystem works.

3) In v2.1 there will be GL3+ RenderSystem

13
I finished Dialog system and time down counter. This is more than enough for Bombing Mission. I didn't create usual counter, but It not used until later in game.
I tried to text it and find all bugs, but I failed and you find few of them when you will try to add new dialogs.

I used all source to implement all this features (based on 0.21). I'll try use new github source next time.
I don't know how to build all that stuff in repository now. I think it will be faster if I send my sources to you and you merge them yourself.

And I add new features to dat and font exporters. So they needs to be updated too.

14
Team Avalanche / Re: North Mako Reactor Bridge (Q-Gears)
« on: 2015-02-04 16:53:12 »
Another worthwhile challenge would be support for full (non tiled) background images

You can do it right now. I export it as tiles just because it's easier for me. I can export whole background as one image. Problem is that some tiles in ffvii has dynamic depth which is controlled from script. So I don't see any benifits from creating whole image. Better thing will be create an editor that allows set depth and tiles more naturally. Edit xml is pain in ass )

15
Team Avalanche / Re: North Mako Reactor Bridge (Q-Gears)
« on: 2015-02-03 16:13:52 »
The modelling approach for making directly-usable 3d scenes for Q-Gears would have to be different from the one used for rendering 2d backgrounds. Basically, for rendering 2d backgrounds, we can model without much care about poly counts/mesh optimization - real-time 3d scenes would be a different story. The other matter is about lighting and shading, since the renderer you would be using (Ogre) does not necessarily support the same shaders which a 3d-modelling software would. 

I know this things. But if we want - we could do it. It's still needs some work with camera though.

16
Team Avalanche / Re: North Mako Reactor Bridge (Q-Gears)
« on: 2015-02-03 09:47:34 »
By the way - it's possible to use 3d scenes directly in Q-Gears )

17
Akari:

Does this mean that opcode PC N will always become set_entity_to_character( "current_entity", "current_entity" )? What are the 2 parameters meaning here?


Look at file .\data\scripts\ffvii\field.lua - you find a lof of interesting in this file and directory.

Code: [Select]
set_entity_to_character = function( entity_name, character_name )
    if character_name == FFVII.Party[ 1 ] and entity_name ~= "" then
        if System.MapChanger.point_name ~= "" then
            local point = entity_manager:get_entity_point( System.MapChanger.point_name )
            if point ~= nil then
                local x, y, z = point:get_position()
                local rotation = point:get_rotation()
                local player = entity_manager:get_entity( entity_name )
                player:set_position( x, y, z )
                player:set_rotation( rotation )
                player:set_solid( true )
                player:set_visible( true )
            end
        end

        entity_manager:set_player_entity( entity_name )
    end
end

18
fixing small bug with clipping during dialog closing (image not clipped).

Done. Clipping fixed.

Now it's time for timer =)

19
Quote
Akari: Have you progressed with dialogue support?

Finish with button image exporting and inserting. Now fixing small bug with clipping during dialog closing (image not clipped).

Next target will be timer.

20
Akari how is dialog support coming along?

Working on inserting random image into text.

21
Text manager finished. Language changing finished. Now it's time for some variables in text (like names of characters)

Text includes finished. It include text in other text or dialog. Dialog is text with defined width and height of dialogbox. Because dialogs in different localization has different dialogbox size. This format used in xenogears and FFIX because it's more localization friendly.
Text includes can be used to include item names and character names in dialogs.

Example

Code: [Select]
    <text name="item_potion">Potion</text>
    <text name="item_potion">ポーション</text>

    <dialog name="receive_potion" width="138" height="25">Received “<include name="item_potion" />”!</dialog>
    <dialog name="receive_potion" width="164" height="25">『<include name="item_potion" />』を手にいれた!</dialog>

     message:show_dialog( 2 , "receive_potion", 200, 140 )

22
I implementing text manager to work with localized dialogs now. After that i hope to add counter and it's done. I will add texts for first 3 location to test how it's work )

Text manager finished. Language changing finished. Now it's time for some variables in text (like names of characters)

23
will you be commiting these changes to our github . if not where can we find them?

I will commit when everything will be finished and tested.

24
I implementing text manager to work with localized dialogs now. After that i hope to add counter and it's done. I will add texts for first 3 location to test how it's work )

25
Where is this? Did you put it in the obsolete version of the code? :)

The latest version is here:

https://github.com/q-gears/q-gears

If you fork from this and push changes to your fork you can open a pull request. This then uses Travis-CI to check your changes build etc. This also has Ubuntu PPA that gets built daily too.

The old repos are way different than newest source, I fear it could much extra work to take your changes to the new code base if you're still using the old one?



I work with my old version without changes I don't like. You can merge it later. It's just few core files.

Pages: [1] 2 3 4 5 6 ... 31