Skyrim Special Edition

File information

Last updated

Original upload

Created by

Trenergy

Uploaded by

Trenergy

Virus scan

Safe to use

About this mod

Restores the default undiscovered location compass markers from SkyHUD for NORDIC UI along with some customization options.

Requirements
Permissions and credits
Changelogs
NORDIC UI - Compass Markers Restored reverts NORDIC UI - Interface Overhaul's undiscovered location compass markers back to their default SkyHUD state while keeping the design of its hud menu.
(made for NORDIC UI version 1.2 and SkyHUD version 0.90B)

June 9th 2023: Version 1.4.2 contains a fix for non-persistent healthbars. Now, whenever the shout meter shows a cooldown, the health bar will be shown. This is necessary because the shout meter is a sub-module of the health bar and I have no simple way to show it by itself. No need to update if you don't use any of the "None"-pesistence options or if you don't mind not seeing shout cooldowns.

FOMOD includes options for
  • persistent meters (Health, All, None)
  • crosshair (dot crosshair, Nordic UI default)
  • compass markers (compatibility with NORDIC UI map marker replacers, or other ones)
  • optional Compass Navigation Overhaul patch (other markers option)
  • enemy name alignment (left, center)
  • sneak eye (Nordic UI default, vanilla)

Check out the How To section down below if you want to make some edits of your own!


Compatibility:
Q:
 Does this work with <compass-marker-replacer>?
A: As long as it uses SkyHUD's compassmarkerart.swf, it should be compatible (see images for reference). I personally use it with Pastel SkyUI Markers and it works great for me. Also, check out NORDIC UI Markers if you like the original compass markers.

Q: Is it compatible with CoMAP - Common Marker Addon Project?
A: I have stood in front of Jorrvaskr and it showed the CoMAP marker, so I guess it is (see images for reference). If it is compatible with SkyHUD, it should be compatible with this. Be careful about using CoMAP 4.0 with Compass Navigation Overhaul 2.1, CoMAP offers a compatibility patch to avoid breaking SKSE mods. Personally, I have not tested that setup, yet.

Q: Compatible with Nordic UI - MoreHUD - Enemy Health Bars Patched?
A: Yes, have my hudmenu.swf overwrite theirs (see images for reference).

Q: Compatible with Nordic...ish - A TrueHUD preset based on Nordic UI and TrueHUD - HUD Additions?
A: NORDIC UI meters are overwritten, the compass still works the same as without those mods.

Q: Compatible with Compass Navigation Overhaul?
A: Yes. If you use NORDIC UI's compass marker art, use Compass Navigation Overhaul - Nordic UI Skin (currently 2.1) over on their mod page. If you use Non-NORDIC UI compass marker art, I have added an optional installer page for that. I uploaded a screenshot with a comparison between the two.

Not strictly important for this mod, but to answer questions about it in the future:
If you use COMAP and CNO together, beware of incompatibilities. Use CNO 2.1 and COMAP 3.4.2 over the newer versions CNO 2.1.1 and COMAP 4.0. Updating CNO to 2.1.1 will break COMAP 3.4.2 compass icons (tested) and is supposed to be incompatible with COMAP 4.0 for now (please refer to the topmost sticky post of CNO).


How to:
Spoiler:  
Show

Tools:


Tips:
  • Always use a working copy of any files you edit.
  • Make a backup before overwriting files with your edits.


Preface:
The methods I am describing in this section to merge changes of different huds basically boil down to the same steps:
  • Download the file you want to edit and the file you want to take edits from
  • Decompile both files
  • Convert to xml
  • Find the corresponding shape/sprite IDs that correspond to those edits (for animations or other collections the component parts should have a pointer to that, giving you a list of all its components)
  • Compare the xmls, copy over differences, reimport the changed xml and save
Changes on action scripts are a bit more complicated and may require a bit of programming knowledge, but you may be able to wing it just by looking into similar code sections. The gist is that you can carry over edits from pretty much anything using this method and I provide more detailed steps for the things you can find in this mod. The things that are marked as BONUS are not part of any changes I offer, but you might want to do them yourselves.


How to re-enable compass markers:
  • Find both hudmenu.swf files from NORDIC UI and SkyHUD.
  • Make working copies of those files and name them in a way so you can tell them apart.
  • Open them up with the decompiler, if you are asked to import addtional files click "No to all".
  • Export the files as xml (remember to name them properly as well).
  • Open the xml files in your merging tool. The side-by-side comparison marks differences between the files and lets you copy them over easily.
  • Copy over the records for undiscovered location markers from the SkyHUD file into the NORDIC UI file. If you have trouble finding them check out the files in the decompiler for the right characterIds and spriteIds.
  • Delete the custom record that adds the questionmark marker from the NORDIC UI file.
  • Import the NORDIC UI xml back into the hudmenu.swf file and save.
  • Replace the original hudmenu.swf with your edited copy (make a backup).

For the NORDIC UI map marker version, I simply did not revert the values that correspond to the major cities. They have unique offsets that must be preserved, which is also why it needs its own file. Below is an example for the Whiterun capital marker.
<item characterId="241" [...]>
[...] translateX="-220" translateY="-240" [...]
</item>



