gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS development > Pictoblog, now hiring!

#125894 - 0xtob - Wed Apr 18, 2007 2:05 am

Pictoblog is now open source!

See http://blog.dev-scene.com/0xtob/2007/04/17/pictoblg-goes-open-source/

As I said, I'm no longer developing it. So now it's up to you to
  • Implement the rubber
  • Make settings configurable
  • Add more drawing tools
  • Add support for other blogging APIs
  • Include blogging support in your own apps
  • etc.

Get the source here.

If you have any questions, post them in this thread.

Note: To work reliably, Pictoblog needs a patch to wifilib that isn't yet committed to CVS. This will hopefully happen in the next few days.

Happy hacking!
Tob
_________________
http://blog.dev-scene.com/0xtob | http://nitrotracker.tobw.net | http://dsmi.tobw.net

#125895 - Lick - Wed Apr 18, 2007 2:14 am

Thanks for releasing the source! I'm particularly interested in the MetaBlog API implementation. I always wanted to write a blogging client for the DS. Never had the time though. (The FTP client is also waiting to be developed! Argh Exams..)

Anyway, beware of "15 lines of code"! :P
_________________
http://licklick.wordpress.com

#125896 - chuckstudios - Wed Apr 18, 2007 2:17 am

Lick wrote:
Anyway, beware of "15 lines of code"! :P


;) You made my day, Lick.

#125919 - melw - Wed Apr 18, 2007 7:42 am

/scribbles down "Phidias + Pictoblog" on a personal wishlist and hopes that someone notices...

#141309 - iofthestorm - Sun Sep 23, 2007 11:40 pm

Hi, I was just looking through your code trying to figure out how it works, and I have to say that I'm totally confused. I see things like
Code:
Button *buttonpost, *buttonchangetitle, *buttonclear;
Label *labeltitle, *labeltitlebox, *labelwelcome1, *labelwelcome2, *labelwelcome3;
Typewriter *tw;

But these are never initialized or anything, as far as I can tell. Also, when I go to compile it I get all these errors:
Code:

C:\Games\Homebrew\pictoblog_source_v0.2\pictoblog>make
make -C arm7
make[1]: Entering directory `/c/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm
7'
make[2]: `/c/Games/Homebrew/pictoblog_source_v0.2/pictoblog/pictoblog.arm7' is up
to date.
make[1]: Leaving directory `/c/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm7
'
make -C arm9
make[1]: Entering directory `/c/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm
9'
pngtransport.cpp
arm-eabi-g++ -MMD -MP -MF /c/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/b
uild/pngtransport.d -g -Wall -O2 -march=armv5te -mtune=arm946e-s -fomit-frame-poin
ter -ffast-math -mthumb -mthumb-interwork -I/c/Games/Homebrew/pictoblog_source_v0.
2/pictoblog/arm9/include -I/c/devkitPro/libnds/include -I/c/Games/Homebrew/pictobl
og_source_v0.2/pictoblog/arm9/build -DARM9 -fno-rtti -fno-exceptions -c /c/Games/H
omebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp -o pngtranspo
rt.o
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:22:
17: warning: png.h: No such file or directory
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:32:
 error: variable or field 'pngtrans_write_fn' declared void
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:32:
 error: 'png_structp' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:32:
 error: 'png_bytep' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:32:
 error: 'png_size_t' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:32:
 error: initializer expression list treated as compound expression
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:33:
 error: expected ',' or ';' before '{' token
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:39:
 error: variable or field 'pngtrans_IO_flush_function' declared void
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:39:
 error: 'png_structp' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:40:
 error: expected ',' or ';' before '{' token
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp: In
 member function 's16 PngTransport::encodePng(u8*, u16, u16, u8**, u32*)':
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:47:
 error: 'png_structp' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:47:
 error: expected `;' before 'png_ptr'
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:48:
 error: 'png_ptr' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:51:
 error: 'png_infop' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:51:
 error: expected `;' before 'info_ptr'
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:52:
 error: 'info_ptr' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:53:
 error: 'png_ptr' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:54:
 error: 'png_infopp' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:54:
 error: 'png_destroy_write_struct' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:59:
 error: 'png_ptr' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:59:
 error: 'png_jmpbuf' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:59:
 error: 'setjmp' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:60:
 error: 'info_ptr' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:60:
 error: 'png_destroy_write_struct' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:61:
 error: 'png_get_io_ptr' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:70:
 error: 'png_ptr' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:70:
 error: 'png_set_write_fn' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:73:
 error: 'info_ptr' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:73:
 error: 'PNG_COLOR_TYPE_RGB' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:74:
 error: 'PNG_INTERLACE_NONE' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:74:
 error: 'PNG_COMPRESSION_TYPE_DEFAULT' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:74:
 error: 'PNG_FILTER_TYPE_DEFAULT' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:74:
 error: 'png_set_IHDR' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:77:
 error: 'png_write_info' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:80:
 error: 'png_bytepp' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:80:
 error: expected `;' before 'row_pointers'
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:83:
 error: 'row_pointers' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:85:
 error: 'row_pointers' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:85:
 error: 'png_set_rows' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:90:
 error: 'PNG_TRANSFORM_IDENTITY' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:90:
 error: 'png_write_png' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:91:
 error: 'png_write_end' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:94:
 error: 'png_free' was not declared in this scope
c:/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9/source/pngtransport.cpp:95:
 error: 'png_destroy_write_struct' was not declared in this scope
make[2]: *** [pngtransport.o] Error 1
make[1]: *** [build] Error 2
make[1]: Leaving directory `/c/Games/Homebrew/pictoblog_source_v0.2/pictoblog/arm9
'
make: *** [arm9/pictoblog.elf] Error 2

