Page 4 of 13 FirstFirst ... 23456 ... LastLast
Results 31 to 40 of 121

Thread: G.T.A.2 Map Editor

  1. #31
    Found a bit of motivation to work on editor a bit again.
    I was bored. So i took old picking code and copy-pasted this to my latest editor source.
    Works fine as it did previously. I wish i could make other things work so easily (by just copy pasting).
    I don't have very much motivation to actually work on the flat faces again, there are few to add..

    I will add selection boxes in. I actually had working implementation that drew them very nicely.
    Will try to copy paste as much as i can. I had problems with selection going negative, i thought that glTranslatef will not accept negative values, but actually it did. Dunno where i stopped.
    But the code had some neat things already implemented so i will not reinvent it again, there is no point if it works.

  2. #32
    First, nice job. I was reading and looking the videos for a time and I like it.

    I'm wondering if it can be used for games other than GTA2. I mean create new games.
    No signature provided yet.

  3. #33
    Thanks.

    I have plan to add support for GTA1 but very few people actually play it.
    But there are some other similar games.

    I want to add a simple ped to map renderer and walk around on map, with collisions etc.
    Just for fun. If i can get this work, i will add more things maybe. If it's not gonna be a game, then it would be like preview of map ingame that you just created, without actually running GTA2. So you can see preview of the map like in game.

    But atm im taking a break from this editor project. Im not the guy who can work on one thing for very long time "in one row". I need to do some other things and then come back, everything helps, maybe even getting away from pc for a while, work on my car, just walking outside etc. I get my motivation this way.
    Atm i don't have any of it to work on this editor. But i will get it back soon and then i will continue.

    Instead i work on new script compiler for GTA2. It's a combination of C++ and Delphi.
    Very interesting to code. And it works pretty well already, GTA2 is happy with them.
    Ofc i can only compile simple scripts atm, nothing complex like IF..THEN..ELSE or WHILE etc.
    Im starting with basics.
    Last edited by hwnd; 11-03-2013 at 02:20 AM.

  4. #34
    I wanted to work on this thing again and once again, taking a break from project helps.
    I found good tutorial and example for handling NPOT textures here:

    http://lazyfoo.net/tutorials/OpenGL/...ures/index.php

    So i took some NPOT textures from GTA2 and and they all are rendered correctly.
    I have to use DevIL with Delphi and additional DLL's but the result is awesome.


    What's even more important and awesome for me is that these are all quads rendered with OpenGL and textured with NPOT textures. This is exactly what i wanted.
    And if i understand correctly they all are centered. It was very hard for me to make work, but that example solved this.

    Im not sure if i can get rid of the DevIL but if yes, tell me.
    I was so excited so i even didn't properly read the source and what it does exactly.
    If it's possible to get rid of it, i will use nxPascal stuff.

    Here are few examples

  5. #35
    PGDCE Developer Carver413's Avatar
    Join Date
    Jun 2010
    Location
    Spokane,WA,Usa
    Posts
    206
    in newer versions of opengl textures need not be powers of 2 to work. I create many textures on the fly and none of them are powers of 2 and they render fine.

  6. #36
    Quote Originally Posted by Carver413 View Post
    in newer versions of opengl textures need not be powers of 2 to work. I create many textures on the fly and none of them are powers of 2 and they render fine.
    I read somewhere that although non power of 2 textures are supported, the power of 2 will get better performance. I would like to know how much better performance...

  7. #37
    Quote Originally Posted by hwnd View Post
    If it's possible to get rid of it, i will use nxPascal stuff.
    Yes nxPascal supports NPOT textures. There should also be demo that shows drawing 2D centered, and it allows rotation point be anywhere in (or out of) the image. Demos use POT texture sizes only because they are most compatible, but you can freely edit the images in Paint/Gimp or other and any size would work.

    Also the link you gave http://lazyfoo.net/tutorials/OpenGL/...ures/index.php is not actually using NPOT but it's putting small picture into larger 1024x256 texture with black pixels outside. That's not best way to handle it, although as i have mentioned before, is also possible with nxPascal through texture options...
    Last edited by User137; 25-03-2013 at 02:37 PM.

  8. #38
    PGDCE Developer Carver413's Avatar
    Join Date
    Jun 2010
    Location
    Spokane,WA,Usa
    Posts
    206
    Quote Originally Posted by Rodrigo Robles View Post
    I read somewhere that although non power of 2 textures are supported, the power of 2 will get better performance. I would like to know how much better performance...
    I read somewhere that opengl actually expands these internally so they end up as power of 2 anyway. the advantage would be in the passing of smaller texture or maybe thats where the slowdown occures. best practice of course would be to try to put them on a single texture and map them properly

  9. #39
    I have old PC with old gfx card ATI Radeon 9550. And i want to support old hw and os starting from Windows 95. Better don't ask why. I love the old stuff and software. I dunno, if nxPascal GL code supports W95, with the latest possible OpenGL dll in it. I will try with my editor. I don't use any shaders or anything in my editor and "biggest" textures are 64x64.
    Just the sprites from GTA2 files are different, like 16x78, 2x28 etc. I don't use any texture atlas, they seem to be too complicated for me.

    Te DevIL actually seems to have bug or im just not doing enough or doing something wrong but NPOT .bmp files are completely screwed when rendering them with same code. PNG works fine. I havent tried the pure pixels from pointer. Will do this later, hopefully it will work.

  10. #40
    PGD Staff / News Reporter phibermon's Avatar
    Join Date
    Sep 2009
    Location
    England
    Posts
    524
    NPOT : No need to re-scale the image or anything like that in order to support NPOT textures, just simply create an image which snaps to the next largest power of two size on both axis, then load your image data into the 0,0 corner and then rescale your texture co-ordinates by the ratio of the new NPOT image size to the Original image size. You waste some texture memory but it's quicker to load the textures (As you don't need to scale them). If all the GTA2 textures are loaded on map startup and nothing is streamed during gameplay, you may as well rescale like you are in order to save wasting memory.

    EDIT : totally ignore that, if you're scaling the images for POT anyway then you won't use any more GPU memory using the method I suggested. it'll be quicker than scaling and you won't have a DevIL (or other image lib) dependancy.

    A Texture atlas would let you save memory and would also be faster when rendering (less texture switching) it's really easy, for the first image you create the biggest texture you can for your hardware (256x256 should be fine for example) and load it into the top corner, then return that images GL_ID and the texture coords that are used. Then for each sucessive image you 'search' your available space in your 'texture atlas' for a clear spot that your image will fit in (so look at the dimensions of existing images, itterating along X and Y until you've found some free space) then copy your image data there, then return the coords that were found for use for the new reference.

    If your search doesn't find a space big enough for the image due to all the other images, you just create another big texture in GL and start the process all over again.

    The end result is a handfull of big textures with all your small textures splattered across them and all your material/texture references are to these images and coord offsets to the actual image data you want.

    There's all kinds of ways of doing it, different optimizations to use etc but the basic principal is sound. Look at light-map construction in a BSP map loader for an example, you can also read up on the design of ID Software's mega-texturing implementation in RAGE. Essentially the same technique but creates super large images in system memory, portions of which are copied to GPU memory when needed. RAGE (tech 5 or whatever) has algorithms (at map compile stage) that try to group required textures together in the mega-texture so when the 'atlas' portion is copied to a normal texture you're using most of the sub-textures for the on-screen geometry. They probably use visbility determination, portals etc as part of the algorithm to optimize the grouping of sub-textures.
    Last edited by phibermon; 30-03-2013 at 06:03 PM.
    When the moon hits your eye like a big pizza pie - that's an extinction level impact event.

Page 4 of 13 FirstFirst ... 23456 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •