• Home
  • News
  • Software
  • Articles / Guides
  • Forums
  • Links
  • Things I would like to do for HEL 2

    This forum holds all discussion entries related to GBA development using the HAM development kit and/or HAMlib

    Postby batblaster on Thu Sep 29, 2005 9:26 pm

    hi,

    is possible to see the demo ??? i go to the website but the download isn't available...

    thanks..
    Batblaster / 7 Raven Studios...
    User avatar
    batblaster
    Professional
    Professional
     
    Posts: 410
    Joined: Sun Jul 20, 2003 11:00 pm

    Postby kouky on Sat Oct 01, 2005 2:53 am

    to watch the 2 demos, go to this page :
    :arrow: http://www.pikilipita.com/vj
    the ROM isn't downlodable, you can just watch a video of the "game".

    You'll need the quicktime plug in to see those videos :? .
    (http://www.quicktime.com)
    kouky
    Apprentice
    Apprentice
     
    Posts: 21
    Joined: Fri Jul 15, 2005 4:17 pm
    Location: london

    Postby blindfold on Thu Oct 06, 2005 6:05 pm

    Sorry, for such a late idea :?
    I was taking a bath and thought that way:

    1. When I want to use 2 backgrounds using DTE it is better to have one huge map with two areas which I display, right?

    2.When I scroll these 2, I have to make some kind of map bounds check, because hel_MapSetBoundsCheck has only support for edges of the map.


    So my questions/answers are:

    1. Am I right about such using DTE? Or maybe there is a better way of supporting 2 DTE?

    1,5. Is there one easy way to make 2 separate maps using the same tiles? Easy means gfx2gba, not making them manually.

    2. Whell, if these above is good idea (I'm not claiming it is), maybe also good idea is to make this boundchecking more custom, I think the hel_MapSetBoundsCheck "has" already some "if's" inside (ok, I know, that some are just "&'s"). Maybe it is possible in easy&fast way to check bounds specified by some hel function like "hel_MapSetCustomBounds(left, top, right,bottom)".

    Uffffff. I hope you know what I mean. :)

    EDIT: Such bounds checking is also advantage in cases of "multiply" maps in the same arrays, like here: http://hol.abime.net/1129/gamemap
    User avatar
    blindfold
    Expert
    Expert
     
    Posts: 95
    Joined: Wed Jun 18, 2003 11:00 pm
    Location: poland

    Postby Peter on Fri Oct 07, 2005 9:30 am

    Hi,

    blindfold wrote:1. When I want to use 2 backgrounds using DTE it is better to have one huge map with two areas which I display, right?

    Am I right about such using DTE? Or maybe there is a better way of supporting 2 DTE?


    Hmm I don't know why it would be from advantage to have both "backgrounds" in one map. If you want to use one tileset with more than just one background, you can use hel_TileShare to share the actual tileset with another background. It supports both, 16 and 256 color tilesets. If you use 16 color graphics, you can even specify another palettebank for the same graphic. So one tileset can be displayed for every background in other colors.


    blindfold wrote:1,5. Is there one easy way to make 2 separate maps using the same tiles? Easy means gfx2gba, not making them manually.

    That's a good question, can't answer it yet.


    blindfold wrote:2. Whell, if these above is good idea (I'm not claiming it is), maybe also good idea is to make this boundchecking more custom, I think the hel_MapSetBoundsCheck "has" already some "if's" inside (ok, I know, that some are just "&'s"). Maybe it is possible in easy&fast way to check bounds specified by some hel function like "hel_MapSetCustomBounds(left, top, right,bottom)".


    The idea with customizable boundaries is great!
    Kind Regards,
    Peter / HEL, Katie and VisualHAM author
    User avatar
    Peter
    Professional
    Professional
     
    Posts: 1281
    Joined: Thu Jan 30, 2003 12:00 am
    Location: Germany

    Differance

    Postby pin955 on Sun Oct 09, 2005 1:33 pm

    so how does that differ from before?:?
    [url=http://www.local-houses.info/uk-houses.html]UK Houses
    [/url] [url=http://www.car-rental-all-over-the-world.com/greece-car-rental.html]Greece car rental
    [/url]
    pin955
    Newbie
    Newbie
     
    Posts: 3
    Joined: Sun Oct 09, 2005 1:30 pm

    Re: Differance

    Postby Peter on Mon Oct 10, 2005 8:20 am

    pin955 wrote:so how does that differ from before?:?


    What compared to what?
    Kind Regards,
    Peter / HEL, Katie and VisualHAM author
    User avatar
    Peter
    Professional
    Professional
     
    Posts: 1281
    Joined: Thu Jan 30, 2003 12:00 am
    Location: Germany

    Postby Peter on Thu Dec 22, 2005 3:38 pm

    Oh well, I would like to say I worked hard on HEL v2 the last months, but this is not true 8) Anyway, I'm glad I can finally show you some progress. I uploaded the documentation of the upcoming release and I would be happy if you can take a look and let me know what you think.

    HEL Library 2 hocumentation as HTML and HEL Library 2 hocumentation as CHM

    Feedback highly appreciated :)
    Kind Regards,
    Peter / HEL, Katie and VisualHAM author
    User avatar
    Peter
    Professional
    Professional
     
    Posts: 1281
    Joined: Thu Jan 30, 2003 12:00 am
    Location: Germany

    Postby blindfold on Thu Dec 22, 2005 9:11 pm

    Great!!

    I have been waiting for some news about HEL, I was even little scared that it won't come.

    As for now, I'm using a HEL with pleasure. It's really well designed and quite handy. To be honest I often catch myself using more HEL than HAM.

    I have browsed this doc for about an hour and I have made a list of my questions to you Peter. Don't treat those as some lazy suggestions, you are trully a great coder and HEL is trully a masterpeace. You know the best a HEL's roadmap.


    1. Is there a possibility to use a HEL backgrounds as a wrapped ones (Scrolling without any tile updating, for example scrolling right 32x32 map with some "clouds" all the time.)?

    2. Is there a way of setting a "Palette Number Bit" to DTE? I know I always ask for this... I was even thinking of making a different array map just to keep palette number and updating the tiles during some callbacks (hel_MapSetCallbacks). I know it's not generic, I'm just looking for some way of using more colors than 15.

    3. Objects are wonderful, I started to hate those in HAM!!! Is there an "easy and lazy" way of using an Object Priorities(Z-Order)? For example setting Object Priority as a 0-127 number? I'm not so deep into obj shadowing so don't laugh, please. (...but I know that obj prio depends on which obj was first.) Imagine a beatem'up game where some lazy coder would just make a Object Priority from Y Position so Enemies wouldn't need any additional Z-Order Sorting.

    4. Is there a way of preparing data for clonning? Like doing a sprite I want clone but not using a gfx slot? It's just for a "clean mem people". For example I prepare a "bullet" sprite and clone it while "shooting"? (...and I know I can make one "bullet" sprite and move it out of the screen.)


    5. Ok, next one. Is there a way of getting a Rot_Scale Angle/Zoom? For example my objects have this system of rotation: When I want to rotate some object I'm checking if there arent any objects using same rotation, if yes - clone, if not - check space for next Rotation Handle Slot. So I have always keep those angles in table of structs of Handles and Angles. If I could check an angle directly, this could spare some memory and made the whole rot routine clearer.


    Well, I think you had a good laugh about this :oops:
    Merry Christmas
    User avatar
    blindfold
    Expert
    Expert
     
    Posts: 95
    Joined: Wed Jun 18, 2003 11:00 pm
    Location: poland

    Postby Peter on Thu Dec 22, 2005 10:36 pm

    blindfold wrote:1. Is there a possibility to use a HEL backgrounds as a wrapped ones (Scrolling without any tile updating, for example scrolling right 32x32 map with some "clouds" all the time.)?


    HEL does not support it yet. hmmpf, seems there is no escape and I have to implement it after almost the whole world asked for it. :wink:



    blindfold wrote:2. Is there a way of setting a "Palette Number Bit" to DTE? I know I always ask for this... I was even thinking of making a different array map just to keep palette number and updating the tiles during some callbacks (hel_MapSetCallbacks). I know it's not generic, I'm just looking for some way of using more colors than 15.


    I'm not really sure what you mean, but:

    The Map-System does not have a function to set it to a specific palettebank, but the Tile-System has! When you create a new Tile-System with hel_TileCreate you can specify the palettebank the tileset is using. If you want to share a tile (so two backgrounds use the same tileset), you can also specify a palettebank. This makes it possible to use the graphics with different colors without having without having them stored twice in Vram. You can share a tileset with hel_TileShare.



    blindfold wrote:3. Objects are wonderful, I started to hate those in HAM!!! Is there an "easy and lazy" way of using an Object Priorities(Z-Order)? For example setting Object Priority as a 0-127 number? I'm not so deep into obj shadowing so don't laugh, please. (...but I know that obj prio depends on which obj was first.) Imagine a beatem'up game where some lazy coder would just make a Object Priority from Y Position so Enemies wouldn't need any additional Z-Order Sorting.


    Oh well, I also thought about a good way to handle object z-order, but I didn't find the non-plus-ultra solution yet. Your 0-127 z-value idea is actually worth a thought.



    blindfold wrote:4. Is there a way of preparing data for clonning? Like doing a sprite I want clone but not using a gfx slot? It's just for a "clean mem people". For example I prepare a "bullet" sprite and clone it while "shooting"? (...and I know I can make one "bullet" sprite and move it out of the screen.)


    No there isn't. But why would you prepare an object for cloning anyway? It's no problem to create for example 10 objects in one frame without slowdown with the new Object-System. I do realtime creation/deletion all the time. I create the "world" and place world-objects (the ones that use objects to display) on initialization. When I scroll the world, I check if a world-object is going to be visible. If so, I create the object (sprite) and only display it as long as it is visible. Works very good for me!



    blindfold wrote:5. Ok, next one. Is there a way of getting a Rot_Scale Angle/Zoom? For example my objects have this system of rotation: When I want to rotate some object I'm checking if there arent any objects using same rotation, if yes - clone, if not - check space for next Rotation Handle Slot. So I have always keep those angles in table of structs of Handles and Angles. If I could check an angle directly, this could spare some memory and made the whole rot routine clearer.


    I didn't get this, what do you mean? :(
    Kind Regards,
    Peter / HEL, Katie and VisualHAM author
    User avatar
    Peter
    Professional
    Professional
     
    Posts: 1281
    Joined: Thu Jan 30, 2003 12:00 am
    Location: Germany

    Postby Peter on Fri Dec 23, 2005 7:49 pm

    yay! regarding the background wrapping, I finally implemented it 8) You can use any map size you want, not limited to the hardware map sizes like 32x32, 64x64 etc. If you want to see it in action (and you want!) here my test application. It uses background wrapping and dynamic tile reloading.
    Kind Regards,
    Peter / HEL, Katie and VisualHAM author
    User avatar
    Peter
    Professional
    Professional
     
    Posts: 1281
    Joined: Thu Jan 30, 2003 12:00 am
    Location: Germany

    new name?

    Postby sumiguchi on Tue Jan 03, 2006 10:12 pm

    I just noticed that the HEL 2 docs have the same name as HEL 1.7 and I accidentally overwrote it!

    This got me wondering if the new lib for HEL 2 will have a new name (maybe something creative like libhel2.a & hel2.h). I don't necessarily want to upgrade my old projects - but may still want to recompile them after I upgrade to HEL2.
    sumiguchi
    User avatar
    sumiguchi
    Expert
    Expert
     
    Posts: 129
    Joined: Mon Oct 10, 2005 8:44 pm
    Location: Canada

    Postby Peter on Tue Jan 03, 2006 10:16 pm

    Very good idea, will do that! Thanks!
    Kind Regards,
    Peter / HEL, Katie and VisualHAM author
    User avatar
    Peter
    Professional
    Professional
     
    Posts: 1281
    Joined: Thu Jan 30, 2003 12:00 am
    Location: Germany

    Postby Peter on Tue Jan 03, 2006 11:09 pm

    Renamed the libs, header and .chm doc (more). BTW, do you think it's a plus to provide HEL additionally as a setup/installer?
    Kind Regards,
    Peter / HEL, Katie and VisualHAM author
    User avatar
    Peter
    Professional
    Professional
     
    Posts: 1281
    Joined: Thu Jan 30, 2003 12:00 am
    Location: Germany

    Postby sumiguchi on Wed Jan 04, 2006 1:26 am

    Personally, I don't like setup files!! I don't recall having any problems getting HEL working with the instructions in the help. I guess if you had to help many people to get it working then it may be worth your while!
    sumiguchi
    User avatar
    sumiguchi
    Expert
    Expert
     
    Posts: 129
    Joined: Mon Oct 10, 2005 8:44 pm
    Location: Canada

    Postby Peter on Wed Jan 04, 2006 2:06 am

    I had another idea earlier today. Currently HEL uses statically allocated memory for the management of some inner workings. I thought it might be a good idea to get rid of it, because if you don't use for example the object system, why would you want to have memory allocated for it? An option to get rid of this would be to provide defines that match the size of required memory for the sub-system in question and to pass a buffer to the init function that is used instead.

    In code it would look like this:
    Code: Select all
    // allocate memory in your own files
    u8 ATTR_MEM_IN_EWRAM MapMemoryPool[HEL_MAPSYSTEM_SIZE];

    // Init map sub-system and pass buffer to work with
    hel_MapInit(MapMemoryPool);


    or maybe even dynamically allocated:
    Code: Select all
    // allocate memory in your own files
    u8 *MapMemoryPool = (u8*)malloc(sizeof(u8)*HEL_MAPSYSTEM_SIZE);

    // Init map sub-system and pass buffer to work with
    hel_MapInit(MapMemoryPool);


    HEL_MAPSYSTEM_SIZE would match the size of the memory that it required for the map-system and is defined in hel2.h

    Feedback highly appreaciated (also for define names or maybe even completely other approaches), anyone? :)
    Kind Regards,
    Peter / HEL, Katie and VisualHAM author
    User avatar
    Peter
    Professional
    Professional
     
    Posts: 1281
    Joined: Thu Jan 30, 2003 12:00 am
    Location: Germany

    PreviousNext

    Return to HAM based development

    Who is online

    Users browsing this forum: No registered users and 5 guests