AgentRev here, ask me anything

  • Offline AgentRev
  • Developer
  • Veteran
  • ******
  • Posts: 2489

AgentRev here, ask me anything

« posted: Dec 29, 2015, 06:07 AM »
Hello people,

I've been very busy with college during the last months, but now I'm done, and I have about 2 weeks before starting university. So, if you want to bring some technical issues to my attention, now's the time, because I'll be semi-absent again until May 2016.

Here's a list of the fixes I did today:
  • Fixed issues with revive not triggering properly
  • Fixed issues with vehicle turret mag saving
  • Fixed armor values in general store
  • Partially fixed issues with items not dropping from players whose aircraft exploded

and other minor stuff, see at https://github.com/A3Wasteland/ArmA3_Wasteland.Altis/commits/dev

I will try to look at BE filter issues next.
  • Offline Magic
  • First Blood
  • ***
  • Posts: 92

Re: AgentRev here, ask me anything

« Reply #1 posted: Dec 29, 2015, 10:37 AM »
There is a really annoying bug with grenades. When you spawn back in to a previous location the grenades in your load out are not shown as ready to use in the top right of the screen. So you have to remove a grenade from your pack, put it on the ground and pick it up again to be able to use them. Seems to happen all the time if you are carrying a lot of stuff. It's only a minor thing but hey I thought I'd ask.

Also, I suppose it would be asking too much of you for some sort of Infistar anti hack integration? It seems impossible to get working with wasteland with any sort of addons, I don't know enough about the two systems to get them to work together.

  • Offline AgentRev
  • Developer
  • Veteran
  • ******
  • Posts: 2489

Re: AgentRev here, ask me anything

« Reply #2 posted: Dec 29, 2015, 10:46 AM »
Oh yes, I think we had a similar problem with store-bought grenades a while ago, I'm pretty sure there is a fix, I will look at it tomorrow.

infiSTAR is a third party addon, I don't offer support for it, but I have no problem with people using it. I simply have no means or desire to provide help in this regard. Since you bought infiSTAR from someone, and that this person advertises compatibility with Wasteland on his website, normally he should be the one providing support, not me.
  • Offline Magic
  • First Blood
  • ***
  • Posts: 92

Re: AgentRev here, ask me anything

« Reply #3 posted: Dec 29, 2015, 12:13 PM »
Understand totally, thanks very much!

Re: AgentRev here, ask me anything

« Reply #4 posted: Dec 29, 2015, 01:13 PM »
Hello AgentRev. I'm kinda stuck at extracting the persistent database files in my own mission folder. Without all the other Wasteland stuff. (Cause I'm hosting a Zeus based survival game against CSAT which saves all player's progress.)

http://forums.a3wasteland.com/index.php?topic=2330.0

This is my post. It explains what I want to keep from Wasteland and what not. So what files do I extract from the Wasteland mission folder for all the things I want to work?

Thanks in advance
~ xSparkZx
  • Offline JoSchaap
  • Developer
  • Mercenary
  • ******
  • Posts: 481
  • Had a life.. Got a modem.. (~1996)

Re: AgentRev here, ask me anything

« Reply #5 posted: Dec 29, 2015, 03:26 PM »
Yay! a Rev AMA!!!



Ok.. here goes.. 

How are you Rev?  8)
  • Offline AgentRev
  • Developer
  • Veteran
  • ******
  • Posts: 2489

Re: AgentRev here, ask me anything

« Reply #6 posted: Dec 29, 2015, 09:51 PM »
A bit hung over from 4 days of holiday parties, but otherwise great.
  • Offline Matt76
  • Mercenary
  • *****
  • Posts: 418
  • co founder of customcombatgaming.com

Re: AgentRev here, ask me anything

« Reply #7 posted: Dec 30, 2015, 12:09 AM »
Since the main man is around :-)

Have you ever considered giving server owners the ability to switch the anti hack (payload checking if not all) off via the main config? - I'm not convinced it's working, detecting as intended anyhow as its been a few months since it caught anyone.

  • Offline AgentRev
  • Developer
  • Veteran
  • ******
  • Posts: 2489

Re: AgentRev here, ask me anything

« Reply #8 posted: Dec 30, 2015, 12:39 AM »
It's also been a few months since BIS and BE finally got their shit together and made the game drastically harder to hack, first by hiding its memory from external programs, and second by disabling file patching plus making it required for playing on most servers, all of which were easy targets for kiddies. So, only hackers who actually know what they're doing remain, and there aren't a lot of those.
  • Offline Matt76
  • Mercenary
  • *****
  • Posts: 418
  • co founder of customcombatgaming.com

Re: AgentRev here, ask me anything

« Reply #9 posted: Dec 30, 2015, 12:50 AM »
Very true Rev but with that in mind and the potential performance gain would you consider my idea ?
  • Offline AgentRev
  • Developer
  • Veteran
  • ******
  • Posts: 2489

Re: AgentRev here, ask me anything

« Reply #10 posted: Dec 30, 2015, 12:55 AM »
Unless somebody has evidence that proves the opposite, the antihack should normally have zero performance impact in terms of FPS.

Re: AgentRev here, ask me anything

« Reply #11 posted: Dec 30, 2015, 04:31 AM »
When I make this change to populateGenStore.sqf it causes the Supplies category to not populate on my server. Checked other categories and they seem to be fine.

My sqf
Code: [Select]
// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//   @file Version: 1.0
//   @file Name: populateGenStore.sqf
//   @file Author: [404] Deadbeat, [KoS] His_Shadow, AgentRev
//   @file Created: 20/11/2012 05:13
//   @file Args:

#include "dialog\genstoreDefines.sqf";
disableSerialization;
private ["_switch", "_dialog", "_itemlist", "_itemlisttext", "_itemDesc", "_showPicture", "_itemsArray", "_playerSideNum", "_parentCfg", "_weapon", "_picture", "_listIndex", "_showItem", "_factionCfg", "_faction", "_isUniform", "_sideCfg", "_side"];
_switch = _this select 0;

// Grab access to the controls
_dialog = findDisplay genstore_DIALOG;
_itemlist = _dialog displayCtrl genstore_item_list;
_itemlisttext = _dialog displayCtrl genstore_item_TEXT;
_itemDesc = _dialog displayCtrl genstore_item_desc;

//Clear the list
lbClear _itemlist;
_itemlist lbSetCurSel -1;
_itemlisttext ctrlSetText "";
_itemDesc ctrlSetText "";

_showPicture = true;

switch(_switch) do
{
   case 0:
   {
      _itemsArray = call headArray;
   };
   case 1:
   {
      _itemsArray = call uniformArray;
   };
   case 2:
   {
      _itemsArray = call vestArray;
   };
   case 3:
   {
      _itemsArray = call backpackArray;
   };
   case 4:
   {
      _itemsArray = call genItemArray;
   };
   case 5:
   {
      _itemsArray = call customPlayerItems;

      _excludedItems = [];

      if !(playerSide in [BLUFOR,OPFOR]) then
      {
         _excludedItems pushBack "warchest";
      };

      if (["A3W_unlimitedStamina"] call isConfigOn) then
      {
         _excludedItems pushBack "energydrink";
      };

      if !(["A3W_survivalSystem"] call isConfigOn) then
      {
         _excludedItems pushBack "water";
         _excludedItems pushBack "cannedfood";
      };

      if (count _excludedItems > 0) then
      {
         _itemsArray = [_itemsArray, { !((_x select 1) in _excludedItems) }] call BIS_fnc_conditionalSelect;
      };
   };
   case 6:
   {
      _itemsArray = call genObjectsArray;
      _showPicture = false;
   };
   default
   {
      _itemsArray = [];
   };
};

_playerSideNum = switch (playerSide) do
{
   case BLUFOR:      { 1 };
   case OPFOR:       { 0 };
   case INDEPENDENT: { 2 };
   default           { 3 };
};

{
   _weaponClass = _x select 1;

   switch (true) do
   {
      case (isClass (configFile >> "CfgVehicles" >> _weaponClass)):  { _parentCfg = configFile >> "CfgVehicles" };
      case (isClass (configFile >> "CfgWeapons" >> _weaponClass)):   { _parentCfg = configFile >> "CfgWeapons" };
      case (isClass (configFile >> "CfgMagazines" >> _weaponClass)): { _parentCfg = configFile >> "CfgMagazines" };
      case (isClass (configFile >> "CfgGlasses" >> _weaponClass)):   { _parentCfg = configFile >> "CfgGlasses" };
   };

   _showItem = true;

   // Side-based filtering
   if (!isNil "_parentCfg") then
   {
      switch (configName _parentCfg) do
      {
         case "CfgVehicles":
         {
            {
               _sideCfg = call _x;

               if (isNumber _sideCfg) then
               {
                  _side = getNumber _sideCfg;

                  if (_side in [0,1,2] && {_side != _playerSideNum}) then
                  {
                     _showItem = false;
                  };
               };
            }
            forEach
            [
               { _parentCfg >> _weaponClass >> "side" },
               { configFile >> "CfgVehicles" >> getText (_parentCfg >> _weaponClass >> "assembleInfo" >> "assembleTo") >> "side" }
            ];
         };
         case "CfgWeapons":
         {
            _isUniform = isText (_parentCfg >> _weaponClass >> "ItemInfo" >> "uniformClass");
            _sideCfg = _parentCfg >> _weaponClass >> "ItemInfo" >> "side";

            switch (true) do
            {
               case (_isUniform):
               {
                  if !(player isUniformAllowed _weaponClass) then
                  {
                     _showItem = false;
                  };
               };
               case (isNumber _sideCfg):
               {
                  _side = getNumber _sideCfg;

                  if (_side in [0,1,2] && {_side != _playerSideNum}) then
                  {
                     _showItem = false;
                  };
               };
            };
         };
      };
   };

   _side = _x param [4, "", [""]];
   //_side = _x param [4, ""];
   if !(_side in [str playerSide, ""]) then
   {
      _showItem = false;
   };

   if (_showItem) then
   {
      _listIndex = _itemlist lbAdd format ["%1", if (!isNil "_parentCfg" && _x select 0 == "") then { getText (_parentCfg >> _weaponClass >> "displayName") } else { _x select 0 }];

      if (isNil "_parentCfg") then
      {
         _itemlist lbSetPicture [_listIndex, _x select 3];
      }
      else
      {
         // If BLUFOR ghillie suit, use picture from Independent ghillie suit
         if (_weaponClass == "U_B_GhillieSuit") then
         {
            _weapon = _parentCfg >> "U_I_GhillieSuit";
         }
         else
         {
            _weapon = _parentCfg >> _weaponClass;
         };

         _picture = getText (_weapon >> "picture");

         if (_showPicture) then
         {
            _itemlist lbSetPicture [_listIndex, _picture];
         };
      };

      _itemlist lbSetData [_listIndex, _weaponClass];
   };
} forEach _itemsArray;

call getInventory;


Do I need to copy the entire sqf over from GIT?
  • Offline AgentRev
  • Developer
  • Veteran
  • ******
  • Posts: 2489
  • Offline AgentRev
  • Developer
  • Veteran
  • ******
  • Posts: 2489
  • Offline Matt76
  • Mercenary
  • *****
  • Posts: 418
  • co founder of customcombatgaming.com

Re: AgentRev here, ask me anything

« Reply #14 posted: Dec 30, 2015, 07:53 AM »
Do you have any idea why if you leave a server and re join it before it restarts why players all seem to get an error saying the loading jpg or paa is missing ?