40 lines
1.4 KiB
C
40 lines
1.4 KiB
C
|
|
#include "../global.h"
|
|
|
|
void project_fetch_default_meshes() {
|
|
if (project_default_mesh_list == NULL) {
|
|
gc_unroot(project_default_mesh_list);
|
|
project_default_mesh_list = file_read_directory(string("%s%smeshes", path_data(), PATH_SEP));
|
|
gc_root(project_default_mesh_list);
|
|
for (i32 i = 0; i < project_default_mesh_list->length; ++i) {
|
|
char *s = project_default_mesh_list->buffer[i];
|
|
project_default_mesh_list->buffer[i] = substring(project_default_mesh_list->buffer[i], 0, string_length(s) - 4); // Trim .arm
|
|
}
|
|
any_array_push(project_default_mesh_list, "plane");
|
|
any_array_push(project_default_mesh_list, "plane_2048");
|
|
any_array_push(project_default_mesh_list, "sphere");
|
|
any_array_push(project_default_mesh_list, "sphere_2048");
|
|
}
|
|
}
|
|
|
|
void project_new_box_draw() {
|
|
project_fetch_default_meshes();
|
|
|
|
ui_handle_t *h_project_type = ui_handle(__ID__);
|
|
h_project_type->i = g_context->project_type;
|
|
g_context->project_type = ui_combo(h_project_type, project_default_mesh_list, tr("Template"), true, UI_ALIGN_LEFT, true);
|
|
ui_end_element();
|
|
ui_row2();
|
|
if (ui_icon_button(tr("Cancel"), ICON_CLOSE, UI_ALIGN_CENTER)) {
|
|
ui_box_hide();
|
|
}
|
|
if (ui_icon_button(tr("OK"), ICON_CHECK, UI_ALIGN_CENTER) || g_ui->is_return_down) {
|
|
project_new(true);
|
|
ui_box_hide();
|
|
}
|
|
}
|
|
|
|
void project_new_box() {
|
|
ui_box_show_custom(&project_new_box_draw, 400, 200, NULL, true, tr("New Project"));
|
|
}
|