Large Door Fix VX + ACE - kyonides - 10-28-2024
Large Door Fix VX + ACE
by Kyonides
Introduction
Have you ever noticed that all doors that are more than 32 pixels wide are automatically centered by the default event scripts?
There is a reason for that effect. They are supposed to be used as a single event that is wide enough for your heroes to slip into important buildings or dangerous dungeons. Nonetheless, that doesn't look quite good while waiting to enter a modern or futuristic supermarket, does it?
That's exactly why you need to grab this script!
It will make it possible to use it as if you had placed 2 door events in a row. 
Actually, the other door event should display NO graphic.
In both VX and VX ACE, that event's priority should be set to Same as Character's.
Remember that the filename should ALWAYS include some @ at symbol.
For RMVX
Code: # * Large Door Fix VX * #
# Scripter : Kyonides Arkanthes
# 2023-09-11
# - The file names of Door Character Sprites should begin with an @ symbol. - #
# That symbol can be either the 1st or 2nd or even the 3rd character of the
# filename. The fix will work as long as the @ symbol is there!
class Sprite_Character
def update_bitmap
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_index != @character.character_index
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_index = @character.character_index
if @tile_id > 0
sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
sy = @tile_id % 256 / 8 % 16 * 32;
self.bitmap = tileset_bitmap(@tile_id)
self.src_rect.set(sx, sy, 32, 32)
self.ox = 16
self.oy = 32
else
self.bitmap = Cache.character(@character_name)
sign = @character_name[/^[\!\$]./]
if sign != nil and sign.include?('$')
@cw = bitmap.width / 3
@ch = bitmap.height / 4
else
@cw = bitmap.width / 12
@ch = bitmap.height / 8
end
self.ox = @character_name[/@/] ? 32 : @cw / 2
self.oy = @ch
end
end
end
end
For RMVX ACE
Code: # * Large Door Fix ACE * #
# Scripter : Kyonides Arkanthes
# 2023-09-11
# - The file names of Door Character Sprites should begin with an @ symbol. - #
# That symbol can be either the 1st or 2nd or even the 3rd character of the
# filename. The fix will work as long as the @ symbol is there!
class Sprite_Character
alias :kyon_door_fix_sprite_char_set_char_bmap :set_character_bitmap
def set_character_bitmap
kyon_door_fix_sprite_char_set_char_bmap
self.ox = 32 if @character_name[/@/]
end
end
Terms & Conditions
Free for use in ANY game. 
Don't remove the header and its comments!
That's it!
|