Commit graph

2441 commits

Author SHA1 Message Date
Kp c9ef463a16 Mark gr_message_color_level const 2015-05-09 17:38:59 +00:00
Kp f3aa8e501b Simplify extract_vector_from_segment 2015-05-09 17:38:59 +00:00
Kp a51a7110e8 Pass vobjptridx_t to multi_send_position 2015-05-09 17:38:59 +00:00
Kp 9386ac4a24 Pass vobjptridx_t to multi_compute_kill
The code previously trapped if killed<0 || killer<0, so use vobjptridx_t
instead of objptridx_t.
2015-05-09 17:38:58 +00:00
Kp b5eae4c809 Split create_smart_children 2015-05-09 17:38:58 +00:00
Kp 08a42a68ff Pass vcobjptridx to laser_are_related 2015-05-09 17:38:58 +00:00
Kp 7e65d73e72 Factor out laser_are_related special cases 2015-05-09 17:38:58 +00:00
Kp 36ce989db6 Refactor get_next_segment 2015-05-09 17:38:58 +00:00
Kp bac03fdfd9 Split draw_weapon_info 2015-05-09 17:38:58 +00:00
Kp 8cb0572199 Split hud_show_weapons_mode 2015-05-09 17:38:57 +00:00
Kp 14ffc1690d Fix SDL gauges build 2015-05-09 17:38:57 +00:00
Kp fc4b686d9d Store PHYSFS_list element count in list when needed 2015-05-09 17:38:57 +00:00
Bradley Bell a02d0cffb5 NDEBUG constant used only in EDITOR.
Fixes: similar/main/render.cpp:128:36: error: unused variable 'Show_only_curside'
2015-05-05 21:11:52 -07:00
Bradley Bell e8cd69f0f4 Not needed in NDEBUG.
Fixes: similar/main/ai.cpp:4311:20: error: unused function 'dump_ai_objects_all'
2015-05-05 21:11:51 -07:00
Kp 168533bca0 Fix super weapon selection message 2015-05-06 02:11:03 +00:00
Kp e590cc59ee Hack around bogus none in guidebot path 2015-05-05 03:20:43 +00:00
Kp c408194a53 Cast away determine_used_textures_level shareware_flag 2015-05-05 03:20:42 +00:00
Kp 68834fb929 Expand render_mine window_rendered_data helper inline 2015-05-05 03:20:42 +00:00
Kp 9ff846d27c Use array<> for vertex lighting 2015-05-05 03:20:42 +00:00
Bradley Bell 630206275d Include <functional> for std::plus and std::minus.
Fixes: similar/main/kconfig.cpp:81:12: error: no member named 'plus' in namespace 'std'
Fixes: similar/main/kconfig.cpp:82:12: error: no member named 'minus' in namespace 'std'

[Kp: fixed commit formatting.  Git style says line 2 is always blank.]
2015-05-01 02:29:11 +00:00
Kp f7eaf36ad3 Fix rotate_uv_point with -Wmissing-field-initializers
gcc-5 -Wmissing-field-initializers allows initialization by empty
braces, causing SConf not to pass -Wno-missing-field-initializers.
Change rotate_uv_point to return an explicitly 0 light to fix the
resulting warning.
2015-04-30 03:32:27 +00:00
Kp 23af709aa0 Remove unused Outline_mode
clang whines for unused `static const` variables.  Remove unused
Outline_mode to eliminate the warning.

