Ultima modifica da un moderatore:
Intro:
Questa versione del WorldEditor (WE) è stata creata direttamente da me ed include infiniti fix e feature.
All'interno troverete un file di config chiamato WorldEditor.txt contenente tutto ciò: (è in inglese)
NB: Lo spazio è richiesto tra "=":
//*space*stuff
KEY*space*=*space*VALUE
Download: (dovrebbe esser lecito su inforge)
How To Map:
Questa release non spiegherà come creare mappe.
Ci sono abbastanza thread come questo CryPrime`s tutorials per capire come si fa.
About the ServerAttr Generator: (dal v14)
All'interno del WE troverete anche un serverattr generator (source code di tale funzione: CLICK)
Si può usare il game_test (dai source) per fare alcune cose:
About the SkyBox Bottom pic fix: (dal v21)
Sia il launcher metin2launch.exe che il worldeditor.exe di default hanno l'immagine del bottom dello skybox buggato. (la ymir lo ha roteato alla pazzo)
Basta aprire .\Srcs\Client\EterLib\SkyBox.cpp e sostituire
con
poi ricompilare. (potete comunque mappare senza fare questa modifica)
Credits:
Questa versione del WorldEditor (WE) è stata creata direttamente da me ed include infiniti fix e feature.
All'interno troverete un file di config chiamato WorldEditor.txt contenente tutto ciò: (è in inglese)
Codice:
// 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
//*space*stuff
KEY*space*=*space*VALUE
Download: (dovrebbe esser lecito su inforge)
- WE ReMIX v23
- WE ReMIX v24
- I relativi bottom degli Skybox attuali (fatti da me)
- alcune pic del thread su ekrukken dot com
How To Map:
Questa release non spiegherà come creare mappe.
Ci sono abbastanza thread come questo CryPrime`s tutorials per capire come si fa.
About the ServerAttr Generator: (dal v14)
All'interno del WE troverete anche un serverattr generator (source code di tale funzione: CLICK)
Si può usare il game_test (dai source) per fare alcune cose:
- Creare un server_attr da un file .mcd (è inutile)
a <collision data filename> <map directory> - Ricreare un server_attr chiamato server_attr.new ricomprimendolo (lzo) e ripulendolo dei flag inutili CLICK
c <filename> - Altra roba tipo b per creare una istanza di CHARACTER o q per uscire
About the SkyBox Bottom pic fix: (dal v21)
Sia il launcher metin2launch.exe che il worldeditor.exe di default hanno l'immagine del bottom dello skybox buggato. (la ymir lo ha roteato alla pazzo)
Basta aprire .\Srcs\Client\EterLib\SkyBox.cpp e sostituire
Codice:
////// 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);
Codice:
////// 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);
Credits:
