Ouais, bon, on ne peut pas révolutionner le monde à chaque post, hein ? Donc, voilà: j'ai basculé la logique de jeu vers l'écran "principal" (ou plutôt devrais-je dire le 2D Engine principal), celui qui est capable d'avoir plus de 128K de graphismes et de faire de la 3D. Ca résout quelques bugs mineurs dans Apple Assault, et ça fout très certainement la zone dans runme, mais bon, on corrigera ça plus tard. C'est pas vraiment excitant comme news, mais au moins c'est fait.
For my own archive, the following changes had to take place :
- GameScript::GameScript() hard-code initialisation of tilesram with (u16*)BG_MAP_RAM_SUB(8*tile_index)
- GameScript::BgCommand() hardcodes videoSetModeSub, SUB_BG0_CR, usage of BG_PALETTE_SUB for the new SpriteSet and BG_MAP_RAM_SUB for new InfiniMap objects.
- "color %% RRGGBB" gobscript command hardcodes BG_PALETTE_SUB
- "spr.load ### :%%" gobscript command hardcodes SPRITE_GFX_SUB and SPRITE_PALETTE_SUB
- FadeSequence (guns.cxx) uses SUB_WIDGETS_OVERLAY, SUB_BG1_CR and videoSetModeSub
- CmdWindow::restore/release() uses SUBxxx all over the place.
- GobAnim::prepare explicitly allocates Engine::RES_OAM_SUB
- page import in BlockAnim explicitly uses BG_PALETTE_SUB
- ANIM_SET_SPR in BlockAnim explicitly memcpy towards BG_MAP_RAM_SUB(...)
- Engine::clearscreen() was tweaked so that it doesn't clear the map we've loaded as sub-bg.
- the console needs to be remapped on the sub-screen.
- GE_MORE_MEMORY only partly address the purple side-effects. I wonder whether the loaded background is large enough.
No comments:
Post a Comment