edmhotta > For the moment, the ground can't go beyond 32px in height.
And you can't use terrain tags to have vertical elements, like in the NeoM7 : this feature is somehow replaced by the terrain heights.
lemonairable & xnadvance > the L/R keys depend on your keyboard configuration. Press F1 to access the settings.
By the way, rotating by pressing keys isn't a native feature in the HM7 : that's in the "DEMO : TEST CAMERA MOVES" part.
HMode-7 looks very good ^^ More clean 3D than previous mode7's.
Are you planning to update this with custom lighting, like with an int instead of bool? I'm curious because it would be interesting to see what it can do, because its only true/false now.
According to the script editor, my R and L keys are W and Q on the keyboard, but neither rotates the map like it should. In fact, I pressed every lettered key on the keyboard, but none of them rotated the map.
By the way, to change the default camera angle and rotation, what portion of the script should I edit? I'm trying to make a diagonal view, 60 degree angle default, like Breath of Fire 3.
Armorphor > That's in the To-do list, but it isn't the priority right now. That would be an option to change the direction and/or incidence of the sunbeam.
lemonairable > what do you mean by "According to the script editor" ? Do you have a custom keyboard script ?
To change the default angles, you don't have to edit the script, but follow the instructions (in the first post) :
Quote:To activate the H-Mode7, you must add [HM7] to the map name.
The following tags are optionnal :
[...]
[#XX] : XX is the angle of slant (in degree) : 0 -> 80, 0 by default
[%XXX] : XXX is the angle of rotation (in degree) : 0 -> 359, 0 by default
[...]
I believe that is actually a combination of a side-view tileset and a small room. Then the only thing you need the script for is to change the angles a bit.
I think that the New Mode 7 script had this kind of feature. But it was just the native RGSS display for maps.
I removed it in the Neo Mode 7 because that was a nonsense when rotating.
If you want to give a try, paste the following script below the HM7, and add [LS] in your maps names :
Content Hidden
Code:
#============================================================================
# ** Game_System
#============================================================================
class Game_System
#--------------------------------------------------------------------------
# * Aliased methods (F12 compatibility)
#--------------------------------------------------------------------------
unless @already_aliased_hm7_edm
alias hm7_reset_hm7_edm_game_system hm7_reset
@already_aliased_hm7_edm = true
end
#--------------------------------------------------------------------------
# * Attributes
#--------------------------------------------------------------------------
attr_accessor :hm7_limit_scroll
#--------------------------------------------------------------------------
# * Reset zoom and pivot
#--------------------------------------------------------------------------
def hm7_reset
hm7_reset_hm7_edm_game_system
self.hm7_limit_scroll = false
end
end
#============================================================================
# ** Game_Player
#============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# * Always center around the hero in mode 7
#--------------------------------------------------------------------------
def center(x, y)
unless $game_system.hm7 && !$game_system.hm7_limit_scroll
center_hm7_game_player(x, y)
return
end
$game_map.display_x = (x << 7) - CENTER_X
$game_map.display_y = (y << 7) - CENTER_Y
end
end
#============================================================================
# ** Game_Map
#============================================================================
class Game_Map
#--------------------------------------------------------------------------
# * Scroll Down
# distance : scroll distance
#--------------------------------------------------------------------------
def scroll_down(distance)
unless $game_system.hm7 && !$game_system.hm7_limit_scroll
scroll_down_hm7_game_map(distance)
return
end
# V.1.1 : integer values for better compatibility
@display_y = @display_y + distance.to_i
end
#--------------------------------------------------------------------------
# * Scroll Left
# distance : scroll distance
#--------------------------------------------------------------------------
def scroll_left(distance)
unless $game_system.hm7 && !$game_system.hm7_limit_scroll
scroll_left_hm7_game_map(distance)
return
end
# V.1.1 : integer values for better compatibility
@display_x = @display_x - distance.to_i
end
#--------------------------------------------------------------------------
# * Scroll Right
# distance : scroll distance
#--------------------------------------------------------------------------
def scroll_right(distance)
unless $game_system.hm7 && !$game_system.hm7_limit_scroll
scroll_right_hm7_game_map(distance)
return
end
# V.1.1 : integer values for better compatibility
@display_x = @display_x + distance.to_i
end
#--------------------------------------------------------------------------
# * Scroll Up
# distance : scroll distance
#--------------------------------------------------------------------------
def scroll_up(distance)
unless $game_system.hm7 && !$game_system.hm7_limit_scroll
scroll_up_hm7_game_map(distance)
return
end
# V.1.1 : integer values for better compatibility
@display_y = @display_y - distance.to_i
end
#--------------------------------------------------------------------------
# * Setup
# map_id : map ID
#--------------------------------------------------------------------------
def setup(map_id)
setup_hm7_game_map(map_id)
if width > 200 || height > 200
return
end
map_data = HM7::Data_Maps[$game_map.map_id]
for keyword in HM7::Maps_Settings.keys
if map_data.full_name.include?(keyword)
$game_system.hm7 = true
$game_system.hm7_reset
command_list = HM7::Maps_Settings[keyword]
$game_system.hm7_loop_x = command_list.include?("X")
$game_system.hm7_loop_y = command_list.include?("Y")
$game_system.hm7_animated = !command_list.include?("DA")
$game_system.hm7_lighting = !command_list.include?("DL")
$game_system.hm7_filter = !command_list.include?("DF")
$game_system.hm7_two_frames_refresh = command_list.include?("HF")
$game_system.hm7_less_cut = command_list.include?("E") # V.1.2.1
$game_system.hm7_no_black_cut = command_list.include?("DB") # V.1.2.1
$game_system.hm7_limit_scroll = command_list.include?("LS")
for command in command_list
if command.include?("R")
$game_system.hm7_resolution = command[/\d+/].to_i
$game_system.hm7_resolution = [[$game_system.hm7_resolution, 1].max, 3].min
end
if command.include?("HMAP")
$game_system.hm7_heightmap = sprintf("Heightmap_%03d", command[/\d+/].to_i)
end
if command.include?("#")
$game_system.hm7_alpha = command[/\d+/].to_i
$game_system.hm7_alpha = [[$game_system.hm7_alpha, 0].max, 80].min
end
if command.include?("%")
$game_system.hm7_theta = command[/\d+/].to_i
$game_system.hm7_theta = [[$game_system.hm7_theta, 0].max, 359].min
end
if command.include?("C")
$game_system.hm7_camera_mode = command[/\d+/].to_i
$game_system.hm7_camera_mode = [[$game_system.hm7_theta, 0].max, 2].min
end
if command.include?("AF")
$game_system.hm7_anim_freq = command[/\d+/].to_i
if $game_system.hm7_anim_freq == 0
$game_system.hm7_anim_freq = 20
end
$game_system.hm7_anim_freq = [[$game_system.hm7_anim_freq, 1].max, 999].min
end
end
return
end
end
$game_system.hm7 = map_data.full_name.include?("[HM7]")
$game_system.hm7_reset
$game_system.hm7_loop_x = map_data.full_name.include?("[X]")
$game_system.hm7_loop_y = map_data.full_name.include?("[Y]")
$game_system.hm7_animated = !map_data.full_name.include?("[DA]")
$game_system.hm7_lighting = !map_data.full_name.include?("[DL]")
$game_system.hm7_filter = !map_data.full_name.include?("[DF]")
$game_system.hm7_two_frames_refresh = map_data.full_name.include?("[HF]")
$game_system.hm7_less_cut = map_data.full_name.include?("[E]") # V.1.2.1
$game_system.hm7_no_black_cut = map_data.full_name.include?("[DB]") # V.1.2.1
$game_system.hm7_limit_scroll = map_data.full_name.include?("[LS]")
if $game_system.hm7
map_data.full_name =~ /\[R(\d+)\]/i
$game_system.hm7_resolution = $1.to_i
$game_system.hm7_resolution = [[$game_system.hm7_resolution, 1].max, 3].min
map_data.full_name =~ /\[HMAP(\d+)\]/i
if $1.to_i > 0
$game_system.hm7_heightmap = sprintf("Heightmap_%03d", $1.to_i)
end
map_data.full_name =~ /\[#(\d+)\]/i
$game_system.hm7_alpha = $1.to_i
$game_system.hm7_alpha = [[$game_system.hm7_alpha, 0].max, 80].min
map_data.full_name =~ /\[%(\d+)\]/i
$game_system.hm7_theta = $1.to_i
$game_system.hm7_theta = [[$game_system.hm7_theta, 0].max, 359].min
map_data.full_name =~ /\[C(\d+)\]/i
$game_system.hm7_camera_mode = $1.to_i
$game_system.hm7_camera_mode = [[$game_system.hm7_camera_mode, 0].max, 2].min
map_data.full_name =~ /\[AF(\d+)\]/i
$game_system.hm7_anim_freq = $1.to_i
if $game_system.hm7_anim_freq == 0
$game_system.hm7_anim_freq = 20
end
$game_system.hm7_anim_freq = [[$game_system.hm7_anim_freq, 1].max, 999].min
end
end
end
(05-25-2011, 03:30 PM)MGC Wrote: I think that the New Mode 7 script had this kind of feature. But it was just the native RGSS display for maps.
I removed it in the Neo Mode 7 because that was a nonsense when rotating.
If you want to give a try, paste the following script below the HM7, and add [LS] in your maps names :
Thank You it works!
Now are missing just height beyond 128px!