Overview
Comment: | Free Hero Mesh is starting to be bizarro. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
9ded322f4f4aaae548bc293c54b1c6a8 |
User & Date: | user on 2021-09-09 06:18:34 |
Other Links: | manifest | tags |
Context
2021-09-11
| ||
07:00 | Implement much more of bizarro world (currently untested, and not implemented in level editor yet). check-in: 2a3e5126fe user: user tags: trunk | |
2021-09-09
| ||
06:18 | Free Hero Mesh is starting to be bizarro. check-in: 9ded322f4f user: user tags: trunk | |
2021-09-06
| ||
19:18 | Improve README file including more frequently questions. check-in: b295172546 user: user tags: trunk | |
Changes
Modified bindings.doc from [85737cf87e] to [18a5b1ed51].
︙ | ︙ | |||
80 81 82 83 84 85 86 87 88 89 90 91 92 93 | '^d' <location> Display the pop-up help text of the object at the location. '^g' Display values of global variables. '^o' <location> List objects at the specified coordinates, to examine their values. '^p' Start or stop slow replay. Any move input also interrupts slow replay. '^s' | > > > > | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | '^d' <location> Display the pop-up help text of the object at the location. '^g' Display values of global variables. '^n' <location> List objects at the specified coordinates in the bizarro world, to examine their values. '^o' <location> List objects at the specified coordinates, to examine their values. '^p' Start or stop slow replay. Any move input also interrupts slow replay. '^s' |
︙ | ︙ |
Modified default.heromeshrc from [74d849228e] to [77e855c5b3].
︙ | ︙ | |||
106 107 108 109 110 111 112 113 114 115 116 117 118 119 | ! Game key bindings ?.gameKey.ctrl.D: select '^d',$key_xy; ?.gameKey.ctrl.E: ^E ?.gameKey.ctrl.I: select 'mi',:import_move_list; ?.gameKey.ctrl.X: select 'mx',:export_move_list; ?.gameClick.right: ^o ?.gameClick.middle: ^d ?.gameKey.kp_enter: =0 ?.gameKey.escape: =0 ?.gameKey.f1: +1 ?.gameKey.f2: +10 ?.gameKey.f3: +100 ?.gameKey.f4: +1000 | > | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | ! Game key bindings ?.gameKey.ctrl.D: select '^d',$key_xy; ?.gameKey.ctrl.E: ^E ?.gameKey.ctrl.I: select 'mi',:import_move_list; ?.gameKey.ctrl.X: select 'mx',:export_move_list; ?.gameClick.right: ^o ?.gameClick.shift.right: ^n ?.gameClick.middle: ^d ?.gameKey.kp_enter: =0 ?.gameKey.escape: =0 ?.gameKey.f1: +1 ?.gameKey.f2: +10 ?.gameKey.f3: +100 ?.gameKey.f4: +1000 |
︙ | ︙ |
Modified exec.c from [8a32008878] to [bf20f83d80].
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 | Uint32 generation_number; Object**objects; Uint32 nobjects; Value globals[0x800]; Uint32 firstobj=VOIDLINK; Uint32 lastobj=VOIDLINK; Uint32 playfield[64*64]; // bottom-most object per cell Uint8 pfwidth,pfheight; Sint8 gameover,key_ignored; Uint8 generation_number_inc; Uint32 move_number; unsigned char*quiz_text; Inventory*inventory; Uint32 ninventory; | > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | Uint32 generation_number; Object**objects; Uint32 nobjects; Value globals[0x800]; Uint32 firstobj=VOIDLINK; Uint32 lastobj=VOIDLINK; Uint32 playfield[64*64]; // bottom-most object per cell Uint32 bizplayfield[64*64]; // bizarro world Uint8 pfwidth,pfheight; Sint8 gameover,key_ignored; Uint8 generation_number_inc; Uint32 move_number; unsigned char*quiz_text; Inventory*inventory; Uint32 ninventory; |
︙ | ︙ | |||
2582 2583 2584 2585 2586 2587 2588 | if(n==VOIDLINK) break; } return t; } void annihilate(void) { Uint32 i; | | | 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 | if(n==VOIDLINK) break; } return t; } void annihilate(void) { Uint32 i; for(i=0;i<64*64;i++) playfield[i]=bizplayfield[i]=VOIDLINK; firstobj=lastobj=VOIDLINK; if(quiz_text) { sqlite3_free(quiz_text); quiz_text=0; } if(!objects) return; for(i=0;i<nobjects;i++) if(objects[i]) { |
︙ | ︙ |
Modified function.c from [bb06bdfd76] to [d0c048fa84].
︙ | ︙ | |||
13 14 15 16 17 18 19 20 21 22 23 24 25 26 | typedef struct { struct sqlite3_vtab_cursor; sqlite3_int64 rowid; char unique,eof; Uint16 arg[4]; } Cursor; static void find_first_usable_image(const Class*cl,sqlite3_context*cxt) { int i; if(cl->cflags&CF_GROUP) return; if(!cl->images) return; for(i=0;i<cl->nimages;i++) { if(cl->images[i]&0x8000) { | > > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | typedef struct { struct sqlite3_vtab_cursor; sqlite3_int64 rowid; char unique,eof; Uint16 arg[4]; } Cursor; static void*bizarro_vtab; static void find_first_usable_image(const Class*cl,sqlite3_context*cxt) { int i; if(cl->cflags&CF_GROUP) return; if(!cl->images) return; for(i=0;i<cl->nimages;i++) { if(cl->images[i]&0x8000) { |
︙ | ︙ | |||
360 361 362 363 364 365 366 367 368 369 370 371 372 373 | sqlite3_free(cur); return SQLITE_OK; } static int vt0_connect(sqlite3*db,void*aux,int argc,const char*const*argv,sqlite3_vtab**vt,char**err) { sqlite3_declare_vtab(db,aux); *vt=sqlite3_malloc(sizeof(sqlite3_vtab)); return *vt?SQLITE_OK:SQLITE_NOMEM; } static int vt0_disconnect(sqlite3_vtab*vt) { sqlite3_free(vt); return SQLITE_OK; } | > | 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 | sqlite3_free(cur); return SQLITE_OK; } static int vt0_connect(sqlite3*db,void*aux,int argc,const char*const*argv,sqlite3_vtab**vt,char**err) { sqlite3_declare_vtab(db,aux); *vt=sqlite3_malloc(sizeof(sqlite3_vtab)); if(*vt && argv[0][0]=='B') bizarro_vtab=*vt; return *vt?SQLITE_OK:SQLITE_NOMEM; } static int vt0_disconnect(sqlite3_vtab*vt) { sqlite3_free(vt); return SQLITE_OK; } |
︙ | ︙ | |||
631 632 633 634 635 636 637 638 639 640 641 642 643 644 | break; case 10: // DOWN if(objects[cur->rowid]->down!=VOIDLINK) sqlite3_result_int64(cxt,objects[cur->rowid]->down); break; case 11: // DENSITY sqlite3_result_int(cxt,objects[cur->rowid]->density); break; } return SQLITE_OK; } static int vt1_objects_next(sqlite3_vtab_cursor*pcur) { Cursor*cur=(void*)pcur; if(cur->unique) { | > > > | 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 | break; case 10: // DOWN if(objects[cur->rowid]->down!=VOIDLINK) sqlite3_result_int64(cxt,objects[cur->rowid]->down); break; case 11: // DENSITY sqlite3_result_int(cxt,objects[cur->rowid]->density); break; case 12: // BIZARRO sqlite3_result_int(cxt,objects[cur->rowid]->oflags&OF_BIZARRO?1:0); break; } return SQLITE_OK; } static int vt1_objects_next(sqlite3_vtab_cursor*pcur) { Cursor*cur=(void*)pcur; if(cur->unique) { |
︙ | ︙ | |||
659 660 661 662 663 664 665 | } } cur->arg[1]=1; } else if((cur->arg[0]&0x0066) && !cur->arg[1]) { // Find top/bottom at location cur->arg[1]=1; atxy: | | | 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 | } } cur->arg[1]=1; } else if((cur->arg[0]&0x0066) && !cur->arg[1]) { // Find top/bottom at location cur->arg[1]=1; atxy: cur->rowid=(cur->pVtab==bizarro_vtab?bizplayfield:playfield)[cur->arg[2]+cur->arg[3]*64-65]; if(cur->rowid==VOIDLINK) goto nextxy; if(cur->arg[0]&0x0020) { while(cur->rowid!=VOIDLINK && objects[cur->rowid]->up!=VOIDLINK) cur->rowid=objects[cur->rowid]->up; } } else if(cur->arg[0]&0x0020) { // Go down cur->rowid=objects[cur->rowid]->down; |
︙ | ︙ | |||
698 699 700 701 702 703 704 | } goto atxy; } } else { // This shouldn't happen return SQLITE_INTERNAL; } | > | > > | 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 | } goto atxy; } } else { // This shouldn't happen return SQLITE_INTERNAL; } if(!cur->eof) { if(!objects[cur->rowid]->generation) goto again; if((objects[cur->rowid]->oflags&OF_BIZARRO)!=(cur->pVtab==bizarro_vtab?OF_BIZARRO:0)) goto again; } return SQLITE_OK; } static int vt1_objects_filter(sqlite3_vtab_cursor*pcur,int idxNum,const char*idxStr,int argc,sqlite3_value**argv) { Cursor*cur=(void*)pcur; int i; Uint32 t; |
︙ | ︙ | |||
918 919 920 921 922 923 924 925 926 927 928 929 930 931 | y=sqlite3_value_int(argv[10]); if(x<1 || x>pfwidth || y<1 || y>pfheight) return SQLITE_CONSTRAINT_CHECK; z=sqlite3_value_int(argv[3]); if(z<=0 || z>=0x4000 || !classes[z]) return SQLITE_CONSTRAINT_FOREIGNKEY; if(sqlite3_value_int(argv[7])<0 || sqlite3_value_int(argv[7])>=classes[z]->nimages) return SQLITE_CONSTRAINT_CHECK; id=objalloc(z); if(id==VOIDLINK) return SQLITE_CONSTRAINT_VTAB; goto update; } else { // UPDATE id=sqlite3_value_int64(argv[0]); if(id!=sqlite3_value_int64(argv[1]) || id!=sqlite3_value_int64(argv[2])) return SQLITE_CONSTRAINT_VTAB; if(sqlite3_value_type(argv[3])==SQLITE_NULL) return SQLITE_CONSTRAINT_NOTNULL; if(sqlite3_value_type(argv[7])==SQLITE_NULL) return SQLITE_CONSTRAINT_NOTNULL; | > | 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 | y=sqlite3_value_int(argv[10]); if(x<1 || x>pfwidth || y<1 || y>pfheight) return SQLITE_CONSTRAINT_CHECK; z=sqlite3_value_int(argv[3]); if(z<=0 || z>=0x4000 || !classes[z]) return SQLITE_CONSTRAINT_FOREIGNKEY; if(sqlite3_value_int(argv[7])<0 || sqlite3_value_int(argv[7])>=classes[z]->nimages) return SQLITE_CONSTRAINT_CHECK; id=objalloc(z); if(id==VOIDLINK) return SQLITE_CONSTRAINT_VTAB; if(vt==bizarro_vtab) objects[id]->oflags|=OF_BIZARRO; else objects[id]->oflags&=~OF_BIZARRO; goto update; } else { // UPDATE id=sqlite3_value_int64(argv[0]); if(id!=sqlite3_value_int64(argv[1]) || id!=sqlite3_value_int64(argv[2])) return SQLITE_CONSTRAINT_VTAB; if(sqlite3_value_type(argv[3])==SQLITE_NULL) return SQLITE_CONSTRAINT_NOTNULL; if(sqlite3_value_type(argv[7])==SQLITE_NULL) return SQLITE_CONSTRAINT_NOTNULL; |
︙ | ︙ | |||
994 995 996 997 998 999 1000 1001 1002 1003 1004 | sqlite3_create_function(userdb,"RESOURCE",-1,SQLITE_UTF8|SQLITE_DETERMINISTIC,0,fn_resource,0,0); sqlite3_create_function(userdb,"SIGN_EXTEND",1,SQLITE_UTF8|SQLITE_DETERMINISTIC,0,fn_sign_extend,0,0); sqlite3_create_function(userdb,"SOLUTION_CACHEID",0,SQLITE_UTF8|SQLITE_DETERMINISTIC,ptr1,fn_cacheid,0,0); sqlite3_create_function(userdb,"TRACE_OFF",0,SQLITE_UTF8,"",fn_trace_on,0,0); sqlite3_create_function(userdb,"TRACE_ON",0,SQLITE_UTF8,"\x01",fn_trace_on,0,0); sqlite3_create_function(userdb,"XY",2,SQLITE_UTF8|SQLITE_DETERMINISTIC,0,fn_xy,0,0); sqlite3_create_function(userdb,"ZERO_EXTEND",1,SQLITE_UTF8|SQLITE_DETERMINISTIC,0,fn_zero_extend,0,0); sqlite3_create_module(userdb,"CLASSES",&vt_classes,"CREATE TABLE `CLASSES`(`ID` INTEGER PRIMARY KEY, `NAME` TEXT, `EDITORHELP` TEXT, `HELP` TEXT," "`INPUT` INT, `QUIZ` INT, `TRACEIN` INT, `TRACEOUT` INT, `GROUP` TEXT, `PLAYER` INT);"); sqlite3_create_module(userdb,"MESSAGES",&vt_messages,"CREATE TABLE `MESSAGES`(`ID` INTEGER PRIMARY KEY, `NAME` TEXT, `TRACE` INT);"); sqlite3_create_module(userdb,"OBJECTS",&vt_objects,"CREATE TABLE `OBJECTS`(`ID` INTEGER PRIMARY KEY, `CLASS` INT, `MISC1` INT, `MISC2` INT, `MISC3` INT," | > | > > | 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 | sqlite3_create_function(userdb,"RESOURCE",-1,SQLITE_UTF8|SQLITE_DETERMINISTIC,0,fn_resource,0,0); sqlite3_create_function(userdb,"SIGN_EXTEND",1,SQLITE_UTF8|SQLITE_DETERMINISTIC,0,fn_sign_extend,0,0); sqlite3_create_function(userdb,"SOLUTION_CACHEID",0,SQLITE_UTF8|SQLITE_DETERMINISTIC,ptr1,fn_cacheid,0,0); sqlite3_create_function(userdb,"TRACE_OFF",0,SQLITE_UTF8,"",fn_trace_on,0,0); sqlite3_create_function(userdb,"TRACE_ON",0,SQLITE_UTF8,"\x01",fn_trace_on,0,0); sqlite3_create_function(userdb,"XY",2,SQLITE_UTF8|SQLITE_DETERMINISTIC,0,fn_xy,0,0); sqlite3_create_function(userdb,"ZERO_EXTEND",1,SQLITE_UTF8|SQLITE_DETERMINISTIC,0,fn_zero_extend,0,0); bizarro_vtab=""; // ensure that it is not null sqlite3_create_module(userdb,"CLASSES",&vt_classes,"CREATE TABLE `CLASSES`(`ID` INTEGER PRIMARY KEY, `NAME` TEXT, `EDITORHELP` TEXT, `HELP` TEXT," "`INPUT` INT, `QUIZ` INT, `TRACEIN` INT, `TRACEOUT` INT, `GROUP` TEXT, `PLAYER` INT);"); sqlite3_create_module(userdb,"MESSAGES",&vt_messages,"CREATE TABLE `MESSAGES`(`ID` INTEGER PRIMARY KEY, `NAME` TEXT, `TRACE` INT);"); sqlite3_create_module(userdb,"OBJECTS",&vt_objects,"CREATE TABLE `OBJECTS`(`ID` INTEGER PRIMARY KEY, `CLASS` INT, `MISC1` INT, `MISC2` INT, `MISC3` INT," "`IMAGE` INT, `DIR` INT, `X` INT, `Y` INT, `UP` INT, `DOWN` INT, `DENSITY` INT HIDDEN, `BIZARRO` INT HIDDEN);"); sqlite3_create_module(userdb,"BIZARRO_OBJECTS",&vt_objects,"CREATE TABLE `OBJECTS`(`ID` INTEGER PRIMARY KEY, `CLASS` INT, `MISC1` INT, `MISC2` INT, `MISC3` INT," "`IMAGE` INT, `DIR` INT, `X` INT, `Y` INT, `UP` INT, `DOWN` INT, `DENSITY` INT HIDDEN, `BIZARRO` INT HIDDEN);"); } |
Modified game.c from [437c5a9174] to [012a2779dc].
︙ | ︙ | |||
545 546 547 548 549 550 551 | goto redraw; case SDL_QUIT: exit(0); break; } } | | | | | 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 | goto redraw; case SDL_QUIT: exit(0); break; } } static void list_objects_at(int xy,Uint32*pf,const char*s) { static const char*const dirs[8]={"E ","NE","N ","NW","W ","SW","S ","SE"}; SDL_Event ev; SDL_Rect r; char buf[256]; int scroll=0; int count=0; Uint32 n,t; Object*o; int i,j; if(xy<0 || xy>=64*64) return; n=pf[xy]; if(n==VOIDLINK) return; while(n!=VOIDLINK) t=n,count++,n=objects[n]->up; redraw: r.x=r.y=0; r.w=screen->w; r.h=screen->h; SDL_FillRect(screen,&r,0xF1); r.y=8; r.h-=8; scrollbar(&scroll,r.h/8,count,0,&r); snprintf(buf,255," %d %sobjects at (%d,%d): ",count,s,(xy&63)+1,(xy/64)+1); SDL_LockSurface(screen); draw_text(0,0,buf,0xF7,0xF0); n=t; for(i=0;i<scroll && n!=VOIDLINK;i++) n=objects[n]->down; for(i=0;i<screen->h/8 && n!=VOIDLINK;i++) { o=objects[n]; snprintf(buf,255," %8d: %-14.14s %3d %s",n,classes[o->class]->name,o->image,classes[o->class]->cflags&CF_QUIZ?"":dirs[o->dir&7]); |
︙ | ︙ | |||
747 748 749 750 751 752 753 754 | return prev; case '^d': // Describe object describe_at(number-65); return prev; case '^g': // Display global variables global_examine(); return prev; case '^o': // List objects | > > > | | 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 | return prev; case '^d': // Describe object describe_at(number-65); return prev; case '^g': // Display global variables global_examine(); return prev; case '^n': // List objects (bizarro) list_objects_at(number-65,bizplayfield,"bizarro "); return prev; case '^o': // List objects list_objects_at(number-65,playfield,""); return prev; case '^p': // Slow replay replay_time=replay_time?0:1; return 0; case '^s': // Toggle solution replay if(replay_count) save_replay(); solution_replay^=1; |
︙ | ︙ |
Modified heromesh.h from [24cc8e373b] to [f55835fac8].
︙ | ︙ | |||
250 251 252 253 254 255 256 257 258 259 260 261 262 263 | extern Uint32 max_objects; extern Uint32 generation_number; extern Object**objects; extern Uint32 nobjects; extern Value globals[0x800]; extern Uint32 firstobj,lastobj; extern Uint32 playfield[64*64]; extern Uint8 pfwidth,pfheight; extern Sint8 gameover,key_ignored; extern Uint8 generation_number_inc; extern Uint32 move_number; extern unsigned char*quiz_text; extern Inventory*inventory; extern Uint32 ninventory; | > | 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 | extern Uint32 max_objects; extern Uint32 generation_number; extern Object**objects; extern Uint32 nobjects; extern Value globals[0x800]; extern Uint32 firstobj,lastobj; extern Uint32 playfield[64*64]; extern Uint32 bizplayfield[64*64]; extern Uint8 pfwidth,pfheight; extern Sint8 gameover,key_ignored; extern Uint8 generation_number_inc; extern Uint32 move_number; extern unsigned char*quiz_text; extern Inventory*inventory; extern Uint32 ninventory; |
︙ | ︙ |
Modified instruc from [aab337b9e7] to [8e95d02dc6].
︙ | ︙ | |||
300 301 302 303 304 305 306 307 308 309 310 311 312 313 | ; Pattern matching -,=Pattern "P" -,=PatternS "P*" -Rook -Bishop -Queen -cut ; Inheritance -Abstract ,Super ; Specials *Function | > > > > > > > | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 | ; Pattern matching -,=Pattern "P" -,=PatternS "P*" -Rook -Bishop -Queen -cut ; Bizarro world ,=Bizarro .,BizarroSwap SwapWorld BizarroTopAt BizarroBottomAt ; Inheritance -Abstract ,Super ; Specials *Function |
︙ | ︙ |
Modified instruc.h from [5e8cd36f5b] to [eb34a1d57f].
︙ | ︙ | |||
432 433 434 435 436 437 438 | #define OP_PATTERNS_C 35040 #define OP_PATTERNS_E 37088 #define OP_PATTERNS_EC 39136 #define OP_ROOK 32993 #define OP_BISHOP 32994 #define OP_QUEEN 32995 #define OP_CUT 32996 | > > > > > > > > > > > | | | | | | | | | | | | | 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 | #define OP_PATTERNS_C 35040 #define OP_PATTERNS_E 37088 #define OP_PATTERNS_EC 39136 #define OP_ROOK 32993 #define OP_BISHOP 32994 #define OP_QUEEN 32995 #define OP_CUT 32996 #define OP_BIZARRO 32997 #define OP_BIZARRO_C 35045 #define OP_BIZARRO_E 37093 #define OP_BIZARRO_EC 39141 #define OP_BIZARROSWAP 32998 #define OP_BIZARROSWAP_C 35046 #define OP_BIZARROSWAP_D 41190 #define OP_BIZARROSWAP_CD 43238 #define OP_SWAPWORLD 32999 #define OP_BIZARROTOPAT 33000 #define OP_BIZARROBOTTOMAT 33001 #define OP_ABSTRACT 33002 #define OP_SUPER 33003 #define OP_SUPER_C 35051 #define OP_FUNCTION 33004 #define OP_LOCAL 33005 #define OP_LABEL 33006 #define OP_STRING 33007 #define OP_INT16 33008 #define OP_INT32 33009 #define OP_DISPATCH 33010 #define OP_USERFLAG 33011 #ifdef HEROMESH_CLASS static const Op_Names op_names[]={ {"*",8486939}, {"+",8421401}, {"+Move",10584239}, {"-",8421402}, {"-Move",10584240}, {"-rot",8421382}, {".",10518528}, {"/",8486940}, {"ANHH",8389394}, {"ARRIVED",8389124}, {"Abstract",8683754}, {"Animate",8421516}, {"AnimateDead",8421517}, {"Arg1",8552571}, {"Arg2",8552572}, {"Arg3",8552573}, {"Array",8683735}, {"ArrayCell",8421595}, |
︙ | ︙ | |||
481 482 483 484 485 486 487 488 489 490 491 492 493 494 | {"BOUNCE",8389415}, {"BRRREEET",8389396}, {"BRRRT",8389395}, {"BUZZER",8389420}, {"BWEEP",8389397}, {"Background",8683650}, {"Bishop",8683746}, {"Broadcast",10518671}, {"BroadcastAnd",8421520}, {"BroadcastAndEx",8421521}, {"BroadcastEx",10518675}, {"BroadcastList",8421524}, {"BroadcastListEx",8421525}, {"BroadcastSum",8421526}, | > > > > | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 | {"BOUNCE",8389415}, {"BRRREEET",8389396}, {"BRRRT",8389395}, {"BUZZER",8389420}, {"BWEEP",8389397}, {"Background",8683650}, {"Bishop",8683746}, {"Bizarro",8618213}, {"BizarroBottomAt",8421609}, {"BizarroSwap",10584294}, {"BizarroTopAt",8421608}, {"Broadcast",10518671}, {"BroadcastAnd",8421520}, {"BroadcastAndEx",8421521}, {"BroadcastEx",10518675}, {"BroadcastList",8421524}, {"BroadcastListEx",8421525}, {"BroadcastSum",8421526}, |
︙ | ︙ | |||
658 659 660 661 662 663 664 | {"Shape",8618047}, {"ShapeDir",8618070}, {"Sharp",8618069}, {"Shovable",8618071}, {"Sound",8421571}, {"Stealthy",8618096}, {"Strength",9142354}, | | > | 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 | {"Shape",8618047}, {"ShapeDir",8618070}, {"Sharp",8618069}, {"Shovable",8618071}, {"Sound",8421571}, {"Stealthy",8618096}, {"Strength",9142354}, {"Super",8487147}, {"SwapWorld",8421607}, {"Synchronize",8421572}, {"TAHTASHH",8389409}, {"THMP_thmp",8389405}, {"THWIT",8389384}, {"TICK",8389391}, {"Target",8487109}, {"Temperature",9142333}, |
︙ | ︙ | |||
785 786 787 788 789 790 791 | {"then",8683531}, {"tmark",8421583}, {"tuck",8421380}, {"uniq",8421590}, {"until",8683534}, {"while",8683535}, }; | | | 801 802 803 804 805 806 807 808 809 | {"then",8683531}, {"tmark",8421583}, {"tuck",8421380}, {"uniq",8421590}, {"until",8683534}, {"while",8683535}, }; #define N_OP_NAMES 344 #endif |