4
Fork 0

Compare commits

...

32 Commits

Author SHA1 Message Date
Eddoursul e850c56af8 Updated changelog 2 years ago
Eddoursul 5fc3db6a05 Check for leftover DLLs from previous versions of Enderal 2 years ago
Eddoursul 18ac89e171 Check activators and statics for collision with Skyrim 2 years ago
Eddoursul 09f7922554 Added Address Library for 1.6.659; removed INI manipulation, failing in the GOG release 2 years ago
Eddoursul c428861029 Fixed swapped objectives in Call of the Hunt 2 years ago
Eddoursul ff965bc21d Unregister dialog exit listener on normal menu closing 2 years ago
Eddoursul 33345cc860 Added Address Library 1.6.640 2 years ago
Eddoursul c38390fbd8 Updated credits 2 years ago
Eddoursul 38d110fbdc Updated Enderal DLL to CommonLibSSE-NG 3.5.2 (Skyrim 1.6.629 support) 2 years ago
Eddoursul e708cdef68 Added Address Library for 1.6.629 2 years ago
Eddoursul 2ec99f45d2 Updated Steam DLL to CommonLibSSE-NG 3.5.2 (Skyrim 1.6.629 support) 2 years ago
Eddoursul 6782dbcde9 Do not use SKSE messaging in the Steam DLL, TestMode is off by default 2 years ago
Eddoursul fec0932935 Bumped version in _00E_PlayerSetUpScript 2 years ago
Eddoursul c68de3a06a Updated build script 2 years ago
gavrant b1e3fc8eb0 Minor tweaks and fixes for several meshes from Enderal/Medievalpack and Enderal/Miscellaneous 2 years ago
Eddoursul b9e31b898f Updated changelog and build script 2 years ago
Eddoursul 39066bb7a7 Fixed Polish translation of "Very Hard" in settings 2 years ago
gavrant 001a489332 Fixed meshes for vanilla CrateSmalls 2 years ago
Eddoursul d89079e13f Actors, shattered after Arctic Wind, were respawning in frozen state 2 years ago
gavrant 40e1bb3521 HD version of architecture\solitude\sfloorhouse01_vanilla texture 2 years ago
Eddoursul 0ffda06df7 Reverted the Armor Addon Fix for Qyranians and Arazealeans, was enabling to equip two necklaces and two rings 2 years ago
Eddoursul 671b1dc65c Reverted dialoguemenu.swf to the pre-2.0.12 version and replaced quest journal in locked dialogs with a quit prompt. Discarded solution caused increased framerate in menu mode and was making scrolling unusable. 2 years ago
Eddoursul 8eba0e00f4 Excluded 7 distant cells from compatibility check - fixes compatibility with cell patchers, like SkyVRaan 2 years ago
Eddoursul bc7488c8d0 Read version from file 2 years ago
gavrant 27d46d3033 Merge branch 'development' of https://git.eddoursul.win/enderal/enderalse into development 2 years ago
gavrant 8259b9e196 "Vagrant Dress" cuirass - fixed the neck hole 2 years ago
Eddoursul fc8b1a4418 Updated build script 2 years ago
Eddoursul 8cf8d9eb8b Removed redundant fadeout before The Father's arrival scene 2 years ago
Eddoursul 2a31ca9305 Updated changelog 2 years ago
Eddoursul 25c001ce7f The Father's arrival scene might fail to properly start 2 years ago
Eddoursul 1c23af6613 Updated changelog 2 years ago
Eddoursul b0e6578aba During update, add quest potion perks (2.0.12 hotfix 1) 2 years ago
  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.4 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="42939" nextObjectID="00015977" />
<struct version="1.70000005" numRecords="42922" nextObjectID="00015977" />
</HEDR>
<CNAM>Niseam</CNAM>
<SNAM>Enderal: Forgotten Stories (Special Edition) 2.0.12</SNAM>
<SNAM>Enderal: Forgotten Stories (Special Edition) 2.0.12.3</SNAM>
<MAST>Skyrim.esm</MAST>
<DATA>0</DATA>
<MAST>Update.esm</MAST>
@ -18306,7 +18306,6 @@
<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>
@ -137601,34 +137600,6 @@
</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">
@ -137781,587 +137752,6 @@
<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 (anathema88/my_summertime)
Anna Łagowska (anathema83/my_summertime)
Szymon "Herob" Wrzos
Bartłomiej "Święty" Jabłoński
@ -755,7 +755,6 @@ 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,6 +6,30 @@ 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.

