mirror of
https://github.com/aap/librw.git
synced 2025-12-18 16:39:51 +00:00
worked on insttest
This commit is contained in:
@@ -1064,7 +1064,6 @@ saUninstanceCB(ps2::MatPipeline *pipe, Geometry *geo, uint32 flags[], Mesh *mesh
|
||||
norms += 4;
|
||||
wghts += 4;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1205,7 +1204,7 @@ saInstanceCB(MatPipeline *pipe, Geometry *g, Mesh *m, uint8 **data)
|
||||
ADCData *adc = PLUGINOFFSET(ADCData, g, adcOffset);
|
||||
|
||||
for(int i = 0; i < nelem(pipe->attribs); i++){
|
||||
PipeAttribute *a = pipe->attribs[i];
|
||||
rw::PipeAttribute *a = pipe->attribs[i];
|
||||
if(a == &saXYZADC)
|
||||
instanceSAPositions(g, m, adc->adcFormatted ? adc->adcBits : NULL,
|
||||
(int16*)data[i], vertScale);
|
||||
|
||||
13
src/ps2.cpp
13
src/ps2.cpp
@@ -1212,6 +1212,12 @@ debugadc(Geometry *g, MeshHeader *mh, ADCData *adc)
|
||||
return n;
|
||||
}
|
||||
|
||||
// TODO
|
||||
void
|
||||
convertADC(Geometry *g)
|
||||
{
|
||||
}
|
||||
|
||||
// Not optimal but works
|
||||
void
|
||||
unconvertADC(Geometry *g)
|
||||
@@ -1310,11 +1316,12 @@ readADC(Stream *stream, int32, void *object, int32 offset, int32)
|
||||
ADCData *adc = PLUGINOFFSET(ADCData, object, offset);
|
||||
assert(findChunk(stream, ID_ADC, NULL, NULL));
|
||||
adc->numBits = stream->readI32();
|
||||
adc->adcFormatted = 1;
|
||||
if(adc->numBits == 0){
|
||||
adc->adcFormatted = 0;
|
||||
adc->adcBits = NULL;
|
||||
adc->numBits = 0;
|
||||
return;
|
||||
}
|
||||
adc->adcFormatted = 1;
|
||||
int32 size = adc->numBits+3 & ~3;
|
||||
adc->adcBits = new int8[size];
|
||||
stream->read(adc->adcBits, size);
|
||||
@@ -1357,7 +1364,7 @@ getSizeADC(void *object, int32 offset, int32)
|
||||
Geometry *geometry = (Geometry*)object;
|
||||
ADCData *adc = PLUGINOFFSET(ADCData, object, offset);
|
||||
if(!adc->adcFormatted)
|
||||
return -1;
|
||||
return 0;
|
||||
if(geometry->geoflags & Geometry::NATIVE)
|
||||
return 16;
|
||||
return 16 + (adc->numBits+3 & ~3);
|
||||
|
||||
@@ -147,6 +147,7 @@ struct ADCData
|
||||
extern int32 adcOffset;
|
||||
void registerADCPlugin(void);
|
||||
|
||||
void convertADC(Geometry *g);
|
||||
void unconvertADC(Geometry *geo);
|
||||
void allocateADC(Geometry *geo);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user