X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fdrvutil.c;h=1bc6b785fae836613e4b81fe3c64714e4dc55fb7;hb=7e5607004c3221d55c7992148b2f0d958cf28533;hp=7e5b9b185f8e2483be1c509f3414c00fe7c05840;hpb=9d85201216cb35e1b1e051b1d7cdc38eaa5befa4;p=tpg%2Facess2.git diff --git a/Kernel/drvutil.c b/Kernel/drvutil.c index 7e5b9b18..1bc6b785 100644 --- a/Kernel/drvutil.c +++ b/Kernel/drvutil.c @@ -12,20 +12,21 @@ Uint64 DrvUtil_Video_2DStream(void *Ent, void *Buffer, int Length, tDrvUtil_Video_2DHandlers *Handlers, int SizeofHandlers) { - Uint8 *stream = Buffer; + void *stream = Buffer; int rem = Length; int op; while( rem ) { rem --; - op = *stream++; + op = *(Uint8*)stream; + stream = (void*)((tVAddr)stream + 1); if(op > NUM_VIDEO_2DOPS) { Log_Warning("DrvUtil", "DrvUtil_Video_2DStream: Unknown" " operation %i", op); } - if(op*4 > SizeofHandlers) { + if(op*sizeof(void*) > SizeofHandlers) { Log_Warning("DrvUtil", "DrvUtil_Video_2DStream: Driver does" " not support op %i", op); return Length-rem; @@ -46,13 +47,13 @@ Uint64 DrvUtil_Video_2DStream(void *Ent, void *Buffer, int Length, Handlers->Fill( Ent, - *(Uint16*)(&stream[0]), *(Uint16*)(&stream[2]), - *(Uint16*)(&stream[4]), *(Uint16*)(&stream[6]), - *(Uint32*)(&stream[8]) + ((Uint16*)stream)[0], ((Uint16*)stream)[1], + ((Uint16*)stream)[2], ((Uint16*)stream)[3], + ((Uint32*)stream)[2] ); rem -= 12; - stream += 12; + stream = (void*)((tVAddr)stream + 12); break; case VIDEO_2DOP_BLIT: @@ -64,21 +65,15 @@ Uint64 DrvUtil_Video_2DStream(void *Ent, void *Buffer, int Length, return Length-rem; } - //Log("Handlers->Blit{%}}(%p, %i,%i, %i,%i, %i,%i)", - // Handlers->Blit, Ent, - // *(Uint16*)(&stream[0]), *(Uint16*)(&stream[2]), - // *(Uint16*)(&stream[4]), *(Uint16*)(&stream[6]), - // *(Uint16*)(&stream[8]), *(Uint16*)(&stream[10]) - // ); Handlers->Blit( Ent, - *(Uint16*)(&stream[0]), *(Uint16*)(&stream[2]), - *(Uint16*)(&stream[4]), *(Uint16*)(&stream[6]), - *(Uint16*)(&stream[8]), *(Uint16*)(&stream[10]) + ((Uint16*)stream)[0], ((Uint16*)stream)[1], + ((Uint16*)stream)[2], ((Uint16*)stream)[3], + ((Uint16*)stream)[4], ((Uint16*)stream)[5] ); rem -= 12; - stream += 12; + stream = (void*)((tVAddr)stream + 12); break; }