## MESHTOOL/OGFVIEWER for IBM OS/2 README, FAQ [201104xx]

#### 0. WHAT IS IT?

OGFVIEWER/MESHTOOL - crossplatform utilities toolkit for viewing, conversion 3d-models of gaming engines X-Ray (GSC S.T.A.L.K.E.R. series) and also MSH (Orion engine v1 MSH - Stalin Subway, Red Veil), Autodesk 3DStudio MAX 3DS (via LIB3DS.DLL, planned).

Used engines: IBM OpenGL 1.0/1.1 Gold, WarpMesaGL (planned).

#### 1. SYSTEM REQUIREMENTS

- OS/2 v3, v4, v4.5x, eComStation client or server editions
  for OS/2 v3* - 80386 or later CPU required
  for OS/2 v4 and later - 80486 or later CPU required
- Multimedia Support for IBM OS/2 (MMOS2 directory)
- IBM OpenGL 1.0 (base), OpenGL 1.1 Gold
- 15/16/24 or 32 bit display mode
- TCP-IP for OS/2 (tcpip32.dll needed only :) )

* to make OGFVIEWER work in OS/2 v3, copy these OpenGL 1.0 DLLs from Warp4 installation to {root}/OS2/DLL directory of your OS/2 v3 PC:

    GLUT.DLL
    LIBAUX.DLL
    LIBTK.DLL
    OPENGL.DLL
    RASTER.DLL

OS/2 v3 is incompatibe with IBM OpenGL 1.1 Gold!

#### 2. VERSION DIFFERENCES

