Jump to content

Aeomin

Members
  • Content Count

    69
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by Aeomin


  1. 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. :D

    Oh, are you talking about the new configuration format? That's not implemented yet.

  2. 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.

    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.

  3. that is really nice! btw why there is a exit button still? xD or is it mean to be the X?

    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.

    Maybe I should rename it to closeButton.. yea that shall do.

     

    I haven't decided on declare those events yet though.


  4. 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"					}				}			}		}	}}

  5. 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.


  6. @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.

     

     

    You can try https://github.com/inexorabletash/text-encoding

  7. 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 :D 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 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++ :P 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 :D 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.

     

     

    I'll take a look at image quality, never noticed anything about it myself.

    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..


  8.  

     

    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?


  9. 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).

    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.

    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.


  10. I 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 :D

    So here I sent 测试test123

    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


  11.  

     

    That's the first thing I tried, apparently it truncates multi-byte character into single byte.

    Ok I see, so I guess I just need an option to parse string as uint16 instead of uint8 to make it work.

    Just to be sure, it means the max length of your character's name in chinese is 12 ? (24/2)

     

     

    As packet specification, yes it would be 12.

    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.


  12. File Name: Thor Patcher

    File Submitter: Aeomin

    File Submitted: 05 Apr 2014

    File Category: Client Resources

     

    2009q.png

    btn_donate_LG.gif

    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.

     

    Click here to download this file

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.