Qhimm.com Forums

Project forums => Q-Gears => Topic started by: Akari on 2011-04-07 06:17:24

Title: Current state.
Post by: Akari on 2011-04-07 06:17:24
Project still not dead, and I still working on it.
Lately I tried few others Render Engines like crystal space and irrlicht to power up q-gears. Irrlicht seems more suitable. Now I try to port everything to it. Render looks like old http://sourceforge.net/projects/q-gears/files/qgears_ffvii/qgears_ffvii_0.13/ engine. It lacks of normal collada support but I implement it to be able to edit models in 3d editors like blender.

Now I work on GUI implementation. I found videos from Falsate who create very cool GUI remake of FFVII (http://www.youtube.com/user/Falsate#p/u/4/bKVKLPB8llo) and try to mate this things posible. This is very good Idea for Avalanche project too.

At the same time I reverse scripting system in FFIX. A lot of interesting Ideas there =)
Title: Re: Current state.
Post by: obesebear on 2011-04-07 06:59:12
All I can really say is keep up the good work, man.  Your dedication to this is nothing short of amazing!
Title: Re: Current state.
Post by: Cloudef on 2011-04-07 15:09:49
Since it is Irrlicht now, I can maybe start hacking it on my freetime too.
However It's not that hard to do own OGL renderer also, (I've come quite far with C/C++ and OpenGL since we last time talked)

(http://i56.tinypic.com/2ic1qia_th.png) (http://i56.tinypic.com/2ic1qia.png)
(http://i52.tinypic.com/dzf5u_th.png) (http://i52.tinypic.com/dzf5u.png)

But yeah, irrlicht seems like best bet to go, so don't need to fiddle head with renderer framework design and other things.
However Irrlicht has been also quite dead nowadays and seems to have some annoyances.
Title: Re: Current state.
Post by: SpooX on 2011-04-08 16:00:45
Akari,
If I may ask, what is the reason for the switch from Ogre to Irrlicht?
Title: Re: Current state.
Post by: Akari on 2011-04-08 16:37:16
Akari,
If I may ask, what is the reason for the switch from Ogre to Irrlicht?

I'm not switched. I just tried other render engines. After trying to port things to Irrlicht I still think that ogre is a best way to go.

Irrlicht lacks of supporting normal materials/animations/mesh formats and many many things. You can write all of them by yourself but it seems to be less efficient and more time consuming.
Ogre is harder to use but it has much more posibilities. You can really use it to normal game. There are build for PS3 =)
Title: Re: Current state.
Post by: Mako on 2011-04-09 08:15:02
Akari

http://www.thegamecreators.com/?m=view_product&id=2030

Have you looked into darkbasic? It supports materials, animations, mesh, and even physics! The one downside to this is it is stuck to using Direct X8~ or higher :/. Just food for thought, it does have a pretty easy learning curb. Keep up the good work!
Title: Re: Current state.
Post by: Cloudef on 2011-04-09 11:15:48
Darkbasic is language, it's OK for new programmers or hobbies, but It's going to lack in features Akari is going to need, and is going to be damn slow also. It isn't cross-platform either and you get the idea..

Others that I imagine being no-go are XNA and such, they suck and aren't cross-platform. There are quite few OSS rendering engines which is quite sad. Reason why I pick'd up raw OpenGL.
Title: Re: Current state.
Post by: Mako on 2011-04-09 14:28:07
Quote
but It's going to lack in features Akari is going to need,
Really what are those?

Quote
It isn't cross-platform either
Yes I believe that I mentioned that darkbasic is directX... :-\
Title: Re: Current state.
Post by: Cloudef on 2011-04-09 17:27:39
Really what are those?
Yes I believe that I mentioned that darkbasic is directX... :-\

Well first of all it is basic language, so you need to do everything the hard way (Even if it's simpler) It lacks some features in language what even C has.

Next, even if it has lots of stuff like physics and so on, they are all slow. Heck I'd know since I started programming with dark basic professional :P
Title: Re: Current state.
Post by: Mako on 2011-04-09 20:52:14
Though I haven't made a huge project, there are plenty of tech demo's out there that showcase 60fps on thousands of spites and well as 3D models. I have never seen a frame rate hit below that...unless I was not doing something properly.

But then again I do have a very fast PC perhaps this is why I don't detect slowdown...   

Quote
Well first of all it is basic language, so you need to do everything the hard way (Even if it's simpler) It lacks some features in language what even C has.

You may be correct, but I think it could handle FF7 just fine... What are these features you say? I haven't noticed anything besides the aforementioned of course.
Title: Re: Current state.
Post by: Akari on 2011-04-26 08:42:07
Restored system from massive virus attack and ready for action =)

I restored walkmesh load from ffvii. Though still don't know is it convinient to use... maybe simple mesh will be better. Maybe it's good to implement recast navigation.

By the way ready for programming character controller. And question once again.. which is better: xenogears ffvii or ffix. They are different. xenogears and ffvii are similar (though xenogears has walkmesh material). FFIX works differently. Which is to implement?
Title: Re: Current state.
Post by: Rhys on 2011-04-26 09:05:09
I'd say start with FF7, since that has the most documentation on everything.

Do you still have a todo list of what's done, and what isn't? I'm interested in contributing but I'm not sure which part I should start on
Title: Re: Current state.
Post by: Akari on 2011-04-26 12:25:05
I'd say start with FF7, since that has the most documentation on everything.

FFVII was already implemented earlier. Problem that FFIX and FFVII has almost compleatly different collision and walkmesh move detection system. FFVII a lot easier. But FFIX more advanced... it seems.

FFVII work almost directly. Itf you press forward came calculates all collision and if it can do the movement it do it. FFIX has separated walkmesh movement and entity collision system. Still don't know why they need such thing.

Do you still have a todo list of what's done, and what isn't? I'm interested in contributing but I'm not sure which part I should start on

I have one. Don't know if it is up to date.

Mainly things that needs to be done almost from scratch:
Camera system (implement 2d and 3d camera, add exporters for dat dumper and battle).
Sound system (implement sound in qgears engine and write dumpers for sounds and music in FFVII).
Movie system (implement system, implement camera for movies).
2D Background (i'm working on understanding how FFIX backgrounds work and implement it in game. Shader based depth sort).
Scripting system (delayed until LUA 5.2 is out)
Entity system (character controller and scene load)
Effect system (particle system and dumper for battle particles)
UI system (implement effect based UI, add exporter for blender, recreate ffvii UI)
Title: Re: Current state.
Post by: Rhys on 2011-04-26 13:05:52
Well I guess the UI/Sound stuff would be a good start, is the code in src_new what you're working with at the moment?
Title: Re: Current state.
Post by: Akari on 2011-04-26 13:21:09
Well I guess the UI/Sound stuff would be a good start, is the code in src_new what you're working with at the moment?

Yes, UI and Sound both are not very hard. Sound maybe most easy, because don't require Ogre knowledge.

For sound we deside to use openal. you can look at src\core\media\ folder. there are G implementation. Create separate thread on forum to discuss it.

UI is harder. For ui I want to use effect system like one in our company. It's pack of 3d quads with vertex animations (maybe bone animations will be great too). Blender is needed to create it. It must be possible to create this kind of ui with it http://www.youtube.com/user/Falsate#p/u/3/bKVKLPB8llo
I can explain idea for ui in more detailes if needed.


And yes. All code in src_new. Untill I recreate all functionality from src =)
Title: Re: Current state.
Post by: Rhys on 2011-04-26 22:36:14
aha okay, so you're trying to base the UI off of 3D? I can see the merit for animations and stuff, but can't this all be done in 2D too? The only thing I'm wondering about for Sound is the scripting used to play the music, since it was all unique to that game
Title: Re: Current state.
Post by: Akari on 2011-04-27 03:52:47
aha okay, so you're trying to base the UI off of 3D? I can see the merit for animations and stuff, but can't this all be done in 2D too? The only thing I'm wondering about for Sound is the scripting used to play the music, since it was all unique to that game

3d is an artist choise. If you want it 2d just create UI effects with Z == 0. Then all UI will be rendered without scaling and distortion. But if you want to create nice effect like 3d appearence of window or list with nice 3d transitions use of 3d is very convinient. Other point is that for fully change visual of windows and it's elements you don't need programing at all. Models incapsulate all positions. Programmer just run appropriate animation, if artist want change window it simply change what this animation hold. It's harder to use usual xml or some other markup for UI like simple engines. Scaleform are the good library to look at.

As for sound I don't really understand what are you talking about. Music in FFVII and other square games uses AKAO sequencer, sound effects uses same engine. But we don't need this thing in our engine. Simply because we dont have limitations from PSone. We are going to use music and sound convertet to ogg (or mp3) with small description file for them (to set loop points for example). Everything that can be preprocessed must be preprocessed. And adding new sound will be easy. So ffvii to ogg sound and music converter is needed. For now we can use FFVII OST as well =)
Title: Re: Current state.
Post by: Rhys on 2011-04-27 09:03:18
Aha sorry I forgot the new aim for the project is to just convert everything to new formats, instead of creating loaders for the originals. I mean I've taken a look at OpenAL and creating an AKAO sequencer is feasible, but yeah it'd be less work to just have it loop an OGG file.
Title: Re: Current state.
Post by: Cloudef on 2011-04-27 09:34:06
So, what are the libs you are going with Akari? Ogre, OpenAL?
I have experience with OpenAL (Well, with a wrapper from Penumbra), but I've avoided Ogre to speak the truth.

The UI in 3D benefits from GPU too, well this can be done with sprites too... But like Akari said they could cause distortion when scaled and so, meaning same 2d elements for different resolutions. Unless you construct the UI from parts.
Title: Re: Current state.
Post by: Akari on 2011-04-27 10:23:36
Aha sorry I forgot the new aim for the project is to just convert everything to new formats, instead of creating loaders for the originals. I mean I've taken a look at OpenAL and creating an AKAO sequencer is feasible, but yeah it'd be less work to just have it loop an OGG file.

I think you still need to create AKAO sequencer, because you need to export music from game. But write player for QGears itself maybe very good start.
I already started write dumper, but paused halfway.
http://q-gears.svn.sourceforge.net/viewvc/q-gears/trunk/utilites/ffvii_sound_dumper/
G wanted to create dumper with psf player and modified playstation executable
http://q-gears.svn.sourceforge.net/viewvc/q-gears/trunk/utilites/ffvii_sound_dumper_psf/

And you can see his player which plays music from FFVII very good. it cant load second sample bank though.
http://q-gears.svn.sourceforge.net/viewvc/q-gears/branches/old_sources/src/utils/akaoplayer/


Quote
So, what are the libs you are going with Akari? Ogre, OpenAL?
I have experience with OpenAL (Well, with a wrapper from Penumbra), but I've avoided Ogre to speak the truth.

The UI in 3D benefits from GPU too, well this can be done with sprites too... But like Akari said they could cause distortion when scaled and so, meaning same 2d elements for different resolutions. Unless you construct the UI from parts.

Library are: Ogre, OpenAL, Lua, LuaBind, TinyXML.
Why are you afraid of ogre? It's not that hard, but it is the most powerful opensource render engine. As for now I understand it pretty well and can do almost everything with it (it requires time though).

2D UI vs 3D ui is just adding one more dimension of freedom. You can not use it and render everything without perspective transformation. One of the main point is separate logic from graphic. Photoshop doesn't have 2d animation formats, while 3d editors have, and ogre already supports it. You just need to play specific animation in specific time and everything will works.
Title: Re: Current state.
Post by: Cloudef on 2011-04-27 11:15:57
Those libs sound good, about ogre.. I've never really liked it much, it depends on it's core parts too much, and it makes code look bit ugly.. Well the reason for this might be since I've quite strayed away from C++ to C.

Have you tried Javascript instead of lua btw? Those have blazingly fast VM's.
Title: Re: Current state.
Post by: Akari on 2011-04-27 12:49:34
Have you tried Javascript instead of lua btw? Those have blazingly fast VM's.

I read some articles about Javascript VS Lua. And I really don't sure about results. Sometimes Lua faster, sometimes javascript. But Lua is language heavy used by game industry. It uses very little space, has no dependancies on other library and quite fast while has really lot of power. I think we stick with it. Just want to wait until they release 5.2 )
Though I can use 5.1 with bitlib right away.
Title: Re: Current state.
Post by: Cloudef on 2011-04-27 14:31:47
I read some articles about Javascript VS Lua. And I really don't sure about results. Sometimes Lua faster, sometimes javascript. But Lua is language heavy used by game industry. It uses very little space, has no dependancies on other library and quite fast while has really lot of power. I think we stick with it. Just want to wait until they release 5.2 )
Though I can use 5.1 with bitlib right away.

Yeah, better with familiar than odd one.
Title: Re: Current state.
Post by: Rhys on 2011-04-27 22:36:49
Well I'll build a loopable OGG player in OpenAL for the engine, it shouldn't be too difficult but from what I've read there's no standard way of storing loops in OGG files, as it's stored in the metadata which can have different formats, so I'll probably just support one and we can make the converter use that format.
Title: Re: Current state.
Post by: Akari on 2011-04-28 03:29:49
Well I'll build a loopable OGG player in OpenAL for the engine, it shouldn't be too difficult but from what I've read there's no standard way of storing loops in OGG files, as it's stored in the metadata which can have different formats, so I'll probably just support one and we can make the converter use that format.

No, don't use metadata, use description xml. When we thought about sound system we deside with this format
Code: [Select]
<musics>
    <music name="opening" file_name="music/opening.ogg" loop="10.5" />
</musics>
name - name of music to play from engine or script.
file_name - real file name of this music. Full path from data directory.
loop - time in seconds. Optional. If specified sound engine will jump to loop time after music finish playing.

From engine you can play music only by name.
music.xml stored in game_data directory.

With this format modders can easyly add their own looped music.

I added file and directory to project, use it to test.
Title: Re: Current state.
Post by: Rhys on 2011-04-28 08:25:52
Okay that makes things a lot easier, thanks :)
Title: Re: Current state.
Post by: Covarr on 2011-04-28 19:20:43
It would certainly be nice to retain compatibility with currently-existing looped OGGs that are made for the winamp vgmstream plugin.
Title: Re: Current state.
Post by: Rhys on 2011-04-28 22:03:36
I've noticed MSE seems to be finding a lot of viruses and trojans in the repo when it's being checked out, specifically in the .svn folders, do you know any more about this akari?
Title: Re: Current state.
Post by: Akari on 2011-04-29 02:14:08
I've noticed MSE seems to be finding a lot of viruses and trojans in the repo when it's being checked out, specifically in the .svn folders, do you know any more about this akari?

I've been attacked by viruses lately. Now things seems better, but it seems that siruses are remain in .svn files. Don't know how remove them from there. I cant upload these files to svn.. they generated automaticly by server.
Title: Re: Current state.
Post by: Rhys on 2011-04-29 09:29:17
I'd say just re-init the svn if you can with a blank folder then commit the files again
Title: Re: Current state.
Post by: Cloudef on 2011-04-29 09:47:06
I would suggest changing to Git, and hosting on github or so.
Title: Re: Current state.
Post by: Akari on 2011-04-29 10:32:17
I would suggest changing to Git, and hosting on github or so.

I prefer merkurial, though I don't want to change to anything unless there will be many people in development. =)
Title: Re: Current state.
Post by: sithlord48 on 2011-04-29 13:52:48
the only thing you can do to clean you .svn folders, is remove the files and do a fresh checkout.

the .svn files iirc are not stored by the server at all, but generated  when you do a checkout of an svn repo. based on the server diffs, then they are updated with diffs for each revision from teh change log of the server. when you do an update. Souceforge allows for quite a few different version control methods , but svn is mostly the ez one to use for most people.
Title: Re: Current state.
Post by: Rhys on 2011-04-29 19:34:10
Mercurial sounds like a good option to me if there is a change to the versioning system, git is also pretty good
Title: Re: Current state.
Post by: Akari on 2011-05-02 17:09:39
In prepairing for new demo.

Changes:

(http://pics.livejournal.com/crazy_otaku/pic/0001asp0)

2011-05-12
----------
* [Data] Reorganise data in prepare for demo maps. [Akari]
* [Walkmesh] Mode walkmesh draw from SimpleRenderable to debug draw. [Akari]
* [Debug] Add Line3d debug draw. [Akari]

2011-05-11
----------
* [Game] Add grid and axis go game debug draw. Add console variables (debug_grid, debug_axis) to manipulate it. [Akari]
* [Console] After tab is pressed left only one space between parameters. [Akari]
* [Console] Add autocomplete string to input on enter. [Akari]

2011-05-10
----------
* [Entity] Add debug direction draw. [Akari]
* [Console] Fix crush when try get auto completition for functions without it. [Akari]
* [Entity] Add a lot of entity script functions (is_visible, is_talkable, set_talkable, get_talk_radius,
           set_talk_radius, is_solid, set_solid, get_solid_radius, set_solid_radius ). [Akari]

2011-05-09
----------
* [Entity] Mode debug draw to entity class from Game. [Akari]
* [Entity] Add solid and talk collisions to entity. [Akari]
* [Render] Add DebugCylinder prototype. [Akari]
* [Walkmesh] Add debug draw and debug draw config variable debug_walkmesh. [Akari]
* [Entity] Add some debug info for entities. Add config variable to control it debug_entity. [Akari]
* [Application] Make possible to change alignment of debug text. [Akari]
* [Application] Make posible to set default load map from config. Set it to field_test1 for now. [Akari]
* [Font] Make debug font work with alpha. [Akari]
* [Application] Fix pixel aligment when draw in screen space. [Akari]
* [Camera] Add function to convert world point to screen space. [Akari]

2011-05-08
----------
(http://pics.livejournal.com/crazy_otaku/pic/00019a8k)
* [Application] Rename log_level command to set_log_level to indicate command (not variable). [Akari]
* [Application] Add debug fps config variable. Enabled in config. [Akari]
* [Application] Make toggle command work with Strings instead of reals. [Akari]
* [Script] Add script manager debug and console variable to manage it (debug_script). Draws state of entity. [Akari]
* [Application] Move classes to new Debug system. [Akari]
* [Application] Rename masros (remove QGEARS prefix) for easiness. [Akari]
* [Application] Add debug draw Text Line and solid Quad. [Akari]

2011-05-07
----------
* [Application] Get rid of video config and initialise render manually. For now we use OpenGl and 800x600 resolution. [Akari]

2011-05-06
----------
* [Game] Add <entity_script> to scene file. Allows add scripts not assosiated with models. [Akari]
* [Script] Add script priority sorting. [Akari]
* [Script] Add script call functions (request, request_start_sync, request_end_sync). [Akari]
* [Entity] Add sync for animation end function (animation_sync). [Akari]
* [Script] Add external script syncing. [Akari]

2011-05-05
----------
* [Entity & Script] Add animation sequences and functions to manage entity animations (play_animation, play_animation_stop, set_default_animation). [Akari]

2011-05-04
----------
* [Script] Add script:wait function to pause script execution. [Akari]
* [Script] Add script entity and priority for them. [Akari]
* [Game & Script] Add scene load of map script. [Akari]
* [Entity & Script] Bind basic entity functions to script. [Akari]
* [Game & Script] Bind get entity by name to script. [Akari]
* [Script] Rename q_pring to print. [Akari]

* [Entity] add try to run "idle" animation by default during adding entity to scene. [Akari]
* [Entity] add animation start and update. [Akari]
* [Script] add "script_run_file" console command that executes lua file. [Akari]
* [Entity] Add base Entity class and EntityModel to implement models in scene. [Akari]
* [Entity] Add <entity_model> tag into scene file with position and direction.
* [Script] Add script manager with Lua 5.1 and luabind.
* [Console & Script] Add posibility to directly print lua script from console (mainly for debugging purpose).
* [Script] Add q_pring global function to scripts.
Title: Re: Current state.
Post by: Micky on 2011-05-16 19:33:21
By the way, the UI mockup movies look very nice!
Title: Re: Current state.
Post by: halkun on 2011-05-29 05:55:40
Akari, You now have the keys to Q-gears. Don't wreck the car OK?
Title: Re: Current state.
Post by: Akari on 2011-05-30 08:44:57
Akari, You now have the keys to Q-gears. Don't wreck the car OK?

OK =D

Set up bugtracker. Register everyone who want =)

https://sourceforge.net/apps/mantisbt/q-gears/main_page.php
Title: Re: Current state.
Post by: DLPB on 2011-06-02 12:11:57

If you have any issues with the menu then run them by me.  I might be able to help.  Also look at the menu overhaul project by me and kramner, in the first post I have left most of the hex values we have found in a rar file.

It may prove useful to you...
Title: Re: Current state.
Post by: Akari on 2011-06-03 08:10:50
If you have any issues with the menu then run them by me.  I might be able to help.  Also look at the menu overhaul project by me and kramner, in the first post I have left most of the hex values we have found in a rar file.

It may prove useful to you...

If you are interested with UI system and can help create UI for Q-Gears you are always welcome. But it won't be easy task. =)
A look closely on your project and you've done great things. If you want to help we can discuss this in separate post or in ICQ or in PM.
Title: Re: Current state.
Post by: Akari on 2011-06-24 12:25:12
Now I start to work on UI system for q-gears. nothing spectacular yet though =D
Just small colorfull quads =)

(http://pics.livejournal.com/crazy_otaku/pic/0001b7d8)

Works using lua =)

2011-06-27
----------
* [Camera] Add free camera speed multiplyer when shift is pressed for faster movement. [Akari]
* [Application] Add screenshot console command. Take screenshot and save it in the same directory as exe file. [Akari]

2011-06-26
----------
* [Application] Add resolution console command that allow change resolution on fly. It allow switch between fullscreen and windowed also. [Akari]
* [UI] Width and height now all relative to basic 1280x720 resolution.
* [UI] Add horizontal and vertical alignment. Add width and height of elements in % and pixels. [Akari]

2011-06-25
----------
* [Script] Fix that function "print" was output to console only when log level was set to 3. [Akari]
* [Console] Fix error on autocompletition of commands. [Akari]
* [Application] Rewrite tokenise function to work with escape characters to allow inner quotes. [Akari]
* [Console] Add script_run_string command to bind scripts to buttons. [Akari]
* [UI] Widgets how hide it's children when hided. [Akari]

2011-06-24
----------
* [Script] Rename globat UI and Entity tables in script. Now Entity (was map) and Ui. [Akari]

2011-06-23
----------
* [UI] Add XML loaders for UI. [Akari]

2011-06-22
----------
* [Script] Rework script managet to allow work with nested tables. [Akari]

2011-06-21
----------
* [UI] Add colors for Ui widgets test draw. [Akari]

2011-06-20
----------
* [UI] Add test draw for UI widgets. [Akari]

2011-06-17
----------
* [UI] Add placeholder for UI. [Akari]

2011-06-28
----------
* [UI] Make widgets relative to their parents. [Akari]

(http://pics.livejournal.com/crazy_otaku/pic/0001cqfd)

Now only padding feature left and i can go from formatting to visual features =)

+2011-06-29
+----------
+* [UI] Added posibility to set x, y, width and height in percent and pixels altogether. [Akari]

After a bit testing seting params in pixels altogather with % seems more efficient than padding or margins.
UI can be drawn with all aspects just great. widgets can dynamic change their size acording to aspects. Everything for a good UI.

(http://pics.livejournal.com/crazy_otaku/pic/0001da5b)

Now it's finished with layout and start time for a widget's animations =)

================================================================

New update. Sprites was added. But the most important thing that you can scale, rotate and translate them relative to their parents.

(http://pics.livejournal.com/crazy_otaku/pic/0001eq7c)

Now parent scissor test and animations on the way. Stay tuned.
Title: Re: Current state.
Post by: Mako on 2011-07-02 18:46:11
The Asian edition! Will there be a Brad or Robert downey jr edition? :D NNo, This is absolutely fantastic! Your moving very quickly as of like Akari :)
Title: Re: Current state.
Post by: Polefish on 2011-07-03 11:22:15
I want a special Miyazaki Aoi - Asian Addition please :D but Toda Erika is fine too.
Title: Re: Current state.
Post by: jeffdamann on 2011-07-05 00:31:38
Ok guys, I now have unlimited free time. Id like to give a lot of it to q-gears. I tried messing with it like a year ago and it confused me greatly.

Can one of you fine fellows lend me a guiding light so that I can lend you a helping hand?

I guess what I need is a simplified guide of how to get started and then a direction to work in.

Please Im serious about doing this, but I can tell Im going to need a little assistance to get started. If any of you can direct me, I will be more than happy to work on this for years.(Ive already been here 1.5 years, and dont plan on leaving ANYTIME soon)
Plus I see Q-Gears as the ultimate step forward for the community as a whole.
Title: Re: Current state.
Post by: Akari on 2011-07-05 06:17:08
Ok guys, I now have unlimited free time. Id like to give a lot of it to q-gears. I tried messing with it like a year ago and it confused me greatly.

Can one of you fine fellows lend me a guiding light so that I can lend you a helping hand?

I guess what I need is a simplified guide of how to get started and then a direction to work in.

Please Im serious about doing this, but I can tell Im going to need a little assistance to get started. If any of you can direct me, I will be more than happy to work on this for years.(Ive already been here 1.5 years, and dont plan on leaving ANYTIME soon)
Plus I see Q-Gears as the ultimate step forward for the community as a whole.

Guide to what to do:
Register on sourceforge, add yourself to project mantis bugtrack.
Grab lastest version from merkurial and compile it. Make sure it's work.
Look at the source and understand how it works. Ask if you don't understand something.
Next try add some feature. I need sound manager ans Rhys is missing somewhere - you can add sound.

That's it... simple )
Title: Re: Current state.
Post by: jeffdamann on 2011-07-05 08:12:07
Thanks for the quick reply, Im gonna give it a shot( Ill make a seperate topic or pm you if I run into any problems.)
Title: Re: Current state.
Post by: Akari on 2011-07-08 19:17:49
Animations done. =)

2011-07-07
----------
* [UI] Add animation play functions to lua script. [Akari]
* [UI] Add animations to widgets. Translation, rotation and scale. [Akari]
* [UI] Separate colour and alpha. And move them to widget class. [Akari]

