1
Fork 0

Compare commits

..

No commits in common. 'e850c56af8767e346bbca1bf533774f8e48823a2' and 'd4c94e1877be7b450d10865ad4868182e4e2cced' have entirely different histories.

  1. BIN
      Enderal - Forgotten Stories.esm
  2. 614
      Enderal - Forgotten Stories.esm.xml
  3. 3
      Enderal Credits.txt
  4. 24
      Enderal SE v2.0.12 Changelog.txt
  5. BIN
      SKSE/Plugins/EnderalSE.dll
  6. BIN
      SKSE/Plugins/EnderalSteam.dll
  7. 1
      SKSE/Plugins/EnderalVersion.ini
  8. BIN
      SKSE/Plugins/versionlib-1-6-629-0.bin
  9. BIN
      SKSE/Plugins/versionlib-1-6-640-0.bin
  10. BIN
      SKSE/Plugins/versionlib-1-6-659-0.bin
  11. BIN
      Skyrim.esm
  12. BIN
      Update.esm
  13. 5
      _build/loose_files.txt
  14. 3
      interface/credits.txt
  15. 3
      interface/credits_plru.txt
  16. BIN
      interface/dialoguemenu.swf
  17. BIN
      interface/translate_polish.txt
  18. BIN
      meshes/clutter/common/cratesmall01.nif
  19. BIN
      meshes/clutter/common/cratesmall01eeco.nif
  20. BIN
      meshes/clutter/common/cratesmall02.nif
  21. BIN
      meshes/clutter/common/cratesmall03.nif
  22. BIN
      meshes/clutter/common/cratesmall03eeco.nif
  23. BIN
      meshes/clutter/common/cratesmall04.nif
  24. BIN
      meshes/clutter/common/cratesmalllong01.nif
  25. BIN
      meshes/clutter/common/cratesmalllong01eeco.nif
  26. BIN
      meshes/clutter/common/cratesmalllong02.nif
  27. BIN
      meshes/clutter/common/cratesmalllong03.nif
  28. BIN
      meshes/clutter/common/cratesmalllong04.nif
  29. BIN
      meshes/clutter/common/cratesmalllong04eeco.nif
  30. BIN
      meshes/enderal/armor/ranger/rangercuirass_0.nif
  31. BIN
      meshes/enderal/armor/ranger/rangercuirass_1.nif
  32. BIN
      meshes/enderal/armor/ranger/rangercuirassf_0.nif
  33. BIN
      meshes/enderal/armor/ranger/rangercuirassf_1.nif
  34. BIN
      meshes/enderal/medievalpack/door01.nif
  35. BIN
      meshes/enderal/medievalpack/door02.nif
  36. BIN
      meshes/enderal/medievalpack/towerbase.nif
  37. BIN
      meshes/enderal/medievalpack/towerbasealt.nif
  38. BIN
      meshes/enderal/miscellaneous/streetlamhanging01.nif
  39. BIN
      meshes/enderal/miscellaneous/streetlamp.nif
  40. BIN
      meshes/enderal/miscellaneous/streetlamprod.nif
  41. BIN
      scripts/_00e_frozenmescript.pex
  42. BIN
      scripts/_00e_fs_nqr05_functions.pex
  43. BIN
      scripts/_00e_playersetupscript.pex
  44. BIN
      scripts/_00e_questfunctions.pex
  45. BIN
      scripts/_00e_theriantrophist_alchemycontrol.pex
  46. 2
      source/Enderal DLL/CMakeLists.txt
  47. 232
      source/Enderal DLL/src/CheckInvalidForms.h
  48. 74
      source/Enderal DLL/src/Main.cpp
  49. 38
      source/Enderal DLL/src/Util.h
  50. 22
      source/Enderal DLL/vcpkg-configuration.json
  51. 2
      source/Steam DLL/CMakeLists.txt
  52. 22
      source/Steam DLL/src/Achievements.cpp
  53. 6
      source/Steam DLL/src/EventListener.cpp
  54. 12
      source/Steam DLL/src/Main.cpp
  55. 2
      source/Steam DLL/src/Papyrus.cpp
  56. 4
      source/Steam DLL/src/PapyrusFunctions.h
  57. 2
      source/Steam DLL/src/Util.h
  58. 22
      source/Steam DLL/vcpkg-configuration.json
  59. 2
      source/Steam DLL/vcpkg.json
  60. 14
      source/scripts/_00e_frozenmescript.psc
  61. 11
      source/scripts/_00e_fs_nqr05_functions.psc
  62. 16
      source/scripts/_00e_playersetupscript.psc
  63. 51
      source/scripts/_00e_questfunctions.psc
  64. 4
      source/scripts/_00e_theriantrophist_alchemycontrol.psc
  65. BIN
      textures/architecture/solitude/sfloorhouse01_vanilla.dds
  66. BIN
      textures/architecture/solitude/sfloorhouse01_vanilla_n.dds

Binary file not shown.

