Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Dark Cloud 2] Broken DMA GIF IMAGE transfer

Aperta
#123 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 5 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
cpp
Ambito
game-dev

Direzione di ricerca

Start by locating mgLoadTextureZ__FiP8TM2_head and tracing how the runtime handles GIF IMAGE transfers. Compare the game's stated transfer-size calculation with the expected size for 4HH/4HL sheets. Done means the runtime does not give up after the first GIF IMAGE and handles the transfer at the correct size.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug runime

Dark Cloud 2 has a function mgLoadTextureZ__FiP8TM2_head

The purpose of this function is to upload 4HH and 4HL font sheets into the upper 8 bits of the z buffer
However the game has a bug, it incorrectly calculates the size of the transfer

Because 4HH/4HL are measured in pixels per byte, the correct calculation is something like:
(width * height) / 2 / 16

But the game calculates
(width * height * bpp) / 16

This causes a transfer that is 8x it's actual size and thus the DMAC to run off the end of the stack
This seems to work on real hw/emulation but the current runtime seems to give up the transfer after the first GIF IMAGE instead.

Lingua principale
C++
Stelle
3.3k
Fork
149
Merge medio
5g 10h
PR unite (30g)
4

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ran-j/PS2Recomp

Tutte le issue di ran-j/PS2Recomp

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.