Skip to content
/ Clippy Public

πŸ“ŽπŸ’¬πŸŽ‰ Clippy from Microsoft Office is back and runs on macOS! Written in Swift.

Notifications You must be signed in to change notification settings

Cosmo/Clippy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

70 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Clippy

Yes, Clippy from Microsoft Office is back β€” on macOS!


Clippy can be moved around (drag with mouse) and be animated (right-click).

The SpriteKit-Framework is used to animate through Clippy's sprite map.


First start

  1. Download Clippy for macOS or build from source.
  2. Run
  3. Click πŸ“Ž β†’ Show in Finder in the menu bar
  4. Unzip all files
  5. Click πŸ“Ž β†’ Reload
  6. Pick an Agent under πŸ“Ž β†’ Agents β†’ …

Todos

  • Animations (Right-Click β†’ Animate! or press the Space bar)
  • Always on top
  • Sounds
    • Mute / Unmute
  • Transparent when out of focus
  • Support for other agents
  • Agent picker
  • Menu bar Item
  • Original size / Zoom
  • Actions
    • Hide
    • Show
    • MoveTo x y
    • GestureAt x y
    • Play animation
  • Clean up
    • Rewrite the ugly parts (many references and force unwraps)
    • Extract the Agent reader into its own libary
    • Test!
  • HitTest on transparent regions
  • Support branching and probability
  • Idle animations
  • Languages
  • Control via command line

Demo

Demo

Build

git clone https://github.com/Cosmo/Clippy.git
  • Open project with Xcode
  • Build and run the macOS target

Add other Agents (optional)

An *.acs file includes all required resources (bitmaps, sounds, definitions, etc.) of an agent. Unfortunately, this project does not support *.acs files, yet. But hopefully in the future β€” pull-requests are welcome.

Until then, you can convert *.acs files with the "MSAgent Decompiler" by Lebeau Software. This software extracts all resources that we need, from an *.acs. There are a few steps involved.

Requirements

brew install imagemagick

Will be used to merge single *.bmp sprites into a single 32 bit PNG-file.

brew install ffmpeg

Will be used to convert *.wav-files in RIFF format to MP3 files.

Conversion

Included in this project is a converter called agent-converter.sh. This tool takes opaque BMP sprites, removes background colors, puts them together to one big transparent PNG file and converts all sounds to MP3.

./agent-convert.sh PATH_TO_AGENT NEW_NAME

AGENT_PATH path to decompiled agent directory. NEW_NAME should only include lowercase letters.

Example

./agent-convert agents/CLIPPIT clippy

Final step

After the conversion step, you will get a new folder called NEW_NAME.agent.

  1. Click πŸ“Ž β†’ Show in Finder in the menu bar.
  2. Move it to the Agents directory.
  3. Click πŸ“Ž β†’ Reload
  4. Select new Agent under πŸ“Ž β†’ Agents β†’ …

Attributions

Inspiration was taken from:

Graphics were created by Microsoft.

Clippy: The Unauthorized Biography

Watch the Unauthorized Biography with Steven Sinofsky, if you're interested in Clippy's history!

Clippy: The Unauthorized Biography

Contact