hedgewars/uStore.pas
changeset 1896 fdacad5d0acc
parent 1865 ebc6dfca60d4
child 1904 20348675b015
equal deleted inserted replaced
1895:7ba647a88b2f 1896:fdacad5d0acc
   315 rr.x:= X;
   315 rr.x:= X;
   316 rr.y:= Y;
   316 rr.y:= Y;
   317 rr.w:= r^.w;
   317 rr.w:= r^.w;
   318 rr.h:= r^.h;
   318 rr.h:= r^.h;
   319 
   319 
   320 _l:= r^.x / SourceTexture^.w;
   320 _l:= r^.x / SourceTexture^.w * SourceTexture^.rx;
   321 _r:= (r^.x + r^.w) / SourceTexture^.w;
   321 _r:= (r^.x + r^.w) / SourceTexture^.w * SourceTexture^.rx;
   322 _t:= r^.y / SourceTexture^.h;
   322 _t:= r^.y / SourceTexture^.h * SourceTexture^.ry;
   323 _b:= (r^.y + r^.h) / SourceTexture^.h;
   323 _b:= (r^.y + r^.h) / SourceTexture^.h * SourceTexture^.ry;
   324 
   324 
   325 glBindTexture(GL_TEXTURE_2D, SourceTexture^.id);
   325 glBindTexture(GL_TEXTURE_2D, SourceTexture^.id);
   326 
   326 
   327 glBegin(GL_QUADS);
   327 glBegin(GL_QUADS);
   328 
   328 
   348 glBegin(GL_QUADS);
   348 glBegin(GL_QUADS);
   349 
   349 
   350 glTexCoord2f(0, 0);
   350 glTexCoord2f(0, 0);
   351 glVertex2i(X, Y);
   351 glVertex2i(X, Y);
   352 
   352 
   353 glTexCoord2f(1, 0);
   353 glTexCoord2f(Texture^.rx, 0);
   354 glVertex2i(Texture^.w + X, Y);
   354 glVertex2i(Texture^.w + X, Y);
   355 
   355 
   356 glTexCoord2f(1, 1);
   356 glTexCoord2f(Texture^.rx, Texture^.ry);
   357 glVertex2i(Texture^.w + X, Texture^.h + Y);
   357 glVertex2i(Texture^.w + X, Texture^.h + Y);
   358 
   358 
   359 glTexCoord2f(0, 1);
   359 glTexCoord2f(0, Texture^.ry);
   360 glVertex2i(X, Texture^.h + Y);
   360 glVertex2i(X, Texture^.h + Y);
   361 
   361 
   362 glEnd()
   362 glEnd()
   363 end;
   363 end;
   364 
   364 
   373 if Dir < 0 then
   373 if Dir < 0 then
   374 	hw:= - 16
   374 	hw:= - 16
   375 else
   375 else
   376 	hw:= 16;
   376 	hw:= 16;
   377 
   377 
   378 ft:= Frame / Frames;
   378 ft:= Frame / Frames * Texture^.ry;
   379 fb:= (Frame + 1) / Frames;
   379 fb:= (Frame + 1) / Frames * Texture^.ry;
   380 
   380 
   381 glBindTexture(GL_TEXTURE_2D, Texture^.id);
   381 glBindTexture(GL_TEXTURE_2D, Texture^.id);
   382 
   382 
   383 glBegin(GL_QUADS);
   383 glBegin(GL_QUADS);
   384 
   384 
   385 glTexCoord2f(0, ft);
   385 glTexCoord2f(0, ft);
   386 glVertex2i(-hw, -16);
   386 glVertex2i(-hw, -16);
   387 
   387 
   388 glTexCoord2f(1, ft);
   388 glTexCoord2f(Texture^.rx, ft);
   389 glVertex2i(hw, -16);
   389 glVertex2i(hw, -16);
   390 
   390 
   391 glTexCoord2f(1, fb);
   391 glTexCoord2f(Texture^.rx, fb);
   392 glVertex2i(hw, 16);
   392 glVertex2i(hw, 16);
   393 
   393 
   394 glTexCoord2f(0, fb);
   394 glTexCoord2f(0, fb);
   395 glVertex2i(-hw, 16);
   395 glVertex2i(-hw, 16);
   396 
   396 
   438 glBegin(GL_QUADS);
   438 glBegin(GL_QUADS);
   439 
   439 
   440 glTexCoord2f(0, 0);
   440 glTexCoord2f(0, 0);
   441 glVertex2i(-hw, -hh);
   441 glVertex2i(-hw, -hh);
   442 
   442 
   443 glTexCoord2f(1, 0);
   443 glTexCoord2f(Tex^.rx, 0);
   444 glVertex2i(hw, -hh);
   444 glVertex2i(hw, -hh);
   445 
   445 
   446 glTexCoord2f(1, 1);
   446 glTexCoord2f(Tex^.rx, Tex^.ry);
   447 glVertex2i(hw, hh);
   447 glVertex2i(hw, hh);
   448 
   448 
   449 glTexCoord2f(0, 1);
   449 glTexCoord2f(0, Tex^.ry);
   450 glVertex2i(-hw, hh);
   450 glVertex2i(-hw, hh);
   451 
   451 
   452 glEnd();
   452 glEnd();
   453 
   453 
   454 glPopMatrix
   454 glPopMatrix