I have been going through a few graphics tutorials which I found @ http://www-scf.usc.edu/~akotaobi.
If you have done the same tuts, then maybe you can help me.
I have aproblem with the following function in that it always fails because the sizeof(inf) is always less than _go32_info_block.size_of_transfer_buffer.
I printed the values for both and this is what I get :Code:void get_svga_modeinfo (int mode, modeinfo& inf) { // Retrieve data for the screenmode and stuff it in the modeinfo struct. __dpmi_regs r; assert(sizeof(inf) < _go32_info_block.size_of_transfer_buffer); r.x.ax = 0x4F01; // Mode info retrieval function. r.x.cx = mode; r.x.di = __tb & 0x0F; r.x.es = (__tb >> 4) & 0xFFFF; __dpmi_int(0x10, &r); dosmemget(__tb, sizeof(inf), &inf); // Save some info to avoid redundant calculations. maxx = inf.XResolution; maxy = inf.YResolution; bits_per_pixel = inf.BitsPerPixel; bytes_per_pixel = bits_per_pixel * 8; wingranularity = inf.WinGranularity; }
sizeof( inf ) = 256
_go32_info_block.size_of_transfer_buffer = 16384
What could it be?



LinkBack URL
About LinkBacks


