/wide

Wide a WxWidgets Inform 6 IDE

Primary LanguageC++

WIDE – WxWidgets IDE for Inform 6

WIDE is an Integrated Development Environment (IDE) for the Inform 6 Language.
Wide is a win32 Editor for Inform6: is an Integrated Development Environment (IDE), written entirely in C++/WxWidgets, for the creation of text adventures based on Graham Nelson’s Inform6 Language. With Wide it’s possible to edit, compile and run a text adventure in the z-code and glulx formats.

Main Features:

  • Written in C++ (using the wxWidgets Library)
  • Wide runs on Win32 / Linux systems
  • Wide is localized in spanish, english, italian, german and french (simply customizing its wide.ini file…)
  • Auto-completion window, in edit mode
  • Wide is just an exe file: no DLL, no virtual machines. Wide is a stand alone application.
  • Wrap lines, show number of lines, code folding
  • Inform/Glulx support: wide supports zcode (5 and 8 version), ulx, blb, bres
  • Objects tree and Syntax highlight is customizable
  • Wide is portable: it can be started from an USB key/pen

Authors:

  • Alessandro Schillaci
  • Paolo Lucchesi

License:

Wide is an open source project (GNU GPL License). This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Thanks to:

Urbatain, Christof Menear and Eric Forgeot for the wide translation in spanish, german and french.
Josè Manuel, for hints, suggestions and testing

Install

Install on Linux:

Archlinux

If you’re a ArchLinux user, wide is on the AUR repository. Simply use this command:

yaourt -S wide

Other Linux distros

1) install runtime wxgtk3.0 and git

Archlinux example:

sudo pacman -S wxgtk git
sudo pacman -S extra/wxgtk
sudo pacman -S gtk2hs-buildtools

Debian/Ubuntu/Mint example:
Install the following packages with Software Manager, Synaptic or from terminal with the ‘sudo apt-get install ’ command:


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git 
sudo apt-get install g++
sudo apt-get install libwxbase3.0-0v5
sudo apt-get install libwxbase3.0-dev
sudo apt-get install wx-common
sudo apt-get install wx3.0-headers
sudo apt-get install libwxgtk3.0-0v5
sudo apt-get install libwxgtk3.0-dev

2) clone the wide repository

mkdir wide
cd wide
git clone https://github.com/silverslade/wide

You can use a git client (http://git-cola.github.io/)

3) compile wide

cd wide
cd src
make

Note:

  • in case of errors uncomment line starting by “WX_LIBS” (see the makefile)
    you shouldn’t use “—as-needed” flag, use “—no-as-needed” instead

4) compiling wide under kdevelop (optional)

If you want to use kdevelop (with code completion) to compile wide, install it with

sudo pacman -S kdevelop

Start Kdevelop and open wide/Makefile as project

Install on Windows:

1) Install mingw and wxwidgets 3.1.0

cd c:/wxWidgets-3.1.0
cd build
cd msw
mingw32-make -f makefile.gcc setup_h  (or "mingw32-make SHELL=CMD.exe -f makefile.gcc setup_h")
mingw32-make SHELL=CMD.exe -f Makefile.gcc SHARED=0 UNICODE=1 BUILD=release VENDOR=cl CXXFLAGS="-fno-keep-inline-dllexport -std=c++11" MONOLITHIC=1

For wxwidgets errors see here: https://wiki.wxwidgets.org/Compiling_wxWidgets_with_MinGW

(in case of errors rename C:\MinGW\msys in C:\MinGW\OLDmsys and recompile for a msys uncompatibilty)
after compiling wxwidgets, unrename C:\MinGW\OLDmsys to C:\MinGW\msys

In case of this error:

../../src/msw/treectrl.cpp: In member function 'virtual bool wxTreeCtrl::MSWOnNotify(int, WXLPARAM, WXLPARAM*)':
../../src/msw/treectrl.cpp:3280:17: error: 'NMTVDISPINFOWW' was not declared in this scope

edit line 2217 of /mingw/include/commctrl.h and change
<pre>#define TV_DISPINFO NMTVDISPINFO
instead of
<pre>#define TV_DISPINFO __AW(NMTVDISPINFO)

To fix the comment line problem (comment ! followed by =)
Modify file wxWidgets-3.1.0\src\stc\scintilla\lexers\LexMatlab.cxx

Modify the line

   } else if (sc.ch == '!' && sc.chNext != '=' ) {

in
   } else if (sc.ch == '!') {

2) install GIT

install GIT as command line from http://git-scm.com/download/win
(or install github as client windows from https://windows.github.com/)

3) clone the wide repository

git clone https://github.com/silverslade/wide

4) edit the wide/makefile.gcc

edit the wide/makefile.gcc to fit your directories before compile it

5) Compile Wide under Windows

then you can compile wide under windows using this makefile and MinGW

cd wide
cd src
mingw32-make -f makefile.gcc

6) Install CodeLite (optional)

if you want to use a C++ IDE, you can install CodeLite (http://codelite.org/) and edit wide.project using your wxWidgets path and then open wide workspace with CodeLite.

Example:

<Compiler Options="--fno-exceptions -fno-pcc-struct-return -fstrict-aliasing -Wall -D__WXMSW__ -D__GNUWIN32__ -D__WIN95__ -DUNICODE=1" C_Options="-g;-O0;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" UseDifferentPCHFlags="no" PCHFlags="">
        <IncludePath Value="."/>
        <IncludePath Value="C:/wxWidgets-3.1.0/contrib/include"/>
        <IncludePath Value="C:/wxWidgets-3.1.0/include"/>
        <IncludePath Value="C:/wxWidgets-3.1.0/lib/gcc_lib/mswu"/>
        <IncludePath Value="C:/wxWidgets-3.1.0/"/>
      </Compiler>

and

<SearchPaths>C:\wxWidgets-3.1.0\include\</SearchPaths>

CodeLite will build wide using the Makefile.gcc and it will let you use the code completion

In case of multiple installation of MinGW (i.e. MinGW and MinGW-4.8.1), you can force CodeLite to use a custom build system in this way:

  • Open CodeLite
  • settings → environment variables
  • add this variable: PATH=C:\MinGW\bin;$(PATH)
  • where C:\MinGW is the correct path to use in compiling

Using wide project files

You can organize your sources in projects using the wide-projects format file.

  • create a wpf file (example: myproject.wpf)
  • add this lines and customized for your needs
# Example project for Wide / Inform Pack

# values:5 or 8
# set zcode version of your project
ZCODEVERSION=5

# add here sources of your project
[FILES]
F00=example.inf
F01=example_game.inf
F02=example_menu.inf

# add here your custom class: will be visible inside the object's tree
[CLASSES]
C00=Room
C01=Prop
C02=MyDoor
C03=NPC

# add here your custom keywords
[KEYWORDS]
K00=attitude
K01=turnsinside
  • open project in wide main window

Tips

  • use these files to compile blc and bres tool (under linux)

http://www.caad.es/baltasarq/download/

Do you want to Help?

We need help for:

  • documentation
  • manual
  • test and documentation about installing WIDE on Linux/MacOsX Platforms
  • C++ programming