Jump to content

Faster PBEM required


Recommended Posts

For the record - when I was bitching about broken things in CMBB, I was bitching for the removal of features that went wrong.

The TacAI code that makes the heavies bail out before they fire their first shot.

The TacAI code and exhaustion computation which causes the heavy weapons to go into auto-sneak-exhaustion. You don't mess with the player commands for heavy weapons except for plain cancel. They cannot run or sneak effectivly.

The new turnign code which required redrawing of user-specified paths at sharp turns, thereby deriving from user's path and possibly screwing up. The CMBO model was overall better, the new model is not worth getting into unwanted computer pathfinding. usually you are the first to complain about the state of art of pathfinding, which did you implement this?

You may not agree with me, but it is incorect to say that I am constantly bitching for new features that require time to implement. I ask you to throw away features that went wrong. The shortend PBEM path is the first feature I ask for that requires new implementation work.

You will also note that I was one of those who always found the CMBO TacAI worth defending, it was adequate to good. That might indicate that I'm not into the bitching about some new CMBB stuff just for the fun of bitching.

[ February 05, 2003, 05:14 PM: Message edited by: redwolf ]

Link to comment
Share on other sites

  • Replies 116
  • Created
  • Last Reply

Top Posters In This Topic

as it is, the whole thing with generating the movie, then first sending it for viewing to the other player is in place to prevent cheating, no?

it seems like in cm you could have a 'trusted' mode where the player generating the movie also gets to watch at once instead of first sending it to the other player. this would cut down on one email exchange per game turn...

Link to comment
Share on other sites

RW why did you have to mention the auto-sneak thing which still has never affected me but hey.

Just an FYI to all the non-programmers out there. I supervise a group of engineers, three of which are very very competent (read: write programs for fortune 500 companies) programmers. I showed them CMBO and then told them that two guys did this with one doing the majority of the code work. The result, Charles will be the name of all three of their first sons.

Wargame of the Year, Turn based Strategy Game of the Year, and it goes on and on. Do I have gripes about the CM games? A couple. Most were fixed in CMBB and the ones that were not were never intended to be in the first place.

You see BFC does a wonderful job setting expectations. This is a lost art in the gaming community.

Since my expectations have been set correctly the few minor gripes I have are not really relevant because they were never intended to be fixed, yet.

And they are minor btw.

Oh well I think that Steve summed it up best, we just do not know, and I am more than willing to take BFC's word for it.

Link to comment
Share on other sites

Redwolf,

The TacAI code that makes the heavies bail out before they fire their first shot.

The TacAI code and exhaustion computation which causes the heavy weapons to go into auto-sneak-exhaustion. You don't mess with the player commands for heavy weapons except for plain cancel. They cannot run or sneak effectivly.

Am I the only one that is grinding his teeth after reading the above two comments? I reffer you back to the previous discussions you were involved in. Obviously you have forgotten them.

The new turnign code which required redrawing of user-specified paths at sharp turns, thereby deriving from user's path and possibly screwing up. The CMBO model was overall better, the new model is not worth getting into unwanted computer pathfinding. usually you are the first to complain about the state of art of pathfinding, which did you implement this?
I'm not even going to touch this one... If you wish to trott out a laundry list of bitchings, please start up another thread. The only ontopic bitching is about the PBEM turn issue. Other bitchings "deserve" their own threads smile.gif

You may not agree with me, but it is incorect to say that I am constantly bitching for new features that require time to implement. I ask you to throw away features that went wrong. The shortend PBEM path is the first feature I ask for that requires new implementation work.
You asked for us to do major changes as if they are small tweaks, add totally new features (like SOPs), and then demand that we don't do anything additional until we fix the PBEM file swapping. That sounds like a whole lot of unfocused and unreasonable thinking to me. Otherwise known as... bitching. You were not the only one doing this, though, so don't think I was singling you out.

You will also note that I was one of those who always found the CMBO TacAI worth defending, it was adequate to good. That might indicate that I'm not into the bitching about some new CMBB stuff just for the fun of bitching.
I dunno. Previous threads hinted at above went on and on and on leave me doubting this.

Manchildstein,

it seems like in cm you could have a 'trusted' mode where the player generating the movie also gets to watch at once instead of first sending it to the other player. this would cut down on one email exchange per game turn...
Yes, except this would still require major recoding. Not something we are even remotely interested in.

Priest,

I showed them CMBO and then told them that two guys did this with one doing the majority of the code work.
Just a quick correction... Charles did 100% of the coding of both CMBO and CMBB. I will tell him his name will live on in three different ways smile.gif

Steve

Link to comment
Share on other sites

This is a shameful thread.

The best damned computer wargame product ever produced, and we got guys coming into their forum and trashing them for shoddy work.

If you don't like the product, don't use the product.

If you need to offer a good suggestion (and I agree that the PBEM thing could be better), then offer it without trash talk.

Customer service is a bitch when the customer thinks the service provider is an idiot. Its a whole lot worse when they proceed to bad mouth it for no valid reason.

[ February 05, 2003, 07:16 PM: Message edited by: Wilhammer ]

Link to comment
Share on other sites

Originally posted by Wilhammer:

This is a shameful thread.

The best damned computer wargame product ever produced, and we got guys coming into their forum and trashing them for shoddy work.

Excuse me, but that is not what happend.

What happend is that I made remarks how to improve the PBEM model, citing other work and wishing we could even choose. I ended up remarking that this is probably not gonna happen because CM is not the wargame where choices like this are common, party because of workload, but party also out of choices on behalf of the developers.

Steve comes in and claims I would always require lots of features that require lots of work.

This is not the case. So I cited what features I wanted changed in the pact - none of them requires any major new implementation work.

My intention when mentioning my old complaints wasn't to get the discussion about these features reopend. I did it to proove that what Steve claims is not correct (that I always demand things that require major new implementation work, in fact the wish for PBEM with less mails is the first change request that require it).

Interpreting my posting as reopening the old discussions can only be the result of deliberate malice or hasty reading.

Link to comment
Share on other sites

Correct, there is no excuse at all. Just a trade off between 2-3 months rewriting the code simply to cut down on PBEM file swapping vs. 2-3 months spent on dozens of features that everybody will benefit from. Tradeoffs are what happens in the Real World.

And I don't understand what all the fuss is about. I played against an Aussie a while back and we did more than a dozen turns in one day. And this is with extreme time differences. It isn't an issue of files but an issue of the player's willingness to devote time to the game

Steve,

I understand about hard coding and the difficulty involved in changing things. The next engine is a couple years away. How about a hint whether "2 emails per turn" will be implemented?

Regarding a player's "willingness to devote time", some people can only plot one turn per day, and different time zones just makes this worse. It's not really about willingness; I would be willing to play this goddam game all day - but I can't.... ;)

Link to comment
Share on other sites

Wilhammer,

If you need to offer a good suggestion (and I agree that the PBEM thing could be better), then offer it without trash talk.
Agreed. What I have found is that when people do not like the truthful answers we give they start to heap on the BS about us not knowing what we are doing, having a history of not listening to customers, making a game that is so horribly flawed we should be thankful anybody is playing it, etc. I mean, when one doesn't know what one is talking about, and is corrected by the only people that do know, what else is left to do besides putting a sock in it? Old pattern, thankfully not often repeated.

Redwolf,

What happend is that I made remarks how to improve the PBEM model, citing other work and wishing we could even choose.
Sure. Perfectly legit when phrasing it as wishfull thinking. Kinda like wishing one could put in Orcs and Elfs into a generic CM engine and have cool battles in a Middle Earth setting. I am not mocking you, BTW, just saying that this sort of thing, when phrased as dreaming and not demanding, is not a problem for me to read. I wish a lot of these same things myself. The problem is when such requests and wishful thinking are phrased as bitchy demands that we are horribly at fault for not catering to... that is when things get ugly smile.gif

I ended up remarking that this is probably not gonna happen because CM is not the wargame where choices like this are common, party because of workload, but party also out of choices on behalf of the developers.
This is correct, but not completely accurate reflection of what you wrote. You mentioned philosophy and technical abilities only. I was the one that added in workload, which is why some of the things you mentioned (like SOPs) were not added. Design philosophy and technical considerations were not part of that feature not making it in. Just making it clear because I still don't think you have any clue about how much workload is involved to do things like this. Not just from this thread, but in many other threads stretching back over time. And this is once again proven by:

