Log In  
Follow
Farbs
[ :: Read More :: ]

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.

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 :)

Parameters seem to be x0, y0, z0, x1, y1, z1

Anyway, here's the rest of the dump:


flip: [function]
trace: [function]
__type: [function]
_activate_objects_yieldable: [function]
_activate_objects: [function]
_add_method: [function]
_add_val_names_from_table: [function]
_blit: [function]
_class_16: table: 0x1cc93810
_class_func_16: [function]
_clear_all_lua_data: [function]
_draw_legacy_hud: [function]
_draw_map: [function]
_draw_messages: [function]
_draw_objects_yieldable: [function]
_draw_objects: [function]
_draw: [function]
_end_of_program: 1
_extract_upvalues: [function]
_fetch_function_by_name: [function]
_fetch_table_by_name: [function]
_functions_at_boot: [table]
_G: [table]
_get_frames_skipped: [function]
_get_menu_item_selected: [function]
_get_newable_elf_class: [function]
_get_num_elves: [function]
_get_world_actors: [function]
_head_id: -2
_init_room_state_instances: [function]
_last_room_at_draw: table: 0x1cc93798
_mainloop: [function]
_mark_actor_newed: [function]
_mark_cpu: [function]
_menuitem: [function]
_move_all_elves_yieldable: [function]
_move_room_flow: [function]
_move_world_post: [function]
_move_world: [function]
_mt_actor: [table]
_mt_resource: [table]
_name_val: [table]
_non_saveable: [table]
_num_functions: 295
_obj_4: table: 0x1cc93798
_p8_program: [function]
_pausemenu: [table]
_read_global_variables: [function]
_read_world_objects: [function]
_record_callback_bits: [function]
_record_functions_at_boot: [function]
_record_table_functions: [function]
_remove_dead_objects: [function]
_restore_upvalues: [function]
_set_fps: [function]
_set_mainloop_exists: [function]
_spawn_worker: [function]
_startframe: [function]
_uc: 2
_update_buttons: [function]
_update_multi: [function]
_update_objects: [function]
_update_voxatron_buttons: [function]
_update120: [function]
_update60: [function]
_val_name: [table]
_validate_head_class: [function]
_VERSION: Lua 5.2
_vvmp_id: 16
_write_global_variables: [function]
_write_world_objects: [function]
?: -1632.5
?: -18402.5
?: -19008.5
?: -20032.5
?: -20128.5
?: -20192.5
?: -24351.5
?: -2560.5
?: -25792.5
?: -26208.5
?: -2624.5
?: 0
?: 0.5
?: 1
?: 2
?: 20767.5
?: 20927.5
?: 21845.5
?: 23130.5
?: 3
?: 31455.5
?: 32125.5
?: 3855.5
?: 4
?: 5
?: 6943.5
abs: [function]
add: [function]
all: [function]
ANIMATION: 8
assert: [function]
atan2: [function]
ATOMIZE_ON_DEATH: 0.0043
ATTACK_BOTTOM: 0.0041
ATTACK_DAMAGE: 15
ATTACK_SIDES: 0.004
ATTACK_TOP: 0.004
band: [function]
BASE_P0: 8
BASE_P1: 9
BASE_TYPE: 7
bbsreq: [function]
blit_voxmap: [function]
bnot: [function]
bor: [function]
BOUNCE: 21
box: [function]
boxfill: [function]
btn: [function]
btnp: [function]
BULLET: 9
button_pressed: [function]
button: [function]
bxor: [function]
camera: [function]
cartdata: [function]
cd: [function]
ceil: [function]
chr: [function]
circ: [function]
circfill: [function]
clip: [function]
clip3d: [function]
cls: [function]
clv: [function]
cocreate: [function]
COLLECT_BOTTOM: 0.0041
COLLECT_SIDES: 0.004
COLLECT_TOP: 0.004
collectgarbage: [function]
COLLIDE_BULLETS: 0.0041
COLLIDE_GROUND: 0.0041
COLLIDE_PARENT: 0.0043
COLLIDE_SIBLINGS: 0.0043
color: [function]
coresume: [function]
cos: [function]
costatus: [function]
COUNT_AS_MONSTER: 0.0042
count: [function]
cstore: [function]
cursor: [function]
del: [function]
deli: [function]
DENSITY: 5
dget: [function]
dofile: [function]
DOOR: 4
draw_voxmap: [function]
dset: [function]
EMITTER: 10
error: [function]
exit: [function]
EXPEL_ACTORS: 20.0042
EXPLODE_ON_DEATH: 0.0042
export: [function]
extcmd: [function]
FACING_TURN_SPEED: 17
fget: [function]
fillp: [function]
flip: [function]
flr: [function]
folder: [function]
foreach: [function]
FRICTION: 11
fset: [function]
get_actors: [function]
get_display_camera: [function]
get_id: [function]
get_key_type_index: [function]
get_room: [function]
get_type_index: [function]
get_value_string: [function]
get_world_camera: [function]
getmetatable: [function]
GRAVITY: 14
HEADING_TURN_SPEED: 18
HEIGHT: 4
help: [function]
HOISTABLE: 0.004
holdframe: [function]
import: [function]
info: [function]
init_id_table: [function]
init_val_name_table: [function]
io_read_boolean: [function]
io_read_int32: [function]
io_read_string: [function]
io_read_uint8: [function]
io_write_boolean: [function]
io_write_int32: [function]
io_write_string: [function]
io_write_uint8: [function]
ipairs: [function]
is_array_key: [function]
is_valid: [function]
JUMP_FREQ: 10
JUMP_HEIGHT: 9
LENGTH: 3
line: [function]
line3d: [function]
LIQUID_Z: 9
load_checkpoint: [function]
load: [function]
loadfile: [function]
LOCK_FACING: 0.004
LOCK_X: 0.004
LOCK_Y: 0.004
LOCK_Z: 0.004
login: [function]
logout: [function]
ls: [function]
lshr: [function]
mag: [function]
map: [function]
mapdraw: [function]
max: [function]
memcpy: [function]
memset: [function]
menuitem: [function]
mget: [function]
mid: [function]
min: [function]
mkdir: [function]
MONSTER: 7
MORTALITY: 7
MOVE_STYLE_P: 19
MOVE_STYLE: 12
mset: [function]
music: [function]
MUSIC: 11
next: [function]
ord: [function]
oval: [function]
ovalfill: [function]
pack: [function]
pairs: [function]
pal: [function]
palt: [function]
pcall: [function]
peek: [function]
peek2: [function]
peek4: [function]
pget: [function]
PICKUP: 5
play_music: [function]
play_sound: [function]
PLAYER: 6
POINTS: 6
poke: [function]
poke2: [function]
poke4: [function]
print_table: [function]
print: [function]
printable: [function]
printh: [function]
printio: [function]
PROP: 0
pset: [function]
PUSHABLE: 0.0039
radio: [function]
rawequal: [function]
rawget: [function]
rawlen: [function]
rawset: [function]
read_key: [function]
read_table: [function]
read_value: [function]
record_non_saveables: [function]
rect: [function]
rectfill: [function]
reload: [function]
reset: [function]
rnd: [function]
ROOM: 1
rotl: [function]
rotr: [function]
run: [function]
save_checkpoint: [function]
save: [function]
scoresub: [function]
select: [function]
serial: [function]
set_display_camera: [function]
set_draw_slice: [function]
set_draw_target: [function]
set_map_draw_mode: [function]
set_pico8_cart: [function]
set_room: [function]
set_world_camera: [function]
setmetatable: [function]
sfx: [function]
sget: [function]
sgn: [function]
shl: [function]
shr: [function]
shutdown: [function]
sin: [function]
SOUND: 12
spawn: [function]
SPEED: 8
sphere: [function]
split: [function]
spr: [function]
SPREAD_OUT: 0.0042
sqrt: [function]
srand: [function]
sset: [function]
sspr: [function]
STANDABLE: 0.0039
stat: [function]
stop_music: [function]
stop_sound: [function]
stop: [function]
sub: [function]
t: [function]
TEAM: 13
test_obj_1: [function]
THROWABLE: 0.0039
ti: 4
time: [function]
tline: [function]
tonum: [function]
tonumber: [function]
tostr: [function]
tostring: [function]
total: 0
trace: [function]
TURN_SPEED: 18
TURN_STYLE: 16
type: [function]
unpack: [function]
vget: [function]
vset: [function]
WIDTH: 2
write_key: [function]
write_literal: [function]
write_table: [function]
write_value: [function]
xpcall: [function]
yield: [function]

P#122441 2022-12-15 02:24

[ :: Read More :: ]


Cart #superdiscbox-0 | 2020-11-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
174


Executable versions here

Hi!

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!

<3

P#83604 2020-11-01 23:12