CCScript - Text Editing Made Easy

  1. Download!
  2. System Requirements
  3. Introduction
  4. Tutorial
  5. Example
  6. Documentation
  7. Version History

Download

8/24/2009: Version 1.337 released (improved import system, bugfix)

8/06/2009: Version 1.3 released (major duct tape version)
7/31/2009: Version 1.2 released (even more important bugfixes!)

Download Visual CCScript

Current version: 1.1.3
Compiler version: 1.337
(Version history)

Download CCScript command-line compiler only
(Includes source code for building on non-Windows platforms)

System Requirements

To run on Windows, Visual CCScript requires at least version 2.0 of the Microsoft .NET Framework. If you don't already have it, you can download it here.

Visual CCScript will also run on Linux and Mac OSX using version 2.0 or later of the Mono Framework. Note that in order to run on non-Windows platforms using Mono, you will have to recompile the CCScript compiler for that platform. The source and makefile for ccc are located in the compiler/src directory in your Visual CCS folder.

Another option is to run Visual CCScript in Wine. No recompilation should be necessary.

Introduction

CCScript is a simple programming language built for easily creating text and control codes for EarthBound. It eliminates the need for manually managing text pointers: in CCScript, you can assign your own labels to text blocks, and all the pointers are handled automatically behind the scenes. Never worry about accidentally overwriting critical text again! CCScript also allows you to use simple named commands instead of typing out ridiculously long strings of numbers, and control keywords like "if" and "menu" make conditional branching and menu construction a snap!

Tutorial

CCScript Tutorial
To help you get started using CCScript to create your own hacks, this really awesome tutorial describes all the basic steps necessary to get up and running with CCScript, and introduces the various features of the language one at a time for easy digestion. Mmmm features.

Example

Here's a simple example of how clean and natural-looking CCScript code can be:

if hasitem(1, 0x63) { "@Hey, you have a magic truffle!" next "@Would you be willing to sell it?" next menu { "Yes" : "@Cool beans. How does $2 sound?" "No" : "@Not even if I sweetened the deal with this turnip?" } } end

Now, compare that to the sequence of control codes that would be necessary to achieve the same effect:

[1D 04 01 63 1B 02 CE 00 F2 00]@Hey, you have a magic truffle![03 00]@Would you be willing to sell it?[03 00 19 02]Yes[02 19 02]No[02 1C 07 02 11 12 09 02 6D 00 F2 00 91 00 F2 00 0A C9 00 F2 00]@Cool beans. How does $2 sound?[0A C9 00 F2 00]@Not even if I sweetened the deal with this turnip?[0A C9 00 F2 00 0A CE 00 F2 00 02]

So, which of these do you think is easier to read and understand? :-)

More Documentation

CCScript Command Reference
A complete reference to all the built-in commands included in CCScript. Basically, this is the new replacement for the Control Code Lexicon.

Language Reference
This document describes the structure of the CCScript language in detail.

Version History

Version 1.337:

Version 1.3:

Version 1.2:

Version 1.1:

Version 1.0.2:

Version 1.0: