Hacking Nayuta no Kiseki - English Translation

Majima

Active Member
Newcomer
Joined
Jan 30, 2015
Messages
40
Trophies
0
XP
133
Country
Canada
The game is excellent so thanks a million for translating this. Fan translators like you is turning the PSP into the greatest portable gaming device ever. This is a game people really should play and you have made it possible for many people with your hard work. Thank you.
 
  • Like
Reactions: flame1234

Xandier

Member
Newcomer
Joined
May 14, 2011
Messages
9
Trophies
0
XP
91
Country
United States
Thank you so much for translating this game. Everyone involved did a great job. I have played through 3 times, and I wanted to share issues I found. I played twice with v4.07, and once with v4.08.

First the minor things.

During the starshard quest where you have to find the starshards at the beach for the fat little kid, you can talk to the crab on the beach. The crab's name is not translated.

The text description in the cooking menu for the effect of Jungle Rice and Devil King Sukiyaki is not fully translated.

Here are the major issues:

Something is definitely wrong with the monster log. Sometimes log entries with go away for some reason, and then when the monster is killed again, the percentage goes up for the monster log trophy. I was able to get 97% in v4.07, and 93.9% in v4.08. I'm planing on my next playthrough being with the unpatched original just to see if this is really the case.

Assuming there are 25 quests, I only ended up with 96.2% question completion. I might have missed a quest, but I was very through and played through the game 3 times. I'm planing on my next playthrough being with the unpatched original just to see if this is really the case.

The monster log and the quests are the last two trophies I would for all of the trophies.

Thanks again for the great patch! Keep up the good work!
 
  • Like
Reactions: flame1234

flame1234

Well-Known Member
OP
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
There are 26 quests. Are you sure you completed them all?
There could still be a bug. I would even say it's likely. Please check to make sure you completed them all though.

Quest Guide:
Prologue: (2)
Lunch Prep Agent
Fencing Practice

Chapter 1: (3)
Vel's Challenge
A Thankful Gift
Gathering Star Shards (2nd Playthrough)

Chapter 2: (5)
Supreme Fruit Sake
Medical Exam Aid (Secret Quest) (Speak with Dr. Hydol to accept.)
Island Products
Tool Repair (2nd Playthrough) (Might be secret. Speak with Eartha to accept.)
Spirit's Request (2nd Playthrough)

Chapter 3: (4)
Pigment Supply
Extinct Bird
Helping Sister (2nd Playthrough)
Spirit's Request (2nd Playthrough)

Chapter 4: (4)
Lost Daughter
Lost Power
Employer Arbitrage (2nd Playthrough)
Spirit's Request (2nd Playthrough)

Chapter 5: (3)
Finding Spirits
Search for Heir (2nd Playthrough)
Spirit's Request (2nd Playthrough)

Chapter 6: (1)
New Menu

Chapter 7: (2)
Terra Search

Chapter 8: (2)
Unopened Box
Ancestor Offering

Crush the 4 Idols

Monster Guide:
There are 165 monsters in all.
Oltapia - Spring
Popo
Floral Foot
Cannon Bloom
Assault Beetle
Shield Bulb
Root Keeper
Mir Dragon
Chariot
Duoqurois

Oltapia - Summer
Sasquatch
Fillnall
Assembly
Bullet Lily
Hammer Parrot
Pinnochion

Oltapia - Fall
Armor Foot
Flower Roy
Gathermoth
Skyrave
Gurupus
Antelopus

Oltapia - Winter
Yeti
Blade Rose
Defender
Cross Tail
War Cat
Helm Snake

Rieseweld - Summer
Neon Popo
Pescado
Air Jelly
Assault Fish
Rock Lizard
Girinos
Blade Lion
Shaman
Palreschia

Rieseweld - Fall
Mutant
Screw Cuttle
Shield Bee
Photores
Ruby Lizard
Gigant Ogre

Rieseweld - Winter
Ice Frog
Pink Jelly
Squid Vice
Sahagin
Air Lizard
Living Armor

Rieseweld - Spring
Shell Hermit
Librarian
Poison Fish
Arachne
Dark Lizard
Hell Gigant

Heimmel - Winter
Hound Dog
Cape Fox
Ice Sandal
Rock Worm
Sword Wyvern
Freezer
Diomedes
Evil Dragon
Cravaltarf

Heimmel - Spring
Armor Doggy
Killer Hornets
Thrust Bird
Sorpresa
Cannon Egger
Huge Snake

Heimmel - Summer
Nedly
Stag Javelin
Tomahawk Worm
Beowulf
Omen Stork
Mephisto

Heimmel - Fall
Bite Wolf
Flier
Zoropino
Hunter Worm
Glide Stag
Diabolos

La Worg - Fall
Flame Spirit
Poison Popo
Lavaganth
Blast Turban
Piledriver
Soldart
Melt Golem
Salamander
Sagiscellan

La Worg - Winter
Aqua Sprite
Invader
Burst Shell
Leon Espada
Shield Wasp
Freeze Viper

La Worg - Spring
Leaf Spirit
Torr Medusa
Alcaleon
Ruin Fish
Shuvalgrif

La Worg - Summer
Sand Avatar
Bull Hellion
Sell Bunker
Lamia
Killer Mole
Galdian

Heliograd
Alerter
Gespenst
Living Armor
Sleipnir
Garza
Livadrigger

Lexendria
Patroller
Rideleon
Duel Armor
Titan
Vesper
Ensent Mage
Bullmajiro
Goliath
Raigivem
Ishtaros
Gradleon
Armadaries

Stellarium
Incense
Proto-Golem
Oltaraid
Demon Zerob
Bullgatorio
Necro Savant
Doom Dragon
Selam
Zext
Stell Alaqran

Astrolabe
Labe Virgos
Noi Stelladia

Special
Suikesu Keeper
Storm Parrot
Bullet Popo
Ice Velg
Gear Cho
Venom Skunk
Brigandine
Blue Menace
Death Freezer
Expert Lion
Evil Tycoon
Gerou Aspis
Volganon
Dizoldyne
Solar Sofia

Special 2
New Duoqurois
New Palreschia
New Cravaltarf
New Sagiscellan

Special 3
Flower Batolei
Noire Palace
Malefix
Serpentia

Special 4
Bismarck
Albion
Lindblum
Yakuto Douga
 

Xandier

Member
Newcomer
Joined
May 14, 2011
Messages
9
Trophies
0
XP
91
Country
United States
Thanks for the reply. Looks like I missed Tool Repair in Chapter 2, so the quest percent is working fine. Is this quest supposed to be from the workshop mailbox? I'm pretty sure I didn't see there ever, even after 2 newgame+ playthroughs. I'll check again though.

It's just the monster log that is bugged.

These are the specific monster entries that I have seen go away at various times, and then I've been able to reacquire them and still increase my percent.

Oltopia: Spring: Popo, Assault Beetle, Shield bulb

Riesweld: Summer: Neon Popo
 

Xandier

Member
Newcomer
Joined
May 14, 2011
Messages
9
Trophies
0
XP
91
Country
United States
I just finished getting all of the trophies. I had to start a new game+ without transferring over the monster log on the unpatched original Japanese ISO in order to 100% the monster log, so there are definitely issues with the monster log in the English patch. I'm not sure what or how, but it is wildly inaccurate for some reason. If there is anything I can do to help, let me know. I kept a save file right before getting the last 2 monster entries.

Also in your list of quests you posted, the quest Ancestor Offering is actually in the last chapter, not the 2nd to last chapter.

Thanks again for all the hard work.
 

flame1234

Well-Known Member
OP
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Patch 4.09: https://www.mediafire.com/?82mx5m331url70t

Changes v4.09:
Fixes
-Fixed spelling errors in the items table. Shortened food description strings to fit.
-Fixed alignment issues for special effects on the cooking screen.
-Translated display of the word "Critical" (items)
-Fixed spelling mistake in quest text
-Fixed text spacing issue with sub-menu during a stage (first and second text lines had no space in between them)
-Various script errors and script improvements (about 50)

New
-Title logo. It appears on the title screen, PSP XMB, save file icons, save file images, PSP wallpaper (when game selected)
-Title screen text
-Game clear screen

There is a known bug. At various points during the game, you will lose entries in the monster info screen. Additionally, you cannot earn the achievement for displaying all monster info (and the all achievements one too). This was a bug in the previous version, but it wasn't known then. I don't know how to solve this. More info about it here. Feel free to ask me if you have any questions about it.
 
  • Like
