Aeomin
-
Content Count
69 -
Joined
-
Last visited
-
Days Won
8
Posts posted by Aeomin
-
-
Oh, are you talking about the new configuration format? That's not implemented yet.After all the headache I went through installing the old Thor Patcher, you suddenly release this?!
Will try this one out. Hopefully this will be much easier to use.
evilpuncker reacted to this -
Didn't RO picks color too? Many spr are using color other than that. I'm planning to support 8-bit png though, that should help with this and reduce file size.Well, it explains why I had frustration times with transparency xD
Anyway, I would like to recomend you again to have an unique color (#FF00FF), because if you are a noob like me and you make white border in the top corner, you will have many problems with all the white color related in the background and also the #FF00FF is the common transparency in the RO world.
evilpuncker reacted to this -
Well, it doesn't have standard windows title buttons, obviously need something on that. They can make a button look like X if they wish.that is really nice! btw why there is a exit button still? xD or is it mean to be the X?
Maybe I should rename it to closeButton.. yea that shall do.
I haven't decided on declare those events yet though.
evilpuncker reacted to this -
Hey guys, here is what I have in mind with next major update. I know I have made few incompatible changes in the past, but I hope every change serves its purpose.
So let me introduce another incompatible change: the new old configuration file.
It is new as not compatible with old one, it is old as already widely used: JSON.
Why? Because I find it to be more flexible than my current proprietary solution, no to mention it.. sucks, filled with bugs that I never bothered to look at, poorly defined value type. It worked though...
Anyways, here is the draft for you all get familiarize and for me to get feedback (probably not).
Note: For those who are wonder where is cancel button go, I would like let it go literally. I mean close is cancel right?.. right??
without further ado:
{ "General": { "Title": "Thor Patcher", "RootURL": "http://127.0.0.1:808/", "RemoteConfigFile": "main.ini", "TimeOut": 0, "StatusFile": "server.dat", "DefaultGRF": "server.grf", "ClientEXE": "server.exe", "ClientParameter": "-1sak1", "FinishOnConnectionFailure": false, "HideProgressBarWhenFinish": true, "BGM": { "File": "", "Loop": "", "Volume": 20, "Directory": "" } }, "GUI": { "MainWindow": { "Style": "none", "Width": "", "Height": "", "HandleDrag": true, "Background": "images/bg.bmp", "FadeOnDrag": false, "Components": { "progressBar": { "Type": "ProgressBar", "Width": 342, "Height": 10, "Left": 23, "Top": 486 }, "statusLabel": { "Type": "Label", "AutoResize": false, "Width": 369, "Height": "", "Left": 15, "Top": 498, "Alignment": "center", "FontColor": 0, "FontName": "", "FontSize": "", "Text": "" }, "news": { "Type": "NoticeBox", "Width": 347, "Height": 250, "Left": 21, "Top": 217, "URL": "http://google.com" }, "startButton": { "Type": "Button", "Left": 383, "Top": 211, "Images": { "Default": "images/start1.png", "Hover": "images/start2.png", "HoldDown": "images/start3.png" } }, "exitButton": { "Type": "Button", "Left": 383, "Top": 244, "Images": { "Default": "images/Exit1.png", "Hover": "images/Exit2.png", "HoldDown": "images/Exit3.png" } } } } }}
evilpuncker and Alexandria reacted to this -
That's why i used, with some comments to encode back to the original charset.
I did a branch "charset" to test, now i just need the charset of each langtype to complete it.
What's the format for the charset?
BTW, I'm not sure whether the langtype you are basing of clientinfo. If was basing on clientinfo, then japan would be 2 and china would be 3, there is no sakray.
evilpuncker reacted to this -
You can try https://github.com/inexorabletash/text-encoding@Aeomin
I did some work but can't find a way to encode it again to the packet.
So I start working using TextEncoder/TextDecoder api, a WIP draft, there is a shim available so great for now.
I start with a binary:
var data = new Uint8Array([0xB2, 0xE2, 0xCA, 0xD4, 0x74, 0x65, 0x73, 0x74, 0x31, 0x32, 0x33]);
Decode it:var str = TextDecoder('gbk').decode(data);// result: "测试test123"
Works great, it print "测试test123".
Now the problem is when you have the string and want to pack it to the binary (to send the text to the server).
var data = TextEncoder().encode(str);// result: [ 0xE6, 0xB5, 0x8B, 0xE8, 0xAF, 0x95, 0x74, 0x65, 0x73, 0x74, 0x31, 0x32, 0x33 ];
As you see it doesn't match the first binary data.Currently checking if there is not a way to fix it without having to recode all charset functions by hand.
Edit: Just did some progress, I'll give some news soon.
-
I disagree with the hex to rgb thing, hex is so fucking easy lol, just use any tool to get the color code, even photoshop itself can do it btw latest version is 2.6.4.6 I suggest you to follow the link file here in hercules board
The current implementation is a mistake... Hex is fine as css uses it, but I didn't realize it wasn't in RGB.. it was in ABGR.. or was it AGRB? BGRA RBGA...geesh I don't even remember.. 'A'? hell, that's alpha, but it never worked anyways.
I'm planning completely change config format due in 2.7. Likely use standard format like json. In combination of script, might as well able to do something like Color:'RGB(random()%256,random()%256,random()%256)'
I'll take a look at image quality, never noticed anything about it myself.I have noticed that I was using an old version (2.6.4.1 published in thor.aeomin.net).
The errors related about missing bottons are fixed in the version 2.6.4.5 published in rAthena.
I'd like to suggest some stuff:
1. Backgrounds.
It doesn't matter what kind of extension is (bmp, jpg or even png), it always loses quality in colours when thor patcher is patched.
2. Hexadecimal colours to RBG colours in Thor patcher.
I'm talking about: Progress Bar and Label Status. Most designs for thor patcher are made by graphic designer and not by developer in c++ I would like to suggest the way that colours are shown using RGB colours format.
Example:
BackColorStart=255,0,240
(It would show a pink colour)
FontColor=255,255,255
(It would show a white colour)
I disagree with the hex to rgb thing, hex is so fucking easy lol, just use any tool to get the color code, even photoshop itself can do it btw latest version is 2.6.4.6 I suggest you to follow the link file here in hercules board
You also can use any tool to get RGB color in an easy way, even Paint of Windows has RGB options . It is just the fact that most of things related to web design and graphic design do not use hex color. I'm telling you this because im studying this at university.
My third sugestion:
3. Transparency.
It happened a lot of times in the version 2.6.1.66, I dont even know if it was fixed already in the newest versions but a lot of colors had transparency when the background was an bmp extention. I would suggest an official and unique transparency to #FF00FF.
The transparent color in bmp is the pixel in top-left corner, if you set that to ff00ff, then it shall be the chosen one.
png isn't supported! I have been something with it recently, guess forgot to disable it. A lot more code refactor is needed to even start experiment with this. The performance would be.. well... suck..use opengl? maybe..
evilpuncker reacted to this -
Check by yourself, it doesnt show Vote4points botton and it is good located in confi.ini file.
PD: it is not my first round, i have made a lot of thor skin.
PD2: I have finished using Thor_Patcher[2.6.1.66] http://herc.ws/board/files/file/123-celestial-thor-patcher-skin/
Interesting, it shows for me. Which OS version are you using?
I tried to do it again and yeah, it is working good the "Vote4Points" right now.
But it doesnt show "Set Up Botton".
[Button:Setup]Default='images/setup1.png'OnHover='images/setup1.png'OnDown='images/setup1.png'Left=33Top=360
Can you confirm this please?
W7 ultimate 64bits SP1
lol
odd, I can still see. Can you try 2.6.4.1 and .2?
-
Check by yourself, it doesnt show Vote4points botton and it is good located in confi.ini file.
PD: it is not my first round, i have made a lot of thor skin.
PD2: I have finished using Thor_Patcher[2.6.1.66] http://herc.ws/board/files/file/123-celestial-thor-patcher-skin/
Interesting, it shows for me. Which OS version are you using?
-
new skins? can you elaborate on that? I'm hardening on stability for next release, but mostly on its core.Very buggy at new skins
-
yes I use gbk, which is what client uses. big5 is for traditional chinese, I'm not sure whether Taiwan RO or so uses it but gbk includes both simplified chinese and traditional chinese. jp and kr is Japanese and Korean.Ok so it's just charset...
Good news there is an API in progress for browser, but only available in Firefox, a shim exist.
Would be good to have the list of charset based on the langtype, anyone want to help to generate it ?
Aeomin, if I'm not wrong the charset you used is "gbk" (I tested big5, euc-jp, euc-kr, ... without success).
By charset I assume you are using it in webgl render text? I guess what you are trying is convert to unicode and render using freetype. If that's the case, I'll try find something.
evilpuncker reacted to this -
So here I sent 测试test123I guess in all case it use two bytes even if it's alpha in this case (just the second byte set to 0).
By chance, can you give me the binary data of a player talking with chinese and alphanumeric text in the same message ? Would be great to figure it out
Hex: B2 E2 CA D4 74 65 73 74 31 32 33
Data sent to server: f3 00 17 00 53 61 6b 61 20 3a 20 b2 e2 ca d4 74 65 73 74 31 32 33 00
evilpuncker reacted to this -
As packet specification, yes it would be 12.
Ok I see, so I guess I just need an option to parse string as uint16 instead of uint8 to make it work.That's the first thing I tried, apparently it truncates multi-byte character into single byte.
Just to be sure, it means the max length of your character's name in chinese is 12 ? (24/2)
But I'm not sure use uint16 would solve the problem though, because a string can also mixed with numbers and English alphabets, those are still single byte.
-
That's the first thing I tried, apparently it truncates multi-byte character into single byte.Just change the page meta charset (from api.html if you are using the api to run roBrowser) would be enough.
evilpuncker reacted to this -
Would it be possible to add some kind langtype support, such as chinese? Seems changing encoding on browser is not enough to display those characters.
evilpuncker reacted to this -
File Name: Thor Patcher
File Submitter: Aeomin
File Submitted: 05 Apr 2014
File Category: Client Resources
Please do not send me private message as my response would be in lowest priority.
2.6.4.0 UPDATE IMPORTANT NOTICE: Not only this release is beta, there are few important changes need to note of: You now may modify the icon, code sign after pack configuration data. Some configuration entries are deprecated. Additionally, as you can tell, script support is coming...
System Requirement: Windows 2000 or higher.
Features
- Pack into single/multi grf file(s) [0x200]
- Automatically generates GRF if not exist
- RGZ support
- Customizable skin & language entries
- Background music
- No extra dll, not even config file is needed when distribute.
- Embed config file and resource data (images for background/buttons)
- Custom Button
- Remote config file
- Self update and client update [supports multi client exe update(Up to 255)]
Tools
ConfigGenerator - Packs configuration and resources into the patcher or generate as a binary config pack.
ThorMaker - make patch files into thor file, there two options file & grf, when choose file, the patcher will extract file into disk, and grf simply put in GRF. [Please do not pack GRF, instead you should pack the actual data.]
CheckSum - Simply a crc32 tool, used to make sure patcher & client/game exe is up to date
========================
Internal Config and Remote Config:
Internal config is simply the one embed inside patcher, store basic information required to run
Remote config, is on web server (of course), it used configure extended features.
- Pack into single/multi grf file(s) [0x200]
-
cool, now just need modify server to support websocket to make it a true webgame.
evilpuncker reacted to this
Thor Patcher Issue stuck at "Getting file -patchfilename-.thor"
in Client-Side Support
Posted
are you using free hosting?