Is it just me or…

/* from Tutorial 2, Direct3D 9; DirectX SDK */
if( FAILED( g_pd3dDevice->CreateVertexBuffer( 3*sizeof(CUSTOMVERTEX),
0 /*Usage*/, D3DFVF_CUSTOMVERTEX, D3DPOOL_DEFAULT, &g_pVB, NULL ) ) )
return E_FAIL;

The tutorial describes the arguments, stating that ‘The final parameter is the address of the vertex buffer to create.’ Ok, I think it is obvious that it means the address of the vertex buffer being passed; further more the API documentation says the final argument is “Reserved. Set this parameter to NULL. This parameter can be used in Direct3D 9 for Windows Vista to share resources”.

I can’t help but chuckle a little bit at the tutorial, maybe it is just me and my brains crazy English parser lol.

Yet another reason for this geek to avoid development for Windows

Since it’s the closest point of interest in the DirectX SDKs samples, I set out to build the most basic one. In order to build the EmptyProject sample in Visual C++ 2008 Express Edition, I’ve had to open the VS Project file for it in the IDE, tell it where to find the DirectX include and library directories, using a modeless dialog that can’t even be resized! Then I have had to tell it where to find headers from another Sample entry it lists in a child node, which can’t find the DirectX include directory specified in the top level project… Since I can’t just right click the child node and modify it the same way as the parent node, I saved the solution and dug up the childs .vsproj.

Looking at the same stupid dialog, I notice that while the last time around I had to go to “Resources -> General” to specify an additional include directory for the pre-processor (which for some brain damaged reason wasn’t under “C/C++ -> Preprocessor”), there was no Resources entry in the tree.

At this point, I just said, “FUCK YOU!”, went back to the original project file. Went to “C/C++ -> Command Line” entry in the configuration, and manually added the /I”path” switch to find the included directory. Then I did like wise under the “Linker -> Command Line” section to manually add the /LIBPATH:”path” switch with the path to the required .lib files. Saved the solution and built the project. Guess what? Doing it that way: EVERYTHING WORKED!!! Ok, it is widely known to be an ultra-standard need, that you’ve got to tell your build system where to find things, yeah that’s right—but you would think samples included with an SDK would pull in parts of the SDK.

Maybe I am just an old man at heart but somehow, I find it interesting that in 2009, it is still faster to just use a Command Line style interfaces then many Graphical User interfaces o/. Come on, it’s only been about 35~40 years since the GUI was invented, and GUIs really took off during the late 1980s. It still makes me crawl… that they still suck just as bad as they did in 1990. Even worse, aside from the mouse on everyones desktop now’re days, beyond the obvious increases in eye candy in the 2000s, I don’t see much usability changes in GUI software, that were not in Mac OS and Windows back in the 1980s. System 1 and Windows 1.0 were especially ugly compared to Windows XP and OS X, and things like Vista and KDE4.3 are very sexy, but heck, what’s really changed since the old days?

I could almost swear, there has not been one serious improvement under Windows, since adding overlapping windows in ’87ish

So far experiments continue with SWAT 4 performance issues. Deeper testing has shown that it is no longer connected to graphical issues, not when running on my current hardware/driver config; nice to be able to max out the graphics online *and* in single player.

What happens is periodically when moving through an area, I get a stutter-lag-warp like motion: as if the whole game stopped spinning and then suddenly unlocked. The only consistency I’ve noticed is it happens when entering a region of the map that I have not been in previously—or have not been in for a while. One thought is that perhaps it occurs when the cache must be updated with stuff that has already been moved out of the games memory cache. My machine has RAM to burn so I have been testing the game with various cache sizes, but don’t honestly expect any positive result. On modern machines, cache size shouldn’t matter to much with the Unreal Engine 2.x lol.

Atm I’m defragging a few disks, maybe that might help a little. I don’t know if it is just the much greater frequency of crashes with Windows XP, or that NTFS really sucks that much worse then FreeBSDs UFS2 system. But for one reason or another, my windows file systems always end up very highly fragmented. Although on the upside, unlike Win32: FreeBSD does kind of encourage you to fsck afterwards hehe.

Hopefully my experiments will yield some fruit, and I can stop warping all over the place lol.

Why commercial EULAs are stupid.

1. INSTALLATION AND USE RIGHTS.

a. Installation and Use. You may install and use any number of copies of the software on your devices.

….
4. BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the software.

— from Microsoft DirectX SDK (March 2009) EULA

Maybe it is because I don’t deal in legalize daily, but I am still laughing 😀

What I have leanred today

Some programs really have no bloody idea what the hell they are doing when it comes to paths.

Applying the oft’ used idea that once a disk is mounted, you can NOT unmount it without explicitly saying so, would actually be a nice option in Windows.

That The “Internet Options” in control centre (I got bored, so I took a look in CP lol), actually has *nothing* to do with the Internet what so ever, unless you believe that the entire Internet is Microsoft Internet Explorer ^_^.

Really, I don’t know what annoys me more, how often Microsoft’s attempts to “Integrate” shit seems to demonstrate pure stupidity, or just all the comedic prerequisite for a god complex!

Some times, I really wonder who thinks of all this crap: and what they were smoking at the time.

Awhile back I stumbled over a macro program for Win32, but lost track of it; found it again today: http://www.autohotkey.com/

I’ve been missing such abilities under Win32, and ain’t about to swap my old PS/2 keyboard for one of them fancy G15s lol.

Microsoft, innovative? Nah, really!

A new version of Windows Mobile, is supposed to have a Honeycomb like start menu.

But hey wait a minute, I remember a X window manger that has something like that. After a bit of a hunt, I found it: Unix Desktop Environment (UDE) born back in 2004 [Wiki] [home] [screen].

It’s been on my todo list for a couple years now, to try out UDE; but then again, writing my own window manager for fun, and splelunking blackbox have also been on my todo list for a few years lol. I’m sure no one working on Windows Mobile 6.5 has ever heard of UDE, but it is nice to see someone at Microsoft is willing to try something DIFFERENT, if not totally new….

So far, the most innovative thing I’ve seen come out of Microsoft is some of the new window operations/shortcuts I’ve heard about in Windows 7; my response to it being: Have you jackasses really taken over a decade to figure out how to do that, or did you finally realize that window mangement has evolved since 1987 ???

Score: Spidey 1, Windows 0;

0/ Registry fixed
1/ Paths fixed
2/ Browser profile fixed
3/ UserProfile changed
4/ Permissions fixed
5/ Twisted Windows arm into obedience
6/ Shim wedged into place
7/ Look how many issues get fixed, if you just kick Windows in the teeth >_>

What a morning, lol.

When asked if this information was helpful by Microsoft:

NO

0.) Change windows to actually let the user see the stop error when it happens

1.) Provide a list of explanations for the errors that occur

In my case, looks like an DRIVER_IRQL _NOT_LESS_OR_EQUAL problem and a null pointer dereference. [Censored] is more helpful then your website ever is…. Now to go off and test my memory and screw with the pagefile.

Interesting finds

%Windir%system32 (typically C:WINDOWSsystem32)

clipbrd.exe — ClipBook Viewer

Big question, can I actually use it for anything? (Grrr, vim is better); windows clipboard management out of box seems to suck, or require finding a program almost no ones ever heard of :

ftype — manages file associates

very bloody useful – no more need to invoke explorer.exe to play with them.

systeminfo — quick print useful data

Gotta remember this next time I’m working on a system; msinfo32 provides more info, but for some dang reason always seems to need start.exe or rhe run dialog to launch it. systeminfo gives a good first look, and is easier to grep.

Windows XP does have some useful changes from DOS 5/6 based releases, but I’ve never actually found a lot that isn’t in my MS-DOS reference >_>.