Jump to content

Rowdy Rudy II: POWERTRIP (Development Thread)


Recommended Posts

@Dimon12321 actually the hidden switch in the start area are things I would like to see more of, that you can access an area long before you're meant to be there - as a bonus. An other map I made is playable backwards, that is also something I would like to see more of. The barrels around the archvile is there to modulate its health, it is still as much of threat. i've lowered the bars around it a step to make it easier to hit the barrels.

 

I managed to remake my original plan for the cyberdemon, it is not lonely anymore and probably much more fun to fight.

 

I made a multiplayer area out of the last area and added more monsters, weaponds in the multiplayer setting and made the teleporter out disappear into the ceiling and bars rising to prevent egress when this mode is played, I didn't add player 2 - 4 however. This map is not really designed for that, I believe, and i can't find if it was a requirement.

 

I implemented all of your suggestions.

nh_rr2_wadV2.zip

Edited by NeedHealth

Share this post


Link to post
26 minutes ago, NeedHealth said:

I managed to remake my original plan for the cyberdemon, it is not lonely anymore and probably much more fun to fight.

Damn, another arch-vile bastard. And now telefraging is no more =( Ah, whatever.

And what does "NH" stand for?

Edited by Dimon12321

Share this post


Link to post

Suddenly the custom animated switches stopped working and I can not figure out why. All I  did was removing a sudden dehacked lump in slade when I opened my map in it. Even when I now redownload rudy2v10 and copy the custom dehacked lump to my map ( as i originally found it) the custom switches arent animated...

 

An updated version of my map is ready in the coming days.

 

e1 - yeah, the custom animated switches are dead in the water for me. I even made a test map with a rowdy rudy custom switch and it dosent't animate any more.

 

Edited by NeedHealth

Share this post


Link to post

Damn, it's ANIMDEFS not being a vanilla compatible thing.. I didn't even acknowledge/realize that at first. I'll need to rework the texture pack to reflect this - my apologies..

Share this post


Link to post
  • 2 weeks later...

Wasn't sure if something was going on with the two @TravyB maps and the incompatibility with vanilla and so, having offered to help, I decided to go about fixing the issues. I got through MAP08, and will be looking at MAP12 shortly.

 

Here's the map file (separate from the main set, in MAP08 slot), and in spoilers I explain some of the stuff I changed:

Spoiler

- Fixed generalized (and some Boom only) line actions to vanilla equivalents where possible. I had to take some liberties especially with fast moving floors and some ceiling actions since no proper alternatives exist within vanilla. Hopefully this will not detract from the feel of the map.


- I adjusted the RL trap activation linedefs so that you can't skip them and pick the RL without triggering anything. I had to tweak the lights and monster closets surrounding the traps as well, and to keep the floors moving fast, I couldn't make them lower all the way down to the floor without some unnecessary hacks.

- I changed most 166 actions (ceiling raise) to Door Open Stay (either fast or normal.) I also added a switch texture as the upper texture (hidden up in the ceiling) of the secret Cola machine, so when it is used it makes the switch sound to indicate something has happened.

- I also moved the plasma gun trap activation line further away from the gun (and turned it around so you activated it while going in) because it was possible to pick the plasma gun without triggering the trap.

 

- Also some of the step textures were experiencing tutti-frutti due to them being vertically offset to a spot where the textures are not rendered properly (vanilla can only render them at 128, 256 etc. pixel intervals, and since the step texture is 16 px tall, any offset that places it beyond that 16 pixels and not as a multiple of 128 will nuke it.) I fixed this as well.

 

TravyB should take the map for a spin and see if he accepts the changes.

 

 

Edited by Aurelius
Removed an accidental image file.

Share this post


Link to post

Thank you so much for doing this, Aurelius! Also this is where I sheepishly admit this is the first time I’ve definitively learned what causes those tutti-fruitti steps.. I knew that making a 128px tall version of the texture would fix it, now I finally know why..

 

I’ve got the Boom-only texture stuff removed in the upcoming build too, should only be a couple days off now.

Share this post


Link to post
On 6/27/2020 at 7:26 AM, Aurelius said:

Wasn't sure if something was going on with the two @TravyB maps and the incompatibility with vanilla and so, having offered to help, I decided to go about fixing the issues. I got through MAP08, and will be looking at MAP12 shortly.

 

Here's the map file (separate from the main set, in MAP08 slot), and in spoilers I explain some of the stuff I changed:

  Reveal hidden contents

- Fixed generalized (and some Boom only) line actions to vanilla equivalents where possible. I had to take some liberties especially with fast moving floors and some ceiling actions since no proper alternatives exist within vanilla. Hopefully this will not detract from the feel of the map.


- I adjusted the RL trap activation linedefs so that you can't skip them and pick the RL without triggering anything. I had to tweak the lights and monster closets surrounding the traps as well, and to keep the floors moving fast, I couldn't make them lower all the way down to the floor without some unnecessary hacks.

- I changed most 166 actions (ceiling raise) to Door Open Stay (either fast or normal.) I also added a switch texture as the upper texture (hidden up in the ceiling) of the secret Cola machine, so when it is used it makes the switch sound to indicate something has happened.

- I also moved the plasma gun trap activation line further away from the gun (and turned it around so you activated it while going in) because it was possible to pick the plasma gun without triggering the trap.

 

- Also some of the step textures were experiencing tutti-frutti due to them being vertically offset to a spot where the textures are not rendered properly (vanilla can only render them at 128, 256 etc. pixel intervals, and since the step texture is 16 px tall, any offset that places it beyond that 16 pixels and not as a multiple of 128 will nuke it.) I fixed this as well.

 

TravyB should take the map for a spin and see if he accepts the changes.

 

 

Thank you so much, this works wonderfully. I really appreciate it, Aurelius. I wasn't even aware the step thing was a thing.

Share this post


Link to post

@Doomkid Just a reminder. Did ye remove those .png versions of flats ABDROK2, ABDROK3, CAMO_CN1 and SLAD_GR1. They were double defined in the wad and causing visual issues. They don't need to be converted or anything, that was already done. The .png's just need to be deleted.

Edited by Doom_Dude

Share this post


Link to post

@TravyB No problem man, glad to help.

 

Also, I finished with your MAP12, here's the link.

 

Changes I made here:

Spoiler

Again, fixed generalized (and some Boom only) line actions  to vanilla equivalents where possible. I tried to keep the speed of each action consistent, while sometimes changing fast moving ceilings to fast moving floors because I felt it would not matter which one it was, and floor actions in general are more plentiful in vanilla than ceiling actions.

 

I'll break down this image in two parts, based on the highlights.

 

escapeswitch.JPG.f4640be83664be40d9c19ce21333b1e4.JPG


Cyan highlight:


I moved the escape switch in the above image from it's original location to the new one behind the enemies in the closet, because you could previously activate it before the floor in front of it was lowered. It basically did not prevent the switch from being pressed, and you could even do it before springing the trap, effectively blocking any access to the previous area when you ultimately did activate the encounter. It is not available until you trip the walkover action further in, as per original design.


Red highlight:


This houses the mechanism that traps the player, and originally used multiple linedefs. This meant that if any of them was left unactivated and the escape switch was pressed, you could accidentally trip the trap again, leaving you unable to backtrack. I remedied this by creating a single activation line that spans across multiple sectors without merging with any of the lines it crosses. Since all of these sectors share the same floor height, no collision issues will occur. It is important however that if you happen to edit this map later using UDB or GZDBbugfix, make sure you have the Merge Dragged Vertices Only option checked from the Edit dropdown menu, because any other option will immediately connect all overlapping lines in the entire map whenever you edit geometry. This would divide the line into multiple segments and create the original problem and hence breaking the setup. DBX does not have this merging problem.


The lowering floor in the middle of the marble room took me a while to convert, but I was able to get it pretty close to what it was. Some changes had to be made, and I ultimately sacrificed the middle platform pickup because the original setup made it possible to flick the switches in quite a detrimental order, causing a multitude of softlocks. I had to simplify the geometry a bit not to go crazy and to stay within segs limits, so it's not necessarily as moody as it was before.

 

Hope this works for you as well :) Ran through it in Chocorenderlimits and it should work fine.

