Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - HeirOfNorton

#61
Unfortunately, adding stairs this way is currently impossible. In order for this type of texture-mapping to work, the surfaces to be textured have to be perfectly verticle.

HoN
#62
Quote from: Pumaman on Sun 05/06/2005 23:32:14
* Added support for having pointer variables in structs.

Edit:

Does this include struct-within-struct, or just builtin types?

Nevermind, tried it out. Only builtin types, still no struct within-a-struct.  :(
Still pretty neat though, being able to put a Character* (or whatever) in a struct.

Quote
* Added DynamicSprite.Crop

Cooool. I'll get on improving the Ags3d+plus+ module to take advantage of this.

HoN
#63
Texture animation shouldn't be too hard at all. Each textured 'face' has its texture set with a single function, and it should be no trouble to reset it in rep-ex (similar to how I do with the switch in the demo). Of course, yes, that IS a lot of sprit columns running around, at least until CJ adds sprite cropping...

HoN

PS, this is officially the last time I'll bring up sprite cropping. I think I've harped von it just about enough, especially since CJ has already said that it's next on his list.
#64
Replies in no particular order:

Rui: Theoretically you should just need to set SetLookAtRange larger, but I couldn't get it to work right, I'm looking into improving that.

Steve: You can turn off the sector stuff by commenting out the SetUseSectors line in the room script. When I post the next version, I'll have all the primitives sorted and commented as what each one is. Also, some of the sorting problems could be due to the fact that the wall primitives are completely flat, but have a scale of 1.0 thick. (If I set 'em to 0.0, that'll cause division by zero errors. Maybe if they're scaled dowm to, like, 0.0001. I'll try it.)

Gilbot: Yeah, that sprit cropping will make the editor a LOT less cluttered, and easier for others to set up.  ;D

HoN
#65
Whoops!
I always miss the obvious little stuff.  ::) In this case, I forgot to reset one of the variables. I'll fix it for the next version, but mean time you can fix it yourself by adding the following line:

Code: ags

  sectors[numSectors-1].numCubes = 0;


at line 3464 of the script module.

HoN
#66
Modules, Plugins & Tools / Re: MODULE: Ags 3d
Fri 16/09/2005 03:15:28
Quote from: SteveMcCrea on Fri 16/09/2005 01:25:24
If it's a ceiling in an indoor scene, why not just make it one of the unsorted prims? It should work anyway, but the unsorted prims are essential for speed.

There are other parts of the scene that are higher than this ceiling, so they would sometimes appear THROUGH the ceiling.

Quote
Not really. It handles slightly overlapping prims pretty well (usually!). I'll be interested to see your example.

Hmm, now that sorting error's back again. Maybe I imagined the change helping (arrghh).

Quote
Quote
The engine cannot handle flipped sprites (in character views) properly.
There's an obvious workaround, though. :)

Heh, yeah, but you might want to mention this in the docs, so that people know it's a limitation in AGS itself, and not a mess-up on their part or a bug in the module (like I thought at first)  :)

Anyway, new version's up in the other thread. Check it out.

HoN
#67
Bump for new version, eager to hear everyone's thoughts.

BTW Steve, if there's anything out of the modification that you would like to add to the main script module, please feel free.

HoN
#68
Modules, Plugins & Tools / Re: MODULE: Ags 3d
Fri 16/09/2005 01:14:58
I'll include the one I've had (commented out) in my Ags3d modification I'm posting later this evening. In brief, though, I have an indoor sceen with several hallways, and a single cuboid as the ceiling. Sometimes the ceiling is drawn in front of the walls, and putting the miniscule gap there fixed it. (I would imagine that CalcSplitPLanes works better with a gap than with primitives that are touching, but that's just a guess.)

One other thing, though. The engine cannot handle flipped sprites (in character views) properly. Not sure if it's possible to fix, as I have been unable to find any way to find out in the script if a particular frame is flipped. (Hey, CJ, how about another GetGameParameter?)

HoN
#69
Quote from: Edmundo on Thu 15/09/2005 06:53:26
I'd like to point out that in the manual, under script reference\script language keywords\data types there is no mentioning of the bool type. I assume is a 1bit type, right?

