mirror of
https://github.com/nunuhara/xsystem4.git
synced 2026-09-22 23:18:01 +03:00
Merge pull request #358 from kichikuou/3d-debug
debugger: Add "3d" debugger commands
This commit is contained in:
@@ -234,6 +234,9 @@ struct RE_instance {
|
||||
int texture_animation_index;
|
||||
};
|
||||
|
||||
#define RE_MAX_PLUGINS 2
|
||||
struct RE_plugin *RE_get_plugin(int handle);
|
||||
|
||||
struct RE_plugin *RE_plugin_new(enum RE_plugin_version version);
|
||||
void RE_plugin_free(struct RE_plugin *plugin);
|
||||
bool RE_plugin_bind(struct RE_plugin *plugin, int sprite);
|
||||
@@ -358,4 +361,7 @@ bool ReignEngine_BindPlugin(int handle, int sprite);
|
||||
// Exposed for MarmotModelEngine
|
||||
void ReignEngine_update_models(void);
|
||||
|
||||
// debug.c
|
||||
void re_debug_init(void);
|
||||
|
||||
#endif /* SYSTEM4_REIGN_H */
|
||||
|
||||
+249
-2
@@ -18,8 +18,12 @@
|
||||
|
||||
#include "3d_internal.h"
|
||||
#include "cJSON.h"
|
||||
#include "debugger.h"
|
||||
#include "gfx/gfx.h"
|
||||
#include "json.h"
|
||||
#include "reign.h"
|
||||
#include "sact.h"
|
||||
#include "scene.h"
|
||||
#include "sprite.h"
|
||||
#include "xsystem4.h"
|
||||
|
||||
@@ -115,6 +119,9 @@ static cJSON *instance_to_json(struct RE_instance *inst, int index, bool verbose
|
||||
if (inst->effect) {
|
||||
cJSON_AddStringToObject(obj, "path", inst->effect->pae->path);
|
||||
}
|
||||
if (inst->s3de_effect && inst->s3de_effect->s3de) {
|
||||
cJSON_AddStringToObject(obj, "path", inst->s3de_effect->s3de->path);
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
@@ -143,9 +150,8 @@ static cJSON *back_cg_to_json(struct RE_back_cg *bcg, int index, bool verbose)
|
||||
return obj;
|
||||
}
|
||||
|
||||
cJSON *RE_to_json(struct sact_sprite *sp, bool verbose)
|
||||
static cJSON *re_plugin_to_json(struct RE_plugin *p, bool verbose)
|
||||
{
|
||||
struct RE_plugin *p = (struct RE_plugin*)sp->plugin;
|
||||
cJSON *obj, *cam, *a;
|
||||
|
||||
obj = cJSON_CreateObject();
|
||||
@@ -198,3 +204,244 @@ cJSON *RE_to_json(struct sact_sprite *sp, bool verbose)
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
cJSON *RE_to_json(struct sact_sprite *sp, bool verbose)
|
||||
{
|
||||
return re_plugin_to_json((struct RE_plugin*)sp->plugin, verbose);
|
||||
}
|
||||
|
||||
#ifdef DEBUGGER_ENABLED
|
||||
|
||||
static int dbg_current_plugin = -1;
|
||||
|
||||
// Returns the plugin number to use. Falls back to the only existing plugin
|
||||
// if no current is set. Prints an error and returns -1 if neither holds.
|
||||
static int dbg_resolve_plugin(void)
|
||||
{
|
||||
if (dbg_current_plugin >= 0) {
|
||||
if (RE_get_plugin(dbg_current_plugin))
|
||||
return dbg_current_plugin;
|
||||
DBG_ERROR("Current plugin %d no longer exists", dbg_current_plugin);
|
||||
dbg_current_plugin = -1;
|
||||
return -1;
|
||||
}
|
||||
int found = -1;
|
||||
for (int h = 0; h < RE_MAX_PLUGINS; h++) {
|
||||
if (!RE_get_plugin(h))
|
||||
continue;
|
||||
if (found >= 0) {
|
||||
DBG_ERROR("Multiple plugins exist; use '3d plugin <no>' to choose one");
|
||||
return -1;
|
||||
}
|
||||
found = h;
|
||||
}
|
||||
if (found < 0) {
|
||||
DBG_ERROR("No ReignEngine plugins");
|
||||
return -1;
|
||||
}
|
||||
return found;
|
||||
}
|
||||
|
||||
static struct RE_plugin *dbg_current_re_plugin(void)
|
||||
{
|
||||
int no = dbg_resolve_plugin();
|
||||
return no < 0 ? NULL : RE_get_plugin(no);
|
||||
}
|
||||
|
||||
static bool instance_has_content(struct RE_instance *inst)
|
||||
{
|
||||
if (inst->type == RE_ITYPE_UNINITIALIZED)
|
||||
return false;
|
||||
if (inst->model && inst->model->path)
|
||||
return true;
|
||||
if (inst->motion && inst->motion->mot)
|
||||
return true;
|
||||
if (inst->effect && inst->effect->pae)
|
||||
return true;
|
||||
if (inst->s3de_effect && inst->s3de_effect->s3de)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void instance_list_print(struct RE_instance *inst, int index, int indent)
|
||||
{
|
||||
indent_message(indent, inst->draw ? "+ " : "- ");
|
||||
sys_message("instance %d (%s)", index, instance_type_name(inst->type));
|
||||
if (inst->model && inst->model->path)
|
||||
sys_message(" model=%s", display_sjis0(inst->model->path));
|
||||
if (inst->motion && inst->motion->mot)
|
||||
sys_message(" motion=%s/%s frame=%.2f",
|
||||
display_sjis0(inst->motion->mot->name),
|
||||
motion_state_name(inst->motion->state),
|
||||
inst->motion->current_frame);
|
||||
if (inst->effect && inst->effect->pae)
|
||||
sys_message(" effect=%s", display_sjis0(inst->effect->pae->path));
|
||||
if (inst->s3de_effect && inst->s3de_effect->s3de)
|
||||
sys_message(" s3de=%s", display_sjis0(inst->s3de_effect->s3de->path));
|
||||
sys_message("\n");
|
||||
}
|
||||
|
||||
static void re_cmd_list(unsigned nr_args, char **args)
|
||||
{
|
||||
bool show_all = nr_args >= 1 && !strcmp(args[0], "all");
|
||||
for (int h = 0; h < RE_MAX_PLUGINS; h++) {
|
||||
struct RE_plugin *p = RE_get_plugin(h);
|
||||
if (!p)
|
||||
continue;
|
||||
int nr_hidden = 0;
|
||||
sys_message("plugin %d (%s sprite=%d nr_instances=%d)\n",
|
||||
h, p->plugin.name, p->sprite, p->nr_instances);
|
||||
for (int i = 0; i < p->nr_instances; i++) {
|
||||
struct RE_instance *inst = p->instances[i];
|
||||
if (!inst)
|
||||
continue;
|
||||
if (!show_all && !instance_has_content(inst)) {
|
||||
nr_hidden++;
|
||||
continue;
|
||||
}
|
||||
instance_list_print(inst, i, 1);
|
||||
}
|
||||
if (nr_hidden)
|
||||
indent_message(1, "(%d empty instance(s) hidden; use 'list all' to show)\n",
|
||||
nr_hidden);
|
||||
}
|
||||
}
|
||||
|
||||
static void re_cmd_plugin(unsigned nr_args, char **args)
|
||||
{
|
||||
if (nr_args == 0) {
|
||||
int no = dbg_resolve_plugin();
|
||||
if (no < 0)
|
||||
return;
|
||||
struct RE_plugin *p = RE_get_plugin(no);
|
||||
sys_message("plugin %d (%s)%s\n", no, p->plugin.name,
|
||||
dbg_current_plugin < 0 ? " (auto-selected)" : "");
|
||||
return;
|
||||
}
|
||||
int no = atoi(args[0]);
|
||||
if (!RE_get_plugin(no)) {
|
||||
DBG_ERROR("No ReignEngine plugin with handle '%s'", args[0]);
|
||||
return;
|
||||
}
|
||||
dbg_current_plugin = no;
|
||||
}
|
||||
|
||||
static void re_cmd_show(unsigned nr_args, char **args)
|
||||
{
|
||||
struct RE_plugin *p = dbg_current_re_plugin();
|
||||
if (!p)
|
||||
return;
|
||||
|
||||
cJSON *json;
|
||||
if (nr_args >= 1) {
|
||||
int idx = atoi(args[0]);
|
||||
if (idx < 0 || idx >= p->nr_instances || !p->instances[idx]) {
|
||||
DBG_ERROR("No instance with index '%s'", args[0]);
|
||||
return;
|
||||
}
|
||||
json = instance_to_json(p->instances[idx], idx, true);
|
||||
} else {
|
||||
json = re_plugin_to_json(p, true);
|
||||
}
|
||||
char *text = cJSON_Print(json);
|
||||
|
||||
sys_message("%s\n", text);
|
||||
|
||||
free(text);
|
||||
cJSON_Delete(json);
|
||||
}
|
||||
|
||||
static void re_cmd_set(unsigned nr_args, char **args)
|
||||
{
|
||||
struct RE_plugin *p = dbg_current_re_plugin();
|
||||
if (!p)
|
||||
return;
|
||||
int idx = atoi(args[0]);
|
||||
if (idx < 0 || idx >= p->nr_instances || !p->instances[idx]) {
|
||||
DBG_ERROR("No instance with index '%s'", args[0]);
|
||||
return;
|
||||
}
|
||||
struct RE_instance *inst = p->instances[idx];
|
||||
const char *prop = args[1];
|
||||
unsigned nr_values = nr_args - 2;
|
||||
char **values = &args[2];
|
||||
|
||||
if (!strcmp(prop, "draw")) {
|
||||
if (nr_values != 1) {
|
||||
DBG_ERROR("'draw' requires 1 value (0 or 1)");
|
||||
return;
|
||||
}
|
||||
inst->draw = atoi(values[0]) != 0;
|
||||
} else if (!strcmp(prop, "pos")) {
|
||||
if (nr_values != 3) {
|
||||
DBG_ERROR("'pos' requires 3 values (x y z)");
|
||||
return;
|
||||
}
|
||||
inst->pos[0] = strtof(values[0], NULL);
|
||||
inst->pos[1] = strtof(values[1], NULL);
|
||||
inst->pos[2] = strtof(values[2], NULL);
|
||||
inst->local_transform_needs_update = true;
|
||||
} else {
|
||||
DBG_ERROR("Unknown property '%s'", prop);
|
||||
return;
|
||||
}
|
||||
|
||||
sprite_call_plugins();
|
||||
scene_render();
|
||||
gfx_swap();
|
||||
}
|
||||
|
||||
static void re_cmd_help(unsigned nr_args, char **args);
|
||||
|
||||
static struct dbg_cmd re_cmds[] = {
|
||||
{ "list", NULL, "[all]",
|
||||
"Display ReignEngine plugins and their instances (use 'all' to include uninitialized)",
|
||||
0, 1, re_cmd_list },
|
||||
{ "plugin", NULL, "[<plugin-no>]",
|
||||
"Show or set the current plugin used by 'show' and 'set'",
|
||||
0, 1, re_cmd_plugin },
|
||||
{ "show", NULL, "[<instance-no>]",
|
||||
"Display current plugin or instance state as JSON",
|
||||
0, 1, re_cmd_show },
|
||||
{ "set", NULL, "<instance-no> <property> <value...>",
|
||||
"Set an instance property (draw, pos)",
|
||||
3, 5, re_cmd_set },
|
||||
{ "help", "h", NULL, "List 3d commands",
|
||||
0, 0, re_cmd_help },
|
||||
};
|
||||
|
||||
static void re_cmd_help(unsigned nr_args, char **args)
|
||||
{
|
||||
int name_len = 0;
|
||||
for (unsigned i = 0; i < sizeof(re_cmds)/sizeof(*re_cmds); i++) {
|
||||
int n = strlen(re_cmds[i].fullname);
|
||||
if (n > name_len)
|
||||
name_len = n;
|
||||
}
|
||||
sys_message("\n3d commands\n===========\n");
|
||||
for (unsigned i = 0; i < sizeof(re_cmds)/sizeof(*re_cmds); i++) {
|
||||
struct dbg_cmd *c = &re_cmds[i];
|
||||
sys_message("%*s", name_len, c->fullname);
|
||||
if (c->shortname)
|
||||
sys_message(" (%s)", c->shortname);
|
||||
if (c->arg_description)
|
||||
sys_message(" %s", c->arg_description);
|
||||
sys_message(" -- %s\n", c->description);
|
||||
}
|
||||
}
|
||||
|
||||
void re_debug_init(void)
|
||||
{
|
||||
static bool initialized = false;
|
||||
if (initialized)
|
||||
return;
|
||||
initialized = true;
|
||||
|
||||
dbg_cmd_add_module("3d", sizeof(re_cmds)/sizeof(*re_cmds), re_cmds);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void re_debug_init(void) {}
|
||||
|
||||
#endif // DEBUGGER_ENABLED
|
||||
|
||||
@@ -222,6 +222,7 @@ static void update_bones(struct RE_instance *inst)
|
||||
|
||||
struct RE_plugin *RE_plugin_new(enum RE_plugin_version version)
|
||||
{
|
||||
re_debug_init();
|
||||
re_plugin_version = version;
|
||||
|
||||
char *aar_path = gamedir_path(version <= RE_TAPIR_PLUGIN ? "Data/ReignData.red" : "Data/3DData.red");
|
||||
|
||||
+99
-101
@@ -26,8 +26,6 @@
|
||||
#include "reign.h"
|
||||
#include "vm/page.h"
|
||||
|
||||
#define RE_MAX_PLUGINS 2
|
||||
|
||||
struct RE_options RE_options;
|
||||
|
||||
static struct RE_plugin *plugins[RE_MAX_PLUGINS];
|
||||
@@ -44,9 +42,9 @@ int ReignEngine_create_plugin(enum RE_plugin_version version)
|
||||
return -1;
|
||||
}
|
||||
|
||||
static struct RE_plugin *get_plugin(unsigned plugin)
|
||||
struct RE_plugin *RE_get_plugin(int handle)
|
||||
{
|
||||
return plugin < RE_MAX_PLUGINS ? plugins[plugin] : NULL;
|
||||
return (unsigned)handle < RE_MAX_PLUGINS ? plugins[handle] : NULL;
|
||||
}
|
||||
|
||||
void ReignEngine_update_models(void)
|
||||
@@ -59,7 +57,7 @@ void ReignEngine_update_models(void)
|
||||
|
||||
static struct RE_instance *get_instance(unsigned plugin, unsigned instance)
|
||||
{
|
||||
struct RE_plugin *rp = get_plugin(plugin);
|
||||
struct RE_plugin *rp = RE_get_plugin(plugin);
|
||||
if (!rp)
|
||||
return NULL;
|
||||
return instance < (unsigned)rp->nr_instances ? rp->instances[instance] : NULL;
|
||||
@@ -90,7 +88,7 @@ static struct particle_object *get_particle(unsigned plugin, unsigned instance,
|
||||
|
||||
static struct RE_back_cg *get_back_cg(unsigned plugin, unsigned num)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p || num >= RE_NR_BACK_CGS)
|
||||
return NULL;
|
||||
return &p->back_cg[num];
|
||||
@@ -112,27 +110,27 @@ bool ReignEngine_ReleasePlugin(int handle)
|
||||
|
||||
bool ReignEngine_BindPlugin(int handle, int sprite)
|
||||
{
|
||||
return RE_plugin_bind(get_plugin(handle), sprite);
|
||||
return RE_plugin_bind(RE_get_plugin(handle), sprite);
|
||||
}
|
||||
|
||||
static bool ReignEngine_UnbindPlugin(int handle)
|
||||
{
|
||||
return RE_plugin_unbind(get_plugin(handle));
|
||||
return RE_plugin_unbind(RE_get_plugin(handle));
|
||||
}
|
||||
|
||||
static bool ReignEngine_BuildModel(int plugin, int pass_time)
|
||||
{
|
||||
return RE_build_model(get_plugin(plugin), pass_time);
|
||||
return RE_build_model(RE_get_plugin(plugin), pass_time);
|
||||
}
|
||||
|
||||
static int ReignEngine_CreateInstance(int plugin)
|
||||
{
|
||||
return RE_create_instance(get_plugin(plugin));
|
||||
return RE_create_instance(RE_get_plugin(plugin));
|
||||
}
|
||||
|
||||
static bool ReignEngine_ReleaseInstance(int plugin, int instance)
|
||||
{
|
||||
return RE_release_instance(get_plugin(plugin), instance);
|
||||
return RE_release_instance(RE_get_plugin(plugin), instance);
|
||||
}
|
||||
|
||||
static bool ReignEngine_LoadInstance(int plugin, int instance, struct string *name)
|
||||
@@ -1077,7 +1075,7 @@ static bool ReignEngine_SetCameraQuakeEffectFlag(int plugin, int instance, bool
|
||||
|
||||
static bool ReignEngine_SetCameraPos(int plugin, float x, float y, float z)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->camera.pos[0] = x;
|
||||
@@ -1088,7 +1086,7 @@ static bool ReignEngine_SetCameraPos(int plugin, float x, float y, float z)
|
||||
|
||||
static bool ReignEngine_SetCameraAngle(int plugin, float angle)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->camera.yaw = angle;
|
||||
@@ -1097,7 +1095,7 @@ static bool ReignEngine_SetCameraAngle(int plugin, float angle)
|
||||
|
||||
static bool ReignEngine_SetCameraAngleP(int plugin, float angle_p)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->camera.pitch = angle_p;
|
||||
@@ -1106,7 +1104,7 @@ static bool ReignEngine_SetCameraAngleP(int plugin, float angle_p)
|
||||
|
||||
static bool ReignEngine_SetCameraAngleB(int plugin, float angle_b)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->camera.roll = angle_b;
|
||||
@@ -1118,7 +1116,7 @@ static bool ReignEngine_SetCameraAngleB(int plugin, float angle_b)
|
||||
|
||||
static int ReignEngine_GetShadowMapResolutionLevel(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->shadow_map_resolution_level : 0;
|
||||
}
|
||||
|
||||
@@ -1136,7 +1134,7 @@ HLL_QUIET_UNIMPLEMENTED(true, bool, ReignEngine, SetShadowMapLightLookPos, int p
|
||||
|
||||
static bool ReignEngine_SetShadowMapLightDir(int plugin, float x, float y, float z)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->shadow_map_light_dir[0] = x;
|
||||
@@ -1150,7 +1148,7 @@ HLL_QUIET_UNIMPLEMENTED(true, bool, ReignEngine, SetShadowBox, int plugin, float
|
||||
|
||||
static bool ReignEngine_SetShadowBias(int plugin, int num, float shadow_bias)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
if (num != 0) {
|
||||
@@ -1167,7 +1165,7 @@ static bool ReignEngine_SetShadowBias(int plugin, int num, float shadow_bias)
|
||||
|
||||
static bool ReignEngine_SetShadowMapResolutionLevel(int plugin, int level)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->shadow_map_resolution_level = level;
|
||||
@@ -1178,13 +1176,13 @@ static bool ReignEngine_SetShadowMapResolutionLevel(int plugin, int level)
|
||||
|
||||
static bool ReignEngine_SetFogType(int plugin, int type)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? RE_plugin_set_fog_type(p, type) : false;
|
||||
}
|
||||
|
||||
static bool ReignEngine_SetFogNear(int plugin, float near)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->fog_near = near;
|
||||
@@ -1193,7 +1191,7 @@ static bool ReignEngine_SetFogNear(int plugin, float near)
|
||||
|
||||
static bool ReignEngine_SetFogFar(int plugin, float far)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->fog_far = far;
|
||||
@@ -1202,7 +1200,7 @@ static bool ReignEngine_SetFogFar(int plugin, float far)
|
||||
|
||||
static bool ReignEngine_SetFogColor(int plugin, float r, float g, float b)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->fog_color[0] = r;
|
||||
@@ -1213,25 +1211,25 @@ static bool ReignEngine_SetFogColor(int plugin, float r, float g, float b)
|
||||
|
||||
static int ReignEngine_GetFogType(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? RE_plugin_get_fog_type(p) : 0;
|
||||
}
|
||||
|
||||
static float ReignEngine_GetFogNear(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->fog_near : 0.0;
|
||||
}
|
||||
|
||||
static float ReignEngine_GetFogFar(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->fog_far : 0.0;
|
||||
}
|
||||
|
||||
static void ReignEngine_GetFogColor(int plugin, float *r, float *g, float *b)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return;
|
||||
*r = p->fog_color[0];
|
||||
@@ -1243,31 +1241,31 @@ HLL_WARN_UNIMPLEMENTED(false, bool, ReignEngine, LoadLightScatteringSetting, int
|
||||
|
||||
static float ReignEngine_GetLSBetaR(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->ls_beta_r : 0.0;
|
||||
}
|
||||
|
||||
static float ReignEngine_GetLSBetaM(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->ls_beta_m : 0.0;
|
||||
}
|
||||
|
||||
static float ReignEngine_GetLSG(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->ls_g : 0.0;
|
||||
}
|
||||
|
||||
static float ReignEngine_GetLSDistance(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->ls_distance : 0.0;
|
||||
}
|
||||
|
||||
static void ReignEngine_GetLSLightDir(int plugin, float *x, float *y, float *z)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return;
|
||||
*x = p->ls_light_dir[0];
|
||||
@@ -1277,7 +1275,7 @@ static void ReignEngine_GetLSLightDir(int plugin, float *x, float *y, float *z)
|
||||
|
||||
static void ReignEngine_GetLSLightColor(int plugin, float *r, float *g, float *b)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return;
|
||||
*r = p->ls_light_color[0];
|
||||
@@ -1287,7 +1285,7 @@ static void ReignEngine_GetLSLightColor(int plugin, float *r, float *g, float *b
|
||||
|
||||
static void ReignEngine_GetLSSunColor(int plugin, float *r, float *g, float *b)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return;
|
||||
*r = p->ls_sun_color[0];
|
||||
@@ -1297,7 +1295,7 @@ static void ReignEngine_GetLSSunColor(int plugin, float *r, float *g, float *b)
|
||||
|
||||
static bool ReignEngine_SetLSBetaR(int plugin, float beta_r)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->ls_beta_r = beta_r;
|
||||
@@ -1306,7 +1304,7 @@ static bool ReignEngine_SetLSBetaR(int plugin, float beta_r)
|
||||
|
||||
static bool ReignEngine_SetLSBetaM(int plugin, float beta_m)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->ls_beta_m = beta_m;
|
||||
@@ -1315,7 +1313,7 @@ static bool ReignEngine_SetLSBetaM(int plugin, float beta_m)
|
||||
|
||||
static bool ReignEngine_SetLSG(int plugin, float g)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->ls_g = g;
|
||||
@@ -1324,7 +1322,7 @@ static bool ReignEngine_SetLSG(int plugin, float g)
|
||||
|
||||
static bool ReignEngine_SetLSDistance(int plugin, float distance)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->ls_distance = distance;
|
||||
@@ -1333,7 +1331,7 @@ static bool ReignEngine_SetLSDistance(int plugin, float distance)
|
||||
|
||||
static bool ReignEngine_SetLSLightDir(int plugin, float x, float y, float z)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->ls_light_dir[0] = x;
|
||||
@@ -1345,7 +1343,7 @@ static bool ReignEngine_SetLSLightDir(int plugin, float x, float y, float z)
|
||||
|
||||
static bool ReignEngine_SetLSLightColor(int plugin, float r, float g, float b)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->ls_light_color[0] = r;
|
||||
@@ -1356,7 +1354,7 @@ static bool ReignEngine_SetLSLightColor(int plugin, float r, float g, float b)
|
||||
|
||||
static bool ReignEngine_SetLSSunColor(int plugin, float r, float g, float b)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->ls_sun_color[0] = r;
|
||||
@@ -1392,12 +1390,12 @@ static int ReignEngine_GetOptionWaitVSync(void)
|
||||
|
||||
static bool ReignEngine_SetViewport(int plugin, int x, int y, int width, int height)
|
||||
{
|
||||
return RE_set_viewport(get_plugin(plugin), x, y, width, height);
|
||||
return RE_set_viewport(RE_get_plugin(plugin), x, y, width, height);
|
||||
}
|
||||
|
||||
bool ReignEngine_SetProjection(int plugin, float width, float height, float near, float far, float deg)
|
||||
{
|
||||
return RE_set_projection(get_plugin(plugin), width, height, near, far, deg);
|
||||
return RE_set_projection(RE_get_plugin(plugin), width, height, near, far, deg);
|
||||
}
|
||||
|
||||
//float ReignEngine_GetBrightness(int plugin);
|
||||
@@ -1405,7 +1403,7 @@ bool ReignEngine_SetProjection(int plugin, float width, float height, float near
|
||||
|
||||
static bool ReignEngine_SetRenderMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->render_mode = mode;
|
||||
@@ -1414,7 +1412,7 @@ static bool ReignEngine_SetRenderMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_SetShadowMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->shadow_mode = mode;
|
||||
@@ -1423,7 +1421,7 @@ static bool ReignEngine_SetShadowMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_SetBumpMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->bump_mode = mode;
|
||||
@@ -1434,7 +1432,7 @@ static bool ReignEngine_SetBumpMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_SetVertexBlendMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->vertex_blend_mode = mode;
|
||||
@@ -1443,7 +1441,7 @@ static bool ReignEngine_SetVertexBlendMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_SetFogMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->fog_mode = mode;
|
||||
@@ -1452,7 +1450,7 @@ static bool ReignEngine_SetFogMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_SetSpecularMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->specular_mode = mode;
|
||||
@@ -1461,7 +1459,7 @@ static bool ReignEngine_SetSpecularMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_SetLightMapMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->light_map_mode = mode;
|
||||
@@ -1470,7 +1468,7 @@ static bool ReignEngine_SetLightMapMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_SetSoftFogEdgeMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->soft_fog_edge_mode = mode;
|
||||
@@ -1479,7 +1477,7 @@ static bool ReignEngine_SetSoftFogEdgeMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_SetSSAOMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->ssao_mode = mode;
|
||||
@@ -1488,7 +1486,7 @@ static bool ReignEngine_SetSSAOMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_SetShaderPrecisionMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->shader_precision_mode = mode;
|
||||
@@ -1499,19 +1497,19 @@ static bool ReignEngine_SetShaderPrecisionMode(int plugin, int mode)
|
||||
|
||||
static int ReignEngine_GetRenderMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->render_mode : 0;
|
||||
}
|
||||
|
||||
static int ReignEngine_GetShadowMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->shadow_mode : 0;
|
||||
}
|
||||
|
||||
static int ReignEngine_GetBumpMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->bump_mode : 0;
|
||||
}
|
||||
|
||||
@@ -1519,43 +1517,43 @@ static int ReignEngine_GetBumpMode(int plugin)
|
||||
|
||||
static int ReignEngine_GetVertexBlendMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->vertex_blend_mode : 0;
|
||||
}
|
||||
|
||||
static int ReignEngine_GetFogMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->fog_mode : 0;
|
||||
}
|
||||
|
||||
static int ReignEngine_GetSpecularMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->specular_mode : 0;
|
||||
}
|
||||
|
||||
static int ReignEngine_GetLightMapMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->light_map_mode : 0;
|
||||
}
|
||||
|
||||
static int ReignEngine_GetSoftFogEdgeMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->soft_fog_edge_mode : 0;
|
||||
}
|
||||
|
||||
static int ReignEngine_GetSSAOMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->ssao_mode : 0;
|
||||
}
|
||||
|
||||
static int ReignEngine_GetShaderPrecisionMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->shader_precision_mode : 0;
|
||||
}
|
||||
|
||||
@@ -1563,19 +1561,19 @@ static int ReignEngine_GetShaderPrecisionMode(int plugin)
|
||||
|
||||
static int ReignEngine_GetTextureResolutionLevel(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->texture_resolution_level : 0;
|
||||
}
|
||||
|
||||
static int ReignEngine_GetTextureFilterMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->texture_filter_mode : 0;
|
||||
}
|
||||
|
||||
static bool ReignEngine_SetTextureResolutionLevel(int plugin, int level)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->texture_resolution_level = level;
|
||||
@@ -1584,7 +1582,7 @@ static bool ReignEngine_SetTextureResolutionLevel(int plugin, int level)
|
||||
|
||||
static bool ReignEngine_SetTextureFilterMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->texture_filter_mode = mode;
|
||||
@@ -1593,13 +1591,13 @@ static bool ReignEngine_SetTextureFilterMode(int plugin, int mode)
|
||||
|
||||
static bool ReignEngine_GetUsePower2Texture(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->use_power2_texture : false;
|
||||
}
|
||||
|
||||
static bool ReignEngine_SetUsePower2Texture(int plugin, bool use)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->use_power2_texture = use;
|
||||
@@ -1608,7 +1606,7 @@ static bool ReignEngine_SetUsePower2Texture(int plugin, bool use)
|
||||
|
||||
static bool ReignEngine_GetGlobalAmbient(int plugin, float *r, float *g, float *b)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
*r = p->global_ambient[0];
|
||||
@@ -1619,7 +1617,7 @@ static bool ReignEngine_GetGlobalAmbient(int plugin, float *r, float *g, float *
|
||||
|
||||
static bool ReignEngine_SetGlobalAmbient(int plugin, float r, float g, float b)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->global_ambient[0] = r;
|
||||
@@ -1630,13 +1628,13 @@ static bool ReignEngine_SetGlobalAmbient(int plugin, float r, float g, float b)
|
||||
|
||||
static int ReignEngine_GetBloomMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->bloom_mode : 0;
|
||||
}
|
||||
|
||||
static bool ReignEngine_SetBloomMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->bloom_mode = mode;
|
||||
@@ -1645,13 +1643,13 @@ static bool ReignEngine_SetBloomMode(int plugin, int mode)
|
||||
|
||||
static int ReignEngine_GetGlareMode(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->glare_mode : 0;
|
||||
}
|
||||
|
||||
static bool ReignEngine_SetGlareMode(int plugin, int mode)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->glare_mode = mode;
|
||||
@@ -1660,25 +1658,25 @@ static bool ReignEngine_SetGlareMode(int plugin, int mode)
|
||||
|
||||
static float ReignEngine_GetPostEffectFilterY(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->post_effect_filter_y : 0.0;
|
||||
}
|
||||
|
||||
static float ReignEngine_GetPostEffectFilterCb(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->post_effect_filter_cb : 0.0;
|
||||
}
|
||||
|
||||
static float ReignEngine_GetPostEffectFilterCr(int plugin)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
return p ? p->post_effect_filter_cr : 0.0;
|
||||
}
|
||||
|
||||
static bool ReignEngine_SetPostEffectFilterY(int plugin, float y)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->post_effect_filter_y = y;
|
||||
@@ -1687,7 +1685,7 @@ static bool ReignEngine_SetPostEffectFilterY(int plugin, float y)
|
||||
|
||||
static bool ReignEngine_SetPostEffectFilterCb(int plugin, float cb)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->post_effect_filter_cb = cb;
|
||||
@@ -1696,7 +1694,7 @@ static bool ReignEngine_SetPostEffectFilterCb(int plugin, float cb)
|
||||
|
||||
static bool ReignEngine_SetPostEffectFilterCr(int plugin, float cr)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
p->post_effect_filter_cr = cr;
|
||||
@@ -1754,7 +1752,7 @@ static bool ReignEngine_GetBackCGShow(int plugin, int num)
|
||||
|
||||
static bool ReignEngine_SetBackCGName(int plugin, int num, struct string *cg_name)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin);
|
||||
if (!p)
|
||||
return false;
|
||||
return RE_back_cg_set_name(get_back_cg(plugin, num), cg_name, p->aar);
|
||||
@@ -1827,7 +1825,7 @@ static int TapirEngine_CreatePlugin(void)
|
||||
|
||||
static bool TapirEngine_SetInstanceDrawParam(int plugin_number, int instance_number, int draw_param, int value)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin_number);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin_number);
|
||||
struct RE_instance *ri = get_instance(plugin_number, instance_number);
|
||||
if (!p || !ri)
|
||||
return false;
|
||||
@@ -1842,7 +1840,7 @@ static bool TapirEngine_SetInstanceDrawParam(int plugin_number, int instance_num
|
||||
|
||||
static bool TapirEngine_GetInstanceDrawParam(int plugin_number, int instance_number, int draw_param, int *value)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin_number);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin_number);
|
||||
struct RE_instance *ri = get_instance(plugin_number, instance_number);
|
||||
if (!p || !ri)
|
||||
return false;
|
||||
@@ -1927,7 +1925,7 @@ static bool TapirEngine_SetInstanceMeshShow(int plugin, int instance, struct str
|
||||
|
||||
static bool TapirEngine_SetDrawOption(int plugin_number, int draw_option, int param)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin_number);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin_number);
|
||||
if (!p)
|
||||
return false;
|
||||
if ((unsigned)draw_option >= RE_DRAW_OPTION_MAX) {
|
||||
@@ -1940,7 +1938,7 @@ static bool TapirEngine_SetDrawOption(int plugin_number, int draw_option, int pa
|
||||
|
||||
static int TapirEngine_GetDrawOption(int plugin_number, int draw_option)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin_number);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin_number);
|
||||
if (!p)
|
||||
return false;
|
||||
if ((unsigned)draw_option >= RE_DRAW_OPTION_MAX) {
|
||||
@@ -1956,18 +1954,18 @@ HLL_WARN_UNIMPLEMENTED(false, bool, TapirEngine, SetThreadLoadingMode, int plugi
|
||||
|
||||
static bool TapirEngine_Suspend(int plugin_number)
|
||||
{
|
||||
return RE_plugin_suspend(get_plugin(plugin_number));
|
||||
return RE_plugin_suspend(RE_get_plugin(plugin_number));
|
||||
}
|
||||
|
||||
static bool TapirEngine_IsSuspend(int plugin_number)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(plugin_number);
|
||||
struct RE_plugin *p = RE_get_plugin(plugin_number);
|
||||
return p && p->suspended;
|
||||
}
|
||||
|
||||
static bool TapirEngine_Resume(int plugin_number)
|
||||
{
|
||||
return RE_plugin_resume(get_plugin(plugin_number));
|
||||
return RE_plugin_resume(RE_get_plugin(plugin_number));
|
||||
}
|
||||
|
||||
static int TapirEngine_GetNumofPlugin(void)
|
||||
@@ -1982,7 +1980,7 @@ static int TapirEngine_GetNumofPlugin(void)
|
||||
|
||||
static bool TapirEngine_IsExistPlugin(int plugin_number)
|
||||
{
|
||||
return get_plugin(plugin_number) != NULL;
|
||||
return RE_get_plugin(plugin_number) != NULL;
|
||||
}
|
||||
|
||||
//int TapirEngine_GetNumofInstance(int PluginNumber);
|
||||
@@ -2472,7 +2470,7 @@ HLL_WARN_UNIMPLEMENTED(false, bool, SealEngine, SetInstanceCircleShadowRadius, i
|
||||
//float SealEngine_GetInstanceCircleShadowRadius(int PluginNumber, int InstanceNumber);
|
||||
static bool SealEngine_LoadInstanceLightParam(int plugin, int instance)
|
||||
{
|
||||
struct RE_plugin *rp = get_plugin(plugin);
|
||||
struct RE_plugin *rp = RE_get_plugin(plugin);
|
||||
struct RE_instance *ri = get_instance(plugin, instance);
|
||||
if (!rp || !ri || !ri->light_params)
|
||||
return false;
|
||||
@@ -2482,7 +2480,7 @@ static bool SealEngine_LoadInstanceLightParam(int plugin, int instance)
|
||||
|
||||
static bool SealEngine_StoreInstanceLightParam(int plugin, int instance)
|
||||
{
|
||||
struct RE_plugin *rp = get_plugin(plugin);
|
||||
struct RE_plugin *rp = RE_get_plugin(plugin);
|
||||
struct RE_instance *ri = get_instance(plugin, instance);
|
||||
if (!rp || !ri || !ri->light_params)
|
||||
return false;
|
||||
@@ -2515,7 +2513,7 @@ static bool SealEngine_IsInstanceUseMagSpeed(int plugin, int instance)
|
||||
static bool SealEngine_GetCameraZVector(int plugin, float *x, float *y, float *z)
|
||||
{
|
||||
vec3 result;
|
||||
if (!RE_plugin_get_camera_z_vector(get_plugin(plugin), result))
|
||||
if (!RE_plugin_get_camera_z_vector(RE_get_plugin(plugin), result))
|
||||
return false;
|
||||
*x = result[0];
|
||||
*y = result[1];
|
||||
@@ -2539,7 +2537,7 @@ HLL_WARN_UNIMPLEMENTED(false, bool, SealEngine, SetShadowRate, int PluginNumber,
|
||||
//float SealEngine_GetSoftFogEdgeLength(int PluginNumber);
|
||||
static bool SealEngine_SetEdgeLength(int PluginNumber, float EdgeLength)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(PluginNumber);
|
||||
struct RE_plugin *p = RE_get_plugin(PluginNumber);
|
||||
if (!p)
|
||||
return false;
|
||||
p->edge_length = EdgeLength;
|
||||
@@ -2548,7 +2546,7 @@ static bool SealEngine_SetEdgeLength(int PluginNumber, float EdgeLength)
|
||||
|
||||
static float SealEngine_GetEdgeLength(int PluginNumber)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(PluginNumber);
|
||||
struct RE_plugin *p = RE_get_plugin(PluginNumber);
|
||||
return p ? p->edge_length : 0.0;
|
||||
}
|
||||
|
||||
@@ -2557,7 +2555,7 @@ static float SealEngine_GetEdgeLength(int PluginNumber)
|
||||
|
||||
static bool SealEngine_SetEdgeColor(int PluginNumber, float ColorR, float ColorG, float ColorB)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(PluginNumber);
|
||||
struct RE_plugin *p = RE_get_plugin(PluginNumber);
|
||||
if (!p)
|
||||
return false;
|
||||
p->edge_color[0] = ColorR;
|
||||
@@ -2568,7 +2566,7 @@ static bool SealEngine_SetEdgeColor(int PluginNumber, float ColorR, float ColorG
|
||||
|
||||
static bool SealEngine_GetEdgeColor(int PluginNumber, float *ColorR, float *ColorG, float *ColorB)
|
||||
{
|
||||
struct RE_plugin *p = get_plugin(PluginNumber);
|
||||
struct RE_plugin *p = RE_get_plugin(PluginNumber);
|
||||
if (!p)
|
||||
return false;
|
||||
*ColorR = p->edge_color[0];
|
||||
@@ -2585,12 +2583,12 @@ static bool SealEngine_GetEdgeColor(int PluginNumber, float *ColorR, float *Colo
|
||||
|
||||
static bool SealEngine_TransformPosToViewPos(int PluginNumber, float x, float y, float z, int *view_x, int *view_y)
|
||||
{
|
||||
return RE_plugin_transform_pos_to_view_pos(get_plugin(PluginNumber), x, y, -z, view_x, view_y);
|
||||
return RE_plugin_transform_pos_to_view_pos(RE_get_plugin(PluginNumber), x, y, -z, view_x, view_y);
|
||||
}
|
||||
|
||||
static bool SealEngine_ResetLightParam(int plugin)
|
||||
{
|
||||
struct RE_plugin *rp = get_plugin(plugin);
|
||||
struct RE_plugin *rp = RE_get_plugin(plugin);
|
||||
if (!rp)
|
||||
return false;
|
||||
RE_plugin_reset_light_param(rp);
|
||||
@@ -2599,7 +2597,7 @@ static bool SealEngine_ResetLightParam(int plugin)
|
||||
|
||||
static bool SealEngine_SetLightParam(int plugin, int type, float value)
|
||||
{
|
||||
struct RE_plugin *rp = get_plugin(plugin);
|
||||
struct RE_plugin *rp = RE_get_plugin(plugin);
|
||||
if (!rp || (unsigned)type >= RE_NR_LIGHT_PARAMS)
|
||||
return false;
|
||||
rp->light_params[type] = value;
|
||||
@@ -2608,7 +2606,7 @@ static bool SealEngine_SetLightParam(int plugin, int type, float value)
|
||||
|
||||
static float SealEngine_GetLightParam(int plugin, int type)
|
||||
{
|
||||
struct RE_plugin *rp = get_plugin(plugin);
|
||||
struct RE_plugin *rp = RE_get_plugin(plugin);
|
||||
if (!rp || (unsigned)type >= RE_NR_LIGHT_PARAMS)
|
||||
return 0.0f;
|
||||
return rp->light_params[type];
|
||||
|
||||
Reference in New Issue
Block a user