Git Product home page Git Product logo

cba_a3's Introduction

Community Base Addons

Installation

Download the latest version and unpack it in your Arma 3 installation folder. Simply launch Arma 3 with -mod=@CBA_A3 afterwards.

Optionals

To install any of the optionals, simply copy the respective PBOs into the @CBA_A3\addons folder.

PBO Description
cba_cache_disable.pbo Disables CBA's function caching. (Dev Tool)
cba_diagnostic_disable_xeh_logging.pbo Disables all additional XEH RPT logging.
cba_diagnostic_enable_logging.pbo Enables additional logging (Dev Tool)

CBA Caching

CBA implements a cache for all compile preProcessFile'd scripts and for all XEH events on CfgVehicle classes. This cache is stored in the uiNamespace and is therefore available throughout the whole lifetime of the running game (game start, till terminate game). Each class is only cached once, while mission and campaignConfigfile events are evaluated every mission, but also only once per CfgVehicle class.

The performance gains are seen in feature rich mods like ACE3 which rely heavily on scripting to make their features possible. Some of these functionalities cause long loading times for the game, switching missions, islands and switching from the editor back to the game. At the start of the game functions will be cached and loading times for functions will be comparable with the vanilla game.

cba_cache_disable.pbo is an optional addon that can disable this if you need it. However it makes mods slower by disabling CBA's function and script compilation cache, as well as the XEH cache. It is useful during development, since script changes will take effect without restarting the entire game.

Known Issues

  • CBA Keybindings and Settings require a mission to be initialized to function properly. This includes working in the main menu of Arma 3. Commandline parameters like -world=empty or -skipIntro will cause Keybindings and Settings to work ONLY in-game but NOT in the main menu.

License

Licensed under GNU General Public License (GPLv2)

Any addon which calls CBA-defined functions need not be licensed under the GPLv2 or released under a free software license. Only if it is directly including CBA code in the addon's binarized PBO or redistributing a modified version of CBA itself would it be considered derivative and therefore be legally required to be released under the terms of the GPL. (And there's no reason to ever do either of these.)

cba_a3's People

Contributors

654wak654 avatar baermitumlaut avatar brettmayson avatar classicarma avatar commy2 avatar dahlgren avatar dedmen avatar dorbedo avatar drofseh avatar dystopian avatar elgin675 avatar johnb432 avatar jokoho48 avatar jonpas avatar kexanone avatar killswitch00 avatar kymckay avatar mharis001 avatar neviothr avatar noubernou avatar pabstmirror avatar patroza avatar robalo avatar shadez95 avatar taosenai avatar thojkooi avatar veteran29 avatar vipermaul avatar wired-tiger avatar xhabit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cba_a3's Issues

Spam No owner few times in .rpt only with CBA

Reproduce:

Load Arma 3 only and CBA 1.1.20.150416
Editor -> Stratis
Put soldier
Preview

When loading mission appears No owner few times in .rpt

+More info:+

With script CSSA3: http://forums.bistudio.com/showthread.php?187688-CSSA3-A-Spectator-Script-for-Arma-3&highlight=cssa3

Install in mission and execute Spectator mode with the instructions of CSSA3.

If the camera moves are appearing more No owner especially if the ALT LEFT key is pushed.
Reporter: oscarmolinadev
Begin: 2015-05-08
Completed: 0

Keybinding System index for mod breaks when using on both keydown and keyup for a key.

If you add a key down and key up combo, like so:

["Test", "Combo", {hint "combo"}, [0x15, [false, false, false]], false, "keydown"] call CBA_fnc_registerKeybind;
["Test", "Combo", {hint ""}, [0x15, [false, false, false]], false, "keyup"] call CBA_fnc_registerKeybind;

and then you add another key normally afterwards, like so:

["Test", "Single", {hint "single"}, [0x15, [false, true, false]]] call CBA_fnc_registerKeybind;

Then you cannot rebind, delete or set the default for that second key in the options menu. Instead you get the error:

Error in expression <all cba_fnc_registerKeybind;

} forEach _handlerIndexArray;
};


[] call cba_key>
  Error position: <_handlerIndexArray;
};


[] call cba_key>
  Error Undefined variable in expression: _handlerindexarray
File x\cba\addons\keybinding\gui\fnc_onLBDblClick.sqf, line 59.

A workaround is to simply add that second key before the keydown keyup combo.
Reporter: PH03NIX-ZA
Begin: 2014-08-15
Completed: 0

Keybinding - for KeyUp and KeyDown keybing make it impossible to setup it

  1. Do someting like this:

["TFAR", "SW Transmit", {call TFAR_fnc_onSwTangentReleased}, [TF_tangent_sw_scancode] + TF_tangent_sw_modifiers, false, "KeyUp"] call cba_fnc_registerKeybind;
["TFAR", "SW Transmit", {call TFAR_fnc_onSwTangentPressed}, [TF_tangent_sw_scancode] + TF_tangent_sw_modifiers] call cba_fnc_registerKeybind;

["TFAR", "SW Transmit Additional", {call TFAR_fnc_onAdditionalSwTangentPressed}, [TF_tangent_additional_sw_scancode] + TF_tangent_additional_sw_modifiers] call cba_fnc_registerKeybind;
["TFAR", "SW Transmit Additional", {call TFAR_fnc_onAdditionalSwTangentReleased}, [TF_tangent_additional_sw_scancode] + TF_tangent_additional_sw_modifiers, false, "KeyUp"] call cba_fnc_registerKeybind;

  1. Try to open key configure interface and setup key for "SW Transmit Additional"

Result: error on fnc_onLBDblClick.sqf:59
Reporter: nkey
Assigned to: nkey
Begin: 2014-09-26
Completed: 0

CBA Keys - display assigned key in game?

In my Raven addon, I have a button that you press to bring up the assigned keybinds. Once I switched the keys over to CBA Keybinding, I can't figure out how to get these assigned keys easily.

I've come up with a way to test which group the keys are assigned to:

_mainIndex = 0;

{
if ("RQ-11B Raven Addon" in ((profileNamespace getVariable "cba_keybinding_registry") select _x))
exitWith {_mainIndex = _x};
} forEach [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];

_mainTitle = (profileNamespace getVariable "cba_keybinding_registry") select _mainIndex select 0;
hint format ["%1",_mainTitle]; // returns "RQ-11B Raven Addon"

This tests up to 21 addons using CBA Keys and returns the index that contains my Raven Addon key title. If I drill down more, I can get to the key names and assigned key "number" but for example, "Altitude Raise" is assigned key "17" which equates to DIK_W. But how do I know that Key "17" is DIK_W?

And, is there an easier way to do this? Currently to get "17", I have to find this:
(profileNamespace getVariable "cba_keybinding_registry") select 1 select 1 select 0 select 1 select 0 select 0;

It would be a lot easier if I could instead type this:
["RQ-11B Raven Addon", "Altitude Raise"] call CBA_fnc_revealKeybind;
which would return [DIK_W, [false, false, false]](or whatever the key has been changed to from the default).

Currently, in my addon, I have a page pop up with the default keybinds, but not what the user changes those keybinds to. I know the user can hit escape and just look there by drilling down into the menus, but in my Raven, I like having a quick page pop up with the Raven operation and the assigned keys while they are operating the Raven.

Thanks in advance if this is possible.
Reporter: feint
Begin: 2015-03-22
Completed: 0

Serverkey RC7 soft crashes server

As reported several times, when I add actual fresh bikey server will not load past port bind. It will never reach mission screen. Fix ASAP.

CBA PostInit was designed to fail specifically on units and heavy load scenarios

acemod/ACE3#1281 (comment)

When PostInit is conducted specifically for CAManBase under certain circumstances, the XEH System is designed to switch to a scheduled mode execution and then fail its execution, or to bypass its execution for continuation of XEH. This poses several problems:

  1. This means that CAManBase specifically loses its guarantee of synchronicity for event handlers, due to them running in the scheduled environment
  2. The execution time on these handlers is garunteed to be excessive, as running in scheduled space during mission start is the most intensive time on the scheduler
  3. If the handler takes too long to execute (10s) than the handler is bypassed, and the rest of XEH continues without it. This means that we lose all XEH PostInit order guarantees
    Reporter: jaynus
    Assigned to: jaynus
    Begin: 2015-05-18
    Completed: 0

ACRE2 radio PTT doesn't work when a modifier key is held

Tested with CBA_A3_DEV_RC6_v1.1.20.150407 and ACRE2.1.0.786 (specifically built for testing with new CBA)
The binds were all set from within the game. Expectation was for everything to work out-of-the-box.

Examples:
If your PTT key is Home -> Push Home -> PTT successful
Players who have no TrackIR and use ALT for freelook, or players who Sprint/Walk with Shift, etc, cant transmit at the same time as holding the Modifier key

Possibly reproducible with other mods as well.
Reporter: BullHorn
Assigned to: Nou
Begin: 2015-04-08
Completed: 0

All Test Functions Should Report with a Summary of Results Success/Fail

An example of the current RPT of test functions.

[7971,103.74,65.432,"Testing CBA_fnc_hashEachPair"]
[7970,103.726,65.409,"x\cba\addons\hashes\test.sqf:14","=== Testing Hashes ==="]
[7971,103.74,65.432,"x\cba\addons\hashes\test_hashEachPair.sqf:14","Testing CBA_fnc_hashEachPair"]
[7973,103.772,65.471,"x\cba\addons\strings\test.sqf:14","=== Testing Strings ==="]
[7974,103.806,65.493,"x\cba\addons\strings\test_strings.sqf:11","Testing Strings"]

All Test Functions should report with a Completed Successfully or a Test Failed or similar.
Currently there is no results output anywhere.
Reporter: ViperMaul
Begin: 2013-06-05
Completed: 0

Align hash functions in CBA with ACE/ACRE

The hash functions in CBA have been improvement mainly by ACRE (Hashlists etc.) which have been adopted by ACE. Currently the cba hashes and ace/acre ones are neither the same nor compat.

Would be a nice feature to give 3rd party scripts independency of ACE/ACRE but the same functionality.

List of differences:

  • hashCreate contains a TYPE_HASH designator which is only used by the isHash and not used by ACE/ACRE. How often is the isHashfunction used?
  • Add hashLists-functions

Could jump on that and create a merge-request, if pleased.

Publish CBA on the Steam Workshop

From the "BI forums":http://forums.bistudio.com/showthread.php?178224-CBA-Community-Base-Addons-ARMA-3&p=2923036&viewfull=1#post2923036

??Why is CBA3 not in Steam Workshop? I searched but i can't find it. It seems to me it would be a lot easier to keep this up to date for us.??

Apparently, one can now publish mods (collections of addons) on Steamworks, so it might be worth looking into publishing CBA there as well.
Reporter: killswitch
Assigned to: ViperMaul
Begin: 2015-04-18
Completed: 30

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.