Log In  

I've made a little tool (Windows only) that helps saving time and keeping organized when working on bigger pico-8 projects. It might be useful to some of you so I'm sharing it here on my blog. To see what it does and does not do, please read the blog post before downloading.

UPDATE: P8Coder is now open source P8Coder on GitHub

P#20559 2016-05-13 20:33 ( Edited 2018-05-08 10:21)

Nifty idea. I installed it but when I create a new entity, it adds a question mark to the function names, like upd?() and drw?() which P8 does not like.

And when I add a sub-entity, the resulting function is just the parent entity name, also with a question mark, so it keeps breaking.

I'm running it on Windows10, if that helps.

I dig the idea and can see how having all things in tabs would be a great way to help organize. Keep it up.

P#20560 2016-05-13 21:40 ( Edited 2016-05-14 01:40)
:: Ivoah

Looks nice! This seems like it could be a really useful tool, especially if you added sprite/map and maybe audio editing. What language did you use to write it?

P#20572 2016-05-14 06:49 ( Edited 2016-05-14 10:49)

@morningtoast: that's by design. It creates only a function stub for you. The questionmarks (or the whole function name or everything depending on how you use it) are to be replaced by you.

@Ivoah: I will add a panel for sprites and map of the cart but only for reading (to get sprite indices w/o loading pico-8) not for editing. The compontents for this are already done for a different tool. It's written in C# .net.

P#20573 2016-05-14 07:38 ( Edited 2016-05-14 11:41)
:: jhice

I downloaded it and find it very useful ! I'd say even for not-so-big projects.

The possibiliy to view the sprites+indices and map is great.

Another great feature would be live coding :) If I'm not wrong PICO-8 reloads the code automatically when the cart is edited from an external text editor. So if you don't "block" P8Coder while using PICO-8, perhaps live coding would be easy and no need to reboot the cart each time ?
The only problem would be not erasing the updates made in the cart by error (sprites or maps or sound), if a save was not done by the user before editing the code. I suppose you blocked the "live" feature for this reason ?

What do you think about this ?

P#20845 2016-05-19 05:40 ( Edited 2016-05-19 09:40)

Thanks for your comment. PICO-8 does not reload automatically but you can make it reload and run with CTRL+R. I will make an update soon that leaves P8Coder unlocked while PICO-8 is running - that's better in any case. Yes, if changes on cart data are not saved (CTRL+S), they are lost but that's always the case so I think it's acceptable.

The update including sprite picker and other visual helper tools is coming tonight.

P#20852 2016-05-19 08:17 ( Edited 2016-05-19 12:17)
:: jhice

Ok thanks, waiting for the updates :)

P#20867 2016-05-19 18:02 ( Edited 2016-05-19 22:02)

Good job on this tool, i'm enjoying using it so far. Only thing I'm missing so far is doing quick searches using ctrl-F3 and then doing F3 and shift-F3 to go to the next and previous found string respectively.

Also waiting on the next update myself! :)

P#20879 2016-05-20 00:24 ( Edited 2016-05-20 04:24)

updated p8coder; it now has a spritesheet viewer; fixed several small bugs (one concerning undo was critical). working in p8coder while pico-8 is running is possible now (not blocked anymore). sorry for the delay; I'll add search features when I have time. have fun!

P#22436 2016-06-06 22:10 ( Edited 2016-06-07 02:10)
:: dw817

Your program will not load my p8 code. Here are the functions in it currently:

function main()
function pst8(h,v,x,y)
function pstxy(h,v,x1,y1,x2,y2)
function pst(h,v,x,y)
function fnr(x)

It does not use functions, "_Init" "_Update" or "_Draw."

P#28910 2016-09-20 19:58 ( Edited 2016-09-20 23:58)

dw817: Please read the description carefully, especially the "WARNING" section.

P#31836 2016-10-26 15:23 ( Edited 2016-10-26 20:21)

P8Coder is now open source. Have fun! P8Coder on GitHub

P#31843 2016-10-26 16:21 ( Edited 2016-10-26 20:21)

Which license is it, and can we get a LICENSE file for the repo? IIRC you can also configure the repo with the license and Github will display it in the top bar.

Thanks for all your work on this!

P#31864 2016-10-26 19:03 ( Edited 2016-10-26 23:03)

Glad you like it. I've added the GNU GENERAL PUBLIC LICENSE.

P#31870 2016-10-26 21:20 ( Edited 2017-04-03 22:35)

New release 1.2 today. Added a dialog for pico-8 launch parameters and a button to save the spritesheet as png.

P#44873 2017-10-02 20:15 ( Edited 2017-10-03 00:15)

Cool. I missed this before so I am going to give the 1.2 release a try. Looks nice and clean and simple. I normally code right in the pico8 editor, sometimes just pull it into notepad++ so maybe this is a good middle. The entity tree is nice. Thanks for your work.

P#44885 2017-10-03 14:17 ( Edited 2017-10-03 18:17)
:: zingot

You say look at the WARNING section but why would this screw a .p8 file up with custom function names. That just doesn't make sense at all.

Why not just import the file with its own function names instead of screwing someones code up???????

P#51330 2018-04-05 04:52 ( Edited 2018-04-05 08:52)

Normally I don't start a new pico-8 project with code I already have in a p8. In my workflow, I don't write any code in pico-8, I copy/paste existing code from other P8Coder instances/projects if needed. I use pico-8 for art and music.

I don't understand what you mean by "custom function names".... you can name your functions whatever you like.

I've tried to put the warning everywhere necessary (right above download-sections on my blog and on github). Sorry if you've lost code ... The tool is out for 2 years now - so far you are the first complaining about this behaviour. P8Coder does at no time import code from anywhere. P8Coder overwrites all code of the cartridge you select.

Speaking about "screwing someones code up": Note that P8Coder makes everything lower-case on build - so you can use upper-case characters in your code if you like.

If you wish to have an import-code-from-cart feature, I can add it if you ask nicely - or you pull-request your fork on github.

P#51374 2018-04-06 21:26 ( Edited 2018-04-07 01:28)

Updated to 1.4. Fixes loading carts made with latest versions of pico-8 (p8 only contains data different from default state)


Have fun!

P#52529 2018-05-08 06:21 ( Edited 2018-05-11 22:04)

[Please log in to post a comment]

Follow Lexaloffle:        
Generated 2020-05-31 17:53 | 0.028s | 2097k | Q:52