Commit graph

33 commits

Author SHA1 Message Date
Chris Taylor 2ca5303028 Delete-E while playing a level now works properly - it closes Game_wind and sets Cursegp if necessary when going to the editor 2012-04-14 15:09:21 +08:00
Chris Taylor 372d0f2733 Set Gamesave_current_version to correct version when making a new mine, move create_new_mine to gamesave.c 2012-04-14 13:46:20 +08:00
Chris Taylor a6e65196b8 Draw the object rotation velocity, file browser and MessageBox dialogs properly 2012-04-11 10:52:57 +08:00
Chris Taylor e7e034b7bd Editor exits cleanly when clicking the close box, no more redundant gr_uscanline call in gl_urect for ogl (an initial attempt to fix the previous bug) 2012-04-09 20:41:47 +08:00
Chris Taylor fba833f773 Fix all remaining known editor drawing issues. In ogl: get the texture previews to draw, get userbox borders to draw in the right location, properly underline characters in the menus, draw all the borders properly (i.e. no gap), no scaling fonts. Software render: draw userbox borders again. Both: clear the whole status bar, clear to the right edge of the screen. 2012-04-09 17:30:40 +08:00
Chris Taylor ea2de8cb44 Get the clock, 'keypad' info, texture choosing page and object choosing page to draw (latter two just show black squares for ogl) 2012-04-09 10:14:10 +08:00
Chris Taylor fd42ac5cb1 Make the editor draw the same for the non-ogl build as the ogl build, since I just made it draw the grey background over everything in the last commit. If you want to see what it's *supposed* to look like, go to yesterday's commit :P 2012-03-31 20:25:09 +08:00
Chris Taylor b937b4e409 Make the main stuff (gadgets, two viewers) draw for the editor in ogl, still more tweaking required 2012-03-31 18:36:07 +08:00
Chris Taylor 8a250ad48a Make all drawing in the editor single buffered, since the whole screen is double buffered. Fixes crash - but only shows a black screen and the menu for ogl 2012-03-31 12:28:01 +08:00
Chris Taylor 4acf60c1c7 Draw in response to EVENT_UI_DIALOG_DRAW, uncomment medlisp_update_screen call. You can now see what you're doing 2012-03-24 17:19:30 +08:00
Chris Taylor b542189ab6 Remove all remaining uses of Function_mode, checking for the existence of EditorWindow where necessary instead 2012-03-19 14:09:26 +08:00
Chris Taylor e28ba63503 The editor now falls back to the main event loop in inferno.c, File->Exit now works as intended and get closer to making the editor and game work together 2012-03-19 13:49:19 +08:00
Chris Taylor 2d54617b91 Remove redundant ui_event_process and duplicate mouse.c in ui/. All editor input is now event-based. 2012-03-18 18:03:29 +08:00
Chris Taylor 8d784e848b Make editor_handler into a proper callback, iron some problems out. Seems to draw a different bunch of stuff now (still erroneous) 2012-03-18 16:02:32 +08:00
Chris Taylor cb0f7a4b04 Do a bit of a tidy up for the editor, dump code from editor() within the loop into new editor_handler() 2012-03-18 12:13:12 +08:00
Chris Taylor 69c3fd694d Make do_wall_window into a proper callback. Only one dialog left - the main one. 2012-03-17 21:34:45 +08:00
Chris Taylor 41c6587ee9 Make do_robot_window and do_object_window into proper callbacks, doing both in the same commit because of global recycling 2012-03-17 19:43:03 +08:00
Chris Taylor 97d3f3b4e4 Make do_trigger_window into a proper callback 2012-03-17 17:39:24 +08:00
Chris Taylor dc84147b51 All gadgets now send events 2012-03-03 20:19:15 +08:00
Chris Taylor 5e77e6f143 Actually add editor data files 2012-03-03 16:04:28 +08:00
Chris Taylor e50a82c743 Actually add editor data files and make sure DXX can find them 2012-03-03 16:03:03 +08:00
Chris Taylor 16b5d1b101 Make editor menubar and associated menus into windows; either remove or make event-based all the B1_* macros 2011-12-31 17:12:09 +08:00
Chris Taylor 6fe012fbc1 Put back use of med_show_warning for Linux, but then clear it properly when leaving the editor 2011-11-05 17:24:40 +08:00
Chris Taylor 96e619ae29 Move calls to ui_dialog_do_gadgets to the dialog event handler, making sure ui_event_handler gets called beforehand 2011-10-09 20:31:39 +08:00
zicodxx aa8286c1d6 Fixed set but unused variables 2011-09-27 01:31:19 +02:00
zicodxx 8a6839e8a1 changed variables and pointer carrying vertex indexes from short to int to handle levels with over 900 segments properly 2011-06-30 12:23:38 +02:00
zicodxx dd991fbf6b Got rid of cfile code: Renamed cfile-functions to use PHYSFSX-naming convention, Replaced cfile-macros with proper PHYSFS(X) calls; Introduced PHYSFSX_exists() which can check case-sensitive or case-insensitive to give more flexibility with game content 2011-06-01 09:59:55 +02:00
zicodxx 23197f52e5 Like in BigEndian builds do netmisc_calc_checksum() only with expected items of segment/side struct to prevent different checksums in case these structs change; Fixed several issues when building with editor; Fixed compiler warning regarding set but unused variable 2011-05-22 19:54:47 +02:00
zicodxx 4d2e19a96d Since current approach to improve wall collisions prevented the player to enter segments which basically are too small for the player ship, added simple bumping function via object_intersects_wall(); Also when validating segments check for segment degeneration outside the editor build, too and set flag in segment structure for all different purposes but right now helps us to disable bumping when encountering degenerated segments and not break such levels 2011-05-04 02:15:10 +02:00
Chris Taylor eca34c30f5 Rename ui/window.c to ui/dialog.c to avoid confusion with arch/sdl/window.c, also rename UI_WINDOW to UI_DIALOG, rename all associated functions, constants, parameters, local variables etc too; make a window when making a UI_DIALOG (does nothing yet) 2011-01-17 22:42:18 +08:00
Chris Taylor 030aef43e3 For editor, replace use of ui_mega_process() with event_process(), with the editor's own default event handler; add EVENT_MOUSE_MOVED event with event_mouse_get_delta() accessor; add event_key_get() to replace ugly casting; rename mouse_get_button() with event_mouse_get_button() to keep with name convention; only send idle events when there are no input events so editor still works properly (or the same anyway); add and use event_send() function for input events (including idle) 2011-01-14 17:51:13 +08:00
Chris Taylor f755a5e030 Make the keypad info display into a window 2010-12-28 12:29:42 +08:00
Chris Taylor 2fa153489c Move main/editor to editor and move headers to include/editor, like d1x 2010-12-28 11:21:43 +08:00