Register for your free account! | Forgot your password?

You last visited: Today at 19:36

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] WorldEditor ReMIX

Discussion on [Release] WorldEditor ReMIX within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
lollo_9_1's Avatar
 
elite*gold: 100
Join Date: Jun 2009
Posts: 168
Received Thanks: 711
Arrow [Release] WorldEditor ReMIX

Intro:
This WE is a version compiled directly by me which includes infinite fixes and features.
It's certain that you won't longer use the worldeditor_en!

To make it simple, I wrote all the details about this feature and the common WE inside the relative config file: (called WorldEditor.txt)
Code:
// I recently built a new worldeditor version with new features, so: Be a guinea pig of mine and test it all!
// Info: (v24)
// -) 100% translated
// -) granny2.9
// -) F6 as Insert alternative
// -) many default features not present inside the worldeditor_en (probably, that binary was taken out from an SVN long time ago and resource hacked) such as Ins for all regions and skyboxes
// -) WASD UPLEFTDOWNRIGHT to move around (+asynchronous diagonally movements)
// -) UP-LEFT-DOWN-RIGHT to move around*10 (+asynchronous diagonally movements)
// -) config file for few things
// 	Output options by default
// 	few others such as default WASD movement
// 	whether or not Insert should let you go where you were before the press
// 	no MAI dump when saving atlas
// 	whether or not DevIL should compress and remove alpha from minimap.dds
// 	whether or not loading .mdatr building heights
// 	default textureset when creating maps
// 	overlapped tabs
// 	other stuff
// -) few bugfixes
// 	default title app name
// 	attempting to write to an empty textureset name when creating new maps
// 	ViewRadius doubled every load&save
// 	shadowmap.dds creation
// 	assert when saving atlas
// 	crash when adjusting height
// 	many buffer under/overflows
// 	*.mdc collision data saving (for game_test)
// 	not checking output options when loading maps
// 	water brush waterid bug (the id was increased until 256 each time the function was called; now it's based on the water height just like it should be)
// 	init texture map reload map crash and last 2px always blank
// 	if pack/property exists, it'll be read! (note: if found, the local property/ directory will not be considered!)
// 	square shape even for up/down height brushes
// 	add textureset texture button (+multiselection)
// 	remove textureset texture feature (just selecting a texture from the list and pressing DELETE)
// 	creation of empty textureset with index -1 (changed to 0)
// 	change baseposition button
// 	misspelled stuff
// 	skybox bottom image (nb: you also need a fixed launcher for this)
// 	removed the boring CTRL requirement (to move the camera) when editing daylight/attr
// 	fixed refresh texture imagebox when onKey-pressing the down/up keys (like when onClicking them)
// 	fixed TextureSet file creation if not existing
// 	fixed new wolfman motion event handling
// -) created new TextureSet field when creating new maps
// -) created new Change/Delete Texture buttons when double-clicking a texture
// -) created Background Music playback and Shadow Recalculate buttons
// -) created water height "set 0z", "+1z", "-1z" buttons
// -) server_attr generator
// Note:
// 0) there are no regressions in this version! a bug here means it'd also be present in older WE versions too!
// 1) the shadow output option is tricky: when UpdateUI is called, shadows are hidden although the check is pressed (i implemented the shadow recalculate function for that) #fixed since v11
// 2) the bgm player requires /miles and the fadein/out doesn't work until you load the map
// 3) the adjusting height button works only if mdatr height is detected
// 4) the Debug version is laggy when working on maps such as n_flame_dungeon and n_ice_dungeon (by default, because SphereRadius are intensively checked in SphereLib\spherepack.h)
// 5) if you load a map, the script panels (where you load .msa et similia) will have the camera perspective a little fucked up (0z instead of -32767z or 0x 0y -163,94z)
// 6) few tree objects are not movable and/or highlightable after placed on the ground and their selection is invisible (you can still delete 'em)
// 	trick: draw a square selecting a normal building and 'em, then move the building and you'll see all of 'em will be moved!
// 7) the server_attr generator will clean all the unused flags! attr[idx]&=~0xFFFFFFF8;
// 8) you can read files from pack/Index 'n stuff but be aware that Property will not be considered! #fixed since v15
// 9) the MonsterAreaInfo features are laggy and buggy as fuck
// 10) even though you can select many textures at once (using ctrl+click on textureset list; for brushing or initializing a base texture), you can't delete more than one at the same time
// 11) the .mdatr height is tricky; if you move a building, the height will not be refreshed until you put a new building or whatever you want to trigger the update event
// 12) by default, the worldeditor tries to render only the first 8 terrain textures of a 32x32px region (nb: a 1x1 map is a 256x256 px region)
// 13) the minimap rendering cannot catch the buildings/trees inside the first 2x2 regions due a ymir cache fault and you need to set the camera to "see" them
// 14) when the textureset, environment, etc load fails, the old filename still remains loaded
// 15) the attr flag "3" (three) has no implementation, so don't use it!
// TODO:
// A) look at more than 8 textures for region -> DONE
// B) create a shortcut to fix the #5 note -> DONE
// C) disable the radius <= GetRadius()+0.0001f check to fix the #4 note -> REJECTED
// 	the worldeditor_en calls this assert and, if ignored, the lag ceases to exist (this will not occur in source version)
// 	at least, if the release version is not a problem for you, use that in those few cases when .mse are abused and try to kill the debug one
// D) translation in more languages other than english -> REJECTED
// 	english should be enough!
// E) alternative path for d: -> REJECTED
// 	you can mount d as a subpath of c like this:
// 	subst d: "c:\mt2stuff"

// ### WE CONFIG FILE
VIEW_CHAR_OUTPUT_BY_DEFAULT   = 1
VIEW_SHADOW_OUTPUT_BY_DEFAULT = 1
VIEW_WATER_OUTPUT_BY_DEFAULT  = 1

// WINDOW_HEIGHT_SIZE = 1080
// WINDOW_WIDTH_SIZE  = 1920
WINDOW_FOV_SIZE    = 45

// #100 = 1px (minimal px movement when pressing WASD)
WASD_MINIMAL_MOVE  = 100

// came back from where you were before pressing Insert/F6
NO_GOTO_AFTER_INSERT = 1

// disable MAI dumps when saving atlas and/or pressing Insert/F6
NOMAI_ATLAS_DUMP = 1

// disable minimap.dds alpha saving and enable compression
NOMINIMAP_RAWALPHA = 1

// enable .mdatr height collision loading when moving on buildings or adjusting terrain
DETECT_MDATR_HEIGHT = 1

// disable fog when loading maps
NOFOG_ONMAPLOAD = 1

// refresh all checkbox configurations when loading maps 'n stuff
REFRESHALL_ONUPDATEUI = 0

// set a default mapname prefix when creating new maps ("" to disable)
NEW_MAP_MAPNAME_PREFIX = "metin2_map_"

// display a default textureset when creating new maps ("" to disable)
// note: it loads the filepath if exists, otherwise it will create an empty textureset file
NEWMAP_TEXTURESETLOADPATH = "textureset\metin2_a1.txt"

// create a default textureset as "textureset/{mapname}.txt"
// note: this option is not considered if NEWMAP_TEXTURESETLOADPATH is not empty. [before v24]
// note: this option is not considered if the TextureSet path input is not empty when creating a new map [since v24]
NEWMAP_TEXTURESETSAVEASMAPNAME = 1

// ## SHORT-CUTs
// # ESC(ape)		Clean cursor
// # Canc(el|Delete)	Delete stuff such as selected buildings
// # Ctrl+S		Save map
// # Ins(ert) or F6	Save shadowmap|minimap.dds
// # F3			BoundGrid Show/Hide
// # F4			Render UI Show/Hide
// # F11		WireFrame Show/Hide
// # R			Reload Texture
// # Z and X		Decrease/Increase Texture Splat by 0.1
// # CapsLock		Show GaussianCubic effect if shadows are displayed
// # L-Shift+1-6	Show TextureCountThreshold flags (&2-7) as colors on the ground
// # L-Shift+8		Set Max Showable texture to 8 (de-fix note 12)
// # L-Shift+0		Set Max Showable texture to 255 (fix note 12)
// # H			Refresh MDATR Heights (useful when you move an object) (fix note 11)
// # Y			Set Perspective as default (fix note 5)
// # T			Set the Camera to catch all the object on the screen (w/a note 13) then you'll be ready to press Insert/F6

// # DO NOT HAVE AN OBJECT SELECTED WHEN USING THOSE SHORTCUTS (MW1-7)
// # MouseWheel+1	move cursor x rotation
// # MouseWheel+2	move cursor y rotation
// # MouseWheel+3	move cursor z rotation
// # MouseWheel+4	move cursor height base (1x)
// # MouseWheel+5	move cursor height base (0.5x)
// # MouseWheel+6	move cursor height base (0.05x)
// # MouseWheel+7	move cursor ambience scale (1x)

// # MouseWheel+Q	move selected object height base (1x)
// # MouseWheel+9	move selected object x position (1x) (+asyncronous)
// # MouseWheel+0	move selected object y position (1x) (+asyncronous)
// # MW+RSHIFT+9|0	as above but *10x (+asyncronous)
// # MW+RCONTROL+9|0	as above but *100x (+asyncronous)

// # MouseLeft		Insert Objects
// # MouseRight		Move camera (it could require CTRL too)

// # SPACE		Start move/selected animation in Object/Effect/Fly CB
// # ESC		Stop animation in Effect/Fly CB
NB: A space is required for such things:
//*space*stuff
KEY*space*=*space*VALUE


Download:



How To Map:
This release will not cover this part. Look at to understand how to do it.


About the ServerAttr Generator: (since v14)
This is a beta function but it should work fine.
I tested it on gm_guild_build (1x1), metin2_map_a1 (4x5), metin2_map_trent (2x2), metin2_n_snowm_01 (6x6) and the result was the same as the blackyuko map editor. (I use a different lzo version and I clean deprecated and useless flags, so the size is different from this last one but the "final image" will be the same; using game_test to fix his server_attr will let mine and his perfectly equal byte per byte)

I also give you the source code of my server_attr generator function.
A server_attr file is based on all the attr.atr files merged into a one raw RGBA image and each one scaled from 256x256 to 512x512.
After that, the image will be splitted into sectors of 128x128 px and each one compressed using lzo compression.
The server_attr header is composed by the size of the map*4. (e.g. a 4x4 will have a 16x16 size with 256 sectors inside) (gj ymir )

An uncompressed server_attr sector is just like this: (the sub 4 byte header is the size returned by the LzoCompress which indicates how much the compressed sector data are large)

