def setup_data(): """Setup data.""" _sp_logger.log_debug('Setting up data...') from core import GameConfigObj from memory.manager import manager from paths import SP_DATA_PATH import players players.BaseClient = manager.create_type_from_dict( 'BaseClient', GameConfigObj(SP_DATA_PATH / 'client' / 'CBaseClient.ini')) import listeners listeners.BaseEntityOutput = manager.create_type_from_dict( 'BaseEntityOutput', GameConfigObj(SP_DATA_PATH / 'entity_output' / 'CBaseEntityOutput.ini')) try: _fire_output = listeners.BaseEntityOutput.fire_output except AttributeError: from warnings import warn warn('BaseEntityOutput.fire_output not found. ' 'OnEntityOutput listener will not fire.') else: _fire_output.add_pre_hook(listeners._pre_fire_output)
def setup_data(): """Setup data.""" _sp_logger.log_debug('Setting up data...') from core import GameConfigObj from memory.manager import manager from paths import SP_DATA_PATH import players players.BaseClient = manager.create_type_from_dict( 'BaseClient', GameConfigObj(SP_DATA_PATH / 'client' / 'CBaseClient.ini')) import entities entities._BaseEntityOutput = manager.create_type_from_dict( 'BaseEntityOutput', GameConfigObj(SP_DATA_PATH / 'entity_output' / 'CBaseEntityOutput.ini')) from _entities import BaseEntityOutput try: _fire_output = entities._BaseEntityOutput.fire_output BaseEntityOutput.fire_output = _fire_output except ValueError: from warnings import warn warn('Did not find address for BaseEntityOutput.fire_output. ' 'OnEntityOutput listener will not fire.') BaseEntityOutput.fire_output = NotImplemented except AttributeError: from warnings import warn warn('BaseEntityOutput.fire_output not found. ' 'OnEntityOutput listener will not fire.') BaseEntityOutput.fire_output = NotImplemented
def setup_data(): """Setup data.""" _sp_logger.log_debug('Setting up data...') from core import GameConfigObj from memory.manager import manager from paths import SP_DATA_PATH import players players.BaseClient = manager.create_type_from_dict( 'BaseClient', GameConfigObj(SP_DATA_PATH / 'client' / 'CBaseClient.ini')) from core.cache import CachedProperty from memory import get_function_info from memory.helpers import MemberFunction CachedProperty( lambda self, info: MemberFunction( manager, info.return_type, self.make_virtual_function(info), self ), doc="""Fires the given game event to this client. :param GameEvent game_event: The game event instance to fire. """, args=(get_function_info('IGameEventListener2', 'FireGameEvent'),) ).bind(players.BaseClient, 'fire_game_event') import entities entities._BaseEntityOutput = manager.create_type_from_dict( 'BaseEntityOutput', GameConfigObj(SP_DATA_PATH / 'entity_output' / 'CBaseEntityOutput.ini')) from _entities import BaseEntityOutput try: _fire_output = entities._BaseEntityOutput.fire_output BaseEntityOutput.fire_output = _fire_output except ValueError: from warnings import warn warn( 'Did not find address for BaseEntityOutput.fire_output. ' 'OnEntityOutput listener will not fire.' ) BaseEntityOutput.fire_output = NotImplemented except AttributeError: from warnings import warn warn( 'BaseEntityOutput.fire_output not found. ' 'OnEntityOutput listener will not fire.' ) BaseEntityOutput.fire_output = NotImplemented
def setup_data(): """Setup data.""" _sp_logger.log_debug('Setting up data...') from core import GameConfigObj from memory.manager import manager from paths import SP_DATA_PATH import players players.BaseClient = manager.create_type_from_dict( 'BaseClient', GameConfigObj(SP_DATA_PATH / 'client' / 'CBaseClient.ini')) import entities entities._BaseEntityOutput = manager.create_type_from_dict( 'BaseEntityOutput', GameConfigObj(SP_DATA_PATH / 'entity_output' / 'CBaseEntityOutput.ini')) try: _fire_output = entities._BaseEntityOutput.fire_output from _entities import BaseEntityOutput BaseEntityOutput.fire_output = _fire_output except ValueError: from warnings import warn warn( 'Did not find address for BaseEntityOutput.fire_output. ' 'OnEntityOutput listener will not fire.' ) except AttributeError: from warnings import warn warn( 'BaseEntityOutput.fire_output not found. ' 'OnEntityOutput listener will not fire.' ) else: import listeners _fire_output.add_pre_hook(listeners._pre_fire_output)
# Memory import memory from memory.hooks import PreHook from memory.manager import manager from entities.datamaps import Variant from entities.helpers import find_output_name # Listeners from _listeners import ListenerManager # ============================================================================= # >> GLOBAL VARIABLES # ============================================================================= BaseEntityOutput = manager.create_type_from_dict( 'BaseEntityOutput', GameConfigObj( SP_DATA_PATH / 'entity_output' / 'CBaseEntityOutput.ini')) _fire_output = getattr(BaseEntityOutput, 'fire_output', None) on_entity_output_listener_manager = ( None if _fire_output is None else ListenerManager() ) # ============================================================================= # >> CALLBACKS # ============================================================================= if _fire_output is not None: @PreHook(BaseEntityOutput.fire_output) def _pre_fire_output(args): """Called when an output is about to be fired."""
from memory.hooks import PreHook from memory.manager import manager # Entity from entities.entity import BaseEntity from entities.entity import Entity from entities.datamaps import Variant from entities.helpers import find_output_name # Listeners from _listeners import ListenerManager # ============================================================================= # >> GLOBAL VARIABLES # ============================================================================= BaseEntityOutput = manager.create_type_from_dict( 'BaseEntityOutput', GameConfigObj(SP_DATA_PATH / 'entity_output' / 'CBaseEntityOutput.ini')) on_entity_output_listener_manager = ListenerManager() # ============================================================================= # >> CALLBACKS # ============================================================================= @PreHook(BaseEntityOutput.fire_output) def _pre_fire_output(args): """Called when an output is about to be fired.""" if not on_entity_output_listener_manager: return # Windows is a bit weird: the function takes 4 additional arguments...
from memory.manager import manager # ============================================================================= # >> ALL DECLARATION # ============================================================================= __all__ = ('WeaponInfo', 'weapon_scripts', ) # ============================================================================= # >> GLOBAL VARIABLES # ============================================================================= # Get the WeaponInfo class... WeaponInfo = manager.create_type_from_dict('WeaponInfo', GameConfigObj( SP_DATA_PATH / 'weapons' / 'scripts' / 'WeaponInfo.ini')) # Get the _WeaponDatabase class... try: from _weapons._scripts import _WeaponDatabase # Make sure the manager is able to find us... manager['_WeaponDatabase'] = _WeaponDatabase except ImportError: _WeaponDatabase = manager.create_type_from_dict( '_WeaponDatabase', GameConfigObj( SP_DATA_PATH / 'weapons' / 'scripts' / 'WeaponDatabase.ini')) # Get the global _WeaponDatabase pointer... manager.create_global_pointers_from_file(GameConfigObj( SP_DATA_PATH / 'weapons' / 'scripts' / 'global_pointers.ini'))
# Memory from memory.manager import manager # Paths from paths import SP_DATA_PATH # Players from _players import Client from _players import PlayerGenerator from _players import PlayerInfo from _players import UserCmd # ============================================================================= # >> ALL DECLARATION # ============================================================================= __all__ = ('BaseClient', 'Client', 'PlayerGenerator', 'PlayerInfo', 'UserCmd', ) # ============================================================================= # >> GLOBAL VARIABLES # ============================================================================= # Get the sp.players logger players_logger = _sp_logger.players BaseClient = manager.create_type_from_dict( 'BaseClient', GameConfigObj(SP_DATA_PATH / 'client' / 'CBaseClient.ini'))
from core import GameConfigObj # Memory from memory.manager import manager # Paths from paths import SP_DATA_PATH # Players from _players import Client from _players import PlayerGenerator from _players import PlayerInfo from _players import UserCmd # ============================================================================= # >> ALL DECLARATION # ============================================================================= __all__ = ( 'BaseClient', 'Client', 'PlayerGenerator', 'PlayerInfo', 'UserCmd', ) # ============================================================================= # >> GLOBAL VARIABLES # ============================================================================= # Get the sp.players logger players_logger = _sp_logger.players BaseClient = manager.create_type_from_dict( 'BaseClient', GameConfigObj(SP_DATA_PATH / 'client' / 'CBaseClient.ini'))
from memory.manager import manager # ============================================================================= # >> ALL DECLARATION # ============================================================================= __all__ = ('WeaponInfo', 'weapon_scripts', ) # ============================================================================= # >> GLOBAL VARIABLES # ============================================================================= # Get the WeaponInfo class... WeaponInfo = manager.create_type_from_dict('WeaponInfo', GameConfigObj( SP_DATA_PATH.joinpath('weapons', 'scripts', 'WeaponInfo.ini'))) # Get the _WeaponDatabase class... try: from _weapons._scripts import _WeaponDatabase # Make sure the manager is able to find us... manager['_WeaponDatabase'] = _WeaponDatabase except ImportError: _WeaponDatabase = manager.create_type_from_dict( '_WeaponDatabase', GameConfigObj(SP_DATA_PATH.joinpath( 'weapons', 'scripts').joinpath('WeaponDatabase.ini'))) # Get the global _WeaponDatabase pointer... manager.create_global_pointers_from_file(GameConfigObj( SP_DATA_PATH.joinpath('weapons', 'scripts', 'global_pointers.ini')))