Skip to content

Commit

Permalink
fix: problem with saving and loading the project
Browse files Browse the repository at this point in the history
  • Loading branch information
i-Saibot committed Feb 28, 2024
1 parent deecf24 commit 0eecbda
Show file tree
Hide file tree
Showing 21 changed files with 383 additions and 294 deletions.
Binary file removed gamemodes/new.amx
Binary file not shown.
2 changes: 1 addition & 1 deletion gamemodes/new.pwn
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ main(){}

static http_address_available_version[] = "https://pastebin.com/raw/xebukdmH";

const Float:CURRENT_PAEDITOR_VERSION = 1.1;
const Float:CURRENT_PAEDITOR_VERSION = 1.2;


public OnGameModeInit()
Expand Down
170 changes: 107 additions & 63 deletions language/dialogs.inc
Original file line number Diff line number Diff line change
Expand Up @@ -106,27 +106,38 @@ new const language_dialog[][][] =
//DG__MAIN_MENU_HELP,
"Manage \n\
- Left-click opens a dialogue with created processes\n\
- Right-click opens a dialogue for selecting multiple processes simultaneously\n\
Export - Export project\n\
New - Create a new process\n\
Delete - Delete process\n\
Duplicate - Duplicate process\n\
Bone - Modify bone for the current process\n\
Symmetry - Create a symmetrical mirrored object from the current one\n\
- Right-click opens a dialogue for selecting multiple processes simultaneously\n\n\
Export\n\
- Export project\n\n\
New\n\
- Create a new process\n\n\
Delete\n\
- Delete process\n\n\
Duplicate\n\
- Duplicate process\n\n\
Bone\n\
- Modify bone for the current process\n\n\
Symmetry\n\
- Create a symmetrical mirrored object from the current one\n\n\
Objects\n\
- Left-click opens a dialogue for choosing to set an object or selecting from the list\n\
- Right-click opens a menu for selecting objects from the list\n\
Edit - Edit object\n\
- Left-click opens a dialogue for choosing to set an object or selecting from the list\n\n\
- Right-click opens a menu for selecting objects from the list\n\n\
Edit\n\
- Edit object\n\n\
Color\n\
- Left-click opens a dialogue for choosing to set a color or selecting from the list\n\
- Right-click opens a menu for selecting colors from the list\n\
Camera Move - Enable/disable camera rotation with an active panel\n\
Skin - Set skin\n\
- Right-click opens a menu for selecting colors from the list\n\n\
Camera Move\n\
- Enable/disable camera rotation with an active panel\n\n\
Skin\n\
- Set skin\n\n\
Prev Skin & Next Skin\n\
- Left-click enables quick skin change\n\
- Right-click enables quick skin change and automatic project export\n\
Animation - Set animation\n\
Clear Anim - Clear animation\n\n\
- Right-click enables quick skin change and automatic project export\n\n\
Animation\n\
- Set animation\n\n\
Clear Anim\n\
- Clear animation\n\n\
/headmove - Enable/disable character head rotation\n\
/setweather - Set weather\n\
/settime - Set time"
Expand Down Expand Up @@ -244,27 +255,38 @@ new const language_dialog[][][] =
//DG__MAIN_MENU_HELP,
"Manage \n\
- Нажатие левой кнопкой мыши, открывает диалог с созданными процессами\n\
- Нажатие правой кнопкой мыши, открывает диалог для выбора несколько процессов одновременно\n\
Export - Экспортировать проект\n\
New - Создать новый процесс\n\
Delete - Удалить процесс\n\
Dublicate - Продублировать процесс\n\
Bone - Изменить кость для текущего процесса\n\
Symmetry - Создать симметрический отзеркаленый объект от текущего\n\
- Нажатие правой кнопкой мыши, открывает диалог для выбора несколько процессов одновременно\n\n\
Export\n\
- Экспортировать проект\n\n\
New\n\
- Создать новый процесс\n\n\
Delete\n\
- Удалить процесс\n\n\
Dublicate\n\
- Продублировать процесс\n\n\
Bone\n\
- Изменить кость для текущего процесса\n\n\
Symmetry\n\
- Создать симметрический отзеркаленый объект от текущего\n\n\
Objects\n\
- Нажатие левой кнопкой мыши, открывает диалог с выбором установить объект или выбрать из списка\n\
- Нажатие правой кнопкой мыши, открывает меню выбора объектов из списка\n\
Edit - Редактирование объекта\n\
- Нажатие правой кнопкой мыши, открывает меню выбора объектов из списка\n\n\
Edit\n\
- Редактирование объекта\n\n\
Color\n\
- Нажатие левой кнопкой мыши, открывает диалог с выбором установить цвет или выбрать из списка\n\
- Нажатие правой кнопкой мыши, открывает меню выбора цвета из списка\n\
Camera Move - Включить/отключить вращение камеры при активной панели\n\
Skin - Установить skin\n\
Prev Skin & Next Skin\n\
- Нажатие правой кнопкой мыши, открывает меню выбора цвета из списка\n\n\
Camera Move\n\
- Включить/отключить вращение камеры при активной панели\n\n\
Skin\n\
- Установить skin\n\
Prev Skin & Next Skin\n\n\
- Нажатие левой кнопкой мыши, быстрая смена скина\n\
- Нажатие правой кнопкой мыши, быстрая смена скина и автоматический экспорт проекта\n\
Animation - Установить анимацию\n\
Clear Anim - Очистить анимацию\n\n\
- Нажатие правой кнопкой мыши, быстрая смена скина и автоматический экспорт проекта\n\n\
Animation\n\
- Установить анимацию\n\
Clear Anim\n\
- Очистить анимацию\n\n\
/headmove - Включить/отключить вращение головы у персонажа\n\
/setweather - Установить погоду\n\
/settime - Установить время"
Expand Down Expand Up @@ -385,27 +407,38 @@ new const language_dialog[][][] =
//DG_MAIN_MENU_HELP,
"Manage \n\
- Натискання лiвої кнопки мишi вiдкриває дiалог зi створеними процесами\n\
- Натискання правої кнопки мишi вiдкриває дiалог для вибору декiлькох процесiв одночасно\n\
Export - Експорт проекту\n\
New - Створити новий процес\n\
Delete - Видалити процес\n\
Duplicate - Створити копiю процесу\n\
Bone - Змiнити кiстку для поточного процесу\n\
Symmetry - Створити симетричний вiдзеркалений об'єкт вiд поточного\n\
- Натискання правої кнопки мишi вiдкриває дiалог для вибору декiлькох процесiв одночасно\n\n\
Export\n\
- Експорт проекту\n\n\
New\n\
- Створити новий процес\n\n\
Delete\n\
- Видалити процес\n\n\
Duplicate\n\
- Створити копiю процесу\n\n\
Bone\n\
- Змiнити кiстку для поточного процесу\n\n\
Symmetry\n\
- Створити симетричний вiдзеркалений об'єкт вiд поточного\n\n\
Objects\n\
- Натискання лiвої кнопки мишi вiдкриває дiалог для вибору установки об'єкта або вибору зi списку\n\
- Натискання правої кнопки мишi вiдкриває меню вибору об'єктiв iз списку\n\
Edit - Редагування об'єкта\n\
- Натискання правої кнопки мишi вiдкриває меню вибору об'єктiв iз списку\n\n\
Edit\n\
- Редагування об'єкта\n\n\
Color\n\
- Натискання лiвої кнопки мишi вiдкриває дiалог для вибору установки кольору або вибору зi списку\n\
- Натискання правої кнопки мишi вiдкриває меню вибору кольорiв iз списку\n\
Camera Move - Увiмкнути/вимкнути обертання камери при активнiй панелi\n\
Skin - Встановити шкiру\n\
- Натискання правої кнопки мишi вiдкриває меню вибору кольорiв iз списку\n\n\
Camera Move\n\
- Увiмкнути/вимкнути обертання камери при активнiй панелi\n\n\
Skin\n\
- Встановити шкiру\n\n\
Prev Skin & Next Skin\n\
- Натискання лiвої кнопки мишi для швидкої змiни скина\n\
- Натискання правої кнопки мишi для швидкої змiни скина та автоматичного експорту проекту\n\
Animation - Встановити анiмацiю\n\
Clear Anim - Очистити анiмацiю\n\n\
- Натискання правої кнопки мишi для швидкої змiни скина та автоматичного експорту проекту\n\n\
Animation\n\
- Встановити анiмацiю\n\n\
Clear Anim\n\
- Очистити анiмацiю\n\n\
/headmove - Увiмкнути/вимкнути обертання голови у персонажа\n\
/setweather - Встановити погоду\n\
/settime - Встановити час"
Expand Down Expand Up @@ -523,29 +556,40 @@ new const language_dialog[][][] =
},
{
//DG_MAIN_MENU_HELP,
"Manage \n\
"Manage\n\
- Нацiсканне левай кнопкай мышы адчыняе дыялог з створанымi працэсамi\n\
- Нацiсканне правай кнопкай мышы адчыняе дыялог для выбару некалькiх працэсаў адначасова\n\
Export - Экспартаваць праект\n\
New - Стварыць новы працэс\n\
Delete - Выдалiць працэс\n\
Dublicate - Прадубляваць працэс\n\
Bone - Змянiць косьць для бягучага працэсу\n\
Symmetry - Стварыць сiметрычны адзеркалены аб'ект ад бягучага\n\
- Нацiсканне правай кнопкай мышы адчыняе дыялог для выбару некалькiх працэсаў адначасова\n\n\
Export\n\
- Экспартаваць праект\n\n\
New\n\
- Стварыць новы працэс\n\n\
Delete\n\
- Выдалiць працэс\n\n\
Dublicate\n\
- Прадубляваць працэс\n\n\
Bone\n\
- Змянiць косьць для бягучага працэсу\n\n\
Symmetry\n\
- Стварыць сiметрычны адзеркалены аб'ект ад бягучага\n\n\
Objects\n\
- Нацiсканне левай кнопкай мышы адчыняе дыялог з выбарам устанавiць аб'ект цi выбраць з спiсу\n\
- Нацiсканне правай кнопкай мышы адчыняе мэню выбару аб'ектаў з спiсу\n\
Edit - Рэдагаванне аб'екта\n\
- Нацiсканне правай кнопкай мышы адчыняе мэню выбару аб'ектаў з спiсу\n\n\
Edit\n\
- Рэдагаванне аб'екта\n\n\
Color\n\
- Нацiсканне левай кнопкай мышы адчыняе дыялог з выбарам устанавiць колер цi выбраць з спiсу\n\
- Нацiсканне правай кнопкай мышы адчыняе мэню выбару колеру з спiсу\n\
Camera Move - Уключыць/адключыць варачэнне камеры пры актыўнай панэлi\n\
Skin - Устанавiць скiн\n\
- Нацiсканне правай кнопкай мышы адчыняе мэню выбару колеру з спiсу\n\n\
Camera Move\n\
- Уключыць/адключыць варачэнне камеры пры актыўнай панэлi\n\n\
Skin\n\
- Устанавiць скiн\n\n\
Prev Skin & Next Skin\n\
- Нацiсканне левай кнопкай мышы, хуткая змена скiна\n\
- Нацiсканне правай кнопкай мышы, хуткая змена скiна i аўтаматычны экспарт праекта\n\
Animation - Устанавiць анiмацыю\n\
Clear Anim - Ачысцiць анiмацыю\n\n\
- Нацiсканне правай кнопкай мышы, хуткая змена скiна i аўтаматычны экспарт праекта\n\n\
Animation\n\
- Устанавiць анiмацыю\n\n\
Clear Anim\n\
- Ачысцiць анiмацыю\n\n\
/headmove - Уключыць/адключыць варачэнне галавы ў персанажа\n\
/setweather - Устанавiць надвор'е\n\
/settime - Устанавiць час"
Expand Down
4 changes: 2 additions & 2 deletions source/attach_menu/animations.inc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public OnGuiAttachMenuClicked(playerid, typeid)
else if (typeid == GUI_ATTACH_MENU_ANIMATION_CLEAR)
{
ClearAnimations(playerid);
attachmain_JsonSaveAnimation(playerid, -1);
project_JsonSaveAnimation(playerid, -1);
return 1;
}
#if defined attachanim_OnGuiAttachMenu
Expand Down Expand Up @@ -189,7 +189,7 @@ DialogResponse:dAttachAnimationAction(playerid, response, listitem, inputtext[])
new anim_index = gAttachAnimationsLibraryIndex[playerid][0];

attachanim_ApplyAnimationIndex(playerid, anim_index);
attachmain_JsonSaveAnimation(playerid, anim_index);
project_JsonSaveAnimation(playerid, anim_index);
language_MessageInfo(playerid, MSG_ANIM_APPLIED_TO_CHARACTER);
}
else
Expand Down
2 changes: 1 addition & 1 deletion source/attach_menu/bone.inc
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ DialogResponse:dAttachMenuChangeBone(playerid, response, listitem, inputtext[])
new modelid = attachmain_GetObjectSlotId(playerid, slotid);

attachmain_SetBoneSlotId(playerid, slotid, boneid);
attachmain_JsonSaveAttach(playerid, slotid);
project_JsonSaveAttach(playerid, slotid);

SendClientMessage(playerid, COLOR_WHITE, "");

Expand Down
26 changes: 23 additions & 3 deletions source/attach_menu/colors.inc
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,16 @@ public OnVirtualKeyReleased(playerid, key_vk)
if ((ATTACH_COLOR_C1_COORD_BTN_MIN_X <= x <= ATTACH_COLOR_C1_COORD_BTN_MAX_X)
&& (ATTACH_COLOR_C1_COORD_BTN_MIN_Y <= y <= ATTACH_COLOR_C1_COORD_BTN_MAX_Y))
{
if (!attachmain_IsCreateProcess(playerid))
{
language_MessageError(playerid, MSG_PROCESS_START_PRESS_NEW);
return 0;
}
if (!attachmain_IsValidObject(playerid))
{
language_MessageError(playerid, MSG_START_SELECT_OBJ_PRESS_OBJ);
return 0;
}
gAttachColorsSelectColorId[playerid] = 0;
gAttachColorsPage[playerid] = 0;
gAttachObjectOpenRmouse[playerid] = true;
Expand All @@ -88,6 +98,16 @@ public OnVirtualKeyReleased(playerid, key_vk)
else if ((ATTACH_COLOR_C2_COORD_BTN_MIN_X <= x <= ATTACH_COLOR_C2_COORD_BTN_MAX_X)
&& (ATTACH_COLOR_C2_COORD_BTN_MIN_Y <= y <= ATTACH_COLOR_C2_COORD_BTN_MAX_Y))
{
if (!attachmain_IsCreateProcess(playerid))
{
language_MessageError(playerid, MSG_PROCESS_START_PRESS_NEW);
return 0;
}
if (!attachmain_IsValidObject(playerid))
{
language_MessageError(playerid, MSG_START_SELECT_OBJ_PRESS_OBJ);
return 0;
}
gAttachColorsSelectColorId[playerid] = 1;
gAttachColorsPage[playerid] = 0;
gAttachObjectOpenRmouse[playerid] = true;
Expand Down Expand Up @@ -166,7 +186,7 @@ DialogResponse:dAttachColorMenu(playerid, response, listitem, inputtext[])
{
attachmain_SetMaterialColor2(playerid, slotid, 0);
}
attachmain_JsonSaveAttach(playerid, slotid);
project_JsonSaveAttach(playerid, slotid);
attachmain_SetMainAttachObject(playerid, slotid);

language_MessageInfo(playerid, MSG_COLOR_HEX_REMOVED_SUCCESS);
Expand Down Expand Up @@ -229,7 +249,7 @@ DialogResponse:dAttachColorInput(playerid, response, listitem, inputtext[])
attachmain_SetMaterialColor2(playerid, slotid, hex_code);
}
attachmain_SetMainAttachObject(playerid, slotid);
attachmain_JsonSaveAttach(playerid, slotid);
project_JsonSaveAttach(playerid, slotid);

language_MessageInfo(playerid, MSG_COLOR_HEX_APPLIED_SUCCESS);
return 1;
Expand Down Expand Up @@ -400,7 +420,7 @@ DialogResponse:dAttachColorsAction(playerid, response, listitem, inputtext[])
attachmain_SetMaterialColor2(playerid, slotid, hex_code);
}
attachmain_SetMainAttachObject(playerid, slotid);
attachmain_JsonSaveAttach(playerid, slotid);
project_JsonSaveAttach(playerid, slotid);

