problems with winxp?

Blitz3D Forums/Blitz3D Programming/problems with winxp?

dan_upright(Posted 2003) [#1]
a couple of people have hade trouble running things i've written in b3d on xp (only works in compatibility mode) - has anyone else had similar troubles and is it something in my code that's causing it, or is it just one of those "random factor like a tractor" fun bugs that make my life worth living?

answers on a postcard please =]


GfK(Posted 2003) [#2]
Dunno but gimme some examples of your allegedly doomed EXEs and I'll test 'em out...


WendellM(Posted 2003) [#3]
Damn! It's posts like these (no offense, Dan) that mean that I'll have to "upgrade" to XP (on a separate hard drive) to make sure that my games work with that "improved" OS... I've read enough posts that XP sometimes has trouble with Blitz3D that I'll need to buy that "upgrade" myself (I'm otherwise happy with 98SE - the last *good* OS that MS made).


Ice9(Posted 2003) [#4]
WndellM I dreaded upgrading from 98 to XP. I hated XP for all the Microsoft spy crap and back doors and most of all the way you have to re-authenticate it when you change a piece of the hardware. With that said I don't think I could ever go back to 98. XP is a great OS and once you learn about services you can take out all the backdoors that are so unappealing. It's worth it.


_PJ_(Posted 2003) [#5]
Ive been using XP all the time Ive had Blitz3D, so far Ive not had any windows-related problems and never (im fairly certain anyway)

Please give us some examples as I would like to see this!


darklordz(Posted 2003) [#6]
Never had problems with XP. Besides theright version of xpdon'thave spyware sjit. Your all so easy to critisize. you try and develop a stable OS. So what if MS$ sucks @ least they keep on trying....


soja(Posted 2003) [#7]
The only thing I can think of is if you're using APIs that are Windows-version specific...

Or perhaps it's a driver issue, where the drivers you have suck on WinXP?


Michael Reitzenstein(Posted 2003) [#8]
Yeah I havn't really heard of much that would run under Windows 98 but not XP. Vice versa I have, but not that way around.


soja(Posted 2003) [#9]
Yeah I havn't really heard of much that would run under Windows 98 but not XP.
Oh, let me assure you, there's plenty of stuff. =) Blitz stuff, however, shouldn't be a problem.


dan_upright(Posted 2003) [#10]
the cause of my problem seems to be using custom meshes (ie, those built with createmesh) with blitz collisions (since taking out updateworld appears to fix it)

Please give us some examples as I would like to see this!
i assure you there isn't much to see - just an "illegal memory address" error when the program starts


BlitzSupport(Posted 2003) [#11]
I just tried this on my brother's XP without issue -- does something actually have to collide (I get the impression that's not necessary from your description)...? Does this code crash too?


; CreateNewCube: only first parameter is required, must be a brush (eg. loaded via LoadBrush). If
; other parameters are not supplied, or left as 0, the first brush is used.

Function CreateNewCube (nearBrush, farBrush = 0, leftBrush = 0, rightBrush = 0, topBrush = 0, bottomBrush = 0)

	; -------------------------------------------------------------
	; Default brush for all is the first parameter supplied...
	; -------------------------------------------------------------
	
	If farBrush		= 0 Then farBrush	 = nearBrush
	If leftBrush	= 0 Then leftBrush	 = nearBrush
	If rightBrush	= 0 Then rightBrush	 = nearBrush
	If topBrush		= 0 Then topBrush	 = nearBrush
	If bottomBrush	= 0 Then bottomBrush = nearBrush

	; -------------------------------------------------------------
	; Create a mesh for the cube (empty)...
	; -------------------------------------------------------------
		
	newMesh = CreateMesh ()
	
	; -------------------------------------------------------------
	; Create a surface for one face...
	; -------------------------------------------------------------
	
	cNear	= CreateSurface (newMesh, nearBrush)
	
	; -------------------------------------------------------------
	; Add vertices (corner points)...
	; -------------------------------------------------------------
	
	v1		= AddVertex (cNear, 0, 0, 0, 0, 0)
	v2		= AddVertex (cNear, 1, 0, 0, 1, 0)
	v3		= AddVertex (cNear, 1, -1, 0, 1, 1)
	v4		= AddVertex (cNear, 0, -1, 0, 0, 1)
	
	; -------------------------------------------------------------
	; Add 2 triangles, defined by above vertices, to surface...
	; -------------------------------------------------------------
	
	AddTriangle (cNear, v1, v3, v4)
	AddTriangle (cNear, v1, v2, v3)

	; -------------------------------------------------------------
	; Repeat for rest...
	; -------------------------------------------------------------
	
	cFar	= CreateSurface (newMesh, farBrush)
	v1		= AddVertex (cFar, 1, 0, 1, 0, 0)
	v2		= AddVertex (cFar, 0, 0, 1, 1, 0)
	v3		= AddVertex (cFar, 0, -1, 1, 1, 1)
	v4		= AddVertex (cFar, 1, -1, 1, 0, 1)
	AddTriangle (cFar, v1, v3, v4)
	AddTriangle (cFar, v1, v2, v3)

	cLeft	= CreateSurface (newMesh, leftBrush)
	v1		= AddVertex (cLeft, 0, 0, 1, 0, 0)
	v2		= AddVertex (cLeft, 0, 0, 0, 1, 0)
	v3		= AddVertex (cLeft, 0, -1, 0, 1, 1)
	v4		= AddVertex (cLeft, 0, -1, 1, 0, 1)
	AddTriangle (cLeft, v1, v3, v4)
	AddTriangle (cLeft, v1, v2, v3)

	cRight	= CreateSurface (newMesh, rightBrush)
	v1		= AddVertex (cRight, 1, 0, 0, 0, 0)
	v2		= AddVertex (cRight, 1, 0, 1, 1, 0)
	v3		= AddVertex (cRight, 1, -1, 1, 1, 1)
	v4		= AddVertex (cRight, 1, -1, 0, 0, 1)
	AddTriangle (cRight, v1, v3, v4)
	AddTriangle (cRight, v1, v2, v3)

	cTop	= CreateSurface (newMesh, topBrush)
	v1		= AddVertex (cTop, 0, 0, 1, 0, 0)
	v2		= AddVertex (cTop, 1, 0, 1, 1, 0)
	v3		= AddVertex (cTop, 1, 0, 0, 1, 1)
	v4		= AddVertex (cTop, 0, 0, 0, 0, 1)
	AddTriangle (cTop, v1, v3, v4)
	AddTriangle (cTop, v1, v2, v3)

	cBottom	= CreateSurface (newMesh, bottomBrush)
	v1		= AddVertex (cBottom, 1, -1, 1, 0, 0)
	v2		= AddVertex (cBottom, 0, -1, 1, 1, 0)
	v3		= AddVertex (cBottom, 0, -1, 0, 1, 1)
	v4		= AddVertex (cBottom, 1, -1, 0, 0, 1)
	AddTriangle (cBottom, v1, v3, v4)
	AddTriangle (cBottom, v1, v2, v3)

	; -------------------------------------------------------------
	; Centre the mesh (easier than doing it via vertices ;)
	; -------------------------------------------------------------

	PositionMesh newMesh, -0.5, 0.5, -0.5
	
	; -------------------------------------------------------------
	; Update the mesh's normals (lighting information, basically)
	; -------------------------------------------------------------

	UpdateNormals newMesh
	
	Return newMesh
	
End Function

; Demo...

Graphics3D 640, 480

cam = CreateCamera ()
MoveEntity cam, 0, 0, -5

; Load two brushes...

logo1 = LoadBrush ("b3dlogo.jpg")
logo2 = LoadBrush ("logowhite.bmp")

; Apply them to near (first parameter, REQUIRED) and far sides...

cube = CreateNewCube (logo1, logo2)

EntityType cube, 1
Collisions 1, 1, 1, 1

MoveMouse 320, 240

a = Input ("UpdateWorld on or off (1 or 0)? ")

Repeat

	TurnEntity cube, -MouseYSpeed () / 2.0, 0, 0
	TurnEntity cube, 0, MouseXSpeed () / 2.0, 0, 1
	
	If a Then UpdateWorld
	RenderWorld
	Text 20, 20, "Move mouse..."
	Flip
	
Until KeyHit (1)

End



Gabriel(Posted 2003) [#12]
That code works fine on my Windows XP box, James, both with debug enabled and disabled. I developed in Blitz for a little over a year with a dual boot 98se and XP system. I never had a single program that ran differently.


Jeremy Alessi(Posted 2003) [#13]
I've had major troubles with True-Vol and XP. It has something to do with collisions I think. The game will lose track of all 3D data and keep on going normal with everything else, such as logic and 2D drawing operations. One guy who was testing with me had the problem every time we played. One time I had him just sit still without moving and it didn't crash. Other people with WinXP can play for a little longer without it losing 3D data but it still happens every now and then. My own laptop will run it pretty steadily it seems now but it also has WinXP and will sometimes "lose 3D".

My regular machine has WinME and it's never exibited the behavior no matter what. I've never seen another program experience the bug. The biggest thing I could think of and noticed was that the Windows Messenger Service which will pop up at random with ads and such if you're connected to the Internet causes it to do this. You must be online to play True-Vol so perhaps that is the issue. Other than that I'm not sure why it would actually have problems with collisions or anything since no other program does.


dan_upright(Posted 2003) [#14]
james: that code seems fine - i've emailed you about my code that's causing the issue


Gabriel(Posted 2003) [#15]
The biggest thing I could think of and noticed was that the Windows Messenger Service which will pop up at random with ads and such if you're connected to the Internet causes it to do this.


Well that's easily tested. No one should be running that service unless they're on a network ( and probably not even then since there are better ways to achieve the same result. )

Just go into administrative tools>services and double click on the Messenger service. Click on "Stop" and then change startup type to "disabled". Problem solved.


Hotcakes(Posted 2003) [#16]
I've never had a problem with B3D, but I have experienced problems with BlitzPlus code on a Win2000 machine. Which ran fine on my WinXP system. Never got that sorted out, but it does worry me.


Darkuni(Posted 2003) [#17]
For those interested in how to lose the nasty, bloated, evil things built into Windows XP, I've created a very popular page on the subject:

http://monroeworld.com/pchelp/xptweaks.php

I believe XP to be the best thing MS has put out yet - provided you take some steps to remove the AOL out of it :)


Hotcakes(Posted 2003) [#18]
I believe 2000 to be the best ;]


Ice9(Posted 2003) [#19]
Nice tips Darkuni but number 12 doesn't make sense

12) Ad Blocking (advanced users) (Back to Top)

There are ad blocking packages out there. Pointless when you can get the same effect by simple measures. To reverse the process, just delete the HOSTS file and rename the HOSTS.SAM file in the same folder to HOSTS.

a. Download this new HOSTS file. (Its zipped)
b. Extract to C:\WINDOWS\system32\drivers\etc\ (this will overwrite what is there)
c. Load your browser - almost all the ads will be GONE from your pages. If you find another ad server you want blocked, load C:\WINDOWS\system32\drivers\etc\hosts into Notepad or other PURE text editor and add it in the same manner the others are.

The hosts file just associates IP address's with the names
In 98 you use to be able to add the IP and name of the computer to access other 98 computers using file and print sharing over the internet.


Darkuni(Posted 2003) [#20]
LilPuppy - right ... If you want to block ads from your browser, you simply point the offending domain to your local maching via the HOSTS file.

So if ad.gorilla.net is shoving ad pictures and flash to your visted pages, simply add:

127.0.0.1 ad.gorilla.net

to your HOSTS file. From that point on, you'll never see another ad from that server again ... if you handle it right, reducing ad traffic increases your browsing speed almost exponentialy - especially horrible browsers like Internet Explorer which, by default, are limited to a SINGLE thread to the net. So while CNN.com sits on a mega fast backbone, their ad sponsor may not, which halts your page loading until the ad server answers up.

I'm CONSTANTLY adding known ad servers to my HOSTS file. I browse websites with about 95% ads free and there is no need to install, run, or purchase any sort of consumerware package to block ads. Couple this with Opera's excellent built in pop up blocker - my web browsing experience is incredibly more efficient and fun.

Does that make sense? Its late, and I'm rambling ... :)


Ice9(Posted 2003) [#21]
Ah so ... That will work. Neat trick
The isntructions are a little misleading. I thought
it was saying delete your hosts file and replace it with
Hosts.sam or the zipped one.
I opened the Zipped file but there was nothing in it though :(

I had a problem with XP's built in zip tool not showing files in some zip files so I downloaded winzip but I don't
see a new host file in either. If you still have that HOSTS file with the addresses it would be a nice addition to my XP web browsing. Popups sux0r


Hotcakes(Posted 2003) [#22]
I uhh, followed those instructions to the bone, only to realise I overwrote a 900kB hosts file which must have been set up by TweakXP or something and now I've lost it for a lesser version ;] Oh well ;]


Darkuni(Posted 2003) [#23]
Yeah, TweakXP does the same thing - mine's just free :)

TweakXP, if I recall, makes you run something resident WITH the HOSTS file - which isn't for me. I run as few TSR style programs as possible


Ice9(Posted 2003) [#24]
Hotcakes you must have been using some internet tweak that was writing to your host file for faster internet. I think windows checks the hosts file first then does a dns query if it's not in there.


Hotcakes(Posted 2003) [#25]
LilPuppy, nope, it was a 900kB file which pointed a tonne of crap domains to localhost =]


John Blackledge(Posted 2003) [#26]
Back to XP per se:
I've used XP all the time I've used Blitz 3D with no apparent problems - not regarding Blitz, anyway.
But XP? Everytime I reinstall (and you have to after about 3 months if you want a system that doesn't constantly grind to a halt) then after about 2 weeks Opem With... stops functioning, and get this, Help & Support on the Start button - you click on it, nothing happens. At all.
As a friend put it: "Bits drop off."


(tu) sinu(Posted 2003) [#27]
one problem with xp for me is it won't play midi files in my blitz3d program but on win2000 the same program does.


dan_upright(Posted 2003) [#28]
i'd forgotten about this thread - it turned out to be the debugger not catching something i was doing wrong with collisions. why it only manifested on 2k/xp, i have no idea


Warren(Posted 2003) [#29]
But XP? Everytime I reinstall (and you have to after about 3 months if you want a system that doesn't constantly grind to a halt)

Weird. I never have to reinstall XP unless I lose a hard drive. That applies to all 3 of my machines ...