Author Topic: How reliable is this framework?  (Read 4062 times)

0 Members and 1 Guest are viewing this topic.

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17409
  • Karma: 498
  • evil/good
    • View Profile
    • My Homepage
How reliable is this framework?
« on: April 12, 2008 »
This is widowmakers intro which seems to use a slightly adapted version of the small intro framework posted here for opengl stuff.

It seems to have a lot of limitations however!

Here are some of the things I found...

With this framework it doesn't seem possible to set the dimensions of the display window in pixels unless windowed mode is used, otherwise it just defaults to whatever your desktop is.

You can't request a framerate for refresh.

Windowed mode just goes to the top left of the screen, this is ugly really and it should be centered.

It is impossible to send the application neatly to the back with alt+tab

It is nearly impossible to take screen shots in full screen mode.


I understand that this framework probably uses some shortcuts to save a few kb, but it would be better to add those controls.

I'll see what I can do with it :)

Code: [Select]
'-------------------------------------------------------------------------------
'
'                     0X0007 Intro by Electric Druggies.
'
'                        thx stonemonkey, jim, rbz!
'-------------------------------------------------------------------------------


'-------------------------------------------------------------------------------
'                                 Includes
'-------------------------------------------------------------------------------

    #INCLUDE "GL/gl.bi"
    #INCLUDE "GL/glu.bi"
    #INCLUDE "windows.bi"
   
'-------------------------------------------------------------------------------
'                           VARIABLES FOR OPENGL;                                 
'-------------------------------------------------------------------------------
   
    OPTION STATIC
    OPTION EXPLICIT

    DIM SHARED AS BYTE W_FULLSCREEN =1 : ' 1 = FULLSCREEN
    DIM SHARED AS INTEGER W_XO =0      : ' X pos of window
    DIM SHARED AS INTEGER W_YO =0      : ' Y pos of window   
    DIM SHARED AS INTEGER W_XW =800    : ' Width.
    DIM SHARED AS INTEGER W_YH =600    : ' Height.

    DIM SHARED pfd as PIXELFORMATDESCRIPTOR
    DIM SHARED hdc as hDC
    DECLARE SUB InitOGL()
    DECLARE SUB BATTENBURG()
    DECLARE SUB BATTENBURG2()
    DECLARE SUB VERT_BORDER()
   
    DECLARE SUB DRAWGLENZECROSS()
    DECLARE SUB DRAWGLENZE(BYVAL XO AS DOUBLE,BYVAL YO AS DOUBLE,BYVAL ZO AS DOUBLE)

    DIM SHARED RED  (0 to 3) AS SINGLE => {0.07, 0.07, 0.07,0.4}
    DIM SHARED WHITE(0 to 3) AS SINGLE => {.22, .22, .22,0.1}
   
    DIM SHARED CHECK (0 to 3) AS SINGLE => {0.22, 0.22, 0.12,1.0}
    DIM SHARED BORDER(0 to 3) AS SINGLE => {0.93, 0.32, 0.42,0.78}
    DIM SHARED LINES (0 to 3) AS SINGLE => {2.0, 2.0, 2.0,1}
    InitOGL()

'-------------------------------------------------------------------------------
'                                  VARIABLES;
'-------------------------------------------------------------------------------

    DIM SHARED AS DOUBLE XR,YR,ZR,INOUT,XM,YM ,xm2,ym2,zm2,gadd1,gadd2

'-------------------------------------------------------------------------------
'                                  MAIN LOOP;
'-------------------------------------------------------------------------------

WHILE((GetAsyncKeyState(VK_ESCAPE)<>-32767))
    gadd1=gadd1+.001
    gadd2=gadd2+.0013
        XR=XR+.07
        YR=YR+.04
        ZR=ZR+.05
        inout=2.5+.49*sin(xr/14)
        XM=.02*SIN(YR/13)
        YM=.03*SIN(ZR/12)
       
        XM2=(7.02*SIN(YR/33))
        YM2=(6.03*SIN(ZR/37))
        ZM2=(2.03*SIN(ZR/42))-15

        GLLOADIDENTITY
        GLCLEAR(GL_DEPTH_BUFFER_BIT + GL_COLOR_BUFFER_BIT )   
       
                GLPUSHMATRIX
                BATTENBURG()               
                BATTENBURG2()         
                DRAWGLENZECROSS()
                VERT_BORDER()
               
                GLPOPMATRIX
               
        SWAPBUFFERS(hDC)   
        SLEEP 1
       
WEND

SUB VERT_BORDER()
    GLPUSHMATRIX
    GLENABLE GL_BLEND
    GLTRANSLATEF (0,0,-1)
    GLBEGIN GL_QUADS
        GLCOLOR4F BORDER(0),BORDER(1),BORDER(2),BORDER(3)
        GLVERTEX3F -1 ,-1, 0
        GLVERTEX3F -.7,-1, 0
        GLVERTEX3F -.7, 1, 0
        GLVERTEX3F -1 , 1, 0
        GLCOLOR4F BORDER(0),BORDER(1),BORDER(2),BORDER(3)
        GLVERTEX3F  1 , 1, 0
        GLVERTEX3F  .7, 1, 0
        GLVERTEX3F  .7,-1, 0
        GLVERTEX3F  1 ,-1, 0
    GLEND
    GLDISABLE GL_BLEND
        GLCOLOR3F 1,1,1   
        GLBEGIN GL_LINES
        GLCOLOR4F LINES(0),LINES(1),LINES(2),LINES(3)
        GLVERTEX3F .7, 1,0
        GLVERTEX3F .7,-1,0
        GLVERTEX3F -.7, 1,0
        GLVERTEX3F -.7,-1,0
        GLEND       
    GLPOPMATRIX
END SUB


SUB BATTENBURG()
    DIM AS INTEGER X,Y,YP,XP,XS,YS
    GLPUSHMATRIX   
    'GLTRANSLATEF (0,0,-24.9-(YM2/3))
    GLTRANSLATEF (0,-10,-24.9)
    glRotatef(0,  1.0, 0.0, 0.0)   
    glRotatef(0,  0.0, 1.0, 0.0)   
    glRotatef(120*SIN(gadd1), 0.0, 0.0, 1.0)     
    XS=0
    YS=0
    FOR Y=-39 TO 39
   
    XS=XS+1
    IF XS>1 THEN XS=0
    IF XS=0 THEN
    X=-39
    ELSE   
    X=-38   
    END IF
    FOR XP=-39 TO 39 STEP 2
    GLBEGIN GL_QUADS
        GLCOLOR4F  CHECK(0),CHECK(1),CHECK(2),CHECK(3)
        GLVERTEX3F -1+X,-1+Y, 0
        GLVERTEX3F  X  ,-1+Y, 0
        GLVERTEX3F  X  , 0+Y, 0
        GLVERTEX3F -1+X, 0+Y, 0
    GLEND
    X=X+2
    NEXT
    NEXT
    GLPOPMATRIX
   
END SUB

SUB BATTENBURG2()
    DIM AS INTEGER X,Y,YP,XP,XS,YS
    GLPUSHMATRIX
   
    GLTRANSLATEF (0,0,-22.9-(YM2/2))
    glRotatef(0,  1.0, 0.0, 0.0)   
    glRotatef(0,  0.0, 1.0, 0.0)   
    glRotatef(160*SIN(gadd1), 0.0, 0.0, 1.0)     

    XS=0
    YS=0
    FOR Y=-39 TO 39
   
    XS=XS+1
    IF XS>1 THEN XS=0
    IF XS=0 THEN
    X=-39
    ELSE   
    X=-38   
    END IF


    FOR XP=-39 TO 39 STEP 2
    GLBEGIN GL_QUADS
           
        GLCOLOR4F  CHECK(0),CHECK(1),CHECK(2),CHECK(3)
        GLVERTEX3F -1+X,-1+Y, 0
        GLVERTEX3F  X  ,-1+Y, 0
        GLVERTEX3F  X  , 0+Y, 0
        GLVERTEX3F -1+X, 0+Y, 0
    GLEND
    X=X+2
    NEXT
    NEXT
    GLPOPMATRIX
   
END SUB


SUB DRAWGLENZECROSS()
   
    GLPUSHMATRIX

    glTranslatef(XM2, YM2, ZM2)     
    glRotatef(XR*3,  1.0, 0.0, 0.0)   
    glRotatef(YR*2,  0.0, 1.0, 0.0)   
    glRotatef(ZR, 0.0, 0.0, 1.0)   
   
   
        GLCULLFACE (GL_FRONT)
        DRAWGLENZE(INOUT,0,0)
        DRAWGLENZE(-INOUT,0,0)
        DRAWGLENZE(0,INOUT,0)
        DRAWGLENZE(0,-INOUT,0)
        DRAWGLENZE(0,0,INOUT)
        DRAWGLENZE(0,0,-INOUT)
       
        GLENABLE GL_BLEND
        GLCULLFACE (GL_BACK)
        DRAWGLENZE(INOUT,0,0)
        DRAWGLENZE(-INOUT,0,0)
        DRAWGLENZE(0,INOUT,0)
        DRAWGLENZE(0,-INOUT,0)
        DRAWGLENZE(0,0,INOUT)
        DRAWGLENZE(0,0,-INOUT)
        GLDISABLE GL_BLEND
       
    GLPOPMATRIX
   
END SUB

'-------------------------------------------------------------------------------
'                                SET UP THE SCREEN;
'-------------------------------------------------------------------------------

SUB InitOGL()

    pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR)
    pfd.nVersion = 1
    pfd.dwFlags = PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER
    pfd.dwLayerMask = PFD_MAIN_PLANE
    pfd.iPixelType = PFD_TYPE_RGBA
    pfd.cColorBits = 32
    pfd.cDepthBits = 32

    IF W_FULLSCREEN=1 THEN hDC = GetDC(CreateWindow( "Edit", "0X0007", WS_POPUP+WS_VISIBLE+WS_MAXIMIZE, 0 , 0 , 0 , 0, 0, 0, 0, 0))
    IF W_FULLSCREEN<>1 THEN hDC = GetDC(CreateWindow("Edit", "0X0007", WS_POPUP+WS_VISIBLE+WS_BORDER,W_XO, W_YO, W_XW , W_YH, 0, 0, 0, 0))   
SetPixelFormat ( hDC, ChoosePixelFormat ( hDC, @pfd) , @pfd )
wglMakeCurrent ( hDC, wglCreateContext(hDC) )
    ShowCursor(FALSE)
   
