Q-Gears.0.11

  • Thread starter Thread starter Akari
  • Start date Start date
Status
Not open for further replies.
I actualy have a question for you. In the end of all plans, are you going to be changing on how certain systems work? For instance, the battle systems lighting effect VS the overworld and such? I'm just wondering since I have noticed some people complain about such systems, lol. It may be too early for this question but eh, my curiosity gets the best of me. -_-

Edit: "No, as it stands right now" is the first thing in that area. Things change in time, hence why I asked, and I mean EVER. Not at the end of this project, but the end of all plans. >_> I mean, that document talks more about the PS version then the PC, and look what we have here.

Edit 2: Okay, apparently then enhancements will never, ever, be done. It seems that way from the replys.

Edit 3: The rules here are WAY to restrictive. You wont be seeing me too often for that reason, it feels like someone is on a power trip.
 
Last edited:
How about Enhancements? I would like Bump mapping/MP3 Muisc/Per-pixel lighting/Particle effects....
No, as it stands right now, the clear goal is to get an engine up and running. Things like enhanced backgrounds, battle effects, and music are only considered if it's critical to the program. (For example, an increase in resolution to support newer systems.) We need it running as close to the original executables as possable. If you want to add your own effects or functions go ahead and fork the code and go wild. If it's orthogonal enough, we could add it back to the main trunk.
You obviously didn't read this:

https://www.ff7catalog.com/threads/3254/
 
In simple terms We want something working and reading the script first.
Enhancements are pointless unless that part works.
Without an active script engine clunking away playing with data, we can't find out what is going on.
Enhancements mean we might have a cool looking box that blinks but nothing to view at this time.

There is no Q-gears 1.0 it's pre alpha, it's a multi year project, we aren't even close to year 1 yet either.  Perhaps in 6 months most of the small tools will work and the big script engine kernal will too.  Maybe then, and that's maybe we'll have version 1.0.  You should read the other sticky thread in the forum too. :D
 
when i open it, nothing happens

the console window opens, then the splash screen opens...but thats it.
 
Err - try pressing Space.

