How to recompile Adoxa's dll src
-
Yes, it’s so weird. Debug like this is exhusting.
But there is something also weird is, after I compile with Unicoded [c]zone.rc[/c], when I open up the resulting DLL with ResHacker, it still display normally – I was hoping to see the miscode.
I think it’s either because ResHacker did code convert automatically when I open the file so I can read it, Or it’s still ANSI.
Could be a fail guess though.
I have no idea what’s going on here
-
@NeXoSe: dllimport means this function will be found in another DLL; dllexport means make this function available to others.
I tried the above DLL on my English system and that worked fine. Have you tried changing system (or maybe just using a tradelane) and seeing if that message shows up, and then try the zone again? (If you’re using Console, just do [c]s .[/c].) If that works, then perhaps Zone still thinks a message is displayed and so does not display another one until something else resets it. Still, I don’t know how that would occur. If it doesn’t work, I guess I could add some log messages to the spew (unless you want to delve into low-level debugging, as well…).
-
adoxa wrote:
@NeXoSe: dllimport means this function will be found in another DLL; dllexport means make this function available to others.Sorry for delay.
I tested again using above DLL, and I can conform that:
1, When enter a new field, the Entering message will show up, but no Leaving message.
2, Re-enter that same field, the Entering message will not show up.
3, Enter another field, the Entering message for the new entered field show up, but again, I leave without the Leaving message.
4, I also tried the Jumpgate (Cause map reloading?), same thing happens.Here is the record:
https://www.youtube.com/embed/f3yPkogmt5w
Or https://www.youtube.com/watch?v=f3yPkogmt5w&feature=youtu.be
(Sorry, litte blurring, my camera not forced, and I failed notice that…)
(And I also had to test my plugin at same time to save some time…So …)BTW: Then, why I change [c]dllimport[/c] to [c]dllexport[/c] and the DLL still working as I (seems) reversed the purpose completely? OK, I think it’s not good for waste your time and energy to answer my newbie question, I better just Google it myself to fill the empty hold of my knowledge.
Thank you!
-
I’ve attached a new [c]Zone.cpp[/c] that logs (to [c]EXE\zone.log[/c]) when you enter/leave a zone - that should at least tell if it’s a detection issue or just the display.
Regarding dllimport/export, I’m a little unsure myself. I have another project that just uses dllexport and it imports fine, too.
-
adoxa wrote:
I’ve attached a new [c]Zone.cpp[/c] that logs (to [c]EXE\zone.log[/c]) when you enter/leave a zone - that should at least tell if it’s a detection issue or just the display.OK, There is the result:
1, I downloaded the modified Zone.cpp,
2, Place it with other file and compile with my modified makefile I pasted above (It should not effect the test I guess),
3, Enter the game with compiled DLL (English Res), works good still,
4, Exit game and edit the DLL with Res copied from JONG’s Zone.dll (with ResHacker, copy and paste),
5, Re-enter the game (MP mode), travel between Detroit field(Start from) and Jersey field couple of times, problem still (only enter message shown). Here is the zone.log:Entered 3003235657 Entered 3003235657 Entered 3003235657 Entered 3003235657 Entered 3003235657
If I use the English res, it will be:
Entered 3003235657 Left 3003235657 Entered 3003235657 Left 3003235657 Entered 3003235657 Left 3003235657
-
Ah, got it. I’m guessing [c]LoadString[/c] fails because it wants a double-byte character which I don’t provide room for, which in turn showed a problem with the [c]show_left[/c] code. I’ve expanded the [c]test[/c] array to four bytes and fixed [c]show_left[/c] - if it still doesn’t work, initialise [c]show_left = true[/c] and try again; if that works, something’s still going wrong with [c]LoadString[/c].
-
Ok, that’s what I test:
Use the Traditional Chinese of text to change the Zone-fix.zip of cpp English text, then recompile and use it in my Simplified Chinese Windows system, its work fine like before Adoxe make.
Not yet to test in my Traditional Chinese Windows system, I’ll report later.
Edit:
Ok, finish the test, in my Traditional Chinese Windows system work fine as above.
Is it a final version of zone dll ?
-
if you want to change zone.dll text to your language you dont need compile and c++ programs. just find a hex edit program and open zone.dll find this lines which shown on the screenshot im attached. Iam using hexplorer program for this.
Do not forget the spaces of letters are should be 00 on left side hex codes if you want to show break between two letters break hex code should be 20 not 00.
0D is char number of enter zone
0A i left zone char name0D means 13 char
0A means 10 charif you want inrease or decrease letter number increase or decrease 0D and 0A(ex for 20 char change 0D to 14 this is about hex lang) and if you want to insert new char use insert button on keyboard.