GLLOADIDENTITY
    IF W_FULLSCREEN=1 THEN
        W_XW=GetSystemMetrics(SM_CXSCREEN)
        W_YH=GetSystemMetrics(SM_CYSCREEN)
    END IF
   
    GLVIEWPORT 0, 0, w_xw, w_yh                         '' Reset The Current Viewport
GLMATRIXMODE GL_PROJECTION                          '' Select The Projection Matrix
GLLOADIDENTITY
   
    GLUPERSPECTIVE 70.0, W_XW / W_YH, .1, 100.0       '' Calculate The Aspect Ratio Of The Window   
GLMATRIXMODE GL_MODELVIEW                           '' Select The Modelview Matrix
GLLOADIDENTITY                                      '' Reset The Modelview Matrix
GLSHADEMODEL GL_FLAT                              '' Enable Smooth Shading
GLCLEARCOLOR .06, .03, 0.04,0
GLCLEARDEPTH 1.0                                    '' Depth Buffer Setup
GLENABLE GL_DEPTH_TEST                              '' Enables Depth Testing
GLDEPTHFUNC GL_LEQUAL                               '' The Type Of Depth Testing To Do
GLHINT GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST    '' Really Nice Perspective Calculations
    GLBLENDFUNC(GL_ONE_MINUS_SRC_ALPHA,GL_SRC_ALPHA)

    GLDISABLE GL_BLEND
    GLENABLE GL_CULL_FACE   
   
GLLOADIDENTITY                                     

    glDISable(GL_LIGHTING)
   
GLENABLE GL_SMOOTH
    GLENABLE GL_NORMALIZE

    GLENABLE GL_FOG
    GLHINT (GL_FOG_HINT,GL_NICEST)
    GLFOGF (GL_FOG_START, 6.0)
    GLFOGF (GL_FOG_END, 20.0)
    GLFOGF (GL_FOG_DENSITY, 0.35)
    GLFOGI (GL_FOG_MODE,GL_LINEAR)
   
end sub




SUB DRAWGLENZE(BYVAL XO AS DOUBLE,BYVAL YO AS DOUBLE,BYVAL ZO AS DOUBLE)
       
    GLBEGIN GL_TRIANGLES
    '---------------------------------------------------------------------------
    ' TOP FACE
    '---------------------------------------------------------------------------
   
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLNORMAL3F  0, 1,0
    GLVERTEX3F  1+XO, 1+YO, 1+ZO
    GLVERTEX3F  0+XO, 1+YO, 0+ZO
    GLVERTEX3F -1+XO, 1+YO, 1+ZO

    GLVERTEX3F  0+XO, 1+YO, 0+ZO
    GLVERTEX3F  1+XO, 1+YO, -1+ZO
    GLVERTEX3F -1+XO, 1+YO, -1+ZO   

    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLNORMAL3F  0, 1,0
    GLVERTEX3F -1+XO,1+YO,1+ZO
    GLVERTEX3F  0+XO,1+YO,0+ZO   
    GLVERTEX3F -1+XO,1+YO,-1+ZO

    GLVERTEX3F 0+XO,1+YO,0+ZO   
    GLVERTEX3F 1+XO,1+YO,1+ZO
    GLVERTEX3F 1+XO,1+YO,-1+ZO


    '---------------------------------------------------------------------------
    ' BOTTOM FACE
    '---------------------------------------------------------------------------
   
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
   
    GLNORMAL3F  0,-1,0
    GLVERTEX3F  0+XO, -1+YO, 0+ZO
    GLVERTEX3F  1+XO, -1+YO, 1+ZO
    GLVERTEX3F -1+XO, -1+YO, 1+ZO   
    GLNORMAL3F  0,-1,0
    GLVERTEX3F  0+XO, -1+YO, 0+ZO
    GLVERTEX3F -1+XO, -1+YO, -1+ZO   
    GLVERTEX3F  1+XO, -1+YO, -1+ZO
   
    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLNORMAL3F  0,-1,0
    GLVERTEX3F -1+XO,-1+YO,1+ZO
    GLVERTEX3F -1+XO,-1+YO,-1+ZO   
    GLVERTEX3F 0+XO,-1+YO,0+ZO   
   
    GLNORMAL3F  0,-1,0
    GLVERTEX3F 1+XO,-1+YO,1+ZO
    GLVERTEX3F 0+XO,-1+YO,0+ZO       
    GLVERTEX3F 1+XO,-1+YO,-1+ZO


   
    '---------------------------------------------------------------------------
    ' LEFT FACE
    '---------------------------------------------------------------------------
    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)

    GLNORMAL3F -1, 0,0
    GLVERTEX3F -1+XO,-1+YO, 1+ZO
    GLVERTEX3F -1+XO, 1+YO, 1+ZO
    GLVERTEX3F -1+XO, 0+YO, 0+ZO
    GLNORMAL3F -1, 0,0
    GLVERTEX3F -1+XO,-1+YO,-1+ZO
    GLVERTEX3F -1+XO, 0+YO, 0+ZO   
    GLVERTEX3F -1+XO, 1+YO,-1+ZO   
   
   
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLNORMAL3F -1, 0,0
    GLVERTEX3F -1+XO, 0+YO, 0+ZO
    GLVERTEX3F -1+XO, 1+YO, 1+ZO   
    GLVERTEX3F -1+XO, 1+YO,-1+ZO
    GLNORMAL3F -1, 0,0
    GLVERTEX3F -1+XO, -1+YO,-1+ZO
    GLVERTEX3F -1+XO, -1+YO, 1+ZO
    GLVERTEX3F -1+XO,  0+YO, 0+ZO

    '---------------------------------------------------------------------------
    ' RIGHT FACE
    '---------------------------------------------------------------------------
    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)
   
    GLNORMAL3F 1 ,0,0
    GLVERTEX3F 1+XO, 0+YO, 0+ZO
    GLVERTEX3F 1+XO, 1+YO, 1+ZO   
    GLVERTEX3F 1+XO,-1+YO, 1+ZO
    GLNORMAL3F 1 ,0,0
    GLVERTEX3F 1+XO, 1+YO,-1+ZO
    GLVERTEX3F 1+XO, 0+YO, 0+ZO   
    GLVERTEX3F 1+XO,-1+YO,-1+ZO
       
   
   
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLNORMAL3F 1 ,0,0
    GLVERTEX3F 1+XO, 1+YO,-1+ZO
    GLVERTEX3F 1+XO, 1+YO, 1+ZO   
    GLVERTEX3F 1+XO, 0+YO, 0+ZO
    GLNORMAL3F 1 ,0,0
    GLVERTEX3F 1+XO,  0+YO, 0+ZO
    GLVERTEX3F 1+XO, -1+YO, 1+ZO
    GLVERTEX3F 1+XO, -1+YO,-1+ZO


    '---------------------------------------------------------------------------
    ' FRONT FACE
    '---------------------------------------------------------------------------

    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)

    GLNORMAL3F  0,0,1
    GLVERTEX3F -1+XO,-1+YO, 1+ZO
    GLVERTEX3F  0+XO, 0+YO, 1+ZO
    GLVERTEX3F -1+XO, 1+YO, 1+ZO
    GLNORMAL3F  0,0,1
    GLVERTEX3F  0+XO, 0+YO, 1+ZO
    GLVERTEX3F  1+XO,-1+YO, 1+ZO
    GLVERTEX3F  1+XO, 1+YO, 1+ZO
   
    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLNORMAL3F  0,0,1
    GLVERTEX3F -1+XO,-1+YO, 1+ZO
    GLVERTEX3F  1+XO,-1+YO, 1+ZO
    GLVERTEX3F  0+XO, 0+YO, 1+ZO
    GLNORMAL3F  0,0,1
    GLVERTEX3F  0+XO, 0+YO, 1+ZO
    GLVERTEX3F  1+XO, 1+YO, 1+ZO
    GLVERTEX3F -1+XO, 1+YO, 1+ZO


    '---------------------------------------------------------------------------
    ' BACK FACE
    '---------------------------------------------------------------------------
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
   
    GLNORMAL3F  0, 0, -1
    GLVERTEX3F  0+XO, 0+YO, -1+ZO
    GLVERTEX3F -1+XO,-1+YO, -1+ZO   
    GLVERTEX3F -1+XO, 1+YO, -1+ZO
   
    GLNORMAL3F  0, 0, -1
    GLVERTEX3F  1+XO,-1+YO, -1+ZO
    GLVERTEX3F  0+XO, 0+YO, -1+ZO   
    GLVERTEX3F  1+XO, 1+YO, -1+ZO

    GLCOLOR4F WHITE(0),WHITE(1),WHITE(2),WHITE(3)
       
    GLNORMAL3F  0, 0, -1
    GLVERTEX3F  1+XO,-1+YO, -1+ZO
    GLVERTEX3F -1+XO,-1+YO, -1+ZO   
    GLVERTEX3F  0+XO, 0+YO, -1+ZO
   
    GLNORMAL3F  0, 0, -1
    GLVERTEX3F  1+XO, 1+YO, -1+ZO
    GLVERTEX3F  0+XO, 0+YO, -1+ZO   
    GLVERTEX3F -1+XO, 1+YO, -1+ZO


    GLEND
END SUB
Shockwave ^ Codigos
Challenge Trophies Won:

Offline Jim

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 5301
  • Karma: 402
    • View Profile
Re: How reliable is this framework?
« Reply #1 on: April 12, 2008 »
Oh, absolutely it uses shortcuts.  And hacks, and cheats, and some stuff that really shouldn't work but does!  Without that hard work nothing would be possible at 1kb.

Why not grab the setup code from my Helix demo, and then at least you can compare the tricked out version with a fully featured version?

In OpenGL, if you work in the right coordinate space, it's easy to cater for the variety of screen widths, heights you get with the framework.  ie. don't assume pixel sizes, assume the screen is (-1,-1) top left, to (+1,+1) bottom right, and let the projection matrix deal with the scaling.

Jim
Challenge Trophies Won:

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17409
  • Karma: 498
  • evil/good
    • View Profile
    • My Homepage
Re: How reliable is this framework?
« Reply #2 on: April 12, 2008 »
Oh I will have a look in your Source Jim :)

Actually I tidied up windowed mode a little bit for you Widowmaker... And played with the colours and blending a bit too :P

Use it if you want, don't kill me if you hate it!

Code: [Select]
'-------------------------------------------------------------------------------
'
'                     0X0007 Intro by Electric Druggies.
'
'                        thx stonemonkey, jim, rbz!
'-------------------------------------------------------------------------------


'-------------------------------------------------------------------------------
'                                 Includes
'-------------------------------------------------------------------------------

    #INCLUDE "GL/gl.bi"
    #INCLUDE "GL/glu.bi"
    #INCLUDE "windows.bi"
   
