[MOD] l3lessed Enchanted Compass

A curated forum for compatible and maintained mods. Users are unable to create new topics in this forum but can reply to existing topics. Please message a moderator to have your mod moved into this forum area.
Post Reply
l3lessed
Posts: 1400
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by l3lessed »

Almost there. Smashed some of the last mod breaking issues.

However, I need to create a method to efficiently store the individual compass effect into a dictionary, so that as you swap between differing compasses (if you have multiple on you), it updates to that specific compasses effects. I'll get it in the next few days, just need to figure out how to setup the dictionary that will store the individual compass as the key and a list of the effects as the value in the most efficient way.

One question, is there anyway to add custom properties to a custom item? As an example, I want to add a public list that stores that specific compass class instance effects to the item class, so when the user switches to a different compass, it will load the effects list tied to that compass class instance.

Right now, because I constructed the effect system as its own class, it does not differentiate between compass instances when setting up and running the differing effects.

My only other thought was tying the effectManager class to each compass item class, so when each compass is created, it creates its own effect managrment class/system. But this would create a ton of extra class instances not being used when the player starts collection multiple compasses at once, so a dictionary and list storing the individual compass effects that are reloaded via a routine call on equipping the compass seems a better approach.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

l3lessed
Posts: 1400
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by l3lessed »

Almost there with everything in place. The only thing I have left now is getting my effect instances to load properly between saves. They load fine between compasses instances when switching compasses. However, when loading a save, it continually keeps the same effects in place that were there when the player loaded from the previous game.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

l3lessed
Posts: 1400
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by l3lessed »

Pushed Stable Tested Version

I tested this in a stand alone 13.3 build inside, in the wild, fast traveling, on a new game, on a loaded old game with an old mod version, on dying, and any other bug causing scenario I can think of. I might of finally found and smashed the bugs this time around, but as always, please test this. This is a super complicated mod, as it has prefabs, 10+ scripts, custom shaders, custom mask layers, custom items, custom effects, and a completely custom build canvas space just for housing and allowing all the mods features.

I'll post a video of everything later, but until then, here is a general overview of the countless changes and rework I did to the mod to get all the new features in and fix all the old bugs.
  • Rain drops are optimized and truly random. Each droplet was isolated in the texture and provided a reduced texture size to fit it removing unused texture space. The droplet generation code was recreated to assign a unique position, size, and drip speed at random to ensure the effect is realistic and doesn't appear like a repeating loop/reel.
  • There is an option for equippable compasses. This creates a magical compass item you can buy and maintain. It must be equipped to use the minimap. It can be repaired using dwemer dynamos, cut glass, and a repair kit. It can be cleaned by putting it away when it is dirty for a few seconds.
  • Turning off equipable compasses removes the the new magical compass item or the need to equip it to use the minimap. You will still get all the minimap features and effects though, including compass health and damage effects.
  • Completely rebuilt the Canvas system from scratch to optimize texture use and layers. Ensures all layers are centered, positioned, and layered properly.
  • This also has the added benefit of prepping the mod for possible 512X512 optimized textures. Currently setting base size for scaling up and down to 256. This means, as long as the texture isn't smaller than the scale size multiplied by 256, it won't stretch or pixilate. Full screen mode is less than 2X the scale meaning textures should be able to be downsized to 512 ratios at some point without affecting the mod appearance.
  • Removed tons of unneeded objects, including void routine calls. This cleared up the GC.Allocation calls and memory by a massive amount after doing a full profile debug. Before, the big cities were loading the GC.Allocator up with 1000+ calls/objects. Now, no matter where you are, the mod only uses 3 calls and under 40K of gc.Allocator.
  • Moved a number of code executions to their own scripts for optimization and better hyperthreading. Effects now each have their own script instances, the main effect manager has its own script instance, the building manager has its own script instance, and all markers have a control script. Anything not needing its own script to remove waste or gc.allocation was kept under the main script.
  • Building markers only recreate when you leave and enter a new city. No longer do they regenerate every time you leave a building interiorer.
  • Countless other improvements, optimizations, additions, and easter eggs.
A Few Small Notes:
  • When you choose to use the equippable compass setting to allow for the compass item, it will generate you a single free one the first time. From RP perspective, you managed to not loose you compass kit when your boat crashed.
  • If you keep damage effects enabled, you will start with two dwemer dynamos, two cut glass, and a compass repair kit. You can use the repair kit to repair your damaged compass. If the glass is cracked, it will take one cut glass. If the compass gets damaged enough, the dwemer dynamo powering it will need replaced costing one dwemer dynamo.
  • You can buy all needed repair items at general stores for your compass. You can buy new compasses anywhere where the magic item category is sold.
  • The magic rip effect still needs more optimization. It was causing noticeable fps drops in editor on a play test. If you are having FPS drops, especially when the glass is damaged, try disabling this effect in the mod settings.
  • I put in a fulcum render option that disables all markers not in view of the minimap. In the editor, this actually doesn't seem to help with performance in any real situation. The only place this may help is if you have a computer with a fast CPU and a slow GPU and low video memory. The disabling of markers should remove the markers from the rendering pipeline. Feel free to play with it and report back any gains or loses to fps.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

l3lessed
Posts: 1400
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by l3lessed »

Updated the nexus page also. Has more description of new features and items.

https://www.nexusmods.com/daggerfallunity/mods/233
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

User avatar
King of Worms
Posts: 4752
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow (CZ)
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by King of Worms »

Congrats on the release 😊 reading thru the list of fixes was interesting, will test today
EDIT: no way to tell which version is for which OS :lol:
Spoiler!
01.jpg
01.jpg (149.34 KiB) Viewed 750 times

l3lessed
Posts: 1400
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by l3lessed »

OOps thanks. Fixed naming issue.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

User avatar
King of Worms
Posts: 4752
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow (CZ)
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by King of Worms »

Just a few notes:
- the meta files are redundant (to my best knowledge. I deleted them and the mod works as expected)
- the "rain" folder has a "backup" subfolder, which I guess is redundant as well?
- rain(11) - rain(61) might be redundant? It appears u are using only the separated drops according to mod description.

- I guess the menu which was shown in the previous versions is now gone? The one with sliders etc on a paper background? I was not able to open it. That would render "scroll cleaned" and "scroll cleaned HD" redundant as well.

-redcrystal.png - unnecesary file I believe?

- I think the less redundant files and folders in the final distribution package, the better.

From a visual POV, Ive noticed few things:
- the 1st person weapon is drawn over the compass, I would vote for weapons being beind the compass, if possible
01.jpg
01.jpg (278.37 KiB) Viewed 711 times
- the rooms on the map can go a bit over the canvas, u can see it easily if you stand in a room like in the image and rotate around 360 degrees. Most likely caused by the golden canvas not being 100% round as explained in my previous post. Also the inner part of the golden cavas is not smooth, so there are some holes shown (cicrled in red close to "E")
02.jpg
02.jpg (111.16 KiB) Viewed 711 times
Function wise
- to be able to make the compass view smaller. Either by 50% or using some slider or anything... If this option is there, I have not seen it. I also remember you was able to "maximize" the view, and thats not there anymore I guess. Only keyboard commands I know of are Keypad + / - to zoom?

- I would expect the "Frost" effect to slowly fade away when you enter any interior

EDIT: Also the MAGICAL compass should IMO be placed in the Inventory section with magic items.
Not sure about the other components, like glass, tools, dwemer gyro etc, but it might make sense if they were together with the compass, who knows

Other than that, I really like the mod :)
Just giving some feedback on things Ive noticed, its not bashing. I believe constructive feedback is valuable.

EDIT: Ive managed to solve most of the issues in my version of the textures, improved the N/E/W/S arrows and text. So far it looks like this. Ive ditched that part at the top to keep it simple.
Untitled-1.jpg
Untitled-1.jpg (159.08 KiB) Viewed 692 times

l3lessed
Posts: 1400
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by l3lessed »

Thank's for all the feedback. The scroll menu should be working. I'll check this. I thought it worked on my test play through.

Thought I also fixed the layering issue, but guess not.

The rain backups are the rain drops the still need reduced down to fit the drop only.

Almost there but still seems need another pass.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

l3lessed
Posts: 1400
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by l3lessed »

So, I can't replicate the scroll issue in 13.3. I'm running the compiled mod file on a stand alone 13.3. I also checked the github textures and vortex zip file textures to ensure they all had the scroll textures in the streaming textures folder, and they do.

Are you double tapping the zoom in and out keys? The inputs are smart inputs that use double taps keys to full screen the compass and also open/close the scroll. The key input timer is also a Time.DeltaTime timer, so it should compensate for slower and faster fps to ensure the double taps are always detected.

Also, the frost effect should always fade when inside. I guess need to check this code.

Key Inputs:
Single Press Zoom In: Zoom in on map.
Double Tap Zoom In: Control scroll appears.
Single Press Zoom Out: Zoom out on map.
Double Press Zoom Out: Center and Full screen minimap. This also allows holding down the mouse and moving the map around. When over buildings, it will reveal the generic or unique name of the building depending on its discovery state.
Zoom In + Zoom Out: Put away and Pull out Compass. Disable/Enable the minimap.

As long as the zoom in and out keys are working, and you didn't mess up the key code in the settings area of the mod, the double tap keys should work.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

l3lessed
Posts: 1400
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: [MOD] l3lessed Enchanted Compass

Post by l3lessed »

Found the compass layering issue. Sorry, just reverted a code change in the object sibling index without realizing it. I'll push this fix in the next day.

Please, when you can, verify the scroll issue is happening, and this isn't an issue with the key input or bindings. If your single tap works, but the double doesn't, then, I for sure, need to take a look at the key management script that runs that. It should give you a .18s frame time window to double tap the key after you tap it once to activate the double tap.

Also, I'm loving your take on the compass art. It is far cleaner, more immersive, and looks realistic.

Finally, here is a video of the finished replication of the full screen interactive map mode from classic. Now, you can, just like in classic, move the map around and hover over buildings to get their generic or unique name based on their discovered state.

My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

Post Reply