Show Posts

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


Messages - paul

Pages: 1 2 3 4 5 [6] 7
126
Team Avalanche / Re: [HD Remake] WIP Sector 5 slums
« on: 2014-12-31 11:30:47 »
I was thinking more external files, for example Aali's driver has that "direct" mode, well it could say if the file im loading is "reactor.field" (or whatever) then disable the 2d field rendering and load all of the meshes and things from some where else and render those itself. It would require hooking a lot more stuff in the game though.


127
Team Avalanche / Re: [HD Remake] WIP Sector 5 slums
« on: 2014-12-30 21:07:09 »
Thanks for sharing. It looks like what you got are the shaders from the Blender Internal engine, whereas the scene was made for Cycles (I have an older version of the same scene with Blender Internal shaders, but it does look very good in comparison). By the way, it is possible to do texture baking in Cycles, so maybe you'd like to check that out. Unless you'd like me to upload that older version to the repo?

Ah so thats what its doing, if you have a blender internal version that'd be cool (to see how it looks :)). I don't have access to the repo though, I was just given this one file directly.

@Knife, I dunno what I'm using, I just used whatever the first google result was.

Edit: Oh btw about the 54fps, that was just a dip, it hits 120fps easily, and in a few years you'd prob be able to get 250fps easily too. If the project ever went down the real time 3d route then optimization probably wouldn't matter due to the hardware speed when its all finished being so much faster.

I was thinking that it would actually be technically possible to get FF7 itself to render 3d fields with hook that replaces the rendering functions.


128
Depends how many more bugs or issues I find in its output, feel free to chip in though ;)

Field script output
Code: [Select]
var_80_20=66;
var_80_21=66;
var_80_22=66;
var_80_23=255;
return;
SetPalette(0,13,0,255);
do {
  while (var_80_20 < 98) {
    var_80_20 += 16
    var_80_21 += 16
    var_80_22 += 16
    MulitplyPallete();
    Wait(256);
    CopyPallete();
    LoadPallete();
  }
  while (var_80_20 > 4) {
    var_80_20 -= 24
    var_80_21 -= 24
    var_80_22 -= 24
    MulitplyPallete();
    Wait(256);
    CopyPallete();
    LoadPallete();
  }
} while(true);

World map script progress
Code: [Select]
00000202: reset stack (0)
00000203: push byte from bank 0 897 (2)
00000205: jump if false 25 (0)
00000207: reset stack (0)
00000208: push byte from bank 0 897 (2)
0000020a: push byte from bank 0 897 (2)
0000020c: push constant 1 (2)
0000020e: push sub (2)
0000020f: write bank (0)
00000210: reset stack (0)
00000211: push byte from bank 0 897 (2)
00000213: push constant 0 (2)
00000215: push equal (2)
00000216: jump if false 25 (0)
00000218: unknown 320 (0)
00000219: return (0)

00000203: if (!897) {
00000211:   if (!897  0) {
00000218:     kernel_unknown_800();
00000219:   }
00000219: }
00000219: return;

And all of wm0.ev:

http://pastebin.com/Gqq7M111

129
For the script decompiler I'll be using Michael Madsen's work from SCUMMVM. There will be a few extra bits required but at the moment its looking pretty simple to do.

The current test outputs this:

Code: [Select]
00000000: SETBYTE 80, 20, 66
00000004: SETBYTE 80, 21, 66
00000008: SETBYTE 80, 22, 66
0000000c: SETBYTE 80, 23, 255
00000010: RET
00000011: STPAL 0, 13, 0, 255
00000016: IFUB 80, 20, 98, 3, 38 (False target address: 0x41)
0000001c: PLUS 80, 20, 16
00000020: PLUS 80, 21, 16
00000024: PLUS 80, 22, 16
00000028: MPPAL2 0, 85, 80, 0, 16, 20, 21, 22, 255
00000032: WAIT 256
00000035: CPPAL 0, 0, 16, 0
0000003a: LDPAL 0, 16, 13, 255
0000003f: JMPB 41 (Jump target address: 0x16)
00000041: IFUB 80, 20, 4, 2, 38 (False target address: 0x6c)
00000047: MINUS 80, 20, 24
0000004b: MINUS 80, 21, 24
0000004f: MINUS 80, 22, 24
00000053: MPPAL2 0, 85, 80, 0, 16, 20, 21, 22, 255
0000005d: WAIT 256
00000060: CPPAL 0, 0, 16, 0
00000065: LDPAL 0, 16, 13, 255
0000006a: JMPB 41 (Jump target address: 0x41)
0000006c: JMPB 86 (Jump target address: 0x16)

Which decompiles to this

Quote
00000000: UnknownKernelFunction_128();
00000000: UnknownKernelFunction_128();
00000000: UnknownKernelFunction_128();
00000000: UnknownKernelFunction_128();
00000000: UnknownKernelFunction_0();
00000000: SetPalette();
00000016: do {
00000016:   while (!foo) {
0000001C:     UnknownKernelFunction_234();
0000001C:     UnknownKernelFunction_36();
0000001C:     UnknownKernelFunction_231();
0000001C:     UnknownKernelFunction_230();
00000041:   }
00000041:   while (!foo) {
00000047:     UnknownKernelFunction_135();
00000047:     UnknownKernelFunction_135();
00000047:     UnknownKernelFunction_135();
00000047:     UnknownKernelFunction_234();
00000047:     UnknownKernelFunction_36();
00000047:     UnknownKernelFunction_231();
00000047:     UnknownKernelFunction_230();
0000006C:   }
0000006C: } while(true);

The code is here:

https://github.com/paulsapps/SUDM

Apart from a few minor fixes the only code I had to add to make this work is here:

https://github.com/paulsapps/SUDM/tree/master/decompiler/ff7_field

The CFG:



130
Team Avalanche / Re: [HD Remake] WIP Sector 5 slums
« on: 2014-12-25 10:11:44 »
I've been messing with 3D fields in QGears, here is what I could hack together in an hour using one of Mayo's scenes:








131
Its possibly to specify which executables to include in the package too, if you do that LUA won't appear.

Edit: Saw what you guys where saying in IRC. I don't think we should use IS because it isn't free and isn't supported by CPack, we need anyone to be able to compile the installer and to only maintain one CPack script for all platforms. For NSIS VS WIX is more native than NSIS too, see:

http://stackoverflow.com/questions/1903145/nsis-vs-wix-vs-anyother-installation-package

unless there is some other reason to use NSIS over WIX? Also the intention is that the scripts will be converted automatically - without any goto's. I'm working on the script decompiler that should generate structured code (no goto's). It will be a while before this works though.

132
I've updated the build to use CPack to build a DEB file if on Linux or build an MSI on windows. Still needs some work, license needs adding, MSI banner image, include the OGRE config for qgears.exe include OGRE DLLs on Windows etc.

133
Feel free to PM me too in case hes not online as I'll be able to add you too.

Also I'll explain how we split up the repo recently:

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

This contains only the engine code now, no binaries or data, not even in the history (to remove the copyrighted data which would end this project).

This repo has the following submodules:

https://github.com/q-gears/q-gears/tree/master/dependencies

To 3rd part things, finally there is one more:

https://github.com/q-gears/q-gears/tree/master/output

Which links to the data repo:

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

Which contains all data to run qgears (and some copyrighted data too, I guess at some point we need an installer to generate this from the users installed copy of the game). The code and data repos weigh in at about 20MB.

And the other final repo is:

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

Which has everything that didn't fit in to either of the code or data repos. This one is huge (1GB) and still has full history too.


134
It doesn't change the fact that everyone working on different versions of the code makes no sense. Anyone with a software engineering background knows this is insanity.

135


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

If you don't do it from a github fork it can't be merged, if you don't like the changes everyone else is making then everyone else might as well stop working on the project.

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

The latest version is here:

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

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

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


137
Don't forget to send pull request so I can put it into main github repo :)

138
Add basic dialog support for simple text dialogs (no styling or questions). Few more days to support all FFVII dialog features. It will work like in v0.17 with minimal changes. You can look syntaxis there. Stay tuned =)

Next I add ingame bindings (normal bindings works already for long time).

Do you need something ekse like fade to make all bombing mission work?

Awesome make a fork from https://github.com/q-gears/q-gears and create a pull request, I'll merge your changes in :).

139
Q-Gears / Re: Compiling QGears
« on: 2014-11-24 01:05:22 »
Build instructions updated:

https://github.com/q-gears/q-gears/blob/master/readme.md

For newer and older Ubuntu and Windows, code fixed to actually build under MSVC.

Project also added to Travis-CI.

140
Oh, I was gettting an error on compile but wasn't noticing because the compiler window automatically closed once it was finished.  When I ran it from cmd.exe heres what I got:
Code: [Select]
qgears source is in: C:\QGEARS\q-gears-code\code
building with mingw
C:\QGEARS\q-gears-code\code\QGearsMain\src\core\Entity.cpp:1:20: fatal error: En
tity.h: No such file or directory
 #include "Entity.h"
                    ^