'-------------------------------------------------------------------------------
'                           VARIABLES FOR OPENGL;                                 
'-------------------------------------------------------------------------------
   
    OPTION STATIC
    OPTION EXPLICIT

    DIM SHARED AS BYTE W_FULLSCREEN =0 : ' 1 = FULLSCREEN
    DIM SHARED AS INTEGER W_XO =60      : ' X pos of window
    DIM SHARED AS INTEGER W_YO =60      : ' Y pos of window   
    DIM SHARED AS INTEGER W_XW =800    : ' Width.
    DIM SHARED AS INTEGER W_YH =600    : ' Height.

    DIM SHARED pfd as PIXELFORMATDESCRIPTOR
    DIM SHARED hdc as hDC
    DECLARE SUB InitOGL()
    DECLARE SUB BATTENBURG()
    DECLARE SUB BATTENBURG2()
    DECLARE SUB VERT_BORDER()
   
    DECLARE SUB DRAWGLENZECROSS()
    DECLARE SUB DRAWGLENZE(BYVAL XO AS DOUBLE,BYVAL YO AS DOUBLE,BYVAL ZO AS DOUBLE)

    DIM SHARED RED  (0 to 3) AS SINGLE => {0.07, 0.07, 0.37,0.33}
    DIM SHARED RED2 (0 to 3) AS SINGLE => {0.07, 0.07, 0.07,0.32}
    DIM SHARED RED3 (0 to 3) AS SINGLE => {0.07, 0.07, 0.37,0.31}
    DIM SHARED WHITE(0 to 3) AS SINGLE => { .88, .88,  88,0.11}
    DIM SHARED WHITE2(0 to 3) AS SINGLE => {.88, .88,  .88,0.12}
    DIM SHARED WHITE3(0 to 3) AS SINGLE => {.88, .88, .88,0.13}
   
    DIM SHARED CHECK (0 to 3) AS SINGLE => {0, 0, 0,1.0}
   
    DIM SHARED BORDER (0 to 3) AS SINGLE => {0.12, 0.12, 0.12,0.8}
    DIM SHARED BORDER2(0 to 3) AS SINGLE => {0.72, 0.22, 0.03,0.4}
   
    DIM SHARED BORDER3(0 to 3) AS SINGLE => {0.33, 0.02, 0.02,0.48}
    DIM SHARED BORDER4(0 to 3) AS SINGLE => {0.93, 0.02, 0.62,0.98}
    DIM SHARED BORDER5(0 to 3) AS SINGLE => {0.33, 0.02, 0.02,0.48}
    DIM SHARED BORDER6(0 to 3) AS SINGLE => {0.93, 0.02, 0.62,0.98}

    DIM SHARED LINES (0 to 3) AS SINGLE => {2.0, 2.0, 2.0,1}
    InitOGL()

'-------------------------------------------------------------------------------
'                                  VARIABLES;
'-------------------------------------------------------------------------------

    DIM SHARED AS DOUBLE XR,YR,ZR,INOUT,XM,YM ,xm2,ym2,zm2,gadd1,gadd2

'-------------------------------------------------------------------------------
'                                  MAIN LOOP;
'-------------------------------------------------------------------------------

WHILE((GetAsyncKeyState(VK_ESCAPE)<>-32767))
    gadd1=gadd1+.0015
    gadd2=gadd2+.0013
        XR=XR+.11
        YR=YR+.09
        ZR=ZR+.08
        inout=2.5+.49*sin(xr/14)
        XM=.02*SIN(YR/13)
        YM=.03*SIN(ZR/12)
       
        XM2=(7.02*SIN(YR/23))
        YM2=(6.03*SIN(ZR/17))
        ZM2=(2.03*SIN(ZR/42))-15

        GLLOADIDENTITY
        GLCLEAR(GL_DEPTH_BUFFER_BIT + GL_COLOR_BUFFER_BIT )   
       
                GLPUSHMATRIX
                BATTENBURG()               
                BATTENBURG2()         
                DRAWGLENZECROSS()
                VERT_BORDER()
               
                GLPOPMATRIX
               
        SWAPBUFFERS(hDC)   
        SLEEP 1
       
WEND

SUB VERT_BORDER()
    GLPUSHMATRIX
    GLENABLE GL_BLEND
    GLTRANSLATEF (0,0,-1)
    GLBEGIN GL_QUADS
        GLCOLOR4F BORDER2(0),BORDER2(1),BORDER2(2),BORDER2(3)       
        GLVERTEX3F -1 ,-1, 0
        GLVERTEX3F -.7,-1, 0
        GLCOLOR4F BORDER(0),BORDER(1),BORDER(2),BORDER(3)
        GLVERTEX3F -.7, 1, 0
        GLVERTEX3F -1 , 1, 0
        GLCOLOR4F BORDER(0),BORDER(1),BORDER(2),BORDER(3)
        GLVERTEX3F  1 , 1, 0
        GLVERTEX3F  .7, 1, 0
        GLCOLOR4F BORDER2(0),BORDER2(1),BORDER2(2),BORDER2(3)
        GLVERTEX3F  .7,-1, 0
        GLVERTEX3F  1 ,-1, 0
        GLCOLOR4F BORDER3(0),BORDER3(1),BORDER3(2),BORDER3(3)
        glvertex3f -.7,-1,0
        GLCOLOR4F BORDER5(0),BORDER5(1),BORDER5(2),BORDER5(3)
        glvertex3f .7,-1,0
        GLCOLOR4F BORDER4(0),BORDER4(1),BORDER4(2),BORDER4(3)
        glvertex3f .7, 1,0
        GLCOLOR4F BORDER6(0),BORDER6(1),BORDER6(2),BORDER6(3)
        glvertex3f -.7, 1,0
       
    GLEND
   
       
    GLDISABLE GL_BLEND
        GLCOLOR3F 1,1,1   
        GLBEGIN GL_LINES
        GLCOLOR4F LINES(0),LINES(1),LINES(2),LINES(3)
        GLVERTEX3F .7, 1,0
        GLVERTEX3F .7,-1,0
        GLVERTEX3F -.7, 1,0
        GLVERTEX3F -.7,-1,0
        GLEND       
    GLPOPMATRIX
END SUB


SUB BATTENBURG()
    DIM AS INTEGER X,Y,YP,XP,XS,YS
    GLPUSHMATRIX   
    'GLTRANSLATEF (0,0,-24.9-(YM2/3))
    GLTRANSLATEF (0,-10,-34.9-(YM2/3))
    glRotatef(0,  1.0, 0.0, 0.0)   
    glRotatef(0,  0.0, 1.0, 0.0)   
    glRotatef(170*SIN(gadd1), 0.0, 0.0, 1.0)     
    XS=0
    YS=0
    FOR Y=-39 TO 39
   
    XS=XS+1
    IF XS>1 THEN XS=0
    IF XS=0 THEN
    X=-39
    ELSE   
    X=-38   
    END IF
    FOR XP=-39 TO 39 STEP 2
    GLBEGIN GL_QUADS
        GLCOLOR4F  CHECK(0),CHECK(1),CHECK(2),CHECK(3)
        GLVERTEX3F -1+X,-1+Y, 0
        GLVERTEX3F  X  ,-1+Y, 0
        GLVERTEX3F  X  , 0+Y, 0
        GLVERTEX3F -1+X, 0+Y, 0
    GLEND
    X=X+2
    NEXT
    NEXT
    GLPOPMATRIX
   
END SUB

SUB BATTENBURG2()
    DIM AS INTEGER X,Y,YP,XP,XS,YS
    GLPUSHMATRIX
   
    GLTRANSLATEF (0,0,-32.9+(YM2/2))
    glRotatef(0,  1.0, 0.0, 0.0)   
    glRotatef(0,  0.0, 1.0, 0.0)   
    glRotatef(260*SIN(gadd1), 0.0, 0.0, 1.0)     

    XS=0
    YS=0
    FOR Y=-39 TO 39
   
    XS=XS+1
    IF XS>1 THEN XS=0
    IF XS=0 THEN
    X=-39
    ELSE   
    X=-38   
    END IF


    FOR XP=-39 TO 39 STEP 2
    GLBEGIN GL_QUADS
           
        GLCOLOR4F  CHECK(0),CHECK(1),CHECK(2),CHECK(3)
        GLVERTEX3F -1+X,-1+Y, 0
        GLVERTEX3F  X  ,-1+Y, 0
        GLVERTEX3F  X  , 0+Y, 0
        GLVERTEX3F -1+X, 0+Y, 0
    GLEND
    X=X+2
    NEXT
    NEXT
    GLPOPMATRIX
   
END SUB


SUB DRAWGLENZECROSS()
   
    GLPUSHMATRIX

    glTranslatef(XM2, YM2, ZM2)     
    glRotatef(XR*3,  1.0, 0.0, 0.0)   
    glRotatef(YR*2,  0.0, 1.0, 0.0)   
    glRotatef(ZR, 0.0, 0.0, 1.0)   
   
   
        GLCULLFACE (GL_FRONT)
        DRAWGLENZE(INOUT,0,0)
        DRAWGLENZE(-INOUT,0,0)
        DRAWGLENZE(0,INOUT,0)
        DRAWGLENZE(0,-INOUT,0)
        DRAWGLENZE(0,0,INOUT)
        DRAWGLENZE(0,0,-INOUT)
       
        GLENABLE GL_BLEND
        GLCULLFACE (GL_BACK)
        DRAWGLENZE(INOUT,0,0)
        DRAWGLENZE(-INOUT,0,0)
        DRAWGLENZE(0,INOUT,0)
        DRAWGLENZE(0,-INOUT,0)
        DRAWGLENZE(0,0,INOUT)
        DRAWGLENZE(0,0,-INOUT)
        GLDISABLE GL_BLEND
       
    GLPOPMATRIX
   
END SUB

'-------------------------------------------------------------------------------
'                                SET UP THE SCREEN;
'-------------------------------------------------------------------------------

SUB InitOGL()
    dim xxx as integer
    dim yyy as integer
   
    XXX=GetSystemMetrics(SM_CXSCREEN)
    yyy=GetSystemMetrics(SM_CYSCREEN)
   
    xxx=(xxx-W_XW)/2
    yyy=(yyy-W_YH)/2
   
    pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR)
    pfd.nVersion = 1
    pfd.dwFlags = PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER
    pfd.dwLayerMask = PFD_MAIN_PLANE
    pfd.iPixelType = PFD_TYPE_RGBA
    pfd.cColorBits = 32
    pfd.cDepthBits = 32

    IF W_FULLSCREEN=1 THEN hDC = GetDC(CreateWindow( "Edit", "0X0007",WS_POPUP+WS_VISIBLE+WS_MAXIMIZE, 0 , 0 , 0 , 0, 0, 0, 0, 0))
    IF W_FULLSCREEN<>1 THEN hDC = GetDC(CreateWindow("Edit", "0X0007", WS_DLGFRAME+WS_POPUP+WS_VISIBLE,xxx, yyy, W_XW , W_YH, 0, 0, 0, 0))   
