/ /code /code.swankyquant /code.swankyquant.algorithm /code.swankyquant.color_distance /code.swankyquant.color_distance_weight /code.swankyquant.swanky_quant /code.swankyquant.swanky_quant_remap /draw/entities /entities.systems /entities.systems.bang /entities.systems.donut /entities.systems.horde /entities.systems.invader /entities.systems.item /entities.systems.level /entities.systems.menu /entities.systems.missile /entities.systems.npc /entities.systems.player /entities.systems.score /entities.systems.space /entities.systems.stars /entities.systems.tile /entities.systems.yarn/entities.tiles /entities.tiles.npc /entities.tiles.sprite /entities.tiles.start /graphics /hardware /levels/lua /lua.glslang /lua.glslang.lint_gles2 /lua.glslang.parse_chunks /lua.glslang.pp /lua.glslang.replace_include /lua.glslang.yank_shader_versions/lua.wetgenes /lua.wetgenes.bullet /lua.wetgenes.bullet.body /lua.wetgenes.bullet.body.cgroup /lua.wetgenes.bullet.body.change_shape /lua.wetgenes.bullet.body.cmask /lua.wetgenes.bullet.body.force /lua.wetgenes.bullet.body.gravity /lua.wetgenes.bullet.body.impulse /lua.wetgenes.bullet.body.overlaps /lua.wetgenes.bullet.body.support/lua.wetgenes.bullet.world /lua.wetgenes.bullet.world.body /lua.wetgenes.bullet.world.body.active /lua.wetgenes.bullet.world.body.angular_factor /lua.wetgenes.bullet.world.body.angular_velocity /lua.wetgenes.bullet.world.body.ccd /lua.wetgenes.bullet.world.body.custom_material_callback /lua.wetgenes.bullet.world.body.damping /lua.wetgenes.bullet.world.body.destroy /lua.wetgenes.bullet.world.body.factor /lua.wetgenes.bullet.world.body.friction /lua.wetgenes.bullet.world.body.restitution /lua.wetgenes.bullet.world.body.transform /lua.wetgenes.bullet.world.body.velocity /lua.wetgenes.bullet.world.contacts /lua.wetgenes.bullet.world.destroy /lua.wetgenes.bullet.world.get /lua.wetgenes.bullet.world.gravity/lua.wetgenes.bullet.world.mesh /lua.wetgenes.bullet.world.mesh.destroy /lua.wetgenes.bullet.world.ray_test /lua.wetgenes.bullet.world.set/lua.wetgenes.bullet.world.shape /lua.wetgenes.bullet.world.shape.destroy /lua.wetgenes.bullet.world.shape.margin /lua.wetgenes.bullet.world.status /lua.wetgenes.bullet.world.step/lua.wetgenes.chipmunk /lua.wetgenes.chipmunk.arbiter /lua.wetgenes.chipmunk.arbiter.ignore /lua.wetgenes.chipmunk.arbiter.points /lua.wetgenes.chipmunk.arbiter.surface_velocity/lua.wetgenes.chipmunk.body /lua.wetgenes.chipmunk.body.angle /lua.wetgenes.chipmunk.body.angular_velocity /lua.wetgenes.chipmunk.body.apply_force /lua.wetgenes.chipmunk.body.apply_impulse /lua.wetgenes.chipmunk.body.center_of_gravity /lua.wetgenes.chipmunk.body.force /lua.wetgenes.chipmunk.body.mass /lua.wetgenes.chipmunk.body.moment /lua.wetgenes.chipmunk.body.position /lua.wetgenes.chipmunk.body.position_func /lua.wetgenes.chipmunk.body.shape /lua.wetgenes.chipmunk.body.torque /lua.wetgenes.chipmunk.body.type /lua.wetgenes.chipmunk.body.velocity /lua.wetgenes.chipmunk.body.velocity_func/lua.wetgenes.chipmunk.constraint /lua.wetgenes.chipmunk.constraint.collide_bodies /lua.wetgenes.chipmunk.constraint.error_bias /lua.wetgenes.chipmunk.constraint.impulse /lua.wetgenes.chipmunk.constraint.max_bias /lua.wetgenes.chipmunk.constraint.max_force/lua.wetgenes.chipmunk.shape /lua.wetgenes.chipmunk.shape.bounding_box /lua.wetgenes.chipmunk.shape.collision_type /lua.wetgenes.chipmunk.shape.elasticity /lua.wetgenes.chipmunk.shape.filter /lua.wetgenes.chipmunk.shape.friction /lua.wetgenes.chipmunk.shape.query_point /lua.wetgenes.chipmunk.shape.query_segment /lua.wetgenes.chipmunk.shape.radius /lua.wetgenes.chipmunk.shape.sensor /lua.wetgenes.chipmunk.shape.surface_velocity/lua.wetgenes.chipmunk.space /lua.wetgenes.chipmunk.space.add /lua.wetgenes.chipmunk.space.add_handler /lua.wetgenes.chipmunk.space.body /lua.wetgenes.chipmunk.space.collision_bias /lua.wetgenes.chipmunk.space.collision_persistence /lua.wetgenes.chipmunk.space.collision_slop /lua.wetgenes.chipmunk.space.constraint /lua.wetgenes.chipmunk.space.contains /lua.wetgenes.chipmunk.space.current_time_step /lua.wetgenes.chipmunk.space.damping /lua.wetgenes.chipmunk.space.gravity /lua.wetgenes.chipmunk.space.idle_speed_threshold /lua.wetgenes.chipmunk.space.iterations /lua.wetgenes.chipmunk.space.locked /lua.wetgenes.chipmunk.space.query_bounding_box /lua.wetgenes.chipmunk.space.query_point /lua.wetgenes.chipmunk.space.query_point_nearest /lua.wetgenes.chipmunk.space.query_segment /lua.wetgenes.chipmunk.space.query_segment_first /lua.wetgenes.chipmunk.space.query_shape /lua.wetgenes.chipmunk.space.reindex /lua.wetgenes.chipmunk.space.remove /lua.wetgenes.chipmunk.space.sleep_time_threshold /lua.wetgenes.chipmunk.space.step /lua.wetgenes.chipmunk.space.type/lua.wetgenes.csv /lua.wetgenes.csv.build /lua.wetgenes.csv.doesc /lua.wetgenes.csv.doquote /lua.wetgenes.csv.map /lua.wetgenes.csv.parse /lua.wetgenes.csv.unesc /lua.wetgenes.csv.unquote /lua.wetgenes.deepcompare /lua.wetgenes.deepcopy /lua.wetgenes.export/lua.wetgenes.gamecake /lua.wetgenes.gamecake.framebuffers /lua.wetgenes.gamecake.framebuffers.create /lua.wetgenes.gamecake.framebuffers.dirty/lua.wetgenes.gamecake.framebuffers.fbo /lua.wetgenes.gamecake.framebuffers.fbo.bind_depth /lua.wetgenes.gamecake.framebuffers.fbo.bind_depth_snapshot /lua.wetgenes.gamecake.framebuffers.fbo.bind_frame /lua.wetgenes.gamecake.framebuffers.fbo.bind_texture /lua.wetgenes.gamecake.framebuffers.fbo.bind_texture_snapshot /lua.wetgenes.gamecake.framebuffers.fbo.check /lua.wetgenes.gamecake.framebuffers.fbo.clean /lua.wetgenes.gamecake.framebuffers.fbo.download /lua.wetgenes.gamecake.framebuffers.fbo.free_depth /lua.wetgenes.gamecake.framebuffers.fbo.free_frame /lua.wetgenes.gamecake.framebuffers.fbo.free_snapshot /lua.wetgenes.gamecake.framebuffers.fbo.free_texture /lua.wetgenes.gamecake.framebuffers.fbo.mipmap /lua.wetgenes.gamecake.framebuffers.fbo.mipmap_depth /lua.wetgenes.gamecake.framebuffers.fbo.mipmap_texture /lua.wetgenes.gamecake.framebuffers.fbo.pingpong /lua.wetgenes.gamecake.framebuffers.fbo.render_start /lua.wetgenes.gamecake.framebuffers.fbo.render_stop /lua.wetgenes.gamecake.framebuffers.fbo.resize /lua.wetgenes.gamecake.framebuffers.fbo.snapshot /lua.wetgenes.gamecake.framebuffers.start /lua.wetgenes.gamecake.framebuffers.stop/lua.wetgenes.gamecake.fun /lua.wetgenes.gamecake.fun.chatdown /lua.wetgenes.gamecake.fun.chatdown.chat /lua.wetgenes.gamecake.fun.chatdown.chat.get_tag /lua.wetgenes.gamecake.fun.chatdown.chat.replace_tags /lua.wetgenes.gamecake.fun.chatdown.chat.set_tag /lua.wetgenes.gamecake.fun.chatdown.chat.set_tags /lua.wetgenes.gamecake.fun.chatdown.chat.set_topic/lua.wetgenes.gamecake.fun.chatdown.chats /lua.wetgenes.gamecake.fun.chatdown.chats.changes /lua.wetgenes.gamecake.fun.chatdown.chats.get_subject /lua.wetgenes.gamecake.fun.chatdown.chats.get_tag /lua.wetgenes.gamecake.fun.chatdown.chats.replace_tags /lua.wetgenes.gamecake.fun.chatdown.chats.set_subject /lua.wetgenes.gamecake.fun.chatdown.chats.set_tag /lua.wetgenes.gamecake.fun.chatdown.dotnames /lua.wetgenes.gamecake.fun.chatdown.parse /lua.wetgenes.gamecake.fun.chatdown.setup /lua.wetgenes.gamecake.fun.chatdown.setup_chat /lua.wetgenes.gamecake.fun.chatdown.text/lua.wetgenes.gamecake.fun.yarn /lua.wetgenes.gamecake.fun.yarn.cells/lua.wetgenes.gamecake.fun.yarn.items /lua.wetgenes.gamecake.fun.yarn.items.cells /lua.wetgenes.gamecake.fun.yarn.items.create /lua.wetgenes.gamecake.fun.yarn.items.create_pages /lua.wetgenes.gamecake.fun.yarn.items.destroy /lua.wetgenes.gamecake.fun.yarn.items.find /lua.wetgenes.gamecake.fun.yarn.items.get_big /lua.wetgenes.gamecake.fun.yarn.items.insert /lua.wetgenes.gamecake.fun.yarn.items.iterate_dotnames /lua.wetgenes.gamecake.fun.yarn.items.iterate_parents /lua.wetgenes.gamecake.fun.yarn.items.metatable /lua.wetgenes.gamecake.fun.yarn.items.prefabs /lua.wetgenes.gamecake.fun.yarn.items.remove /lua.wetgenes.gamecake.fun.yarn.items.rules /lua.wetgenes.gamecake.fun.yarn.pages/lua.wetgenes.gamecake.fun.yarn.prefabs /lua.wetgenes.gamecake.fun.yarn.prefabs.set/lua.wetgenes.gamecake.fun.yarn.rules /lua.wetgenes.gamecake.fun.yarn.rules.apply /lua.wetgenes.gamecake.fun.yarn.rules.can /lua.wetgenes.gamecake.fun.yarn.rules.set/lua.wetgenes.gamecake.oven /lua.wetgenes.gamecake.oven.bake/lua.wetgenes.gamecake.toaster /lua.wetgenes.gamecake.toaster.bake /lua.wetgenes.gamecake.toaster.newticks/lua.wetgenes.gamecake.widgets /lua.wetgenes.gamecake.widgets.button /lua.wetgenes.gamecake.widgets.button.setup /lua.wetgenes.gamecake.widgets.button.update/lua.wetgenes.gamecake.widgets.center /lua.wetgenes.gamecake.widgets.center.layout /lua.wetgenes.gamecake.widgets.center.setup/lua.wetgenes.gamecake.widgets.checkbox /lua.wetgenes.gamecake.widgets.checkbox.class_hooks /lua.wetgenes.gamecake.widgets.checkbox.setup /lua.wetgenes.gamecake.widgets.checkbox.update/lua.wetgenes.gamecake.widgets.data /lua.wetgenes.gamecake.widgets.data.add_class_hook /lua.wetgenes.gamecake.widgets.data.call_hook /lua.wetgenes.gamecake.widgets.data.call_hook_later /lua.wetgenes.gamecake.widgets.data.data_dec /lua.wetgenes.gamecake.widgets.data.data_get_pos /lua.wetgenes.gamecake.widgets.data.data_get_size /lua.wetgenes.gamecake.widgets.data.data_inc /lua.wetgenes.gamecake.widgets.data.data_set /lua.wetgenes.gamecake.widgets.data.data_snap /lua.wetgenes.gamecake.widgets.data.data_tonumber /lua.wetgenes.gamecake.widgets.data.data_tonumber_from_list /lua.wetgenes.gamecake.widgets.data.data_tostring /lua.wetgenes.gamecake.widgets.data.data_tostring_from_list /lua.wetgenes.gamecake.widgets.data.data_value /lua.wetgenes.gamecake.widgets.data.del_class_hook /lua.wetgenes.gamecake.widgets.data.new_data/lua.wetgenes.gamecake.widgets.datas /lua.wetgenes.gamecake.widgets.datas.del /lua.wetgenes.gamecake.widgets.datas.get /lua.wetgenes.gamecake.widgets.datas.get_number /lua.wetgenes.gamecake.widgets.datas.get_string /lua.wetgenes.gamecake.widgets.datas.get_value /lua.wetgenes.gamecake.widgets.datas.new /lua.wetgenes.gamecake.widgets.datas.new_datas /lua.wetgenes.gamecake.widgets.datas.set /lua.wetgenes.gamecake.widgets.datas.set_infos /lua.wetgenes.gamecake.widgets.datas.set_string /lua.wetgenes.gamecake.widgets.datas.set_value/lua.wetgenes.gamecake.widgets.defs /lua.wetgenes.gamecake.widgets.defs.add /lua.wetgenes.gamecake.widgets.defs.add_border /lua.wetgenes.gamecake.widgets.defs.copy /lua.wetgenes.gamecake.widgets.defs.create /lua.wetgenes.gamecake.widgets.defs.reset /lua.wetgenes.gamecake.widgets.defs.set/lua.wetgenes.gamecake.widgets.dialogs /lua.wetgenes.gamecake.widgets.dialogs.hide_overlay /lua.wetgenes.gamecake.widgets.dialogs.setup /lua.wetgenes.gamecake.widgets.dialogs.show /lua.wetgenes.gamecake.widgets.dialogs.show_overlay/lua.wetgenes.gamecake.widgets.drag /lua.wetgenes.gamecake.widgets.drag.drag /lua.wetgenes.gamecake.widgets.drag.setup /lua.wetgenes.gamecake.widgets.drag.update/lua.wetgenes.gamecake.widgets.paragraph /lua.wetgenes.gamecake.widgets.paragraph.setup /lua.wetgenes.gamecake.widgets.setup/lua.wetgenes.gamecake.zone /lua.wetgenes.gamecake.zone.scene /lua.wetgenes.gamecake.zone.scene.add /lua.wetgenes.gamecake.zone.scene.call /lua.wetgenes.gamecake.zone.scene.caste /lua.wetgenes.gamecake.zone.scene.create_values /lua.wetgenes.gamecake.zone.scene.find_uid /lua.wetgenes.gamecake.zone.scene.forget_uid /lua.wetgenes.gamecake.zone.scene.generate_uid /lua.wetgenes.gamecake.zone.scene.remember_uid /lua.wetgenes.gamecake.zone.scene.remove /lua.wetgenes.gamecake.zone.scene.reset /lua.wetgenes.gamecake.zone.scene.sortby_update /lua.wetgenes.gamecake.zone.scene.status/lua.wetgenes.gamecake.zone.scene.systems /lua.wetgenes.gamecake.zone.scene.systems.call /lua.wetgenes.gamecake.zone.scene.systems.cocall /lua.wetgenes.gamecake.zone.scene.systems.insert /lua.wetgenes.gamecake.zone.scene.systems.remove /lua.wetgenes.gamecake.zone.scene.uids/lua.wetgenes.gamecake.zone.scene.values /lua.wetgenes.gamecake.zone.scene.values.get /lua.wetgenes.gamecake.zone.scene.values.manifest /lua.wetgenes.gamecake.zone.scene.values.new /lua.wetgenes.gamecake.zone.scene.values.push /lua.wetgenes.gamecake.zone.scene.values.set /lua.wetgenes.gamecake.zone.scene.values.tween /lua.wetgenes.gamecake.zone.scene.values.twrap /lua.wetgenes.gamecake.zone.scene.values.unpush/lua.wetgenes.gamecake.zone.system /lua.wetgenes.gamecake.zone.system.items/lua.wetgenes.grd /lua.wetgenes.grd.adjust_contrast /lua.wetgenes.grd.adjust_hsv /lua.wetgenes.grd.adjust_rgb /lua.wetgenes.grd.attr_redux /lua.wetgenes.grd.blit /lua.wetgenes.grd.clear /lua.wetgenes.grd.clip /lua.wetgenes.grd.convert /lua.wetgenes.grd.copy_data /lua.wetgenes.grd.copy_data_layer /lua.wetgenes.grd.create /lua.wetgenes.grd.create_convert /lua.wetgenes.grd.create_normal /lua.wetgenes.grd.destroy /lua.wetgenes.grd.duplicate /lua.wetgenes.grd.fillmask /lua.wetgenes.grd.flipx /lua.wetgenes.grd.flipy /lua.wetgenes.grd.info /lua.wetgenes.grd.load /lua.wetgenes.grd.load_data /lua.wetgenes.grd.load_file /lua.wetgenes.grd.paint /lua.wetgenes.grd.palette /lua.wetgenes.grd.pixels /lua.wetgenes.grd.quant /lua.wetgenes.grd.remap /lua.wetgenes.grd.reset /lua.wetgenes.grd.resize /lua.wetgenes.grd.save /lua.wetgenes.grd.scale /lua.wetgenes.grd.shrink /lua.wetgenes.grd.slide /lua.wetgenes.grd.sort_cmap /lua.wetgenes.grd.stream /lua.wetgenes.grd.xor /lua.wetgenes.grdcanvas/lua.wetgenes.grdhistory /lua.wetgenes.grdhistory.history /lua.wetgenes.grdlayers /lua.wetgenes.grdpaint/lua.wetgenes.grdsvg /lua.wetgenes.grdsvg.string/lua.wetgenes.json /lua.wetgenes.json.decode /lua.wetgenes.json.encode/lua.wetgenes.json_diff /lua.wetgenes.json_diff.apply /lua.wetgenes.json_diff.array_common /lua.wetgenes.json_diff.array_match /lua.wetgenes.json_diff.array_trim /lua.wetgenes.json_diff.diff /lua.wetgenes.json_diff.dupe /lua.wetgenes.json_diff.equal /lua.wetgenes.json_diff.similar /lua.wetgenes.json_diff.undo/lua.wetgenes.json_pack /lua.wetgenes.json_pack.from_data /lua.wetgenes.json_pack.into_data /lua.wetgenes.lookup/lua.wetgenes.midi /lua.wetgenes.midi.clients /lua.wetgenes.midi.create /lua.wetgenes.midi.destroy /lua.wetgenes.midi.event_to_string /lua.wetgenes.midi.get /lua.wetgenes.midi.peek /lua.wetgenes.midi.port_create /lua.wetgenes.midi.port_destroy /lua.wetgenes.midi.pull /lua.wetgenes.midi.push /lua.wetgenes.midi.set /lua.wetgenes.midi.string_to_clientport /lua.wetgenes.midi.subscribe /lua.wetgenes.midi.unsubscribe/lua.wetgenes.package /lua.wetgenes.package.reload/lua.wetgenes.path /lua.wetgenes.path.currentdir /lua.wetgenes.path.dir /lua.wetgenes.path.ext /lua.wetgenes.path.folder /lua.wetgenes.path.join /lua.wetgenes.path.name /lua.wetgenes.path.normalize /lua.wetgenes.path.parent /lua.wetgenes.path.parse /lua.wetgenes.path.relative /lua.wetgenes.path.resolve /lua.wetgenes.path.root /lua.wetgenes.path.setup /lua.wetgenes.path.split/lua.wetgenes.plate /lua.wetgenes.plate.replace_lookup /lua.wetgenes.plate.replace_lookup_istable /lua.wetgenes.plate.table_lookup /lua.wetgenes.rnd64k /lua.wetgenes.safecall /lua.wetgenes.safewrap /lua.wetgenes.set_env /lua.wetgenes.snippets/lua.wetgenes.spew /lua.wetgenes.spew.connect /lua.wetgenes.spew.test/lua.wetgenes.tardis /lua.wetgenes.tardis.array /lua.wetgenes.tardis.array.__add /lua.wetgenes.tardis.array.__div /lua.wetgenes.tardis.array.__eq /lua.wetgenes.tardis.array.__mul /lua.wetgenes.tardis.array.__sub /lua.wetgenes.tardis.array.__tostring /lua.wetgenes.tardis.array.__unm /lua.wetgenes.tardis.array.abs /lua.wetgenes.tardis.array.acos /lua.wetgenes.tardis.array.add /lua.wetgenes.tardis.array.asin /lua.wetgenes.tardis.array.atan /lua.wetgenes.tardis.array.ceil /lua.wetgenes.tardis.array.compare /lua.wetgenes.tardis.array.cos /lua.wetgenes.tardis.array.exp /lua.wetgenes.tardis.array.floor /lua.wetgenes.tardis.array.fract /lua.wetgenes.tardis.array.log /lua.wetgenes.tardis.array.max /lua.wetgenes.tardis.array.min /lua.wetgenes.tardis.array.mix /lua.wetgenes.tardis.array.pow /lua.wetgenes.tardis.array.product /lua.wetgenes.tardis.array.quantize /lua.wetgenes.tardis.array.round /lua.wetgenes.tardis.array.scalar /lua.wetgenes.tardis.array.set /lua.wetgenes.tardis.array.sin /lua.wetgenes.tardis.array.sub /lua.wetgenes.tardis.array.tan /lua.wetgenes.tardis.array.trunc /lua.wetgenes.tardis.array.unpack /lua.wetgenes.tardis.array.zero /lua.wetgenes.tardis.class/lua.wetgenes.tardis.line /lua.wetgenes.tardis.line.new/lua.wetgenes.tardis.m2 /lua.wetgenes.tardis.m2.adjugate /lua.wetgenes.tardis.m2.cofactor /lua.wetgenes.tardis.m2.determinant /lua.wetgenes.tardis.m2.identity /lua.wetgenes.tardis.m2.inverse /lua.wetgenes.tardis.m2.minor_xy /lua.wetgenes.tardis.m2.new /lua.wetgenes.tardis.m2.scale /lua.wetgenes.tardis.m2.transpose/lua.wetgenes.tardis.m3 /lua.wetgenes.tardis.m3.adjugate /lua.wetgenes.tardis.m3.cofactor /lua.wetgenes.tardis.m3.determinant /lua.wetgenes.tardis.m3.identity /lua.wetgenes.tardis.m3.inverse /lua.wetgenes.tardis.m3.m4 /lua.wetgenes.tardis.m3.minor_xy /lua.wetgenes.tardis.m3.new /lua.wetgenes.tardis.m3.scale /lua.wetgenes.tardis.m3.transpose /lua.wetgenes.tardis.m3.v3/lua.wetgenes.tardis.m4 /lua.wetgenes.tardis.m4.add /lua.wetgenes.tardis.m4.adjugate /lua.wetgenes.tardis.m4.arotate /lua.wetgenes.tardis.m4.cofactor /lua.wetgenes.tardis.m4.determinant /lua.wetgenes.tardis.m4.get_rotation_q4 /lua.wetgenes.tardis.m4.get_scale_v3 /lua.wetgenes.tardis.m4.get_translation_v3 /lua.wetgenes.tardis.m4.identity /lua.wetgenes.tardis.m4.inverse /lua.wetgenes.tardis.m4.m3 /lua.wetgenes.tardis.m4.minor_xy /lua.wetgenes.tardis.m4.mix /lua.wetgenes.tardis.m4.new /lua.wetgenes.tardis.m4.prearotate /lua.wetgenes.tardis.m4.preqrotate /lua.wetgenes.tardis.m4.prerotate /lua.wetgenes.tardis.m4.prerrotate /lua.wetgenes.tardis.m4.prescale /lua.wetgenes.tardis.m4.pretranslate /lua.wetgenes.tardis.m4.pretranslate_v3 /lua.wetgenes.tardis.m4.qrotate /lua.wetgenes.tardis.m4.rotate /lua.wetgenes.tardis.m4.rrotate /lua.wetgenes.tardis.m4.scale /lua.wetgenes.tardis.m4.scale_v3 /lua.wetgenes.tardis.m4.setrot /lua.wetgenes.tardis.m4.setrrot /lua.wetgenes.tardis.m4.sub /lua.wetgenes.tardis.m4.translate /lua.wetgenes.tardis.m4.translate_v3 /lua.wetgenes.tardis.m4.transpose /lua.wetgenes.tardis.m4.v3 /lua.wetgenes.tardis.m4_stack/lua.wetgenes.tardis.plane /lua.wetgenes.tardis.plane.new/lua.wetgenes.tardis.q4 /lua.wetgenes.tardis.q4.get_yaw_pitch_roll /lua.wetgenes.tardis.q4.get_yaw_pitch_roll_in_radians /lua.wetgenes.tardis.q4.identity /lua.wetgenes.tardis.q4.mix /lua.wetgenes.tardis.q4.new /lua.wetgenes.tardis.q4.prerotate /lua.wetgenes.tardis.q4.prerrotate /lua.wetgenes.tardis.q4.reverse /lua.wetgenes.tardis.q4.rotate /lua.wetgenes.tardis.q4.rrotate /lua.wetgenes.tardis.q4.set /lua.wetgenes.tardis.q4.set_yaw_pitch_roll /lua.wetgenes.tardis.q4.set_yaw_pitch_roll_in_radians /lua.wetgenes.tardis.q4.setrot /lua.wetgenes.tardis.q4.setrrot /lua.wetgenes.tardis.smoothstep /lua.wetgenes.tardis.step /lua.wetgenes.tardis.type/lua.wetgenes.tardis.v1 /lua.wetgenes.tardis.v1.add /lua.wetgenes.tardis.v1.cross /lua.wetgenes.tardis.v1.distance /lua.wetgenes.tardis.v1.dot /lua.wetgenes.tardis.v1.identity /lua.wetgenes.tardis.v1.len /lua.wetgenes.tardis.v1.lenlen /lua.wetgenes.tardis.v1.mul /lua.wetgenes.tardis.v1.normalize /lua.wetgenes.tardis.v1.oo /lua.wetgenes.tardis.v1.scale /lua.wetgenes.tardis.v1.sub/lua.wetgenes.tardis.v2 /lua.wetgenes.tardis.v2.add /lua.wetgenes.tardis.v2.cross /lua.wetgenes.tardis.v2.distance /lua.wetgenes.tardis.v2.dot /lua.wetgenes.tardis.v2.identity /lua.wetgenes.tardis.v2.len /lua.wetgenes.tardis.v2.lenlen /lua.wetgenes.tardis.v2.mul /lua.wetgenes.tardis.v2.new /lua.wetgenes.tardis.v2.normalize /lua.wetgenes.tardis.v2.oo /lua.wetgenes.tardis.v2.scale /lua.wetgenes.tardis.v2.sub/lua.wetgenes.tardis.v3 /lua.wetgenes.tardis.v3.add /lua.wetgenes.tardis.v3.angle /lua.wetgenes.tardis.v3.cross /lua.wetgenes.tardis.v3.distance /lua.wetgenes.tardis.v3.dot /lua.wetgenes.tardis.v3.identity /lua.wetgenes.tardis.v3.len /lua.wetgenes.tardis.v3.lenlen /lua.wetgenes.tardis.v3.mul /lua.wetgenes.tardis.v3.new /lua.wetgenes.tardis.v3.normalize /lua.wetgenes.tardis.v3.oo /lua.wetgenes.tardis.v3.scale /lua.wetgenes.tardis.v3.sub/lua.wetgenes.tardis.v4 /lua.wetgenes.tardis.v4.add /lua.wetgenes.tardis.v4.distance /lua.wetgenes.tardis.v4.dot /lua.wetgenes.tardis.v4.identity /lua.wetgenes.tardis.v4.len /lua.wetgenes.tardis.v4.lenlen /lua.wetgenes.tardis.v4.mul /lua.wetgenes.tardis.v4.new /lua.wetgenes.tardis.v4.normalize /lua.wetgenes.tardis.v4.oo /lua.wetgenes.tardis.v4.scale /lua.wetgenes.tardis.v4.sub /lua.wetgenes.tardis.v4.to_v3/lua.wetgenes.tasks /lua.wetgenes.tasks.add_global_thread /lua.wetgenes.tasks.add_id /lua.wetgenes.tasks.add_memo /lua.wetgenes.tasks.add_task /lua.wetgenes.tasks.add_thread /lua.wetgenes.tasks.claim_global /lua.wetgenes.tasks.client /lua.wetgenes.tasks.client_code /lua.wetgenes.tasks.cocall /lua.wetgenes.tasks.create /lua.wetgenes.tasks.create_colinda /lua.wetgenes.tasks.del_global_thread /lua.wetgenes.tasks.del_id /lua.wetgenes.tasks.del_memo /lua.wetgenes.tasks.del_task /lua.wetgenes.tasks.del_thread /lua.wetgenes.tasks.delete /lua.wetgenes.tasks.do_memo /lua.wetgenes.tasks.eject_global /lua.wetgenes.tasks.fetch_name /lua.wetgenes.tasks.global_code /lua.wetgenes.tasks.http /lua.wetgenes.tasks.http_code /lua.wetgenes.tasks.receive /lua.wetgenes.tasks.run_task /lua.wetgenes.tasks.send /lua.wetgenes.tasks.sqlite /lua.wetgenes.tasks.sqlite_code /lua.wetgenes.tasks.thread_code /lua.wetgenes.tasks.update/lua.wetgenes.tasks_msgp /lua.wetgenes.tasks_msgp.addr_to_ip_port /lua.wetgenes.tasks_msgp.addr_to_list /lua.wetgenes.tasks_msgp.clean_name /lua.wetgenes.tasks_msgp.ip6_to_addr /lua.wetgenes.tasks_msgp.ipsniff /lua.wetgenes.tasks_msgp.list_to_addr /lua.wetgenes.tasks_msgp.msgp_code /lua.wetgenes.tasks_msgp.pack/lua.wetgenes.tsv /lua.wetgenes.tsv.close /lua.wetgenes.tsv.create /lua.wetgenes.tsv.flush /lua.wetgenes.tsv.load/lua.wetgenes.txt /lua.wetgenes.txt.diff /lua.wetgenes.txt.diff.find /lua.wetgenes.txt.diff.match /lua.wetgenes.txt.diff.split /lua.wetgenes.txt.diff.trim /lua.wetgenes.txt.edit /lua.wetgenes.txt.lex /lua.wetgenes.txt.lex_js /lua.wetgenes.txt.lex_lua /lua.wetgenes.txt.undo/lua.wetgenes.txt.utf /lua.wetgenes.txt.utf.char /lua.wetgenes.txt.utf.charpattern /lua.wetgenes.txt.utf.chars /lua.wetgenes.txt.utf.length /lua.wetgenes.txt.utf.map_latin0_to_unicode /lua.wetgenes.txt.utf.map_unicode_to_latin0 /lua.wetgenes.txt.utf.size /lua.wetgenes.txt.utf.string/lua.wetgenes.txt.words /lua.wetgenes.txt.words.load /lua.wetgenes.txt.words.transform /prefabs /rules /setup /setup_menu /update

lua.wetgenes.bullet

local bullet=require("wetgenes.bullet")

We use bullet as the local name of this library.

A lua binding to the Bullet Physics library

lua.wetgenes.bullet.body.cgroup

body:cgroup(bits)
bits=body:cgroup()

Set or get body cgroup bits. You have 31 bits, so use 0x7fffffff to set all. These provide simple yes/no collision control between bodies.

cgroup bits are all the groups this body belongs to.
cmask bits are all the groups this body colides with.

lua.wetgenes.bullet.body.change_shape

body:change_shape(shape)
body:change_shape(shape,mass)

Change the shape assoctiated with this body and optionally change the mass.

lua.wetgenes.bullet.body.cmask

body:cmask(bits)
bits=body:cmask()
body:cmask(0x7fffffff)

Set or get body cmask bits. You have 31 bits, so use 0x7fffffff to set all. This body will only colide with another body if the other bodys cgroup has a bit set that is also set in our cmask.

cgroup bits are all the groups this body belongs to.
cmask bits are all the groups this body colides with.

lua.wetgenes.bullet.body.force

body:force(fx,fy,fz)
body:force(fx,fy,fz,lx,ly,lz)

Apply force fx,fy,fz at world relative location (subtract origin of object) lx,ly,lz which will default to 0,0,0 if not given.

