New pages
Jump to navigation
Jump to search
- 16:42, 13 October 2024 Dungeon editing (hist | edit) [754 bytes] Stewmat (talk | contribs) (Created page with "==Dungeon design tips== * You cannot place more than one keyblock in the same room. This is because each room uses only a single bit of the room flags to remember whether a keyblock in that room was opened. If multiple keyblocks are in the same room, they will all become unlocked after just a single one is unlocked, and the room is re-entered. * For the same reason, a room cannot have more than a single key door in each direction (unlocking one will unlock the other...")
- 19:19, 3 September 2024 Interaction (hist | edit) [113 bytes] Stewmat (talk | contribs) (Created page with "Interactions are a type of object used for NPCs, and a lot of other miscellaneous stuff like dungeon puzzles.")
- 05:25, 2 September 2024 Music (hist | edit) [19,228 bytes] ZerotoKoops (talk | contribs) (Pointer data and music data.)
- 01:52, 1 September 2024 Version control with git (hist | edit) [6,944 bytes] Stewmat (talk | contribs) (Created page with "[https://git-scm.com/ git] is what's called '''version control software'''. In a nutshell, it's used to track a complete history of a software's development and facilitate collaboration. The disassembly uses git for its version control. Advantages of this are: * We have a [https://github.com/Stewmath/oracles-disasm/commits/master/ complete history] of changes made to the disassembly over time. * There are numerous branches (including hack-base) whose difference...")
- 22:25, 30 August 2024 Static objects (hist | edit) [373 bytes] Stewmat (talk | contribs) (Created page with "Static objects are objects within dungeons that can change position and remember their new position, even when the room has been exited and revisited. The main examples of this are ```minecarts``` and ```magnet balls```. LynnaLab does not currently have an interface to this, so you must edit static objects directly in {{disasm-game-data|staticDungeonObjects.s}}")
- 19:30, 14 July 2024 Group number (hist | edit) [395 bytes] Stewmat (talk | contribs) (Created page with "The '''group number''', or just '''group''', essentially refers to a world index. You can see it in LynnaLab either as the value of the "Group" box, or as the first digit of the "Room" box. The variable <code>wActiveGroup</code> refers to the current group number at any given time. Combined with the <code>wActiveRoom</code> variable, a unique room is specified. File:Group-number.png")
- 19:25, 14 July 2024 Essence warps (hist | edit) [3,037 bytes] Stewmat (talk | contribs) (Created page with "This page describes how to modify the warps that occur after obtaining an essence. Code for the essence object is located in {{disasm|object_code/common/interactions/essence.s#L341}}. The data which defines the warp destinations is in that file and looks as follows: <syntaxhighlight lang="z80"> ; Each row is warp data for getting an essence. ; b0: wWarpDestGroup ; b1: wWarpDestRoom ; b2: wWarpDestPos ; b3: wWarpTransition @essenceWarps: .ifdef ROM_AGES .db $80,...")
- 19:05, 14 July 2024 Miniboss warps (hist | edit) [2,629 bytes] Stewmat (talk | contribs) (Created page with "This page explains how to modify miniboss portal warps. The code for the miniboss portal object (INTERAC_MINIBOSS_PORTAL) can be found in {{disasm|object_code/common/interactions/minibossPortal.s#L140}}. The data structure which determines where the warps lead to looks as follows: <syntaxhighlight lang="z80"> ; Each row corresponds to a dungeon. The first byte is the miniboss room index, the second ; is the dungeon entrance (the two locations of the portal). ; If bit 7...")
- 00:29, 14 July 2024 Room flags (hist | edit) [1,600 bytes] Stewmat (talk | contribs) (Created page with "Room flags are a mechanism allowing the game to remember data specific to each room. Each room has one byte worth of room flags, meaning that each room can remember 8 bits of data, or 8 unique boolean values. Room flags are defined in {{disasm-common-constant|roomFlags.s}}. There are some standard values, but aside from <code>ROOMFLAG_VISITED</code> and <code>ROOMFLAG_LAYOUTSWAP</code>, room flags can generally be used for any purpose. ==Standard values== {| class="wi...")
- 23:26, 13 July 2024 Scripting/Spawning a Treasure Outside a Chest (hist | edit) [9,210 bytes] Stewmat (talk | contribs) (Created page with "This tutorial can be considered an introduction to scripting. The goal: Create a treasure which lies on the ground for Link to collect, and which does not reappear after being collected. ==Scripting: What it does, when to use it== The oracle games have a built-in scripting language which is primarily used to implement dungeon puzzles and NPCs. This is generally easier to use than assembly code. Scripts can't do everything that assembly code can do. However, m...")
- 21:51, 13 July 2024 Tutorials (hist | edit) [2,688 bytes] Stewmat (talk | contribs) (Created page with "This page can be considered a roadmap for tutorials that we'd like to make. Those which are already completed have links to their respective pages. Each section is ordered roughly by expected difficulty, with the easiest coming first. ===General LynnaLab usage=== * Chest editing * Object placement * Warp editing * Dungeon editing * Minibosses & bosses (not custom ones, just note how to place them in rooms properly) ===Data structure hacki...")
- 23:40, 6 July 2024 NPC Tutorial (hist | edit) [6,968 bytes] ZerotoKoops (talk | contribs) (Created new NPC tutorial for the assembly language and LynnaLab.)