Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Functions to converty angular behaviour to directional, based on the angle.
- //Call when setting bool Angular for an object, as Angular = DoAngular(ptr)
- //This ensures that the lack of decimal precision in conversion to Allegro radians
- //does not prevent setting certain angles; causing 'drift'.
- bool DoAngular(npc n, int deg){
- if ( deg % 45 != 0 ) { n->Angle = deg; return true; }
- else {
- //u,d,l,r,lu,ru,ld,rd
- int dgs[8]={ 270, 90, 180, 0, 225, 315, 135, 45 };
- for ( int q = 0; q < 8; q++ ) {
- if ( deg == gds[q] ){
- n->Dir = q;
- return false;
- }
- }
- }
- }
- bool DoAngular(lweapon n, int deg){
- if ( deg % 45 != 0 ) { n->Angle = deg; return true; }
- else {
- //u,d,l,r,lu,ru,ld,rd
- int dgs[8]={ 270, 90, 180, 0, 225, 315, 135, 45 };
- for ( int q = 0; q < 8; q++ ) {
- if ( deg == gds[q] ){
- n->Dir = q;
- return false;
- }
- }
- }
- }
- bool DoAngular(eweapon n, int deg){
- if ( deg % 45 != 0 ) { n->Angle = deg; return true; }
- else {
- //u,d,l,r,lu,ru,ld,rd
- int dgs[8]={ 270, 90, 180, 0, 225, 315, 135, 45 };
- for ( int q = 0; q < 8; q++ ) {
- if ( deg == gds[q] ){
- n->Dir = q;
- return false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement