Farbs [Lexaloffle Blog Feed]https://www.lexaloffle.com/bbs/?uid=31740 Undocumented interfaces <p>I've been building a game via the API, and in my quest to figure out what savegame systems I can use (if any) I wrote a little script to dump the contents of _ENV. This seems to list the API, both documented and otherwise, so I thought folks might find it useful.</p> <p>So far the only undocumented feature I've found and successfully used is clip3d, which you can use to set a clipping volume for subsequent voxel rendering operations. It doesn't seem to get reset every time you run a game, so be sure to clean up after yourself :)</p> <p>Parameters seem to be x0, y0, z0, x1, y1, z1</p> <p>Anyway, here's the rest of the dump:<br /> <div><div><input type="button" value=" Show " onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = ' Hide '; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = ' Show '; }"></div><div><div style="display: none;"><br /> <strong>flip: [function]<br /> </strong>trace: [function]<br /> __type: [function]<br /> _activate_objects_yieldable: [function]<br /> _activate_objects: [function]<br /> _add_method: [function]<br /> _add_val_names_from_table: [function]<br /> _blit: [function]<br /> _class_16: table: 0x1cc93810<br /> _class_func_16: [function]<br /> _clear_all_lua_data: [function]<br /> _draw_legacy_hud: [function]<br /> _draw_map: [function]<br /> _draw_messages: [function]<br /> _draw_objects_yieldable: [function]<br /> _draw_objects: [function]<br /> _draw: [function]<br /> _end_of_program: 1<br /> _extract_upvalues: [function]<br /> _fetch_function_by_name: [function]<br /> _fetch_table_by_name: [function]<br /> _functions_at_boot: [table]<br /> _G: [table]<br /> _get_frames_skipped: [function]<br /> _get_menu_item_selected: [function]<br /> _get_newable_elf_class: [function]<br /> _get_num_elves: [function]<br /> _get_world_actors: [function]<br /> _head_id: -2<br /> _init_room_state_instances: [function]<br /> _last_room_at_draw: table: 0x1cc93798<br /> _mainloop: [function]<br /> _mark_actor_newed: [function]<br /> _mark_cpu: [function]<br /> _menuitem: [function]<br /> _move_all_elves_yieldable: [function]<br /> _move_room_flow: [function]<br /> _move_world_post: [function]<br /> _move_world: [function]<br /> _mt_actor: [table]<br /> _mt_resource: [table]<br /> _name_val: [table]<br /> _non_saveable: [table]<br /> _num_functions: 295<br /> _obj_4: table: 0x1cc93798<br /> _p8_program: [function]<br /> _pausemenu: [table]<br /> _read_global_variables: [function]<br /> _read_world_objects: [function]<br /> _record_callback_bits: [function]<br /> _record_functions_at_boot: [function]<br /> _record_table_functions: [function]<br /> _remove_dead_objects: [function]<br /> _restore_upvalues: [function]<br /> _set_fps: [function]<br /> _set_mainloop_exists: [function]<br /> _spawn_worker: [function]<br /> _startframe: [function]<br /> _uc: 2<br /> _update_buttons: [function]<br /> _update_multi: [function]<br /> _update_objects: [function]<br /> _update_voxatron_buttons: [function]<br /> _update120: [function]<br /> _update60: [function]<br /> _val_name: [table]<br /> _validate_head_class: [function]<br /> _VERSION: Lua 5.2<br /> _vvmp_id: 16<br /> _write_global_variables: [function]<br /> _write_world_objects: [function]<br /> ?: -1632.5<br /> ?: -18402.5<br /> ?: -19008.5<br /> ?: -20032.5<br /> ?: -20128.5<br /> ?: -20192.5<br /> ?: -24351.5<br /> ?: -2560.5<br /> ?: -25792.5<br /> ?: -26208.5<br /> ?: -2624.5<br /> ?: 0<br /> ?: 0.5<br /> ?: 1<br /> ?: 2<br /> ?: 20767.5<br /> ?: 20927.5<br /> ?: 21845.5<br /> ?: 23130.5<br /> ?: 3<br /> ?: 31455.5<br /> ?: 32125.5<br /> ?: 3855.5<br /> ?: 4<br /> ?: 5<br /> ?: 6943.5<br /> abs: [function]<br /> add: [function]<br /> all: [function]<br /> ANIMATION: 8<br /> assert: [function]<br /> atan2: [function]<br /> ATOMIZE_ON_DEATH: 0.0043<br /> ATTACK_BOTTOM: 0.0041<br /> ATTACK_DAMAGE: 15<br /> ATTACK_SIDES: 0.004<br /> ATTACK_TOP: 0.004<br /> band: [function]<br /> BASE_P0: 8<br /> BASE_P1: 9<br /> BASE_TYPE: 7<br /> bbsreq: [function]<br /> blit_voxmap: [function]<br /> bnot: [function]<br /> bor: [function]<br /> BOUNCE: 21<br /> box: [function]<br /> boxfill: [function]<br /> btn: [function]<br /> btnp: [function]<br /> BULLET: 9<br /> button_pressed: [function]<br /> button: [function]<br /> bxor: [function]<br /> camera: [function]<br /> cartdata: [function]<br /> cd: [function]<br /> ceil: [function]<br /> chr: [function]<br /> circ: [function]<br /> circfill: [function]<br /> clip: [function]<br /> clip3d: [function]<br /> cls: [function]<br /> clv: [function]<br /> cocreate: [function]<br /> COLLECT_BOTTOM: 0.0041<br /> COLLECT_SIDES: 0.004<br /> COLLECT_TOP: 0.004<br /> collectgarbage: [function]<br /> COLLIDE_BULLETS: 0.0041<br /> COLLIDE_GROUND: 0.0041<br /> COLLIDE_PARENT: 0.0043<br /> COLLIDE_SIBLINGS: 0.0043<br /> color: [function]<br /> coresume: [function]<br /> cos: [function]<br /> costatus: [function]<br /> COUNT_AS_MONSTER: 0.0042<br /> count: [function]<br /> cstore: [function]<br /> cursor: [function]<br /> del: [function]<br /> deli: [function]<br /> DENSITY: 5<br /> dget: [function]<br /> dofile: [function]<br /> DOOR: 4<br /> draw_voxmap: [function]<br /> dset: [function]<br /> EMITTER: 10<br /> error: [function]<br /> exit: [function]<br /> EXPEL_ACTORS: 20.0042<br /> EXPLODE_ON_DEATH: 0.0042<br /> export: [function]<br /> extcmd: [function]<br /> FACING_TURN_SPEED: 17<br /> fget: [function]<br /> fillp: [function]<br /> flip: [function]<br /> flr: [function]<br /> folder: [function]<br /> foreach: [function]<br /> FRICTION: 11<br /> fset: [function]<br /> get_actors: [function]<br /> get_display_camera: [function]<br /> get_id: [function]<br /> get_key_type_index: [function]<br /> get_room: [function]<br /> get_type_index: [function]<br /> get_value_string: [function]<br /> get_world_camera: [function]<br /> getmetatable: [function]<br /> GRAVITY: 14<br /> HEADING_TURN_SPEED: 18<br /> HEIGHT: 4<br /> help: [function]<br /> HOISTABLE: 0.004<br /> holdframe: [function]<br /> import: [function]<br /> info: [function]<br /> init_id_table: [function]<br /> init_val_name_table: [function]<br /> io_read_boolean: [function]<br /> io_read_int32: [function]<br /> io_read_string: [function]<br /> io_read_uint8: [function]<br /> io_write_boolean: [function]<br /> io_write_int32: [function]<br /> io_write_string: [function]<br /> io_write_uint8: [function]<br /> ipairs: [function]<br /> is_array_key: [function]<br /> is_valid: [function]<br /> JUMP_FREQ: 10<br /> JUMP_HEIGHT: 9<br /> LENGTH: 3<br /> line: [function]<br /> line3d: [function]<br /> LIQUID_Z: 9<br /> load_checkpoint: [function]<br /> load: [function]<br /> loadfile: [function]<br /> LOCK_FACING: 0.004<br /> LOCK_X: 0.004<br /> LOCK_Y: 0.004<br /> LOCK_Z: 0.004<br /> login: [function]<br /> logout: [function]<br /> ls: [function]<br /> lshr: [function]<br /> mag: [function]<br /> map: [function]<br /> mapdraw: [function]<br /> max: [function]<br /> memcpy: [function]<br /> memset: [function]<br /> menuitem: [function]<br /> mget: [function]<br /> mid: [function]<br /> min: [function]<br /> mkdir: [function]<br /> MONSTER: 7<br /> MORTALITY: 7<br /> MOVE_STYLE_P: 19<br /> MOVE_STYLE: 12<br /> mset: [function]<br /> music: [function]<br /> MUSIC: 11<br /> next: [function]<br /> ord: [function]<br /> oval: [function]<br /> ovalfill: [function]<br /> pack: [function]<br /> pairs: [function]<br /> pal: [function]<br /> palt: [function]<br /> pcall: [function]<br /> peek: [function]<br /> peek2: [function]<br /> peek4: [function]<br /> pget: [function]<br /> PICKUP: 5<br /> play_music: [function]<br /> play_sound: [function]<br /> PLAYER: 6<br /> POINTS: 6<br /> poke: [function]<br /> poke2: [function]<br /> poke4: [function]<br /> print_table: [function]<br /> print: [function]<br /> printable: [function]<br /> printh: [function]<br /> printio: [function]<br /> PROP: 0<br /> pset: [function]<br /> PUSHABLE: 0.0039<br /> radio: [function]<br /> rawequal: [function]<br /> rawget: [function]<br /> rawlen: [function]<br /> rawset: [function]<br /> read_key: [function]<br /> read_table: [function]<br /> read_value: [function]<br /> record_non_saveables: [function]<br /> rect: [function]<br /> rectfill: [function]<br /> reload: [function]<br /> reset: [function]<br /> rnd: [function]<br /> ROOM: 1<br /> rotl: [function]<br /> rotr: [function]<br /> run: [function]<br /> save_checkpoint: [function]<br /> save: [function]<br /> scoresub: [function]<br /> select: [function]<br /> serial: [function]<br /> set_display_camera: [function]<br /> set_draw_slice: [function]<br /> set_draw_target: [function]<br /> set_map_draw_mode: [function]<br /> set_pico8_cart: [function]<br /> set_room: [function]<br /> set_world_camera: [function]<br /> setmetatable: [function]<br /> sfx: [function]<br /> sget: [function]<br /> sgn: [function]<br /> shl: [function]<br /> shr: [function]<br /> shutdown: [function]<br /> sin: [function]<br /> SOUND: 12<br /> spawn: [function]<br /> SPEED: 8<br /> sphere: [function]<br /> split: [function]<br /> spr: [function]<br /> SPREAD_OUT: 0.0042<br /> sqrt: [function]<br /> srand: [function]<br /> sset: [function]<br /> sspr: [function]<br /> STANDABLE: 0.0039<br /> stat: [function]<br /> stop_music: [function]<br /> stop_sound: [function]<br /> stop: [function]<br /> sub: [function]<br /> t: [function]<br /> TEAM: 13<br /> test_obj_1: [function]<br /> THROWABLE: 0.0039<br /> ti: 4<br /> time: [function]<br /> tline: [function]<br /> tonum: [function]<br /> tonumber: [function]<br /> tostr: [function]<br /> tostring: [function]<br /> total: 0<br /> trace: [function]<br /> TURN_SPEED: 18<br /> TURN_STYLE: 16<br /> type: [function]<br /> unpack: [function]<br /> vget: [function]<br /> vset: [function]<br /> WIDTH: 2<br /> write_key: [function]<br /> write_literal: [function]<br /> write_table: [function]<br /> write_value: [function]<br /> xpcall: [function]<br /> yield: [function]</div></div></div></p> https://www.lexaloffle.com/bbs/?tid=50664 https://www.lexaloffle.com/bbs/?tid=50664 Thu, 15 Dec 2022 02:24:18 UTC Super Disc Box <p><center><br /> <table><tr><td> <a href="/bbs/?pid=83604#p"> <img src="/bbs/thumbs/pico8_superdiscbox-0.png" style="height:256px"></a> </td><td width=10></td><td valign=top> <a href="/bbs/?pid=83604#p"> superdiscbox</a><br><br> by <a href="/bbs/?uid=31740"> Farbs</a> <br><br><br> <a href="/bbs/?pid=83604#p"> [Click to Play]</a> </td></tr></table> <br /> </center></p> <p><center></p> <img style="margin-bottom:16px" border=0 src="/media/31740/superdiscbox_4.gif" alt="" /> <p><em><a href="http://farbs.itch.io/super-disc-box">Executable versions here</a></em><br /> </center></p> <p>Hi!</p> <p>I had a go at the Disc Room game jam, and ended up building a Super Crate Box / Disc Room hybrid. The sfx were made between 2am and 4am so they're a little rough, but otherwise I think it came out okay. Anyhow, this is my first full size PICO-8 game so I'd love to hear what you think!</p> <p>&lt;3</p> https://www.lexaloffle.com/bbs/?tid=40111 https://www.lexaloffle.com/bbs/?tid=40111 Sun, 01 Nov 2020 23:12:42 UTC