2011-07-06
----------
* [UI] Add tag show="true" to enable visibility right on start. [Akari]

2011-07-02
----------
* [UI] Add widget transformation support. Scale and Rotation. [Akari]
* [UI] Add parent scissor test. Tag scissor="true" in screen description file. [Akari]

Now just few steps left until new release. UI text is one of them =)
Title: Re: Current state.
Post by: Polefish on 2011-07-08 20:25:52
Im so exited  ;D

btw. RetroHelix here, the one giving your livejournal-blog a watch every 10 hours or so :)

PS: Do you have any infos about the stealrate in FFIX? After 9 years or so, Im on a playthrough of this lovely story and everytime it comes to bossfights I try to steal the heck out of the opponent but  I was never able to steal everything from a boss. I counted the tries one time and decided to let the items go. 15 tries in a row missing...
Title: Re: Current state.
Post by: Hellbringer616 on 2011-07-08 22:36:37
Maybe a new youtube video to demonstrate what you've got so far on the next release? :P

Or is compiling it in windows not to difficult? (i've never compiled a thing haha)
Title: Re: Current state.
Post by: obesebear on 2011-07-09 14:10:47
Im so exited  :-D

btw. RetroHelix here, the one giving your livejournal-blog a watch every 10 hours or so :?:

PS: Do you have any infos about the stealrate in FFIX? After 9 years or so, Im on a playthrough of this lovely story and everytime it comes to bossfights I try to steal the heck out of the opponent but  I was never able to steal everything from a boss. I counted the tries one time and decided to let the items go. 15 tries in a row missing...

You have rare: 1/256
semi-rare: 16/256
uncommon: 64/256
common: 256/256 (I think)

Just took me 45 minutes to steal the Fairy Flute from Hilgigars, but I've heard horror stories of it taking hours.
Title: Re: Current state.
Post by: Akari on 2011-07-11 10:06:09
Maybe a new youtube video to demonstrate what you've got so far on the next release? :P

Or is compiling it in windows not to difficult? (i've never compiled a thing haha)

I planning video demonstration togather with release of v0.20. But some things need to be finished first. Our own fonts for examle. I don't like fonts in Ogre. They lacks a lot of things that fonts are needed (kerning for example).

After fonts i plan to create prototypes for UI.
Next will be material assigment to be allowed assign you own material with shaders and so on.
That mostly it. =)

=========UPDATE =========
Basic font implementation done. Now time for different aligment and text manamer for different language.
(http://pics.livejournal.com/crazy_otaku/pic/0001fx21)
(http://pics.livejournal.com/crazy_otaku/pic/0001gqx4)
Font implementation includes FFVII font exporter for english and japanese characters for now. )
Title: Re: Current state.
Post by: Hellbringer616 on 2011-07-19 21:10:05
That brought a tear to my eye.  ;D
Title: Re: Current state.
Post by: Cloudef on 2011-07-29 16:26:35
\(^o^)オハヨウ!!!

I just ported OGRE && Irrlicht to OpenPandora, both GLES 1.1 and GLES 2.0 renderer works, tho GLES 1.1 is slightly faster since fixed pipeline is more optimized on driver. I had to alter irrlicht a lot however, since it uses lots of 64bit variables for calculations which are performance killer on many ARM mobile platforms. OGRE port was straight port since it happenned to have floating point precision on compiling settings and seems to work good apart from some texture issues, which I will solve soon.

Whenever I get Pandora(if ever) for myself. I might consider taking contact at you again, since I've been got much more experienced under C (and C++ too)

Also, Akari do you use IRC? I dint really like the IM last time :)
IRC would be great place to lurk and actual contribute something when interesting discussion gets caught.
Title: Re: Current state.
Post by: Akari on 2011-07-29 19:38:01
First is a bit of progress. After looking at the sound for a bit I return to plans for 0.20 release.
Main things is xml support for UI texts that allows nested color changing tags. And moving console to debug draw that allow use colors in console texts.

2011-08-30
----------
* [Console] paint error messages to red and warning to yellow. [Akari]
* [Application] Add setting Z to debug draw to enable depth sorting. [Akari]

2011-08-29
----------
* [UI] Ui drawn under debug draw. [Akari]
* [Console] Make green colour for autocompletition. [Akari]
* [Console] Console moved to debug draw. [Akari]

2011-07-28
----------
* [UI] Add xml support for Ui Texts. Add colour tag to change colour of Ui text. [Akari]

(http://pics.livejournal.com/crazy_otaku/pic/0001kq8s)
(http://pics.livejournal.com/crazy_otaku/pic/0001h699)

Now two main things left for UI: prototypes and text alignment.

\(^o^)オハヨウ!!!

I just ported OGRE && Irrlicht to OpenPandora, both GLES 1.1 and GLES 2.0 renderer works, tho GLES 1.1 is slightly faster since fixed pipeline is more optimized on driver. I had to alter irrlicht a lot however, since it uses lots of 64bit variables for calculations which are performance killer on many ARM mobile platforms. OGRE port was straight port since it happenned to have floating point precision on compiling settings and seems to work good apart from some texture issues, which I will solve soon.

Whenever I get Pandora(if ever) for myself. I might consider taking contact at you again, since I've been got much more experienced under C (and C++ too)

Also, Akari do you use IRC? I dint really like the IM last time :)
IRC would be great place to lurk and actual contribute something when interesting discussion gets caught.

Ohayo for you too =)
I use gtalk, iCQ and skype. You can set up channel in IRC and post it here - I join )
Title: Re: Current state.
Post by: Covarr on 2011-07-29 20:10:33
2011-08-30
----------
* [Console] paint error messages to red and warning to yellow. [Akari]
* [Application] Add setting Z to debug draw to enable depth sorting. [Akari]

2011-08-29
----------
* [UI] Ui drawn under debug draw. [Akari]
* [Console] Make green colour for autocompletition. [Akari]
* [Console] Console moved to debug draw. [Akari]
Oooh, updates from the future. August 29th isn't for nearly a month!
Title: Re: Current state.
Post by: Akari on 2011-07-29 20:22:30
Oooh, updates from the future. August 29th isn't for nearly a month!

My mistake, I just live in future a bit =D
Title: Re: Current state.
Post by: Cloudef on 2011-07-29 22:28:54
Quote
Ohayo for you too =)
I use gtalk, iCQ and skype. You can set up channel in IRC and post it here - I join )

Sure, I'll do that tomorrow. #q-gears @ freenode.net sounds good? I don't have particular love interest to Ogre, especially after porting it and it still does not work that well.
So yeah tomorrow, I'll clone then the work you've done and get familiar with the code. You can fill me more details on IRC then.

E:
Ok, I'll idle at that channel from now on. Whenever you pop there, highlight me to get attention.
Title: Re: Current state.
Post by: Cloudef on 2011-07-30 13:59:51
We probably live on really different timezones, anyways..
I fixed code bit to compile on Linux, also made nice makefile
Code: [Select]
####################################################################
#                                                                  #
# Q-Gears                                                  #
#                                                                  #
# Depends : OGRE, OIS                                  #
# Internal : lua, luabind, tinyxml #
#                                                                  #
# make DEBUG=1 - Debug                                         #
# make - Release #
#                                                             #
####################################################################

# Useful stuff, for eg. cross-compiling
INCLUDE_DIR  := /usr/include
OGRE_INCLUDE := ${INCLUDE_DIR}/OGRE
OIS_INCLUDE  := ${INCLUDE_DIR}/OIS
LIBS := `pkg-config OGRE OIS --libs`
DEBUG := 0

# ---- Q-GEARS Specific ----
CORE_DIR := core
VIEWER_DIR   := viewer
QGEARS_BIN := QGears
BUILD_DIR := ../output

# ATM there is no intelligent render system selection,
# so put your rendersystem path here and it gets copied to build dir
# with name "RenderSystem_GL.so" or "RenderSystem_GL_d.so" in debug mode
OGRE_RENDERER := /usr/lib/OGRE/RenderSystem_GL.so

# ---- Libs that come with Q-Gears ---
INTERNAL_LIB_DIR := ${CORE_DIR}/library
LUA_DIR := ${INTERNAL_LIB_DIR}/lua
LUABIND_DIR := ${INTERNAL_LIB_DIR}/luabind
TINYXML_DIR := ${INTERNAL_LIB_DIR}/tinyxml

# If you set these to 0, we will try to use system libs instead
BUILD_INTERNAL_LUA := 1
BUILD_INTERNAL_LUABIND := 1
BUILD_INTERNAL_TINYXML := 1

# Define libs for these if you don't want to build them
# Default values are just a guess, there is no quarntee all of them come with pkg-configs
LUA_LIB = `pkg-config lua --libs`
LUABIND_LIB = `pkg-config luabind --libs`
TINYXML_LIB = `pkg-config tinyxml --libs`

