Disclaimer

Black Dragon is MY Viewer, i decide which feature i want to add and which to remove, i share this Viewer to show the world that user base size is not important, i do rate quality by effort, thought and love put into the project, not some rough estimated numbers. I consider feature requests only if i you can name proper valid reasons i can agree on. It is my (unpaid) time i'm putting into this project, i'm not here to cater to every Joe's desires.

Friday, October 23, 2020

Black Dragon 64x - Update 3.9.1 "Visualizing Dragon"

 So here it is! 3.9.1. The update that fixes the last few reported issues and then immediately breaks everything again by merging LL code. YAS!



Counting to these reported (and fixed) issues are the inability to move notifications from "Do not show" to "Show", the Profile window not being able to be closed with CTRL + W, the Derender list clearing when double-click teleporting inside the same region, animations not being able to be played backwards anymore and a nasty rare crash when image caching fails.

That's basically it already for this update.... BUT WAIT there's more! The advanced complexity information window gets a new tab, called the "Performance Report" which is a first step towards a general breakdown with a direct list of what specifically is unoptimized on your avatar.

Right now its very basic still but i think you'll get the idea what this is going to be. You get a list of the main stats of your avatar, such as complexity, polycount, object count, face count, texture memory usage and so on. All of these have a "limit", this isn't a hard limit but rather a soft limit which when reached will scream at you with a big red glowing dot telling you that this is bad. All of the reports are being combined at the bottom to an overall summary of your avatar. Right now it's pretty simple as you can see but i hope to extend it to include some more specific information and possibly even have comments on each section which might or might not give you hints at how to improve certain aspects of your avatar.

The hardest part about this is choosing the "limits". Complexity, polycount and memory usage as well as projectors, animesh and media were pretty simple and obvious. The complicated part where i am not sure yet are things like object, face and texture and light count. Generally you want all of them as low as possible, though in themselves they are not necessarily bad. You can have 1000's of objects and 1000's of faces and still have a somewhat decently running avatar but that does not change the fact that incurring thousands over thousands of nested draw calls is bad. Speaking of the best possible thing, you obviously want your avatar to be a single object with a maximum of 8 faces. This would already limit the texture count to a maximum of 8 diffuse, 8 specular and 8 normal maps and thus the maximum usable texture memory to 96MB (24x4MB). Obviously this is an unrealistic expectation in Second Life since we want interchangeable clothing at the very least, which means i had to choose non-gaming standards that still keep the counts low and make sense. Arguably 320 faces isn't exactly... "low", in  fact that's so high anyone's heart who had to optimize something for a proper game would probably skip at least 10 beats or outright fail. Again though this is taking SL into consideration, having lots of faces is technically bad but doesn't immediately end the world. Seeing my avatar have 222 faces was quite shocking and i'm unsure whether this is a calculation error or an issue with faces on meshes. I know you can set faces for meshes but i do not know whether SL still internally counts them as having 8 faces even if you give them less, which is why i chose 320 faces (8 faces for each of those 40 objects) for now. As time goes on i will obviously spend more time on this and adjust numbers as i see fit.

With that out of the way, let's talk about the two elephants in the room. One already demolished half the interior, the other one is going for my porcelain room.

I've had increasing amounts of reports that people couldn't download the Viewer or have gotten reports of potentially malicious content (most often due to Windows Defender). This release i've gone the extra step to scan the release packages several times to make sure Defender doesn't do anything awkward for me, then also submitted the releases to Microsoft to have them test them (and hopefully update the Defender database to include these as clean files) and i've downloaded the files twice from GDrive to make sure Chrome isn't blocking it and Defender isn't throwing any hissifits either. Neither of them made a noise. So if you still get a warning or even a blocked download, you might want to add it to the whitelist (don't ask me how, i have never done it since i've never gotten to the point this was required).

The other thing being that this is another release with lots of all-touching LL code merges. I've already found right-click editing crashing the Viewer and fixed it but i suspect there's a lot more broken than just that but i can't just sit here and wait for things to break otherwise these updates will never happen at all. I believe that if there is something broken you'll find it. Also, this update contains some necessary fixes so waiting any longer is only detrimental for the Viewer. I'm not Firestorm after all, i don't want to let you wait 6 months for fixes when they have been fixed the very same day they were reported. 1 month is already annoyingly much but i always feel like i'm missing something... or... something could come up right after i made a new release available. (Which it ALWAYS does)

Oh look! It's a third... oh... he's stomping over my flowers. Well fuck. I feel the need that a few things, especially regarding help and support needs to be changed around. I'll spend some time investigating how to tackle this, most likely moving the support channel in Discord around, adding a new one and also investigating a bot setup so i can force people to suck on that welcome and FAQ channel first before posting anything. I'll probably also rewrite the guides that i've already wrote and possibly add new ones in hopes to prevent more questions before they even get asked so i can filter down the amount of help needed to something that allows bringing some organization in for better viewing and possibly also for better insight for the user.


And with that, thanks to all the new Patrons and the old ones who keep supporting my work! The Viewer would be dead without you.


This time there have been so many good pictures around, i don't even know where to put them all. I suppose i'll split them for this and the next release so i got reserves in case until next time there aren't many good ones.

By Arietu

By Seicher Rae

By Spiritus (Spectris Audax)

By Kissmebaby Allen

Sunday, September 20, 2020

Black Dragon 64x - Update 3.9.0 "Visualizing Dragon"

 This one was quite plagued with fails.



Originally this update was planned yesterday, exactly one month after the last one but the merge with the latest code did bring quite some problems... and i don't mean like a broken button or something... no. All baseline animations were broken, didn't play and basically most actions like jumping and sitting got you infinitely and permanently stuck. Also there was a nasty crash whenever someone (including you) played the standup animation after falling from great heights. This made the Viewer basically impossible to use properly. Cracking down on this one cost me a few hours but trashing and redoing something hasn't been all too rare lately.

In fact the entire month was basically riddled with issues like this. As some of you may have noticed i've dabbled a lot in VRChat lately and started working with the Unity Engine. As much as i hate the Unity Engine its usage is quite "user friendly" although extremely complex. I'm saying that from a developer point of view though. The way the editor works though and what's possible with it and how easy it is was very surprising although a welcome one. In fact many of the things i like so much i want to bring them to SL. If anything this has got me quite some inspiration what else i could do with the UI. Particularly "Drag & Drop" is a big thing in Unity and i'd like to make more use of that in SL as well. In Unity you can basically drag any asset and drop it on any fitting UI Element. An animation preview with a dummy but want to see your avatar? Just drag your Avatar into the preview window and viola, it will be previewed with your avatar. Great. Want an animation to play in this state? Just drag it into the motion box. You can basically drag anything anywhere as long as it belongs there. We do kind of have this in SL already but i feel like this could be extended in some places. For instance we can Drag & Drop textures into texture pickers. How about dragging animations onto your avatar to play/preview them? We can already drag objects onto our avatars to attach them. How about dragging EEP presets into the world to apply them? Just some ideas to start. Unity also has a simple animation editor build in which is quite powerful though and can even translate basically any animation from any skeleton to another as long as they have a similar structure. Looking at their animator has given me some ideas how to tackle my own Animator and how to possible solve the UI look issue.

Further on Friday's meeting i also suggested a new effect to play with that Unity allows, it's called "Scrolling Emissive" there and it basically does what it says, it uses the Emissive Mask but instead of making everything emissive as per the texture's definition, it has a small configurable area that "scrolls" through from one side to another, fully configurable speed and direction of course. We already have emissive and adding this would be a very simple addition to the emissive shader as well as adding a couple options for the direction (which would be the speed at the same time, think of it as the texture offset options), possibly an additional brightness slider, scroll area and so on. It's a very simple thing and wouldn't hurt anyone, wouldn't even cost performance really.

Here's the effect in action. It's simple but looks really great. This could be used for many great things.


Currently this is only possible by scripting the diffuse texture to animate which also moves ... well the entire object's texture making it basically unusable for this unless you make it a separate layer, which introduced a whole host of more issues and a big performance cost.

It seemed like the Lindens seemed genuinely interested. Similarly they seemed interested in a volumetric cloud feature i suggested in the previous meeting. Maybe there's still hope we'll get these some day.

Anyway. Back to the update itself. I consider the update quite important, not only does it finally bring in the latest release code from Linden Labs with a good chunk of behind-the-scenes improvements, it also brings a couple bugfixes. Most noticeably (for compilers though) it brings the move to Visual Studio 2017. I did merge this last month already but i was facing massive performance degradation which forced me to drop it. This time however it seems like performance is equally good if not even slightly better. The move to VS 2017 also means for you as user that the Viewer will no longer require Visual C++ Redistributable 2013 64bit, instead it will now require Visual C++ Redistributable 2019 64bit, also often called the 2015 - 2019 package. I updated the pre-download page to link to that one instead. Make sure you install it if you don't already have it.

Further the update includes a fix for a nasty crash when switching water presets as reported, this was due to the water preset being loaded as sky preset which put the Environment into an invalid state and trying to transition from this into the next water preset caused it to crash. Funny times.

I've also added all the latest Patrons as usual and fixed a some longstanding compiling issues (that are probably not interesting to you unless you compile the Viewer yourself, which i hardly doubt anyone does). Lastly i added all missing tooltips to the Machinima Sidebar and brought all Display tab tooltips to the Machinima Sidebar so it uses the new fancy tooltips to display information about all the available features and options.

Most of the rest of time was either spend outside of SL or trying to do some improvements that sadly didn't work out. I had hoped at least some of them would make it such as the option to only show bones in the Poser that are actually rigged, reducing the clutter a lot and only showing bones that are of interest for your avatar. Sadly LL's underlying code regarding determining "rigged bones" is... random at best.

But i'm planning more UI improvements. I've spend some time in Blender (the 2.8.0+ versions) and i'm genuinely interested in their ways of presenting action information. They have small icons and a short action tip at the bottom of the screen always giving you a quick overlook over your actions or additional features. For instance if you hold down middle mouse to turn the camera, it shows the Alt key at the bottom, telling you that you can hold it to change to "move camera" mode. I very much like this subtle help and would like to investigate some ways to add this to the Viewer. Also the way the tools are presented sparked interest. Toolbar buttons (much like we already have) instead of in the tools floater as buttons, this would free up a good chunk of the build window in general and would make these tools available regardless of its visibility or current mode. I know you don't use this Viewer for building because it isn't made for building (just because it doesn't have copy & paste object properties) but i use it for building and i'm quite happy with it. It could use some extra love too. We'll see how that goes. I will also investigate a way to convey more UI features to the users with the Blender style icons, such as CTRL + Right Click to reset an option. Most people don't know about these things and there's hardly a good place to tell them...



Anyway, as usual if you find any issues, please report them (preferably in the Discord channel) where they can be easily tracked and responded to.

For Patrons i'm planning to extend the "store-in-login" deal to basically "anything-that-makes-sense-on-login". I'll update the Patron page when i have some specifics what can be put on the login screen. Remember that i don't want to make the login screen another news feed like the original is. So i gotta be careful how i add more stuff to it. Generally though you'll be seeing some more possibilities soon though, people have been asking for nice regions (without a shop) or possibly blogs too. I'm personally not a fan of blogs but i suppose i'm a bit different there, i don't read fashion blogs, i have my own fashion. Nekkid snek fashion. But i figured you like to read fashion blogs, especially humans do.

Lastly, for the past years the right-click pie menu has run rampant and over all these years i didn't manage to reproduce a single crash while there are people out there who can easily reproduce a right-click crash with a 100% chance, over and over. If you are truly willing to help me catch this issue i can give you an instruction how to help me get to the bottom of this. Generally this will require you to install Visual Studio to be able to "debug" the crash when it happens. Visual Studio adds the ability to jump in "just in time" as the crash happens and point to the exact line the crash is happening at. The callstack would be a great help to get some directions from where this is coming from and what might be happening. I can optionally provide you with the library and compile files that might be required for the debugging to spit out a useful callstack, i can give them to you if required. So if anyone is truly up for investigating this and has some time at hand and some patience, message me and we'll have a look into this. Note that you need to be someone who sees somewhat semi-frequent crashes when right clicking with pie menus. The easier and more reliably you crash, the better. Anyone can do this but checking whether the crash is fixed can take some time depending on how reliably you crash.

Thank you very much for your continued support!

By Spectris Audax


By Loverdag


By CassandraMiddles

Wednesday, August 19, 2020

Black Dragon 64x - Update 3.8.10 "Enhancing Dragon"

 The TLC (Tender, Love & Care) DLC (only 9.99$)



What, it's already a month again? Jesus, i did lose track of time there. Well this update is jampacked with fixes and improvements! I did try to get some experimental things in but... well they turned out too big for what's supposed to be a bugfix/improvement update. This update also doesn't come with the initially planned LL code update. The one i merged forced me to go to Visual Studio 2017 and rather than the expected performance improvements that usually comes with updated tools ... it was a disastrous massive performance drop, one i simply cannot accept after EEP already eating a good chunk of FPS.


The update comes with lots of other improvements anyway! So let's see what this update contains.


Let's start with the UI changes. I've gone through all preferences tooltips and improved them, i made tooltips support linebreaking so i could organize them better, the new tooltips look much better, cleaner and generally offer some extra information in comparison to the old ones!


This should make reading them and getting information needed from them much easier. In the same vein of improving readability i also changed the color picker alpha texture, now its a diagonal slice which work regardless of the color display shape. This is now used in the Edit window to show transparency.

While readability is all nice n dandy i've also improved the usability of several things a good chunk. Starting with sliders which have been quite an annoyance for a long time due to their... erratic and unprecise handling, especially since the Viewer uses them a lot. Sliders will no longer immediately change their values when click-dragging the thumb, they will now only change their value if you actually move your mouse. On top of that you can now type in ANY value into the text entry, regardless of what the slider allows in increments, min/max are obviously still capped but you can now type in 555 when the slider only goes in 1000 steps. Note that the slider itself will continue to go in 1000 steps, this ONLY works for typing into the text field.

While going through preferences i've also removed a couple broken options, and added several new things. You can now find seveal "open" buttons in Preferences - Viewer. These will open the cache, logs and viewer log file directories respectively, this should make it a lot easier to get to your settings, cache and viewer logs, especially for me since i don't have to explain you how to get there.


I've also added delete buttons as you can see, to clean your viewer logs, you should probably do that from time to time. Every week or so.

While doing a few rounds through the code i've also cleaned up some messes here and there, simplified some code parts and fixed a couple other issues. Mostly reported issues such as not being able to load and delete presets with a name exactly like a default preset. Doing so also magically fixed (it seems) the issue with name encoding. From what i've tested, it seems to be (once more) like it doesn't matter anymore what the name of your windlight presets is, encoded or not, or both. You should now be able to load them all again, if you still find one that's causing issues, please report it to me. With that the import function slowly loses usefulness but i've not forgotten about it, instead i've actually fixed it and it should again work, even better it now can import both new EEP and old Windlight presets (for whatever reason you'd want to import already imported EEP presets). I'm also thinking of doing a multi-import.... but maybe later.

Now the interesting bits about this update. Rendering. Quite a few of you probably noticed by now that something is... off with water reflections. They do not match up when rotating your camera and they do not reflect alpha masked objects. Well, needless to say they will now do exactly that! Screw dem bugs!



There's also a hidden little new feature, you can find it when previewing any animation. You'll find a slider there now that allows you to go through your animation and jump to any point in it, even in between keyframes! This is the very first step to an animator tool.


There are lots and lots more small improvements everywhere but they are far too insignificant and too many to list here. So i wont, but you can check out the changelog to see all of them.


Lastly, i'm aware that Bitbucket discontinued support for Mercurial Repositories, i didn't expect them to lock down the entire repository though, just delete the source or something. This means i have to move a lot of stuff, including some formal stuff for the TPVD inclusion to here unless that's not okay, in which case i'll have to seek out other places to put it. I'm sorry for the inconvenience this has caused regarding downloads, this is why i had to push the update today and get as many things done as possible in a short amount of time, so expect possibly broken things.


As always, thank you very much for your support although the patronage has been declining lately. If i missed anyone, please please please do tell me!



By CassandraMiddles

By KT Syakumi

By Kissmebaby Allen

Thursday, July 16, 2020

Black Dragon 64x - Update 3.8.9 "Enhancing Dragon"

Some more bugfixes for some reported issues, namely the Fixed Environment editor breaking upon changing settings too fast and having increasingly longer freezes with growing preset lists when switching between presets. Really nothing fancy yet.

Wednesday, July 8, 2020

Black Dragon 64x - Update 3.8.8 "Enhancing Dragon"

I guess windlight transitions were broken. Fixes'n stuff.

Tuesday, July 7, 2020

Black Dragon 64x - Update 3.8.7 "Enhancing Dragon"

It's getting frustrating to fix one bug just to add 10 more which when fixed break what you've fixed before, this has been going on for 4 days now.

I hope this was the last of it and yes i know that presets may behave weird or reset under very special conditions when mixing local and inventory presets, i simply cannot fix it as the previous 3 updates clearly proved, i keep breaking whatever i've fixed before so i'm giving up on it. I'll simply leave it as is right now and we have to live with the fact that a very certain order of operating the editors causes your Windlight to be reset. I... just want to go back to Windlight... EEP is getting worse and more complicated with every day i spend looking into it.

Sorry for the inconvenience.

Monday, July 6, 2020

Black Dragon 64x - Update 3.8.6 "Enhancing Dragon"

And more bughisses and feedback stuff.


Editors should now display the preset name you are working with (again), inventory presets are listed in the presets dropdown (again), an RLVa crash was fixed, the RLVa restrictions window finally displays restrictions again (after many years), the group join fee shouldn't be cut off anymore and the some wonky behavior with the RLVa camera preset should now properly behave again.

If you still find yourself unable to change the camera presets you most likely either have something attached that has taken control of your camera and forces your camera into a certain position, which might block presets and more likely you are being blocked by the RLVa restriction @setcam, which prevents you from switching camera presets or alter them. In both cases you should deattach everything. EVERYTHING. Not just your HUDs, absolutely everything. However before you do go into the RLVa menu (Dragon - RLVa) and select Restrictions and check whether a restriction to your camera is applied via @setcam and which object is doing so (it will display the name if its an attachment or the UUID if its something inworld). In the case of an RLVa attachment you'll have to detach it and relog unless you can toggle the @setcam restriction somewhere in said attachment, i doubt it though.

Sunday, July 5, 2020

Black Dragon 64x - Update 3.8.5 "Enhancing Dragon"

Rapidfire PEW PEW.


There were bugs that i snaked in. I hissed them out and now the Viewer can slither on.

Welcome to Snekdate #1, bugs hissed: ALL OF THEM.


Water specularity changing randomly. Hissed. Up and down arrows not working anymore in dropdowns. Hissed. Preset checkboxes not checking anymore. Hissed. Inventory presets ignoring windlight transition times. Hissed. Usability. Hissed.

SSSSSsssss SSS SSSS ssss SSSssssSSS

Snek now deserve boop to da snoot!


Saturday, July 4, 2020

Black Dragon 64x - Update 3.8.4 "Enhancing Dragon"

Phew, this took long.

I just wanted to take a week or two off and get to do some stuff with friends and poof a month was gone, then i started hammering on stuff that broke spectacularly apart and required a lot of time to fix but it was worth it!

This update brings you a special little something that i decided last minute to add haha! (on top of the other 5 trillion things i wanted to have done before i release this)

So here we are a brand new update packed with the good stuff!



The whole time i was "away" i kept following the various EEP discussions and had a close look on what people think and there was a lot to chew through here, this update brings you the first good chunk of additions and improvements. Reintroducing Day Cycles! You can finally tiggle toggle that Day Cycle checkbox and use them again, all of your old ones should work unless they have an invalid name, in that case you'll have to go into the folder and rename them... or... you know yell at me again and i'll do it for you.


With it of course came a million bugs that needed fixing, all of which i have hopefully fixed by now and hopefully also replicated the old behavior as much as possible.

Next topic was the absence of a lot of old presets all of which have been brought back! Sky, Water and Day Cycles should all be back, all the ones we had in previous Black Dragon versions.

A big problem of EEP is that people are seemingly confused despite my best efforts making the Windlight editors look as close to the original as possible while adding all the new options into places they make sense, as you may have noticed by now the Sky editor has had a few options shoved around in its tabs to make space and to group them a bit more logically, i know this takes getting used to but lets be honest, we all just open it and start sliding sliders and see what they do until we like what we see, no need to know the exact background calculations of every slider but i did hear one big part out and that was apparently the biggest confusion of them all, the "Sun Position" which was previously simply named Sun Angle and East Angle. You have to agree that these make little sense really, they should have been Sun Angle Up/Down/Left/Right or North/East Angle respectively. Which is why "Position" made much more sense since you're changing the position of the sun in the sky. Nonetheless i relabeled them to Sun Angle again and took this opportunity to add "Scale" to it since apparently people didn't know what the "S" slider did. Now you know, its Sun Angle and Scale.

Another request I've heard a lot was changing the Windlight transition time.... and well its back! Yes you can finally set the transition time again, this time however i removed the transition checkbox since.... lets be honest, you can just set the time to 0, does exactly the same and saves quite some code.

Other changes include the relabeling of "Projector" shadows to "Sun, Moon and Projectors" to make it crystal clear that this is not an option where you choose between Projector shadows and Sun/Moon shadows. I mean just think about it, why didn't your shadows vanish when you used Projector shadows? It doesn't make any sense!

More changes include some SSAO and Shadow softening tweaks, shadow precision tweaks (especially at high altitudes), bringing back the old pre-EEP shininess (YES YOU HEARD THAT RIGHT), a long standing issue with rigged mesh shadows flickering when the mesh swaps through alpha states (poor Sergal avatar is finally fixed) and finally light reflections on water coming back and not just that i also fixed the weird light reflections on the shoreline when close to water with lights attached to you.

Pre-EEP (new)
Post-EEP (old)



You can now also set the shadow resolution up to 8K!

This update also brings the image decoder OpenJpeg to version 1.5.1. You may see drastically increased texture rezzing speeds too!

And if you thought this can't get any better, i have a very special gift for all RLVa users. I updated RLVa to the latest version featuring EEP support. I played some Fright today to see if RLVa works.




By Altcake

Thursday, May 14, 2020

Black Dragon 64x - Update 3.8.3 "Enhancing Dragon"

Here we go, the last update for probably the rest of the month.


Don't worry, i'll be monitoring any issues that come up and work on them when i get some time but starting at the 16th i won't be active for a while, big stuff is coming up and it will keep me busy for a good week or two. So lets hope all the baddies have been fixed in this update!


This brings me to the actual changes of this update.

Starting from now on any snapshot resolution above 4K is unsupported and is locked by default. You'll find a new option that allows unlocking resolutions for up to 12K at your own risk.


The bone camera dropdown has been added to the preferences window, no need to open the camera controls anymore, everything can now be configured from the preferences window. Hooray.


Dramatic Tail Wag Intensifies

While at the topic of camera related stuff, both bone camera and the cinematic camera have been slightly changed to be subject to camera smoothing which means they will now behave slightly different than before.

Also, using both at the same time will no longer freak out the camera and make it stick to 0 0 0.

Next up is EEP/Windlight (again). Daycycle editor has been slightly changed, all controls should now disable when no preset is selected in the preset timeline to visualize that the controls wont do anything at this moment, hopefully reducing confusion when and why sliders wont do anything. The tabs have also been reordered from lowest on the left to highest on the right, since we read from left to right after all, right?

Sun and Moon position sliders should no longer move the Sun and Moon diagonally and instead rotate them properly straight.

The "Environment" tab in About Land should also now be fixed and contain the new EEP controls and the Sky/Water editors should hopefully be less crashy for those of you who have been randomly crashing using them. I've also increased the Sun/Moon beacon size to make them better visible.

Several people also had the strange issue that after a graphics initialization failure they could no longer get Deferred Rendering to work, this is because Deferred Rendering requires a few extra options to be enabled beforehand, options that can no longer be found in Black Dragon since many years because they were originally completely removed, but rebuilding the Viewer on the LL Viewer brought these back and failing the initialization disables them without giving you the ability to re-enable them unless you know the debug settings to look for. Fear no more, Deferred when toggled should now automatically toggle these on putting this issue to a quick rest!

Also a crash introduced in the rebuild when opening the "Window Size" window was also fixed.

Lastly one particularly annoying thing that has been reintroduced with the rebuild was fullbrights ignoring atmospheric haze, needless to say that i do not agree that fullbrights should do this. With this update they will be fogged just like anything else, they remain light-less of course but they will vanish behind fog just like any other object now. I mean a TV in real life doesn't infinitely shine through thick fog just because its very bright now does it? If you're wondering what i'm talking about.



Pretty sure you agree that it looks ridiculously stupid right?

Note that beginning with this update i've added the VCRedist 2013 64bit package to the package, it will automatically start after the Viewer is successfully unpacked, this should hopefully reduce the "I'm getting an error on startup" cases drastically.

As always, thank you so much for your support!

By Spiritus Natus
By Syakumi