… | |
… | |
626 | |
626 | |
627 | PL_exit_flags |= PERL_EXIT_DESTRUCT_END; |
627 | PL_exit_flags |= PERL_EXIT_DESTRUCT_END; |
628 | |
628 | |
629 | const char *argv[] = { |
629 | const char *argv[] = { |
630 | settings.argv [0], |
630 | settings.argv [0], |
631 | "-e" |
631 | "-e0" |
632 | "use EV ();" |
|
|
633 | "use Coro ();" |
|
|
634 | "cf->bootstrap;" |
|
|
635 | "unshift @INC, cf::datadir ();" |
|
|
636 | "require cf;" |
|
|
637 | }; |
632 | }; |
638 | |
633 | |
639 | if (perl_parse (perl, xs_init, 2, (char **)argv, environ) |
634 | if (perl_parse (perl, xs_init, 2, (char **)argv, environ) |
640 | || perl_run (perl)) |
635 | || perl_run (perl)) |
641 | { |
636 | { |
642 | printf ("unable to initialize perl-interpreter, aborting.\n"); |
637 | printf ("unable to initialize perl-interpreter, aborting.\n"); |
|
|
638 | exit (EXIT_FAILURE); |
|
|
639 | } |
|
|
640 | |
|
|
641 | eval_pv ( |
|
|
642 | "#line 1 'cfperl init'\n" |
|
|
643 | "use EV ();\n" |
|
|
644 | "use Coro ();\n" |
|
|
645 | "cf->bootstrap;\n" |
|
|
646 | "unshift @INC, cf::datadir ();\n" |
|
|
647 | "require cf;\n", |
|
|
648 | 0 |
|
|
649 | ); |
|
|
650 | |
|
|
651 | if (SvTRUE (ERRSV)) |
|
|
652 | { |
|
|
653 | printf ("unable to bootstrap perl, aborting:\n%s", SvPV_nolen (ERRSV)); |
643 | exit (EXIT_FAILURE); |
654 | exit (EXIT_FAILURE); |
644 | } |
655 | } |
645 | } |
656 | } |
646 | |
657 | |
647 | void cfperl_main () |
658 | void cfperl_main () |
… | |
… | |
1518 | |
1529 | |
1519 | void _connect_to_perl () |
1530 | void _connect_to_perl () |
1520 | |
1531 | |
1521 | void _recalc_want () |
1532 | void _recalc_want () |
1522 | |
1533 | |
|
|
1534 | # not used by default anymore |
1523 | void _global_reattach () |
1535 | void _global_reattach () |
1524 | CODE: |
1536 | CODE: |
1525 | { |
1537 | { |
1526 | // reattach to all attachable objects in the game. |
1538 | // reattach to all attachable objects in the game. |
1527 | for_all_clients (ns) |
1539 | for_all_clients (ns) |