Page 3 of 49

Re: My Research of SMBX

Posted: Mon Mar 24, 2014 1:37 am
by Wohlstand
Natsu wrote:Can't download it you know? Could you put everything on a Zip file and post it again?
See:
I packed ZIP with WinRAR 5.0.0, but, not only you have problems with his ZIP's. I repacked archive with 7zip. You can ReDownload it ;)
http://engine.wohlnet.ru/docs/EXE_tests ... _0.0.1.zip

Update of Pre-Alpha editor

Posted: Wed Mar 26, 2014 2:28 am
by Wohlstand
Hello, I updated editor:
Now it can render the level objects in graphical Window:
Image
You can try to open any LVL Files and test it.

Get current version:
http://engine.wohlnet.ru/docs/EXE_tests ... _0.0.2.zip
(Please, redownload, who download before 17:50 UTC+4 today, I found serious bug and fix it, now levels loadings normal)

Re: My Research of SMBX

Posted: Wed Mar 26, 2014 8:27 am
by Squishy Rex
Well, that was quick. This went from successfully loading lvl. files to now displaying them as rendered objects within days. Also the NPC txt. editor, is that new, I don't remember seeing that in the last version you posted the other day?

Re: My Research of SMBX

Posted: Thu Mar 27, 2014 6:08 pm
by Wohlstand
Squishy Rex wrote:I don't remember seeing that in the last version you posted the other day?
You mean my first test version? I publish it for preview. But this is second test version, that can render level objects.
P.S. Please, reDownload exe, I found serious bug and fix it. This bug makes too many trash on rendered level and sometimes make crash on some openings.

P.P.S. I add in main post Information about developing of new Editor

Re: My Research of SMBX

Posted: Thu Mar 27, 2014 6:44 pm
by FanofSMBX
Wohlstand wrote:
Squishy Rex wrote:I don't remember seeing that in the last version you posted the other day?
You mean my first test version? I publish it for preview. But this is second test version, that can render level objects.
P.S. Please, reDownload exe, I found serious bug and fix it. This bug makes too many trash on rendered level and sometimes make crash on some openings.

P.P.S. I add in main post Information about developing of new Editor
What new information is that? I don't see it.

Re: My Research of SMBX

Posted: Fri Mar 28, 2014 12:40 am
by Wohlstand
FanofSMBX wrote:
Wohlstand wrote:
Squishy Rex wrote:I don't remember seeing that in the last version you posted the other day?
You mean my first test version? I publish it for preview. But this is second test version, that can render level objects.
P.S. Please, reDownload exe, I found serious bug and fix it. This bug makes too many trash on rendered level and sometimes make crash on some openings.

P.P.S. I add in main post Information about developing of new Editor
What new information is that? I don't see it.
I placed this information from my bottom posts to the main, to show it to those who didn't see.

Re: My Research of SMBX

Posted: Fri Mar 28, 2014 4:40 pm
by Axiom
Beat me to it..I started reseraching into the .lvl formats and wanted to create a LVL viewer in C#. I would totally help too if I knew C++ but alas, I am fluent in VB.NET and fairly decent enough in C#.

Re: My Research of SMBX

Posted: Sat Mar 29, 2014 3:16 am
by Wohlstand
Luigifan2010 wrote:Beat me to it..I started reseraching into the .lvl formats and wanted to create a LVL viewer in C#. I would totally help too if I knew C++ but alas, I am fluent in VB.NET and fairly decent enough in C#.
Good, you can made it ;-)

Get my LVL File description WITH file-format version control (for read files, created in SMBX <1.3):
http://engine.wohlnet.ru/docs/_SMBX64/f ... iption.pdf

And useful sources:
Level Data, need for render level map as image:
https://github.com/Wohlhabend-Networks/ ... filedata.h
Where "Struct" - Is data stucture as one object (properties of blocks, NPC, BGO, etc), placed on level
Where QString - is "string" class by Qt Library. It can support UTF8 strings. You can use std::string instead.
Where QVector - is a "vector" class, makes dynamic arrays, need for object arrays (example: NPCs, placed on level).
struct LevelData - is a root of Level Data structure, contains level data and editing settings (i will add more options for comfortable in editor, but "editing" options will not saving").

QRegExp allow to use regular expressions for data valid checking, it need for crash protections (original SMBX crashing on bad file format, you can test it)
https://github.com/Wohlhabend-Networks/ ... rw_lvl.cpp

And Level file Read function: returns Level data structure, or if file invalid, returns structure with set parameter "FileData.ReadFileValid=false;", and level file loading will be stoped with error message.
https://github.com/Wohlstand/PLatGEnWoh ... s.cpp#L492
(function is member of MainWindow class. Incoming argument - file pointer, returns Level data structure with scanned parameters from file);

With C++ using Qt library, it can help me create cross-platform source (for easy compiling in Windows, Linux, MacOS). I tested on Windows and on Linux, but I don't tested on MacOS (i haven't it, even Hackintosh).