Share this post


Link to post
2 minutes ago, Aurelius said:

@TravyB No problem man, glad to help.

 

Also, I finished with your MAP12, here's the link.

 

Changes I made here:

  Reveal hidden contents

Again, fixed generalized (and some Boom only) line actions  to vanilla equivalents where possible. I tried to keep the speed of each action consistent, while sometimes changing fast moving ceilings to fast moving floors because I felt it would not matter which one it was, and floor actions in general are more plentiful in vanilla than ceiling actions.

 

I'll break down this image in two parts, based on the highlights.

 

escapeswitch.JPG.f4640be83664be40d9c19ce21333b1e4.JPG


Cyan highlight:


I moved the escape switch in the above image from it's original location to the new one behind the enemies in the closet, because you could previously activate it before the floor in front of it was lowered. It basically did not prevent the switch from being pressed, and you could even do it before springing the trap, effectively blocking any access to the previous area when you ultimately did activate the encounter. It is not available until you trip the walkover action further in, as per original design.


Red highlight:


This houses the mechanism that traps the player, and originally used multiple linedefs. This meant that if any of them was left unactivated and the escape switch was pressed, you could accidentally trip the trap again, leaving you unable to backtrack. I remedied this by creating a single activation line that spans across multiple sectors without merging with any of the lines it crosses. Since all of these sectors share the same floor height, no collision issues will occur. It is important however that if you happen to edit this map later using UDB or GZDBbugfix, make sure you have the Merge Dragged Vertices Only option checked from the Edit dropdown menu, because any other option will immediately connect all overlapping lines in the entire map whenever you edit geometry. This would divide the line into multiple segments and create the original problem and hence breaking the setup. DBX does not have this merging problem.


The lowering floor in the middle of the marble room took me a while to convert, but I was able to get it pretty close to what it was. Some changes had to be made, and I ultimately sacrificed the middle platform pickup because the original setup made it possible to flick the switches in quite a detrimental order, causing a multitude of softlocks. I had to simplify the geometry a bit not to go crazy and to stay within segs limits, so it's not necessarily as moody as it was before.

 

Hope this works for you as well :) Ran through it in Chocorenderlimits and it should work fine.

Im glad you were able to make sense of that Frankenstein of a marble room lol 

 

Thanks again, mate. 

Share this post


Link to post
2 minutes ago, TravyB said:

Im glad you were able to make sense of that Frankenstein of a marble room lol 

 

Thanks again, mate. 

No problem, I've messed around with similar setups in the past :P

I just realized I only converted the thing, but there was nothing worth down there to press that switch, so I went an added a few pickups. The previous link still works, just updated the file.

Share this post


Link to post

I'm still not 100% on how it works, something about changing the "unknown" properties in DeHackEd of the weapon, which somehow relate to its X and Y positions on the screen.. but I love the feature and will be happy to include it soon as I work it out.

Share this post


Link to post

I've been meaning to write a tutorial in the Editing section for how to do that fast weapon switching, it's pretty straightforward once you understand roughly how it works. you'll just need 2 extra frames per weapon. if you gimmie a few days I can try to post something in either the Editing forum, or if I don't feel like doing a proper tutorial, just post some info here on it for ye Doomkid

Share this post


Link to post

Hi, I fixed 2 minor visual bugs I found related to the horizon effect and added linedef actions for (G)ZDoom-based ports, hopefully there's still time to get this in before you upload the next build lol (Link)

Edited by sluggard

Share this post


Link to post
  • 2 weeks later...

sorry for the delay in writing this up @Doomkid, but here's a brief explanation of the fast weapon switching technique as I understand it:

 

to start, let's just briefly talk about what A_Lower and A_Raise do by default. here's my understanding:

  • A_Raise: take the weapon from its last position (completely off screen presumably or by default I guess?), and raise its sprite up at some predefined pixel per tic ratio. when the weapon sprite is fully in view according to its sprite offsets, then we're done, and move to Ready states
  • A_Lower: take the weapon from its last position (fully in view from the Ready state presumably), and lower its sprite down at some predefined pixel per tic ratio. when the weapon sprite is fully out of view, then we're done, and can switch weapons

so the principle behind this technique for fast weapon switching is this: what if we can, before calling either A_Raise or A_Lower, preposition the weapon sprite to ~halfway where it needs to go for the purpose of A_Raise/A_Lower? so let's say as an example that for a weapon to A_Raise, it goes from point 0 (offscreen) to point 100 (fully on screen). in vanilla, this is how the frames go:

 

  1. Raise state:
    1. A_Raise, going from point 0 to point 100 (then implicitly go to Ready state)

with the fast weapon switching technique, we instead do this:

  1. Raise state:
    1. NO ACTION, but set weapon sprite at point 50
    2. A_Raise, going from point 50 to point 100 (then implicitly go to Ready state)

 

same sort of thing with A_Lower. before going into the A_Raise or A_Lower loop frame, we slot in an addition frame of duration 1 and use the extra parameters to manually adjust its sprite offset, then call A_Raise/A_Lower to do the rest of the work from that shortcut point. so here's the shotgun's Raise frames (highlighted) in vanilla:

 

Spoiler

QISDlcK.png

 

and here are the two Raise frames with fast weapons (there are extra other frames because this is a smoothly animated shotgun):

Spoiler

jK8ASpG.png

 

I admit I haven't done a ton of testing with different values for the preposition frames; iirc I basically stole the numbers from D4V. you can use different numbers to make the switch speed faster or slower, but these are the numbers I'm using. so in summary, to implement fast weapon switching, here's what you would do:

 

Spoiler
  1. pick a weapon to implement
  2. free up 2 non-code pointer frames for this weapon (1 extra for raise, 1 extra for lower)
  3. change weapon's Raise state to be the following two frames:
    1. an action-less frame, where the sprite is the weapon's "Ready"/idle sprite, with duration 1, and parameters of (1, 38), where next frame is the one described below
    2. the standard/existing A_Raise frame, where the sprite is the weapon's "Ready"/idle sprite, with duration 1, and no parameters, where the next frame is itself
  4. change the weapon's Lower state to be the following two frames:
    1. an action-less frame, where the sprite is the weapon's "Ready"/idle sprite, with duration 1, and parameters of (1, 75), where next frame is the one described below
    2. the standard/existing A_Lower frame, where the sprite is the weapon's "Ready"/idle sprite, with duration 1, and no parameters, where the next frame is itself
  5. repeat for all the other weapons

 

there are still some things about this technique that I don't quite understand and haven't bothered to experiment with. why do we need the x offset of the extra frames to be 1? why not 0? and somehow we can change the weapon speed by changing the offsets on Raise and Lower, but I haven't bothered messing with that. you could, for example, change offsets on a per-weapon basis so that eg the BFG takes longer to raise. but if you just want universal fast weapon switching, using the numbers I use will do you just fine!

Share this post


Link to post
  • 2 weeks later...

Thank you so damn much for the info, @Tango - I only just saw saw your post, but it's exactly what I needed!

 

35 minutes ago, Dimon12321 said:

How are things going with a new build?

 

Funny that you'd ask, I just happen to be working on it at the moment :)

 

Also, @Aurelius, about your fix for map12, some of the lumps like SEGS and SSECTORS and stuff seem to be 0 bytes in your version, and I'd have to assume that's what's causing the vanilla EXE to crash on that map. Do you possibly have a version where those lumps aren't 0 bytes? I can see the map just fine in Slade, but it just crashes in-game.

 

@NeedHealth, your map is very good - looks really nice and has great gameplay, but there are some unknown actions that prevents it from being played in vanilla or chocolate - could you possibly get them switched over to the nearest possible vanilla counterpart at some point?

Edited by Doomkid

Share this post


Link to post
1 hour ago, Doomkid said:

Also, @Aurelius, about your fix for map12, some of the lumps like SEGS and SSECTORS and stuff seem to be 0 bytes in your version, and I'd have to assume that's what's causing the vanilla EXE to crash on that map. Do you possibly have a version where those lumps aren't 0 bytes? I can see the map just fine in Slade, but it just crashes in-game.

I could've sworn I tested it with Choco, but yeah it's probably accidental extended nodes. I can check it out tomorrow when I get home. You can also use a different nodebuilder and see if that helps.

Share this post


Link to post

No need to worry, you are totally right. Opening the map and rebuilding nodes is all it needed!

 

- Old build below, disregard -

 

I wasn't really going to do a new build yet since there are still some annoying issues that need to be fixed, but ah hell, it can't do any harm. I still want to change the map rotation as the later submissions were simply tacked onto the end - they definitely won't be staying in their current slots. I'm open to any suggestions when it comes to map rotation too, ideally I'd like the set to get progressively harder as it goes.



 

