Pushok icon

GMod GPU speedometer

Pushok | PRO | 02/19/13 09:43:20 AM UTC | 0 ⭐ | 454 👁️ | Never ⏰ | []
C |

1.54 KB

|

None

|

0 👍

/

0 👎

#define MAX_SPEED 180
 
dclrscr blue;
dsetwidth 2
dsetsize 20
timer 50
Main();
dexit;
    
float SpeedToAngle(float speed)
{
    float pi;
    fpi pi;
    
    mov ecx, speed;
    div ecx, 180;
    mul ecx, pi;
    
    return ecx;
}
 
void DrawKM()
{
    float pos[2];
    float m, k, i, count;
    
    count = 0;
    
    for(m = count = 0; m <= 180 ; m += (MAX_SPEED / 18))
    {
        float j = SpeedToAngle(m);
        mov ecx, j
        fcos eax, ecx;
        fsin edx, ecx;
        
        k = eax;
        i = edx;
        
        k *= 220;
        i *= 220;
 
        pos[0] = 250 - k;
        pos[1] = 300 - i;
        
        dcolor black
        dline center, pos
        dcolor red
        dwritei pos, m
        
        count += 10;
    } 
}
 
float GetVelocity()
{
    float vel;
    mov eax, port1
    div eax, 6.2
    mov vel, eax
    
    return vel
}
 
void DrawArrow(float speed)
{
    if(speed > MAX_SPEED)
        speed = MAX_SPEED;
    
    if(speed < 0)
        speed = 0;
    
    float k, i;
    float pos[2];
    
    float j = SpeedToAngle(speed);
    mov ecx, j
    fcos eax, ecx
    fsin edx, ecx
    
    k = eax
    i = edx
    
    k *= 220
    i *= 220
    
    pos[0] = 250 - k;
    pos[1] = 300 - i;
    
    dcolor green
    dline center, pos
}
 
void Main()
{
    DrawKM();
    DrawArrow(GetVelocity());
}
 
 
color black, 0, 0, 0
color red, 255, 0, 0
color blue, 0, 0,255
color green, 0, 255, 0
vec2f size, 256, 256
vec2f center, 256, 300

Comments