/sm64-port-catalan-translation

Traducció al català del port a PC (Windows, Linux) del joc "Super Mario 64" a partir del port a PC del projecte de decompilació del joc: (https://github.com/sm64-port/sm64-port). Fet per Projecte 'Ce Trencada' com a part del projecte SM64-CAT.

Primary LanguageC

Super Mario 64 en Català (Port PC)

La traducció catalana de Super Mario 64 ha estat duta a terme per Nil CM amb Projecte 'Ce Trencada' per gaudir el joc en la nostra llengua. Ha estat traduït en tres versions diferents: PC (Windows/Linux), ROM de Nintendo 64 i Android; cadascun partint dels repositoris base indicats.

La versió del Port a PC pren com a base el Projecte de Port a PC. Aquest projecte no està relacionat, de cap manera, amb els equips responsables d'aquest projecte o amb Nintendo.

Aquest repositori no inclou totes les llibreries necessàries per a compilar el joc. Es requereix una còpia prèvia del joc (ROM) per a extreure'n les llibreries. Aquesta ROM ha de ser del següent tipus:

  • Regió: U o US (Estats Units).
  • Extensió: .z64
  • Exemple: Super Mario 64 (U).z64

Versions

Podeu gaudir de Super Mario 64 a diferents plataformes amb les versions que han estat desenvolupades:

Per a més informació sobre els llançaments consulteu aquesta pàgina: SM64-CAT

Construir els executables

Windows

  1. Instal·leu i actualitzeu MSYS2, seguint tots els passos llistats a https://www.msys2.org/.
  2. Des del menú d'inici, executeu MSYS2 MinGW i instal·leu els paquets requerits depenent del vostre sistema ( NO executeu "MSYS2 MSYS"):
  • 64-bit: Executeu "MSYS2 MinGW 64-bit" i instal·leu: pacman -S git make python3 mingw-w64-x86_64-gcc
  • 32-bit (també funciona en sistemes de 64-bits): Executeu "MSYS2 MinGW 32-bit" i instal·leu: pacman -S git make python3 mingw-w64-i686-gcc
  • NO instal·leu per error el paquet anomenat només gcc.
  1. El terminal d'MSYS2 té un current working directory (directori actual de treball) que inicialment és C:\msys64\home\<username> (directori d'usuari). A la finestra de comandes veureu el directori de treball actual de color groc. ~ és un àlies per a directori d'usuari. Opcional: Podeu canviar el directori actual de treball a Documents usant cd /c/Users/<username>/Documents.
  2. Cloneu el repositori: git clone https://github.com/Nilcm01/sm64-port-catalan-translation.git, el qual crearà el directori sm64-port-catalan-translation, llavors moveu-vos-hi amb cd sm64-port-catalan-translation.
  3. Col·loqueu una ROM de Super Mario 64 anomenada baserom.us.z64 al directori arrel per a l'extracció de les llibreries.
  4. Empreu make VERSION=us per a construir-lo. Afegiu-hi -j4 per a millorar la velocitat de construcció (essent el '4' el nombre de nuclis del processador disponibles).
  5. L'executable es trobarà a build/us_pc/sm64.us.f3dex2e.exe dins el repositori.

Linux (Debian/Ubuntu)

  1. Instal·leu els prerequisits (Ubuntu): sudo apt install -y git build-essential pkg-config libusb-1.0-0-dev libsdl2-dev.
  2. Cloneu el respositori: git clone https://github.com/Nilcm01/sm64-port-catalan-translation.git, el qual crearà el directori sm64-port-catalan-translation, llavors moveu-vos-hi amb cd sm64-port-catalan-translation.
  3. Col·loqueu una ROM de Super Mario 64 anomenada baserom.us.z64 al directori arrel del repositori.
  4. Empreu make VERSION=us per a construir-lo. Afegiu-hi -j4 per a millorar la velocitat de construcció (essent el '4' el nombre de nuclis del processador disponibles).
  5. L'executable es trobarà a build/us_pc/sm64.us.f3dex2e.