@ -2,10 +2,10 @@
<plugin version="0.7.4">
<TES4 flags="0x00000081" id="00000000" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0000">
<HEDR>
<struct version="1.70000005" numRecords="42922" nextObjectID="00015977" />
<struct version="1.70000005" numRecords="42939" nextObjectID="00015977" />
</HEDR>
<CNAM>Niseam</CNAM>
<SNAM>Enderal: Forgotten Stories (Special Edition) 2.0.12.3</SNAM>
<SNAM>Enderal: Forgotten Stories (Special Edition) 2.0.12</SNAM>
<MAST>Skyrim.esm</MAST>
<DATA>0</DATA>
<MAST>Update.esm</MAST>
@ -18306,6 +18306,7 @@
<TINC>000e6e16</TINC>
<TINV>1</TINV>
<TIRS>1139</TIRS>
<RNAM>00000019</RNAM>
</RACE>
<RACE flags="0x00080000" id="0004e785" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0000">
<EDID>CowRace</EDID>
@ -137600,6 +137601,34 @@
</FLOR>
</GRUP>
<GRUP label="FURN" groupType="0" day="9" month="45" lastUserID="0" currentUserID="0" unknown="0x00000000">
<FURN flags="0x10000000" id="0001a2ad" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x000f">
<EDID>CraftingBlacksmithAnvil</EDID>
<OBND>
<struct min="-32,-10,-33" max="50,94,65" />
</OBND>
<FULL>7607</FULL>
<MODL>Furniture\Clutter\BlacksmithAnvil.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="1879623364" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="1253574659" textureType="0x00736464" unknown02="1969867521" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>0006e9c7,00088105,000a56d8,0004f680,000eb60b</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1207959553</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="10" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="00043282" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0000">
<EDID>_00E_Placeable_CraftingAlchemyWorkbenchNEW</EDID>
<VMAD version="5" format="2">
@ -137752,6 +137781,587 @@
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="00068adb" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x000c">
<EDID>CraftingCookingFireSpit</EDID>
<OBND>
<struct min="-129,-55,-34" max="123,31,109" />
</OBND>
<FULL>7601</FULL>
<MODL>Furniture\FireSpitCooking.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="3594530037" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="3426394783" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="1379563085" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="1805171391" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="2699304643" textureType="0x00736464" unknown02="1558007136" />
<unknownStruct unknown01="2381386958" textureType="0x00736464" unknown02="1558007136" />
<unknownStruct unknown01="2216632689" textureType="0x00736464" unknown02="1558007136" />
<unknownStruct unknown01="3982807346" textureType="0x00736464" unknown02="1558007136" />
<unknownStruct unknown01="3389168381" textureType="0x00736464" unknown02="1558007136" />
<unknownStruct unknown01="652288620" textureType="0x00736464" unknown02="1558007136" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>000a56d8,0006e9c7,00068ada,000a5cb3,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="255" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="0006e9c2" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0007">
<EDID>CraftingBlacksmithSharpeningWheel</EDID>
<OBND>
<struct min="-31,-9,-34" max="32,143,68" />
</OBND>
<FULL>7600</FULL>
<MODL>Furniture\Clutter\BlacksmithSharpeningWheelAnimating.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="3193485295" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="466254480" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="3723664411" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="3349595331" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="1411829315" textureType="0x00736464" unknown02="3929839416" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>0006e9c7,00088108,000a56d8,0004f6fd,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="2" actorValueSkill="10" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="000727a1" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x000c">
<EDID>CraftingTanningRackMarker</EDID>
<OBND>
<struct min="-56,-10,-34" max="56,112,120" />
</OBND>
<FULL>7599</FULL>
<MODL>Furniture\TanningRackMarker.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="1328996372" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="428701663" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="3987547591" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="1486255527" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="4130591688" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="2345674207" textureType="0x00736464" unknown02="314452046" />
</unknown4>
</MODT>
<KSIZ>4</KSIZ>
<KWDA>000727a0,000a56d8,0006e9c7,0007866a</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="255" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="0009c6ce" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0001">
<EDID>CraftingSmelterMarker1</EDID>
<OBND>
<struct min="-229,-149,-34" max="212,305,254" />
</OBND>
<FULL>7598</FULL>
<MODL>Furniture\SmelterMarker.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="4099871861" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="1662055531" textureType="0x00736464" unknown02="3075339569" />
<unknownStruct unknown01="2884692669" textureType="0x00736464" unknown02="3075339569" />
<unknownStruct unknown01="2205743547" textureType="0x00736464" unknown02="2756990635" />
<unknownStruct unknown01="1417261943" textureType="0x00736464" unknown02="2756990635" />
<unknownStruct unknown01="4248776144" textureType="0x00736464" unknown02="3854867874" />
<unknownStruct unknown01="1406036369" textureType="0x00736464" unknown02="3854867874" />
<unknownStruct unknown01="2696983751" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="261620559" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="2860817006" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3893345188" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3756742260" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="3842979269" textureType="0x00736464" unknown02="3929839416" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>000a56d8,0006e9c7,0009c6c3,000a5cce,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="255" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="000bad0c" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0002">
<EDID>CraftingAlchemyWorkbench</EDID>
<OBND>
<struct min="-60,-10,-34" max="60,123,112" />
</OBND>
<FULL>7597</FULL>
<MODL>Furniture\AlchemyWorkbench.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="2900664440" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="2786718006" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="1643990641" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="854384084" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="2317324634" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="3134883325" textureType="0x00736464" unknown02="993209382" />
<unknownStruct unknown01="2066803896" textureType="0x00736464" unknown02="993209382" />
<unknownStruct unknown01="2139825103" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="2029396392" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="4222490580" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3756742260" textureType="0x00736464" unknown02="861219928" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>0002a40b,0004f6e6,0006e9c7,000a56d8,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="5" actorValueSkill="16" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="000bad0d" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0000">
<EDID>CraftingEnchantingWorkbench</EDID>
<OBND>
<struct min="-88,-10,-34" max="88,160,166" />
</OBND>
<FULL>7596</FULL>
<MODL>Furniture\EnchantingWorkbench.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5>49</unknown5>
<unknown4>
<unknownStruct unknown01="596376629" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="750707863" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="239999942" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="154940878" textureType="0x00736464" unknown02="993209382" />
<unknownStruct unknown01="4237422690" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="2520767592" textureType="0x00736464" unknown02="2531152908" />
<unknownStruct unknown01="3043550379" textureType="0x00736464" unknown02="2531152908" />
<unknownStruct unknown01="2006098786" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="3109427725" textureType="0x00736464" unknown02="664767518" />
<unknownStruct unknown01="3756340133" textureType="0x00736464" unknown02="664767518" />
<unknownStruct unknown01="2788788993" textureType="0x00736464" unknown02="664767518" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>0006e2a3,000a56d8,0006e9c7,0004f6dd,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="3" actorValueSkill="23" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="000bf9e1" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x000c">
<EDID>CraftingBlackSmithForgeWR</EDID>
<VMAD version="5" format="2">
<script name="BlacksmithForge01" status="0">
<property name="FlameDamage" type="1" status="1">
<object formID="000153bd" alias="65535" unused="0x0000" />
</property>
</script>
</VMAD>
<OBND>
<struct min="-154,-157,-38" max="137,344,260" />
</OBND>
<FULL>7595</FULL>
<MODL>Furniture\BlacksmithForgeMarkerWR.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5>4</unknown5>
<unknown4>
<unknownStruct unknown01="3249903863" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="533228140" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="2921338215" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="4290908030" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3756742260" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="2984945680" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="2618504884" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="3967850257" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="206929423" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3743753636" textureType="0x00736464" unknown02="993209382" />
<unknownStruct unknown01="4099871861" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3569054534" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="1336364341" textureType="0x00736464" unknown02="3232065151" />
<unknownStruct unknown01="911814939" textureType="0x00736464" unknown02="3232065151" />
<unknownStruct unknown01="4130591688" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="2345674207" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="2532311636" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="2817548872" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="1308762508" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="1282835679" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="1685963155" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="556155462" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="1639329509" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="1760978452" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="4222490580" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="1879623364" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="1253574659" textureType="0x00736464" unknown02="1969867521" />
</unknown4>
</MODT>
<KSIZ>6</KSIZ>
<KWDA>000a56d8,0006e9c7,000cae0a,0004f680,00088105,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="10" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="000cae0b" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0003">
<EDID>CraftingBlackSmithForge</EDID>
<VMAD version="5" format="2">
<script name="BlacksmithForge01" status="0">
<property name="FlameDamage" type="1" status="1">
<object formID="000153bd" alias="65535" unused="0x0000" />
</property>
</script>
</VMAD>
<OBND>
<struct min="-161,-92,-38" max="137,344,260" />
</OBND>
<FULL>7594</FULL>
<MODL>Furniture\BlacksmithForgeMarker.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5>4</unknown5>
<unknown4>
<unknownStruct unknown01="3249903863" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="533228140" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="2921338215" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="4290908030" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3756742260" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="2984945680" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="2618504884" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="3967850257" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="206929423" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3743753636" textureType="0x00736464" unknown02="993209382" />
<unknownStruct unknown01="4099871861" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3569054534" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="1685963155" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="556155462" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="2532311636" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="2817548872" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="4130591688" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="2345674207" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="3437121445" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="2721764791" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="3987547591" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="1486255527" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="193437980" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="3499083872" textureType="0x00736464" unknown02="314452046" />
<unknownStruct unknown01="4222490580" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="4113219352" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="1324142250" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="925922830" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="1879623364" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="1253574659" textureType="0x00736464" unknown02="1969867521" />
</unknown4>
</MODT>
<KSIZ>6</KSIZ>
<KWDA>000a56d8,0006e9c7,000cae0a,0004f680,00088105,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="10" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="000d54ff" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0002">
<EDID>CraftingAlchemyWorkbenchTabletop</EDID>
<OBND>
<struct min="-32,-10,-34" max="32,82,87" />
</OBND>
<FULL>7593</FULL>
<MODL>Furniture\AlchemyWorkstation.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="2900664440" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="2786718006" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="854384084" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="2317324634" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="2066803896" textureType="0x00736464" unknown02="993209382" />
<unknownStruct unknown01="3134883325" textureType="0x00736464" unknown02="993209382" />
<unknownStruct unknown01="2139825103" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="2029396392" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="4222490580" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3756742260" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="1643990641" textureType="0x00736464" unknown02="3929839416" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>0002a40b,0004f6e6,0006e9c7,000a56d8,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="5" actorValueSkill="16" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="000d5501" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0002">
<EDID>CraftingEnchantingWorkbenchTabletop</EDID>
<OBND>
<struct min="-41,-10,-34" max="41,100,139" />
</OBND>
<FULL>7592</FULL>
<MODL>Furniture\EnchantingWorkStation.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5>49</unknown5>
<unknown4>
<unknownStruct unknown01="596376629" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="750707863" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="239999942" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="154940878" textureType="0x00736464" unknown02="993209382" />
<unknownStruct unknown01="4237422690" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="2006098786" textureType="0x00736464" unknown02="3659922111" />
<unknownStruct unknown01="3109427725" textureType="0x00736464" unknown02="664767518" />
<unknownStruct unknown01="3756340133" textureType="0x00736464" unknown02="664767518" />
<unknownStruct unknown01="2788788993" textureType="0x00736464" unknown02="664767518" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>000a56d8,0006e9c7,0006e2a3,0004f6dd,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="3" actorValueSkill="23" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="000d932f" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x000d">
<EDID>CraftingBlacksmithArmorWorkbench</EDID>
<OBND>
<struct min="-71,-84,-34" max="45,79,117" />
</OBND>
<FULL>7591</FULL>
<MODL>furniture\_Rblacksmithworkbench01.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="4256002273" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="2152285176" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="359208431" textureType="0x00736464" unknown02="1969867521" />
<unknownStruct unknown01="588387173" textureType="0x00736464" unknown02="1969867521" />
</unknown4>
</MODT>
<KSIZ>6</KSIZ>
<KWDA>000a56d8,0006e9c7,000d932e,000fd0e1,000adb78,0004f6fd</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="7" actorValueSkill="10" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="001010b3" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0009">
<EDID>CraftingCookingPotSm</EDID>
<OBND>
<struct min="-32,-10,-34" max="32,64,94" />
</OBND>
<FULL>7590</FULL>
<MODL>Furniture\SmallCookingPot.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="4099871861" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3569054534" textureType="0x00736464" unknown02="861219928" />
<unknownStruct unknown01="4205593030" textureType="0x00736464" unknown02="3929839416" />
<unknownStruct unknown01="3594530037" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="3426394783" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="1379563085" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="1805171391" textureType="0x00736464" unknown02="2460462734" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>000a56d8,0006e9c7,001010b2,000a5cb3,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="255" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="00104110" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0008">
<EDID>CraftingCookingPotLG</EDID>
<OBND>
<struct min="-32,-10,-34" max="32,64,111" />
</OBND>
<FULL>7589</FULL>
<MODL>Furniture\LargeCookingPot.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="3594530037" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="3426394783" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="1379563085" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="1805171391" textureType="0x00736464" unknown02="2460462734" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>000a56d8,0006e9c7,001010b2,000a5cb3,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="255" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="00108230" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0007">
<EDID>CraftingCookingPotSmNoHandle</EDID>
<OBND>
<struct min="-32,-10,-34" max="32,64,64" />
</OBND>
<FULL>7588</FULL>
<MODL>Furniture\SmallCookingPotNoHandle.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="3594530037" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="3426394783" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="1379563085" textureType="0x00736464" unknown02="2460462734" />
<unknownStruct unknown01="1805171391" textureType="0x00736464" unknown02="2460462734" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>000a56d8,0006e9c7,001010b2,000a5cb3,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="255" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="0010bfe3" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0005">
<EDID>CraftingCookingPotInvisible</EDID>
<OBND>
<struct min="-32,-10,-34" max="32,64,64" />
</OBND>
<MODL>Furniture\SmallCookingPotNoHandleInv.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4>
<unknownStruct unknown01="3594530037" textureType="0x00736464" unknown02="2906384854" />
<unknownStruct unknown01="3426394783" textureType="0x00736464" unknown02="2906384854" />
</unknown4>
</MODT>
<KSIZ>5</KSIZ>
<KWDA>000a56d8,0006e9c7,001010b2,000a5cb3,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>2</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="1" actorValueSkill="255" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x00000000" id="00133d52" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0001">
<EDID>CraftingAlchemyWorkbenchTabletopNoAct</EDID>
<OBND>
<struct min="-32,-10,-34" max="32,82,87" />
</OBND>
<MODL>Furniture\AlchemyWorkstation.nif</MODL>
<MODT count="2">
<unknown3></unknown3>
<unknown5></unknown5>
<unknown4 />
</MODT>
<KSIZ>5</KSIZ>
<KWDA>000a56d8,0002a40b,0006e9c7,0004f6e6,000fd0e1</KWDA>
<PNAM>0</PNAM>
<FNAM>0</FNAM>
<KNAM>00013794</KNAM>
<MNAM>1073741825</MNAM>
<WBDT>
<struct workbench="5" actorValueSkill="16" />
</WBDT>
<FNPR>
<struct flagsMarkerType="0x0001" flagsMarkerEntryPoint="0x0002" />
</FNPR>
</FURN>
<FURN flags="0x20000000" id="00140f38" day="0" month="0" lastUserID="0" currentUserID="0" version="44" unknown="0x0000">
<EDID>_00E_Placeable_CommonChair01NEW</EDID>
<VMAD version="5" format="2">

