UltimaHacks
Patches which add features to, and improve the usability of, the 1990s video games Ultima VII (BG and SI) and Ultima Underworld (I and II), along with a program to compile and apply these patches.
File Explorer
Download Latest Version (.zip)- u7bg.hack
- u7si.hack
- uw1.hack
- uw2.hack
- hack.proto
- index.html
- applyPatches.sh
- measureBlockFills.sh
- patchFreshExe.sh
- block-rightClickToClose.asm
- constants.asm
- eop.asm
- macro-ambientSounds.asm
- macros-for-eop.asm
- patch-anyKeyExitsMap.asm
- patch-call-eop-barkOverItemInWorld.asm
- patch-call-eop-determineItemBulk.asm
- patch-call-eop-processSliderInput.asm
- patch-conversationKeys.asm
- patch-dontMessWithFsAndGs.asm
- patch-drawDarkenedWorldForConversation.asm
- patch-dropToKeySelectedItem.asm
- patch-eop-barkOverItemInWorld.asm
- patch-eop-byteArgDispatcher.asm
- patch-eop-canItemAcceptItems.asm
- patch-eop-castByKey.asm
- patch-eop-cycleInventoryDialogs.asm
- patch-eop-determineItemBulk.asm
- patch-eop-dispatchTable.asm
- patch-eop-displayControls.asm
- patch-eop-displayMemoryStats.asm
- patch-eop-displayText.asm
- patch-eop-displayVersion.asm
- patch-eop-doesItemHaveQuantity.asm
- patch-eop-doSaveDialog.asm
- patch-eop-drawDarkenedWorld.asm
- patch-eop-dropToPresetDestination.asm
- patch-eop-ensureDragDropAreasInitialized.asm
- patch-eop-findAllPartyItems.asm
- patch-eop-findPartyItem.asm
- patch-eop-getItemZ.asm
- patch-eop-getKeyboardShiftBits.asm
- patch-eop-getPartyMemberIbo.asm
- patch-eop-keepMoving.asm
- patch-eop-keyActions.asm
- patch-eop-openableItemForKey.asm
- patch-eop-printText.asm
- patch-eop-processSliderInput.asm
- patch-eop-produceItemLabelText.asm
- patch-eop-promptToExit.asm
- patch-eop-selectAndUseKey.asm
- patch-eop-shapeBark.asm
- patch-eop-shapeBarkForContent.asm
- patch-eop-target.asm
- patch-eop-targetKeys.asm
- patch-eop-toggleAudio.asm
- patch-eop-toggleCheats.asm
- patch-eop-toggleCombat.asm
- patch-eop-toggleMouseHand.asm
- patch-eop-usePartyItem.asm
- patch-eop-varArgsDispatcher.asm
- patch-initializeDsegBytes.asm
- patch-itemLabels.asm
- patch-keyMouseKeys.asm
- patch-noKeyMouseWhenStartingDialogMode.asm
- patch-printAddressOnDivideByZero.asm
- patch-printRuneTextOnSpellbook.asm
- patch-processKeyInDialogMode.asm
- patch-processKeyWithoutDialogs.asm
- patch-restoreGameFlagsCheatMenu.asm
- patch-saveDialog.asm
- patch-selectByKey.asm
- patch-splitTranslateKeyAndMouse.asm
- patch-suppressBarks.asm
- u7bg-all-includes.asm
- u7bg-eop1.asm
- u7bg-eop2.asm
- u7bg-segments.asm
- u7bg.asm
- ambientSounds.asm
- call-eop-barkOverItemInWorld.asm
- call-eop-determineItemBulk.asm
- call-eop-processSliderInput.asm
- cheatMenuTimeFormat.asm
- conversationKeys.asm
- dontMessWithFsAndGs.asm
- drawDarkenedWorldForConversation.asm
- dropToKeySelectedItem.asm
- eop-barkOverItemInWorld.asm
- eop-canItemAcceptItems.asm
- eop-castByKey.asm
- eop-cycleInventoryDialogs.asm
- eop-determineItemBulk.asm
- eop-displayControls.asm
- eop-displayMemoryStats.asm
- eop-displayText.asm
- eop-displayVersion.asm
- eop-doesItemHaveQuantity.asm
- eop-doSaveDialog.asm
- eop-drawDarkenedWorld.asm
- eop-dropToPresetDestination.asm
- eop-ensureDragAndDropAreasInitialized.asm
- eop-feed.asm
- eop-findAllPartyItems.asm
- eop-findPartyItem.asm
- eop-getItemZ.asm
- eop-getKeyboardShiftBits.asm
- eop-getPartyMemberIbo.asm
- eop-keepMoving.asm
- eop-keyActions.asm
- eop-openableItemForKey.asm
- eop-printText.asm
- eop-processSliderInput.asm
- eop-produceItemLabelText.asm
- eop-promptToExit.asm
- eop-selectAndUseKey.asm
- eop-shapeBark.asm
- eop-shapeBarkForContent.asm
- eop-target.asm
- eop-targetKeys.asm
- eop-toggleAudio.asm
- eop-toggleCheats.asm
- eop-toggleCombat.asm
- eop-toggleMouseHand.asm
- eop-usePartyItem.asm
- eop1-dispatchTable.asm
- eop1-entryPoints.asm
- eop1-varArgsDispatcher.asm
- eop2-dispatchTable.asm
- eop2-entryPoints.asm
- eop2-varArgsDispatcher.asm
- initializeDsegBytes.asm
- itemLabels.asm
- keyMouseKeys.asm
- noKeyMouseWhenStartingDialogMode.asm
- patchingVariables.sh
- printAddressOnDivideByZero.asm
- printRuneTextOnSpellbook.asm
- processKeyInDialogMode.asm
- processKeyWithoutDialogs.asm
- restoreGameFlagsCheatMenu.asm
- rightClickToClose.asm
- saveDialog.asm
- selectByKey.asm
- splitTranslateKeyAndMouse.asm
- suppressBarks.asm
- timerGetDay.asm
- u7map
- u7si-all-includes.asm
- u7si-eop1.asm
- u7si-eop2.asm
- u7si-segments.asm
- u7si.asm
- attenuateSounds.asm
- call-eop-barkOverItemInWorld.asm
- call-eop-determineItemBulk.asm
- call-eop-processSliderInput.asm
- conversationKeys.asm
- dontCrashWithMoreThanSix.asm
- dontMessWithFsAndGs.asm
- drawDarkenedWorldForConversation.asm
- dropToKeySelectedItem.asm
- eop-barkOverItemInWorld.asm
- eop-canItemAcceptItems.asm
- eop-castByKey.asm
- eop-cycleInventoryDialogs.asm
- eop-determineItemBulk.asm
- eop-displayControls.asm
- eop-displayMemoryStats.asm
- eop-displayText.asm
- eop-displayVersion.asm
- eop-doesItemHaveQuantity.asm
- eop-doSaveDialog.asm
- eop-drawDarkenedWorld.asm
- eop-dropToPresetDestination.asm
- eop-ensureDragAndDropAreasInitialized.asm
- eop-feed.asm
- eop-findAllPartyItems.asm
- eop-findPartyItem.asm
- eop-getItemZ.asm
- eop-getKeyboardShiftBits.asm
- eop-getPartyMemberIbo.asm
- eop-keepMoving.asm
- eop-keyActions.asm
- eop-openableItemForKey.asm
- eop-printDarkPathDestinations.asm
- eop-printText.asm
- eop-processSliderInput.asm
- eop-produceItemLabelText.asm
- eop-promptToExit.asm
- eop-selectAndUseKey.asm
- eop-shapeBark.asm
- eop-shapeBarkForContent.asm
- eop-target.asm
- eop-targetKeys.asm
- eop-toggleAudio.asm
- eop-toggleCheats.asm
- eop-toggleCombat.asm
- eop-toggleMouseHand.asm
- eop-usePartyItem.asm
- eop1-byteArgDispatcher.asm
- eop1-dispatchTable.asm
- eop1-entryPoints.asm
- eop1-varArgsDispatcher.asm
- eop2-dispatchTable.asm
- eop2-entryPoints.asm
- eop2-varArgsDispatcher.asm
- initializeDsegBytes.asm
- itemLabels.asm
- keyMouseKeys.asm
- noKeyMouseWhenStartingDialogMode.asm
- patchingVariables.sh
- printAddressOnDivideByZero.asm
- printDestinationsOnDarkPathMap.asm
- printRuneTextOnSpellbook.asm
- processKeyInDialogMode.asm
- processKeyWithoutDialogs.asm
- restoreGameFlagsCheatMenu.asm
- rightClickToClose.asm
- saveDialog.asm
- selectByKey.asm
- simap
- splitTranslateKeyAndMouse.asm
- suppressBarks.asm
- BadSignatureException.java
- CopyEdit.java
- Edit.java
- Executable.java
- ExecutableEditOperation.java
- ExecutableEditState.java
- ExpandOverlayOperation.java
- FbovHeader.java
- Hack.java
- HexValueMessage.java
- InsertEdit.java
- LoadModule.java
- LoadModuleRelocationTable.java
- MzHeader.java
- OptionalNavigableSet.java
- Overlay.java
- OverlayRelocationTable.java
- OverlayStub.java
- OverwriteEdit.java
- Patch.java
- PatchApplicationException.java
- PatchBlock.java
- RelocationTable.java
- RelocationTracker.java
- Segment.java
- SegmentedAddress.java
- SegmentTableEntry.java
- StubProc.java
- UltimaPatcher.java
- Util.java
- hack.proto
- log4j2.xml
- .gitignore
- pom.xml
- saveDialog.hack
- additionalCharacterCodes.asm
- bindKeyOrMouse.asm
- uw1-eop.asm
- uw1.asm
- addCharacterCodes.asm
- call-eop-enqueueDrawBlock.asm
- call-eop-enqueueGridCoords.asm
- call-eop-mouseLookOrMoveCursor.asm
- call-eop-setInterfaceMode.asm
- call-eop-setupPerspectiveAndEnqueueDraw.asm
- call-eop-slidePanel.asm
- call-eop-tryKeyAndMouseBindings.asm
- dontFixHeading.asm
- dontShrinkSprites.asm
- eop-attack.asm
- eop-byCallSiteDispatcher.asm
- eop-byteArgDispatcher.asm
- eop-clickFlasks.asm
- eop-dispatchTable.asm
- eop-enqueueDrawBlock.asm
- eop-enqueueGridCoords.asm
- eop-flipToPanel.asm
- eop-interactAtCursor.asm
- eop-mapControl.asm
- eop-moreBindings.asm
- eop-mouseLookOrMoveCursor.asm
- eop-orientMouseLook.asm
- eop-printVersion.asm
- eop-runeKey.asm
- eop-setInterfaceMode.asm
- eop-setMouseLookState.asm
- eop-setupPerspectiveAndEnqueueDraw.asm
- eop-slidePanel.asm
- eop-toggleMouseLook.asm
- eop-tryKeyAndMouseBindings.asm
- eop-varArgsDispatcher.asm
- initializeRepurposedDsegBytes.asm
- keyAndMouseBindings.asm
- movementKeys.asm
- patchingVariables.sh
- pitchBound.asm
- recordLastKeyOrMouseBinding.asm
- scaleRotationSpeed.asm
- skipTitleScreen.asm
- uwmap
- wrapMainMenuOptions.asm
- fpuTrigonometry.asm
- additionalCharacterCodes.asm
- bindKeyOrMouse.asm
- uw2-eop.asm
- uw2.asm
- .gitignore
- addCharacterCodes.asm
- call-eop-enqueueDrawBlock.asm
- call-eop-enqueueGridCoords.asm
- call-eop-mouseLookOrMoveCursor.asm
- call-eop-setInterfaceMode.asm
- call-eop-setupPerspectiveAndEnqueueDraw.asm
- call-eop-slidePanel.asm
- call-eop-trainSkill.asm
- call-eop-tryKeyAndMouseBindings.asm
- dontFixHeading.asm
- dontShrinkSprites.asm
- eop-attack.asm
- eop-byCallSiteDispatcher.asm
- eop-byteArgDispatcher.asm
- eop-clickFlasks.asm
- eop-dispatchTable.asm
- eop-enqueueDrawBlock.asm
- eop-enqueueGridCoords.asm
- eop-flipToPanel.asm
- eop-interactAtCursor.asm
- eop-mapControl.asm
- eop-moreBindings.asm
- eop-mouseLookOrMoveCursor.asm
- eop-orientMouseLook.asm
- eop-printVersion.asm
- eop-runeKey.asm
- eop-setInterfaceMode.asm
- eop-setMouseLookState.asm
- eop-setupPerspectiveAndEnqueueDraw.asm
- eop-slidePanel.asm
- eop-toggleMouseLook.asm
- eop-trainSkill.asm
- eop-tryKeyAndMouseBindings.asm
- eop-varArgsDispatcher.asm
- initializeRepurposedDsegBytes.asm
- keyAndMouseBindings.asm
- movementKeys.asm
- patchingVariables.sh
- pitchBound.asm
- recordLastKeyOrMouseBinding.asm
- scaleRotationSpeed.asm
- showSubtitlesWithSpeech.asm
- skipOpeningCutscene.asm
- uw2map
- wrapMainMenuOptions.asm
- .gitignore
- LICENSE
- README.md
- ultimahacks-u7-controls-preview.png
- ultimahacks-u7-controls.png
- UltimaPatcher.asm
// repository documentation
Was this content helpful?
(0 ratings)