Resolució de problemes

  1. Si rebeu make: gcc: command not found o make: gcc: No such file or directory encara que els paquets s'hagin instal·lat adequadament, probablement hagueu executat el MSYS2 erroni. Llegiu les instruccions de nou. El terminal ha d'incloure "MINGW32" o "MINGW64" en text lila, i NO "MSYS".
  2. Si rebeu Failed to open baserom.us.z64! heu errat col·locant la ROM base al repositori. Podeu escriure ls per a llistar tots els arxius al directori actual de treball. Si us trobeu al directori sm64-port-catalan-translation, comproveu que hi és allà.
  3. Si rebeu make: *** No targets specified and no makefile found. Stop., no sou al directori adequat. Comproveu que el text en groc al terminal finalitza amb sm64-port-catalan-translation. Utilitzeu cd <dir> per a introduir el directori correcte. Si escriviu ls hi apareixeran tots els arxius del projecte, incloent-hi Makefile si tot és correcte.
  4. Si rebeu cap error, comproveu que els paquets d'MSYS2 estan actualitzats executant pacman -Syu i pacman -Su. Si la finestra d'MSYS2 es tanca immediatament reinicia el teu ordinador.
  5. Quan executeu gcc -v comproveu que hi ha Target: i686-w64-mingw32 o Target: x86_64-w64-mingw32. Si veieu Target: x86_64-pc-msys, heu obert el menú d'inici d'MSYS erroni o heu instal·lat el paquet de gcc erroni.

Debugar

El codi pot ser debugat emprant gdb. A Linux instal·leu el paquet gdbi executeu gdb <executable>. A MSYS2 instal·leu-ho executant pacman -S winpty gdb i executant winpty gdb <executable>. El programa winpty s'assegura que el teclat funciona adequadament al terminal. Considereu també canviar el criteri d'execució (flag) -mwindows per -mconsole tant per a poder veure el "stdout/stderr" com per a poder prèmer CTRL+C per a interrompre el programa. Al "Makefile", assegureu-vos que compileu les fonts emprant -g enlloc de -O2 per incloure-hi símbols de debugging. Cerqueu un tutorial online per a utilitzar gdb.

Arbre de directoris general

sm64-port-catalan-translation
├── actors: comportament d'ojectes, disposició dels terrenys, les llistes de visualització
├── asm: codi assembly escrit a mà, capçalera (header) de la rom
│   └── non_matchings: asm per a seccions no coincidents
├── assets: animacions i dades de prova
│   ├── anims: dades d'animacions
│   └── demos: dades de prova
├── bin: arxius en C per a endreçar llistes de visualització i textures
├── build: directori de sortida
├── data: scripts de comportament, dades miscel·lànies
├── doxygen: documentació de la infraestructura
├── enhancements: exemples de modificacions del codi font
├── include: arxius de capçalera
├── levels: scripts de nivells, disposició dels terrenys, llistes de visualització
├── lib: codi de la lliberira SDK
├── rsp: codi assembly de l'àudio i de Fast3D RSP
├── sm64-cat-tools: eines específiques de la traducció al català
├── sound: sequüències, mostres (samples) de so, i bancs de sons
├── src: codi font en C del joc
│   ├── audio: codi de l'àudio
│   ├── buffers: "stacks", "heaps", i buffers de tasques
│   ├── engine: motors de processament d'scripts i útils
│   ├── game: font dels comportaments de la resta del joc
│   ├── goddard: pantalla intrductoria de Mario
│   ├── menu: pantalla de títol i arxius, missions, i menus de sel·lecció de nivells de debug
│   └── pc: codi del port, renderitzador d'àudio i vídeo
├── text: diàlegs, noms de nivells, noms de missions
├── textures: caixa del cel (skybox) i dades de textures genèriques
└── tools: eines de construcció de l'executable

Arbre de directoris de fitxers gràfics inclosos

Nota: tots els fitxers gràfics inclosos són elaborats per 'Ce Trencada'.

sm64-port-catalan-translation
├── actors
│   └── power_meter
│       ├── power_meter_left_side.rgba16.png: Mesurador de força, part dreta
│       └── power_meter_right_side.rgba16.png: Mesurador de força, part dreta
├── bin
│   └── segment2.c: Sistema de caràcters "ingame"
├── include
│   └── text_strings.h.in: Texts de menús
├── levels
│   ├── ending
│   │   └── cake.png: Imatge del pastís de final del joc
│   ├── intro
│   │   └── 2_copyright.rgba16.png: Imatge del copyright i traducció
│   └── menu
│       ├── leveldata.c: Sistema de caràcters del manú principal
│       ├── main_menu_seg7.0D1A8.rgba16.png: Marc del número del món, part superior
│       ├── main_menu_seg7.0E1A8.rgba16.png: Marc del número del món, part inferior
│       ├── main_menu_seg7_us.0AF48.ia8.png: Lletra 'À' del menú principal
│       ├── main_menu_seg7_us.0AF88.ia8.png: Lletra 'É' del menú principal
│       ├── main_menu_seg7_us.0AFC8.ia8.png: Lletra 'Í' del menú principal
│       ├── main_menu_seg7_us.0B008.ia8.png: Lletra 'Ó' del menú principal
│       ├── main_menu_seg7_us.0B048.ia8.png: Lletra 'Ú' del menú principal
│       ├── main_menu_seg7_us.0B088.ia8.png: Lletra 'Ü' del menú principal
│       ├── main_menu_seg7_us.0B0C8.ia8.png: Lletra 'Ç' del menú principal
│       ├── main_menu_seg7_us.0B5C8.ia8.png: Lletra 'È' del menú principal
│       ├── main_menu_seg7_us.0B608.ia8.png: Lletra 'Ò' del menú principal
│       ├── main_menu_seg7_us.0B7C0.ia8.png: Caràcter '·' (punt volat) del menú principal
│       └── main_menu_seg7_us.0B800.ia8.png: Caràcter '.' (punt) del menú principal
├── src
│   ├── game
│   │   ├── area.c: Text "PREM START" i "SENSE COMANDAMENT"
│   │   ├── hud.c: Text "TEMPS"
│   │   └── ingame_menu.c: Posició del text "RÈCORD" al menú de punts
│   └── menu
│       ├── file_select.c: Posicions dels texts del menú principal
│       └── title_screen.c: Texts "TRIA NIVELL" i "PREM START"
├── text
│   └── us
│       ├── courses.h: Noms de les estrelles
│       └── dialogs.h: Diàlegs
└── textures
    └── segment2
        ├── font_graphics.06D80.ia4.png: Caràcter '·' (punt volat)
        ├── font_graphics.07440.ia4.png: Lletra 'À'
        ├── font_graphics.07450.ia4.png: Lletra 'É'
        ├── font_graphics.07460.ia4.png: Lletra 'Í'
        ├── font_graphics.07470.ia4.png: Lletra 'Ó'
        ├── font_graphics.07480.ia4.png: Lletra 'Ú'
        ├── font_graphics.07490.ia4.png: Lletra 'Ü'
        ├── font_graphics.074A0.ia4.png: Lletra 'Ç'
        ├── font_graphics.074B0.ia4.png: Lletra 'è'
        ├── font_graphics.074C0.ia4.png: Lletra 'é'
        ├── font_graphics.074D0.ia4.png: Lletra 'í'
        ├── font_graphics.074E0.ia4.png: Lletra 'ó'
        ├── font_graphics.074F0.ia4.png: Lletra 'ú'
        ├── font_graphics.07500.ia4.png: Lletra 'ü'
        ├── font_graphics.07510.ia4.png: Lletra 'ò'
        ├── font_graphics.075E0.ia4.png: Lletra 'È'
        ├── font_graphics.075F0.ia4.png: Lletra 'Ò'
        ├── font_graphics.07600.ia4.png: Lletra 'à'
        ├── font_graphics.07610.ia4.png: Lletra 'ï'
        ├── font_graphics.07620.ia4.png: Lletra 'ç'
        ├── segment2.02600.rgba16.png: Lletra 'J' gran
        ├── segment2.03400.rgba16.png: Lletra 'Q' gran
        ├── segment2.03E00.rgba16.png: Lletra 'V' gran
        ├── segment2.04200.rgba16.png: Lletra 'X' gran
        └── segment2.04600.rgba16.png: Lletra 'Z' gran

Contacta'ns

Podeu posar-vos en contacte amb nosaltres de la forma que més preferiu:

Nil CM

Projecte 'Ce Trencada'