From: Jaka K. <lyn...@us...> - 2013-01-15 14:45:42
|
gemrb: Infinity Engine emulator The branch master has been updated via 3e0dcead8e5dfa79e15eeaf071c4580224d03213 (commit) via fd175bc1b4ef0052a9cd618f1225798c33b6fb12 (commit) via 6bce18c6abc90f5ce5a434946b0cf47e6fbe7da5 (commit) Summary of changes: gemrb/core/Interface.cpp | 1 + gemrb/core/Scriptable/Actor.cpp | 12 +++++++----- gemrb/docs/en/gemrb_ini.txt | 9 ++++++++- gemrb/includes/globals.h | 3 ++- gemrb/unhardcoded/bg1/gemrb.ini | 3 ++- gemrb/unhardcoded/bg2/gemrb.ini | 3 ++- gemrb/unhardcoded/how/gemrb.ini | 3 ++- gemrb/unhardcoded/iwd/gemrb.ini | 3 ++- gemrb/unhardcoded/iwd2/gemrb.ini | 3 ++- gemrb/unhardcoded/pst/gemrb.ini | 3 ++- 10 files changed, 30 insertions(+), 13 deletions(-) from caea282f98c1e7412bc456857a2a86e8f6578b0a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=3e0dcead8e5dfa79e15eeaf071c4580224d03213 commit 3e0dcead8e5dfa79e15eeaf071c4580224d03213 Author: Jaka Kranjc <lyn...@us...> Date: Tue Jan 15 15:44:02 2013 +0100 added support for healing when receiving damage and resistance to it is >100% toggle HealOn100Plus in gemrb.ini as needed diff --git a/gemrb/core/Interface.cpp b/gemrb/core/Interface.cpp index 3fac28d..196e7ef 100644 --- a/gemrb/core/Interface.cpp +++ b/gemrb/core/Interface.cpp @@ -2643,6 +2643,7 @@ static const char *game_flags[GF_COUNT+1]={ "StartActive", //68GF_START_ACTIVE "ClearUnusedArea", //69GF_CLEAR_UNUSED_AREA "ImplicitAreaAnimBackground", //70GF_IMPLICIT_AREAANIM_BACKGROUND + "HealOn100Plus", //71GF_HEAL_ON_100PLUS NULL //for our own safety, this marks the end of the pole }; diff --git a/gemrb/core/Scriptable/Actor.cpp b/gemrb/core/Scriptable/Actor.cpp index 6f9e40c..6d8c2c3 100644 --- a/gemrb/core/Scriptable/Actor.cpp +++ b/gemrb/core/Scriptable/Actor.cpp @@ -6459,8 +6459,10 @@ void Actor::ModifyDamage(Scriptable *hitter, int &damage, int &resisted, int dam resisted = (int) (damage * (signed)GetSafeStat(it->second.resist_stat)/100.0); damage -= resisted; print("Resisted %d of %d at %d%% resistance to %d", resisted, damage+resisted, GetSafeStat(it->second.resist_stat), damagetype); - // TODO: PST and BG1 may actually heal on negative damage - if (damage <= 0) resisted = DR_IMMUNE; + // PST and BG1 may actually heal on negative damage + if (!core->HasFeature(GF_HEAL_ON_100PLUS)) { + if (damage <= 0) resisted = DR_IMMUNE; + } } } diff --git a/gemrb/docs/en/gemrb_ini.txt b/gemrb/docs/en/gemrb_ini.txt index 2a01821..cc2b5dc 100644 --- a/gemrb/docs/en/gemrb_ini.txt +++ b/gemrb/docs/en/gemrb_ini.txt @@ -22,7 +22,8 @@ Options that do not deal strictly with data availability and diversity may be freely changed. Some that may be interesting to users include: AutoSearchHidden, BreakableWeapons, DeathOnZeroStat, HasSpecificDamageBonus (mod required), HasWisdomBonusTable (mod required), -KnowWorld, ProperBackstab, SelectiveMagicRes, StealIsAttack and TeamMovement. +HealOn100Plus, KnowWorld, ProperBackstab, SelectiveMagicRes, StealIsAttack + and TeamMovement. [FIXME: eventually, this file could be searched for in user's config directory too] diff --git a/gemrb/includes/globals.h b/gemrb/includes/globals.h index f66b8a0..c107e14 100644 --- a/gemrb/includes/globals.h +++ b/gemrb/includes/globals.h @@ -158,9 +158,10 @@ namespace GemRB { #define GF_START_ACTIVE 68 //bg1 #define GF_CLEAR_UNUSED_AREA 69 //bg1 #define GF_IMPLICIT_AREAANIM_BACKGROUND 70 //idw,how,iwd2 +#define GF_HEAL_ON_100PLUS 71 //bg1, bg2, pst //update this or bad things can happen -#define GF_COUNT 71 +#define GF_COUNT 72 //the number of item usage fields (used in CREItem and STOItem) #define CHARGE_COUNTERS 3 diff --git a/gemrb/unhardcoded/bg1/gemrb.ini b/gemrb/unhardcoded/bg1/gemrb.ini index 72fd122..f9f383d 100644 --- a/gemrb/unhardcoded/bg1/gemrb.ini +++ b/gemrb/unhardcoded/bg1/gemrb.ini @@ -90,6 +90,7 @@ HasSpecificDamageBonus = 0 HasSpellList = 0 HasUsePointFlag = 0 HasWisdomBonusTable = 0 +HealOn100Plus = 1 IgnoreButtonFrames = 0 ImplicitAreaAnimBackground = 0 IWD2DeathVarFormat = 0 diff --git a/gemrb/unhardcoded/bg2/gemrb.ini b/gemrb/unhardcoded/bg2/gemrb.ini index cd0ccc3..23bc4a2 100644 --- a/gemrb/unhardcoded/bg2/gemrb.ini +++ b/gemrb/unhardcoded/bg2/gemrb.ini @@ -93,6 +93,7 @@ HasSpecificDamageBonus = 0 HasSpellList = 0 HasUsePointFlag = 1 HasWisdomBonusTable = 0 +HealOn100Plus = 1 IgnoreButtonFrames = 1 ImplicitAreaAnimBackground = 0 IWD2DeathVarFormat = 0 diff --git a/gemrb/unhardcoded/how/gemrb.ini b/gemrb/unhardcoded/how/gemrb.ini index 4c259b9..af40e5c 100644 --- a/gemrb/unhardcoded/how/gemrb.ini +++ b/gemrb/unhardcoded/how/gemrb.ini @@ -92,6 +92,7 @@ HasSpecificDamageBonus = 1 HasSpellList = 0 HasUsePointFlag = 0 HasWisdomBonusTable = 0 +HealOn100Plus = 1 IgnoreButtonFrames = 0 ImplicitAreaAnimBackground = 1 IWD2DeathVarFormat = 0 diff --git a/gemrb/unhardcoded/iwd/gemrb.ini b/gemrb/unhardcoded/iwd/gemrb.ini index e2c607a..36def17 100644 --- a/gemrb/unhardcoded/iwd/gemrb.ini +++ b/gemrb/unhardcoded/iwd/gemrb.ini @@ -92,6 +92,7 @@ HasSpecificDamageBonus = 0 HasSpellList = 0 HasUsePointFlag = 0 HasWisdomBonusTable = 0 +HealOn100Plus = 1 IgnoreButtonFrames = 0 ImplicitAreaAnimBackground = 1 IWD2DeathVarFormat = 0 diff --git a/gemrb/unhardcoded/iwd2/gemrb.ini b/gemrb/unhardcoded/iwd2/gemrb.ini index f6c6e1d..534eadb 100644 --- a/gemrb/unhardcoded/iwd2/gemrb.ini +++ b/gemrb/unhardcoded/iwd2/gemrb.ini @@ -90,6 +90,7 @@ HasSpecificDamageBonus = 1 HasSpellList = 1 HasUsePointFlag = 1 HasWisdomBonusTable = 0 +HealOn100Plus = 0 IgnoreButtonFrames = 0 ImplicitAreaAnimBackground = 1 IWD2DeathVarFormat = 1 diff --git a/gemrb/unhardcoded/pst/gemrb.ini b/gemrb/unhardcoded/pst/gemrb.ini index 75953e9..efc1723 100644 --- a/gemrb/unhardcoded/pst/gemrb.ini +++ b/gemrb/unhardcoded/pst/gemrb.ini @@ -85,6 +85,7 @@ HasSpecificDamageBonus = 0 HasSpellList = 0 HasUsePointFlag = 0 HasWisdomBonusTable = 1 +HealOn100Plus = 1 IgnoreButtonFrames = 1 ImplicitAreaAnimBackground = 0 IWD2DeathVarFormat = 0 http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=fd175bc1b4ef0052a9cd618f1225798c33b6fb12 commit fd175bc1b4ef0052a9cd618f1225798c33b6fb12 Author: Jaka Kranjc <lyn...@us...> Date: Tue Jan 15 15:20:10 2013 +0100 documented ImplicitAreaAnimBackground and reordered, so the sorting is maintained diff --git a/gemrb/docs/en/gemrb_ini.txt b/gemrb/docs/en/gemrb_ini.txt index 364b331..2a01821 100644 --- a/gemrb/docs/en/gemrb_ini.txt +++ b/gemrb/docs/en/gemrb_ini.txt @@ -374,6 +374,12 @@ resource, and always use frames 0, 1, 2, 3 from their associated BAM. (PST, ...) +ImplicitAreaAnimBackground = <bool> +- - - - - - - - - - - - - - +If set to 1, area animations will have a different renderering order. +This is used to fix some animations in the IWD line of games + + IWD2DeathVarFormat = <bool> - - - - - - - - - - - - - - Toggles whether the game uses the IWD2 death var format ("_DEAD%s"). diff --git a/gemrb/unhardcoded/bg1/gemrb.ini b/gemrb/unhardcoded/bg1/gemrb.ini index 985167f..72fd122 100644 --- a/gemrb/unhardcoded/bg1/gemrb.ini +++ b/gemrb/unhardcoded/bg1/gemrb.ini @@ -91,6 +91,7 @@ HasSpellList = 0 HasUsePointFlag = 0 HasWisdomBonusTable = 0 IgnoreButtonFrames = 0 +ImplicitAreaAnimBackground = 0 IWD2DeathVarFormat = 0 IWD2ScriptName = 0 IWDMapDimensions = 0 @@ -122,4 +123,3 @@ StealIsAttack = 0 StrrefSaveGame = 0 TeamMovement = 0 UpperButtonText = 0 -ImplicitAreaAnimBackground = 0 diff --git a/gemrb/unhardcoded/bg2/gemrb.ini b/gemrb/unhardcoded/bg2/gemrb.ini index 2fc3a02..cd0ccc3 100644 --- a/gemrb/unhardcoded/bg2/gemrb.ini +++ b/gemrb/unhardcoded/bg2/gemrb.ini @@ -94,6 +94,7 @@ HasSpellList = 0 HasUsePointFlag = 1 HasWisdomBonusTable = 0 IgnoreButtonFrames = 1 +ImplicitAreaAnimBackground = 0 IWD2DeathVarFormat = 0 IWD2ScriptName = 0 IWDMapDimensions = 0 @@ -125,4 +126,3 @@ StealIsAttack = 1 StrrefSaveGame = 0 TeamMovement = 0 UpperButtonText = 1 -ImplicitAreaAnimBackground = 0 diff --git a/gemrb/unhardcoded/how/gemrb.ini b/gemrb/unhardcoded/how/gemrb.ini index 7a9f3fd..4c259b9 100644 --- a/gemrb/unhardcoded/how/gemrb.ini +++ b/gemrb/unhardcoded/how/gemrb.ini @@ -93,6 +93,7 @@ HasSpellList = 0 HasUsePointFlag = 0 HasWisdomBonusTable = 0 IgnoreButtonFrames = 0 +ImplicitAreaAnimBackground = 1 IWD2DeathVarFormat = 0 IWD2ScriptName = 1 IWDMapDimensions = 1 @@ -126,4 +127,3 @@ StealIsAttack = 0 StrrefSaveGame = 0 TeamMovement = 0 UpperButtonText = 0 -ImplicitAreaAnimBackground = 1 diff --git a/gemrb/unhardcoded/iwd/gemrb.ini b/gemrb/unhardcoded/iwd/gemrb.ini index 8c8e8e2..e2c607a 100644 --- a/gemrb/unhardcoded/iwd/gemrb.ini +++ b/gemrb/unhardcoded/iwd/gemrb.ini @@ -93,6 +93,7 @@ HasSpellList = 0 HasUsePointFlag = 0 HasWisdomBonusTable = 0 IgnoreButtonFrames = 0 +ImplicitAreaAnimBackground = 1 IWD2DeathVarFormat = 0 IWD2ScriptName = 1 IWDMapDimensions = 1 @@ -126,4 +127,3 @@ StealIsAttack = 0 StrrefSaveGame = 0 TeamMovement = 0 UpperButtonText = 0 -ImplicitAreaAnimBackground = 1 diff --git a/gemrb/unhardcoded/iwd2/gemrb.ini b/gemrb/unhardcoded/iwd2/gemrb.ini index 7b62ff5..f6c6e1d 100644 --- a/gemrb/unhardcoded/iwd2/gemrb.ini +++ b/gemrb/unhardcoded/iwd2/gemrb.ini @@ -91,6 +91,7 @@ HasSpellList = 1 HasUsePointFlag = 1 HasWisdomBonusTable = 0 IgnoreButtonFrames = 0 +ImplicitAreaAnimBackground = 1 IWD2DeathVarFormat = 1 IWD2ScriptName = 1 IWDMapDimensions = 1 @@ -124,4 +125,3 @@ StealIsAttack = 0 StrrefSaveGame = 1 TeamMovement = 0 UpperButtonText = 0 -ImplicitAreaAnimBackground = 1 diff --git a/gemrb/unhardcoded/pst/gemrb.ini b/gemrb/unhardcoded/pst/gemrb.ini index 3cf4a83..75953e9 100644 --- a/gemrb/unhardcoded/pst/gemrb.ini +++ b/gemrb/unhardcoded/pst/gemrb.ini @@ -86,6 +86,7 @@ HasSpellList = 0 HasUsePointFlag = 0 HasWisdomBonusTable = 1 IgnoreButtonFrames = 1 +ImplicitAreaAnimBackground = 0 IWD2DeathVarFormat = 0 IWD2ScriptName = 0 IWDMapDimensions = 0 @@ -119,4 +120,3 @@ StealIsAttack = 0 StrrefSaveGame = 0 TeamMovement = 1 UpperButtonText = 0 -ImplicitAreaAnimBackground = 0 http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=6bce18c6abc90f5ce5a434946b0cf47e6fbe7da5 commit 6bce18c6abc90f5ce5a434946b0cf47e6fbe7da5 Author: Jaka Kranjc <lyn...@us...> Date: Tue Jan 15 14:58:02 2013 +0100 allow elemental/magic/poison damage resistances to be higher than 100 in bg1 you could actually heal this way by taking damage diff --git a/gemrb/core/Scriptable/Actor.cpp b/gemrb/core/Scriptable/Actor.cpp index 7a2a120..6f9e40c 100644 --- a/gemrb/core/Scriptable/Actor.cpp +++ b/gemrb/core/Scriptable/Actor.cpp @@ -1312,11 +1312,11 @@ void pcf_armorlevel(Actor *actor, ieDword /*oldValue*/, ieDword newValue) } static int maximum_values[MAX_STATS]={ -32767,32767,20,100,100,100,100,25,10,25,25,25,25,25,100,100,//0f -100,100,100,100,100,100,100,100,100,100,255,255,255,255,100,100,//1f +32767,32767,20,100,100,100,100,25,10,25,25,25,25,25,200,200,//0f +200,200,200,200,200,100,100,100,100,100,255,255,255,255,100,100,//1f 200,200,MAX_LEVEL,255,25,100,25,25,25,25,25,999999999,999999999,999999999,25,25,//2f 200,255,200,100,100,200,200,25,5,100,1,1,100,1,1,0,//3f -511,1,1,1,MAX_LEVEL,MAX_LEVEL,1,9999,25,100,100,255,1,20,20,25,//4f +511,1,1,1,MAX_LEVEL,MAX_LEVEL,1,9999,25,200,200,255,1,20,20,25,//4f 25,1,1,255,25,25,255,255,25,255,255,255,255,255,255,255,//5f 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,//6f 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,//7f ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |