View Single Post
Old 03-22-10, 11:13 AM   #3
java`s revenge
Ace of the Deep
 
Join Date: Jan 2007
Location: at periscope depth
Posts: 1,204
Downloads: 97
Uploads: 0
Default

NIEUWE ITEMS CREËREN

Ik houd ervan om altijd met een blanco pagina te starten (letterlijk) als ik dingen oefen en een nieuwe pagina creëer en we er een zooitje van gaan maken zonder het risico het spel te verpesten.

Dus wat zijn Pages/Groups? Het zijn onzichtbare items die een bepaalde positie,
resolutie schaalverandering en afmetingen hebben. Je kan van alles van binnen plaatsen en als je
ze beweegt, zullen alle items als een groep bewegen (duh).

Ik heb er geen idee van op welke wijze een "page" verschilt van een "group". Ze zijn waarschijnlijk verschillend toegankelijk door de hardcode. In SH4 was het waarschijnlijk dat het mogelijk was de Periscope Interface in 3D te laten zien terwijl je op de brug of bij de Hydrophone Station was.
Dus voor nu zeggen we dat Pages "Screens" zijn: De periscope screen, de map screen enz.

In SH3 en SH4, alle "Pages" zaten in een enorme file, het gevreesde menu_1024_768.ini file. Dingen zijn veranderd "FOR THE BETTER".
We kunnen nu elke "page" in z`n eigen file bewaren. Aldus mods kunnen nu de bepaalde screens
aanpakken, zonder het risico te lopen op een belangrijke incompatibiliteit.
Alle files dat interface opmaakt zit binnen de \data\Menu\Pages folder. Dus maak voor de zekerheid een backup folder voordat je gaat modden, of gebruik het tooltje JSGME.

Kunnen we nieuwe "pages"creëren? Zeker weten!

Slechts right click op de "Root Parent" in de Control Panel lijst...



In de niewe dialog box, slechts een goede naam enteren en, als je wilt, een specifieke ID. Maak je niet druk over bestaande items, de verandering zal niet een kopie creëren:



Bijvoorbeeld, Ik heb net 2 items gecreëerd, een "Page" genaamd Karamazov en een "group" genaamd Karamazovgroup. Nadat ik gesaved heb kijk wat er gebeurd:



De juiste files zijn gecreëerd. Beide nieuwe items zijn toegevoegd naar de menu_1024_768.ini file (welke zich nu gedraagd als een index voor alle "pages"). Je zult nu ook zien dat elke nieuwe "page" automatisch wordt geconfigureerd om het gehele scherm op iedere resolutie te vullen. (meer daarover volgt later). Beide nieuwe items verschijnen net onder de "Root Menu", de eerste in de lijst. Maar je kan ze knippen/plakken naar elke plaats dat je wilt. Dit zal een effect hebben op de volgorde in welke de "pages" op het scherm zullen verschijnen. Meer daarover volgt later, maar onthoudt dat elk item NA elk item verder onder de lijst verschijnt. Anders gezegd, any new item that you've just created inside a group/page will always be behind any other items that were already in that group. Ik kom hierop binnen een seconde terug.

Laten we een nieuw item naar mijn Karamazov "page" toevoegen. Ik right click erop en krijg het
volgende menu:



- Change ID: geeft je toegang om een gangbare ID in te voeren.

- Add Controls group: geeft je toegang om een "group" te creëren.
Je kan zoveel genestelde "groups" creëren zoveel je maar wilt, Zelfs als je de lijst klein wilt
houden voor het gemakkelijk modden.

- Add Control: Creëert een nieuw item binnen een "group". Hier is de Control box die je krijgt
als je erop klikt:



Je kunt nu de type selecteren die je wilt creëren.
Wees voorzichtig omdat dit het enige moment is waar je het kan doen.
Als je je later bedenkt, moet je het deleten en een nieuw item creëren.
Beseft ook dat de ID input box dynamisch is. Wanneer we de "page" creëerden was het alleen
toegestaan de eerste 2 cijfers in de string te veranderen. Het is nu toegestaan de laatste 4 items in de string te veranderen. Dit is om een warboel te voorkomen van de the ID's en ook
om de dingen simpel te lezen zijn voor je:

-Enig "page" of hoofd "group" (die onder de root staan) zal dit patroon hebben:
XX000000. Dus je hebt een maximum van 196 "pages" beschikbaar.
Onthou dat alle hun eigen file hebben/krijgen.

Mijn Karamazovgroup item kreeg ID: 1B000000.
-Elke "group" in een "page" zal de ID van de "parent" erven. Dus iedere "groep" dat ik creëer
binnen mijn "Karamazovgroup" zal er zo uit zien: 1BXX0000. Het maakt niet uit hoe ze zijn samengevoegd (Tenzij je dit in binary code schrijft ). Aldus kan je een totaal van 196 "groups" in iedere "group"creëren.
Bijvoorbeeld, Ik creëer een nieuwe "group" dat de ID: 1B010000 krijgt.
- Ieder item dat binnen deze "group" geplaats is zal dit patroon hebben: 1B01XXXX. In andere woorden ik ben in staat 9999 items in elk van mijn 196 totale mogelijke "groups" te creëren . Dat zijn heel wat mogelijke items

Dus wat voor items kunnen we creëren? Hier is een vlugge lijst:
Static Text, Static BMP, Static BMP Array, Button, Checkbox, Slider, EditBox, Radio button, EditBox, Move, Progress, TabControl, DetectMouse, enz., enz., enz.


items hernoemen

Om een item te hernoemen, Ten eerste selecteer je het in de lijst door te klikken op op de lijst.
Dan,na een halve seconde ofzo, klik het nogmaals. Niet snel dubbelkilkken dat zal niet werken.

items verwijderen

Op het moment onthoud je ervan om originele spel items te verwijderen. Het zal crashes veroorzaken. Als je een item wilt verwijderen van de "screen", verplaats het dan buiten de weergave plaats (Ik zal het in de volgende post uitleggen). Den enige manier om items te
verwijderen is er met een rechtermuis op te klikken en dan verwijderen uit het menu te
selecteren.

Veranderen van de volgorde van de items binnen een "group"

Voor het volgende voorbeeld heb ik de volgende structuur gecreëerd:
1. Ik heb gecreëerd: GROUP 1
2. Ik heb gecreëerd: een vooruitgang binnen GROUP 1
3. Ik heb gecreëerd: een "static" tekst binnen GrOUp 1
4. Ik heb gecreëerd: GROUP 2

Ik heb daarna de items met mijn muis verplaats in de "Preview Screen":



Zoals je kunt zien, het LAATSTE item dat je gecreëerd hebt is boven aan de lijst geplaats
Maar in het spel, het LAATSTE item is altijd achter alle ander objecten in de "group" te vinden.
Merk op dat de tekst ("TO GAME") is achter de "progress bar" plaatje. Bemerk ook dat items
niet verplaats hoeft te worden BINNEN de "bounding box" van een "group". De "The Static Text Object" is compleet buiten GROUP1. Om de "Text appear" van de "Progress Bar Image" naar voren
te halen hoef je het slechts naar BENEDEN te slepen, in the lijst.



Zoals je kunt zien, de tekst verschijnt nu bovenaan het beeld. Dezelfde regel en methode
wordt gebruikt voor de "groups", "parent groups" en "pages". Een item verslepen in de lijst
zal slechts de volgorde in een "group" veranderen.

Je kunt een item niet verplaatsen naar een andere "group".
Je moet echter Copy/Cut/Paste gebruiken.

Om een item eenvoudig te verwijderen, rechtermuisklik op het in de lijst en selecteer delete.
Alsjeblieft merk op dat de editor niet automatisch de items hernummerd.

Bijvoorbeeld:
- mijn "New Progress bar" object heeft een ID van 01010001 (als het de eerste was item Ik creëerde binnen de eerste group binnen de eerste page).
- mijn "New Static text" object heeft een ID van 01010002. Het illustreerd, sinds het was
de tweede object dat ik creëerde.
Als ik nu de "Progress Bar" verwijder, de "static text" zal niet automatisch opnieuw genummerd worden. Echter de het volgende item dat ik binnen de "group" creëer zal automatisch het eerst
beschikbare id (01010001) gegeven worden. De volgorde in welke de objecten verschijnen op het scherm heeft niets te maken met deze ID`s. Het enige dat telt is de orde in de lijst (en aldus,
in dhe .ini file van dat "page"). SH3+SH4 UI modders weten dat al, natuurlijk ..... door het rondbewegen van "objects" in de lijst dmv ze te verslepen zal dus nooit de ID`S veranderen.

Opmerken: Hoe kan je een Id zien? slechts right click de item in de lijst en selecteer "Change ID" of kijk eenvoudigweg een paar lijnen lager:




Cut/Copy/Paste:

Natuurlijk kunnen we GROUP1 achter of boven GROUP2 verslepen. Maar wat als we GROUP1
BINNEN GROUP2 willen verslepen. We kunnen dat niet doen dmv verslepen. Dus we zullen
slechts

1. Right Click op GROUP1 en selecteer CUT
2. Right Click op GROUP2 en selecteer PASTE



GROUP1 en al z`n items zullen verplaatsen naar GROUP2

GROUP1 and all of its items will be moved to GROUP2 (boven aan de lijst, op deze manier).

Als we ipv GROUP1 naar GROUP2 kopieëren, zullen we dit krijgen:



Zoals je kunt zien, hebben ze dezelde namen. Maar hun ID`s zijn verschillend. Kan je raden hoe?

- De nieuwe GROUP1 is nu de derde "group" in mijn "page" dus het zal een ID van: 01030000 hebben.
- De oude "Progress bar" had een id van 01010002, kunt je nu raden welke Id het nu zal hebben?
01030002.
- Op dezelfde wijze, de nieuwe "text object" zal een ID van 01030001 hebben.

Nu omdat de ID`s het formaat hebben van PG.GR.ITEM (page.group.item of xxyyzzzz)
Als je items kopieëert of knipt van de ene "page" naar een ander zullen ze
automatisch de "Page ID" erven van de bestemming EN de eerste vrije beschikbare "group" of item ID toewijzen.

Aldus, je kunt gemakkelijk toetsen, wijzerplaten, zelfs gehele "groups" van de ene "page" naar
een ander, of zelfs binnen dezelfde "page", of zelfs binnen in dezelfde "group" en je hoeft
je geen zorgen te maken over hun orde of ID`s. Als de gelijksoortige namen je ergeren, gewoon
herbenoemen. En ja, je kunt alle items naar "Mini Me" of wat je wilt herbenoemen. Het spel
zal er niet om geven.

Het is niet langer nodig om items in de ini files opnieuw te nummeren., het is allemaal voor je gedaan wanneer je saved.
__________________

Last edited by java`s revenge; 03-24-10 at 09:15 AM.
java`s revenge is offline   Reply With Quote