Commit graph

364 commits

Author SHA1 Message Date
zicodxx bebc52031e Avoid some unnecessary strlen's 2012-09-03 00:43:52 +02:00
zicodxx 33bf139002 Redefined lotsa variables, functions and parameters as const and/or static - patch by Kp 2012-07-23 01:17:52 +02:00
zicodxx c8d428913e added songs_play_file() to play any song depending on filename-extension as a more streamlined approach to handle all different kinds of formats; also used for jukebox to make it independent from SDL_mixer; cleaned up supported filename extenstions 2012-06-10 14:02:40 +02:00
zicodxx 2c9ee20981 using our own functions for stricmp, strnicmp, strlwr, strupr, strrev with a d_ prefix for all platforms for consistency 2012-05-19 01:36:41 +02:00
zicodxx 55aae15997 Made inline functions static 2012-05-14 17:13:24 +02:00
zicodxx c5b3fc162e Incremented version to 0.57.3; Added Release notes 2012-05-10 19:10:45 +02:00
Chris Taylor e1eaf7cc65 Clicking on mine elements in the editor now works in ogl 2012-04-15 13:43:41 +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
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
zicodxx 766f48084c Allow .flac to be a filename extension for sng file and jukebox 2012-03-28 10:03:18 +02: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 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 6068bf961d All gadgets now send events 2012-03-03 20:12:25 +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 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 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
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 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 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 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 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 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 72073d7ed6 Make sure hmp_reset() is only executed if a song was playing 2011-07-08 01:46:27 +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
zicodxx 21082c6db2 Added own channel management to SDL_mixer sound interface since the builtin channel management of this lib cannot handle our needs; Little code cleanup 2011-05-30 02:17:42 +02:00
zicodxx b9995f3e34 In event_process() if a window closes while being drawn and there isn't a previous window we can get the next from just finish processing for this frame 2011-05-26 09:41:26 +02:00
zicodxx 29580f9823 Removed key_flush() call from save_screen_shot() - not needed anymore due to new input reading and only screws up ingame controls 2011-05-19 23:49:01 +02:00
zicodxx 81f4e63f0c Changed version from 0.56 to 0.57; Added first draft for RELEASE-NOTES.txt; updated docs 2011-05-07 02:51:18 +02:00
zicodxx 72dde06f59 Enabled Tracker support for Mac OS 2011-05-07 00:53:52 +02:00
zicodxx 53d48e005e When reading ingame controls only flush mouse delta timer-based since reading is event-based already, allowing high precision no matter the game speed; Removed Mouse smoothing/filtering as it's now unnecessary due to event-based motion handling 2011-04-22 13:02:03 +02:00
zicodxx a5db1fd476 Added SDLK_WORLD_** symbols to keyboard array to enable layout specific keys and make the game more flexible 2011-04-21 21:22:44 +02:00
Chris Taylor 6076b7640d Fix broken m3u playlist support (in jukebox_play() path resolving); point to default descent.m3u playlist for Mac OS X (will be included in bundle); better error reporting in mix_play_file(); only make relative Jukebox path in the menu absolute after browsing it - relative paths are more flexible; allow select_file_recursive() to figure out PhysicsFS relative paths passed to it; stop the music if Jukebox is chosen and unavailable (used to just keep playing the last song) 2011-04-18 20:30:46 +08:00
zicodxx 6459b6ed8a Smash texture list when switching between window mode and fullscreen prevent invalid textures; Made code to capture Screenshots more similar between OpenGL and OpenGL ES 2011-04-10 12:28:19 +02:00
zicodxx 357e1b0144 Made lighting code work with actual RGB values and added feature to let certain objects emit colored dynamic light as well as let mine flash red when control center destroyed (OpenGL-only at the moment) 2011-04-07 22:32:47 +02:00
zicodxx 85f7be583f Client-side implementation for Tracker support by Matt 1360 Vandermeulen including improvements in udp_dns_filladdr and IPv4/IPv6 compability; Very little adjustments by me, too including IPv6 support for Windows (untested); Actual tracker code will follow later as seperate branch when it's done 2011-04-05 02:24:30 +02:00
zicodxx c8f4008878 Fixes for OpenGL ES implementation 2011-03-28 01:57:15 +02:00
zicodxx fe2dd897f7 Added cv_fade_level to canvas structure to replace Gr_scanline_darkening_level; Added cv_blend_func to canvas structure to set blending; Introduced gr_settransblend to set cv_fade_level and cv_blend_func; Added function to set normal blending, additive alpha blending and additive color blending; Moved Special transparency effects from g3_draw_bitmap to render_object to set individual transparency and/or blending for each object outside of OpenGL-specific code; Added special blending for fuelcenter and force field effects as well; Removed unused LASER_HACK code; Renamed OglAlphaEffects variable of PalyerCfg to AlphaEffects as I plan to implement this kind of effects for Software renderer, too 2011-02-23 17:46:36 +01:00
zicodxx 4c58b43b2d Set zNear for gluPerspective to 0.1 to prevent ugly clipping while passing illusory walls; Set zFar to 5000.0 to prevent disappearing automap in large distance - all still sane enough for Intel chips so my eeePC is safe nyahahaha 2011-02-18 00:43:03 +01:00
zicodxx 79e84f8d17 Draw laser effects with special blending instead of disabled DepthMask; Added special blending for transparency effects as well to let them kick more ass; Corrections while rendering outside part of endlevel sequence with disabled depth testing and dynamically changing Render_depth to make the mine exit visible again while not rendering the exit tunnel tru the planet terrain 2011-02-18 00:17:49 +01:00
zicodxx e9da5b85b4 New approach to handle a bunch of closing windows - removed window_do_close() again, reworked game_leave_menus by checking window_get_front() and closing this window until it's Game_wind, while event_process checking if window still exists after drawing and if not, take next window from previous which should be updated by then 2011-02-12 23:58:39 +01:00
zicodxx 53c9fa987f Added secondary weapon indicators to new reticle types; Fixed disks being drawn as circles - whoops 2011-02-10 20:53:19 +01:00
zicodxx 6bc439a343 Simplified ogl version of gr.c in terms of SDL video flags and fullscreen toggle; Added command-line/INI option to remove borders from windowed program 2011-02-10 15:30:05 +01:00
zicodxx 80e9e5893e Fixed memory leak produced by drawing circles and disks 2011-02-09 17:18:26 +01:00
zicodxx 2232433860 Increased key repeat values to react a little more like the MS-DOS version of the game but a little slower so I can still stop at the correct item; In automap reorganized control_info swapping as well as wiggle state handling to properly work in connection with the new input handling and Multiplayer where game is not paused 2011-02-06 14:25:31 +01:00