#include "sfa.hpp" #if __has_include("spriteforge_assets.h") #include "spriteforge_assets.h" #endif #include #include #include #include int main(int argc,char** argv){ if(argc!=2){std::fprintf(stderr,"usage: spriteforge_raylib_example sprite.sfa\n");return 2;} spriteforge::File file(argv[1]); auto frame=file.frame(0); std::array palette{}; palette[3]=220; palette[4]=65; palette[5]=55; palette[6]=80; palette[7]=180; palette[8]=220; palette[9]=235; palette[10]=205; palette[11]=95; std::array pixels{}; sfa_surface surface{pixels.data(),480,270,480}; sfa_blit(&file.view(),&frame,palette.data(),nullptr,surface,240,140,SFA_BLEND_OPAQUE); InitWindow(1440,810,"SpriteForge SFA v1 raylib example"); Image image{pixels.data(),480,270,1,PIXELFORMAT_UNCOMPRESSED_R8G8B8A8}; Texture2D texture=LoadTextureFromImage(image); SetTextureFilter(texture,TEXTURE_FILTER_POINT); while(!WindowShouldClose()){UpdateTexture(texture,pixels.data());BeginDrawing();ClearBackground(BLACK); DrawTexturePro(texture,{0,0,480,270},{0,0,1440,810},{0,0},0,WHITE);EndDrawing();} UnloadTexture(texture);CloseWindow();return 0; }