N64 FREE AIM
Author: Danoid
Version: 0.13
Game: Unreal Tournament (1999 / UT99)
Release date: October 8, 2026
Requires: UT99 patch 469f
Tested with: UT99 469f Preview, offline first-person play

ABOUT
=====
GoldenEye 007 and Perfect Dark inspired free aiming for UT99.

Look around normally with no crosshair. Hold your aim key to bring up a
movable reticle and place your shots around the screen. The camera turns
when the reticle approaches the edge of the aiming zone, while the weapon
follows your aim with smooth movement and handed cant.

The original UT99 weapon models and animations are retained. The enforcer,
minigun and sniper use restrained movement to keep their arms closer to
their resting positions while their barrels still point toward the target.

INSTALLATION
============
1. Close UT99.
2. Extract this ZIP to a temporary folder.
3. Drag the included System folder into your main UnrealTournament folder
   (the folder containing System, Maps and Textures). Allow the System
   folders to merge. If updating, replace N64Aim.u and N64Aim.int.
4. You may also copy this README into the main UnrealTournament folder.

The installed layout should be:

  UnrealTournament\
    N64FreeAim-README.txt
    System\
      N64Aim.u
      N64Aim.int

No source files, separate models or textures, or supplied INI are needed.
Keep any existing N64Aim.ini when updating.

ENABLE THE MUTATOR AND BIND AIM
==============================
1. Start UT99 and choose a Practice Session.
2. In the Mutators list, add "N64 Free Aim", then start the match.
3. Open Mods > N64 Free Aim... and select the "Aim and spread" tab.
4. Choose Shift as the "Hold-to-aim key". Enable "Also walk on this key"
   if you want Shift to keep its usual walking action.
5. Click "Bind aim key", close the menu, and return to the match.

IMPORTANT: Adding the mutator does not automatically bind the aim key.
Shift will only walk until you complete the binding step above. Other
existing actions on the chosen key are preserved by the menu binding.

Alternatively, open the console (~) and enter:

  set input Shift Button bRun | Button bN64Aim

This console command replaces Shift's existing binding with walk + aim.
Use the menu method if Shift already has other actions you want to keep.

CONTROLS AND FEATURES
=====================
- Without the aim key: normal mouse look, including looking up and down.
  The regular crosshair is hidden and hip fire has added spread.
- Hold the aim key: a movable reticle appears. Mouse movement positions it
  within the aiming zone; near the zone's edge, the camera turns with it.
- Release the aim key: return to normal mouse look. The weapon settles
  smoothly back to its normal position.
- Fire, alternate fire, movement, jump and weapon-switch controls keep
  their existing bindings.
- Weapons point toward the aiming target, with muzzle origins following
  their visible positions. Native weapon spread and projectile travel
  still apply; aimed shots are exempt from the added hip-fire spread.
- Hip-fire spread increases with movement and while airborne.
- Sniper zoom uses the normal scope and disables free aim and added spread.
- The pulse rifle's alternate beam stays steady without added hip spread.
- Rocket lock-on remains functional; the movable reticle changes color
  when locked.
- Right, left and centered weapon views are supported, with handed cant.

SETTINGS
========
Open Mods > N64 Free Aim... to adjust:

  Aim and spread: sensitivity, aim-zone size, edge turning, hip spread,
                  movement spread, and the aim-key binding.
  Weapon motion:  barrel follow, easing, cant, and coverage adjustments.
  Weapon tuning:  individual weapon settings and extra weapon movement.

Keep "Barrel follow amount" at 1 for full visual muzzle alignment.
"Extra weapon movement" defaults to 0.3 for the enforcer, minigun and
sniper, and 1 for the other weapons. Lower values restrain extra movement;
1 restores the full movement for that weapon.

Settings are saved to System\N64Aim.ini when changed through the menu.
You can restore all defaults or reset a single weapon in the menu.

UPDATING
========
Close UT99 and replace System\N64Aim.u and System\N64Aim.int with the
files in this ZIP. Keep your existing settings and key binding, then
restart UT99 and begin a new match with the mutator enabled.

COMPATIBILITY
=============
- Built for UT99 469f; tested on 469f Preview. Earlier patches are untested.
  The original v436 release is not supported.
- Intended for offline, first-person play with stock weapons. Multiplayer
  compatibility has not been verified.
- Uses the stock male soldier (TMale2) player as its base, so your selected
  player model may change. Other mods that replace the player class can
  conflict. Custom weapons and HUDs may need additional support.
- Original weapon geometry is retained. Some arm ends may still appear at
  unusual angles or with custom settings.

UNINSTALLATION
==============
Remove "N64 Free Aim" from the active Mutators list and start a new match.
Remove the aim action from your key binding. For the standard Shift walk
binding, open the console and enter:

  set input Shift Button bRun

If you used a different key or custom binding, restore your previous one.
To remove the files completely, close UT99 and delete System\N64Aim.u,
System\N64Aim.int, and optionally System\N64Aim.ini. No stock game
packages are replaced by this mutator.

PACKAGE CONTENTS
================
System\N64Aim.u       Compiled mutator and settings menu.
System\N64Aim.int     Mutator-list and Mods-menu registration.
N64FreeAim-README.txt Installation, controls and author information.
