I think the reason that your graphics are "broken" on many cards is that you are loading textures that don''t have power-of-2 dimensions (32x32, 64x64, 128x128). Unless, of course, you''re using DirectDraw. Unfortunately, I can''t comment on the game, as all I can see is a bunch of coloured noise for the sprites
----------------------------------------------------------
"Go out with me you will." - Young Yoda''s favourite pickup line
I've just vinished my virst game! VOV!!!
May 31, 2002 03:36 AM
Hey, Bloblings is basic, yet thorough. Made by an amateur, yet it has a professional look and feel to it. It really reminded me of the days when I used to play NES. Cool game, keep up the good work!
quote: Original post by Abort_Retry_Fail
The "3th dead"? What do you mean?
when i die for the 3th time
For the green screen + arrow pointer problem:
The flashing green circles and arrow pointer were drawn to the screen using the Windows GDI - as well as the green meter at the bottom of the screen that appears after you press space bar.
The missing graphics were all drawn to the screen using DirectDraw. For some reason the graphics blitted with DirectDraw are all uncooperative. Why? I don''t know....
Perhaps some DirectX guru could help me out. The blitting was programmed with DirectDraw 7.0. Does it have issues with some systems?
The flashing green circles and arrow pointer were drawn to the screen using the Windows GDI - as well as the green meter at the bottom of the screen that appears after you press space bar.
The missing graphics were all drawn to the screen using DirectDraw. For some reason the graphics blitted with DirectDraw are all uncooperative. Why? I don''t know....
Perhaps some DirectX guru could help me out. The blitting was programmed with DirectDraw 7.0. Does it have issues with some systems?
I have had similar problems with DirectDraw 7 in one of my games. Some systems ran it fine, but others did extremely bizarre things. This usually stems from not checking the return values of DirectX functions for errors.
Also, make sure you're using Pitch instead of Width in all your DirectDrawSurface-related calculations: those garbagey sprites may be caused by some video cards with strangely arranged video ram. Always use pitch! Never width!
Things are not what they are.
[edited by - myme15 on May 31, 2002 8:04:11 PM]
Also, make sure you're using Pitch instead of Width in all your DirectDrawSurface-related calculations: those garbagey sprites may be caused by some video cards with strangely arranged video ram. Always use pitch! Never width!
Things are not what they are.
[edited by - myme15 on May 31, 2002 8:04:11 PM]
Okay, here is my source code for my function that loads a bitmap from file and copies it to a DirectDraw surface. I was wondering if perhaps setting the .lPitch attribute of each new surface to the correct width, as well as .dwWidth, might help.
(I''ve pointed out what I mean)
(I''ve pointed out what I mean)
//NEWBITMAPSURFACE()////This function loads a bitmap from file and stores it on an offscreen surface,//which it returns. It also attaches a color key for you!LPDIRECTDRAWSURFACE NewBitmapSurface(LPDIRECTDRAW,HINSTANCE,char *);LPDIRECTDRAWSURFACE NewBitmapSurface(LPDIRECTDRAW lpdd,HINSTANCE hinstance,char * filename){ HBITMAP hbm; BITMAP bm; HDC hdc; //Load the bitmap of the passed file name into the bitmap handle hbm = (HBITMAP)LoadImage(hinstance,filename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION); if(!hbm) return NULL; //Copy the bitmap''s infor into the bitmap buffer bm GetObject(hbm,sizeof(BITMAP),&bm); if(bm.bmBitsPixel != 8) return NULL; //Set up the surface - use the height and width of the loaded bitmap LPDIRECTDRAWSURFACE lpdds; DDSURFACEDESC ddsd; ZeroMemory(&ddsd,sizeof(DDSURFACEDESC)); ddsd.dwSize = sizeof(DDSURFACEDESC); ddsd.dwFlags = DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH; ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; ddsd.dwHeight = bm.bmHeight; ddsd.dwWidth = bm.bmWidth; ///////////////////////////////////////////////////////////Should I add a line setting ddsd.lPitch = bm.bmWidth?/////////////////////////////////////////////////////////// if(lpdd->CreateSurface(&ddsd,&lpdds,NULL)!=DD_OK) return NULL; //Assign a DC to the surface lpdds->GetDC(&hdc); //Create a DC compatible with hdc HDC hdcbm = CreateCompatibleDC(hdc); //Select the bitmap object into the DC hdcbm SelectObject(hdcbm,hbm); //Blit from the DC holding the bitmap to the surface DC BitBlt(hdc,0,0,bm.bmWidth,bm.bmHeight,hdcbm,0,0,SRCCOPY); //Clean-up lpdds->ReleaseDC(hdc); DeleteDC(hdc); DeleteDC(hdcbm); DeleteObject(hbm); //Set a color key DDCOLORKEY ddcolkey; ZeroMemory(&ddcolkey,sizeof(DDCOLORKEY)); ddcolkey.dwColorSpaceHighValue = 0; ddcolkey.dwColorSpaceLowValue = 0; lpdds->SetColorKey(DDCKEY_SRCBLT,&ddcolkey); //return success return lpdds;}
Empty or corrupt zip.
Sorry
Landsknecht
Sorry
Landsknecht
My sig used to be, "God was my co-pilot but we crashed in the mountains and I had to eat him..."
But folks whinned and I had to change it.
But folks whinned and I had to change it.
That must been during an uploading of a newer .zip file. I deleted the old one so it was unavailable for the past 10 minutes
May 31, 2002 10:30 PM
quote: Original post by Vash the StampedeOriginal post by Abort_Retry_Fail
The "3th dead"? What do you mean?
when i die for the 3th time
It is "3rd", not "3th". I''m guessing English isn''t your native language, seeing how you are in the Netherlands.
Wow - that game is a lot of fun. Couple suggestions. Up the normal moving speed a tad. Also, it realy needs some kind of slumpin annimation when you move - snail like or something.
Really cool though. I like the secret bonus areas.
Landsknecht
Really cool though. I like the secret bonus areas.
Landsknecht
My sig used to be, "God was my co-pilot but we crashed in the mountains and I had to eat him..."
But folks whinned and I had to change it.
But folks whinned and I had to change it.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement