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.

Breath of Fire II Menu Recreations

Hello all. I've recently begun helping out on a project to re-create the SNES version of Breath of Fire II (complete with new dialogue since the original translation was traaaash). I'm designing the custom menus, but alas, scripting them is another story... so I was hoping someone would take interest in converting the designs to actual working scripts. I'll start with the main menu. If anyone is interested in doing these, I'll throw in the other ones as I re-design them. =)

First I created a template, labeled with names and dimensions to make it easier for anyone who wants to help...

bof2_cms_main_base.png

And here is the menu in its finished design...

bof2_cms_main.png

In the original game, the menu system featured only a few special options, like re-arranging party members, a few formation set-ups for the party, and an options menu that controlled the message speed and volume levels, IIRC. I can probably find scripts for those options on HBGames, so I won't worry about them just yet.
 
I have the framework done. (windows, text, etc.) functionality is still the same as the default menu. Need to add code for party order (Formation) and Options, and the Meter.
Also, change the windowskin, and lay in the background image. can you post the raw background image by itself?

Here's a taste...

Rubicant_menu.png
 
EXCELLENT, Brewmeister. I've finished up the item menu as well. Here's a base menu and the concept. I'll add notes below for this one.

The base...
bof2_menu_item_base.png

The concept...
bof2_menu_item.png

Notes
* The window that overlays over the main menu wth use, discard, etc. should have full opacity so it's readable and not covering the text from the menu underneath.
* Since RMXP automatically keeps items sorted from their ID, perhaps adding a sort option by item type or alphabetical. Item categories could include...

Healing Items
Equipment (in order of weapons, shields, helmet, armor, accessory)
Food Items
Fishing Items
Battle Items

* Without any sorting options (which aren't required, but it'd be a nice touch), Arrange and Auto-Sort can just be omitted altogether

* Items that are "special" to the story should only show up in the Special menu part. Perhaps adding a tag to the item's name like <spc> can be used to read which items show in the special item menu?

P.S. I really appreciate this. Thanks a lot for taking the time to help with this.
 
Oops, forgot to add that the maximum number of an item should be changed from 99 to 30. This is because Breath of Fire grouped certain items into bundles of 9 (if the item was stackable). Items that weren't stackable took up an item slot even with a duplicate (like in the case of the Extract item).

This time around, instead of all that extra coding, I'll just increase the functionality of the inventory system and allow only 30 of an item to be held at once, rather than taking up multiple item slots.

EDIT: For some reason, when I paste the scripts into a new or existing project, the windows do not retain transparency, so the underlay does not show. Was there a default script up top that was edited to achieve this? So far I haven't been able to get it right.
 
Ah, OK. I think I can find a script call to change the opacity in the menu without editing the actual file. I think that'd make normal messages and other windows TOO transparent, you know? Thank you for doing this. It came out awesome. Looking forward to getting the rest of these done. Here's my final version of the main menu (before adding scripts for Formation, Encounter Meter, etc.)

cms_main_alpha.png

What do you think?

P.S. For some reason, I'm having an issue with the "states" part (i.e. Healthy). When the stat changes to something other than healthy, the text doesn't display. I haven't edited that part of the script at all. I simply took off the comment that caused it to be dummied out. Any thoughts?
 
There must be an edit somewhere (Window_Base.make_battler_state_text), the default text with no active state is "[Normal]".

If you want to upload the project, I'll take a look at it.

You could set opacity in each window, or in Scene_Menu after each window is created. Or, if more windows are transparent, set it in Window_Base, then change the opacity of the few windows that you want opaque in their respective scenes.

What font did you use?
 
Here's the code from the script for states from the project. Maybe there's something I'm not noticing.

Code:
  #--------------------------------------------------------------------------

  # * Make State Text String for Drawing

  #     actor       : actor

  #     width       : draw spot width

  #     need_normal : Whether or not [normal] is needed (true / false)

  #--------------------------------------------------------------------------

  def make_battler_state_text(battler, width, need_normal)

    # Get width of brackets

    brackets_width = self.contents.text_size("[]").width

    # Make text string for state names

    text = ""

    for i in battler.states

      if $data_states[i].rating >= 1

        if text == ""

          text = $data_states[i].name

        else

          new_text = text + "/" + $data_states[i].name

          text_width = self.contents.text_size(new_text).width

          if text_width > width - brackets_width

            break

          end

          text = new_text

        end

      end

    end

    # If text string for state names is empty, make it [normal]

    if text == ""

      if need_normal

        text = "Healthy"

      end

    else

      # Attach brackets

      text = "[" + text + "]"

    end

    # Return completed text string

    return text

  end

  #--------------------------------------------------------------------------

  # * Draw State

  #     actor : actor

  #     x     : draw spot x-coordinate

  #     y     : draw spot y-coordinate

  #     width : draw spot width

  #--------------------------------------------------------------------------

  def draw_actor_state(actor, x, y, width = 120)

    text = make_battler_state_text(actor, width, true)

    self.contents.font.color = actor.hp == 0 ? knockout_color : state_color

    self.contents.draw_text(x, y, width, 32, text)

  end

In Window_MenuStatus, there is only one line of code to draw_text for states, so it must be in Window_Base.

I've set the opacity of the windows now, and the font used is called "Playtime With Hot Toddies."

EDIT: Fixed the state string problem. Onto the item menu! =)
 
Rubicant":2nl9bbuf said:
In Window_MenuStatus, there is only one line of code to draw_text for states, so it must be in Window_Base.

EDIT: Fixed the state string problem. Onto the item menu! =)

Cool. Was it the width? Or the rating of your states?

Rubicant":2nl9bbuf said:
I've set the opacity of the windows now, and the font used is called "Playtime With Hot Toddies."

weird, my real name is "Tod".

Be Well
 
For some reason, when I cloned that part of the script into the Window_MenuStatus that was lower down (above Main), it started functioning the way I wanted. So that menu is pretty much done now. =)
 

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