language_MessageInfo(playerid, MSG_COLOR_HEX_APPLIED_SUCCESS);
}
Expand Down
26 changes: 21 additions & 5 deletions source/attach_menu/delete.inc
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,30 @@ DialogResponse:dAttachDeleteMenu(playerid, response, listitem, inputtext[])
return 0;
}
new slotid = attachmain_GetCurrentSlotId(playerid);
new per_slotid = Iter_Previous(AttachObjectSlots[playerid], slotid);
new last_slotid = Iter_Last(AttachObjectSlots[playerid]);
new new_slotid;

attachmain_ClearSlotId(playerid, slotid);
attachmain_IterRemoveSlotId(playerid, slotid);
attachmain_JsonDeleteAttach(playerid, slotid);

new first_slotid = attachmain_GetFirstSlotId(playerid);
project_JsonDeleteAttach(playerid, slotid);

attachmain_SetCurrentSlotId(playerid, first_slotid);
if (per_slotid > last_slotid)
{
new_slotid = Iter_First(AttachObjectSlots[playerid]);
}
else
{
new_slotid = per_slotid;
}
if (Iter_Count(AttachObjectSlots[playerid]) == 0)
{
attachmain_SetCurrentSlotId(playerid, ITER_NONE);
}
else
{
attachmain_SetCurrentSlotId(playerid, new_slotid);
}
return 1;
}

