Oyez, oyez !
Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !
Merci à toutes et à tous pour votre participation !
N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...
Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !
Merci à toutes et à tous pour votre participation !
N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...
[WeiDU] Équivalent du signe "*" pour la commande COPY ?
- deratiseur
- Golem de fer
- Messages : 3697
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
[WeiDU] Équivalent du signe "*" pour la commande COPY ?
.
Je voudrais juste savoir comment exprimer en code WeiDU la commande dos "copy machintruc/*b.bam override/*c.bam"
Le but est de copier 45 icônes en b en 45 icônes en c, en une seule ligne et pas en 45 comme je le fait actuellement dans mon tp2.
J'ai essayé diverses variantes de COPY, je n'y arrive pas :-/
Le but est de copier 45 icônes en b en 45 icônes en c, en une seule ligne et pas en 45 comme je le fait actuellement dans mon tp2.
J'ai essayé diverses variantes de COPY, je n'y arrive pas :-/
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
Il faut des possibilités avancées en "pattern matching" pour faire ça. Les commandes standard DOS et même Unix (sauf peut-être depuis la norme POSIX) n'ont pas ces capacités, pour autant que je sache.
D'après la documentation WeiDU (chapitre 12), il semble que les capacités soient présentes mais il n'y a aucune mention des commandes pour lesquelles ces capacités sont applicables. Donc il faudra essayer mais il y a de grandes chances.
Tu peux essayer cette forme, mais sans garantie qu'elle fonctionne dans le contexte de COPY de WeiDU :
WeiDU devrait accepter cette forme. Si ça ne marche pas, je ne pense pas qu'il y ait d'autre solution que les 45 lignes.
D'après la documentation WeiDU (chapitre 12), il semble que les capacités soient présentes mais il n'y a aucune mention des commandes pour lesquelles ces capacités sont applicables. Donc il faudra essayer mais il y a de grandes chances.
Tu peux essayer cette forme, mais sans garantie qu'elle fonctionne dans le contexte de COPY de WeiDU :
Cette expression régulière fonctionne dans des fonctions de recherche/remplacement d'un éditeur de texte "évolué" tel que Notepad++, à un petit détail près car les \ avant les parenthèses ouvrante et fermante sont inutiles en cas de respect de la norme POSIX. De son côté, WeiDU suit la notation d'Emacs (voir Wikipedia) comme indiqué au chapitre 12 et a donc besoin de ces \.COPY ~machintruc/\(.*\)b.bam~ ~override/\1c.bam~
WeiDU devrait accepter cette forme. Si ça ne marche pas, je ne pense pas qu'il y ait d'autre solution que les 45 lignes.
- Akadis
- Adepte de Grondemarteau
- Araignée éclipsante
- Messages : 1224
- Enregistré le : lun. 28 avr. 2003, 10:58
- Localisation : Bordeaux
- Contact :
- Statut : Hors ligne
.
Weidu sait copier les contenus des dossiers.
Tu peux donc mettre tes fichiers dans un sous dossier de ton mod et faire :
Tu peux donc mettre tes fichiers dans un sous dossier de ton mod et faire :
Je l'ai utilisé dans le mod de l'extension de la quête de Jan.COPY ~MonMod/MonDossier~ ~override~
- deratiseur
- Golem de fer
- Messages : 3697
- Enregistré le : mer. 05 déc. 2007, 18:35
- Localisation : Gap, Hautes alpes
- Statut : Hors ligne
.
De retour 7 ans plus tard pour donner la solution que j'ai trouvé je ne sais plus quand après de multiple essais et demandes.
pour copier des fichiers finissant par C en les mêmes fichiers finissant par B, il faut tous les mettre dans un répertoire (dans l'exemple si dessous je les ai mises dans le répertoire "Spell icons"), puis copier ce répertoire avec l'instruction suivante :
pour copier des fichiers finissant par C en les mêmes fichiers finissant par B, il faut tous les mettre dans un répertoire (dans l'exemple si dessous je les ai mises dans le répertoire "Spell icons"), puis copier ce répertoire avec l'instruction suivante :
ACTION_BASH_FOR ~Derats_kits/Warlord/Bams/Spell icons~ ~.+\c.bam$~ BEGIN
OUTER_INNER_PATCH_SAVE new "%BASH_FOR_RES%" BEGIN REPLACE_TEXTUALLY ~c$~ ~b~ END
COPY ~%BASH_FOR_FILESPEC%~ ~override/%new%.bam~
END
- Haplo74
- Minotaure
- Messages : 1737
- Enregistré le : dim. 08 avr. 2012, 20:20
- Localisation : Paris
- Statut : Hors ligne
.
Bonjour,
Je ne suis pas vraiment calé en programmation Weidu.
Mais y'a-t-il une contre-indication à utiliser les COPY_EXISTING plutôt que COPY ?
Dans le mod Unique Artefacts, l'auteur utilisait une syntaxe proche des expressions régulières qui semble répondre au besoin.
Dans mon script de nettoyage des objets de Secret of Bone Hill, j'ai repris ce type de syntaxe:
COPY_EXISTING_REGEXP GLOB ~^BH.+\.are$~ ~override~
Ca n'est pas le type d'opération qui est recherché ?
Morceau de code:
Script complet dans ce [POST=310088]message[/POST]
Mais peut-être n'ai-je rien compris à l'énoncé initial ?
Haplo74
Je ne suis pas vraiment calé en programmation Weidu.
Mais y'a-t-il une contre-indication à utiliser les COPY_EXISTING plutôt que COPY ?
Dans le mod Unique Artefacts, l'auteur utilisait une syntaxe proche des expressions régulières qui semble répondre au besoin.
Dans mon script de nettoyage des objets de Secret of Bone Hill, j'ai repris ce type de syntaxe:
COPY_EXISTING_REGEXP GLOB ~^BH.+\.are$~ ~override~
Ca n'est pas le type d'opération qui est recherché ?
Morceau de code:
Code : Tout sélectionner
//définition des objets à supprimer
OUTER_SPRINT ~amulets~ ~AMUL14\|AMUL15\|AMUL16\|AMUL17\|AMUL19\|AMUL20\|AMUL21\|AMUL22\|AMUL23\|AMUL25\|AMUL26\|AMUL27\|AMUL28\|CHALCY3\|IPSION\|MISC5E\|MISC73\|MISC9S\|WA2AMU~
OUTER_SPRINT ~bracers~ ~BRAC03\|BRAC04\|BRAC06\|BRAC07\|BRAC08\|BRAC09\|BRAC10\|BRAC11\|BRAC13\|BRAC14\|BRAC15\|BRAC16\|BRAC17\|BRAC18\|BRAC19\|BRAC20\|BRAC21\|BRAC22\|BRAC23\|BRAC24\|BRAC25\|BRAC26~
OUTER_SPRINT ~cloaks~ ~CLCK02\|CLCK03\|CLCK04\|CLCK05\|CLCK06\|CLCK07\|CLCK08\|CLCK20\|CLCK21\|CLCK22\|CLCK23\|CLCK24\|CLCK25\|CLCK26\|CLCK27\|CLCK28\|CLCK30\|CLCK31\|CLCK32\|COMPON16\|DWCLCK01\|MISC9W~
OUTER_SPRINT ~boots~ ~BOOT01\|BOOT02\|BOOT03\|BOOT04\|BOOT05\|BOOT07\|BOOT08\|BOOT10\|BOOT11\|BOOT12\|BOOTDRIZ\|MISC8J\|MOVE7\|TROLLBOO~
OUTER_SPRINT ~belts~ ~BELT02\|BELT03\|BELT04\|BELT05\|BELT06\|BELT07\|BELT08\|BELT09\|BELT10\|BELT11~
OUTER_SPRINT ~rings~ ~ALDETH\|FAMMY\|FIRERING\|FREERING\|IMPINVIS\|JWSUPER\|MAGE01\|MAGE05\|MISC72\|MISC88\|NOCIRC\|RING02\|RING03\|RING05\|RING07\|RING08\|RING09\|RING20\|RING21\|RING22\|RING23\|RING25\|RING26\|RING27\|RING28\|RING29\|RING30\|RING31\|RING33\|RING34\|RING35\|RING36\|RING37\|RING39\|RING40\|RING41\|RING42\|RING46\|RINGPICO\|ROSSLAND\|ROSSRING\|WA2RING~
OUTER_SPRINT ~wands~ ~WAND12\|WAND13\|WAND15\|WAND18\|WAND19~
OUTER_SPRINT ~rods~ ~RODS01\|RODS02\|RODS03\|RODS06~
OUTER_SPRINT ~armors~ ~BRUENPLA\|CHALARM\|CHAN03\|CHAN06\|CHAN07\|CHAN08\|CHAN09\|CHAN10\|CHAN11\|CHAN12\|CHAN13\|CHAN14\|CHAN15\|CHAN16\|CHAN17\|CHAN18\|CHAN19\|CHAN20\|CHAN21\|CLCK15\|CLCK16\|CLCK17\|CLCK19\|CLCK29\|CLOLTH\|DWCHAN01\|DWCHAN02\|DWPLAT01\|HGWRA02\|LEAT03\|LEAT06\|LEAT07\|LEAT08\|LEAT09\|LEAT11\|LEAT12\|LEAT13\|LEAT14\|LEAT15\|LEAT16\|LEAT17\|LEAT18\|LEAT19\|LEAT20\|LEAT21\|LEAT22\|LEAT23\|LEAT24\|PALPLAT\|PLAT05\|PLAT06\|PLAT09\|PLAT11\|PLAT12\|PLAT13\|PLAT14\|PLAT15\|PLAT16\|PLAT17\|PLAT18\|PLAT19\|PLAT20\|PLAT21\|PLAT22\|PLAT23\|SHARARM\|TAMCHAIN\|TTLEAT\|VISCLCK1\|VISCLCK2\|VISCLCK3\|VISCLCK4\|VISCLCK5\|VISPLAT2\|WA2PLAT\|WA2ROBE~
OUTER_SPRINT ~shields~ ~CHALSHLD\|DWSHLD01\|SHLD07\|SHLD19\|SHLD20\|SHLD21\|SHLD22\|SHLD23\|SHLD24\|SHLD25\|SHLD26\|SHLD27\|SHLD28\|SHLD29\|SHLD30\|SHLD31\|SHLD32\|TTSHLD01\|WA2SHIEL~
OUTER_SPRINT ~helms~ ~CHALHELM\|COMPON05\|COMPON17\|HELM02\|HELM03\|HELM04\|HELM05\|HELM06\|HELM07\|HELM14\|HELM16\|HELM17\|HELM18\|HELM19\|HELM20\|HELM21\|HELM23\|HELM24\|HELM25\|HELM26\|HELM27\|HELM28\|HELM29\|HELM30\|HELM31\|HELM32\|HELM33\|HELM34\|HELMNOAN\|PALHELM\|WA2HELM~
OUTER_SPRINT ~weapons~ ~AX1H03\|AX1H05\|AX1H06\|AX1H07\|AX1H08\|AX1H09\|AX1H10\|AX1H11\|AX1H12\|AX1H13\|AX1H14\|AX1H15\|AX1H16\|AX1H17\|BRUENAXE\|GIAFIR2\|WAAXE\|BOW07\|BOW08\|BOW09\|BOW10\|BOW11\|BOW12\|BOW13\|BOW14\|BOW15\|BOW16\|BOW17\|BOW18\|BOW19\|BOW20\|BOW21\|BOW22\|BOW23\|BOW24\|BOW25\|BOW26\|BOW99\|CATTIBOW\|GORWOM2\|NPBOW\|DWXBOW01\|XBOW03\|XBOW06\|XBOW07\|XBOW08\|XBOW09\|XBOW10\|XBOW13\|XBOW14\|XBOW15\|XBOW16\|XBOW17\|XBOW18\|DAGG03\|DAGG04\|DAGG06\|DAGG07\|DAGG08\|DAGG09\|DAGG11\|DAGG12\|DAGG13\|DAGG14\|DAGG15\|DAGG17\|DAGG18\|DAGG20\|DAGG21\|DAGG22\|DAGG23\|DAGG24\|MISC75\|NEBDAG\|RAVAG02\|SW1H13\|BLUN13\|BLUN14\|BLUN14D\|BLUN14E\|BLUN14F\|BLUN14G\|BLUN14H\|BLUN14I\|BLUN27\|BLUN30\|BLUN30C\|BLUN30D\|BLUN32\|DWBLUN01\|FLOLTH\|GORWOM4\|SENDAI\|WAFLAIL\|DWHALB01\|HALB03\|HALB04\|HALB05\|HALB06\|HALB07\|HALB08\|HALB09\|HALB10\|HALB11\|HALB12\|HALBSHA\|WA2HALB\|AEGIS\|AEGIS2\|GIAFIR\|HAMM03\|HAMM04\|HAMM05\|HAMM06\|HAMM07\|HAMM08\|HAMM09\|HAMM10\|HAMM11\|HAMM12\|BLUN10\|BLUN12\|BLUN18\|BLUN19\|BLUN20\|BLUN21\|BLUN22\|BLUN23\|BLUN24\|BLUN25\|BLUN26\|BLUN28\|BLUN29\|BLUN31\|BLUN33\|HLOLTH\|RODMACE\|BLUN09\|BLUN15\|BLUN16\|BLUN17\|BLUN34\|BLUN35\|WASTAR\|CHALCY1\|CHALCY2\|CHEVIL10\|FBLADE\|NPSW05\|NPSW06\|SBLADE\|SHAKTI1\|STDEATH\|SW1H09\|SW1H10\|SW1H25\|SW1H26\|SW1H27\|SW1H28\|SW1H29\|SW1H58\|SW1H59\|SW1H66\|SW1H74\|WAWAK\|SLNG03\|SLNG04\|SLNG05\|SLNG06\|SLNG07\|SLNG08\|SLNG09\|SLNG10\|WASLING\|DWSPER01\|SPER03\|SPER05\|SPER06\|SPER07\|SPER08\|SPER09\|SPER10\|SPER11\|SPER12\|WASPEAR\|AURSTAF\|ENSTAFF\|MISC5T\|NPSTAF\|RODS04\|RODS05\|STAF05\|STAF06\|STAF07\|STAF08\|STAF09\|STAF10\|STAF11\|STAF12\|STAF13\|STAF14\|STAF15\|STAF16\|STAF17\|STAF18\|STAF19\|STAF20\|STAF21\|STAF22\|STAF23\|STAF24\|WASTAFF\|BLAKBLAD\|CARSOMYR\|DEMOSUM4\|DEVA\|DEVAEVIL\|DWSW1H01\|DWSW1H02\|GITH\|GORCAMB\|HSWORD\|KILLSW01\|MARILI\|MISCBC\|PLANETAR\|REAVER\|SW1H03\|SW1H06\|SW1H11\|SW1H15\|SW1H16\|SW1H18\|SW1H19\|SW1H23\|SW1H24\|SW1H30\|SW1H31\|SW1H32\|SW1H33\|SW1H33A\|SW1H33C\|SW1H34\|SW1H35\|SW1H36\|SW1H37\|SW1H38\|SW1H39\|SW1H40\|SW1H41\|SW1H42\|SW1H45\|SW1H50\|SW1H51\|SW1H52\|SW1H53\|SW1H54\|SW1H55\|SW1H60\|SW1H61\|SW1H62\|SW1H63\|SW1H64\|SW1H65\|SW1H67\|SW1H68\|SW1H68A\|SW1H68C\|SW1H69\|SW1H69C\|SW1H70\|SW1H71\|SW1H72\|SW1H73\|SW1H75\|SW1H76\|SW1H77\|SW1H99\|SW1HSEEK\|SW2H03\|SW2H06\|SW2H07\|SW2H08\|SW2H09\|SW2H10\|SW2H11\|SW2H12\|SW2H13\|SW2H14\|SW2H15\|SW2H16\|SW2H17\|SW2H18\|SW2H19\|SW2H20\|SW2H21\|SW2H99\|SW2HDEAT\|TELSWD\|WA2DAK\|WA2S1H\|WANINJA\|WAS2H~
OUTER_SPRINT ~ammos~ ~AROW06\|AROW07\|AROW15\|QUIVER01\|QUIVER03\|BOLT09\|DWBOLT01\|DWBOLT02\|DWBOLT03\|KUOBOLT\|KUOBOLT2\|KUOBOLT3\|QUIVER02\|QUIVER04\|SAHBOLT\|BULL04\|BULL05\|BULL06\|QUIVER05\|QUIVER06\|DART05\|DART08\|DARTMEL\|STARDART~
OUTER_SPRINT ~containers~ ~BAG01\|BAG02\|BAG02B\|BAG02C\|BAG02D\|BAG02E\|BAG02F\|BAG02G\|BAG02H\|BAG02I\|BAG03\|BAG03B\|BAG03C\|BAG03D\|BAG03E\|BAG03F\|BAG03G\|BAG03H\|BAG03I\|BAG04\|BAG05\|BAG06\|BAG06B\|BAG06C\|BAG06D\|BAG19\|BAG19A\|BAG19B\|BAG19C\|BAG19D\|BAG19E\|BAG20\|BAG21\|BAG22\|BAG23\|BAG24\|BAG25\|BAG26\|BAG27\|BAG28\|BAG29\|BAG30\|BAG31\|TBAG01\|TBAG01NA~
OUTER_SPRINT ~other_items~ ~BOTSMITH\|COMPON06\|DAGG10\|DECK\|FIGURE01\|MISC3A\|MISC3A1\|MISC3A2\|MISC3A3\|MISC3A4\|MISC3A5\|MISC3A6\|MISC3A7\|MISC3A8\|MISC3A9\|MISC3C\|MISC3D\|MISC3E\|MISC3H\|MISC3I\|MISC3J\|MISC3K\|MISC3M\|MISC3N\|MISC3O\|MISC3P\|MISC7T\|PLOT02H\|TOME01\|TOME02\|TOME03\|TOME04\|WA2HARP~
//les combiner en un
OUTER_SPRINT ~all_items~ ~%amulets%\|%bracers%\|%cloaks%\|%boots%\|%belts%\|%rings%\|%wands%\|%rods%\|%armors%\|%shields%\|%helms%\|%weapons%\|%ammos%\|%containers%\|%other_items%~
PRINT ~Traitement des zones...~
COPY_EXISTING_REGEXP GLOB ~^BH.+\.are$~ ~override~
SPRINT ~item2delete~ ~%all_items%~
LAUNCH_PATCH_MACRO ~DELETE_AREA_ITM_ALL~
BUT_ONLY_IF_IT_CHANGES
PRINT ~Traitement des magasins...~
COPY_EXISTING_REGEXP GLOB ~^BH.+\.sto$~ ~override~
SPRINT ~item2delete~ ~%all_items%~
LAUNCH_PATCH_MACRO ~DELETE_STORE_ITM_ALL~
BUT_ONLY_IF_IT_CHANGES
PRINT ~Traitement des créatures...~
COPY_EXISTING_REGEXP GLOB ~^BH.+\.cre$~ ~override~
SPRINT ~item2change~ ~%all_items%~
SET f_add = ~%f_add_nostdr%~ //non volable, non récupérable
LAUNCH_PATCH_MACRO ~ADD_CRE_ITM_FLAGS_ALL~
BUT_ONLY_IF_IT_CHANGES
Mais peut-être n'ai-je rien compris à l'énoncé initial ?
Haplo74
Modérateur des sections "le bazar de l'aventurier", "la taverne de Château-Suif", "la taverne d'Amkethran" et "le comptoir d'Amn".
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
Deratiseur voulait installer des fichiers propres à son mod, en les renommant au moment de la copie pour remplacer la terminaison B du nom par la terminaison C, sans doute pour utiliser la même image pour deux choses différentes. Mais dans le dernier code il a finalement choisi de faire l'inverse.
COPY_EXISTING nécessite que les fichiers existent dans le jeu, soit dans un fichier BIF, soit dans override. Cela ne peut pas convenir ici.
COPY_EXISTING nécessite que les fichiers existent dans le jeu, soit dans un fichier BIF, soit dans override. Cela ne peut pas convenir ici.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
- Haplo74
- Minotaure
- Messages : 1737
- Enregistré le : dim. 08 avr. 2012, 20:20
- Localisation : Paris
- Statut : Hors ligne
.
OK pour la différence COPY et COPY_EXISTING.Isaya a écrit :Deratiseur voulait installer des fichiers propres à son mod, en les renommant au moment de la copie pour remplacer la terminaison B du nom par la terminaison C, sans doute pour utiliser la même image pour deux choses différentes. Mais dans le dernier code il a finalement choisi de faire l'inverse.
COPY_EXISTING nécessite que les fichiers existent dans le jeu, soit dans un fichier BIF, soit dans override. Cela ne peut pas convenir ici.
Mais n'existe-t-il pas le pendant COPY_REGEXP dans ce cas (pour REGular EXPression) et permettant de tout faire nativement (avec souvent des syntaxes bien alambiquées il faut le reconnaître) ?
Haplo74
Modérateur des sections "le bazar de l'aventurier", "la taverne de Château-Suif", "la taverne d'Amkethran" et "le comptoir d'Amn".
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
Il n'existe pas de COPY_REGEXP, pour une bonne raison, le principe REGEXP est basé sur le contenu existant du jeu. Il existe une option GLOB de COPY pour indiquer une utilisation d'expression régulière s'appliquant sur les fichiers du disque.
Mais il y a une mise en garde :A COPY command may use globbing to expand filename wildcards with respect to files on the host filesystem. Unlike COPY_EXISTING_REGEXP, glob wildcards do not range over game resources. Instead, they range over physical files actually on the disk.
Elle fonctionne également quasi indispensable avec COPY_EXISTING_REGEXP d'ailleurs, car elle a un impact majeur pour les mods (cf la documentation WeiDU) pour "glob") :Use local filesystem globbing. Globbing is generally architecture specific!
To put it another way: if you do not specify GLOB with COPY_EXISTING, WeiDU pretends that the override directory contains 0 files that are not in CHITIN.KEY.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité