-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME.txt
More file actions
201 lines (162 loc) · 7.42 KB
/
README.txt
File metadata and controls
201 lines (162 loc) · 7.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
--------------------------------------------------------------------------------
NOMBRE: HEXSTRING
AUTOR: KODA
LATEST VERSION: 1.4.1
URL: HTTPS://GITHUB.COM/KODINGBTW/HEXSTRING
HTTPS://TRADUCCIONESKODA.BLOGSPOT.COM/
LAST UPDATE: 01/10/2025
--------------------------------------------------------------------------------
1 - WHAT'S THIS?
--------------------------------------------------------------------------------
HEXSTRING ALLOWS YOU TO DUMP THE TEXT OF A ROM, THEN REINSERT IT IN ORDER TO
MODIFY AND TRANSLATE IT INTO OTHER LANGUAGES. BY PROVIDING THE CORRECT
PARAMETERS, THIS PROGRAM WILL ALSO MODIFY THE POINTER TABLE. THIS AUTOMATES THE
ENTIRE PROCESS, AND YOU ONLY NEED TO FOCUS ON TRANSLATING.
--------------------------------------------------------------------------------
2 - WHAT'S NEW
--------------------------------------------------------------------------------
V1.4.1
FIXED:
- FIXED A BUG THAT PREVENTED ENTERING A NEGATIVE VALUE FOR THE BASE IN THE CLI.
- FIXED A BUG THAT PREVENTED THE HELP FROM DISPLAYING CORRECTLY IN THE CLI.
- FIXED BUG THAT DID NOT RESTART THE STATUS BAR IN GUI.
NEW FEATURES:
- ADDED EXTRACTCONFIG/INSERTCONFIG COMMAND, NOW ITS POSSIBLE TO USE GUI .JSON
CONFIGS TO CREATE FAST SCRIPTS.
- ADDED PERSISTENCE LOG IN GUI, NOW REMEMBERS THE LAST DIRECTORY USED.
- REWROTE SOME OPTIONS IN GUI.
- RENEWED THE CLI, NOW THE SUMMARY IS CLEANER.
- HEX VALUES ARE NOW FORMATTED IN UPPERCASE IN BOTH GUI AND CLI.
V1.4.0
DELETED:
- IGNORE END LINE CODE UNTIL SOME CHARACTER ARE DECODED (REPLACED FOR NOT USE
END LINE CODE OPTION).
FIXED:
- FIXED DTE/MTE CASE WHEN RAW BYTES ARE SPLITTED AND NOT CORRECTLY USED TO CREATE
A COMBINATION.
- JAPANESE AND UTF-8 CHARACTERS NOW CORRECTLY SUPPORTED.
- CORRECTED SOME TYPOS.
IMPROVEMENTS:
- IGNORED LINES IN SCRIPT STARTING WITH "/".
- CODES WITH SAME BRACKETS FOR RAW BYTES NOW CAN BE USED.
- IMPROVED DTE/MTE SEARCH AND TIME.
- IMPROVED UI.
- IMPROVED CODE.
NEW FEATURES:
- ADDED KEY SHORTCUTS.
- ADDED STATUS BAR.
- TBL MULTIBYTE SUPPORT.
- SCRIPT ANALYSIS TOOLS ADDED (NOW YOU CAN SEARCH CHARACTERS USED AND NOT USED IN
THE SCRIPT, SEARCH BETTER DTE/MTE COMBINATIONS).
- EXPERIMENTAL COMPRESSION TOOLS ADDED (LZ77-LZSS-LZW).
V1.3.0
- GRAPHICAL INTERFACE ADDED
- MAINTAINED LEGACY CLI (WATCH CLI_COMMANDS.TXT)
- TONS OF NEW OPTIONS ADDED
- SUPPORT 2 BYTES, 3 BYTES AND 4 BYTES POINTERS FOR LITTLE AND BIG ENDIAN.
- NOW YOU CAN SAVE AND LOAD .JSON CONFIGS
- YOU CAN SELECT WHETHER YOU WANT COMMENTS ON LINES.
- ADDED THE USE OF CUSTOM BRACKETS FOR RAW HEXADECIMALS.
- OPTION TO FILL THE FREE SPACE WITH A SPECIFIC BYTE.
- SUPPORT FOR SPLIT POINTERS (LSB/MSB).
- SMART FUNCTION THAT ALLOWS YOU TO IGNORE ANY CONTROL CODE AT THE BEGINNING OF
A LINE THAT IS EQUAL TO THE END-OF-LINE CODE.
- FUNCTION THAT IGNORES THE USE OF AN END-OF-LINE CODE TO COUNT POINTERS. (IT
WILL SPLIT BASED ON THE LENGTH OF THE POINTER; TO INSERT EACH LINE IN THE
FILE, IT WILL BE A POINTER.)
- ADDED ABOUT TAB
- ADDED RESET FIELDS TAB
- OPTIMIZED CODE
V1.2.0
- NOW EMPTY LINE BEFORE LINEBREAKER ARE CORRECTED READED.
- YOU CAN REPLACE LINBREAKER FOR TEXT END OFFSET AND THE PROGRAM WILL SPLIT TEXT
WITH THE POINTER TABLE.
- 4 BYTES POINTER ARE CORRECTLY INTERPRETED.
V1.1.0
FIXED:
- IF YOU SPLIT THE TEXT WHEN EDITING, IT WAS MISINTERPRETED BY THE ENCODER AS A
NEW POINTER. (THANKS TO WAVE).
- THE TEXT BLOCK COUNTER FUNCTION IS NOW SMARTER. IF TWO POINTERS POINT TO THE
SAME TEXT IT WILL BE COUNTED ONLY ONCE.
NEW FEATURES:
- ADDED TEXT COMMENTS, USE ";" AT BEGINNING OF A NEW LINE. (IT STILL CAN BE USED
AT CHARACTER)
- LINE WITH @ OR | WILL BE IGNORED TOO
- NOW MORE EXCEPTIONS ARE HANDLED, AND AN ERROR TEXT WILL BE DISPLAYED GIVING
MORE INFORMATION.
- CHARACTERS NOT FOUND IN THE .TBL FILE WILL NOW BE PRINTED IN THE FOLLOWING
~HEX~ FORMAT. (THE "~" SYMBOL IS RESERVED, AND WILL BE IGNORED IF USED IN THE
TBL).
- IN THE SAME WAY WHEN ENCODING, IF ~HEX~ IS FOUND IT WILL BE ENCODED WITH ITS
CORRESPONDING HEX FORM. IF ANY CHARACTER IN THE TEXT IS NOT ASSIGNED TO THE
DICTIONARY, IT WILL BE COPIED INTO ITS ASCII FORMAT.
- ADDED SUPPORT FOR POINTERS OF OTHER FORMATS AND LENGTHS.
2BYTES LITTLE ENDIAN
2BYTES BIG ENDIAN
2BYTES SPLITTED (LSB-MSB)
3BYTES (GBA FORMAT)
4BYTES (MEGA DRIVE - BIG ENDIAN)
- NOW WHEN DECODING THE TEXT, A COMMENT WILL BE AUTOMATICALLY CREATED THAT
CONTAINS: THE ADDRESS OF THE LINE, A COPY OF THE TEXT, CHARACTER LENGTH.
- ADDED PREVIOUS POINTER COPY FUNCTIONALITY, JUST DELETES THE LINE AND ADDS THE
"&" CHARACTER TO THE START OF THE LINE, THEN ADD HIS LINE BREAKER. THE POINTER
WILL BE THE SAME AS THE PREVIOUS ONE, VERY USEFUL IF SEVERAL POINTERS POINT TO
THE SAME LINE.
V1.0.0
- DECODING ROM DATA.
- ENCODING BINARY FILES.
- AUTOMATIC UPDATES POINTERS TABLE (ONLY 2 BYTES).
- SUPPORT .TBL DICTIONARIES.
- SUPPORT FOR DTE/MTE ENCODING/DECODING.
- SUPPORT LATIN1 CHARACTERS.
--------------------------------------------------------------------------------
3 - HOW TO USE IT?
--------------------------------------------------------------------------------
THIS PROGRAM REQUIRES A CERTAIN LEVEL OF ROMHACKING SKILL.
REQUIREMENTS:
- KNOW HOW TO CREATE A THINGY .TBL TABLE
- KNOW HOW IDENTIFY POINTERS FORMAT
- KNOW HOW TO FIND POINTERS
- KNOW HOW TO EDIT SOURCES AND FONTS
- EDITION WITH SOME TEXT EDITOR (EX: NOTEPAD++)
- A BASIC SENSE HOW A ROM WORK.
TO EXPORT SCRIPT:
1.- OPEN ROM FILE AND TBL FILE
2.- SELECT POINTERS FORMAT (LENGTH AND ENDIANNESS)
3.- FILL ALL SPACE IN "SET OFFSETS"
*POINTERS BASE: DISTANCE BETWEEN TEXT OFFSET AND THE POINTER (INVERTED IF
POINTERS ARE IN LITTLE ENDIAN)
ECUATION
(TEXT ADDRESS FOR THE POINTER - POINTER INVERTED)
EXAMPLE: FOR GOOF TROOP (U).SNES
ROM POINTERS FORMAT ARE 2 BYTES LITTLE ENDIAN, SO THE POINTER IS "81 E8", SO YOU
INVERT TO $E881, THE TEXT ADDRESS IS "$05E881", SO IF YOU USE THE ECUATION:
$5E881 - $E881 = $50000
*END LINE: CODE USED TO SPLIT LINES BY POINTERS. IT IS POSSIBLE TO USE MULTIPLE
LINES SEPARATED BY ",". IF IT IS NOT CLEAR, I RECOMMEND USING THE ADVANCED
OPTION "NOT USE END LINES"
4.- PRESS "EXTRACT SCRIPT AND SAVE", A WINDOW'LL APPEAR, SELECT OUTPUT FILE AND
SAVE
5.- EDIT THE FILE WITH YOUR FAVORITE TEXT EDITOR, I RECOMMEND USE NOTEPAD++,
ALWAYS USE UTF-8
NOTE: SAVE CONFIG FOR EASILY INSERTION IF YOU WANNA TRANSLATE IN MULTIPLE
SESSIONS.
TO INSERT SCRIPT:
1.- IMPORT SCRIPT IN SELECT FILES
2.- REFILL ALL INFORMATION OR USE OPEN CONFIG IN FILE TAB
3.- PRESS INSERT SCRIPT TO ROM
--------------------------------------------------------------------------------
4 - CLI (LEGACY)
--------------------------------------------------------------------------------
USE CONSOLE.EXE FOR CLI COMMANDS IF YOU DON'T WANT USE INTERFACE. CHECK
CLI_COMMANDS.TXT FOR ALL COMMANDS
--------------------------------------------------------------------------------
5 - TO DO:
--------------------------------------------------------------------------------
- ADD MULTITHREADING
- MAYBE ADD NEW COMPRESSION ALGORITHM
--------------------------------------------------------------------------------
6 - CREDITS:
--------------------------------------------------------------------------------
- WAVE FOR HELPING ME DEBUG SOME THINGS, AND ALLOWING ME TO USE HIS LANGUAGE
FILE nppextlang.xml