The Big Package

BlitzMax Forums/Brucey's Modules/The Big Package

dw817(Posted 2016) [#1]
Brucey, you've done some wonderful work on your modules. Could you please do the community a favor and post a single ZIP file that contains the runtime, IDE or your custom build for BlitzMAX (as it's free), and all included MOD libraries you've written to date ?

So anyone could just run MaxIDE.EXE and everything is included.

This would save noobs like me and others a lot of time in being able to make use of your MODs without the difficulty of manually compiling them individually. Thanks.


TomToad(Posted 2016) [#2]
You can get bmx-ng with all necessary files from here https://github.com/bmx-ng/bmx-ng/releases/tag/v0.81.3.16.win32

Might not want to have all the mods together as some are not NG ready and some require NG. You can go here and download what you need https://github.com/maxmods/bah.mod
If you insist on having all the mods, just click on the "Clone or Download" button on the top right, and download the .zip file with all the mods together.


dw817(Posted 2016) [#3]
Tom, this is requiring me to compile them manually, right ?

For some reason I can't compile MODs in my make of BlitzMAX - is why I wanted a ready-made solution.

Downloaded. Let me check something. No, I don't see BAH library in there. Isn't that Brucey's work ? I'm still trying to get the SNES sound player to work.

Not so much that I need it now as I've found an alternative course to convert the music to OGG, but I'd like to have a "beefy" BlitzMAX that has literally everything, especially all of Brucey's good work so I can experiment and try new things out.

I'm already using FRAMEWORK in my code so there is no problem w the EXE being too big.

...

No, now I'm getting problems. Compiling my engine w 1.50 works correctly, however I get this message from MaxIDE 1.44 beta [ng]

ERROR: Conflicting types for 'SystemParametersInfoW'

And I think the short answer to that big question is, this NG IDE version isn't going to like my code despite running correctly in the IDE I've been using.


Derron(Posted 2016) [#4]
If you cannot compile the mods, then you wont be able to compile your codes with BlitzMax NG - as both, modules and "your code" are compiled with GCC. So your MinGW (if on Windows) needs to be installed properly.


Downloaded. Let me check something. No, I don't see BAH library in there. Isn't that Brucey's work ? I'm still trying to get the SNES sound player to work.


Maybe he should offer 24/7-home-service for you ?


Of course the BMXNG-Pack TomToad linked to, does not contain all modules... else the corresponding description would contain more than "Includes SDL backend, and mojo2".

Download the pack, check if you can compile a simple "print" sample. If so, download most current bmk/bcc sourcecodes and compile the both binaries (bmk as multithreaded if possible). Copy the new binaries to the /bin-directory, do not forget refreshing the .bmk-files in /bin with their new counterparts in the bmk/bcc-download.

You should now still be able to compile a simple sample.
If so - download the bah.modules you wish and the new bmk will _automatically_ compile these modules if your project is using them, so there is no absolute need to recompile all modules. But as you updated bcc, it would be good to do so.


@ conflicting types
There were forum treads about that already, have a "search" and you will find solutions.
In short: you redeclare an external function definition. To avoid the error, you will need a filename.x file containing the pure definition of the external function (only variable types, not names).



bye
Ron


col(Posted 2016) [#5]
ERROR: Conflicting types for 'SystemParametersInfoW'


As Derron says, but a little more specific...

Whatever the name of the file is that contains this line of code... make a new file in the same directory but with a .x extenstion. So if the original file is called 'ExternalFunctions.bmx' then make one called 'ExternalFunctions.x'. If the file already exists then open it and add the function to its contents in the following synyax...

BOOL SystemParametersInfoW(UINT, UINT, BBBYTE*, UINT)!


what this does is prevent the compiler from creating a new definition for the function and it will cast all parameters types to the ones that you provide.


Dan(Posted 2016) [#6]
It would be nice to have all the running mods available as complete download package, where compiling/building them wont cause any errors.

Compiling errors are the reason why i do not choose blitzmax as the language to go on with.
Because the things i would like to do, or at least try out, require mods, but as beginner it isn't easy to find out, what is causing the error.


dw817(Posted 2016) [#7]
Ron, if Brucey did offer home services, I doubt I could afford them. :)

I think I'm going to go with Dan on this one. I've made some good progress the past few days and changing IDEs isn't beneficial ATM.

No, I'm good here. I was just hoping it would be simpler than this.

I needed virtual pages mostly. If you try out Casaber's routine for this, it completely dies (screen goes black) if you so much as read one pixel and from ANY PIXMAP, and it doesn't even have to be linked to the virtual pages - is why I sat down and wrote my own set of routines:

CLS to TIMAGE
Plot dots to TIMAGE
Draw lines from any angle to TIMAGE
Draw rectangles to TIMAGE (hollow or not)
Draw ovals to TIMAGE (hollow or not)
Draw Truetype text to TIMAGE
Draw portions from one TIMAGE to another (no for/next loop used)
Read pixels from TIMAGE

Maintains transparency for all TIMAGES and doesn't plot to the main screen at all.

You can also read the pixels back from any TIMAGE or PIXMAP and it doesn't crash.

Ultimately I'm finding this is what I really needed for my work.

As for the SNES sound dilemma, I found converting them to .WAV, editing them in Sony Sound Forge, and then saving them as a new .OGG is actually better than just the SNES as you have the ability to fine-tune and edit the .WAV so it loops seamlessly.


Derron(Posted 2016) [#8]
[...] but as beginner it isn't easy to find out, what is causing the error.


As a beginner you should not need external modules.


If you really are _not_ able to compile a module for your target platform/OS then you might raise an issue on github - as this is then a bug (if MinGW works well when compiling other modules).

The NG-project is kind of "communitybased" (when it comes to issue reporting and testing) - so I would take that off from Bruceys shoulder. It is hard to test things out for every platform on each commit.


So if you have a module which does not compile: issue @ github so it could get tracked.


PS: Wonder why there is no "vanilla Blitzmax + all available modules"-Pack (of course with precompiled modules) available. See? This is the reason why this does not exist (yet) for NG. But you might be the one starting to offer that package (once all of them compile on your setup/platform-target).



bye
Ron


Grisu(Posted 2016) [#9]
I would be interested in an updated bmxide.exe. I don't use NG, but would love to have the latest version when coding.


Derron(Posted 2016) [#10]
maxide?

What stops you of compiling your own?


bye
Ron


TomToad(Posted 2016) [#11]
MaxIDE is pure blitzing code so you shouldn't need MinGW for it, unless you are trying to compile one of the forks that modifies it with new libraries. The latest officialhttps://github.com/blitz-research/blitzmax/tree/master/src/maxide MaxIDE is here


Derron(Posted 2016) [#12]
Brucey's MaxIDE includes the new targets and compiler options.

It also runs with Bruceys Scintilla-textarea (original one has borked undo-functionality) and works with the gtk gui which looks better than fltk on linux OSs.


Bye
Ron