Jump to content
LaunchBox Community Forums

The Big Ol' Retroarch Shader Thread


alexis524

Recommended Posts

I've been using CRT-Hyllian Multipass lately. I like CRT-Hyllian Glow but I've found that it doesn't do too well with non-integer scaling in most cases (which is generally what I'm using because I'm on a 1080p monitor) whereas Hyllian Multipass looks great even without integer scaling. CRT-Easymode Halation is good for that as well. Hyllian is also extremely lightweight which is nice.

42 minutes ago, johnnyskullhead said:

do you use the F1 to access quick menu ?

Yep. In the quick menu go to the shaders section -> glsl shaders (certain things aren't compatible with cg shaders, like Glupen64) or slang shaders if you're using Vulkan -> CRT and then just mess around with them. Shaders are very much a matter of personal taste.

Link to comment
Share on other sites

6 hours ago, lordmonkus said:

Royale-Kurozumi is still a very good shader but it does require a decent GPU and it has an awful glow effect that is not so easily removed anymore

Yeah I'm not sure what the deal is with that... the settings adjustment I put in that first post doesn't seem to do anything anymore... I went through and tried changing a number of the passes and it didn't seem to have much if any impact on it.

Link to comment
Share on other sites

4 hours ago, johnnyskullhead said:

Its a Gigabyte Nvidia Gt 730 Graphics Card (2GB, DDR3, 64 Bit, PCI-E)

 

are the shaders accessed via launchbox or from retroarch directly

 

do you use the F1 to access quick menu ?

 

Thanks again

It should be good enough for most shaders but you will have to try em out and see how they perform for you.

Link to comment
Share on other sites

  • 10 months later...

Been messing around with the 199X shader by "Birm" (199X-MAIN.cgp specifically). CRT-Hyllian-Multipass has been my go-to shader for quite a while now, and I think I still prefer it for some platforms, but I quite like 199X for Atari 800 and PSX so far. It requires the Analog Shader Pack Volume 3 as a prerequisite. Both the 199X shader folder and the Analog Shader Pack Volume 3 folder have to be placed in the base Retroarch\shaders\ folder (and not say Retroarch\shaders\shaders_cg\ for example).

These all have to be viewed fullscreen of course. And here's a zip of all the below for quick comparison: 199X Comparison.zip

Alundra - 199X:

5a595d7ce4773_Alundra-01(199X).thumb.jpg.06eceed495fd1d27db671e144ebcc476.jpgAlundra - CRT-Hyllian-Multipass:

5a595d9548737_Alundra-01(HyllianMultipass).thumb.jpg.d3023b3e56af341a268a13ce0ccc8c29.jpgCrash Bandicoot - 199X:

5a595dd1a79f9_CrashBandicoot-01(199X).thumb.jpg.f89c3467089c4fd1ec46a8683fe857ba.jpgCrash Bandicoot - CRT-Hyllian-Multipass:

5a595dfdf33ca_CrashBandicoot-01(HyllianMultipass).thumb.jpg.e6d29e966a1e3d87ca380a41ee6b45f1.jpgDino Crisis - 199X:

5a595e35d9620_DinoCrisis-01(199X).thumb.jpg.16ce1ae0c7d98a2638fdbd644d9e9531.jpgDino Crisis - CRT-Hyllian-Multipass:

5a595e47dd2f2_DinoCrisis-01(HyllianMultipass).thumb.jpg.2a4806824b27a67df60b1482eb99d978.jpgFear Effect - 199X:

5a595e5b73820_FearEffect-01(199X).thumb.jpg.a0b006ab4c7990e010057c4b4a541af5.jpgFear Effect - CRT-Hyllian-Multipass:

5a595e72d7a5f_FearEffect-01(HyllianMultipass).thumb.jpg.4aa90305b4f5512f121186690f38e53b.jpgGex - 199X:

5a595e8bf3806_Gex-01(199X).thumb.jpg.5e0e6bd319728a3919b9932d672561e7.jpgGex - CRT-Hyllian-Multipass:

5a595e9d5901d_Gex-01(HyllianMultipass).thumb.jpg.8a7c95b409a07d8d32d5ed7529c1b2a5.jpgSilent Hill - 199X:

5a595ec30c995_SilentHill-01(199X).thumb.jpg.21e7cd28ae79eef121e24b364fd90613.jpgSilent Hill - CRT-Hyllian-Multipass:

5a595ed2c65f0_SilentHill-01(HyllianMultipass).thumb.jpg.0d3f4ebb82135cc1745063a83555efa5.jpgSpyro - 199X:

5a595eeb85291_Spyro-01(199X).thumb.jpg.8470074f965e8da6d0166b9493e77938.jpgSpyro - CRT-Hyllian-Multipass:

5a595f0680ccc_Spyro-01(HyllianMultipass).thumb.jpg.3cfe31ff5816539ce65ea6ba89e683d9.jpgVagrant Story - 199X:

5a595f1e64539_VagrantStory-01(199X).thumb.jpg.c7249affd031a94ced1dca042caede74.jpgVagrant Story - CRT-Hyllian-Multipass:

5a595f33353b2_VagrantStory-01(HyllianMultipass).thumb.jpg.63247592c028cb033885cd32ff961206.jpgVagrant Story (2) - 199X:

5a595f4e5f26d_VagrantStory-02(199X).thumb.jpg.91675a20516d2a561a6efbe086350850.jpgVagrant Story (2) - CRT-Hyllian-Multipass:

5a595f5f2a427_VagrantStory-02(HyllianMultipass).thumb.jpg.891d235572e2274fab39e3b1e6aeba37.jpg

  • Thanks 1
Link to comment
Share on other sites

It actually looks quite nice elsewhere as well. 199X Comparison 2.zip

Albert Odyssey - 199X:

5a596b04bfcd0_AlbertOdyssey-01(199X).thumb.jpg.e7dc62068cb0f431571c2f5f9241997d.jpg

Albert Odyssey - CRT-Hyllian-Multipass:

5a596aa65fc0d_AlbertOdyssey-01(HyllianMultipass).thumb.jpg.c4c25a5f7b3ec00211a6b53400c5eb84.jpgLegend of Oasis - 199X:

5a596ae739ad8_LegendofOasis-01(199X).thumb.jpg.bff5224108673369be52489bcdb5c4e2.jpgLegend of Oasis - CRT-Hyllian-Multipass:

5a596b19ddcb6_LegendofOasis-01(HyllianMultipass).thumb.jpg.0ce42d177d5475d4f317390cfe6fe58a.jpgBlackthorne - 199X:

5a596b50a3964_Blackthorne-01(199X).thumb.jpg.353f4b43ead2b4bf8109bf092876fd54.jpgBlackthorne - CRT-Hyllian-Multipass:

5a596b61af5bc_Blackthorne-01(HyllianMultipass).thumb.jpg.ab4eaf68663da2fcde541be4984d1ccd.jpgChrono Trigger - 199X:

5a596b76f09e5_ChronoTrigger-01(199X).thumb.jpg.b7f18b66aa48c19109ded1da52a3d55f.jpgChrono Trigger - CRT-Hyllian-Multipass:

5a596b889055d_ChronoTrigger-01(HyllianMultipass).thumb.jpg.cd8d50821b19f6496bfa66164c7c1d23.jpgComix Zone - 199X:

5a596ba58d70a_ComixZone-01(199X).thumb.jpg.ab24b7540ed980060a867358eba38121.jpgComix Zone - CRT-Hyllian-Multipass:

5a596bb803c1a_ComixZone-01(HyllianMultipass).thumb.jpg.b06812ad6d77572ea1dd964101ad3967.jpgContra Hard Corps - 199X:

5a596bd359523_ContraHardCorps-01(199X).thumb.jpg.9b8c6153c7f6458b16ddf2c120dbe9f4.jpgContra Hard Corps - CRT-Hyllian-Multipass:

5a596be6e5ac1_ContraHardCorps-01(HyllianMultipass).thumb.jpg.af63efc752192690fc99b1b3c7e3ab5c.jpg

Link to comment
Share on other sites

I ended up making a customized version of this preset. I found that it had a tendency to flatten similar nearby colors which I wasn't too fond of. If anyone wants to use it, you can drop it right in the same folder as the rest of the 199X shaders.

199X-MAIN-Zomb.cgp

Comparison 3.zip

Chrono Trigger (normal):

5a5a7afe4056e_ChronoTrigger(Normal).thumb.jpg.7cdc8dc3b5e29b2278a3802fd9b5bce8.jpgChrono Trigger (custom):

5a5a7b128c608_ChronoTrigger(Custom).thumb.jpg.8b837aac27a959ced8c01e9181a77f95.jpgMetal Slug 3 (normal):

5a5a7b56a1fb5_MetalSlug3(Normal).thumb.jpg.00ab66b4d54cef7f77e13bb348d420aa.jpg

Metal Slug 3 (custom):

5a5a7b3b85251_MetalSlug3(Custom).thumb.jpg.d54659f0e131fb1eac1ba9949c08c1a9.jpgResident Evil 3 (normal):

5a5a7b7ec70a5_ResidentEvil3(Normal).thumb.jpg.a77ab9f906d09766fb2c6eccc222297e.jpgResident Evil 3 (custom):

5a5a7b93729f3_ResidentEvil3(Custom).thumb.jpg.9a80915fae82053a2dc83ce6abb5b143.jpgDungeons and Dragons: Shadow Over Mystara (normal):

5a5a7bcfbff11_DDSoM(Normal).thumb.jpg.a4fe958e50da9e4b121b562209782bd3.jpgDungeons and Dragons: Shadow Over Mystara (custom):

5a5a7bf18fe24_DDSoM(Custom).thumb.jpg.260a7cb464863bd59aab88083bafbd07.jpgVagrant Story (normal):

5a5a7c12d7f24_VagrantStory(Normal).thumb.jpg.1377294aaa3b37f275f0b617ea744324.jpgVagrant Story (custom):

5a5a7c2940315_VagrantStory(Custom).thumb.jpg.d213c9673dcf7700bb1aee51e29190ee.jpg

  • Like 2
Link to comment
Share on other sites

Is there a way to toggle the shaders off and on while playing?  (I don't see a hotkey).  I do see a hotkey for "next shader" and "previous shader" but it doesn't seem to do anything.  It would be nice if you could toggle between a set of favorite shaders, is this possible?  Thanks!

Link to comment
Share on other sites

You can sortof do that, but it's kindof complicated. The simple method is to just copy whatever shader presets you want to flip between into your base shaders folder and then press the next/previous shader key, but this can kindof create a mess since 1) you'll also have a retroarch.glslp/retroarch.cgp shader and possibly other stuff in there that you probably don't want to include and 2) you might want to just do a couple specific shaders for a specific core as opposed to just all the shaders you like (what looks good for one situation doesn't necessarily look good for another).

A better, but more complicated way, is to copy the shader presets you want to alternate between into a new folder, and set that folder as your "video_shader_dir" folder, either in an override or in your base config. I would recommend doing it via an override if you want to try it. You'd need to make a subdirectory in your shaders folder, and name it something like "SNES Favorites" or whatever. Copy whatever shader presets into it that you want to switch between. Then, in a core (or game) override add in lines with:

video_shader_dir = ":\shaders\SNES Favorites"
video_shader = ":\shaders\SNES Favorites\name-of-shader.glslp"

Whichever shader you specify will be what it defaults to when you load that core. Then, pressing the next/previous shader key will only flip between whatever shaders you've copied into that folder.

...I don't recommend doing any of this unless you know what you're doing.

As far as just toggling them on and off via hotkey, specifically, no. But you can go into the quick menu -> shaders and then scroll to "Passes", press left until it's at 0, then go to the top and select "apply changes". This will turn a shader "off".

  • Thanks 1
Link to comment
Share on other sites

18 hours ago, Cirillo said:

Finally, I found an updated post about shaders. It was so difficult! I'm currently using CRT-aperture but I'll give a try to Hyllian-multipass!

Aperture is a good one too. Hyllian-Multipass has been my go-to shader for a long time now though. I've really been enjoying 199X though, especially after tweaking it a bit. I've converted over to using it for just about everything except for 8-bit era stuff, I think I generally still prefer Hyllian-Multipass for those.

199X looks pretty amazing for most of the later stuff though. I've been on the lookout for a good NTSC shader for a long time, but I didn't like any of the ones that came with RA.

Take a look at the trees, grass, and tree trunks here:

Hyllian-Multipass - this is sortof how we've come to expect emulators to look, super sharp pixels, just with some nice scanlines on top.

5a5d11083c28a_ChronoTrigger-01(HyllianMultipass).thumb.jpg.2af11d379cc6feea50a821d6663fd3e1.jpgThe imagery in many games, however, was actually designed with color distortion produced by composite cables in mind. They basically used the technology's flaws to their advantage - the output image was blurrier than the source, but this also had the effect of smoothing out those sharp pixels, and producing a wider ranger of color than the hardware was actually capable of (dithering).

Take a look at the trees, grass, and tree trunks again here. The dithering brings out a much wider range of gradation in color, and gives it an almost three-dimensional appearance, which was their intention.

5a5d13e1d4d9c_ChronoTrigger-01(199X).thumb.jpg.eb5b4d70feadbc168bb77cea1a429675.jpgI think Birm's shader is already really good, I just didn't like how it kindof flattened some colors (more or less noticeable depending on the scene), so I made a few adjustments to the brightness, gamma, saturation, and reduced the strength of the aperture grille slightly.

199X-MAIN:

5a5d15e6f367d_MetalSlug3(Normal).thumb.jpg.f1d9beb5b092ee9bf2b9a55a9c515c5e.jpg199X-MAIN-Zomb:

5a5d15ef28e45_MetalSlug3(Custom).thumb.jpg.e0de3d0449ec1ed461c0e89c7c67d6d4.jpg

Link to comment
Share on other sites

4 hours ago, Zombeaver said:

Aperture is a good one too. Hyllian-Multipass has been my go-to shader for a long time now though. I've really been enjoying 199X though, especially after tweaking it a bit. I've converted over to using it for just about everything except for 8-bit era stuff, I think I generally still prefer Hyllian-Multipass for those.

199X looks pretty amazing for most of the later stuff though. I've been on the lookout for a good NTSC shader for a long time, but I didn't like any of the ones that came with RA.

Take a look at the trees, grass, and tree trunks here:

Hyllian-Multipass - this is sortof how we've come to expect emulators to look, super sharp pixels, just with some nice scanlines on top.

5a5d11083c28a_ChronoTrigger-01(HyllianMultipass).thumb.jpg.2af11d379cc6feea50a821d6663fd3e1.jpgThe imagery in many games, however, was actually designed with color distortion produced by composite cables in mind. They basically used the technology's flaws to their advantage - the output image was blurrier than the source, but this also had the effect of smoothing out those sharp pixels, and producing a wider ranger of color than the hardware was actually capable of (dithering).

Take a look at the trees, grass, and tree trunks again here. The dithering brings out a much wider range of gradation in color, and gives it an almost three-dimensional appearance, which was their intention.

5a5d13e1d4d9c_ChronoTrigger-01(199X).thumb.jpg.eb5b4d70feadbc168bb77cea1a429675.jpgI think Birm's shader is already really good, I just didn't like how it kindof flattened some colors (more or less noticeable depending on the scene), so I made a few adjustments to the brightness, gamma, saturation, and reduced the strength of the aperture grille slightly.

199X-MAIN:

5a5d15e6f367d_MetalSlug3(Normal).thumb.jpg.f1d9beb5b092ee9bf2b9a55a9c515c5e.jpg199X-MAIN-Zomb:

5a5d15ef28e45_MetalSlug3(Custom).thumb.jpg.e0de3d0449ec1ed461c0e89c7c67d6d4.jpg

Looks really great! Probably I'll use Hyllian-Multipass and the 199X-Main. How do you configure the size of these overlays on the side of the game?

Link to comment
Share on other sites

1 hour ago, Cirillo said:

How do you configure the size of these overlays on the side of the game?

You don't. They're just images. The only way to alter the size would be to alter the images themselves. I made the Sega Saturn and SNES ones above, which you can find here:

And the others are in Nyny77's pack here:

If you're on a 1080p display, setting Aspect Ratio to Custom, X Pos to 240, Width to 1440, Height to 1080, and Integer Scaling to Off will give you the right size for the overlays.

image.thumb.png.536954f982a0ef9b3f4c67256cc32933.png

  • Like 2
Link to comment
Share on other sites

9 hours ago, Zombeaver said:

You don't. They're just images. The only way to alter the size would be to alter the images themselves. I made the Sega Saturn and SNES ones above, which you can find here:

And the others are in Nyny77's pack here:

If you're on a 1080p display, setting Aspect Ratio to Custom, X Pos to 240, Width to 1440, Height to 1080, and Integer Scaling to Off will give you the right size for the overlays.

image.thumb.png.536954f982a0ef9b3f4c67256cc32933.png

And for each system, I need to have one configuration file right?

Link to comment
Share on other sites

I've updated my alternate version of 199X-MAIN. In low to mid-brightness scenes it looked pretty good, but in high-brightness scenes or where lots of shades of white/gray were present it was way too bright and would blow out all the shades, so I made some adjustments to brightness and gamma and it looks better now:

199X-MAIN-Zomb.cgp

 

Comparison 4.zip

No Shader:

5a613c0c9c7f8_ValkyrieProfile-NoShader.thumb.png.916343bb0069cfb87558adb1e16160e7.png

199X-MAIN:

5a613c2493a18_ValkyrieProfile-199X-MAIN.thumb.png.8bec7d849a917fcb9d859fb91e020a3e.png

199X-MAIN-Zomb (old):

5a613c2fc922f_ValkyrieProfile-199X-MAIN-Zomb(old).thumb.png.6c8fe1816236a20775a11dbb621bd745.png199X-MAIN-Zomb (new):

5a613c3e2f958_ValkyrieProfile-199X-MAIN-Zomb(new).thumb.png.86c31c8eda968f241646095eeaf7d7ae.pngNo Shader:

5a613c520743b_VagrantStory-NoShader.thumb.png.5a55ee6eb5923254fef88de084a08124.png199X-MAIN:

5a613c7150f68_VagrantStory-199X-MAIN.thumb.png.60e74ef6f2c39c2ffa9e657fc4dfec94.png199X-MAIN-Zomb (old):

5a613caaced8e_VagrantStory-199X-MAIN-Zomb(old).thumb.png.c3325089bfa461db76d5db5abf8dd5c2.png199X-MAIN-Zomb (new):

5a613cc3479ea_VagrantStory-199X-MAIN-Zomb(new).thumb.png.e9326681027e30372778fbe87d5b15f6.pngNo Shader:

5a61500fb5882_CaptainCommando-NoShader.thumb.png.24814446ff7d141c70f018baad668c46.png199X-MAIN:

5a61503336b05_CaptainCommando-199X-MAIN.thumb.png.4cbb8a1907b80a965dce0b0bc622dd66.png199X-MAIN-Zomb (old):

5a61505e7c318_CaptainCommando-199X-MAIN-Zomb(old).thumb.png.ad2f6ee78b8d42e30fa852859c9866da.png199X-MAIN-Zomb (new):

5a61507eaabcb_CaptainCommando-199X-MAIN-Zomb(new).thumb.png.5935fbdfce0276c0bab551a63bcea92f.pngNo Shader:

5a6150a8c0921_SecretofMana-NoShader.thumb.png.70d02efa497e3f7586fc2e1711946efa.png199X-MAIN:

5a6150c81cc85_SecretofMana-199X-MAIN.thumb.png.63d0205ee823b1e43c04352003cb91e3.png199X-MAIN-Zomb (old):

5a6150f28e744_SecretofMana-199X-MAIN-Zomb(old).thumb.png.66b3ef1c20bea3583543bbd5808218f1.png199X-MAIN-Zomb (new):

5a61511158489_SecretofMana-199X-MAIN-Zomb(new).thumb.png.362eefdb66e0be44eb1af17974f2c2fd.png

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Stillllll messing with this thing haha

There was a slight red boost in the previous version that made certain colors look browner/redder than they should, so that's been fixed. Contrast in low-light content is also slightly better now.

I also made a second version (199X-MAIN-Zomb-V2) that's brighter, more color-neutral, and does not have the vignette effect. I prefer the normal version personally, but it's a slightly less-stylized look that some may prefer.

199X-MAIN-Zomb.cgp

199X-MAIN-Zomb-V2.cgp

No Shader:

ddsom-180120-105500.thumb.png.b18733d819d47e7332e9932d6b587b92.png199X-MAIN-Zomb:

ddsom-180120-105507.thumb.png.1ca11d9cfd3b295567c84582714aadee.png199X-MAIN-Zomb-V2:

ddsom-180120-105518.thumb.png.cd4f22d86ea6bd63d491238de1a75afc.png

I've also got a ton of comparison screenshots between no shader and the current 199X-MAIN-Zomb shader over on Imgur but flipping through them in a dedicated image-viewer in fullscreen is a better means of comparison, so I've included a zip of them as well.

199X Shader Comparison 5.zip

  • Thanks 3
Link to comment
Share on other sites

So I spent most of the weekend working on this stuff, and realized in the process that all those presets I uploaded here were using absolute paths from my computer, so they wouldn't have worked for anyone else anyway... DERP!

I've fixed that, and I've made two new presets. I've also stripped out the stuff that's needed from the Analog Shader Pack version 3, so this is a self-contained package. This just needs to be placed in the base Retroarch\shaders\ folder, so Retroarch\shaders\Zombs Shaders

Zombs Shaders.zip

Neuromancer is the old "199X-MAIN-Zomb" and Netrunner is the old "199X-MAIN-Zomb-V2". The other two are the new ones.

Shader Comparison 6.zip

No Shader:

5a652a70a43e2_VagrantStory-NoShader.thumb.png.466ee683e6f6bc9a31511875cb5969ae.pngNeuromancer:

5a652a8b25f56_VagrantStory-Neuromancer.thumb.png.a3bc3999085f74a6e37285930181a5db.pngNetrunner:

5a652aa4efadb_VagrantStory-Netrunner.thumb.png.49c99af7269070f68973a2005ee6b108.pngNeo Tokyo:

5a652ad1bc375_VagrantStory-Neo-Tokyo.thumb.png.60c40798a4fa553969e309a67c8f259c.pngNight City:

5a652b13e873d_VagrantStory-Night-City.thumb.png.292033eae294cf62259cdbe3ad09871f.pngNo Shader:

5a652c53d97dd_ChronoTrigger-NoShader.thumb.png.224042778513d8c9ad534f936be5474d.pngNeuromancer:

5a652c6cec644_ChronoTrigger-Neuromancer.thumb.png.ad6e1b024279a834afaf9d1bd794a8b8.pngNetrunner:

5a652c88039f2_ChronoTrigger-Netrunner.thumb.png.c174aa94f4b6dd12bc71a2da89be67e2.pngNeo Tokyo:

5a652caa4b19c_ChronoTrigger-Neo-Tokyo.thumb.png.5e4d0822813d7e0b8a869068c4811854.pngNight City:

5a652ccac01d4_ChronoTrigger-Night-City.thumb.png.be793f168792ed064b39a3c24aa22274.pngNo Shader:

5a652da1099ec_DinoCrisis-NoShader.thumb.png.d74630f0bb6ae36176089044dbe99712.pngNeuromancer:

5a652db728c34_DinoCrisis-Neuromancer.thumb.png.542a1d9ecaddf10a9db4a19ce684e091.pngNetrunner:

5a652dc7ab585_DinoCrisis-Netrunner.thumb.png.3301ee53a254e874dc56677d4e4baffd.pngNeo Tokyo:

5a652de496db0_DinoCrisis-Neo-Tokyo.thumb.png.269b78467d404149fe970b06e23c0e73.pngNight City:

5a652df762742_DinoCrisis-Night-City.thumb.png.b98247968f1ae5a109fb81ddb5c353d6.pngNo Shader:

5a652f74b79a0_SpyroTheDragon-NoShader.thumb.png.7097fb30634f1e34f84c0c179e8e6a24.pngNeuromancer:

5a652f95239da_SpyroTheDragon-Neuromancer.thumb.png.0a57ffa3301a9684198d8e6cf6316740.pngNetrunner:

5a652fc491255_SpyroTheDragon-Netrunner.thumb.png.4b68f682604d09d0dd881de2d7751330.pngNeo Tokyo:

5a652fe177184_SpyroTheDragon-Neo-Tokyo.thumb.png.4c61f1df139a735e93e3088c6042789e.pngNight City:

5a653012048d5_SpyroTheDragon-Night-City.thumb.png.485a0fcfd0df907849440731e67b555a.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...