Log In  

This maybe not new for some users, but I did search the forums and I didn't found any post about this, so...

ANSI escape codes do work on Pico-8!
when using
printh()

Let me explain. ANSI escape codes are sets of commands to use in terminals to "control the formatting, color, and other output options on video text terminals".

Yes. And what? (you say)

It means a lot! Look at this piece of code. It clears the screen on _init(). And it sets text to green, then resets it to the default color afterwards. (PSST... It may be useful for debugging purposes!)

function _init()
   init_console()
   printh("what is this? color??")
end

function init_console()
  -- note: ansi escape codes 
  -- are case-sensitive.
  -- note: printh still adds a 
  -- new line each time you
  -- call it, even if it only 
  -- contains escape codes.

  -- clear the screen
  -- ("\27" is esc char)
  -- ("\74" is capital j)
  a_clear = "\27[2\74"

  -- reset the cursor top left
  -- ("\72" is capital h)
  a_cur_tl = "\27[1;1\72"

  -- set to green
  a_col_gr = "\27[32m"

  -- reset color to default
  a_col_df = "\27[39;49m"

  -- let's print some text
  printh(
    a_clear ..
    a_cur_tl ..
    a_col_gr ..
    "==> console initialized..." ..
    a_col_df
  )
end

It should work out-of-the-box on Linux. For Windows, Wikipedia says it should work on a Windows 10 command line prompt. Here's the result on a OS X terminal:

There you go. I hope it helps.

P#26099 2016-07-29 16:07 ( Edited 2016-07-29 23:30)

Nice!

P#26107 2016-07-29 19:30 ( Edited 2016-07-29 23:30)

[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2024-03-29 14:27:30 | 0.020s | Q:8