Débugueur TES3 : aide
(v2.03)
Sommaire :
I) Comment débuguer un script ?
1) Mode d'emploi de la
version win32
II) Modification des ressources du débugueur
2) Erreurs liées à
l'utilisation du débugueur
b) Extension de la compatibilité
2) Modifications apportées
à la version actuelle du débugueur
Note préliminaire : le copier/coller marche avec les raccourcis clavier "Ctrl+C"/"Ctrl+V" dans la fenêtre de création de script du TESC.
Lancez le débugueur.
Allez dans le menu "Fichiers..." et choisissez "Débuguer un script". Saisissez (ou copiez/collez) le texte de votre script dans la fenêtre qui s'ouvre. Attention, si vous copiez/collez le texte depuis NotePad ou tout autre logiciel ayant une gestion limitée de la mise à la ligne, assurez vous bien que la mise à la ligne n’a pas été inutilement conservée sur le débugueur (retours à la ligne inutiles en plein milieu de lignes de code).
Si vous désirez mettre en forme automatiquement votre script, cliquez sur "Mettre en forme" (cela ne marchera que si votre enchaînement de tests est correct – si ce n’est pas le cas, votre script gardera sa mise en forme actuelle et le débugueur renverra un message d’erreur).
Vous pouvez également charger un fichier texte de votre choix pour le modifier directement dans l’éditeur de texte du débugueur.
Une fois votre script écrit ou copié, cliquez sur OK. Si tout se passe bien, le débugueur va automatiquement mémoriser votre script dans le fichier "ScriptMorrowind.txt" et créer un rapport d'erreur dans le fichier "Correction de ScriptMorrowind.txt" : vous n'avez plus qu'à le consulter. En cas de problème, reportez vous à la troisième partie de l'aide.
Copiez/collez votre script dans un fichier au format texte (avec le bloc-note par exemple) dans le même répertoire que l'exécutable du débugueur.
Lancez le débugueur.
Allez dans le menu "Fichiers..." et choisissez "Débuguer un fichier". Entrez le nom de votre fichier dans la fenêtre qui s'ouvre.
Si tout se passe bien, le débugueur va automatiquement créer un rapport d'erreur dans le fichier "Correction de NOM_DU_FICHIER_CONTENANT_LE_SCRIPT" : vous n'avez plus qu'à le consulter. En cas de problème, reportez vous à la troisième partie de l'aide.
L’option "Ouvrir le fichier" vous permet d’ouvrir le fichier en dehors du débugueur pour l’éditer (utile s’il contient des erreurs).
Vous pouvez, si vous le souhaitez, modifier certains paramètres du débugueur :
a) "Afficher le
rapport d'erreurs après traitement" (option activée par défaut)
:
Ouvre le rapport d'erreurs de votre script dans une nouvelle fenêtre (avec le bloc-note) une fois que la syntaxe du script a été traitée. Si vous désactivez cette option, le rapport d'erreur sera tout de même créé dans le répertoire de l'exécutable, mais ne sera pas affiché.
Ce choix sera mémorisé dans le fichier "DebugTES3.dat" si vous l'activez ou le désactivez.
b) "Afficher les
informations sur le script" (option activée par défaut) :
Permet d'afficher ou non les variables et objets utilisés par le script.
Ce choix sera également mémorisé dans le fichier "DebugTES3.dat" si vous l'activez ou le désactivez.
c) "Ne pas afficher
les alertes" (option désactivée par défaut) :
Permet de n'afficher que les erreurs de script au sens script et pas les alertes (problèmes susceptibles de créer des bugs, mais n’en créant pas forcément).
Ce choix sera également mémorisé dans le fichier "DebugTES3.dat" si vous l'activez ou le désactivez.
Cette option vous permet de spécifier les extensions dont dépend votre mod – si les extensions ne sont pas indiquées, le débugueur traitera bien la syntaxe, mais affichera une erreur disant que vous utilisez les spécificités d'une extension. Par défaut, votre script est traité comme étant dépendant de Morrowind seul (mais votre choix sera mémorisé dans le fichier "DebugTES3.dat" et réutilisé à la prochaine utilisation).
Cette option vous offre la possibilité de mettre automatiquement un script en forme (indentation des blocs if/elseif/else/endif et while/endwhile réalisée automatiquement), ce qui améliore fortement la lisibilité de votre script. Pour l’utiliser, copiez/collez votre script dans un fichier au format texte (avec le bloc-note par exemple) dans le même répertoire que l'exécutable du débugueur, lancez le débugueur, allez dans le menu "Fichiers..." et choisissez "Mettre en forme un fichier". Entrez le nom de votre fichier dans la fenêtre qui s'ouvre et appuyez sur OK : si l’enchaînement de vos tests est correct, la mise en forme est effectuée.
L’option "Ouvrir le fichier" vous permet d’ouvrir le fichier en dehors du débugueur pour l’éditer (utile si l’enchaînement des tests est incorrect).
Les ressources du débugueur correspondent à l'ensemble des éléments qui lui donnent des informations nécessaires ou utiles à son bon fonctionnement, c'est à dire les variables et les fichiers temporaires qui mémorisent vos choix.
Les variables peuvent être modifiées via les options "Préférences" et "Type de script" expliquées dans la partie I. Cependant, si vous voulez toutes les remettre par défaut, vous pouvez également utiliser l'option "Remettre par défaut" du menu "Ressources". Si vous le faites, vos choix seront mémorisés comme étant "par défaut" dans le fichier temporaire "DebugTES3.dat" et seront réutilisés lors de votre prochaine session.
Pour effacer les fichiers temporaires générés par le débugueur, vous pouvez utiliser l'option "Nettoyer l'espace" du menu "Ressources". Attention, cette option remettra à zéro le débugueur lors de votre prochaine session (comme il était immédiatement après votre téléchargement).
Le débugueur ne peut pas gérer :
Si votre script est dans un de ces cas, il est "normal" que des erreurs se produisent : le débugueur ne peut pas lire correctement votre script/ligne/objet, qui sera donc tronqué(e) et vous indiquera (probablement) une erreur là où il n'y en a pas.
Si le débugueur vous indique des variables globales, assurez vous bien qu'elles existent. Par défaut, le débugueur considère comme globale toute variable non déclarée dans le script : si vous oubliez de déclarer une variable locale, elle se trouvera donc dans la liste des variables globales du débugueur.
Si vous utilisez le mode "Débuguer un fichier" et que le débugueur vous répond systématiquement qu'il est impossible d'ouvrir le fichier, assurez vous de bien avoir rentré le nom complet du fichier (avec son extension).
Une des options des dossiers de Windows masque les extensions des fichiers dont le type est connu par l’ordinateur. Pour la retirer :
Vous devriez alors voir le nom complet de vos fichiers.
Evitez d'utiliser des fichiers au format Word (extension en ".doc") : Word a une fâcheuse tendance à rajouter automatiquement des caractères n'appartenant pas au format texte standard (par exemple, des "e dans l'o", des points de suspension mis en forme, des guillemets spéciaux...) qui ne seront pas convertis par le débugueur en leurs équivalents standard (et donc, qui ne seront pas reconnus au mieux, et feront planter le débugueur au pire).
Cette remarque vaut également pour tout autre logiciel de traitement de texte avancé qui crée automatiquement des mises en forme particulières (StarOffice, OpenOffice, etc...).
Si vous faites un copier/coller en utilisant le mode "Débuguer un script", ne copiez que du texte standard. Voyez la remarque précédente pour plus de détails.
Si enfin le débugueur vous indique une erreur qui n'a vraiment pas lieu d'être, ou qu'il plante sans raison, qu'il traite mal les informations, etc..., alors :
- allez voir sur le site Wiwiland si votre version du débugueur est bien la dernière en date ;
- allez voir sur le sujet dédié du forum si d’autres n’ont pas déjà eu un problème similaire ;
- contactez moi : viard-thomas@wanadoo.fr, ou la rubrique "Contact" de l'onglet "Menu d'aide" du débugueur) en précisant bien quel est le problème (et, le cas échéant, en y joignant le script qui est mal corrigé).
L'interface est codée en API Win32 : ce langage n'est à priori compatible qu'avec les plates-formes Windows.
Le débugueur a été pleinement testé sur Windows XP édition familiale et fonctionne sans soucis sur cette plate-forme. Il est théoriquement compatible avec les autres éditions de Windows XP et la plupart des versions antérieures de Windows (Windows 95, 98, 2000 et NT).
Il existe cependant un bug de messages d'erreur des tests if, elseif et while non justifiés et de variables indiquées inexistantes (problème de links mal interprétés par le système d'exploitation ?? D'acquisition du fichier texte ??) constaté sur Windows 2000 et sur Windows 98 SE. Je ne garantis donc pas la pleine compatibilité sur l'ensemble des plates-formes, même si le débugueur devrait dans l'ensemble donner des résultats corrects.
En résumé :
|
Testé |
Compatibilité |
Windows XP professionnel |
- |
+ |
Windows XP
familiale |
+ |
+ |
Windows NT |
- |
+/- |
Windows 2000 |
+ |
+/- |
Windows 98 SE |
+ |
+/- |
Windows 98 |
- |
+/- |
Windows 95 |
- |
+/- |
Autres plates-formes |
- |
- |
L’ensemble de la partie traitement a été codé en C++ et est donc théoriquement compatible avec l'ensemble des plates-formes. Cependant, le débugueur doit être recompilé avec le compilateur de votre plate-forme pour fonctionner correctement. L’interface a déjà été codée en version shell (une basique fenêtre console) dans les sources fournies, mais si vous souhaitez le remanier, le code a été annoté pour vous faciliter la tâche. Si vous utilisez directement la version Shell fournie, attention : certaines des commandes utilisent des fonctions utilisables uniquement sous certains environnements (par exemple, la commande "cls" pour nettoyer l’affichage de la fenêtre de commande). Si vous souhaitez les utiliser, il vous faudra l’adapter (en l’occurrence, remplacer le cls par la bonne commande - qui varie selon votre plate-forme).
Si vous n’êtes pas familiers avec la compilation, vous pouvez trouver un petit tutorial par ici : Tutorial de compilation maison
Je vous conseille vivement de nommer l’exécutable que vous aurez créé "DebugueurTES.exe" (attention à ne pas faire d’erreurs de majuscules ou d’accents) : si vous veniez à utiliser en parallèle la version shell et la version win32, cela vous permettrait d’utiliser directement les options déjà incluses pour passer de l’une à l’autre.
Attention, il semble que même sur un exécutable compilé soi même, la compatibilité soit partielle ! Sur une plate-forme Windows 2000, les bugs de variables fantaisistes et de triples erreurs de test ne se produisaient plus, mais une liste des erreurs vide s’ouvre systématiquement même sur un script propre (merci à Nerwal). Je ne peux donc pas vous garantir une pleine compatibilité, même sur une compilation maison !
Merci à CGI et Laurent Niemann pour leurs tutoriaux sur la programmation Win32, sans lesquels l'interface du débugueur se serait limitée à une pauvre petite fenêtre console ! ^^ Leurs tutoriaux peuvent être trouvés aux adresses suivantes :
- http://chgi.developpez.com/windows/ (CGI)
- http://win32.planet-d.net/tut_w/chap1.htm
(Laurent Niemann)
Merci pour les retours de bug à...
- Angora (problème sur le traitement de la fonction MessageBox - v1.01),
- Orann (chaînes de caractères des IDs vides - v1.02),
- Dradeel (mauvaise gestion des incompatibilités de type d'objet – v2.0),
- Nerwal (apports trop nombreux pour être cités ici, cf le log des changements – v2.0).
Un grand merci à Nerwal pour ses tests très (!) complets sur la version Morrowind, dont a également largement bénéficié la version Oblivion. (v2.0)
Merci à Alliop pour ses tests lors du débuguage de Nova Magica, qui ont permis de corriger bien des bugs au moins dans ce débugueur ! ^^ (v2.03)
Merci à Dradeel pour m'avoir signalé le problème des tabulations qui passent à la compilation dans le TESC, mais font "sauvagement planter in-game" ^^ - et pour m'avoir conseillé pour mettre en place la correction de façon aisée sur le débugueur ! (v2.0, hérité de la v2.02 d’Oblivion)
Merci à Squallynou pour l'idée d'une version Shell !
Merci à Duncan Imrryran pour les précisions sur les possibilités du multi-plateforme et l’idée d’un code source en "open source" !
Merci à Fandorn Delavie pour son idée d’un outil de mise en forme automatique, et à Nerwal pour l’idée du traitement des parenthèses ! (v2.01)
Merci à Mordicus pour ses idées d’amélioration de l’interface (fermeture des fenêtres de dialogues seulement quand elles ne sont plus nécessaires) ! (v2.02)
Merci à tous ceux qui m'ont encouragé et m'encouragent à développer ce débugueur sur le sujet dédié du forum de Wiwiland !
Enfin, merci à toute la communauté de Morrowind en général, et de Wiwiland en particulier, pour les bons moments qu'elle m'a fait passer !
Nenfëa
· Activate · AddItem · AddSoulGem · AddSpell
· AddTopic · AIActivate · AIEscort · AIEscortCell
· AIFollow · AIFollowCell · AITravel · AIWander
· Begin · Cast · CellUpdate · CenterOnCell (coc)
· CenterOnExterior (coe) · ChangeWeather · Choice
· ClearForceSneak · ClearInfoActor · Disable · DisablePlayerControls
· DisablePlayerFighting · DisablePlayerJumping · DisablePlayerLooking
· DisablePlayerMagic · DisablePlayerViewSwitch · DisableTeleporting
· DisableVanityMode · DontSaveObject · Drop · DropSoulGem
· Else · ElseIf · Enable · EnableBirthMenu
· EnableClassMenu · EnableInventoryMenu · EnableLevelUp
· EnableMagicMenu · EnableMapMenu · EnableNameMenu · EnablePlayerControls
· EnablePlayerFighting · EnablePlayerJumping · EnablePlayerLooking · EnablePlayerMagic
· EnablePlayerViewSwitch · EnableRest · EnableStatsMenu
· EnableRaceMenu · EnableStatReviewMenu · EnableTeleporting
· EnableVanityMode · End · EndIf · EndWhile
· Face · FadeIn · FadeOut · FadeTo
· Fall · FixMe · Float · ForceGreeting
· ForceSneak · Goodbye · GoToJail · HurtStandingActor
· If · Journal · Lock · Long
· LoopGroup · LowerRank · MenuTest · MessageBox
· ModAcrobatics · ModAgility · ModAlarm · ModAlchemy
· ModAlteration · ModArmorBonus · ModArmorer · ModAthletics
· ModAttackBonus · ModAxe · ModBlindness · ModBlock
· ModBluntWeapon · ModCastPenalty · ModChameleon · ModConjuration
· ModCurrentFatigue · ModCurrentHealth · ModCurrentMagicka · ModDefendBonus
· ModDestruction · ModDisposition · ModEnchant · ModEndurance
· ModFactionReaction · ModFatigue · ModFight · ModFlee
· ModFlying · ModHandToHand · ModHealth · ModHeavyArmor
· ModHello · ModIllusion · ModIntelligence · ModInvisible
· ModInvisibile · ModLightArmor · ModLongBlade · ModLuck
· ModMarksman · ModMediumArmor · ModMagicka · ModMercantile
· ModMysticism · ModParalysis · ModPCCrimeLevel · ModPCFacRep
· ModPCVisionBonus · ModPersonality · ModRegion · ModReputation
· ModResistBlight · ModResistCorprus · ModResistDisease · ModResistFire
· ModResistFrost · ModResistMagicka · ModResistNormalWeapons
· ModResistParalysis · ModResistPoison · ModResistShock · ModRestoration
· ModSecurity · ModShortBlade · ModSilence · ModSneak
· ModSpear · ModSpeechCraft · ModSpeed · ModStrength
· ModSuperJump · ModSwimSpeed · ModUnarmored · ModWaterBreathing
· ModWaterWalking · ModWillPower · Move · MoveWorld
· PayFine · PayFineThief · PCClearExpelled · PCExpell
· PCForce1stPerson · PCForce3rdPerson · PCJoinFaction · PCLowerRank
· PCRaiseRank · PlaceAtPC · PlayBink · PlayGroup
· PlayLoopSound3D · PlayLoopSound3DVP · PlaySound
· PlaySoundVP · PlaySound3D · PlaySound3DVP · Position
· PositionCell · RaiseRank · RemoveEffects · RemoveItem
· RemoveSoulGem · RemoveSpell · RemoveSpellEffects · Resurrect
· Return · Rotate · RotateWorld · Say
· Set … to … · SetAcrobatics · SetAgility · SetAlarm
· SetAlchemy · SetAlteration · SetAngle · SetArmorBonus
· SetArmorer · SetAthletics · SetAtStart · SetAttackBonus
· SetAxe · SetBlindness · SetBlock · SetBluntWeapon
· SetCastPenalty · SetChameleon · SetConjuration · SetDefendBonus
· SetDestruction · SetDisposition · SetEnchant · SetEndurance
· SetFactionReaction · SetFatigue · SetFight · SetFlee
· SetFlying · SetHandToHand · SetHealth · SetHeavyArmor
· SetHello · SetIllusion · SetIntelligence · SetInvisible
· SetInvisibile · SetJournalIndex · SetLevel · SetLightArmor
· SetLongBlade · SetLuck · SetMarksman · SetMediumArmor
· SetMagicka · SetMercantile · SetMysticism · SetParalysis
· SetPCCrimeLevel · SetPCFacRep · SetPCVisionBonus · SetPersonality
· SetPos · SetReputation · SetResistBlight · SetResistCorprus
· SetResistDisease · SetResistFire · SetResistFrost · SetResistMagicka
· SetResistNormalWeapons · SetResistParalysis · SetResistPoison
· SetResistShock · SetRestoration · SetSecurity · SetShortBlade
· SetSilence · SetSneak · SetSpear · SetSpeechCraft
· SetSpeed · SetStrength · SetSuperJump · SetSwimSpeed
· SetUnarmored · SetWaterBreathing · SetWaterWalking · SetWillPower
· Short · ShowMap · ShowRestMenu · SkipAnim
· StartCombat · StartScript · StopCombat · StopScript
· StopSound · StreamMusic · Unlock · WakeUpPC
· While
· AddToLevCreature · AddToLevItem · ClearForceJump · ClearForceMoveJump
· ClearForceRun · DisableLevitation · EnableLevitation · Equip
· ExplodeSpell · ForceJump · ForceMoveJump · ForceRun
· HurtCollidingActor · ModScale · ModWaterLevel · PlaceItem
· PlaceItemCell · RemoveFromLevCreature · RemoveFromLevItem
· SetDelete · SetScale · SetWaterLevel
· BecomeWerewolf · PlaceAtMe · SetWerewolfAcrobatics
· TurnMoonRed · TurnMoonWhite · UndoWerewolf
· CellChanged · GetAcrobatics · GetAIPackageDone · GetAgility
· GetAlarm · GetAlchemy · GetAlteration · GetAngle
· GetArmorBonus · GetArmorer · GetAthletics · GetAttackBonus
· GetAttacked · GetAxe · GetBlightDisease · GetBlindness
· GetBlock · GetBluntWeapon · GetButtonPressed · GetCastPenalty
· GetChameleon · GetCommonDisease · GetConjuration · GetCurrentAIPackage
· GetCurrentTime · GetCurrentWeather · GetDeadCount · GetDefendBonus
· GetDestruction · GetDetected · GetDisabled · GetDisposition
· GetDistance · GetEffect · GetEnchant · GetEndurance
· GetFactionReaction · GetFatigue · GetFight · GetFlee
· GetFlying · GetForceSneak · GetHandToHand · GetHealth
· GetHealthGetRatio · GetHeavyArmor · GetHello · GetIllusion
· GetIntelligence · GetInterior · GetInvisible · GetInvisibile
· GetItemCount · GetJournalIndex · GetLevel · GetLightArmor
· GetLineOfSight (getLOS) · GetLocked · GetLongBlade
· GetLuck · GetMarksman · GetMasserPhase · GetMediumArmor
· GetMagicka · GetMercantile · GetMysticism · GetParalysis
· GetPCCell · GetPCCrimeLevel · GetPCFacRep · GetPCRank
· GetPCSleep · GetPCVisionBonus · GetPersonality · GetPlayerControlsDisabled
· GetPlayerFightingDisabled · GetPlayerJumpingDisabled
· GetPlayerLookingDisabled · GetPlayerMagicDisabled
· GetPlayerViewSwitch · GetVanityModeDisabled
· GetPos · GetRace · GetReputation · GetResistBlight
· GetResistCorprus · GetResistDisease · GetResistFire · GetResistFrost
· GetResistMagicka · GetResistNormalWeapons · GetResistParalysis
· GetResistPoison · GetResistShock · GetRestoration · GetSecondsPassed
· GetSecundaPhase · GetSecurity · GetShortBlade · GetSilence
· GetSneak · GetSoundPlaying · GetSpear · GetSpeechCraft
· GetSpeed · GetSpell · GetSpellEffects · GetStandingActor
· GetStandingPC · GetStartingAngle · GetStartingPos · GetStrength
· GetSuperJump · GetSwimSpeed · GetTarget · GetUnarmored
· GetWaterBreathing · GetWaterWalking · GetWillPower · GetWindSpeed
· HasItemEquipped · HasSoulGem · HitAttemptOnMe · HitOnMe
· MenuMode · OnActivate · OnDeath · OnKnockOut
· OnMurder · OnRepair · PCExpelled · PCGet3rdPerson
· Random · RepairedOnMe · SameFaction · SayDone
· ScriptRunning · UsedOnMe · XBox
· GetArmorType · GetCollidingActor · GetCollidingPC · GetForceJump
· GetForceMoveJump · GetForceRun · GetPCJumping · GetPCRunning
· GetPCSneaking · GetScale · GetSpellReadied · GetSquareRoot
· GetWaterLevel · GetWeaponDrawn · GetWeaponType
· GetPCInJail · GetPCTraveling · GetWerewolfKils · IsWerewolf
Version 1.0 (version de base) : 18/03/2006
- vérification de la syntaxe de l'ensemble des fonctions morrowindiennes
- gestion des erreurs d'enchaînement des tests if/elseif/else/endif et while/endwhile
- collecte des informations sur les objets utilisés dans le script
- gestion des incompatibilités entre ces objets
- gestion des extensions dont dépend le script
- etc...
Version 1.01 : 29/03/2006
- correction du traitement de la fonction MessageBox (Angora)
- amélioration de l’interface
Version 1.02 : 07/04/2006
- correction du bug des chaînes de caractères vides autorisées (Orann)
Version 2.0 : 14/06/2006
- adaptation de l’ensemble du code de la version Oblivion (v2.02) pour Morrowind (code plus propre que celui des versions 1.0 à 1.02 de Morrowind)
- ajout des fonctions console CenterOnCell (Coc), CenterOnExterior (Coe), FixMe et MenuTest, qui sont également utilisable dans un script (Nerwal)
- ajout de la fonction Bloodmoon-dépendante PlaceAtMe, qui avait été oubliée (Nerwal)
- correction de la fonction Tribunal-dépendante DisableLevitation, mal orthographiée (Nerwal)
- correction du mauvais traitement des fonctions Tribunal-dépendantes PlaceItem et PlaceItemCell (Nerwal)
- correction d’un bug sur les variables locales externes, mal détectées quand leur objet d’origine était mis entre guillemets (Nerwal)
- réajustement des dépendances des fonctions HasItemEquipped et Equip (Nerwal)
- coordonnées négatives désormais acceptées par les fonctions Position, PositionCell, PlaceItem, PlaceItemCell, AIFollow, AIFollowCell, AIEscort, AIEscortCell et AITravel (Nerwal)
- mode "Débuguer un script" verrouillé au delà de 5000 caractères (devinez qui ? :-p Un indice : regardez ci dessus - ou la ligne encore au dessus, ou celle qui la précède, ou… :-) )
- vérification du bon ordre de la déclaration du nom du script, des déclarations des variables locales et des lignes de code
- amélioration des messages d’erreur en cas d’utilisation de fonction liée à une extension dont ne dépend pas le mod
- correction d’un bug lié à l'utilisation de virgules après les axes x, y ou z dans les fonctions du type "Rotate", etc…
- correction d’un bug lié à l'utilisation de l'opérateur "->" (le "-" était confondu avec un opérateur "soustraction")
Version 2.01 : 07/07/2006
- ajout d’un outil de mise en forme automatique des scripts (Fandorn et Nerwal)
- création d’un tutorial pour la compilation maison (Nerwal)
- correction des fonctions SetPos et SetAngle, qui acceptent des variables en paramètre avec Tribunal (Nerwal)
Version 2.02 : 12/07/2006
- les fenêtres de dialogue ne se ferment plus si un problème a été détecté (Mordicus)
- possibilité de charger un fichier dans l’option "Débuguer un script"
- mémorisation du nom du dernier fichier débugué dans les fenêtres de dialogue "Charger un fichier", "Débuguer un fichier" et "Mettre en forme un fichier"
- possibilité d’ouvrir le fichier extérieurement au débugueur dans les fenêtres de dialogue "Débuguer un fichier" et "Mettre en forme un fichier"
- seconde correction de la fonction SetPos, dont la dépendance à Tribunal était mal gérée (Nerwal)
Version 2.03 : 24/09/2006
- correction d’un bug en utilisant des variables avec un underscore dans la fonction MessageBox (Alliop)
- correction d’un bug lorsqu’on utilise deux espaces après le "Set" dans la fonction "Set … to …" (Alliop)
- correction d’un bug de mise en forme : les lignes sans code, mais contenant des espaces, décalaient les tabulations (Alliop)
- correction d’un bug de double affichage d’erreur avec les fonctions Position et PositionCell (Alliop)
- petites améliorations du readme (Alliop)
- légères améliorations de l’interface - défilement horizontal automatique dans les zones de texte, améliorations des menus
- les boîtes de dialogues sont désormais non modales : les menus de la fenêtre principale restent accessibles même si une boîte de dialogue est ouverte
- possibilité de n’afficher que les erreurs au sens strict et pas les alertes
- affichage d’alertes si le script contient des objets commençant par un underscore "_" (risques de bugs in-game)
- plus d’espaces ajoutés à la fin de chaque ligne à chaque fois que le script est sauvegardé dans le fichier ScriptMorrowind.txt depuis l’option "Débuguer un script"