The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Research & Development Got 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.

Reply
 
Thread Tools
  #1    
Old July 28th, 2011 (12:12 PM).
Emcitement's Avatar
Emcitement
 
 
Join Date: Jul 2011
Gender: Female
This might sound newbie but is there a way to lift the decoration limit in secret bases?

I mean there's over 100 different items you can use and the bases generally have quite a lot of space.. however the maximum amount of items you can put down is 16.

It's quite obnoxious.

Optionally, I can hack the actual map and put the items in there that way.. but then I won't be able to change the layout in game whenever I want.
:[

Is there a way to raise the limit of 16 to something much higher?
Reply With Quote
  #2    
Old July 30th, 2011 (12:13 AM).
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
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!
Reply With Quote
  #3    
Old July 30th, 2011 (12:02 PM).
Emcitement's Avatar
Emcitement
 
 
Join Date: Jul 2011
Gender: Female
I thought it might be something like that, but if that's the case then how is it possible to exchange records with other players and get their secret base items into your game?


What would be the best method for adding more items that you suggest?
Reply With Quote
  #4    
Old July 30th, 2011 (12:43 PM).
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
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.
I'd say he answered your questions fairly well already. :\
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #5    
Old July 30th, 2011 (02:11 PM). Edited July 30th, 2011 by Emcitement.
Emcitement's Avatar
Emcitement
 
 
Join Date: Jul 2011
Gender: Female
Quote:
Originally Posted by Full Metal View Post
He doesn't suggest this because:
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.
Reply With Quote
  #6    
Old July 30th, 2011 (08:23 PM).
Deokishisu's Avatar
Deokishisu
Mr. Magius
 
Join Date: Feb 2006
Location: If I'm online, it's a safe bet I'm at a computer.
Gender: Male
Nature: Relaxed
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.
Reply With Quote
  #7    
Old July 31st, 2011 (04:38 AM).
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
^this^ is a very good point.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #8    
Old July 31st, 2011 (11:15 AM).
Emcitement's Avatar
Emcitement
 
 
Join Date: Jul 2011
Gender: Female
Quote:
Originally Posted by Deokishisu View Post
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.
Reply With Quote
  #9    
Old July 31st, 2011 (02:25 PM).
Deokishisu's Avatar
Deokishisu
Mr. Magius
 
Join Date: Feb 2006
Location: If I'm online, it's a safe bet I'm at a computer.
Gender: Male
Nature: Relaxed
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.
Reply With Quote
  #10    
Old August 5th, 2011 (11:43 AM).
Emcitement's Avatar
Emcitement
 
 
Join Date: Jul 2011
Gender: Female
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.
Reply With Quote
  #11    
Old August 5th, 2011 (04:55 PM).
DavidJCobb
RESIDENT RAAAAAAAAAAAAGEMASTER
 
Join Date: Jul 2010
Gender: Male
Nature: Lonely
Quote:
Originally Posted by Emcitement View Post
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.
Does it use a different movement permission?
__________________
Reply With Quote
  #12    
Old August 10th, 2011 (03:28 PM).
Emcitement's Avatar
Emcitement
 
 
Join Date: Jul 2011
Gender: Female
Quote:
Originally Posted by DavidJCobb View Post
Does it use a different movement permission?
Nope! I couldn't find anything different about the space at all so I have no clue.
Reply With Quote
  #13    
Old August 10th, 2011 (03:37 PM).
DavidJCobb
RESIDENT RAAAAAAAAAAAAGEMASTER
 
Join Date: Jul 2010
Gender: Male
Nature: Lonely
Quote:
Originally Posted by Emcitement View Post
Nope! I couldn't find anything different about the space at all so I have no clue.
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.
__________________
Reply With Quote
  #14    
Old January 22nd, 2012 (08:41 AM).
xephos's Avatar
xephos
xephos Inc.
 
Join Date: Jan 2012
Location: U.S.A
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Emcitement View Post
I've heard of issues of not being able to leave a secret base after adding things to it through a map editor.
Can you confirm this? Now it make me kinda scared to do it.
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 01:56 AM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
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, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.