Commit graph

946 commits

Author SHA1 Message Date
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
Chris Taylor 05d02b49ed Mention Mac command keys 2011-09-13 09:26:47 +08:00
Chris Taylor 67b94d08b9 Put back the instructions for installing the PC data 2011-09-13 09:22:25 +08:00
Chris Taylor 3f5506ee72 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:02:30 +08:00
zicodxx d1a471dedc 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:18 +02:00
zicodxx a2bdb63149 Added Polygon model viewer and GameBitmaps viewer in non-Release build for debugging, messing around, DXX-Redrawn, etc. 2011-07-20 14:44:46 +02:00
zicodxx 25060a4441 Changed my eMail address 2011-07-19 22:00:25 +02:00
zicodxx 43e3be131c Keep copyright information up to date 2011-07-19 11:36:12 +02:00
zicodxx d850bcc14e Properly call multi_leave_game() when host leaves multi game to let clients exit smoothly 2011-07-19 11:30:21 +02:00
zicodxx 23c04c17e1 Changed version to 0.57.1; Updated release notes 2011-07-16 21:21:11 +02:00
zicodxx c8b7f65809 Fixing Redbook hooks: Initialize last_check_time in RBACheckFinishedHook(); Execute RBACheckFinishedHook() during EVENT_WINDOW_DRAW in standard_handler() as EVENT_IDLE rarely happens if you have a shivering Joystick connected for example 2011-07-16 16:02:20 +02:00
zicodxx 5c660b3a2d Correctly proceed to new Redbook track if songnum != Song_playing (hopefully - to confirm); Using songs_stop_all() in songs_uninit() to clear redundancy; added some notes to functions to shine a bit light on the mess of some functions 2011-07-16 11:36:36 +02:00
zicodxx 497dfd0b09 properly check and fix viewMatrix in free flight auotmap 2011-07-15 16:01:37 +02:00
zicodxx 632f001f16 Fixed typo in Packets per sec. in GAME_RULES screen; Reduced max amount of games shown on netlist to 900 to reduce RAM usage... as if we'd ever reach this 2011-07-15 11:46:04 +02:00
zicodxx 77f0edf8ac Bail out of hmp_reset() if midiOutOpen fails and return error with -debug set; execute hmp_reset() before first song plays; renamed digi_win32_stop_current_song() to digi_win32_stop_midi_song() to keep naming convention; Fixed some compiler warnings 2011-07-15 10:43:01 +02:00
zicodxx 83f64ec080 When colliding with robot not controlled by us in Multi-Robot game do not apply force or damage - wait until the robot is under our control - preventing juggeling robots back and forth between players and creating massive damage 2011-07-14 13:36:24 +02:00
zicodxx cf23e6bb24 Stability fixes: avoid somfusions with same named variables in one function; Properly sort out players from player list that use too long filenames; Removed call for gr_set_fontcolor in kconfig where no canvas is set, causing crashes when trying to reassign a button, key or axis 2011-07-13 23:26:42 +02:00
zicodxx 8bc5fd54a1 Fixed uninitialized bytes in multi_do_create_robot_powerups() and two set but unused variables 2011-07-12 15:34:47 +02:00
zicodxx 387645f7c8 Add fallback routine from D2 source in wall_frame_process() to automatically set open-flag if wall state is set to opened 2011-07-12 00:08:55 +02:00
zicodxx c4c93e5cf1 Added complex error output if illegal segnum passed to get_seg_masks(); Fixed warning about set but unused variables 2011-07-10 01:09:40 +02:00
zicodxx e8a1f903f9 Added new dynamic light calculation which works with find_connected_distance() preventing vertecies to be lit up without connection to light source but still maintaining illumination. Still deactivated as it needs more optimization - planned for 0.58. Removed old alternative dynamic lighting which was suppoed to work via fvi but way slower than the new one 2011-07-09 21:39:19 +02:00
zicodxx 72073d7ed6 Make sure hmp_reset() is only executed if a song was playing 2011-07-08 01:46:27 +02:00
zicodxx dbdf7e27dc Slight improvement for Packet Loss Prevention: Be able to send to 35 packets per call of net_udp_noloss_process_queue() and also let counter only increase if a packet was actually sent, making sure the queue is not stuck on the first 5 packets in the list 2011-07-08 01:23:41 +02:00
zicodxx 1bc5378f78 Only call show_netplayerinfo() if GM_MULTI is set and reset netplayerinfo_on in game_setup() 2011-07-04 11:23:50 +02:00
zicodxx 53fca9dd44 When initializing ai object correctly initialize Ai_local_info to prevent glitches like random submodel angles 2011-07-02 22:48:10 +02:00
zicodxx 2da37871b8 Made formatting for help text more consistent and prettier; Somewhat changed the code for help text so we can use variables in the help text. For example: If we change MAXIMUM_FPS, it will automatically be displayed in the help text without manual editing needed 2011-07-01 01:01:06 +02:00
zicodxx 4fcfe5618c 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 66978064d1 Due to design issue in demo system initial recording of doors could place same texture on front and back sides of doors - fixed as good as possible (wish I could expand the demo format) 2011-06-29 14:53:42 +02:00
zicodxx 3be8070aa5 Correctly disable/initialize Multiplayer features not supported by IPX games for compability; Removed show_games_rules as there isn't much useful to show there; Some more code simplicity 2011-06-28 22:00:41 +02:00
zicodxx 13fe431c7b Fixed possible memory corruption when saving Current_mission_filename which is not necessarily a 9 byte long allocated string; Bit safer string handling with snprintf; Fixed set but unused variables like a boss 2011-06-28 09:16:21 +02:00
zicodxx 8c0c5d4d81 when entering secret level reset Control_center_destroyed when we start the level and not in between as it will break sending endlevel packets 2011-06-27 18:17:04 +02:00
zicodxx 71caea4ee2 Fixed object sync for latecoming clients which was broken due to a very, very, VERY stupid mistake... 2011-06-24 13:09:39 +02:00
zicodxx a605c03076 For Hotshot and above made homing missiles turn to player a bit less agressive which is hardly noticable but slightly increases the chance to shake off a projective even if dodged without perfect timing. This makes possible to survive in case a player/bot shoots several homing projectiles in spread fashion 2011-06-23 09:50:14 +02:00
zicodxx e26a5bb354 PlayerCfg.MultiMessages was supposed to only show messages of class HM_MULTI but turned out to only block HM_REDUNDANT, too. Fixed this copy/paste error of mine 2011-06-23 09:23:53 +02:00
zicodxx ad850557ca in compute_light_emission() handle RT_NONE for delayed explosion fireballs 2011-06-20 11:30:11 +02:00
zicodxx fa85aa820d By using fixed distance bumping for fix_illegal_wall_intersection making the whole process much more reliable on sharp edges 2011-06-17 00:33:42 +02:00
zicodxx df59103290 Condition for sound sample number for SOUND_CHEATER was reversed between Shareware and Full Release content 2011-06-13 17:22:13 +02:00
zicodxx 24b8426dd5 Saturate colored dynamic light just like normal one - makes the hwole thing a bit less colorful but makes for better balanced color mixing (theoretically) and does not reduce static light 2011-06-09 10:28:55 +02:00
zicodxx 425eef904d Definition of dynlight_time should have been static to archive timed light calculations 2011-06-07 17:31:45 +02:00
zicodxx 96c6458eb8 For all filename strings use PATH_MAX as size, make sure they are inited correctly and only fill them with snprintf instead of sprintf 2011-06-06 21:17:16 +02:00
zicodxx ed5cefb117 For all filename strings use PATH_MAX as size, make sure they are inited correctly and only fill them with snprintf instead of sprintf 2011-06-06 16:33:10 +02:00
zicodxx 856ac49a7b for flexibility in terms of modding, allow player ship textures in Multiplayer be <= N_PLAYER_SHIP_TEXTURES and not hit Assert but pull out Eroor if there are more 2011-06-04 22:50:35 +02:00
zicodxx 5d1cf695e2 Fix weapon selection sounds fpr pc shareware and do not allow selecting weapons not available in this content (i.e. if obtained by cheat) 2011-06-04 13:17:54 +02:00
zicodxx bc7089fd7e Since set_dynamic_light() is not necessarily processed each frame, added own counter for delayed precession of vertex-clight calculation; Added possibility to page in a bitmap in case an object which has never been rendered before is supposed to cast light visible by the player 2011-06-04 10:04:35 +02:00
zicodxx 852d9d0334 Added proper colored lighting handling for RT_POWERUP which I not noticed was wrong before ... darn dim glowing powerups 2011-06-01 15:49:03 +02:00
zicodxx fc985c3ccb Executing timer_update() at the beginning of calc_frame_time in case event_process() taking a significant amount of time to reach the game window and therefor could make FrameTime be inaccurate 2011-06-01 15:06:14 +02:00
zicodxx dcc964817e 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:51 +02:00