Jump to content
Sign in to follow this  
AnimalMother92

[Request] Frosty screen resource

Recommended Posts

I'm hoping there's someone talented enough with Photoshop out there that could help me with this. I'd like to have a Resource that adds a mild frost effect around the edges of the screen, similar to the dirt effects from Eagle Wing.

44042_ZS_plays_BFBC2_Snowblind_low_1272024758.jpg

bfbc2sps32.jpg

Maybe not as extreme as the 2nd pic :p

I assume that I would use cutRsc to have this show up on the players screen for an entire mission, but I've never really used Resources before so help is appreciated. If anyone can make the file, I would be very appreciative! :)

Thanks in advance.

Share this post


Link to post
Share on other sites

One thing to be aware of, is that the resource will cover the gui. I'm using the dirt approach for dust goggles in Domino, which will aid you if wind is high enough to cause a "dust storm". Using a sound mod with decent winds (I'm currently using JSRS) it adds greatly to the immersion level. You take take them on and off via action toggle (not on actual character though since it is multiplayer, but is possible in singleplayer using identities).

Goggles on: Slightly limited view with semitransparent edge (so see the gui), not quite what I wanted.

Goggles off: Added blur depending on wind strength (dust in eyes) if you face the wind.

You could use the same approach for snow, just call them snow goggles. Dust is set more white in color to look more like blowing snow. For SP missions, the goggle resource can be as big as you want. For MP missions, you probably want to limit its size to get better download size. I want to use similar approach for oxygen mask during HALO (yeah I'm using high altitude).

All I'm saying is that due to the nature of the frosty resource covering up the GUI, you might want to consider other approaches.

If anyone knows how to put resources behind the gui (but in front of the 3D view obviously), please let me know :)

Share this post


Link to post
Share on other sites

Hmm interesting. I wonder how it's done in EW, where the dirt effect shows around the screen when you're hit without hiding the GUI.

Share this post


Link to post
Share on other sites

Had to check when you say that :) But no, the gui (player hud, more accurately) is covered (only partially, due low opacity from alpha channel) up behind resource (dirt and vignette). Just roll around and reload, you'll see what I mean.

Share this post


Link to post
Share on other sites

oh..rage :mad:

Checked it out with the ACE gasmask too - you were right.

aIrl0.jpg

I guess if the frost is only around the edge a little bit it won't be too bad.

Share this post


Link to post
Share on other sites

A little offtrack, but this thread reminded me to check my mission for something I removed long time ago, the dirt effect. I always thought it was part of the vanilla game now, but apparently it wasn't - big bummer :D So I've readded it and even added the EW "animchanged" eventhandler (which was missing in Domination, maybe by design), and it will only kick in when player is not wearing his dust goggles.

But, that requires the texture file. Which is kinda large. So, anyone knows if this screen_dirt_ca.paa file is included anywhere in the vanilla OA game? Adding so many bytes is bad, as I have other graphic resources I want to use as well.

And I seriously think BIS should make the player hud a normal resource layer. Behind the map, but in front of the 3D view, with a few free layers for us to use in between.

Edited by CarlGustaffa

Share this post


Link to post
Share on other sites

The screen_dirt_ca.paa is in Addons\missions_ew.pbo\img\screen_dirt_ca.paa which should be on everyone's OA install as it's part of the 1.07 patch or something similar.

Share this post


Link to post
Share on other sites

Oh, so EW is part of standalone OA? Wasn't aware of that. Should be a quick fix then.

Edit: No it can't be. It uses Chernarus island and Arma2 units :) Or? Ehh, confused...

Share this post


Link to post
Share on other sites

It was a bonus part of patch 1.05 or 1.07 for ArmA2, so any fully patched game will have it.

Share this post


Link to post
Share on other sites

I doubt it is in Standalone OA, as the campaign itself was created on Cherna, with Cherna units etc.

I cant check atm,sry.

But perhabs it is a kind of relict, they forgot to remove.

If it would really be in OA Standalone the campaign is not functionable but at least u cant use the path for the resource.

Neverthelell i am in doubt.I ll check the pbos in the OA addons folder tomorrow.

Would be coul if s.o.who owes OA only could check it either.

The path to the screens is ca\missions_ew\img\ and was default added in Version A2:1.05

Just in case s.o, is interested in the screen script of EW

screen in screen script

scriptName "fn_pip.sqf";
/*
File: pip.sqf
Author: Karel Moricky

Description:
Picture In Picture

Parameter(s):
	_this: Picture or Array of pictures

Returns:
Nothing
*/
private ["_input","_inputtype","_layer","_display","_pip","_file1","_file2","_layer1","_layer2"];
disableserialization;
_input = _this select 0;
_inputtype = typename _input;

//--- Single picture
if (_inputtype == typename "") then {
if (_input != "") then {
	_layer = if (count _this > 1) then {_this select 1} else {100011};
	_display = uinamespace getvariable "str_pip";
	if (isnil "_display") then {
		100011 cutrsc ["PIP","plain"];
		_display = uinamespace getvariable "str_pip";		
	};
	if (isnull _display) then {
		100011 cutrsc ["PIP","plain"];
		_display = uinamespace getvariable "str_pip";
	};
	_pip = _display displayctrl _layer;
	_pip ctrlsettext _input;
	_pip ctrlcommit 0;
	rah1 setObjectTexture [1,_input];
	rah1 animate ["map_repos",0.6];
} else {
	100011 cuttext ["","plain"];
	rah1 animate ["map_repos",1];
};
};

//--- Multiple pictures
if (_inputtype == typename []) then {
_count = (count _input - 1);

for "_i" from 0 to _count do {
	_file = _input select _i;
	_layer = 100011 + _i;
	[_file,_layer] call bis_ew_fnc_pip;
};
sleep 1;
_display = uinamespace getvariable "str_pip";
_load = _display displayctrl 100099;
_load ctrlsetfade 1;
_load ctrlcommit 0;
for "_i" from 0 to _count do {
	_layer = 100011 + _count - _i;
	_pip = _display displayctrl _layer;
	_pip ctrlsetfade 1;
	_pip ctrlcommit 0.2;
	sleep 1;
};

[""] call bis_ew_fnc_pip;
scriptName "fn_pip.sqf";
/*
File: pip.sqf
Author: Karel Moricky

Description:
Picture In Picture

Parameter(s):
	_this: Picture or Array of pictures

Returns:
Nothing
*/
private ["_input","_inputtype","_layer","_display","_pip","_file1","_file2","_layer1","_layer2"];
disableserialization;
_input = _this select 0;
_inputtype = typename _input;

//--- Single picture
if (_inputtype == typename "") then {
if (_input != "") then {
	_layer = if (count _this > 1) then {_this select 1} else {100011};
	_display = uinamespace getvariable "str_pip";
	if (isnil "_display") then {
		100011 cutrsc ["PIP","plain"];
		_display = uinamespace getvariable "str_pip";		
	};
	if (isnull _display) then {
		100011 cutrsc ["PIP","plain"];
		_display = uinamespace getvariable "str_pip";
	};
	_pip = _display displayctrl _layer;
	_pip ctrlsettext _input;
	_pip ctrlcommit 0;
	rah1 setObjectTexture [1,_input];
	rah1 animate ["map_repos",0.6];
} else {
	100011 cuttext ["","plain"];
	rah1 animate ["map_repos",1];
};
};

//--- Multiple pictures
if (_inputtype == typename []) then {
_count = (count _input - 1);

for "_i" from 0 to _count do {
	_file = _input select _i;
	_layer = 100011 + _i;
	[_file,_layer] call bis_ew_fnc_pip;
};
sleep 1;
_display = uinamespace getvariable "str_pip";
_load = _display displayctrl 100099;
_load ctrlsetfade 1;
_load ctrlcommit 0;
for "_i" from 0 to _count do {
	_layer = 100011 + _count - _i;
	_pip = _display displayctrl _layer;
	_pip ctrlsetfade 1;
	_pip ctrlcommit 0.2;
	sleep 1;
};

[""] call bis_ew_fnc_pip;

screen effects

/*
File: screen.sqf
Author: Karel Moricky

Description:
Screen Effects

Parameter(s):
_this select 0: Intensity (0-1)
_this select 1: (Optional) Dirt
*/
disableserialization;

_int = _this select 0;
_dirt = if (count _this > 1) then {_this select 1} else {false};

if (isnil {uinamespace getvariable "str_screen"}) then {uinamespace setvariable ["str_screen",displaynull]};
if (isnull (uinamespace getvariable "str_screen")) then {1918 cutrsc ["screen","plain"]};
_display = uinamespace getvariable "str_screen";

if (!_dirt) then {

//--- Select free layer
_control = controlnull;
for "_i" from 1001 to 1006 do {
	_c = _display displayctrl _i;
	_f = ctrlfade _c;
	_p = ctrlposition _c;
	if ((_p select 3) == 0) then {_f = 1};
	if (_f == 1) exitwith {_control = _c};
};
if (isnull _control) exitwith {debuglog ["Log::::::FAIL"]};

//--- Select position
_w = safezoneW * _int;
_h = _w / 0.75;
_pos = [
	((safezoneX - _w/2) + random (safezoneW)),
	((safezoneY - _h/2) + random (safezoneH)),
	_w,
	_h
];

//--- Fade out (0s)
_control ctrlsetposition _pos;
_control ctrlsetfade 1;
_control ctrlcommit 0;

//--- Fade in (0.1s)
_control ctrlsetfade 0;
_control ctrlcommit 0.1;
waituntil {ctrlcommitted _control};

sleep 3;

//--- Fade out (random 5-15s)
_control ctrlsetfade 1;
_control ctrlcommit (5 + random 10);
waituntil {ctrlcommitted _control};

//--- Reset
if (ctrlfade _control == 0) then {
	_control ctrlsetposition [0,0,0,0];
	_control ctrlcommit 0;
};


} else {
_control = _display displayctrl 1000;
_pos = [safezoneX,safezoneY,safezoneW,safezoneH];

//--- Fade out (0s)
_control ctrlsetposition _pos;
_control ctrlsetfade 1;
_control ctrlcommit 0;

//--- Fade in (0.2s)
_control ctrlsetfade 0;
_control ctrlcommit 0.2;
waituntil {ctrlcommitted _control};

sleep 3;

//--- Fade out (random 5-10s)
_control ctrlsetfade 1;
_control ctrlcommit (5 + random 5);
waituntil {ctrlcommitted _control};

};

@CG: can u give me a link to your latest Domi release, as i would like to use it as "reference material" to learn and study.

Share this post


Link to post
Share on other sites

pfffft, screw OA standalone users. Combined operations is the bare minimum.

Really.

Make them go buying Arma2 instead.

:D

Share this post


Link to post
Share on other sites
pfffft, screw OA standalone users. Combined operations is the bare minimum.

Really.

Make them go buying Arma2 instead.

:D

+1 :D

Afaik the EW effects aren't in standalone OA, just Arma 2 and Combined Ops. They're in ACE as well and you can view them from triggers as resources (blood, dirt etc).

Share this post


Link to post
Share on other sites

Hehe, I know what you're saying and I agree - Combined is a must. However, for this my intention is to make it OA standalone compatible. I haven't even downloaded ACE yet, I want to finish the non ACE version first. Because I know once I go ACE, I'll never goOA again :D

I might do a Chernarus version of it, but other than the island (and maybe some weapons) I won't use any Arma2 stuff. No russians, no USMC, and no vehicles. Time will show.

@Nephris1: You have PM.

Share this post


Link to post
Share on other sites

You still need that frosty screen overlay? Here's my best shot:

IceOverlay_Example.jpg

(Overlaid the screenie manually, but it should look the same in-game.)

I uploaded a .png version (2048x1024) to Rapidshare:

Download FrostyScreenOverlay.zip from Rapidshare (~1,86MB)

If you need any changes done, or Rapidshare doesn't work for you, let me know. Note that the original aspect ratio of the image is 14:9, which is basically a compromise to ensure that it scales well to both widescreen and standard resolutions. :)

The image is usable under the Creative Commons Attribution (cc-by) 3.0 license.

Edited by MadDogX

Share this post


Link to post
Share on other sites
Very cool (no pun intended) MDX! I will give this a try and post up the in-game results. :yay:

I hope it works for you. :)

But like I said, if you think it needs some adjustment, that's fine. I created the whole thing with several layers, so it's easily possible to make adjustments. Making it more or less opaque would also be easy.

Share this post


Link to post
Share on other sites

*edit*

Never mind, I solved my own problem, got it working perfectly. I'll post some in-mission video/pics later. :)

Edited by AnimalMother92

Share this post


Link to post
Share on other sites

I tried negative layer number (-1 I think) but then it wouldn't show up at all. I'm guessing it was opened also behind the 3D screen. I'd like to know if others have success with this.

Share this post


Link to post
Share on other sites
It really increases immersion. kylania - hot chocolate! nao!

Looks really fine while you're in ego-perspective or looking through the weapons sight. But I wonder if you can detect if the player is in 3d- or commander-view and to either shut it off or maybe even use another overlay for these views. Somehow it doesn't make much sense to see that overlay in 3d-perspective.

Also I wonder if you could have a second overlay, slightly diffrent to this one, whose alpha-channel would be slowly and randomly animated, so the two overlays will merge, creating something like a subtil animation. Though, that could end up to be more distracting than anything else...

Share this post


Link to post
Share on other sites
Looks really fine while you're in ego-perspective or looking through the weapons sight. But I wonder if you can detect if the player is in 3d- or commander-view and to either shut it off or maybe even use another overlay for these views. Somehow it doesn't make much sense to see that overlay in 3d-perspective.

The positionCameraToWorld command will do that just fine. :)

Also I wonder if you could have a second overlay, slightly diffrent to this one, whose alpha-channel would be slowly and randomly animated, so the two overlays will merge, creating something like a subtil animation. Though, that could end up to be more distracting than anything else...

Just tried that and it actually works pretty well. I created a second overlay by rotating the first by 180°, then had them fade in/out alternatively at 5 second intervals. I also reduced the opacity on the overlay a bit, because I felt it was a bit too intrusive on the screenshots.

See video:

7Qw9GTBwwMY

Edited by MadDogX

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×