Welcome to the PokéCommunity!

Hi there! Thanks for visiting PokéCommunity. We’re a group of Pokémon fans dedicated to providing the best place on the Internet for discussing ideas and sharing fan-made content. Welcome! We’re glad you’re here.

In order to join our community we need you to create an account with us. Doing so will allow you to make posts, submit and view fan art and fan fiction, download fan-made games, and much more. It’s quick and easy; just click here and follow the instructions.

We’re on social media!

Research & DevelopmentGot a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

Research & Development programs in this forum are subject to moderator approval before they are displayed.

Unfortunately, the answer is a no. The limit of 16 is imposed by the lack of available RAM for the ROM to store sprite locations in. On this thought, the limit should actually be 15, as opposed to 16, because the player counts as a sprite too.

The only way to safely get around it is to use multiple maps (cleverly used connections or such) or to repoint the sprite storage location into a new save block area, then raise the limit.

This is impractical in many ways though, and there are better/more important things we can repoint into the new save block, like trainerflags, seen/caught flags, variables etc.

__________________

Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

He doesn't suggest.
Record Mixing fills in those slots available in the memory.
in C++ terms:
class Base{
private:
sprites sprite[16];//Predefined array size. Therefor, the Base does not support dynamic memory. So when allocating memory for a base, the game only allocates enough memory to allow for information on 16 sprites.
};
std::vector<Base> Bases;
[ read what's bold and red. it's important. ]

Quote:

Unfortunately, the answer is a no. The limit of 16 is imposed by the lack of available RAM for the ROM to store sprite locations in. On this thought, the limit should actually be 15, as opposed to 16, because the player counts as a sprite too.

The method you're speaking of is:

Quote:

The only way to safely get around it is to use multiple maps (cleverly used connections or such) or to repoint the sprite storage location into a new save block area, then raise the limit.

He doesn't suggest this because:

Quote:

This is impractical in many ways though, and there are better/more important things we can repoint into the new save block, like trainerflags, seen/caught flags, variables etc.

He says there are better things that can be made with that memory but I'm not making a hacked game or anything. I'm just making small adjustments to the raw roms to improve the basic gameplay for my own+friends personal entertainment.

Because the sprites are player placed, there's a technical limit on how many "dynamic" sprite locations can be saved. Even if you were to expand it for your rom, there's no telling what mixing records with an unhacked game would do in terms of placing the extra decorations in your base that appears in their game.

Because the sprites are player placed, there's a technical limit on how many "dynamic" sprite locations can be saved. Even if you were to expand it for your rom, there's no telling what mixing records with an unhacked game would do in terms of placing the extra decorations in your base that appears in their game.

I agree. I don't plan on mixing records with an unhacked game. I only play the game with my friends on an emulator. We usually play it on the same screen, all the games going at once. Everyone's rom would be updated accordingly.

So if there's a way to expand the base item limit and it was like that in every single rom, then I imagine the records would be able to function properly.

If not, then is there a good way to edit the map? I've heard of issues of not being able to leave a secret base after adding things to it through a map editor.

Well, there is an option I brainstormed last night. You could keep the limit of 16 "normally added" secret base items. Then maybe manually script up a way to place more, but those would only be on your game, that data wouldn't be transferred when mixing records.

So you'd have to get a script that gives the option to place more OWs dynamically, and then save them through use of flags or variables or something.

Though I don't know if 16 is a "display at once on screen" limit or like a "can't save any more cause there's no more space in memory" limit.

OR: You could add more sprites AS secret base items, but put two decorations in one sprite. So for one OW, you could put two decorations in it. You'd just have to make sure the palettes are similar. So two blue Pokemon could be on one sprite. That way, you could give the illusion of having more base items, when really you still have the 16 limit. That also would work around the 16 display limit, if in fact I was right in assuming that was what Jambo implied.

Hmm. I was wondering that too. The sprite idea is pretty good. Maybe I'll try something like that.
Since I do plan on transferring records with a couple friends I'm trying to keep it pretty simple.
But I'll look into the more complicated methods for this too like the others you mentioned.

Then again, in the end I might just suck it up and deal with 16. xD

Thanks!

And thanks to everyone else too. I appreciate it.

Edit:
I decided to just go with map editing since it'll only be with a few friends. I'll just have the bases edited on the rom we all use.
I edited my base to my likings and put in some items I know I wouldn't really want to change.
Worked out fine.

I have one little issue though.

I removed one of the rocks in the base - I'm sure the rocks are basically to represent spots for an NPC to appear in other people's games when you want to fight the person in their base.
I was using AdvanceMap by the way. I moved the trainer sprite to a completely different location and then removed the rock.

Yet, I still can't put items in that spot?

Anyone know how to fix this? It isn't the worst thing because I can always just use the mapeditor to place something there, but I'm just wondering what's up with it.

I wonder if it's hardcoded into the (for lack of a better phrase) Secret Base engine, then...

P.S. the 16-sprite limit may be both functional and graphical. I don't know if this is true for RSE (it probably is), but in FR/LG there are a max of 16 background palettes (all used for the map and for dialog box borders) and 16 sprite palettes at any given time. Of those sprite palettes, one is used for the hero and another for their reflection in water; four are used for normal OWs, and four more for their reflections; two or three seem reserved for map effects (grass, beach footprints, etc.); and two are always unused.

The PokéCommunity

Meta

Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, or The Pokémon Company International. We just love Pokémon.