Reactions: Randqalan

FailName

░▒▓█▓▒░
Member
Joined
Sep 26, 2011
Messages
159
Trophies
0
XP
229
Country
United States
So I held off on playing this when I read you're still having your tester do some editing. However, I'm still finding lots of little errors and nonsensical lines.

SgFJwW3.png

I don't understand this. I think it should be something like "Approximately 980 Selge southwest from the Port City of Saint Cerize, on the Ciencia Sea," but I haven't played enough to know the geography.

4XdWVxk.png

Probably should be a comma after "sea" and "infinity"

zxJ7ECo.png

1760 Selge? 1760 years? 1760 corpses?

Q1vOloy.png]

random period in the bottom left

rBKtH5A.png
2xE7jMQ.png

"Researchers have continued to challenge these kinds of questions" would mean that they refute the validity of them, as if they believe Star Shards and their visions don't exist. I haven't played far enough into the game to see much of these researchers, but with all the people I've seen so far, Star Shards seem to be a pretty accepted as actually existing.
Maybe it should be changed to something like "Researchers have attempted to answer these kinds of questions," or "Researchers have continued the challenge to answer these kinds of questions"

WBiCSRY.png

maintenance

nBmaAoC.png

Doesn't make sense in context, there is no "them". "There's no opportunities to invite Lyra or Mr Barton to help" makes more sense.

bINOUoV.png

What is "though I've seen them"? Maybe "If it is those Star Shards as though I've seen them," or "If it is those Star Shards that I've seen,"

ibiGBPY.png

My sis is her usual peaceful self too, no doubt about it.

0oS8yyJ.png

I'm jealous of you, Nayuta.

MjQzkpi.png

We're not on the same level.

mc6dxTz.png

It's not "in a word," it's in nine words. Maybe "in other words"?

1kKfl7h.png

However, now that she’s been born, there are even more difficulties now, huh?

eq3KPS1.png
vGoyS29.png

"he has been pretty sad during the time you were away."
Also don't understand what the "If it is him" part means. It would probably make more sense if removed.

c3ih6WY.png

It's a little unfair, isn't it?

Ry7RC60.png

So Nayuta greets the blacksmith, there's an awkward silence, and then his daughter shouts this. He says this after speaking to him again, so I thought maybe Ada was supposed to say something like "just say one of two sensible things." "Sensible things" might also be able to be replaced with "small talk" or "greetings"

vRUx084.png

Text is cut off here.

k7fv0nt.png

It looked like you were enjoying yourself

hM0xlMZ.png

It's a present from me to you.

Also, I don't think I'm able to play past this part, the game freezes when I try to complete the first quest. Having Nayuta's sister to make jerky is required, but it either freezes once I select "Lunchbox Please" on a PSP, or once I leave the house on PPSSPP.
 
  • Like
Reactions: flame1234

flame1234

Well-Known Member
OP
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Patch 4.10: https://www.mediafire.com/?bwwn5x5842mxfax
I was able to reproduce and fix your bug.
I still haven't tested on a real PSP, but it will work in PPSSPP at least.

What worked:
Step 1: Realizing the problem was in foodarea.tbb which is under \USRDIR\text
Deleting this file disabled the functionality it provides in-game, but otherwise the game functioned normally

Step 2: What had changed since the prior patch?
I used FRHED because it has a binary comparison tool in it. MADedit doesn't. I like MADedit because it has text encoding support (at least some) while FRHED supports only ASCII. So compared the current and prior patch version of foodarea.tbb.
It turns out that I had lengthened this file by 8 bytes for some reason (maybe to make it easier to insert?). But my current inserter doesn't care what the file length is. So deleting these 8 extra bytes made things work again.

Maybe those 8 extra bytes overwrote something important? I don't know.
 

Xandier

Member
Newcomer
Joined
May 14, 2011
Messages
9
Trophies
0
XP
91
Country
United States
Is there any way to get a patch where everything is translated except for the monster data? I would rather have the monster data remain untranslated and actually work properly, than be in English and not work properly.
 

flame1234

Well-Known Member
OP
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
The monster data's not the problem. It's not causing the problem.
The problem is mp_0100. Might be other files too.

All info is here: http://retro-type.com/heroesoflegend/forums/viewtopic.php?f=22&t=70

I prepared this:
Test patch: https://www.mediafire.com/?b7vngh6c8chdhea
Test save: https://www.mediafire.com/?ynkhlpwjfze1uro

"Test Patch" is really Patch 4.08 with file mp_0100 replaced with the original one.
The monster you will lose is "Poison Popo" (La Worg / Autumn)

1) Load up save in 4.10. Verify you see Poison Popo in the monster log.
2) Trigger the scene by walking through the door. Fast-foward through the scenes by holding X.
3) Verify you've lost Poison Popo.
4) Load up save in test patch. No real need to verify anything.
5) Trigger the scene. Fast-forward through. You see Japanese text in the Astrolabe area because file mp_0100 has been replaced with the original one.
6) Verify you haven't lost Poison Popo.

But... I can't identify the bug. Sorry guys, this one's above my level. I also can't confirm "test patch" will result in no loss of monster data.
If someone cares to debug it for me, you can easily reproduce the bug using the above steps.
Opcodes are read at 0x892FEC4
In this sequence, two sub-events in mp_0100 are being run: EV_3_S05_set_gear_2nd and EV_3_S07_use_astrolabe
EDIT: Since originally posting, I've narrowed it down further to EV_3_S07_use_astrolabe

I don't think the bug is in the monster data file \text\monslib.tbb. As a test, I tried replacing this file with the original monslib.tbb. In this case, you still see the data loss. That tells me that monslib.tbb isn't the problem.

There's one more thing I could do:
I could insert mp_0100, but not insert any opcodes corresponding to EV_3_S05_set_gear_2nd and EV_3_S07_use_astrolabe, and see how that test goes.

Anyway, I followed the question guideline (I hope): http://catb.org/~esr/faqs/smart-questions.html#before
  1. Try to find an answer by searching the archives of the forum or mailing list you plan to post to. -not applicable
  2. Try to find an answer by searching the Web. -I have no idea what to search for.
  3. Try to find an answer by reading the manual. -not applicable
  4. Try to find an answer by reading a FAQ. -not applicable
  5. Try to find an answer by inspection or experimentation. -I did. Check the results above.
  6. Try to find an answer by asking a skilled friend. -I have no friends :(
  7. If you're a programmer, try to find an answer by reading the source code. -No source code available.
The next question I want to ask is:
How would I go about finding where the monster flag data is stored?
My usual method is:
1) Save state
2) Generate some text in game
3) Search for that text
4) Look for opcodes controlling the text
5) Breakpoint opcodes
6) Load state/ run to check the guess from (4)

That won't work for finding monster flags because there's no text to search for. I need another method that will work. Is there a recommended method for performing this search?
 
  • Like
Reactions: Hargrun

flame1234

Well-Known Member
OP
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Okay, let's pick nits.
Probably should be a comma after "sea" and "infinity"
I disagree.
What is "though I've seen them"?
Japanese is weird sometimes. I should have localized it more. This one has been reworded to be more natural, but still needs some work maybe.
It's not "in a word," it's in nine words. Maybe "in other words"?
"In a word" is probably bad. But it's not wrong. Synonyms for "In a word" are "In short," "In summary," "to cut a long story short"... "In a word" is probably the most rare one of all of them, but it's still in common usage. Here, allow google to help you.
It's a little unfair, isn't it
?
I want him to sound disappointed (not questioning), so a period it is.
Everything else has been fixed.

The monster list bug might've been fixed too. I can't reproduce the instance of it I was getting above anymore.

Fixed by good old guess and check.
I already guessed above that the problem was mp_0100.bin.
Then I guessed the problem was EV_3_S07_use_astrolabe. (That guess was correct)
Then I guessed the problem was the 0xCE opcode near the end. That guess was correct too. My first try too.
Then I made a tool to show me all the 0xCE opcodes in the game (these specify the player objective on the sub-menu) and their lengths. The longest Falcom used was 62 bytes so I had to trim several codes to get within this limit. Don't worry, everything's still understandable.
Then I trimmed the 0xCE opcode causing the problem from 65 to 60 (or so bytes) and tested to make sure that worked.
Then I trimmed every other 0xCE opcode in the game to within the 62-byte limit.