Steve comes in and claims I would always require lots of features that require lots of work.

This is not the case. So I cited what features I wanted changed in the pact - none of them requires any major new implementation work.

As always, whenever you make comments like this you aren't doing yourself any favors. Especially after I just finished reminding you, and everybody else, that telling us what is easy or not is like me stating that I know you have a small penis. Maybe it is, maybe it isn't... but that is rather difficult for me to claim since I have never seen it (nor want to see it!). Now, if you tell me you are hung like a horse I have either got to conceed that you know what you are talking about or accuse you of having a depth perception problem or the ability to invent your own reality (i.e. lying). So when I say that you haven't even the slightest clue what you are talking about in terms of what these changes you toss out require from us, stop saying you do. You don't.

My intention when mentioning my old complaints wasn't to get the discussion about these features reopend. I did it to proove that what Steve claims is not correct (that I always demand things that require major new implementation work, in fact the wish for PBEM with less mails is the first change request that require it).
But that is the point of my previous post. You presume to know what is a big deal to change and what is easy to do. How arrogant considering you have never seen the code and I have constantly had this discussion with you about your complete inability to sit in judgement of such issues. Time and time again you position your arguments for this or that as if we can snap our fingers and make changes without breaking a sweat. You are not the only one to do this (see other postings in this very thread), but you are the most consistant one I can think of.

Do yourself and everybody else a favor. Whenever you find yourself typing up something that even remotely hints at judging how easy/hard it is to do something, stop typing and say something else instead. It would be much better for everybody.

Interpreting my posting as reopening the old discussions can only be the result of deliberate malice or hasty reading.
No, I think it was a perfectly reasonable way to read what you wrote. I had to reread it three times after your explaination to see what the heck you were trying to do. I now see what you meant to do, but only because you clarified it.

But your defense of your requests is hollow. You clearly stated in your post on Page One that in your opinion we did not do a whole bunch of things that should have been done, then you say we shouldn't do anything else until we fix the PBEM issue to your satisfaction. You conclude by saying that nobody will complain if we do this except for certain ISPs. Again, it shows that you want to have it all and don't understand that it isn't possible for us to deliver that.

Now... to make sure things are cleared up for people here (again!) about the file swapping issue:

1. The game engine was written in such a way that the current file swapping system is mandatory.

2. To have it work any other way would require MAJOR recoding. Probably in the range of 2-3 months.

3. The above is why we didn't do it for CMBO or CMBB. When compared with how many things would have been cut to make this rather minor change (folks, it is VERY MINOR on the grand scale of things) when we fully intend to chuck out the code the second we are finished, is an idiotic use of our time.

4. Do not mistake what I say. We FULLY AGREE that it would be better if the system did not have the extra file swap. This is why Charles looked into this issue again when we started working on CMBB. He looked for quick and dirty ways to shortcut the work. We figured if we could get it down to a week (which is a massive amount of time for Charles to do anything) we would have done it. But there was absolutely no way for him to do this.

Anybody who thinks this is not the total truth is an absolute fool. We are neither unresponsive to customer requests nor lazy. We also do not spin yarns in order to deflect criticism like other developers are known to do.

With the new engine we will almost certainly be able to eliminate the extra file swap AND avoid having to settle for a "take your chances" mode. But honestly, if for some reason this extra file swapping issue remains an issue, I would not sacrifice more than a week of development time to address it. It simply is not that important when all things are looked at in relative worth. Having Relative Spotting, Multi-Multi-Player, more flexible scenario parameters, etc. are infintely more important.

UberFunBunny:

Regarding a player's "willingness to devote time", some people can only plot one turn per day, and different time zones just makes this worse. It's not really about willingness; I would be willing to play this goddam game all day - but I can't....
Definitely something not lost on me at all. But like any tool, there are limitations. You can use a Swiss Army knife to saw off a small tree branch, whittle a home made pipe, trim one's beard, pick one's teeth, open a beer, open a can, screw in two different styles of screws, etc. But try and use it to bang in a nail and you will find it doesn't work out so well smile.gif Is this a design flaw? If you find yourself in need of banging in something and all you have is the Swiss Army knife... I suppose one could think that. But that would not be fair. CM is a lot like this, except that it basically can pound in the nail. Just not as good as it could if it had been designed more like a hammer. But to get all bent out of shape about this "flaw" at the expense of eveything else it can do is petty at best.

