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 - monono

No, that works. You can use individual ALPHAMODEs before each POLYVECTOR. You can even change just one point. You cannot go over zero in one POLYSTART-END call.
I did reach my christmas goal :D
As I haven´t finished many games this year  :'(, I wanted to make a Christmas Game. But the last week was much more packed than I thought. Still a little buggy as I hacked it together (specially in the fullscreen mode...wonder why).
So here it is: Christmas Swap

Don´t wonder about the level design. That are my test levels with no balancing at all. Time to christmas eve was ticking.
To win you have to destroy all the iced plates.

Merry christmas everyone!

[attachment deleted by admin]
Nicely done. Much nicer than copying and scaling the screen. This is some kind of the approach I use too. I would change the name. "z". It reminds me of the 3th dimension."v" like "virtual screen" would suit better. :)
Just put an ALPHAMODE before each POLYVECTOR to change the corners alpha. Every corner of the same polygon has to be above or under 0. Cant´t change ogl blendmodes in one call, I think. For example if the other corners have an alpha value of -0.999 and 0 in the one corner doesn´t make any differents, try -0.0001 instead.
I have that monitor. I asked the same question in the german forum. I didn´t get any answer at all.
In the thread I mention a bmx lib which works just fine. I am using that at the moment.
I followed their funding on This is quit genius. As a huge zombie-fan-boy with the potential to carry around some pounds less, this is made for me. Jogging is that boring for hyperactives anyway. I will give it a try.
I don´t know exactly what you are doing, but it seems pretty complicated to me (No complete code. I can´t test it =D). What is that MOD() function about?
But one mistake I can help. You don´t have to call STARTPOLY/ENDPOLY instead of DRAWSPRITE, you can do it with one drawing call. Using POLYNEWSTRIP is where the increase of speed should come from.
Code (glbasic) Select

FOR y = 0 to 10
   FOR x = 0 to 15
      POLYVECTOR x*tilewidth,y*tilewidth
      POLYVECTOR ....
      POLYVECTOR ...
      POLYVECTOR ...
      POLYNEWSTRIP //!!!!!!!!!

To do that you have to put all tile-graphics into one texture and change the texture coordinates in the loop.
For me it is very jerky in the code and in the video. I had the same problem, even with older versions. I used to never have slow movements :)
Now I solved it somehow. I changed 2 things and don´t know which one changed it.
1. Instead of using GETTIMER() I use GETTIMERALL() to get the time since last showscreen (timer=GETTIMERALL()- lasttime)
2. I calculate time, positions and have all gamelogic in as many fps as it gets. Just drawing and SHOWCREEN is every 1000/60.
Code (glbasic) Select
  WHILE Usedtime <= FrameTime
     //do everything
     INC UsedTime,timer
  //draw everything

You could also change the spritecolor to black using glColor3f() importing the samples/common/gl.gbas. That way you could just draw the same sprite 2 times. First black glColor3f(0,0,0) and then full color glColor3f(1,1,1.)
If you have all 4 corner points, you can check for all 4 corners of the first sprite if it´s in the second. It´s pretty fast. Here a starting point

Code (glbasic) Select

        //corner(x,y) in sprite(x1,y1 ... x4,y4)
        IF ((y - y1) * (x2 - x1)) - ((x - x1) * (y2 - y1)) <= 0 THEN RETURN FALSE
IF ((y - y2) * (x3 - x2)) - ((x - x2) * (y3 - y2)) <= 0 THEN RETURN FALSE
IF ((y - y3) * (x4 - x3)) - ((x - x3) * (y4 - y3)) <= 0 THEN RETURN FALSE
IF ((y - y4) * (x1 - x4)) - ((x - x4) * (y1 - y4)) <= 0 THEN RETURN FALSE

Have a look into polyvector. There are some routines here in the forum to do the same as drawsprite with it, but with extra features like setting color.
Scherzkeks BumbleBee! Es ist wie es backslider sagt: Eigentlich ists doch ein normales win7 mit Touchoberfläche.
Push!!!! :nw:
Gestern hat eine Fliege auf dem Monitor "Drag´n Walk" mit meinen Fenstern gemacht. Irgendwann war es mir zuviel. Jetzt ist sie tot! :)
Really well done!
I would check while filling the field, that there are no matches right from the beginning. Feels like a bug, if you just have to drag a row and don´t move it and it still does find matches right then.