experience points calculation
Ignore Xcode project/workspace user data
Fix Xcode build

* added OpenGL framework to libraries
* removed dubious header search path pointing to an absolute path
inside Xcode.app
MacPorts support for Xcode build

* added MacPorts library and include paths to search path
* updated build instructions in README to explain how to install
dependencies with MacPorts
Fix for issue #771 (Psi attack breaking targeting mode).
fix incorrect craft rearming
Update CraftArmorState.cpp
Update SoldierArmorState.cpp
Update SavedGame.cpp
Update SavedGame.h
Fixed listed detections in Base Info screen
Merge pull request #920 from FalkoOXC/QickArmourSelection

Qick armour selection
Compilers
Merge pull request #915 from sfalexrog/fixes

Fix for issue #771 (Psi attack breaking targeting mode).
center camera
Merge pull request #916 from redv/fix_craft_reloading

Fix: incorrect rearming of Craft weapons
Merge pull request #902 from hackbunny/xcode_building

Basic Xcode build improvements
Merge pull request #897 from redv/experience_calc

Perfectionism: experience points calculation
- Post-rebase cleanup.

- Highlight TUs in red on the shot selection menu if insufficient.
- Highlight Acc in red if the weapon has insufficient ammo.
- Display auto shot count as ##%x<Count>.

- Display wounded days with status.

- Handle thrown items in ammo count check.
- Remove user preferences.

- Highlight TUs in red on the shot selection menu if insufficient.
- Highlight Acc in red if the weapon has insufficient ammo.
- Display auto shot count as ##%x<Count>.

Conflicts:
	src/Battlescape/ActionMenuState.cpp

- Handle thrown items in ammo count check.
- Remove user preferences.

- Display sell price info on manufacturing screens.
- Shrink actions list in battlescape.
- Added numeric hotkeys to activate actions.
- Display the selected action briefly after selection.

- Rearranged base info window.
- Added soldiers, stores and quarters info to base info.
- Added current stores to manufacture start screen.

- Fixed ammo count checking for non-shooting actions.
- Added a colorable message display for non-warning text.
- Improved damage display.
- Report wounds added from BattleUnit::damage.

- Added a floating combat log to display events.

- Implemented a Quick Reload action.
- Added an option to base reload TU cost off inventory slot and magazine weight.

- Finished quick reload option.  Handles existing magazine now.

Firing a gun while berserk now requires that the gun actually has a snapshot

- Applied new reload logic to AIs.

- Added white cross-marks on the unit health bar to indicate wounds.

- Apply maximize info screen option to various Geoscape screens.

- Added extra check to prevent quick reload action from being available on non-firearms.

- Flash the aim cursor red/yellow if you do not have enough TU to continue firing.

- Added Stores/Quarters information to Purchase screen.

- BattlescapeGenerator::explodePowerSources() was eventually making a call to displayDamage() and crashing if an alien was hurt by the explosion.
- Added a development build configuration for speed compilation and testing.

- Slight reorganization to displayDamage conditions.

- Added proper translations and strings for combat log and reload features.

- Highlight TUs in red on the shot selection menu if insufficient.
- Highlight Acc in red if the weapon has insufficient ammo.
- Display auto shot count as ##%x<Count>.

- Display wounded days with status.

- Handle thrown items in ammo count check.
- Remove user preferences.

- Highlight TUs in red on the shot selection menu if insufficient.
- Highlight Acc in red if the weapon has insufficient ammo.
- Display auto shot count as ##%x<Count>.

- Display wounded days with status.

- Handle thrown items in ammo count check.
- Remove user preferences.

Merge branch 'master' of https://github.com/Darineth/OpenXcom

- Display sell price info on manufacturing screens.
- Shrink actions list in battlescape.
- Added numeric hotkeys to activate actions.
- Display the selected action briefly after selection.

- Rearranged base info window.
- Added soldiers, stores and quarters info to base info.
- Added current stores to manufacture start screen.

- Fixed ammo count checking for non-shooting actions.
- Added a colorable message display for non-warning text.
- Improved damage display.
- Report wounds added from BattleUnit::damage.

- Added a floating combat log to display events.

- Implemented a Quick Reload action.
- Added an option to base reload TU cost off inventory slot and magazine weight.

- Finished quick reload option.  Handles existing magazine now.

Firing a gun while berserk now requires that the gun actually has a snapshot

Merge branch 'master' of https://github.com/Darineth/OpenXcom

- Applied new reload logic to AIs.

- Added white cross-marks on the unit health bar to indicate wounds.

- Apply maximize info screen option to various Geoscape screens.

- Added extra check to prevent quick reload action from being available on non-firearms.

- Flash the aim cursor red/yellow if you do not have enough TU to continue firing.

- Added Stores/Quarters information to Purchase screen.

- BattlescapeGenerator::explodePowerSources() was eventually making a call to displayDamage() and crashing if an alien was hurt by the explosion.
- Added a development build configuration for speed compilation and testing.

- Slight reorganization to displayDamage conditions.

Post-rebase re-merging.

- Added new translations to en-GB language set.

- Fixed combat log crashing when full.
- Fixed quick reload ignoring lack of TUs.

- Added logic to further adjust the Unload TU cost based on the magazine weight with the Adjust Reload Costs option.
  - Quick Reload will now cost Magazine Weight + Hand->Ground cost.
  - Normal Unload will now cost Magazine Weight + Hand->Hand cost.

- Fixed a leftover Combat Log long duration test change in.

- Implemented first level Roles menu for accessing basic role functions.

- First pass at implementing a full Role system for managing unit equipment templates.

- Added a simpler mechanism for the Maximize Info Screens option that also prevents multiple maximized screens from confusing the scale because of constructor/destructor order.

- Adjusted base cost for adjusted ammo reload option.

- Made role icon bob like the original selected unit arrow.

- Completed role ruleset configuration and en-US strings.
- Added "none", "Sniper", and "Rifleman" icons, and placeholder files for the rest.

- Added medic and grenadier icons.
- Cropped sniper simple icon.

- Added Assault, Grenadier, Medic icons.
- Redesigned Sniper icon.

- Fixed Roles not being available in New Battle mode.
- Fixed an incorrect enumeration usage.
- Fixed the sniper role icon palette.

- Re-enabled selected unit bobbing for role icons.
- New mini icon for sniper role.
- Shrunk medic small icon.

- Made shotgun-type weapons simultaneously fire their rounds without using simplified insta-hit logic.

- Fixed State think timer being changed mid-flight on shotgun projectiles.

- Tweaked multi-projectile logic.

- Changed shotgun projectile logic to apply accuracy to an initial shot, then base further spread off of accuracyShotgunSpread on the weapon (if available).

- Finished first draft for demo, heavy, psionic, rocketeer, scout, and specialist role icons.

- Adjusted several role icons, and fixed some palettes.

- Fixed some issues with trajectory calculation on shotgun attacks.

- Further fixes to shotgun projectile mode.
- Store calculated impact on the projectile object rather than a single member variable in ProjectileFlyBState.

- Tweaked several role icons to apply a slightly more embossed effect.

- Shotgun pellet spread now follows a somewhat more realistic normal distribution

Merge branch 'master' of https://github.com/Darineth/OpenXcom

- Fixed shotgun pellet applyAccuracy change to pull the pellet count from the ammo item.

- Improved shot action display to include shotgun shot count.
- Tweaked shotgun pellet impact explosion behavior for simultaneous hits.

- Fixed a bug where _currentAction.result was not cleared after giving a warning for failing a quick reload. This resulted in repeatedly being warned after most actions following it.
- Temporarily changed createNewProjectile so that throwing items can't have shotgun pellets. This was causing crashes when attempting to throw, for example, a cluster rocket.

- Rewrote projectile rendering to use a single pre-pass to generate future drawable objects before looping across visible tiles.
- Capture shotgun attribute at ProjectileFlyBState constructor for use in applyAccuracy later, to prevent issues when running out of ammo.
- Further tweaks to auto/shotgun attacks in shot action menu display.

- Further shotgun pellet logic rewriting to reduce lost or repeated explosions.

- Display estimated accuracy even without UFOExtender accuracy mode.
- Fixed an issue where the initial shotgun tracer round was fired with shotgun mode, causing it to ignore standard accuracy rules.

- Added kneelModifier to RuleItem so that weapons may define exactly what accuracy multiplier they get for kneeling.

- Fixed LoS check being skipped on normal shots.

- Display grenade primed indicator on battlescape.

- Combat log adjustments.
- Fixed bad translation string for Reloaded combat log display.

- Early attempt - explosions occur synchronously.

- Async explosion logic round 1.

- Final round of async shot/explosion logic.

- Cleanup/fix branch.

- Fixed target voxel deviation for shotgun-type weapons on auto fire.

- Do not change state interval in ExplosionBState when being run as a sub-state.

- Added blastDropoff to item ruleset, which controls how quickly an explosion loses damage as it spreads outward
- Modified explosion-related functions so that the visual size and sound of an explosion is determined by blast radius instead of power

- Allow mousewheel scrolling through oversized ground inventories.

- Fixed incorrect max on mouse wheel inventory scrolling.

- Fix inventory not being re-rendered for some actions.

- Combat log improvements for non-damage or stun damage attacks.
- Further tweaks to mousewheel inventory scrolling.

- Slight tweak to RoleIconNone.

- Added reactionsModifier as a setting to RuleItem

- Implemented per-weapon AI range handling.

New item rules:
aiRangeClose, aiRangeMid, aiRangeLong, aiRangeMax
aiAttackPriorityClose, aiAttackPriorityMid, aiAttackPriorityLong, aiAttackPriorityMax.

- Adjusted reserved TU fallback logic to handle weapons with non-standard shot configurations.
- Force AI to use normal TU reserve logic instead of custom percentages.

- Fix firing animation getting stuck.

- Fixed an issue causing crashes with the modified explosion graphics/sound code

- Implemented Overwatch ability.

- Grant hostile units the weapon kneel modifier if it is above the base 115.

- Commented alien unit kneel special case.

- Fixed death message spam for multi-hit weapons.
- Fixed canMakeReactionShot not checking required TUs on snapshot.

- Adjusted Overwatch cost to be a minimum of 90% of the unit's TU.
- Added a simple display for overwatch to indicate the target region.

- Clear Overwatch state on new turn.

- Add Role to Soldier Info screen.
- Apply "one in a million" AI fix.

- Fixed InventoryState not popping the maximized state properly.
- Added an Inventory button to the soldier info screen.

- Post-rebase cleanup.
- Modified SavedGame loading of role configuration to eliminate SavedGame constructor conflicts.
- Applied custom string changes to en-GB.yml.

- Show all spotted units in spotted list, not just those spotted by the current unit.

- Added tracer logic to display line of fire when targeting.
- Fixed roles not being loaded in time for use in New Battle games.

- Fixed logic issue causing the trajectory calculation to fail with any compilation optimizations turned on.
- Fixed an issue where the trajectory trace was being created for non-visible higher Z level tiles and all rendered at once when the higher Z level became visible.

- Added a drawing hack to draw throwing arcs above the currently drawn map Z-level.

- Implemented an Instant grenade fuse option.

- Fixed Stun/Hit melee action showing ammo-related errors.

- Fixed rounding error on reaction fire distance calculation.  Lying documentation!!!!!!
- Added smoke-driven accuracy falloff.

- Fix Psionic attacks not display in log.
- Fix instaprime grenades not saving to EquipmentLayoutItem.

- Sort Interceptor list by distance to target.

- Fixes to psionics caused by modified Explosion logic.

- Inventory stats display changes.

- Display basic craft stats on Craft Info state.

- Added negative health and unit bleedout functionality.

- Fixed a logic error that broke health healing when healing a fatal wound.

- Show all red on medikit view if the target unit is bleeding out.

- Fix fatal wounds going negative.

- Separated ExplosionBState animation interval from the main state loop using a separate timer.

- Medikit info display improvements.
- Set health to 10% when being stabilized from bleeding to death.
- Display more damage info in the combat log in debug mode.

- Changed bleedout mechanic to be wound-based.
- Changed stabilization heals from medikits to be overcharged wound heals, but zero health restoration.
- Improved medikit info display.

- Improved interception distance sorting to use the craft's in-flight position when possible.

- Allow overwatch to carry over between turns.
- Fix some language file entries for accuracy displays.

- Changed the firing trajectory system to use an aimcone-style system instead of the existing hit-or-wild-miss system.

- Fixed STABLIZED typo.
- Changed wounded recovery time to be percentage based rather than absolute value based.
- Fixed overwatch being able to fire infinite times.
- Added visual indicator to highlight units on overwatch.
- Reduced LOS penalty on grenades to 75% maximum.
- Allow fatal wound bleeding to cause bleedout extra wounds.
- Fixed autoshot causing crashes if initiating fire with only 1 ammo left.

OpenXCOM+!!!

- Prevent psi attack targeting from using intellect to select a previously spotted target.
- Added a new fog of war-style field of view display mechanic.

- Attempt to prevent alien spotting incorrectly?

Merge branch 'master' of https://github.com/Darineth/OpenXcom

- Fixed weapon accuracy mods not being applied.

- Rebased.

- Implemented enforced squadsight logic for alien psi targeting.

- Added a bleeding out icon to dying soldiers on the battlefield.

- Added missing bleeding icon.
- Modified movement reaction fire triggers to only cause spotting to protect from the spotted unit rather than all enemies for normal reaction fire, not overwatch.
- Prevent weapon reaction modifiers from being used when on the defensive.
- Fixed bleedout icons not drawing when a live unit was on the tile.
- Fix post-rebase merge issue.