Problem oapi.create_ntvertexarray() problem

johnnymanly

Donator
Donator
Joined
Mar 17, 2008
Messages
179
Reaction score
116
Points
43
Location
Southwest Pennsylginia
Website
sites.google.com
Does anyone know why this fails?
Code:
PANEL2D_TEXW  = 2048
    PANEL2D_TEXH  = 1024
    PANEL2D_MAINW = 1280
    PANEL2D_MAINH  = 382

    local grps = {}
    grps.vtx = oapi.create_ntvertexarray({
        { 0, 0, 0,                           0, 0, 0,   0.0, 1.0 - PANEL2D_MAINH/PANEL2D_TEXH },
        { 0, PANEL2D_MAINH, 0,               0, 0, 0,   0.0, 1.0 },
        { PANEL2D_MAINW, PANEL2D_MAINH, 0,   0, 0, 0,   PANEL2D_MAINW/PANEL2D_TEXW, 1.0 },
        { PANEL2D_MAINW, 0, 0,               0, 0, 0,   PANEL2D_MAINW/PANEL2D_TEXW, 1.0 - PANEL2D_MAINH/PANEL2D_TEXH }
    })
I get the error
Code:
bad argument #-1 to 'create_ntvertexarray' (number expected, got nil)
 
Does anyone know why this fails?
Code:
PANEL2D_TEXW  = 2048
    PANEL2D_TEXH  = 1024
    PANEL2D_MAINW = 1280
    PANEL2D_MAINH  = 382

    local grps = {}
    grps.vtx = oapi.create_ntvertexarray({
        { 0, 0, 0,                           0, 0, 0,   0.0, 1.0 - PANEL2D_MAINH/PANEL2D_TEXH },
        { 0, PANEL2D_MAINH, 0,               0, 0, 0,   0.0, 1.0 },
        { PANEL2D_MAINW, PANEL2D_MAINH, 0,   0, 0, 0,   PANEL2D_MAINW/PANEL2D_TEXW, 1.0 },
        { PANEL2D_MAINW, 0, 0,               0, 0, 0,   PANEL2D_MAINW/PANEL2D_TEXW, 1.0 - PANEL2D_MAINH/PANEL2D_TEXH }
    })
I get the error
Code:
bad argument #-1 to 'create_ntvertexarray' (number expected, got nil)
The code has a bug for this constructor :(
As a workaround you should be able to do something like this :
Code:
    grps.vtx = oapi.create_ntvertexarray(4)
    grps.vtx[1].pos = _V(0,0,0)
    grps.vtx[1].normal = _V(0,0,0)
    grps.vtx[1].tu = 0.0
    grps.vtx[1].tv = 1.0 - PANEL2D_MAINH/PANEL2D_TEXH

    grps.vtx[2].pos = _V(0,PANEL2D_MAINH,0)
    grps.vtx[2].normal = _V(0,0,0)
    grps.vtx[2].tu = 0.0
    grps.vtx[2].tv = 1.0

...
Not as satisfying though...
 
The code has a bug for this constructor :(
As a workaround you should be able to do something like this :
Code:
    grps.vtx = oapi.create_ntvertexarray(4)
    grps.vtx[1].pos = _V(0,0,0)
    grps.vtx[1].normal = _V(0,0,0)
    grps.vtx[1].tu = 0.0
    grps.vtx[1].tv = 1.0 - PANEL2D_MAINH/PANEL2D_TEXH

    grps.vtx[2].pos = _V(0,PANEL2D_MAINH,0)
    grps.vtx[2].normal = _V(0,0,0)
    grps.vtx[2].tu = 0.0
    grps.vtx[2].tv = 1.0

...
Not as satisfying though...
OK. Thanks.(y)
I'll see what I can do with it.
 
Back
Top