In base version, object moves over (0:0:0). In alternate version, free camera moves over scene.
All versions built in OpenWatcom 1.9.

    IBM OS/2, IBM/MS DOS:

    MESHTOOL\OS2\GL10\ogf_tk.exe - OS/2 LIBTK+OpenGL 1.0 Console version.
    MESHTOOL\OS2\GL10\ogf_tka.exe - OS/2 LIBTK+OpenGL 1.0 Console version (alternative controls, for levels).
    MESHTOOL\OS2\GL10\ogf_glut.exe - OS/2 GLUT+OpenGL 1.0 Console version.
    MESHTOOL\OS2\GL10\ogf_gluta.exe - OS/2 GLUT+OpenGL 1.0 Console version (alternative controls, for levels).
    MESHTOOL\OS2\GL10\ogf_os2.exe - OS/2 PGL+OpenGL 1.0 Console version.
    MESHTOOL\OS2\GL10\ogf_os2a.exe - OS/2 PGL+OpenGL 1.0 Console version (alternative controls, for levels).
    MESHTOOL\OS2\GL10\ogfcons.exe - OS/2 LIBAUX+OpenGL 1.0 Console version.
    MESHTOOL\OS2\GL10\ogfconsa.exe - OS/2 LIBAUX+OpenGL 1.0 Console version (alternative controls, for levels).

    MESHTOOL\OS2\GL11\ogf_tk.exe - OS/2 LIBTK+OpenGL 1.1 Console version.
    MESHTOOL\OS2\GL11\ogf_tka.exe - OS/2 LIBTK+OpenGL 1.1 Console version (alternative controls, for levels).
    MESHTOOL\OS2\GL11\ogf_tkas.exe - OS/2 LIBTK+OpenGL 1.1 Console PROMO version (alternative controls, for levels, with sky).
    MESHTOOL\OS2\GL11\ogf_glut.exe - OS/2 GLUT+OpenGL 1.1 Console version.
    MESHTOOL\OS2\GL11\ogf_gluta.exe - OS/2 GLUT+OpenGL 1.1 Console version (alternative controls, for levels).
    MESHTOOL\OS2\GL11\ogf_glutas.exe - OS/2 GLUT+OpenGL 1.1 Console PROMO version (alternative controls, for levels, with sky).
    MESHTOOL\OS2\GL11\ogf_os2.exe - OS/2 PGL+OpenGL 1.1 Console version.
    MESHTOOL\OS2\GL11\ogf_os2a.exe - OS/2 PGL+OpenGL 1.1 Console version (alternative controls, for levels).
    MESHTOOL\OS2\GL11\ogf_os2as.exe - OS/2 PGL+OpenGL 1.1 Console PROMO version (alternative controls, for levels, with sky).
    MESHTOOL\OS2\GL11\ogfcons.exe - OS/2 LIBAUX+OpenGL 1.1 Console version.
    MESHTOOL\OS2\GL11\ogfconsa.exe - OS/2 LIBAUX+OpenGL 1.1 Console version (alternative controls, for levels).

    MESHTOOL\OS2\ICC\GL10\*.* - same as MESHTOOL\OS2\GL10 but made with ICC
    MESHTOOL\OS2\ICC\GL11\*.* - same as MESHTOOL\OS2\GL11 but made with ICC

    MESHTOOL\OS2\WMGL\ogf_glut.exe - OS/2 GLUT+WarpMesaGL Console version.
    MESHTOOL\OS2\WMGL\ogf_gluta.exe - OS/2 GLUT+WarpMesaGL Console version (alternative controls, for levels).
    MESHTOOL\OS2\WMGL\ogf_glutas.exe - OS/2 GLUT+WarpMesaGL Console PROMO version (alternative controls, for levels, with sky).

    MESHTOOL\OS2\SNAP\ogf_glut.exe - OS/2 GLUT+SnapGL Console version.
    MESHTOOL\OS2\SNAP\ogf_gluta.exe - OS/2 GLUT+SnapGL Console version (alternative controls, for levels).
    MESHTOOL\OS2\SNAP\ogf_glutas.exe - OS/2 GLUT+SnapGL Console PROMO version (alternative controls, for levels, with sky).
    MESHTOOL\OS2\SNAP\ogf_snap.exe - OS/2 MESA3D+SnapGL Console version.
    MESHTOOL\OS2\SNAP\ogf_snapa.exe - OS/2 MESA3D+SnapGL Console version (alternative controls, for levels).
    MESHTOOL\OS2\SNAP\ogf_snapas.exe - OS/2 MESA3D+SnapGL Console PROMO version (alternative controls, for levels, with sky).

    MESHTOOL\DOS32\ogfdos.exe - DOS32 Console version (djgpp).
    MESHTOOL\DOS32\ogfdos32.exe - DOS32 Console version (watcom 32-bit).
    MESHTOOL\DOS16\ogfdos16.exe - DOS16 Console version (watcom 16-bit).

    +++

    MESHTOOL\REF\MESH.TXT - Orion engine v1 MSH format datasheet
    MESHTOOL\REF\OGF3.H - xray ogf v.3 datasheet
    MESHTOOL\REF\OGF4.H - xray ogf v.4 datasheet
    MESHTOOL\REF\OBJECT.H - xray object datasheet
    MESHTOOL\SAMPLES - model samples
    MESHTOOL\SKY\ - skybox textures for PROMO-version (files sky?.dds place in textures\sky)
    MESHTOOL\FAQ.HTM - FAQ & README (HTML)
    MESHTOOL\READMEOS2.HTM - FAQ & README for OS/2 (HTML)

#### 3. KEYBOARD, MOUSE CONTROLS

Base Console-version (ogf_glut.exe)

- A, D = move over axis X
- HOME, END, W, S = move over axis Z
- PGUP, PGDOWN = move over axis Y
- arrows = rotate over axis X/Y by 1 degree
- Z, X = rotate over axis Z by 1 degree
- < + >, < - >, C, V = zoom in/out
- < * >, Y = changes background color
- BACKSPACE, E, F10 = reset scene
- TAB, SPACE = drawing mode wireframe / color / texture
- G - grid, sky, axis, off/on
- F1, 1 = picture "quality" set to draft
- F2, 2 = picture "quality" set to release
- F4, L = light, flares, lamps on/off
- F5, F = changes FOV (field of view)
- F7, 7 = speed step * 10
- F8, 8 = speed step / 10
- F9, M = changes texture filtering mode (mip)
- F11 = fullscreen on/off (Windows platform only)
- F12 = centers model
- I = 3D-renderer info on screen (in OS/2 - it writed into gldump.log)
- T = dump stats to object.log
- move with left mouse button = rotate over axis X/Y
- move up/down with right mouse button = zoom in/out
- move up/down with middle mouse button (scroll) = move over axis X/Y
- rotate scroll = zoom in/out
- Q = quit

