Sprites not showing even though everything seems to be fine (using NightFox's Lib)

theMADturtle

New Member
OP
Newbie
Joined
Feb 18, 2023
Messages
1
Trophies
0
Age
17
XP
24
Country
Israel
here is my code, I basically want a simple sprite with some top down movement, but I just can't make sprite show up on screen.

C++:
#include <nds.h>
#include <gl2d.h>
#include <stdio.h>
#include <nf_lib.h>
#include <nf_sprite256.h>

//player vars
float playerX = 0;
float playerY = 0;
int playerW = 16;
int playerH = 16;
int playerSpeed = 2;

void playerMovement(){
        //moves the player
        u32 keysDown = keysHeld();
        
        if (keysDown & (KEY_LEFT | KEY_RIGHT | KEY_UP | KEY_DOWN)) {
            if (keysDown & KEY_LEFT) {
                playerX-=playerSpeed;
            } else if (keysDown & KEY_RIGHT) {
                playerX+=playerSpeed;
            } else if (keysDown & KEY_DOWN) {
                playerY+=playerSpeed;
            } else if (keysDown & KEY_UP) {
                playerY-=playerSpeed;
            }
        }
        if(keysDown){
            if (keysDown & KEY_UP){
                if (keysDown & KEY_RIGHT){
                    playerY-=playerSpeed/2;
                    playerX+=playerSpeed/8;
                }
            }
            if (keysDown & KEY_UP){
                if (keysDown & KEY_LEFT){
                    playerY-=playerSpeed/2;
                    playerX-=playerSpeed/8;
                }
            }
            if (keysDown & KEY_DOWN){
                if (keysDown & KEY_RIGHT){
                    playerY+=playerSpeed/2;
                    playerX+=playerSpeed/8;
                }
            }
            if (keysDown & KEY_DOWN){
                if (keysDown & KEY_LEFT){
                    playerY+=playerSpeed/2;
                    playerX-=playerSpeed/8;
                }
            }
        }
}

int main(void) {
    NF_SetRootFolder("NITROFS");
    NF_Set2D(0, 0);   
    swiWaitForVBlank();

    // Initialize the Tiled Sprites System on the Bottom Screen
    NF_InitSpriteBuffers();
    NF_InitSpriteSys(0);
    
     NF_LoadSpriteGfx("player",0,16,16);
    NF_LoadSpritePal("palette",0);
    
    NF_VramSpriteGfx(0,0,0,false);
    NF_VramSpritePal(0,0,0);
    
    NF_CreateSprite(0,0,0,0,playerX,playerY);
    NF_SpriteOamSet(0);
    swiWaitForVBlank();
    oamUpdate(&oamMain);
    while(1) {
        scanKeys();
        glBegin2D();
        
        //render player
        NF_CreateSprite(0,0,0,0,playerX,playerY);
        playerMovement();
        
        NF_SpriteOamSet(0);
        swiWaitForVBlank();
        oamUpdate(&oamMain);
    }
}
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=iIpfWORQWhU