Author Topic: FF7 rendering idea  (Read 7727 times)

Marco

  • *
  • Posts: 26
    • View Profile
FF7 rendering idea
« on: 2003-08-15 08:35:44 »
I've got this great idea to improve the graphical performance of FF7. Unfortunately I do not possess to skills required to do this.

Basically "we" are writing an OpenGL wrapper and a GLUT wrapper, and improving it to fix known issues.

Some of the features would be. (All features should be optional and fully configurable)
Some have complained about the speed at which the motorcycle game runs at (I get that problem too). So to combat that we enable a delay on the calls to bring the game to an acceptable speed.

Then anti-aliasing would be good to implement.

Support for more resolutions would be neat.

Hehe, 6x anti-aliasing in 1280*1024, ought to look good.

The functions FF7 imports are:
[opengl32.dll]
glAlphaFunc
glBegin
glBindTexture
glBlendFunc
glCallList
glClear
glClearColor
glClearDepth
glColor4ub
glColorMask
glColorPointer
glCullFace
glDeleteLists
glDeleteTextures
glDepthFunc
glDepthMask
glDepthRange
glDisable
glDisableClientState
glDrawBuffer
glDrawElements
glEnable
glEnableClientState
glEnd
glEndList
glFinish
glFlush
glFrontFace
glGenLists
glGenTextures
glGetBooleanv
glGetError
glGetIntegerv
glGetString
glHint
glIndexMask
glLineWidth
glLoadIdentity
glLoadMatrixf
glMatrixMode
glNewList
glOrtho
glPixelStorei
glPointSize
glPolygonMode
glReadBuffer
glReadPixels
glRenderMode
glShadeModel
glTexCoord2f
glTexCoordPointer
glTexEnvi
glTexImage2D
glTexParameteri
glVertex3f
glVertexPointer
glViewport
wglCreateContext
wglDeleteContext
wglGetProcAddress
wglMakeCurrent
[glu32.dll]
gluDeleteTess
gluNewTess
gluTessBeginContour
gluTessBeginPolygon
gluTessCallback
gluTessEndContour
gluTessEndPolygon
gluTessNormal
gluTessProperty
gluTessVertex

Mofokubik

  • *
  • Posts: 453
    • View Profile
FF7 rendering idea
« Reply #1 on: 2003-08-15 15:35:35 »
Correct me if im wrong, but higher resulutions wont work unless you remake the fonts and im sure the menu will be screwed up as well. But I like the idea of playing FF7 in opengl, although glide would be nice :P

Marco

  • *
  • Posts: 26
    • View Profile
subject
« Reply #2 on: 2003-08-16 20:10:09 »
Quote from: Mofokubik
Correct me if im wrong, but higher resulutions wont work unless you remake the fonts and im sure the menu will be screwed up as well. But I like the idea of playing FF7 in opengl, although glide would be nice :P


Higher resolutions should work if we do it properly (and if we do it at all).
The game probably uses either blitting or ortho mode to draw 2D sprites. By using the qouta between the resolution the game thinks it's running in and the resolution we have overrided it to we will be able to scale the input sent to our library to the correct values before we forward them to the original rendering code. Unfortunately this would create some minor (I hope) graphical flaws due to the neccessary truncations involved.

I don't have the skills to make this change, all I have is a generic idea of how opengl/directx works from a developers perspective :(

If you put the game to work in software it'll use opengl.

Marco

  • *
  • Posts: 26
    • View Profile
Sorry
« Reply #3 on: 2003-08-19 05:53:24 »
The game appears to use OpenGL no matter what rendering mode you are using.

Alhexx

  • *
  • Posts: 1894
    • View Profile
    • http://www.alhexx.com
FF7 rendering idea
« Reply #4 on: 2003-08-19 19:25:42 »
Heyheyhey, wait a second.
Why fo you think that FF7 uses OpenGL? It doesn't. It uses Direct3d.
If it would be using OpenGL, there wouldn't be such problems in increasing the resolution and quality...

Here's a list of all functions FF7 imports:
Code: [Select]

Names in ff7
Address    Section    Type    (  Name                                    Comment
007AC1DC   .rdata     Import     MSACM32.acmStreamClose
007AC1E8   .rdata     Import     MSACM32.acmStreamConvert
007AC1E0   .rdata     Import     MSACM32.acmStreamOpen
007AC1E4   .rdata     Import     MSACM32.acmStreamPrepareHeader
007AC1EC   .rdata     Import     MSACM32.acmStreamSize
007AC1D8   .rdata     Import     MSACM32.acmStreamUnprepareHeader
007AC244   .rdata     Import  (  USER32.AdjustWindowRect
007AC22C   .rdata     Import  (  USER32.BeginPaint
007AC140   .rdata     Import  (  KERNEL32.CloseHandle
007AC2BC   .rdata     Import     ole32.CoCreateInstance
007AC2C0   .rdata     Import     ole32.CoInitialize
007AC158   .rdata     Import  (  KERNEL32.CompareStringA
007AC108   .rdata     Import  (  KERNEL32.CompareStringW
007AC2C4   .rdata     Import     ole32.CoUninitialize
007AC0AC   .rdata     Import  (  KERNEL32.CreateDirectoryA
007AC1D0   .rdata     Import  (  KERNEL32.CreateFileA
007AC06C   .rdata     Import  (  KERNEL32.CreateProcessA
007AC0CC   .rdata     Import  (  KERNEL32.CreateThread
007AC240   .rdata     Import  (  USER32.CreateWindowExA
007AC218   .rdata     Import  (  USER32.DefWindowProcA
007AC068   .rdata     Import  (  KERNEL32.DeleteCriticalSection
007AC0D4   .rdata     Import  (  KERNEL32.DeleteFileA
007AC24C   .rdata     Import  (  USER32.DestroyWindow
007AC01C   .rdata     Import     DDRAW.DirectDrawCreate
007AC018   .rdata     Import     DDRAW.DirectDrawEnumerateA
007AC024   .rdata     Import     DINPUT.DirectInputCreateA
007AC030   .rdata     Import     DSOUND.DirectSoundCreate
007AC02C   .rdata     Import     DSOUND.DirectSoundEnumerateA
007AC254   .rdata     Import  (  USER32.DispatchMessageA
007AC228   .rdata     Import  (  USER32.EndPaint
007AC080   .rdata     Import  (  KERNEL32.EnterCriticalSection
007AC128   .rdata     Import  (  KERNEL32.ExitProcess
007AC0C8   .rdata     Import  (  KERNEL32.ExitThread
007AC0B4   .rdata     Import  (  KERNEL32.FileTimeToLocalFileTime
007AC0B8   .rdata     Import  (  KERNEL32.FileTimeToSystemTime
007AC0BC   .rdata     Import  (  KERNEL32.FindClose
007AC0C4   .rdata     Import  (  KERNEL32.FindFirstFileA
007AC0C0   .rdata     Import  (  KERNEL32.FindNextFileA
007AC1C8   .rdata     Import  (  KERNEL32.FlushFileBuffers
007AC054   .rdata     Import  (  KERNEL32.FormatMessageA
007AC09C   .rdata     Import  (  KERNEL32.FreeEnvironmentStringsA
007AC160   .rdata     Import  (  KERNEL32.FreeEnvironmentStringsW
007AC16C   .rdata     Import  (  KERNEL32.FreeLibrary
007AC174   .rdata     Import  (  KERNEL32.GetACP
007AC214   .rdata     Import  (  USER32.GetActiveWindow
007AC220   .rdata     Import  (  USER32.GetAsyncKeyState
007AC120   .rdata     Import  (  KERNEL32.GetCommandLineA
007AC170   .rdata     Import  (  KERNEL32.GetCPInfo
007AC154   .rdata     Import  (  KERNEL32.GetCurrentDirectoryA
007AC14C   .rdata     Import  (  KERNEL32.GetCurrentProcess
007AC188   .rdata     Import  (  KERNEL32.GetCurrentThreadId
007AC20C   .rdata     Import  (  USER32.GetDC
007AC048   .rdata     Import  (  GDI32.GetDeviceCaps
007AC0D8   .rdata     Import  (  KERNEL32.GetDriveTypeA
007AC164   .rdata     Import  (  KERNEL32.GetEnvironmentStrings
007AC168   .rdata     Import  (  KERNEL32.GetEnvironmentStringsW
007AC05C   .rdata     Import  (  KERNEL32.GetExitCodeProcess
007AC0F4   .rdata     Import  (  KERNEL32.GetFileType
007AC0DC   .rdata     Import  (  KERNEL32.GetFullPathNameA
007AC21C   .rdata     Import  (  USER32.GetKeyState
007AC050   .rdata     Import  (  KERNEL32.GetLastError
007AC1B4   .rdata     Import  (  KERNEL32.GetLocaleInfoA
007AC104   .rdata     Import  (  KERNEL32.GetLocaleInfoW
007AC0E0   .rdata     Import  (  KERNEL32.GetLocalTime
007AC098   .rdata     Import  (  KERNEL32.GetModuleFileNameA
007AC118   .rdata     Import  (  KERNEL32.GetModuleHandleA
007AC178   .rdata     Import  (  KERNEL32.GetOEMCP
007AC12C   .rdata     Import  (  KERNEL32.GetProcAddress
007AC11C   .rdata     Import  (  KERNEL32.GetStartupInfoA
007AC0F8   .rdata     Import  (  KERNEL32.GetStdHandle
007AC044   .rdata     Import  (  GDI32.GetStockObject
007AC180   .rdata     Import  (  KERNEL32.GetStringTypeA
007AC114   .rdata     Import  (  KERNEL32.GetStringTypeW
007AC0E4   .rdata     Import  (  KERNEL32.GetSystemTime
007AC0F0   .rdata     Import  (  KERNEL32.GetTickCount
007AC110   .rdata     Import  (  KERNEL32.GetTimeZoneInformation
007AC124   .rdata     Import     KERNEL32.GetVersion
007AC078   .rdata     Import  (  KERNEL32.GetVolumeInformationA
007AC058   .rdata     Import  (  KERNEL32.GlobalMemoryStatus
007AC1B0   .rdata     Import  (  KERNEL32.HeapAlloc
007AC1A0   .rdata     Import  (  KERNEL32.HeapCreate
007AC19C   .rdata     Import  (  KERNEL32.HeapDestroy
007AC13C   .rdata     Import  (  KERNEL32.HeapFree
007AC0FC   .rdata     Import  (  KERNEL32.HeapReAlloc
007AC0A8   .rdata     Import  (  KERNEL32.HeapSize
007AC084   .rdata     Import  (  KERNEL32.InitializeCriticalSection
007AC134   .rdata     Import  (  KERNEL32.InterlockedDecrement
007AC0EC   .rdata     Import  (  KERNEL32.InterlockedExchange
007AC138   .rdata     Import  (  KERNEL32.InterlockedIncrement
007AC1A8   .rdata     Import  (  KERNEL32.IsBadCodePtr
007AC0A0   .rdata     Import  (  KERNEL32.IsBadReadPtr
007AC1AC   .rdata     Import  (  KERNEL32.IsBadWritePtr
007AC2AC   .rdata     Import     WINMM.joyGetDevCapsA
007AC2B0   .rdata     Import     WINMM.joyGetPosEx
007AC1B8   .rdata     Import  (  KERNEL32.LCMapStringA
007AC1BC   .rdata     Import  (  KERNEL32.LCMapStringW
007AC07C   .rdata     Import  (  KERNEL32.LeaveCriticalSection
007AC248   .rdata     Import  (  USER32.LoadCursorA
007AC184   .rdata     Import  (  KERNEL32.LoadLibraryA
007AC064   .rdata     Import  (  KERNEL32.lstrlenA
007AC1F4   .rdata     Import  (  USER32.MessageBoxA
007AC27C   .rdata     Import     WINMM.midiOutClose
007AC2A4   .rdata     Import     WINMM.midiOutGetDevCapsA
007AC264   .rdata     Import     WINMM.midiOutGetNumDevs
007AC294   .rdata     Import     WINMM.midiOutGetVolume
007AC278   .rdata     Import     WINMM.midiOutLongMsg
007AC274   .rdata     Import     WINMM.midiOutOpen
007AC290   .rdata     Import     WINMM.midiOutPrepareHeader
007AC2A8   .rdata     Import     WINMM.midiOutSetVolume
007AC298   .rdata     Import     WINMM.midiOutUnprepareHeader
007AC280   .rdata     Import     WINMM.midiStreamClose
007AC288   .rdata     Import     WINMM.midiStreamOpen
007AC26C   .rdata     Import     WINMM.midiStreamOut
007AC28C   .rdata     Import     WINMM.midiStreamPause
007AC29C   .rdata     Import     WINMM.midiStreamProperty
007AC2A0   .rdata     Import     WINMM.midiStreamRestart
007AC284   .rdata     Import     WINMM.midiStreamStop
0040BA00   .text      Export     <ModuleEntryPoint>
007AC0E8   .rdata     Import  (  KERNEL32.MoveFileA
007AC15C   .rdata     Import  (  KERNEL32.MultiByteToWideChar
007AC060   .rdata     Import  (  KERNEL32.OutputDebugStringA
007AC204   .rdata     Import  (  USER32.PeekMessageA
007AC224   .rdata     Import  (  USER32.PostQuitMessage
007AC094   .rdata     Import  (  KERNEL32.RaiseException
007AC1CC   .rdata     Import  (  KERNEL32.ReadFile
007AC010   .rdata     Import  (  ADVAPI32.RegCloseKey
007AC004   .rdata     Import  (  ADVAPI32.RegDeleteValueA
007AC234   .rdata     Import  (  USER32.RegisterClassA
007AC00C   .rdata     Import  (  ADVAPI32.RegOpenKeyExA
007AC008   .rdata     Import  (  ADVAPI32.RegQueryValueExA
007AC000   .rdata     Import  (  ADVAPI32.RegSetValueExA
007AC208   .rdata     Import  (  USER32.ReleaseDC
007AC0D0   .rdata     Import  (  KERNEL32.ResumeThread
007AC090   .rdata     Import  (  KERNEL32.RtlUnwind
007AC200   .rdata     Import  (  USER32.SendMessageA
007AC040   .rdata     Import  (  GDI32.SetBkColor
007AC0B0   .rdata     Import  (  KERNEL32.SetCurrentDirectoryA
007AC10C   .rdata     Import  (  KERNEL32.SetEndOfFile
007AC100   .rdata     Import  (  KERNEL32.SetEnvironmentVariableA
007AC074   .rdata     Import  (  KERNEL32.SetErrorMode
007AC144   .rdata     Import  (  KERNEL32.SetFilePointer
007AC17C   .rdata     Import  (  KERNEL32.SetHandleCount
007AC194   .rdata     Import  (  KERNEL32.SetLastError
007AC210   .rdata     Import  (  USER32.SetRect
007AC1C4   .rdata     Import  (  KERNEL32.SetStdHandle
007AC03C   .rdata     Import  (  GDI32.SetTextColor
007AC0A4   .rdata     Import  (  KERNEL32.SetUnhandledExceptionFilter
007AC1F8   .rdata     Import  (  USER32.ShowCursor
007AC23C   .rdata     Import  (  USER32.ShowWindow
007AC130   .rdata     Import  (  KERNEL32.Sleep
007AC1FC   .rdata     Import  (  USER32.SystemParametersInfoA
007AC148   .rdata     Import  (  KERNEL32.TerminateProcess
007AC038   .rdata     Import  (  GDI32.TextOutA
007AC270   .rdata     Import     WINMM.timeBeginPeriod
007AC25C   .rdata     Import     WINMM.timeEndPeriod
007AC2B4   .rdata     Import     WINMM.timeGetTime
007AC268   .rdata     Import     WINMM.timeKillEvent
007AC260   .rdata     Import     WINMM.timeSetEvent
007AC190   .rdata     Import  (  KERNEL32.TlsAlloc
007AC198   .rdata     Import  (  KERNEL32.TlsGetValue
007AC18C   .rdata     Import  (  KERNEL32.TlsSetValue
007AC230   .rdata     Import  (  USER32.TranslateMessage
007AC150   .rdata     Import  (  KERNEL32.UnhandledExceptionFilter
007AC238   .rdata     Import  (  USER32.UpdateWindow
007AC1C0   .rdata     Import  (  KERNEL32.VirtualAlloc
007AC1A4   .rdata     Import  (  KERNEL32.VirtualFree
007AC070   .rdata     Import  (  KERNEL32.WaitForSingleObject
007AC250   .rdata     Import  (  USER32.WaitMessage
007AC088   .rdata     Import  (  KERNEL32.WideCharToMultiByte
007AC08C   .rdata     Import  (  KERNEL32.WriteFile


I don't see any functions imported from OpenGl32.dll...

 - Alhexx

FF7 rendering idea
« Reply #5 on: 2003-08-20 00:08:15 »
...exactly what I was thinking. FF7 can run in OpenGL, but it's very broken. It's certainly not the default--nor really worth it.

http://forums.qhimm.com/viewtopic.php?t=2156

Marco

  • *
  • Posts: 26
    • View Profile
ok
« Reply #6 on: 2003-08-20 07:06:57 »
For some reason, my game uses OGL. Using a a hacked release with some chocobo patch applied. How about you send me your executable @ [email protected] and I send you mine?

Downloaded the missing file for dumpbin

Dump of file ff7.exe

File Type: EXECUTABLE IMAGE

  Section contains the following imports:

    WINMM.dll
                7B636C Import Address Table
                7B8BFC Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                  59  midiOutSetVolume
                  1A  joyGetDevCapsA
                  97  timeGetTime
                  53  midiOutGetVolume
                  4D  midiOutGetDevCapsA
                  62  midiStreamRestart
                  61  midiStreamProperty
                  94  timeEndPeriod
                  1E  joyGetPosEx
                  57  midiOutPrepareHeader
                  5F  midiStreamPause
                  5D  midiStreamOpen
                  63  midiStreamStop
                  5C  midiStreamClose
                  4C  midiOutClose
                  54  midiOutLongMsg
                  56  midiOutOpen
                  93  timeBeginPeriod
                  5B  midiOutUnprepareHeader
                  52  midiOutGetNumDevs
                  5E  midiStreamOut
                  99  timeSetEvent
                  98  timeKillEvent

    KERNEL32.dll
                7B6064 Import Address Table
                7B88F4 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                 172  HeapSize
                 210  SetEndOfFile
                  3D  CreateProcessA
                 26A  WaitForSingleObject
                 213  SetErrorMode
                 14F  GetVolumeInformationA
                 180  IsBadCodePtr
                 1C9  RaiseException
                  2A  CreateDirectoryA
                 20C  SetCurrentDirectoryA
                 183  IsBadReadPtr
                 236  SetUnhandledExceptionFilter
                  7E  FindClose
                  87  FindNextFileA
                  82  FindFirstFileA
                  6C  ExitThread
                  43  CreateThread
                 1E2  ResumeThread
                  4E  DeleteFileA
                  DF  GetDriveTypeA
                  F0  GetFullPathNameA
                 1D6  ReadFile
                  31  CreateFileA
                  F5  GetLocalTime
                 135  GetSystemTime
                 1A6  MoveFileA
                 186  IsBadWritePtr
                  58  EnterCriticalSection
                  4C  DeleteCriticalSection
                  77  FileTimeToLocalFileTime
                  78  FileTimeToSystemTime
                 17C  InterlockedExchange
                 18F  LeaveCriticalSection
                 145  GetTickCount
                 19A  LocalFree
                  98  FreeLibrary
                 179  InitializeCriticalSection
                 161  GlobalMemoryStatus
                 211  SetEnvironmentVariableA
                  93  FormatMessageA
                  1E  CompareStringA
                  18  CloseHandle
                  F7  GetLocaleInfoW
                 116  GetProcAddress
                  8E  FlushFileBuffers
                 229  SetStdHandle
                 190  LoadLibraryA
                 25B  VirtualAlloc
                 12E  GetStringTypeW
                 12B  GetStringTypeA
                 18E  LCMapStringW
                 18D  LCMapStringA
                  F6  GetLocaleInfoA
                 168  HeapAlloc
                 16E  HeapFree
                 219  SetFilePointer
                 27B  WriteFile
                 1E5  RtlUnwind
                 25E  VirtualFree
                 16A  HeapCreate
                 16C  HeapDestroy
                 24A  TlsGetValue
                 21E  SetLastError
                 248  TlsAlloc
                  E6  GetExitCodeProcess
                 1BA  OutputDebugStringA
                 2A1  lstrlenA
                  F4  GetLastError
                  1F  CompareStringW
                 24B  TlsSetValue
                  D6  GetCurrentThreadId
                  EF  GetFileType
                 12A  GetStdHandle
                 21B  SetHandleCount
                 109  GetOEMCP
                  9D  GetACP
                  A3  GetCPInfo
                 26E  WideCharToMultiByte
                  E3  GetEnvironmentStringsW
                  E1  GetEnvironmentStrings
                  97  FreeEnvironmentStringsW
                 1AB  MultiByteToWideChar
                  96  FreeEnvironmentStringsA
                  FC  GetModuleFileNameA
                 250  UnhandledExceptionFilter
                  D3  GetCurrentProcess
                 246  TerminateProcess
                 17E  InterlockedIncrement
                 17B  InterlockedDecrement
                 23F  Sleep
                  D1  GetCurrentDirectoryA
                 171  HeapReAlloc
                 148  GetTimeZoneInformation
                  6B  ExitProcess
                 128  GetStartupInfoA
                  FE  GetModuleHandleA
                 14C  GetVersion
                  AA  GetCommandLineA

    USER32.dll
                7B6304 Import Address Table
                7B8B94 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                 251  UpdateWindow
                  D5  GetActiveWindow
                  80  DefWindowProcA
                 101  GetKeyState
                  D7  GetAsyncKeyState
                 1B3  PostQuitMessage
                  B6  EndPaint
                   9  BeginPaint
                 1CD  ReleaseDC
                  EE  GetDC
                 208  SetRect
                 22D  ShowWindow
                  55  CreateWindowExA
                   1  AdjustWindowRect
                 1BE  RegisterClassA
                 172  LoadCursorA
                  8A  DestroyWindow
                 25D  WaitMessage
                  90  DispatchMessageA
                 245  TranslateMessage
                 1AF  PeekMessageA
                 1DA  SendMessageA
                 234  SystemParametersInfoA
                 195  MessageBoxA
                 229  ShowCursor

    GDI32.dll
                7B6038 Import Address Table
                7B88C8 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                  F2  GetPixelFormat
                  FA  GetStockObject
                  47  DescribePixelFormat
                  C7  GetDeviceCaps
                 168  SetPixelFormat
                   D  ChoosePixelFormat
                 150  SetBkColor
                 183  TextOutA
                 172  SetTextColor
                 182  SwapBuffers

    ADVAPI32.dll
                7B6000 Import Address Table
                7B8890 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                 120  RegDeleteValueA
                 136  RegQueryValueExA
                 12E  RegOpenKeyExA
                 141  RegSetValueExA
                 117  RegCloseKey

    ole32.dll
                7B63CC Import Address Table
                7B8C5C Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                   C  CoCreateInstance
                  48  CoUninitialize
                  26  CoInitialize

    OPENGL32.dll
                7B620C Import Address Table
                7B8A9C Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                  CF  glPointSize
                 164  wglGetProcAddress
                   C  glBindTexture
                  6E  glGetError
                  7D  glGetString
                  42  glDeleteLists
                  B9  glNewList
                  69  glGenLists
                  53  glEndList
                   F  glCallList
                  6B  glGetBooleanv
                  40  glCullFace
                  50  glEnable
                  47  glDisable
                 12C  glTexEnvi
                 15C  wglDeleteContext
                 165  wglMakeCurrent
                  A5  glLoadIdentity
                  B6  glMatrixMode
                  48  glDisableClientState
                  70  glGetIntegerv
                  4A  glDrawBuffer
                 157  glViewport
                  C5  glOrtho
                  A7  glLoadMatrixf
                 129  glTexCoordPointer
                 113  glTexCoord2f
                  51  glEnableClientState
                 156  glVertexPointer
                  3A  glColorPointer
                  4B  glDrawElements
                   B  glBegin
                  32  glColor4ub
                 148  glVertex3f
                  52  glEnd
                  CB  glPixelStorei
                  61  glFinish
                  F4  glReadBuffer
                  F5  glReadPixels
                  6A  glGenTextures
                 135  glTexImage2D
                  45  glDepthMask
                  43  glDeleteTextures
                  88  glHint
                 138  glTexParameteri
                   8  glAlphaFunc
                   E  glBlendFunc
                  14  glClearDepth
                  13  glClearColor
                  11  glClear
                 105  glShadeModel
                  D0  glPolygonMode
                  62  glFlush
                 15A  wglCreateContext
                  89  glIndexMask
                  FE  glRenderMode
                  67  glFrontFace
                  38  glColorMask
                  A3  glLineWidth
                  44  glDepthFunc
                  46  glDepthRange

    DSOUND.dll
                7B602C Import Address Table
                7B88BC Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                   4  DirectSoundEnumerateA
                   3  DirectSoundCreate

    DINPUT.dll
                7B6024 Import Address Table
                7B88B4 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                   0  DirectInputCreateA

    DDRAW.dll
                7B6018 Import Address Table
                7B88A8 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                   7  DirectDrawEnumerateA
                   5  DirectDrawCreate

    MSACM32.dll
                7B61F0 Import Address Table
                7B8A80 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                  2A  acmStreamSize
                  2B  acmStreamUnprepareHeader
                  28  acmStreamPrepareHeader
                  25  acmStreamConvert
                  24  acmStreamClose
                  27  acmStreamOpen

  Summary

      797000 .data
        4000 .rdata
        1000 .rsrc
      3B5000 .text

CloudStrife

  • *
  • Posts: 21
    • View Profile
    • http://ffpatch.no-ip.org
FF7 rendering idea
« Reply #7 on: 2003-08-20 13:09:19 »
Final Fantasy VII 1.02 (nvidia patch) can function in OpenGL, it's just necessary to modifie the register base...
but the OpenGL support was not completely implanted...
http://forums.qhimm.com/viewtopic.php?t=1659

Alhexx

  • *
  • Posts: 1894
    • View Profile
    • http://www.alhexx.com
FF7 rendering idea
« Reply #8 on: 2003-08-20 13:55:16 »
I see ... yeah, I've got Version 1.00 ... alright then

 - Alhexx

Marco

  • *
  • Posts: 26
    • View Profile
help
« Reply #9 on: 2003-08-20 14:05:43 »
So Cloud, the program is importing the libraries, but not using them?

Great...

CloudStrife

  • *
  • Posts: 21
    • View Profile
    • http://ffpatch.no-ip.org
FF7 rendering idea
« Reply #10 on: 2003-08-20 19:59:12 »
The program uses the opengl...
I have test with my Voodoo 2 and 3dfx OpenGL ICD,
and the games start on Voodoo 2 when OpenGL ICD stays present...

Alhexx

  • *
  • Posts: 1894
    • View Profile
    • http://www.alhexx.com
FF7 rendering idea
« Reply #11 on: 2003-08-22 15:33:04 »
So if FF7 can ru in OpenGL, then it should be no big problem to improve the resolution of FF7 ... I've gotta try to get my 1.02 patch running...

 - Alhexx