Reported-by: btb <21f6d0d52b>
2015-04-30 03:32:27 +00:00
Kp 0d564814f5 Convert Primary_weapon to primary_weapon_index_t 2015-04-26 20:15:57 +00:00
Kp f668705f20 Use array<> for Computed_colors 2015-04-26 20:15:57 +00:00
Kp 67e5e8c6c1 Remove unused gr_make_blend_table 2015-04-26 20:15:57 +00:00
Kp ace2235ad8 Remove unused gr_make_cthru_table 2015-04-26 20:15:57 +00:00
Kp 9274e56a41 Simplify gr_find_closest_color exit 2015-04-26 20:15:56 +00:00
Kp 8d849b2b39 Wrap laser level in class
Move enum laser_level_t to weapon.h for the new class.
2015-04-26 20:15:56 +00:00
Kp 6792c1bc4b Enable -Wunused-parameter 2015-04-26 20:15:56 +00:00
Kp 2772cf619f Pass local_multires_gauge_graphic to PAGE_IN_GAUGE 2015-04-26 20:15:56 +00:00
Kp 5a6cca499f Pass hud_bitblt grs_bitmap by & 2015-04-26 20:15:56 +00:00
Kp 78e415a502 Unify draw_weapon_info_sub picture selection 2015-04-26 20:15:56 +00:00
Kp 1412e41de2 Pass local_multires_gauge_graphic to sb_draw_keys 2015-04-26 20:15:56 +00:00
Kp 1111548f7f Pass local_multires_gauge_graphic to sb_draw_one_key 2015-04-26 20:15:55 +00:00
Kp 5f9bfe8a72 Pass local_multires_gauge_graphic to sb_draw_shield_bar 2015-04-26 20:15:55 +00:00
Kp 4b4fd713f1 Pass local_multires_gauge_graphic to sb_draw_shield_num 2015-04-26 20:15:55 +00:00
Kp 6d92f79a40 Pass local_multires_gauge_graphic to sb_draw_afterburner 2015-04-26 20:15:55 +00:00
Kp 23759f1700 Pass local_multires_gauge_graphic to sb_draw_energy_bar 2015-04-26 20:15:55 +00:00
Kp 4ecbe230cf Pass local_multires_gauge_graphic to draw_static 2015-04-26 20:15:55 +00:00
Kp 49bd4f3805 Pass local_multires_gauge_graphic to draw_secondary_ammo_info 2015-04-26 20:15:55 +00:00
Kp 8836e1750a Pass local_multires_gauge_graphic to draw_weapon_info 2015-04-26 20:15:55 +00:00
Kp 11b144ff43 Pass local_multires_gauge_graphic to draw_weapon_info_sub 2015-04-26 20:15:55 +00:00
Kp d3b20d60b6 Pass local_multires_gauge_graphic to draw_keys 2015-04-26 20:15:55 +00:00
Kp d12c0162cb Pass local_multires_gauge_graphic to draw_one_key 2015-04-26 20:15:54 +00:00
Kp 1e9b0c5e39 Pass local_multires_gauge_graphic to draw_player_ship 2015-04-26 20:15:54 +00:00
Kp 4b056a8a99 Pass local_multires_gauge_graphic to draw_shield_bar 2015-04-26 20:15:54 +00:00
Kp 2185552f53 Pass local_multires_gauge_graphic to draw_invulnerable_ship 2015-04-26 20:15:54 +00:00
Kp 2b3250ee3f Pass local_multires_gauge_graphic to draw_afterburner_bar 2015-04-26 20:15:54 +00:00
Kp a7f74bd383 Pass local_multires_gauge_graphic to draw_energy_bar 2015-04-26 20:15:54 +00:00
Kp f7abe3b2e1 Pass local_multires_gauge_graphic to draw_wbu_overlay 2015-04-26 20:15:54 +00:00
Kp d5a446381b Pass local_multires_gauge_graphic to cockpit_decode_alpha 2015-04-26 20:15:54 +00:00
Kp f7f4ec8ee8 Pass local_multires_gauge_graphic to sb_show_lives 2015-04-26 20:15:54 +00:00
Kp 0493737c79 Pass local_multires_gauge_graphic to hud_show_lives 2015-04-26 20:15:54 +00:00
Kp 1c11d731ec Pass local_multires_gauge_graphic to draw_primary_ammo_info 2015-04-26 20:15:53 +00:00
Kp 980d161119 Split draw_weapon_boxes 2015-04-26 20:15:53 +00:00
Kp c2f39d9b0f Pass local_multires_gauge_graphic to hud_show_flag 2015-04-26 20:15:53 +00:00
Kp 59c9b54814 Pass local_multires_gauge_graphic to hud_show_orbs 2015-04-26 20:15:53 +00:00
Kp f9fc9660a5 Pass local_multires_gauge_graphic to hud_show_keys 2015-04-26 20:15:53 +00:00
Kp ff8d7d754a Pass local_multires_gauge_graphic to show_homing_warning 2015-04-26 20:15:53 +00:00
Kp 1aa91b95af Pass local_multires_gauge_graphic to sb_show_score 2015-04-26 20:15:53 +00:00
Kp 4ff86bc63a Pass local_multires_gauge_graphic to hud_gauge_bitblt 2015-04-26 20:15:53 +00:00
Kp 1845769717 Pass local_multires_gauge_graphic to hud_bitblt 2015-04-26 20:15:53 +00:00
Kp ff0ed0288f Cache hiresmode at function scope 2015-04-26 20:15:53 +00:00
Kp b5b6a10688 Move gauges HIRESMODE lookup into method 2015-04-26 20:15:53 +00:00
Kp c599cde8a4 Factor out statusbar key drawing 2015-04-26 20:15:52 +00:00
Kp 69073bd6b0 Reduce writes to draw_invulnerable_ship::time 2015-04-26 20:15:52 +00:00
Kp fa401cd1d8 Convert PAGE_IN_GAUGE to ternary operator 2015-04-26 20:15:52 +00:00
Kp 4156fabddb Only page in needed key gauges 2015-04-26 20:15:52 +00:00
Kp 275cb40595 Factor out paging in gauges 2015-04-26 20:15:52 +00:00
Kp b94e5bd2e7 Factor out key drawing 2015-04-26 20:15:52 +00:00
Kp cca163fc30 Split select_weapon 2015-04-26 20:15:52 +00:00
Kp f789e29b41 Simplify check_to_use_primary 2015-04-26 20:15:52 +00:00
Kp 610f603ebf Pass weapon_name to select_weapon 2015-04-26 20:15:52 +00:00
Kp d161b17191 Factor out shareware/unusable weapon handling 2015-04-26 20:15:51 +00:00
Kp 10b9206a9b Split do_weapon_select 2015-04-26 20:15:51 +00:00
Kp 4d046c5336 Split auto_select_weapon 2015-04-26 20:15:51 +00:00
Kp 8e5a63700b Use enum class for ai_mode 2015-04-26 20:15:51 +00:00
Kp f15ec9c86a Use enum for AIM constants 2015-04-26 20:15:51 +00:00
Kp e883d7c872 Use enum class for AIB constants 2015-04-26 20:15:51 +00:00
Kp c3925353fd Use null_sentinel_iterator for PHYSFS_list_t 2015-04-26 20:15:51 +00:00
Kp 143c536c77 Use PHYSFS_list_t for more functions 2015-04-26 20:15:50 +00:00
Kp fd6ac87c25 Fix trigger_none checks 2015-04-26 20:15:50 +00:00
Bradley Bell b69dee5c07 remove trailing newlines. 2015-04-25 13:48:11 -07:00
Bradley Bell eaf40c24ce use Int3 instead of assert. 2015-04-25 13:45:37 -07:00
Bradley Bell 70cf799a6a use con_puts instead of con_printf. 2015-04-25 13:45:26 -07:00
Bradley Bell 3a550e124d mark functions as static. 2015-04-25 13:45:26 -07:00
Bradley Bell 844aad2639 Merge branch 'unification/master' into command-line 2015-04-24 20:54:35 -07:00
Kp 65a0d35678 Remove bogus Int3 in object_to_object_visibility
A Future Pilot reports that find_vector_intersection can return an
unhandled fate.  When Int3 is enabled, this crashes the game.  Replace
the Int3 with a debug print.