Map01 - Storming the Bayside Base by Doomkid

Map02 - (untitled) by sluggard

Map03 - (untitled) by DavidN

Map04 - (untitled) by Doomkid

Map05 - (untitled) by Voltcom

Map06 - Clutch Cargo Hold by Doomkid

Map07 - Secluded Rifts by riderr3

Map08 - Cliffside Punchout by TravyB

Map09 - Security Station by DFF

Map10 - Plutonic Relations by Doomkid

Map11 - Clearing Inventory by RonnieJamesDiner

Map12 - Ambush by TravyB

Map13 - Mutagen Plant by Moustachio

Map14 - Rumble in the Canyon by RonnieJamesDiner

Map15 - Jungle Hijinx by Aurelius

Map16 - Grimm Sector by Doom_Dude

Map17 - Black Gold by DFF

Map18 - Drowning Pits by Solmyr

Map19 - (untitled) by Philnemba

Map20 - Death God's Shrine by xdarkmasterx

Map21 - (untitled) by NeedHealth

(MikeyScoots' map will be added nearer to the end, since it will need to be a secret that can only be accessed in ZDoom based ports.)

 

There are also some maps lacking MIDIs still but this is no big deal at all, there are plenty out there to choose from. Just keep in mind that when you're hearing iwad music, it won't be staying that way.

 

What's fixed since last time are plenty of mapping errors (most mappers have submitted updates in the last 6-8 weeks), the Psycho Imps now properly face you at the beginning of their attacks, the chaingun seizure-strobe effect was removed, the PNG duplicates of certain flats that were causing glitches are gone, the FBLACK flat was finally added in, and the oil fall texture on DFF's Black Gold map now animated properly - had to sacrifice FIRELAVA / FIRELAV3 but since there are multiple similar textures and it was almost entirely unused, it's no great loss.

 

Anyway, here's the latest version:

(Removed due to oldness)

 

Let me know any thoughts you guys have, as always!

Edited by Doomkid

Share this post


Link to post

1. Intermission theme is terrible. Just breaks the spirit while you're reading the text.

2. 

13 minutes ago, Doomkid said:

MikeyScoots' map will be added nearer to the end, since it will need to be a secret that can only be accessed in ZDoom based ports.)

 

A small remark =)

On 6/8/2020 at 3:24 PM, Doomkid said:

That's a good point, perhaps I should make it a Boom-compat deal since PrBoom+ would run Mikey's map just fine from what I can tell. I was going to have a secret exit in one of the earlier maps and use MAPINFO to define it, which is why I was thinking ZDoom-compat, but I suppose a "Boom and up" secret exit that exits from map15 would be totally acceptable as well.

 

3. What's the main point of map rotation? If I remember correctly, you were saying somewhere that:

1) All the maps should be divided into 3 episodes where each set of maps should have the same skybox and/or texture setting (terrain)

2) Powerful weapons should be removed from early maps

 

The last one requires a specific approach. First of all, you guys should do the prioritization first. It won't be a good point just to replace more powerful weapons and their ammo with weaker ones. It depends on a certain design. Some maps give them to you in advance so you'll be ready for the further maps, while the other ones - to fight a big crowd you're about to face. Also, some secrets will become useless. I think it's better to give less ammo if you think a player gets a powerful gun too early.

 

What about beating each map from a pistol start? How much is it important? That's my next goal in testing a newly made build. 

Share this post


Link to post
45 minutes ago, Doomkid said:

the chaingun seizure-strobe effect was removed

 

Oh, that's fine now.

Spoiler

image.png.6d47450af03c3249b25c42d21abb4310.png

Converted to Decorate so I can read the characteristics easier.

 

Share this post


Link to post

old outdated info

Don't mind the ZDoom comment, that's just me having forgotten :) It'll be a Boom function that allows someone access to the secret map, so it will be avail in Boom/PrBoom without trouble.



 

Also, I definitely want each map to be beatable from pistol/rifle start. As far as the map rotation goes, it's actually mostly fine it seems, the early maps will stay early and by map6/map7 I'm not too worried about every weapon being handed out from then on. I just want it to at least give a little sense of progression in terms of the weapons getting stronger earlier on, basically meaning one new weapon per map up til ~6.

 

