CINXE.COM

PICO-8 0.2.5g

<html> <head> <title>PICO-8 0.2.5g</title> <meta charset="utf-8"/><meta property="og:title" content="PICO-8 0.2.5g"/> <meta name="viewport" content="width=device-width"> <script type="text/javascript"> function microAjax(B,A){this.bindFunction=function(E,D){return function(){return E.apply(D,[D])}};this.stateChange=function(D){if(this.request.readyState==4){this.callbackFunction(this.request.responseText)}};this.getRequest=function(){if(window.ActiveXObject){return new ActiveXObject("Microsoft.XMLHTTP")}else{if(window.XMLHttpRequest){return new XMLHttpRequest()}}return false};this.postBody=(arguments[2]||"");this.callbackFunction=A;this.url=B;this.request=this.getRequest();if(this.request){var C=this.request;C.onreadystatechange=this.bindFunction(this.stateChange,this);if(this.postBody!==""){C.open("POST",B,true);C.setRequestHeader("X-Requested-With","XMLHttpRequest");C.setRequestHeader("Content-type","application/x-www-form-urlencoded");C.setRequestHeader("Connection","close")}else{C.open("GET",B,true)}C.send(this.postBody)}}; </script> <STYLE TYPE="text/css"> <!-- @font-face { font-family: 'proggyvec'; src: url('/proggyvec.woff') format('woff'); } .banner_div{display:block} .topmenu_div{display:table} .lilmenu_div{display:none} .desktop_div{display:inline} .mobile_div{display:none} .avatar{ border-radius:10%; box-shadow: 4px 4px 6px rgba(0.2, 0.0, 0.4, 0.1); } .avatar_tiny{ border-radius:20%; box-shadow: 4px 4px 6px rgba(0.2, 0.0, 0.4, 0.1); } .scrollable_with_touch{ max-width:95vw; overflow-x:auto;overflow-y:hidden; -webkit-overflow-scrolling:touch; } .info_box { display:table; float:left; margin-left:8px; margin-right:16px; margin-top:0px; margin-bottom:16px; text-align:left; } .info_box_right_old {display:table; margin-left:16px; margin-right:8px; margin-top:-10px; margin-bottom:16px; float:right; text-align:left; } .info_box_right { margin-top:-10px; } .info_box h2 {margin-top:-16px;} h2 {margin-top:0px;} .info_group { display:table; max-width:800px; margin-bottom:20px; text-align:left } .info_group img{ min-width:192px; } .info_group h2{ text-decoration: none; color:#fab; font-weight: normal; } .lexchex{ padding:8px; color:#444; font-size:12pt; } .lexchex input{ margin-right:6px; height: 24px; width: 24px; background-color: #eee; position:relative; top:4px; } .pip_form_input{ background:#222; color:#ccc; } .form_button{ padding:6px; padding-left:10px; padding-right:10px; display:table; margin-top:12px; border:2px solid; border-color:#999; border-radius:6px; background:#222; color:#ccc; } .form_button:hover{ background-color:#fab; color:#222; cursor:pointer; } .form_button_span{ padding:2px; padding-left:4px; padding-right:4px; display:inline; border:1px solid; border-color:#999; } .form_button_span:hover{ background-color:#fab; color:#222; cursor:pointer; } .edit_tool_button{ padding:4px; display:table; padding-left:8px; padding-right:8px; border-radius:1; margin-right:4px; margin-bottom:2px; border:1px solid; border-color:#999; margin-bottom:8px; } .edit_tool_button:hover{ background-color:#fab; color:#222; cursor:pointer; } .form_tab{ padding:12px; padding-right:20px; padding-top:8px; padding-bottom:8px; display: table; float:left; font-size:14pt; border-radius:0px; margin-right:2px; color:#ccc; background-color:#444; } .form_tab:hover{ background-color:#f8a; color:#fff; cursor:pointer; } zzz_canvas{ image-rendering: optimizeSpeed; image-rendering: -moz-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor; border: 0px; width:512px; height:512px; } .favlike{ min-width:160px; } .pixel_perfect{ image-rendering: optimizeSpeed; image-rendering: -moz-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor; border: 0px; } .subnav{float:right; max-width:400px; margin-top:10px} .snb{ padding:6px; margin:2px; display:flex; } @media screen and (max-width: 800px) { .subnav{float:left; width:100%;} .snb{padding:5px;} } @media screen and (max-width: 920px) { .banner_div{display:none;} .topmenu_div{display:none;} .lilmenu_div{display:table;} .desktop_div{display:none;} .mobile_div{display:inline;} .info_box{float:left;width:100%; margin:0px; margin-bottom:10px} .info_box_right{float:left; width:100%; margin:0px; margin-bottom:10px} .favlike{ min-width:10px; } } .block { text-align: center; margin: 20px; } .centered { display: inline-block; vertical-align: middle; width: 300px; } img{ max-width: 100%; height:auto; } body{ font-size:11pt; font-family : proggyvec; line-height: 1.4; color:#ccc; background-color:#303030; margin:0px; padding:0px; } code { padding:2px; margin:2px; padding-left:4px; padding-right:4px; background-color:#ddd; color: #222; } TD{font-size:11pt;} p{ font-size:11pt; } pre{ font-size:11pt; } code{ font-size:11pt; } a:hover { cursor:pointer; } b{color: #ffffff} .tag { float:left; display:table; text-align:left; font-size:8pt; margin-right:4px; margin-bottom:4px; padding:3px; padding-left:6px; padding-right:6px; background-color:#aaa; color:#444; border-radius:2px; } .tag:hover { cursor:pointer; color:#fff; background-color:#f8a; } .tagblue { font-size:8pt; padding:4px; padding-left:6px; padding-right:6px; background-color:#8ad; color:#222; margin-top:6px; display:inline-block; border-radius:2px; } .tagblue:hover { cursor:pointer; color:#fff; background-color:#f8a; } .bright_hover{ cursor:pointer; opacity: 0.3; } .bright_hover:hover{ opacity: 1.0; } .menu_icon_lil { display:inline-block; padding-top:4px; padding-left:2px; padding-right:2px; } .menu_icon { display:inline-block; padding-top:4px; padding-left:2px; padding-right:2px; } .menu_icon a{ display:inline-block; opacity:0.5; } .menu_icon a:hover{ opacity:1.0; background: #ff80a0; } .menu_icon hover{ opacity:1.0; background: #ff80a0; } .thread_preview{ width:100%; min-height:64px; margin-top:2px; background-color:#444; } .stitched { padding: 10px; padding-left: 20px; padding-right: 20px; margin: 10px; margin-right: 50px; background: #f8f8f8; color: #404040; font-size: 21px; font-weight: bold; line-height: 0.5em; border: 2px dashed #d0e0ff; border-radius: 5px; box-shadow: 0 0 0 4px #f8f8f8, 2px 1px 6px 4px rgba(5, 5, 0, 0.2); font-weight: normal; } .social_button{ opacity:0.5; } .social_button:hover{ opacity:1.0; } .support_button{ padding:8px; background-color:#fab; color:#333; font-size:10pt; display:table; opacity:1.0; } .support_button:hover{ background-color:#fab; opacity:1.0; } .pinkhover{ cursor:pointer; } .pinkhover:hover{ background:#fab; color:#222; } .pink-hover_t a{ opacity: 0.5; } .pink-hover_t2 a{ } .pink-hover a:hover { display: block; background: #ff80a0; opacity: 1.0; } .pink-hover_t a:hover { display: block; background: #ff80a0; opacity: 1.0; } .post_title{ font-size: 9pt; } .post_title2{ font-size: 20pt; color : #ffffff; margin: 0px; margin-bottom: 8px; margin-top:0px; } @media screen and (max-width: 800px) { .post_title2{font-size:16pt}; } .breadcrumbs{ margin-left:8px; font-size:12px; color:#888; border-radius:0px; } .breadcrumbs a:link { color: #ccc; padding: 4px; display:inline-block; } .breadcrumbs a:visited { color: #ccc; background-color: #666; } .breadcrumbs a:hover { color: #fff; background-color: #888; } .breadcrumbs2{ margin-left:8px; font-size:12px; color:#888; border-radius:0px; } .breadcrumbs2 a:link { color: #999; padding: 4px; padding-left: 8px; padding-right: 8px; display:inline-block; } .breadcrumbs2 a:visited { color: #999; } .breadcrumbs2 a:hover { color: #fab; } .post_title3{ font-size: 12pt; font-weight : bold; color : #ff3070; } .blog_title2{ font-size: 20pt; color : #ff3070; } .blog_title{ font-size: 16pt; color : #202020; } .blog_num_comments{ font-size: 14pt; color : #303030; font-weight : bold; } .user_title{ font-size: 12pt; color : #ffe0d0; } h1{color:#ffffff;font-size:22pt;padding-top:8px} h2{color:#ffffff;font-size:18pt;padding-top:16px} h3{color:#f7a; font-size:14pt;padding-top:8px} A:link { text-decoration: none; color: #fff; } A:visited { text-decoration: none; color: #fff; } p A:link { zzz_text-decoration: underline; color:#fbc; } p A:hover{ color:#f0f; } p A:visited { zzz_text-decoration: underline; color:#fbc; } p A:visited:hover { color:#fff; } .link_with_image_unused{ background-image:url("/gfx/ext_link.png"); background-repeat: no-repeat; background-position: right; padding-right:20px;color:#fff; } A:hover { text-decoration: none; color: #fff; } A:active { text-decoration: none; color: #ffffff } .navstring a { color: #808080; font-weight : bold; } .navstring a:hover { color: #faa; font-weight : bold; } .navstring{ color: #c0c0c0; font-weight : bold; } .linkydiv{ display: block; text-align: center; vertical-align: middle; margin: 0px; background-color : #ff80a0; } .linkydiv:hover { background-color : #ff80a0; color: #ffffff; } .cartfile{ float:left; width:160px; height:200px; margin: 4px; padding: 4px; text-align: center; } .cartlabel{ background:#333; width:124; padding:2px; margin-top:8px; padding-top:4px; padding-bottom:4px; font-size:10px; } .cartlabelbig{ background:#333; width:252; padding-top:14px; padding-bottom:14px; margin-top:16px; font-size:16px; } .linkybutton { float: left; font-size: 14px; color: #808080; display: table-cell; text-align: center; vertical-align: middle; padding-top: 10px; padding-bottom: 10px; padding-left: 12px; padding-right: 12px; margin: 0px; height: 16px; } @media screen and (max-width: 800px) { .linkybutton{ float:none; display:flex; padding:12px; align-text: left; margin-left:50px; font-size:11pt; } } .linkbutton.img img{ display:inline-block; vertical-align:middle; } .linkybutton:hover { background-color : #ff80a0; color: #ffffff; } .linkybutton_lil0 { float:left; background-color : #555; padding: 6px; color: #aaa; font-size: 12px; height:20px; vertical-align:center; display:inline-table; margin:2px; } .linkybutton_lil { float:left; background-color : #555; padding: 6px; color: #aaa; font-size: 16px; height:20px; vertical-align:center; display:inline-table; margin:2px; } .linkybutton_lil:hover { background-color : #ff80a0; color: #ffffff; } .pinkbutton{ background:#505050; padding:6px; } .pinkbutton:hover { background-color : #808080; } .pbutton{ padding: 0px; margin: 0px; background-color : #505050; color : #a0a0a0; } .pbutton:hover{ background-color : #707070; } .logininput { font-size: 12px; color: #000000; line-height: 14px; border: 0; margin: 2px; padding: 2px; background-color : #ccc; height: 30px; } .logininput:hover { background-color : #ff80a0; } .logininput2 { font-size: 12px; color: #fff; border-width: 1px; border-style: solid; border-color:#fff; border-radius:3px; margin: 4px; padding: 8px; padding-left:16px; padding-right:16px; background-color : #333; height: 32px; cursor:pointer; } .logininput2:hover { background-color : #ff80a0; } input { background-color:#ffffe0; color:#202020; border-width: 1px; border-style: solid; border-color: #999999; font-size: 12pt; color: #404040; } .lexinput_search { background-color:#999; color:#202020; font-size: 10pt; color: #111; height:20px; margin-right: 8px; } .lexinput { background-color:#ffffe0; color:#202020; border-width: 1px; border-style: solid; border-color: #999999; font-size: 12pt; color: #404040; height:32px; margin-left:8px; } .result_msg { color:#888; } #login_button { width: 48px; height: 16px; margin: 0; padding: 0; border: 0; background: transparent url(img/login_button.png) no-repeat center top; text-indent: -1000em; } #signup_button { width: 48px; height: 16px; margin: 0; padding: 0; border: 0; background: transparent url(img/signup_button.png) no-repeat center top; text-indent: -1000em; } --> </STYLE> <script> var current_time="2025-03-02 16:10:35"; var s_uid=0; function $(name) { return document.getElementById(name); } // globals var p_page = 1; var p_sub = 0; var p_cat = 0; var p_pid = 0; var p_mode = 0; var search_url_base = ""; var tag_url_base = ""; var pip_form_data = {}; var touch_detected = false; var undefined = "undefined"; // :/ var current_playing_cart_id = -1; function microAjax(B,A){this.bindFunction=function(E,D){return function(){return E.apply(D,[D])}};this.stateChange=function(D){if(this.request.readyState==4){this.callbackFunction(this.request.responseText)}};this.getRequest=function(){if(window.ActiveXObject){return new ActiveXObject("Microsoft.XMLHTTP")}else{if(window.XMLHttpRequest){return new XMLHttpRequest()}}return false};this.postBody=(arguments[2]||"");this.callbackFunction=A;this.url=B;this.request=this.getRequest();if(this.request){var C=this.request;C.onreadystatechange=this.bindFunction(this.stateChange,this);if(this.postBody!==""){C.open("POST",B,true);C.setRequestHeader("X-Requested-With","XMLHttpRequest");C.setRequestHeader("Content-type","application/x-www-form-urlencoded");C.setRequestHeader("Connection","close")}else{C.open("GET",B,true)}C.send(this.postBody)}}; // from: https://plainjs.com/javascript/ajax/send-ajax-get-and-post-requests-47/ function post_ajax(url, data, success) { var params = typeof data == 'string' ? data : Object.keys(data).map( function(k){ return encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) } ).join('&'); var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); xhr.open('POST', url); xhr.onreadystatechange = function() { if (xhr.readyState>3 && xhr.status==200) { success(xhr.responseText); } }; xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); //xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.setRequestHeader('Content-Type', 'text/plain; charset=UTF-8'); xhr.send(params); return xhr; } // in ms. 1000, 20 means 50fps for 1 second. function poll_function(duration, interval, func) { var start_t = (new Date()).getTime(); (function p() { tt = (new Date).getTime() - start_t; if (tt <= duration) { func(tt/duration); setTimeout(p, interval); } })(); } function insertTextAtCursor(el, text, overwrite) { if (typeof el == "string") { el_str = el; el = document.getElementById(el); if (!el){ console.log("@ could not find element to insert text: "+el_str); } } var val = el.value, endIndex, range, doc = el.ownerDocument; if (overwrite) { el.focus(); el.value = text; return; } if (typeof el.selectionStart == "number" && typeof el.selectionEnd == "number") { endIndex = el.selectionEnd; el.value = val.slice(0, endIndex) + text + val.slice(endIndex); el.selectionStart = el.selectionEnd = endIndex + text.length; } else if (doc.selection != "undefined" && doc.selection.createRange) { el.focus(); range = doc.selection.createRange(); range.collapse(false); range.text = text; range.select(); } } function set_enter_to_save(el, save_el) { if (!el) return; // experimental: only auto-save when value has changed (can tab through unchanged fields) var start_val = el.value; if (!el.installed_enter_to_save) // only install once { console.log("@installing set_enter_to_save: "+el+", "+save_el); el.installed_enter_to_save = true; el.addEventListener("keyup", function(event){ //console.log(event.keyCode); if (event.keyCode == 13) //if (el.value != start_val) // commented -- don't need / confusing. save_el.click(); //if (event.keyCode == 9) // tab // commented -- use blur if want to do this // save_el.click(); } ); // also auto-save on tab / click off // careful not to introduce double sends (hard to get right -- maybe not worth it) el.addEventListener("blur", function(event){ var x = event.clientX, y = event.clientY; if (typeof x != 'number') return; if (typeof y != 'number') return; var el0 = document.elementFromPoint(x, y); if (!el0 || el0.name != "cancel_button") //if (el.value != start_val) save_el.click(); save_el.click(); } ); } } function toggle_set_button(el_name, post_id, which, sid) { var el = document.getElementsByClassName(el_name); var eli = document.getElementsByClassName('i_'+el_name); if (s_uid == 0) { window.alert("Please log in first."); return; } // window.alert(el_name); for(var i = 0; i < eli.length; i++) { eli[i].innerHTML = '<center><img src=/gfx/load16.gif width=20 height=20></center>'; } microAjax("/bbs/set.php?pid="+post_id+"&sid="+sid+"&which="+which, function (retdata) { var el = document.getElementsByClassName(el_name); for(var i = 0; i < el.length; i++) { el[i].innerHTML = json_parse(retdata)['printable']; } if (which == "tick") { // location.reload(true); // bleh } } ); } function hide_save_draft_button() { var el = document.getElementById("save_draft_button"); if (el) el.style.display = "none"; var el = document.getElementById("preview_button"); if (el) el.style.display = ""; var el = document.getElementById("publish_post_button"); if (el) el.style.innerHTML = "Publish Changes"; } function save_attr(val_id, div_id, url, post_save, extract_snippets) { if (extract_snippets) url = url+'&extract_snippets=1'; //console.log("@ save_attr("+val_id+", "+div_id+", "+url+")"); //console.log(" @ extract_snippets: "+extract_snippets); var el1 = document.getElementById(div_id); var el = document.getElementById(val_id); if (el) { //console.log(" @ sending:" + el.value); value = el.value; post_ajax(url, el.value, function (retdata) { dat = json_parse(retdata); el1.innerHTML = dat['printable']; // set value field if (dat['modified'] && dat['status'] == "ok") el.value = dat['modified']; //else // console.log(" @ no modified text"); if (post_save) post_save(); } ); } else { // grab value from url (val=) instead of body. e.g. catsub buttons microAjax(url, function (retdata) { el1.innerHTML = json_parse(retdata)['printable']; } ) } //el1.innerHTML = '<img src=/gfx/load16.gif>'; el1.innerHTML = '<div style="padding:8px"><img src=/gfx/load16.gif></div>'; } function cancel_attr(val_id, div_id, url) { console.log("@ cancel_attr("+val_id+", "+div_id+", "+url); var el = document.getElementById(val_id); if (el) { var el1 = document.getElementById(div_id); el1.innerHTML = '<div style="padding:8px"><img src=/gfx/load16.gif></div>'; microAjax(url, function (retdata) { el1.innerHTML = json_parse(retdata)['printable'];; } ); } } function edit_attr(val_id, div_id, save_id, url, has_autosave) { //console.log("@ edit_attr("+val_id+", "+div_id+", "+url+", "+has_autosave); var el = document.getElementById(div_id); if (el) { //el.innerHTML='<img src=/gfx/load16.gif>';//+el.innerHTML; el.innerHTML = '<div style="padding:8px"><img src=/gfx/load16.gif></div>'; microAjax(url, function (retdata) { el.innerHTML = json_parse(retdata)['printable']; var el2 = document.getElementById(val_id); if (el2) if (has_autosave) { el2.focus(); //el2.select(); var el3 = document.getElementById(save_id); set_enter_to_save(el2, el3); } } ); } } // enter data function submit_pip_form_data(form) { // for each class=pip_form_input element, add to global pip_form_data var els = document.getElementsByClassName('pip_form_input'); console.log("@ submit form: adding "+els.length+" values"); for(var i = 0; i < els.length; i++) { el = els[i]; if (el.checked) { pip_form_data[el.id] = "checked"; } else if (el.value) { pip_form_data[el.id] = el.value; } console.log("@ set "+el.id+" to "+pip_form_data[el.id]); if (el.files && el.files[0]) { console.log("@ file: "+el.files[0].name); pip_form_data["uploaded_file"] = JSON.stringify(el.files[0]); pip_form_data["uploaded_file_size"] = el.files[0].size; pip_form_data["uploaded_name"] = el.files[0].name; pip_form_data["uploaded_type"] = el.files[0].type; } } } function reload_pip_form(form, step) { var el = document.getElementById(form); console.log("reloading form: "+form+" // step "+step); if (el) { var file_size = 0; if (pip_form_data.file_contents) file_size = pip_form_data.file_contents.length * 6 / 8; if (form == "cart_submit" && file_size > 1024*1024) // 1MB for pico-8 / voxatron carts { window.alert('Sorry, that file is too large. ('+Math.floor(file_size/1024)+'k / 1024k)'); return; } if (file_size > 1024*1024*8) { window.alert('Sorry, that file is too large. ('+Math.floor(file_size/(1024*1024))+'MB / 8MB)'); return; } // upload stringified_data = JSON.stringify(pip_form_data); var el1 = document.getElementById("form_loading_icon"); if (el1) el1.innerHTML='<img src=/gfx/load16.gif>'; //window.alert('pip_form_data.target_field:'+pip_form_data["target_field"]); // pass along some context post_ajax("/form.php?form="+form+"&step="+step+"&cat="+p_cat+"&sub="+p_sub+"&pid="+ p_pid+"&page="+p_page+"&mode="+p_mode, stringified_data, function (retdata) { el.innerHTML = retdata; // not JSON! } ); } else { console.log("@@ could not find form element"); } } function save_open_pip_form_fields() { // click all the save buttons var els = document.getElementsByClassName('form_button'); //for(var i = 0; i < els.length; i++) // invalidates iterator on first save! ha! for(var i = els.length-1; i >= 0; i--) { var el = els[i]; suffix = el.id.substr(el.id.length-5); if (suffix == "_save") el.click(); } } function submit_pip_form(form, step) { // save any open fields submit_pip_form_data(form); reload_pip_form(form, step); } function clear_pip_form() { pip_form_data = {}; } function randomize_cart_id_field() { el = document.getElementById("cart_lid"); c = "bdfghjkmnprstwyz"; v = "aiueo"; val = ""; for (i = 0; i < 5; i++) { val = val + c.substr(Math.floor(Math.random()*16), 1); val = val + v.substr(Math.floor(Math.random()*6), 1); } el.value = val; } // https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string function Uint8ToBase64(u8Arr){ var CHUNK_SIZE = 0x8000; //arbitrary number var index = 0; var length = u8Arr.length; var result = ''; var slice; while (index < length) { slice = u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length)); result += String.fromCharCode.apply(null, slice); index += CHUNK_SIZE; } return btoa(result); } function reader_onload(evt) { // evt.target.result is a ArrayBuffer var bytes = new Uint8Array( evt.target.result ); pip_form_data["file_contents"] = Uint8ToBase64(bytes); // show submit button var el = document.getElementById("uploaded_button"); el.style.display = "table"; } function filechooser_onchange(files) { var file = files[0]; var reader = new FileReader(); reader.onload = function(evt) { reader_onload(evt); }; reader.readAsArrayBuffer(file); } function toggle_visible(el) { //console.log("@toggle_visible: "+el); if (typeof el == 'string') { el = document.getElementById(el); } if (!el){ return; } if (el.style.display == "") { el.style.display="none"; return false; } else { el.style.display=""; return true; } } /* show active tab under tab_name, hide others assume only one set of tabs on page */ function show_tab(tab_name, which, tab_group) { var el; console.log("toggle tab "+tab_name+"_"+which); if (!tab_group) tab_group = "form_tab"; var els = document.getElementsByClassName(tab_group); //console.log("found "+els.length); for(var i = 0; i < els.length; i++) { el = els[i]; el2 = document.getElementById(el.id+"_content"); if (el.id == tab_name+"_"+which) { // open tab el.style["background-color"] = "#f8a"; el.style.color="#222"; if (el2) console.log(" opening "+el2.id); if (el2) el2.style.display="block"; } else { // hide tab el.style["background-color"] = ""; el.style.color="#fff"; if (el2) console.log(" hiding "+el2.id); if (el2) el2.style.display="none"; } } } function get_cart_url(lid, cat) { //console.log("@get_cart_url lid:"+lid+" cat:"+cat); /* console.log("@number: "+Number(lid)); console.log("@string: "+String(lid)); console.log("@equality:"+((Number(lid) == String(lid)) ? "true" : "false")); */ if (Number(lid) == String(lid) && Number(lid) > 0) { num = Math.floor(lid / 10000); url = `/bbs/cposts/`+num+`/`; if (cat == 6) return url + `cpost` + lid + `.png`; if (cat == 7) return url + lid + `.p8.png`; if (cat == 8) return url + lid + `.p64.png`; } else { lid = String(lid); if (cat == 6) return `/bbs/cposts/`+lid.substr(0,2)+`/`+lid+`.vx.png`; if (cat == 7) return `/bbs/cposts/`+lid.substr(0,2)+`/`+lid+`.p8.png`; if (cat == 8) return `/bbs/cposts/`+lid.substr(0,2)+`/`+lid+`.p64.png`; } return ''; } function element_dismisser(el, event) { var inner = el.childNodes[1]; if (!inner) return; var rect = inner.getBoundingClientRect(); if (!el.real_dismiss) { //console.log(' @@ element_dismisser: not real click -- return early'); el.real_dismiss = true; // next time! return; } if (rect && rect.bottom > 0) if (event.clientX < rect.left || event.clientX > rect.right || event.clientY > rect.bottom || event.clientY < rect.top) { //console.log(' @@ element_dismisser: dismissing'); console.log(rect); el.style.display="none"; document.removeEventListener('click', dismisser_func); } } var dismisser_func = null; function install_dismisser(el1) { //console.log('@@ installing dismisser'); // just in case document.removeEventListener('click', dismisser_func); dismisser_func = function(event){ element_dismisser(el1, event); } document.addEventListener('click', dismisser_func); el1.real_dismiss = false; // hack -- first click is to open pulldown } function install_search_listener(el) { el.addEventListener("keyup", function(event){ if (event.keyCode == 13) window.location.hash = "" + search_url_base + el.value; } ); } function update_checkout() { var checkboxes = document.getElementsByClassName('checkout_checkbox'); var items = document.getElementsByClassName('checkout_item'); var show_which = "buy"; if (document.getElementById("buy_p8") && document.getElementById("buy_p8").checked == true) show_which = show_which + "_p8"; if (document.getElementById("buy_vx") && document.getElementById("buy_vx").checked == true) show_which = show_which + "_vx"; if (document.getElementById("buy_p64") && document.getElementById("buy_p64").checked == true) show_which = show_which + "_p64"; console.log("show_which: "+show_which); // show only the selected bundle / product for (i = 0; i < items.length; i++) { if (items[i].id == show_which) items[i].style.display = ""; else items[i].style.display = "none"; } } function json_parse(data){ if (data[0] != '{'){ window.alert('Error // Bad Data Format: ' + data); return {"printable" : "[error]", "status" : "bad_data"}; } return JSON.parse(data); }</script> <script> var cart_info = {}; // from https://github.com/kripken/emscripten/issues/2053 function fullscreenable_canvas(canEl) { // var canEl = document.getElementById("canvas"); var reqFuncName = (canEl.mozRequestFullScreen || canEl.webkitRequestFullScreen || {"name": "requestFullScreen"}).name; document.addEventListener(reqFuncName.slice(0, -"requestFullScreen".length) + "fullscreenchange", function (evt) { if(document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || document.isFullScreen) { var w = canEl.clientWidth; var h = canEl.clientHeight; var factor = Math.min(screen.width / w, screen.height / h); canEl.setAttribute("style", "width: " + Math.round(w * factor) + "px !important; height: " + Math.round(h * factor) + "px !important;"); } else { canEl.removeAttribute("style"); } }, false); // in Firefox full screen must be set to the parent of the canvas to allow resizing the canvas for correct aspect ratio if(reqFuncName == "mozRequestFullScreen") { canEl[reqFuncName] = function() { this.parentNode[reqFuncName].apply(this.parentNode, arguments); }; } } function pip_requestFullscreen( element ) { if ( element.requestFullscreen ) { element.requestFullscreen(); } else if ( element.mozRequestFullScreen ) { element.mozRequestFullScreen(); } else if ( element.webkitRequestFullScreen ) { element.webkitRequestFullScreen( Element.ALLOW_KEYBOARD_INPUT ); } } window.onload = function() { //fullscreenable_canvas(); } </script> <script> function validate_signup (form) { if (form.su_agree.checked) { return true; } else { alert ("If you wish to sign up, you need to agree to the Terms of Use") return false; } } </script> </head><body><div id="body_0"> <div class=mobile_div> <div class = "lilmenu_div" style = " padding:0px; margin:0px; top:0px; width:100%; height:128px; background:url('/bbs/files/1/pi_tv_1.jpg') no-repeat center; -webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; background-size:cover; "> <a href="/bbs/?uid=1"> <div style=" position:absolute; top: 0px; height:128; width:100%; "> </div></a> <div style=" position:relative; height:48px; top: 76px; margin:0px; "><div style="float:left; height:48px; display:flex; align-items:center; "> <a onclick=" var el = document.getElementById('lil_menu_pulldown'); toggle_visible(el); var el = document.getElementById('account_pulldown'); el.style.display='none'; "> <div style="background-color:rgba(0,0,0,0.5); margin-left:8px; padding:12px"> <img src="/gfx/top_pulldown.png" width=20 height=20> </div> </a> </div> <div style="float:right; margin-right:12px; height:48px; display:flex; align-items:center; background-color:rgba(0,0,0,0.5); "> <script> function click_account_pulldown() { el1 = document.getElementById('account_pulldown'); if (toggle_visible(el1)) { install_dismisser(el1); el2 = document.getElementById('lil_menu_pulldown'); el2.style.display='none'; } } </script> <a onclick="click_account_pulldown();"> <div style="display:flex; align-items:center; height:100%; float:right; "> <div style=" padding:8px; display:flex; align-items:center; "> Log In &nbsp<img style="margin-left:8px;" src="/gfx/top_drop.png"> </div> </div> </a></div></div></div> <style> .pdmi{ display:flex; align-items:center; padding:4px; font-size:12pt; }; </style> <div id="lil_menu_pulldown" style=" z-index: 400; position:absolute; display:table; padding-top:20px; padding-bottom:20px; background-color:rgba(0,0,0,0.8); width:100%; display:none"><div style="width:auto;padding:16px"><div class="menu_icon" title="Lexaloffle Games"><a href="/"><img src="/gfx/top_info.png"></a></div><div class="menu_icon" title="PICO-8"><a href="/pico-8.php"><img src="/gfx/p8b_pico8.png"></a></div><div class="menu_icon" title="Voxatron"><a href="/voxatron.php" style="padding-right:4px;padding-left:4px;"><img src="/gfx/p8b_vox.png"></a></div><div class="menu_icon" title="Picotron"><a href="/picotron.php"><img src="/gfx/p8b_picotron.png"></a></div><div class="menu_icon" title="BBS" ><a href="/bbs"><img src="/gfx/bbs_cube.gif" width=40></a></div><div class="menu_icon" title="Superblog"><a href="/bbs/superblog.php"><img src="/gfx/top_blog.png"></a></div></div><a href=/pico-8.php ><div class="linkybutton">PICO-8</div></a><a href=/pico-8.php?page=faq ><div class="linkybutton">FAQ</div></a><a href=/pico-8.php?page=resources ><div class="linkybutton">Resources</div></a><a href=/pico-8.php?page=schools ><div class="linkybutton">Schools</div></a><a href=/pico-8.php?page=submit ><div class="linkybutton">Submit</div></a><a href=/bbs/?cat=7#sub=2 ><div class="linkybutton" style="background-color : #a0a0a0; color:#fff">Forum</div></a><a href=/bbs/?cat=7&carts_tab=1&#sub=2&mode=carts ><div class="linkybutton">Carts</div></a></div></div> <div class = "topmenu_div" id = "banner" style=" margin:0px; top:0px; background-color:#111; width:100%; height:25vh; background:url('/bbs/files/1/pi_tv_1.jpg') no-repeat center; -webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; background-size:cover; "> <a href="/bbs/?uid=1"> <div style=" position:absolute; top: 0px; height:25vh; width:100%; "> </div></a> <div class = "topmenu_div" id="m" style=" position:relative; top: -47.9px; transform: translate(0, 25vh); margin:0px; background-color:rgba(10,0,20,0.8); width:100%; height:48px; "><div style="float:left; margin-left:0px;"><div class="menu_icon" title="Lexaloffle Games"><a href="/"><img src="/gfx/top_info.png"></a></div><div class="menu_icon" title="PICO-8"><a href="/pico-8.php"><img src="/gfx/p8b_pico8.png"></a></div><div class="menu_icon" title="Voxatron"><a href="/voxatron.php" style="padding-right:4px;padding-left:4px;"><img src="/gfx/p8b_vox.png"></a></div><div class="menu_icon" title="Picotron"><a href="/picotron.php"><img src="/gfx/p8b_picotron.png"></a></div><div class="menu_icon" title="BBS" ><a href="/bbs"><img src="/gfx/bbs_cube.gif" width=40></a></div><div class="menu_icon" title="Superblog"><a href="/bbs/superblog.php"><img src="/gfx/top_blog.png"></a></div><div style="display:inline-block;background-color:#555;width:1px;height:40px; margin-left:10px;margin-right:10px"></div><div style="display:inline-block;margin:4px" class="navstring"><a href=/pico-8.php ><div class="linkybutton">PICO-8</div></a><a href=/pico-8.php?page=faq ><div class="linkybutton">FAQ</div></a><a href=/pico-8.php?page=resources ><div class="linkybutton">Resources</div></a><a href=/pico-8.php?page=schools ><div class="linkybutton">Schools</div></a><a href=/pico-8.php?page=submit ><div class="linkybutton">Submit</div></a><a href=/bbs/?cat=7#sub=2 ><div class="linkybutton" style="background-color : #a0a0a0; color:#fff">Forum</div></a><a href=/bbs/?cat=7&carts_tab=1&#sub=2&mode=carts ><div class="linkybutton">Carts</div></a></div></div> <script> function click_account_pulldown() { el1 = document.getElementById('account_pulldown'); if (toggle_visible(el1)) { install_dismisser(el1); el2 = document.getElementById('lil_menu_pulldown'); el2.style.display='none'; } } </script> <a onclick="click_account_pulldown();"> <div style="display:flex; align-items:center; height:100%; float:right; "> <div style=" padding:8px; display:flex; align-items:center; "> Log In &nbsp<img style="margin-left:8px;" src="/gfx/top_drop.png"> </div> </div> </a></div></div><div id = "account_pulldown" style="position:relative; left: -28px; float:right; width: 240px; height:0px; z-index: 400; display:none;" > <div id = "account_pulldown_inner" style=" padding:12px; background-color:rgba(0,0,0,0.8); width:100%; border-width: 1px; border-style: solid; border-color: #000; "> <div style="margin-right:20px"> <form style="margin:8px;" name="loginsubmit" method="post" action="/account.php?page=login"> <table><tr> <td>User:</td><td> <INPUT name="user" class="logininput" size=16 ><br> </td></tr><tr><td> Password:</td><td> <INPUT name="pass" type="password" class="logininput" size=16 type=text><br> <INPUT type="hidden" name="go" value="/bbs/?pid=125248"> </td></tr><tr><td></td><td> <input type=submit class="logininput2" style="margin-top:8px" value="LOG IN"> </td></tr></table> <br> <a href="/account.php?page=new_user" style="color:#fab">New User</a> | <a href="/account.php" style="color:#fab">Account Help</a> </td></tr></table> </form></div></div></div> <div style="max-width:100vw; padding:0vw"> <div id="main_div" style=" max-width:920px; min-height:50vh; margin:auto; display:block; padding-top:16px; padding-bottom:16px; overflow:hidden; " ><script language="javascript" type="text/javascript"> var p_sub = 0; var p_cat = 0; var s_uid = 0; var p_page = "1"; var p_mode = ""; var imageChooserWindow; function popup(which) { if (imageChooserWindow) imageChooserWindow.close(); imageChooserWindow=window.open('popup.php?page='+which,'windowname','height=600,width=600,scrollbars=yes'); } function load_hash_location() { var h = window.location.hash.substr(1); var params = 'use_hurl=1'; // use "#url" format for single page location changes if (typeof p_cat !== 'undefined') params = params+'&cat=' + p_cat; // pass along params specified in ? part // (when clicked, effectively moves from ? part to # part if (typeof p_sub !== 'undefined') params = params+'&sub='+p_sub; if (typeof p_page !== 'undefined') params = params+'&page='+p_page; if (typeof p_mode !== 'undefined') params = params+'&mode='+p_mode; if (typeof p_orderby !== 'undefined') params = params+'&orderby='+p_orderby; params = params+'&'+h; console.log("@ load_hash_location "+params); // set main_list to loading show_loading_spinner(); // /bbs/lister.php microAjax('lister.php?'+params, function (retdata) { var el = document.getElementById('main_list'); if (el) { el.innerHTML = retdata; hide_loading_spinner(); // re-run self (including this) var el2 = document.getElementById('cart_data_script'); if (el2) { console.log("@ running cart_data_script\n"); eval(el2.innerHTML); } update_stick_scrolling(); } } ); } function show_loading_spinner() { var el = document.getElementById('loading_spinner'); //if (el) el.style.display = 'block'; if (el) el.innerHTML='<img src="/gfx/load16.gif">'; } function hide_loading_spinner() { // var el = document.getElementById('loading_spinner'); // if (el) el.style.display = 'none'; } function get_relative_time(s) { //return '['+current_time+' , '+s+']'; var d0 = Math.round(new Date(s.replace(" ","T")).getTime() / 1000); //var d1 = Math.round(new Date().getTime() / 1000); var d1 = Math.round(new Date(current_time.replace(" ","T")).getTime() / 1000); var t = d1-d0; // seconds if (t < 60) return "just now"; //return Math.round(t)+" seconds ago"; if (t < 3600) return Math.round(t / 60)+" minutes ago"; if (t < 3600*24) return Math.round(t / 3600)+" hours ago"; // convert to days t = Math.round(t / (3600*24)); if (t < 30) return Math.round(t)+" days ago"; if (t < 365) return Math.round(t/30.43)+" months ago"; return Math.round(t/365.25)+" years ago"; } function update_stick_scrolling() { var el = document.getElementById('sticky'); if (el) { // when placeholder parent is above top of screen, make fixed var screen_y = el.parentNode.getBoundingClientRect().top; if (screen_y < 0) el.style.position = 'fixed'; else el.style.position = 'relative'; } } document.addEventListener("scroll", update_stick_scrolling); function print_cart_code(url, div_id) { /* if (print_pico8_code){ print_pico8_code(url, div_id); return; } */ window.alert("printing code 1! "+url+" "+div_id); e = document.createElement("script"); e.type = "application/javascript"; e.src = "/bbs/cart_tools.js"; e.id = "e_script"; document.body.appendChild(e); // load and run Module.onRuntimeInitialized = _ => { const print_pico8_code = Module.cwrap('print_pico8_code', 'number', ['string','string']); print_pico8_code(url, div_id); }; } </script><div id="p8_desktop" class="desktop_div" style="position:absolute; left:0"></div> <!-- desktop for saving gifs / screenshots --> <div style="display:inline-table;width:100%;margin-bottom:4px;margin-top:4; "></div> <br><div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div id=p style="padding:8px; display:block;"><div id=p125248 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=1><img class=avatar width=64 height=64 src="/media/1/grappleoid_wave.png"> <br> </a><div style="min-width:54px; max-width:66px; display:table"><a target=_home href="https://www.lexaloffle.com/bbs/?tid=40058" class=social_button> <img src="/gfx/so_home.png" width=16 height=16 style="float:left; margin-left:4px; margin-top:0px; margin-bottom:4px"> </a><a target=_mastodon href="https://mastodon.social/@zep" class=social_button> <img src="/gfx/so_mastodon.png" width=16 height=16 style="float:left; margin-left:4px; margin-top:0px; margin-bottom:4px"> </a><a target=_twitter href="https://twitter.com/lexaloffle" class=social_button> <img src="/gfx/so_twitter.png" width=16 height=16 style="float:left; margin-left:4px; margin-top:0px; margin-bottom:4px"> </a><a target=_youtube href="https://youtube.com/lexaloffletv" class=social_button> <img src="/gfx/so_youtube.png" width=16 height=16 style="float:left; margin-left:4px; margin-top:0px; margin-bottom:4px"> </a><a target=_itch href="https://lexaloffle.itch.io/" class=social_button> <img src="/gfx/so_itch.png" width=16 height=16 style="float:left; margin-left:4px; margin-top:0px; margin-bottom:4px"> </a><a target=_bluesky href="https://bsky.app/profile/lexaloffle.bsky.social" class=social_button> <img src="/gfx/so_bluesky.png" width=16 height=16 style="float:left; margin-left:4px; margin-top:0px; margin-bottom:4px"> </a></div> </center> </div><div style="width:100%;"><div style="display:flex; width:100%; justify-content: space-between;"><div><div style="font-size:32px; color:#ccc;"><a href="/bbs/?tid=51465">PICO-8 0.2.5g</a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=1"><b style="color:#fff;font-size:12pt">zep</b></a> &#8226; <a class="mobile_div" title="2023-02-03 20:29 *edited 2023-02-06 17:42" href="/bbs/?pid=125248#p" style="color:#f8a">2023-02-03*</a><a class="desktop_div" title="2023-02-03 20:29 *edited 2023-02-06 17:42" href="/bbs/?pid=125248#p" style="color:#f8a">2023-02-03 20:29*</a> &#8226; <div class=breadcrumbs style="display:inline; margin-left:0px; margin-top:4px"><div class=desktop_div><a href="/bbs">BBS</a>></div><a href="/bbs/?cat=7"> PICO-8</a>><a href="/bbs/?cat=7#sub=7"style="color:#fff">Blog</a></div></div></div><div style="max-width:64px; margin-left:4px"><div style="display:table; min-width:48px; min-height:48px"> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125248'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> </div></div> <div id="set_extra_125248" style="display:none; float:right; width:288px; position:relative; top:34px; left:34px; " > <div style=" padding:8px; background-color:#444; position:absolute; width:288px; z-index: 300; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125248_watch" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125248_watch" > <img src="/gfx/set_watch0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125248_watch', 125248, 'watch', 12);">Subscribe to this Thread<br><span style="color:#999;font-size:9pt"> (Receive email notifications)</span></div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125248_pinned" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125248_pinned" > <img src="/gfx/set_pinned0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125248_pinned', 125248, 'pinned', 10);">Pin To Profile</div> </div> </div></div></div><br><div style="max-width:880px"><div style="min-height:44px;"><img loading="lazy" style="margin-bottom:16px" border=0 src="/media/1/pico8_025f.gif" width=384 height=384 alt="" /> <p>More bugfixin'</p> <p>PICO-8 <span style="text-decoration: line-through;">0.2.5f</span> 0.2.5g is up now up on <a href="https://www.lexaloffle.com/games.php?page=updates">lexaloffle</a>, <a href="https://www.humblebundle.com/home/library">Humble</a>, <a href="https://lexaloffle.itch.io/pico-8">itch.io</a>, and for <a href="https://lexaloffle.com/bbs/?tid=34009">PocketCHIP</a> and web (<a href="https://pico-8-edu.com">Education Edition</a>).</p> <h3>v0.2.5g Changelog:</h3> <p>Fixed: tonum(&quot;123abc&quot;) returns 123 (should return nothing) // also breaks split(). regression in 0.2.5f<br /> Fixed: draw_tabs not listed by CONFIG command</p> <h3>v0.2.5f Changelog:</h3> <p>Added: CONFIG DRAW_TABS 1 to show tab characters in code editor (previously required editing config.txt)<br /> Changed: tokenizer recognises long comments / string using [=<em>[ ]=</em>] e.g. [==[ long string ]==]<br /> Changed: Nested long comments and strings no longer allowed<br /> Changed: x % 0 gives 0 (was x)<br /> Optimised: software blitter now faster when using PocketCHIP, windowed raspi or blit_method 1<br /> Fixed: infinite tokens exploit introduced in 0.2.5d (due to pre-processor changes)<br /> Fixed: &gt;&gt;&gt;= operator is a NOP (bug introduced in 0.2.5d)<br /> Fixed: (raspi 32-bit) window not visible under Gameforce Chi / EmuELEC -- bug introduced in 0.2.5e<br /> Fixed: s=&quot;x&quot;..&quot;=&quot; counts as 4 tokens instead of 5<br /> Fixed: Running a cartridge containing <em>meta</em> data prints a memory allocation warning to stdout<br /> Fixed: Code compressing to &gt;= 32k reports size as (compressed_size &amp; 0x7fff) resulting in corruped exports<br /> Fixed: stat(54) loops when left-most channel is looping (should return total played ticks on current pattern)<br /> Fixed: extcmd(&quot;audio_rec&quot;) maximum length is 2 minutes (meant to be 8 -- and now only applies to web)<br /> Fixed: Frog Home crashes because of (now unsupported) &quot;local x+=..&quot; form. // INSTALL_GAMES for fixed version<br /> Fixed: Starting P8SCII font height affects total line height even when no characters are printed in that font</p></div><div style="display:table; margin-bottom:8px; margin-top: 8px"><a href="/bbs/?cat=7#tag=pico-8"><span class="tag">pico-8</span></a> <a href="/bbs/?cat=7#tag=update"><span class="tag">update</span></a> </div> <div class=form_button style="float:left; margin-right:12px; margin-bottom:-10px" onclick="toggle_set_button('rate_125248_like', 125248, 'like', 1);" > <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125248_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125248_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">27</div></div> </div> <div class=form_button style="float:left; margin-right:12px; margin-bottom:-10px" onclick="toggle_set_button('rate_125248_fav', 125248, 'fav', 2);" > <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125248_fav" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Add to your favourites collection" class="i_rate_125248_fav" > <img src="/gfx/set_fav0.png" width=20 height=20> </div></div> </div> </div></div></div></div></div><br><br id=comments><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125253 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=13822><img class=avatar width=64 height=64 src="/media/13822/avatar-large-cropped-trans-blinking.gif"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125253_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125253_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125253'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125253" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125253_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125253_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125253_spam', 125253, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125253_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125253_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125253_abuse', 125253, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/13822/avatar-large-cropped-trans-blinking.gif" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=13822"><b style="color:#fff;font-size:12pt">Liquidream</b></a> &#8226; <a class="mobile_div" title="2023-02-03 20:55" href="/bbs/?pid=125253#p" style="color:#f8a">2023-02-03</a><a class="desktop_div" title="2023-02-03 20:55" href="/bbs/?pid=125253#p" style="color:#f8a">2023-02-03 20:55</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>Whoop! 🙌 Thanks as always, <a href="https://www.lexaloffle.com/bbs/?uid=1"> @zep</a> 🥳</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125256 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=1><img class=avatar width=64 height=64 src="/media/1/grappleoid_wave.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125256_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125256_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">3</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125256'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125256" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125256_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125256_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125256_spam', 125256, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125256_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125256_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125256_abuse', 125256, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/1/grappleoid_wave.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=1"><b style="color:#fff;font-size:12pt">zep</b></a> &#8226; <a class="mobile_div" title="2023-02-03 21:06" href="/bbs/?pid=125256#p" style="color:#f8a">2023-02-03</a><a class="desktop_div" title="2023-02-03 21:06" href="/bbs/?pid=125256#p" style="color:#f8a">2023-02-03 21:06</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>( ̄-  ̄)ゞ</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125263 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=15232><img class=avatar width=64 height=64 src="https://www.lexaloffle.com/bbs/files/15232/me-square.jpg"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125263_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125263_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125263'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125263" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125263_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125263_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125263_spam', 125263, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125263_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125263_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125263_abuse', 125263, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="https://www.lexaloffle.com/bbs/files/15232/me-square.jpg" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=15232"><b style="color:#fff;font-size:12pt">dw817</b></a> &#8226; <a class="mobile_div" title="2023-02-03 22:31" href="/bbs/?pid=125263#p" style="color:#f8a">2023-02-03</a><a class="desktop_div" title="2023-02-03 22:31" href="/bbs/?pid=125263#p" style="color:#f8a">2023-02-03 22:31</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>Nicely done, <a href="https://www.lexaloffle.com/bbs/?uid=1"> @zep</a>. Get around to my other 1000+ previous suggestions and I'll be happy. :)</p> <p>Seriously, fine job here. I'm very glad you are sticking with the project and solving problems as they arise.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125275 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=27691><img class=avatar width=64 height=64 src="/media/27691/dinnerwashingatsunset.gif"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125275_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125275_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125275'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125275" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125275_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125275_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125275_spam', 125275, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125275_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125275_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125275_abuse', 125275, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/27691/dinnerwashingatsunset.gif" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=27691"><b style="color:#fff;font-size:12pt">pancelor</b></a> &#8226; <a class="mobile_div" title="2023-02-04 04:07" href="/bbs/?pid=125275#p" style="color:#f8a">2023-02-04</a><a class="desktop_div" title="2023-02-04 04:07" href="/bbs/?pid=125275#p" style="color:#f8a">2023-02-04 04:07</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>bug report: <code>?(split&quot;100hello,200&quot;)[1]</code> prints <code>100</code> instead of <code>100hello</code> -- this broke <a href="https://www.lexaloffle.com/bbs/?pid=125269#p">https://www.lexaloffle.com/bbs/?pid=125269#p</a></p> <p>n b and x seem to behave differently from other letters inside split (checked with <code>for a=0,25 do g=chr(97+a) print(g..&quot;: &quot;..((split(&quot;100&quot;..g))[1])) flip() end</code>)</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125288 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=12874><img class=avatar width=64 height=64 src="/media/12874/56_av_violet_pikuseru_flat.gif"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125288_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125288_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125288'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125288" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125288_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125288_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125288_spam', 125288, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125288_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125288_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125288_abuse', 125288, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/12874/56_av_violet_pikuseru_flat.gif" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=12874"><b style="color:#fff;font-size:12pt">Felice</b></a> &#8226; <a class="mobile_div" title="2023-02-04 06:49 *edited 2023-02-04 06:52" href="/bbs/?pid=125288#p" style="color:#f8a">2023-02-04*</a><a class="desktop_div" title="2023-02-04 06:49 *edited 2023-02-04 06:52" href="/bbs/?pid=125288#p" style="color:#f8a">2023-02-04 06:49*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p><a href="https://www.lexaloffle.com/bbs/?uid=27691"> @pancelor</a></p> <p>I think that might be undefined behavior, since by default <code>split()</code> will try to turn stuff into numbers if it can. I'm not sure what the threshold for &quot;if it can&quot; is, so that's why I'd say it's undefined behavior. If you only want strings, you'd need to do <code>split(&quot;100hello,200&quot;,false)</code> to disable that feature.</p> <p>That being said, I think it'd be reasonable for the behavior to be explicit that any substring that isn't <em>entirely</em> a number should remain a string. I imagine right now it's calling tonum() or something and, if it doesn't fail, it accepts it as a number, but tonum() can be permissive, iirc.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125289 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=12874><img class=avatar width=64 height=64 src="/media/12874/56_av_violet_pikuseru_flat.gif"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125289_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125289_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">1</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125289'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125289" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125289_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125289_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125289_spam', 125289, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125289_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125289_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125289_abuse', 125289, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/12874/56_av_violet_pikuseru_flat.gif" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=12874"><b style="color:#fff;font-size:12pt">Felice</b></a> &#8226; <a class="mobile_div" title="2023-02-04 07:09 *edited 2023-02-04 07:13" href="/bbs/?pid=125289#p" style="color:#f8a">2023-02-04*</a><a class="desktop_div" title="2023-02-04 07:09 *edited 2023-02-04 07:13" href="/bbs/?pid=125289#p" style="color:#f8a">2023-02-04 07:09*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p><a href="https://www.lexaloffle.com/bbs/?uid=1"> @zep</a> <a href="https://www.lexaloffle.com/bbs/?uid=27691"> @pancelor</a></p> <p>Okay yup I tested the current build vs. an old build and the issue isn't split(), it's tonum().</p> <p>Previously, tonum(&quot;100hello&quot;) would return nothing, i.e. an empty tuple, not even &quot;return nil&quot;. I assume it just hit a blank &quot;return&quot; statement or fell off of the end of the function. Now it returns 100 as a number.</p> <p>Not sure what behavior is more desirable, but it's definitely not backwards-compatible at the moment.</p> <p>(In my opinion &quot;100hello&quot; is a malformed number and should not silently convert to 100.)</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125306 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=47515><img class=avatar width=64 height=64 src="/media/47515/squidlight.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125306_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125306_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125306'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125306" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125306_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125306_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125306_spam', 125306, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125306_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125306_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125306_abuse', 125306, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/47515/squidlight.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=47515"><b style="color:#fff;font-size:12pt">SquidLight</b></a> &#8226; <a class="mobile_div" title="2023-02-04 12:55 *edited 2023-02-04 12:58" href="/bbs/?pid=125306#p" style="color:#f8a">2023-02-04*</a><a class="desktop_div" title="2023-02-04 12:55 *edited 2023-02-04 12:58" href="/bbs/?pid=125306#p" style="color:#f8a">2023-02-04 12:55*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p><a href="https://www.lexaloffle.com/bbs/?uid=12874"> @Felice</a> Regardless of what the correct behaviour of tonum is I don't believe it to be the correct behaviour of split.</p> <p>Also its really really wierd.</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>foreach(split( [[ 10 green bottles, hanging on the wall 100hello 100hello green 100green 1a 2b 3c 4d 5e 6f 7g 8h 9i 10j 11k ]],&quot;\n&quot; ), print)</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>|100hello|100|<br /> |100green|100green|<br /> |2b|2b|<br /> |3c|3|</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125310 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=68442><img class=avatar width=64 height=64 src="/media/68442/37_intoruinsguy.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125310_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125310_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125310'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125310" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125310_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125310_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125310_spam', 125310, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125310_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125310_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125310_abuse', 125310, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/68442/37_intoruinsguy.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=68442"><b style="color:#fff;font-size:12pt">ericb</b></a> &#8226; <a class="mobile_div" title="2023-02-04 15:44" href="/bbs/?pid=125310#p" style="color:#f8a">2023-02-04</a><a class="desktop_div" title="2023-02-04 15:44" href="/bbs/?pid=125310#p" style="color:#f8a">2023-02-04 15:44</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>As pointed out to me by a user on mastodon, the new update has broken a couple things in <a href="https://www.lexaloffle.com/bbs/?tid=49928">Into Ruins</a>. Fire/Healing effects are persisting after they should be gone, and there's a random &quot;1&quot; showing up on the inventory screen instead of the &quot;----stowed&quot; separator.</p> <p>Not sure if anything else is behaving differently. I haven't investigated yet but it might be related to the tonum/split changes mentioned above.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125324 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=1><img class=avatar width=64 height=64 src="/media/1/grappleoid_wave.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125324_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125324_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">4</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125324'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125324" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125324_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125324_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125324_spam', 125324, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125324_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125324_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125324_abuse', 125324, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/1/grappleoid_wave.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=1"><b style="color:#fff;font-size:12pt">zep</b></a> &#8226; <a class="mobile_div" title="2023-02-04 19:19" href="/bbs/?pid=125324#p" style="color:#f8a">2023-02-04</a><a class="desktop_div" title="2023-02-04 19:19" href="/bbs/?pid=125324#p" style="color:#f8a">2023-02-04 19:19</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>Thanks <a href="https://www.lexaloffle.com/bbs/?uid=27691"> @pancelor</a> -- quite a serious problem so I've patched it in 0.2.5g just now.</p> <p><a href="https://www.lexaloffle.com/bbs/?uid=68442"> @ericb</a> Almost certainly caused by the broken tonum() in 0.2.5f. I've confirmed that the random &quot;1&quot; is gone in 02.5g, but haven't checked the fire/healing effects yet.</p> <p><a href="https://www.lexaloffle.com/bbs/?uid=12874"> @Felice</a> yep, the original behaviour is definitely the desirable one (and in any case should be backwards compatible).</p> <p>tonum() is meant to accept whitespace after the number (it is still considered well-formed) but not random identifier junk. This is different from the tokenizer, which allows e.g. &quot;a=3b=3&quot;, and I conflated the two while working on removing remains of the preprocessor.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125317 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=68442><img class=avatar width=64 height=64 src="/media/68442/37_intoruinsguy.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125317_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125317_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125317'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125317" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125317_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125317_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125317_spam', 125317, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125317_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125317_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125317_abuse', 125317, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/68442/37_intoruinsguy.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=68442"><b style="color:#fff;font-size:12pt">ericb</b></a> &#8226; <a class="mobile_div" title="2023-02-04 19:38 *edited 2023-02-04 19:40" href="/bbs/?pid=125317#p" style="color:#f8a">2023-02-04*</a><a class="desktop_div" title="2023-02-04 19:38 *edited 2023-02-04 19:40" href="/bbs/?pid=125317#p" style="color:#f8a">2023-02-04 19:38*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>EDIT: wrote this before <a href="https://www.lexaloffle.com/bbs/?uid=1"> @zep</a>'s comment above. Thanks for fixing it! Excited to finally get the new version on my handheld.</p> <p>Okay yeah it is definitely more split problems. </p> <p>The first string that's breaking is <code>&quot;\n\f1 &hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip; STOWED&quot;</code>: this one is very weird because it seems like just because of the &quot;1&quot; following the \f control character, the whole string gets converted to &quot;1&quot; by tonum(). This split happens in a generic CALL() function that needs to handle numbers as well as strings. CALL() just parses function names/parameters from a string and calls them to save tokens. The line <code>call&quot;listitems(t,t)print(\n\f1 &hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip; STOWED)listitems(&quot;</code> contains the offending string. Here's the CALL() function:</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>function call(str) for i,s in inext,split(str,&quot;)&quot;)do local func,args=unpack(split(s,&quot;(&quot;,false)) _ENV[func](usplit(args)) end end function usplit(str,delim) return unpack(split(str,delim)) end</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>Usplit is where the errant split happens, though I'm a little confused as to why the first call to split() in call() isn't reading the whole &quot;print(\n\f1 &hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip; STOWED&quot; string as &quot;1&quot;, since it also contains &quot;1&quot; within it. Strange stuff going on here. In any case it's easy to fix by just switching to calling print() with a color instead of using the control charactrer (changing the line to <code>call&quot;listitems(t,t)print(\n &hellip;&hellip;&hellip;&hellip;&hellip;&hellip;&hellip; STOWED,1)listitems(&quot;</code>).</p> <p>The second problem (fire/healing effects persisting) was a bit harder to track down. The animations in the game are stored as strings where each character represents either a frame as a number, or a special function to call. The animation &quot;firedeath&quot; is used for both the fire and healing effects, and it has the string <code>&quot;20o&quot;</code>. Here again, split() is reading it as just 20, and the &quot;o&quot; is getting dropped, which happens to call the DESTROY() function, hence these effects persisting after their death animation plays. This is also pretty easy to fix by adding an &quot;n&quot; to the start of the animation which is essentially a no-op, and makes the string no longer get read as a number. On the plus side, tracking this down made me find other animations like the player walk animation that were already being played with incorrect timing because they had eg. leading zeroes that were being ignored when getting parsed in.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125365 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=1><img class=avatar width=64 height=64 src="/media/1/grappleoid_wave.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125365_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125365_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125365'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125365" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125365_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125365_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125365_spam', 125365, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125365_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125365_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125365_abuse', 125365, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/1/grappleoid_wave.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=1"><b style="color:#fff;font-size:12pt">zep</b></a> &#8226; <a class="mobile_div" title="2023-02-05 15:10" href="/bbs/?pid=125365#p" style="color:#f8a">2023-02-05</a><a class="desktop_div" title="2023-02-05 15:10" href="/bbs/?pid=125365#p" style="color:#f8a">2023-02-05 15:10</a></div><div style="max-width:880px"><div style="min-height:44px;"><p><a href="https://www.lexaloffle.com/bbs/?uid=68442"> @ericb</a><br /> Oof, that's quite an interesting journey -- sorry about that! I'm glad you could confirm they were both caused by the same change.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125391 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=2836><img class=avatar width=64 height=64 src="https://www.lexaloffle.com/bimg/pi/pi20.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125391_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125391_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125391'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125391" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125391_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125391_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125391_spam', 125391, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125391_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125391_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125391_abuse', 125391, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="https://www.lexaloffle.com/bimg/pi/pi20.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=2836"><b style="color:#fff;font-size:12pt">JTE</b></a> &#8226; <a class="mobile_div" title="2023-02-06 02:16" href="/bbs/?pid=125391#p" style="color:#f8a">2023-02-06</a><a class="desktop_div" title="2023-02-06 02:16" href="/bbs/?pid=125391#p" style="color:#f8a">2023-02-06 02:16</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>Silly frogs, always stirrin' up trouble.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125402 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=47064><img class=avatar width=64 height=64 src="/media/47064/22_cacti_sleep_pico-8_ver-export.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125402_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125402_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">1</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125402'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125402" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125402_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125402_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125402_spam', 125402, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125402_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125402_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125402_abuse', 125402, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/47064/22_cacti_sleep_pico-8_ver-export.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=47064"><b style="color:#fff;font-size:12pt">Yolwoocle</b></a> &#8226; <a class="mobile_div" title="2023-02-06 08:41" href="/bbs/?pid=125402#p" style="color:#f8a">2023-02-06</a><a class="desktop_div" title="2023-02-06 08:41" href="/bbs/?pid=125402#p" style="color:#f8a">2023-02-06 08:41</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>Hey zep, I'm sorry if this was already reported, but it seems like this update has caused <a href="https://www.lexaloffle.com/bbs/?tid=45334">one of my games</a> to stop functioning on the BBS specifically. It returns a token limit error. According to the folks on the PICO-8 Discord server, this might be caused by the usage of <code>[[]]</code> nesting. You might want to scan the BBS to see if this update has caused any other games to break ! </p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/47064/Capture d&rsquo;&eacute;cran 2023-02-06 094715.png" alt="" /></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125417 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=47515><img class=avatar width=64 height=64 src="/media/47515/squidlight.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125417_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125417_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125417'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125417" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125417_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125417_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125417_spam', 125417, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125417_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125417_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125417_abuse', 125417, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/47515/squidlight.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=47515"><b style="color:#fff;font-size:12pt">SquidLight</b></a> &#8226; <a class="mobile_div" title="2023-02-06 16:47" href="/bbs/?pid=125417#p" style="color:#f8a">2023-02-06</a><a class="desktop_div" title="2023-02-06 16:47" href="/bbs/?pid=125417#p" style="color:#f8a">2023-02-06 16:47</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>Shouldn't the web player (barring security issues) keep playing at the version that the cart was uploaded at? Yes this still breaks splore.</p> <p>Shouldn't the web player also prevent you uploading a cart that is in too old a version?</p> <p>That's how I would have assumed this should work.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125419 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=1><img class=avatar width=64 height=64 src="/media/1/grappleoid_wave.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125419_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125419_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">2</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125419'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125419" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125419_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125419_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125419_spam', 125419, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125419_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125419_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125419_abuse', 125419, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/1/grappleoid_wave.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=1"><b style="color:#fff;font-size:12pt">zep</b></a> &#8226; <a class="mobile_div" title="2023-02-06 17:18 *edited 2023-02-06 17:43" href="/bbs/?pid=125419#p" style="color:#f8a">2023-02-06*</a><a class="desktop_div" title="2023-02-06 17:18 *edited 2023-02-06 17:43" href="/bbs/?pid=125419#p" style="color:#f8a">2023-02-06 17:18*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>Oh, hey <a href="https://www.lexaloffle.com/bbs/?uid=2836"> @JTE</a>! Indeed, and thanks for updating the BBS cart.</p> <p><a href="https://www.lexaloffle.com/bbs/?uid=47064"> @Yolwoocle</a> Oh no, not bird with guns! I've made a stealth patch just now (birdswithguns-4) that removes the nested comment and golfs back some tokens so that it will fit: I changed <code>trainpal[]</code> to be flat array, and changed some <code>split(&quot;&quot;)</code> statements to <code>split&quot;&quot;</code> (Lua can take a string or table literal as a single parameter without the () ).</p> <hr /> <p>The reason for recent breakages is that the runtime will be frozen (forever?) soonish, so I'm working on reducing maintenance and compatibility issues in the future, which has sometimes required large internal changes (most notably, removing a pre-processor pass that used to be responsible for most of PICO-8's modifications to Lua syntax).</p> <p>I hope to not leave any carts behind though, right back to those authored in 2015 -- please anyone feel free to mention any discovered broken carts here, and I'll either fix the runtime (most desirable), or patch the cart itself (plan B when the cart is doing something that can no longer be supported).</p> <hr /> <p>&gt; Shouldn't the web player (barring security issues) keep playing at the version that the cart was uploaded at?</p> <p><a href="https://www.lexaloffle.com/bbs/?uid=47515"> @SquidLight</a> That would solve the immediate problem, but be a giant headache to support. I'd rather focus on improving a single standard runtime, even if it means that 1% of carts are temporarily broken 1% of the time.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125429 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=72766><img class=avatar width=64 height=64 src="/media/72766/HTV04 Avatar 1.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125429_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125429_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">1</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125429'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125429" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125429_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125429_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125429_spam', 125429, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125429_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125429_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125429_abuse', 125429, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/72766/HTV04 Avatar 1.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=72766"><b style="color:#fff;font-size:12pt">HTV04</b></a> &#8226; <a class="mobile_div" title="2023-02-06 19:03 *edited 2023-02-06 19:03" href="/bbs/?pid=125429#p" style="color:#f8a">2023-02-06*</a><a class="desktop_div" title="2023-02-06 19:03 *edited 2023-02-06 19:03" href="/bbs/?pid=125429#p" style="color:#f8a">2023-02-06 19:03*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>&gt; Shouldn't the web player also prevent you uploading a cart that is in too old a version?</p> <p><a href="https://www.lexaloffle.com/bbs/?uid=47515"> @SquidLight</a> I think a warning upon upload would suffice instead of totally barring it, in most cases the code the cart contains would work on newer versions</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125432 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=70985><img class=avatar width=64 height=64 src="/media/70985/gonen_pfp.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125432_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125432_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">2</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125432'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125432" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125432_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125432_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125432_spam', 125432, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125432_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125432_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125432_abuse', 125432, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/70985/gonen_pfp.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=70985"><b style="color:#fff;font-size:12pt">gonengazit</b></a> &#8226; <a class="mobile_div" title="2023-02-06 19:38 *edited 2023-02-06 19:43" href="/bbs/?pid=125432#p" style="color:#f8a">2023-02-06*</a><a class="desktop_div" title="2023-02-06 19:38 *edited 2023-02-06 19:43" href="/bbs/?pid=125432#p" style="color:#f8a">2023-02-06 19:38*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p><a href="https://www.lexaloffle.com/bbs/?uid=1"> @zep</a> now that comments are the same as standard lua, is there any reason to have the preprocessor remove them?<br /> as a bit of motivation, here's another infinite token exploit, which (ab)uses this quirk ;)</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>a=[--[[]][ [=[ ]] print(123)</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>(<code>[--[[]][</code> turns into <code>[[</code> after preprocessing which opens a long string)<br /> now just to find an exploit using <code>?</code>, and the preprocessor can be ditched entirely right? (and on a more serious note, is there any reason that it's still preprocessed?)</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125465 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=47064><img class=avatar width=64 height=64 src="/media/47064/22_cacti_sleep_pico-8_ver-export.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125465_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125465_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125465'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125465" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125465_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125465_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125465_spam', 125465, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125465_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125465_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125465_abuse', 125465, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/47064/22_cacti_sleep_pico-8_ver-export.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=47064"><b style="color:#fff;font-size:12pt">Yolwoocle</b></a> &#8226; <a class="mobile_div" title="2023-02-07 10:55" href="/bbs/?pid=125465#p" style="color:#f8a">2023-02-07</a><a class="desktop_div" title="2023-02-07 10:55" href="/bbs/?pid=125465#p" style="color:#f8a">2023-02-07 10:55</a></div><div style="max-width:880px"><div style="min-height:44px;"><p><a href="https://www.lexaloffle.com/bbs/?uid=1"> @zep</a> Thank you, it is very nice of you. </p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125484 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=1><img class=avatar width=64 height=64 src="/media/1/grappleoid_wave.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125484_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125484_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">3</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125484'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125484" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125484_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125484_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125484_spam', 125484, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125484_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125484_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125484_abuse', 125484, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/1/grappleoid_wave.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=1"><b style="color:#fff;font-size:12pt">zep</b></a> &#8226; <a class="mobile_div" title="2023-02-07 19:38 *edited 2023-02-07 19:41" href="/bbs/?pid=125484#p" style="color:#f8a">2023-02-07*</a><a class="desktop_div" title="2023-02-07 19:38 *edited 2023-02-07 19:41" href="/bbs/?pid=125484#p" style="color:#f8a">2023-02-07 19:38*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p><a href="https://www.lexaloffle.com/bbs/?uid=47064"> @Yolwoocle</a> np!</p> <p>&gt; now that comments are the same as standard lua, is there any reason to have the preprocessor remove them?</p> <p><a href="https://www.lexaloffle.com/bbs/?uid=70985"> @gonengazit</a> Right -- in a not-so-distant update the comments will be kept intact (and // counted as -- inside the Lua implementation). While I'm aiming to remove the preprocessor entirely (hence the move to go with standard Lua long-form comments), I'm doing it step by step so there will be some funky exploits possible in the intermediate stages :p</p> <p>At the moment the preprocessor is only handling comments (I guess it didn't need to in 0.2.5g), short-form ? print(), and number parsing.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125628 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=46929><img class=avatar width=64 height=64 src="/bimg/pi/pi17.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125628_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125628_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">2</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125628'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125628" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125628_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125628_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125628_spam', 125628, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125628_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125628_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125628_abuse', 125628, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/bimg/pi/pi17.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=46929"><b style="color:#fff;font-size:12pt">9joao6</b></a> &#8226; <a class="mobile_div" title="2023-02-10 01:05" href="/bbs/?pid=125628#p" style="color:#f8a">2023-02-10</a><a class="desktop_div" title="2023-02-10 01:05" href="/bbs/?pid=125628#p" style="color:#f8a">2023-02-10 01:05</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>This is not specific to this version, since I updated from 0.2.5c to this one in hopes that it would fix this, but I figure I should put it here nonetheless.</p> <p>Regardless of whether the game is running with Ctrl+R, or is an exported .EXE, if I try to drag a .TXT file and drop it onto the game window, it instantly crashes.</p> <p>Nothing is logged to the console, and others don't seem to be able to reproduce it.</p> <p>On my end, it's as simple as writing:</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>function _draw() cls() end</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>...then Ctrl+R, followed by dropping this text file:</p> <div> <div class=scrollable_with_touch style="width:100%; max-width:800px; overflow:auto; margin-bottom:12px"> <table style="width:100%" cellspacing=0 cellpadding=0> <tr><td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> <td background=/gfx/code_bg0.png> <div style="font-family : courier; color: #000000; display:absolute; padding-left:10px; padding-top:4px; padding-bottom:4px; "> <pre>0,32,32 0,40,40 0,44,44</pre></div></td> <td background=/gfx/code_bg1.png width=16><div style="width:16px;display:block"></div></td> </tr></table></div></div> <p>In addition, dropping a .PNG file and checking it with stat(121) always returns false. Not sure if it's related, but since they're so close to eachother and so similar in function, might as well mention it too.</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p125883 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=47064><img class=avatar width=64 height=64 src="/media/47064/22_cacti_sleep_pico-8_ver-export.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125883_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_125883_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div><div style="margin-left:4px; margin-right:6px; margin-top:2px; font-size:9pt; color:#999">1</div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_125883'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_125883" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125883_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125883_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125883_spam', 125883, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_125883_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_125883_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_125883_abuse', 125883, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/47064/22_cacti_sleep_pico-8_ver-export.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=47064"><b style="color:#fff;font-size:12pt">Yolwoocle</b></a> &#8226; <a class="mobile_div" title="2023-02-15 10:52 *edited 2023-02-15 10:58" href="/bbs/?pid=125883#p" style="color:#f8a">2023-02-15*</a><a class="desktop_div" title="2023-02-15 10:52 *edited 2023-02-15 10:58" href="/bbs/?pid=125883#p" style="color:#f8a">2023-02-15 10:52*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p><a href="https://www.lexaloffle.com/bbs/?uid=1"> @zep</a> Oops, seems like you messed up something while fixing Birds With Guns. I didn't check after you made the modification, but the color of the first wagon is supposed to be red, not green (the second wagon is supposed to be green, etc). That's okay; I'll fix it myself, just wanted to point that out haha !</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p126754 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=50078><img class=avatar width=64 height=64 src="/media/50078/pfp-gen-id104272.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_126754_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_126754_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_126754'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_126754" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_126754_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_126754_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_126754_spam', 126754, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_126754_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_126754_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_126754_abuse', 126754, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/50078/pfp-gen-id104272.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=50078"><b style="color:#fff;font-size:12pt">roroyobert</b></a> &#8226; <a class="mobile_div" title="2023-03-08 00:46 *edited 2023-03-08 00:46" href="/bbs/?pid=126754#p" style="color:#f8a">2023-03-08*</a><a class="desktop_div" title="2023-03-08 00:46 *edited 2023-03-08 00:46" href="/bbs/?pid=126754#p" style="color:#f8a">2023-03-08 00:46*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>Sorry if this has been covered already. At the map editor, I think the hex sprite number is not working. When I press 'H' nothing happens.</p> <p>Here is what I was expecting, what was happening before 0.2.5g</p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/50078/d_0.png" alt="" /></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p126771 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=42184><img class=avatar width=64 height=64 src="/media/42184/spezkit icon4.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_126771_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_126771_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_126771'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_126771" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_126771_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_126771_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_126771_spam', 126771, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_126771_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_126771_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_126771_abuse', 126771, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="/media/42184/spezkit icon4.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=42184"><b style="color:#fff;font-size:12pt">SmellyFishstiks</b></a> &#8226; <a class="mobile_div" title="2023-03-08 07:22" href="/bbs/?pid=126771#p" style="color:#f8a">2023-03-08</a><a class="desktop_div" title="2023-03-08 07:22" href="/bbs/?pid=126771#p" style="color:#f8a">2023-03-08 07:22</a></div><div style="max-width:880px"><div style="min-height:44px;"><p><a href="https://www.lexaloffle.com/bbs/?uid=50078"> @roroyobert</a> because h conflicted with flipping sprites it was moved to cntrl+h instead</p></div></div></div></div></div></div><br><div style="width:100%; height:1px; background-color:#555; margin-bottom:10px"></div><div style="display:block; width:100%; max-width:100%; padding-bottom:0px; margin-bottom:0px; margin-bottom:-16px; padding-bottom:0px "><div style="padding:8px; display:block;"><div id=p127950 style="display:flex; min-width:240px; margin-bottom:16px; "><div class="desktop_div" style=" margin-right:16px; padding-top:6px; min-width:72px; padding-right:8px; "> <center><a href=/bbs/?uid=37818><img class=avatar width=64 height=64 src="https://www.lexaloffle.com/bbs/files/37818/phaselock_logo_circular_blog.png"> <br> </a> </center> </div><div style="width:100%;"><div style="display:flex; float:right; min-width:64px; margin-top:-8px"> <div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_127950_like" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="Give this post a star" class="i_rate_127950_like" > <img src="/gfx/set_like0.png" width=20 height=20> </div></div> </div> </div> <div style=" margin:2px; background-color:#444;"><center> <div style="padding:8px; padding-left:8px; padding-right:8px; background-color:#444; display:table; cursor:pointer; " onClick=" el1 = document.getElementById('set_extra_127950'); if (toggle_visible(el1)) install_dismisser(el1); "> <img src="/gfx/top_drop.png" style="min-width:12px"> </div> </center> </div> </div> <div id="set_extra_127950" style="display:none; float:right; width:200px; position:relative; left:60px; top:28px;"> <div style=" padding:8px; background-color:#444; position:absolute; width:200px; z-index: 2; box-shadow: -14px 14px 16px rgba(0.2, 0.0, 0.4, 0.1); "><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_127950_spam" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_127950_spam" > <img src="/gfx/set_spam0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_127950_spam', 127950, 'spam', 9);">Mark as Spam</div> </div> </div><div style=" margin:2px;"> <div style="padding:4px; display:flex; background-color:#444;"> <div style="display:flex; align-items: center; cursor:pointer;" class="rate_127950_abuse" onclick="window.alert('Please log in first.')"> <div style="display:table; width:20px; height:20px" title="" class="i_rate_127950_abuse" > <img src="/gfx/set_abuse0.png" width=20 height=20> </div></div> <div style="margin-left:10px; cursor:pointer" onclick="toggle_set_button('rate_127950_abuse', 127950, 'abuse', 13);">Mark as Abuse</div> </div> </div></div></div><div class="mobile_div" style="margin-left:8px; float:left; margin-right:12px"><img class=avatar width=24 height=24 src="https://www.lexaloffle.com/bbs/files/37818/phaselock_logo_circular_blog.png" style="float:left; margin-top:-4px"></a></div><div style="display:table;color:#49f;font-size:10pt"> <a href="/bbs/?uid=37818"><b style="color:#fff;font-size:12pt">phaselock.studio</b></a> &#8226; <a class="mobile_div" title="2023-04-01 02:23 *edited 2023-04-01 02:25" href="/bbs/?pid=127950#p" style="color:#f8a">2023-04-01*</a><a class="desktop_div" title="2023-04-01 02:23 *edited 2023-04-01 02:25" href="/bbs/?pid=127950#p" style="color:#f8a">2023-04-01 02:23*</a></div><div style="max-width:880px"><div style="min-height:44px;"><p>not sure if this is a bug or if I'm just misinterpreting the help, but when you do &quot;help pset&quot; or &quot;help pget&quot; it shows the correct help text but pulls up the functions and args of sget/sset. </p> <img loading="lazy" style="margin-bottom:16px" border=0 src="/media/37818/Screen Shot 2023-03-31 at 10.34.09 PM.png" alt="" /></div></div></div></div></div></div><br><div style="width:100%; height:1px; margin-bottom:15px; background-color:#555; padding-left:16px;padding-right:16px"></div> <div style="display:inline-table;width:100%;margin-bottom:4px;margin-top:4; "></div> <br> <p id=comment style="margin-top:20px; margin-bottom:20px; color:#999">[Please log in to post a comment]</p></div></div></div> <div id="lex_footer" style=" width:100%; min-height:300px; background-color:#111; "><div style="padding:20px"> <center><div style="display:table"> <div style="display:block; margin-bottom:10px;"> <center> <a style="margin:8px" href="/info.php">About</a> | <a style="margin:8px" href="/cdn-cgi/l/email-protection#573f322e173b322f363b3831313b327934383a">Contact</a> | <a style="margin:8px" href="/games.php?page=updates">Updates</a> | <a style="margin:8px" href="/info.php?page=tos">Terms of Use</a> | <a style="margin:8px" href="/picotron.php">Picotron</a> </center> </div> <center> <div style="display:table; margin-bottom:10px"> <div style="font-size:10pt; display:flex; align-items:center"> Follow Lexaloffle: &nbsp <a href="https://mastodon.social/@zep" class=social_button><img class=pixel_perfect src="/gfx/so_mastodon.png" width=32 height=32 border=0></a> &nbsp <a href="https://twitter.com/lexaloffle" class=social_button><img class=pixel_perfect src="/gfx/so_twitter.png" width=32 height=32 border=0></a> &nbsp <a href="https://www.youtube.com/user/lexaloffletv" class=social_button> <img class=pixel_perfect src="/gfx/so_youtube.png" width=32 height=32 border=0></a> &nbsp <a href="https://www.lexaloffle.com/bbs/feed.php" class=social_button><img class=pixel_perfect src="/gfx/so_rss.png" width=32 height=32></a> </div> </div> <div style="color:#777;font-size:8pt;"> Generated 2025-03-02 16:10:35 | 0.027s | Q:58 <div id=cache_info style="display:inline;"> </div> </div> </center> </div></center> </div></div> </div> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10