@ -144,7 +144,7 @@ Zearderes
TRANSLATION - POLISH VERSION
led by
Anna Łagowska (anathema83/my_summertime)
Anna Łagowska (anathema88/my_summertime)
Szymon "Herob" Wrzos
Bartłomiej "Święty" Jabłoński
@ -755,6 +755,7 @@ Savior's Pants by Sam04956
Bowlegged jump animation Fix by mirap
Magic Runes HD by HXP
XP32 Maximum Skeleton Extended - XPMSE by Groovtama
Armor Addon Fix for Qyranians and Arazealeans by SatansFetusLegs
Vanilla Script (micro)Optimizations by subhuman0100
Unnecessarily Fixed Fixed Dragon Stalking Fix by tarlazo and KirbonatedBeverage

@ -6,30 +6,6 @@ See https://en.wiki.sureai.net/Enderal:Patch for the list of official patches up
Beware, spoilers ahead!
2.0.12.4 (2022-09-30)
- Skyrim SE 1.6.640 (Steam) and 1.6.659 (GOG) support.
- Fixed the dialog quit popup appearing in non-locked conversations.
- Making a Wolf Blood in Call of the Hunt led to the objective to drink Chymikum, and vice versa.
2.0.12.3 (2022-09-16)
- Excluded a few distant cells from testing, fixes compatibility with SkyVRaan.
- Reverted dialoguemenu.swf to the pre-2.0.12 version and replaced quest journal in locked dialogs with a quit prompt. Discarded solution caused decreased input delay in menu mode and was making scrolling unusable.
- Reverted the Armor Addon Fix for Qyranians and Arazealeans, was enabling to equip two necklaces and two rings.
- NPCs, shattered after being frozen with Arctic Wind, were respawning in frozen state.
gavrant:
- Fixed a neck hole in Vagrant Dress.
- Mesh improvements in meshes/clutter/common/cratesmall*.nif - textures, normals, geometry issues.
2.0.12.2 (2022-09-12)
- The Father's arrival scene might fail to properly start (reported by KappaPride).
2.0.12.1 (2022-09-11)
- Fixed inability to create quest potions if 2.0.12 was installed during certain quest stages.
2.0.12 (2022-09-08)
- Added Polish translation by Anna Łagowska, Szymon Wrzos, Bartłomiej Jabłoński, and contributors.
- Fixed inability to open quest journal in locked dialogs. Modded dialoguemenu.swf requires re-patching to use this fix.