SetPixelFormat ( hDC, ChoosePixelFormat ( hDC, @pfd) , @pfd )
wglMakeCurrent ( hDC, wglCreateContext(hDC) )
    ShowCursor(FALSE)
   
GLLOADIDENTITY
    IF W_FULLSCREEN=1 THEN
        W_XW=GetSystemMetrics(SM_CXSCREEN)
        W_YH=GetSystemMetrics(SM_CYSCREEN)
    END IF
   
    GLVIEWPORT 0, 0, w_xw, w_yh                         '' Reset The Current Viewport
GLMATRIXMODE GL_PROJECTION                          '' Select The Projection Matrix
GLLOADIDENTITY
   
    GLUPERSPECTIVE 75.0, W_XW / W_YH, .1, 100.0       '' Calculate The Aspect Ratio Of The Window   
GLMATRIXMODE GL_MODELVIEW                           '' Select The Modelview Matrix
GLLOADIDENTITY                                      '' Reset The Modelview Matrix
GLSHADEMODEL GL_smooth                              '' Enable Smooth Shading
GLCLEARCOLOR .07, .04, 0.04,0
GLCLEARDEPTH 1.0                                    '' Depth Buffer Setup
GLENABLE GL_DEPTH_TEST                              '' Enables Depth Testing
GLDEPTHFUNC GL_LEQUAL                               '' The Type Of Depth Testing To Do
GLHINT GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST    '' Really Nice Perspective Calculations
    GLBLENDFUNC(GL_ONE_MINUS_SRC_ALPHA,GL_SRC_ALPHA)

    GLDISABLE GL_BLEND
    GLENABLE GL_CULL_FACE   
   
GLLOADIDENTITY                                     

    glDISable(GL_LIGHTING)
   
GLENABLE GL_SMOOTH
    GLENABLE GL_NORMALIZE

    GLENABLE GL_FOG
    GLHINT (GL_FOG_HINT,GL_NICEST)
    GLFOGF (GL_FOG_START, 6.0)
    GLFOGF (GL_FOG_END, 20.0)
    GLFOGF (GL_FOG_DENSITY, 0.35)
    GLFOGI (GL_FOG_MODE,GL_LINEAR)
   
end sub




SUB DRAWGLENZE(BYVAL XO AS DOUBLE,BYVAL YO AS DOUBLE,BYVAL ZO AS DOUBLE)
       
    GLBEGIN GL_TRIANGLES
    '---------------------------------------------------------------------------
    ' TOP FACE
    '---------------------------------------------------------------------------
   
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLNORMAL3F  0, 1,0
    GLVERTEX3F  1+XO, 1+YO, 1+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F  0+XO, 1+YO, 0+ZO
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F -1+XO, 1+YO, 1+ZO

    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLVERTEX3F  0+XO, 1+YO, 0+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F  1+XO, 1+YO, -1+ZO
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F -1+XO, 1+YO, -1+ZO   

    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLNORMAL3F  0, 1,0
    GLVERTEX3F -1+XO,1+YO,1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F  0+XO,1+YO,0+ZO   
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F -1+XO,1+YO,-1+ZO

    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLVERTEX3F 0+XO,1+YO,0+ZO   
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F 1+XO,1+YO,1+ZO
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F 1+XO,1+YO,-1+ZO


    '---------------------------------------------------------------------------
    ' BOTTOM FACE
    '---------------------------------------------------------------------------
   
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
   
    GLNORMAL3F  0,-1,0
    GLVERTEX3F  0+XO, -1+YO, 0+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F  1+XO, -1+YO, 1+ZO
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F -1+XO, -1+YO, 1+ZO   
    GLNORMAL3F  0,-1,0
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLVERTEX3F  0+XO, -1+YO, 0+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F -1+XO, -1+YO, -1+ZO   
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F  1+XO, -1+YO, -1+ZO
   
    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLNORMAL3F  0,-1,0
    GLVERTEX3F -1+XO,-1+YO,1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F -1+XO,-1+YO,-1+ZO   
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F 0+XO,-1+YO,0+ZO   
    GLCOLOR4F WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLNORMAL3F  0,-1,0
    GLVERTEX3F 1+XO,-1+YO,1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F 0+XO,-1+YO,0+ZO       
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F 1+XO,-1+YO,-1+ZO


   
    '---------------------------------------------------------------------------
    ' LEFT FACE
    '---------------------------------------------------------------------------
    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)

    GLNORMAL3F -1, 0,0
    GLVERTEX3F -1+XO,-1+YO, 1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F -1+XO, 1+YO, 1+ZO
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F -1+XO, 0+YO, 0+ZO
    GLNORMAL3F -1, 0,0
    GLCOLOR4F WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLVERTEX3F -1+XO,-1+YO,-1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F -1+XO, 0+YO, 0+ZO   
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F -1+XO, 1+YO,-1+ZO   
   
   
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLNORMAL3F -1, 0,0
    GLVERTEX3F -1+XO, 0+YO, 0+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F -1+XO, 1+YO, 1+ZO   
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F -1+XO, 1+YO,-1+ZO
    GLNORMAL3F -1, 0,0
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLVERTEX3F -1+XO, -1+YO,-1+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F -1+XO, -1+YO, 1+ZO
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F -1+XO,  0+YO, 0+ZO

    '---------------------------------------------------------------------------
    ' RIGHT FACE
    '---------------------------------------------------------------------------
    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)
   
    GLNORMAL3F 1 ,0,0
    GLVERTEX3F 1+XO, 0+YO, 0+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F 1+XO, 1+YO, 1+ZO   
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F 1+XO,-1+YO, 1+ZO
    GLNORMAL3F 1 ,0,0
    GLCOLOR4F WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLVERTEX3F 1+XO, 1+YO,-1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F 1+XO, 0+YO, 0+ZO   
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F 1+XO,-1+YO,-1+ZO
       
   
   
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLNORMAL3F 1 ,0,0
    GLVERTEX3F 1+XO, 1+YO,-1+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F 1+XO, 1+YO, 1+ZO   
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F 1+XO, 0+YO, 0+ZO
    GLNORMAL3F 1 ,0,0
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLVERTEX3F 1+XO,  0+YO, 0+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F 1+XO, -1+YO, 1+ZO
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F 1+XO, -1+YO,-1+ZO


    '---------------------------------------------------------------------------
    ' FRONT FACE
    '---------------------------------------------------------------------------

    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)

    GLNORMAL3F  0,0,1
   
    GLVERTEX3F -1+XO,-1+YO, 1+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F  0+XO, 0+YO, 1+ZO
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F -1+XO, 1+YO, 1+ZO
    GLNORMAL3F  0,0,1
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLVERTEX3F  0+XO, 0+YO, 1+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F  1+XO,-1+YO, 1+ZO
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F  1+XO, 1+YO, 1+ZO
   
    GLCOLOR4F  WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLNORMAL3F  0,0,1
    GLVERTEX3F -1+XO,-1+YO, 1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F  1+XO,-1+YO, 1+ZO
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F  0+XO, 0+YO, 1+ZO
    GLNORMAL3F  0,0,1
    GLCOLOR4F WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLVERTEX3F  0+XO, 0+YO, 1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F  1+XO, 1+YO, 1+ZO
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F -1+XO, 1+YO, 1+ZO


    '---------------------------------------------------------------------------
    ' BACK FACE
    '---------------------------------------------------------------------------
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
   
    GLNORMAL3F  0, 0, -1
    GLVERTEX3F  0+XO, 0+YO, -1+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F -1+XO,-1+YO, -1+ZO   
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F -1+XO, 1+YO, -1+ZO
   
    GLNORMAL3F  0, 0, -1
    GLCOLOR4F RED(0),RED(1),RED(2),RED(3)
    GLVERTEX3F  1+XO,-1+YO, -1+ZO
    GLCOLOR4F RED2(0),RED2(1),RED2(2),RED2(3)
    GLVERTEX3F  0+XO, 0+YO, -1+ZO   
    GLCOLOR4F RED3(0),RED3(1),RED3(2),RED3(3)
    GLVERTEX3F  1+XO, 1+YO, -1+ZO

    GLCOLOR4F WHITE(0),WHITE(1),WHITE(2),WHITE(3)
       
    GLNORMAL3F  0, 0, -1
    GLVERTEX3F  1+XO,-1+YO, -1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F -1+XO,-1+YO, -1+ZO   
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F  0+XO, 0+YO, -1+ZO
    GLCOLOR4F WHITE(0),WHITE(1),WHITE(2),WHITE(3)
    GLNORMAL3F  0, 0, -1
    GLVERTEX3F  1+XO, 1+YO, -1+ZO
    GLCOLOR4F  WHITE2(0),WHITE2(1),WHITE2(2),WHITE2(3)
    GLVERTEX3F  0+XO, 0+YO, -1+ZO   
    GLCOLOR4F  WHITE3(0),WHITE3(1),WHITE3(2),WHITE3(3)
    GLVERTEX3F -1+XO, 1+YO, -1+ZO


    GLEND
END SUB
Shockwave ^ Codigos
Challenge Trophies Won:

Offline Rbz

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 2757
  • Karma: 493
    • View Profile
    • https://www.rbraz.com/
Re: How reliable is this framework?
« Reply #3 on: April 12, 2008 »
Here is a little present for you :)
« Last Edit: April 12, 2008 by rbz »
Challenge Trophies Won:

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17409
  • Karma: 498
  • evil/good
    • View Profile
    • My Homepage
Re: How reliable is this framework?
« Reply #4 on: April 12, 2008 »
Wow!

Looking through that I cant believe how many things were left out in the chopped down version!

Thanks ever so much Rbz!
Shockwave ^ Codigos
Challenge Trophies Won:

Offline Rbz

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 2757
  • Karma: 493
    • View Profile
    • https://www.rbraz.com/
Re: How reliable is this framework?
« Reply #5 on: April 12, 2008 »
No problem :)

Please download it again, I did some minor changes in "MakeWindow" function
Challenge Trophies Won:

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17409
  • Karma: 498
  • evil/good
    • View Profile
    • My Homepage
Re: How reliable is this framework?
« Reply #6 on: April 12, 2008 »
Ok, cheers!
Shockwave ^ Codigos
Challenge Trophies Won: