Commit graph

1023 commits

Author SHA1 Message Date
Chris Taylor e2bf33dbdc No setting the screen mode when calling a newmenu function, so if it shows the 'Save Mine' messagebox in the editor, it won't change the screen resolution and trash everything. (If this causes problems, we can make it use the MessageBox if it's still in the editor, nm_messagebox otherwise) 2012-04-09 19:20:02 +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 83bc26ff29 Fix a nasty bug where pressing 'Alt' to explore the editor menubar would split the window stack in two, rendering the editor unresponsive 2012-04-09 17:13:11 +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
zicodxx bf2a058129 in software rendering scale savestate thumbnail to correct size 2012-04-09 00:19:16 +02:00
zicodxx 091dbd8769 plasma fire can ignite bombs which are dropped while firing. to compensate added a timed check where at least one projectile must be older than 200ms to trigger a possible collision. this fixes this issue if the player is moving away from the bomb 2012-04-08 16:59:51 +02:00
zicodxx 6a4ea459e7 added specification for Descent: Destination Saturn briefing screen to properly show briefings; added different briefing structure for Descent 1 Shareware which has a slightly different order of the usual briefings 2012-04-08 15:47:58 +02:00
zicodxx a22b6aa6ec record shields if player is invulnerable to get proper shield display in demo playback if player respawns with invulnerability on 2012-04-07 16:13:12 +02:00
zicodxx d0ddf0362a fixed glitch when reappear and explode packets are misordered, rendering player invisible 2012-04-07 12:32:22 +02:00
zicodxx d940dcb381 removed redundant definitions of FILENAME_LEN 2012-04-07 11:41:17 +02:00
zicodxx 45e351e46c in choose_drop_segment let fallback correctly check for reactor segment 2012-04-07 10:58:46 +02:00
zicodxx 84a3eb2fac Introduced fixmul64 returning fix64 type to use with check_point_to_face() and prevent fix overflow with very large faces; on the way cleaned up NO_FIX_INLINE remnants and replaced QLONG with fix64 2012-04-05 02:41:59 +02:00
zicodxx 39b0dacd6a variable declarations come first 2012-04-05 02:21:33 +02: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 cb86ece872 Use correct coordinates for dialog border (still doesn't draw fully) 2012-03-31 19:55:39 +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 a6502d4471 Complete previous change (whoops) 2012-03-31 12:38:14 +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 2062876912 Make sure the ogl font code recognises the editor font is fixed width, fixing a crash; take the plunge and make D2X Rebirth compile with editor for Mac OpenGL build (won't work yet) 2012-03-31 11:47:38 +08:00
zicodxx b65f0e6d33 Changed declaration of event_get_idle_second() from int32_t to fix since Windows does not know it without pstypes.h. Included maths.h for this but should now work flawlessly on all platforms 2012-03-30 16:29:11 +02:00
Chris Taylor e60981310b Make 2d/font.c more similar between d1x-rebirth and d2x-rebirth 2012-03-30 20:36:35 +08:00
zicodxx 565f629688 Fixed Redbook playback which was not repeating the CD after finishing 2012-03-29 14:49:45 +02:00
zicodxx c3b520b6e2 Immediately relay pdata packets from clients to others which should reduce artificial delay; allow sending of pdata packet when firing if enough time has passed since last update; only answer full game info requests 2 times per second and lite info 8 times per second 2012-03-29 10:16:33 +02:00
zicodxx 66827b4b18 Release Fusion charge when changing to another weapon similar to D1X-Rebirth 2012-03-28 13:49:02 +02:00
zicodxx df87e110b0 Dynamically allocate line to read from descent.cfg and ensure a safe length 2012-03-28 13:43:35 +02:00
zicodxx 26bb1f6a34 Allow a total of 32 different player ship textures and stored N_PLAYER_SHIP_TEXTURES in player.h 2012-03-28 12:26:24 +02:00
zicodxx 4323096cc4 Since the kicked message is shown after player is technically removed from the game we do not know hosts name anymore. Message changed accordingly 2012-03-28 12:09:22 +02:00
zicodxx 41365995e8 Fixed unhandled case in key reading when escort hotkeys are disabled 2012-03-28 11:07:17 +02:00
zicodxx d3666c4033 Fixed double wall-object-damage introduced 20111124 by applying more strict rules to wall-colliding and wall-scraping where latter now is player-exclusive 2012-03-28 11:02:30 +02:00
zicodxx a5369e13d5 properly disable cheats when loading a saved game so only cheats that were stored are re-enabled 2012-03-28 10:07:16 +02:00
zicodxx 4852ceb347 Allow .flac to be a filename extension for sng file and jukebox 2012-03-28 10:03:26 +02:00
zicodxx b22a6b5582 Fix compile-time error when building without editor 2012-03-28 09:56:33 +02:00
zicodxx 7d823c593d Call all necessary MVE functions when initializing robot movies to prevent crashes if a robot movie is the first one the program plays 2012-03-28 09:53:24 +02:00
Chris Taylor 2b7bb2bddc Fix bug where pad buttons would disappear when clicking on them, after opening then closing a dialog 2012-03-24 17:52:08 +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 0c7e61de92 Update the canvas data pointers for all windows after changing the screen mode, so the main menu draws properly after leaving the editor 2012-03-24 14:43:45 +08:00
Chris Taylor c0ed4870c5 Draw the editor menubar properly - by drawing in response to EVENT_WINDOW_DRAW and initialising the screen canvas properly. The latter fixes a lot of other editor drawing issues as well 2012-03-24 13:27:27 +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 ffab790447 Use the gadget-sent events in the dialogs in ui 2012-03-05 19:08:41 +08:00
Chris Taylor dc84147b51 All gadgets now send events 2012-03-03 20:19:15 +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 0b8e9b4873 Increment version to 0.57.2 for Mac and RELEASE-NOTES 2012-03-03 13:37:06 +08:00
Chris Taylor c0d7659a9c Give the last use of a dialog in ui, in PopupMenu, a callback 2012-01-09 23:17:10 +08:00
Chris Taylor ce2b13c956 Give the dialog in MessageBoxN a callback 2012-01-03 17:24:31 +08:00
Chris Taylor 5336ee198d Give the dialog in (also presently unused) MenuX a callback 2012-01-03 16:23:13 +08:00
Chris Taylor 11daae4a2d Give the dialog in (presently unused) GetKeyCode a callback 2012-01-03 13:25:53 +08:00
Chris Taylor ead5b43319 Give ui_get_filename a callback for its dialog. Happy new year 2012-01-02 15:49:59 +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 9da79266ee Remove redundant canvas, next and prev members in the UI_DIALOG struct 2011-12-18 20:41:31 +08:00
zicodxx 4366adbea9 break out of loop in event_send() in case window_send_event() closed the window to prevent invalid read on memory 2011-11-27 21:36:02 +01:00
zicodxx 3ce46392ef calling scrape_object_on_wall in each case of HIT_WALL more reliable to properly do hazard surface damage and prevent weapon objects from possibly sliding against walls 2011-11-24 11:31:05 +01:00
zicodxx 7eff144bbe Smoothed disabling of friendly fire to re-enable splash damage possible when friendly fire is disabled 2011-11-24 11:04:45 +01:00
zicodxx 093c841e50 Sliders can now be operated with Numpad arrows if numlock if off 2011-11-14 22:14:57 +01:00
Chris Taylor 4a3b1532b1 Make ui_userbox_do fully event-responsive 2011-11-14 19:27:59 +08:00
Chris Taylor 3c2f291b5e Make ui_scroll_do fully event-responsive, make sure scrolling actually works by calling all controls' ui_*_do functions (like before) 2011-11-12 12:48:26 +08:00
Chris Taylor c52b571391 Make ui_radio_do fully event-responsive 2011-11-06 20:06:41 +08:00
Chris Taylor 576054be55 Make ui_listbox_do fully event-responsive 2011-11-06 11:06:38 +08:00
Chris Taylor 203314b8e7 Say when the event was handled for ui_inputbox_do (was already event-responsive) 2011-11-05 20:12:39 +08:00
Chris Taylor aee464c4ac Fix implicit function declaration in last commit, make ui_icon_do fully event-responsive 2011-11-05 19:45:27 +08:00
Chris Taylor aaeaa30c7b Make ui_checkbox_do fully event-responsive 2011-11-05 17:46:05 +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 008b24a451 Make B1_JUST_PRESSED event-based, leave ui_dialog_do_gadgets early if a key makes another gadget current, make ui_button_do fully event-responsive (but won't *send* events yet) 2011-11-05 17:08:17 +08:00
zicodxx de3c04c582 Do not attempt to check for MULTI_PROTO_VERSION when requesting lite_info 2011-11-03 14:26:46 +01:00
zicodxx 2f08947f48 Introduced extra short based on MULTI_PROTO_VERSION for version-independent Multiplayer-compability-check; Changed version to 0.57.2 to make new version checking not cause problems with stable release 0.57.1; Removed old version_major/minor variables from netgame and player structures since DXX handles this independently; Cleaned up old version stuff and copyright messages 2011-11-02 01:04:42 +01:00
Chris Taylor 6978ef2dd0 Return 1 (event handled) in ui_dialog_handler for mouse button events if the mouse was in the dialog 2011-10-30 19:09:11 +08:00
Chris Taylor b8b6a234c2 Pass the event to the individual gadgets' 'do' functions, fix compile warnings introduced in last commit 2011-10-25 09:39:35 +08:00
Chris Taylor 25c1b74e57 Pass the event to ui_dialog_do_gadgets and use it in that immediate function 2011-10-23 17:08:47 +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
Chris Taylor 6eb4629ac2 Fix comparison is always false warning 2011-10-09 20:08:26 +08:00
Chris Taylor 5dc76799f2 Add support for 'modeless' windows - windows that will allow events to be passed on to the underlying window. Intended for the editor 2011-10-09 18:32:53 +08:00
Chris Taylor e01c25fbd2 Initialise dyn_light using memset, fixing a warning 2011-10-09 18:26:43 +08:00
zicodxx aa8286c1d6 Fixed set but unused variables 2011-09-27 01:31:19 +02:00
zicodxx 52f3f87359 Avoided variable array initializations which some compilers do not like; Also made sure declarations happen first inside (sub)functions; Fixed set but unused variables 2011-09-26 23:00:24 +02:00
zicodxx 80bf0580e4 Gave throttle it's own sensitivity and deadzone settings; Added patch by Hans de Goede to let Slide-On and Bank-On settings use invert settings from Slide- and Bank-axes 2011-09-26 20:22:38 +02:00
zicodxx e10975b3b4 Made the .desktop file follow the official specifications; Added explicit link to libmath for newer versions of binutils; Fixed crash using PhysFS 1.x in PHYSFSX_addArchiveContent() 2011-09-26 19:15:43 +02:00
zicodxx 8422d07cae Code consistency checks by _Tyr_; Fixed set but unused variables 2011-09-26 19:03:20 +02:00
zicodxx ba3d2e2d42 Code consistency checks by _Tyr_; Fixed set but unused variables 2011-09-26 18:58:12 +02:00
zicodxx d444c571f5 Fixed misuse of gr_bitblt_find_transparent_area() caused rear view to be shifted on some cockpits 2011-09-25 01:01:53 +02:00
zicodxx 236e1c97fc Reworked wall_toggle() to work with index for segnum instead of a pointer, hopefully making the consistency check less error prone 2011-09-24 22:03:36 +02:00
zicodxx 2802ea7f08 Consistency check for segment number in find_vector_intersection() and obj_create(); Added more debug output for invalid segment numberin get_seg_masks() 2011-09-24 11:15:31 +02:00
zicodxx 813dd1a05b When restoring Coop players and make turn them into ghosts perform a check if this player is actually a valid player so we do not just blindly use any object number from a possibly uninitialized player structure 2011-09-23 19:48:48 +02:00
zicodxx a5d7454f64 Added wrapper functions dxx_sendto and dxx_recvfrom to collect simple statistics about amount and size of packets sent/received per second; Actually fixed packet scheduling in main UDP frame - was sending more than intended - stupid me 2011-09-21 20:03:46 +02:00
zicodxx 8b5b6b822d Fixed overuse of multi_send_sound_function when handling afterburner in case player is dead or escaped 2011-09-21 19:49:29 +02:00
zicodxx aa165490e6 Streamlined joining, rejoining, disconnecting players and timeouts, getting rid of unwanted rejoin messages and let host remove a player for good without rejoining it via pdata packet to really get rid of lossy or unwanted players; Care for rollover of pkt_num of stored mdata packets 2011-09-21 12:04:10 +02:00
zicodxx c71591c4e6 Removed saving/restoring the state of Packet Loss Prevention from Netgame profiles 2011-09-19 13:42:00 +02:00
zicodxx 951f3edd80 Reworked Packet Loss Prevention: If an important packet could not be recovered until it timed out, dump player who failed sending/receiving it; Noloss queue can proces spackets until a certain traffic has been reached; In main UDP frame schedule different types of packets depending on PPS to decrease traffic produced in one frame, hopefully preventing too much loss in high-traffic situations; Small code cleanups; Added new dump signal for loss of important packet; When dumping player also disconnect that one in case the dumped player does not accept the signal 2011-09-19 13:01:11 +02:00
zicodxx a8892bd13a Added new priority level for MDATA packets to also send them ASAP without the need for an ACK; Streamlined sending multibot and fire packets and on the way artificially and automatically scaling fire rates, energy/ammo usage and damage of weapons in Multiplayer to decrease traffic easy way without changing the Gameplay 2011-09-15 10:45:48 +02:00
zicodxx d9ca3a2287 Removed support for IPX protocol and MS-DOS-Multiplayer-compability due to age and lack of real need and to really improve on the Multiplayer without adding too much complexity for backwards-compability 2011-09-14 01:15:32 +02:00
Chris Taylor 81f2b39cb3 Define USE_TRACKER for Mac OS X, remove reference to deleted cfile.h 2011-09-13 09:42:37 +08:00
Chris Taylor 2de1258995 Mention Mac command keys 2011-09-13 09:28:13 +08:00
Chris Taylor 94f896c169 Move EVENT_MOUSE_DOUBLE_CLICKED support from ui/mouse.c to arch/sdl/mouse.c for tidiness and to possibly use it outside the editor 2011-09-12 11:03:57 +08:00
zicodxx 7efd8f8183 Due to conversion from fix64 to fix Boss_dying_start_time was not 0 when saving even if boss was not dead - fixed; Fixed warning about set but unused variable 2011-08-26 18:56:22 +02:00
zicodxx 27a638a33a Added Polygon model viewer and GameBitmaps viewer in non-Release build for debugging, messing around, DXX-Redrawn, etc. 2011-07-20 14:44:49 +02:00