I need help with some UI and Interface issues.

7 Réponses • 176 Vues

After updating to .25, some issues came up.

The battle interface


The screen doesn't reach all the way to the bottom right corner. My game's resolution is set to 640x480, and the attack menu is kinda messed up.

Text Box



There's some weird lines in the text box and also the name box is also randomly cut up.
This is what it looks like originally


Save Window


Battle Pose

The battle pose doesn't seem to reach the top of the screen. Not sure if this is normal.

Nuri Yuri

HostMaster

For the messages I have an idea why it's behaving improperly.

Did you change the windowskin ? (Make it bigger).
If so we have to change the window builder. I'd say you will need something like this:
module GameData
  module Windows
    remove_const :MessageWindow
    remove_const :MessageHGSS
    MessageWindow = [32, 32, 16, 16, 32, 16]
    MessageHGSS = [28, 14, 16, 16, 32, 16]
  end
end
ln(yo) = <3
For the messages I have an idea why it's behaving improperly.

Did you change the windowskin ? (Make it bigger).
If so we have to change the window builder. I'd say you will need something like this:
module GameData
  module Windows
    remove_const :MessageWindow
    remove_const :MessageHGSS
    MessageWindow = [32, 32, 16, 16, 32, 16]
    MessageHGSS = [28, 14, 16, 16, 32, 16]
  end
end

The dialoge box is back to normal, but everything else still isn't taking on the whole screen.

Nuri Yuri

HostMaster

Of course it's just fixing the window.
So now even the name window is OK ?

For the battler pause, it's due to the fact the images are too small for your screen (256px height vs 480px, in original sdk it's 256px vs 240px).
I can suggest this change:
module Battle
  class Visual
    module Transition
      class Gen6Trainer
        alias psdk_create_battlers create_battlers
        def create_battlers
          psdk_create_battlers
          @battler.zoom = 2
          @battler2.zoom = 2
        end
      end
    end
  end
end
ln(yo) = <3
Of course it's just fixing the window.
So now even the name window is OK ?

For the battler pause, it's due to the fact the images are too small for your screen (256px height vs 480px, in original sdk it's 256px vs 240px).
I can suggest this change:
module Battle
  class Visual
    module Transition
      class Gen6Trainer
        alias psdk_create_battlers create_battlers
        def create_battlers
          psdk_create_battlers
          @battler.zoom = 2
          @battler2.zoom = 2
        end
      end
    end
  end
end

The battle pose is back to normal and yeah, the name text is also fixed.

Nuri Yuri

HostMaster

Perfect, for the other issues (ui not taking the whole screen) I fear that we'll have to do some heavy scripting. First of all, you don't have the graphics for the load screen, you can find them in this file Full Graphics Archive in the #ressources channel. That's the folder graphics/interface/load :)

Then we'll have to edit few values from: 01450 Systems\00003 Save Load\00001 UI\00001 SaveSign.rb
For the battle UI, that's inside: 01600 Alpha 25 Battle Engine\00001 Battle_Scene\00001 BattleUI\ but that's a bit more complex because there's a lot to change ^^
ln(yo) = <3
Perfect, for the other issues (ui not taking the whole screen) I fear that we'll have to do some heavy scripting. First of all, you don't have the graphics for the load screen, you can find them in this file Full Graphics Archive in the #ressources channel. That's the folder graphics/interface/load :)

Then we'll have to edit few values from: 01450 Systems\00003 Save Load\00001 UI\00001 SaveSign.rb
For the battle UI, that's inside: 01600 Alpha 25 Battle Engine\00001 Battle_Scene\00001 BattleUI\ but that's a bit more complex because there's a lot to change ^^

I'm not that good with the ruby scripts. Can you help me please? Sorry.

Nuri Yuri

HostMaster

I can't really help much because it's mostlikely upto your design decision so you need to have the scripter to help you with the new resolution but it's basically just about multiplying all coordinate by 2.

Example with the SaveSign script:
module UI
  class SaveSign
    private

    def create_player_sprite
      @player_sprite = add_sprite(88, 124, NO_INITIAL_IMAGE, 4, 4, type: SpriteSheet)
      @swap_sprites << @player_sprite
    end

    def create_player_name
      @player_name = add_text(90, 126, 0, 32, '', 1, color: player_name_color)
      @swap_sprites << @player_name
    end

    def create_save_text
      @save_text = add_text(0, 2, 452, 32, '', 1)
      @new_corrupted_text = add_text(0, 8, 522, 32, '', 1, color: 10)
      @swap_sprites << @save_text
    end

    def create_save_info_text
      @location_text = add_text(182, 38, 0, 32, '', color: location_color)
      @swap_sprites << @location_text
      @badge_text = add_text(182, 70, 0, 32, text_get(25, 1), color: info_color)
      @swap_sprites << @badge_text
      @badge_value = add_text(432, 70, 0, 32, '', 2, color: info_color)
      @swap_sprites << @badge_value
      @pokedex_text = add_text(182, 102, 0, 32, text_get(25, 3), color: info_color)
      @swap_sprites << @pokedex_text
      @pokedex_value = add_text(432, 102, 0, 32, '', 2, color: info_color)
      @swap_sprites << @pokedex_value
      @time_text = add_text(182, 134, 0, 32, text_get(25, 5), color: info_color)
      @swap_sprites << @time_text
      @time_value = add_text(432, 134, 0, 32, '', 2, color: info_color)
      @swap_sprites << @time_value
    end

    def create_pokemon_sprites
      @pokemon_sprites = Array.new(6) { |i| add_sprite(48 + i * 70, 198, NO_INITIAL_IMAGE, type: PokemonIconSprite) }
      @swap_sprites.concat(@pokemon_sprites)
    end

    def base_x
      94
    end

    def base_y
      102
    end

    def spacing_x
      480
    end
  end
end
ln(yo) = <3

There was an error while thanking
Thanking...