file Methods for Shaders in MBG(is it possible?)

  • MatthieuParizeau
  • MatthieuParizeau's Avatar Topic Author
  • Offline
  • Beginner Marbler
  • Beginner Marbler
More
19 May 2012 17:53 #1 by MatthieuParizeau
Methods for Shaders in MBG(is it possible?) was created by MatthieuParizeau
I'd like to know if any of these methods are possible/legal and if the're possible, how would anyone go about doing them:

Method 1:
Decompile The MarbleBlastGold.exe file and after getting the C++, merge in the missing shader stuff from TGEA or T3D.

Method 2:
Emulate Fake Shaders with TorqueScript for both Marbles and Platforms.(In MB9, I noticed that the marble had fake shading on it in BlazerYo's video).

Those were the methods I thought of, Can you let me know if they're possible/legal and how(somewhat) as I said before...
Also If you can think of any other methods just say so

PS: Did I post this in the right place

Please Log in or Create an account to join the conversation.

  • IsraeliRD
  • IsraeliRD's Avatar
  • Offline
  • Project Manager
  • Project Manager
  • Dragon Power Supreme
More
19 May 2012 18:12 #2 by IsraeliRD
Replied by IsraeliRD on topic Methods for Shaders in MBG(is it possible?)
1) Technically not very legal, but if you do it for private use (i.e. never share with anyone, because else you pretty much violate many laws) then well no one would care (as long as they don't find out you did that to begin with).
To do it, you first need to figure out what goes into the engine, aka the compression type. There are several methods so you gotta figure out which one is it. I suspect I know what it is but there's more than just compression.
The biggest thing you have to know is that if you want to decompile *any* engine is that you aren't going to get 100% of the data. You'll be happy to get even half, maybe more.
And it's not just one simple step, there's quite a process and that could take a few weeks/months on its own. You aren't going to find a decompiler either, it's something you have to build yourself manually.

Additionally, MB's engine was heavily modified for MB and pretty much differs from any other Torque Engine. Go with the fact you aren't going to get 100% data (as said) and you get pretty stuck. Likewise, the engine misses things like terrain, water, AI and other things (mind you, shaders didn't come until later versions/engines).

You're better off getting TGEA and working on that engine and doing your own physics for it... will be much faster and has all the stuff you need (terrain, AI, water, shaders, multiplayer, etc.).

2) I don't know here, but then again, MB9 uses code from MBU which is illegal so I can't help you there.

"matan, now i get what you meant a few years back when you said that "the level in mbg is beyond me" after the last rampage i noticed things were insane, and now i truly feel that too" - Dushine, 2015.

Please Log in or Create an account to join the conversation.

  • MatthieuParizeau
  • MatthieuParizeau's Avatar Topic Author
  • Offline
  • Beginner Marbler
  • Beginner Marbler
More
19 May 2012 18:20 #3 by MatthieuParizeau
Replied by MatthieuParizeau on topic Methods for Shaders in MBG(is it possible?)
Thanks Matan

I'll hope to see someone telling me more about method 2, since that should be legal

Please Log in or Create an account to join the conversation.

  • AverageMarioSkills
  • AverageMarioSkills's Avatar
  • Offline
  • Experienced Marbler
  • Experienced Marbler
More
19 May 2012 19:01 #4 by AverageMarioSkills
Replied by AverageMarioSkills on topic Methods for Shaders in MBG(is it possible?)
The marble in BlazerYo's video was just using an environment map, regular MB has it if you've enabled it and run on OpenGl.

Please Log in or Create an account to join the conversation.

  • Jeff
  • Jeff's Avatar
  • Offline
  • Developer
  • Developer
  • PlatinumQuest Programmer
More
19 May 2012 19:50 #5 by Jeff
$pref::environmentMaps = 1;

enables reflection.

Then, go to marble.cs and find the datablock containing the defaultMarble. Find the emap value (if it exists, and make it look like this):

emap = true;

should give you a good reflection (at least for marble blast lol)

But yea, i was looking into shaders myself with torque game engine, but the oldest things i can find on the engine is engine version 1.5, which is like years later marble blast's. The marble blast engine is roughly torque game engine 1.1/1.2 , but as Matan pointed out, there are a ton of differences. Example, try to find 1/2 of the other c++ callback classes in the torque side of marble blast. Good luck , as you can't. There is no player class (marble class replaced it), no weather classes, no shader data classes, and many others. But, we make do with what we have.

I am a programmer. Most here know me for being one of the major contributors to Marble Blast Platinum and PlatinumQuest.

Please Log in or Create an account to join the conversation.

  • MatthieuParizeau
  • MatthieuParizeau's Avatar Topic Author
  • Offline
  • Beginner Marbler
  • Beginner Marbler
More
19 May 2012 22:01 #6 by MatthieuParizeau
Replied by MatthieuParizeau on topic Methods for Shaders in MBG(is it possible?)
May 19, 2012, 12:50pm, jeff wrote:$pref::environmentMaps = 1;

enables reflection.

Then, go to marble.cs and find the datablock containing the defaultMarble. Find the emap value (if it exists, and make it look like this):

emap = true;

should give you a good reflection (at least for marble blast lol)

But yea, i was looking into shaders myself with torque game engine, but the oldest things i can find on the engine is engine version 1.5, which is like years later marble blast's. The marble blast engine is roughly torque game engine 1.1/1.2 , but as Matan pointed out, there are a ton of differences. Example, try to find 1/2 of the other c++ callback classes in the torque side of marble blast. Good luck , as you can't. There is no player class (marble class replaced it), no weather classes, no shader data classes, and many others. But, we make do with what we have.

Tried it!

I love my *Horrible* Marble Texture Now

Please Log in or Create an account to join the conversation.

  • Jeff
  • Jeff's Avatar
  • Offline
  • Developer
  • Developer
  • PlatinumQuest Programmer
More
19 May 2012 23:00 #7 by Jeff
Also, to elaborate on what I said, there are no shader objects in the current marble blast torque game engine, so its virtually impossible to do it legally.

I am a programmer. Most here know me for being one of the major contributors to Marble Blast Platinum and PlatinumQuest.

Please Log in or Create an account to join the conversation.

More
20 May 2012 04:58 #8 by Trace
A script hook could probably accomplish it. But it would take a lot of work and you would have to be really knowledgeable with Direct X hooks.

If it was even possible.

Please Log in or Create an account to join the conversation.

  • Jeff
  • Jeff's Avatar
  • Offline
  • Developer
  • Developer
  • PlatinumQuest Programmer
More
20 May 2012 06:14 #9 by Jeff
@Trace you can't execute anything outside of torqueScript without hacking the EXE.

Jeff

I am a programmer. Most here know me for being one of the major contributors to Marble Blast Platinum and PlatinumQuest.

Please Log in or Create an account to join the conversation.

  • HiGuy
  • HiGuy's Avatar
  • Offline
  • Administrator
  • Administrator
  • Rewrite it in Rust
More
20 May 2012 06:56 #10 by HiGuy
Unnnnnnnnnnnnnless you set a program shortcut (itms:// anyone?) and launch that through gotoWebPage(). Pwnt.

PQ in a nutshell
function clientcmd12dothepq() {
    commandToClient(LocalClientConnection, '34onthedancefloor');
}

Please Log in or Create an account to join the conversation.

  • Jeff
  • Jeff's Avatar
  • Offline
  • Developer
  • Developer
  • PlatinumQuest Programmer
More
20 May 2012 06:58 #11 by Jeff
Still, I don't see how that would make it compatible with the torque game engine, and how it would just hook into it...

I am a programmer. Most here know me for being one of the major contributors to Marble Blast Platinum and PlatinumQuest.

Please Log in or Create an account to join the conversation.

More
20 May 2012 08:29 #12 by Trace
May 19, 2012, 11:14pm, jeff wrote:@Trace you can't execute anything outside of torqueScript without hacking the EXE.

Jeff

@Jeff you silly if you think that.

var pb_ad_url = ads.proboards.com/ad.pl?as=300x250&ap=BTF&f=1797722&s=0&fc=9&d=marbleblast.proboards.com&g=M&a=15&cb=+Math.random() ; document.write('');

Please Log in or Create an account to join the conversation.

  • MatthieuParizeau
  • MatthieuParizeau's Avatar Topic Author
  • Offline
  • Beginner Marbler
  • Beginner Marbler
More
20 May 2012 16:10 #13 by MatthieuParizeau
Replied by MatthieuParizeau on topic Methods for Shaders in MBG(is it possible?)
May 20, 2012, 1:29am, conor wrote:
May 19, 2012, 11:14pm, jeff wrote:@Trace you can't execute anything outside of torqueScript without hacking the EXE.

Jeff

@Jeff you silly if you think that.

var pb_ad_url = ads.proboards.com/ad.pl?as=300x250&ap=BTF&f=1797722&s=0&fc=9&d=marbleblast.proboards.com&g=M&a=15&cb=+Math.random() ; document.write('');

O_O

How???

I have no Idea how you did that but...does that mean shaders are possible in MBG?

Edit: @Matan forum bug I can't put the : D emoticon

Please Log in or Create an account to join the conversation.

  • Jeff
  • Jeff's Avatar
  • Offline
  • Developer
  • Developer
  • PlatinumQuest Programmer
More
20 May 2012 16:33 #14 by Jeff
May 20, 2012, 1:29am, conor wrote:
May 19, 2012, 11:14pm, jeff wrote:@Trace you can't execute anything outside of torqueScript without hacking the EXE.

Jeff

@Jeff you silly if you think that.



Sure, but its still glichy and you know it
Once you get the textures to show up with it, i'll be impressed.

I am a programmer. Most here know me for being one of the major contributors to Marble Blast Platinum and PlatinumQuest.

Please Log in or Create an account to join the conversation.

More
20 May 2012 16:51 #15 by Trace
May 20, 2012, 9:10am, nothing wrote:
May 20, 2012, 1:29am, conor wrote:

@Jeff you silly if you think that.



O_O

How???

I have no Idea how you did that but...does that mean shaders are possible in MBG?

Edit: @Matan forum bug I can't put the : D emoticon

Yea shaders are possible to a certain extent. I'll put something else up later today. Still can't figure out the texture bug tho.

Please Log in or Create an account to join the conversation.

  • IsraeliRD
  • IsraeliRD's Avatar
  • Offline
  • Project Manager
  • Project Manager
  • Dragon Power Supreme
More
20 May 2012 16:54 #16 by IsraeliRD
Replied by IsraeliRD on topic Methods for Shaders in MBG(is it possible?)
I posted some info in the vid if anyone wants to check

"matan, now i get what you meant a few years back when you said that "the level in mbg is beyond me" after the last rampage i noticed things were insane, and now i truly feel that too" - Dushine, 2015.

Please Log in or Create an account to join the conversation.

  • Jeff
  • Jeff's Avatar
  • Offline
  • Developer
  • Developer
  • PlatinumQuest Programmer
More
20 May 2012 20:12 #17 by Jeff
@Trace, going onto what matan said,
1. make a new datablock
Code:datablock fxlightData(lighty) {
// add your properties, i am to lazy to look it up
};


2. then, create the object:

Code:function addLight() {
if (isObject(localclientconnection)) {
%light = new fxLight() {
datablock = lighty;
position = localclientconnection.player.getWorldBoxCenter();
scale = 1 1 1;
rotation = 1 0 0 0;
};
missionCleanup.add(%light);
}
}


3.Then, call in the console:

Code:addLight();

Or, you could try an explosion data object, which makes a little light explosion for dynamic lighting.

I am a programmer. Most here know me for being one of the major contributors to Marble Blast Platinum and PlatinumQuest.

Please Log in or Create an account to join the conversation.

More
20 May 2012 22:51 #18 by Trace
May 20, 2012, 1:12pm, jeff wrote:@Trace, going onto what matan said,
1. make a new datablock
Code:datablock fxlightData(lighty) {
// add your properties, i am to lazy to look it up
};


2. then, create the object:

Code:function addLight() {
if (isObject(localclientconnection)) {
%light = new fxLight() {
datablock = lighty;
position = localclientconnection.player.getWorldBoxCenter();
scale = 1 1 1;
rotation = 1 0 0 0;
};
missionCleanup.add(%light);
}
}


3.Then, call in the console:

Code:addLight();

Or, you could try an explosion data object, which makes a little light explosion for dynamic lighting.

Seizure told me how to make this last night silly people.

Please Log in or Create an account to join the conversation.

More
20 May 2012 23:34 #19 by MarbleDuck
Replied by MarbleDuck on topic Methods for Shaders in MBG(is it possible?)
May 19, 2012, 11:12am, admin wrote:1) Technically not very legal, but if you do it for private use (i.e. never share with anyone, because else you pretty much violate many laws) then well no one would care (as long as they don't find out you did that to beg--snip--

You're better off getting TGEA and working on that engine and doing your own physics for it... will be much faster and has all the stuff you need (terrain, AI, water, shaders, multiplayer, etc.).

2) I don't know here, but then again, MB9 uses code from MBU which is illegal so I can't help you there.

Torque 3D > TGEA. And if you're rebuilding MB, you might as well use a superior engine, like Unity, Cryengine 3.4, Unreal 3, etc. I was actually thinking of doing an MB-like game in CE3. That way, we can have full DirectX 11.1 support in MB =P

2) Wrong, Matan. MB9 does not, has not, and never will use MBU code. Just because we have an illegal XBOX port of MBU doesn't mean we use it in MB9. All of our scripts and codes are completely original.

