Advertisement

I've just vinished my virst game! VOV!!!

Started by May 29, 2002 08:38 PM
18 comments, last by Abort_Retry_Fail 22 years, 6 months ago
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
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!
Advertisement
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?
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]
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)


  //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;}  
Advertisement
Empty or corrupt zip.

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.
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
quote: Original post by Vash the Stampede
Original 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
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.

This topic is closed to new replies.

Advertisement