diff Game/Game.cpp @ 2566:30eb6dcac768

big spell fx overhaul
author a.parshin
date Wed, 20 May 2015 21:05:07 +0200
parents 65c97624c047
children d87bfbd3bb3b
line wrap: on
line diff
--- a/Game/Game.cpp	Wed May 20 15:12:33 2015 +0200
+++ b/Game/Game.cpp	Wed May 20 21:05:07 2015 +0200
@@ -1037,6 +1037,10 @@
                                     pIcons_LOD->RemoveTexturesPackFromTextureList();
                                     Game_OnEscape();
                                     continue;
+                                case SCREEN_SPELL_BOOK:
+                                    Game_OnEscape();
+                                    continue;
+
                                 default:
                                     __debugbreak(); // which GAME_MENU is this?
                                     Game_OnEscape();
@@ -1812,7 +1816,7 @@
                 }
                 if (!uActiveCharacter || (pPlayer2 = pPlayers[uActiveCharacter], pPlayer2->uTimeToRecovery))
                     continue;
-                _42777D_CastSpell_UseWand_ShootArrow(pPlayer2->uQuickSpell, uActiveCharacter - 1, 0, 0, uActiveCharacter);
+                _42777D_CastSpell_UseWand_ShootArrow((SPELL_TYPE)pPlayer2->uQuickSpell, uActiveCharacter - 1, 0, 0, uActiveCharacter);
                 continue;
             case UIMSG_CastSpell_Monster_Improvement:
             case UIMSG_CastSpell_Shoot_Monster://FireBlow, Lightning, Ice Lightning, Swarm, 
@@ -2191,13 +2195,13 @@
 
             case UIMSG_CastSpellFromBook:
                 if (pTurnEngine->turn_stage != TE_MOVEMENT)
-                    _42777D_CastSpell_UseWand_ShootArrow(uMessageParam, v199, 0, 0, 0);
+                    _42777D_CastSpell_UseWand_ShootArrow((SPELL_TYPE)uMessageParam, v199, 0, 0, 0);
                 continue;
 
             case UIMSG_SpellScrollUse:
                 __debugbreak();
                 if (pTurnEngine->turn_stage != TE_MOVEMENT)
-                    _42777D_CastSpell_UseWand_ShootArrow(uMessageParam, v199, 133, 1, 0);
+                    _42777D_CastSpell_UseWand_ShootArrow((SPELL_TYPE)uMessageParam, v199, 133, 1, 0);
                 continue;
             case UIMSG_SpellBookWindow:
                 if (pTurnEngine->turn_stage == TE_MOVEMENT)
@@ -2662,6 +2666,15 @@
     else
         pAudioPlayer->SetMusicVolume(pSoundVolumeLevels[uMusicVolimeMultiplier] * 64.0f);
 
+
+    extern bool all_spells;
+    if (all_spells)
+    {
+        for (int i = 0; i < 4; ++i)
+            for (int j = 0; j < 99; ++j)
+                pParty->pPlayers[i].spellbook.bHaveSpell[j] = true;
+    }
+
     while (2)
     {
         v16 = 1;