WiggleWizard / quake3-movement-unity3d

A port of the Quake III strafe jumping mechanics to Unity3D
285 stars 71 forks source link

No license file #16

Closed TechnikEmpire closed 6 years ago

TechnikEmpire commented 6 years ago

If you even glanced at the Q3A sources to port any of this (which the comments suggest) you need to GPL 2.0 or any later version this repo and include id tech's Quake 3 license and copyright declaration here.

duncanfrost commented 6 years ago

Invalid

TechnikEmpire commented 6 years ago

Not invalid, it's GPL code that is copyright Bethesda. I can notify them of the infringement and we can see if it's really invalid if you'd like?

TechnikEmpire commented 6 years ago

Actually I'm tired of adult children so I just went ahead and contacted them. Enjoy.

matto182 commented 6 years ago

What kind of a sad pathetic virgin do you have to be to contact a company because their open source code is being up on github.

TechnikEmpire commented 6 years ago

What kind of sad pathetic theifing scumbag do you have to be to steal other people's copyright and try to pretend like you're the good guy? Lmao

TechnikEmpire commented 6 years ago

When you copy someone else's code over to a new language and then don't carry their copyright notice and license over too, that's called theft. I thought you would respond like a responsible adult and my remarks were addressed to the adult children responding to me here.

Since I now see that I overestimated your ability to be an adult, they're now also addressed to you. I notified Bethesda and they like suing IP thieves so enjoy it.

TechnikEmpire commented 6 years ago

You state plainly in your code comments that you ported from quake 3 source "on a 1:1 basis" lmao. And the GPL is very clear that taking one scrap of code from a GPL project makes it a derivative work, which means you're an IP thief and you're gonna get sued straight up.

WiggleWizard commented 6 years ago

I can hear your heavy breathing from here.

ghost commented 6 years ago

this is so sad, can we hit 50 likes?

matto182 commented 6 years ago

I talked to the CPMA devs and they called you a faggot.

TechnikEmpire commented 6 years ago

Well we'll see if FDG Entertainment thinks it's as funny as you guys do having IP thieves on staff. lmao

Chemox commented 6 years ago

As far as I can tell he can claim article 1.2 of the European Union Software Directive

As stated on http://www.digitalbusinesslawgroup.com/internet-lawyer-copyright-idea-expression-divide.html and in https://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2009:111:0016:0022:EN:PDF

Section 102(b) of the copyright statute, located here, states: "In no case does copyright protection for an original work of authorship extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such work."

That being said. The majority of this code is based on simple plain physics and math. Which is in no way copyrightable.

TechnikEmpire commented 6 years ago

Well Chemox this is the problem when people think they are armchair lawyers. Your interpretation here is nonsense and cherry picking one subsection of a legal document and removing the context of the entire document is something no lawyer would ever do. Anyway all I can do is notify all of their employers that they are IP thieves and also notify the billion dollar company they've stolen from who will vigorously defend their IP and let the children learn a lesson in how the adult world works.

They should be OK because it just means they'll extend living in their mom's basement to avoid the responsibility of the legal costs the same way they avoid all other responsibility in life.

Chemox commented 6 years ago

Well @TechnikEmpire can you please point out some of these so called copyrighted parts of the code? I'm very curious to see code snippets confirming your claims. Which you haven't even used in your argumentation yet.

TechnikEmpire commented 6 years ago

More specifically:

http://games.linuxdude.com/tamaps/archive/cpm1_dev_docs/bg_promode.c

Guy even forgot rule #1 when stealing: at least change the variable names.

// Physics
float   cpm_pm_airstopaccelerate = 1;
float   cpm_pm_aircontrol = 0;
float   cpm_pm_strafeaccelerate = 1;
float   cpm_pm_wishspeed = 400;
TechnikEmpire commented 6 years ago

https://github.com/WiggleWizard/quake3-movement-unity3d/blob/3ea27f5e3b6948cd4190fa37143d950b67a72563/CPMPlayer.js#L247

function AirControl(wishdir : Vector3, wishspeed : float)
{
    var zspeed : float;
    var speed  : float;
    var dot    : float;
    var k      : float;
    var i      : int;

    // Can't control movement if not moving forward or backward
    if(cmd.forwardmove == 0 || wishspeed == 0)
        return;

    zspeed = playerVelocity.y;
    playerVelocity.y = 0;
    /* Next two lines are equivalent to idTech's VectorNormalize() */
    speed = playerVelocity.magnitude;
    playerVelocity.Normalize();

    dot = Vector3.Dot(playerVelocity, wishdir);
    k = 32;
    k *= airControl * dot * dot * Time.deltaTime;

    // Change direction while slowing down
    if(dot > 0)
    {
        playerVelocity.x = playerVelocity.x * speed + wishdir.x * k;
        playerVelocity.y = playerVelocity.y * speed + wishdir.y * k;
        playerVelocity.z = playerVelocity.z * speed + wishdir.z * k;

        playerVelocity.Normalize();
        moveDirectionNorm = playerVelocity;
    }

    playerVelocity.x *= speed;
    playerVelocity.y = zspeed; // Note this line
    playerVelocity.z *= speed;

}

Stolen Source Code:

void CPM_PM_Aircontrol (pmove_t *pm, vec3_t wishdir, float wishspeed )
{
    float   zspeed, speed, dot, k;
    int     i;

    if ( (pm->ps->movementDir && pm->ps->movementDir !=4) || wishspeed == 0.0) 
        return; // can't control movement if not moveing forward or backward

    zspeed = pm->ps->velocity[2];
    pm->ps->velocity[2] = 0;
    speed = VectorNormalize(pm->ps->velocity);

    dot = DotProduct(pm->ps->velocity,wishdir);
    k = 32; 
    k *= cpm_pm_aircontrol*dot*dot*pml.frametime;

    if (dot > 0) {  // we can't change direction while slowing down
        for (i=0; i < 2; i++)
            pm->ps->velocity[i] = pm->ps->velocity[i]*speed + wishdir[i]*k;
        VectorNormalize(pm->ps->velocity);
    }

    for (i=0; i < 2; i++) 
        pm->ps->velocity[i] *=speed;

    pm->ps->velocity[2] = zspeed;
}

lmao thief

Chemox commented 6 years ago

@TechnikEmpire This is just plain physics mate

Code:

pm->ps->velocity[i] = pm->ps->velocity[i]speed + wishdir[i]k;

Math/adapted physics:

v(new) = v(old) vector length + acceleration time (fps or whatever value)

not sure what you are aiming at here

Chemox commented 6 years ago

@TechnikEmpire I wonder how you would come up with a way of applying acceleration to a given velocity vector without using the above formula

TechnikEmpire commented 6 years ago

@Chemox Whatever dude you're being a jackass and ignoring the fact that the entire function is a virtual copy and paste minus the difference in language. Stuff it.

Chemox commented 6 years ago

@TechnikEmpire I'm not denying he could have done a better job at implementing basic physics in a less copy paste kinda way. But hey I'm pretty sure I just copied those physics formulas from some Wikipedia page (cause you know remembering those things from uni gets hard after a while).

Are you going to try and file a complaint about me now as well or are we done here?