- Timestamp:
- Nov 24, 2005, 12:13:22 AM (19 years ago)
- Location:
- trunk
- Files:
-
- 4 deleted
- 47 edited
- 17 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/config.guess
r5479 r5750 4 4 # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 5 5 6 timestamp='2005-0 5-27'6 timestamp='2005-02-10' 7 7 8 8 # This file is free software; you can redistribute it and/or modify it … … 18 18 # You should have received a copy of the GNU General Public License 19 19 # along with this program; if not, write to the Free Software 20 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 21 # 02110-1301, USA. 20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 22 21 # 23 22 # As a special exception to the GNU General Public License, if you … … 25 24 # configuration script generated by Autoconf, you may include it under 26 25 # the same distribution terms that you use for the rest of that program. 27 28 26 29 27 # Originally written by Per Bothner <per@bothner.com>. … … 69 67 case $1 in 70 68 --time-stamp | --time* | -t ) 71 echo "$timestamp" ; exit ;;69 echo "$timestamp" ; exit 0 ;; 72 70 --version | -v ) 73 echo "$version" ; exit ;;71 echo "$version" ; exit 0 ;; 74 72 --help | --h* | -h ) 75 echo "$usage"; exit ;;73 echo "$usage"; exit 0 ;; 76 74 -- ) # Stop option processing 77 75 shift; break ;; … … 138 136 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown 139 137 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown 140 141 if [ "${UNAME_SYSTEM}" = "Linux" ] ; then142 eval $set_cc_for_build143 cat << EOF > $dummy.c144 #include <features.h>145 #ifdef __UCLIBC__146 # ifdef __UCLIBC_CONFIG_VERSION__147 LIBC=uclibc __UCLIBC_CONFIG_VERSION__148 # else149 LIBC=uclibc150 # endif151 #else152 LIBC=gnu153 #endif154 EOF155 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'`156 fi157 138 158 139 # Note: order is significant - the case branches are not exclusive. … … 216 197 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. 217 198 echo "${machine}-${os}${release}" 218 exit ;;199 exit 0 ;; 219 200 amd64:OpenBSD:*:*) 220 201 echo x86_64-unknown-openbsd${UNAME_RELEASE} 221 exit ;;202 exit 0 ;; 222 203 amiga:OpenBSD:*:*) 223 204 echo m68k-unknown-openbsd${UNAME_RELEASE} 224 exit ;;205 exit 0 ;; 225 206 cats:OpenBSD:*:*) 226 207 echo arm-unknown-openbsd${UNAME_RELEASE} 227 exit ;;208 exit 0 ;; 228 209 hp300:OpenBSD:*:*) 229 210 echo m68k-unknown-openbsd${UNAME_RELEASE} 230 exit ;;211 exit 0 ;; 231 212 luna88k:OpenBSD:*:*) 232 213 echo m88k-unknown-openbsd${UNAME_RELEASE} 233 exit ;;214 exit 0 ;; 234 215 mac68k:OpenBSD:*:*) 235 216 echo m68k-unknown-openbsd${UNAME_RELEASE} 236 exit ;;217 exit 0 ;; 237 218 macppc:OpenBSD:*:*) 238 219 echo powerpc-unknown-openbsd${UNAME_RELEASE} 239 exit ;;220 exit 0 ;; 240 221 mvme68k:OpenBSD:*:*) 241 222 echo m68k-unknown-openbsd${UNAME_RELEASE} 242 exit ;;223 exit 0 ;; 243 224 mvme88k:OpenBSD:*:*) 244 225 echo m88k-unknown-openbsd${UNAME_RELEASE} 245 exit ;;226 exit 0 ;; 246 227 mvmeppc:OpenBSD:*:*) 247 228 echo powerpc-unknown-openbsd${UNAME_RELEASE} 248 exit ;;229 exit 0 ;; 249 230 sgi:OpenBSD:*:*) 250 231 echo mips64-unknown-openbsd${UNAME_RELEASE} 251 exit ;;232 exit 0 ;; 252 233 sun3:OpenBSD:*:*) 253 234 echo m68k-unknown-openbsd${UNAME_RELEASE} 254 exit ;;235 exit 0 ;; 255 236 *:OpenBSD:*:*) 256 237 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} 257 exit ;;238 exit 0 ;; 258 239 *:ekkoBSD:*:*) 259 240 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} 260 exit ;;241 exit 0 ;; 261 242 macppc:MirBSD:*:*) 262 243 echo powerppc-unknown-mirbsd${UNAME_RELEASE} 263 exit ;;244 exit 0 ;; 264 245 *:MirBSD:*:*) 265 246 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} 266 exit ;;247 exit 0 ;; 267 248 alpha:OSF1:*:*) 268 249 case $UNAME_RELEASE in … … 317 298 # 1.2 uses "1.2" for uname -r. 318 299 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` 319 exit ;;300 exit 0 ;; 320 301 Alpha\ *:Windows_NT*:*) 321 302 # How do we know it's Interix rather than the generic POSIX subsystem? … … 323 304 # of the specific Alpha model? 324 305 echo alpha-pc-interix 325 exit ;;306 exit 0 ;; 326 307 21064:Windows_NT:50:3) 327 308 echo alpha-dec-winnt3.5 328 exit ;;309 exit 0 ;; 329 310 Amiga*:UNIX_System_V:4.0:*) 330 311 echo m68k-unknown-sysv4 331 exit ;;312 exit 0;; 332 313 *:[Aa]miga[Oo][Ss]:*:*) 333 314 echo ${UNAME_MACHINE}-unknown-amigaos 334 exit ;;315 exit 0 ;; 335 316 *:[Mm]orph[Oo][Ss]:*:*) 336 317 echo ${UNAME_MACHINE}-unknown-morphos 337 exit ;;318 exit 0 ;; 338 319 *:OS/390:*:*) 339 320 echo i370-ibm-openedition 340 exit ;;321 exit 0 ;; 341 322 *:z/VM:*:*) 342 323 echo s390-ibm-zvmoe 343 exit ;;324 exit 0 ;; 344 325 *:OS400:*:*) 345 326 echo powerpc-ibm-os400 346 exit ;;327 exit 0 ;; 347 328 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) 348 329 echo arm-acorn-riscix${UNAME_RELEASE} 349 exit ;; 350 arm:riscos:*:*|arm:RISCOS:*:*) 351 echo arm-unknown-riscos 352 exit ;; 330 exit 0;; 353 331 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) 354 332 echo hppa1.1-hitachi-hiuxmpp 355 exit ;;333 exit 0;; 356 334 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) 357 335 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. … … 361 339 echo pyramid-pyramid-bsd 362 340 fi 363 exit ;;341 exit 0 ;; 364 342 NILE*:*:*:dcosx) 365 343 echo pyramid-pyramid-svr4 366 exit ;;344 exit 0 ;; 367 345 DRS?6000:unix:4.0:6*) 368 346 echo sparc-icl-nx6 369 exit ;;347 exit 0 ;; 370 348 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) 371 349 case `/usr/bin/uname -p` in 372 sparc) echo sparc-icl-nx7 ; exit;;350 sparc) echo sparc-icl-nx7 && exit 0 ;; 373 351 esac ;; 374 352 sun4H:SunOS:5.*:*) 375 353 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 376 exit ;;354 exit 0 ;; 377 355 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) 378 356 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 379 exit ;;357 exit 0 ;; 380 358 i86pc:SunOS:5.*:*) 381 359 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 382 exit ;;360 exit 0 ;; 383 361 sun4*:SunOS:6*:*) 384 362 # According to config.sub, this is the proper way to canonicalize … … 386 364 # it's likely to be more like Solaris than SunOS4. 387 365 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 388 exit ;;366 exit 0 ;; 389 367 sun4*:SunOS:*:*) 390 368 case "`/usr/bin/arch -k`" in … … 395 373 # Japanese Language versions have a version number like `4.1.3-JL'. 396 374 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` 397 exit ;;375 exit 0 ;; 398 376 sun3*:SunOS:*:*) 399 377 echo m68k-sun-sunos${UNAME_RELEASE} 400 exit ;;378 exit 0 ;; 401 379 sun*:*:4.2BSD:*) 402 380 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` … … 410 388 ;; 411 389 esac 412 exit ;;390 exit 0 ;; 413 391 aushp:SunOS:*:*) 414 392 echo sparc-auspex-sunos${UNAME_RELEASE} 415 exit ;;393 exit 0 ;; 416 394 # The situation for MiNT is a little confusing. The machine name 417 395 # can be virtually everything (everything which is not … … 424 402 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) 425 403 echo m68k-atari-mint${UNAME_RELEASE} 426 exit ;;404 exit 0 ;; 427 405 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) 428 406 echo m68k-atari-mint${UNAME_RELEASE} 429 exit ;;407 exit 0 ;; 430 408 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) 431 409 echo m68k-atari-mint${UNAME_RELEASE} 432 exit ;;410 exit 0 ;; 433 411 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) 434 412 echo m68k-milan-mint${UNAME_RELEASE} 435 exit ;;413 exit 0 ;; 436 414 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) 437 415 echo m68k-hades-mint${UNAME_RELEASE} 438 exit ;;416 exit 0 ;; 439 417 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) 440 418 echo m68k-unknown-mint${UNAME_RELEASE} 441 exit ;;419 exit 0 ;; 442 420 m68k:machten:*:*) 443 421 echo m68k-apple-machten${UNAME_RELEASE} 444 exit ;;422 exit 0 ;; 445 423 powerpc:machten:*:*) 446 424 echo powerpc-apple-machten${UNAME_RELEASE} 447 exit ;;425 exit 0 ;; 448 426 RISC*:Mach:*:*) 449 427 echo mips-dec-mach_bsd4.3 450 exit ;;428 exit 0 ;; 451 429 RISC*:ULTRIX:*:*) 452 430 echo mips-dec-ultrix${UNAME_RELEASE} 453 exit ;;431 exit 0 ;; 454 432 VAX*:ULTRIX*:*:*) 455 433 echo vax-dec-ultrix${UNAME_RELEASE} 456 exit ;;434 exit 0 ;; 457 435 2020:CLIX:*:* | 2430:CLIX:*:*) 458 436 echo clipper-intergraph-clix${UNAME_RELEASE} 459 exit ;;437 exit 0 ;; 460 438 mips:*:*:UMIPS | mips:*:*:RISCos) 461 439 eval $set_cc_for_build … … 481 459 } 482 460 EOF 483 $CC_FOR_BUILD -o $dummy $dummy.c && 484 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && 485 SYSTEM_NAME=`$dummy $dummyarg` && 486 { echo "$SYSTEM_NAME"; exit; } 461 $CC_FOR_BUILD -o $dummy $dummy.c \ 462 && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ 463 && exit 0 487 464 echo mips-mips-riscos${UNAME_RELEASE} 488 exit ;;465 exit 0 ;; 489 466 Motorola:PowerMAX_OS:*:*) 490 467 echo powerpc-motorola-powermax 491 exit ;;468 exit 0 ;; 492 469 Motorola:*:4.3:PL8-*) 493 470 echo powerpc-harris-powermax 494 exit ;;471 exit 0 ;; 495 472 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) 496 473 echo powerpc-harris-powermax 497 exit ;;474 exit 0 ;; 498 475 Night_Hawk:Power_UNIX:*:*) 499 476 echo powerpc-harris-powerunix 500 exit ;;477 exit 0 ;; 501 478 m88k:CX/UX:7*:*) 502 479 echo m88k-harris-cxux7 503 exit ;;480 exit 0 ;; 504 481 m88k:*:4*:R4*) 505 482 echo m88k-motorola-sysv4 506 exit ;;483 exit 0 ;; 507 484 m88k:*:3*:R3*) 508 485 echo m88k-motorola-sysv3 509 exit ;;486 exit 0 ;; 510 487 AViiON:dgux:*:*) 511 488 # DG/UX returns AViiON for all architectures … … 523 500 echo i586-dg-dgux${UNAME_RELEASE} 524 501 fi 525 exit ;;502 exit 0 ;; 526 503 M88*:DolphinOS:*:*) # DolphinOS (SVR3) 527 504 echo m88k-dolphin-sysv3 528 exit ;;505 exit 0 ;; 529 506 M88*:*:R3*:*) 530 507 # Delta 88k system running SVR3 531 508 echo m88k-motorola-sysv3 532 exit ;;509 exit 0 ;; 533 510 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) 534 511 echo m88k-tektronix-sysv3 535 exit ;;512 exit 0 ;; 536 513 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) 537 514 echo m68k-tektronix-bsd 538 exit ;;515 exit 0 ;; 539 516 *:IRIX*:*:*) 540 517 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` 541 exit ;;518 exit 0 ;; 542 519 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. 543 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id544 exit ;;# Note that: echo "'`uname -s`'" gives 'AIX '520 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id 521 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' 545 522 i*86:AIX:*:*) 546 523 echo i386-ibm-aix 547 exit ;;524 exit 0 ;; 548 525 ia64:AIX:*:*) 549 526 if [ -x /usr/bin/oslevel ] ; then … … 553 530 fi 554 531 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} 555 exit ;;532 exit 0 ;; 556 533 *:AIX:2:3) 557 534 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then … … 568 545 } 569 546 EOF 570 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` 571 then 572 echo "$SYSTEM_NAME" 573 else 574 echo rs6000-ibm-aix3.2.5 575 fi 547 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 548 echo rs6000-ibm-aix3.2.5 576 549 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then 577 550 echo rs6000-ibm-aix3.2.4 … … 579 552 echo rs6000-ibm-aix3.2 580 553 fi 581 exit ;;554 exit 0 ;; 582 555 *:AIX:*:[45]) 583 556 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` … … 593 566 fi 594 567 echo ${IBM_ARCH}-ibm-aix${IBM_REV} 595 exit ;;568 exit 0 ;; 596 569 *:AIX:*:*) 597 570 echo rs6000-ibm-aix 598 exit ;;571 exit 0 ;; 599 572 ibmrt:4.4BSD:*|romp-ibm:BSD:*) 600 573 echo romp-ibm-bsd4.4 601 exit ;;574 exit 0 ;; 602 575 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and 603 576 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to 604 exit ;;# report: romp-ibm BSD 4.3577 exit 0 ;; # report: romp-ibm BSD 4.3 605 578 *:BOSX:*:*) 606 579 echo rs6000-bull-bosx 607 exit ;;580 exit 0 ;; 608 581 DPX/2?00:B.O.S.:*:*) 609 582 echo m68k-bull-sysv3 610 exit ;;583 exit 0 ;; 611 584 9000/[34]??:4.3bsd:1.*:*) 612 585 echo m68k-hp-bsd 613 exit ;;586 exit 0 ;; 614 587 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) 615 588 echo m68k-hp-bsd4.4 616 exit ;;589 exit 0 ;; 617 590 9000/[34678]??:HP-UX:*:*) 618 591 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` … … 678 651 # avoid double evaluation of $set_cc_for_build 679 652 test -n "$CC_FOR_BUILD" || eval $set_cc_for_build 680 681 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating 682 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler 683 # generating 64-bit code. GNU and HP use different nomenclature: 684 # 685 # $ CC_FOR_BUILD=cc ./config.guess 686 # => hppa2.0w-hp-hpux11.23 687 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess 688 # => hppa64-hp-hpux11.23 689 690 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | 691 grep __LP64__ >/dev/null 653 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null 692 654 then 693 655 HP_ARCH="hppa2.0w" … … 697 659 fi 698 660 echo ${HP_ARCH}-hp-hpux${HPUX_REV} 699 exit ;;661 exit 0 ;; 700 662 ia64:HP-UX:*:*) 701 663 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` 702 664 echo ia64-hp-hpux${HPUX_REV} 703 exit ;;665 exit 0 ;; 704 666 3050*:HI-UX:*:*) 705 667 eval $set_cc_for_build … … 729 691 } 730 692 EOF 731 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && 732 { echo "$SYSTEM_NAME"; exit; } 693 $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 733 694 echo unknown-hitachi-hiuxwe2 734 exit ;;695 exit 0 ;; 735 696 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) 736 697 echo hppa1.1-hp-bsd 737 exit ;;698 exit 0 ;; 738 699 9000/8??:4.3bsd:*:*) 739 700 echo hppa1.0-hp-bsd 740 exit ;;701 exit 0 ;; 741 702 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) 742 703 echo hppa1.0-hp-mpeix 743 exit ;;704 exit 0 ;; 744 705 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) 745 706 echo hppa1.1-hp-osf 746 exit ;;707 exit 0 ;; 747 708 hp8??:OSF1:*:*) 748 709 echo hppa1.0-hp-osf 749 exit ;;710 exit 0 ;; 750 711 i*86:OSF1:*:*) 751 712 if [ -x /usr/sbin/sysversion ] ; then … … 754 715 echo ${UNAME_MACHINE}-unknown-osf1 755 716 fi 756 exit ;;717 exit 0 ;; 757 718 parisc*:Lites*:*:*) 758 719 echo hppa1.1-hp-lites 759 exit ;;720 exit 0 ;; 760 721 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) 761 722 echo c1-convex-bsd 762 exit ;;723 exit 0 ;; 763 724 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) 764 725 if getsysinfo -f scalar_acc … … 766 727 else echo c2-convex-bsd 767 728 fi 768 exit ;;729 exit 0 ;; 769 730 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) 770 731 echo c34-convex-bsd 771 exit ;;732 exit 0 ;; 772 733 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) 773 734 echo c38-convex-bsd 774 exit ;;735 exit 0 ;; 775 736 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) 776 737 echo c4-convex-bsd 777 exit ;;738 exit 0 ;; 778 739 CRAY*Y-MP:*:*:*) 779 740 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 780 exit ;;741 exit 0 ;; 781 742 CRAY*[A-Z]90:*:*:*) 782 743 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ … … 784 745 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ 785 746 -e 's/\.[^.]*$/.X/' 786 exit ;;747 exit 0 ;; 787 748 CRAY*TS:*:*:*) 788 749 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 789 exit ;;750 exit 0 ;; 790 751 CRAY*T3E:*:*:*) 791 752 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 792 exit ;;753 exit 0 ;; 793 754 CRAY*SV1:*:*:*) 794 755 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 795 exit ;;756 exit 0 ;; 796 757 *:UNICOS/mp:*:*) 797 758 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 798 exit ;;759 exit 0 ;; 799 760 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) 800 761 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` … … 802 763 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` 803 764 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 804 exit ;;765 exit 0 ;; 805 766 5000:UNIX_System_V:4.*:*) 806 767 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` 807 768 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` 808 769 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" 809 exit ;;770 exit 0 ;; 810 771 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) 811 772 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} 812 exit ;;773 exit 0 ;; 813 774 sparc*:BSD/OS:*:*) 814 775 echo sparc-unknown-bsdi${UNAME_RELEASE} 815 exit ;;776 exit 0 ;; 816 777 *:BSD/OS:*:*) 817 778 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} 818 exit ;;779 exit 0 ;; 819 780 *:FreeBSD:*:*) 820 781 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 821 exit ;;782 exit 0 ;; 822 783 i*:CYGWIN*:*) 823 784 echo ${UNAME_MACHINE}-pc-cygwin 824 exit ;;785 exit 0 ;; 825 786 i*:MINGW*:*) 826 787 echo ${UNAME_MACHINE}-pc-mingw32 827 exit ;; 828 i*:windows32*:*) 829 # uname -m includes "-pc" on this system. 830 echo ${UNAME_MACHINE}-mingw32 831 exit ;; 788 exit 0 ;; 832 789 i*:PW*:*) 833 790 echo ${UNAME_MACHINE}-pc-pw32 834 exit ;;791 exit 0 ;; 835 792 x86:Interix*:[34]*) 836 793 echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' 837 exit ;;794 exit 0 ;; 838 795 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) 839 796 echo i${UNAME_MACHINE}-pc-mks 840 exit ;;797 exit 0 ;; 841 798 i*:Windows_NT*:* | Pentium*:Windows_NT*:*) 842 799 # How do we know it's Interix rather than the generic POSIX subsystem? … … 844 801 # UNAME_MACHINE based on the output of uname instead of i386? 845 802 echo i586-pc-interix 846 exit ;;803 exit 0 ;; 847 804 i*:UWIN*:*) 848 805 echo ${UNAME_MACHINE}-pc-uwin 849 exit ;;806 exit 0 ;; 850 807 amd64:CYGWIN*:*:*) 851 808 echo x86_64-unknown-cygwin 852 exit ;;809 exit 0 ;; 853 810 p*:CYGWIN*:*) 854 811 echo powerpcle-unknown-cygwin 855 exit ;;812 exit 0 ;; 856 813 prep*:SunOS:5.*:*) 857 814 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` 858 exit ;;815 exit 0 ;; 859 816 *:GNU:*:*) 860 817 # the GNU system 861 818 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` 862 exit ;;819 exit 0 ;; 863 820 *:GNU/*:*:*) 864 821 # other systems with GNU libc and userland 865 822 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu 866 exit ;;823 exit 0 ;; 867 824 i*86:Minix:*:*) 868 825 echo ${UNAME_MACHINE}-pc-minix 869 exit ;;826 exit 0 ;; 870 827 arm*:Linux:*:*) 871 echo ${UNAME_MACHINE}-unknown-linux- ${LIBC}872 exit ;;828 echo ${UNAME_MACHINE}-unknown-linux-gnu 829 exit 0 ;; 873 830 cris:Linux:*:*) 874 echo cris-axis-linux- ${LIBC}875 exit ;;831 echo cris-axis-linux-gnu 832 exit 0 ;; 876 833 crisv32:Linux:*:*) 877 echo crisv32-axis-linux- ${LIBC}878 exit ;;834 echo crisv32-axis-linux-gnu 835 exit 0 ;; 879 836 frv:Linux:*:*) 880 echo frv-unknown-linux- ${LIBC}881 exit ;;837 echo frv-unknown-linux-gnu 838 exit 0 ;; 882 839 ia64:Linux:*:*) 883 echo ${UNAME_MACHINE}-unknown-linux- ${LIBC}884 exit ;;840 echo ${UNAME_MACHINE}-unknown-linux-gnu 841 exit 0 ;; 885 842 m32r*:Linux:*:*) 886 echo ${UNAME_MACHINE}-unknown-linux- ${LIBC}887 exit ;;843 echo ${UNAME_MACHINE}-unknown-linux-gnu 844 exit 0 ;; 888 845 m68*:Linux:*:*) 889 echo ${UNAME_MACHINE}-unknown-linux- ${LIBC}890 exit ;;846 echo ${UNAME_MACHINE}-unknown-linux-gnu 847 exit 0 ;; 891 848 mips:Linux:*:*) 892 849 eval $set_cc_for_build … … 906 863 EOF 907 864 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 908 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }865 test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 909 866 ;; 910 867 mips64:Linux:*:*) … … 925 882 EOF 926 883 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` 927 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }884 test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 928 885 ;; 929 886 ppc:Linux:*:*) 930 echo powerpc-unknown-linux- ${LIBC}931 exit ;;887 echo powerpc-unknown-linux-gnu 888 exit 0 ;; 932 889 ppc64:Linux:*:*) 933 echo powerpc64-unknown-linux- ${LIBC}934 exit ;;890 echo powerpc64-unknown-linux-gnu 891 exit 0 ;; 935 892 alpha:Linux:*:*) 936 893 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in … … 944 901 esac 945 902 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null 946 if test "$?" = 0 ; then LIBC=" gnulibc1" ; fi947 echo ${UNAME_MACHINE}-unknown-linux- ${LIBC}948 exit ;;903 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi 904 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} 905 exit 0 ;; 949 906 parisc:Linux:*:* | hppa:Linux:*:*) 950 907 # Look for CPU level 951 908 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in 952 PA7*) echo hppa1.1-unknown-linux- ${LIBC};;953 PA8*) echo hppa2.0-unknown-linux- ${LIBC};;954 *) echo hppa-unknown-linux- ${LIBC};;909 PA7*) echo hppa1.1-unknown-linux-gnu ;; 910 PA8*) echo hppa2.0-unknown-linux-gnu ;; 911 *) echo hppa-unknown-linux-gnu ;; 955 912 esac 956 exit ;;913 exit 0 ;; 957 914 parisc64:Linux:*:* | hppa64:Linux:*:*) 958 echo hppa64-unknown-linux- ${LIBC}959 exit ;;915 echo hppa64-unknown-linux-gnu 916 exit 0 ;; 960 917 s390:Linux:*:* | s390x:Linux:*:*) 961 918 echo ${UNAME_MACHINE}-ibm-linux 962 exit ;;919 exit 0 ;; 963 920 sh64*:Linux:*:*) 964 echo ${UNAME_MACHINE}-unknown-linux- ${LIBC}965 exit ;;921 echo ${UNAME_MACHINE}-unknown-linux-gnu 922 exit 0 ;; 966 923 sh*:Linux:*:*) 967 echo ${UNAME_MACHINE}-unknown-linux- ${LIBC}968 exit ;;924 echo ${UNAME_MACHINE}-unknown-linux-gnu 925 exit 0 ;; 969 926 sparc:Linux:*:* | sparc64:Linux:*:*) 970 echo ${UNAME_MACHINE}-unknown-linux- ${LIBC}971 exit ;;927 echo ${UNAME_MACHINE}-unknown-linux-gnu 928 exit 0 ;; 972 929 x86_64:Linux:*:*) 973 echo x86_64-unknown-linux- ${LIBC}974 exit ;;930 echo x86_64-unknown-linux-gnu 931 exit 0 ;; 975 932 i*86:Linux:*:*) 976 933 # The BFD linker knows what the default object file format is, so … … 986 943 case "$ld_supported_targets" in 987 944 elf32-i386) 988 TENTATIVE="${UNAME_MACHINE}-pc-linux- ${LIBC}"945 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" 989 946 ;; 990 947 a.out-i386-linux) 991 echo "${UNAME_MACHINE}-pc-linux- ${LIBC}aout"992 exit ;;948 echo "${UNAME_MACHINE}-pc-linux-gnuaout" 949 exit 0 ;; 993 950 coff-i386) 994 echo "${UNAME_MACHINE}-pc-linux- ${LIBC}coff"995 exit ;;951 echo "${UNAME_MACHINE}-pc-linux-gnucoff" 952 exit 0 ;; 996 953 "") 997 954 # Either a pre-BFD a.out linker (linux-gnuoldld) or 998 955 # one that does not give us useful --help. 999 echo "${UNAME_MACHINE}-pc-linux- ${LIBC}oldld"1000 exit ;;956 echo "${UNAME_MACHINE}-pc-linux-gnuoldld" 957 exit 0 ;; 1001 958 esac 1002 if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi1003 959 # Determine whether the default compiler is a.out or elf 1004 960 eval $set_cc_for_build … … 1027 983 EOF 1028 984 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` 1029 test x"${LIBC}" != x && { 1030 echo "${UNAME_MACHINE}-pc-linux-${LIBC}" 1031 exit 1032 } 1033 test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } 985 test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 986 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 1034 987 ;; 1035 988 i*86:DYNIX/ptx:4*:*) … … 1038 991 # sysname and nodename. 1039 992 echo i386-sequent-sysv4 1040 exit ;;993 exit 0 ;; 1041 994 i*86:UNIX_SV:4.2MP:2.*) 1042 995 # Unixware is an offshoot of SVR4, but it has its own version … … 1046 999 # Use sysv4.2uw... so that sysv4* matches it. 1047 1000 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} 1048 exit ;;1001 exit 0 ;; 1049 1002 i*86:OS/2:*:*) 1050 1003 # If we were able to find `uname', then EMX Unix compatibility 1051 1004 # is probably installed. 1052 1005 echo ${UNAME_MACHINE}-pc-os2-emx 1053 exit ;;1006 exit 0 ;; 1054 1007 i*86:XTS-300:*:STOP) 1055 1008 echo ${UNAME_MACHINE}-unknown-stop 1056 exit ;;1009 exit 0 ;; 1057 1010 i*86:atheos:*:*) 1058 1011 echo ${UNAME_MACHINE}-unknown-atheos 1059 exit ;;1060 1012 exit 0 ;; 1013 i*86:syllable:*:*) 1061 1014 echo ${UNAME_MACHINE}-pc-syllable 1062 exit ;;1015 exit 0 ;; 1063 1016 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) 1064 1017 echo i386-unknown-lynxos${UNAME_RELEASE} 1065 exit ;;1018 exit 0 ;; 1066 1019 i*86:*DOS:*:*) 1067 1020 echo ${UNAME_MACHINE}-pc-msdosdjgpp 1068 exit ;;1021 exit 0 ;; 1069 1022 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) 1070 1023 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` … … 1074 1027 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} 1075 1028 fi 1076 exit ;; 1077 i*86:*:5:[678]*) 1078 # UnixWare 7.x, OpenUNIX and OpenServer 6. 1029 exit 0 ;; 1030 i*86:*:5:[78]*) 1079 1031 case `/bin/uname -X | grep "^Machine"` in 1080 1032 *486*) UNAME_MACHINE=i486 ;; … … 1083 1035 esac 1084 1036 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} 1085 exit ;;1037 exit 0 ;; 1086 1038 i*86:*:3.2:*) 1087 1039 if test -f /usr/options/cb.name; then … … 1101 1053 echo ${UNAME_MACHINE}-pc-sysv32 1102 1054 fi 1103 exit ;;1055 exit 0 ;; 1104 1056 pc:*:*:*) 1105 1057 # Left here for compatibility: … … 1107 1059 # the processor, so we play safe by assuming i386. 1108 1060 echo i386-pc-msdosdjgpp 1109 exit ;;1061 exit 0 ;; 1110 1062 Intel:Mach:3*:*) 1111 1063 echo i386-pc-mach3 1112 exit ;;1064 exit 0 ;; 1113 1065 paragon:*:*:*) 1114 1066 echo i860-intel-osf1 1115 exit ;;1067 exit 0 ;; 1116 1068 i860:*:4.*:*) # i860-SVR4 1117 1069 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then … … 1120 1072 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 1121 1073 fi 1122 exit ;;1074 exit 0 ;; 1123 1075 mini*:CTIX:SYS*5:*) 1124 1076 # "miniframe" 1125 1077 echo m68010-convergent-sysv 1126 exit ;;1078 exit 0 ;; 1127 1079 mc68k:UNIX:SYSTEM5:3.51m) 1128 1080 echo m68k-convergent-sysv 1129 exit ;;1081 exit 0 ;; 1130 1082 M680?0:D-NIX:5.3:*) 1131 1083 echo m68k-diab-dnix 1132 exit ;;1084 exit 0 ;; 1133 1085 M68*:*:R3V[5678]*:*) 1134 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; };;1086 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 1135 1087 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) 1136 1088 OS_REL='' … … 1138 1090 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` 1139 1091 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1140 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }1092 && echo i486-ncr-sysv4.3${OS_REL} && exit 0 1141 1093 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ 1142 && { echo i586-ncr-sysv4.3${OS_REL}; exit; };;1094 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 1143 1095 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) 1144 1096 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ 1145 && { echo i486-ncr-sysv4; exit; };;1097 && echo i486-ncr-sysv4 && exit 0 ;; 1146 1098 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) 1147 1099 echo m68k-unknown-lynxos${UNAME_RELEASE} 1148 exit ;;1100 exit 0 ;; 1149 1101 mc68030:UNIX_System_V:4.*:*) 1150 1102 echo m68k-atari-sysv4 1151 exit ;;1103 exit 0 ;; 1152 1104 TSUNAMI:LynxOS:2.*:*) 1153 1105 echo sparc-unknown-lynxos${UNAME_RELEASE} 1154 exit ;;1106 exit 0 ;; 1155 1107 rs6000:LynxOS:2.*:*) 1156 1108 echo rs6000-unknown-lynxos${UNAME_RELEASE} 1157 exit ;;1109 exit 0 ;; 1158 1110 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) 1159 1111 echo powerpc-unknown-lynxos${UNAME_RELEASE} 1160 exit ;;1112 exit 0 ;; 1161 1113 SM[BE]S:UNIX_SV:*:*) 1162 1114 echo mips-dde-sysv${UNAME_RELEASE} 1163 exit ;;1115 exit 0 ;; 1164 1116 RM*:ReliantUNIX-*:*:*) 1165 1117 echo mips-sni-sysv4 1166 exit ;;1118 exit 0 ;; 1167 1119 RM*:SINIX-*:*:*) 1168 1120 echo mips-sni-sysv4 1169 exit ;;1121 exit 0 ;; 1170 1122 *:SINIX-*:*:*) 1171 1123 if uname -p 2>/dev/null >/dev/null ; then … … 1175 1127 echo ns32k-sni-sysv 1176 1128 fi 1177 exit ;;1129 exit 0 ;; 1178 1130 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort 1179 1131 # says <Richard.M.Bartel@ccMail.Census.GOV> 1180 1132 echo i586-unisys-sysv4 1181 exit ;;1133 exit 0 ;; 1182 1134 *:UNIX_System_V:4*:FTX*) 1183 1135 # From Gerald Hewes <hewes@openmarket.com>. 1184 1136 # How about differentiating between stratus architectures? -djm 1185 1137 echo hppa1.1-stratus-sysv4 1186 exit ;;1138 exit 0 ;; 1187 1139 *:*:*:FTX*) 1188 1140 # From seanf@swdc.stratus.com. 1189 1141 echo i860-stratus-sysv4 1190 exit ;; 1191 i*86:VOS:*:*) 1192 # From Paul.Green@stratus.com. 1193 echo ${UNAME_MACHINE}-stratus-vos 1194 exit ;; 1142 exit 0 ;; 1195 1143 *:VOS:*:*) 1196 1144 # From Paul.Green@stratus.com. 1197 1145 echo hppa1.1-stratus-vos 1198 exit ;;1146 exit 0 ;; 1199 1147 mc68*:A/UX:*:*) 1200 1148 echo m68k-apple-aux${UNAME_RELEASE} 1201 exit ;;1149 exit 0 ;; 1202 1150 news*:NEWS-OS:6*:*) 1203 1151 echo mips-sony-newsos6 1204 exit ;;1152 exit 0 ;; 1205 1153 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) 1206 1154 if [ -d /usr/nec ]; then … … 1209 1157 echo mips-unknown-sysv${UNAME_RELEASE} 1210 1158 fi 1211 exit ;;1159 exit 0 ;; 1212 1160 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. 1213 1161 echo powerpc-be-beos 1214 exit ;;1162 exit 0 ;; 1215 1163 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. 1216 1164 echo powerpc-apple-beos 1217 exit ;;1165 exit 0 ;; 1218 1166 BePC:BeOS:*:*) # BeOS running on Intel PC compatible. 1219 1167 echo i586-pc-beos 1220 exit ;;1168 exit 0 ;; 1221 1169 SX-4:SUPER-UX:*:*) 1222 1170 echo sx4-nec-superux${UNAME_RELEASE} 1223 exit ;;1171 exit 0 ;; 1224 1172 SX-5:SUPER-UX:*:*) 1225 1173 echo sx5-nec-superux${UNAME_RELEASE} 1226 exit ;;1174 exit 0 ;; 1227 1175 SX-6:SUPER-UX:*:*) 1228 1176 echo sx6-nec-superux${UNAME_RELEASE} 1229 exit ;;1177 exit 0 ;; 1230 1178 Power*:Rhapsody:*:*) 1231 1179 echo powerpc-apple-rhapsody${UNAME_RELEASE} 1232 exit ;;1180 exit 0 ;; 1233 1181 *:Rhapsody:*:*) 1234 1182 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} 1235 exit ;;1183 exit 0 ;; 1236 1184 *:Darwin:*:*) 1237 1185 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown … … 1241 1189 esac 1242 1190 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} 1243 exit ;;1191 exit 0 ;; 1244 1192 *:procnto*:*:* | *:QNX:[0123456789]*:*) 1245 1193 UNAME_PROCESSOR=`uname -p` … … 1249 1197 fi 1250 1198 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} 1251 exit ;;1199 exit 0 ;; 1252 1200 *:QNX:*:4*) 1253 1201 echo i386-pc-qnx 1254 exit ;;1202 exit 0 ;; 1255 1203 NSE-?:NONSTOP_KERNEL:*:*) 1256 1204 echo nse-tandem-nsk${UNAME_RELEASE} 1257 exit ;;1205 exit 0 ;; 1258 1206 NSR-?:NONSTOP_KERNEL:*:*) 1259 1207 echo nsr-tandem-nsk${UNAME_RELEASE} 1260 exit ;;1208 exit 0 ;; 1261 1209 *:NonStop-UX:*:*) 1262 1210 echo mips-compaq-nonstopux 1263 exit ;;1211 exit 0 ;; 1264 1212 BS2000:POSIX*:*:*) 1265 1213 echo bs2000-siemens-sysv 1266 exit ;;1214 exit 0 ;; 1267 1215 DS/*:UNIX_System_V:*:*) 1268 1216 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} 1269 exit ;;1217 exit 0 ;; 1270 1218 *:Plan9:*:*) 1271 1219 # "uname -m" is not consistent, so use $cputype instead. 386 … … 1278 1226 fi 1279 1227 echo ${UNAME_MACHINE}-unknown-plan9 1280 exit ;;1228 exit 0 ;; 1281 1229 *:TOPS-10:*:*) 1282 1230 echo pdp10-unknown-tops10 1283 exit ;;1231 exit 0 ;; 1284 1232 *:TENEX:*:*) 1285 1233 echo pdp10-unknown-tenex 1286 exit ;;1234 exit 0 ;; 1287 1235 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) 1288 1236 echo pdp10-dec-tops20 1289 exit ;;1237 exit 0 ;; 1290 1238 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) 1291 1239 echo pdp10-xkl-tops20 1292 exit ;;1240 exit 0 ;; 1293 1241 *:TOPS-20:*:*) 1294 1242 echo pdp10-unknown-tops20 1295 exit ;;1243 exit 0 ;; 1296 1244 *:ITS:*:*) 1297 1245 echo pdp10-unknown-its 1298 exit ;;1246 exit 0 ;; 1299 1247 SEI:*:*:SEIUX) 1300 1248 echo mips-sei-seiux${UNAME_RELEASE} 1301 exit ;;1249 exit 0 ;; 1302 1250 *:DragonFly:*:*) 1303 1251 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` 1304 exit ;;1252 exit 0 ;; 1305 1253 *:*VMS:*:*) 1306 1254 UNAME_MACHINE=`(uname -p) 2>/dev/null` 1307 1255 case "${UNAME_MACHINE}" in 1308 A*) echo alpha-dec-vms ; exit;;1309 I*) echo ia64-dec-vms ; exit;;1310 V*) echo vax-dec-vms ; exit;;1256 A*) echo alpha-dec-vms && exit 0 ;; 1257 I*) echo ia64-dec-vms && exit 0 ;; 1258 V*) echo vax-dec-vms && exit 0 ;; 1311 1259 esac ;; 1312 1260 *:XENIX:*:SysV) 1313 1261 echo i386-pc-xenix 1314 exit ;; 1315 i*86:skyos:*:*) 1316 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' 1317 exit ;; 1262 exit 0 ;; 1318 1263 esac 1319 1264 … … 1347 1292 1348 1293 #if defined (__arm) && defined (__acorn) && defined (__unix) 1349 printf ("arm-acorn-riscix \n"); exit (0);1294 printf ("arm-acorn-riscix"); exit (0); 1350 1295 #endif 1351 1296 … … 1436 1381 EOF 1437 1382 1438 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && 1439 { echo "$SYSTEM_NAME"; exit; } 1383 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 1440 1384 1441 1385 # Apollos put the system type in the environment. 1442 1386 1443 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit ; }1387 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } 1444 1388 1445 1389 # Convex versions that predate uname can use getsysinfo(1) … … 1450 1394 c1*) 1451 1395 echo c1-convex-bsd 1452 exit ;;1396 exit 0 ;; 1453 1397 c2*) 1454 1398 if getsysinfo -f scalar_acc … … 1456 1400 else echo c2-convex-bsd 1457 1401 fi 1458 exit ;;1402 exit 0 ;; 1459 1403 c34*) 1460 1404 echo c34-convex-bsd 1461 exit ;;1405 exit 0 ;; 1462 1406 c38*) 1463 1407 echo c38-convex-bsd 1464 exit ;;1408 exit 0 ;; 1465 1409 c4*) 1466 1410 echo c4-convex-bsd 1467 exit ;;1411 exit 0 ;; 1468 1412 esac 1469 1413 fi … … 1476 1420 download the most up to date version of the config scripts from 1477 1421 1478 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess 1479 and 1480 http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub 1422 ftp://ftp.gnu.org/pub/gnu/config/ 1481 1423 1482 1424 If the version you run ($0) is already up to date, please -
trunk/config.sub
r5479 r5750 4 4 # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 5 5 6 timestamp='2005-0 6-02'6 timestamp='2005-02-10' 7 7 8 8 # This file is (in principle) common to ALL GNU software. … … 22 22 # You should have received a copy of the GNU General Public License 23 23 # along with this program; if not, write to the Free Software 24 # Foundation, Inc., 5 1 Franklin Street - Fifth Floor, Boston, MA25 # 02110-1301, USA.26 # 24 # Foundation, Inc., 59 Temple Place - Suite 330, 25 # Boston, MA 02111-1307, USA. 26 27 27 # As a special exception to the GNU General Public License, if you 28 28 # distribute this file as part of a program that contains a 29 29 # configuration script generated by Autoconf, you may include it under 30 30 # the same distribution terms that you use for the rest of that program. 31 32 31 33 32 # Please send patches to <config-patches@gnu.org>. Submit a context … … 85 84 case $1 in 86 85 --time-stamp | --time* | -t ) 87 echo "$timestamp" ; exit ;;86 echo "$timestamp" ; exit 0 ;; 88 87 --version | -v ) 89 echo "$version" ; exit ;;88 echo "$version" ; exit 0 ;; 90 89 --help | --h* | -h ) 91 echo "$usage"; exit ;;90 echo "$usage"; exit 0 ;; 92 91 -- ) # Stop option processing 93 92 shift; break ;; … … 101 100 # First pass through any local machine types. 102 101 echo $1 103 exit ;;102 exit 0;; 104 103 105 104 * ) … … 233 232 | am33_2.0 \ 234 233 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ 235 | bfin \236 234 | c4x | clipper \ 237 | d10v | d30v | dlx | dsp16xx | dvp\235 | d10v | d30v | dlx | dsp16xx \ 238 236 | fr30 | frv \ 239 237 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ … … 249 247 | mips64vr4300 | mips64vr4300el \ 250 248 | mips64vr5000 | mips64vr5000el \ 251 | mips64r5900 | mips64r5900el \252 249 | mipsisa32 | mipsisa32el \ 253 250 | mipsisa32r2 | mipsisa32r2el \ … … 258 255 | mipstx39 | mipstx39el \ 259 256 | mn10200 | mn10300 \ 260 | ms1 \261 257 | msp430 \ 262 258 | ns16k | ns32k \ … … 267 263 | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ 268 264 | sh64 | sh64le \ 269 | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ 270 | sparcv8 | sparcv9 | sparcv9b \ 265 | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ 271 266 | strongarm \ 272 267 | tahoe | thumb | tic4x | tic80 | tron \ … … 275 270 | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ 276 271 | z8k) 277 basic_machine=$basic_machine-unknown278 ;;279 m32c)280 272 basic_machine=$basic_machine-unknown 281 273 ;; … … 307 299 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 308 300 | avr-* \ 309 | b fin-* | bs2000-* \301 | bs2000-* \ 310 302 | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ 311 303 | clipper-* | craynv-* | cydra-* \ … … 328 320 | mips64vr4300-* | mips64vr4300el-* \ 329 321 | mips64vr5000-* | mips64vr5000el-* \ 330 | mips64r5900-* | mips64r5900el-* \331 322 | mipsisa32-* | mipsisa32el-* \ 332 323 | mipsisa32r2-* | mipsisa32r2el-* \ … … 337 328 | mipstx39-* | mipstx39el-* \ 338 329 | mmix-* \ 339 | ms1-* \340 330 | msp430-* \ 341 331 | none-* | np1-* | ns16k-* | ns32k-* \ … … 347 337 | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ 348 338 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 349 | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ 350 | sparclite-* \ 339 | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ 351 340 | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ 352 341 | tahoe-* | thumb-* \ … … 360 349 | z8k-*) 361 350 ;; 362 m32c-*)363 ;;364 351 # Recognize the various machine names and aliases which stand 365 352 # for a CPU type and a company and sometimes even an OS. … … 678 665 basic_machine=m68k-atari 679 666 os=-mint 680 ;;681 mipsEE* | ee | ps2)682 basic_machine=mips64r5900el-scei683 case $os in684 -linux*)685 ;;686 *)687 os=-elf688 ;;689 esac690 ;;691 iop)692 basic_machine=mipsel-scei693 os=-irx694 ;;695 dvp)696 basic_machine=dvp-scei697 os=-elf698 667 ;; 699 668 mips3*-*) … … 1210 1179 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1211 1180 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1212 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -skyos* \ 1213 | -irx* ) 1181 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) 1214 1182 # Remember, each alternative MUST END IN *, to match a version number. 1215 1183 ;; … … 1589 1557 1590 1558 echo $basic_machine$os 1591 exit 1559 exit 0 1592 1560 1593 1561 # Local variables: -
trunk/configure
r5502 r5750 274 274 PACKAGE_BUGREPORT='orxonox-dev at mail.datacore.ch' 275 275 276 ac_unique_file=" ."276 ac_unique_file="src" 277 277 # Factoring default headers for most tests. 278 278 ac_includes_default="\ -
trunk/configure.ac
r5502 r5750 25 25 ######################### 26 26 AC_PREREQ(2.59) 27 AC_INIT([orxonox], [0.3.2_alpha],[orxonox-dev at mail.datacore.ch])27 AC_INIT([orxonox], [0.3.2_alpha], [orxonox-dev at mail.datacore.ch]) 28 28 29 29 ## Detect the canonical host and target build environment. … … 34 34 AM_INIT_AUTOMAKE 35 35 36 AC_CONFIG_SRCDIR([ .])36 AC_CONFIG_SRCDIR([src]) 37 37 AC_CONFIG_HEADER([config.h]) 38 38 -
trunk/depcomp
r5479 r5750 2 2 # depcomp - compile a program generating dependencies as side-effects 3 3 4 scriptversion=2005-0 7-09.114 scriptversion=2005-02-09.22 5 5 6 6 # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. … … 18 18 # You should have received a copy of the GNU General Public License 19 19 # along with this program; if not, write to the Free Software 20 # Foundation, Inc., 5 1 Franklin Street, Fifth Floor, Boston, MA21 # 0211 0-1301, USA.20 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 21 # 02111-1307, USA. 22 22 23 23 # As a special exception to the GNU General Public License, if you … … 468 468 469 469 "$@" -E | 470 sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ 471 -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | 470 sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | 472 471 sed '$ s: \\$::' > "$tmpdepfile" 473 472 rm -f "$depfile" -
trunk/install-sh
r5479 r5750 2 2 # install - install a program, script, or datafile 3 3 4 scriptversion=2005-0 5-14.224 scriptversion=2005-02-02.21 5 5 6 6 # This originates from X11R5 (mit/util/scripts/install.sh), which was -
trunk/missing
r5479 r5750 2 2 # Common stub for a few missing GNU programs while installing. 3 3 4 scriptversion=2005-0 6-08.214 scriptversion=2005-02-08.22 5 5 6 6 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 … … 20 20 # You should have received a copy of the GNU General Public License 21 21 # along with this program; if not, write to the Free Software 22 # Foundation, Inc., 5 1 Franklin Street, Fifth Floor, Boston, MA23 # 0211 0-1301, USA.22 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 23 # 02111-1307, USA. 24 24 25 25 # As a special exception to the GNU General Public License, if you … … 298 298 test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info 299 299 fi 300 # If the file does not exist, the user really needs makeinfo;301 # let's fail without touching anything.302 test -f $file || exit 1303 300 touch $file 304 301 ;; -
trunk/mkinstalldirs
r5479 r5750 2 2 # mkinstalldirs --- make directory hierarchy 3 3 4 scriptversion=2005-0 6-29.224 scriptversion=2005-02-02.21 5 5 6 6 # Original author: Noah Friedman <friedman@prep.ai.mit.edu> … … 13 13 14 14 errstatus=0 15 dirmode= 15 dirmode="" 16 16 17 17 usage="\ … … 104 104 for file 105 105 do 106 case $file in 107 /*) pathcomp=/ ;; 108 *) pathcomp= ;; 109 esac 110 oIFS=$IFS 111 IFS=/ 112 set fnord $file 106 set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` 113 107 shift 114 IFS=$oIFS115 108 109 pathcomp= 116 110 for d 117 111 do 118 test "x$d" = x && continue 119 120 pathcomp=$pathcomp$d 112 pathcomp="$pathcomp$d" 121 113 case $pathcomp in 122 114 -*) pathcomp=./$pathcomp ;; … … 133 125 if test ! -z "$dirmode"; then 134 126 echo "chmod $dirmode $pathcomp" 135 lasterr= 127 lasterr="" 136 128 chmod "$dirmode" "$pathcomp" || lasterr=$? 137 129 … … 143 135 fi 144 136 145 pathcomp= $pathcomp/137 pathcomp="$pathcomp/" 146 138 done 147 139 done -
trunk/src/Makefile.am
r5691 r5750 48 48 world_entities/camera.cc \ 49 49 world_entities/player.cc \ 50 world_entities/npc.cc \ 51 world_entities/npc2.cc \ 50 world_entities/npcs/npc.cc \ 51 world_entities/npcs/npc_test1.cc \ 52 world_entities/npcs/npc_test.cc \ 52 53 world_entities/environment.cc \ 53 54 world_entities/skysphere.cc \ … … 62 63 world_entities/weapons/test_gun.cc \ 63 64 world_entities/weapons/turret.cc \ 65 world_entities/weapons/ground_turret.cc \ 66 world_entities/weapons/aiming_turret.cc \ 67 world_entities/weapons/cannon.cc \ 64 68 world_entities/weapons/test_bullet.cc \ 65 69 world_entities/weapons/rocket.cc \ 66 70 world_entities/weapons/laser.cc \ 67 71 world_entities/weapons/aim.cc \ 72 world_entities/weapons/bomb.cc \ 68 73 world_entities/weapons/crosshair.cc \ 69 74 world_entities/power_ups/power_up.cc \ … … 82 87 world_entities/camera.h \ 83 88 world_entities/player.h \ 84 world_entities/npc.h \ 85 world_entities/npc2.h \ 89 world_entities/npcs/npc.h \ 90 world_entities/npcs/npc_test.h \ 91 world_entities/npcs/npc_test1.h \ 86 92 world_entities/environment.h \ 87 93 world_entities/skysphere.h \ … … 95 101 world_entities/weapons/projectile.h \ 96 102 world_entities/weapons/test_gun.h \ 103 world_entities/weapons/cannon.h \ 97 104 world_entities/weapons/turret.h \ 105 world_entities/weapons/aiming_turret.h \ 98 106 world_entities/weapons/test_bullet.h \ 99 107 world_entities/weapons/rocket.h \ 100 108 world_entities/weapons/laser.h \ 101 109 world_entities/weapons/aim.h \ 110 world_entities/weapons/bomb.h \ 102 111 world_entities/weapons/crosshair.h \ 103 112 world_entities/power_ups/power_up.h \ -
trunk/src/defs/class_id.h
r5634 r5750 135 135 CL_TEST_GUN = 0x00000230, 136 136 CL_TURRET = 0x00000231, 137 137 CL_AIMING_TURRET = 0x00000232, 138 CL_CANNON = 0x00000233, 138 139 139 140 CL_TEST_BULLET = 0x00000240, 140 141 CL_ROCKET = 0x00000241, 141 142 CL_LASER = 0x00000242, 142 143 CL_BOMB = 0x00000243, 144 CL_GROUND_TURRET = 0x00000244, 143 145 144 146 // gamePlay (range from 0x00000500 0x000005ff) -
trunk/src/lib/collision_detection/Makefile.am
r5687 r5750 6 6 libORXcd_a_SOURCES = cd_engine.cc \ 7 7 collision.cc \ 8 8 obb.cc \ 9 9 obb_tree.cc \ 10 10 obb_tree_node.cc \ 11 11 bv_tree.cc \ 12 13 14 12 bv_tree_node.cc \ 13 bounding_volume.cc \ 14 bounding_sphere.cc 15 15 16 16 17 17 noinst_HEADERS = cd_engine.h \ 18 18 collision_defs.h \ 19 19 collision.h \ 20 20 obb.h \ 21 21 obb_tree.h \ 22 22 obb_tree_node.h \ 23 23 bv_tree.h \ 24 25 26 24 bv_tree_node.h \ 25 bounding_volume.h \ 26 bounding_sphere.h 27 27 -
trunk/src/lib/coord/p_node.h
r5414 r5750 70 70 inline const Vector& getAbsCoor () const { return this->absCoordinate; }; 71 71 void shiftCoor (const Vector& shift); 72 void shiftCoor (float x, float y, float z) { this->shiftCoor(Vector(x, y, z)); }; 72 73 73 74 void setRelDir (const Quaternion& relDir); … … 127 128 static const char* parentingModeToChar(int parentingMode); 128 129 static PARENT_MODE charToParentingMode(const char* parentingMode); 130 131 129 132 private: 130 133 void init(PNode* parent); -
trunk/src/lib/graphics/light.cc
r5671 r5750 29 29 using namespace std; 30 30 31 CREATE_FACTORY(Light );31 CREATE_FACTORY(Light, CL_LIGHT); 32 32 33 33 //! Definition of the Lights and their Names -
trunk/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc
r5671 r5750 25 25 #include "load_param.h" 26 26 27 CREATE_FACTORY(GLMenuImageScreen );27 CREATE_FACTORY(GLMenuImageScreen, CL_GLMENU_IMAGE_SCREEN); 28 28 29 29 using namespace std; -
trunk/src/lib/particles/particle_emitter.cc
r5671 r5750 29 29 30 30 31 CREATE_FACTORY(ParticleEmitter );31 CREATE_FACTORY(ParticleEmitter, CL_PARTICLE_EMITTER); 32 32 33 33 /** -
trunk/src/lib/particles/particle_system.cc
r5671 r5750 32 32 #include "tinyxml.h" 33 33 34 CREATE_FACTORY(ParticleSystem );34 CREATE_FACTORY(ParticleSystem, CL_PARTICLE_SYSTEM); 35 35 SHELL_COMMAND(texture, ParticleSystem, setMaterialTexture) 36 36 ->defaultValues(1, "maps/evil-flower.png"); -
trunk/src/lib/physics/fields/gravity.cc
r5357 r5750 23 23 using namespace std; 24 24 25 CREATE_FACTORY(Gravity );25 CREATE_FACTORY(Gravity, CL_FIELD_GRAVITY); 26 26 27 27 Gravity::Gravity(const TiXmlElement* root) -
trunk/src/lib/physics/physics_connection.cc
r5671 r5750 29 29 using namespace std; 30 30 31 CREATE_FACTORY(PhysicsConnection );31 CREATE_FACTORY(PhysicsConnection, CL_PHYSICS_CONNECTION); 32 32 33 33 /** -
trunk/src/story_entities/world.cc
r5671 r5750 70 70 71 71 #include "cd_engine.h" 72 #include "npc.h" 73 #include "npc2.h" 72 #include "npcs/npc_test1.h" 74 73 #include "shader.h" 75 74 … … 81 80 82 81 //! This creates a Factory to fabricate a World 83 CREATE_FACTORY(World );82 CREATE_FACTORY(World, CL_WORLD); 84 83 85 84 World::World(const TiXmlElement* root) … … 469 468 for(int i = 0; i < 100; i++) 470 469 { 471 WorldEntity* tmp = new NPC ();470 WorldEntity* tmp = new NPCTest1(); 472 471 char npcChar[10]; 473 472 sprintf (npcChar, "NPC_%d", i); -
trunk/src/subprojects/benchmark.cc
r5427 r5750 36 36 #include <stdlib.h> 37 37 #include <asm/msr.h> 38 #include <linux/timex.h>38 //#include <linux/timex.h> 39 39 40 40 -
trunk/src/subprojects/collision_detection/Makefile.am
r5687 r5750 6 6 7 7 collision_LDADD = $(MAINSRCDIR)/util/libORXutils.a \ 8 $(MAINSRCDIR)/lib/physics/libORXphysics.a \ 8 9 $(MAINSRCDIR)/lib/collision_detection/libORXcd.a \ 9 10 $(MAINSRCDIR)/lib/libORXlibs.a \ -
trunk/src/subprojects/collision_detection/collision_test_entity.cc
r5687 r5750 26 26 27 27 using namespace std; 28 CREATE_FACTORY(CollisionTestEntity );28 CREATE_FACTORY(CollisionTestEntity, CL_ENVIRONMENT); 29 29 30 30 /** -
trunk/src/subprojects/importer/Makefile.am
r5546 r5750 31 31 $(MAINSRCDIR)/lib/util/substring.cc \ 32 32 $(MAINSRCDIR)/lib/util/color.cc \ 33 $(MAINSRCDIR)/lib/util/multi_type.cc \ 33 34 $(MAINSRCDIR)/util/loading/factory.cc -
trunk/src/util/Makefile.am
r5546 r5750 5 5 6 6 libORXutils_a_SOURCES = fast_factory.cc \ 7 object_manager.cc \ 7 8 loading/factory.cc \ 8 9 garbage_collector.cc \ … … 18 19 track/pilot_node.cc \ 19 20 track/track_manager.cc \ 20 track/track_node.cc 21 track/track_node.cc 21 22 22 23 noinst_HEADERS = fast_factory.h \ 24 object_manager.h \ 23 25 garbage_collector.h \ 24 26 state.h \ -
trunk/src/util/fast_factory.cc
r5041 r5750 13 13 */ 14 14 15 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_ OBJECT_MANAGER15 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_LOAD 16 16 17 17 #include "fast_factory.h" -
trunk/src/util/loading/factory.cc
r5298 r5750 34 34 set everything to zero and define factoryName 35 35 */ 36 Factory::Factory (const char* factoryName )36 Factory::Factory (const char* factoryName, ClassID classID) 37 37 { 38 38 this->setClassID(CL_FACTORY, "Factory"); … … 40 40 41 41 this->next = NULL; 42 this->classID = classID; 42 43 43 44 Factory::registerFactory(this); -
trunk/src/util/loading/factory.h
r5357 r5750 33 33 * this should be used at the beginning of all the Classes that should be loadable (in the cc-file) 34 34 */ 35 #define CREATE_FACTORY(CLASS_NAME ) \36 tFactory<CLASS_NAME>* global_##CLASS_NAME##_Factory = new tFactory<CLASS_NAME>(#CLASS_NAME )35 #define CREATE_FACTORY(CLASS_NAME, CLASS_ID) \ 36 tFactory<CLASS_NAME>* global_##CLASS_NAME##_Factory = new tFactory<CLASS_NAME>(#CLASS_NAME, CLASS_ID) 37 37 38 38 //! The Factory is a loadable object handler … … 40 40 41 41 public: 42 Factory (const char* factoryName = NULL );42 Factory (const char* factoryName = NULL, ClassID classID = CL_NULL); 43 43 virtual ~Factory (); 44 44 45 45 void fabricate(const char* className, const char* entityName); 46 virtual BaseObject* fabricate(ClassID classID) = NULL; 46 47 virtual BaseObject* fabricate(const TiXmlElement* root) = NULL; 47 48 virtual BaseObject* fabricateDirect() = NULL; … … 57 58 Factory* getNext() const { return this->next; }; 58 59 60 61 protected: 62 ClassID classID; //!< The CLass-Identifyer of the Factory. 63 59 64 private: 60 65 Factory* next; //!< pointer to the next factory. … … 64 69 /** 65 70 * a factory that is able to load any kind of Object 66 67 */71 * (this is a Functor) 72 */ 68 73 template<class T> class tFactory : public Factory 69 74 { 70 public:71 tFactory(const char* factoryName);72 virtual ~tFactory();75 public: 76 tFactory(const char* factoryName, ClassID classID); 77 virtual ~tFactory(); 73 78 74 79 private: 75 virtual BaseObject* fabricate(const TiXmlElement* root); 76 virtual BaseObject* fabricateDirect(); 80 virtual BaseObject* fabricate(ClassID classID); 81 virtual BaseObject* fabricate(const TiXmlElement* root); 82 virtual BaseObject* fabricateDirect(); 77 83 }; 78 84 … … 82 88 */ 83 89 template<class T> 84 tFactory<T>::tFactory(const char* factoryName) : Factory(factoryName)90 tFactory<T>::tFactory(const char* factoryName, ClassID classID) : Factory(factoryName, classID) 85 91 { 86 92 PRINTF(4)("Class: %s loadable\n", this->getName()); 87 93 } 88 94 89 95 /** 96 * destructs the type-Factory 97 */ 90 98 template<class T> 91 tFactory<T>::~tFactory()99 tFactory<T>::~tFactory() 92 100 {} 93 101 102 /** 103 * fabricates an Object of type T, with the constructor T::T(const TiXmlElemnt*) 104 * @param root the TiXmlElement T should load parameters from. 105 * @return the newly fabricated T, NULL otherwise. 106 */ 94 107 template<class T> 95 BaseObject* tFactory<T>::fabricate(const TiXmlElement* root)108 BaseObject* tFactory<T>::fabricate(const TiXmlElement* root) 96 109 { 97 110 if (root == NULL) … … 106 119 } 107 120 121 122 /** 123 * fabricates an Object of type T, with the constructor T::T(const TiXmlElemnt*) 124 * @param classID the ClassID of T that should be created. 125 * @return the newly fabricated T if fabricated NULL otherwise. 126 */ 127 template<class T> 128 BaseObject* tFactory<T>::fabricate(ClassID classID) 129 { 130 if(classID == this->classID) 131 return this->fabricateDirect(); 132 else if( getNext() != NULL) 133 return getNext()->fabricate( classID); 134 else 135 return NULL; 136 } 137 138 /** 139 * directly fabricate an Entity of this factory. 140 */ 108 141 template<class T> 109 142 BaseObject* tFactory<T>::fabricateDirect() -
trunk/src/world_entities/Makefile.am
r5463 r5750 25 25 weapons/rocket.cc \ 26 26 weapons/laser.cc \ 27 weapons/ground_turret.cc \ 27 28 weapons/crosshair.cc \ 29 weapons/ground_turret.cc \ 28 30 power_ups/power_up.cc \ 29 31 power_ups/turret_power_up.cc \ -
trunk/src/world_entities/environment.cc
r5500 r5750 28 28 29 29 using namespace std; 30 CREATE_FACTORY(Environment );30 CREATE_FACTORY(Environment, CL_ENVIRONMENT); 31 31 32 32 /** -
trunk/src/world_entities/player.cc
r5636 r5750 28 28 #include "weapons/test_gun.h" 29 29 #include "weapons/turret.h" 30 #include "weapons/cannon.h" 30 31 31 32 #include "list.h" … … 37 38 using namespace std; 38 39 39 CREATE_FACTORY(Player );40 CREATE_FACTORY(Player, CL_PLAYER); 40 41 41 42 /** … … 46 47 { 47 48 this->init(); 48 49 //weapons:50 Weapon* wpRight = new TestGun(this->weaponMan, 0);51 Weapon* wpLeft = new TestGun(this->weaponMan, 1);52 53 this->weaponMan->addWeapon(wpRight);54 // this->weaponMan->addWeapon(wpLeft, WM_CONFIG1, WM_SLOT1);55 // this->weaponMan->addWeapon(wpRight, WM_CONFIG2);56 // this->weaponMan->addWeapon(wpLeft, WM_CONFIG2);57 49 } 58 50 … … 88 80 89 81 //weapons: 90 Weapon* wpRight = new TestGun( this->weaponMan,0);82 Weapon* wpRight = new TestGun(0); 91 83 wpRight->setName("testGun Right"); 92 Weapon* wpLeft = new TestGun( this->weaponMan,1);84 Weapon* wpLeft = new TestGun(1); 93 85 wpLeft->setName("testGun Left"); 86 Weapon* cannon = dynamic_cast<Weapon*>(Factory::getFirst()->fabricate(CL_CANNON)); 87 88 cannon->setName("BFG"); 94 89 95 90 this->weaponMan->addWeapon(wpLeft, 1, 0); 96 91 this->weaponMan->addWeapon(wpRight,1 ,1); 92 this->weaponMan->addWeapon(cannon, 0, 6); 93 97 94 //this->weaponMan->addWeapon(turret, 3, 0); 98 95 … … 134 131 135 132 this->weaponMan = new WeaponManager(this); 136 this->weaponMan->setSlotCount( 10);133 this->weaponMan->setSlotCount(7); 137 134 138 135 this->weaponMan->setSlotPosition(0, Vector(-2.6, .1, -3.0)); … … 153 150 this->weaponMan->setSlotPosition(5, Vector(-1.5, -.5, -.5)); 154 151 this->weaponMan->setSlotDirection(5, Quaternion(+M_PI_4*.5-M_PI, Vector(1,0,0))); 155 156 this->weaponMan->setSlotPosition(6, Vector(-2.0, 0.1, -2.0)); 157 this->weaponMan->setSlotPosition(7, Vector(-2.0, 0.1, 2.0)); 158 159 this->weaponMan->setSlotPosition(8, Vector(-2.5, -0.3, -2.0)); 160 this->weaponMan->setSlotDirection(8, Quaternion(-M_PI, Vector(1,0,0))); 161 162 this->weaponMan->setSlotPosition(9, Vector(-2.5, -0.3, 2.0)); 163 this->weaponMan->setSlotDirection(9, Quaternion(+M_PI, Vector(1,0,0))); 152 // 153 this->weaponMan->setSlotPosition(6, Vector(-1, 0.0, 0)); 154 this->weaponMan->setSlotCapability(6, WTYPE_ALLDIRS | WTYPE_DIRECTIONAL); 155 // 156 // this->weaponMan->setSlotPosition(8, Vector(-2.5, -0.3, -2.0)); 157 // this->weaponMan->setSlotDirection(8, Quaternion(-M_PI, Vector(1,0,0))); 158 // 159 // this->weaponMan->setSlotPosition(9, Vector(-2.5, -0.3, 2.0)); 160 // this->weaponMan->setSlotDirection(9, Quaternion(+M_PI, Vector(1,0,0)));: 161 164 162 } 165 163 … … 337 335 } 338 336 337 #include "weapons/aiming_turret.h" 339 338 // FIXME THIS MIGHT BE CONSIDERED EITHER A FEATURE, OR A BUG 340 339 void Player::ADDWEAPON() 341 340 { 342 Weapon* turret1 = new Turret(this->weaponMan); 343 turret1->setName("Turret"); 344 turret1->setStateDuration(WS_SHOOTING, (float)rand()/RAND_MAX*.5+.1); 345 346 this->weaponMan->addWeapon(turret1, 2); 347 348 this->weaponMan->changeWeaponConfig(2); 349 } 341 Weapon* turret = NULL; 342 343 if ((float)rand()/RAND_MAX < .1) 344 { 345 //if (this->weaponMan->hasFreeSlot(2, WTYPE_TURRET)) 346 { 347 turret = new Turret(); 348 this->weaponMan->addWeapon(turret, 2); 349 this->weaponMan->changeWeaponConfig(2); 350 } 351 } 352 else 353 { 354 //if (this->weaponMan->hasFreeSlot(3)) 355 { 356 turret = new AimingTurret(); 357 this->weaponMan->addWeapon(turret, 3); 358 359 this->weaponMan->changeWeaponConfig(3); 360 } 361 } 362 363 if(turret != NULL) 364 { 365 turret->setName("Turret"); 366 turret->setStateDuration(WS_SHOOTING, (float)rand()/RAND_MAX*.5+.1); 367 } 368 } -
trunk/src/world_entities/power_ups/laser_power_up.cc
r5500 r5750 25 25 using namespace std; 26 26 27 CREATE_FACTORY(LaserPowerUp );27 CREATE_FACTORY(LaserPowerUp, CL_LASER_POWER_UP); 28 28 29 29 LaserPowerUp::LaserPowerUp () -
trunk/src/world_entities/power_ups/turret_power_up.cc
r5500 r5750 25 25 using namespace std; 26 26 27 CREATE_FACTORY(TurretPowerUp );27 CREATE_FACTORY(TurretPowerUp, CL_TURRET_POWER_UP); 28 28 29 29 TurretPowerUp::TurretPowerUp () -
trunk/src/world_entities/skybox.cc
r5671 r5750 25 25 using namespace std; 26 26 27 CREATE_FACTORY(SkyBox );27 CREATE_FACTORY(SkyBox, CL_SKYBOX); 28 28 29 29 /** -
trunk/src/world_entities/terrain.cc
r5671 r5750 29 29 using namespace std; 30 30 31 CREATE_FACTORY(Terrain );31 CREATE_FACTORY(Terrain, CL_TERRAIN); 32 32 33 33 /** -
trunk/src/world_entities/weapons/aim.cc
r5671 r5750 20 20 #include "load_param.h" 21 21 #include "graphics_engine.h" 22 #include "glincl.h"23 22 #include "state.h" 23 #include "list.h" 24 24 #include "material.h" 25 #include "t_animation.h" 26 #include "text.h" 27 28 #include "world_entity.h" 25 29 26 30 using namespace std; … … 30 34 * standart constructor 31 35 */ 32 Aim::Aim ( const TiXmlElement* root)36 Aim::Aim (PNode* source, const TiXmlElement* root) 33 37 { 34 38 this->init(); 39 40 this->source = source; 35 41 36 42 if (root) … … 47 53 if (this->material) 48 54 delete this->material; 55 56 if (this->text != NULL) 57 delete this->text; 49 58 } 50 59 … … 58 67 59 68 this->setLayer(E2D_LAYER_TOP); 60 this->setRotationSpeed( 5);69 this->setRotationSpeed(30.0* (float)rand()/RAND_MAX + 10.0); 61 70 this->setSize(GraphicsEngine::getInstance()->getResolutionX()/10.0); 62 71 63 //this->setBindNode(this);72 this->setBindNode(this); 64 73 this->material = new Material; 65 } 66 74 this->source = NULL; 75 76 this->anim = new tAnimation<Aim>(this, &Aim::setSize); 77 this->anim->setInfinity(ANIM_INF_CONSTANT); 78 this->anim->addKeyFrame(500, .3, ANIM_LINEAR); 79 this->anim->addKeyFrame(100, .2, ANIM_LINEAR); 80 this->anim->addKeyFrame(50, .01, ANIM_LINEAR); 81 82 this->text = new Text(); 83 this->text->setParent2D(this); 84 this->text->setRelCoor2D(10, -50); 85 this->text->setParentMode2D(E2D_PARENT_MOVEMENT); 86 this->text->setText("Testing"); 87 } 67 88 68 89 void Aim::loadParams(const TiXmlElement* root) … … 80 101 } 81 102 103 void Aim::searchTarget(float range) 104 { 105 tIterator<WorldEntity>* iterator = State::getWorldEntityList()->getIterator(); 106 WorldEntity* entity = iterator->firstElement(); 107 while (likely(entity != NULL)) 108 { 109 if (entity->isA(CL_NPC) && this->source->getAbsCoor().x < entity->getAbsCoor().x && (this->source->getAbsCoor() - entity->getAbsCoor()).len() < range) 110 { 111 if (this->getParent() != entity) 112 { 113 this->anim->replay(); 114 this->setParentSoft(entity, 5); 115 } 116 delete iterator; 117 return; 118 } 119 entity = iterator->nextElement(); 120 } 121 122 delete iterator; 123 } 124 125 82 126 83 127 /** … … 108 152 this->shiftDir2D(dt * rotationSpeed); 109 153 110 111 float z = 0.0f; 112 glReadPixels ((int)this->getAbsCoor2D().x, 113 GraphicsEngine::getInstance()->getResolutionY()-(int)this->getAbsCoor2D().y-1, 114 1, 115 1, 116 GL_DEPTH_COMPONENT, 117 GL_FLOAT, 118 &z); 119 120 121 GLdouble objX=.0, objY=.0, objZ=.0; 122 gluUnProject(this->getAbsCoor2D().x, 123 GraphicsEngine::getInstance()->getResolutionY()-this->getAbsCoor2D().y-1, 124 .99, // z 125 GraphicsEngine::modMat, 126 GraphicsEngine::projMat, 127 GraphicsEngine::viewPort, 128 &objX, 129 &objY, 130 &objZ ); 131 132 this->setAbsCoor(objX, objY, objZ); 154 char outputText[100]; 155 sprintf(outputText, "%s - distance: %f\n", this->getParent()->getName(), (this->source->getAbsCoor() - this->getAbsCoor()).len()); 156 this->text->setText(outputText); 157 158 159 if (this->source->getAbsCoor().x > this->getAbsCoor().x ) 160 this->searchTarget(1000); 161 // float z = 0.0f; 162 // glReadPixels ((int)this->getAbsCoor2D().x, 163 // GraphicsEngine::getInstance()->getResolutionY()-(int)this->getAbsCoor2D().y-1, 164 // 1, 165 // 1, 166 // GL_DEPTH_COMPONENT, 167 // GL_FLOAT, 168 // &z); 169 // 170 // 171 // GLdouble objX=.0, objY=.0, objZ=.0; 172 // gluUnProject(this->getAbsCoor2D().x, 173 // GraphicsEngine::getInstance()->getResolutionY()-this->getAbsCoor2D().y-1, 174 // .99, // z 175 // GraphicsEngine::modMat, 176 // GraphicsEngine::projMat, 177 // GraphicsEngine::viewPort, 178 // &objX, 179 // &objY, 180 // &objZ ); 181 // 182 // this->setAbsCoor(objX, objY, objZ); 133 183 } 134 184 … … 138 188 void Aim::draw() const 139 189 { 190 140 191 glPushMatrix(); 141 192 glTranslatef(this->getAbsCoor2D().x, this->getAbsCoor2D().y, 0); -
trunk/src/world_entities/weapons/aim.h
r5557 r5750 12 12 // FORWARD DECLARATION 13 13 class Model; 14 class Text; 14 15 class Material; 15 16 class TiXmlElement; 17 template<class T> class tAnimation; 16 18 17 19 //! An Aim for zooming in on Targets. 20 /** 21 * An Aim is a PNode, that is connected, to the Target, it has aquired 22 * The target becomes, if selected its Parent. 23 * 24 * Also the Aim is a Element2D, as it draws a cross onto the Target. 25 */ 18 26 class Aim : public PNode, public Element2D { 19 27 20 28 public: 21 Aim( const TiXmlElement* root = NULL);29 Aim(PNode* source, const TiXmlElement* root = NULL); 22 30 virtual ~Aim(); 23 31 … … 25 33 void loadParams(const TiXmlElement* root); 26 34 35 inline void setSource(PNode* source) { this->source = source; }; 36 27 37 inline void selectTarget(PNode* target) { this->setParent(target); }; 28 38 inline PNode* getTarget(PNode* target) { return this->getParent(); }; 29 39 40 void searchTarget(float range); 30 41 31 42 void setSize(float size); … … 40 51 Material* material; //!< a material for the Aim. 41 52 float rotationSpeed; //!< Speed of the Rotation. 53 tAnimation<Aim>* anim; 54 55 PNode* source; //!< Where this Shot has come from. 56 57 Text* text; //!< A Text to display onto this Node. (distance to Target) 42 58 }; 43 59 -
trunk/src/world_entities/weapons/crosshair.cc
r5671 r5750 76 76 GraphicsEngine::showMouse(false); 77 77 GraphicsEngine::stealWMEvents(true); 78 SDL_WarpMouse(GraphicsEngine::getInstance()->getResolutionX()/2, GraphicsEngine::getInstance()->getResolutionY()/2); 78 79 } 79 80 -
trunk/src/world_entities/weapons/laser.cc
r5687 r5750 84 84 Laser::explosionParticles->setName("LaserExplosionParticles"); 85 85 Laser::explosionParticles->setLifeSpan(.5, .3); 86 Laser::explosionParticles->setRadius(0.0, 3.0);86 Laser::explosionParticles->setRadius(0.0, 10.0); 87 87 Laser::explosionParticles->setRadius(.5, 6.0); 88 88 Laser::explosionParticles->setRadius(1.0, 3.0); -
trunk/src/world_entities/weapons/laser.h
r5500 r5750 42 42 43 43 WorldEntity* hitEntity; // FIXME TEMPORARY 44 45 44 }; 46 45 -
trunk/src/world_entities/weapons/test_gun.cc
r5500 r5750 41 41 using namespace std; 42 42 43 CREATE_FACTORY(TestGun );43 CREATE_FACTORY(TestGun, CL_TEST_GUN); 44 44 45 45 /** … … 48 48 creates a new weapon 49 49 */ 50 TestGun::TestGun ( WeaponManager* weaponManager,int leftRight)51 : Weapon( weaponManager)50 TestGun::TestGun ( int leftRight) 51 : Weapon() 52 52 { 53 53 this->init(); -
trunk/src/world_entities/weapons/test_gun.h
r5500 r5750 38 38 { 39 39 public: 40 TestGun ( WeaponManager* weaponManager,int leftRight);40 TestGun (int leftRight); 41 41 TestGun (const TiXmlElement* root); 42 42 virtual ~TestGun (); -
trunk/src/world_entities/weapons/turret.cc
r5512 r5750 30 30 #include "factory.h" 31 31 32 CREATE_FACTORY(Turret );32 CREATE_FACTORY(Turret, CL_TURRET); 33 33 34 34 using namespace std; 35 35 36 37 36 /** 38 37 * standard constructor 39 40 creates a new weapon41 */42 Turret::Turret ( WeaponManager* weaponManager)43 : Weapon( weaponManager)38 * 39 * creates a new Turret 40 */ 41 Turret::Turret () 42 : Weapon() 44 43 { 45 44 this->init(); … … 53 52 } 54 53 55 54 /** 55 * creates a new Turret from a TiXmlElement 56 */ 56 57 Turret::Turret(const TiXmlElement* root) 57 58 { … … 117 118 { 118 119 Quaternion quat; 119 Vector direction = this->get WeaponManager()->getFixedTarget()->getAbsCoor() - this->getAbsCoor();120 Vector direction = this->getAbsCoor();/*this->getWeaponManager()->getFixedTarget()->getAbsCoor() - this->getAbsCoor();*/ 120 121 121 122 direction.normalize(); … … 135 136 return; 136 137 137 PNode* target = this->getWeaponManager()->getFixedTarget();138 139 if (target != NULL)140 {141 138 pj->setVelocity(this->getVelocity()+(this->getAbsDir().apply(Vector(1,0,0))*100.0 + VECTOR_RAND(13) 142 139 /*target->getAbsCoor() - this->getAbsCoor()*/)*.5);//this->getVelocity()); 143 }144 else145 pj->setVelocity(target->getVelocity());146 140 147 141 pj->setParent(NullParent::getInstance()); … … 159 153 void Turret::draw () const 160 154 { 161 this->getWeaponManager()->getFixedTarget()->debugDraw(10);162 163 155 /* draw gun body */ 164 156 glMatrixMode(GL_MODELVIEW); -
trunk/src/world_entities/weapons/turret.h
r5511 r5750 12 12 { 13 13 public: 14 Turret ( WeaponManager* weaponManager);14 Turret (); 15 15 Turret(const TiXmlElement* root); 16 16 virtual ~Turret (); -
trunk/src/world_entities/weapons/weapon.cc
r5671 r5750 41 41 * creates a new weapon 42 42 */ 43 Weapon::Weapon ( WeaponManager* weaponManager)43 Weapon::Weapon () 44 44 { 45 45 this->init(); 46 this->setWeaponManager(weaponManager);47 46 } 48 47 … … 97 96 this->energyMax = 10.0; //< How much energy can be carried 98 97 this->capability = WTYPE_ALL; //< The Weapon has all capabilities @see W_Capability. 99 100 this->setWeaponManager(NULL); //< By default the Weapon is free, and unhandled by a WeaponManager (this is good for small enemies).101 98 } 102 99 -
trunk/src/world_entities/weapons/weapon.h
r5500 r5750 81 81 public: 82 82 // INITIALISATION // 83 Weapon ( WeaponManager* weaponManager = NULL);83 Weapon (); 84 84 virtual ~Weapon (); 85 85 … … 93 93 /////////////////// 94 94 95 /** @param weaponManager sets the WeaponManager for this Weapon (NULL if free)) */96 inline void setWeaponManager(WeaponManager* weaponManager) { this->weaponManager = weaponManager; };97 /** @returns the WeaponManager of this Weapon (or NULL if it is free) */98 inline WeaponManager* getWeaponManager() const { return this->weaponManager; };99 100 95 /** @returns true if the Weapon is Active (this is used to check if the weapon must be drawn)*/ 101 inline bool isActive() const { return (this->currentState == WS_INACTIVE)? false:true; };96 inline bool isActive() const { return (this->currentState == WS_INACTIVE)? false : true; }; 102 97 /** @returns true if the weapon must be drawn */ 103 inline bool isVisible() const { return (this->currentState != WS_INACTIVE || !this->hideInactive) ?true:false; };98 inline bool isVisible() const { return (this->currentState != WS_INACTIVE || !this->hideInactive) ? true : false; }; 104 99 /** @returns true if the Weapon is chargeable */ 105 100 inline bool isChargeable() const { return this->chargeable; }; … … 120 115 121 116 117 // EMISSION 122 118 void setEmissionPoint(const Vector& point); 123 119 /** @see void setEmissionPoint(const Vector& point); */ … … 126 122 inline const Vector& getEmissionPoint() const { return this->emissionPoint.getAbsCoor(); }; 127 123 124 // STATE CHANGES // 128 125 /** @param state the State to time @param duration the duration of the State */ 129 126 inline void setStateDuration(const char* state, float duration) { setStateDuration(charToState(state), duration); }; … … 131 128 inline void setStateDuration(WeaponState state, float duration) { /*(state < WS_STATE_COUNT)?*/this->times[state] = duration; }; 132 129 /** @param state The state to query @returns the Time the queried State takes to complete */ 133 inline float getStateDuration(WeaponState state) const { return (state < WS_STATE_COUNT)? this->times[state]:0.0; };130 inline float getStateDuration(WeaponState state) const { return (state < WS_STATE_COUNT)? this->times[state] : 0.0; }; 134 131 /** @returns true if the time of the currentState is elapsed, false otherwise */ 135 inline bool stateTimeElapsed() const { return (this->stateDuration > this->times[currentState])? true:false; };132 inline bool stateTimeElapsed() const { return (this->stateDuration > this->times[currentState])? true : false; }; 136 133 /** @returns the current State of the Weapon */ 137 134 inline WeaponState getCurrentState() const { return this->currentState; }; … … 149 146 // FLOW 150 147 void tickW(float dt); //!< this is a function that must be called by the weaponManager, or any other weaponHandler, all other functions are handled from within 148 151 149 virtual void tick(float dt) {}; 152 150 virtual void draw() const; … … 194 192 // it is all about energy 195 193 float energy; //!< The energy stored in the weapons secondary buffers (reserve) 196 float energyLoaded; //!< The energy stored in the weapons primary buffers (fire without reload)194 float energyLoaded; //!< The energy stored in the weapons primary buffers (fire without reload) 197 195 float energyMax; //!< The maximal energy that can be stored in the secondary buffers (reserveMax) 198 196 float energyLoadedMax; //!< The maximal energy that can be stored in the primary buffers … … 220 218 ClassID projectile; //!< the projectile used for this weapon (since they should be generated via macro and the FastFactory, only the ClassID must be known.) 221 219 FastFactory* projectileFactory; //!< A factory, that produces and handles the projectiles. 222 223 WeaponManager* weaponManager; //!< The weaponManager this weapon is connected to. if NULL it is assumed, that the weapon is freely connected to an entity without a binding WeaponManager.224 220 }; 225 221 -
trunk/src/world_entities/weapons/weapon_manager.cc
r5671 r5750 23 23 #include "crosshair.h" 24 24 25 #include "class_list.h" 25 26 #include "load_param.h" 26 27 #include "factory.h" 27 #include "vector.h"28 28 #include "list.h" 29 29 #include "t_animation.h" 30 30 #include "null_parent.h" 31 31 32 32 33 using namespace std; … … 109 110 this->crossHairSizeAnim->addKeyFrame(100, .05, ANIM_LINEAR); 110 111 this->crossHairSizeAnim->addKeyFrame(50, .01, ANIM_LINEAR); 112 113 this->targetIterator = NULL; 111 114 } 112 115 … … 334 337 } 335 338 } 339 } 340 341 342 /** 343 * Selects an Entity from the NPC-list, and returns the Target 344 */ 345 PNode* WeaponManager::getSomeTarget() 346 { 347 if (this->targetIterator == NULL) 348 { 349 tList<BaseObject>* npcList = ClassList::getList(CL_NPC); 350 if (npcList != NULL) 351 { 352 this->targetIterator = npcList->getIterator(); 353 this->targetIterator->firstElement(); 354 } 355 else 356 return NULL; 357 } 358 359 PNode* retNode = dynamic_cast<PNode*>(targetIterator->nextElement()); 360 if (retNode == NULL && this->targetIterator->getList()->getSize() > 0) 361 retNode = dynamic_cast<PNode*>(targetIterator->firstElement()); 362 363 return retNode; 364 } 365 366 367 /** 368 * Selects an Entity from the Entity-List, that is near of the carrier PNode. 369 * @param carrier: The PNode from which the distance should be measured 370 * @param distance: The Maximum Distance to Return. 371 */ 372 PNode* WeaponManager::getDistanceTarget(const PNode* carrier, float distance) 373 { 374 tList<BaseObject>* npcList = ClassList::getList(CL_NPC); 375 if (npcList != NULL) 376 { 377 tIterator<BaseObject>* npcIT = npcList->getIterator(); 378 PNode* tmpNPC = dynamic_cast<PNode*>(npcIT->firstElement()); 379 while (tmpNPC != NULL) 380 { 381 if ((carrier->getAbsCoor() - tmpNPC->getAbsCoor()).len() < distance) 382 { 383 delete npcIT; 384 return tmpNPC; 385 } 386 tmpNPC = dynamic_cast<PNode*>(npcIT->nextElement()); 387 } 388 delete npcIT; 389 } 390 return this->getFixedTarget(); 391 336 392 } 337 393 -
trunk/src/world_entities/weapons/weapon_manager.h
r5453 r5750 17 17 // FORWARD DECLARATION 18 18 template <class T> class tAnimation; 19 template <class T> class tIterator; 19 20 20 21 … … 70 71 void removeWeapon(Weapon* weapon, int configID = -1); 71 72 72 73 // FIXME :: 74 // bool hasFreeSlot(int configID, long capability = WTYPE_ALL) { return ( getNextFreeSlot(configID, capability ) != -1)? true : false; }; 73 75 74 76 void nextWeaponConfig(); … … 77 79 78 80 /** @returns a fixed target namely the Crosshair's 3D position */ 79 inline PNode* getFixedTarget() { return this->crosshair; }; 81 inline PNode* getFixedTarget() const { return this->crosshair; }; 82 PNode* getSomeTarget(); 83 PNode* getDistanceTarget(const PNode* carrier, float distance); 84 80 85 void fire(); 86 //! @TODO: implement this function (maybe also in Weapon itself) 87 void releaseFire(); 81 88 82 89 void tick(float dt); … … 85 92 void debug() const; 86 93 87 private:94 // private: 88 95 int getNextFreeSlot(int configID, long capability = WTYPE_ALL); 89 96 … … 102 109 Crosshair* crosshair; //!< an aim. 103 110 tAnimation<Crosshair>* crossHairSizeAnim; //!< An animation for the crosshair (scaling) 111 112 tIterator<BaseObject>* targetIterator; //!< An iterator for traversion lists of enemies. 104 113 };
Note: See TracChangeset
for help on using the changeset viewer.