Skip to content

Releases

Bigodão: WL SM3 — Release Notes

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 04 Nov 05:25

Pixel-perfect scaling, real upscaling filters and save state banner (v.1.8.0)

Add integer scaling for fullscreen, post-processing filters that actually work, a fix for a sprite lag inherited from the original game, and a new on-screen banner for save states. It also makes the 3D mode much lighter on the Steam Deck.


🖥️ Scaling and image

  • Integer scaling (new): Settings > Image > Scaling: Integer (pixel perfect). Every Game Boy pixel becomes exactly k × k screen pixels (7x on a 1080p screen), and the rest becomes black bars. No more uneven 7.5x pixels. The default stays Fit to screen.
  • Sharp bilinear filter (new): a third scale filter next to Nearest and Linear. It scales like Nearest and only blends the last pixel row of each edge, so fractional scales like 7.5x look crisp without shimmering or bars (OpenGL only).
  • Internal resolution now explains in the menu what it does: it only changes what you see with texture mods, with the Original colors, and in how sharp the Linear filter looks. The default is 2x so the Original colors work.

✨ Post-processing filters, rebuilt

The old upscaling filters ran on the already enlarged image and were not the real algorithms, so they barely changed anything. They were replaced:

  • Scale2x / Scale3x (sharp): the real EPX rules. Clean, straight diagonals and no color blending. Scale3x is used at 3x internal resolution.
  • xBR (smooth): Hyllian's xBR (level 2) algorithm, with rounded curves and anti-aliased edges.
  • LCD grid and Scanlines now follow the Game Boy pixel grid at any internal resolution.
  • The filters work on both the CPU and the GPU with identical results, and turning one on raises the internal resolution to at least 2x.
  • Works with the Original colors (black and white / DMG green). With HD texture mods, Scale2x and xBR only smooth what is still pixel art (sprites or tiles without an HD texture) and leave the HD textures untouched. The Mods menu explains this.
  • HQ2x, xBRZ and Pixel-Perfect Sharp were removed. Saved settings move to xBR (from HQ2x and xBRZ) or Off (from Pixel-Perfect).

🎮 Game improvements

  • Sprite lag fix (new): in the original game, items and enemies are drawn one frame ahead of the background while the screen scrolls. Walking forward, a heart or an enemy slides slightly backwards. Bigodão now draws them with the same camera as the background. It is display only: gameplay, collisions and enemy behavior are unchanged. New section Game > Game improvements > Fix sprite lag (original game bug), on by default.

💾 Save state banner (new)

  • With the menu closed, saving, loading or changing slot with the shortcuts shows a floating pill at the top of the screen for about 2 seconds, in the colors of the selected menu theme:
    • the 10 slots, numbered: the current one highlighted, slots with a save marked with a dot, empty slots dashed;
    • "Game saved - slot N", "Loading - slot N" or "Slot N";
    • below it, a picture of the saved screen, saved next to each save state. Older saves show "No picture".
  • Turn it on or off in Game > Save states > Save interface (on by default).

⚙️ Settings

  • V-Sync is now saved when you close and reopen the game (before, it always went back to the default).
  • V-Sync is now on by default on every platform (it was on only on Android).
  • Keyboard layouts: keys work by position, so on AZERTY the movement keys are Z Q S D and A is W. Settings > Controls now shows the key names of your own layout instead of the US names.

🧊 3D performance

  • The 3D mode is much lighter, especially on the Steam Deck: fewer vertices on block, door and sprite sides, one draw for blocks and doors, the three 3D images drawn in a single pass, and lighter water and background passes. On the Steam Deck, 3D with 4x images went from about 43 fps to a steady 60, and the stutters are fixed.
  • 3D image resolution (new): Settings > 3D. Automatic (default) uses 1x without HD tiles, where it looks the same, and the internal resolution with HD tiles.
  • Performance overlay (F1): time per stage on the GPU and CPU, with peaks, to help track slowdowns.

🐞 Fixes

  • Original colors (black and white / DMG green): a dark line no longer flickers across falling water, in the center or on the widescreen sides. It showed up for 1–2 lines while the game was rewriting the waterfall tiles mid-frame.
  • The game improvements option moved to its own section at the top of the Game page.

📌 Notes

  • Existing users keep their saved scaling, filter and internal resolution. V-Sync turns on once for everyone, since it was never saved before; turn it off again in the menu if you prefer it off.
  • With V-Sync on and a monitor above 60 Hz, check that the game pace feels right. If not, turn V-Sync off: the choice is now saved.

Bigodão: WL SM3 — Release Notes

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 30 Oct 20:36

Bigodão: WL SM3 v 1.7.0

Minor releases:

  • Back to original: Add a mode to change to black-and-white or DMG colors.
  • Trash background at the end of levels.

Important Notice

The option for black-and-white or DMG colors are located into the VIDEO settings > IMAGE group > Original (black and white) | Original (DMG green)

image

The option for black-and-white or DMG colors needs to redump the rom again.
The option for black-and-white or DMG colors only works correctly with a minimum of 2x internal resolution
A user who is updating the game will have to make sure to switch to 2x internal resolution to change.

Bigodão: WL SM3 — Release Notes

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 28 Oct 05:55

Bigodão: WL SM3 — Release Notes

Enemies beyond the screen edge, gyroscope camera and new defaults (v.1.6)

This release shows enemies outside the original Game Boy screen in widescreen and 3D, adds gyroscope control for the 3D camera, and changes some defaults so the game runs smoother out of the box.


👾 Enemies beyond the screen edge

  • Widescreen (2D): enemies that are already active are now drawn on the widescreen sides at their real position. Before, they disappeared at the edge of the original 160-pixel screen or showed up as "ghosts" on the opposite side.
  • 3D mode: enemies waiting further away in the level, to the left, right, above or below, now appear in the 3D view as still images at their spawn position. They come to life as usual when Wario gets close.
  • The game logic is untouched: spawning, enemy behavior and collision work exactly as on the Game Boy. Earlier attempts that widened the spawn range caused missing enemies, checkpoint doors that never appeared, flickering and spikes that fell too early, so that approach was dropped.
  • New option Settings > 3D > Enemies beyond the screen (on by default) to turn these images on or off.
  • Fix: bats and other enemies that pick their facing direction when they spawn no longer face the wrong way when they spawn near the right edge of the wide view.

🎮 Gyroscope camera (new)

  • On Android phones and controllers with a motion sensor (DualShock 4, DualSense, Switch Pro…), tilting the device turns and tilts the 3D camera. It eases back to center when you hold still.
  • It works together with the right analog stick and with the camera that follows Wario.
  • Settings in 3D > Camera: on/off (on by default), sensitivity, and invert turn / tilt. The menu shows which sensor was found: the controller or the device itself.

⚙️ New defaults

  • V-Sync is now on by default on Android. Without it, the 3D mode ran at about 56 fps on phones. With it, it holds a steady ~60 fps. On PC it stays off, and the game keeps pacing itself at the Game Boy's 59.7 fps.
  • Internal resolution now defaults to 1x on every platform (it was 4x). It is lighter, especially in 3D. HD tile packs still need 2x or more, and the Mods menu tells you when to raise it.

📖 Documentation

  • New Controls section in the README with the default keyboard and controller bindings.
  • The gyroscope camera is described in the README's 3D Mode section.

📌 Notes

  • Existing users keep their saved internal resolution. The new defaults apply to new installs and to Reset display.
  • Known issue: on the Steam Deck, 3D mode with a high internal resolution (4x) can stutter. Use 1x or 2x in 3D for now. An optimization is planned.

Bigodão 1.5.0

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 26 Oct 04:36

Bigodão: WL SM3 — Release Notes

GPU renderer, 3D mode and new settings menu (v.1.5)

This release moves the screen composition to the GPU, adds an optional 3D mode that turns the Game Boy screen into real depth layers, and replaces the settings menu with a new one in English and Portuguese.


🖥️ GPU renderer

  • The screen is now composed by the GPU (OpenGL) by default: center, widescreen sides, HD tiles and filters. It looks the same as the CPU path and runs lighter on Android and Steam Deck.
  • Post-processing filters (LCD Grid, Scanlines, Scale2x, HQ2x, xBRZ, Pixel-Perfect) now also run on the GPU.
  • 120 fps mode (in-between frames) works together with the GPU screen. The game still runs at 60: physics and music keep their speed.
  • New install defaults: OpenGL video, 4x internal resolution, Linear filter and fullscreen.
  • Widescreen sides without scenery (title, COURSE, boss, map transitions) can be black, a blurred edge or a blurred center.

🧊 3D mode (new)

Turn it on in Settings > 3D > 3D mode: Layers. Needs the OpenGL video and Screen composition: GPU.

  • Real volume in the levels: solid blocks are extruded, water is a volume with the wave surface repeated in depth, doors and ladders get their own plane, and sprites (Wario, enemies, barrels) are extruded too.
  • The level continues beyond the screen while the camera is tilted or turned, with HD tiles there too.
  • Front layer: a copy of the terrain blocks in front of everything, with a black outline, for a "new layer" look. Breakable and item blocks are left out.
  • Camera:
    • tilt (also from below), turn and depth settings;
    • right analog stick moves the camera and springs back when released;
    • the camera follows Wario, with no jerk when he reaches the top of the screen;
    • the turn mirrors to the side Wario is walking to.
  • Adjustable sprite thickness and front layer distance.
  • The HUD stays fixed and flat on top, and the level tiles behind it are kept in the 3D layers.
  • 3D outside the levels (title, save slots, maps, Course Clear, bonus games, treasure room, Time Up, game over):
    • tiles are marked by hand as floor, half floor, water or door/ladder, with a built-in editor (click on the game) and a Freeze the game button for scenes that can't be paused;
    • marks are kept per screen (g00, m44, g80–g85…) in mods/3d_marcas.txt, and a default set of marks ships with the game;
    • on the map screens, sprites are extruded like in the levels.
  • The 3D view always uses the Nearest filter (Linear caused artifacts).
  • Many fixes for water (dithered skies, still water with dotted bodies), coins, plants, bumped blocks and caves.

⚙️ New settings menu

  • Category list on the left (Display, 3D, Audio, Controls, Game, Mods, Developer) with the settings grouped on the right. The menu remembers the last category opened.
  • Language: English (default) or Portuguese, chosen at the top of the menu.
  • Menu themes with Wario's colors: Wario classic (default), Gold, Cream (light), Yellow (light) and the Original dark blue.
  • The window title now reads "Bigodão - Wario Land: Super Mario Land 3".

📌 Notes

  • Settings are saved in runtime_prefs.ini as before. Existing users keep their saved 3D values; the new defaults apply to new installs and to Reset display.
  • 3D mode and the GPU renderer need OpenGL 3.3 (or OpenGL ES 3.0 on Android). Without it the game falls back to the CPU renderer in 2D.
  • For Steam Deck, Android, Handheld, and those who experience lag in 3D mode gameplay - Use 1x Internal Resolution.

Bigodão 1.1.1

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 20 Oct 00:48

Bigodão - Wario Land: Super Mario Land 3

Minor updates

  • More readable launcher
  • Blur edge effects on widescreen for non-widescreen gaming parts
  • 120 fps experimental

Bigodão 1.1.0

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 19 Oct 04:59

Bigodão - Wario Land: Super Mario Land 3

🇺🇸 English

Highlights

  • Correct colors in the widescreen side areas: caves, beach, sea and barrels no longer show the wrong palette at the sides.
  • Black side areas where the game only uses the original screen: boss rooms, the "COURSE No.XX" screen, level loading, and the return from the treasure screen to the map. No more garbage on those screens.
  • Reference grid for painting tiles: each capture now comes with an image showing the box and number of every tile.

