Experimental v83b now up! [MONKEYNEWS]

Monkey Forums/Monkey Programming/Experimental v83b now up! [MONKEYNEWS]

marksibly(Posted 2015) [#1]
Experimental v83b is now up!

Mainly just bugfixes and tweaks - please see appropriate docs for more info.


***** v83b *****

Fixed issue with spaces in ANT_PATH.

Implemented nullterm's fix for ios audio category issues.

Rebuilt Linux Ted with Qt5, resulting in 1001% sexier fonts. No idea what's up with Linux fonts in Qt4.

Fixed unreachable code issue in trans for actionscript target.


***** v83a *****

Added src/rebuildall.sh, linux only.

Fixed ReadPixels setting display purple on XNA.

Fixed some MonkeyStore issues - added 'interrupted:Product[]' param to OnOpenStoreComplete.

Fixed gles20 glBufferData not accepting null databuffer.

Added some PSM docs courtesy of Alan Rawkins.

Added some more flags to SetDeviceWindow (GLFW only!).

Fixed ios LoadImageData bug.

Updated glfw3 to github version.

Added GLFW_REPEAT to OnKey handler for glfw target for GetChar fix.




Soap(Posted 2015) [#2]
Hi Mark! Thank you for update!


Nobuyuki(Posted 2015) [#3]
great work. That last one especially caught me and I didn't even realize it was a result of the glfw2->glf3 transition.


Samah(Posted 2015) [#4]
Mark,
Any word/opinion on making period a line separator? At the moment Monkey supports comma and the numeric operators, but it would be nice to support period too.

See request and example here:
http://www.monkey-x.com/Community/posts.php?topic=9330

Samah


Playniax(Posted 2015) [#5]
Thank you Mark!


CopperCircle(Posted 2015) [#6]
Ace! Thanks


golomp(Posted 2015) [#7]
Thank you Mark !

I am really satisfied with Monkey and i appreciate a lot all the evolutions you include in Monkey.


EdzUp(Posted 2015) [#8]
Does the rebuild all work on 32bit Linux without the QT Creator? Also is 32bit Linux binaries in the build?


therevills(Posted 2015) [#9]
Always nice to see an update :)


marksibly(Posted 2015) [#10]
> Any word/opinion on making period a line separator?

Sounds sensible, will do.

> Does the rebuild all work on 32bit Linux without the QT Creator? Also is 32bit Linux binaries in the build?

The linux release will be moving in a more 'source based' direction, allowing it to be used on Raspberry Pi or whatever. There's just not the user base there to justify the hassle of releasing multiple binaries for Linux. You will need qtcreator if you want to rebuild Ted, and I may remove ALL Linux binaries from future releases. There are only 64 bit binaries in the current release.

> Always nice to see an update :)

Always nice to see a Revill!


ImmutableOctet(SKNG)(Posted 2015) [#11]
Wait, how would not having a Linux binary work? I mean, the only reason I have Linux binaries for my Raspberry Pi (Raspbian) is because I rebuilt the Linux output that was generated from another Linux system. You'd need to merge Pharmhaus's pull request for that to work (Which I recommend). The fact is, Linux would be removed as a targeted platform if you stop the binaries and don't add something like that. The native code would generally work (Although, technically, this is module specific), but the Monkey side of things wouldn't really work as far as detection goes. If you stop producing Linux builds, that's fine enough for now, but later down the road, it could become problematic (Especially if we can't manually specify a host operating system for deploying to other systems). It simply needs to check if the manually specified host is different from the current host; if so, it should simply generate the code without building it.

Just some food for thought. The main issue with stopping new builds is that Monkey's compiler (Like most well-made languages) is written in itself these days. Its compiler is no longer BlitzMax-based (Or similar, I don't remember if that was established or not; I can assume BlitzMax because of the old versions of the tools it came with). Because of this, if Linux builds stopped, then you couldn't re-build Monkey on Linux systems at all.

Which then brings us to my next thought: We should probably make a JavaScript target specifically for standalone tools. This is an idea that's been thrown around a lot in the past on the forums, and I doubt it's impossible. Another possibility would be to adopt Mungo's "Java Tool" target as a solution. The problem is, nothing's really going to beat GCC at performance, and I'd rather use it. So, another way to do this would be a build-bot for the compiler, which could provide native builds for targets you want to explicitly build for (Windows, OS X, etc), and C++ output for targets you don't want to produce builds for (Linux, mainly). There's always LLVM, too...


dawlane(Posted 2015) [#12]
All Mark needs to do for any Linux build is just supply the c/c++ source file for trans and a simple script to build it. This script then can then execute trans to build the other tools apart from Ted, which will need Qt development files and an appropriate makefile installed to complete the process. Note QtCreator doesn't have to be installed, it just makes life easier to create Qt projects. As Mark has finally included Monkey source along with BlitzMax source it should no longer be a problem.
There is nothing to stop him from removing the binaries for Windows and OS X and making it a complete source distribution.


abakobo(Posted 2015) [#13]
I would probably never have tried Monkey-x if I had to build the demo....


Soap(Posted 2015) [#14]
I don't know about removing binaries for Win/Mac. Linux I can understand removing the bins.

>Because of this, if Linux builds stopped, then you couldn't re-build Monkey on Linux systems at all.

I think he means binaries for Ted, mserver, etc. not transcc_linux? Meaning you could still build everything on your own. As is 64 binaries are more useful.

https://github.com/blitz-research/monkey/blob/develop/src/rebuildall.sh


EdzUp(Posted 2015) [#15]
Well I will try the rebuildall.sh and see what happens :)

Edit:Tried rebuildall.sh and everything built perfectly to the main_linux files except mserver and Ted. I got all the files for the build just no executable I think its because its set to gflw3 and not gflw2 as it chucks a error about missing file or directory for mserver/gflw3...


Soap(Posted 2015) [#16]
EdzUp, what directly are you at then you run the script?


marksibly(Posted 2015) [#17]
> There is nothing to stop him from removing the binaries for Windows and OS X and making it a complete source distribution.

I wont be doing this! As I said, I *may* remove the binaries from the *Linux* release...

> it chucks a error about missing file or directory for mserver/gflw3...

And what error would that be?


EdzUp(Posted 2015) [#18]
Well it went by so fast and digging through the reams of text it was the mserver/gflw3 had a missing directory or file missing, will rebuild and see if I can get it up again as if the system requires gflw3 I will have to put it on there :/

Would it be possible to just whack it to gflw2 instead as this compiles fine


marksibly(Posted 2015) [#19]
glfw3 is already there in source form - I'm guessing that perhaps some dev libs are missing from your setup.

Can you build glfw3 apps already? Or don't you have a version of monkey with glfw3 and prebuilt 32bit binaries...

Can you email me the reams of text output by the build?


EdzUp(Posted 2015) [#20]
Will do :)


marksibly(Posted 2015) [#21]
For installing glfw3 dev libs, you could try...

sudo apt-get build-dep glfw3

...although that sounds a bit too good to be true!


dawlane(Posted 2015) [#22]
@EdzUp: What distribution and release are you using?
Just on the off chance check what casing is being used in the file paths of the .build directory. e.g. mserver/mserver.build/glfw3/gcc_linux/build/Release and not mserver/mserver.build/glfw3/gcc_linux/build/release.

>sudo apt-get build-dep glfw3
I think this is more closer to the answer.
http://stackoverflow.com/a/17772217

@Mark: I did a bit of messing around with your basic script and added a few tweaks to figure out which version of qmake to use for building Ted. Just calling qmake could call either the Qt5 version or Qt4 version depending on the distribution. Only down side is that it's a bash/sh only script, so other shells such as tcsh/csh will not work.
But modifying mainwindow.cpp at line 52 should allow compilation of Ted with later version of Qt. So far I haven't seen any problems with using Qt5
#if QT_VERSION <= 0x050000
    QTextCodec::setCodecForCStrings( QTextCodec::codecForName( "UTF-8" ) );
#endif


The scripts
Make an empty file in the Monkey root directory and name it Monkey.sh and set it's file execute file permission. Open it and copy the code below and save


My rebuildall.sh



EdzUp(Posted 2015) [#23]
@Mark:Email sent

well mserver still has a problem and compiling with rebuildall.monkey I get


I think the entire system needs at least a 'Linux version has to have these dependencies' pinned topic this will allow linux users to install and rebuild the entire product. Yeah im not a Linux guru but Linux runs better on my netbook which has a 32bit CPU so I need the 32bit binaries, doesnt Linux 64bit run 32bit binaries?


dawlane(Posted 2015) [#24]
@EdzUp: I did post a How-to Linux in the tutorials. Note for some reason clicking on the links in the first post always take you to the last post.
You need the X11 development files.
sudo apt-get install libX11-dev
For Debian/Ubuntu and Linux Mint. Using
sudo apt-get -y install g++ libglu1-mesa-dev libopenal-dev ant
should install the required libraries.
> doesnt Linux 64bit run 32bit binaries?

Yes the 64bit version of Linux will run 32bit binaries, but your mileage will vary. You will of course need a CPU that is capable of running a 64bit version to star with. Plus it only requires a small change to the makefiles to switch between creating 32/64bit applications. One thing to note is that it's easier to install a 64bit distribution and build 32/64bit binaries than it is to install a 32bit distribution and build 64bit binaries.

To build Ted you need the Qt4 development libraries and qmake installed; Note that some distribution now have Qt5 as default. If this is the case and storage space is limited edit the mainwindow.cpp in the Ted sources as shown in my previous post. You don't have to install the full Qt tool chain.


EdzUp(Posted 2015) [#25]
@dawlane: All files are already installed and at the newest version

Its not that I cannot compile max or monkey files i just cannot build monkeys files for ted and mserver


dawlane(Posted 2015) [#26]
@EdzUp: You can use a distributions package manager to figure out what file a package belongs to and what a package depends on. RPM which is the main package manager used of Fedora and OpenSUSE is an all-in-one tools, but debians dpkg tool isn't as feature rich.

The first one is a useful tool called apt-file. This isn't install by default on many Debian/Ubuntu based systems. You use it to figure out what package a file belongs to.

This error here
fatal error: X11/Xcursor/Xcursor.h: No such file or directory
 #include <X11/Xcursor/Xcursor.h>
is telling me that the files in the package libxcursor-dev may not be installed. Installing libX11-dev or libglu1-mesa-dev should fix the problem, but on some distributions it may not.

You can use apt-file to locate the package that the file belongs to. For example
apt-file search Xcursor.h
libxcursor-dev: /usr/include/X11/Xcursor/Xcursor.h

Using dpkg -s will tell you the status of a package, along with a few other bits of information such a dependencies. Running dpkg -s libXcursor-dev will give you something like this
Package: libxcursor-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 133
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@...;
Architecture: amd64
Multi-Arch: same
Source: libxcursor
Version: 1:1.1.14-1
Depends: libxcursor1 (= 1:1.1.14-1), x11proto-core-dev, libx11-dev, libxrender-dev, libxfixes-dev
Description: X cursor management library (development files)
 Header files and a static version of the X cursor management library are
 provided by this package.
 .
 See the libxcursor1 package for further information.
Original-Maintainer: Debian X Strike Force <debian-x@...;

Another useful tool is apt-cache.
This tool uses the information downloaded when apt-get update was run. It doesn't tell you if a package is installed. There are a couple of options, the first option is showpkg. This will show a lot of information about a package. The other option is search. This is just a basic search and display description.
apt-cache showpkg libxcursor-dev
apt-cache search libxcursor-dev



marksibly(Posted 2015) [#27]
Try installing these packages:

g++
binutils
qtcreator
mesa-common-dev
libopenal-dev
libx11-dev
libxxf86vm-dev
libxi-dev
libxrandr-dev
libxinerama-dev
libxcursor-dev

I've tried to list ALL packages required to build monkey/ted/glfw3 apps here - probably a pointless exercise, but I suspect glfw3 is just missing some of the libx* ones.


EdzUp(Posted 2015) [#28]
Yeah I will see i do think there might be one of those missing that's libxinerama-dev as I said before maybe having a list of dependencies required on the site somewhere would help devs and first time Linux installers build monkey apps


EdzUp(Posted 2015) [#29]
Also needed;
[Code]
Xorg-dev

[/code]

Now its all installed it compiles and I can use it, xorg-dev is required for xinput2.h :)

Thanks everyone for your help :)


marksibly(Posted 2015) [#30]
> Xorg-dev

Hmm...I don't need that here. Running the incredibly useful apt-file (thanks dawlane!) on XInput2.h suggests it's in libxi-dev. Can you try that too, ie:

apt-file search XInput2.h

Here, I get:

libxi-dev: /usr/include/X11/extensions/XInput2.h


EdzUp(Posted 2015) [#31]
Weird I did a search and got xorg-dev :/


marksibly(Posted 2015) [#32]
What distro are you using?


EdzUp(Posted 2015) [#33]
I'm using Ubuntu 14.10 fully updated with latest updates


dawlane(Posted 2015) [#34]
Ubuntu just gets worse with each new release. Looks like I will have to update the How to's.

@EdzUp: When asking about Linux, it can save time and stop confusion if you mention what distribution you are using. Never assume that everything will be the same from one release to the next. Debian 7 for example, has been known to make a few changes with each minor update.
(A note for Mark as well) I should also warn you that building binaries on a later release, or a rolling release and any specific architecture, will limit the number of Linux users that can run that application. The safest is to build against Debian 7 for a binary, as for the release of 32 or 64 bit binaries: Well that is starting to become a problem again with some distribution vendors thinking that it's about time that 32bit was killed off. In these cases its best to go for a build it yourself approach. If it's proprietary, then you have no option but to release both a 32bit and a 64 bit binary executables.

As for libxi-dev/xorg-dev, try opening a terminal and use apt-file update to refresh the data base and then try using it again to search for XInput2.h again.

Edit: Tip
You can also use dpkg -S to go looking for packages that contain a file. There is another tool that is not installed that does something similar called dlocate . But these are blunt instruments as they search for a pattern, so you end up getting a lot of noise.
jason@jason-VGN-AR51SU ~ $ dpkg -S gl.h
libqt4-opengl-dev: /usr/include/qt4/QtOpenGL/qgl.h
qt4-doc-html: /usr/share/qt4/doc/html/qt-embeddedlinux-opengl.html
gimp-help-en: /usr/share/gimp/2.0/help/en/gimp-config-use-gegl.html
qt4-doc-html: /usr/share/qt4/doc/html/qgl.html
libqt5opengl5-dev:amd64: /usr/include/qt5/QtOpenGL/qgl.h
qt4-doc-html: /usr/share/qt4/doc/html/opengl-hellogl.html
qt4-doc-html: /usr/share/qt4/doc/html/examples-opengl.html
libsdl1.2-dev: /usr/share/doc/libsdl1.2-dev/docs/html/guidevideoopengl.html
qt4-doc-html: /usr/share/qt4/doc/html/qaxserver-demo-opengl.html
libfltk1.3-dev: /usr/include/FL/gl.h
libqt4-opengl-dev: /usr/include/qt4/Qt/qgl.h
qt4-qmake: /usr/share/qt4/mkspecs/common/ios/GLES/gl.h
gimp-help-en: /usr/share/gimp/2.0/help/en/gimp-tool-gegl.html
libsdl1.2-dev: /usr/include/SDL/SDL_opengl.h
mesa-common-dev: /usr/include/GL/gl.h
qtbase5-dev:amd64: /usr/include/qt5/QtGui/qopengl.h
qt4-doc-html: /usr/share/qt4/doc/html/qtopengl.html
libgtkglext1-dev: /usr/include/gtkglext-1.0/gtk/gtkgl.h
libegl1-mesa-dev: /usr/include/EGL/egl.h
qt4-doc-html: /usr/share/qt4/doc/html/windowsce-opengl.html
libwayland-dev: /usr/include/wayland-egl.h
libfltk1.3-dev: /usr/include/FL/gl2opengl.h
libgtkglext1-dev: /usr/include/gtkglext-1.0/gdk/gdkgl.h
qt4-doc-html: /usr/share/qt4/doc/html/activeqt-opengl.html

Edit 2:
Another little tools that my be of some interest is auto-apt. Again this tools isn't installed by default and is mostly used from building from source with ./configure and auto deb tools. The command after install and updates etc is
auto-apt run ./configure
. Note that elevated user privileges will be required.
https://help.ubuntu.com/community/AutoApt


EdzUp(Posted 2015) [#35]
@dawlane: I thought Ubuntu was BRLs Linux of choice from the max days, and I already did the apt-get update before the search as I thought it would get the best results


dawlane(Posted 2015) [#36]
>I thought Ubuntu was BRLs Linux of choice from the max days
As far as I know it still is, but a Linux developer should never really tie themselves to what some like to claim is the number one distribution. DistroWatch, which can give you some idea of what distribution is currently the most active, and for that last four years it's been Linux Mint, but DistroWatch should be considered as a guide not the de-facto of what is the most used due to how it's statistics are gathered. Before using apt-file, you have to run apt-file update before use.

If you search the How to for Linux that I posted, you will see that soap built an application against Ubuntu 13.10, only for it to be rejected by Steam because glibc is different. The irony was that they told him to build against an old version of Ubuntu 10.4 LTS, which if memory serves me was based on the testing branch of Debian 6 at the time. You will also see how I told him the solution of how to get round that problem.

A bit of information for you about the package xorg-dev.
This package is a meta package and should only be used as a last resort as it will install packages that you do not necessarily need, it may use other meta packages that could end up installing even more packages that you don't need. Before you install such packages, you should check what they actually install. this is where apt-cache comes in handy.
jason@jason-VGN-AR51SU ~ $ apt-cache showpkg xorg-dev
Package: xorg-dev
Versions: 
1:7.7+1ubuntu8 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_trusty_main_binary-amd64_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_trusty_main_binary-amd64_Packages
                  MD5: 00a974084948001400546a402cbefdb1
 Description Language: en
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_trusty_main_i18n_Translation-en
                  MD5: 00a974084948001400546a402cbefdb1


Reverse Depends: 
Dependencies: 
1:7.7+1ubuntu8 - libdmx-dev (0 (null)) libfontenc-dev (0 (null)) libfs-dev (0 (null)) libice-dev (0 (null)) libsm-dev (0 (null)) libX11-dev (0 (null)) libxau-dev (0 (null)) libxaw7-dev (0 (null)) libxcomposite-dev (0 (null)) libxcursor-dev (0 (null)) libxdamage-dev (0 (null)) libxdmcp-dev (0 (null)) libxext-dev (0 (null)) libxfixes-dev (0 (null)) libxfont-dev (0 (null)) libxft-dev (0 (null)) libxi-dev (0 (null)) libxinerama-dev (0 (null)) libxkbfile-dev (0 (null)) libxmu-dev (0 (null)) libxmuu-dev (0 (null)) libxpm-dev (0 (null)) libxrandr-dev (0 (null)) libxrender-dev (0 (null)) libxres-dev (0 (null)) libxss-dev (0 (null)) libxt-dev (0 (null)) libxtst-dev (0 (null)) libxv-dev (0 (null)) libxvmc-dev (0 (null)) libxxf86dga-dev (0 (null)) libxxf86vm-dev (0 (null)) x11proto-bigreqs-dev (0 (null)) x11proto-composite-dev (0 (null)) x11proto-core-dev (0 (null)) x11proto-damage-dev (0 (null)) x11proto-dmx-dev (0 (null)) x11proto-fixes-dev (0 (null)) x11proto-fonts-dev (0 (null)) x11proto-gl-dev (0 (null)) x11proto-input-dev (0 (null)) x11proto-kb-dev (0 (null)) x11proto-randr-dev (0 (null)) x11proto-record-dev (0 (null)) x11proto-render-dev (0 (null)) x11proto-resource-dev (0 (null)) x11proto-scrnsaver-dev (0 (null)) x11proto-video-dev (0 (null)) x11proto-xcmisc-dev (0 (null)) x11proto-xext-dev (0 (null)) x11proto-xf86bigfont-dev (0 (null)) x11proto-xf86dga-dev (0 (null)) x11proto-xf86dri-dev (0 (null)) x11proto-xf86vidmode-dev (0 (null)) x11proto-xinerama-dev (0 (null)) xserver-xorg-dev (0 (null)) xtrans-dev (0 (null)) x11-common (0 (null)) 
Provides: 
1:7.7+1ubuntu8 - 
Reverse Provides: 



EdzUp(Posted 2015) [#37]
Yeah I updated the apt-file program as it nags ya to update before use

I'm only using Linux as it works on my netbook, XP does work but is slow as hell where Linux is responsive and fast. I have win vista on my big laptop and win8 on my pc but I mainly use a netbook as its easy to transport and quick to start.

Tbh once I get my game to a complete state I will look to android, windows, OSX and Ubuntu linux for release :)


dawlane(Posted 2015) [#38]
> Ubuntu linux for release
Don't use any thing above Ubuntu 12.04 LTS for compiling, or you will get complaints about it not working when someone tries to run your application on Ubuntu 12.04 LTS. It's why I recommend using a Debian chroot when building applications for anything that is based of of the debian source tree.


EdzUp(Posted 2015) [#39]
Jeez this Linux stuff is confusing why cant people just use the latest one, I can now see why Linux has never given windows a run for its money its way to fragmented. Yeah I understand that LTS is a stable release and things after have a chance of being got rid of but surely they should have a new LTS version out by now lol


dawlane(Posted 2015) [#40]
>cant people just use the latest one
Because the latest one has the new features and may not be stable. Only people who like to live dangerously should install these.

>surely they should have a new LTS version
They have. It's called Ubuntu 14.04 LTS, but support for Ubuntu 12.04 doesn't end until 2017, so you still have to support it until October 2017.
https://wiki.ubuntu.com/LTS


EdzUp(Posted 2015) [#41]
Ah ok :/


sereschkin(Posted 2015) [#42]
Thank you Mark. Any plans on adding generics support for reflection or other language features that could be added in near future?


EdzUp(Posted 2015) [#43]
Okay to tick off some boxes, the cross compilation issue is fixed I no longer have to keep deleting the build folder which has made monkey so much better to use. Compiling also now seems faster than previous versions which has also helped productivity :)

This version seems the best yet :D


sygem(Posted 2015) [#44]
Has anything changed with the #LIBS preprocessor directive? I have just updated from v77d to v83a. The jar file I need for a module I am writing is no longer being copied during the build process, unless I hardcode the location of the jar.

v77d (working)
#LIBS+="${CD}/native/android/alarmreceiver.jar"


v83a (hardcoded to work)
#LIBS+="s:\\development\\Monkey\\modules\\notify\\localn\\native\\android\\alarmreceiver.jar"


I just tried version 82b, and that isn't working either. Looking at the java source, it looks like the ${CD} is not being parsed at all:

static final String LIBS="/native/android/alarmreceiver.jar;/native/android/android-support-v4.jar";



marksibly(Posted 2015) [#45]
Just uploaded v83b...see first post for details.

> Has anything changed with the #LIBS preprocessor directive?

Preprocessor has been tweaked recently. Can you post an example? A small test app containing this...

#LIBS+="${CD}/lib1"
#LIBS+="${CD}/lib2"
#Print LIBS

Function Main()
End


Works as expected here.


Samah(Posted 2015) [#46]
@marksibly: Rebuilt Linux Ted with Qt5, resulting in 1001% sexier fonts. No idea what's up with Linux fonts in Qt4.

Have they fixed the graphics tablet issues with Qt5? Getting pretty sick of "reinstall the tablet drivers" messages popping up in heaps of applications.
Last I heard, the Qt developers had the "suck it up, princess" stance on the issue.


marksibly(Posted 2015) [#47]
> Have they fixed the graphics tablet issues with Qt5?

No idea - I'm still using Qt4 on windows/macos as I'm having no problem with it.

And crap, I forgot your '.' fix! Next time...


Samah(Posted 2015) [#48]
@marksibly: And crap, I forgot your '.' fix! Next time...

Once that's in, I'll update the Diddy tweening example. ;)


sygem(Posted 2015) [#49]
Preprocessor has been tweaked recently. Can you post an example? A small test app containing this...

#LIBS+="${CD}/lib1"
#LIBS+="${CD}/lib2"
#Print LIBS

Function Main()
End
Works as expected here.


It seems to be related to Import statements. I had an Import before the #LIBS - when I moved that below the #LIBS, things started working again.


marksibly(Posted 2015) [#50]
> I had an Import before the #LIBS - when I moved that below the #LIBS, things started working again.

Can you reduce it to a runnable example?


DeadFall(Posted 2015) [#51]
Hi Mark,

I think the flags,

Const BBWINDOW_RESIZABLE:=2
Const BBWINDOW_DECORATED:=4

need to be swapped since when I tried it out, 2 is Decorated and 4 is Resizable.


dawlane(Posted 2015) [#52]
Hi Mark

I think I should point you to this; unless you have already seen it as it is an old topic from 2012. It discusses Qt5 and QTextCodec::setCodecForCStrings( QTextCodec::codecForName( "UTF-8" ) );

From what I can tell so far Ted loads, saves files and compiles correctly with Qt5.
Text files that use non standard us-ascii characters such as the Euro currency sign get converted into utf-8, otherwise they are saved as standard 7bit US-ASCII.
It could really do with being tested with keyboards that use other character glyphs other than those that are based on Latin.

Edit: there could be a problem with reading characters being piped back to Ted from external processes. If I get a chance I will have to do a search of the web to see if there have been any mention of such problems.


dawlane(Posted 2015) [#53]
@marksibly: It's taken me a few years to realise that the GCC Glfw Makefiles do not strip the symbol tables from the release builds.
This kludge after the LDFLAGS variable should work in both the glfw2 and glfw3 Makefiles for Linux and should work in the MinGW Makefiles as well
ifeq ($(dir $(OUT)),Release/)
	LDFLAGS += -s
endif
This would also mean that the OPTS variable in the Select/Case for release would need the -s option adding in stdcpp.monkey and g++ command in the rebuildall.sh would require it as well.