Tool WorldEditor ReMIX

martysama0134

Utente Platinum
9 Gennaio 2009
3,446
80
1,703
1,107
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)
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
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:
  1. Creare un server_attr da un file .mcd (è inutile)
    a <collision data filename> <map directory>
  2. Ricreare un server_attr chiamato server_attr.new ricomprimendolo (lzo) e ripulendolo dei flag inutili CLICK
    c <filename>
  3. 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);
con
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);
poi ricompilare. (potete comunque mappare senza fare questa modifica)


Credits:
yuizTdF.png
 
Ottimo lavoro lollo... sarebbe utile se qualcuno postasse una guida passo passo nella creazione di mappe!
I video di CryPrime dovrebbero essere "ok". (nonostante sia tutto in tedesco)
Serve qualcosa di preciso?
Piccola curiosità personale, c++?
Ricordo che il WorldEditor è un tool della ymir (c++ con mfc). Questa versione proviene direttamente dai source. (dovrebbe esser comunque "ok" postarlo sul forum)
La versione "WorldEditor_en" (l'inglese è stato tradotto manifest/hex-editandolo) che gira su internet fu sottratta anni (non ha skybox e tante altre funzioni) fa dalle repository della ymir e venduta per €X000 circa a qualche server tedesco.
 
  • Mi piace
Reazioni: A s t e r i x
I video di CryPrime dovrebbero essere "ok". (nonostante sia tutto in tedesco)
Serve qualcosa di preciso?
Ricordo che il WorldEditor è un tool della ymir (c++ con mfc). Questa versione proviene direttamente dai source. (dovrebbe esser comunque "ok" postarlo sul forum)
La versione "WorldEditor_en" (l'inglese è stato tradotto manifest/hex-editandolo) che gira su internet fu sottratta anni (non ha skybox e tante altre funzioni) fa dalle repository della ymir e venduta per €X000 circa a qualche server tedesco.

[OT]
A me fù segnalato da [MENTION=98761]LF95[/MENTION] (tra l'altro non ho ancora capito se l'ha fatto per attacarmi) di no e credo abbia ragione. Se protetti da copyright (cosa che non ho visto/osservato) in questo caso dovrebbe essere warez (spero comunque di sbagliarmi). Comunque sia, mi informerò meglio, anche perché vorrei migliorare il "mio" tool e postarlo nuovamente.
[/OT]

Ci sono poche parole per descrivere questo tool, quindi mi limito a dire che ha facilitato la vita di molti mapper con il suo arrivo.
 
Ultima modifica:
[OT]
A me fù segnalato da [MENTION=98761]LF95[/MENTION] (tra l'altro non ho ancora capito se l'ha fatto per attaccarmi) di no e credo abbia ragione. Se protetti da copyright (cosa che non ho visto/osservato) in questo caso dovrebbe essere warez (spero comunque di sbagliarmi). Comunque sia, mi informerò meglio, anche perché vorrei migliorare il "mio" tool e postarlo nuovamente.
[/OT]

Ci sono poche parole per descrivere questo tool, quindi mi limito a dire che ha facilitato la vita di molti mapper con il suo arrivo.
È tempo perso provare a creare un altro WorldEditor. Ho dovuto riscrivere la maggior parte del codice visto che quello della ymir crashava da sé o aveva bottoni senza alcuna implementazione. (per chi non lo sa, lo ho pubblicato dal "07/22/2014, 10:59" su altri forum)
Con quel tempo perso, potresti realizzare un PackMaker decente. (quello base della ymir fa abbastanza cagare; ho già una base clean di quel tool da cui partire)

D'altronde, avrebbero dovuto censurare tutti i restanti file di metin2, esclusi quelli ottenibili dal client in quanto materiale 'pubblico', da questa sezione.
Lo staff farebbe bene a proibire solo db e game su questo forum. I programmi extra non fanno né caldo né freddo. (soprattutto ad una compagnia che ha postato i source sul proprio sito)
 
È tempo perso provare a creare un altro WorldEditor. Ho dovuto riscrivere la maggior parte del codice visto che quello della ymir crashava da sé o aveva bottoni senza alcuna implementazione. (per chi non lo sa, lo ho pubblicato dal "07/22/2014, 10:59" su altri forum)
Con quel tempo perso, potresti realizzare un PackMaker decente. (quello base della ymir fa abbastanza cagare; ho già una base clean di quel tool da cui partire)

D'altronde, avrebbero dovuto censurare tutti i restanti file di metin2, esclusi quelli ottenibili dal client in quanto materiale 'pubblico', da questa sezione.
Lo staff farebbe bene a proibire solo db e game su questo forum. I programmi extra non fanno né caldo né freddo. (soprattutto ad una compagnia che ha postato i source sul proprio sito)

Scusami, ho specificato malissimo, intendevo il tool segnalato da LF95 (il WorldEditor neanche l'avrei compilato), che è appunto il PackMaker (ieri ho già iniziato a fare qualcosa nuovamente in quanto persi vecchi sorgenti). Per il resto, sono d'accordo con te.
 
Gentile LoLLo©Heartlongju,

un meritato "bravo" per il tuo lavoro.
Non ho testato personalmente dato che non mi piace molto creare mappe, ma apprezzo molto il fatto di condividere su questa community un proprio lavoro visto che ultimamente é ciò che tende a mancare in questa sezione.

Cordiali saluti,
Misterioso
 
ho un problemino...
programma normale:
9eaefc449c.jpg

programma posizionato su "A" (attribute in teoria) per modificare le varie zone calpestabili e non
89b856dc46.jpg

si vede tutto bianco... perchè?
 
Capisco benissimo [MENTION=29034]LoLLo©Heartlongju[/MENTION],

capisco benissimo che può dar un po' "fastidio" questo fatto, ma ricorda che se rilasciamo qualcosa é per dare una mano e poco ci deve importare se qualcuno si diverte a far dispetti o altro dato che l'importante é condividere per il piacere di farlo e non per ricevere likes e/o voti.

Per favore non prenderla sul personale, é una considerazione generale.
Spero che continuerai comunque a condividere i tuoi lavori nonostante questi piccoli eventi che ogni tanto ti portano a riflettere se continuare o meno a pubblicare il proprio lavoro.

Buona continuazione e ti auguro il miglior successo !
Misterioso
 
Ultima modifica:
ho un problemino...
si vede tutto bianco... perchè?
Prova a mandarmi una di quelle mappe a te buggate in PM. (non mi è mai capitato; non credo che tu abbia bisogno di fare lshift+0, ma che sia riguardante a qualche file mancante)
Risolto: Non aveva la folder "d:/ymir work/special".
Files qui: special
l'importante é condividere per il piacere di farlo
Sì, la mentalità buggata della gente bisogna ignorarla. Più che altro, io creo più roba che utilizzo e, per non lasciare il lavoro inutilizzato, lo posto.
 
  • Mi piace
Reazioni: TheVipero
Prova a mandarmi una di quelle mappe a te buggate in PM. (non mi è mai capitato; non credo che tu abbia bisogno di fare lshift+0, ma che sia riguardante a qualche file mancante)
Risolto: Non aveva la folder "d:/ymir work/special".
Files qui: special
Sì, la mentalità buggata della gente bisogna ignorarla. Più che altro, io creo più roba che utilizzo e, per non lasciare il lavoro inutilizzato, lo posto.

Lollo come ingrandisco un object? Tipo voglio ingrandire la porta d'accesso <.<