Reported-by: A Future Pilot <http://www.dxx-rebirth.com/frm/index.php/topic,2024.msg21633.html#msg21633>
2015-04-24 01:39:35 +00:00
Kp 6e9638531a Mark get_previous_segment static 2015-04-22 02:44:31 +00:00
Kp 9cfdc1d376 Fix game_leave_menus infinite loop if menu rejects close 2015-04-22 02:44:30 +00:00
Kp 08ee591e21 Fix ODR collision between ui/file browser and main/menu browser 2015-04-22 02:44:30 +00:00
Kp 834ae3b885 Fix find_escort build with gcc-5 2015-04-22 02:44:30 +00:00
Kp d4080c2505 Pass vcobjptr_t to draw_player 2015-04-22 02:44:30 +00:00
Kp 4d6d7fbbc7 Simplify automap door coloring 2015-04-22 02:44:30 +00:00
Kp 3eb8f4813e Pass vcobjptr_t to apply_damage_to_controlcen 2015-04-22 02:44:30 +00:00
Kp 863b429eb9 Only visit valid robots 2015-04-22 02:44:30 +00:00
Kp 3c64abb90b Use vsegptridx for load_mine_data segment loop 2015-04-22 02:44:30 +00:00
Kp 4572099403 Make endlevel globals static 2015-04-22 02:44:29 +00:00
Kp eedfaab822 Remove OGL Max_linear_depth 2015-04-22 02:44:29 +00:00
Kp ba4fdd8a0e Prevent debugger trap for hands-off multi_robot_request_change 2015-04-19 19:12:33 +00:00
Kp 9ec82b6856 Fix array overread 2015-04-19 19:12:33 +00:00
Kp bb9930bf5b multi_robot_request_change: check robot_controlled[slot] for object_none 2015-04-19 04:18:54 +00:00
Kp b46ecbb3e9 Add netgame parameter to duplicate powerups 2015-04-19 04:18:53 +00:00
Kp 4381b81497 Pack spawn granted items in D1 2015-04-19 04:18:53 +00:00
Kp b32298df5a Rewrite powerup cap code to centralize logic 2015-04-19 04:18:53 +00:00
Kp 96d92f6eaf Use partial_range for player trigger check 2015-04-19 04:18:53 +00:00
Kp b88c232f9f Use powerup_type_t for *_weapon_to_powerup 2015-04-19 04:18:53 +00:00
Kp 62d04866c4 Propagate hud_show_weapons_mode for variable i 2015-04-19 04:18:53 +00:00
Kp d7066c3eb9 Remove constant arguments to pick_up_ammo 2015-04-19 04:18:53 +00:00
Kp 28b4a65547 Centralize ammo rack bonus 2015-04-19 04:18:52 +00:00
Kp adbefd39c4 Minimize unnecessary fields passed to check_effect_blowup 2015-04-19 04:18:52 +00:00
Kp bee882dc99 Refactor gauges weapon coloring
Move logic into smaller functions to give the compiler more choices
about inlining.
2015-04-19 04:18:52 +00:00
Kp 98dc7cb90c Optimize D1 super weapon handling
D1 has no super weapons.  Remove the check for them.
2015-04-19 04:18:52 +00:00
Kp cd6be09547 Reduce kconfig.h includes 2015-04-19 04:18:51 +00:00
Kp c338862ad6 Reduce gauges.h includes 2015-04-19 04:18:51 +00:00
Kp 516b8b2397 Reduce collide.h includes 2015-04-19 04:18:51 +00:00
Kp 8582907b91 Reduce ai.h includes 2015-04-19 04:18:51 +00:00
Kp aa4c5efbb9 Replace HAS_PRIMARY_FLAG(x) with HAS_x_FLAG 2015-04-19 04:18:50 +00:00
Kp 12673084a0 Remove obsolete player_has_primary_weapon D1 special case 2015-04-19 04:18:50 +00:00
Kp 9d213b5282 Wrap player_has_weapon return type 2015-04-19 04:18:50 +00:00
Kp f74f879145 Simplify do_weapon_select call 2015-04-19 04:18:50 +00:00
Kp 0a1d643442 Remove obsolete weapon_num check 2015-04-19 04:18:50 +00:00
Kp 84c638ed64 Move PHYSFS_list_t to separate header 2015-04-19 04:18:49 +00:00
Kp 29a57b0dc0 Remove unused net_udp parameters 2015-04-19 04:18:49 +00:00
Kp 150e2d2686 Convert local arrays to array<> 2015-04-19 04:18:49 +00:00
Kp 7fd4ccb004 Simplify info_display_object_placement cache override 2015-04-19 04:18:49 +00:00
Kp 32b4b8f0bb Use enum class for level save/load 2015-04-19 04:18:49 +00:00
zico 17f5f67948 Fixed regression from 2645d41b5f - must use UDP_MDATA_STOR_QUEUE_SIZE for UDP_mdata_trace as it it a looping list 2015-04-18 22:15:52 +02:00
zico 03f9f11b6d Reworked net_udp_noloss_validate_mdata() to properly REsend MDATA ACK for packets that have been received before 2015-04-18 15:00:24 +02:00
Kp 8c106ea2e9 Avoid potential underflow when n_phys_segs==0 2015-04-11 04:01:29 +00:00
Kp e99a9236cf Avoid redundant vsegptridx calculation in object_move_one 2015-04-11 04:01:29 +00:00
zico 1fd7cb8929 Fusion cannon in Descent 1 was nerfed for Multiplayer after it was made stronger in 1.1 patch. This is fine but players expressed it being not desirable for Coop - which makes sense to me. This fix only applies the nerf to non-Coop games. 2015-04-08 15:05:03 +02:00
zico c60eb9c412 since the game keeps running during kmatrix, bail out of start_player_death_sequence if connect state != CONNECT_PLAYING to prevent incorrect suicide scoring 2015-04-08 14:37:33 +02:00
zico b512127328 fixed player ships not disappearing upon kill which was caused by removal of PKilledFlags and the improper undoing of hack to keep player exploding and respawning events in order 2015-04-08 14:23:55 +02:00
Kp 55fada5c14 Fix texture filtering menu
Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/issues/59>
Fixes: a84a05c701 ("Move graphics menu to macro")
2015-04-07 01:55:57 +00:00
derhass 1c01698e88 GLES: fix use of uninitialized variables in ogl_texture_stats()
Querying GL_INDEX_BITS and GL_DOUBLEBUFFER is not allowed in GLES, so
just use a reasonable default values for both. This is only used to
estimate memory consumption by the framebuffer (which is a questionable
approach in itself, since all those are implementation details not exposed
by the GL, and the actual memory used is likely to be higher anyway).
2015-04-04 23:04:24 +02:00
derhass 49e7cfe37e GLES: never declare the unused variable gl_draw_buffer
Move the declarition directly to the code part where it is used
(always in a #ifndef OGLES block).
2015-04-04 22:58:02 +02:00
Kp df9ce26dfb Fix WORDS_NEED_ALIGNMENT build
Integer promotion changed short+short into an int, but INTEL_SHORT only
takes short or unsigned short.  Add a cast to force the result back to
short.

Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/issues/56>
2015-04-04 17:23:47 +00:00
Kp a9c81c5614 Move Weapon_is_energy to collide.cpp 2015-04-02 02:36:57 +00:00
Kp 1c7bae4fc4 Use local array<> for object_buffer 2015-04-02 02:36:57 +00:00
Kp 5ae5033fed Use enum for AIB constants 2015-04-02 02:36:57 +00:00
Kp 6b6eaef226 Include polyobj.h from robot.h
Swap the inclusion order since all robots are polyobjects, but not all
polyobjects are robots.
2015-04-02 02:36:57 +00:00
Kp 2f86499144 Remove do_cockpit_window_view unused parameters 2015-04-02 02:36:57 +00:00
Kp b0ec49f8e5 Remove unused file+line from get_seg_masks 2015-04-02 02:36:56 +00:00
Kp 16a1fcbb37 Cache g3_draw_bitmap constants 2015-04-02 02:36:56 +00:00
Kp 68241ffbad Convert g3_draw_bitmap floats to structures 2015-04-02 02:36:56 +00:00
Kp 4e6d9b9901 Make xlate_previous const 2015-04-02 02:36:56 +00:00
Kp 1469e2e34c Simplify print_clock 2015-04-02 02:36:56 +00:00
Kp 36e1612ecb Make undo_status array<const char *> 2015-04-02 02:36:56 +00:00
Kp aa75a398d9 Move Wall_names to dumpmine.cpp 2015-04-02 02:36:56 +00:00
Kp f71b3fb759 Make dark_lca,bright_lca array<> 2015-04-02 02:36:56 +00:00
Kp 5a4989c86d Make cross_lva const array<> 2015-04-02 02:36:55 +00:00
Kp 1677d4159c Make primary_lva const array<> 2015-04-02 02:36:55 +00:00
Kp b712ae4603 Avoid unnecessary primary_lca initialization 2015-04-02 02:36:55 +00:00
Kp 27f50082f0 Avoid unnecessary cross_lca initialization 2015-04-02 02:36:55 +00:00
Kp 32d99ada2e Make ret_rgba const array<> 2015-04-02 02:36:55 +00:00
Kp ae8b99ae7d Use RAIIdigi_sound for briefing printing_channel 2015-04-02 02:36:55 +00:00
Kp b60c603e21 Avoid redundant PHYSFSX_exists checks 2015-04-02 02:36:55 +00:00
Kp 61ee6463aa Remove unused show_title_screen return value 2015-04-02 02:36:55 +00:00
Kp b36ce28382 Remove unnecessary strcpy in titles.cpp 2015-04-02 02:36:55 +00:00
Kp efcf7ce6cf Remove unnecessary strcpy in info.cpp 2015-04-02 02:36:55 +00:00
Kp 2a1df52f71 Remove unused g3_draw_bitmap return value 2015-04-02 02:36:54 +00:00
Kp 72d349b0e0 Remove unused g3_draw_sphere return value 2015-04-02 02:36:54 +00:00
Kp 1125a751db Remove unused g3_draw_poly return value 2015-04-02 02:36:54 +00:00
Kp c3161d08d5 Remove unused g3_draw_line return value 2015-04-02 02:36:54 +00:00
Kp 6a4c7ed78e Inline away D1 secret_restore values 2015-04-02 02:36:53 +00:00
Kp b1d8114b7d Reduce sb_show_lives lookup of HIRESMODE 2015-04-02 02:36:53 +00:00
Kp 6e1a1873cc Fix D1 behavior/mode confusion 2015-04-02 02:36:53 +00:00
Kp 9157e5f970 Use enum class for player_awareness_type_t 2015-04-02 02:36:53 +00:00
Kp 2c0755b117 Factor out AI timesplice check 2015-04-02 02:36:52 +00:00
Kp 90fbebf8fd Convert most global arrays to array<> 2015-04-02 02:36:52 +00:00
Kp 66a70fd373 Prepare for global arrays to be array<> 2015-04-02 02:36:52 +00:00
Kp 6e96ff3e00 Fix ambiguous use of INTEL_SHORT/INTEL_INT 2015-04-02 02:36:52 +00:00
Kp d4351a9457 Fix gcc-4.6 for loop variable warning 2015-04-02 02:36:52 +00:00
Kp 66806e1f34 Enable -Wmissing-braces
clang includes it in -Wall, so add it for gcc
2015-04-02 02:36:52 +00:00
Kp f76b112304 Allow dropping laser powerups 2015-03-28 17:18:02 +00:00
Kp 598a5e42a2 Allow granting items at player spawn 2015-03-28 17:18:02 +00:00
Kp da3cb31a0e Refactor powerup allow code 2015-03-28 17:18:02 +00:00
Kp b32d1c76c9 Move powerup size reset into set_powerup_id 2015-03-28 17:18:02 +00:00
Kp ccc440df57 Optimize cloak/invuln cleanup 2015-03-28 17:18:02 +00:00
Kp 12ad357b8d Move Wimp Menu to macro 2015-03-28 17:18:02 +00:00
Kp 0b20dea0ad Remove unused jukebox functions 2015-03-28 17:18:02 +00:00
Kp 9fa052f5b1 Remove unused Multi_killed_yourself 2015-03-28 17:18:01 +00:00
Kp 7ecb605a58 Combine tracker message formatting 2015-03-28 17:18:01 +00:00
Kp 12b5d6c94e Stringize packets per second limits 2015-03-28 17:18:01 +00:00
Kp c645e5b477 Fix gcc-4.7 jukebox build 2015-03-28 01:16:10 +00:00
Bradley Bell 0f88195dba use <cstdlib> instead of <stdlib.h>
to use definitions in the std namespace
2015-03-27 02:50:23 +00:00
Kp 75680578e1 Move CROSS_* into guard
Suggested-by: btb <c3efc342bc>
2015-03-26 02:42:26 +00:00
Kp 99e4fedcd3 Guard kernel_accepts_extra_sockaddr_bytes in defined(IPv6) 2015-03-26 02:42:26 +00:00
Christian 97fc714970 Merge pull request #53 from derhass/unification/syncgl
cleaned-up syncgl patch for unification
2015-03-24 12:37:55 +01:00
Kp 5d6e2c16c6 Fix kill accounting
Fixes: c4ae4e5379 ("Pass player number to multi functions")
2015-03-24 02:35:37 +00:00
Kp 0707664ae1 Use enum for kmatrix_view result 2015-03-24 02:07:42 +00:00
derhass daf6b7a29a add missing line break in -gl_syncwait help message 2015-03-23 20:18:27 +01:00
derhass 639b569496 Merge branch 'unification/master' into unification/syncgl_v2
Conflicts:
	similar/arch/ogl/gr.cpp
	similar/misc/args.cpp
2015-03-23 20:18:17 +01:00
zico 8d686ab23b implemented return value for kmatrix_view() so we can properly bail out of the game loop in AdvanceLevel() 2015-03-23 03:03:22 +01:00
zico 8292efe622 made code for level progression more similar between D1X and D2X 2015-03-23 02:43:31 +01:00
Kp 1e5acb5f6e Fix guided missile crash
Check type before checking signature.  Objects with type OBJ_NONE are
not guaranteed to have any particular signature.  Commit 91d31b1 removed
the statement which cleared the signature when the type changes to
OBJ_NONE.

Fixes: 91d31b1952 ("Wrap object signature in subtype")
2015-03-22 22:48:47 +00:00
Kp d63be36fb3 Fix bogus trap on remote_owner check
Some call sites pass a uint8_t to objnum_remote_to_local, which is
zero-extended up to an int.  The check for owner==-1 then fails, causing
the sanity check to trap to the debugger, even though the situation is
normal and harmless.  Switch the type to int8_t to ensure that the value
is not sign/zero-extended.
2015-03-22 22:48:47 +00:00
Kp b4eaa591c8 Fix crash when all sound channels are in use
If digi_mixer_find_channel returns -1, do not use that result to index
channels[].
2015-03-22 22:48:47 +00:00
Kp 95eccebcb3 Fix parsing of MULTI_FIRE_TRACK/MULTI_FIRE_BOMB
Fixes: 04d84ae61d ("Pass shot orientation with each weapon packet")
2015-03-22 22:48:47 +00:00
derhass 6d41224638 move GL synchronization code into its own class 2015-03-22 21:19:06 +01:00
derhass db267af6f2 add basic OpenGL extension handling
Currently only used for fence sync objects.
2015-03-22 20:32:14 +01:00
Kp 677e48bc7e Warn when aspect ratio is ignored 2015-03-22 18:49:21 +00:00
Kp 627547371f Improve change_res error checking 2015-03-22 18:49:21 +00:00
Kp 2b44a352ca Remove redundant sc_mode
sc_mode is a packed copy of sc_w/sc_h.  Switch to an accessor that uses
the copy.
2015-03-22 18:49:21 +00:00
Kp fca381727c Add wrappers for screen width/height 2015-03-22 18:49:21 +00:00
Kp 8daa014d53 Remove unused gr_check_mode 2015-03-22 18:49:21 +00:00
Kp 6c861b61cd Move RPI variables to usage site 2015-03-22 18:49:21 +00:00
Kp f098471e54 Make sdl_video_flags static 2015-03-22 18:49:21 +00:00
Kp 4afeba001a Move gl_* variables to local scope 2015-03-22 18:49:21 +00:00
Kp 945914f1d6 Enable -Wuninitialized, -Wempty-body, -Wignored-qualifiers, -Wunused 2015-03-22 18:49:21 +00:00
Kp 91d31b1952 Wrap object signature in subtype 2015-03-22 18:49:21 +00:00
Kp 565019f880 Remove unused movie_table_secret 2015-03-22 18:49:21 +00:00
Kp 3da71f79cc Move WORDS_BIGENDIAN functions into #ifdef guard 2015-03-22 18:49:21 +00:00
Kp 90f99c8baa Use any_of to search system_keys 2015-03-22 18:49:21 +00:00
Kp ce1844bf93 Remove bogus test
Global arrays are never placed at NULL.
2015-03-22 18:49:21 +00:00
Kp 08c0c3768c Remove unused gr_set_draw_buffer 2015-03-22 18:49:21 +00:00
Kp ce028fc843 Move Object_type_names to dumpmine 2015-03-22 18:49:21 +00:00
Kp 2f99b894f0 Remove unused state_text 2015-03-22 18:49:21 +00:00
Kp 373becd588 Remove D2-unused mode_text 2015-03-22 18:49:21 +00:00
Kp 7840885473 Fix clang -Wparentheses-equality warnings 2015-03-22 18:49:21 +00:00
Kp 7bf49fe551 Fix clang -Wmissing-braces warnings 2015-03-22 18:49:21 +00:00
Kp 08f6ad4bc7 Enable nested INI files 2015-03-22 18:49:21 +00:00
Kp 098bd2a9df Move exception std::string 2015-03-22 18:49:21 +00:00
Kp 9ddea5f570 Reduce lifetime of Args 2015-03-22 18:49:20 +00:00
Kp 65ff319ebb Use ntstring for LastMission 2015-03-22 18:49:20 +00:00
Kp 8ffb2c7f45 Use newmenu_do2 for newmenu_doreorder 2015-03-22 18:49:20 +00:00
derhass 2cd73b6dfe Import the syncgl patch based on 0.58.1 into unification code base
I also changed the command line arguments a bit, gl_syncmethod and
gl_sycnwait are used now. Furthermore, I added the ew mode AUTO. This is
a conservative mode and the default for now: if GL_ARB_sync is available,
use the FENCE_SLEEP mode, otherwise, disable it completely.

Conflicts:
	include/args.h
	misc/args.c
	similar/arch/ogl/gr.cpp
2015-03-22 18:17:11 +01:00
Kp c5f6a115ec Add <stdexcept> for files that throw std::runtime_error 2015-03-22 04:16:49 +00:00
derhass b73407e791 Prevent digi_mixer_start_sound() from trying to play nonexisting sounds.
There is a an out-of-bounds access in digi_mixer_start_sound() when
soundnum is < 0. The bounds check I added here is already present in
digi_audio_start_sound().

This bug was triggered on the RPi d2x built when trying to show the
briefing screen because briefing_new_screen() tries to play
SOUND_BRIEFING_HUM, which digi_xlat_sound() translated to -1 in this
situation. The game finally crashed in mixdigi_convert_sound() because
GameSounds[-1] happened to contain some non-zero data (on my Linux desktop,
that memory seems to be always 0 by accident...). This was also the reason
why the pi version tried to allocate lots of memory before it crashed in
memcpy().
2015-03-21 23:45:42 +01:00
derhass a8283a9d45 Merge branch 'unification/master' into unification/rpi
Kp already incorporated some small changes I made in my rpi branch into
unification/master. However, besides making the rpi helper functions
static as I did, he also changed the prototype from (void) parameters
to C++ style (). I've incorporated his version here.

Conflicts:
	similar/arch/ogl/gr.cpp
2015-03-21 18:02:16 +01:00
derhass f46e4a2a7c RPi: use -isystem for the VideoCore library header path
Rebirth builds with -Werror=redundant-decls -Werror=undef, which are
triggered by the bcm_host.h. Making gcc treat those paths as
system headers avoids these issues. This was suggested by Kp.
2015-03-21 17:53:13 +01:00
Kp cf687a9a0a Make RPi OGL functions static 2015-03-20 03:30:20 +00:00
Kp 3a37b41192 Fix startup trap with D1 shareware data
D1 shareware models handle textures in a way that requires starting
highest_texture_num at -1.

Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/issues/46>
Fixes: 68be3baeca ("Track highest_texture_num locally")
2015-03-20 03:30:20 +00:00
derhass c1a38e4433 RPi: Use explicit type casts for DISPMANX_TRANSFORM_T 2015-03-18 21:30:50 +01:00
derhass 7ce066cb8b GLES/RPi: Declare internal helper functions static 2015-03-18 21:07:57 +01:00
derhass c23c98562b GLES: Fix const correctness and for TestEGLError() 2015-03-18 21:05:34 +01:00
Kp 2458078987 Skip digi_sync_sounds loop if !Viewer
If a sound is used, it may dereference Viewer.  If Viewer is null, this
will crash.  In 630f11945e,
digi_sync_sounds changed to assume Viewer is valid.  This crashes during
early startup when not using the SDL_mixer backend, even though no
sounds are in use.

Reported-by: derhass <https://github.com/dxx-rebirth/dxx-rebirth/issues/45>
Fixes: 630f11945e ("Cache Viewer in digiobj")
2015-03-15 18:52:52 +00:00
Kp ac39b6cb40 Fix -Wunused-variable warning in sound_menuset for !USE_SDLMIXER
Only cache citem if USE_SDLMIXER.  It is unused if !USE_SDLMIXER.

Fixes: cc508be34c ("Pass selection for EVENT_NEWMENU_SELECTED")
2015-03-15 18:45:53 +00:00
Kp e1ff8afc88 Use ntstring for newmenu_item saved_text 2015-03-12 02:21:21 +00:00
Kp fd2cbdbb39 Use range_for in newmenu.cpp 2015-03-12 02:21:21 +00:00
Kp d1b60c2324 Pass uint_fast32_t for newmenu_* items 2015-03-12 02:21:21 +00:00
Kp 67d5bcdcef Factor out menu scroll stepping 2015-03-12 02:21:21 +00:00
Kp 45c4e09370 Cache menu->items[menu->citem] 2015-03-12 02:21:21 +00:00
Kp 65eb652895 Reduce writes in strip_end_whitespace 2015-03-12 02:21:20 +00:00
Kp 9b0a97f9d4 Flip sense of char_allowed 2015-03-12 02:21:20 +00:00
Kp 94d153e5cd Reorder ' '->'_' check 2015-03-12 02:21:20 +00:00
Kp 65810d5c77 Skip sqrt in check_vector_to_sphere_1 2015-03-12 02:21:20 +00:00
Kp 707b69220d Skip sqrt,square in check_vector_to_sphere_1 2015-03-12 02:21:20 +00:00
Kp f89262054f Skip sqrt in check_sphere_to_face 2015-03-12 02:21:20 +00:00