210 lines
4.3 KiB
Markdown
210 lines
4.3 KiB
Markdown
# 🎮 NovaFarma - Accessibility Features Quick Reference
|
|
|
|
## 🎬 Visual Sound Cues
|
|
|
|
### Quick Commands:
|
|
```javascript
|
|
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:
|
|
```javascript
|
|
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:
|
|
```javascript
|
|
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
|
|
|
|
1. **default** - WASD + mouse
|
|
2. **wasd** - WASD movement
|
|
3. **arrows** - Arrow keys
|
|
4. **left-handed** - Numpad + left side
|
|
5. **right-handed** - Standard WASD
|
|
6. **custom-1** - User-defined
|
|
7. **custom-2** - User-defined
|
|
8. **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
|
|
|
|
1. [DAMAGE TAKEN]
|
|
2. [PICKED UP: Item]
|
|
3. [CROP HARVESTED]
|
|
4. [BUILDING PLACED]
|
|
5. [DIGGING SOUND]
|
|
6. [PLANTING SOUND]
|
|
7. [FOOTSTEPS]
|
|
8. [DOOR OPENS]
|
|
9. [CHEST OPENS]
|
|
10. [WATER SPLASH]
|
|
11. [FIRE CRACKLING]
|
|
12. [EXPLOSION!]
|
|
13. [NPC TALKING]
|
|
14. [ENEMY GROWL]
|
|
15. [FISH BITING!]
|
|
16. [DANGER NEARBY]
|
|
17. [NIGHT IS FALLING]
|
|
18. [ACHIEVEMENT UNLOCKED]
|
|
19. [CLICK]
|
|
20. [HOVER]
|
|
|
|
---
|
|
|
|
## 🧪 Quick Test
|
|
|
|
```javascript
|
|
// 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.md`
|
|
- `docs/guides/INPUT_REMAPPING_TESTING.md`
|
|
- `docs/sessions/ACCESSIBILITY_IMPLEMENTATION_12_12_2025.md`
|
|
|
|
---
|
|
|
|
**Version**: 2.5.0
|
|
**Last Updated**: 12.12.2025
|