Thursday, October 14, 2004

Scrubs


I finally got sucked into watching this show this week while taping stuff off to DVD. In general, I don't care much for sit-coms, but this one doesn't take itself overly serious and has enough quirks to be interesting.


posted by Wuphon's at 10:01 AM (0 comments)

Wednesday, October 13, 2004

CoD:UO Compass Fix


Okay, taking some stabs at a fix. Looking at the basic structure of every gametype GSC file (e.g. "maps\mp\gametypes\bas.gsc", "maps\mp\gametypes\dm.gsc", etc).

A) main() function always has the following (3) lines, identical for all game types:
CODE
if(!isDefined(game["compass_range"])) // set up the compass range.
game["compass_range"] = 1024;
setCvar("cg_hudcompassMaxRange", game["compass_range"]);

B) SpawnPlayer() function only contains the following (2) lines on the BAS/CTF/DOM gametype GSC files.
CODE
// make sure that the client compass is at the correct zoom specified by the level
self setClientCvar("cg_hudcompassMaxRange", game["compass_range"]);

C) All of the maps in UO also have GSC files (e.g. "maps\mp\mp_arnhem.gsc", "maps\mp\mp_foy.gsc"). In them, the main() function always has the following line, unless it's supposed to use the default 1024 units for the compass.
CODE
game["compass_range"] = 2816; //How far the compass is zoomed in


The bug seems to be comprised of two parts:

1) mp_cassino, mp_ponyri, mp_sicily and mp_uo_stanjel do not set a compass_range. Looking at the following map sizes:

Arnhem 6100x3800 (compass_range = 2816)
Berlin 8550x5550 (compass_range = 2816)
Cassino 7550x3850 (compass_range = NONE SET)
Foy 11250x18550 (compass_range = 6124)
Italy 14900x20100 (compass_range = 13000)
Kharkov 11050x17700 (compass_range = 6124)
Kursk 15650x20500 (compass_range = 13000)
Ponyri 14300x16000 (compass_range = NONE SET)
RhineValley 16550x21000 (compass_range = 12500)
Sicily 8850x7100 (compass_range = NONE SET)
Stanjel(UO) 5550x5500 (compass_range = NONE SET)

Brecourt - 8100x5900
Bocage - 8600x13200
Dawnville - 10500x6800

Ponyri should probably use a range of 12500, Sicily at 4096, Cassino and Stanjel at 2816. Simply adding the missing line (shown in part C above) will fix the issue for those (4) maps.

2) The old-style game types are missing the line shown in part B in their SpawnPlayer() function. Simply adding that missing line that sets the client-side cvar when the player spawns should fix the issue.

Labels:



posted by Wuphon's at 10:52 AM (0 comments)

CoD:Compass Fix


Yes, and I *think* I have properly mod'd GSC files for the maps/gametypes affected. I've played through all combinations on my personal test server and it seems to work fine. However, I'm probably going to be out of town this weekend, so I don't have time to play test it extensively. It's even possible that the PK3 file is not pakscaped properly and there's no readme file yet.

Now, if I haven't driven you off yet, attached is a PK3 file that fixes the issue (or seems to). The fix is exceedingly trivial and I didn't get into anything advanced like adjusting the compass range for a particular gametype (BEL / HQ / SD / RE would all benefit from a slightly more focused compass).

The gory technical details are over at the CA Forums, but basically I've added lines to Ponyri, Cassino, Stanjel, and Sicily's GSC files, and patched up the SpawnPlayer() function in the old-style gametype GSC files.

Last night was the only night that I had to muck with it this week, so if it doesn't work I can't promise a fix until the middle of next week.

Labels:



posted by Wuphon's at 8:53 AM (0 comments)

Powered by Blogger Who's linked to me?