# ---- A.I ----
# Intenal libs should be build before anything else.
ifeq (${BUILD_INTERNAL_LUA},1)
SOURCE += $(patsubst %.c,%,$(wildcard ${LUA_DIR}/*.c))
else
LIBS += ${LUA_LIB}
INCLUDES += -I${LUA_DIR}
endif

ifeq (${BUILD_INTERNAL_LUABIND},1)
SOURCE += $(patsubst %.cpp,%,$(wildcard ${LUABIND_DIR}/*.cpp))
else
LIBS    += ${LUABIND_LIB}
INCLUDES += -I${LUABIND_DIR}
endif

ifeq (${BUILD_INTERNAL_TINYXML},1)
SOURCE += $(patsubst %.cpp,%,$(wildcard ${TINYXML_DIR}/*.cpp))
else
LIBS    += ${TINYXML_LIB}
INCLUDES += -I${TINYXML_DIR}
endif

ifeq (${DEBUG},1)
DEFINES += -D_DEBUG
endif

# ---- Build defines ----
SOURCE   += Main.cpp \
$(patsubst %.cpp,%,$(wildcard core/*.cpp))    \
            $(patsubst %.cpp,%,$(wildcard core/particles/*.cpp)) \
$(patsubst %.cpp,%,$(wildcard core/particles/emitters/*.cpp)) \
$(patsubst %.cpp,%,$(wildcard core/particles/renderer/*.cpp))
DEFINES   += -DTIXML_USE_STL
INCLUDES   += -I. -I${VIEWER_DIR} -I${CORE_DIR} -I${INCLUDE_DIR} -I${OGRE_INCLUDE} -I${OIS_INCLUDE} -I${INTERNAL_LIB_DIR}
TARGET = ${BUILD_DIR}/${QGEARS_BIN}
OBJ = $(addsuffix .o, $(basename $(SOURCE)))

all: ${TARGET}
@true

# Ugly CPP
%.o : %.cpp
${CXX} ${CXXFLAGS} ${DEFINES} ${INCLUDES} -c $^ -o [email protected]

# Good old C
%.o : %.c
${CC} ${CFLAGS} ${DEFINES} ${INCLUDES} -c $^ -o [email protected]

# Link, create build dir if does not exist
${TARGET}: ${OBJ}
mkdir -p "${BUILD_DIR}"
${CXX} $^ ${LIBS} -o "${TARGET}"

ifeq (${DEBUG},1)
cp "${OGRE_RENDERER}" "${BUILD_DIR}/RenderSystem_GL_d.so"
else
cp "${OGRE_RENDERER}" "${BUILD_DIR}/RenderSystem_GL.so"
endif

# Note: Don't clean ${BUILD_DIR} it's generally non good idea for deveploment
clean:
${RM}  ${OBJ}
${RM}  "${TARGET}"

# TO-DO
# Note: Use ${PREFIX} for install location
install:
echo "Not yet implented"
^ Formatting fails, yay

Code: [Select]
#ifndef _DEBUG
#  ifdef __WIN32__
      root->loadPlugin( "RenderSystem_GL.dll" );
#  else // Assume Linux for now
      root->loadPlugin( "./RenderSystem_GL.so" );
#  endif
#else
#  ifdef __WIN32__
       root->loadPlugin( "RenderSystem_GL_d.dll" );
#  else // Assume Linux for now
       root->loadPlugin( "./RenderSystem_GL_d.so" );
#  endif   
Also Linux version of RenderSystem loading, just copy the .so from /usr/lib/OGRE/RenderSystem_GL_.so, or if you use the makefile it does this automatically.

Next... I suggest we get rid of OIS and use SDL, since OIS pretty much crap everywhere expect Windows.
The only downside would probably be that OGRE depends on OIS and needs to be linked with it, but the app would not use it.

If you allow me to do this, I can do the changes. They are not big if you are OK with only supporting OGRE 1.6 and later, with older OGREs you need more hackery to support SDL input.
Title: Re: Current state.
Post by: Akari on 2011-07-31 08:09:45
Shaders was added for UiSprite, thanks to Cloudef.

(http://pics.livejournal.com/crazy_otaku/pic/0001pfyq)

Start work on FFVII menu.

(http://pics.livejournal.com/crazy_otaku/pic/0001q62k)
Title: Re: Current state.
Post by: Cloudef on 2011-08-01 15:44:18
Ok, Linux fixes + makefile are on Linux branch now.. And AudioManager is there on Audio branch. It handles just ogg files for music ATM. You said something about sound effects needing reverse engineering? They are not yet documented on Qhimm? (I suck at Reverse engineering )
Title: Re: Current state.
Post by: Akari on 2011-08-01 16:32:45
Ok, Linux fixes + makefile are on Linux branch now.. And AudioManager is there on Audio branch. It handles just ogg files for music ATM. You said something about sound effects needing reverse engineering? They are not yet documented on Qhimm? (I suck at Reverse engineering )

Wait until G finished his exporter. He write psf with posibility to execute any needed line of AKAO script and with save to ogg files.

You can write first version of sound playback.
It must read separate file sounds.xml with name and filename in it. For now only play once (i don't know it it will be ever needed for loop).

play with AudioManager::PlaySound( const Ogre::String& name );

There must be few sounds that can play togather (20 for example). if more than that - write warning to log.
Title: Re: Current state.
Post by: sithlord48 on 2011-08-01 16:53:40
Ok, Linux fixes + makefile are on Linux branch now.. And AudioManager is there on Audio branch. It handles just ogg files for music ATM. You said something about sound effects needing reverse engineering? They are not yet documented on Qhimm? (I suck at Reverse engineering )

awesome! im gonna have to try again on my nix machines. be sure u haven't done anything to break it for debian. also the sound effects iirc are just wave files stored in an archive.there is a tool to extract them around here some where so im guessing someone knows how to read this format
Title: Re: Current state.
Post by: Cloudef on 2011-08-01 18:32:09
Wait until G finished his exporter. He write psf with posibility to execute any needed line of AKAO script and with save to ogg files.

You can write first version of sound playback.
It must read separate file sounds.xml with name and filename in it. For now only play once (i don't know it it will be ever needed for loop).

play with AudioManager::PlaySound( const Ogre::String& name );

There must be few sounds that can play togather (20 for example). if more than that - write warning to log.

Ok sounds cool, I'll pick that up later.

awesome! im gonna have to try again on my nix machines. be sure u haven't done anything to break it for debian. also the sound effects iirc are just wave files stored in an archive.there is a tool to extract them around here some where so im guessing someone knows how to read this format

I use Arch Linux myself. The makefile isn't yet complete, but should do it's job for most of distros, by just typing make (assuming you have all deps). The latest hg is broken on linux however cause the debug draw code is poking on uninitialized strings, to workaround this, disable ui_debug on config.cfg. I'll pinpoint what's wrong with the debug draw later. (Also the Linux fixes are in linux branch, or you could just apply these yourself.. Check my last post above.. It's nothing big)
Title: Re: Current state.
Post by: Cloudef on 2011-08-03 10:33:51
The debug draw issue is because you are returning temporary reference to empty string
Code: [Select]
const Ogre::String&
UiWidget::GetCurrentAnimationName() const
{
    if( m_AnimationCurrent != NULL )
    {
        return m_AnimationCurrent->GetName();
    }

    return "";
}         

To fix, either you should not return temporary reference, and instead return new object. But this isn't ideal solution.
So instead do this (which I believe the compiler you use does, when it notices this scenario).

Code: [Select]
static const Ogre::String NULL_STRING("");

const Ogre::String&
UiWidget::GetCurrentAnimationName() const
{
    if( m_AnimationCurrent != NULL )
    {
        return m_AnimationCurrent->GetName();
    }

    return NULL_STRING;
}         

You also return temporary reference in particle system code. Do you want to me commit these to fixes branch or, just wait until you appear on IRC?
I also compiled custom OIS that does not take over my whole system.
Title: Re: Current state.
Post by: Akari on 2011-08-03 11:20:49
You also return temporary reference in particle system code. Do you want to me commit these to fixes branch or, just wait until you appear on IRC?
I also compiled custom OIS that does not take over my whole system.

Fixed =)
Title: Re: Current state.
Post by: Cloudef on 2011-08-03 12:35:47
Fixed =)

Great, I also pulled latest changes you've made. Stuff looks great :)
Title: Re: Current state.
Post by: Akari on 2012-03-03 09:46:44
Little spoiler about nes version )

(http://pics.livejournal.com/crazy_otaku/pic/0001twgs)
Title: Re: Current state.
Post by: Hellbringer616 on 2012-03-04 21:22:23
Nes? Q-Gears can run on the nes?! haha
Title: Re: Current state.
Post by: Akari on 2012-03-05 01:57:28
New... I mean new version )
Title: Re: Current state.
Post by: Hellbringer616 on 2012-03-05 02:17:33
Just giving you a hard time, Can't wait till this gets into late alpha/beta :D
Title: Re: Current state.
Post by: KnifeTheSky77 on 2012-03-07 18:18:50
I'm so excited!  ;D
Title: Re: Current state.
Post by: Akari on 2012-03-09 07:11:38
New spoilers and progress

(http://pics.livejournal.com/crazy_otaku/pic/0001wtrz)
(http://pics.livejournal.com/crazy_otaku/pic/0001xgws)
(http://pics.livejournal.com/crazy_otaku/pic/0001yb2e)
Now with robos from xenogears.
Title: Re: Current state.
Post by: O01eg on 2012-03-15 13:18:19
Is Xeno part active?
Title: Re: Current state.
Post by: Akari on 2012-03-16 22:15:11
What do you mean by "active"?
Title: Re: Current state.
Post by: obesebear on 2012-03-17 00:07:27
Just wondering, how much time do you put into QGears each week?  And is it still only you working on it?
Title: Re: Current state.
Post by: Akari on 2012-03-17 08:52:34
Just wondering, how much time do you put into QGears each week?  And is it still only you working on it?

2-4 hours for exporters and q-gears itself and 2-4 hours for reversing. And yes, I'm still the only one )
Title: Re: Current state.
Post by: Cyberman on 2012-03-25 16:18:07
2-4 hours for exporters and q-gears itself and 2-4 hours for reversing. And yes, I'm still the only one )
It is sad, but I am not sure what to help with these days.

My platform has changed 3 times since Q-gears started all with an associated WTF to do about tools for compiling testing finding the code I did write and pulling hair.
(Check need more hair to pull out.)

It is nice to see you have been progressing at least.

I've been more active on embedded systems et al of late (and mangling Oblivion).

The later is just too much fun.

Erstwhile for fun have you considered using the espeak (http://espeak.sourceforge.net/) software for a 'dialogue' plugin filter or what have you?

Or is there a way to pipe dialogue (with proper pauses emphasis etc) to espeak?

Ahhh you're making me think (LOL). If I remember you are using windows mingw and codeblocks for your build suite?

I can't do windows (pun somewhere in that statement) so I have ye olde Linux (and code-blocks of course).

I believe for the last few years my largest impedment went like this:
Time
figuring out what to look at first
documentation
but it's been about a year since I gandered at it.

Cyb
Title: Re: Current state.
Post by: Akari on 2012-03-26 19:00:45
It is sad, but I am not sure what to help with these days.

My platform has changed 3 times since Q-gears started all with an associated WTF to do about tools for compiling testing finding the code I did write and pulling hair.
(Check need more hair to pull out.)

It is nice to see you have been progressing at least.

I've been more active on embedded systems et al of late (and mangling Oblivion).

The later is just too much fun.

Erstwhile for fun have you considered using the espeak (http://espeak.sourceforge.net/) software for a 'dialogue' plugin filter or what have you?

Or is there a way to pipe dialogue (with proper pauses emphasis etc) to espeak?

Ahhh you're making me think (LOL). If I remember you are using windows mingw and codeblocks for your build suite?

I can't do windows (pun somewhere in that statement) so I have ye olde Linux (and code-blocks of course).

I believe for the last few years my largest impedment went like this:
Time
figuring out what to look at first
documentation
but it's been about a year since I gandered at it.

Cyb

Get lastest version from repositary and look at it )
There are a lot of new things there )

By the way just finish ffvii camera export and basic ffvii background support. looks nice in 16x9 aspect )

(http://pics.livejournal.com/crazy_otaku/pic/0001z9k4)
(http://pics.livejournal.com/crazy_otaku/pic/000208b4)
(http://pics.livejournal.com/crazy_otaku/pic/000214fs)
Title: Re: Current state.
Post by: Cyberman on 2012-03-26 21:03:19
Get lastest version from repositary and look at it )
There are a lot of new things there )

By the way just finish ffvii camera export and basic ffvii background support. looks nice in 16x9 aspect )

<cool images pruned>

all right I'll do a
Code: [Select]
hg clone http://q-gears.hg.sourceforge.net:8000/hgroot/q-gears/q-gears   then of the repository (somehow I feel another pun there ... hmmm).

you are going to make me cdrdao an image of my FF7 disks too I can feel it.

then I have to read the directions (memory isn't so good these days).

....
Now that I have a look at it, the configuration seems predominantly oriented toward using windows, looks like I may have to make some modifications.

It doesn't seem to like the -mthread option I wonder what code-blocks is using at the command line as the GCC supports that. It vomits on compiling Main.cpp (heh did it first thing).

Erstwhile looks like a few things are hard coded, my guess is you did that because you wanted to see the bloody thing work after all that time spent?

Audio core is under works (looks that way) have you considered timidity for sequence playing?

tinyxml woo hoo. Nifty I always used xmlparser but its C++ builder specific so ... it did not work under Linux. Using a full xml parser probably would be ridiculous too.

I see all the utils have there own cbp files too. Interesting, the way it's set up likely take a while to build the whole thing and I probably would have to do it by loading each code blocks project in and compiling looks like.

even more stuff to do (apart from getting codeblocks to compile things correctly that is).

Cyb
Title: Re: Current state.
Post by: Hellbringer616 on 2012-03-26 22:58:39
Akari, You made me have to put on new pants with your latest update.

I should talk with the guys on TA have them export one background in 3d and do a demo. I'd die of heart failure if that happened though haha.
Title: Re: Current state.
Post by: Cyberman on 2012-03-26 23:31:00
Akari, You made me have to put on new pants with your latest update.
Here's a mop?
I should talk with the guys on TA have them export one background in 3d and do a demo. I'd die of heart failure if that happened though haha.
Hmmm well I don't exactly know what that would do. If you look at the images Akari posted carefully, do you see those white and red lines? That is the walk mesh. The background is in 2d. I believe in only one location is there are actual 3d objects as part of the background that move. That would be the Midgard train yard. I don't recall how those are put in there off hand either. All the other places are 2d hand draw backgrounds. The reason I'm mentioning this is, how do you plan to support a large volume of 3d data in FF7 background system? It wasn't designed with that in mind so you might have some difficulty getting such backgrounds to work. The cameras are mostly static so the 2d drawings worked well in the original game.

The back ground format is well known, I don't know about the 3d content. The models in the field scene are contained in an associated BSX file (PSX) then the field palettes are contained in a file called FIELD.TDB (again PSX). That being said it would be extremely complicated to add that information especially if it had textures. Coloured vertices scale nicely but textures require a lot of tweaking and more importantly this is additional data the engine has to read from some place (FIELD.TDB). That means that the game data ends up being edited to be more than just replacing a background tile map. That has it's limits too but not nearly as much as a single file containing all the palette data. It has to work with the original binary executable (Team Avalanche's goal at least).  On the PC side data the wiki is a bit weak in terms of how the data is stored (although it should be there because people have been beating on it).

In simpler words, it's doable but not particularly practical and unlikely to work with the PC version of the game (or the PSX for that matter).

Cyb
Title: Re: Current state.
Post by: Hellbringer616 on 2012-03-27 00:33:46
It would be for the purpose of scaling, Not camera movement. Camera's would still be static. Guessing that's still out of the question though huh?
Title: Re: Current state.
Post by: KnifeTheSky77 on 2012-03-27 04:29:08
It would be for the purpose of scaling, Not camera movement. Camera's would still be static. Guessing that's still out of the question though huh?

I think having fully 3d fields would be amazing for that exact reason, when cyberman brought up talk of 3d this was what initially popped in my head

(http://pics.livejournal.com/crazy_otaku/pic/00017pzq)

Good job so far on qgears, I impatiently await the new demo :)
Title: Re: Current state.
Post by: Akari on 2012-03-27 06:34:37
Now that I have a look at it, the configuration seems predominantly oriented toward using windows, looks like I may have to make some modifications.

I use windows so If there can be some improvements that not breaks whole thing it will be great.

Erstwhile looks like a few things are hard coded, my guess is you did that because you wanted to see the bloody thing work after all that time spent?

I don't remember any hardcoded things. Examples? Maybe it's for test purpose?

Audio core is under works (looks that way) have you considered timidity for sequence playing?

Audio not completed. I plan to use some library that can play mp3/ogg.

tinyxml woo hoo. Nifty I always used xmlparser but its C++ builder specific so ... it did not work under Linux. Using a full xml parser probably would be ridiculous too.

Pugixml is a lot faster but tiny not so bad too. And it covers all things I need.

I see all the utils have there own cbp files too. Interesting, the way it's set up likely take a while to build the whole thing and I probably would have to do it by loading each code blocks project in and compiling looks like.

Extractors no works independantly. In future maybe I unite them as one large extractor that converts all ffvii data to q-gears and human readable format.

I should talk with the guys on TA have them export one background in 3d and do a demo. I'd die of heart failure if that happened though haha.

If they optimize their models then we could use them directly in game.
Title: Re: Current state.
Post by: Cyberman on 2012-03-27 21:26:18
I use windows so If there can be some improvements that not breaks whole thing it will be great.

Makes sense, I'll let you know if I get things working under linux using code blocks. If I can I make it work with cmake or do the traditional iconfig or some sort of autoconfig variant. First is always getting it to compile.
I don't remember any hardcoded things. Examples? Maybe it's for test purpose?

It appears the window settings are 1280x720 in the code for example? That's not a big deal to make configurable really LOL. Hence "you probably just wanted the thing to work".
Audio not completed. I plan to use some library that can play mp3/ogg.
I thought that would be the case, hmmm ogg has better resolution and is license free.
Pugixml is a lot faster but tiny not so bad too. And it covers all things I need.
Well I am always concerned about impact on small systems, what is faster on a BIG system is not going to likely be faster on a small system. A perfect example is MS vista design was built on monster 64 bit systems and not tested on the most likely systems it would be on. This is the most common mistake people make. I have a monster system but I don't code to rely on it. I examine everything to be sure it has the least impact. I plan to port Q-gears to my beagle board which has 128M of ram and an SD card for booting and software. It can support up to 1280x720x16bpp, 3d graphics, real time audio, and video decoding. So I figure if it can run Q-gears, then Q-gears is portable enough. I am currently tweaking PCSX to run under it, always something I guess.
Extractors no works independantly. In future maybe I unite them as one large extractor that converts all ffvii data to q-gears and human readable format.
Well actually I was thinking from more a typical unix style package install perspective, where you make everything including the utilities all at once, and then install with the correct permissions etc.

If they optimize their models then we could use them directly in game.
In Q-gears it would work.
I don't know if FF7's PC engine would be able to handle it or not and also patching the existing data set is likely to be fraught with challenges.

Anything else beyond that ... Sir halkun I default too. :D

Cyb

PS: I do appreciate you persisting where many have fallen. Not everyone has the time, ability, or patience. That is much too your credit. Mine was the time (eating is an important aspect of life after school).
Title: Re: Current state.
Post by: Akari on 2012-04-23 17:54:51
A bit of lastest progress

2011-04-23
----------
* [Script] Add functions to work with entity points. [Akari]
* [Entity] Add entity points that declares position in 3d world. Need now for gateway mechanics. [Akari]

2011-04-14
----------
* [Debug] Add 3d triangles to debug draw to improve visualization of walkmesh.

2011-04-13
----------
* [Entity] Add base line trigger like triggers and gateways in FFVII. [Akari]

2011-04-08
----------
* [Script] Add background animation management opcodes and background script object. [Akari]
* [Background] Add background animation. [Akari]
* [Export FFVII] Add exporting of tile animation. [Akari]

2011-04-03
----------
* [Background] Add blending type support to correctly draw different types of tiles. [Akari]
* [Export FFVII] Add exporting of blending types. [Akari]
Title: Re: Current state.
Post by: Cyberman on 2012-04-23 21:16:09
A bit of lastest progress

2011-04-23
----------
* [Script] Add functions to work with entity points. [Akari]
* [Entity] Add entity points that declares position in 3d world. Need now for gateway mechanics. [Akari]
It had never occurred too me gateways would be 3d, which makes sense because what if you had several doors that visually were on top of each other but in 3d they had different depth. I'll take a look at that.
2011-04-14
----------
* [Debug] Add 3d triangles to debug draw to improve visualization of walkmesh.

2011-04-13
----------
* [Entity] Add base line trigger like triggers and gateways in FFVII. [Akari]

2011-04-08
----------
* [Script] Add background animation management opcodes and background script object. [Akari]
* [Background] Add background animation. [Akari]
* [Export FFVII] Add exporting of tile animation. [Akari]

2011-04-03
----------
* [Background] Add blending type support to correctly draw different types of tiles. [Akari]
* [Export FFVII] Add exporting of blending types. [Akari]

You do mean 2012? Unless you can time travel (neat trick if you can).

Cyb
Title: Re: Current state.
Post by: Akari on 2012-04-28 18:54:21
2012-04-28
----------
* [Content] Modify "MapChanger" entity to load player in given spawn point after map loading. [Akari]
* [Content] Add Savemap lua table to save all variables that was hold in real savemap. [Akari]
* [Entity] Set default run speed to 0.8 instead of 3.6 and default speed to 0.7 instead of 0.9. This is more like speeds in FFVII. [Akari]
* [Entity] Unite default and move idle animation. [Akari]
* [Entity] Rework inner animation state and play types handling. [Akari]
* [Content] Start of "ffvii_md1stin" scripting and markup gateways on maps "ffvii_md1stin", "ffvii_md1_1", "ffvii_md1_2". [Akari]
* [Export FFVII] Add gateway map names and spawn position exporting. [Akari]

(http://pics.livejournal.com/crazy_otaku/pic/000239y7)
(http://pics.livejournal.com/crazy_otaku/pic/00022e86)
Title: Re: Current state.
Post by: Hellbringer616 on 2012-05-01 19:54:04
I'm drooling over this... Is that sad? haha

Akari, I may have asked you this earlier and forgot, do you accept donations? Cause i'd love to buy you a cup of coffee for your contributions :D
Title: Re: Current state.
Post by: LeonhartGR on 2012-05-02 00:13:59
...do you accept donations?

I'll send a paysafe card number :P
Title: Re: Current state.
Post by: Corigne on 2012-05-12 21:19:05
Hey, Akari.  You just got another developer at your disposal. Well... err, "new" developer. I just got my first development related job and I'm still going through uni, though I'm technically on break for a few months.

I'll have to pick up C++, but that shouldn't be any harder than any other language I've had to learn on the go.

I'm going to wait until later this weekend, or maybe tonight if I can manage it, to register on source-forge and the bug tracker.  I'm also familiar enough with SVN to get myself in trouble, so I'll continue to brush up on its use at work as I have been. (we use it for our development).

If you have anything that needs being done, I'd be happy to take a whack at it with my Conformer.

Cheers,

Corigne
Title: Re: Current state.
Post by: Akari on 2012-05-14 17:07:03
Hey, Akari.  You just got another developer at your disposal. Well... err, "new" developer. I just got my first development related job and I'm still going through uni, though I'm technically on break for a few months.

I'll have to pick up C++, but that shouldn't be any harder than any other language I've had to learn on the go.

I'm going to wait until later this weekend, or maybe tonight if I can manage it, to register on source-forge and the bug tracker.  I'm also familiar enough with SVN to get myself in trouble, so I'll continue to brush up on its use at work as I have been. (we use it for our development).

If you have anything that needs being done, I'd be happy to take a whack at it with my Conformer.

Cheers,

Corigne

As usual first advise - grab lastest version os source from merkurial, compile it, maybe compile utilites an try to understand how it works. Feel free to ask questions =)
Title: Re: Current state.
Post by: Corigne on 2012-05-14 20:37:55
As usual first advise - grab lastest version os source from merkurial, compile it, maybe compile utilites an try to understand how it works. Feel free to ask questions =)

Will do, thanks for the response.

Cheers,

Corigne
Title: Re: Current state.
Post by: Akari on 2012-05-19 10:43:19
2012-05-19
----------
* [Export FFVII] Add exporting with correct scale (must be set in export.cfg for now). [Akari]

2012-05-17
----------
* [Background] Add background init and resizing corrently depending on resolution. [Akari]

2012-05-16
----------
* [Export FFVII] Fix background depth export. [Akari]

(http://pics.livejournal.com/crazy_otaku/pic/000246qs)
(http://pics.livejournal.com/crazy_otaku/pic/00025g2x)
Title: Re: Current state.
Post by: Akari on 2012-05-31 20:17:13
Very few things left to be implemented untill v0.21.

Lastest changelog:

2012-06-01
----------
* [Camera] Add reset of ingame FOV when switch to free cemera. [Akari]
* [Background] Add config variable to disable range limitations. [Akari]
* [Background] Range of Background2D scrolling has been exported and implemented. [Akari]

2012-05-31
----------
* [Content FFVII] Add md1_2 map. [Akari]
* [Camera] Camera now set and scrolled correctly in free camera mode. [Akari]
* [Background & Camera] Make background and camera correctly recalculate on resolution change. [Akari]
* [Camera] Make "camera_free" congig command instead of config variable. [Akari]
* [Entity] Add entity animation speed and related lua binds. [Akari]
* [Background & Camera] Move a ot of camera related code from Background2D to CameraManager. [Akari]

2012-05-30
----------
* [Content] Add start menu options for v0.21. [Akari]
* [Background] Add autoscrolling of background and camera to given position. [Akari]

2012-05-28
----------
* [Background & Camera] Add autoscrolling of background and camera to given entity. [Akari]

2012-05-26
----------
* [Export FFVII] Fix eye export (Wedge and Guard has only 1 eye). [Akari]

2012-05-22
----------
* [Content Field] Cleanup md1stin. [Akari]
* [Content Field] Add all posible scripts for md1_1. [Akari]
* [Content UI] Main menu now can be called from within game. it correctly pauses game if is onscreen [Akari]
* [Content UI] Start menu now correctly starts md1stin. [Akari]
* [Content Script] Add "player_lock" helper function that disables player input. [Akari]
* [Content Script] Fix spawning entity in "load_field_map_request" system function. Now it correctly assigns player entity. [Akari]
* [Camera] Remove camera states (at least for now) and add console variable "camera_free" that enables free camera mode. [Akari]
* [Entity] Add pause functionality to EntityManager and "set_paused" bind to LUA. [Akari]
* [Debug] Separate usual update and debug update. When game is on pause debug still must be drawn. [Akari]
* [Export FFVII] Fix export for offset opcode 0xC3. Make it downscaled like all others position data. [Akari]
* [Export FFVII] Fix export for turn opcode 0xB4 and 0xB5. Forgot that turns are always sybcronized in FFVII. [Akari]

2012-05-21
----------
* [Entity] Add player lock and same lua function "player_lock". [Akari]
Title: Re: Current state.
Post by: obesebear on 2012-06-01 03:48:48
Only .21?  I swear it looks like you're 75% complete.  Honestly these recent updates have gotten me more and more excited about this project
Title: Re: Current state.
Post by: Hellbringer616 on 2012-06-01 17:43:47
Question on the new engine, Does it have a graphics renderer/driver baked in? Or will we still be using Aalis driver? If Aali's driver, is there a way to implement a frontend for it in the game?

Also, Again, if ya need a cup of Coffee, i'd love it help haha :D
Title: Re: Current state.
Post by: SpooX on 2012-06-01 17:45:30
no need for Aali's driver, it is based on Ogre3d.
 8)
Title: Re: Current state.
Post by: KnifeTheSky77 on 2012-06-01 20:21:55
I am seriously stalking your mercurial page Akari, I would be honored to buy you a cup of coffee :)
Title: Re: Current state.
Post by: Cyberman on 2012-06-04 22:42:54
Only .21?  I swear it looks like you're 75% complete.  Honestly these recent updates have gotten me more and more excited about this project
Well it supports Xenogears and FF9 and IF I get around to it FF8 as well.

You should take a look at the source code for the various included utilities to understand more fully what I mean. Akari has done a HUGE amount of work, halkun got things rolling and Akari just kept going.

Right now those are shots of just FF7.

I have been really busy the last few weeks dealing with Manchester encoding for free space optical communication so ... I haven't had much time for this sadly.

Reminds me I need to change the permissions on some directories to see if I can open the new source in Code Blocks at least that won't take long.

Cyb

Cyb
Title: Re: Current state.
Post by: halkun on 2012-06-10 03:05:09
halkun got things rolling and Akari just kept going.

This is the story of my life... You should see the Minecraft Enterprise now.
Title: Re: Current state.
Post by: zerotacg on 2013-08-17 23:39:01
hey,
just wanted to give a quick note on my progress
I'm currently concentrating on writing the code to read the data of the pc version (as this is the one I got) and learning Ogre meanwhile
with the wiki is a great help on most of the data formats, the rest I do by reverse engineering ( hail IDA )
what I got till now is more or less the characters, animations loaded by hand for now as I'm not yet reading the map files
I'm tightly sticking to the Ogre resource management so that I can read the data directly from the installed game into ogre
meaning you can do something like this
Code: [Select]
Ogre::MeshManager::getSingleton().load( "field/char/sd_red_sk.mesh", "Game" )and get a complete mesh with skeleton that can be added to a scene node like this
(http://s21.postimg.org/jw51ek95v/qgears_pc_data.jpg) (http://postimg.org/image/jw51ek95v/)
as you can see there is textures and shading but still an issue with skeleton proportions or placement of the meshes along the skeleton but I'm progressing :D

the most stuff is happening in the background, all found .rsd and .hrc files are parsed, materials generated from them, skeletons and meshes declared
with loaders so that ogre knows how to load em, and .tex files can be used directly as file formats, so all in all no conversion to ogres native format
needed, all is running directly from the game data with the possibility to do the conversion for faster loading
Title: Re: Current state.
Post by: halkun on 2013-08-19 04:39:32
When I originally envisioned the engine, I wanted it to use the data files natively. It was Akari who decided to go the conversion route. I also wanted concentation on the PSX version as the PC version was really rare. Now that it's been re-released, and now the PSX version is the rare one. I would like to see native file formats used more. (Akari was more intrested in making an engine then a drop-in executable replacement)

If I was more motivated, I would start a new project using Unity. But that's just me.
Title: Re: Current state.
Post by: Kaldarasha on 2013-08-19 05:31:34
Yeah, motivation is a a**hole...
(http://img7.imageshack.us/img7/9813/4u7.gif)
Title: Re: Current state.
Post by: zerotacg on 2013-08-19 06:17:15
I read about your vision but conversion is it's current state for PSX data :)
Conversion is somewhat more easy, as you don't have to care about Ogres resource management etc but it's not that hard to migrate Akaris code into ResourceManagers & Serializers etc.
For now I'm just concentrating on PC data and getting all assets to read into Ogre though.
As for Unity or some game engine in general, it might be easier in some parts, like input, menus, maybe animations, game states so it might be worth considering a complete engine over just a graphics engine. I haven't worked with any yet so I'm open to suggestions, I would like to stick to C++ though :D and it has to be expandable so that on can implement resource loading from native data without conversion. So I'm not certain Unity would be a good choice.

so I started a discussion on game engines :D Using available Game Engines? (http://forums.qhimm.com/index.php?topic=14561.0)
Title: Re: Current state.
Post by: Akari on 2013-08-19 08:03:53
It's really easy to use native formats. Just build in converters into core and read data from native formats instead of ogre files.

Lately I start to work on battle system implementation in QGears Lua. But I don't have much time now.
Title: Re: Current state.
Post by: zerotacg on 2013-08-24 18:01:41
current state for me

(http://s9.postimg.org/xptzxrnor/reference_flevel.jpg) (http://postimg.org/image/xptzxrnor/)

serialization of Background Texture might not be completely correct but I'm currently aiming for integrating it into map loading of Q-Gears
so that one can load the files directly, instead of the xml files

also it's not really usable for editing right now, I will be implementing some kind of sorting or similar to generate larger tiles that belong
together later on, as both exporting and ingame usage should benefit from it, no priority for now though
Title: Re: Current state.
Post by: KnifeTheSky77 on 2013-08-24 23:49:04
Yay progress! I didnt realize you had started doing work on the mercurial account, maybe ill finally be able to get it to build and run  :evil:
Title: Re: Current state.
Post by: zerotacg on 2013-08-25 08:38:13
if you need help building, open a thread or use an existing and I'll try to help :)
Title: Re: Current state.
Post by: zerotacg on 2013-08-26 17:00:43
just a minor status update

I had an issue with the generation of the Texture from FLevel Backgrounds, I was using PF_A1R5G5B5 format which works in DirectX but not in OpenGL
I could save it as an image and it would look fine and all but not if I use it for rendering
so now I'm always using Ogre::ColourValue to store colors and convert from there to what I need, that also has the advantage of being more consistent
throughout the system, as the ffvii files have diffferent formats. So one doesn't need to care or be aware of the different formats, just for serialization
it needs to be accounted for.

another Issue I had which I didn't notice until switching to DirectX for testing was mesh colours. I'm quite sure the model exporter for psx data suffers the same
it just works around it by loading the exported meshfiles. problem is when you create a vertex buffer for colours, you should do so in the format the RenderSystem
uses (OpenGL ARGB, DirectX ABGR) that one is squished as well :D it's nice to have the choice for DirectX :D

(http://s24.postimg.org/fsxsn3hep/Background_Texture.jpg) (http://postimg.org/image/fsxsn3hep/)
an image with fixed skeleton :) and FLevel background texture, just for testing

next is migrating some existing code to Ogre ResourceManagement so that I can easily switch the xml files for ffvii original data :D
Title: Re: Current state.
Post by: Rundas on 2013-08-26 17:33:53
Nice to finally hear from someone. We were in the dark for a while.
Title: Re: Current state.
Post by: zerotacg on 2013-09-01 21:09:27
nothing to show, but still a minor update
I'm currently digging into the source of qgears main part, refactoring parts of it to comply with Ogre::Resource management, which takes time
currently done is just the description of the map background (*_bg.xml) with serialization helper class so the other files should be faster
along side I implemented loading of the same file from flevel background directly from original data, walkmesh and camera data is still missing
so that will come next.
can't really commit though as I'm currently breaking some stuff in order to stick closer to the real data (ie no pre calculated stretching of background)

so long :)
Title: Re: Current state.
Post by: Fischkopf on 2013-09-07 11:27:04
So how far is the game playable now, with this implementation? I already dream of play FFVII withs all the graphics enhancement mods like on pc, on a tablet.
Title: Re: Current state.
Post by: Cyberman on 2013-09-11 21:07:16
So how far is the game playable now, with this implementation? I already dream of play FFVII withs all the graphics enhancement mods like on pc, on a tablet.

I don't believe it is, just the content is extractable currently and you can script locations but not run in game script at locations.

Cyb
Title: Re: Current state.
Post by: zerotacg on 2013-09-15 17:57:48
just a minor update, as I didn't do much this week. I implemented reading of Camera Matrix for PC Files and usage of it for Map Background loading.
I'm a lil stuck at how the Depth for the z-Buffer is calculated though, as I don't really know a bout 3D graphic code I can't make anything of what's happening in ff7 executable
I'd appreciate any pointer towards some good knowledge about such stuff :D
next thing is most likely walkmesh serialization for pc data, after that lgp archive reading, which should be easy as I can just take existing code and migrate it to Ogre FileArchive class
Title: Re: Current state.
Post by: Hellbringer616 on 2013-09-15 22:55:34
Download DLPB's menu overhaul, It's out dated but what you're after is the documentation, He pretty much knows everything there is about the FF7 exe
Title: Re: Current state.
Post by: zerotacg on 2013-09-25 20:37:34
quite some time, not much done xD
I did play quite a bit of Tales of Xillia and Animal Crossing in the last weeks so coding was suspended a bit
I decided not to go for the walkmesh but did implement and Ogre::Archive for LGP Files, quite easy but still did take some time, I'm glad I have the motivation to stick with unittests makes it way more easy to change stuff and check if it's still working

(http://s14.postimg.org/406c2lxbh/screenshot_09252013_220125794.png) (http://postimg.org/image/406c2lxbh/) (http://s14.postimg.org/7v9q56gh9/screenshot_09252013_220148234.png) (http://postimg.org/image/7v9q56gh9/)

so here some screenshots, background texture and camera settings are read straight from FFVII's flevel.lgp
as you can see I still have some issues with colors of the background and I didn't implement integration of
animation sprites for now
so all in all direct integration with original data is coming along quite well but still lot's of data that needs to be integrated into Ogres Resource Management system
Title: Re: Current state.
Post by: Akari on 2013-09-26 09:37:44
Cool. You progress quite well. I didn't have patience myself to get along with Ogre Resource system. Nice job. I watch your commits in merkurial )
Title: Re: Current state.
Post by: zerotacg on 2013-09-26 16:09:47
yeah please do :D and tell me if I break something or should consider a different approach
I try to not break building, for your settings, but I'm not always sure, if I do so just tell me if you have any probs :)
at some point I considered using cmake to make building / setup easier but couldn't get my self to do so though as I don't have any experience with cmake but I really would like to so that I could switch to another IDE (namely QT Creator) as I'm not satisfied with code completion and some other bugs in CodeBlocks (random keyboard layout switching being one)

btw I noticed Q-Gears being gpl2 should I remove my MIT comments or change them to gpl2?
does anyone know what 's common practice with source forge projects, is the gpl2 mark on the source forge site good enough?
or any tools to automatically apply minimal license header comments?
Title: Re: Current state.
Post by: sithlord48 on 2013-09-26 16:35:36
GPLv2 is prolly the best option if you care about the code remaing open .  for the MIT stuff im pretty sure you can leave it as the MIT license is GPL compatible provided its not a BSD 4 clause style MIT license.

any code under the GPL should have a commented block saying something like

Quote
/****************************************************************************/
//    copyright <year>  <author>  <<email>>                                                         
//                                                                                                                                                     
//    This file is part of <project>                                           
//                                                                         
//    <project>  is free software: you can redistribute it and/or modify       
//    it under the terms of the GNU General Public License as published by 
//    the Free Software Foundation, either version <gpl version> of the License, or     
//    (at your option) any later version.                                   
//                                                                         
//    <project> is distributed in the hope that it will be useful,             
//    but WITHOUT ANY WARRANTY; without even the implied warranty of       
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         
//    GNU General Public License for more details.                         
/****************************************************************************/

and you also must also distrubite a file named COPYING.TXT containg the full license with your releases (source or binary).

and i would be more then willing to help switch the project to Qt creator because Qt creator is awesome an makes it much easier to build cross platform (even if not using Qt directly, since you can still beinfit from qmake, althought Qt is really good too)
Title: Re: Current state.
Post by: zerotacg on 2013-09-26 20:27:45
thx I'll add the gpl header comment then :D

as for help, patches are welcome :)
adding cmake to the build process really might help going cross platform and I could switch IDE :D so that kind of settles it for me as to what do next
I really liked CodeBlocks the first time I used it (some years ago though) but I'm not that satisfied with the current version, well let's see how well it goes with cmake first :)
Title: Re: Current state.
Post by: sithlord48 on 2013-09-26 21:29:17
i have thought about switching building for Black Chocobo to cmake since many other Qt projects use it and decided in the end my building was simple enuff that cmake was going to over complicate it. so i never looked into using to anyfurther but  for something like Qgears cmake might be a really good solution . i was looking to build qgears on my  daily ppa (https://launchpad.net/~sithlord48/+archive/ff7-daily) (would do for only daily now till a stable release if made then would release in my stable ppa). so i have somewhere a list of packages (from debian) qgears depends on. something like this dependicy list is needed for cmake if im not mistaken. if you can get qgears building via cmake i can have the ppa build us daily linux binaries for testing (or at least when chages are made) they would be ubuntu/debian compatible packages and should work on any debian or ubuntu deritivite.
Title: Re: Current state.
Post by: zerotacg on 2013-09-29 21:24:31
CMake build support is comming along quite well, at least it feels like it does
main "game" executable did get a bit larger, might be some static linked lib, will check later
needs some more time for the other binaries and testing if CodeBlocks still works, after that I'll try building on linux :D
as I nether wrote any cmake please correct me if I'm doing it wrong or just not good :)
Title: Re: Current state.
Post by: zerotacg on 2013-10-02 20:04:04
\o/ yey just pushed some further changes to the CMake build settings
Ogre it self suggests a CMake config [1] on how to build your apps with it, that made it quiet a bit more sophisticated to build QGears
and it seems to work quite well, I just had to update their script to Ogre 1.8

(http://s22.postimg.org/o9apfdjz1/screen_shot.jpg) (http://postimg.org/image/o9apfdjz1/)

a screenshot of QGears running on ubuntu 13.04 :) as Ogre 1.8 is required you might have to build it your self, but following the
instructions on there twiki site makes it easy
I tested building and running qgears on win7 and ubuntu 13.04 works quite ok so far
there are still some issues but they mostly arise from my missing knowledge of linux and how to use shared objects etc

so happy hacking on linux :D patches are welcome, advise as well ;)