Actually, the bool in AGS is just a predeclared enum, not a seperate type. And for its size...
Quote
And uh.. is there a size for enums?

As I recall, enums are treated interally as ints, so they are all 4 bytes.

HoN
#70
Modules, Plugins & Tools / Re: MODULE: Ags 3d
Thu 15/09/2005 04:37:06
Useful tidbit I noticed while playing around with this. If two primitives are directly next to each other (ie, they have two faces on the same plane) it can cause some sorting errors, however, if even the tiniest space is left between them (0.001 units, say, too small for the gap to be seen) then they will be sorted properly.

HoN
#71
Quote from: SteveMcCrea on Sat 10/09/2005 03:09:01
Oh, so you don't need my edit then :=

Well, I'm certainly INTERESTED in your edit, if there's any more to it than what you posted here. Right now I'm working on cleaning up the code, adding some more features (not all of them directly related to texture-mapping), and creating a demo room to show it all off. I've got tonight free to work at it, so I'll post it sometime tonight or tomorrow.

HoN
#72
This is NEAT.
Out of curiosity, have you considered making this as a COM plugin for AGS? It doesn't look like it would be that hard to conver it, and that way folks could use it directly in AGS instead of opening it as a seperate program. Not sure which way more people would prefer.
HoN
#73
Quote from: SteveMcCrea on Fri 09/09/2005 14:46:17
As for your texture mapper, that's nice work. It just needs to be perspective correct.
(... Steve's suggestions snipped)


Wow. That's a LOT simpler than what I was trying to do, and unlike my version, yours WORKS. :o I bow to your obvious superiority. (In my own defense, I have always hated math and am usually quite terrible at it.)
I'm going to tweak it to work in a few options I wanted, and make a room that shows off the texture-mapping, Then, as soon as I can find a file-hosting server that will STAY UP for more than three hours >:(, I'll upload a new version.
Thanks for the help, Steve

HoN
#74
Advanced Technical Forum / AGS3D +PLUS+ beta
Fri 09/09/2005 06:56:25
Well, here's what I have so far. It's far from perfect, but it does what it's supposed to do (mostly).

They say a picture is worth a thousand words, so...





Those really are screenshots from AGS. Honest.

This is a modified version of Steve Mcrea's Ags3d script module. The major additions are:

++ New Wall primitive (a flat polygon)
++ Texture mapped walls and primitives
++ The ability to modify those textures with scale and offset, etc.
++ Sky box and sky texture (check out the moon in the town square)
++ Sector-based culling and optimization*.

* What this means is, you designate sectors in the 3d world, and the primitives will only be drawn if they are in the same sector as the player. This won't help with outdoor scenes like the town square, but for complex indoor scenes (halls and rooms) it can really speed things up. (Want to see the difference? Turn it OFF in the new example room and watch the frames per second disappear.)

I did not add a HUD or weapon to the script module. I did, however, add a weapon in the new demo room using a dummy character, and hopefully it shouldn't be too hard to figure out how to do it yourself.

This is still a beta version. Several bugs and errors still in it, and the code could use cleaned up and comments, but here it is to see what you can do. This zip file only contains the source files, not a compiled version, so you will need to compile it (ctrl-s) with AGS 2.71beta5 or higher.

Download it here. Thanks to www.americangirlscouts.com for the file hosting.

Whatcha think?
#75
Advanced Technical Forum / Re: AGS 3D
Mon 05/09/2005 02:32:44
Quote from: SteveMcCrea on Sun 04/09/2005 16:39:16
The movable flag is basically how it works right now :)

Yeah, I figured that out about half an hour after posting, while looking through the more-recent code. Silly me, posting before I've actually read the important parts.  :-\

Quote
How's the texture mapper coming along?

Slowly. Right now I'm re-doing some of the code to better match the current state of Ags3d. I'm gonna fiddle with it some more, and I'll post whatever I have (working or not) sometime tomorrow and get other folks' input on it.

HoN
#76
Advanced Technical Forum / Re: AGS 3D
Sun 04/09/2005 15:32:27
You just need to add a BSP tree.  ;D

Somewhat more seriously (but please bear in mind that I have practically zero experience and only slightly more knowledge about 3D programming)...

Could it help any if you added a movable flag to all the AddSprite functions, and only allow the ones with this flag set to have their position/rotation/etc. changed after initial placement? That way, all the only that are unmoveable could be pre-sorted (to some extant) when the "level" first loads. Or am I way off on how this works?

HoN
#77
Advanced Technical Forum / Re: AGS 3D
Fri 02/09/2005 05:07:28
Looking at the script module, I just noticed that you have it licensed under the GNU GPL. Please correct me if I'm wrong, but wouldn't the GPL require that any games made with this module have THEIR source code released as well? While you can certainly do this if you wish (it is your module, and a wonderful one at that), this does seem rather strict. I've always preferred the LGPL for 'helper' libraries (like this) that are not, in themselves, complete programs.

HoN
#78
Advanced Technical Forum / Re: AGS 3D
Sun 28/08/2005 00:58:02
Quote from: SteveMcCrea on Sat 27/08/2005 20:26:11
- editor can rotate multiple selected objects at once (around the largest object)

Would it be possible to add an option to group objects in the script, and rotate/scale them around a common center point, or some other predetermined point? This (the basic elements of Constructive Solid Geometry) would make user-created objects much easier to use in a game, if they could be constructed together from simpler primitives, and then moved/rotated/scaled as a single object.

---

Unrelated note: I'm getting the DOOM-style texture mapping, mostly. It basically works, but there are a couple points where the textures are distorted. One is because of an error somewhere in the Z-clipping code (whice is based on the old Z-clipping and needs to be redone anyway). The other occurs at a certain distance from the "walls" from one direction, but not the other (I have no idea why THAT distortion is happening). I'll fiddle with it a bit more and, if I can't get it fixed, I'll post it as-is and see if anyone else can help fix it.

HoN
#79
Advanced Technical Forum / Re: AGS 3D
Sun 21/08/2005 05:34:19
I'm working on the DOOM-style texture-mapping myself (expect an update in the next day or two with it implemented, if all goes well.)

Quote from: Darth Mandarb on Sat 20/08/2005 21:35:57
lastly, would it be possible to use a background (starfield) that would loop/scroll (AGS can already do this) so that as Cosmo navigates around the scene the stars would be moving in the background?

I already have this sort of thing working, as long as you do not change the pitch of the camera (ie, look up or down). If you need to be able to rotate in any direction, then it becomes significantly more complicated to get right. If this is adequate, though, then I've already got it. It will be included as part of the AGS3D with Texture Mapping !!! mod that I'll be uploading soon.

HoN
#80
Advanced Technical Forum / Re: AGS 3D
Thu 18/08/2005 01:56:36
First of all, this is amazing!!!

Anyway, a couple of points to consider/ponder regarding texture-mapping...

I should like to point out that, in some ways, the AGS3D engine is in fact quite a bit more advanced than the the engines used in Wolfenstein3D and Doom. This is, afterall, a true 3D engine, while those were not. Internally, Wolfenstein and Doom were really just top-down shooters, and the programmers just used some tricks to render them in (apparently) 3D. The AGS3D engine is more like Quake, with a genuine bonafide 3D game world.

Having said that... While texture mapping may prove to be prohibitively difficult without some major additions to AGS itself, those same tricks that Wolfenstein and Doom used MIGHT be feasible. (I've already got a couple of ideas on how it could be implemented.) Doing it this way would have all the same limitations of those engines (and then some), and I'm not sure whether it could be integrated with the current AGS3D system, but it could be done. And look really cool...  ;D

Just something to think about

HoN

P.S. Hey, CJ, how high on your list of things to do is the possibility of creating a DynamicSprite from a PORTION of another image (instead of the whole thing)? While not completely necesarry for my upcoming experiments in the AGS-Wolfenstein engine (tm), it would make things much easier, and I know others would find it useful for their own projects.
SMF spam blocked by CleanTalk