This is why what Cyb has been saying holds true - the current build really is not meant for hand-holding people through it. IMHO, there shouldn't be any error reporting unless you've also got the source to hand and have read through it (& understand it), which would answer questions like the above, as well as allow people to say "this isn't working, I'd check [X source file] because I think there's a memory allocation problem" or something (essentially, yeah, it closes off bringing up problems to those who know what they're talking about).
 
Here it is - week result. As always a lot of changes and a lot of additions.

[ffvii] v0.06a

2006/10/13
    + [ffvii] Change version number to v0.06a. [Akari]
    * [ffvii] Implement PartyMenu loading when pressing S in FieldModule (and no text was shown). [Akari]
    * [ffvii] Implement PC (0xA0) opcode and controllable entity. [Akari]
    * [ffvii] Implement xml gateway loading (pc character doesn't set in given position yet). [Akari]
    + [ffvii] Changed coloring of triggers, walkmeshes and entities. [Akari]
    + [ffvii] Moved manager clearing from Dat file reader to FieldModule map loading. [Akari]
    * [ffvii] Implement gateway activation and loading (pc character doesn't set in given position yet). [Akari]
    * [ffvii] Read gateway info. [Akari]

2006/10/12
    * [ffvii] Implement map loading on gateway activation. [Akari]
    * [ffvii] Add Gateway class. Implement action on trigger activation. [Akari]
    * [ffvii] Implement full collision box/trigger collision. [Akari]
    + [ffvii] Move trigger/collision check to trigger class. [Akari]
    + [ffvii] Move object collision to Model class (implement GetCollision()). [Akari]
    * [ffvii] Create separate collision class. [Akari]
    + [ffvii] Move triggers and collision check to separate class. [Akari]

2006/10/11
    * [ffvii] Implement test trigger/unit collision detection. [Akari]

New version of windows binaries are at http://jrpg.ru/qgears_ffvii.zip

I add few more maps so you can test few more of them (jump to them through dialog or through gateway).
But remind that if you try to move to next field after MD1_2 - game crush because it can't find next field.
 
Love your new object & gateway colour scheme.  :-D Did you get the PM btw?
 
Wow, qgears has improved a lot on maps already. You can even load startmap without an xml and walk arround in a few of the maps you can jump from it!
Too bad there are still many unknown upcodes and missing features.

P.D.: Any specific reason you haven't updated the svn? I would like to play with the code. :P
 
Love your new object & gateway colour scheme.  :-D Did you get the PM btw?
I stole coloring from your meteor  :-P
Yup I got it, just dont have time answering yet.

Wow, qgears has improved a lot on maps already. You can even load startmap without an xml and walk arround in a few of the maps you can jump from it!
Too bad there are still many unknown upcodes and missing features.
For complete working of STARTMAP we need to know PRTYP, SLIDR opcode and a lot of opcodes in yuffie dialog. Many of them are don't known yet so it's up to Synergy Blades  :-P
Ow.. for activation of dialog we need unit/unit collision =)

P.D.: Any specific reason you haven't updated the svn? I would like to play with the code.
I'll do this soon enough  8-)
 
I stole coloring from your meteor  :-P
Yup I got it, just dont have time answering yet.
You are borrowing on a  semi permanent basis. :)

Sheesh ... Well it's not too big of a deal, this weekend I will TRY wrangling the ISO code into Q-gears current existance.

halkun do you know what revision you uploaded your code at? Because you should be able to retrieve it based on the revision #

Some code wrangling is going to be needed soon I suspect.

Cyb
 
For complete working of STARTMAP we need to know PRTYP, SLIDR opcode and a lot of opcodes in yuffie dialog. Many of them are don't known yet so it's up to Synergy Blades  :-P
Ask, and ye shall receive (well, one new one at least), but it'll have to be posted here as no-one's deleted the redirect on PRTYP as per our request...  :-P


* Opcode: 0xC8
* Short name: PRTYP
* Long name: Party Add

-- Memory layout

0xC8 - C

-- Arguments

const UByte C: Character ID to add.

-- Description

Adds a character to the party, as given by C. The character is added in the first given empty party slot (which can be set by PRTYE and an argument of FE for a slot); if there are no party members, the newly added character is the leader, if there is only leader, the newly added character occupies the second slot, and if there are two members, the character occupies the last slot. If the opcode is used when there is already a full party (with three members), the newly added party member occupies the last slot, displacing the party member already there.


It's probably worth noting that these ignore the locking and unavailability masks provided by MMBud and MMBLK/UK.


Halkun: I just grabbed the latest after having deleted the whole original folder I had containing Q-Gears, your script dumper is still there in trunk/utils/scriptdump, unless you're talking about something else?
 
I foudn a problem when compiling using VS2005:

In FieldModule::LoadMap(const u16& id) you call mpUnitManager->Clear().
The code generated by vs2005 sets the mapid (passed by reference) to 0xfeee when the destructor executes, so the value is lost!
I solved this by doing this:

Code: [Select]
Code:
FieldModule::LoadMap(const u16& tid){ u16 id=tid;...
I also found a crash at UnitManager::CheckTriggers. There are script errors and it doesn't load any unit, so the unit vector is empty.

Code: [Select]
Code:
    for (u8 i = 0; i < mGateways.size(); ++i)    {  if ( mUnits.size() <= mPC ) break;     mGateways[i]->CheckCollision(mUnits[mPC].position, collision);    }...
I suppose this only happens because of the script errors, but anyway.

EDIT: I moved the if outside of the for whiule typing this because I thought it would work, but it seems it needs to be in it to work correctly.
 
Last edited:
Halkun: I just grabbed the latest after having deleted the whole original folder I had containing Q-Gears, your script dumper is still there in trunk/utils/scriptdump, unless you're talking about something else?
Oh, found it... Sorry. I was looking under /src I assummed Akari reverted it after that CapitalLetter thing.
 
In version 0.06, the same error occurs for me than with 0.05...(Image of the error)
EDIT: Now q-gears works for me, i dunno what error that was but now it starts normal. Good work Akari!
 
Last edited:
A lot of changes in this two weeks:

2006/10/25
    * [ffvii] Add BTLON (0x71) field opcode support. [Akari]
    * [ffvii] Add BTLTB (0x4B) field opcode support. [Akari]


[ffvii] v0.07a

2006/10/25
    + [ffvii] Change version number to v0.07a. [Akari]
    * [ffvii] Add MPNAM (0x43) field opcode support. [Akari]
    * [ffvii] Implement savemap map name storing. [Akari]
    - [ffvii] Fix memory leak in xml to script converter (spesial opcode size was incorrect). [Akari]
    * [ffvii] Implement Storing PC unit position and triangle in gamestate. Not use this though. Moved this to next version [Akari]

2006/10/24
    * [ffvii] Implement BTLLK (0x0FFB) SPECIAL inner opcode. [Akari]
    * [ffvii] Implement SPECIAL (0x0F) field opcode (without inner opcodes). [Akari]

2006/10/23
    + [ffvii] Rewrite script class. Make KERNEL Gamestate MemoryBank handling, not the FieldModule.
    + [ffvii] Make MemoryBank part of Gamestate.
    * [ffvii] Add PRTYP (0xC8) field opcode support. [Akari]
    + [ffvii] make last active encounter table to be set as active. [Akari]
    * [ffvii] Implement xml encounters loading. [Akari]
    + [ffvii] Return a lot of debug info (current coords, current triangle). [Akari]
    + [ffvii] Implement random encounters (Mechanics by Terence Fergusson). [Akari]


[ffvii] v0.06c

2006/10/20
    + [ffvii] Change version number to v0.06c. [Akari]
    * [ffvii] Implement real Input handling (shown clickable window block all input to other managers). [Akari]
    + [ffvii] Return direction line for model. [Akari]
    * [ffvii] Implement rough encounter (not the real scene, just encounter itself). [Akari]
    * [ffvii] Implement encounter field info reading. [Akari]

2006/10/19
    + [ffvii] Add NULL check to Entity::DeleteScript(). [Akari]
    * [ffvii] Add BATTLE (0x70) field opcodes support. [Akari]
    + [ffvii] Revert fix from 2006/10/14. Use RequestLoadMap in Gateway instead of LoadMap that is private now. [Akari]


[ffvii] v0.06b

2006/10/19
    + [ffvii] Change version number to v0.06b. [Akari]
    + [ffvii] Rewrite script class. Make ENUM case selection. [Akari]
    + [ffvii] Make single size for opcodes in converter and parser. [Akari]

2006/10/18
    + [ffvii] Make only 20 opcodes executed on one iteration. Initialization script must be less than this. [Akari]
    + [ffvii] Completly rewrite script class. Make it works more likein ffvii with single script buffer. [Akari]

2006/10/16
    * [ffvii] Implement savemap map_id storing and loading.
    * [ffvii] Create placeholder for battle.
    - [ffvii] Fix Game was crushed when no PC entity defined. [Akari]

2006/10/14
    - [ffvii] Fix LoadMap in field lose id given by reference when map resources was cleared. [Akari]
    + [ffvii] CheckTriggers in UnitManager now takes unitId as argument because we need check not only PC. [Akari]


As I have acceess to File release I upload new binaries here http://sourceforge.net/projects/q-gears
I don't know how to upload changes to SVN since there are a lot of changes.... upload little later.
 
Whenever I try running this new version it crashes instantly soon after displaying the console and window.

Here's the game log, doesn't look that helpful though:
[21:19:44] Set current renderer: OpenGL.
[21:19:44] SDL init begin
[21:19:44] SDL_INIT_VIDEO initialized
[21:19:45] SDL video mode set 640x480, 16 bit SDL_OPENGLBLIT | SDL_HWSURFACE
[21:19:45] Got 32 bpp (8888), 24 depth, 8 stencil
[21:19:45] SDL init complete
[21:19:45] OGL Vendor: ATI Technologies Inc.
[21:19:45] OGL Renderer: RADEON X850 XT Platinum Edition x86/SSE2
[21:19:45] OGL Version: 2.0.5949 WinXP Release
[21:19:45] OGL Extensions: GL_ARB_multitexture GL_EXT_texture_env_add GL_EXT_compiled_vertex_array GL_S3_s3tc GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_multisample GL_ARB_occlusion_query GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_transpose_matrix GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ARB_draw_buffers GL_ATI_draw_buffers GL_ATI_element_array GL_ATI_envmap_bumpmap GL_ATI_fragment_shader GL_ATI_map_object_buffer GL_ATI_separate_stencil GL_ATI_texture_compression_3dc GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_ATI_vertex_array_object GL_ATI_vertex_attrib_array_object GL_ATI_vertex_streams GL_ATIX_texture_env_combine3 GL_ATIX_texture_env_route GL_ATIX_vertex_shader_output_point_size GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_object GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_EXT_texgen_reflection GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_vertex_array GL_EXT_vertex_shader GL_HP_occlusion_test GL_NV_blend_square GL_NV_occlusion_query GL_NV_texgen_reflection GL_SGI_color_matrix GL_SGIS_generate_mipmap GL_SGIS_multitexture GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays GL_WIN_swap_hint WGL_EXT_extensions_string WGL_EXT_swap_control
[21:19:45] GLU Version: 1.2.2.0 Microsoft Corporation
[21:19:45] Set SDL input handler.
The time is an hour slow on the log too :-P
 
New version.

[ffvii] v0.08

2006/11/10
    + [ffvii] Change version number to v0.08. [Akari]
    * [ffvii] Add solid state to unit. [Akari]
    * [ffvii] Implement savemap pc coords loading after gateway. Slightly redone position set mechanics. [Akari]
    * [ffvii] Implement xml walkmesh loading. [Akari]
    * [ffvii] Implement GetVector3 parse method to XmlFile for coords parse (xyz="999 999 999"). [Akari]

2006/11/09
    - [ffvii] Fix battle encounter and trigger checked even if we are not moving. [Akari]
    * [ffvii] Implement restore position after battle. [Akari]
    * [ffvii] Implement storing and loading pc coords set bool value. [Akari]
    * [ffvii] Move all XML loading from field to DatXmlFile loader. [Akari]
    * [ffvii] Create DatXmlFile class that handles field XML loading. [Akari]
    * [all] Create XmlFile class that handles basic XML operations. [Akari]

2006/11/07
    * [ffvii] Implement unit/unit colliding. [Akari]

2006/11/03
    * [xeno] Add WalkMesh loader to FieldModule and display walkmesh. [Akari]
    * [xeno] Add FieldModule placeholder alonf with unit manager (as in ffvii). [Akari]
    * [xeno] Add ArchiveFile class that handles archives. [Akari]

2006/11/02
    * [ffvii] Implement dialog activation. [Akari]
    - [ffvii] Fix small error in WindowManager. (pointer position was reseted even if we create not ask window) [Akari]
    * [ffvii] Implement unit/unit collision detection. [Akari]
    * [ffvii] Switch to ODE collision detection for triggers and units. [Akari]

2006/10/27
    * [ffvii] Add triangle that shows gateway and ladder to KERNEL. [Akari]


Windows binaries available here: http://sourceforge.net/projects/q-gears
 
Ooh cool, you rock Akari, I'm really looking forward to the day you can commit all this to svn.  :wink:
 
Status
Not open for further replies.
Back
Top