Widescreen

  • Side area palettes: blocks outside the screen take their color from several sources, in order of trust. First, what the game showed on screen. Then, the DX color table, on the page that matches the current room. Last, the same tile seen near the screen. Fixed:
    • water and edges of the cave behind the door;
    • beach waves and sky;
    • sand under the ship;
    • barrels at the start of the first level.
  • Room changes (doors): colors learned in the previous room are forgotten, so the new room doesn't inherit wrong colors.
  • Sprites at the left edge: sprites crossing the leftmost column of the original screen are no longer cut off in the side area.
  • Regional map: the region name bar continues into the side areas, using the color of the bar's edge.
  • Screens with black side areas:
    • boss room;
    • "COURSE No.XX" screen and level loading;
    • return from the treasure screen to the map.
  • Entering a level: the side areas now show up during the fade-in, without the half second of black sides.

Modding tools

  • Reference grid (scene_NNN_bg_grade_4x.png, scene_NNN_obj_grade_4x.png and sprites_NNN_grade_4x.png): can be used as a layer on top of your painting.
    • Each tile gets a box at its real position and its number in the .json, the same number everywhere the tile repeats.
    • Yellow box = repeated tile; blue = unique tile.
    • x/y after the number = mirrored occurrence.
  • Paint on a separate layer: anything left 100% transparent doesn't count.
    • hd_slice.py doesn't write tiles with no painted pixels.
    • On the background, transparent pixels keep the original.
    • hd_empacotar.py leaves out fully transparent sprites.
    • --manter-vazios restores the old behavior (useful to hide a sprite piece on purpose).
  • Full music list (01 to 30) in the COMO_CRIAR_MODS.md guide (Portuguese), with where each track plays and which ones are jingles (play once). The same list is in tools/musicas.json. Source: disassembly of the original game (Kak2X/wl).

Developer menu

  • Laterais: mostrar origem da cor (show color source for side areas): tints each side-area pixel by the source of its color, to track down palette errors. The legend is in the menu.
  • Current screen: shows the DX color table page in use and the current screen type (level, boss, loading, COURSE, map getting ready).
  • Registrar estado no terminal (log state to terminal): prints a [Estado] line on every change of game mode, sub-mode, map mode or color page. Helps find the exact frames of a transition.

Building

No new source files were added:

cmake --build build

Credits

  • Disassembly of the original Wario Land: Kak2X/wl, used to identify the screens (boss, COURSE, map) and the music list.

🇧🇷 Português

Destaques

  • Cores certas nas laterais do widescreen: cavernas, praia, mar e barris não saem mais com a paleta errada nas laterais.
  • Laterais pretas onde o jogo só usa a tela original: salas de chefe, tela "COURSE No.XX", carga da fase e volta da tela do tesouro para o mapa. Acabou o lixo nessas telas.
  • Grade de referência para pintar tiles: cada captura agora traz uma imagem com a caixa e o número de cada tile.

Widescreen

  • Paletas das laterais: os blocos fora da tela pegam a cor de várias fontes, em ordem de confiança. Primeiro, o que o jogo mostrou na tela. Depois, a tabela de cores da DX, na página que bate com a sala atual. Por último, o mesmo tile visto perto da tela. Corrigidos:
    • água e bordas da caverna depois da porta;
    • ondas e céu da praia;
    • areia embaixo do navio;
    • barris do começo da primeira fase.
  • Troca de sala (portas): as cores aprendidas na sala anterior são esquecidas, e a sala nova não herda cores erradas.
  • Sprites na borda esquerda: sprites que passam pela coluna mais à esquerda da tela original não são mais cortados na lateral.
  • Mapa regional: a faixa do nome da região continua pelas laterais, com a mesma cor da borda da faixa.
  • Telas com laterais pretas:
    • sala do chefe;
    • tela "COURSE No.XX" e carga da fase;
    • volta da tela do tesouro para o mapa.
  • Entrada na fase: as laterais aparecem já no fade de entrada, sem o meio segundo de laterais pretas.

