07-25-2012, 10:24 AM | #41 |
Retired
Join Date: Jan 2002
Location: Edmonton Alberta Ca
Posts: 2,441
|
Originally posted by cjmaddy:
This version doesn't work at all for me. It just reverts back to the desktop.
|
07-25-2012, 12:04 PM | #42 |
Registered
Join Date: Nov 2004
Location: Troon, Scotland
Posts: 125
|
I have just tested this and it runs fine on my rig, I am running a HP Pavilion Slimline 10 months old with on-board graphics chip and am running Windows 8, runs just as well as original, and, I too would like the "doctors" surgery, well done on your experimenting. Jim
Something Fishy Going On
|
07-27-2012, 11:00 AM | #43 |
Registered
Join Date: Mar 2002
Location: Texas
Posts: 60
|
jleslie, I'm sorry about that. But there's nothing I can do here beyond what I'm already doing to ensure everything is malware free on my end.
cjmdaddy and Ralph, I read up on multi-monitor support and I think I found out some of what I was doing wrong. The attached version has some changes for multi-monitor use that may fix the crashing. But I'm pretty sure I still don't have it all correct. To all, thanks for the feedback. I do consider the room model and tank as part of the background as well. I'm willing to do any work that has no possibility of breaking the illusion Mr. Sachs has created. I'm adding stuff in stages to give those with less powerful pcs a chance to see at least some of it without completely bogging down their MA3 animations. Attached is a new version that uses a cpu driven water surface with a fake reflection of the background room, which is represented at this time by a simple pic. I pulled in the back of the tank frame to show more of the room. This is the version that has the best chance to work on older and slower pcs, although it still requires some power in the cpu and a reasonable fill rate in the gpu. If all goes well it should look like the attached pic. In following posts I'll attach some more high quality pics you can use as backgrounds. See the readme.txt file in the bkgnd folder for the easy steps to do this. |
07-27-2012, 11:11 AM | #44 |
Registered
Join Date: Mar 2002
Location: Texas
Posts: 60
|
Here's a couple more backgrounds you can use with the above version of the app.
|
07-27-2012, 11:19 AM | #45 |
Registered
Join Date: Mar 2002
Location: Texas
Posts: 60
|
Here's another background you can use with the above version of the app.
|
07-27-2012, 02:32 PM | #46 |
Pet Shark
Join Date: Nov 2001
Location: Back in Buffalo
Posts: 5,455
|
OK. Now THAT looks cool! I have one suggestion though. There is too much water surface showing and it is angled too much. Decrease the angle so that only a half inch of water surface shows, instead of the one and a half inch that shows now. Anybody else agree?
Patrick
|
07-27-2012, 03:31 PM | #47 |
Retired
Join Date: Jan 2002
Location: Edmonton Alberta Ca
Posts: 2,441
|
Originally posted by flipper:
cjmdaddy and Ralph, I read up on multi-monitor support and I think I found out some of what I was doing wrong. The attached version has some changes for multi-monitor use that may fix the crashing. But I'm pretty sure I still don't have it all correct.
|
07-27-2012, 11:03 PM | #48 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,789
|
I'm back home for a couple of days, so I finally got a chance to download and run this.
flipper - You're bumping into all the problems I did when I explored having a background pic, ten years ago. At that time I decided to use a background wash mostly to save clock cycles. After a few years computers got faster, so that became a moot point. But the other problems remain - The inclusion of a giant hi-res bitmap for the background texture (greatly increasing the size of the program), the mismatch of the perspective between the tank and the background, and the necessity of showing the underside of the water surface, which is just never going to look real. I'm still interested in seeing the bending of camera angles which made that first picture you posted so tantalizing. (And I'm still mystified as to how you are accomplishing any of this without the source code.)
Jim Sachs
Creator of SereneScreen Aquarium |
07-28-2012, 04:32 AM | #49 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,939
|
Originally posted by Jim Sachs:
(And I'm still mystified as to how you are accomplishing any of this without the source code.)
In mother Russia, children are hacking before they can walk.
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
07-28-2012, 04:47 AM | #50 |
Registered
Join Date: Nov 2001
Location: Lancashire, UK
Posts: 7,854
|
Originally posted by flipper:
cjmdaddy and Ralph, I read up on multi-monitor support and I think I found out some of what I was doing wrong. The attached version has some changes for multi-monitor use that may fix the crashing. But I'm pretty sure I still don't have it all correct.
The perspective between the tank and the background seems to work for me, across the two screens, but I think the type of background chosen needs to be carefully thought about if the focus of attention, is to remain with the aquarium and its contents. All in all, it's a very clever idea, and very well executed.... But is it what MA3 really needs? After a period of experimentation, it's something of a relief to return to a nice dark blue/green graded background. With nothing distracting from the intended underwater coral scene. ... Perhaps the answer, is to have a distant extended underwater coral background? ..... Or none at all? |
07-28-2012, 08:32 AM | #51 |
Registered
Join Date: Feb 2008
Posts: 30
|
Originally posted by patscarr:
OK. Now THAT looks cool! I have one suggestion though. There is too much water surface showing and it is angled too much. Decrease the angle so that only a half inch of water surface shows, instead of the one and a half inch that shows now. Anybody else agree?
|
07-28-2012, 08:32 AM | #52 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,789
|
Morgan - True, the existing DirectX models and textures aren't hard to tweak (and it's been done many times), but these are additional models, textures, and code to run them. Even with the source code, adding a new object is a major job. The C++ objects have to be created, instantiated, initialized, and released at the proper time or memory leaks will occur. The algorithm to 'run' the object (like the moving water surface) has to be called. The object has to be displayed at exactly the right instant within the critical Render() loop for each monitor.
My hat is off to Flipper for being able to accomplish all that.
Jim Sachs
Creator of SereneScreen Aquarium |
07-28-2012, 02:58 PM | #53 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,939
|
Good point Jim. Mostly I was trying to be subtle about saying I'm in St. Petersburg Russia
"Journalism is printing what someone else does not want printed. Everything else is public relations." - George Orwell
"If voting changed anything, they'd make it illegal." - Emma Goldman |
07-28-2012, 03:59 PM | #54 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,789
|
Neat! It's probably a good time to visit Europe, while everyone else is in London
Jim Sachs
Creator of SereneScreen Aquarium |
08-02-2012, 06:35 AM | #55 |
Retired
Join Date: Jan 2002
Location: Edmonton Alberta Ca
Posts: 2,441
|
Originally posted by Jim Sachs:
(And I'm still mystified as to how you are accomplishing any of this without the source code.)
I think the door flipper found was in your settings panel where we can change the background. This call would be easy to find. He then changed the code to call his MA3Ex.dll that does at least 2 things.. a) confirm a registration key exists.. if not > exit () b) insert loft.dxt3 in place of your background and run program. But.. many of my early morning solution to problems turn out to be wrong.. |
08-02-2012, 02:36 PM | #56 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,789
|
There is no background picture or object in my code. It's just a smooth wash of colors.
Jim Sachs
Creator of SereneScreen Aquarium |
08-02-2012, 03:22 PM | #57 |
Registered
Join Date: Mar 2002
Location: Texas
Posts: 60
|
I've been busy trying to get a perspectively correct mirrored background image onto the water surface while maintaining the original MA3 projection matrix or I would have responded earlier. Sorry about that.
The techniques used have been around for decades. MS uses them in their app shim and compatibility layer code, for instance. They're also used a lot in game mods and other types of malware. In a nutshell, but a bit techy, MA3Ex.exe starts MA3.scr but suspended. It then adds MA3Ex.dll into MA3.scr's process address space, tweaks the process' starting point to call MA3Ex.dll's entry point instead, resumes MA3.scr's execution and then quits. When MA3.scr starts running again it gives control to MA3Ex.dll, which then uses "api hook"ing to cause the creation of D3D devices to be rerouted to its code. That code allows the call to go through to D3D, and upon a successful creation, adds the device to its good devices list and, using "code hook"ing, causes several of the D3D devices methods to be rerouted to its code. Methods such as BeginScene, DrawPrimitive, SetTexture, SetTransform, etc. So at that point MA3Ex.dll essentially has as much control of MA3.scr's interfaces with D3D as it wants. The same technique could be used for other app->OS api interfaces as well. It also uses a similar but different hooking technique to take control of the keyboard and mouse. Regarding the different camera viewpoint I use in my own version of this, if you're willing to allow me to make it public, I'll start working on getting that code into this version. As it's proven to be very difficult to get a correct looking mirrored scene onto the water surface while mucking with two different fields of view (I think as you indicated above.) |
08-02-2012, 11:01 PM | #58 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,789
|
Amazing (and horrifying).
Jim Sachs
Creator of SereneScreen Aquarium |
08-07-2012, 07:45 AM | #59 |
Forum Administrator
Join Date: Dec 2000
Location: Rock Hill, SC
Posts: 10,939
|
Jim,
It's been 11 1/2 years. You've indicated that income from it is nearly minimal which discourages further effort. What is the likelihood that there will be another update to the Aquarium? Your strength is as an artist and animator. What is the harm in seeing what someone else can do? I think there are programmers out there that respect the artistic integrity of what you are doing and would love to help. |
08-07-2012, 08:41 AM | #60 |
Developer
Join Date: Dec 2000
Location: Southern Oregon
Posts: 9,789
|
And then I can split my $9 per hour with them.
Jim Sachs
Creator of SereneScreen Aquarium |
|
|
|