Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - jWeb

#46
Quote from: ...happymint_ on Feb 05, 2017, 06:43 PM...What's the strongest algorithm between those available in VC:MP, not what's the best algorithm for VC:MP. There is a subtle difference there too.

So let me get this straight. You're not looking for the best algorithm for VC:MP but the strongest one? In what f*ing world are you making any sense?

I've spent the last couple of minutes trying to contemplate the meaning behind that and I still haven't put it together. Can someone please help me understand what dafuq does that mean?

These hashing algorithms are among the most popular ones. And every f*ing information, comparison, review, technical specification, benchmark etc. you can possibly find is already out there on the internet.

Comparison of cryptographic hash functions
Crypto++ 5.6.0 Benchmarks
Study and Comparative Analysis of Different Hash Algorithm
The Definitive Guide to Cryptographic Hash Functions (Part 1)
Speed Hashing

And every f*ing other link I can possibly include here. Just how different do you think is VC:MP from the rest of the world? What makes VC:MP hashing so f*ing special to you? Just what more can we add to the plethora of information out there?

I really apologize for snapping like that but someone had to slap the sh!t out of you and wake you to reality.
#47
TL;DR Yes, you are going to pay for using auto-collision.


Auto generated collision models are as good as regular ones in therms of collision accuracy. Basically that's as accurate as the physics engine can get.

Performance wise though... That's an entirely different story. Because they're not as optimized as the manual ones. So they're using as much polygons as the models. Which defeats the purpose of having separate collision models in the first place.

Take this building for example. As you can see it has holes for windows, doors and some rings around it to give it some shape and sense of realism. And this is a very (manually) optimized model for the amount of detail it provides.


But when you perform the collisions. Obviously you don't need those. Wtf will the player do near the edges those windows or doors. So you can simplify your collision shape to a very primitive one like this:


Which means that the physics engine doesn't have to perform calculations for all the details of the original model. But just a simple shape of it.

And since the actual models in the Vice City game don't even have this much detail. In some cases, all of this can be simplified to a simple box. Not even a triangle mesh. So the collision computations are even faster.

I've even seen roofs made of a couple spheres. Like the gate from the golf club. If you look close. Actually those are in effect only if you're in a vehicle if I remember correctly. Because then you need even less collision detail. As long as the vehicle is large enough to not slip through the spheres. Like this:


So it uses the spheres when you're in a vehicle or larger object. And the regular object when you're on foot or in a smaller object that can fit in smaller places.

And in reality. The player is just a sphere in the shape of a pill (ie. a capsule), walking around. So the capsule is the one that receives the collisions and not the player model. Kinda like this:


And you actually move the capsule when you walk around and not the player. The player model is just placed inside the capsule and plays the right animation to correspond with the capsule movements (like a pupet). It's all an illusion. And pretty much every game uses this technique because calculating the physics for a constantly changing/animated 3d model is not very wise on performance.

Here you can see the illusion in greater detail. In the first image the capsule is still but player running animation is played while the ground bellow it also doesn't move.


However, in the second one. The capsule keeps remaining still still. But now the ground is moving. And you're given the illusion that the player is running because the grown bellow moves at a speed that matches the animation. So in the game you'd actually think it's the player you're controlling. But in reality it's the capsule. The player is also another model like every other model in the game. Except it's wrapped around a biped skeleton with some weighs that define how much area they can deform and that skeleton is animated which forces the polygons in the range of those weighs to be move according to their "bones". Thus the therm "skeletal animation".


Well, in the game it's the capsules that moves an not the ground but you had to see the effect. The capsule is still frozen and because of that, the player doesn't move at all. But you're still under the illusion that it's running. And kinda how games trick you.

And if we're really technical. You're still under another illusion. Because in your video card. Your camera doesn't move around the world. But rather the world is moving around the camera. So yet again, another illusion that you don't even realize. So that statement above is not entirely true. But like I've said. Only if we get really technical.

And you can even imagine the player running like that and the capsule hitting a wall and making the player play the 'bump' animation (if there is one). And you keep on thinking that the player is the one that hit the wall.

And even the player itself is not used for collision testing. But rather small boxes that make up the shape of the player. Imagine that the player is made of card-boxes and you'll understand it. And when you shoot the player in the head or arm. You just shoot the box that surrounds/makes up that part of the body. Which is why you can shoot/touch/hit a few cm/in above the actual model and still hit it. Because you hit the box around it.

In simpler therms. The game goes at great lengths to keep the models simple. Because complex collision models are going to cripple the CPU and make the game run like sh!t.

Which means, that having highly detailed collision models for the stuff around the player is a total waste of performance. Because the capsule doesn't even fit inside those small details to even need collision testing there. And to answer your question. Yes, auto-collision uses the original model as the collision model. Or a very close approximation of it. It all depends on the implementation. Like if it performs some simplification for the meshes before turning them into collisions and such. So if there's no manual or automatic optimizations gong on. Then there's obviously more stress on the physics engine and thus on the CPU. Which results in what you call "Lag".



Getting into more detail about how physics engines work. They sometimes come with some optimizations. For example. Wrapping the actual collision model into a sphere (kinda like the player is inside that capsule). Since spheres are easy to calculate if they collide because all they have is a position and radius. So if no other object is colliding with the sphere then there's no point in testing for collision with the actual model.

Some more complex physics engines will even partition the 3 dimensional space. They group objects that are close and perform collision only for objects in the neighbor. Thus evading even further wasteful collision testing.

