CRITICAL MEMORY FIX: Reduce Main Controller memory usage by delegating string operations
CONTROLLER_MESSAGEHANDLER ENHANCEMENTS:
- Added MSG_OWNER_MESSAGE, MSG_PUBLIC_MESSAGE, MSG_REGION_MESSAGE handlers
- New handleOwnerMessage(), handlePublicMessage(), handleRegionMessage() functions
- Memory-efficient message formatting with type-based templates
- Moved all heavy string concatenation operations out of Main Controller
MAIN CONTROLLER CHANGES:
- Added ownerMsg(), publicMsg(), regionMsg() helper functions
- Replaced memory-heavy llOwnerSay() calls with delegated message functions
- Reduced string concatenation operations in critical paths
- Kept simple direct calls for essential messages only
This architectural change should significantly reduce Main Controller memory pressure
and resolve the persistent Stack-Heap Collision errors.
CRITICAL ARCHITECTURE CHANGE to resolve memory crashes:
NEW FILE: Verbose_Logger.lsl
- Dedicated script for all debug output to free up memory in Main Controller
- Handles verbose logging toggle and message buffering
- Script ID system for organized log prefixes
- Memory-safe batched output system
MAIN CONTROLLER CHANGES:
- Removed all verbose logging code and variables
- Redirected debug calls to dedicated Verbose_Logger script
- Simplified verbose logging toggle to forward to logger
- Removed memory-heavy string operations
This architectural split should immediately resolve the Stack-Heap Collision
by moving all debug-related memory usage out of the Main Controller.
CRITICAL FIX: Main Controller experiencing Stack-Heap Collision from verbose logging
- Added emergency memory monitoring to auto-disable verbose logging when memory low
- Replaced heavy string concatenation debug calls with lightweight versions
- Added memory checks before debug output to prevent crashes
- Simplified verbose logging toggle messages to reduce memory usage
- Emergency threshold: auto-disable at <1000 bytes free memory
- Safety checks: only output debug if >500 bytes available
This should immediately resolve the Stack-Heap Collision error.