‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_gadget_camo_render.csc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 #using scripts\shared\duplicaterender_mgr;
3 
4 #insert scripts\shared\duplicaterender.gsh;
5 #insert scripts\shared\shared.gsh;
6 
7 #using scripts\shared\system_shared;
8 
9 #define OUTLINE_PREDATOR_BREAK "mc/hud_outline_predator_break"
10 #define OUTLINE_PREDATOR "mc/hud_outline_predator"
11 
12 #define OUTLINE_ALLY_NORMAL "mc/hud_outline_predator_camo_active_ally"
13 #define OUTLINE_ALLY_DISRUPT "mc/hud_outline_predator_camo_disruption_ally"
14 
15 #define OUTLINE_ENEMY_NORMAL "mc/hud_outline_predator_camo_active_enemy"
16 #define OUTLINE_ENEMY_DISRUPT "mc/hud_outline_predator_camo_disruption_enemy"
17 
18 #define CAMO_REVEAL_TIME 0.35
19 #define CAMO_TURNOFF_MODEL_RENDER .5
20 
21 ‪REGISTER_SYSTEM( "gadget_camo_render", &‪__init__, undefined )
22 
23 function ‪__init__()
24 {
26  "gadget_camo_reveal,", "gadget_camo_flicker,gadget_camo_break,hide_model",
28 
30  "gadget_camo_reveal,hide_model", "gadget_camo_flicker,gadget_camo_break",
32 
34  "gadget_camo_on,gadget_camo_friend,hide_model", "gadget_camo_flicker,gadget_camo_break",
36 
38  "gadget_camo_on,hide_model", "gadget_camo_flicker,gadget_camo_break,gadget_camo_friend",
40 
42  "gadget_camo_on,gadget_camo_flicker,gadget_camo_friend", "gadget_camo_break",
44 
46  "gadget_camo_on,gadget_camo_flicker", "gadget_camo_break,gadget_camo_friend",
48 
50  "gadget_camo_on,gadget_camo_break", undefined,
52 }
53 
54 #namespace gadget_camo_render;
55 
56 
57 function ‪forceOn( local_client_num )
58 {
59  self notify( "kill_gadget_camo_render_doreveal" );
60 
61  self ‪duplicate_render::update_dr_flag( local_client_num, "hide_model", true );
62  self MapShaderConstant( local_client_num, 0, "scriptVector0", 1, 0, 0, 0 );
63  self ‪duplicate_render::set_dr_flag( "gadget_camo_reveal", false );
64  self ‪duplicate_render::set_dr_flag( "gadget_camo_on", 1 );
65  self ‪duplicate_render::update_dr_filters(local_client_num);
66 }
67 
68 function ‪doReveal( local_client_num, direction )
69 {
70  self notify( "kill_gadget_camo_render_doreveal" );
71  self endon( "kill_gadget_camo_render_doreveal" );
72 
73  self endon( "entityshutdown" );
74 
75  if ( !isdefined( self ) )
76  return;
77 
79 
80  if( direction )
81  {
82  // start
83  self ‪duplicate_render::update_dr_flag( local_client_num, "hide_model", false );
84  self MapShaderConstant( local_client_num, 0, "scriptVector0", 0, 0, 0, 0 );
85 
86  // loop
87  model_hidden = 0;
88  for( currentValue = 0; currentValue < 1; currentValue += delta )
89  {
90  self MapShaderConstant( local_client_num, 0, "scriptVector0", currentValue, 0, 0, 0 );
91  if( currentValue >= ‪CAMO_TURNOFF_MODEL_RENDER && model_hidden == 0 )
92  {
93  model_hidden = 1;
94  self ‪duplicate_render::update_dr_flag( local_client_num, "hide_model", true );
95  }
96  wait( ‪CLIENT_FRAME );
97  }
98 
99  // end
100  self MapShaderConstant( local_client_num, 0, "scriptVector0", 1, 0, 0, 0 );
101  self ‪duplicate_render::set_dr_flag( "gadget_camo_reveal", false );
102  self ‪duplicate_render::set_dr_flag( "gadget_camo_on", 1 );
103  self ‪duplicate_render::update_dr_filters(local_client_num);
104  }
105  else
106  {
107  // start
108  self ‪duplicate_render::update_dr_flag( local_client_num, "hide_model", true );
109  self MapShaderConstant( local_client_num, 0, "scriptVector0", 1, 0, 0, 0 );
110 
111  // loop
112  model_hidden = 1;
113  for( currentValue = 1; currentValue > 0; currentValue -= delta )
114  {
115  self MapShaderConstant( local_client_num, 0, "scriptVector0", currentValue, 0, 0, 0 );
116  if ( currentValue < ‪CAMO_TURNOFF_MODEL_RENDER && model_hidden )
117  {
118  self ‪duplicate_render::update_dr_flag( local_client_num, "hide_model", false );
119  model_hidden = 0;
120  }
121  wait( ‪CLIENT_FRAME );
122  }
123 
124  // end
125  self MapShaderConstant( local_client_num, 0, "scriptVector0", 0, 0, 0, 0 );
126  self ‪duplicate_render::set_dr_flag( "gadget_camo_reveal", false );
127  self ‪duplicate_render::set_dr_flag( "gadget_camo_on", 0 );
128  self ‪duplicate_render::update_dr_filters(local_client_num);
129  }
130 }
131 
‪set_dr_filter_framebuffer_duplicate
‪function set_dr_filter_framebuffer_duplicate(name, priority, require_flags, refuse_flags, drtype1, drval1, drcull1, drtype2, drval2, drcull2, drtype3, drval3, drcull3)
Definition: duplicaterender_mgr.csc:172
‪doReveal
‪function doReveal(local_client_num, direction)
Definition: _gadget_camo_render.csc:68
‪DR_CULL_ALWAYS
‪#define DR_CULL_ALWAYS
Definition: duplicaterender.gsh:14
‪update_dr_filters
‪function update_dr_filters(localClientNum)
Definition: duplicaterender_mgr.csc:329
‪OUTLINE_PREDATOR_BREAK
‪#define OUTLINE_PREDATOR_BREAK
Definition: _gadget_camo_render.csc:9
‪CAMO_REVEAL_TIME
‪#define CAMO_REVEAL_TIME
Definition: _gadget_camo_render.csc:18
‪forceOn
‪function forceOn(local_client_num)
Definition: _gadget_camo_render.csc:57
‪CLIENT_FRAME
‪#define CLIENT_FRAME
Definition: shared.gsh:263
‪OUTLINE_ALLY_DISRUPT
‪#define OUTLINE_ALLY_DISRUPT
Definition: _gadget_camo_render.csc:13
‪OUTLINE_ENEMY_DISRUPT
‪#define OUTLINE_ENEMY_DISRUPT
Definition: _gadget_camo_render.csc:16
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪DR_TYPE_FRAMEBUFFER
‪#define DR_TYPE_FRAMEBUFFER
Definition: duplicaterender.gsh:4
‪CAMO_TURNOFF_MODEL_RENDER
‪#define CAMO_TURNOFF_MODEL_RENDER
Definition: _gadget_camo_render.csc:19
‪OUTLINE_PREDATOR
‪#define OUTLINE_PREDATOR
Definition: _gadget_camo_render.csc:10
‪update_dr_flag
‪function update_dr_flag(localClientNum, toset, setto=true)
Definition: duplicaterender_mgr.csc:221
‪__init__
‪function __init__()
Definition: _gadget_camo_render.csc:23
‪OUTLINE_ENEMY_NORMAL
‪#define OUTLINE_ENEMY_NORMAL
Definition: _gadget_camo_render.csc:15
‪set_dr_flag
‪function set_dr_flag(toset, setto=true)
Definition: duplicaterender_mgr.csc:251
‪set_dr_filter_framebuffer
‪function set_dr_filter_framebuffer(name, priority, require_flags, refuse_flags, drtype1, drval1, drcull1, drtype2, drval2, drcull2, drtype3, drval3, drcull3)
Definition: duplicaterender_mgr.csc:167
‪DR_TYPE_FRAMEBUFFER_DUPLICATE
‪#define DR_TYPE_FRAMEBUFFER_DUPLICATE
Definition: duplicaterender.gsh:5
‪OUTLINE_ALLY_NORMAL
‪#define OUTLINE_ALLY_NORMAL
Definition: _gadget_camo_render.csc:12