Skip to content

silverslade/wide

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 

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