BIN
SKSE/Plugins/EnderalSE.dll (Stored with Git LFS)

Binary file not shown.

BIN
SKSE/Plugins/EnderalSteam.dll (Stored with Git LFS)

Binary file not shown.

@ -1 +0,0 @@
version = 2.0.12.4

BIN
SKSE/Plugins/versionlib-1-6-629-0.bin (Stored with Git LFS)

Binary file not shown.

BIN
SKSE/Plugins/versionlib-1-6-640-0.bin (Stored with Git LFS)

Binary file not shown.

BIN
SKSE/Plugins/versionlib-1-6-659-0.bin (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,6 +1,6 @@
Enderal Credits.txt
Report a bug in Enderal SE.url
Enderal SE v2.0.12.4 Changelog.txt
Enderal SE v2.0.12 Changelog.txt
Enderal - Forgotten Stories.esm
Enderal - Forgotten Stories.ini
E - Update.bsa
@ -30,11 +30,8 @@ Scripts\SKI_FavoritesManager.pex
Scripts\SKI_ConfigMenu.pex
SKSE\Plugins\EnderalSE.dll
SKSE\Plugins\EnderalSE.ini
SKSE\Plugins\EnderalVersion.ini
SKSE\Plugins\version-1-5-97-0.bin
SKSE\Plugins\versionlib-1-6-353-0.bin
SKSE\Plugins\versionlib-1-6-640-0.bin
SKSE\Plugins\versionlib-1-6-659-0.bin
SKSE\SKSE.ini
Skyrim.esm
Update.esm

@ -145,7 +145,7 @@ Zearderes
TRANSLATION - POLISH VERSION
led by
Anna Łagowska (anathema83/my_summertime)
Anna Łagowska (anathema88/my_summertime)
Szymon "Herob" Wrzos
Bartłomiej "Święty" Jabłoński
@ -756,6 +756,7 @@ Savior's Pants by Sam04956
Bowlegged jump animation Fix by mirap
Magic Runes HD by HXP
XP32 Maximum Skeleton Extended - XPMSE by Groovtama
Armor Addon Fix for Qyranians and Arazealeans by SatansFetusLegs
Vanilla Script (micro)Optimizations by subhuman0100
Unnecessarily Fixed Fixed Dragon Stalking Fix by tarlazo and KirbonatedBeverage

@ -145,7 +145,7 @@ Zearderes
TRANSLATION - POLISH VERSION
led by
Anna Łagowska (anathema83/my_summertime)
Anna Łagowska (anathema88/my_summertime)
Szymon "Herob" Wrzos
Bartłomiej "Święty" Jabłoński
@ -756,6 +756,7 @@ Savior's Pants by Sam04956
Bowlegged jump animation Fix by mirap
Magic Runes HD by HXP
XP32 Maximum Skeleton Extended - XPMSE by Groovtama
Armor Addon Fix for Qyranians and Arazealeans by SatansFetusLegs
Vanilla Script (micro)Optimizations by subhuman0100
Unnecessarily Fixed Fixed Dragon Stalking Fix by tarlazo and KirbonatedBeverage

BIN
interface/dialoguemenu.swf (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
meshes/clutter/common/cratesmall01.nif (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
meshes/clutter/common/cratesmall02.nif (Stored with Git LFS)

Binary file not shown.

BIN
meshes/clutter/common/cratesmall03.nif (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

BIN
meshes/clutter/common/cratesmall04.nif (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
meshes/enderal/medievalpack/door01.nif (Stored with Git LFS)

Binary file not shown.

BIN
meshes/enderal/medievalpack/door02.nif (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -6,7 +6,7 @@ message("Using toolchain file ${CMAKE_TOOLCHAIN_FILE}.")
########################################################################################################################
project(
EnderalSE
VERSION 1.1.0
VERSION 1.0.0
DESCRIPTION "Enderal SE DLL"
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)

@ -81,7 +81,7 @@ inline void CheckSkyrimCells()
// FormIDs of all Skyrim cells.
// 9 of them are commented out, because they are cells in Enderal as well.
uint32_t formids[574] = {
uint32_t formids[582] = {
0x0004B8FB,
0x000352C7,
0x000161E7,
@ -95,7 +95,7 @@ inline void CheckSkyrimCells()
0x000A8B23,
0x000918D3,
0x0004761B,
//0x0003CBCB,
0x0003CBCB,
0x00016A07,
0x00015233,
0x000138CF,
@ -143,7 +143,7 @@ inline void CheckSkyrimCells()
0x000161F1,
0x00015251,
0x00013A7D,
//0x00030442,
0x00030442,
0x000152AA,
0x00013A72,
0x000571B4,
@ -326,7 +326,7 @@ inline void CheckSkyrimCells()
0x000C9DAB,
0x000A1793,
0x00094BAB,
//0x00030313,
0x00030313,
0x00016DFF,
0x000152A7,
0x0007FCDD,
@ -468,7 +468,7 @@ inline void CheckSkyrimCells()
0x00015237,
0x00077289,
0x00075669,
//0x0002FD85,
0x0002FD85,
0x000165B5,
0x0003FC8F,
0x000165AB,
@ -542,7 +542,7 @@ inline void CheckSkyrimCells()
0x0001F358,
0x00016780,
0x00015268,
//0x0002F83E,
0x0002F83E,
0x0002529E,
0x00016776,
0x000161FE,
@ -599,7 +599,7 @@ inline void CheckSkyrimCells()
0x00015267,
0x001052FD,
0x00104871,
//0x0002F83D,
0x0002F83D,
0x00016775,
0x000152C1,
0x0001525D,
@ -632,7 +632,7 @@ inline void CheckSkyrimCells()
0x0009CCDE,
//0x0007284E,
0x00067F2A,
//0x0003016A,
0x0003016A,
0x000198DE,
0x000169FE,
0x000165B2,
@ -674,7 +674,7 @@ inline void CheckSkyrimCells()
0x00027D1C
};
for (int i = 0; i < 574; i++) {
for (int i = 0; i < 582; i++) {
const auto* form = RE::TESForm::LookupByID(formids[i]);
if (form && form->Is(RE::FormType::Cell)) {
logger::warn("Detected invalid cell: {:08X}", formids[i]);
@ -1331,217 +1331,3 @@ inline void CheckEnderalNPCs()
}
}
}
inline void CheckEnderalActivators()
{
// Base forms of Enderal activators, having collisions with Skyrim
uint32_t formids[46] = {
0x20A1C,
0x23AB1,
0x36739,
0x3BCA5,
0x3BCB3,
0x3C570,
0x3C57F,
0x43BEB,
0x43BEE,
0x447D3,
0x469F6,
0x469F8,
0x469FA,
0x469FC,
0x46ADE,
0x46AEA,
0x69F89,
0x69F8C,
0x6A00D,
0x6A00E,
0x6A00F,
0x6A010,
0x6A011,
0x6A013,
0x6A016,
0x6A024,
0x6A025,
0x6A026,
0x6A027,
0x6A029,
0x6A02A,
0x6A02B,
0x6A02C,
0x6A02D,
0x6A02E,
0x6A030,
0x6A032,
0x6A033,
0x77358,
0xADC71,
0xB35AB,
0xB35B4,
0xB35B5,
0xB6282,
0x106644,
0x1080DA
};
for (int i = 0; i < 46; i++) {
const auto* form = RE::TESForm::LookupByID(formids[i]);
if (!form || !form->Is(RE::FormType::Activator)) {
logger::warn("Detected invalid activator: {:08X}", formids[i]);
NotifyInvalidForm(form);
}
}
}
inline void CheckEnderalStatics()
{
// Base forms of Enderal statics, having collisions with Skyrim
uint32_t formids[138] = {
0x15C6F,
0x1725C,
0x20BC9,
0x20BDF,
0x23E46,
0x2E6F8,
0x2EC26,
0x2EE3F,
0x31949,
0x3194B,
0x3195B,
0x31974,
0x327AD,
0x328D7,
0x33F45,
0x34944,
0x34946,
0x34BCD,
0x36747,
0x36775,
0x36779,
0x3700B,
0x3742A,
0x37667,
0x37668,
0x37C01,
0x3A1C2,
0x3BCE3,
0x3BCE7,
0x3C58A,
0x3ECAA,
0x41449,
0x4B258,
0x4B25A,
0x565F0,
0x6717B,
0x6717C,
0x6717D,
0x69524,
0x69525,
0x69526,
0x69527,
0x6A034,
0x6A035,
0x6A036,
0x6A037,
0x6A038,
0x6A039,
0x6A03A,
0x6A03B,
0x6A03C,
0x6A03D,
0x6A03E,
0x6A03F,
0x6A040,
0x6A041,
0x6A042,
0x6A045,
0x6A046,
0x6A047,
0x6A048,
0x6A049,
0x6A04A,
0x6A04B,
0x6A04C,
0x6A04D,
0x6A04F,
0x6A050,
0x6A051,
0x6A052,
0x6A053,
0x6A054,
0x6A057,
0x6A058,
0x6A059,
0x6A05A,
0x6A094,
0x6D230,
0x6D233,
0x6D235,
0x6D23F,
0x6D24D,
0x6D253,
0x6D257,
0x6FEEA,
0x6FEED,
0x6FEEE,
0x6FEEF,
0x6FEF0,
0x6FEF1,
0x6FEF2,
0x6FEF3,
0x6FEF4,
0x6FEF5,
0x6FEF6,
0x6FEF7,
0x6FEF8,
0x6FEF9,
0x6FEFA,
0x6FEFD,
0x904B1,
0x904B2,
0x904B3,
0x904B4,
0x904B5,
0x904B6,
0x904B7,
0x904B8,
0x904B9,
0x904BA,
0x904BB,
0x904BC,
0x904BD,
0x904BE,
0x904BF,
0x904C0,
0xDAAF3,
0xDAAF5,
0xDAAF8,
0xDAAFC,
0xDAAFE,
0xDAB01,
0xE49F3,
0xE4A12,
0xE77BF,
0xE77C0,
0xE77C1,
0xE77C2,
0xE77C3,
0xE77C4,
0xE77C5,
0xE77C6,
0xE77C7,
0xE77C8,
0xE77C9,
0xE77CA,
0xE77CB,
0xE77CF
};
for (int i = 0; i < 138; i++) {
const auto* form = RE::TESForm::LookupByID(formids[i]);
if (!form || !form->Is(RE::FormType::Static)) {
logger::warn("Detected invalid static: {:08X}", formids[i]);
NotifyInvalidForm(form);
}
}
}

@ -34,8 +34,18 @@ namespace {
void InitializeMessaging()
{
GetMessagingInterface()->RegisterListener([](MessagingInterface::Message* message) {
if (message->type == MessagingInterface::kPostLoad) {
if (DataFileExists("Dawnguard.esm") || DataFileExists("Dragonborn.esm") || DataFileExists("HearthFires.esm") || DataFileExists("Update.esm")) {
MessageBoxW(NULL, L"Skyrim DLCs are incompatible with Enderal.", L"Error", MB_OK | MB_ICONERROR);
exit(EXIT_FAILURE);
}
if (DataFileExists("Unofficial Skyrim Special Edition Patch.esp")) {
MessageBoxW(NULL, L"Unofficial Skyrim Special Edition Patch is incompatible with Enderal.", L"Error", MB_OK | MB_ICONERROR);
exit(EXIT_FAILURE);
}
CheckCCMods();
if (g_settings.at("StayAtSystemPage")) {
if (const auto pluginInfo = GetLoadInterface()->GetPluginInfo("StayAtSystemPage"); pluginInfo) {
MessageBoxW(NULL, L"Stay At The System Page is already included in Enderal, please, disable it.", L"Error", MB_OK | MB_ICONERROR);
@ -49,6 +59,11 @@ namespace {
}
}
SetINISettings();
EventListener::Install();
} else if (message->type == MessagingInterface::kPostPostLoad) {
SKSE::GetModCallbackEventSource()->AddEventSink(EventListener::GetSingleton());
} else if (message->type == MessagingInterface::kDataLoaded) {
const auto dataHandler = RE::TESDataHandler::GetSingleton();
if (dataHandler) {
@ -62,37 +77,21 @@ namespace {
}
}
if (!RE::BSScript::Internal::VirtualMachine::GetSingleton()->TypeIsValid("UI")) {
RE::DebugMessageBox("Unable to detect SKSE scripts, make sure SKSE is properly installed.");
}
bool bScripts = RE::BSScript::Internal::VirtualMachine::GetSingleton()->TypeIsValid("PRKF__00E_CraftQuestPotionPe_0300146D");
bool bInterface = RE::BSResourceNiBinaryStream("interface/00e_heromenu.swf").good();
if (!bScripts || !bInterface) {
RE::DebugMessageBox("E - Misc.bsa is not loaded or is outdated. Make sure Enderal - Forgotten Stories.esm is enabled and revalidate your files.");
}
bool bSounds = RE::BSResourceNiBinaryStream("sound/fx/enderal/laughingchild.wav").good();
if (!bSounds) {
RE::DebugMessageBox("E - Sounds.bsa is not loaded. Make sure Enderal - Forgotten Stories.esm is enabled and revalidate your files.");
}
bool bVoices = RE::BSResourceNiBinaryStream("sound/voice/enderal - forgotten stories.esm/vt_calia/fs_mq18c__0002a4ed_1.fuz").good();
if (!bVoices) {
RE::DebugMessageBox("L - Voices.bsa is not loaded. Make sure Enderal - Forgotten Stories.esm is enabled and revalidate your files.");
}
bool bMeshes = RE::BSResourceNiBinaryStream("meshes/enderal/loadscreenart/loadscreenundercity.nif").good();
bool bTextures = RE::BSResourceNiBinaryStream("textures/enderal/forgottenstories/theriantrophist/theriantrophistrecipe.dds").good();
bool bInterface = RE::BSResourceNiBinaryStream("interface/00e_heromenu.swf").good();
if (!bMeshes) {
RE::DebugMessageBox("E - Meshes.bsa is not loaded. Make sure Enderal - Forgotten Stories.esm is enabled and revalidate your files.");
if (!bScripts || !bSounds || !bVoices || !bMeshes || !bTextures || !bInterface) {
MessageBoxW(NULL, L"One or more of Enderal's BSA archives are not loaded. Make sure Enderal - Forgotten Stories.esm is enabled and revalidate your files.", L"Error", MB_OK | MB_ICONERROR);
exit(EXIT_FAILURE);
}
CheckIncompatibleMods();
} else if (message->type == MessagingInterface::kPreLoadGame) {
//
} else if ((message->type == MessagingInterface::kPostLoadGame && message->data) || message->type == MessagingInterface::kNewGame) {
NewGameCount(true);
}
@ -102,31 +101,6 @@ namespace {
SKSEPluginLoad(const LoadInterface* skse) {
std::string filenames[4] = {
"fs.dll",
"fs_se.dll",
"fs_skse_functions.dll",
"FlatMapMarkersEnderal.dll"
};
for (int i = 0; i < 4; i++) {
if (std::filesystem::exists(std::format("Data\\SKSE\\Plugins\\{}", filenames[i]))) {
MessageBoxA(NULL, std::format("Found a leftover file from a previous version of Enderal SE. Please, delete Data\\SKSE\\Plugins\\{}.", filenames[i]).c_str(), "Error", MB_OK | MB_ICONERROR);
exit(EXIT_FAILURE);
}
}
if (DataFileExists("Dawnguard.esm") || DataFileExists("Dragonborn.esm") || DataFileExists("HearthFires.esm") || DataFileExists("Update.esm")) {
MessageBoxW(NULL, L"Skyrim DLCs are incompatible with Enderal.", L"Error", MB_OK | MB_ICONERROR);
exit(EXIT_FAILURE);
}
if (DataFileExists("Unofficial Skyrim Special Edition Patch.esp")) {
MessageBoxW(NULL, L"Unofficial Skyrim Special Edition Patch is incompatible with Enderal.", L"Error", MB_OK | MB_ICONERROR);
exit(EXIT_FAILURE);
}
CheckCCMods();
GetLoadInterface(skse);
InitializeLogging();
@ -140,8 +114,6 @@ SKSEPluginLoad(const LoadInterface* skse) {
Init(skse);
InitializeMessaging();
SKSE::GetModCallbackEventSource()->AddEventSink(EventListener::GetSingleton());
GetPapyrusInterface()->Register(Papyrus::Bind);
if (!IsVR()) {

@ -2,7 +2,6 @@
#include "CheckInvalidForms.h"
#include <SimpleIni.h>
#include <regex>
inline const SKSE::LoadInterface* GetLoadInterface(const SKSE::LoadInterface* loadInterface = nullptr)
{
@ -34,26 +33,31 @@ inline bool IsVR()
return GetLoadInterface()->RuntimeVersion() == SKSE::RUNTIME_VR_1_4_15 || GetLoadInterface()->RuntimeVersion() == SKSE::RUNTIME_LATEST_VR;
}
inline void CheckIncompatibleMods()
inline void SetINISettings()
{
bool bPrinted = false;
if (std::filesystem::exists("Data\\SKSE\\Plugins\\EnderalVersion.ini")) {
CSimpleIniA ini;
ini.SetUnicode(false);
ini.SetMultiKey(false);
ini.LoadFile("Data/SKSE/Plugins/EnderalVersion.ini");
const char* version = ini.GetValue("", "version", "2.0.x");
std::regex version_expr("^[\\d\\.]+$");
if (std::regex_match(version, version_expr)) {
RE::ConsoleLog::GetSingleton()->Print(std::format("Loaded SureAI's Enderal: Forgotten Stories | Special Edition v{} by Eddoursul and contributors", version).c_str());
bPrinted = true;
}
auto* setting = RE::INIPrefSettingCollection::GetSingleton()->GetSetting("bFreebiesSeen:General");
if (setting && !setting->GetBool()) {
setting->data.b = true;
RE::INIPrefSettingCollection::GetSingleton()->WriteSetting(setting);
}
if (!bPrinted) {
RE::ConsoleLog::GetSingleton()->Print("Loaded SureAI's Enderal: Forgotten Stories | Special Edition v2.0.x by Eddoursul and contributors");
setting = RE::INISettingCollection::GetSingleton()->GetSetting("bInvalidateOlderFiles:Archive");
if (setting && !setting->GetBool()) {
setting->data.b = true;
RE::INISettingCollection::GetSingleton()->WriteSetting(setting);
}
setting = RE::INISettingCollection::GetSingleton()->GetSetting("bModManagerMenuEnabled:General");
if (setting && setting->GetBool()) {
setting->data.b = false;
RE::INISettingCollection::GetSingleton()->WriteSetting(setting);
}
}
inline void CheckIncompatibleMods()
{
RE::ConsoleLog::GetSingleton()->Print("Loaded SureAI's Enderal: Forgotten Stories | Special Edition v2.0.12 by Eddoursul and contributors");
CheckBlacklist();
CheckWorldspaces();
CheckUnconvertedMap();
@ -61,8 +65,6 @@ inline void CheckIncompatibleMods()
CheckEnderalCells();
CheckEnderalContainers();
CheckEnderalNPCs();
CheckEnderalActivators();
CheckEnderalStatics();
}
inline void LoadINI(std::map<std::string, bool>* settings, const char* iniPath)

@ -1,15 +1,15 @@
{
"registries": [
{
"kind": "git",
"repository": "https://gitlab.com/colorglass/vcpkg-colorglass",
"baseline": "bbd09a56b951d86dec3ea484ec183d00b013b486",
"packages": [
"commonlibsse-ng",
"gluino",
"script-extender-common",
"skse"
]
}
{
"kind": "git",
"repository": "https://gitlab.com/colorglass/vcpkg-colorglass",
"baseline": "5a11d06fd1b2d7cd6339d6aea48d450309e89cc1",
"packages": [
"commonlibsse-ng",
"gluino",
"script-extender-common",
"skse"
]
}
]
}

@ -6,7 +6,7 @@ message("Using toolchain file ${CMAKE_TOOLCHAIN_FILE}.")
########################################################################################################################
project(
EnderalSteam
VERSION 1.0.1
VERSION 1.0.0
DESCRIPTION "Enderal SE Steam Support"
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)

@ -10,7 +10,7 @@ namespace Achievements {
{
std::map<std::string, bool> settings{
{ "SendAchievementsToLE", false },
{ "TestMode", false },
{ "TestMode", true },
{ "ShowWarningOnInitFail", true }
};
LoadINI(&settings, "Data/SKSE/Plugins/EnderalSteam.ini");
@ -36,9 +36,9 @@ namespace Achievements {
bool success = SteamAPI_Init();
if (success) {
logger::info("{}", "Steam api init was successfull");
logger::info("Steam api init was successfull");
} else {
logger::error("{}", "Error while initializing the steam api");
logger::error("Error while initializing the steam api");
if (settings.at("ShowWarningOnInitFail")) {
RE::DebugMessageBox("Unable to initialize Steam achievements. Try to restart the game and the Steam client. This warning can be disabled in SKSE\\Plugins\\EnderalSteam.ini.");
}
@ -47,12 +47,12 @@ namespace Achievements {
SteamInstance(new AchievementHolder());
}
else {
logger::info("{}", "Already initialized steam api, skipping it");
logger::info("Already initialized steam api, skipping it");
}
}
catch (const std::exception& ex) {
std::string msg = "Exception while initializing the Steam API, steam achievements will not be available: " + std::string(ex.what());
logger::error("{}", msg.c_str());
logger::error(msg.c_str());
if (settings.at("ShowWarningOnInitFail")) {
RE::DebugMessageBox("Unable to initialize Steam achievements. Try to restart the game and the Steam client. This warning can be disabled in SKSE\\Plugins\\EnderalSteam.ini.");
}
@ -66,30 +66,30 @@ namespace Achievements {
void AchievementHolder::onUserStatsReceived(UserStatsReceived_t * event) {
try {
std::string msg = "User id: " + std::to_string(event->m_steamIDUser.ConvertToUint64()) + ", game id: " + std::to_string(event->m_nGameID) + ", success state: " + std::to_string(event->m_eResult);
logger::info("{}", msg.c_str());
logger::info(msg.c_str());
uint32 achievementCount = this->stats->GetNumAchievements();
msg = "There are " + std::to_string(achievementCount) + " achievements";
logger::info("{}", msg.c_str());
logger::info(msg.c_str());
}
catch (const std::exception& ex) {
std::string msg = "Exception during steam callback: onUserStatsReceived. Failed to print data: " + std::string(ex.what());
logger::info("{}", msg.c_str());
logger::info(msg.c_str());
}
}
bool AchievementHolder::setAchievementUnlocked(const char * achievementName)
{
std::string msg = "Unlocking achievement: " + std::string(achievementName);
logger::info("{}", msg.c_str());
logger::info(msg.c_str());
bool success = this->stats->SetAchievement(achievementName);
if (!success) {
logger::error("{}", "Error while unlocking achievement");
logger::error("Error while unlocking achievement");
return false;
}
success = this->stats->StoreStats();
if (!success) {
logger::error("{}", "Error while storing unlocked achievement");
logger::error("Error while storing unlocked achievement");
}
return success;
}

@ -19,9 +19,11 @@ auto EventListener::ProcessEvent(
-> RE::BSEventNotifyControl
{
if (a_event->opening && a_event->menuName == "Main Menu") {
SKSE::GetTaskInterface()->AddTask([]() {
logger::info("Main menu opened, trying to init steam API.");
Achievements::startSteam();
});
RE::UI::GetSingleton()->RemoveEventSink<RE::MenuOpenCloseEvent>(GetSingleton());
logger::info("{}", "Main menu opened, trying to init steam API.");
Achievements::startSteam();
}
return RE::BSEventNotifyControl::kContinue;

@ -24,6 +24,15 @@ namespace {
spdlog::set_default_logger(std::move(log));
spdlog::set_pattern("[%l] %v"s);
}
void InitializeMessaging()
{
GetMessagingInterface()->RegisterListener([](MessagingInterface::Message* message) {
if (message->type == MessagingInterface::kPostLoad) {
EventListener::Install();
}
});
}
}
SKSEPluginLoad(const LoadInterface* skse) {
@ -37,8 +46,7 @@ SKSEPluginLoad(const LoadInterface* skse) {
logger::info("{} {} is loading...", plugin->GetName(), version);
Init(skse);
EventListener::Install();
InitializeMessaging();
GetPapyrusInterface()->Register(Papyrus::Bind);

@ -6,7 +6,7 @@ namespace Papyrus
bool Bind(VM* a_vm)
{
if (!a_vm) {
logger::critical("{}", "couldn't get VM State"sv);
logger::critical("couldn't get VM State"sv);
return false;
}

@ -11,7 +11,7 @@ namespace Papyrus::PapyrusFunctions
return SteamInstance()->setAchievementUnlocked(achievement.c_str());
} else {
RE::DebugNotification(std::format("Achievement unlocked: {}", achievement.c_str()).c_str());
logger::info("{}", std::format("Achievement unlocked: {}", achievement.c_str()).c_str());
logger::info(std::format("Achievement unlocked: {}", achievement.c_str()).c_str());
return true;
}
}
@ -19,6 +19,6 @@ namespace Papyrus::PapyrusFunctions
inline void Bind(VM& a_vm)
{
BIND(CallUnlockAchievement);
logger::info("{}", "Registered CallUnlockAchievement"sv);
logger::info("Registered CallUnlockAchievement"sv);
}
}

@ -73,6 +73,6 @@ inline void LoadINI(std::map<std::string, bool>* settings, const char* iniPath)
}
} catch (const std::exception& e) {
logger::error("{}", e.what());
logger::error(e.what());
}
}

@ -1,15 +1,15 @@
{
"registries": [
{
"kind": "git",
"repository": "https://gitlab.com/colorglass/vcpkg-colorglass",
"baseline": "bbd09a56b951d86dec3ea484ec183d00b013b486",
"packages": [
"commonlibsse-ng",
"gluino",
"script-extender-common",
"skse"
]
}
{
"kind": "git",
"repository": "https://gitlab.com/colorglass/vcpkg-colorglass",
"baseline": "5a11d06fd1b2d7cd6339d6aea48d450309e89cc1",
"packages": [
"commonlibsse-ng",
"gluino",
"script-extender-common",
"skse"
]
}
]
}

@ -1,7 +1,7 @@
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
"name": "enderal-se-steam",
"version-string": "1.0.1",
"version-string": "1.0.0",
"port-version": 0,
"description": "Enderal SE Steam Support",
"homepage": "https://eddoursul.win/mods/enderal-se/",

@ -10,11 +10,11 @@ Auto State Default
Debug.Trace(self + ", OnEffectStart (Default): akTarget = " + akTarget + "; akCaster = " + akCaster)
FrozenActor = akCaster
If FrozenActor && FrozenActor.GetActorValuePercentage("Health") > 0.1 && FrozenActor.HasPerk(_00E_FrozenPerk) == False
If FrozenActor && FrozenActor.GetAVPercentage("Health") > 0.1 && FrozenActor.HasPerk(_00E_FrozenPerk) == False
_00E_A1_ArcticWindFreezeM.Play(akTarget)
FrozenActor.AddPerk(_00E_FrozenPerk)
FrozenActor.EnableAI(False)
FrozenActor.SetActorValue("Paralysis", 1.0) ; Prevents movement and attacking.
FrozenActor.SetAV("Paralysis", 1.0) ; Prevents movement and attacking.
GoToState("Frozen")
EndIf
@ -120,11 +120,7 @@ EndState
State Finished
Event OnEffectFinish(Actor akTarget, Actor akCaster)
FrozenActor.SetActorValue("Paralysis", 0)
FrozenActor.EnableAI(True)
FrozenActor.RemovePerk(_00E_FrozenPerk)
EndEvent
; Do nothing
EndState
@ -156,7 +152,7 @@ Function ShatterEnemy()
Steam.UnlockAchievement("END_FROZEN_01")
_00E_FrozenAchievementUnlocked.SetValueInt(1)
EndIf
; DeletePositionMarker()
EndFunction
@ -171,7 +167,7 @@ EndFunction
Function EnableTargetAI()
If bReenabledAI == False
bReenabledAI = True
FrozenActor.SetActorValue("Paralysis", 0)
FrozenActor.SetAV("Paralysis", 0)
;/ If PositionMarkerRef
FrozenActor.MoveTo(PositionMarkerRef)
EndIf /;

@ -281,24 +281,25 @@ Function StartSC06()
FS_NQR05_SC06_ActivationTriggerREF.Disable()
; transform the player back if currently a werewolf, due to being used as actor in scenes in SC06
_FS_TheriantrophistControlQuest.TransformBackIfTransformed()
FS_NQR05_SC06_FatherArrival.ForceStart()
FadeToBlackIMOD.Apply()
Wait(2.5)
FadeToBlackHoldIMOD.ApplyCrossFade()
Levelsystem.SetAllowIdleChatter(false)
Timescale.SetValue(0.1) ; preventing the time from advancing during this lengthy scene
Timescale.SetValue(0.01) ; preventing the time from advancing during this lengthy scene
Levelsystem.SkipTimeToHour(18.75)
Wait(2.5)
_00E_FS_NQR05_SiteWeatherSnow.ForceActive(True)
Levelsystem.SetAllowIdleChatter(false)
FS_NQR05_SC05_GateREF.SetOpen(False)
FS_NQR05_SC05_GateREF.BlockActivation(True)
_00E_TeleportGlobal.SetValueInt(1)
PlayerREF.MoveTo(FS_NQR05_SC06_WallMarkerREF)
Game.DisablePlayerControls()
FS_NQR05_SC06_FatherArrival.ForceStart()
EndFunction
Function FadeBack()
; Called in Phase 1, FS_NQR05_SC06_FatherArrival
; Called in Phase 2, FS_NQR05_SC06_FatherArrival
; FadeToBlackHoldIMOD.Remove()
; FS_NQR05_ZaraahREF.Enable()
FadeToBlackBackIMOD.ApplyCrossFade()

@ -1,7 +1,7 @@
Scriptname _00E_PlayerSetUpScript extends ObjectReference
{Initializes all the necessary Quests, maintains the player, contains various OnPlayerLoadGame() failsafes. This script is important for proper updating, do not overwrite it.}
Float Property CURRENT_PATCH_VERSION = 2.124 AutoReadOnly
Float Property CURRENT_PATCH_VERSION = 2.12 AutoReadOnly
;=====================================================================================
@ -170,17 +170,6 @@ Function Update_212()
PlayerREF.AddPerk(Game.GetFormFromFile(0x14CF9, "Enderal - Forgotten Stories.esm") as Perk) ; _00E_SE_2_0_12_UpgradePerk
EndFunction
Function Update_212_hotfix1()
Quest rNQ05 = Game.GetFormFromFile(0x1C82F, "Enderal - Forgotten Stories.esm") as Quest
if rNQ05.GetCurrentStageID() >= 30 && rNQ05.GetCurrentStageID() < 40
PlayerREF.AddPerk(Game.GetFormFromFile(0x14CF6, "Enderal - Forgotten Stories.esm") as Perk) ; _00E_FS_NQ05_CraftPotionPerk
endif
Quest rNQ07 = Game.GetFormFromFile(0x1CA09, "Enderal - Forgotten Stories.esm") as Quest
if rNQ07.GetCurrentStageID() == 115
PlayerREF.AddPerk(Game.GetFormFromFile(0x14CF7, "Enderal - Forgotten Stories.esm") as Perk) ; _00E_FS_NQ07_CraftPotionPerk
endif
EndFunction
;=====================================================================================
; ALL UPDATES
@ -278,9 +267,6 @@ Function Maintenance()
If fPatchVersion < 2.12
Update_212()
EndIf
If fPatchVersion < 2.121
Update_212_hotfix1()
EndIf
fPatchVersion = CURRENT_PATCH_VERSION
endif

@ -134,58 +134,26 @@ endFunction
Function DisableDialogueQuitting() Global
{Disables the TAB Key during dialogue. Resets automatically upon dialogue exit via Goodbye.}
if ! UI.IsMenuOpen("Dialogue Menu")
UnregisterDialogQuitKey()
return
endif
if UI.GetBool("Dialogue Menu", "_root.DialogueMenu_mc.bEnableTab") != true
; Suspected non-Enderal dialoguemenu.swf replacer, rechecking value in order to be sure.
UI.InvokeBool("Dialogue Menu", "_root.DialogueMenu_mc.SetVariable", True)
if UI.IsMenuOpen("Dialogue Menu")
if UI.GetBool("Dialogue Menu", "_root.DialogueMenu_mc.bEnableTab") != true
Debug.Notification("Detected incompatible dialoguemenu.swf!")
; Suspected non-Enderal dialoguemenu.swf replacer, rechecking value in order to be sure.
UI.InvokeBool("Dialogue Menu", "_root.DialogueMenu_mc.SetVariable", True)
if UI.GetBool("Dialogue Menu", "_root.DialogueMenu_mc.bEnableTab") != true
Debug.Notification("Detected incompatible dialoguemenu.swf!")
endif
endif
endif
UI.InvokeBool("Dialogue Menu", "_root.DialogueMenu_mc.SetVariable", False)
Quest Levelsystem = Game.GetForm(0x10AA2) as Quest
Levelsystem.RegisterForKey(1) ; Escape
Levelsystem.RegisterForKey(15) ; Tab
int iControllerKey = Input.GetMappedKey("Tween Menu", 0x02)
if iControllerKey > -1
Levelsystem.RegisterForKey(iControllerKey) ; Controller
endif
Levelsystem.RegisterForMenu("Dialogue Menu")
EndFunction
Function EnableDialogueQuitting() Global
{Disables the TAB Key during dialogue. Resets automatically upon dialogue exit via Goodbye.}
UI.InvokeBool("Dialogue Menu", "_root.DialogueMenu_mc.SetVariable", True)
UnregisterDialogQuitKey()
EndFunction
function UnregisterDialogQuitKey() Global
Quest Levelsystem = Game.GetForm(0x10AA2) as Quest
Levelsystem.UnregisterForAllKeys()
Levelsystem.UnregisterForMenu("Dialogue Menu")
endfunction
Event OnKeyDown(Int KeyCode)
if UI.IsMenuOpen("Dialogue Menu")
if ! UI.IsMenuOpen("MessageBoxMenu") && ! UI.GetBool("Dialogue Menu", "_root.DialogueMenu_mc.bEnableTab")
if (Game.GetFormFromFile(0x163D, "Update.esm") as Message).Show() == 1
Game.QuitToMainMenu()
endif
endif
else
UnregisterDialogQuitKey()
endif
EndEvent
EndFunction
Function RefreshFace() Global
@ -969,8 +937,6 @@ Event OnMenuClose(String MenuName)
If MenuName == "Book Menu"
MTToRemove.Remove()
UnregisterForMenu("Book Menu")
elseif MenuName == "Dialogue Menu"
UnregisterDialogQuitKey()
EndIf
EndEvent
@ -1400,7 +1366,6 @@ Message Property _00E_Levelsystem_sEldritchBloodAttackTargetMarked Auto
Message Property _00E_Levelsystem_sEldritchBloodAttackVictimMarkingRemoved Auto
Message Property _00E_Levelsystem_sEldritchBloodVictimMarkingRemoved Auto
Message Property _00E_Levelsystem_sGhostwalkEnemyTooCloseToWall Auto
Message Property _00E_DialogueQuitGame Auto
ObjectReference Property PlayerVisionStartMarker Auto Hidden
ObjectReference Property PlayerVisionFailsaveMarker Auto Hidden
@ -1460,4 +1425,4 @@ MusicType MTToRemove
;for sets
Sound Property MAGIllusionCharm Auto
Message Property _00E_ArmorSetScript_sSetBonusRemoved Auto
bool bSetAchievementUnlocked = false
bool bSetAchievementUnlocked = false

@ -381,9 +381,9 @@ Function _UpdateNQ11(Potion newPotion)
If bDoneChymikum && bDoneDarkBlood
_SetNewStageNQ11(17)
ElseIf bDoneDarkBlood
_SetNewStageNQ11(15)
ElseIf bDoneChymikum
_SetNewStageNQ11(15)
ElseIf bDoneDarkBlood
_SetNewStageNQ11(16)
EndIf
EndIf

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save