Skip to content

Commit 3aebf4b

Browse files
committed
Use numbered natives instead of named
1 parent 59b222c commit 3aebf4b

File tree

3 files changed

+96
-117
lines changed

3 files changed

+96
-117
lines changed

src/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -912,6 +912,7 @@ target_include_directories(pawn SYSTEM PUBLIC ${INCLUDES_FROM_LIBS})
912912
target_compile_options(pawn PRIVATE
913913
${COMMON_FLAGS}
914914
-DAMX_ANSIONLY
915+
-DAMX_NATIVETABLE=pawn_natives
915916
$<$<CONFIG:DEBUG>: ${DEBUG_FLAGS}>
916917
$<$<CONFIG:RELEASE>: ${RELEASE_FLAGS}>
917918
$<$<COMPILE_LANGUAGE:CXX>: ${CXX_FLAGS}>

src/displayapp/screens/Pawn.cpp

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,25 @@ static int load_program(AMX* amx, const uint8_t* data) {
325325
return result;
326326
}
327327

328+
extern "C" const AMX_NATIVE pawn_natives[] = {
329+
F_sprintf,
330+
F_lv_scr_act,
331+
F_lv_label_create,
332+
F_lv_btn_create,
333+
F_lv_obj_set_pos,
334+
F_lv_obj_set_size,
335+
F_lv_obj_set_event_cb,
336+
F_lv_obj_align,
337+
F_lv_obj_realign,
338+
F_lv_label_set_text,
339+
F_lv_obj_set_style_local_int,
340+
F_lv_obj_set_style_local_color,
341+
F_lv_obj_set_style_local_opa,
342+
F_lv_obj_set_style_local_ptr,
343+
F_get_datetime,
344+
F_get_datetime_short_str,
345+
};
346+
328347
#include "program.h"
329348

330349
Pawn::Pawn(Controllers::DateTime& dateTimeController) : dateTimeController(dateTimeController) {
@@ -339,27 +358,6 @@ Pawn::Pawn(Controllers::DateTime& dateTimeController) : dateTimeController(dateT
339358
if (amx_FindPubVar(&amx, "font_jmec", &font) == AMX_ERR_NONE)
340359
*font = (cell) &jetbrains_mono_extrabold_compressed;
341360

342-
const AMX_NATIVE_INFO natives[] = {
343-
{"sprintf", F_sprintf},
344-
{"get_datetime", F_get_datetime},
345-
{"get_datetime_short_str", F_get_datetime_short_str},
346-
{"lv_scr_act", F_lv_scr_act},
347-
{"lv_label_create", F_lv_label_create},
348-
{"lv_btn_create", F_lv_btn_create},
349-
{"lv_obj_set_pos", F_lv_obj_set_pos},
350-
{"lv_obj_set_size", F_lv_obj_set_size},
351-
{"lv_label_set_text", F_lv_label_set_text},
352-
{"lv_obj_set_event_cb", F_lv_obj_set_event_cb},
353-
{"lv_obj_set_style_local_int", F_lv_obj_set_style_local_int},
354-
{"lv_obj_set_style_local_color", F_lv_obj_set_style_local_color},
355-
{"lv_obj_set_style_local_opa", F_lv_obj_set_style_local_opa},
356-
{"lv_obj_set_style_local_ptr", F_lv_obj_set_style_local_ptr},
357-
{"lv_obj_align", F_lv_obj_align},
358-
{"lv_obj_realign", F_lv_obj_realign},
359-
{0, 0} /* terminator */
360-
};
361-
amx_Register(&amx, natives, -1);
362-
363361
amx_Exec(&amx, NULL, AMX_EXEC_MAIN);
364362

365363
if (amx_FindPublic(&amx, "@refresh", &refresh_index) == AMX_ERR_NONE) {

0 commit comments

Comments
 (0)