Название: H-Mode7 Engine
Автор: MGC (MGCaladtogel)
(Heightmaps cache by DerVVulman)
Оригинальный источник:
здесь
Увидел соседнюю тему с mode7 и решил сделать дополнение.
Скрипт, по своей сути, является альтернативой mode7.
Но выглядит намного гламурнее
хотя и своих нюансов и проблем здесь будет побольше.
Кроме того, о возможностях скрипта:
* более 3D вид, больше лагов (Если оригинальный mode7 кажется вам лагнутым - даже не пробуйте)
* регулируемый угол наклона
* вращение на 360°
* отдаление и приближение камеры
* анимированные автотайлы
* вероятно огромное количество багов, т.к. это первая версия
* работает с размером карт до 200 * 200 тайлов
Прилагается скриншот:
И, собственно, ссылка на
демо.
Так же, прилагаю файл помощи, с форума, на английском. Содержит в себе инструкции и список команд.
DerVVulman's help file for textures : Help file
- autotiles textures
There is only one colormap for all autotiles, named "Texture_Auto". It must be placed in a "Autotiles/Textures" folder (it is mandatory).
Texturesets, containing only the four vertical textures, must also be placed in that folder. They must be named "Texture_".
Misc :
- The automatic lighting effect is not adjustable for the moment (but you can deactivate it). That means that shadows have always the same orientation and length.
- As character sprites are always above the HM7 sprite, they are not used to display characters (otherwise characters could not be behind map elements).
Characters are rendered directly in the HM7 bitmap, and thus there are limitations : transparency and blend type are ignored.
- By default characters are drawn at the maximal altitude of their coordinates : ground + 3 layers.
You can activate the bush flag in the tilesets tab of the database to have the altitude of the tile ignored when drawing characters.
Instructions
What is required :
- the script (above main, as usual)
- the file MGC_Hmode7.dll at the root of your project
- specific autotiles, tilesets, textures and heightmaps
To activate the H-Mode7, you must add [HM7] to the map name.
The following tags are optionnal :
[HMAPXXX] : XXX is the identifier of the ground heightmap that must be used for the map
[#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
[X] : enable horizontal map looping
[Y] : enable vertical map looping
[DA] : deactivate animated autotiles
[AFXXX] : XXX is the animations period for animated autotiles : 1 -> 999, 20 frames by default
[DL] : deactivate automatic lighting effects
[RX] : X = 1 -> high resolution (default)
X = 2 -> medium resolution (to increase performance)
X = 3 -> low resolution (to drastically increase performance)
[CX] : X = 0 -> no vertical offset (default)
X = 1 -> vertical offset so that the camera do not cut the ground at the bottom of the screen.
Should be used only when the horizon is visible.
X = 2 -> vertical offset so that the camera do not cut the map at the bottom of the screen.
Should be used only when the horizon is visible.
[DF] : deactivate the filter (better quality, drastically decrease performance)
[HF] : refresh the map every two frames (less fluent, increase performance)
You can also associate a keyword to a configuration at the beginning of the script.
For example, with the following command :
HM7::Maps_Settings["MyKeyword"] = ["#60", "X", "HMAP3"]
if a map name contains "MyKeyword", then the HM7 will be activated, with a slant angle of 60 degrees, horizontal looping,
and using the picture "Heightmap_003" as ground heightmap.
Commands
- To set a new angle of slant (0~80) :
$scene.hm7_set_alpha(new angle)
To slide progressively into a new angle of slant :
$scene.hm7_to_alpha(new angle, speed)
To increase/decrease the slant :
$scene.hm7_increase_alpha(value)
- To set a new angle of rotation (0~379) :
$scene.hm7_set_theta(new angle)
To slide progressively into a new angle of rotation :
$scene.hm7_to_theta(angle, speed, dir)
To increase/decrease the angle of rotation :
$scene.hm7_increase_theta(value)
- To set a new zoom level (in percentage - default = 100) :
$scene.hm7_set_zoom(new value)
To slide progressively into a new zoom level :
$scene.hm7_to_zoom(value, speed)
To increase/decrease the zoom level :
$scene.hm7_increase_zoom(value)
- To change the horizon light fading :
$scene.hm7_set_fading(red, green, blue, flag)
flag = 1 : the color determined by (red, green, blue) will be added to the horizon line
flag = 0 : the color determined by (red, green, blue) will be substracted to the horizon line
- To set the altitude of an event :
add a comment in the commands list with : "Altitude X", where X is the
height value ("Altitude 64" will draw the event 64 pixels above its original position)
- To set the altitude of the player :
use : $game_player.altitude = X
- To have a fixed altitude for an event (not dependant on the maps heights) :
add the comment "Floating" in the commands list
- To have a fixed altitude for the player :
use : $game_player.floating = true
Подробным описанием времени заниматься нет, но с ним вы можете ознакомиться на оригинальном форуме, если знаете английский, конечно
Полагаю, новички вряд ли смогут использовать данную вещь, зато другим... Возможно, будет интересно.