Re: My Research of SMBX

Posted: Sat Mar 29, 2014 11:32 am
by Fuyu
I'd like to know something Wohlstand, are you going to fix some of the bugs that SMBX had while making that Enginge? Because judging from almost all your research you mostly pointed out bugs like the Koopa Shell disappearing after being Offscreen for 4 seconds or so and such like you were intending to add them.

Re: My Research of SMBX

Posted: Sat Mar 29, 2014 1:23 pm
by Wohlstand
Natsu wrote:I'd like to know something Wohlstand, are you going to fix some of the bugs that SMBX had while making that Enginge? Because judging from almost all your research you mostly pointed out bugs like the Koopa Shell disappearing after being Offscreen for 4 seconds or so and such like you were intending to add them.
Disappearing after 4 sec, it is Auto-deactivation of NPC, it is not bug, it need for error protection. For example, if trashing between pipes shell will not disappear after 4 sec after off-screen, you will hearing annoying sounds before you end level. And CPU Overloading protection. If too many NPC stay activated, you CPU will be overload. NPC disappear forever only if you kill it. But other errors i will fix in new engine, for example, in events, can't delete layers from h/s/t-lists, if it has >20 items. And fixing crashing after bad file formats or bad decimals (on PC's with standardized "," as decimal separator).

Re: My Research of SMBX

Posted: Sat Mar 29, 2014 2:22 pm
by Fuyu
I say, wouldn't be possible to make the Koopa Shell and many other NPCs that may overload your CPU disappear right when you go like 4 blocks Offscreen from the current location like Redigit made with the Springboard and such? Many Mario games like SMW work that way, and it would stop the CPU from working too hard.

Re: My Research of SMBX

Posted: Sat Mar 29, 2014 3:07 pm
by Axiom
Wohlstand wrote:
Luigifan2010 wrote:Beat me to it..I started reseraching into the .lvl formats and wanted to create a LVL viewer in C#. I would totally help too if I knew C++ but alas, I am fluent in VB.NET and fairly decent enough in C#.
Good, you can made it ;-)
wat
Get my LVL File description WITH file-format version control (for read files, created in SMBX <1.3):
http://engine.wohlnet.ru/docs/LVL%20fil ... iption.pdf
I'll check that out an see how close that is to what I came up with
QRegExp allow to use regular expressions for data valid checking, it need for crash protections (original SMBX crashing on bad file format, you can test it)
https://github.com/Wohlstand/PLatGEnWoh ... ats.cpp#L6
If you need me to test it, I probably could. However, without compiling it into a .dll, it won't work with any C# code.

And Level file Read function: returns Level data structure, or if file invalid, returns structure with set parameter "FileData.ReadFileValid=false;", and level file loading will be stoped with error message.
https://github.com/Wohlstand/PLatGEnWoh ... s.cpp#L487
(function is member of MainWindow class. Incoming argument - file pointer, returns Level data structure with scanned parameters from file);
It'd be awesome if we could make this function it's own class instead of a part of the MainWindow class, that could come in handy when coding the actual engine
With C++ using Qt library, it can help me create cross-platform source (for easy compiling in Windows, Linux, MacOS). I tested on Windows and on Linux, but I don't tested on MacOS (i haven't it, even Hackintosh).
Unfortunately, I don't have a Mac (or a Hack..heh) to test for OS X either but I might have a buddy that'll loan me something of their's to test

Cheers,

Mike

Re: My Research of SMBX

Posted: Sat Mar 29, 2014 3:09 pm
by Axiom
Natsu wrote:I say, wouldn't be possible to make the Koopa Shell and many other NPCs that may overload your CPU disappear right when you go like 4 blocks Offscreen from the current location like Redigit made with the Springboard and such? Many Mario games like SMW work that way, and it would stop the CPU from working too hard.
The language used to code SMBX was super inefficient. Seeing as how this is in C++ this shouldn't be an issue..

Re: My Research of SMBX

Posted: Sat Mar 29, 2014 3:27 pm
by Wohlstand
Luigifan2010 wrote:
Natsu wrote:I say, wouldn't be possible to make the Koopa Shell and many other NPCs that may overload your CPU disappear right when you go like 4 blocks Offscreen from the current location like Redigit made with the Springboard and such? Many Mario games like SMW work that way, and it would stop the CPU from working too hard.
The language used to code SMBX was super inefficient. Seeing as how this is in C++ this shouldn't be an issue..
I will made it optionaly: enable/disable auto-deactivation of NPC. It placed deactivated NPC on it start position. If option disabled, NPC always activated after activation.

Re: My Research of SMBX

Posted: Sat Mar 29, 2014 3:46 pm
by Fuyu
Letting the option to choose regarding this matter sounds rather unnecessary to me, but I guess you're to maker.

Re: My Research of SMBX

Posted: Sat Mar 29, 2014 5:53 pm
by Wohlstand
Luigifan2010 wrote:wat
I mean level viewer, you can try to release it too.
Luigifan2010 wrote: If you need me to test it, I probably could. However, without compiling it into a .dll, it won't work with any C# code.
If I compile DLL for LVL File read, you need header file with prototypes for C#. And, for render level, you need configs for all existing objects - blocks, BGOs, NPCs, for valid creating needing image (and with user images).

I create render in my editor, but only for BGOs, because, I just create only full BOGs config:
https://github.com/Wohlstand/PLatGEnWoh ... vl_bgo.ini
With PHP I will export from Excel data to INI configs and use it for object parameters set:
https://github.com/Wohlstand/PLatGEnWoh ... nfigs/SMBX
I you insterest, I will publish PHP files, what helps me to create INI config from LibreCalc (Excel) document.
Luigifan2010 wrote: Unfortunately, I don't have a Mac (or a Hack..heh) to test for OS X either but I might have a buddy that'll loan me something of their's to test
Will be good, if this can allow to use MacOS X for tests

P.S. I uploaded my latest version: http://engine.wohlnet.ru/docs/EXE_tests ... _0.0.3.zip
Now, it can render BGOs, can Read/Write NPC configs, but, without preview thumb (need NPC dynamic config for get default options). Added splash image.
If you change default settings in INI files, or replaced images in default data folder, you can use menu file/reload configuration for reload dynamic configs and reload images.

Re: My Research of SMBX

Posted: Sun Mar 30, 2014 12:31 pm
by Wohlstand
Natsu wrote:Letting the option to choose regarding this matter sounds rather unnecessary to me, but I guess you're to maker.
Ow, I forgot about Donut block - if his start position will be into offscreen, he will be restored after fall, and you can jump on it secondary, and offscreen deactivation will be useful.

Re: My Research of SMBX

Posted: Sun Mar 30, 2014 4:18 pm
by Axiom
Wohlstand wrote:
Luigifan2010 wrote:wat
I mean level viewer, you can try to release it too.
Luigifan2010 wrote: If you need me to test it, I probably could. However, without compiling it into a .dll, it won't work with any C# code.
If I compile DLL for LVL File read, you need header file with prototypes for C#. And, for render level, you need configs for all existing objects - blocks, BGOs, NPCs, for valid creating needing image (and with user images).

I create render in my editor, but only for BGOs, because, I just create only full BOGs config:
https://github.com/Wohlstand/PLatGEnWoh ... vl_bgo.ini
With PHP I will export from Excel data to INI configs and use it for object parameters set:
https://github.com/Wohlstand/PLatGEnWoh ... nfigs/SMBX
I you insterest, I will publish PHP files, what helps me to create INI config from LibreCalc (Excel) document.
If you create that DLL you're talking about, I could totally make a C# version of it. Just make sure you properly document everything so I can follow along.

Re: My Research of SMBX

Posted: Sun Mar 30, 2014 5:31 pm
by Wohlstand
Luigifan2010 wrote: If you create that DLL you're talking about, I could totally make a C# version of it. Just make sure you properly document everything so I can follow along.
But I will warn about using specific Qt functions and classes in my project (example, QFile, QString, QVector,...)

Compiled as DLL Library and sources for Level File Parser:
http://engine.wohlnet.ru/docs/Software/ ... format.zip
In lvl_filedata.h defined the Level Data structure, you will need for makes C# header with some structure.
In lvl_format.h defined the class with Lvl File parse function, what returns Level Data structure after read file.
About DLL's function I wrote in ReadMe.txt

And you will need this libs:
http://engine.wohlnet.ru/docs/Software/ ... _MinGW.zip

Re: My Research of SMBX

Posted: Mon Mar 31, 2014 5:29 am
by Wohlstand
OOps, I forgot add one library in archive!!!
Without this lib on some PCs graphics will be empty:

How to fix it:
- Download this library: http://engine.wohlnet.ru/docs/Software/qgif4.dll
- create subdirectory in your PlatGEnWohl editor folder imageformats and put library into it.

Image

P.S. I put library with dir into uploaded archive

Error demonstation
(for test i made white background and replace one GIF to PNG in lvl_bgo.ini and convert target image and mask)
Loaded level without GIF support (without lib)
Image

Loaded level WITH gif support (after i add library)
Image