IonicWind Software

Aurora Compiler => Update Announcements => Topic started by: Ionic Wind Support Team on July 10, 2006, 12:54:38 AM

Title: Aurora update Alpha 3 Rev 6
Post by: Ionic Wind Support Team on July 10, 2006, 12:54:38 AM
The Aurora compiler has just been updated.  To get the update redownload from the link provided when purchasing.

Changes/Additions
-------------------------
- Classmaker updated to reflect current syntax.
- Arrays of typed pointers now supported.
- Automatic include file processing changed to better support future updates.
- Pointers returned from a funciton or method can now be directly dereferenced such as: SomeMethod()->GetValue();
- Alpha modes for sprites were broked. Fixed.
- Bug found in the source generation for a method call. Fixed.
- Typed pointers now allowed as a return type.

Have fun,
Paul.
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Ionic Wind Support Team on July 10, 2006, 01:01:03 AM
The demo version has also been updated
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Protected on July 10, 2006, 10:13:52 AM
Quote- Pointers returned from a funciton or method can now be directly dereferenced such as: SomeMethod()->GetValue();
- Alpha modes for sprites were broked. Fixed.

Fast ^_^
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Parker on July 10, 2006, 01:45:50 PM
What exactly changed with "- Automatic include file processing changed to better support future updates." ? Just curious...
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Zen on July 10, 2006, 01:46:03 PM
Hmmm since i have updated to rev6 my custom librarys like CCL etc dont seem to be working, i keep getting things like unknown base class when i go to compile things.

The plugin classes i am working, the actual class definitions and constants etc are all located in a .inc file in the bin directory. I was just wondering if something has changed with the IDE that isnt in the update list.

Lewis
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Zen on July 10, 2006, 01:46:42 PM
Ohh yeah i just read parkers post, maybe that is something that is causing my problem :D

Lewis
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Ionic Wind Support Team on July 10, 2006, 02:16:35 PM
The compiler no longer includes all .inc in the BIN directory.  Instead it only includes acommon.inc which then brings in all of the other needed official files, in the correct order.

There was a problem with the order of include files on some systems.  I had made an assumption on how Windows was handling file finding and that assumption turned out to be incorrect ;)

So for all third party libraries install your header files in the include directory, where they belong, and have your users insert an include statement when needed.

#include "ccl.inc"

Paul
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Zen on July 10, 2006, 03:00:24 PM
ha ha thanks a lot Paul, no wories there, just wondered why it wasnt working lol.

Lewis
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Zen on July 10, 2006, 03:52:37 PM
ok i have just put my include file in the includes directory now instead of the bin directory and now i get this...


Compiling...
TestPlugin
Generating Exports

Linking...
Aurora Linker v1.0 Copyright ÂÃ,©2005,2006 Ionic Wind Software
Error: Unable to open file C:\PROGRA~1\Aurora\libs\custom\DirectXmacros.lib
Error: Unable to open file C:\PROGRA~1\Aurora\libs\custom\comlib.lib
Error: Unable to open file C:\PROGRA~1\Aurora\libs\custom\windef.lib
Error: Unable to open file C:\PROGRA~1\Aurora\libs\custom\winnt.lib
Error: Unable to open file C:\PROGRA~1\Aurora\libs\custom\winerror.lib
Error: Unable to open file C:\PROGRA~1\Aurora\libs\custom\winuser.lib
Error: Unable to open file C:\PROGRA~1\Aurora\libs\custom\WinCrypt.obj
Error(s) in linking Plugins\Test1.dll


Yet i am not using any functions as far as i am aware that use those files.

Lewis
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Parker on July 10, 2006, 04:13:59 PM
If you have #use statements, the libraries will be included regardless of whether or not you are actually using functions from them. I assume those libraries don't exist, so you should find the include (find in files) that references them and comment them out.
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Zen on July 10, 2006, 04:20:15 PM
yeah but im not using any #use statements. Anyway i've got it sorted now, i uninstalled and re-installed after deleting the whole Aurora directory in my program fiels directory.

I have now put my Plugin.inc file in the includes folder but i am now getting a parser crash in one of my particular files, and from what i can see there doesnt seem to be anything wrong, the file hasnt changed since i updated Aurora.

here is the code from the file which is causing the crash anyway...


#include "Plugin.inc"

/***********************************/
/*** Declare Windows API Imports ***/
/***********************************/

declare import,LoadLibraryA(string *lpFileName),unsigned int;
declare import,GetProcAddress(unsigned int hMoudule,string *lpProcName),unsigned int;
declare import,FreeLibrary(unsigned int hModule),int;

/****************************************/
/*** Class Method To Load All Plugins ***/
/****************************************/

CPluginManager :: LoadPlugins(string strPluginDir,string strPluginExt),int {

declare *PluginInitializer(CPluginManager *Manager);

int Directory;
int Attributes;
string Filename;
int PluginCount = 0;

Directory = FindOpen(strPluginDir + "\\*." + strPluginExt);

if(Directory) {

do {

Filename = FindNext(Directory,Attributes);

if(Attributes & 0x10) {

/******************************/
/*** Subdirectory Searching ***/
/***  Not Yet Implemented   ***/
/******************************/

} else {

if(Filename <> "") {

/********************************/
/*** Try And Load The Library ***/
/********************************/

hModule = LoadLibraryA(strPluginDir + "\\" + Filename);

if(hModule <> null) {

/****************************************/
/*** Find The Function In The Library ***/
/****************************************/

hProc = GetProcAddress(hModule,"InitCCLPlugin");

if(hProc <> null) {

// Loaded OK

PluginInitializer = hProc;

PluginInitializer(this);

m_PluginHandles.Add(hModule);

PluginCount++;

} else {

MessageBox(0,"The Following Plugin Is Not A Valid CCL Designed Plugin\n\n" + Filename,"Plugin Error");
FreeLibrary(hModule);

}

} else {

MessageBox(0,"The Following Plugin Failed To Load\n\n" + Filename,"Cant Load Plugin");

}

}

}

} until Filename = "";
   
FindClose(Directory);

} else {

PluginCount = -1;

}

return PluginCount;

}


EDIT: Ok the problem was that the above method was not in the included class definition file. I have sorted the problem on my end, although there is still the issue of it not reporting the error rather than crashing.

Lewis
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Parker on July 11, 2006, 12:15:03 PM
The compiler crashes? What does the plugin.inc file contain? And can you isolate the crash to a certain area? A #print directive would be really nice so you could put "checkpoints" and you could tell for sure where it crashes. As it is, I usually just put a few random symbols and try to get it to report an error. When you get past the crashing point, it won't report an error on the symbols and will crash instead. Then you know where the problem is.
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Zen on July 11, 2006, 01:58:58 PM
I think it was just because i had to reconstruct the Plugin.inc file, and i forgot to put the method from the above code in the class definition, and it was causing it to crash.

Lewis
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Ionic Wind Support Team on July 11, 2006, 02:06:17 PM
Not to worry.  As usual I will look into it.
Title: Re: Aurora update Alpha 3 Rev 6
Post by: Zen on July 11, 2006, 02:09:27 PM
Okey dokey Paul. I just thought i would mention it as these crashes are now very few and far between.

Lewis