Objekt_editor_interface.h 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. /*
  2. H k okenimu rozhrani objekt editoru
  3. */
  4. typedef struct _POM_PROMENE
  5. {
  6. float f[10];
  7. int i[10];
  8. char pom[50];
  9. char pom1[50];
  10. char pom2[50];
  11. int prikaz;
  12. void *p_pom;
  13. void *p_pom1;
  14. void *p_point[10];
  15. int t[10];
  16. } POM_PROMENE;
  17. typedef struct _MAPING_PROM
  18. {
  19. int i[10];
  20. int druh; // flat/sfericky
  21. int druh_sfer; // UV,U,V
  22. float f[3]; // scale parametry mappingu
  23. } MAPING_PROM;
  24. #define MAX_LIST 20
  25. typedef struct _TABLE_LIST
  26. {
  27. byte aktivni;
  28. byte polozek;
  29. byte jmena[MAX_LIST][50];
  30. word dlg[MAX_LIST];
  31. word t_dlg;
  32. DLGTEMPLATE *p_template[MAX_LIST];
  33. HGLOBAL hglobal[MAX_LIST];
  34. BOOL(CALLBACK * call[MAX_LIST]) (HWND hDlg, UINT msg, WPARAM wParam,
  35. LPARAM lParam);
  36. HWND hwndDlg; // hwnd akt dialogu
  37. HWND hwndTab; // hwnd zalozek
  38. RECT rc;
  39. void *p_sv;
  40. } TABLE_LIST;
  41. void doe_nastav_k_editor(K_EDITOR * p_config);
  42. int doe_dialog_load(HWND hwnd, byte * p_filename, byte max_delka,
  43. byte * p_nadpis_okna, byte * p_maska, byte * p_popis_masky);
  44. int doe_dialog_save(byte * p_filename, byte max_delka, byte * p_nadpis,
  45. byte * p_maska, byte * p_popis_masky);
  46. void doe_edit_jmeno_textury(HWND hwnd);
  47. void doe_edit_jmeno_kontejneru(HWND hwnd);
  48. void doe_edit_jmeno_objektu(HWND hwnd);
  49. int doe_vyber_texturu_dialog(HWND hwnd, K_EDITOR * p_cnf, byte * p_text);
  50. HRESULT doe_init_dialog_objekty(HWND hdlg);
  51. HRESULT doe_init_dialog_kontejnery(HWND hdlg);
  52. HRESULT doe_init_dialog_text(HWND hdlg);
  53. HRESULT doe_init_dialog_textury(HWND hdlg);
  54. HRESULT doe_init_dialog_materialy(HWND hdlg, int akt_pol);
  55. HRESULT doe_init_dialog_world_matrix(HWND hDlg);
  56. void doe_dialog_objekty(void);
  57. void doe_prekresli_hlavni_okno(void);
  58. void doe_prikaz_scale_kontejneru_cisla_dialog(void);
  59. void doe_prikaz_scale_objektu_cisla(void);
  60. void doe_prikaz_rotace_kontejneru_cislama(K_EDITOR * p_cnf);
  61. void doe_prikaz_rotace_objektu_cislama(K_EDITOR * p_cnf);
  62. HRESULT doe_init_hlavni_menu(HWND hDlg);
  63. void doe_hlavni_menu(void);
  64. int doe_teselace_objektu(int *p_x, int *p_y);
  65. void doe_dialog_edit_vertex(void);
  66. void doe_dialog_nasob_vertex(int druh);
  67. void doe_vyroba_zeme_textura(int cislo);
  68. void doe_vyroba_zeme(void);
  69. void doe_uprava_zeme(void);
  70. void doe_novy_kontejner(void);
  71. void vyber_param_vyrezu(K_EDITOR * p_cnf, HWND hDlg);
  72. int doe_mlhokostka_jmeno(HWND hwnd, MLZNA_KOSTKA * p_mlha);
  73. int doe_prikaz_vyber_barvu(K_EDITOR * p_cnf, HWND hwnd, dword * p_rgb);
  74. void doe_prikaz_zrcadleni_objektu(void);
  75. void doe_prikaz_zrcadleni_kontejneru(void);
  76. void doe_prikaz_rotace_osove_objektu(void);
  77. void doe_prikaz_rotace_osove_kontejneru(void);
  78. int doe_dialog_singlepass(HWND hwnd, MULTITEXT_FLAG * p_tblok);
  79. int doe_dialog_multipass(HWND hwnd, GLenum * p_src, GLenum * p_dest);
  80. int doe_prikaz_zrcadleni_textury(HWND hwnd);
  81. int doe_prikaz_rotace_textury(HWND hwnd);
  82. int doe_prikaz_vyrob_krychli(K_EDITOR * p_cnf);
  83. void nahraj_list_textur_to_material(K_EDITOR * p_cnf, byte * p_file);
  84. void doe_nahraj_list_textur(K_EDITOR * p_cnf);
  85. HRESULT doe_init_dialog_databaze_objekty(HWND hdlg, byte * p_dir,
  86. byte * p_maska);
  87. void doe_prikaz_nahraj_svetelne_textury(K_EDITOR * p_cnf);
  88. void doe_prikaz_abount(void);
  89. void doe_proved_vybr_prikaz(void);
  90. dword doe_get_vybr_prikaz(void);
  91. void doe_vyber_prikaz(void);
  92. int doe_proved_prikaz_menu(UINT prikaz, int rychle, int ulozit);
  93. void doe_updatuj_konzoli_mod(K_EDITOR * p_cnf);
  94. void doe_updatuj_konzoli_posun(K_EDITOR * p_cnf);
  95. void doe_updatuj_konzoli_kamera(K_EDITOR * p_cnf);
  96. void doe_updatuj_konzoli(K_EDITOR * p_cnf);
  97. void doe_updatuj_konzoli_mys(K_EDITOR * p_cnf);
  98. void aplikuj_zmeny_konfigurace(K_EDITOR * p_cnf);
  99. DLGTEMPLATE *load_dialog_resource(byte * p_res);
  100. void doe_prikaz_konfigurace_table(K_EDITOR * p_cnf, HWND hwnd, int strana);
  101. void doe_prikaz_texturace_2d(K_EDITOR * p_cnf, HWND hwnd, int fofr);
  102. void doe_prikaz_posun_material_lista(K_EDITOR * p_cnf, int smer);
  103. HWND doe_aktivace_bocni_listy_mesh_editor(HWND bocni_lista);
  104. void doe_bocni_lista_prvky_dopln_tridy(HWND hDlg);
  105. void doe_bocni_lista_prvky_dopln_varianty(HWND hDlg);
  106. HWND doe_aktivace_bocni_listy_game_editor(HWND bocni_lista);
  107. void doe_prepni_do_mesh_editor(void);
  108. void doe_prepni_do_game_editor(void);
  109. void doe_editor_materialu(K_EDITOR * p_cnf);
  110. void doe_prikaz_editor_prvku(K_EDITOR * p_cnf);
  111. int doe_prikaz_bodove_svetlo(HWND hwnd, byte * p_nadpis,
  112. STATIC_LIGHT * p_light);
  113. void doe_progresbar_nastav(HWND hwnd, int res, int min, int max);
  114. void doe_progresbar_posun(HWND hwnd, int res, int krok);
  115. void doe_progresbar_setpos(HWND hwnd, int res, int pos);
  116. void doe_vertex_info(HWND hwnd, MUJ_BOD * p_bod, int k, int o, int v);
  117. int doe_vlastnosti_prvku(HWND hwnd, PRVEK_LEVELU * p_bunka);
  118. int doe_dialog_scale(byte * p_nadpis, byte * p_dalsi, float *p_s);
  119. int doe_podlozka_levelu(K_EDITOR * p_cnf, float *p_vyska);
  120. int doe_obruba_levelu(K_EDITOR * p_cnf, float *p_vyska_obruby,
  121. float *p_vyska_zeme, float *p_sirka, int *p_text_x);
  122. void doe_prikaz_load_flags(K_EDITOR * p_cnf);
  123. void doe_toogle_kreslit_level(K_EDITOR * p_cnf);
  124. void doe_toogle_kreslit_scenu(K_EDITOR * p_cnf);
  125. void doe_zaskrkni_menu(K_EDITOR * p_cnf);
  126. void doe_editor_materialu_flagovac(K_EDITOR * p_cnf);
  127. int doe_prikaz_flare(HWND hwnd, byte * p_nadpis, LENS_FLARE * p_flare);
  128. void doe_statistika_sceny(K_EDITOR * p_cnf);
  129. int doe_edit_barva_bodu(dword * p_barva, byte * p_op);
  130. void oe_prikaz_nahraj_frame(K_EDITOR * p_cnf, HWND hwnd,
  131. EDIT_MATERIAL * p_mat, byte * p_textdir);
  132. void oe_prikaz_nahraj_posun(HWND hwnd, EDIT_MATERIAL * p_mat,
  133. byte * p_textdir, EDIT_TEXT * p_text, int max);
  134. void oe_prikaz_nahraj_animaci(K_EDITOR * p_cnf, HWND hwnd,
  135. EDIT_MATERIAL * p_mat, byte * p_textdir);
  136. void oe_prikaz_uloz_animaci(HWND hwnd, EDIT_MATERIAL * p_mat,
  137. byte * p_textdir);
  138. int doe_drobeni_facu(dword * p_hloubka, dword * p_nahod);
  139. int doe_uprava_okoli(BOD * p_dist, BOD * p_bod);
  140. void doe_updatuj_lista_objekty(K_EDITOR * p_cnf);
  141. void doe_printf(HWND hwnd, int cntrl, byte * p_text, ...);
  142. int doe_prikaz_raytracer(RAY_TRACER * p_ray);
  143. int doe_cti_jmeno(HWND hwnd, byte * p_jmeno);
  144. int doe_cti_jmeno_ext(HWND hwnd, byte * p_jmeno, byte * p_nadpis);
  145. void doe_animace_updatuj(K_EDITOR * p_cnf);
  146. void doe_texture_list(K_EDITOR * p_cnf, int druh);
  147. void doe_animace_updatuj_kamery_text(K_EDITOR * p_cnf, KAMERA * p_kam);
  148. int doe_kamera_animace_uprav(HWND hwnd, KAMERA_TRACK_INFO * p_track);
  149. void doe_3ds_importer(byte * p_key, byte * p_druh, byte * p_rozloz,
  150. byte * p_kamera);
  151. void doe_editor_materialu_flagy(EDIT_MATERIAL * p_mat);
  152. void kprintf(byte log, byte * p_text, ...);
  153. void konzole_smaz(K_EDITOR * p_cnf);
  154. void doe_konzole_max(K_EDITOR * p_cnf);
  155. void doe_okno_cti(int *p_min_x, int *p_min_y, int *p_max_x, int *p_max_y);
  156. void doe_animace_updatuj_kamery(K_EDITOR * p_cnf);
  157. void doe_slider_nastav(HWND hwnd, int res, int min, int max, int akt);
  158. void doe_slider_setpos(HWND hwnd, int res, int pos);
  159. dword doe_slider_getpos(HWND hwnd, int res);
  160. void doe_hs_init(void);
  161. void doe_hs_nastav(int min, int max, int akt, byte * p_text, ...);
  162. void doe_hs_setpos(int pos);
  163. int doe_hs_getpos(void);
  164. void doe_hs_setmark(int pozice);
  165. void doe_hs_delmark(void);
  166. void doe_hs_posfce(int (*p_fce) (int));
  167. void doe_hs_zrus(void);
  168. int doe_prikaz_vyber_barvu_float(K_EDITOR * p_cnf, HWND hwnd, float *p_rgb);
  169. void doe_prikaz_vypis_group(K_EDITOR * p_cnf);
  170. void doe_animace_updatuj_materialy(K_EDITOR * p_cnf);
  171. int doe_kopie_kontejneru(HWND hwnd, int *p_flag);
  172. int doe_prikaz_dynamicke_svetlo(HWND hwnd, byte * p_nadpis,
  173. DYN_LIGHT * p_light);
  174. int doe_najdi_prvek(int guid);
  175. void oe_normalizuj_listu(LISTA_PRVKU * p_lista, int vyber);
  176. void doe_lista_vyrob(int pocet);
  177. void doe_lista_zrus(void);
  178. int doe_animace_uprav(HWND hwnd, int *p_framenum);
  179. int doe_prikaz_extra_dynamicke_svetlo(HWND hwnd, byte * p_nadpis,
  180. EXTRA_DYN_LIGHT * p_light);
  181. int oe_uloz_undo(K_EDITOR * p_cnf);
  182. int oe_proved_undo(K_EDITOR * p_cnf);
  183. void doe_editor_materialu_stage_dot3_color(EDIT_MATERIAL * p_mat,
  184. MATERIAL_TEXT * p_text);
  185. void doe_editor_materialu_stage_dot3_env(EDIT_MATERIAL * p_mat,
  186. MATERIAL_TEXT * p_text);
  187. void doe_editor_materialu_stage_dudv_env(EDIT_MATERIAL * p_mat,
  188. MATERIAL_TEXT * p_text);
  189. int doe_export_sceny(HWND hwnd, byte * p_prefix, int *p_dos);
  190. void konfigurace_mlha_aktivuj(void);
  191. int pridej_texturu_mat_generovanou(K_EDITOR * p_cnf, EDIT_MATERIAL * p_mat,
  192. int stage);
  193. void doe_joint_animace_vloz_text(K_EDITOR * p_cnf);
  194. void doe_joint_animace_vloz_objekt(K_EDITOR * p_cnf);
  195. void doe_joint_animace_vloz_frame(K_EDITOR * p_cnf);
  196. void doe_joint_animace_vloz_tiky(K_EDITOR * p_cnf);
  197. int doe_cti_flare_gen(HWND hwnd, FLARE_GEN * p_gen);
  198. #define ID_PRIKAZ_PRIRAD_MATERIAL_OBJEKT 0x1
  199. #define ID_PRIKAZ_PRIRAD_MATERIAL_KONTEJNER 0x2
  200. #define ID_PRIKAZ_SET_BARVA_KONTEJNERU 0x3
  201. #define ID_PRIKAZ_RESET_BARVA_KONTEJNER 0x4
  202. #define ID_PRIKAZ_GOURAND_MAPING_OBJ 0x5
  203. #define ID_PRIKAZ_SET_BARVA_OBJEKT 0x6
  204. #define ID_PRIKAZ_RESET_BARVA_OBJEKT 0x7
  205. #define ID_VERTEX_INFO 0x8
  206. #define ID_PRIKAZ_GOURAND_MAPING_BODY 0xa
  207. #define ID_PRIKAZ_SET_BARVA_BODY 0xb
  208. #define ID_PRIKAZ_SET_BARVA 0xc
  209. #define ID_PRIKAZ_RYCHLY_MIRROR_U 0xd
  210. #define ID_PRIKAZ_RYCHLY_MIRROR_V 0xe
  211. #define ID_PRIKAZ_RYCHLA_ROTACE 0xf
  212. int doe_decimator_plosek(K_EDITOR * p_cnf);
  213. void doe_anim_start_et(int next_time, int endtime,
  214. int *p_time_start, int *p_time_stop,
  215. int *p_time_delka, int *p_time, int *p_start, int *p_stop);
  216. int doe_kontejner_flagovac(int *p_flags);