Anyway, this was probably out of the scope of this topic but it doesn't hurt to know how they work so you know what's the pest choice you can make.
#48
Honestly, the strength of the password doesn't come just from the hashing algorithm. But also from salting the passwords to make sure passwords like '123456' don't get cracked easily by rainbow tables. And if that doesn't work, then enforcing users to use passwords of a minimum length of characters (6 is very common) and thoroughly inspecting the passwords to make sure they include digits as well as letters (preferably both upper and lower case) and possibly other symbols and also doesn't resemble the user name too much.

If you rely on the hashing algorithm to do all the job then that might turn out to be your Achilles heel. Because even the weakest hashing algorithm can be stronger than the strongest one if used poorly.

It all depends on how clever you get with increasing the passwords strength.

Which is why people here took this as a joke. Because you took it as a joke. Since your question was what is the best algorithm to protect passwords instead of what is the best method to protect passwords. There's a difference, you know.
#49
Quote from: EK.IceFlake on Feb 05, 2017, 03:36 PMand I can't find the #define scsprintf line anywhere

That's defined as a macro somewhere in squirrel.h if you're using pre 3.1 versions or sqconfig.h if you're using post 3.1 versions. Since the C/C++ standard was drunk for a while so compilers do what they do best. They start making their own standard and make it so it doesn't look the same as the standard made by the other compilers. Even if that means just using different names for functions. So you kinda have to use these workarounds. Welcome to the pre-2010 cross platform development with C/C++ ;D

OH FFS, CAN SOMEONE BAN THAT SKINS BOT? THE FORUM IS GETTING SLOWER WITH EACH DAY. Having to spend 30 seconds to submit a  damn post. @Thijn? Someone?
#50
Ah yes, that's Visual Studio beeing a jackass and force you to change your code so you won't be able to easily make it cross platform later without doing some serious revisions (jk. but not really). Add the macro _CRT_SECURE_NO_WARNINGS to your project macros.
#51
Oh I see what you did there. You're having your own program link to Squirrel instead of using the official plugin or something. Basically you're embedding it into your own program. In that case. You should kow that the standard library is separate and that must be registered separately after you create the VM.
#52
http://www.squirrel-lang.org/squirreldoc/stdlib/stdstringlib.html#split

Not to mention that Squirrel is such a sh!tty language that you can't even implement a split function efficiently as a script because you can't search for characters inside strings. Only if you turn the character into a string first. Meaning you have to do heap allocation for each character inside the string that you're trying to split. Man, talk about pathetic.
#53
Does the delimiter have to be a single character or a string containing more than one characters/delimiters?

Also, what's wrong with the standard split function?
#54
General Discussion / Re: Russian Community
Feb 03, 2017, 04:39 PM
Quote from: vito on Feb 03, 2017, 04:14 PMSo you protecting our privacy and USA laws via checking source of each *.exe posted here? Ok, sorry for commenting this playground.

Yes because you'll give that executable quite the privileges in order to inject itself into the game. And with those privileges, a huge number of things an be achieved.

Your computer can become part of a botnet. It can retrieve any information from your computer since you gave it those rights. And overall it can do everything that any other program can do on your computer. BECAUSE... you... gave it those privileges.

And you know what's funny here? Because IF something like that were to happen. Who are you people going to blame? The guy who gave you the executable or the developers who allowed such business to be conducted here on the forums.

Well, history tells me that the first target will be the owners of the forum. Even thought it was your fault. You trusted them to not allow such things on the forum.

You can debate their requirements all you want. But in the end, they're required to do it and you agreed to it. If you don't want to be subject to those rules then you are free to distribute that executable over other means. But then you'll have no right to accuse anyone here if you happen to become a victim.

Of course, I'm pretty sure that no one here will even be able to realize if they've become a victim to such things. But the staff is required to take those measures.

That being said. I'm not saying that this is the intention of this executable. But it's a rule and must be followed because it can lead to some catastrophic results if broken. And the risk is too high to overlook even the slightest detail.
#55
MD5 and SHA1 are known to be weak and deprecated when it comes to passwords. If you use those then you might as well not use any encryption at all.

However, when it comes to VCMP, you can literally use any hashing method. I seriously doubt anyone here will be able to reverse even the weakest of them.

Yes, if you were a multi-billion $ company where clients could loose huge amounts of money if your database was compromised then you might have something to worry. But VCMP? Come on people. Get real.
#56
General Discussion / Re: Russian Community
Feb 02, 2017, 03:06 PM
Quote from: EK.IceFlake on Feb 02, 2017, 02:51 PMUnfortunately, sending text is causing me a lot of trouble, and atm you have to manually send encoded text. Keep note that this is on an unmodified server. This means you could use this on absolutely !any! server

Does it involve people downloading some third party mod that they must inject into vcmp? Because if that's the case then it's useless.
#57
General Discussion / Re: Russian Community
Feb 02, 2017, 12:36 PM
Quote from: EK.IceFlake on Feb 02, 2017, 10:25 AM...I'll make one for you if you want :D

Good joke. Almost laughed there for a bit.
#58
General Discussion / Re: this error
Feb 02, 2017, 06:18 AM
It's just @maxorator's dummy proof system. Meant to steer you away from his path.
#59
General Discussion / Re: Russian Community
Feb 02, 2017, 06:15 AM
To understand the answer to your question you must first understand what the ASCII character set means and its limitations. And also a bit of computer knowledge. And by that I don't mean how to power your computer or browse the internet. But how the computer works.

But yeah, we all hate foreign languages. Just move on.
#60
No user from this community has the right to spellcheck anyone else. I'm sure I don't have to explain why.