BONUS: Mix and match compass markers:
  • Find the compassmarkerart.swf files you want to mix (e.g. NORDIC UI compass markers and Pastel SkyUI Markers)
  • Decompile them.
  • Export as xml.
  • Open the xml files in your merging tool.
  • The relevant records look somewhat like this (n is a replacer for the exact ID):
    <item [...] shapeId="n" [...]>
    [...]
    </item>
  • Copy records over however you like them best.
  • Beware of marker offsets. If you see the correct markers in game but their position is off, you need to change the position of that marker in the hudmenu.swf (refer to How to re-enable compass markers).


How to set persistence for health/magicka/stamina bars:
  • Decompile NORDIC UI's hudmenu.swf.
  • Navigate the folder structure into scripts/__Packages/<default package> and open the HUDMenu script.
  • Look for the following lines (probably line 1338 and 1339):
    this.Health_mc._alpha = 100;
    this.Health.HealthPenaltyMeter_mc._alpha = 100;
  • Edit the ActionScript and add the following lines right after ("Magica" is not a typo, compare with the following else if block):

    this.Magicka_mc._alpha = 100;
    this.Magica.MagickaPenaltyMeter_mc._alpha = 100;
    this.Stamina_mc._alpha = 100;
    this.Stamina.StaminaPenaltyMeter_mc._alpha = 100;
  • Save the script.
  • Save the hudmenu.swf.

If you use values below 100, it should add transparency to your meters while they are full.


How to fix SkyHUD widget in menus issue:
Refer to this SkyHUD forum post.
This issue appears when you cast any spell with restricted use area (e.g summons, runes). Even if you break the cast in the middle of animation, some UI widgets will stuck (AMOT, Frostfall widgets and maybe more).


How did you do the dot crosshair?
I didn't, BubbleFishHK (Dot crosshair for NORDIC UI - Interface Overhaul) did who has open permissions on their mod so I could copy that part. It's bitmap drawing by pixels in an .swf file, that is beyond what I can realistically do. But just in case, here are the steps:
  • Decompile hudmenu.swf files for NORDIC UI and Dot crosshair for NORDIC UI - Interface Overhaul.
  • Export them as xml files.
  • Open the files in your merging tool. There should be only a few differences between both files and they are all relevant, so copy them over to whatever file you want to edit.
  • Import edited xml file back into your working swf file and save.
Do whatever you want with my files, don't have to credit me, it's just a dot.
Credit where credit is due.


How did you center the names?
  • Decompile hudmenu.swf files for NORDIC UI.
  • Export them as xml files.
  • Open the file in any text editor.
  • Search for the line containing characterID="872" (the one with the "align" attribute)
  • Set align="0" to align="2".
  • Look for the key word "left" in the initialText attribute and change it to "center".
  • Import edited xml file back into your working swf file and save.


How did you add back the vanilla sneak eye?

  • Open hudmenu.swf from SkyHUD and Compass Markers Restored, export both as xml.
  • Check sprite 738 containing all sneak eye references (533-737), sprites (characterIds) and shapes (shapeIds) both fall into that range.
  • Rename both xml files so you know which belongs to which and open them in WinMerge.
  • Start with the lowest characterId value and copy differences from SkyHUD xml to NORDIC xml (Alt+Ctrl+left/right arrow copies the entire block that shows a difference and move to the next difference). characterId 533 is identical, differences start at 535.
  • Repeat for shapeId. Those are big blocks of differences except for the last entry before shapeId 750, which is a bit more fragmented. I never had to skip any differences when moving through them and my testing didn't show me any flaws.
  • Save the edited NORDIC xml file, import into hudmenu.swf and save. It probably doesn't matter which one as it overwrites everything, but I always import it back into the Compass Markers Restored hudmenu.swf.
  • 7z it as a standalone mod (archive containing interface folder with hudmenu.swf inside) to use with the mod manager of your choice.


BONUS: Change number and duration of top left messages
With the new arrival of Show More Messages to the Nexus, some might want to change the number and duration of the messages displayed in the top right (e.g. to faster get through all the messages that appear on a new game.
  • Decompile hudmenu.swf of your choice.
  • Navigate the folder structure into scripts/__Packages/ and open the Messages script.
  • At the very top of the file, you can see the following lines:
    static var MAX_SHOWN = 4;
    static var END_ANIM_FRAME = 80;
  • MAX_SHOWN stands for the number of messages to be displayed and END_ANIM_FRAME stands for the number of frames the messages are displayed for (as a measurement of time). Simply edit the ActionScript and change the values to your liking.
  • Save the script.
  • Save the hudmenu.swf.


NOTE: Dealing with images:
It's probably possible to replace image files inside the decompiled swf files and just recompile them, but I don't think my tool can do that (though it can export the file structure of the decompiled swf). If you have a tool that can do that there's a chance that you can do some of the steps that require copying shape/sprite pixel definitions a lot more freely, especially when editing compassmarkerart.swf or mapmarkerart.swf files.


Credits:
dopesan, author of NORDIC UI,
Fhaarkas, author of SkyHUD,
BubbleFishHK, author of Dot crosshair for NORDIC UI - Interface Overhaul,
thank you for your permissions.