Commit graph

992 commits

Author SHA1 Message Date
Chris Taylor 7aa618b266 Draw the object rotation velocity, file browser and MessageBox dialogs properly 2012-04-11 10:52:19 +08:00
Chris Taylor e93c497a47 Fix unused variable warning in last commit 2012-04-09 20:51:36 +08:00
Chris Taylor 7ef1431885 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:40:55 +08:00
Chris Taylor d9bc0a16ff 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:18:49 +08:00
Chris Taylor 418e6ab674 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:28:44 +08:00
Chris Taylor 285531c4e0 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:12:01 +08:00
Chris Taylor 8a437a759c 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:12:58 +08:00
zicodxx 999e008dc6 in software rendering scale savestate thumbnail to correct size 2012-04-09 00:19:11 +02:00
zicodxx 9825e264d5 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:50 +02:00
zicodxx ba75f1237e 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:50 +02:00
zicodxx d39d58a585 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:10 +02:00
zicodxx 9ca56e4039 fixed glitch when reappear and explode packets are misordered, rendering player invisible 2012-04-07 12:32:22 +02:00
zicodxx 513bd4b231 removed redundant definitions of FILENAME_LEN 2012-04-07 11:41:14 +02:00
zicodxx 51b6b4e271 made code more similar to D2X-Rebirth by introducing open_font which allows to keep track of font_data and free it properly 2012-04-07 11:35:38 +02:00
zicodxx abb2c08af3 made choose_drop_segment more similar to D2X-Rebirth and let fallback correctly check for reactor segment 2012-04-07 10:57:55 +02:00
zicodxx 4f8a60983e 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:56 +02:00
Chris Taylor 09a37b623a 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:11:39 +08:00
Chris Taylor 801e989a66 Use correct coordinates for dialog border (still doesn't draw fully) 2012-03-31 19:47:39 +08:00
Chris Taylor 00245bccdc Make the main stuff (gadgets, two viewers) draw for the editor in ogl, still more tweaking required 2012-03-31 18:35:06 +08:00
Chris Taylor 2d8c86eaf1 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:27:10 +08:00
Chris Taylor c75f1d3937 Make sure the ogl font code recognises the editor font is fixed width, fixing a crash; take the plunge and make D1X Rebirth compile with editor for Mac OpenGL build (won't work yet) 2012-03-31 11:36:56 +08:00
zicodxx 24d0849125 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:03 +02:00
Chris Taylor 1237649a99 Make 2d/font.c more similar between d1x-rebirth and d2x-rebirth 2012-03-30 20:35:39 +08:00
zicodxx 0dae4f8206 Fixed Redbook playback which was not repeating the CD after finishing 2012-03-29 14:49:44 +02:00
zicodxx 1a76d33345 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:15:58 +02:00
zicodxx 0e55ac91da Added forgotten D2 powerup capping code when starting level which hopefully fixes massive powerup loss 2012-03-28 21:45:40 +02:00
zicodxx 6251eb2eb0 Dynamically allocate line to read from descent.cfg and ensure a safe length 2012-03-28 13:43:31 +02:00
zicodxx 32ebfab29d Allow a total of 32 different player ship textures and stored N_PLAYER_SHIP_TEXTURES in player.h 2012-03-28 12:26:19 +02:00
zicodxx 4ddf79e16f 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:19 +02:00
zicodxx d583415cfb in netgame info screen some setting-descriptions were interchanged and displayed wrong toggles 2012-03-28 12:02:15 +02:00
zicodxx 945d50ec76 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 f4dfae832f properly disable cheats when loading a saved game so only cheats that were stored are re-enabled 2012-03-28 10:07:12 +02:00
zicodxx 766f48084c Allow .flac to be a filename extension for sng file and jukebox 2012-03-28 10:03:18 +02:00
zicodxx 3554fd442c Fix compile-time error when building without editor 2012-03-28 09:56:31 +02:00
Chris Taylor e7048d09ae Fix bug where pad buttons would disappear when clicking on them, after opening then closing a dialog 2012-03-24 17:50:37 +08:00
Chris Taylor ea454664d0 Draw in response to EVENT_UI_DIALOG_DRAW, uncomment medlisp_update_screen call and use gr_box instead of gr_rect in some places. You can now see what you're doing 2012-03-24 17:18:03 +08:00
Chris Taylor 8b757570d5 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:08 +08:00
Chris Taylor cd0213122c 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:26:51 +08:00
Chris Taylor 05722dec97 Remove all remaining uses of Function_mode, checking for the existence of EditorWindow where necessary instead 2012-03-19 14:08:25 +08:00
Chris Taylor 15a6a81176 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:48:35 +08:00
Chris Taylor b94d8f127e Remove redundant ui_event_process and duplicate mouse.c in ui/. All editor input is now event-based. 2012-03-18 18:04:16 +08:00
Chris Taylor 6983a906a3 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:01:53 +08:00
Chris Taylor f98753fa38 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:11:55 +08:00
Chris Taylor c960c868f3 Make do_wall_window into a proper callback. Only one dialog left - the main one. 2012-03-17 21:33:59 +08:00
Chris Taylor 303a9f6858 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:42:08 +08:00
Chris Taylor 6ceb7d560f Make do_trigger_window into a proper callback 2012-03-17 17:38:21 +08:00
Chris Taylor 46a816572d Make do_hostage_window into a proper callback (seems to be unused for now) 2012-03-17 16:38:45 +08:00
Chris Taylor 45415324c3 Make do_centers_window into a proper callback, iron out some problems that have become apparent 2012-03-12 10:31:48 +08:00
Chris Taylor cdfd06bbd6 Use the gadget-sent events in the dialogs in ui 2012-03-05 19:07:57 +08:00
Chris Taylor 6068bf961d All gadgets now send events 2012-03-03 20:12:25 +08:00
Chris Taylor e05a2d3483 Actually add editor data files and make sure DXX can find them 2012-03-03 16:02:16 +08:00
Chris Taylor 6124b1affc Increment version to 0.57.2 for Mac and RELEASE-NOTES 2012-03-03 13:36:17 +08:00
Chris Taylor a4be50fdfe Give the last use of a dialog in ui, in PopupMenu, a callback 2012-01-09 23:06:29 +08:00
Chris Taylor 9c686ce92a Give the dialog in MessageBoxN a callback 2012-01-03 17:23:42 +08:00
Chris Taylor 200e66a839 Give the dialog in (also presently unused) MenuX a callback 2012-01-03 16:22:17 +08:00
Chris Taylor fdef129f7e Give the dialog in (presently unused) GetKeyCode a callback 2012-01-03 13:24:45 +08:00
Chris Taylor a5c4992c58 Give ui_get_filename a callback for its dialog. Happy new year 2012-01-02 15:49:08 +08:00
Chris Taylor 1c6ecbece0 Make editor menubar and associated menus into windows; either remove or make event-based all the B1_* macros 2011-12-31 17:10:40 +08:00
Chris Taylor ff3f419c31 Remove redundant canvas, next and prev members in the UI_DIALOG struct 2011-12-18 20:33:51 +08:00
zicodxx b4bf4e8c75 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:35:58 +01:00
zicodxx 1a89c345a8 Just as in Descent 2, let flares die in lava 2011-11-25 22:45:40 +01:00
zicodxx b3329c6c86 Fixed forgotten MALLOC in g3_draw_morphing_model crashing game when rendering morphing robot (created from matcen for example) 2011-11-25 11:40:41 +01:00
zicodxx 49649ab697 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:30:29 +01:00
zicodxx 84b60ab017 Smoothed disabling of friendly fire to re-enable splash damage possible when friendly fire is disabled 2011-11-24 11:04:43 +01:00
zicodxx 517bc77692 Sliders can now be operated with Numpad arrows if numlock if off 2011-11-14 22:14:52 +01:00
Chris Taylor d1a995ef6d Make ui_userbox_do fully event-responsive 2011-11-14 19:27:04 +08:00
Chris Taylor 33b1b6118d 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:46:29 +08:00
Chris Taylor 1c305434f4 Make ui_radio_do fully event-responsive 2011-11-06 20:05:43 +08:00
Chris Taylor d8a1aaff32 Make ui_listbox_do fully event-responsive 2011-11-06 11:05:45 +08:00
Chris Taylor 744e51c877 Say when the event was handled for ui_inputbox_do (was already event-responsive) 2011-11-05 20:11:48 +08:00
Chris Taylor ee05f99a3c Fix implicit function declaration in last commit, make ui_icon_do fully event-responsive 2011-11-05 19:43:54 +08:00
Chris Taylor d2d68bc4ee Make ui_checkbox_do fully event-responsive 2011-11-05 17:45:10 +08:00
Chris Taylor b15bbb982d Fix crash on exit for non-Linux, when it tries to show an editor warning (unfreed blocks) but doesn't have the images to render it 2011-11-05 17:23:20 +08:00
Chris Taylor 89b36e8be0 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:07:25 +08:00
zicodxx 2b6a62a5b9 Do not attempt to check for MULTI_PROTO_VERSION when requesting lite_info 2011-11-03 14:26:43 +01:00
zicodxx 1371874e0d 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:38 +01:00
Chris Taylor 1200f8017b Return 1 (event handled) in ui_dialog_handler for mouse button events if the mouse was in the dialog 2011-10-30 19:08:02 +08:00
Chris Taylor 91e0f976f7 Pass the event to the individual gadgets' 'do' functions, fix compile warnings introduced in last commit 2011-10-25 09:38:12 +08:00
Chris Taylor 5d6c06c723 Pass the event to ui_dialog_do_gadgets and use it in that immediate function 2011-10-23 17:07:18 +08:00
Chris Taylor 87c8c25580 Move calls to ui_dialog_do_gadgets to the dialog event handler, making sure ui_event_handler gets called beforehand 2011-10-09 20:30:31 +08:00
Chris Taylor 8e0579c4a6 Fix comparison is always false warning 2011-10-09 20:07:21 +08:00
Chris Taylor 3121fb4990 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:31:44 +08:00
Chris Taylor 5f87108ba4 Initialise dyn_light using memset, fixing a warning 2011-10-09 18:25:33 +08:00
zicodxx fb775b35c3 Fixed set but unused variables 2011-09-27 01:31:17 +02:00
zicodxx bcdbff0665 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:23 +02:00
zicodxx aafc5ec877 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:35 +02:00
zicodxx d8263a85b6 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:39 +02:00
zicodxx c2b3c64314 Code consistency checks by _Tyr_; Fixed set but unused variables 2011-09-26 19:03:12 +02:00
zicodxx 22316fa5d6 Code consistency checks by _Tyr_; Fixed set but unused variables 2011-09-26 18:58:06 +02:00
zicodxx 80e69421d8 Fixed misuse of gr_bitblt_find_transparent_area() caused rear view to be shifted on some cockpits 2011-09-25 01:01:51 +02:00
zicodxx 0df7146226 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:33 +02:00
zicodxx 4e299e4f83 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:24 +02:00
zicodxx 7a4d7e3bc4 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:45 +02:00
zicodxx 8f483e690b 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:41 +02:00
zicodxx 60f8606813 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:09 +02:00
zicodxx 5f17f6a40b Removed saving/restoring the state of Packet Loss Prevention from Netgame profiles 2011-09-19 13:41:58 +02:00
zicodxx 3cad8885d4 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:08 +02:00
zicodxx 6fdf44035e 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:45 +02:00
zicodxx 7638390173 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:20 +02:00
Chris Taylor 5e17460eb6 Define USE_TRACKER for Mac OS X, remove reference to deleted cfile.h 2011-09-13 09:41:08 +08:00