lua.wetgenes.bullet.body.gravity

body:gravity(x,y,z)
x,y,z = body:gravity()

Set or get body gravity vector. Fidling with this may be the easiest way for a player to move an object around, it certainly makes it easier to create "magnetic fields" to hover objects above the ground.

lua.wetgenes.bullet.body.impulse

body:impulse(fx,fy,fz)
body:impulse(fx,fy,fz,lx,ly,lz)

Apply impulse fx,fy,fz at world relative location (subtract origin of object) lx,ly,lz which will default to 0,0,0 if not given.

lua.wetgenes.bullet.body.overlaps

body:overlaps()

Get list of bodys that overlap with a ghost body object.

lua.wetgenes.bullet.body.support

x,y,z=body:support(nx,ny,nz)

Get world location of support point in given direction.

EG the world location that is touching the floor when the direction is up.

lua.wetgenes.bullet.world

world=bullet.world()

Create the world you will be simulating physics in.

lua.wetgenes.bullet.world.body

body = world:body("rigid",shape,mass,x,y,z,cgroup,cmask)
body = world:body({name="rigid",shape=shape,mass=mass.pos=V3(0)})

Create a body.

lua.wetgenes.bullet.world.body.active

b = body:active( true )
b = body:active( false )
b = body:active()

get/set the active state of an object

lua.wetgenes.bullet.world.body.angular_factor

x,y,z = body:angular_factor( x , y , z )
x,y,z = body:angular_factor( r )
r = ( body:angular_factor( r ) )

get/set the angular factor of an object (which disables rotation when zero)

lua.wetgenes.bullet.world.body.angular_velocity

x,y,z = body:angular_velocity( x,y,z )
x,y,z = body:angular_velocity()

get/set the body angular velocity

lua.wetgenes.bullet.world.body.ccd

r,t = body:ccd( radius,threshold )
r,t = body:ccd()

get/set the continuos collision detection radius,threshold values

lua.wetgenes.bullet.world.body.custom_material_callback

b = body:custom_material_callback( b )
b = body:custom_material_callback()

get/set the body custom_material_callback flag

When set we run a custom callback to try and smooth mesh collisions.

lua.wetgenes.bullet.world.body.damping

l,a = body:damping( linear , angular )
l,a = body:damping()

get/set the body damping

lua.wetgenes.bullet.world.body.factor

x,y,z = body:factor( x , y , z )
x,y,z = body:factor( r )
r = ( body:factor( r ) )

get/set the linear factor of an object (which disables movement when zero)

lua.wetgenes.bullet.world.body.friction

l,a,s = body:friction( linear , angular , spinning )
l,a,s = body:friction()

