mirror of
https://github.com/kevinbentley/Descent3.git
synced 2025-01-22 19:55:23 +00:00
1228 lines
62 KiB
C++
1228 lines
62 KiB
C++
/*
|
|
* Descent 3
|
|
* Copyright (C) 2024 Parallax Software
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
--- HISTORICAL COMMENTS FOLLOW ---
|
|
|
|
* $Logfile: /DescentIII/Main/editor/RobotEditWeaponsDialog.cpp $
|
|
* $Revision: 1.1.1.1 $
|
|
* $Date: 2003-08-26 03:57:38 $
|
|
* $Author: kevinb $
|
|
*
|
|
* Robot weapon battery dialog
|
|
*
|
|
* $Log: not supported by cvs2svn $
|
|
*
|
|
* 35 3/02/99 7:23p Chris
|
|
* Add the 'fire at target' check box for weapon batteries
|
|
*
|
|
* 34 1/31/99 11:26p Chris
|
|
* added WBF_AIM_FVEC
|
|
*
|
|
* 33 1/25/99 8:51a Chris
|
|
*
|
|
* 32 11/13/98 12:30p Jason
|
|
* changes for weapons
|
|
*
|
|
* 31 11/10/98 6:18p Chris
|
|
* Improved AI - added support for manual max firing distances
|
|
*
|
|
* 30 11/03/98 6:37p Chris
|
|
* Started to add support for on/off and spray weapons for robots
|
|
*
|
|
* 29 10/19/98 8:11p Chris
|
|
*
|
|
* 28 10/19/98 7:51p Chris
|
|
*
|
|
* 27 10/19/98 7:38p Chris
|
|
*
|
|
* 26 10/19/98 7:20p Chris
|
|
* Added custom fire dot code
|
|
*
|
|
* 25 9/22/98 12:04p Matt
|
|
* Fixed bogus handling of OutrageMessageBox() results.
|
|
*
|
|
* 24 8/14/98 4:57p Jeff
|
|
* edit quad fire mask
|
|
*
|
|
* 23 8/14/98 3:32p Chris
|
|
* Added quad support
|
|
*
|
|
* 22 8/05/98 12:41p Chris
|
|
* Fixed a bug with zero turret wbs
|
|
*
|
|
* 21 4/09/98 2:23p Jason
|
|
* added guided/afterburner stuff
|
|
*
|
|
* 20 3/30/98 10:50a Chris
|
|
* I added support of random next firing masks
|
|
*
|
|
* 19 3/23/98 10:03a Chris
|
|
* Added independent wb animations
|
|
*
|
|
* 18 2/09/98 11:12a Chris
|
|
* Allowed for the edititng of multiple weapon batteries
|
|
*
|
|
* 17 2/04/98 12:35a Chris
|
|
* Fixed weapon battery stuff for non-turret'ed weapon batteries
|
|
*
|
|
* 16 1/23/98 6:25p Jason
|
|
* Got spray weapons working
|
|
*
|
|
* 15 1/23/98 12:31p Chris
|
|
* Fixed bug induced by Jason because of different dialog coding
|
|
* conventions
|
|
*
|
|
* $NoKeywords: $
|
|
*/
|
|
|
|
#include "stdafx.h"
|
|
#include "editor.h"
|
|
#include "RobotEditWeaponsDialog.h"
|
|
#include "weapon.h"
|
|
#include "string.h"
|
|
#include "polymodel.h"
|
|
#include "fix.h"
|
|
#include "weapon.h"
|
|
#include "soundload.h"
|
|
#include "soundpage.h"
|
|
#include "hlsoundlib.h"
|
|
#include "mono.h"
|
|
#include "pserror.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// RobotEditWeaponsDialog dialog
|
|
|
|
void RobotEditWeaponsDialog::NewWBSelected() {
|
|
char str[200];
|
|
|
|
m_current_turret_index = 0;
|
|
|
|
sprintf(str, "Num Turrets for GB: %d", m_obj_pm->poly_wb[m_current_wb_index].num_turrets);
|
|
m_num_turrets_text = str;
|
|
|
|
m_num_masks = m_obj_static_wb[m_current_wb_index].num_masks;
|
|
|
|
m_ammo_usage = m_obj_static_wb[m_current_wb_index].ammo_usage;
|
|
m_energy_usage = m_obj_static_wb[m_current_wb_index].energy_usage;
|
|
|
|
m_view_cone_angle = acos(m_obj_static_wb[m_current_wb_index].aiming_3d_dot) * (360.0 / PI);
|
|
m_max_distance = m_obj_static_wb[m_current_wb_index].aiming_3d_dist;
|
|
m_xz_plane_angle = acos(m_obj_static_wb[m_current_wb_index].aiming_XZ_dot) * (360.0 / PI);
|
|
|
|
m_current_aiming_point = m_obj_static_wb[m_current_wb_index].aiming_gp_index;
|
|
m_anim_type = m_obj_static_wb[m_current_wb_index].flags & WBF_ANIM_MASKS;
|
|
|
|
sprintf(str, "%d", m_current_wb_index + 1);
|
|
m_current_gb = str;
|
|
|
|
UpdateTurretInfo();
|
|
|
|
// sprintf(str, "%d", m_obj_pm->poly_wb[m_current_wb_index].turret_index[m_current_turret_index]);
|
|
sprintf(str, "%d", m_current_turret_index + 1);
|
|
m_current_turret_combo = str;
|
|
|
|
m_weapon_0_text = Weapons[m_obj_static_wb[m_current_wb_index].gp_weapon_index[0]].name;
|
|
m_weapon_1_text = Weapons[m_obj_static_wb[m_current_wb_index].gp_weapon_index[1]].name;
|
|
m_weapon_2_text = Weapons[m_obj_static_wb[m_current_wb_index].gp_weapon_index[2]].name;
|
|
m_weapon_3_text = Weapons[m_obj_static_wb[m_current_wb_index].gp_weapon_index[3]].name;
|
|
m_weapon_4_text = Weapons[m_obj_static_wb[m_current_wb_index].gp_weapon_index[4]].name;
|
|
m_weapon_5_text = Weapons[m_obj_static_wb[m_current_wb_index].gp_weapon_index[5]].name;
|
|
m_weapon_6_text = Weapons[m_obj_static_wb[m_current_wb_index].gp_weapon_index[6]].name;
|
|
m_weapon_7_text = Weapons[m_obj_static_wb[m_current_wb_index].gp_weapon_index[7]].name;
|
|
|
|
m_fire_sound_0_text = Sounds[m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[0]].name;
|
|
m_fire_sound_1_text = Sounds[m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[1]].name;
|
|
m_fire_sound_2_text = Sounds[m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[2]].name;
|
|
m_fire_sound_3_text = Sounds[m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[3]].name;
|
|
m_fire_sound_4_text = Sounds[m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[4]].name;
|
|
m_fire_sound_5_text = Sounds[m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[5]].name;
|
|
m_fire_sound_6_text = Sounds[m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[6]].name;
|
|
m_fire_sound_7_text = Sounds[m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[7]].name;
|
|
|
|
m_mask_latency_0 = m_obj_static_wb[m_current_wb_index].gp_fire_wait[0];
|
|
m_mask_latency_1 = m_obj_static_wb[m_current_wb_index].gp_fire_wait[1];
|
|
m_mask_latency_2 = m_obj_static_wb[m_current_wb_index].gp_fire_wait[2];
|
|
m_mask_latency_3 = m_obj_static_wb[m_current_wb_index].gp_fire_wait[3];
|
|
m_mask_latency_4 = m_obj_static_wb[m_current_wb_index].gp_fire_wait[4];
|
|
m_mask_latency_5 = m_obj_static_wb[m_current_wb_index].gp_fire_wait[5];
|
|
m_mask_latency_6 = m_obj_static_wb[m_current_wb_index].gp_fire_wait[6];
|
|
m_mask_latency_7 = m_obj_static_wb[m_current_wb_index].gp_fire_wait[7];
|
|
|
|
m_gp77 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] & 0x01 << 7) != 0);
|
|
m_gp76 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] & 0x01 << 6) != 0);
|
|
m_gp75 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] & 0x01 << 5) != 0);
|
|
m_gp74 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] & 0x01 << 4) != 0);
|
|
m_gp73 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] & 0x01 << 3) != 0);
|
|
m_gp72 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] & 0x01 << 2) != 0);
|
|
m_gp71 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] & 0x01 << 1) != 0);
|
|
m_gp70 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] & 0x01) != 0);
|
|
m_gp67 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] & 0x01 << 7) != 0);
|
|
m_gp66 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] & 0x01 << 6) != 0);
|
|
m_gp65 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] & 0x01 << 5) != 0);
|
|
m_gp64 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] & 0x01 << 4) != 0);
|
|
m_gp63 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] & 0x01 << 3) != 0);
|
|
m_gp62 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] & 0x01 << 2) != 0);
|
|
m_gp61 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] & 0x01 << 1) != 0);
|
|
m_gp60 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] & 0x01) != 0);
|
|
m_gp57 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] & 0x01 << 7) != 0);
|
|
m_gp56 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] & 0x01 << 6) != 0);
|
|
m_gp55 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] & 0x01 << 5) != 0);
|
|
m_gp54 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] & 0x01 << 4) != 0);
|
|
m_gp53 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] & 0x01 << 3) != 0);
|
|
m_gp52 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] & 0x01 << 2) != 0);
|
|
m_gp51 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] & 0x01 << 1) != 0);
|
|
m_gp50 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] & 0x01) != 0);
|
|
m_gp47 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] & 0x01 << 7) != 0);
|
|
m_gp46 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] & 0x01 << 6) != 0);
|
|
m_gp45 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] & 0x01 << 5) != 0);
|
|
m_gp44 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] & 0x01 << 4) != 0);
|
|
m_gp43 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] & 0x01 << 3) != 0);
|
|
m_gp42 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] & 0x01 << 2) != 0);
|
|
m_gp41 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] & 0x01 << 1) != 0);
|
|
m_gp40 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] & 0x01) != 0);
|
|
m_gp37 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] & 0x01 << 7) != 0);
|
|
m_gp36 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] & 0x01 << 6) != 0);
|
|
m_gp35 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] & 0x01 << 5) != 0);
|
|
m_gp34 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] & 0x01 << 4) != 0);
|
|
m_gp33 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] & 0x01 << 3) != 0);
|
|
m_gp32 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] & 0x01 << 2) != 0);
|
|
m_gp31 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] & 0x01 << 1) != 0);
|
|
m_gp30 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] & 0x01) != 0);
|
|
m_gp27 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] & 0x01 << 7) != 0);
|
|
m_gp26 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] & 0x01 << 6) != 0);
|
|
m_gp25 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] & 0x01 << 5) != 0);
|
|
m_gp24 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] & 0x01 << 4) != 0);
|
|
m_gp23 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] & 0x01 << 3) != 0);
|
|
m_gp22 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] & 0x01 << 2) != 0);
|
|
m_gp21 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] & 0x01 << 1) != 0);
|
|
m_gp20 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] & 0x01) != 0);
|
|
m_gp17 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] & 0x01 << 7) != 0);
|
|
m_gp16 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] & 0x01 << 6) != 0);
|
|
m_gp15 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] & 0x01 << 5) != 0);
|
|
m_gp14 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] & 0x01 << 4) != 0);
|
|
m_gp13 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] & 0x01 << 3) != 0);
|
|
m_gp12 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] & 0x01 << 2) != 0);
|
|
m_gp11 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] & 0x01 << 1) != 0);
|
|
m_gp10 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] & 0x01) != 0);
|
|
m_gp07 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] & 0x01 << 7) != 0);
|
|
m_gp06 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] & 0x01 << 6) != 0);
|
|
m_gp05 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] & 0x01 << 5) != 0);
|
|
m_gp04 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] & 0x01 << 4) != 0);
|
|
m_gp03 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] & 0x01 << 3) != 0);
|
|
m_gp02 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] & 0x01 << 2) != 0);
|
|
m_gp01 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] & 0x01 << 1) != 0);
|
|
m_gp00 = ((m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] & 0x01) != 0);
|
|
|
|
m_gpq7 = ((m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask & 0x01 << 7) != 0);
|
|
m_gpq6 = ((m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask & 0x01 << 6) != 0);
|
|
m_gpq5 = ((m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask & 0x01 << 5) != 0);
|
|
m_gpq4 = ((m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask & 0x01 << 4) != 0);
|
|
m_gpq3 = ((m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask & 0x01 << 3) != 0);
|
|
m_gpq2 = ((m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask & 0x01 << 2) != 0);
|
|
m_gpq1 = ((m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask & 0x01 << 1) != 0);
|
|
m_gpq0 = ((m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask & 0x01) != 0);
|
|
|
|
m_fire0_cycle_time = m_obj_static_wb[m_current_wb_index].anim_time[0];
|
|
m_fire1_cycle_time = m_obj_static_wb[m_current_wb_index].anim_time[1];
|
|
m_fire2_cycle_time = m_obj_static_wb[m_current_wb_index].anim_time[2];
|
|
m_fire3_cycle_time = m_obj_static_wb[m_current_wb_index].anim_time[3];
|
|
m_fire4_cycle_time = m_obj_static_wb[m_current_wb_index].anim_time[4];
|
|
m_fire5_cycle_time = m_obj_static_wb[m_current_wb_index].anim_time[5];
|
|
m_fire6_cycle_time = m_obj_static_wb[m_current_wb_index].anim_time[6];
|
|
m_fire7_cycle_time = m_obj_static_wb[m_current_wb_index].anim_time[7];
|
|
m_fire0_end_tick = m_obj_static_wb[m_current_wb_index].anim_end_frame[0];
|
|
m_fire1_end_tick = m_obj_static_wb[m_current_wb_index].anim_end_frame[1];
|
|
m_fire2_end_tick = m_obj_static_wb[m_current_wb_index].anim_end_frame[2];
|
|
m_fire3_end_tick = m_obj_static_wb[m_current_wb_index].anim_end_frame[3];
|
|
m_fire4_end_tick = m_obj_static_wb[m_current_wb_index].anim_end_frame[4];
|
|
m_fire5_end_tick = m_obj_static_wb[m_current_wb_index].anim_end_frame[5];
|
|
m_fire6_end_tick = m_obj_static_wb[m_current_wb_index].anim_end_frame[6];
|
|
m_fire7_end_tick = m_obj_static_wb[m_current_wb_index].anim_end_frame[7];
|
|
m_fire0_fire_tick = m_obj_static_wb[m_current_wb_index].anim_fire_frame[0];
|
|
m_fire1_fire_tick = m_obj_static_wb[m_current_wb_index].anim_fire_frame[1];
|
|
m_fire2_fire_tick = m_obj_static_wb[m_current_wb_index].anim_fire_frame[2];
|
|
m_fire3_fire_tick = m_obj_static_wb[m_current_wb_index].anim_fire_frame[3];
|
|
m_fire4_fire_tick = m_obj_static_wb[m_current_wb_index].anim_fire_frame[4];
|
|
m_fire5_fire_tick = m_obj_static_wb[m_current_wb_index].anim_fire_frame[5];
|
|
m_fire6_fire_tick = m_obj_static_wb[m_current_wb_index].anim_fire_frame[6];
|
|
m_fire7_fire_tick = m_obj_static_wb[m_current_wb_index].anim_fire_frame[7];
|
|
m_fire0_start_tick = m_obj_static_wb[m_current_wb_index].anim_start_frame[0];
|
|
m_fire1_start_tick = m_obj_static_wb[m_current_wb_index].anim_start_frame[1];
|
|
m_fire2_start_tick = m_obj_static_wb[m_current_wb_index].anim_start_frame[2];
|
|
m_fire3_start_tick = m_obj_static_wb[m_current_wb_index].anim_start_frame[3];
|
|
m_fire4_start_tick = m_obj_static_wb[m_current_wb_index].anim_start_frame[4];
|
|
m_fire5_start_tick = m_obj_static_wb[m_current_wb_index].anim_start_frame[5];
|
|
m_fire6_start_tick = m_obj_static_wb[m_current_wb_index].anim_start_frame[6];
|
|
m_fire7_start_tick = m_obj_static_wb[m_current_wb_index].anim_start_frame[7];
|
|
|
|
m_spray_check = ((m_obj_static_wb[m_current_wb_index].flags & WBF_SPRAY) != 0);
|
|
m_guided = ((m_obj_static_wb[m_current_wb_index].flags & WBF_GUIDED) != 0);
|
|
m_user_timeout = ((m_obj_static_wb[m_current_wb_index].flags & WBF_USER_TIMEOUT) != 0);
|
|
m_random_check = ((m_obj_static_wb[m_current_wb_index].flags & WBF_RANDOM_FIRE_ORDER) != 0);
|
|
m_force_fvec_check = ((m_obj_static_wb[m_current_wb_index].flags & WBF_FIRE_FVEC) != 0);
|
|
m_force_target_check = ((m_obj_static_wb[m_current_wb_index].flags & WBF_FIRE_TARGET) != 0);
|
|
m_aim_fvec_check = ((m_obj_static_wb[m_current_wb_index].flags & WBF_AIM_FVEC) != 0);
|
|
m_onoff_check = ((m_obj_static_wb[m_current_wb_index].flags & WBF_ON_OFF) != 0);
|
|
|
|
m_custom_view_cone_check = ((m_obj_static_wb[m_current_wb_index].flags & WBF_USE_CUSTOM_FOV) != 0);
|
|
m_custom_max_dist = ((m_obj_static_wb[m_current_wb_index].flags & WBF_USE_CUSTOM_MAX_DIST) != 0);
|
|
}
|
|
|
|
RobotEditWeaponsDialog::RobotEditWeaponsDialog(otype_wb_info static_wb[], poly_model *pm, CWnd *pParent /*=NULL*/)
|
|
: CDialog(RobotEditWeaponsDialog::IDD, pParent) {
|
|
// CEdit *ebox;
|
|
char str[200];
|
|
|
|
m_obj_static_wb = static_wb;
|
|
m_obj_pm = pm;
|
|
|
|
//{{AFX_DATA_INIT(RobotEditWeaponsDialog)
|
|
m_weapon_0_text = _T("");
|
|
m_weapon_1_text = _T("");
|
|
m_weapon_2_text = _T("");
|
|
m_weapon_4_text = _T("");
|
|
m_weapon_3_text = _T("");
|
|
m_weapon_5_text = _T("");
|
|
m_weapon_6_text = _T("");
|
|
m_weapon_7_text = _T("");
|
|
m_fire_sound_0_text = _T("");
|
|
m_fire_sound_1_text = _T("");
|
|
m_fire_sound_2_text = _T("");
|
|
m_fire_sound_3_text = _T("");
|
|
m_fire_sound_4_text = _T("");
|
|
m_fire_sound_5_text = _T("");
|
|
m_fire_sound_6_text = _T("");
|
|
m_fire_sound_7_text = _T("");
|
|
m_energy_usage = 0.0f;
|
|
m_ammo_usage = 0.0f;
|
|
m_spray_check = FALSE;
|
|
m_random_check = FALSE;
|
|
m_guided = FALSE;
|
|
m_gpq0 = FALSE;
|
|
m_gpq1 = FALSE;
|
|
m_gpq2 = FALSE;
|
|
m_gpq3 = FALSE;
|
|
m_gpq4 = FALSE;
|
|
m_gpq5 = FALSE;
|
|
m_gpq6 = FALSE;
|
|
m_gpq7 = FALSE;
|
|
m_custom_view_cone_check = FALSE;
|
|
m_onoff_check = FALSE;
|
|
m_custom_max_dist = FALSE;
|
|
m_user_timeout = FALSE;
|
|
m_force_fvec_check = FALSE;
|
|
m_aim_fvec_check = FALSE;
|
|
m_force_target_check = FALSE;
|
|
//}}AFX_DATA_INIT
|
|
|
|
m_current_wb_index = 0;
|
|
|
|
sprintf(str, "Total Gun Batteries: %d", m_obj_pm->num_wbs);
|
|
m_total_gb_text = str;
|
|
|
|
sprintf(str, "Total Gun Points: %d", m_obj_pm->n_guns);
|
|
m_total_gp_text = str;
|
|
|
|
NewWBSelected();
|
|
}
|
|
|
|
void RobotEditWeaponsDialog::DoDataExchange(CDataExchange *pDX) {
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(RobotEditWeaponsDialog)
|
|
DDX_CBString(pDX, IDC_CURRENT_GB_COMBO, m_current_gb);
|
|
DDX_Text(pDX, IDC_GB_MASK_LATENCY_0_EDIT, m_mask_latency_0);
|
|
DDV_MinMaxFloat(pDX, m_mask_latency_0, 0.0f, 100000.0f);
|
|
DDX_Text(pDX, IDC_GB_MASK_LATENCY_1_EDIT, m_mask_latency_1);
|
|
DDV_MinMaxFloat(pDX, m_mask_latency_1, 0.0f, 100000.0f);
|
|
DDX_Text(pDX, IDC_GB_MASK_LATENCY_2_EDIT, m_mask_latency_2);
|
|
DDV_MinMaxFloat(pDX, m_mask_latency_2, 0.0f, 100000.0f);
|
|
DDX_Text(pDX, IDC_GB_MASK_LATENCY_3_EDIT, m_mask_latency_3);
|
|
DDV_MinMaxFloat(pDX, m_mask_latency_3, 0.0f, 100000.0f);
|
|
DDX_Text(pDX, IDC_GB_MASK_LATENCY_4_EDIT, m_mask_latency_4);
|
|
DDV_MinMaxFloat(pDX, m_mask_latency_4, 0.0f, 100000.0f);
|
|
DDX_Text(pDX, IDC_GB_MASK_LATENCY_5_EDIT, m_mask_latency_5);
|
|
DDV_MinMaxFloat(pDX, m_mask_latency_5, 0.0f, 100000.0f);
|
|
DDX_Text(pDX, IDC_GB_MASK_LATENCY_6_EDIT, m_mask_latency_6);
|
|
DDV_MinMaxFloat(pDX, m_mask_latency_6, 0.0f, 100000.0f);
|
|
DDX_Text(pDX, IDC_GB_MASK_LATENCY_7_EDIT, m_mask_latency_7);
|
|
DDV_MinMaxFloat(pDX, m_mask_latency_7, 0.0f, 100000.0f);
|
|
DDX_Text(pDX, IDC_GB_NUM_MASKS_EDIT, m_num_masks);
|
|
DDV_MinMaxUInt(pDX, m_num_masks, 1, 8);
|
|
DDX_Text(pDX, IDC_TOTAL_GB_STATIC, m_total_gb_text);
|
|
DDX_Text(pDX, IDC_TOTAL_GP_STATIC, m_total_gp_text);
|
|
DDX_Text(pDX, IDC_NUM_GB_TURRETS_STATIC, m_num_turrets_text);
|
|
DDX_Check(pDX, IDC_GP_MASK_7_7, m_gp77);
|
|
DDX_Check(pDX, IDC_GP_MASK_7_6, m_gp76);
|
|
DDX_Check(pDX, IDC_GP_MASK_7_5, m_gp75);
|
|
DDX_Check(pDX, IDC_GP_MASK_7_4, m_gp74);
|
|
DDX_Check(pDX, IDC_GP_MASK_7_3, m_gp73);
|
|
DDX_Check(pDX, IDC_GP_MASK_7_2, m_gp72);
|
|
DDX_Check(pDX, IDC_GP_MASK_7_1, m_gp71);
|
|
DDX_Check(pDX, IDC_GP_MASK_7_0, m_gp70);
|
|
DDX_Check(pDX, IDC_GP_MASK_6_7, m_gp67);
|
|
DDX_Check(pDX, IDC_GP_MASK_6_6, m_gp66);
|
|
DDX_Check(pDX, IDC_GP_MASK_6_5, m_gp65);
|
|
DDX_Check(pDX, IDC_GP_MASK_6_4, m_gp64);
|
|
DDX_Check(pDX, IDC_GP_MASK_6_3, m_gp63);
|
|
DDX_Check(pDX, IDC_GP_MASK_6_2, m_gp62);
|
|
DDX_Check(pDX, IDC_GP_MASK_6_1, m_gp61);
|
|
DDX_Check(pDX, IDC_GP_MASK_6_0, m_gp60);
|
|
DDX_Check(pDX, IDC_GP_MASK_5_6, m_gp56);
|
|
DDX_Check(pDX, IDC_GP_MASK_5_7, m_gp57);
|
|
DDX_Check(pDX, IDC_GP_MASK_5_5, m_gp55);
|
|
DDX_Check(pDX, IDC_GP_MASK_5_4, m_gp54);
|
|
DDX_Check(pDX, IDC_GP_MASK_5_3, m_gp53);
|
|
DDX_Check(pDX, IDC_GP_MASK_5_2, m_gp52);
|
|
DDX_Check(pDX, IDC_GP_MASK_5_1, m_gp51);
|
|
DDX_Check(pDX, IDC_GP_MASK_5_0, m_gp50);
|
|
DDX_Check(pDX, IDC_GP_MASK_4_7, m_gp47);
|
|
DDX_Check(pDX, IDC_GP_MASK_4_6, m_gp46);
|
|
DDX_Check(pDX, IDC_GP_MASK_4_5, m_gp45);
|
|
DDX_Check(pDX, IDC_GP_MASK_4_4, m_gp44);
|
|
DDX_Check(pDX, IDC_GP_MASK_4_3, m_gp43);
|
|
DDX_Check(pDX, IDC_GP_MASK_4_2, m_gp42);
|
|
DDX_Check(pDX, IDC_GP_MASK_4_1, m_gp41);
|
|
DDX_Check(pDX, IDC_GP_MASK_4_0, m_gp40);
|
|
DDX_Check(pDX, IDC_GP_MASK_3_7, m_gp37);
|
|
DDX_Check(pDX, IDC_GP_MASK_3_6, m_gp36);
|
|
DDX_Check(pDX, IDC_GP_MASK_3_5, m_gp35);
|
|
DDX_Check(pDX, IDC_GP_MASK_3_4, m_gp34);
|
|
DDX_Check(pDX, IDC_GP_MASK_3_3, m_gp33);
|
|
DDX_Check(pDX, IDC_GP_MASK_3_2, m_gp32);
|
|
DDX_Check(pDX, IDC_GP_MASK_3_1, m_gp31);
|
|
DDX_Check(pDX, IDC_GP_MASK_3_0, m_gp30);
|
|
DDX_Check(pDX, IDC_GP_MASK_2_7, m_gp27);
|
|
DDX_Check(pDX, IDC_GP_MASK_2_6, m_gp26);
|
|
DDX_Check(pDX, IDC_GP_MASK_2_5, m_gp25);
|
|
DDX_Check(pDX, IDC_GP_MASK_2_4, m_gp24);
|
|
DDX_Check(pDX, IDC_GP_MASK_2_3, m_gp23);
|
|
DDX_Check(pDX, IDC_GP_MASK_2_2, m_gp22);
|
|
DDX_Check(pDX, IDC_GP_MASK_2_1, m_gp21);
|
|
DDX_Check(pDX, IDC_GP_MASK_2_0, m_gp20);
|
|
DDX_Check(pDX, IDC_GP_MASK_1_7, m_gp17);
|
|
DDX_Check(pDX, IDC_GP_MASK_1_6, m_gp16);
|
|
DDX_Check(pDX, IDC_GP_MASK_1_5, m_gp15);
|
|
DDX_Check(pDX, IDC_GP_MASK_1_4, m_gp14);
|
|
DDX_Check(pDX, IDC_GP_MASK_1_3, m_gp13);
|
|
DDX_Check(pDX, IDC_GP_MASK_1_2, m_gp12);
|
|
DDX_Check(pDX, IDC_GP_MASK_1_1, m_gp11);
|
|
DDX_Check(pDX, IDC_GP_MASK_1_0, m_gp10);
|
|
DDX_Check(pDX, IDC_GP_MASK_0_7, m_gp07);
|
|
DDX_Check(pDX, IDC_GP_MASK_0_6, m_gp06);
|
|
DDX_Check(pDX, IDC_GP_MASK_0_5, m_gp05);
|
|
DDX_Check(pDX, IDC_GP_MASK_0_4, m_gp04);
|
|
DDX_Check(pDX, IDC_GP_MASK_0_3, m_gp03);
|
|
DDX_Check(pDX, IDC_GP_MASK_0_2, m_gp02);
|
|
DDX_Check(pDX, IDC_GP_MASK_0_1, m_gp01);
|
|
DDX_Check(pDX, IDC_GP_MASK_0_0, m_gp00);
|
|
DDX_Text(pDX, IDC_TURRET_REACTION_TIME_STATIC, m_turret_reaction_time_text);
|
|
DDX_Text(pDX, IDC_TURRET_FOV_STATIC, m_turret_fov_text);
|
|
DDX_Text(pDX, IDC_TURRET_SPR_STATIC, m_turret_spr_text);
|
|
DDX_CBString(pDX, IDC_CURRET_TURRET_COMBO, m_current_turret_combo);
|
|
DDX_Text(pDX, IDC_TURRET_SOBJ_STATIC, m_turret_sobj_text);
|
|
DDX_Text(pDX, IDC_VIEW_CONE_ANGLE_EDIT, m_view_cone_angle);
|
|
DDV_MinMaxFloat(pDX, m_view_cone_angle, 1.f, 359.f);
|
|
DDX_Text(pDX, IDC_MAX_DISTANCE_EDIT, m_max_distance);
|
|
DDV_MinMaxFloat(pDX, m_max_distance, 1.f, 1.e+007f);
|
|
DDX_Text(pDX, IDC_XZ_PLANE_ANGLE_EDIT, m_xz_plane_angle);
|
|
DDV_MinMaxFloat(pDX, m_xz_plane_angle, 1.f, 359.f);
|
|
DDX_CBString(pDX, IDC_BARREL_0_COMBO, m_weapon_0_text);
|
|
DDX_CBString(pDX, IDC_BARREL_1_COMBO, m_weapon_1_text);
|
|
DDX_CBString(pDX, IDC_BARREL_2_COMBO, m_weapon_2_text);
|
|
DDX_CBString(pDX, IDC_BARREL_4_COMBO, m_weapon_4_text);
|
|
DDX_CBString(pDX, IDC_BARREL_3_COMBO, m_weapon_3_text);
|
|
DDX_CBString(pDX, IDC_BARREL_5_COMBO, m_weapon_5_text);
|
|
DDX_CBString(pDX, IDC_BARREL_6_COMBO, m_weapon_6_text);
|
|
DDX_CBString(pDX, IDC_BARREL_7_COMBO, m_weapon_7_text);
|
|
DDX_CBString(pDX, IDC_WB_FIRE0_SOUND_PULLDOWN, m_fire_sound_0_text);
|
|
DDX_CBString(pDX, IDC_WB_FIRE1_SOUND_PULLDOWN, m_fire_sound_1_text);
|
|
DDX_CBString(pDX, IDC_WB_FIRE2_SOUND_PULLDOWN, m_fire_sound_2_text);
|
|
DDX_CBString(pDX, IDC_WB_FIRE3_SOUND_PULLDOWN, m_fire_sound_3_text);
|
|
DDX_CBString(pDX, IDC_WB_FIRE4_SOUND_PULLDOWN, m_fire_sound_4_text);
|
|
DDX_CBString(pDX, IDC_WB_FIRE5_SOUND_PULLDOWN, m_fire_sound_5_text);
|
|
DDX_CBString(pDX, IDC_WB_FIRE6_SOUND_PULLDOWN, m_fire_sound_6_text);
|
|
DDX_CBString(pDX, IDC_WB_FIRE7_SOUND_PULLDOWN, m_fire_sound_7_text);
|
|
DDX_Text(pDX, IDC_ENERGY_USAGE_EDIT, m_energy_usage);
|
|
DDV_MinMaxFloat(pDX, m_energy_usage, 0.0f, 10000.f);
|
|
DDX_Text(pDX, IDC_AMMO_USAGE_EDIT, m_ammo_usage);
|
|
DDV_MinMaxFloat(pDX, m_ammo_usage, 0.f, 10000.f);
|
|
DDX_Check(pDX, IDC_SPRAY_CHECK, m_spray_check);
|
|
DDX_Text(pDX, IDC_WB_FIRE0_CYCLE_TIME, m_fire0_cycle_time);
|
|
DDX_Text(pDX, IDC_WB_FIRE1_CYCLE_TIME, m_fire1_cycle_time);
|
|
DDX_Text(pDX, IDC_WB_FIRE2_CYCLE_TIME, m_fire2_cycle_time);
|
|
DDX_Text(pDX, IDC_WB_FIRE3_CYCLE_TIME, m_fire3_cycle_time);
|
|
DDX_Text(pDX, IDC_WB_FIRE4_CYCLE_TIME, m_fire4_cycle_time);
|
|
DDX_Text(pDX, IDC_WB_FIRE5_CYCLE_TIME, m_fire5_cycle_time);
|
|
DDX_Text(pDX, IDC_WB_FIRE6_CYCLE_TIME, m_fire6_cycle_time);
|
|
DDX_Text(pDX, IDC_WB_FIRE7_CYCLE_TIME, m_fire7_cycle_time);
|
|
DDX_Text(pDX, IDC_WB_FIRE0_END_TICK, m_fire0_end_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE1_END_TICK, m_fire1_end_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE2_END_TICK, m_fire2_end_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE3_END_TICK, m_fire3_end_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE4_END_TICK, m_fire4_end_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE5_END_TICK, m_fire5_end_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE6_END_TICK, m_fire6_end_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE7_END_TICK, m_fire7_end_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE0_FIRE_TICK, m_fire0_fire_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE1_FIRE_TICK, m_fire1_fire_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE2_FIRE_TICK, m_fire2_fire_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE3_FIRE_TICK, m_fire3_fire_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE4_FIRE_TICK, m_fire4_fire_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE5_FIRE_TICK, m_fire5_fire_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE6_FIRE_TICK, m_fire6_fire_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE7_FIRE_TICK, m_fire7_fire_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE0_START_TICK, m_fire0_start_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE1_START_TICK, m_fire1_start_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE2_START_TICK, m_fire2_start_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE3_START_TICK, m_fire3_start_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE4_START_TICK, m_fire4_start_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE5_START_TICK, m_fire5_start_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE6_START_TICK, m_fire6_start_tick);
|
|
DDX_Text(pDX, IDC_WB_FIRE7_START_TICK, m_fire7_start_tick);
|
|
DDX_Check(pDX, IDC_WB_RANDOM_CHECK, m_random_check);
|
|
DDX_Check(pDX, IDC_GUIDED_CHECK, m_guided);
|
|
DDX_Check(pDX, IDC_GP_MASK_Q_0, m_gpq0);
|
|
DDX_Check(pDX, IDC_GP_MASK_Q_1, m_gpq1);
|
|
DDX_Check(pDX, IDC_GP_MASK_Q_2, m_gpq2);
|
|
DDX_Check(pDX, IDC_GP_MASK_Q_3, m_gpq3);
|
|
DDX_Check(pDX, IDC_GP_MASK_Q_4, m_gpq4);
|
|
DDX_Check(pDX, IDC_GP_MASK_Q_5, m_gpq5);
|
|
DDX_Check(pDX, IDC_GP_MASK_Q_6, m_gpq6);
|
|
DDX_Check(pDX, IDC_GP_MASK_Q_7, m_gpq7);
|
|
DDX_Check(pDX, IDC_VIEW_CONE_ANGLE_CHECK, m_custom_view_cone_check);
|
|
DDX_Check(pDX, IDC_ONOFF_CHECK, m_onoff_check);
|
|
DDX_Check(pDX, IDC_MAX_DISTANCE_CHECK, m_custom_max_dist);
|
|
DDX_Check(pDX, IDC_USER_TIMEOUT_CHECK, m_user_timeout);
|
|
DDX_Check(pDX, IDC_FORCE_TO_FVEC_CHECK, m_force_fvec_check);
|
|
DDX_Check(pDX, IDC_WBAIMFORWARD_CHECK, m_aim_fvec_check);
|
|
DDX_Check(pDX, IDC_FORCE_TO_TARGET_CHECK, m_force_target_check);
|
|
//}}AFX_DATA_MAP
|
|
|
|
if (((CButton *)GetDlgItem(IDC_BARREL_0_RADIO))->GetCheck())
|
|
m_current_aiming_point = 0;
|
|
if (((CButton *)GetDlgItem(IDC_BARREL_1_RADIO))->GetCheck())
|
|
m_current_aiming_point = 1;
|
|
if (((CButton *)GetDlgItem(IDC_BARREL_2_RADIO))->GetCheck())
|
|
m_current_aiming_point = 2;
|
|
if (((CButton *)GetDlgItem(IDC_BARREL_3_RADIO))->GetCheck())
|
|
m_current_aiming_point = 3;
|
|
if (((CButton *)GetDlgItem(IDC_BARREL_4_RADIO))->GetCheck())
|
|
m_current_aiming_point = 4;
|
|
if (((CButton *)GetDlgItem(IDC_BARREL_5_RADIO))->GetCheck())
|
|
m_current_aiming_point = 5;
|
|
if (((CButton *)GetDlgItem(IDC_BARREL_6_RADIO))->GetCheck())
|
|
m_current_aiming_point = 6;
|
|
if (((CButton *)GetDlgItem(IDC_BARREL_7_RADIO))->GetCheck())
|
|
m_current_aiming_point = 7;
|
|
|
|
if (((CButton *)GetDlgItem(IDC_WB_NO_ANIM_RADIO))->GetCheck())
|
|
m_anim_type = 0;
|
|
if (((CButton *)GetDlgItem(IDC_WB_LOCAL_ANIM_RADIO))->GetCheck())
|
|
m_anim_type = WBF_ANIM_LOCAL;
|
|
if (((CButton *)GetDlgItem(IDC_WB_MODEL_ANIM_RADIO))->GetCheck())
|
|
m_anim_type = WBF_ANIM_FULL;
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(RobotEditWeaponsDialog, CDialog)
|
|
//{{AFX_MSG_MAP(RobotEditWeaponsDialog)
|
|
ON_EN_KILLFOCUS(IDC_GB_NUM_MASKS_EDIT, OnKillfocusGbNumMasksEdit)
|
|
ON_CBN_SELENDOK(IDC_CURRET_TURRET_COMBO, OnSelendokCurretTurretCombo)
|
|
ON_CBN_SELENDOK(IDC_CURRENT_GB_COMBO, OnSelendokCurrentGbCombo)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// RobotEditWeaponsDialog message handlers
|
|
|
|
void RobotEditWeaponsDialog::UpdateDialog(void) {
|
|
char str[200];
|
|
|
|
if (!UpdateData(true))
|
|
return;
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_turrets) {
|
|
sscanf(m_current_turret_combo.GetBuffer(0), "%d", &m_current_turret_index);
|
|
m_current_turret_index--; // Accounts for base 1 to base 0 array conversion
|
|
} else
|
|
m_current_turret_index = 0;
|
|
|
|
UpdateTurretInfo();
|
|
UpdateData(false);
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0)
|
|
sprintf(str, "Gun Point %d", m_obj_pm->poly_wb[m_current_wb_index].gp_index[0]);
|
|
else
|
|
strcpy(str, "NA");
|
|
((CButton *)GetDlgItem(IDC_BARREL_0_RADIO))->SetWindowText(str);
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1)
|
|
sprintf(str, "Gun Point %d", m_obj_pm->poly_wb[m_current_wb_index].gp_index[1]);
|
|
else
|
|
strcpy(str, "NA");
|
|
((CButton *)GetDlgItem(IDC_BARREL_1_RADIO))->SetWindowText(str);
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2)
|
|
sprintf(str, "Gun Point %d", m_obj_pm->poly_wb[m_current_wb_index].gp_index[2]);
|
|
else
|
|
strcpy(str, "NA");
|
|
((CButton *)GetDlgItem(IDC_BARREL_2_RADIO))->SetWindowText(str);
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3)
|
|
sprintf(str, "Gun Point %d", m_obj_pm->poly_wb[m_current_wb_index].gp_index[3]);
|
|
else
|
|
strcpy(str, "NA");
|
|
((CButton *)GetDlgItem(IDC_BARREL_3_RADIO))->SetWindowText(str);
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4)
|
|
sprintf(str, "Gun Point %d", m_obj_pm->poly_wb[m_current_wb_index].gp_index[4]);
|
|
else
|
|
strcpy(str, "NA");
|
|
((CButton *)GetDlgItem(IDC_BARREL_4_RADIO))->SetWindowText(str);
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5)
|
|
sprintf(str, "Gun Point %d", m_obj_pm->poly_wb[m_current_wb_index].gp_index[5]);
|
|
else
|
|
strcpy(str, "NA");
|
|
((CButton *)GetDlgItem(IDC_BARREL_5_RADIO))->SetWindowText(str);
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6)
|
|
sprintf(str, "Gun Point %d", m_obj_pm->poly_wb[m_current_wb_index].gp_index[6]);
|
|
else
|
|
strcpy(str, "NA");
|
|
((CButton *)GetDlgItem(IDC_BARREL_6_RADIO))->SetWindowText(str);
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7)
|
|
sprintf(str, "Gun Point %d", m_obj_pm->poly_wb[m_current_wb_index].gp_index[7]);
|
|
else
|
|
strcpy(str, "NA");
|
|
((CButton *)GetDlgItem(IDC_BARREL_7_RADIO))->SetWindowText(str);
|
|
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_0_0))
|
|
->EnableWindow(m_num_masks > 0 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_0_1))
|
|
->EnableWindow(m_num_masks > 0 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_0_2))
|
|
->EnableWindow(m_num_masks > 0 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_0_3))
|
|
->EnableWindow(m_num_masks > 0 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_0_4))
|
|
->EnableWindow(m_num_masks > 0 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_0_5))
|
|
->EnableWindow(m_num_masks > 0 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_0_6))
|
|
->EnableWindow(m_num_masks > 0 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_0_7))
|
|
->EnableWindow(m_num_masks > 0 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_1_0))
|
|
->EnableWindow(m_num_masks > 1 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_1_1))
|
|
->EnableWindow(m_num_masks > 1 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_1_2))
|
|
->EnableWindow(m_num_masks > 1 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_1_3))
|
|
->EnableWindow(m_num_masks > 1 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_1_4))
|
|
->EnableWindow(m_num_masks > 1 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_1_5))
|
|
->EnableWindow(m_num_masks > 1 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_1_6))
|
|
->EnableWindow(m_num_masks > 1 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_1_7))
|
|
->EnableWindow(m_num_masks > 1 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_2_0))
|
|
->EnableWindow(m_num_masks > 2 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_2_1))
|
|
->EnableWindow(m_num_masks > 2 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_2_2))
|
|
->EnableWindow(m_num_masks > 2 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_2_3))
|
|
->EnableWindow(m_num_masks > 2 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_2_4))
|
|
->EnableWindow(m_num_masks > 2 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_2_5))
|
|
->EnableWindow(m_num_masks > 2 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_2_6))
|
|
->EnableWindow(m_num_masks > 2 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_2_7))
|
|
->EnableWindow(m_num_masks > 2 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_3_0))
|
|
->EnableWindow(m_num_masks > 3 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_3_1))
|
|
->EnableWindow(m_num_masks > 3 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_3_2))
|
|
->EnableWindow(m_num_masks > 3 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_3_3))
|
|
->EnableWindow(m_num_masks > 3 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_3_4))
|
|
->EnableWindow(m_num_masks > 3 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_3_5))
|
|
->EnableWindow(m_num_masks > 3 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_3_6))
|
|
->EnableWindow(m_num_masks > 3 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_3_7))
|
|
->EnableWindow(m_num_masks > 3 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_4_0))
|
|
->EnableWindow(m_num_masks > 4 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_4_1))
|
|
->EnableWindow(m_num_masks > 4 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_4_2))
|
|
->EnableWindow(m_num_masks > 4 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_4_3))
|
|
->EnableWindow(m_num_masks > 4 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_4_4))
|
|
->EnableWindow(m_num_masks > 4 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_4_5))
|
|
->EnableWindow(m_num_masks > 4 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_4_6))
|
|
->EnableWindow(m_num_masks > 4 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_4_7))
|
|
->EnableWindow(m_num_masks > 4 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_5_0))
|
|
->EnableWindow(m_num_masks > 5 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_5_1))
|
|
->EnableWindow(m_num_masks > 5 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_5_2))
|
|
->EnableWindow(m_num_masks > 5 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_5_3))
|
|
->EnableWindow(m_num_masks > 5 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_5_4))
|
|
->EnableWindow(m_num_masks > 5 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_5_5))
|
|
->EnableWindow(m_num_masks > 5 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_5_6))
|
|
->EnableWindow(m_num_masks > 5 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_5_7))
|
|
->EnableWindow(m_num_masks > 5 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_6_0))
|
|
->EnableWindow(m_num_masks > 6 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_6_1))
|
|
->EnableWindow(m_num_masks > 6 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_6_2))
|
|
->EnableWindow(m_num_masks > 6 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_6_3))
|
|
->EnableWindow(m_num_masks > 6 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_6_4))
|
|
->EnableWindow(m_num_masks > 6 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_6_5))
|
|
->EnableWindow(m_num_masks > 6 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_6_6))
|
|
->EnableWindow(m_num_masks > 6 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_6_7))
|
|
->EnableWindow(m_num_masks > 6 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_7_0))
|
|
->EnableWindow(m_num_masks > 7 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_7_1))
|
|
->EnableWindow(m_num_masks > 7 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_7_2))
|
|
->EnableWindow(m_num_masks > 7 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_7_3))
|
|
->EnableWindow(m_num_masks > 7 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_7_4))
|
|
->EnableWindow(m_num_masks > 7 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_7_5))
|
|
->EnableWindow(m_num_masks > 7 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_7_6))
|
|
->EnableWindow(m_num_masks > 7 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_7_7))
|
|
->EnableWindow(m_num_masks > 7 && m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_Q_0))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_Q_1))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_Q_2))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_Q_3))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_Q_4))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_Q_5))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_Q_6))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_GP_MASK_Q_7))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
|
|
((CEdit *)GetDlgItem(IDC_GB_MASK_LATENCY_0_EDIT))->EnableWindow(m_num_masks > 0);
|
|
((CEdit *)GetDlgItem(IDC_GB_MASK_LATENCY_1_EDIT))->EnableWindow(m_num_masks > 1);
|
|
((CEdit *)GetDlgItem(IDC_GB_MASK_LATENCY_2_EDIT))->EnableWindow(m_num_masks > 2);
|
|
((CEdit *)GetDlgItem(IDC_GB_MASK_LATENCY_3_EDIT))->EnableWindow(m_num_masks > 3);
|
|
((CEdit *)GetDlgItem(IDC_GB_MASK_LATENCY_4_EDIT))->EnableWindow(m_num_masks > 4);
|
|
((CEdit *)GetDlgItem(IDC_GB_MASK_LATENCY_5_EDIT))->EnableWindow(m_num_masks > 5);
|
|
((CEdit *)GetDlgItem(IDC_GB_MASK_LATENCY_6_EDIT))->EnableWindow(m_num_masks > 6);
|
|
((CEdit *)GetDlgItem(IDC_GB_MASK_LATENCY_7_EDIT))->EnableWindow(m_num_masks > 7);
|
|
|
|
((CComboBox *)GetDlgItem(IDC_BARREL_0_COMBO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CComboBox *)GetDlgItem(IDC_BARREL_1_COMBO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CComboBox *)GetDlgItem(IDC_BARREL_2_COMBO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CComboBox *)GetDlgItem(IDC_BARREL_3_COMBO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CComboBox *)GetDlgItem(IDC_BARREL_4_COMBO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CComboBox *)GetDlgItem(IDC_BARREL_5_COMBO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CComboBox *)GetDlgItem(IDC_BARREL_6_COMBO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CComboBox *)GetDlgItem(IDC_BARREL_7_COMBO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
|
|
((CButton *)GetDlgItem(IDC_BARREL_0_RADIO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 0);
|
|
((CButton *)GetDlgItem(IDC_BARREL_1_RADIO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 1);
|
|
((CButton *)GetDlgItem(IDC_BARREL_2_RADIO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 2);
|
|
((CButton *)GetDlgItem(IDC_BARREL_3_RADIO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 3);
|
|
((CButton *)GetDlgItem(IDC_BARREL_4_RADIO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 4);
|
|
((CButton *)GetDlgItem(IDC_BARREL_5_RADIO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 5);
|
|
((CButton *)GetDlgItem(IDC_BARREL_6_RADIO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 6);
|
|
((CButton *)GetDlgItem(IDC_BARREL_7_RADIO))->EnableWindow(m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
|
|
// ((CButton *)GetDlgItem(IDC_GP_MASK_7_7))->EnableWindow(m_num_masks > 7 &&
|
|
//m_obj_pm->poly_wb[m_current_wb_index].num_gps > 7);
|
|
}
|
|
|
|
void RobotEditWeaponsDialog::UpdateTurretInfo() {
|
|
char str[200];
|
|
|
|
if (m_obj_pm->poly_wb[m_current_wb_index].num_turrets == 0) {
|
|
m_turret_sobj_text = "0";
|
|
m_turret_reaction_time_text = "0";
|
|
m_turret_fov_text = "0";
|
|
m_turret_spr_text = "0";
|
|
|
|
return;
|
|
}
|
|
|
|
sprintf(str, "%d", m_obj_pm->poly_wb[m_current_wb_index].turret_index[m_current_turret_index]);
|
|
m_turret_sobj_text = str;
|
|
|
|
sprintf(
|
|
str, "%.2f",
|
|
m_obj_pm->submodel[m_obj_pm->poly_wb[m_current_wb_index].turret_index[m_current_turret_index]].think_interval);
|
|
m_turret_reaction_time_text = str;
|
|
|
|
sprintf(str, "%.2f",
|
|
m_obj_pm->submodel[m_obj_pm->poly_wb[m_current_wb_index].turret_index[m_current_turret_index]].fov * 720.0);
|
|
m_turret_fov_text = str;
|
|
|
|
sprintf(str, "%.2f",
|
|
(1.0f / m_obj_pm->submodel[m_obj_pm->poly_wb[m_current_wb_index].turret_index[m_current_turret_index]].rps));
|
|
m_turret_spr_text = str;
|
|
}
|
|
|
|
BOOL RobotEditWeaponsDialog::OnInitDialog() {
|
|
CDialog::OnInitDialog();
|
|
|
|
int i;
|
|
char str[20];
|
|
|
|
SendDlgItemMessage(IDC_BARREL_0_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_WEAPONS; i++) {
|
|
if (Weapons[i].used)
|
|
SendDlgItemMessage(IDC_BARREL_0_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Weapons[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_BARREL_0_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_weapon_0_text);
|
|
|
|
SendDlgItemMessage(IDC_BARREL_1_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_WEAPONS; i++) {
|
|
if (Weapons[i].used)
|
|
SendDlgItemMessage(IDC_BARREL_1_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Weapons[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_BARREL_1_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_weapon_1_text);
|
|
|
|
SendDlgItemMessage(IDC_BARREL_2_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_WEAPONS; i++) {
|
|
if (Weapons[i].used)
|
|
SendDlgItemMessage(IDC_BARREL_2_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Weapons[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_BARREL_2_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_weapon_2_text);
|
|
|
|
SendDlgItemMessage(IDC_BARREL_3_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_WEAPONS; i++) {
|
|
if (Weapons[i].used)
|
|
SendDlgItemMessage(IDC_BARREL_3_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Weapons[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_BARREL_3_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_weapon_3_text);
|
|
|
|
SendDlgItemMessage(IDC_BARREL_4_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_WEAPONS; i++) {
|
|
if (Weapons[i].used)
|
|
SendDlgItemMessage(IDC_BARREL_4_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Weapons[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_BARREL_4_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_weapon_4_text);
|
|
|
|
SendDlgItemMessage(IDC_BARREL_5_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_WEAPONS; i++) {
|
|
if (Weapons[i].used)
|
|
SendDlgItemMessage(IDC_BARREL_5_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Weapons[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_BARREL_5_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_weapon_5_text);
|
|
|
|
SendDlgItemMessage(IDC_BARREL_6_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_WEAPONS; i++) {
|
|
if (Weapons[i].used)
|
|
SendDlgItemMessage(IDC_BARREL_6_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Weapons[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_BARREL_6_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_weapon_6_text);
|
|
|
|
SendDlgItemMessage(IDC_BARREL_7_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_WEAPONS; i++) {
|
|
if (Weapons[i].used)
|
|
SendDlgItemMessage(IDC_BARREL_7_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Weapons[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_BARREL_7_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_weapon_7_text);
|
|
|
|
SendDlgItemMessage(IDC_WB_FIRE0_SOUND_PULLDOWN, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_SOUNDS; i++) {
|
|
if (Sounds[i].used)
|
|
SendDlgItemMessage(IDC_WB_FIRE0_SOUND_PULLDOWN, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Sounds[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_WB_FIRE0_SOUND_PULLDOWN, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_fire_sound_0_text);
|
|
|
|
SendDlgItemMessage(IDC_WB_FIRE1_SOUND_PULLDOWN, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_SOUNDS; i++) {
|
|
if (Sounds[i].used)
|
|
SendDlgItemMessage(IDC_WB_FIRE1_SOUND_PULLDOWN, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Sounds[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_WB_FIRE1_SOUND_PULLDOWN, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_fire_sound_1_text);
|
|
|
|
SendDlgItemMessage(IDC_WB_FIRE2_SOUND_PULLDOWN, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_SOUNDS; i++) {
|
|
if (Sounds[i].used)
|
|
SendDlgItemMessage(IDC_WB_FIRE2_SOUND_PULLDOWN, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Sounds[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_WB_FIRE2_SOUND_PULLDOWN, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_fire_sound_2_text);
|
|
|
|
SendDlgItemMessage(IDC_WB_FIRE3_SOUND_PULLDOWN, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_SOUNDS; i++) {
|
|
if (Sounds[i].used)
|
|
SendDlgItemMessage(IDC_WB_FIRE3_SOUND_PULLDOWN, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Sounds[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_WB_FIRE3_SOUND_PULLDOWN, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_fire_sound_3_text);
|
|
|
|
SendDlgItemMessage(IDC_WB_FIRE4_SOUND_PULLDOWN, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_SOUNDS; i++) {
|
|
if (Sounds[i].used)
|
|
SendDlgItemMessage(IDC_WB_FIRE4_SOUND_PULLDOWN, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Sounds[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_WB_FIRE4_SOUND_PULLDOWN, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_fire_sound_4_text);
|
|
|
|
SendDlgItemMessage(IDC_WB_FIRE5_SOUND_PULLDOWN, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_SOUNDS; i++) {
|
|
if (Sounds[i].used)
|
|
SendDlgItemMessage(IDC_WB_FIRE5_SOUND_PULLDOWN, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Sounds[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_WB_FIRE5_SOUND_PULLDOWN, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_fire_sound_5_text);
|
|
|
|
SendDlgItemMessage(IDC_WB_FIRE6_SOUND_PULLDOWN, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_SOUNDS; i++) {
|
|
if (Sounds[i].used)
|
|
SendDlgItemMessage(IDC_WB_FIRE6_SOUND_PULLDOWN, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Sounds[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_WB_FIRE6_SOUND_PULLDOWN, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_fire_sound_6_text);
|
|
|
|
SendDlgItemMessage(IDC_WB_FIRE7_SOUND_PULLDOWN, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < MAX_SOUNDS; i++) {
|
|
if (Sounds[i].used)
|
|
SendDlgItemMessage(IDC_WB_FIRE7_SOUND_PULLDOWN, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)Sounds[i].name);
|
|
}
|
|
SendDlgItemMessage(IDC_WB_FIRE7_SOUND_PULLDOWN, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)m_fire_sound_7_text);
|
|
|
|
SendDlgItemMessage(IDC_CURRENT_GB_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < m_obj_pm->num_wbs; i++) {
|
|
sprintf(str, "%d", i + 1);
|
|
SendDlgItemMessage(IDC_CURRENT_GB_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)str);
|
|
}
|
|
itoa(m_current_wb_index + 1, str, 10);
|
|
SendDlgItemMessage(IDC_CURRENT_GB_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR)str);
|
|
|
|
SendDlgItemMessage(IDC_CURRET_TURRET_COMBO, CB_RESETCONTENT, 0, 0);
|
|
for (i = 0; i < m_obj_pm->poly_wb[m_current_wb_index].num_turrets; i++) {
|
|
sprintf(str, "%d", i + 1);
|
|
SendDlgItemMessage(IDC_CURRET_TURRET_COMBO, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)str);
|
|
}
|
|
SendDlgItemMessage(IDC_CURRET_TURRET_COMBO, CB_SELECTSTRING, 0, (LPARAM)(LPCTSTR) "1");
|
|
|
|
((CButton *)GetDlgItem(IDC_BARREL_0_RADIO))->SetCheck(m_current_aiming_point == 0);
|
|
((CButton *)GetDlgItem(IDC_BARREL_1_RADIO))->SetCheck(m_current_aiming_point == 1);
|
|
((CButton *)GetDlgItem(IDC_BARREL_2_RADIO))->SetCheck(m_current_aiming_point == 2);
|
|
((CButton *)GetDlgItem(IDC_BARREL_3_RADIO))->SetCheck(m_current_aiming_point == 3);
|
|
((CButton *)GetDlgItem(IDC_BARREL_4_RADIO))->SetCheck(m_current_aiming_point == 4);
|
|
((CButton *)GetDlgItem(IDC_BARREL_5_RADIO))->SetCheck(m_current_aiming_point == 5);
|
|
((CButton *)GetDlgItem(IDC_BARREL_6_RADIO))->SetCheck(m_current_aiming_point == 6);
|
|
((CButton *)GetDlgItem(IDC_BARREL_7_RADIO))->SetCheck(m_current_aiming_point == 7);
|
|
|
|
((CButton *)GetDlgItem(IDC_WB_NO_ANIM_RADIO))->SetCheck(m_anim_type == 0);
|
|
((CButton *)GetDlgItem(IDC_WB_LOCAL_ANIM_RADIO))->SetCheck(m_anim_type == WBF_ANIM_LOCAL);
|
|
((CButton *)GetDlgItem(IDC_WB_MODEL_ANIM_RADIO))->SetCheck(m_anim_type == WBF_ANIM_FULL);
|
|
|
|
UpdateDialog();
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void RobotEditWeaponsDialog::OnKillfocusGbNumMasksEdit() { UpdateDialog(); }
|
|
|
|
void RobotEditWeaponsDialog::OnSelendokCurretTurretCombo() {
|
|
int cur;
|
|
char name[200];
|
|
|
|
if (!UpdateData(true))
|
|
return;
|
|
|
|
cur = SendDlgItemMessage(IDC_CURRET_TURRET_COMBO, CB_GETCURSEL, 0, 0);
|
|
SendDlgItemMessage(IDC_CURRET_TURRET_COMBO, CB_GETLBTEXT, cur, (LPARAM)(LPCTSTR)name);
|
|
|
|
m_current_turret_combo = name;
|
|
|
|
UpdateData(false);
|
|
|
|
UpdateDialog();
|
|
}
|
|
|
|
void RobotEditWeaponsDialog::GetData() {
|
|
int i;
|
|
|
|
m_obj_static_wb[m_current_wb_index].aiming_gp_index = m_current_aiming_point;
|
|
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_ANIM_MASKS;
|
|
m_obj_static_wb[m_current_wb_index].flags |= m_anim_type;
|
|
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_wait[0] = m_mask_latency_0;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_wait[1] = m_mask_latency_1;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_wait[2] = m_mask_latency_2;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_wait[3] = m_mask_latency_3;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_wait[4] = m_mask_latency_4;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_wait[5] = m_mask_latency_5;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_wait[6] = m_mask_latency_6;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_wait[7] = m_mask_latency_7;
|
|
|
|
m_obj_static_wb[m_current_wb_index].num_masks = m_num_masks;
|
|
|
|
// Clear the masks
|
|
for (i = 0; i < 8; i++)
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[i] = 0;
|
|
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] |= m_gp77 << 7;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] |= m_gp76 << 6;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] |= m_gp75 << 5;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] |= m_gp74 << 4;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] |= m_gp73 << 3;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] |= m_gp72 << 2;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] |= m_gp71 << 1;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[7] |= m_gp70;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] |= m_gp67 << 7;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] |= m_gp66 << 6;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] |= m_gp65 << 5;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] |= m_gp64 << 4;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] |= m_gp63 << 3;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] |= m_gp62 << 2;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] |= m_gp61 << 1;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[6] |= m_gp60;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] |= m_gp57 << 7;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] |= m_gp56 << 6;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] |= m_gp55 << 5;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] |= m_gp54 << 4;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] |= m_gp53 << 3;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] |= m_gp52 << 2;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] |= m_gp51 << 1;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[5] |= m_gp50;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] |= m_gp47 << 7;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] |= m_gp46 << 6;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] |= m_gp45 << 5;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] |= m_gp44 << 4;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] |= m_gp43 << 3;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] |= m_gp42 << 2;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] |= m_gp41 << 1;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[4] |= m_gp40;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] |= m_gp37 << 7;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] |= m_gp36 << 6;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] |= m_gp35 << 5;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] |= m_gp34 << 4;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] |= m_gp33 << 3;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] |= m_gp32 << 2;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] |= m_gp31 << 1;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[3] |= m_gp30;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] |= m_gp27 << 7;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] |= m_gp26 << 6;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] |= m_gp25 << 5;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] |= m_gp24 << 4;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] |= m_gp23 << 3;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] |= m_gp22 << 2;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] |= m_gp21 << 1;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[2] |= m_gp20;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] |= m_gp17 << 7;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] |= m_gp16 << 6;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] |= m_gp15 << 5;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] |= m_gp14 << 4;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] |= m_gp13 << 3;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] |= m_gp12 << 2;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] |= m_gp11 << 1;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[1] |= m_gp10;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] |= m_gp07 << 7;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] |= m_gp06 << 6;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] |= m_gp05 << 5;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] |= m_gp04 << 4;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] |= m_gp03 << 3;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] |= m_gp02 << 2;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] |= m_gp01 << 1;
|
|
m_obj_static_wb[m_current_wb_index].gp_fire_masks[0] |= m_gp00;
|
|
|
|
m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask = 0;
|
|
m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask |= m_gpq7 << 7;
|
|
m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask |= m_gpq6 << 6;
|
|
m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask |= m_gpq5 << 5;
|
|
m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask |= m_gpq4 << 4;
|
|
m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask |= m_gpq3 << 3;
|
|
m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask |= m_gpq2 << 2;
|
|
m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask |= m_gpq1 << 1;
|
|
m_obj_static_wb[m_current_wb_index].gp_quad_fire_mask |= m_gpq0;
|
|
|
|
m_obj_static_wb[m_current_wb_index].aiming_3d_dot = cos(m_view_cone_angle * PI / (360.0));
|
|
m_obj_static_wb[m_current_wb_index].aiming_3d_dist = m_max_distance;
|
|
m_obj_static_wb[m_current_wb_index].aiming_XZ_dot = cos(m_xz_plane_angle * PI / (360.0));
|
|
|
|
m_obj_static_wb[m_current_wb_index].ammo_usage = m_ammo_usage;
|
|
m_obj_static_wb[m_current_wb_index].energy_usage = m_energy_usage;
|
|
|
|
m_obj_static_wb[m_current_wb_index].anim_time[0] = m_fire0_cycle_time;
|
|
m_obj_static_wb[m_current_wb_index].anim_time[1] = m_fire1_cycle_time;
|
|
m_obj_static_wb[m_current_wb_index].anim_time[2] = m_fire2_cycle_time;
|
|
m_obj_static_wb[m_current_wb_index].anim_time[3] = m_fire3_cycle_time;
|
|
m_obj_static_wb[m_current_wb_index].anim_time[4] = m_fire4_cycle_time;
|
|
m_obj_static_wb[m_current_wb_index].anim_time[5] = m_fire5_cycle_time;
|
|
m_obj_static_wb[m_current_wb_index].anim_time[6] = m_fire6_cycle_time;
|
|
m_obj_static_wb[m_current_wb_index].anim_time[7] = m_fire7_cycle_time;
|
|
m_obj_static_wb[m_current_wb_index].anim_end_frame[0] = m_fire0_end_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_end_frame[1] = m_fire1_end_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_end_frame[2] = m_fire2_end_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_end_frame[3] = m_fire3_end_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_end_frame[4] = m_fire4_end_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_end_frame[5] = m_fire5_end_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_end_frame[6] = m_fire6_end_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_end_frame[7] = m_fire7_end_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_fire_frame[0] = m_fire0_fire_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_fire_frame[1] = m_fire1_fire_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_fire_frame[2] = m_fire2_fire_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_fire_frame[3] = m_fire3_fire_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_fire_frame[4] = m_fire4_fire_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_fire_frame[5] = m_fire5_fire_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_fire_frame[6] = m_fire6_fire_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_fire_frame[7] = m_fire7_fire_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_start_frame[0] = m_fire0_start_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_start_frame[1] = m_fire1_start_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_start_frame[2] = m_fire2_start_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_start_frame[3] = m_fire3_start_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_start_frame[4] = m_fire4_start_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_start_frame[5] = m_fire5_start_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_start_frame[6] = m_fire6_start_tick;
|
|
m_obj_static_wb[m_current_wb_index].anim_start_frame[7] = m_fire7_start_tick;
|
|
|
|
m_obj_static_wb[m_current_wb_index].gp_weapon_index[0] = FindWeaponName(m_weapon_0_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].gp_weapon_index[1] = FindWeaponName(m_weapon_1_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].gp_weapon_index[2] = FindWeaponName(m_weapon_2_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].gp_weapon_index[3] = FindWeaponName(m_weapon_3_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].gp_weapon_index[4] = FindWeaponName(m_weapon_4_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].gp_weapon_index[5] = FindWeaponName(m_weapon_5_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].gp_weapon_index[6] = FindWeaponName(m_weapon_6_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].gp_weapon_index[7] = FindWeaponName(m_weapon_7_text.GetBuffer(0));
|
|
|
|
m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[0] = FindSoundName(m_fire_sound_0_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[1] = FindSoundName(m_fire_sound_1_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[2] = FindSoundName(m_fire_sound_2_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[3] = FindSoundName(m_fire_sound_3_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[4] = FindSoundName(m_fire_sound_4_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[5] = FindSoundName(m_fire_sound_5_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[6] = FindSoundName(m_fire_sound_6_text.GetBuffer(0));
|
|
m_obj_static_wb[m_current_wb_index].fm_fire_sound_index[7] = FindSoundName(m_fire_sound_7_text.GetBuffer(0));
|
|
|
|
if (m_spray_check)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_SPRAY;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_SPRAY;
|
|
|
|
if (m_guided)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_GUIDED;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_GUIDED;
|
|
|
|
if (m_user_timeout)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_USER_TIMEOUT;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_USER_TIMEOUT;
|
|
|
|
if (m_random_check)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_RANDOM_FIRE_ORDER;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_RANDOM_FIRE_ORDER;
|
|
|
|
if (m_force_fvec_check)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_FIRE_FVEC;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_FIRE_FVEC;
|
|
|
|
if (m_force_target_check)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_FIRE_TARGET;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_FIRE_TARGET;
|
|
|
|
if (m_aim_fvec_check)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_AIM_FVEC;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_AIM_FVEC;
|
|
|
|
if (m_onoff_check)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_ON_OFF;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_ON_OFF;
|
|
|
|
if (m_custom_view_cone_check)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_USE_CUSTOM_FOV;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_USE_CUSTOM_FOV;
|
|
|
|
if (m_custom_max_dist)
|
|
m_obj_static_wb[m_current_wb_index].flags |= WBF_USE_CUSTOM_MAX_DIST;
|
|
else
|
|
m_obj_static_wb[m_current_wb_index].flags &= ~WBF_USE_CUSTOM_MAX_DIST;
|
|
}
|
|
|
|
void RobotEditWeaponsDialog::OnSelendokCurrentGbCombo() {
|
|
int cur;
|
|
char name[200];
|
|
int f_save_info;
|
|
|
|
if (!UpdateData(true))
|
|
return;
|
|
|
|
cur = SendDlgItemMessage(IDC_CURRENT_GB_COMBO, CB_GETCURSEL, 0, 0);
|
|
SendDlgItemMessage(IDC_CURRENT_GB_COMBO, CB_GETLBTEXT, cur, (LPARAM)(LPCTSTR)name);
|
|
|
|
m_current_gb = name;
|
|
|
|
UpdateData(false);
|
|
|
|
UpdateDialog();
|
|
|
|
f_save_info = OutrageMessageBox(
|
|
MBOX_YESNO,
|
|
"Would you like to save changes to weapon battery %d\nNote: Changes will be lost if you do not save them now.",
|
|
m_current_wb_index + 1);
|
|
if (f_save_info == IDYES) {
|
|
GetData();
|
|
}
|
|
|
|
m_current_wb_index = atoi(m_current_gb) - 1;
|
|
ASSERT(m_current_wb_index >= 0 && m_current_wb_index < m_obj_pm->num_wbs);
|
|
|
|
NewWBSelected();
|
|
UpdateData(false);
|
|
UpdateDialog();
|
|
}
|