Josh @ Dreamland
|
|
Reply #15 Posted on: March 04, 2010, 06:07:50 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
Hmmmm... ENIGMA would be great for server side code if the graphics system could be disabled as easily as I intend... Code to implement the framework for a set of simple checks could be integrated into the parser or something, but I'm not making any promises until I have a plan for such. Doesn't help that I hate coding online things.
|
|
« Last Edit: March 04, 2010, 07:19:07 pm by Josh @ Dreamland »
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
Josh @ Dreamland
|
|
Reply #17 Posted on: March 04, 2010, 07:20:40 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
I could have worded that better. - fix'd
I meant that it could do such things as find locations where given variables are modified. The conditions of the set could then be relayed to the server-side module. That could of course be spoofed, but it'd be a step.
I think a more comprehensive idea would be to have submit the locations of certain key objects along with any changes; the server would allow a small tolerance accounted for by lag. No one likes missing a shot because the server and client disagree on a location.
So, a function could be defined for call when a certain variable is set or action is performed requesting a double check on locations and allowing the server to double check the math.
Frankly, I'm not sure how convenient such an idea would be, hence my not promoting it or "making any promises."
|
|
« Last Edit: March 04, 2010, 07:24:17 pm by Josh @ Dreamland »
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
Josh @ Dreamland
|
|
Reply #19 Posted on: March 05, 2010, 03:26:50 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
The only way that could have anything to do with typing is if I made a class that did the checks on operator=, which wasn't what I was suggesting.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
|
Josh @ Dreamland
|
|
Reply #22 Posted on: March 05, 2010, 11:08:46 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
That's a tad more specific than what I was describing. It'd also require a lot of template instantiations.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
Micah
|
|
Reply #23 Posted on: March 06, 2010, 01:23:59 pm |
|
|
Joined: May 2008
Posts: 128
|
The only way that could have anything to do with typing is if I made a class that did the checks on operator=, which wasn't what I was suggesting. Really? You honestly think that operator= is the only time types are checked? Arguments to functions have types, you know... Also, serp, he posted a wiki link so that if Josh wanted to implement this, he'd pattern it after stuff that works, not badly reinvent it.
|
|
|
Logged
|
|
|
|
Josh @ Dreamland
|
|
Reply #24 Posted on: March 06, 2010, 02:01:54 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
I don't see why you're distinguishing operator= from any other member function. Operator= (and the implied other assignment operators) would just be the only good reason to use a type for this, as it would prevent me having to parse in a new block of code myself.
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
Rusky
|
|
Reply #25 Posted on: March 06, 2010, 02:34:02 pm |
|
|
Joined: Feb 2008
Posts: 954
|
That's a tad more specific than what I was describing. It'd also require a lot of template instantiations. What you described is a form of dependent typing, and it wouldn't require any template instantiations if the parser did it, which would be the right way (templates would generate multiple copies of functions that use the system). You also said: The only way that could have anything to do with typing is if I made a class that did the checks on operator=, which wasn't what I was suggesting. miky was correcting this misunderstanding. It would have to do with types in the way I explained, not by checking in operator=. The word "type" in "dependent type" does not have to do with C++'s type system. It would be an extension to that type system that does not exist in C++, even if it eventually got implemented using C++ semantics. If you added some kind of constraint checking to help with server-side code, that would be dependent typing.
|
|
|
Logged
|
|
|
|
|