Ferramentas para criar mods

  • Grade de referência (scene_NNN_bg_grade_4x.png, scene_NNN_obj_grade_4x.png e sprites_NNN_grade_4x.png): pode ser usada como camada por cima da pintura.
    • Cada tile tem uma caixa na posição real e o seu número no .json, o mesmo em todo lugar onde ele se repete.
    • Caixa amarela = tile repetido; azul = tile único.
    • x/y depois do número = ocorrência espelhada.
  • Pintura numa camada separada: o que ficar 100% transparente não conta.
    • hd_slice.py não grava tiles sem nenhum ponto pintado.
    • No fundo, pontos transparentes mantêm o original.
    • hd_empacotar.py deixa de fora sprites totalmente transparentes.
    • --manter-vazios volta ao comportamento antigo (útil para esconder um pedaço de sprite de propósito).
  • Lista completa das músicas (01 a 30) no guia COMO_CRIAR_MODS.md, com onde cada uma toca e quais são jingles (tocar uma vez só). A mesma lista está em tools/musicas.json. Fonte: disassembly do jogo original (Kak2X/wl).

Menu Desenvolvedor

  • Laterais: mostrar origem da cor: pinta cada ponto das laterais pela fonte da cor usada, para achar erros de paleta. A legenda fica no menu.
  • Tela atual: mostra a página da tabela de cores DX em uso e o tipo de tela atual (fase, chefe, carga, COURSE, mapa se preparando).
  • Registrar estado no terminal: escreve uma linha [Estado] a cada troca de modo de jogo, sub-modo, modo do mapa ou página de cores. Ajuda a achar o trecho exato de uma transição.

Para compilar

Não há arquivos novos de código:

cmake --build build

Créditos

  • Disassembly do Wario Land original: Kak2X/wl, usado para identificar as telas (chefe, COURSE, mapa) e a lista de músicas.

Bigodão 1.0.0

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 17 Oct 05:45

Bigodão - Wario Land: Super Mario Land 3

🇺🇸 English

Highlights

  • Android Port: Inittial Android Port.
  • Native renderer: the game is now drawn by the port itself, without going through the emulated PPU. A full check against the emulated mode found 0 differences. The emulated mode is still available in the Developer menu for comparison.
  • High-resolution tiles and sprites (HD mods): paint the graphics at 2x, 3x, 4x or higher and load them as a mod. The widescreen side areas accept HD tiles too.
  • .ogg tracks instead of the Game Boy music: the track plays in place of the music, while sound effects still come from the GB.

Graphics

  • Internal resolution from 1x to 4x, with the HD frame sent straight to the screen.
  • Faster widescreen side areas, now in HD as well.
  • Fix: static (horizontal lines) during screen transitions with widescreen on.

Mods

  • Mods are .o2r files (a plain ZIP with a different extension) in the mods/ folder, each with an on/off checkbox in the Mods menu. The choice is saved.
  • Loose folders for testing without packing: mods/hd/ (tiles) and mods/music/ (tracks).
  • When the same tile is in more than one mod, the one lowest in the list wins.
  • HD tiles are recolored automatically during fades and palette changes.

Modding tools

  • F9 / Capture scene: saves the current scene as separate layers (background and sprites), ready to paint at 4x.
  • Record sprite poses: records animations while you play and builds a spritesheet with each pose only once. A mirrored pose counts as the same one, and an optional rectangle limits the recorded area.
  • tools/hd_slice.py: slices your painting into HD tiles. Painted pixels win over pixels left as the original, so each piece only needs to be painted once (for example, Wario facing one side only).
  • tools/hd_empacotar.py and tools/musica_empacotar.py: build the tile .o2r and the music .o2r.
  • Full guide in COMO_CRIAR_MODS.md (Portuguese).

Audio

  • .ogg tracks: each music/XX.ogg file replaces music number XX. Loop points can come from the file's LOOPSTART/LOOPLENGTH tags or from a music.json, and jingles can be set to play once. Music without a track keeps playing on the Game Boy.
  • Separate volumes: Master, Game Boy (effects and GB music) and Tracks. All three are saved.
  • Steadier audio: the buffer follows the sound card's clock, without the stutter of the old adjustment and without crackles.
  • Fix: audio underrun a few seconds after entering doors. The game was running unthrottled while the screen was off.
  • Developer menu: list of played music (with optional terminal log), per-channel mute, and a memory view of the sound driver.

Building

New source files were added. Reconfigure before building:

