Overview
Comment: | In the level editor, add the possibility to clear levels, resize levels, and to fill the playfield with one kind of object. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
2f8784fac0b537c7c3425014a31ed798 |
User & Date: | user on 2021-02-16 07:11:26 |
Other Links: | manifest | tags |
Context
2021-02-16
| ||
22:21 | In add_mru function in editor, do not add blank MRUs check-in: a87bcb73f5 user: user tags: trunk | |
07:11 | In the level editor, add the possibility to clear levels, resize levels, and to fill the playfield with one kind of object. check-in: 2f8784fac0 user: user tags: trunk | |
03:08 | Add XY function check-in: 1bcf59e130 user: user tags: trunk | |
Changes
Modified bindings.doc from [49d6e34851] to [7578e8d589].
︙ | ︙ | |||
117 118 119 120 121 122 123 124 125 126 127 128 129 130 | 'mR' <number> Select a relative MRU. Negative numbers move up the list, and positive numbers move down the list. 'mr' <number> Select a MRU, given the MRU number (0 to 31; the top is zero). === Commands available in game and editor === '^E' Switch to the editor. '^P' | > > > > | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | 'mR' <number> Select a relative MRU. Negative numbers move up the list, and positive numbers move down the list. 'mr' <number> Select a MRU, given the MRU number (0 to 31; the top is zero). 're' <width> <height> Remove all objects from the level and resize the level. The minimum size is 1x1 and the maximum size is 64x64. === Commands available in game and editor === '^E' Switch to the editor. '^P' |
︙ | ︙ |
Modified default.heromeshrc from [0717a6e544] to [57b9ba9aa2].
︙ | ︙ | |||
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | ?.editKey.5: select 'mr',4; ?.editKey.6: select 'mr',5; ?.editKey.7: select 'mr',6; ?.editKey.8: select 'mr',7; ?.editKey.9: select 'mr',8; ?.editKey.up: select 'mR',-1; ?.editKey.down: select 'mR',+1; ?.editKey.ctrl.P: ^P ?.editKey.ctrl.Q: ^Q ?.editKey.space: ^c ?.editKey.return: ^e ?.editClick.left: ^a ?.editClick.alt.left: ^u ?.editClick.right: delete from objects where x=$X and y=$Y and up is null; ! Global key bindings | > > > | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | ?.editKey.5: select 'mr',4; ?.editKey.6: select 'mr',5; ?.editKey.7: select 'mr',6; ?.editKey.8: select 'mr',7; ?.editKey.9: select 'mr',8; ?.editKey.up: select 'mR',-1; ?.editKey.down: select 'mR',+1; ?.editKey.shift.F: with n(n) as (select 65 union all select n+1 h from n where h<=64*pfheight()+65) select '^a',n from n; ?.editKey.ctrl.X: select 're',pfwidth(),pfheight(); ?.editKey.ctrl.P: ^P ?.editKey.ctrl.Q: ^Q ?.editKey.ctrl.R: select 're',substr(:resize,1,instr(:resize,'x')-1),substr(:resize,instr(:resize,'x')+1) where length(:resize); ?.editKey.space: ^c ?.editKey.return: ^e ?.editClick.left: ^a ?.editClick.alt.left: ^u ?.editClick.right: delete from objects where x=$X and y=$Y and up is null; ! Global key bindings |
︙ | ︙ |
Modified edit.c from [077a253bca] to [fba48953dd].
︙ | ︙ | |||
537 538 539 540 541 542 543 544 545 546 547 548 549 550 | objects[n]->misc1=m->misc1; objects[n]->misc2=m->misc2; objects[n]->misc3=m->misc3; pflink(n); } static int editor_command(int prev,int cmd,int number,int argc,sqlite3_stmt*args,void*aux) { switch(cmd) { case '^a': // Add object (no duplicates) if(prev) return prev; add_object_at(number&63?:64,number/64?:64,mru+curmru,1); return 0; case '^c': // Select class/image class_image_select(); | > | 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 | objects[n]->misc1=m->misc1; objects[n]->misc2=m->misc2; objects[n]->misc3=m->misc3; pflink(n); } static int editor_command(int prev,int cmd,int number,int argc,sqlite3_stmt*args,void*aux) { int x,y; switch(cmd) { case '^a': // Add object (no duplicates) if(prev) return prev; add_object_at(number&63?:64,number/64?:64,mru+curmru,1); return 0; case '^c': // Select class/image class_image_select(); |
︙ | ︙ | |||
564 565 566 567 568 569 570 571 572 573 574 575 576 577 | load_level(number); return 1; case 'mR': // Select MRU relative number+=curmru; // fall through case 'mr': // Select MRU absolute if(number>=0 && number<MRUCOUNT) curmru=number; return 0; default: return prev; } } void run_editor(void) { | > > > > > > > > > | 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 | load_level(number); return 1; case 'mR': // Select MRU relative number+=curmru; // fall through case 'mr': // Select MRU absolute if(number>=0 && number<MRUCOUNT) curmru=number; return 0; case 're': // Resize and clear if(argc<3) return 0; x=sqlite3_column_int(args,1); y=sqlite3_column_int(args,2); if(x<1 || y<1 || x>64 || y>64) return 0; annihilate(); pfwidth=x; pfheight=y; return 0; default: return prev; } } void run_editor(void) { |
︙ | ︙ |
Modified sql.doc from [98e4b49059] to [fa10274d55].
︙ | ︙ | |||
81 82 83 84 85 86 87 88 89 90 91 92 93 94 | TRACE_ON() Enables tracing when called. XY(x,y) Many bindings require a position as their first argument; use this function to combine X/Y coordinates into a single value for this. ZERO_EXTEND(number) Zero extends a 32-bit number to 64-bits. Same as NVALUE. === Tables === | > | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | TRACE_ON() Enables tracing when called. XY(x,y) Many bindings require a position as their first argument; use this function to combine X/Y coordinates into a single value for this. Coordinates are one-based. This is the same as (x+y*64). ZERO_EXTEND(number) Zero extends a 32-bit number to 64-bits. Same as NVALUE. === Tables === |
︙ | ︙ |