compilation terminated.
mingw32-make[2]: *** [QGearsMain/CMakeFiles/QGearsMain.dir/src/core/Entity.cpp.o
bj] Error 1
mingw32-make[1]: *** [QGearsMain/CMakeFiles/QGearsMain.dir/all] Error 2
mingw32-make: *** [all] Error 2
C:\QGEARS\q-gears-code\code\QGearsMain\src\core\Entity.cpp:1:20: fatal error: En
tity.h: No such file or directory
 #include "Entity.h"
                    ^
compilation terminated.
mingw32-make[2]: *** [QGearsMain/CMakeFiles/QGearsMain.dir/src/core/Entity.cpp.o
bj] Error 1
mingw32-make[1]: *** [QGearsMain/CMakeFiles/QGearsMain.dir/all] Error 2
mingw32-make: *** [all] Error 2

Entity.h actually does exist in C:\QGEARS\q-gears-code\code\QGearsMain\include\core

What generator did cmake use?

How difficult would it be to get fields+battle running at 60fps, or 1000, whichever looks better :evil:

Battle is a long way from working at all, field runs at 300fps on my computer. Field is far from optimized for speed though, but then again at 300fps it doesn't really need optimizing.


141
Yes but the conversion of FF data to QGears should not mean manually porting the scripts over by hand. Also the FF format loader should just convert to QGears LUA and load that internally.

The QGears format is only really useful for modding or optimizing the load times (since the game is so old this doesn't really matter at all at the moment, I can load the entire world map and get 1000fps).

P.S Are you in the irc channel? The constant down time on this forum is EXTREMELY annoying :@ :(

142
Are you making these changes from the github repo? If not then you might find you need to do a lot of reworking due to changes in the version you have.

Also the best course of action is to update the loaders so that the fields/scripts can be automagically loaded by qgears rather than needing manual edits/conversions.

143
If you used the driver to load 1 dll as the "framework" then that's all you'd need. Even if they wanted to change the same thing it could still work, you could even make it just load a bunch of lua scripts.

E.g the DLL would hook and manage everything and provide call backs in to lua code such as onBattleStarted, onFrameStarted.. that sort of thing.

If you don't use a DLL then how do the current mods actually work? Patch the EXE?



144
Q-Gears / Re: Level Format
« on: 2014-09-21 16:51:37 »
This is an outstanding task, Q-Gears should be able to load the native field files directly, feel free to help out ;)

145
Team Avalanche / Re: Midgar Revival
« on: 2014-09-19 18:00:59 »
That render looks almost complete? :)

146
Team Avalanche / Re: [HD Remake] WIP Sector 5 slums
« on: 2014-09-19 17:58:15 »
Amazing - too bad the char models now look really really really really bad instead of really bad with the new awesome back ground images.

147
Q-Gears / Re: Current state.
« 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.


148
Team Avalanche / Re: [HD Remake] WIP Sector 5 slums
« on: 2014-09-15 07:32:10 »
I would like to see it even with a static camera as it just looks more natural and scales with future higher resolutions more easily. Also the lighting (even if baked) can be casted in real time on the chars making  it look a lot better.


149
Team Avalanche / Re: [HD Remake] WIP Sector 5 slums
« on: 2014-09-14 23:44:58 »
Having freedom for decomposing the fields along layers, as well as field animation (such as fluid flow) would be a great bonus - they would allow more freedom to rework scenes. As for 3d fields, I am not sure. The framework we're currently working in does not set a limit on poly count, and objects are not worked so that they could be rendered at 30 or 60 pfs - there's no such optimization (and to be frank, I'm not sure how to do it). In addition, texture/shading is specific to a rendering engine, so all the corresponding work I am doing for Cycles render would have to be redone for whatever 3d rendering system used in-game.Do you mean to make a rigged camera movement like in the urban environments in Resonance of Fate? https://www.youtube.com/watch?v=ltrPi4yt5Ic

I think you would have to bake everything so they just textures/bump/spec maps or whatever - if you've seen Andrew Prices latest cycles videos you'll see what I mean. I think pretty much any real time rendering engine can load that data in some way.

What are the current poly counts? To be honest for real time rendering I think counts into the millions would be fine as by the time all scenes are completed it would probably be easy for entry level hardware to handle it. For example PS1 could only render the FF7 WM at 30fps and only limited sections of it. Today we can render the whole thing un-optimized at 200fps.


150
Team Avalanche / Re: [HD Remake] WIP Sector 5 slums
« on: 2014-09-13 23:06:45 »
Yeah in QGears it should be easy enough to do. On the wm side of things the wm0 can be rendered - I need some spare time to carry on working on it. A decompiler to decompile the scripts to QGears WM lua is the next step.

Pages: 1 2 3 4 5 [6] 7