GithubHelp home page GithubHelp logo

touhou-gensou-mahjong-4n---english-translation's Introduction

Touhou-Gensou-Mahjong-4N---ENGLISH-translation

A repository to share the patched files and adress english typos (I assume a lot !) and translation mistakes (I assume none but I'm always open to improvement !)

東方幻想麻雀 / Touhou Gensou Mahjong is a property of D.N.A. Softwares and I'm translating and distributing my patch this for free with help from various peoples.

LOGO

Touhou Gensou Mahjong is, as obvious as it souds, a Mahjong game. The "Real" Mahjong (not the pyramid find-the-pair one from Windows 95) using the Riichi rules. A very popular game in Japan, known for its dark past among yakuzas (as Poker was in Chicago) and nowadays played in a more relax way among friends and families. The original game has travelled worldwide, each country setting its own rules and pretty well known in the whole Asian continent and United States.

However, as any Touhou fangame must be, there is a twist to it.... You see, when playing a game, you'll be required to chose a character and a place from the Touhou franchise which will provides you with Spells and special extreme rules.

MAGIC

Want to feel the Saki powers ? Want to experience the Akagi mindgame ? Want to cheat the board like Tetsuya did ?

Here you go my friends !!

Touhou Gensou Mahjong has been released in several opus. This is the 4th one in the serie, the most cleaned one and the last released on PC. That said, the "4N" version is an extension of the 4th version which brings EVERY characters and tables from the previous episodes. Rocketting its rooster to an amazing 108 unique characters ! (I bet even hardcore Touhou fans will not find a missing character in here haha)

image

Feel free to provide any feedback on the github itself or any social media ! (COMING SOON)

As a side note, the game had few bugs and un-completable achievements that I patched so it finally work. This is not only a translation patch but a bugfix as well. Please note that, in any cases, I didn't modify anything that would break the game when playing online against a player using an original, Japanese game. So you'll still be able to play against Japanese players !

And big news for players already familiar with the game : I also implemented a Story Mode (from THMJ 1) with few special missions (I let you discover them) and a Replay Mode ! You'll never miss the nice Yakuman screenshot again ;)

And, finally : Have fun !!

touhou-gensou-mahjong-4n---english-translation's People

Contributors

nicolasturpin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

touhou-gensou-mahjong-4n---english-translation's Issues

Creating a folder inside the replay directory

Here is my issue :

I want to create a replay folder if the user didn't create one himself so that I can save the replays inside instead of creating a huge mess inside the save directory.

I have 2 solutions and 2 issues.

  1. I can use a built-in AIMS function (the D.N.A. SOftwares API the game uses), references here :
    http://aims.dna-softwares.com/wp-content/upload/AIMS_Reference.pdf
    the function is createFolder(path) which is handy because it knows where the save folder is.
    Buuuuuuut... the function actually bugs. I don't know if it's supposed to be written differently, but trying different synthaxe didn't worked.

  2. create a folder manually with os.system (or os.execute but anyway...)
    the problem is... The path to save folder isn't stored in any lua variable. And depending on your system, the save folder might change !

So my question :
Is there a way to view all built-in functions ? (like dir() would in python) but in lua ?
OR is there a way to view built-in variables ? To try finding the savedata folder ?

For the moment, the last replay is saved amongs save files and (if the user create it himself) all replays are saved inside the replay folder

Magic gauge image retention

This is a vanilla problem but can be fixed anyway:
When magic gauge is filled, it starts blinking. This blinking is vary rapid, such flickering can cause image retention on some displays.
(+ it's annoying)

I suggest applying this patch:

diff --git a/thmj4n/S/ACTOR/TAKU_ENTITY/NAMEBOARD.LUA b/thmj4n/S/ACTOR/TAKU_ENTITY/NAMEBOARD.LUA
index 4a56980..3e7bea6 100644
--- a/thmj4n/S/ACTOR/TAKU_ENTITY/NAMEBOARD.LUA
+++ b/thmj4n/S/ACTOR/TAKU_ENTITY/NAMEBOARD.LUA
@@ -98,7 +98,7 @@ function nameboard_OnDraw()
                c:Set(52+56,0,0);
                c:RotationZ(angle);
                if(seat.magicp==seat.magicp_max)then
-                       drawGraphic(G.game.ui.magic_gauge.body.full[getSceneUptime()%2+1],c.x,c.y,1,1,angle);
+                       drawGraphic(G.game.ui.magic_gauge.body.full[math.floor(getSceneUptime()/20)%2+1],c.x,c.y,1,1,angle);^M
                else
                        drawGraphic(G.game.ui.magic_gauge.body[2][VAR[1]],c.x,c.y,1,1,angle);
                        drawGraphic(G.game.ui.magic_gauge.body[1][VAR[1]],c.x,c.y,1,1,angle);

It slows the blinking down to about 3 per second


For context: https://www.testufo.com/flicker

Script error when starting a single game

To reproduce:

  • patch the game using either "01" or "01.1"
  • go to single mode
  • select normal table, no magic, east round, any character
  • start the game

Right after starting, before any tiles are drawn I am presented with following error message:
Screenshot_2022-02-03_08-50-19

Stats bugging with a certain Table

When playing on "Twilight Bar", I noticed the number of games played increasing by a lot (up to 11) instead of 1.

I thought I messed something as I discovered it while testing the Story Mode, but it also seems to happen to my Vanilla version.

Can anyone confirm this with Vanilla 4N ?

Note : it doesn't seems to happen on other table, AND only happen when multiple people are declaring Agari during the same game.
Note 2 : I think I fixed it, it may have something to do with some powers stealing points... I'm not sure that I solved it 100%

Translation suggestions

Those are things that I noticed when going through the diffs:

  1. GFX/multi/net_agreement.png

    Online Machmaking is made via DNA softwares servers

    "is made via" doesn't seem to fit - I would think "uses" would fit better

    name, and

    comma is unnecessary

  2. S/actor/player/ui.lua

    Abortion

    Not entirely sure but I think you meant the noun "abort". "abortion" may be correct but I don't think it is commonly used in this meaning

    2 Hans are required

    This is very debatable but I think in this case "2 Han" instead of "2 Hans" would be better. At least I can't really find this "hans" form used much on the internet. Including EMA, ESPML or World Riichi Championship Rules rulebooks. And when I played in person we didn't change the form (although it wasn't in english)
    I see this same "hans" form in following files:

    S/STATS/TAKUS/KOURINDOU.LUA
    S/STATS/ACHIEVEMENT.CSV
    S/STATS/CHARACTERS.CSV
    S/STATS/CHARACTERS.CSV
    S/STATS/CHARACTERS.CSV
    S/ACTOR/PLAYER/UI.LUA
    S/SCENE/GAME/01_SETTING.LUA
    S/SCENE/INFORMATION.LUA
  1. s/scene/multi/create.lua

    No password will be set when acception quick matches

    accepting

  2. S/stats/takus/kirisametei.lua
    I think you are using "characters" instead of sticking to "numbered tiles" here (for manzu)

    "Bambous"

    AFAIK bamboo does not have a separate plural form

  3. S/stats/takus/moriya_honden.lua

    each dragon tiles contains an aka-dora

    this doesn't sound right. Maybe "dragon tiles contain a single aka-dora each" ?

  4. S/stats/takus/tengu.lua

    Each rounds

    IMO "Every round" would be correct here

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.