Patch 4.11
 
  • Like
Reactions: Diag and Randqalan

flame1234

Well-Known Member
OP
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Fans: This applies to a development version. The current patch version should work fine.

Okay, trying now to work on variable length for the .arb files.
.arb files have area names and non-main character names, among other things.

Anyway, trying to trace a crash in PPSSPP. I am finding the following problem:
gADr9EC.png

To the best of my knowledge, memcpy is supposed to take v0 bytes from a1 and copy them to a2.
I have set my breakpoint on memcpy so I can see the memcpy operands, and I've also set my breakpoint on the return address so I can inspect the memory once it returns.

The problem: It doesn't copy perfectly. There are 1000 perfectly good bytes at a1. But it stops short after copying 0xEB8 bytes.
---------------
Wow, I was totally off on this.
uMkU6za.png

So the real operation of memcpy is to take a2 bytes from a1 and copy them to a0. What is the function of v0 in the routine memcpy?

0xEB8 is the original size of mp_0004.arb that I am working on. I need to figure out where operand s2 is coming from. My modified version of mp_0004.arb is slightly bigger than that. The incomplete copy operation is what's causing the game to crash. That's the theory anyway.

At 0899ACC8 you have:
mult a2,a3
mflo s2
That's where it's coming from.

Backtracing 2 levels you get to function 0x089214D4.
In this function you have:
08921570 jal z_un_0899c8c4
Which gets the file size... somehow.

Okay, that was wrong.
The routine that loads data.lst is at 0899BC10. The actual loading happens at 0899BE8C.
Operand s2 is taken from data.lst, which I forgot to update. XD
 
  • Like
Reactions: reinzhart

flame1234

Well-Known Member
OP
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Okay, this could have been solved much easier. Wow, I'm an idiot.
So like, go to Remnant Island/Village and search for a character's name that appears there followed by null (byte 00). If you do that, you easily see that the length limit is 31. It's the same for the area names.
So if you search for some kind of string, you see that it's length limit is 31.
So the length limits are 31 and that's what's causing the crashes.
So I will now variable insert the .arb data (it was fixed-length inserted before).

Patch 4.12
Variable insert of .arb data. (improvement)
New: NPJH50625_00086.jpg Old: NPJH50625_00088.jpg
 

Kelebek

Well-Known Member
Member
Joined
May 25, 2012
Messages
165
Trophies
0
XP
156
Country
Well I haven't looked at it properly, but the way memcpy works is by copying the most data it can at once to be efficient, and to do that it needs to be aligned. &'ing the size with 3 gives you the number you need to remove before you're at 0x4 alignment. It then copies those as bytes, and then it's dword-aligned so it can copy the rest of the data as dwords, which is obviously faster than doing a byte at a time. exes will sometimes align to 0x10 as well, and copy 16 bytes at a time using the float registers.
 

StorMyu

"I'm way too old for this"
Member
Joined
Jan 2, 2010
Messages
943
Trophies
1
Age
97
XP
1,093
Country
France
flame, a thing to remember:
$a0–$a3 function arguments
$v0–$v1 values for function returns and expression evaluation

Basically when looking to a function before a jump, check a0-a3, not v0,v1.
Look at them when you return. Compilers do it that way, you can do whatever you want with asm hacking of course but just understand what the compiler is doing first. It'll save some trouble ^^
 

flame1234

Well-Known Member
OP
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
So I held off on playing this when I read you're still having your tester do some editing. However, I'm still finding lots of little errors and nonsensical lines.
If you'd like to do editing for me, that'd be welcome. My tester is through with his playthrough. I'm completing my 2nd playthrough and finding lots of stuff too, I just don't feel like editing. It'd be easier if someone like you would do the finding for me.

Another thing I'd like to fix is the slow text. I did some looking and the #XW (where X is a number) codes control text speed for lines with voiced dialogue. The higher the number, the slower the text is. So the process would be:
1) Investigate different values of W (I'm guessing 0 is the default). Determine the actual text speed (characters per second) for each one used in the game. I think they go all the way up to #8W.
2) Identify #XW text lines
3) Compute new value of W (could be 0):
3a) Time taken for original line is time per character based on W code times line length
3b) Divide "line time" by number of characters in the new line to get time per character. Then match it to the closest W code time per character, needed to display the line in the same amount of time.
4) Insert and test
 

flame1234

Well-Known Member
OP
Member
Joined
May 17, 2009
Messages
734
Trophies
0
XP
957
Country
United States
Figured it out... I think.
The hypothesis:
"0W" is the default and you get 1 character per frame.
#1W: 1 character per 2 frames
#2W: 1 character per 3 frames
...
#6W: 1 character per 7 frames (this is the worst it gets)

I looked at the original ISO too, and it seems that Japanese characters are treated as 1 character just the same as English characters.

How I figured it out:
I was reading about 60fps patch tutorial at PPSSPP forums.
And though I give up on a 60fps patch for this game (I have no idea how to tell the actual frame rate anyway), I saw something interesting there that could help me with this problem.
vttdnI4.png

How to get here.
1) Boot game
2) CTRL+D for disassembler. Won't work in fullscreen mode, so use windowed.
3) Click "Funcs" on the left.
4) Doubleclick sceDisplayWaitVblankStartMulti in the list.
5) Doubleclick the highlighted line in the disassembly view to set your breakpoint on it. At this point the game breaks (meaning execution halted), because this gets hit once per frame.
5a) Hitting Go at the top will advance the game one frame
5b) If you go to the breakpoints tab on the bottom and uncheck the box that says "execute" and hit Go, the game will keep going. It will break again every frame once you check the box again.

So the basic method was find voiced lines (there are some at the very beginning), see the text display speed by stepping frame-by-frame, and noting the W-code for each line.
Still plenty of work left on this problem, though.

It's like 3 English letters per 1 Japanese letter on average. I am thinking 0W (the default, just delete the W-code) and 1W are the sweet spots. If faced with the choice, should I have text display a little too fast (faster than the audio) or a little too slow (slower than the audio)? Note that right now, it is way too slow for most lines.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Veho @ Veho:
    The fuuuuu---
  • Veho @ Veho:
    I thought it was an actual xBox at that price.
  • Sicklyboy @ Sicklyboy:
    I wanna grab a 360 Slim and a 360 E one of these days. Missed the boat of getting them at their lowest though, once they were discontinued. Could've got them for cheap back when I was a broke 20 something working at Target, but then again, I was a broke 20 something working at Target
  • Veho @ Veho:
    Being broke is no fun.
  • K3Nv2 @ K3Nv2:
    @Sicklyboy, $150 isn't that bad for a jtag slim on ebay
  • Veho @ Veho:
    I only wish it was actually playable.
  • Veho @ Veho:
    There's a guy on the Tube of You that makes playable mechanical arcade games out of Lego. This could work on the same principle.
  • Veho @ Veho:
    Just a couple of guys taking their manatee out for some fresh air, why you have to molest them?
  • Veho @ Veho:
    Stupid Chinese shop switched their shipping company and this one is slooooooow.
  • LeoTCK @ LeoTCK:
    STOP BUYING CHINESE CRAP THEN
  • LeoTCK @ LeoTCK:
    SUPPORT LOCAL PRODUCTS, MAKE REVOLUTION
  • LeoTCK @ LeoTCK:
    THEY KEEP REMOVING LOCAL SHIt AND REPLACING WItH INFERIOR CHINESE CRAP
  • LeoTCK @ LeoTCK:
    THATS WHY MY PARTNER CANT GET A GOOTWEAR HIS SIZE ANYMORE
  • LeoTCK @ LeoTCK:
    HE HAS BIG FOOT AND BIG DUCK
  • LeoTCK @ LeoTCK:
    d*ck i mean*
  • LeoTCK @ LeoTCK:
    lol
  • Veho @ Veho:
    Mkay.
  • Veho @ Veho:
    I just ordered another package from China just to spite you.
  • SylverReZ @ SylverReZ:
    Communism lol
  • SylverReZ @ SylverReZ:
    OUR products
  • The Real Jdbye @ The Real Jdbye:
    @LeoTCK actually good quality products are dying out because they can't compete with dropshipped chinese crap
    +1
    The Real Jdbye @ The Real Jdbye: @LeoTCK actually good quality products are dying out because they can't compete with dropshipped... +1