Yes, it's hard coded. You can bypass the limit but only in scripts, not in the editor. To do that, go in the
Spriteset_Map script section and find this:
CODE
def create_pictures
@picture_sprites = []
for i in 1..20
@picture_sprites.push(Sprite_Picture.new(@viewport2,
$game_map.screen.pictures[i]))
end
end
Replace the 20 with another number. Then you'll be able to use a Call Script command to display pictures with a number superior to 20. Like this (I used 21 as an example)::
CODE
$game_map.screen.pictures[21].show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type)
Everything is self-explanatory except maybe the origin: it's 0 or 1. 0 is the top-left part of the screen and 1 the center.