The Ur-Quan Masters Discussion Forum

The Ur-Quan Masters Re-Release => Technical Issues => Topic started by: Ohma on July 28, 2012, 10:37:04 am



Title: Ship or game engine editing question.
Post by: Ohma on July 28, 2012, 10:37:04 am
So on my current playthrough I've accidentally saved after encountering a four-strong Kohr-ah flotilla. This isn't a game ender because worst comes to to worst I can just dump myself back an hour and work my way back, and I can beat them with the Eluder, but I just have to admit that the actual combat in SC2 is way too frenetic for me. I'd love to find out that there is a way to either brutally hack the game engine itself to slow things down a bit during combat (seriously, not even that much, just enough so that I feel like I'm allowed to frigging blink) or alternately that it's possible to change ship stats (and basically accomplish the same thing by lowering recharge rates, turning speeds, and max velocity across the board...and probably tinkering with planet gravity to compensate).

Seriously if either of those are possible and I get pointed in the right direction to start farting around with that stuff, I'd be super thankful.


Title: Re: Ship or game engine editing question.
Post by: oldlaptop on July 28, 2012, 06:25:40 pm
Having had a short look around in the source, the frame rate appears to be #defined in src/uqm/battle.h, line 54:

Code:
#define BATTLE_FRAME_RATE (ONE_SECOND / 24)

Ship stats are all #defined in the source code for each ship, for instance, near the top of src/uqm/ships/human/human.c in 0.7 is:

Code:
#define MAX_CREW 18
#define MAX_ENERGY 18
#define ENERGY_REGENERATION 1
#define WEAPON_ENERGY_COST 9
#define SPECIAL_ENERGY_COST 4
#define ENERGY_WAIT 8
#define MAX_THRUST /* DISPLAY_TO_WORLD (6) */ 24
#define THRUST_INCREMENT /* DISPLAY_TO_WORLD (2) */ 3
#define TURN_WAIT 1
#define THRUST_WAIT 4
#define WEAPON_WAIT 10
#define SPECIAL_WAIT 9

#define SHIP_MASS 6
#define MISSILE_LIFE 60
#define MIN_MISSILE_SPEED DISPLAY_TO_WORLD (10)
#define MAX_MISSILE_SPEED DISPLAY_TO_WORLD (20)

Planetary gravity appears to be handled by src/uqm/gravity.c, and seems fairly complex. There's a few #defines in there that might be helpful though.