get/set the body friction

lua.wetgenes.bullet.world.body.restitution

r = body:transform( r )
r = body:transform()

get/set the body restitution

lua.wetgenes.bullet.world.body.transform

px,py,pz,qx,qy,qz,qw = body:transform()
px,py,pz,qx,qy,qz,qw = body:transform(px,py,pz)
px,py,pz,qx,qy,qz,qw = body:transform(px,py,pz,qx,qy,qz,qw)

get/set the body transform. Position and Rotation Quaternion.

lua.wetgenes.bullet.world.body.velocity

x,y,z = body:velocity( x,y,z )
x,y,z = body:velocity()

get/set the body velocity

lua.wetgenes.bullet.world.contacts

local contacts,csiz=world:contacts()
local contacts,csiz=world:contacts(min_dist)
local contacts,csiz=world:contacts(min_dist,min_impulse)

Fetch all contacts in the world that are the same or closer than min_dist which defaults to 0 and hit the same or harder than min_impulse which also defaults to 0. This helps filter out uninteresting collisions before we process them.

csiz, the second return allows us to put more info into each chunk in the future, it will probably be 10 but may grow if it turns out that more contact info for each point would help.

This returns a list of contacts. Each contact is an array that consists of.

a_body,
b_body,

and then 1 or more chunks of csiz (which is currently 10) numbers representing

ax,ay,az,	-- world position on a_body
bx,by,bz,	-- world position on b_body
nx,ny,nz,	-- world normal on b_body
impulse,	-- impulse applied by collision

So you can find the two bodys in contact[1] and contact[2] but are then expected to loop over the rest of the array as chunks of csiz like so.

for idx=3,#contact,csiz do
    local pos_a={ contact[idx+0] , contact[idx+1] , contact[idx+2] }
    local pos_b={ contact[idx+3] , contact[idx+4] , contact[idx+5] }
    local nrm_b={ contact[idx+6] , contact[idx+7] , contact[idx+8] }
    local impulse=contact[idx+9]
    ...
end

This is intended to be processed and interesting collisions handled or saved for later.

lua.wetgenes.bullet.world.gravity

world:gravity(x,y,z)

x,y,z = world:gravity()

Set or get world gravity vector. Recommended gravity is 0,-10,0

lua.wetgenes.bullet.world.ray_test

local test={
    mode="closest",
    ray={{}0,0,0,{1,1,1}},
}
test=world:ray_test(test)

if world:ray_test(opts).hit then ... end

Perform a ray test between the two ray vectors provided in the test table. fills in hit={...} if we hit something with details of the hit.

Always returns the test table that was passed in, with modifications that provide the result. Be carefull about reusing this table it is safest to create a new one for each ray_test call.

lua.wetgenes.bullet.world.status

print( world:status() )

Return a debug string about allocated objects in this world.

lua.wetgenes.bullet.world.step

world:step(seconds,maxsteps,fixedstep)

world:step(seconds,0,seconds)

world.maxsteps and world.fixedstep will be used as defaults if the second and third values are not provided.

Move the physics forward in time by the given amount in seconds.

maxsteps is maximum amount of steps to take during this call and defaults to 1.

fixedstep is how many seconds to step forward at a time for stable simulation and defaults to 1/60

To force a step forward of a given amount of time use a maxsteps of 0.