pike.git / src / post_modules / GL / gen.pike

version» Context lines:

pike.git/src/post_modules/GL/gen.pike:6:    F=float    E=enum    B=bitfield    O=bool    R=double/float    Q=int/float    Z=(byte/)double/float/int/short       +XXXX = 3/4/array(3/4)    +XXX = 2/3/4/array(2/3/4) +  +XX = 1/2/array(1/2)    +X = 1/2/3/4/array(1/2/3/4)    =XXXX = 4/array(4)    =XXX = 3/array(3)    @X = 1/array(n)       # = like =, but add count    ! = like =, but no vector version available       image object support:   
pike.git/src/post_modules/GL/gen.pike:95:    array novec, args=({}), argt=({});    int r234, argt_cut=-1, img_obj=0;    string rtypes;       switch(ty[0]) {    case 'V':    prot=":void";    break;    case 'I':    case 'O': +  case 'E':    prot=":int";    vdec="INT32";    vret="push_int";    break;    default:    error("%s: Unknown return type '%c'.", name, ty[0]);    }       res += "static void f_"+name+"(INT32 args)\n{\n"+    (vdec?(" "+vdec+" res;\n"):"");
pike.git/src/post_modules/GL/gen.pike:138:    args += ({ "arg"+a });    res += " float arg"+a+";\n";    got += " arg"+a+"=sp["+(a-1)+"-args].u.float_number;\n";    a++;    break;    case '+':    int mi, mx;    switch(sizeof(ty[i+1..])) {    case 1:    mi = 1; mx = 4; break; +  case 2: +  mi = 1; mx = 2; break;    case 3:    mi = 2; mx = 4; break;    case 4:    mi = 3; mx = 4; break;    default:    error("Can't understand + followed by %d chars.\n", sizeof(ty[i+1..]));    }    array plusfix = special_234(mi, mx, ty[i+1..]);    res += " struct zvalue4 zv4;\n";    argt_cut = sizeof(argt);