Caesar

Hey Steve, while you are around, when are we likely to hear what is intended for the next version? I am not asking for a detailed list of what is in, more a list of what is intended and likely.
We have no such list at this time. Info about the new engine is scattered around on this Forum though. Do a Search on the word "rewrite" or "engine" and you should come up with a bunch of stuff.

Steve

Link to comment
Share on other sites

in PBEM is it possible to have both computers do the calculations...

e.g. instead of

A moves, send file to B

B moves (calculates) B views, sends file to A

A views sends file to B. B moves

sends file to A etc.

why not

A moves sends file to B

B moves (calculates) and views. B moves sends file to A

A moves (calculates) and views and moves

might that be more efficient?

Link to comment
Share on other sites

Originally posted by coe:

why not

A moves sends file to B

B moves (calculates) and views. B moves sends file to A

A moves (calculates) and views and moves

might that be more efficient?

This has been suggested before. Indeed it will be more efficient, but in the mean time, one can cheat easily. Eg: "B moves (calculates) and views. B moves sends file to A"

Player B can calculation a number of times until he(she?) gets favourable outcome before sending the turn back to the opponent.

Why change? I'm happy with the game as it is. If you think your PBEM games happen too slowly, start a few more.

Link to comment
Share on other sites

Steve,

We are neither unresponsive to customer requests nor lazy. We also do not spin yarns in order to deflect criticism like other developers are known to do.
This is true.

With the new engine we will almost certainly be able to eliminate the extra file swap AND avoid having to settle for a "take your chances" mode. But honestly, if for some reason this extra file swapping issue remains an issue, I would not sacrifice more than a week of development time to address it. It simply is not that important when all things are looked at in relative worth. Having Relative Spotting, Multi-Multi-Player, more flexible scenario parameters, etc. are infintely more important.
Well put and I agree. Wait a sec.... Multi-multi player?? Is that co-operative play?! Man I can't wait 2 years for THAT! Please put it in the 1.02 patch. ;)
Link to comment
Share on other sites

Any time Steve has enough time to post here that must be a good thing as it might signal that all the hard work is complete on the latest patch ;)

Thanks to Steve to dropping to comment smile.gif

I am sure most everyone here will all welcome what tweaks and fixes that await us in v1.02

some hints and a partial list can be found here:

http://www.militarygameronline.com/boots_tracks/index.php?page=bttimes

smile.gif

-tom w

[ February 05, 2003, 11:36 PM: Message edited by: aka_tom_w ]

Link to comment
Share on other sites

back before baby #2 showed up in October and I actually played the game occasionally.. (and before I was running OS X full time... another topic) my good freind and I had a great "TRUST MODE" that let us fly through games.

We gave each other our password..

We got 1 full game turn per email and never cheated.

here's how it goes.. I'll skip setup.

1) I move, computer turn save doc

2) I open file with HIS password, cover the screen and fast forward to the end of the movie and save the doc

3) I open it with my password, watch the movie and then make my next turn and save the doc.

4) I then send him the files from turn 1 and 3

This way we turned arount 1 full turn per email.. you sent 2 files to each other. 1 movie file and 1 file with your moves pre-plotted. It was very fast, and I trust my good friends to play like this. If you're concerned about cheaters, then don't play this way.

Just a thought. We like it.. or liked it back when he played.

Scott Karch

Link to comment
Share on other sites

Originally posted by karch:

back before baby #2 showed up in October and I actually played the game occasionally.. (and before I was running OS X full time... another topic) my good freind and I had a great "TRUST MODE" that let us fly through games.

We gave each other our password..

We got 1 full game turn per email and never cheated.

here's how it goes.. I'll skip setup.

1) I move, computer turn save doc

2) I open file with HIS password, cover the screen and fast forward to the end of the movie and save the doc

3) I open it with my password, watch the movie and then make my next turn and save the doc.

4) I then send him the files from turn 1 and 3

This way we turned arount 1 full turn per email.. you sent 2 files to each other. 1 movie file and 1 file with your moves pre-plotted. It was very fast, and I trust my good friends to play like this. If you're concerned about cheaters, then don't play this way.

