mirror of
https://github.com/nunuhara/xsystem4.git
synced 2026-09-22 23:18:01 +03:00
Implement GUIEngine.{Set,Get}DelegateIndex
This commit is contained in:
@@ -26,6 +26,8 @@ struct string;
|
||||
bool PE_Init(void);
|
||||
void PE_Update(int passed_time, bool message_window_show);
|
||||
void PE_UpdateParts(int passed_time, bool is_skip, bool message_window_show);
|
||||
void PE_SetDelegateIndex(int parts_no, int delegate_index);
|
||||
int PE_GetDelegateIndex(int parts_no);
|
||||
bool PE_SetPartsCG(int parts_no, struct string *cg_name, int sprite_deform, int state);
|
||||
bool PE_SetPartsCG_by_index(int parts_no, int cg_no, int sprite_deform, int state);
|
||||
bool PE_SetPartsCGSurfaceArea(int parts_no, int x, int y, int w, int h, int state);
|
||||
|
||||
+2
-2
@@ -505,7 +505,7 @@ HLL_LIBRARY(GUIEngine,
|
||||
HLL_EXPORT(Release, PE_ReleaseParts),
|
||||
HLL_EXPORT(ReleaseAll, PE_ReleaseAllParts),
|
||||
HLL_EXPORT(ReleaseAllWithoutSystem, PE_ReleaseAllPartsWithoutSystem),
|
||||
HLL_TODO_EXPORT(SetDelegateIndex, GUIEngine_SetDelegateIndex),
|
||||
HLL_EXPORT(SetDelegateIndex, PE_SetDelegateIndex),
|
||||
HLL_EXPORT(GetFreeNumber, PE_GetFreeNumber),
|
||||
HLL_EXPORT(IsExist, PE_IsExist),
|
||||
HLL_TODO_EXPORT(PushController, GUIEngine_PushController),
|
||||
@@ -522,7 +522,7 @@ HLL_LIBRARY(GUIEngine,
|
||||
HLL_TODO_EXPORT(PopMessage, GUIEngine_PopMessage),
|
||||
HLL_TODO_EXPORT(GetMessagePartsNumber, GUIEngine_GetMessagePartsNumber),
|
||||
HLL_TODO_EXPORT(GetMessageDelegateIndex, GUIEngine_GetMessageDelegateIndex),
|
||||
HLL_TODO_EXPORT(GetDelegateIndex, GUIEngine_GetDelegateIndex),
|
||||
HLL_EXPORT(GetDelegateIndex, PE_GetDelegateIndex),
|
||||
HLL_EXPORT(GetMessageType, GUIEngine_GetMessageType),
|
||||
HLL_TODO_EXPORT(GetMessageVariableCount, GUIEngine_GetMessageVariableCount),
|
||||
HLL_TODO_EXPORT(GetMessageVariableType, GUIEngine_GetMessageVariableType),
|
||||
|
||||
+21
-1
@@ -32,6 +32,7 @@ static struct hash_table *parts_table = NULL;
|
||||
static void parts_init(struct parts *parts)
|
||||
{
|
||||
memset(parts, 0, sizeof(struct parts));
|
||||
parts->delegate_index = -1;
|
||||
parts->on_cursor_sound = -1;
|
||||
parts->on_click_sound = -1;
|
||||
parts->origin_mode = 1;
|
||||
@@ -47,7 +48,6 @@ static void parts_init(struct parts *parts)
|
||||
parts->rotation.z = 0.0;
|
||||
TAILQ_INIT(&parts->children);
|
||||
TAILQ_INIT(&parts->motion);
|
||||
gfx_font_init();
|
||||
}
|
||||
|
||||
static struct parts *parts_alloc(void)
|
||||
@@ -70,6 +70,14 @@ static void parts_list_insert(struct parts_list *list, struct parts *parts)
|
||||
parts_engine_dirty();
|
||||
}
|
||||
|
||||
struct parts *parts_try_get(int parts_no)
|
||||
{
|
||||
struct ht_slot *slot = ht_put_int(parts_table, parts_no, NULL);
|
||||
if (slot->value)
|
||||
return slot->value;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct parts *parts_get(int parts_no)
|
||||
{
|
||||
struct ht_slot *slot = ht_put_int(parts_table, parts_no, NULL);
|
||||
@@ -537,6 +545,7 @@ bool PE_Init(void)
|
||||
{
|
||||
parts_table = ht_create(1024);
|
||||
parts_render_init();
|
||||
gfx_font_init();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -555,6 +564,17 @@ void PE_UpdateParts(int passed_time, possibly_unused bool is_skip, possibly_unus
|
||||
parts_engine_dirty();
|
||||
}
|
||||
|
||||
void PE_SetDelegateIndex(int parts_no, int delegate_index)
|
||||
{
|
||||
parts_get(parts_no)->delegate_index = delegate_index;
|
||||
}
|
||||
|
||||
int PE_GetDelegateIndex(int parts_no)
|
||||
{
|
||||
struct parts *parts = parts_try_get(parts_no);
|
||||
return parts ? parts->delegate_index : -1;
|
||||
}
|
||||
|
||||
bool PE_SetPartsCG(int parts_no, struct string *cg_name, possibly_unused int sprite_deform, int state)
|
||||
{
|
||||
if (!parts_state_valid(--state)) {
|
||||
|
||||
@@ -178,6 +178,7 @@ struct parts {
|
||||
TAILQ_ENTRY(parts) parts_list_entry;
|
||||
struct parts_list children;
|
||||
int no;
|
||||
int delegate_index;
|
||||
int sprite_deform;
|
||||
bool clickable;
|
||||
int on_cursor_sound;
|
||||
@@ -200,6 +201,7 @@ struct parts {
|
||||
|
||||
// parts.c
|
||||
extern struct parts_list parts_list;
|
||||
struct parts *parts_try_get(int parts_no);
|
||||
struct parts *parts_get(int parts_no);
|
||||
struct parts_cg *parts_get_cg(struct parts *parts, int state);
|
||||
struct parts_text *parts_get_text(struct parts *parts, int state);
|
||||
|
||||
Reference in New Issue
Block a user