[1] http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Building+Your+Projects+With+CMake
Title: Re: Current state.
Post by: sithlord48 on 2013-10-03 14:33:54
cool ill look into adding a debian folder so that it can be auto build by my ppa. then we will have daily qgear builds :D

using the CMakeList.txt provided by Qgears i had to add a section for using the ubuntu  libogre-dev package as it installs the cmake stuff to /usr/share/OGRE/cmake/modules

Code: (added @ line 43) [Select]
elseif(EXISTS "/usr/share/OGRE/cmake")
   set(CMAKE_MODULE_PATH "/usr/share/OGRE/cmake/modules/;${CMAKE_MODULE_PATH}")
i was then able to generate a makefile using the cmake CMakeList.txt command .

i am however unable to build the program and around 36% into the build i get an error
Code: [Select]
q-gears-code/QGearsMain/src/core/particles/ParticleSystemManager.cpp:12:75: error: ‘ParticleSystemManager* Ogre::Singleton<ParticleSystemManager>::msSingleton’ is not a static member of ‘class Ogre::Singleton<ParticleSystemManager>’
maybe i just picked a bad day to check the code out..

from stock *buntu/debian you should need the following packages

build-essential
libogre-1.8-dev (liborgre1.8-dev may also be needed)
cmake

creating the debian folder should be pretty easy task. i'll need to build it local so i can test my deploy scripts first.
Title: Re: Current state.
Post by: zerotacg on 2013-10-04 06:08:42
the error you get is from Ogre 1.7 I had the same error and checked Ogre they did change the member variable name from 1.7 to 1.8
so 1.8 is a requirement for now
I noted that as an requirement in a readme.txt in the root path of qgears :)
I wrote boost 1.51 to be required but that's not exactly true, as Ogre is compatible with a variety of boost versions as one can grasp from their cmake
Title: Re: Current state.
Post by: sithlord48 on 2013-10-05 16:51:16
After some problems building on my home machine i realized something the version of ogre in raring is 1.8.0 and qgears uses OGRE::StringConverter::parseSizeT from ogre 1.8.1 . Q-gears will not build using the provided version of ogre using any ubuntu version <13.10 (saucy) . for versions lower then this any build script will first need to get libogre from outside the repositorys.Once i finally upgrade my desktop to saucy (possibly later this week ) i can work on the packaging some more.
Title: Re: Current state.
Post by: zerotacg on 2013-10-06 21:24:34
a minor update from my side
I'm currently doing mostly just migration of building to CMake and cleanup ( lots of files moved, sorry for any inconvinience when updating )
I get along with CMake quite well it really does a great job, I did migrate some first Unittests to CMake + CTest and implemented Walkmesh serialization meanwhile
as building works good enough for now, I'll try and concentrate further implementing missing Resource files, next goal is loading of Field map completely from ff7 data, with exception of the script
Title: Re: Current state.
Post by: Akari on 2013-10-07 12:01:29
a minor update from my side
I'm currently doing mostly just migration of building to CMake and cleanup ( lots of files moved, sorry for any inconvinience when updating )
I get along with CMake quite well it really does a great job, I did migrate some first Unittests to CMake + CTest and implemented Walkmesh serialization meanwhile
as building works good enough for now, I'll try and concentrate further implementing missing Resource files, next goal is loading of Field map completely from ff7 data, with exception of the script