Just a thought. We like it.. or liked it back when he played.

Scott Karch

Ingenious! But probably too much hassle for the rest of us... :D
Link to comment
Share on other sites

Originally posted by Battlefront.com:

I tried to find a way to answer this without violating the BBS rules, but could not come up with one. Well, except to also suggest you go play GI Combat instead since CM is such a flawed product. I am sure there are other games out there better than CM as well.

Thanks for your answer. I'm looking forward to the new engine.
Link to comment
Share on other sites

Originally posted by Battlefront.com:

Every once in a while a thread comes along that is so packed with ungreatful whining, insults, and rampent ungreatful sentiments that I feel I must come in and post. Obviously this is just such a thread :(

Well! smile.gif I had no idea that Battlefront feels insulted about this thread. And I had no idea that we are whiners. I thought that we are just making suggestions to an inperfect game...

</font><blockquote>quote:</font><hr />...the current engine displays the previous turn and then you make moves for the next turn, so this explanation sounds poor.

Nope, not poor at all. Your understanding of how the game functions is poor. The game engine has absolutely no way of handling this. Amateures with know knowledge of the code can denny this as much as they want, but their opinion has absolutely zero value.

We looked into fixing this issue for CMBO and found it to be too much work to undo, then looked at it again for CMBB and estimated once again that the 2-3 months of code rewriting was simply not worth the effort. Therefore, after an honest

attempt to fix this problem (and we have always admitted it is a problem) we decided it was in everybody's best interest to spend the time on other more important issues. Either that or we are purposefully ignoring a significant problem that has an easy solution simply I can have the joy of answering yet another winey post about this issue. Use a couple of those graycells and strain to figure out which is the most likely case.

</font>

Link to comment
Share on other sites

Steve,

I have worked in retail (bike stores) for eight years and mostly as a mechanic (yeah I know, big freakin' deal).

But that was the best owner's rant I have ever heard!!! And I have heard a few.

By God I wish I could have replied in such a rational, lucid and informed manner to all of my customers/detractors who each in turn had made a point of taking extreme umbrage with something done ultimately for their benefit, something reasonably considered by a trained professional, something that they did not take a very little amount of time to properly understand.

And I'm with you on the PBEM thing: it really isn't that big a deal. If you have an eager opponent you'll get through a game quickly. One might as well blame the "internet" for not being able to account for time zone differences. Maybe people ought to think twice before they choose their antipode for PBEM play. I.e., how is it CM's fault when you choose to play someone very far away? ;)

Cheers, Roy.

Link to comment
Share on other sites

Speaking personally, until such times as someone can clearly demonstrate to me that any modified system of PBEM exchange does not contain within it a method of potential gamey exploitation, I am happy to stick with what we have.

E.g. I used to play a turn based game called "Emperor of the Fading Suns" and it was a well known habit of certain players to constantly re-run game moves before finishing their turns and emailing them off until they got the result they wanted.

One of the MAJOR selling points of the CM* games for me was the PBEM play and the mechanism in place to prevent JUST such a piece of rampant cheese mongering.

I'm not a 'Battlefront apologist', I'm just very happy that a game I forked out 30 quid or so for works as well as it does, limits the scope for cheating the way that it does and allows the degree of customisation that it does.

To repeat :

If CM3, which is billed as a keel-up re-engineered game, contains a more efficient PBEM system, then cool but I'd rather have the system we have now than go back to the days of knowing that somewhere, some pasty faced goo lobber is sitting endlessly re-running his game turns until he can pot my KV-1 with a fluke shot from a skoda 37mm.

Link to comment
Share on other sites

Fuerte:

What you wrote here is about the same as what I wrote in the (now sadly missing) thread where I also proposed the faster PBEM system.

To everyone:

For those who had problems understanding Fuerte's explanation above, I'll try to explain what I would do to implement the faster but still secure system (Steve, please correct me if I make any wrong assumptions smile.gif ):

When the movie file for a certain turn is viewed for the first time (so the player does not give new orders after viewing), no calculations are made when the player presses "done". So the file must already contain all the information about what happened during this turn.

This means that the state of the battlefield at the end of the current turn is already known to the program. This is the same state as at the beginning of the next turn.

Let's suppose that as soon as the player hits "done", the second movie file is written to disk. (That's basically what happens now).

As stated above, the game already knows the state of the battlefield at the beginning of the next turn although the other player has not yet seen the movie. If this state is known, the game could allow the player to give new orders. These would currently be stored in an "orders only" file (the small one of the three). This file could also be written to disk.

Now we have two files. We could append the second one to the first one (perhaps seperated by something that let's the game see where the first file ends; a modified "PBEM data begins/ends here" line would probably do) and send the resulting file.

Now, switch the view to the other player.

To view the current turn, the game would only need to load the first part of the file. After hitting "done", the next turn's orders phase follows (note: this is exactly what is happening now).

When the orders are given and "GO" is pressed, the game would now write a PBEM file containing only the orders.

Instead of doing this, the game could now load the second part of the file (containing the other player's orders) and immediately calculate the movie file.

So, where are potential problems with this? I can think of two:

1. Obviously the order in which the different file types are created and used is different. This will require some recoding. Depending on how the current engine is implemented, this can be very little or a substantial amount of work.

2. Some of the information about the troops of the player who does not currently view the movie file first may be encrypted in a way to only be accessable with the right password. On the other hand, the game engine must have all information about both players' troops to be able to do the calculations, so I doubt that this is the case.

And now, before someone starts bashing me for this, note that I'm only about a month away from my master of computer science, so don't tell me I have no idea about programming. smile.gif

Dschugaschwili

PS: And don't get me wrong, I don't want to rant at BFC. If Charles has looked at it and concluded that it is too much work I don't want to question the decision to not implement this. Although I must admit that 2-3 months seems a little high to me. :confused:

[ February 06, 2003, 04:32 AM: Message edited by: Dschugaschwili ]

Link to comment
Share on other sites

Originally posted by Fuerte:

I can't believe that this change is more difficult to implement than AI changes in CMBB. I personally think that PBEM system improvements are much more important than AI changes or new vehicles. This improvement was what I expected from CMBB most, and I was disappointed that it didn't appear. OK, I like the new commands (Move to contact) as well...

Well, the reason you "can't believe that this change is more difficult to implement than AI changes in CMBB" is probably because you didn't write the game and are thus pulling statments out of your backside.

Let me see, who do I trust more to make valid statements on the design and structure of CM:BB code?

1) The designers;

2) Fuerte.

Now, let me struggle for a moment. :rolleyes:

Secondly, just because you think that PBEM changes are more important than AI or vehicle changes, that doesn't mean that everyone else does, or that better PBEM is a vote winner. I can imagine the BFC boys sitting round, saying "Hmm. Check out these groovy tanks. Shall we put them in, or shall we spend a month recoding the PBEM system because half a dozen people whine and bitch because they have to send an extra email?"

Another tough call - and another :rolleyes:

You're perfectly entitled to root for your point of view - which is that PBEM should be changed - and perhaps it should. What you should not be doing is telling the BFC boys that they should prioritise one thing over another and that they aren't making the effort. That's just foolish.

Ideal solution:

Fuerte: Lo, I have a mighty scheme for improving the PBEM experience, and here it is:

*waffle*

BFC: Hmm, good points. We like the idea and will consider it for implementation in the new version of CM.

Fuerte: Hurrah!

That's not what happened here - this thread became an excuse for more feeble whining from Redwolf about how his ubertanks don't uber the way he wants them to.

Link to comment
Share on other sites

Originally posted by Fuerte:

If implementing this takes 2-3 months, then the code must be really badly modularized.

Always nice to hear an expert speak. :D

Redwolf - there is a proverb in Germany 'Der Ton macht die Musik'. Your criticisms of the game and the developers are often not likely to get you a good hearing by them.

I remind you of the statement you made here: "That is another one of these hasty CMBB features which have seen 1/10th of the thought and implementation effort put into them compared to most CMBO features.", which you subsequently edited out, either because you were embarassed by its morosity, or because you could not back it up I guess.

It is ill-thought through assertions (or to put it more bluntly, talking out of your rear-end) like that which lead to you being taken more or less serious by BFC and others. More likely less serious. Think before you post, and if the statement does not add any value to your post, don't post it.

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