Changeset 310 for trunk/thune/gc.c

Show
Ignore:
Timestamp:
11/20/06 03:13:29 (2 years ago)
Author:
krobillard
Message:

Thune -

Renamed UBuffer to UResource.
coord! 'make now resolves words.

Thune GL -

Added framebuffer! datatype.
Added 'framebuffer, 'particle, and 'rotate draw list opcodes.
Can now load grayscale PNG with alpha (alpha is ignored).

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/thune/gc.c

    r301 r310  
    145145 
    146146 
    147 static void _freeBuffer( UrlanEnv* env, UGCArray* agc, UBuffer* buf ) 
     147static void _freeResource( UrlanEnv* env, UGCArray* agc, UResource* buf ) 
    148148{ 
    149149    int idx = ((int) buf->dataType) - UT_BI_COUNT; 
    150150    if( idx >= 0 ) 
    151         env->customDT[ idx ].gcDestroyBuffer( buf ); 
     151        env->customDT[ idx ].gcDestroyResource( buf ); 
    152152 
    153153    // Flag as unused. 
     
    156156    // Link to free list. 
    157157    buf->link = agc->freeList; 
    158     agc->freeList = buf - ((UBuffer*) agc->arr.ptr.v); 
     158    agc->freeList = buf - ((UResource*) agc->arr.ptr.v); 
    159159 
    160160    agc->freeCount += 1; 
     
    165165    btmp = buf; \ 
    166166    if( btmp->dataType != UT_UNSET ) \ 
    167         _freeBuffer( env, agc, btmp ); 
    168  
    169 static void _sweepBuffers( UrlanEnv* env, UArray* mark, UGCArray* agc ) 
    170 { 
    171     UBuffer* btmp; 
    172     UBuffer* ait = (UBuffer*) agc->arr.ptr.v; 
     167        _freeResource( env, agc, btmp ); 
     168 
     169static void _sweepResources( UrlanEnv* env, UArray* mark, UGCArray* agc ) 
     170{ 
     171    UResource* btmp; 
     172    UResource* ait = (UResource*) agc->arr.ptr.v; 
    173173    uint8_t* it  = mark->ptr.b; 
    174174    uint8_t* end = it + mark->used; 
     
    253253 
    254254 
    255 void ur_gcMarkBuffer( UCollector* gc, UIndex idx ) 
    256 { 
    257     ur_setBit( gc->bsBuf.ptr.b, idx ); 
     255void ur_gcMarkResource( UCollector* gc, UIndex idx ) 
     256{ 
     257    ur_setBit( gc->bsRes.ptr.b, idx ); 
    258258} 
    259259 
     
    618618    GC_BITSET( _gc.bsBlock, env->blocks,    SWEEP_START_BLOCK ); 
    619619    GC_BITSET( _gc.bsBin,   env->bin,       SWEEP_START_BIN ); 
    620     GC_BITSET( _gc.bsBuf,   env->buffers,  0 ); 
     620    GC_BITSET( _gc.bsRes,   env->resources, 0 ); 
    621621 
    622622#ifdef PAIRPOOL_H 
     
    743743#endif 
    744744 
    745     _sweepBuffers( env, &_gc.bsBuf, &env->buffers ); 
     745    _sweepResources( env, &_gc.bsRes, &env->resources ); 
    746746    _sweepArray( &_gc.bsBlock, &env->blocks ); 
    747747    _sweepArray( &_gc.bsBin,   &env->bin ); 
     
    749749    ur_arrayFree( &_gc.blkChecked ); 
    750750 
    751     ur_arrayFree( &_gc.bsBuf ); 
     751    ur_arrayFree( &_gc.bsRes ); 
    752752    ur_arrayFree( &_gc.bsBlock ); 
    753753    ur_arrayFree( &_gc.bsBin );