Expand Down Expand Up @@ -116,7 +132,7 @@ DialogResponse:dAttachMultiDeleteMenu(playerid, response, listitem, inputtext[])
}
attachmain_ClearSlotId(playerid, i);
attachmain_IterRemoveSlotId(playerid, i);
attachmain_JsonDeleteAttach(playerid, i);
project_JsonDeleteAttach(playerid, i);

attachmain_SetMultiObjSlot(playerid, i, ITER_NONE);
Iter_SafeRemove(AttachMultiObjectSlots[playerid], i, i);
Expand Down
2 changes: 1 addition & 1 deletion source/attach_menu/dublicate.inc
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ DialogResponse:dAttachMenuDublicateNote(playerid, response, listitem, inputtext[
materialcolor1,
materialcolor2
);
attachmain_JsonSaveAttach(playerid, new_slotid);
project_JsonSaveAttach(playerid, new_slotid);
attachmain_SetCurrentSlotId(playerid, new_slotid);
attachmain_AddIterSlotId(playerid, new_slotid);
attachmain_SetMainAttachObject(playerid, new_slotid);
Expand Down
2 changes: 1 addition & 1 deletion source/attach_menu/edit.inc
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public OnPlayerEditAttachedObject(
fScaleZ
);
language_MessageInfo(playerid, MSG_CHANGES_SAVED_AFTER_EDIT);
attachmain_JsonSaveAttach(playerid, slotid);
project_JsonSaveAttach(playerid, slotid);
}
gui_atatch_menu_ShowCursor(playerid);
gui_camera_rot_ShowInfo(playerid);
Expand Down
2 changes: 1 addition & 1 deletion source/attach_menu/edit_button.inc
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ stock attacheditbtn_PressSave(playerid)
material_color_2
);
attachmain_SetMainAttachObject(playerid, i);
attachmain_JsonSaveAttach(playerid, i);
project_JsonSaveAttach(playerid, i);
}
gui_ath_edit_DestroyTextdraws(playerid);
attacheditbtn_SetStartEdit(playerid, false);
Expand Down
Loading

0 comments on commit 0eecbda

Please sign in to comment.