C:\Games\Homebrew\pictoblog_source_v0.2\pictoblog>


Could you please explain all this? I'm afraid I'm in over my head. (sorry for the gravedig, but the blog post did say to ask here.)

Edit: I tried compiling libpng first, by going into the libpng directory and typing make, but I got an error right away about some command not being found.

#143843 - 0xtob - Fri Oct 26, 2007 7:12 pm

Hey!

Sorry about the unused variables. I was in a hurry when finishing Pictoblog for the Neoflash Compo, so I forgot to remove these.

To compile pictoblog, you need the libpng headers in your include path. For example, copy them to libnds/include/

To be able to help you compile libpng, I would need to know which command exactly cannot be found.
_________________
http://blog.dev-scene.com/0xtob | http://nitrotracker.tobw.net | http://dsmi.tobw.net

#143894 - OSW - Sat Oct 27, 2007 4:21 am

I still use pictoblog regularly! ^_^

even though it's far from perfect :P

but! how come the background isn't pure white. It's like a light grey...

#143970 - GoopyMonkey - Sat Oct 27, 2007 10:28 pm

It's nice to see that someone else uses pictoblog, and very nie to see someone looking at the source, maybe even continuing it. ;) *looks hopeful*

BTW, thanks 0xtob for starting this in the first place. :D
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis

#144004 - OSW - Sun Oct 28, 2007 3:34 am

yes thanks. i hope someone picks it up.

personally i find pictoblog so quick and convenient to use, in comparison to logginf into my blog and doing a normal post.

#147729 - iofthestorm - Thu Dec 27, 2007 12:20 am

Hi, it's me again I was just wondering in your readme it said you would release your DS GUI toolkit sometime , just wondering whether that's still the case because I could use it. I still don't know much homebrew coding and I've been trying to get pictoblog to compile again so I put the .h files in the include directory like you said but I still get errors. Where do I put the .c files? I really don't know much about C but I'm learning.

#148753 - 0xtob - Wed Jan 09, 2008 9:55 pm

Hey! An old version of my GUI toolkit is actually part of the Pictoblog source (look in arm9/source/tobkit).

To compile pictoblog:
- Get and extract the source
- copy all .h files in libpng and zlib to the include path, i.e. libnds/include
- copy libpng.a and libz.a to the library path, i.e. libnds/lib
- compile!
_________________
http://blog.dev-scene.com/0xtob | http://nitrotracker.tobw.net | http://dsmi.tobw.net