4.3 KiB
4.3 KiB
🎮 NovaFarma - Accessibility Features Quick Reference
🎬 Visual Sound Cues
Quick Commands:
const visualCues = game.scene.scenes[1].visualSoundCues;
// Subtitle size
visualCues.setSubtitleSize('small'); // 16px
visualCues.setSubtitleSize('medium'); // 20px (default)
visualCues.setSubtitleSize('large'); // 28px
visualCues.setSubtitleSize('very-large'); // 36px
// Opacity
visualCues.setSubtitleOpacity(0.8); // 0.0 - 1.0
// Show subtitle
visualCues.showSubtitle('Text', 3000, 'Speaker', 'direction');
// Toggles
visualCues.toggleSubtitles(true/false);
visualCues.toggleSpeakerNames(true/false);
visualCues.toggleDirectionalArrows(true/false);
visualCues.toggleFishingBobber(true/false);
// Custom speaker color
visualCues.addSpeakerColor('Merchant', '#ffa500');
🎮 Input Remapping
Quick Commands:
const inputSystem = game.scene.scenes[1].inputRemapping;
// Switch profile
inputSystem.switchProfile('default');
inputSystem.switchProfile('left-handed');
inputSystem.switchProfile('arrows');
// Rebind action
inputSystem.startRebinding('interact', (action, key) => {
console.log(`Rebound ${action} to ${key}`);
});
// Check binding
inputSystem.getBindingDisplay('move_up');
// Check if pressed
inputSystem.isActionPressed('sprint');
inputSystem.isActionJustPressed('attack');
// Reset
inputSystem.resetAction('interact');
inputSystem.resetAllBindings();
// Save/Load
inputSystem.saveToProfile('custom-1');
const json = inputSystem.exportBindings();
inputSystem.importBindings(json);
// Controller
inputSystem.isControllerConnected();
inputSystem.getControllerInfo();
🔊 Screen Reader System
Quick Commands:
const sr = game.scene.scenes[1].screenReader;
// Speech
sr.speak('Text to speak');
sr.speak('Alert!', 'alert', true); // Interrupt
// Settings
sr.setRate(1.5); // Speed (0.1 - 10)
sr.setPitch(1.2); // Pitch (0 - 2)
sr.setVolume(0.8); // Volume (0 - 1)
// Announcements
sr.announceStats();
sr.announceInventory();
sr.announcePosition();
sr.announceNearby();
sr.announceAction('pickup', 'carrot');
// Toggles
sr.toggleVerboseMode();
sr.toggleSoundCues();
sr.toggleAutoNarrate();
// Audio cues
sr.playAudioCue('success');
sr.playAudioCue('error');
// Voices
sr.getAvailableVoices();
sr.setVoice('Microsoft David Desktop');
Keyboard Shortcuts:
- Ctrl+H: Help
- Ctrl+R: Repeat last
- Ctrl+S: Settings
- Ctrl+P: Position
- Ctrl+I: Inventory
- Ctrl+N: Nearby
- Ctrl+T: Stats
- Ctrl+V: Verbose mode
📋 Available Profiles
- default - WASD + mouse
- wasd - WASD movement
- arrows - Arrow keys
- left-handed - Numpad + left side
- right-handed - Standard WASD
- custom-1 - User-defined
- custom-2 - User-defined
- custom-3 - User-defined
🎨 Speaker Colors
- 🟢 Player: Green
- 🟡 NPC: Yellow
- 🔴 Enemy: Red
- 🔵 System: Cyan
- ⚪ Narrator: White
📏 Subtitle Sizes
| Size | Main | Speaker | Arrows |
|---|---|---|---|
| Small | 16px | 12px | 24px |
| Medium | 20px | 16px | 32px |
| Large | 28px | 20px | 40px |
| Very Large | 36px | 24px | 48px |
🔊 Sound Effects
- [DAMAGE TAKEN]
- [PICKED UP: Item]
- [CROP HARVESTED]
- [BUILDING PLACED]
- [DIGGING SOUND]
- [PLANTING SOUND]
- [FOOTSTEPS]
- [DOOR OPENS]
- [CHEST OPENS]
- [WATER SPLASH]
- [FIRE CRACKLING]
- [EXPLOSION!]
- [NPC TALKING]
- [ENEMY GROWL]
- [FISH BITING!]
- [DANGER NEARBY]
- [NIGHT IS FALLING]
- [ACHIEVEMENT UNLOCKED]
- [CLICK]
- [HOVER]
🧪 Quick Test
// Copy-paste this to test everything:
const visualCues = game.scene.scenes[1].visualSoundCues;
const inputSystem = game.scene.scenes[1].inputRemapping;
// Test subtitles
visualCues.setSubtitleSize('large');
visualCues.showSubtitle('Testing!', 3000, 'NPC', 'left');
// Test input
console.log('Move Up:', inputSystem.getBindingDisplay('move_up'));
inputSystem.switchProfile('left-handed');
console.log('Move Up (left-handed):', inputSystem.getBindingDisplay('move_up'));
inputSystem.switchProfile('default');
📖 Full Documentation
docs/guides/CLOSED_CAPTIONS_TESTING.mddocs/guides/INPUT_REMAPPING_TESTING.mddocs/sessions/ACCESSIBILITY_IMPLEMENTATION_12_12_2025.md
Version: 2.5.0
Last Updated: 12.12.2025