Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Windows within windows?

Maybe it's impossible or just stupid, but I'm modifying the Tales of Symphonia menu compilations to fit my game (The FFX-2 one wasn't very efficient). Actually, the goal was to edit the actual ToS menu, but since the first screen was done, I figured I'll edit it from there.

The problem is, in the actual game, each Actor has his own status window on the menu scene. In the compilation, they're all in the same window and can move around... since that's already in order, I want to know if there's a way to put windows inside of that giant one so I get the borders but it still moves the same way.

I guess pictures are better:
http://img50.imageshack.us/img50/146/tosmenuae5.gif[/IMG]
(The Tales of Symphonia Menu Compilation)

http://img255.imageshack.us/img255/2457/menutestxd0.gif[/IMG]
(My outline of the menu in Photoshop before going to code - ignore the background, just testing opacity)

Well, you see what I mean now. I want the actor data in each window, but still want the ability to go through them like a list, as if they were in that big window still. Is it possible?
 
I think I'll do it using method #1. The only problem I can see doing it that way is there being empty boxes when your party is less than 4 people. Of course, I could always write conditionals around it.

The new problem, however, is the Window_MenuCommand. I hate Window_Selectable and I can never get command menus to come out the way I want. I have it as 2 rows, 4 columns just fine, but as you see from the screens I need to make it slimmer from each direction.
 
The @dummy_windows worked almost perfectly. I just had to throw in a conditional to not draw more than 4 windows (looked tacky), but now the main issue is a problem I've had for ages but was never answered.
http://img291.imageshack.us/img291/8536/problemshi0.jpg[/img]

Red Circles are things that I want draw but aren't displaying because they're too close to the window's edges.
Blue Circles are unwanted arrows that appear for the same reason.

Personally, I know that the contents are all within the window's boundaries, but the viewport seems to be smaller and I can't change it. I want to be able to draw something in every pixel of a window if I wanted to, how do I do this?. There's another issue when there's more than 4 actors in the party, the windows don't scroll right... but I'm sure if I could fix the first problem I can easily fix the 2nd.
 
The blue circles appear when the Bitmap is bigger then the Window, so making the bitmap smaller removes the arrows.
Also, try making the Selection Window higher to prevent the text from cutting off or make the font size smaller untill it fits in perfectly.
 
Freakboy;182792 said:
The blue circles appear when the Bitmap is bigger then the Window, so making the bitmap smaller removes the arrows.
Also, try making the Selection Window higher to prevent the text from cutting off or make the font size smaller untill it fits in perfectly.
I get that much, but I want the Bitmap to be the same size as the window, but no matter what I seem to do it ends up smaller. If I could get the Bitmap to be the same size, most of the problems would vanish
 
Don't even create a new window.

If you are trying to do it for the default Window_MenuStatus, you can use this:

Code:
class Window_MenuStatus
  alias_method :seph_miniwindows_wndms_init, :initialize
  alias_method :seph_miniwindows_wndms_disp, :dispose
  alias_method :seph_miniwindows_wndms_updt, :update
  def seph_miniwindows_wndms_init(*args)
    seph_miniwindows_wndms_init(*args)
    self.opacity = 0
    @dummy_windows = []
    for i in 0...$game_party.actors.size
      window = Window_Base.new(0, i * MINIHEIGHT, MINIWIDTH, MINIHEIGHT)
      @dummy_windows << window
    end
  end
  def dispose
    seph_miniwindows_wndms_disp
    @dummy_windows.each {|x| x.dispose}
  end
  def update
    seph_miniwindows_wndms_updt
    self.opacity = 0
    @dummy_windows.each {|x| x.update}
  end
end

Just replace MINIHEIGHT, MINIWIDTH, MINIHEIGHT with the miniwindow height and width.

let me know if you have any trouble.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top