By the way I suggest you to get rid of my support for usual formats like XML and png, get rid of new directory structure, because it will be easier to support native FFVII pc formats only.
It will be easier to add battle and worldmap this way too.
I wanted to create all work through normal readable formats and export all data to this formats to make game easy to create mods and adding new content. If you move this to native data it's not nessasary leave my things in project. Though you still needs to think something for menu and special effects, cause they are all hardcoded.
Title: Re: Current state.
Post by: zerotacg on 2013-10-07 20:45:07
oh by no means would I get rid of that formats, I adjust them as I see appropriate and migrate them to Ogre::Resource etc as needed
easy human readable formats are a good choice for q-gears native format, the easier for content creators the better :)
my ultimate goal for resource files would be to have them all load / fill the same Resource(s) just by different serializers so that the export utilities
would simply import a resource with a game native serializer and export with the q-gears native one
Title: Re: Current state.
Post by: sithlord48 on 2013-10-08 22:45:55
i have created a package (it doesn't really install where it should yet). but in doing so i have discovered qgears repo is way to big to fetch for dailys. the repo will need to be slightly restructed so that the non essental stuff is not in the same folder as the stuff needed to build qgears (and its plugins)

A list of the files used to make the current package can be seen at the link below.
http://pastebin.kde.org/pa0rdikkn   (link good for ~1 month) these items (except for data folder) should perhaps be moved into a folder so its easier to grab the source thats needed for building.  (please note i didn't push the debian folder yet)

the files in "data" are temp and eventually should be replaced by Exports from a supported game or other user created content.

i also need to know the correct copyright info. development years , Name of copyright holder and their email , please PM me this info so i can place it correctly in the copyright section for the packaging
Title: Re: Current state.
Post by: professorhojo on 2013-10-08 23:05:00
I am really glad you all are still actively working on this.  One of these days I can't wait to play the full game front to back using what all of you have built.
Title: Re: Current state.
Post by: professorhojo on 2013-10-08 23:33:28
When I originally envisioned the engine, I wanted it to use the data files natively. It was Akari who decided to go the conversion route. I also wanted concentation on the PSX version as the PC version was really rare. Now that it's been re-released, and now the PSX version is the rare one.

Regarding the re-release, I wonder if anybody has considered if there might be differences in the files between the old original release and the re-release?

The reason I ask is because the version I have is the PC version, the first original one:

(http://image.allmusic.com/00/agg/cov200/drg000/g020/g0201818dw1.jpg)

Short of uploading ISOs to anybody, perhaps there are some things I could offer active developers that they might need?
Title: Re: Current state.
Post by: Covarr on 2013-10-08 23:35:25
Regarding the re-release, I wonder if anybody has considered if there might be differences in the files between the old original release and the re-release?
Aside from the obviously different videos and exe, I'm pretty sure flevel.lgp is different. I don't recall if anyone ever checked the changes, but the format is exactly the same; files can be swapped pretty readily between versions.
Title: Re: Current state.
Post by: Rundas on 2013-10-09 01:31:58
The 2012 Flevel contains bug fixes and such.
Title: Re: Current state.
Post by: genesis063 on 2013-10-09 19:31:57
They may have changed things to work with most of the mods here.  When I used the re-release most of the changes done there showed up.  The only thing I saw was the exe since I think most ones that use it are for the old one as the new release is different.
Title: Re: Current state.
Post by: DLPB on 2013-10-10 00:10:39
The 2012 flevel isn't that different in terms of changes made.  There are one or 2 bug fixes though.  Luksy also had to change ts to read it properly because of the compression.  He surmised that the reason for this was they changed flevel using their own tool, not using Makou Reactor.
Title: Re: Current state.
Post by: Cyberman on 2013-10-16 00:06:37
oh by no means would I get rid of that formats, I adjust them as I see appropriate and migrate them to Ogre::Resource etc as needed
easy human readable formats are a good choice for q-gears native format, the easier for content creators the better :)
my ultimate goal for resource files would be to have them all load / fill the same Resource(s) just by different serializers so that the export utilities
would simply import a resource with a game native serializer and export with the q-gears native one
One thing I always wanted to add was voice synthesis for the conversations. Not because it would sound good but because it would
I am not thrilled with so many games voice acted in fact I've found it annoying of late. It seems to have watered down the dialog in games immensly and really ruined the fun of moding games a lot. Adding new voices is difficult in that not many people can voice act (it is indeed an art). Most people sound ... terrible (not that thier voice sounds bad but it's difficult to have continuity and requires a lot of patience and skill to focus on the words correctly).
So my thinking was "perhaps game script hinting and context sensitive processing would help". Information from the game itself can alter tone pitch etc.

I would love to add other things such as new control inputs that translate into the game functionality (IE not just make the normal inputs but have a proper result in the game). Granted the turn base combat in FF7 can't make much use of something like the kinex however mousing through the menus might be interesting for example.

Just my thoughts ... and seriously that is something "I" consider fun working on :D

Cyb
Title: Re: Current state.
Post by: LeonhartGR on 2013-10-23 14:07:13
I'd love ff8 to sound like that:http://www.youtube.com/watch?v=hOSMMn0BIpQ
http://www.youtube.com/watch?v=3mVAPs5nj6Y

If only a collab with Shudo would be possible in the future...
Title: Re: Current state.
Post by: sithlord48 on 2014-04-25 01:47:41
Just commited the debian folder as well as icon and .desktop file for q-gears.

Sorry about the icon . we will need a better one as mine is just the text "QGears Icon" in a 64x64 box. mainly it is a place holder.

to build the package you will need debian or a debian derivitive (like *buntu)

install the required packages

Code: [Select]
build-essential
devscripts
debhelper
cdbs
cmake
libogre-1.8-dev
libois-dev
libboost-program-options-dev
libboost-filesystem-dev

you will also have to make a folder named "qgears_0.21" (0.21 is current version in debian/changelog) and copy the code into it you will need the following from the source. 
Code: [Select]
debian/*
debpendencies/*
output/*
Plugins/*
QGearsMain/*
SupportedGames/*
CMakeLists.txt
q-gears.desktop
q-gears.png
COPYING.txt
compress this folder to qgears_0.21.orig.tar.gz (use tar.gz replace 0.21 = current version from debian/changelog)
then enter the folder qgears_0.21 and run the command
debuild -uc -us to make the package and use dpkg -i to install it .

the current package will install to /usr/games/ and place resources in /usr/share/q-gears .  depending on your DE you may have to log in / log out to see q-gears in your application menu under games.

remember with 0.21 when you run it to press F8 to bring up the demo menu.
Title: Re: Current state.
Post by: sithlord48 on 2014-04-28 15:45:15
Now that i have the package building correctly and NEED COPYRIGHT INFO. can i please get the license we will release under (currently assuming gplv3) . so that i can post the correct info as well as tag the files with the correct copyright info.

Next Step is for me to set up the repo structure in a manor that can be fetched daily without extra bloat of the install/reversing stuff.

how does this look to everyone for the repo structure???

/
--/TRUNK (the development happens here)
---/QGearsMain/
---/Plugins
---/SupportedGames (various info for supported games
---/output (will need to be sanitized for copyright stuff? mostly all is from the ogre format data.)
---/dependencies/
---/CMakeLists.txt
---/COPYING.txt  (contains our copyright info for the project , basicly a copy of gpl v2 or gpl v3 what we decide apon)
---/debian (folder containing rules and stuff for making debian packages
---/q-gears.desktop (our shortcut for menus)
---/q-gears.png (icon that system will use for qgears)
--/OTHER STUFF (propose a name, maybe should be a few folders.)
---/ all the other folders like misc, media, revercing etc.. 
--/RELEASES  (released code. )
---/0.21 (version 0.21)
---/0.50 (some later version, number is made up )

reason for this is so the development code can easily and without bloat be downloaded for building and daily testing.

now i will work on getting the install portion working as expected without issues on different systems.
Title: Re: Current state.
Post by: zerotacg on 2014-04-29 05:51:48
the source forge site [1] states it is under gpl2, I released my code under mit until I found out it was using gpl2 but didn't change all files
but now as it comes to more developers we should really include a license and a contributors file and prepare a general source header with the minimalistic version of the license
I would stick with gpl2 just to not need the change it but I don't really mind

[1] http://sourceforge.net/projects/q-gears/
Title: Re: Current state.
Post by: sithlord48 on 2014-04-29 12:29:05
yeah i put the gplv2 in copying.txt . the package building is working well. still need to move some things around ill see if i can idle on irc today.

EDIT::

so the Plugins is not needed to build the package.

I was looking in to only pulling the needed files from sourceforge and after creating the project I have discovered that
Launchpad does not support mercurial :(. so i have no idea how im going to import the code for daily building. Is there any possibility of us being able to host a mirror in git or svn on sourceforge at the same time? I look in to how / if this is possible. A Project admin would have to ultimately make the changes because I can not.
Title: Re: Current state.
Post by: zerotacg on 2014-05-01 06:19:49
hg-git [1] to the rescue :D we could just fork and switch to github?
older launchpad [2] did support mercurial?

[1] http://traviscline.com/blog/2010/04/27/using-hg-git-to-work-in-git-and-push-to-hg/
[2] https://i.stack.imgur.com/hMcSR.png
Title: Re: Current state.
Post by: sithlord48 on 2014-05-01 12:11:06
a fork to git hub seams like the best bet. as you dont' get to pick the command you just select the service (hg-git or git-hg doesn't work) . i made a git hub account didn't spend much time trying to get the repo set up . so if you get to it feel free. then we just need to keep the github and sourceforge versions in sync.

yes launchpad at some point did support mercurial from what i have read it was never working correctly and used very little so they just decided to drop it.
Title: Re: Current state.
Post by: zerotacg on 2014-05-02 13:22:29
I mirrored the mercurial repo to github [1] I try to merge any changes from the git repo into hg maybe we could even let the source forge one die and just forward to github?

[1] https://github.com/zerotacg/q-gears
Title: Re: Current state.
Post by: sithlord48 on 2014-05-15 20:04:05
i have forked your github. gotten it to mostly import to launchpad then i hit a wall because of this error

http://launchpadlibrarian.net/175416895/sithlord48-q-gears-trunk.log

im told that some file is possibly not named with utf8 characters... not sure why it wont import correctly.
Title: Re: Current state.
Post by: zerotacg on 2014-05-18 06:21:12
really hard to tell, any hint on which file it is that's causing the error?
Title: Re: Current state.
Post by: sithlord48 on 2014-05-19 12:09:37
no idea
Title: Re: Current state.
Post by: genesis063 on 2014-06-01 20:03:23
With Q-gears is there a way to make Sephiroth and Vincent seperate and restore Sephiroth's rename menu?  I found the menu in question in the flevel though the issue is that it is unfinished with just a blank box.  If we can make them separate then it would make a natural Sephiroth mod a whole lot easier and do able.
Title: Re: Current state.
Post by: sithlord48 on 2014-06-02 15:04:37
im going to say no, because in order to work with the stock game data they will have the same save slot like they always have.
Title: Re: Current state.
Post by: genesis063 on 2014-06-02 18:10:25
Could we easily edit this though?
Title: Re: Current state.
Post by: zerotacg on 2014-06-03 20:51:18
the initial idea, and I like it so I try to stick to it, was to have a drop in replacement for the original executable
so my priority lies with the original data, but the resource system of ogre encourages separation of serialization from the implementation of resource usage so it is relative easy to have multiple implementations of serialization meaning multiple file formats per data type
like there is a xml representation of the ogre mesh files or you can use png,jpeg,bmp ... for textures
so the ultimate goal would be to have it compatible with the native data and some more easy to edit formats
currently you can use ogre mesh files and ff7 mesh files (.hrc if I remember correctly)
but it is still a long way to go and there is currently not much development going on
Title: Re: Current state.
Post by: sithlord48 on 2014-07-03 12:20:54
well i found out why it won't import to launchpad .. there is some non UTF-8 stuff in the history or a referance to a non UTF8 filename in the history. it was suggested to me that the only way to get it to import would be to rewrite the history. i will most likley make a new "clean" repo out of what is needed so that it has a clean history.. hopefully soon we can get those dailys built.. on a side note q-gears will now be two packages one for q-gears and another for q-gears-test-data . the test-data will contain the output/data folder and will be needed for demoing untill q-gears works with stock data. or other way to do user import.

Title: Re: Current state.
Post by: Akari on 2014-07-03 16:29:29
Hello, long time no see  :)

How is q-gears progress going. Din you manage add something new features?
Title: Re: Current state.
Post by: sithlord48 on 2014-07-04 12:06:51
i have not even coded anything :( . zero has done almost all the hard lifting. i have just be working on geting a daily built although not very much as i have spent maybe 3 hours in the past few months on it. once things around me settle back down i should have more time for my projects.


Edit: i have gotten the code to import !! we should have dailys working now!

People with *buntu (or a debian based distros ) should be able to install from myFF7-Daily PPA (https://code.launchpad.net/~sithlord48/+archive/ff7-daily)

When a Stable version is released it will of course be moved to myFF7 PPA (https://launchpad.net/~sithlord48/+archive/ff7)

their are two packages you need to install
q-gears  this contains the engine ONLY
q-gears-test-data : this package contains the test data from "run wild"  you know for testing..


to install on *buntu
Code: [Select]
sudo add-apt-repository ppa:sithlord48/ff7-daily
sudo apt-get update
sudo apt-get install q-gears q-gears-test-data

@ akari , zerotacg: can we make the data path switchable like the config path ? end user should be able to select their data path so they can place files in *nix without being root . it would also make it easier to maintain several data sets
Title: Re: Current state.
Post by: zerotacg on 2014-07-08 05:28:54
data path is configured in resources.cfg not sure if there is still some hard coded paths but thats where you can add paths zips etc where models n stuff can be found at least for the stuff that I moved to ogres resource system
Title: Re: Current state.
Post by: paul on 2014-07-10 22:14:18
Is there is a list of supported platforms? On Debian the Orge version is missing a couple of functions that we could easily implement ourselfs to get it building.

What about a task list of things to do for new people to start work? Or a basic doc that describes the code layout/architecture of the engine?

Its also not clear what you're supposed to do/run once everything is built to see something in action. Has the engine got support for the world map (if we had that list of things done/not done then I wouldn't need to ask ;)).
Title: Re: Current state.
Post by: KnifeTheSky77 on 2014-07-11 04:26:29
I totally agree, I'd be more inclined to add code to this mess if I could make more sense of it  ;)

Haven't tested the ubuntu repo but I definitely will give it a try, good to see it's finally running on Linux
Title: Re: Current state.
Post by: sithlord48 on 2014-07-12 03:37:33
paul what version of debian are you using?
   ogre 1.8.0 is needed to build and some extra libboost stuff .
Quote from:  control file
Build-Depends: debhelper(>= 7.0.50~),libogre-1.8-dev, cmake, cdbs,libois-dev,libboost-program-options-dev,libboost-filesystem-dev
they are ubuntu packages but should be named the same in debian. although versions maybe different

when you start q-gears press F8 to load up the data.

it would be very helpful to have those kinds of docs.
Title: Re: Current state.
Post by: Fischkopf on 2014-07-12 13:24:02
Hello, long time no see  :)

How is q-gears progress going. Din you manage add something new features?

B... but the whole time, I thought YOU were the developer.... :o
Title: Re: Current state.
Post by: paul on 2014-07-13 14:38:01
paul what version of debian are you using?
   ogre 1.8.0 is needed to build and some extra libboost stuff .they are ubuntu packages but should be named the same in debian. although versions maybe different

when you start q-gears press F8 to load up the data.

it would be very helpful to have those kinds of docs.

Jessie - seems that the repo now has 1.8.0 :)

Do you think we could get some kind of wiki or somehow add pages to the source tree to serve as docs on github? Just something that explains:

* What platforms/architectures it supports
* Dependencies
* Supported compilers/tool chains
* Some sort of basic coding style doc
* Major features that deem the engine to be "complete" and their current state
* How to start hacking once everything is built, plus anything else required, e.g do I need the PC or PSX files? Do I need any files at all? etc


Edit: Still seem to have errors on this 1.8.0 version:

Quote
[ 65%] Building CXX object QGearsMain/CMakeFiles/QGearsMain.dir/src/data/QGearsHRCFileSerializer.cpp.o
/home/paul/qgears/q-gears/QGearsMain/src/data/QGearsHRCFileSerializer.cpp: In member function ‘virtual void QGears::HRCFileSerializer::readObject(Ogre::DataStreamPtr&, QGears::HRCFileSerializer::Bone&)’:
/home/paul/qgears/q-gears/QGearsMain/src/data/QGearsHRCFileSerializer.cpp:130:27: error: ‘parseSizeT’ is not a member of ‘Ogre::StringConverter’
         size_t rsd_count( Ogre::StringConverter::parseSizeT( rsd_list.front() ) );
                           ^
QGearsMain/CMakeFiles/QGearsMain.dir/build.make:1894: recipe for target 'QGearsMain/CMakeFiles/QGearsMain.dir/src/data/QGearsHRCFileSerializer.cpp.o' failed
make[2]: *** [QGearsMain/CMakeFiles/QGearsMain.dir/src/data/QGearsHRCFileSerializer.cpp.o] Error 1
CMakeFiles/Makefile2:201: recipe for target 'QGearsMain/CMakeFiles/QGearsMain.dir/all' failed
make[1]: *** [QGearsMain/CMakeFiles/QGearsMain.dir/all] Error 2
Makefile:123: recipe for target 'all' failed
make: *** [all] Error 2

Of course adding our parseSizeT is easy.. but seems to not be a part of Ogre 1.8

To get it building on debian I had to make the following changes:

changed 3 instances of ParseSizeT to parseUnsignedInt

/home/paul/qgears/q-gears/QGearsMain/src/data/QGearsHRCFile.cpp:32:34: fatal error: common/FF7NameLookup.h: No such file or directory
 #include "common/FF7NameLookup.h"

from
#include "common/FF7NameLookup.h"

to
#include "../../SupportedGames/FinalFantasy7/include/common/FF7NameLookup.h"

Not sure where the main binary is yet though..

Edit again:

Finally figured it out, had to copy all of /usr/lib/x86_64-linux-gnu/OGRE-1.8.0/

to the "output" directory and the QGearMain executable to "output", then it would launch, if you didn't tell me about F8 I would have figured a black screen was all it could do though ;)

(http://i62.tinypic.com/25usj7d.png)

Final edit:

Started to add data to the wiki:

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

Title: Re: Current state.
Post by: zerotacg on 2014-07-13 20:17:24
you could check plugins.cfg and set the pluginsfolder to the ogre lib dir so you won't have to copy them over to the output directory or
on windows i let it at "." and add the ogre plugins directory to PATH so that the application finds them
Title: Re: Current state.
Post by: Akari on 2014-07-14 12:50:07
B... but the whole time, I thought YOU were the developer.... :o

My last commit was almost year ago. Didn't do anything since that time. But I check sometimes how things going.
Title: Re: Current state.
Post by: paul on 2014-07-14 22:16:54
My last commit was almost year ago. Didn't do anything since that time. But I check sometimes how things going.

Quite slow.. we need more people :) we also need the field op code reversing to be completed.
Title: Re: Current state.
Post by: SpooX on 2014-07-14 22:45:44
Quite slow.. we need more people :) we also need the field op code reversing to be completed.

I wouldn't call Akari slow, as it is right now pretty much all there is (at least this version) is written by him....
 8-)
Title: Re: Current state.
Post by: Akari on 2014-07-15 04:44:57
Quite slow.. we need more people :) we also need the field op code reversing to be completed.

Which field opcode you need to be reversed? I thought I finished them off )
Title: Re: Current state.
Post by: paul on 2014-07-15 11:08:12
I wouldn't call Akari slow, as it is right now pretty much all there is (at least this version) is written by him....
 8-)

Indeed - I am saying current progress by Zero and myself is slow :)

Which field opcode you need to be reversed? I thought I finished them off )

I've been looking here for docs:

http://wiki.qhimm.com/view/FF7/Field/Script/Opcodes

Seems the red ones are not documented? I was going to work on creating the FF7 script to lua loader.

Title: Re: Current state.
Post by: Akari on 2014-07-15 15:53:48
Quote from: paul
I've been looking here for docs:

http://wiki.qhimm.com/view/FF7/Field/Script/Opcodes

Seems the red ones are not documented? I was going to work on creating the FF7 script to lua loader.

Oh! Year. Most of them are not in first mission scripts and some of them are not well reversed (like movie opcodes). I thiught to add them when I will add following feature but I never did (

I can help you with reversing since I seems the only one who can understand my notes in reversing folder ))

By the way did you see my ffvii field dat dumper in utilites folder? It export native binary script to almost lua )))
Title: Re: Current state.
Post by: paul on 2014-07-15 17:38:48
Excellent, I'll take a look. At the moment I'm updating the code to work on Ogre 1.9 - just need to fix a linking issue with overlays/fonts.

Is there any code already to get field images too? It would be good to get native field images and scripts working, then it would be possible to explore most of the game.

Also out of interest is there anything for FF9 fields and scripts?


Title: Re: Current state.
Post by: Akari on 2014-07-15 18:01:34
Excellent, I'll take a look. At the moment I'm updating the code to work on Ogre 1.9 - just need to fix a linking issue with overlays/fonts.

Is there any code already to get field images too? It would be good to get native field images and scripts working, then it would be possible to explore most of the game.

Also out of interest is there anything for FF9 fields and scripts?

My dumper also dumps background images and animations (including palette animations).

FFIX mostly unknown. You can look at FFIX dumpers in util ditectory. It can dump walkmesh, models with animations but no more. And even this features are not well supported.
Title: Re: Current state.
Post by: paul on 2014-08-03 00:45:31
I've taken to trying to get the world map working, got it rendering with PC textures so far. Code needs a refactoring though as I've just hacked it together to get it working.

I'll do this after I get world map models loaded in and some other bits.

(http://s22.postimg.org/brssrda4d/fixed.jpg) (http://postimg.org/image/brssrda4d/)
Title: Re: Current state.
Post by: sithlord48 on 2014-08-04 16:07:16
looks great!
Title: Re: Current state.
Post by: KnifeTheSky77 on 2014-08-04 20:19:34
Great progress, loving that FPS in world map  ;D
By the time qgears is done, the whole original engine would be totally reversed. That's crazy to think about
Title: Re: Current state.
Post by: paul on 2014-08-04 20:49:07
Need people to reverse:

1. Animated world map textures, its pretty static and dead at the moment
Nothing known..

2. World map scripts
Some info here: https://github.com/paulsapps/ff7tools/blob/master/ff7/world.py
This is reading script from txz which has textures, sounds and script. In PC its in .ev file which apparently is the same data as in txz script section.

3. The encounter data from the enc_w.bin
Some info here: http://forums.qhimm.com/index.php?topic=13560.0

I think that should be everything to fully implement WM
Title: Re: Current state.
Post by: KnifeTheSky77 on 2014-08-05 19:08:39
It looks like Aali is quickly tearing apart the world map scripts

http://wiki.qhimm.com/view/Special:RecentChanges (http://wiki.qhimm.com/view/Special:RecentChanges)
Title: Re: Current state.
Post by: Aali on 2014-08-05 19:44:32
I am, that's just the opcodes though, I will be adding more on how the script is organized and executed and once that's done link it into the main FF7 page. There are still a large number of unknowns though and it seems like quite a bit of stuff you'd need to get the WM working is either hardcoded or contained in other files.
Title: Re: Current state.
Post by: Izban on 2014-09-15 07:28:31
Wondering what level of playablity qgears is up to, like are battles playable yet

side note interested in getting involved no prior experience though wondering where would be a good place to start
Title: Re: Current state.
Post by: Vgr on 2014-09-15 20:33:24
Last time I checked, level of playability was "Hey, you can roam in the first screen!"
Title: Re: Current state.
Post by: sithlord48 on 2014-09-15 20:59:40
and its not playable in that that first screen is completely scripted in native ogre formats.  im not entirely sure how far paul has made it with native data but as far as i know field is working  menu kinda works and battles have parts done but is skipped for the demo . i hope to oneday have more time to devote to properly working on q-gears..

if you would like to help us you can start by checking out the code from git and seeing what you might want to work on .

https://github.com/q-gears/q-gears
Title: Re: Current state.
Post by: paul on 2014-09-16 15:29:22
Wondering what level of playablity qgears is up to, like are battles playable yet

side note interested in getting involved no prior experience though wondering where would be a good place to start

You can walk around the fields which have been converted to Ogre format. WM has an FPS cam that loads native data. Battle scenes/models are loaded in Ogre format.

If you want to help there is tons to be done, I'll be looking at writing a loader/converter for WM to Ogre/QGears format scripts.

We also need this for field scripts and native field data. That way it would almost be possible to navigate all of the fields in the game and visit the WM.