Each attr.atr is just like this: (the header is composed of 6 byte in total: 3 WORDs respectively for version, width and height; they are always 2634, 1, 1 so don't bother about it)
A single attr.atr scaled from 256x256 to 512x512 will be just like this:

You can use the game_test (from source) to perform few tasks like:
  1. Create a server_attr from a .mcd file (I won't suggest it)
    a <collision data filename> <map directory>
  2. Regenerate an old server_attr to server_attr.new using the current lzo compression and cleaning useless flag
    c <filename>
  3. Other stuff such as b to create a character instance or q to quit


About the SkyBox Bottom pic fix: (since v21)
Both metin2launch.exe and worldeditor.exe should be edited to see the bottom pic of the skybox. Ymir messed up the code wrongly flipping the bottom image.
Open .\Srcs\Client\EterLib\SkyBox.cpp and replace
Code:
		////// Face 5: BOTTOM
		v3QuadPoints[0] = D3DXVECTOR3(1.0f, -1.0f, -1.0f);
		v3QuadPoints[1] = D3DXVECTOR3(1.0f, 1.0f, -1.0f);
		v3QuadPoints[2] = D3DXVECTOR3(-1.0f, -1.0f, -1.0f);
		v3QuadPoints[3] = D3DXVECTOR3(-1.0f, 1.0f, -1.0f);
with
Code:
		////// Face 5: BOTTOM
		v3QuadPoints[0] = D3DXVECTOR3(1.0f, 1.0f, -1.0f);
		v3QuadPoints[1] = D3DXVECTOR3(1.0f, -1.0f, -1.0f);
		v3QuadPoints[2] = D3DXVECTOR3(-1.0f, 1.0f, -1.0f);
		v3QuadPoints[3] = D3DXVECTOR3(-1.0f, -1.0f, -1.0f);
then recompile.


Credits:
Attached Files
File Type: rar picsnstuff.rar (136.2 KB, 2230 views)
File Type: rar default_skyboxes_with_bottom_images.rar (47.4 KB, 1461 views)
lollo_9_1 is offline  
Thanks
92 Users
Old 07/22/2014, 11:02   #2
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
Thank you, looks awesome!
ProfessorEnte is offline  
Old 07/22/2014, 11:23   #3
 
elite*gold: 0
Join Date: Jul 2014
Posts: 305
Received Thanks: 95
Thank you, i will work with it
.Err0xR` is offline  
Old 07/22/2014, 11:27   #4
 
Mi4uric3's Avatar
 
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
Would you post the SHA256 of the files so we can confirm that everyone gets the same files..? :)
Mi4uric3 is offline  
Old 07/22/2014, 11:35   #5
 
lollo_9_1's Avatar
 
elite*gold: 100
Join Date: Jun 2009
Posts: 168
Received Thanks: 711
Quote:
Originally Posted by Mi4uric3 View Post
Would you post the SHA256 of the files so we can confirm that everyone gets the same files..? :)
Code:
classic_wes__20140101-2139.rar (4.754.851 byte)
CRC32: 8431DC3A
MD5: 128B1DF30853F7F929FFEA66461E37A8
SHA256: 8FAFB0F830D5D04DD315560F9E98731870556142BE9DEE4E5F47E54E095CAFC2
VT: https://www.virustotal.com/de/file/8fafb0f830d5d04dd315560f9e98731870556142be9dee4e5f47e54e095cafc2/analysis/1406021962/

we_remix_v14__20140722-1048.rar (4.333.541 byte)
CRC32: 74356E1B
MD5: E4D9F8C4C0FE73E7728CF8D226CDBCB6
SHA256: 2115B6947B395C97CB86A7E4E4E5D5F6F8737A918F234941AB029E39D1A651CA
VT: https://www.virustotal.com/de/file/2115b6947b395c97cb86a7e4e4e5d5f6f8737a918f234941ab029e39d1a651ca/analysis/1406022035/
lollo_9_1 is offline  
Thanks
3 Users
Old 07/22/2014, 12:04   #6


 
Kyuso /..'s Avatar
 
elite*gold: 0
Join Date: Jan 2014
Posts: 1,583
Received Thanks: 2,398
Cool

Thank you! It work´s fine

Mfg Hardy
Kyuso /.. is offline  
Old 07/22/2014, 12:36   #7
 
elite*gold: 0
Join Date: Jul 2013
Posts: 809
Received Thanks: 1,612
Thanky very much for that nice WE
better then the lastest WE Releases.
CryPrime is offline  
Old 07/22/2014, 16:17   #8
 
elite*gold: 0
Join Date: May 2012
Posts: 17
Received Thanks: 0
thank you
masrawy2 is offline  
Old 07/22/2014, 21:06   #9
 
lollo_9_1's Avatar
 
elite*gold: 100
Join Date: Jun 2009
Posts: 168
Received Thanks: 711
Arrow

You'll find the v15 one in the folder link I previously gave you!
Code:
we_remix_v15__20140722-2059.rar (4.334.531 byte)
CRC32: 0CCB9868
MD5: C031093768DEB70F563853719EA9CD78
SHA256: 37E6EA87C3C1630A7FE2B9A5BDBC1F5E24A17B12EA9280C56C14D2E96EAAF5E0
Code:
+fix
// 	default title app name
// 	water brush waterid bug (the id was increased until 256 each time the function was called; now it's based on the water height just like it should be)
// 	init texture map reload map crash and last 2px always blank
// 	if pack/property exists, it'll be read! (note: if found, the local property/ directory will not be considered!)
+feature
// -) created water height "set 0z", "+1z", "-1z" buttons
lollo_9_1 is offline  
Thanks
1 User
Old 07/22/2014, 22:12   #10

 
.Bloodseeker's Avatar
 
elite*gold: 120
Join Date: Feb 2009
Posts: 3,233
Received Thanks: 995
So this editor can generate the shadows of placed objects without any error?
.Bloodseeker is offline  
Old 07/22/2014, 22:16   #11
 
elite*gold: 0
Join Date: Jul 2013
Posts: 809
Received Thanks: 1,612
Quote:
Originally Posted by .Bloodseeker View Post
So this editor can generate the shadows of placed objects without any error?
Yes. Only Press INSERT OR F6
then Safe the Map, then Creat the atlas
you mus not Press 100x INSERT, only one time.
CryPrime is offline  
Old 07/22/2014, 22:29   #12

 
.Bloodseeker's Avatar
 
elite*gold: 120
Join Date: Feb 2009
Posts: 3,233
Received Thanks: 995
Quote:
Originally Posted by CryPrime View Post
Yes. Only Press INSERT OR F6
then Safe the Map, then Creat the atlas
you mus not Press 100x INSERT, only one time.
i lik diz, thanks.
.Bloodseeker is offline  
Old 07/22/2014, 22:58   #13
 
callmax's Avatar
 
elite*gold: 20
Join Date: Mar 2010
Posts: 1,166
Received Thanks: 684
Quote:
Originally Posted by CryPrime View Post
Yes. Only Press INSERT OR F6
then Safe the Map, then Creat the atlas
you mus not Press 100x INSERT, only one time.
this so f*cking sxy
callmax is offline  
Thanks
1 User
Old 07/23/2014, 03:45   #14
 
Da' Real Pαιη's Avatar
 
elite*gold: 0
Join Date: Aug 2013
Posts: 568
Received Thanks: 700
Hammer Danke dir endlich geht's bugfrei.
Da' Real Pαιη is offline  
Old 07/23/2014, 08:37   #15
 
dogi4321's Avatar
 
elite*gold: 15
Join Date: Nov 2009
Posts: 302
Received Thanks: 31
The Shadowmap is buggy....why?
dogi4321 is offline  
Reply

Tags
lollo_9_1, metin2, metin2 map editor, server_attr generator, worldeditor


Similar Threads Similar Threads
[Release] Old DarkOrbit Remix
08/03/2013 - DarkOrbit - 8 Replies
Hi!! I was boring so I decided to update Old DarkOrbit Remix. Here are some screenshots: http://darkorbitremix.tuars.com/images/header9.pn g http://darkorbitremix.tuars.com/images/header8.pn g
[Release]Multishining like Remix.
03/30/2013 - Metin2 PServer Guides & Strategies - 30 Replies
Servus leute, da ich gerade irgentwie Lust habe Release ich euch hier das Multishining like Remix. Öffnet den Spoiler und ihr seht die Shinings. http://img3.bilder-hochladen.tv/PTpixKMJ.jpg http://img3.bilder-hochladen.tv/5ZYM7NvR.jpg
[WorldEditor-Review] Der WorldEditor, endlich!
05/30/2011 - Last Chaos - 64 Replies
Seid gegrüßt, jahrelange Spieler von LastChaos, Neulinge, und Veteranen! Nun möchte ich euch meinen WorldEditor zeigen, ein einzigartiges Review, und bald als Download erhältlich. Ich selbst muss sagen, ich bin sehr stolz auf mich, obwohl viele fehler kommen, darunter auch werden die Dateien nichtmal erkannt, aber dies werde ich noch beheben können.. das teil hat noch sehr viele probleme, aber als vorbild nehme ich mir das programm "NoggIt" sie haben es auch geschafft, auso werde ich es...



All times are GMT +1. The time now is 19:36.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.