Advertisement
Guest User

Untitled

a guest
Oct 1st, 2014
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if ds_list_size(springsources)>0{
  2.     var acctempX=0, acctempY=0, xNorm, yNorm, xSpr, ySpr, xSprSpd, ySprSpd;
  3.     for(i=0;i<sourceID;i++){  
  4.         var xSpr = ds_list_find_value(springsourcesX,i),
  5.         ySpr = ds_list_find_value(springsourcesY,i),
  6.         xSprSpd = ds_list_find_value(springsourcesXSpd,i),
  7.         ySprSpd = ds_list_find_value(springsourcesYSpd,i);
  8.         xSprAcc = 0
  9.         ySprAcc = 0
  10.     //point calculations
  11.         //point accleration
  12.  
  13.                 xSprAcc+=xdir*accel1
  14.                 ySprAcc+=ydir*accel1*(ds_list_size(springsources))
  15.             for(j=0;j<sourceID;j++){
  16.                 if j!=i{
  17.                     xSprAcc+= get_normals(ds_list_find_value(springsourcesX,j),ds_list_find_value(springsourcesY,j),xSpr,ySpr,"x")*spring(ds_list_find_value(springsourcesX,j),ds_list_find_value(springsourcesY,j),xSpr,ySpr,.6,100,.6,xSprSpd,ySprSpd)
  18.                     ySprAcc+= get_normals(ds_list_find_value(springsourcesX,j),ds_list_find_value(springsourcesY,j),xSpr,ySpr,"y")*(spring(ds_list_find_value(springsourcesX,j),ds_list_find_value(springsourcesY,j),xSpr,ySpr,.6,100,.6,xSprSpd,ySprSpd))
  19.                 }
  20.             }
  21.             //gravity
  22.             if position_meeting(xSpr,ySpr+1,oBlock){
  23.                 grip=true;
  24.             }
  25.             if !keyboard_check(ord("G")) {
  26.                     ySprAcc+=50*rGravity
  27.             }
  28.         //point velocity
  29.        
  30.         ds_list_replace(springsourcesXSpd,i,xSprSpd+xSprAcc/50/2)
  31.         ds_list_replace(springsourcesYSpd,i,ySprSpd+ySprAcc/50/2)
  32.         xSprSpd = ds_list_find_value(springsourcesXSpd,i)
  33.         ySprSpd = ds_list_find_value(springsourcesYSpd,i)
  34.        
  35.         //point position
  36.             //gravity and collision vertical
  37.             repeat(abs(ySprSpd)){
  38.                 xSpr = ds_list_find_value(springsourcesX,i)
  39.                 ySpr = ds_list_find_value(springsourcesY,i)
  40.                 xSprSpd = ds_list_find_value(springsourcesXSpd,i)
  41.                 ySprSpd = ds_list_find_value(springsourcesYSpd,i)
  42.                 if (!position_meeting(xSpr,ySpr+sign(ySprSpd),oBlock)){
  43.                     ds_list_replace(springsourcesY,i,ySpr+sign(ySprSpd))    
  44.                 }else{
  45.        
  46.                 //don't fuck with this, it resets the speed
  47.                         ds_list_replace(springsourcesYSpd,i,0);
  48.                         break;
  49.                 }
  50.             }
  51.            
  52.        
  53.             //collision horizontal
  54.             repeat(abs(xSprSpd)){
  55.             xSpr = ds_list_find_value(springsourcesX,i)
  56.             ySpr = ds_list_find_value(springsourcesY,i)
  57.             xSprSpd = ds_list_find_value(springsourcesXSpd,i)
  58.             ySprSpd = ds_list_find_value(springsourcesYSpd,i)
  59.                 if(!position_meeting(xSpr+sign(xSprSpd),ySpr,oBlock)) &&  position_meeting(xSpr,ySpr+1,oBlock) && (!position_meeting(xSpr+sign(xSprSpd),ySpr+1,oBlock)){
  60.                     ds_list_replace(springsourcesY,i,ySpr+1)
  61.                     ds_list_replace(springsourcesX,i,xSpr+sign(xSprSpd))
  62.                 }else if(!position_meeting(xSpr+sign(xSprSpd),ySpr,oBlock)){
  63.                     ds_list_replace(springsourcesX,i,xSpr+sign(xSprSpd));
  64.            
  65.                 }
  66.                 else{
  67.                     if position_meeting(xSpr,ySpr+1,oBlock) && (!position_meeting(xSpr+sign(xSprSpd),ySpr-1,oBlock)){
  68.                         ds_list_replace(springsourcesX,i,xSpr+sign(xSprSpd));
  69.                         ds_list_replace(springsourcesY,i,ySpr-1);
  70.                     }else{
  71.                         ds_list_replace(springsourcesXSpd,i,0);
  72.                         xSprSpd=0
  73.                         break;
  74.                     }
  75.                 }
  76.            
  77.             }
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement