Multiple Message Windows - What new features does it need?

Started by Heretic86, August 29, 2012, 10:35:27 pm

Previous topic - Next topic

G_G

Everybody has to abide by the forum rules. No double posting within 24 hours. Editing your post marks the topic as unread for everyone.

ForeverZer0

Quote from: gameus on September 03, 2012, 11:34:20 pm
Everybody has to abide by the forum rules. No double posting within 24 hours. Editing your post marks the topic as unread for everyone.


I agree. That's the second time in this topic alone. The next one simply gets deleted, no making an edit for you. Aside, as G_G said, there isn't really much point, it bumps the topic when you modify it. Anyways, sorry, back on topic. :P
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

LiTTleDRAgo

Quote from: Heretic86 on September 03, 2012, 02:11:30 pm
Off topic, but in your event sensor, not the one I monkeyed with, is there anything you can do for line of sight visibility to player?  For example, only enable D self switch if line of sight as well?  And not trying to be too complex, but I have this way of doing fences that seems kind of cool.  The passability bits blocks up movement on one side and down bits on the other, so I'd have to guess a visibility bit could be either a terrain tag, or all passability bits blocked.  How does that sound to you?


it should be easy to add one more condition, but I will leave it as it is because it is "Simple Event Sensor"
adding something complex will defeat the purpose

Quote from: Heretic86 on September 03, 2012, 07:32:02 pm
Next question.  Unrelated to the Auto Font Install, how much effort was involved in yanking the SDK dependancy?


it shouldn't be too hard, but, why you use an SDK version when un-SDK-ed version is already exist?


ForeverZer0

Oh, I just remembered I was the one that did that. :facepalm:
I don't think it was very hard, I did it when I was still learning to script, so it was all very basic stuff. SDK pretty much just broke single methods into multiple methods, so it really only required putting them back again. I did some other very minor stuff to it if I remember correctly, but nothing to really change functionality except for making "shadowed text" from TOA not be used on floating windows or something, since it looked like garbage when using black text on a white background.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

Heretic86

Quote from: gameus on September 03, 2012, 11:34:20 pm
Everybody has to abide by the forum rules. No double posting within 24 hours. Editing your post marks the topic as unread for everyone.


Well, ok.

---

Back on topic...

When I started messing with the script, I had pretty much forgotten about SDK dependancy and made changes to the SDK dependant version.  When I get a chance, I'll see what I can do to yank SDK dependancy.  Once I do this, does anyone have any interest in combining changes for the other versions, like the Blizz ABS version?
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

Boba Fett Link

Quote from: Heretic86 on September 04, 2012, 04:40:12 am
When I started messing with the script, I had pretty much forgotten about SDK dependancy and made changes to the SDK dependant version.  When I get a chance, I'll see what I can do to yank SDK dependancy.  Once I do this, does anyone have any interest in combining changes for the other versions, like the Blizz ABS version?


Yes, definitely make it compatible with BABS. I feel that's important since this is THE site for Blizz ABS.

Why not just start with the Blizz ABS version and make your changes to it? It would probably be easier.
This post will self-destruct in 30 seconds.

Heretic86

I'll have to take a look into it, but I would also need to know (in general) what modifications had been made to the original script to make it compatible with BlizzABS?
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)

ForeverZer0

Mainly coordinates for where to display windows in relation to characters.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

LiTTleDRAgo

Quote from: Heretic86 on September 04, 2012, 05:51:11 pm
I'll have to take a look into it, but I would also need to know (in general) what modifications had been made to the original script to make it compatible with BlizzABS?


change in Game_Player -> update method is aliased, not redefined

Spoiler: ShowHide
Quote
#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  This class handles the player. Its functions include event starting
#  determinants and map scrolling. Refer to "$game_player" for the one
#  instance of this class.
#==============================================================================
class Game_Player < Game_Character   
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias drg128b_upd update unless method_defined?(:drg128b_upd)
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    message_showing = $game_temp.message_window_showing
    unless moving? || @move_route_forcing ||
      ($game_system.map_interpreter.running? && !message_showing) ||
      (message_showing && !$game_system.message.move_during) ||
      ($game_temp.choice_max > 0 || $game_temp.num_input_digits_max > 0)
      input = Input.dir4
      if input
        case input
        when 2 then move_down
        when 4 then move_left
        when 6 then move_right
        when 8 then move_up
        end
      end
    end
    drg128b_upd
  end
end


change in Scene_Map and Scene_Battle, changed the variable to make it plug and play without changing @message_window to an array

Spoiler: ShowHide
Quote
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#==============================================================================
(0...2).each {|i| eval "
class Scene_#{['Map','Battle'][i]}
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  # necessary for accessing actor/enemy sprites in battle
  attr_reader :spriteset
  attr_accessor :multi_message_window
  #--------------------------------------------------------------------------
  # * Alias Listing
  #--------------------------------------------------------------------------
  alias drg128_main main unless method_defined?(:drg128_main)
  alias drg128_upd update unless method_defined?(:drg128_upd)

  #--------------------------------------------------------------------------
  # * New Message Window Addition
  #--------------------------------------------------------------------------
  def new_message_window(index)
    if @multi_message_window[index] != nil
      # clear message windows at and after this index
      last_index = @multi_message_window.size - 1
      last_index.downto(index) { |i|
        if @multi_message_window[i] != nil
          @multi_message_window[i].dispose
          @multi_message_window[i] = nil
        end      }
      @multi_message_window.compact!
    end
    @multi_message_window.push(Window_Message.new(index))
  end
  #--------------------------------------------------------------------------
  # * drg152_main
  #--------------------------------------------------------------------------
  def drg152_main
    @multi_message_window = []                             
    @multi_message_window[0] = Window_Message.new(0)

    drg128_main
    @multi_message_window.each {|mw| mw.dispose} 

  end
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    drg152_main
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    @message_window = Nothing.new if !@message_window.is_a?(Nothing)

    drg128_upd
    @multi_message_window.each {|mw| mw.update}   

  end
end#"}

#==============================================================================
# ** Nothing
#------------------------------------------------------------------------------
#  There is nothing here
#==============================================================================
class Nothing
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :update, :dispose
end


and adding a new method in Game_System for allowing "move during message" feature

btw, I've added shortcut function and your foot forward thing to Blizz ABS version

Heretic86

Burnout!  Got a little sick of coding and decided to just spend some time off doing different things.

I'll see if I can take a crack at merging them together this weekend.  It looks like I'll end up spending most of my time removing SDK stuff, then I'll try to implement the Blizz compatible version.
Current Scripts:
Heretic's Moving Platforms

Current Demos:
Collection of Art and 100% Compatible Scripts

(Script Demos are all still available in the Collection link above.  I lost some individual demos due to a server crash.)