cmake -S . -B build
cmake --build build

Credits


🇧🇷 Português

Destaques

  • Android Port: Android Port incial.
  • Renderizador nativo: o jogo agora é desenhado pelo próprio port, sem passar pelo PPU emulado. A conferência contra o modo emulado deu 0 diferenças. O emulado continua disponível no menu Desenvolvedor, para comparar.
  • Tiles e sprites em alta resolução (mods HD): pinte os gráficos em 2x, 3x, 4x ou mais e carregue como mod. As laterais do widescreen também aceitam tiles HD.
  • Trilhas .ogg no lugar da música do Game Boy: a trilha toca no lugar da música, e os efeitos sonoros continuam saindo do GB.

Gráficos

  • Escala interna de 1x a 4x, com o frame HD usado direto na tela.
  • Laterais do widescreen otimizadas e em HD.
  • Correção: chuvisco (linhas horizontais) nas trocas de cena com o widescreen ligado.

Mods

  • Mods em arquivos .o2r (um ZIP comum com outra extensão) dentro da pasta mods/, com uma caixa para ligar e desligar cada um no menu Mods. A escolha fica salva.
  • Pastas soltas para testar sem empacotar: mods/hd/ (tiles) e mods/music/ (trilhas).
  • Quando o mesmo tile está em mais de um mod, vale o mod mais embaixo na lista.
  • Recoloração automática dos tiles HD nos fades e nas trocas de paleta.

Ferramentas para criar mods

  • F9 / Capturar cena: grava a cena atual em camadas separadas (fundo e sprites), pronta para pintar em 4x.
  • Gravar poses de sprites: grava as animações enquanto você joga e monta um spritesheet com cada pose uma vez só. Pose espelhada conta como a mesma, e há um retângulo opcional para limitar a área gravada.
  • tools/hd_slice.py: fatia a pintura em tiles HD. O que foi pintado vence o que ficou igual ao original, então basta pintar cada pedaço uma vez (por exemplo, o Wario olhando para um lado só).
  • tools/hd_empacotar.py e tools/musica_empacotar.py: montam o .o2r de tiles e o de músicas.
  • Guia completo em COMO_CRIAR_MODS.md.

Áudio

  • Trilhas .ogg: cada arquivo music/XX.ogg substitui a música de número XX. O loop pode vir das tags LOOPSTART/LOOPLENGTH do arquivo ou de um music.json, e os jingles podem tocar uma vez só. Música sem trilha continua tocando no Game Boy.
  • Volumes separados: Master, Game Boy (efeitos e música do GB) e Trilhas. Os três ficam salvos.
  • Áudio mais estável: o buffer acompanha o relógio da placa de som, sem os trancos do ajuste antigo e sem estalos.
  • Correção: underrun alguns segundos depois de entrar em portas. O jogo corria sem freio enquanto a tela estava apagada.
  • Menu Desenvolvedor: lista das músicas tocadas (com registro opcional no terminal), silenciar canais um a um e vigiar a memória do driver de som.

Para compilar

Há arquivos novos de código. Reconfigure antes de compilar:

cmake -S . -B build
cmake --build build

Créditos

  • Decodificador OGG: stb_vorbis (domínio público).

Bigodão 0.1.1

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 12 Oct 16:04

Bigodão fix

  • fix to use extracted rom (bug #1)

will need to extract rom again once.

Bigodão 0.1.0

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 12 Oct 06:13

Big Improvements!

  • Fix trash between sub-levels in widescreen;
  • Implement native rendering;
  • Fixed color tiles ahead;
  • Map in widescreen;
  • A lot more... check out !

Enjoy!

Bigodão 0.0.2

Choose a tag to compare

@GABRIELNNK GABRIELNNK released this 09 Oct 04:58

Bigodão Update

  • Supersampling

  • Post-Processing Filters

  • Clean trash at the begging and end of level. (interlevel still working)

  • other stuff

Installation

  • New instalation: unzip to a folder and run.
  • Updating game: delete imgui.ini and wario.o2r files and extract again. (I will fix to not have to extract again in future)