Here's what I have in mind for the map rotation so far:

 

Map01 - Storming the Bayside Base by Doomkid

Map02 - (untitled) by sluggard

Map03 - (untitled) by DavidN

Map04 - (untitled) by Voltcom

Map05 - (untitled) by Doomkid

Map06 - Clutch Cargo Hold by Doomkid

Map07 - Secluded Rifts by riderr3

Map08 - Security Station by DFF

Map09 - Cliffside Punchout by TravyB

Map10 - Black Gold by DFF

Map11 - Clearing Inventory by RonnieJamesDiner

Map12 - Ambush by TravyB

Map13 - Mutagen Plant by Moustachio

Map14 - Rumble in the Canyon by RonnieJamesDiner

Map15 - Jungle Hijinx by Aurelius

Map16 - Grimm Sector by Doom_Dude

Map17 - Plutonic Relations by Doomkid

Map18 - Drowning Pits by Solmyr

Map19 - (untitled) by Philnemba

Map20 - Death God's Shrine by xdarkmasterx

 

(Undecided, possibly secret?) - (untitled) by NeedHealth

Secret slot - MikeyScoots' Map

 

I decided to bold the ones that are different from their spots in the current build. Also, do commonly used versions of PrBoom+ support Mapinfo? Just wondering if the secret map will have to be accessed from map15, or if it can be done from any map.

Edited by Doomkid

Share this post


Link to post
On 7/23/2020 at 10:00 PM, Doomkid said:

Also, do commonly used versions of PrBoom+ support Mapinfo? Just wondering if the secret map will have to be accessed from map15, or if it can be done from any map.

 

No, only the latest one (2.5.1.7 UMapInfo). Basically, I have nothing against using it. Will have to split D2ALL TAS movie into 2 separate demos, because the latest Doom replay editor isn't compatible with Mapinfo.

Edited by Dimon12321
Added a personal content production remark

Share this post


Link to post

@Doomkid Doing a run through my map in the latest build, I noticed that it had some nodebuilder issues:

DOOM0021.jpg.d0e1f7e3f4ec9f6a591d0f9a12ef9ba4.jpg

 

So I went to see the map I sent you and it does not exhibit the same issues. I wonder if you ran it through a nodebuilder after incorporating it into the set and it might've done some screwy? I think this should be fixable by just replacing the map with the latest submission.

Share this post


Link to post
On 7/24/2020 at 2:00 AM, Doomkid said:

Also, do commonly used versions of PrBoom+ support Mapinfo? Just wondering if the secret map will have to be accessed from map15, or if it can be done from any map.

2.5.1.7 is not commonly used yet, but imo you should go for it. The more people using Umapinfo, the better for it to grow.

Share this post


Link to post
11 hours ago, Aurelius said:

@Doomkid Doing a run through my map in the latest build, I noticed that it had some nodebuilder issues:

DOOM0021.jpg.d0e1f7e3f4ec9f6a591d0f9a12ef9ba4.jpg

 

So I went to see the map I sent you and it does not exhibit the same issues. I wonder if you ran it through a nodebuilder after incorporating it into the set and it might've done some screwy? I think this should be fixable by just replacing the map with the latest submission.

How bizarre.. I had to go through the set and do a mass replacement of all lines using the XXXFALL1 texture with BLODGR1 since it was just a non-animated placeholder before I realised how easy deleting superfluous textures is. Would you mind just replacing those textures in your map then sending it to me again, since GZDB’s default node builder seems to screw it so badly?

Edited by Doomkid

Share this post


Link to post
7 hours ago, Doomkid said:

How bizarre.. I had to go through the set and do a mass replacement of all lines using the XXXFALL1 texture with BLODGR1 since it was just a non-animated placeholder before I realised how easy deleting superfluous textures is. Would you mind just replacing those textures in your map then sending it to me again, since GZDB’s default node builder seems to screw it so badly?

 

I copied my map over to the newest build to see what textures needed changing, but apparently everything works fine as is. No texture issues, and from the animated texes I'm using the WFALL1, DBRAIN1 and BLODGR1 and those apparently weren't affected by the mass replacement.

This is the same file I sent earlier, you can just copy paste it in Slade, rename map marker lump from MAP01 to MAP15 and it should work nicely. 

 

Share this post


Link to post

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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...