Alternate Console-version (ogf_gluta*.exe)

- HOME, C = rotates camera up over 5 degrees
- END, V = rotates camera down over 5 degrees
- Z = strafe camera left
- X = strafe camera right
- left arrow, A = rotates camera left over 5 degrees
- right arrow, D = rotates camera right over 5 degrees
- up arrow, W = move camera forward
- down arrow, S = move camera backward
- PGUP, O = move camera up
- PGDOWN, P = move camera down
- < * >, Y = changes background color
- BACKSPACE, E, F10 = reset scene
- TAB, SPACE = drawing mode wireframe / color / texture
- N = culling objects in view radius off/on
- G - grid, sky, axis, off/on
- F1, 1 = picture "quality" set to draft
- F2, 2 = picture "quality" set to release
- F4, L = light, flares, lamps on/off
- F5, F = changes FOV (field of view)
- F7, 7 = speed step * 10
- F8, 8 = speed step / 10
- F9, M = changes texture filtering mode (mip)
- F11 = fullscreen on/off (Windows platform only)
- F12 = camera placed in a model/scene center
- I = 3D-renderer info on screen (in OS/2 - it writed into gldump.log)
- T = dump stats to object.log
- move with left mouse button = rotate camera left/right, up/down
- move up/down with middle mouse button (scroll) = move camera forward/backward
- move with right mouse button = move camera forward/backward, left/right
- rotate scroll = move camera forward/backward
- Q = quit

#### 4. NOTES, BUGS

- Due to OpenGL interface is software-only, a very fast PC is needed to view large objects, f.e. game levels.
- IBM OpenGL libraries
  1. Do not try to start OpenGL 1.1 version of OGFVIEWER in OpenGL 1.0 system environment or vice versa. IBM's OpenGL 1.0 and 1.1 not only different in missing functions but also different ordinal numbers for equal OpenGL functions.
  2. You can install both of IBM OpenGL versions on the same PC:
     1. Install OpenGL 1.0: "Tools and games" - "OpenGL(R) 1.0 3D Graphics Library"
     2. Extract updated OpenGL 1.1 DLLs to somewhere f.e. C:\TEMP
     3. If you wish to run OGFVIEWER in OpenGL 1.0 environment - just run it.
     4. If you wish to run OGFVIEWER in OpenGL 1.1 environment - place updated updated OpenGL 1.1 DLLs in place, where OGFVIEWER exe-file is stored.
  3. In textured mode OpenGL 1.1 rendering is a little bit faster than OpenGL 1.0, but it has problems with alphablending, light and normales.
- WarpMesaGL OpenGL libraries
  1. WarpMesaGL (bases on Mesa3D 5.1 OpenGL 1.4, GLUT API v2) version requires these DLLs:

         libGLU.dll
         libGlut.dll
         Mesa_PM.dll
         MesaGL2.DLL

- SciTech SNAP 3.x MGL 6.0 OpenGL libraries
  1. SNAP MGL (bases on Mesa3D 6.2.1 OpenGL 1.5, GLUT API v2) version requires that SNAP driver is installed.
  2. Command line:

         GATest - SciTech SNAP Graphics Driver Compliance Test
                  Release 3.1 (Apr 30 2011)

         Copyright 1993-2006 SciTech Software, Inc. All Rights Reserved.

         Options are:
             -s       - Run in software only mode
             -e       - Emulate missing hardware features in software
             -g       - Use VESA GTF for refresh rate control
             -m  - Use XxY text mode (ie: -m80x60 for 80x60 text mode)
             -x       - Render to front buffer for OpenGL tests
             -X       - Disable hardware page flipping for OpenGL tests
             -d       - Disable dithering for 15/16-bit OpenGL tests
             -i - Open 3d-model file

     For example:

         ogf_snap.exe -d -iD:\GSC\GAMEDATA\MESHES\bunker.ogf

2011.04.xx