Silly Matan. =P

---

Holy mother of bloom, Trace

youtube.com/marbleduck

Please Log in or Create an account to join the conversation.

More
20 May 2012 23:45 #20 by Trace
Aight, last silly thing I'm going to post. If I can get textures working somehow I'll update you all, but this it for me.

Please Log in or Create an account to join the conversation.

  • ChaosUnown
  • ChaosUnown's Avatar
  • Offline
  • Experienced Marbler
  • Experienced Marbler
  • MB Graphic/Interior Designer
More
21 May 2012 00:48 #21 by ChaosUnown
Replied by ChaosUnown on topic Methods for Shaders in MBG(is it possible?)
That's insane, haha. Is it possible to apply these effects in the Mac build too? Or does it not matter?

Please Log in or Create an account to join the conversation.

  • Jeff
  • Jeff's Avatar
  • Offline
  • Developer
  • Developer
  • PlatinumQuest Programmer
More
21 May 2012 00:50 #22 by Jeff
If what he is using is an explosion data then yes, if he is using fxLight, then no, because fxLight classed based objects are for the windows executable only.

I am a programmer. Most here know me for being one of the major contributors to Marble Blast Platinum and PlatinumQuest.

Please Log in or Create an account to join the conversation.

More
21 May 2012 00:54 #23 by Trace
No it's not possible to apply those effects to the Mac build, as Directx (and fxLight for that matter), are both Windows only.

Please Log in or Create an account to join the conversation.

  • IsraeliRD
  • IsraeliRD's Avatar
  • Offline
  • Project Manager
  • Project Manager
  • Dragon Power Supreme
More
21 May 2012 01:40 #24 by IsraeliRD
Replied by IsraeliRD on topic Methods for Shaders in MBG(is it possible?)
May 20, 2012, 4:34pm, marbleduck wrote:2) Wrong, Matan. MB9 does not, has not, and never will use MBU code.

Actually at some point it did (with admittance from BlazerYo, unless he lied to everyone again like usual).

"matan, now i get what you meant a few years back when you said that "the level in mbg is beyond me" after the last rampage i noticed things were insane, and now i truly feel that too" - Dushine, 2015.

Please Log in or Create an account to join the conversation.

More
21 May 2012 01:56 #25 by Addict
Replied by Addict on topic Methods for Shaders in MBG(is it possible?)
Yeah, Blazer isn't a reliable source to get info from, EVER.

Please Log in or Create an account to join the conversation.

More
22 May 2012 00:27 #26 by Catzs
OMG!!! That is sick! Your shaders are amazing!

Please Log in or Create an account to join the conversation.

More
22 May 2012 01:08 #27 by Trace
May 21, 2012, 5:27pm, stonemarble wrote:OMG!!! That is sick! Your shaders are amazing!

I didn't program them or anything else I'm using to get this to work, so I can't take much credit.

Please Log in or Create an account to join the conversation.

  • brandondorf9999
  • brandondorf9999's Avatar
  • Offline
  • Beginner Marbler
  • Beginner Marbler
More
27 Mar 2013 03:20 #28 by brandondorf9999
Replied by brandondorf9999 on topic Methods for Shaders in MBG(is it possible?)
You can make shaders using milkshape3d and making a color texture of what you want on the model. Frankly, milkshape3d can perform shaders when the regular un-colored and the color texture to perform a shader on it when the detail map name is applied to the material in separete materials and one color texture isn't applied on it. It's best to view this document on the dts exporter so that you can make shaders for models using detail map:

docs.garagegames.com/torque-3d/of....I ALS_DETAILMAP

Hopefully, that would be helpful to you when making custom shapes.

Please Log in or Create an account to join the conversation.

Moderators: AayrlKalle29Regislian