@ -0,0 +1 @@
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 Changelog.txt
Enderal SE v2.0.12.4 Changelog.txt
Enderal - Forgotten Stories.esm
Enderal - Forgotten Stories.ini
E - Update.bsa
@ -30,8 +30,11 @@ 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 (anathema88/my_summertime)
Anna Łagowska (anathema83/my_summertime)
Szymon "Herob" Wrzos
Bartłomiej "Święty" Jabłoński
@ -756,7 +756,6 @@ 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 (anathema88/my_summertime)
Anna Łagowska (anathema83/my_summertime)
Szymon "Herob" Wrzos
Bartłomiej "Święty" Jabłoński
@ -756,7 +756,6 @@ 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.0.0
VERSION 1.1.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[582] = {
uint32_t formids[574] = {
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 < 582; i++) {
for (int i = 0; i < 574; 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,3 +1331,217 @@ 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,18 +34,8 @@ 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);
@ -59,11 +49,6 @@ 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) {
@ -77,21 +62,37 @@ 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 (!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);
if (!bMeshes) {
RE::DebugMessageBox("E - Meshes.bsa is not loaded. Make sure Enderal - Forgotten Stories.esm is enabled and revalidate your files.");
}
CheckIncompatibleMods();
} else if (message->type == MessagingInterface::kPreLoadGame) {
//
} else if ((message->type == MessagingInterface::kPostLoadGame && message->data) || message->type == MessagingInterface::kNewGame) {
NewGameCount(true);
}
@ -101,6 +102,31 @@ 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();
@ -114,6 +140,8 @@ SKSEPluginLoad(const LoadInterface* skse) {
Init(skse);
InitializeMessaging();
SKSE::GetModCallbackEventSource()->AddEventSink(EventListener::GetSingleton());
GetPapyrusInterface()->Register(Papyrus::Bind);
if (!IsVR()) {

@ -2,6 +2,7 @@
#include "CheckInvalidForms.h"
#include <SimpleIni.h>
#include <regex>
inline const SKSE::LoadInterface* GetLoadInterface(const SKSE::LoadInterface* loadInterface = nullptr)
{
@ -33,30 +34,25 @@ inline bool IsVR()
return GetLoadInterface()->RuntimeVersion() == SKSE::RUNTIME_VR_1_4_15 || GetLoadInterface()->RuntimeVersion() == SKSE::RUNTIME_LATEST_VR;
}
inline void SetINISettings()
inline void CheckIncompatibleMods()
{
auto* setting = RE::INIPrefSettingCollection::GetSingleton()->GetSetting("bFreebiesSeen:General");
if (setting && !setting->GetBool()) {
setting->data.b = true;
RE::INIPrefSettingCollection::GetSingleton()->WriteSetting(setting);
}
setting = RE::INISettingCollection::GetSingleton()->GetSetting("bInvalidateOlderFiles:Archive");
if (setting && !setting->GetBool()) {
setting->data.b = true;
RE::INISettingCollection::GetSingleton()->WriteSetting(setting);
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;
}
}
setting = RE::INISettingCollection::GetSingleton()->GetSetting("bModManagerMenuEnabled:General");
if (setting && setting->GetBool()) {
setting->data.b = false;
RE::INISettingCollection::GetSingleton()->WriteSetting(setting);
if (!bPrinted) {
RE::ConsoleLog::GetSingleton()->Print("Loaded SureAI's Enderal: Forgotten Stories | Special Edition v2.0.x by Eddoursul and contributors");
}
}
inline void CheckIncompatibleMods()
{
RE::ConsoleLog::GetSingleton()->Print("Loaded SureAI's Enderal: Forgotten Stories | Special Edition v2.0.12 by Eddoursul and contributors");
CheckBlacklist();
CheckWorldspaces();
@ -65,6 +61,8 @@ 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": "5a11d06fd1b2d7cd6339d6aea48d450309e89cc1",
"packages": [
"commonlibsse-ng",
"gluino",
"script-extender-common",
"skse"
]
}
{
"kind": "git",
"repository": "https://gitlab.com/colorglass/vcpkg-colorglass",
"baseline": "bbd09a56b951d86dec3ea484ec183d00b013b486",
"packages": [
"commonlibsse-ng",
"gluino",
"script-extender-common",
"skse"
]
}
]
}

@ -6,7 +6,7 @@ message("Using toolchain file ${CMAKE_TOOLCHAIN_FILE}.")
########################################################################################################################
project(
EnderalSteam
VERSION 1.0.0
VERSION 1.0.1
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", true },
{ "TestMode", false },
{ "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,11 +19,9 @@ 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,15 +24,6 @@ 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) {
@ -46,7 +37,8 @@ SKSEPluginLoad(const LoadInterface* skse) {
logger::info("{} {} is loading...", plugin->GetName(), version);
Init(skse);
InitializeMessaging();
EventListener::Install();
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": "5a11d06fd1b2d7cd6339d6aea48d450309e89cc1",
"packages": [
"commonlibsse-ng",
"gluino",
"script-extender-common",
"skse"
]
}
{
"kind": "git",
"repository": "https://gitlab.com/colorglass/vcpkg-colorglass",
"baseline": "bbd09a56b951d86dec3ea484ec183d00b013b486",
"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.0",
"version-string": "1.0.1",
"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.GetAVPercentage("Health") > 0.1 && FrozenActor.HasPerk(_00E_FrozenPerk) == False
If FrozenActor && FrozenActor.GetActorValuePercentage("Health") > 0.1 && FrozenActor.HasPerk(_00E_FrozenPerk) == False
_00E_A1_ArcticWindFreezeM.Play(akTarget)
FrozenActor.AddPerk(_00E_FrozenPerk)
FrozenActor.EnableAI(False)
FrozenActor.SetAV("Paralysis", 1.0) ; Prevents movement and attacking.
FrozenActor.SetActorValue("Paralysis", 1.0) ; Prevents movement and attacking.
GoToState("Frozen")
EndIf
@ -120,7 +120,11 @@ EndState
State Finished
; Do nothing
Event OnEffectFinish(Actor akTarget, Actor akCaster)
FrozenActor.SetActorValue("Paralysis", 0)
FrozenActor.EnableAI(True)
FrozenActor.RemovePerk(_00E_FrozenPerk)
EndEvent
EndState
@ -152,7 +156,7 @@ Function ShatterEnemy()
Steam.UnlockAchievement("END_FROZEN_01")
_00E_FrozenAchievementUnlocked.SetValueInt(1)
EndIf
; DeletePositionMarker()
EndFunction
@ -167,7 +171,7 @@ EndFunction
Function EnableTargetAI()
If bReenabledAI == False
bReenabledAI = True
FrozenActor.SetAV("Paralysis", 0)
FrozenActor.SetActorValue("Paralysis", 0)
;/ If PositionMarkerRef
FrozenActor.MoveTo(PositionMarkerRef)
EndIf /;

@ -281,25 +281,24 @@ 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()
Timescale.SetValue(0.01) ; preventing the time from advancing during this lengthy scene
Levelsystem.SetAllowIdleChatter(false)
Timescale.SetValue(0.1) ; 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 2, FS_NQR05_SC06_FatherArrival
; Called in Phase 1, 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.12 AutoReadOnly
Float Property CURRENT_PATCH_VERSION = 2.124 AutoReadOnly
;=====================================================================================
@ -170,6 +170,17 @@ 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
@ -267,6 +278,9 @@ Function Maintenance()
If fPatchVersion < 2.12
Update_212()
EndIf
If fPatchVersion < 2.121
Update_212_hotfix1()
EndIf
fPatchVersion = CURRENT_PATCH_VERSION
endif

@ -134,27 +134,59 @@ endFunction
Function DisableDialogueQuitting() Global
{Disables the TAB Key during dialogue. Resets automatically upon dialogue exit via Goodbye.}
if UI.IsMenuOpen("Dialogue Menu")
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.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.GetBool("Dialogue Menu", "_root.DialogueMenu_mc.bEnableTab") != true
Debug.Notification("Detected incompatible dialoguemenu.swf!")
endif
Debug.Notification("Detected incompatible dialoguemenu.swf!")
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
Function RefreshFace() Global
String facegen = "bUseFaceGenPreprocessedHeads:General"
@ -937,6 +969,8 @@ Event OnMenuClose(String MenuName)
If MenuName == "Book Menu"
MTToRemove.Remove()
UnregisterForMenu("Book Menu")
elseif MenuName == "Dialogue Menu"
UnregisterDialogQuitKey()
EndIf
EndEvent
@ -1366,6 +1400,7 @@ 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
@ -1425,4 +1460,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 bDoneChymikum
_SetNewStageNQ11(15)
ElseIf bDoneDarkBlood
_SetNewStageNQ11(15)
ElseIf bDoneChymikum
_SetNewStageNQ11(16)
EndIf
EndIf

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save