DirectX9 Interface

The DirectX interface was changed to DirectX9. Your customers will need to have DX9 installed on their PCs, but you will be able to use all the DirectX9 effects, including the more friendly hlsl programming language for shaders.

time_level, time_sky, time_entities, time_effects, time_portals, time_panels, time_update, time_actions, time_pfuncs, time_physics

These new variables allow you to see how much time (in milliseconds / frame) is consumed by the level rendering, the sky, the entities, particle rendering, mirrors or portals, panels, the screen refresh, script execution, particle functions and physics objects.

panel new_debug_panel
{
layer = 10;
pos_x = 0;
pos_y = 0;
digits = 10, 10, 3, _a4font, 1, time_level;
digits = 10, 30, 3, _a4font, 1, time_sky;
digits = 10, 50, 3, _a4font, 1, time_entities;
digits = 10, 70, 3, _a4font, 1, time_effects;
digits = 10, 90, 3, _a4font, 1, time_portals;
digits = 10, 110, 3, _a4font, 1, time_panels;
digits = 10, 130, 3, _a4font, 1, time_update;
digits = 10, 150, 3, _a4font, 1, time_actions;
digits = 10, 170, 3, _a4font, 1, time_pfuncs;
digits = 10, 190, 3, _a4font, 1, time_physics;
flags = overlay, refresh, visible;
}

pan_remove(panel*)

This instruction will remove the specified panel, as well as its associated bitmap(s) from the memory.

bmap mypan_pcx = <mypan.pcx>;

panel test_panel
{
bmap = mypan_pcx;
layer = 10;
pos_x = 0;
pos_y = 0;
flags = overlay, refresh, visible;
}

function remove_test_panel()
{
pan_remove(test_panel); // remove the panel
}

on_r = remove_test_panel;