Changeset 496 for abuse/trunk/src/clisp.cpp
- Timestamp:
- Apr 17, 2011, 11:56:55 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
abuse/trunk/src/clisp.cpp
r494 r496 573 573 case 0 : 574 574 { 575 current_object->set_aistate(lnumber_value( eval(CAR(args))));575 current_object->set_aistate(lnumber_value(CAR(args)->Eval())); 576 576 current_object->set_aistate_time(0); 577 577 void *ai=figures[current_object->otype]->get_fun(OFUN_AI); … … 587 587 { 588 588 game_object *old_cur=current_object; 589 current_object=(game_object *)lpointer_value( eval(CAR(args)));589 current_object=(game_object *)lpointer_value(CAR(args)->Eval()); 590 590 void *ret=eval_block(CDR(args)); 591 591 current_object=old_cur; … … 599 599 game_object *o; 600 600 if (args) 601 o=(game_object *)lpointer_value( eval(CAR(args)));601 o=(game_object *)lpointer_value(CAR(args)->Eval()); 602 602 else o=current_object; 603 603 game_object *hit=current_object->bmove(whit,o); … … 615 615 case 5 : return LPointer::Create(current_level->find_closest(current_object->x, 616 616 current_object->y, 617 lnumber_value( eval(CAR(args))),617 lnumber_value(CAR(args)->Eval()), 618 618 current_object)); break; 619 619 case 6 : return LPointer::Create(current_level->find_xclosest(current_object->x, 620 620 current_object->y, 621 lnumber_value( eval(CAR(args))),621 lnumber_value(CAR(args)->Eval()), 622 622 current_object 623 623 )); break; 624 624 case 7 : 625 625 { 626 long n1=lnumber_value( eval(CAR(args)));627 long n2=lnumber_value( eval(CAR(CDR(args))));626 long n1=lnumber_value(CAR(args)->Eval()); 627 long n2=lnumber_value(CAR(CDR(args))->Eval()); 628 628 return LPointer::Create(current_level->find_xrange(current_object->x, 629 629 current_object->y, … … 634 634 case 8 : 635 635 { 636 int type=lnumber_value( eval(CAR(args)));args=CDR(args);637 long x=lnumber_value( eval(CAR(args)));args=CDR(args);638 long y=lnumber_value( eval(CAR(args)));args=CDR(args);636 int type=lnumber_value(CAR(args)->Eval()); args=CDR(args); 637 long x=lnumber_value(CAR(args)->Eval()); args=CDR(args); 638 long y=lnumber_value(CAR(args)->Eval()); args=CDR(args); 639 639 game_object *o; 640 640 if (args) 641 o=create(type,x,y,0,lnumber_value( eval(CAR(args))));641 o=create(type,x,y,0,lnumber_value(CAR(args)->Eval())); 642 642 else 643 643 o=create(type,x,y); … … 648 648 case 22 : 649 649 { 650 int type=lnumber_value( eval(CAR(args)));args=CDR(args);651 long x=lnumber_value( eval(CAR(args)));args=CDR(args);652 long y=lnumber_value( eval(CAR(args)));args=CDR(args);650 int type=lnumber_value(CAR(args)->Eval()); args=CDR(args); 651 long x=lnumber_value(CAR(args)->Eval()); args=CDR(args); 652 long y=lnumber_value(CAR(args)->Eval()); args=CDR(args); 653 653 game_object *o; 654 654 if (args) 655 o=create(type,x,y,0,lnumber_value( eval(CAR(args))));655 o=create(type,x,y,0,lnumber_value(CAR(args)->Eval())); 656 656 else 657 657 o=create(type,x,y); … … 664 664 case 10 : 665 665 { 666 view *v=((game_object *)lpointer_value( eval(CAR(args))))->controller()->next;666 view *v=((game_object *)lpointer_value(CAR(args)->Eval()))->controller()->next; 667 667 if (v) 668 668 return LPointer::Create(v->focus); … … 672 672 { 673 673 return LPointer::Create 674 ((void *)current_object->get_object(lnumber_value( eval(CAR(args)))));674 ((void *)current_object->get_object(lnumber_value(CAR(args)->Eval()))); 675 675 } break; 676 676 case 12 : 677 677 { 678 678 return LPointer::Create 679 ((void *)current_object->get_light(lnumber_value( eval(CAR(args)))));679 ((void *)current_object->get_light(lnumber_value(CAR(args)->Eval()))); 680 680 } break; 681 681 case 13 : … … 686 686 { 687 687 current_object=old_cur->get_object(i); 688 ret =eval(CAR(args));688 ret = CAR(args)->Eval(); 689 689 } 690 690 current_object=old_cur; … … 693 693 case 14 : 694 694 { 695 int t=lnumber_value( eval(CAR(args))); args=lcdr(args);696 int x=lnumber_value( eval(CAR(args))); args=lcdr(args);697 int y=lnumber_value( eval(CAR(args))); args=lcdr(args);698 int r1=lnumber_value( eval(CAR(args))); args=lcdr(args);699 int r2=lnumber_value( eval(CAR(args))); args=lcdr(args);700 int xs=lnumber_value( eval(CAR(args))); args=lcdr(args);701 int ys=lnumber_value( eval(CAR(args)));695 int t=lnumber_value(CAR(args)->Eval()); args=lcdr(args); 696 int x=lnumber_value(CAR(args)->Eval()); args=lcdr(args); 697 int y=lnumber_value(CAR(args)->Eval()); args=lcdr(args); 698 int r1=lnumber_value(CAR(args)->Eval()); args=lcdr(args); 699 int r2=lnumber_value(CAR(args)->Eval()); args=lcdr(args); 700 int xs=lnumber_value(CAR(args)->Eval()); args=lcdr(args); 701 int ys=lnumber_value(CAR(args)->Eval()); 702 702 return LPointer::Create(add_light_source(t,x,y,r1,r2,xs,ys)); 703 703 } break; … … 714 714 case 17 : 715 715 { 716 long trials=lnumber_value( eval(CAR(args)));716 long trials=lnumber_value(CAR(args)->Eval()); 717 717 args=CDR(args); 718 718 time_marker start; … … 720 720 { 721 721 clear_tmp(); 722 eval(CAR(args));722 CAR(args)->Eval(); 723 723 } 724 724 time_marker end; … … 731 731 case 20 : 732 732 { 733 long x1=lnumber_value( eval(CAR(args))); args=CDR(args);734 long y1=lnumber_value( eval(CAR(args))); args=CDR(args);735 long x2=lnumber_value( eval(CAR(args))); args=CDR(args);736 long y2=lnumber_value( eval(CAR(args))); args=CDR(args);737 738 void *list =eval(CAR(args));733 long x1=lnumber_value(CAR(args)->Eval()); args=CDR(args); 734 long y1=lnumber_value(CAR(args)->Eval()); args=CDR(args); 735 long x2=lnumber_value(CAR(args)->Eval()); args=CDR(args); 736 long y2=lnumber_value(CAR(args)->Eval()); args=CDR(args); 737 738 void *list = CAR(args)->Eval(); 739 739 game_object *find=current_level->find_object_in_area(current_object->x, 740 740 current_object->y, … … 746 746 case 21 : 747 747 { 748 long a1=lnumber_value( eval(CAR(args))); args=CDR(args);749 long a2=lnumber_value( eval(CAR(args))); args=CDR(args);750 751 void *list =eval(CAR(args));748 long a1=lnumber_value(CAR(args)->Eval()); args=CDR(args); 749 long a2=lnumber_value(CAR(args)->Eval()); args=CDR(args); 750 751 void *list = CAR(args)->Eval(); 752 752 PtrRef r1(list); 753 753 game_object *find=current_level->find_object_in_angle(current_object->x, … … 787 787 case 24 : 788 788 { 789 int32_t x1=lnumber_value( eval(CAR(args)));args=CDR(args);790 int32_t y1=lnumber_value( eval(CAR(args)));args=CDR(args);791 int32_t x2=lnumber_value( eval(CAR(args)));args=CDR(args);792 int32_t y2=lnumber_value( eval(CAR(args)));789 int32_t x1=lnumber_value(CAR(args)->Eval()); args=CDR(args); 790 int32_t y1=lnumber_value(CAR(args)->Eval()); args=CDR(args); 791 int32_t x2=lnumber_value(CAR(args)->Eval()); args=CDR(args); 792 int32_t y2=lnumber_value(CAR(args)->Eval()); 793 793 current_level->foreground_intersect(x1,y1,x2,y2); 794 794 void *ret=NULL; … … 868 868 case 46 : 869 869 { 870 return LString::Create(start_argv[lnumber_value( eval(CAR(args)))]);870 return LString::Create(start_argv[lnumber_value(CAR(args)->Eval())]); 871 871 } break; 872 872 case 47 : … … 901 901 case 49 : 902 902 { 903 int32_t x=lnumber_value( eval(CAR(args))); args=CDR(args);904 int32_t y=lnumber_value( eval(CAR(args))); args=CDR(args);903 int32_t x=lnumber_value(CAR(args)->Eval()); args=CDR(args); 904 int32_t y=lnumber_value(CAR(args)->Eval()); args=CDR(args); 905 905 906 906 int32_t rx,ry; … … 916 916 case 50 : 917 917 { 918 int32_t x=lnumber_value( eval(CAR(args))); args=CDR(args);919 int32_t y=lnumber_value( eval(CAR(args))); args=CDR(args);918 int32_t x=lnumber_value(CAR(args)->Eval()); args=CDR(args); 919 int32_t y=lnumber_value(CAR(args)->Eval()); args=CDR(args); 920 920 921 921 int32_t rx,ry; … … 945 945 } break; 946 946 case 55 : 947 { system(lstring_value( eval(CAR(args)))); } break;947 { system(lstring_value(CAR(args)->Eval())); } break; 948 948 case 56 : 949 949 { 950 void *fn= eval(CAR(args)); args=CDR(args);950 void *fn=CAR(args)->Eval(); args=CDR(args); 951 951 char tmp[200]; 952 952 { 953 953 PtrRef r1(fn); 954 char *slash=lstring_value( eval(CAR(args)));954 char *slash=lstring_value(CAR(args)->Eval()); 955 955 char *filename=lstring_value(fn); 956 956 … … 972 972 int tfiles,tdirs,i; 973 973 974 get_directory(lstring_value( eval(CAR(args))),files,tfiles,dirs,tdirs);974 get_directory(lstring_value(CAR(args)->Eval()),files,tfiles,dirs,tdirs); 975 975 void *fl=NULL,*dl=NULL,*rl=NULL; 976 976 { … … 995 995 { 996 996 long x; 997 sscanf(lstring_value( eval(CAR(args))),"%lx",&x);997 sscanf(lstring_value(CAR(args)->Eval()),"%lx",&x); 998 998 return LPointer::Create((void *)(intptr_t)x); 999 999 } break; … … 1001 1001 { 1002 1002 char name[256],name2[256]; 1003 strcpy(name,lstring_value( eval(CAR(args)))); args=CDR(args);1004 long first=lnumber_value( eval(CAR(args))); args=CDR(args);1005 long last=lnumber_value( eval(CAR(args)));1003 strcpy(name,lstring_value(CAR(args)->Eval())); args=CDR(args); 1004 long first=lnumber_value(CAR(args)->Eval()); args=CDR(args); 1005 long last=lnumber_value(CAR(args)->Eval()); 1006 1006 long i; 1007 1007 void *ret=NULL;
Note: See TracChangeset
for help on using the changeset viewer.