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
- download and install TDM 5.1.0 from here http://tdm-gcc.tdragon.net/download
- download wxwidgets 3.1.0 or above from https://www.wxwidgets.org/downloads/
- unzip wxwidgets 3.1.0 (under c:/wxWidgets-3.1.0)
- compile it
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