View Single Post
Old 02-15-2009, 06:38 AM   #1
XycaleTh's Avatar
Join Date: Apr 2006
Location: UK
Posts: 67

Before you say "you can't do that!", let me tell you my idea.

Now, as far as I can tell, MAX_WEAPONS is only used once in q_shared.h (and so only used this once between mod and engine), and that's for defining the size of the ammo array in playerState_s. If I instead set this to 19 (value of MAX_WEAPONS), I'm free to change MAX_WEAPONS.

To overcome the problem of the game referencing ammo[] with an index of greater than 18, I thought of using the low and high 16-bits of each index to store the amount of ammo, i.e. for a given array element, the lower 16 bits will hold the amount of ammo for one weapon, and the higher 16 bits for a second weapon.

I can replace all references to ammo[] with a function to correctly set/get the required ammo index. And then there's the problem of ps.stats[STAT_WEAPON] only being a 16-bit field (at least that's what it says in the code...). I can simply replace this with one of the userInts provided. There will still be a limited number of weapons I can have (32), but that should be more than enough.

Do these changes sound okay?

Last edited by XycaleTh; 02-15-2009 at 07:54 AM.
XycaleTh is offline   you may: quote & reply,